[SCM] jigsaw packaging branch, master, updated. 5a00ac48adfe2058c031995a248cc23e27e8f592
Guillaume Mazoyer
respawneral at gmail.com
Fri Feb 3 00:05:57 UTC 2012
The following commit has been merged in the master branch:
commit 24a83cecfa4274ff693a3fda20ce3ec2f0ae20b1
Author: Mandy Chung <mandy.chung at oracle.com>
Date: Tue Jan 31 18:01:03 2012 +0100
Sync with JDK8 b23.
diff --git a/.hg/cache/branchheads b/.hg/cache/branchheads
index 99fd1a6..06be576 100644
--- a/.hg/cache/branchheads
+++ b/.hg/cache/branchheads
@@ -1,2 +1,2 @@
-960b2e6851862c515f414834239360268925ca66 411
-960b2e6851862c515f414834239360268925ca66 default
+51c793afb1eb1d579fe0e2864dd07842edb4cb3a 425
+51c793afb1eb1d579fe0e2864dd07842edb4cb3a default
diff --git a/.hg/dirstate b/.hg/dirstate
index 9d63be2..e185348 100644
Binary files a/.hg/dirstate and b/.hg/dirstate differ
diff --git a/.hg/store/00changelog.i b/.hg/store/00changelog.i
index 3b235c6..8ccd626 100644
Binary files a/.hg/store/00changelog.i and b/.hg/store/00changelog.i differ
diff --git a/.hg/store/00manifest.i b/.hg/store/00manifest.i
index f706436..8a41efa 100644
Binary files a/.hg/store/00manifest.i and b/.hg/store/00manifest.i differ
diff --git a/.hg/store/data/make/jprt.properties.i b/.hg/store/data/make/jprt.properties.i
index b9d8637..15af253 100644
Binary files a/.hg/store/data/make/jprt.properties.i and b/.hg/store/data/make/jprt.properties.i differ
diff --git a/.hg/store/data/test/_makefile.i b/.hg/store/data/test/_makefile.i
index edb3f40..ba25d60 100644
Binary files a/.hg/store/data/test/_makefile.i and b/.hg/store/data/test/_makefile.i differ
diff --git a/.hg/store/data/~2ehgtags.i b/.hg/store/data/~2ehgtags.i
index fcb3be2..823a8eb 100644
Binary files a/.hg/store/data/~2ehgtags.i and b/.hg/store/data/~2ehgtags.i differ
diff --git a/.hg/store/undo b/.hg/store/undo
index 28fb988..5030ded 100644
Binary files a/.hg/store/undo and b/.hg/store/undo differ
diff --git a/.hg/undo.desc b/.hg/undo.desc
index d0f6fe2..1dbe62c 100644
--- a/.hg/undo.desc
+++ b/.hg/undo.desc
@@ -1,3 +1,3 @@
-400
+412
pull
http://hg.openjdk.java.net/jigsaw/jigsaw
diff --git a/.hg/undo.dirstate b/.hg/undo.dirstate
index 49a90e2..9d63be2 100644
Binary files a/.hg/undo.dirstate and b/.hg/undo.dirstate differ
diff --git a/.hgtags b/.hgtags
index bcf2cf5..ed8f1ad 100644
--- a/.hgtags
+++ b/.hgtags
@@ -142,3 +142,12 @@ a6c4c248e8fa350c35014fa94bab5ac1a1ac3299 jdk8-b10
8e2104d565baee473895d5eba20e39f85ab4bf9f jdk8-b12
26fb81a1e9ceb9baffba216acd9ded62e9e9d5ab jdk8-b13
23aa7f2c80a2fa354c80decf03e7c2018177ef4e jdk8-b14
+a4f28069d44a379cda99dd1d921d19f819726d22 jdk8-b15
+4e06ae613e99549835896720c7a68c29ad5543f5 jdk8-b17
+4e06ae613e99549835896720c7a68c29ad5543f5 jdk8-b16
+7010bd24cdd07bc7daef80702f39124854dec36c jdk8-b18
+237bc29afbfc6f56a4fe4a6008e2befb59c44bac jdk8-b19
+5a5eaf6374bcbe23530899579fed17a05b7705f3 jdk8-b20
+cc771d92284f71765eca14d6d08703c4af254c04 jdk8-b21
+7ad075c809952e355d25030605da6af30456ed74 jdk8-b22
+60d6f64a86b1e511169d264727f6d51415978df0 jdk8-b23
diff --git a/corba/.hg/cache/branchheads b/corba/.hg/cache/branchheads
index 91c9402..c8e59bf 100644
--- a/corba/.hg/cache/branchheads
+++ b/corba/.hg/cache/branchheads
@@ -1,2 +1,2 @@
-15cf53f9eb35d0db7b33062ebf04dc36ae9cf5fd 339
-15cf53f9eb35d0db7b33062ebf04dc36ae9cf5fd default
+c61ae6ba3603675ec0bb2f39526d09488b5f090a 356
+c61ae6ba3603675ec0bb2f39526d09488b5f090a default
diff --git a/corba/.hg/dirstate b/corba/.hg/dirstate
index faea2b4..1c03b81 100644
Binary files a/corba/.hg/dirstate and b/corba/.hg/dirstate differ
diff --git a/corba/.hg/store/00changelog.i b/corba/.hg/store/00changelog.i
index 2c8b9e5..f38aa40 100644
Binary files a/corba/.hg/store/00changelog.i and b/corba/.hg/store/00changelog.i differ
diff --git a/corba/.hg/store/00manifest.d b/corba/.hg/store/00manifest.d
index ddb6c04..f92d734 100644
Binary files a/corba/.hg/store/00manifest.d and b/corba/.hg/store/00manifest.d differ
diff --git a/corba/.hg/store/00manifest.i b/corba/.hg/store/00manifest.i
index 8786b84..a7d3d4c 100644
Binary files a/corba/.hg/store/00manifest.i and b/corba/.hg/store/00manifest.i differ
diff --git a/corba/.hg/store/data/make/jprt.properties.i b/corba/.hg/store/data/make/jprt.properties.i
index a8a815a..16f2713 100644
Binary files a/corba/.hg/store/data/make/jprt.properties.i and b/corba/.hg/store/data/make/jprt.properties.i differ
diff --git a/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/encoding/_c_d_r_input_stream.java.i b/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/encoding/_c_d_r_input_stream.java.i
index b3fadfd..bfe589a 100644
Binary files a/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/encoding/_c_d_r_input_stream.java.i and b/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/encoding/_c_d_r_input_stream.java.i differ
diff --git a/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/encoding/_c_d_r_input_stream__1__0.java.i b/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/encoding/_c_d_r_input_stream__1__0.java.i
index 93fd63d..1551cf3 100644
Binary files a/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/encoding/_c_d_r_input_stream__1__0.java.i and b/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/encoding/_c_d_r_input_stream__1__0.java.i differ
diff --git a/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/encoding/_c_d_r_output_stream.java.i b/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/encoding/_c_d_r_output_stream.java.i
index 7c83ab8..5faed3e 100644
Binary files a/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/encoding/_c_d_r_output_stream.java.i and b/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/encoding/_c_d_r_output_stream.java.i differ
diff --git a/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/encoding/_c_d_r_output_stream__1__0.java.i b/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/encoding/_c_d_r_output_stream__1__0.java.i
index 1f989fc..8afb01d 100644
Binary files a/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/encoding/_c_d_r_output_stream__1__0.java.i and b/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/encoding/_c_d_r_output_stream__1__0.java.i differ
diff --git a/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/protocol/_corba_client_request_dispatcher_impl.java.i b/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/protocol/_corba_client_request_dispatcher_impl.java.i
index a474582..fda87ce 100644
Binary files a/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/protocol/_corba_client_request_dispatcher_impl.java.i and b/corba/.hg/store/data/src/share/classes/com/sun/corba/se/impl/protocol/_corba_client_request_dispatcher_impl.java.i differ
diff --git a/corba/.hg/store/data/~2ehgtags.i b/corba/.hg/store/data/~2ehgtags.i
index c6baf48..6898c7c 100644
Binary files a/corba/.hg/store/data/~2ehgtags.i and b/corba/.hg/store/data/~2ehgtags.i differ
diff --git a/corba/.hg/store/undo b/corba/.hg/store/undo
index 01ca6da..e77f933 100644
Binary files a/corba/.hg/store/undo and b/corba/.hg/store/undo differ
diff --git a/corba/.hg/undo.desc b/corba/.hg/undo.desc
index d80e677..9708ceb 100644
--- a/corba/.hg/undo.desc
+++ b/corba/.hg/undo.desc
@@ -1,3 +1,3 @@
-327
+340
pull
http://hg.openjdk.java.net/jigsaw/jigsaw/corba
diff --git a/corba/.hg/undo.dirstate b/corba/.hg/undo.dirstate
index 0f48489..faea2b4 100644
Binary files a/corba/.hg/undo.dirstate and b/corba/.hg/undo.dirstate differ
diff --git a/corba/.hgtags b/corba/.hgtags
index 16c006d..b2fa8aa 100644
--- a/corba/.hgtags
+++ b/corba/.hgtags
@@ -142,3 +142,12 @@ cda87f7fefcee3b89742a57ce5ad9b03a54c210d jdk8-b10
31d70911b712c6b4e580a3110363d5f044cfed7a jdk8-b12
5b9d9b839d3d7fe02347827221c97c6d242a6f96 jdk8-b13
e59c47de1ad8982ff3b0e843773a6902b36c2337 jdk8-b14
+7da69e7175a7c7564ee6d0e52255cbb8a57ef577 jdk8-b15
+82dc033975bb9b553b4ef97b6d483eda8de32e0f jdk8-b17
+82dc033975bb9b553b4ef97b6d483eda8de32e0f jdk8-b16
+312cf15d16577ef198b033d2a4cc0a52369b7343 jdk8-b18
+e1366c5d84ef984095a332bcee70b3938232d07d jdk8-b19
+51d8b6cb18c0978ecfa4f33e1537d35ee01b69fa jdk8-b20
+f157fc2a71a38ce44007a6f18d5b011824dce705 jdk8-b21
+a11d0062c445d5f36651c78650ab88aa594bcbff jdk8-b22
+5218eb256658442b62b05295aafa5b5f35252972 jdk8-b23
diff --git a/corba/make/jprt.properties b/corba/make/jprt.properties
index cb67b3c..360b6b2 100644
--- a/corba/make/jprt.properties
+++ b/corba/make/jprt.properties
@@ -25,21 +25,21 @@
# Properties for jprt
-# The release to build
+# Locked down to jdk8
jprt.tools.default.release=jdk8
# The different build flavors we want, we override here so we just get these 2
jprt.build.flavors=product,fastdebug
# Standard list of jprt build targets for this source tree
-jprt.build.targets= \
- solaris_sparc_5.10-{product|fastdebug}, \
- solaris_sparcv9_5.10-{product|fastdebug}, \
- solaris_i586_5.10-{product|fastdebug}, \
- solaris_x64_5.10-{product|fastdebug}, \
- linux_i586_2.6-{product|fastdebug}, \
- linux_x64_2.6-{product|fastdebug}, \
- windows_i586_5.1-{product|fastdebug}, \
+jprt.build.targets= \
+ solaris_sparc_5.10-{product|fastdebug}, \
+ solaris_sparcv9_5.10-{product|fastdebug}, \
+ solaris_i586_5.10-{product|fastdebug}, \
+ solaris_x64_5.10-{product|fastdebug}, \
+ linux_i586_2.6-{product|fastdebug}, \
+ linux_x64_2.6-{product|fastdebug}, \
+ windows_i586_5.1-{product|fastdebug}, \
windows_x64_5.2-{product|fastdebug}
# Directories to be excluded from the source bundles
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream.java b/corba/src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream.java
index 9d33708..2202014 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -423,6 +423,13 @@ public abstract class CDRInputStream
impl.setByteBufferWithInfo(bbwi);
}
+ /**
+ * return true if our ByteBuffer is sharing/equal to bb
+ */
+ protected final boolean isSharing(ByteBuffer bb) {
+ return (getByteBuffer() == bb);
+ }
+
public final int getBufferLength() {
return impl.getBufferLength();
}
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_0.java b/corba/src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_0.java
index 2ecf0dd..d17d6f3 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_0.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_0.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -2412,7 +2412,6 @@ public class CDRInputStream_1_0 extends CDRInputStreamBase
if (bbwi != null && getByteBuffer() != null)
{
- int bbHash = System.identityHashCode(bbwi.byteBuffer);
MessageMediator messageMediator = parent.getMessageMediator();
if (messageMediator != null)
{
@@ -2420,19 +2419,12 @@ public class CDRInputStream_1_0 extends CDRInputStreamBase
(CDROutputObject)messageMediator.getOutputObject();
if (outputObj != null)
{
- ByteBuffer outputBb = outputObj.getByteBuffer();
-
- int oBbHash = 0;
- if (outputBb != null)
+ if (outputObj.isSharing(getByteBuffer()))
{
- oBbHash = System.identityHashCode(outputBb);
- if (bbHash == oBbHash) // shared?
- {
- // Set OutputStream's ByteBuffer and bbwi to null
- // so its ByteBuffer cannot be released to the pool
- outputObj.setByteBuffer(null);
- outputObj.setByteBufferWithInfo(null);
- }
+ // Set OutputStream's ByteBuffer and bbwi to null
+ // so its ByteBuffer cannot be released to the pool
+ outputObj.setByteBuffer(null);
+ outputObj.setByteBufferWithInfo(null);
}
}
}
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream.java b/corba/src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream.java
index 7ea49ea..2275dc5 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -357,6 +357,13 @@ public abstract class CDROutputStream
impl.setByteBuffer(byteBuffer);
}
+ /**
+ * return true if our ByteBuffer is sharing/equal to bb
+ */
+ protected final boolean isSharing(ByteBuffer bb) {
+ return (getByteBuffer() == bb);
+ }
+
public final boolean isLittleEndian() {
return impl.isLittleEndian();
}
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_0.java b/corba/src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_0.java
index f8741c2..25e1528 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_0.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_0.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -1902,7 +1902,6 @@ public class CDROutputStream_1_0 extends CDROutputStreamBase
if (getByteBufferWithInfo() != null && getByteBuffer() != null)
{
- int bbHash = System.identityHashCode(bbwi.byteBuffer);
MessageMediator messageMediator = parent.getMessageMediator();
if (messageMediator != null)
{
@@ -1910,19 +1909,12 @@ public class CDROutputStream_1_0 extends CDROutputStreamBase
(CDRInputObject)messageMediator.getInputObject();
if (inputObj != null)
{
- ByteBuffer inputBb = inputObj.getByteBuffer();
-
- int iBbHash = 0;
- if (inputBb != null)
+ if (inputObj.isSharing(getByteBuffer()))
{
- iBbHash = System.identityHashCode(inputBb);
- if (bbHash == iBbHash) // shared?
- {
- // Set InputStream's ByteBuffer and bbwi to null
- // so its ByteBuffer cannot be released to the pool
- inputObj.setByteBuffer(null);
- inputObj.setByteBufferWithInfo(null);
- }
+ // Set InputStream's ByteBuffer and bbwi to null
+ // so its ByteBuffer cannot be released to the pool
+ inputObj.setByteBuffer(null);
+ inputObj.setByteBufferWithInfo(null);
}
}
}
diff --git a/corba/src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java b/corba/src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java
index 7728a67..1878596 100644
--- a/corba/src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -113,6 +113,9 @@ import com.sun.corba.se.impl.protocol.giopmsgheaders.ReferenceAddr;
import com.sun.corba.se.impl.transport.CorbaContactInfoListIteratorImpl;
import com.sun.corba.se.impl.util.JDKBridge;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.ConcurrentHashMap;
+
/**
* ClientDelegate is the RMI client-side subcontract or representation
* It implements RMI delegate as well as our internal ClientRequestDispatcher
@@ -122,6 +125,9 @@ public class CorbaClientRequestDispatcherImpl
implements
ClientRequestDispatcher
{
+ private ConcurrentMap<ContactInfo, Object> locks =
+ new ConcurrentHashMap<ContactInfo, Object>();
+
public OutputObject beginRequest(Object self, String opName,
boolean isOneWay, ContactInfo contactInfo)
{
@@ -148,8 +154,21 @@ public class CorbaClientRequestDispatcherImpl
// This locking is done so that multiple connections are not created
// for the same endpoint
- //6929137 - Synchronized on contactInfo to avoid blocking across multiple endpoints
- synchronized (contactInfo) {
+ // 7046238 - Synchronization on a single monitor for contactInfo parameters
+ // with identical hashCode(), so we lock on same monitor for equal parameters
+ // (which can refer to equal (in terms of equals()) but not the same objects)
+
+ Object lock = locks.get(contactInfo);
+
+ if (lock == null) {
+ Object newLock = new Object();
+ lock = locks.putIfAbsent(contactInfo, newLock);
+ if (lock == null) {
+ lock = newLock;
+ }
+ }
+
+ synchronized (lock) {
if (contactInfo.isConnectionBased()) {
if (contactInfo.shouldCacheConnection()) {
connection = (CorbaConnection)
@@ -254,7 +273,7 @@ public class CorbaClientRequestDispatcherImpl
registerWaiter(messageMediator);
// Do connection reclaim now
- synchronized (contactInfo) {
+ synchronized (lock) {
if (contactInfo.isConnectionBased()) {
if (contactInfo.shouldCacheConnection()) {
OutboundConnectionCache connectionCache =
diff --git a/hotspot/.hg/cache/branchheads b/hotspot/.hg/cache/branchheads
index a88d535..dfa75fa 100644
--- a/hotspot/.hg/cache/branchheads
+++ b/hotspot/.hg/cache/branchheads
@@ -1,2 +1,2 @@
-0daf3b6ab20c0bc3648231127270a3c42e8983f0 2890
-0daf3b6ab20c0bc3648231127270a3c42e8983f0 default
+62825b3de60f0f8a9f7149d695bfed96008c1068 3056
+62825b3de60f0f8a9f7149d695bfed96008c1068 default
diff --git a/hotspot/.hg/dirstate b/hotspot/.hg/dirstate
index ac9f714..a44a1b3 100644
Binary files a/hotspot/.hg/dirstate and b/hotspot/.hg/dirstate differ
diff --git a/hotspot/.hg/store/00changelog.d b/hotspot/.hg/store/00changelog.d
index 545e733..84b3a5a 100644
Binary files a/hotspot/.hg/store/00changelog.d and b/hotspot/.hg/store/00changelog.d differ
diff --git a/hotspot/.hg/store/00changelog.i b/hotspot/.hg/store/00changelog.i
index 98d1698..57ef531 100644
Binary files a/hotspot/.hg/store/00changelog.i and b/hotspot/.hg/store/00changelog.i differ
diff --git a/hotspot/.hg/store/00manifest.d b/hotspot/.hg/store/00manifest.d
index e4e5ec6..635635b 100644
Binary files a/hotspot/.hg/store/00manifest.d and b/hotspot/.hg/store/00manifest.d differ
diff --git a/hotspot/.hg/store/00manifest.i b/hotspot/.hg/store/00manifest.i
index f5b6a6f..46c33fc 100644
Binary files a/hotspot/.hg/store/00manifest.i and b/hotspot/.hg/store/00manifest.i differ
diff --git a/hotspot/.hg/store/data/agent/src/share/classes/sun/jvm/hotspot/oops/_instance_klass.java.i b/hotspot/.hg/store/data/agent/src/share/classes/sun/jvm/hotspot/oops/_instance_klass.java.i
index 5eea3ba..84fbf0c 100644
Binary files a/hotspot/.hg/store/data/agent/src/share/classes/sun/jvm/hotspot/oops/_instance_klass.java.i and b/hotspot/.hg/store/data/agent/src/share/classes/sun/jvm/hotspot/oops/_instance_klass.java.i differ
diff --git a/hotspot/.hg/store/data/make/_makefile.i b/hotspot/.hg/store/data/make/_makefile.i
index 0c5df30..6987844 100644
Binary files a/hotspot/.hg/store/data/make/_makefile.i and b/hotspot/.hg/store/data/make/_makefile.i differ
diff --git a/hotspot/.hg/store/data/make/bsd/makefiles/adlc.make.i b/hotspot/.hg/store/data/make/bsd/makefiles/adlc.make.i
index b3add28..beae856 100644
Binary files a/hotspot/.hg/store/data/make/bsd/makefiles/adlc.make.i and b/hotspot/.hg/store/data/make/bsd/makefiles/adlc.make.i differ
diff --git a/hotspot/.hg/store/data/make/bsd/makefiles/buildtree.make.i b/hotspot/.hg/store/data/make/bsd/makefiles/buildtree.make.i
index 1fbb514..b7626a2 100644
Binary files a/hotspot/.hg/store/data/make/bsd/makefiles/buildtree.make.i and b/hotspot/.hg/store/data/make/bsd/makefiles/buildtree.make.i differ
diff --git a/hotspot/.hg/store/data/make/bsd/makefiles/gcc.make.i b/hotspot/.hg/store/data/make/bsd/makefiles/gcc.make.i
index 7b5fc66..b9a50d8 100644
Binary files a/hotspot/.hg/store/data/make/bsd/makefiles/gcc.make.i and b/hotspot/.hg/store/data/make/bsd/makefiles/gcc.make.i differ
diff --git a/hotspot/.hg/store/data/make/bsd/makefiles/sa.make.i b/hotspot/.hg/store/data/make/bsd/makefiles/sa.make.i
index 53dd236..a48179b 100644
Binary files a/hotspot/.hg/store/data/make/bsd/makefiles/sa.make.i and b/hotspot/.hg/store/data/make/bsd/makefiles/sa.make.i differ
diff --git a/hotspot/.hg/store/data/make/bsd/makefiles/top.make.i b/hotspot/.hg/store/data/make/bsd/makefiles/top.make.i
index 9446e3f..403ceb1 100644
Binary files a/hotspot/.hg/store/data/make/bsd/makefiles/top.make.i and b/hotspot/.hg/store/data/make/bsd/makefiles/top.make.i differ
diff --git a/hotspot/.hg/store/data/make/bsd/makefiles/vm.make.i b/hotspot/.hg/store/data/make/bsd/makefiles/vm.make.i
index 4dc7cdb..fd6ce03 100644
Binary files a/hotspot/.hg/store/data/make/bsd/makefiles/vm.make.i and b/hotspot/.hg/store/data/make/bsd/makefiles/vm.make.i differ
diff --git a/hotspot/.hg/store/data/make/defs.make.i b/hotspot/.hg/store/data/make/defs.make.i
index 19a90a4..e1449f9 100644
Binary files a/hotspot/.hg/store/data/make/defs.make.i and b/hotspot/.hg/store/data/make/defs.make.i differ
diff --git a/hotspot/.hg/store/data/make/hotspot__version.i b/hotspot/.hg/store/data/make/hotspot__version.i
index 2a890b7..387b299 100644
Binary files a/hotspot/.hg/store/data/make/hotspot__version.i and b/hotspot/.hg/store/data/make/hotspot__version.i differ
diff --git a/hotspot/.hg/store/data/make/jprt.properties.i b/hotspot/.hg/store/data/make/jprt.properties.i
index efc3faa..65a2876 100644
Binary files a/hotspot/.hg/store/data/make/jprt.properties.i and b/hotspot/.hg/store/data/make/jprt.properties.i differ
diff --git a/hotspot/.hg/store/data/make/linux/makefiles/adlc.make.i b/hotspot/.hg/store/data/make/linux/makefiles/adlc.make.i
index 4f85353..3017063 100644
Binary files a/hotspot/.hg/store/data/make/linux/makefiles/adlc.make.i and b/hotspot/.hg/store/data/make/linux/makefiles/adlc.make.i differ
diff --git a/hotspot/.hg/store/data/make/linux/makefiles/gcc.make.i b/hotspot/.hg/store/data/make/linux/makefiles/gcc.make.i
index d2a53dc..3e4644e 100644
Binary files a/hotspot/.hg/store/data/make/linux/makefiles/gcc.make.i and b/hotspot/.hg/store/data/make/linux/makefiles/gcc.make.i differ
diff --git a/hotspot/.hg/store/data/make/linux/makefiles/mapfile-vers-debug.i b/hotspot/.hg/store/data/make/linux/makefiles/mapfile-vers-debug.i
index e98f716..87227ef 100644
Binary files a/hotspot/.hg/store/data/make/linux/makefiles/mapfile-vers-debug.i and b/hotspot/.hg/store/data/make/linux/makefiles/mapfile-vers-debug.i differ
diff --git a/hotspot/.hg/store/data/make/linux/makefiles/mapfile-vers-product.i b/hotspot/.hg/store/data/make/linux/makefiles/mapfile-vers-product.i
index 124130f..0103556 100644
Binary files a/hotspot/.hg/store/data/make/linux/makefiles/mapfile-vers-product.i and b/hotspot/.hg/store/data/make/linux/makefiles/mapfile-vers-product.i differ
diff --git a/hotspot/.hg/store/data/make/linux/makefiles/top.make.i b/hotspot/.hg/store/data/make/linux/makefiles/top.make.i
index 92d07fb..91e2411 100644
Binary files a/hotspot/.hg/store/data/make/linux/makefiles/top.make.i and b/hotspot/.hg/store/data/make/linux/makefiles/top.make.i differ
diff --git a/hotspot/.hg/store/data/make/linux/makefiles/vm.make.i b/hotspot/.hg/store/data/make/linux/makefiles/vm.make.i
index 3049d19..483a9f4 100644
Binary files a/hotspot/.hg/store/data/make/linux/makefiles/vm.make.i and b/hotspot/.hg/store/data/make/linux/makefiles/vm.make.i differ
diff --git a/hotspot/.hg/store/data/make/solaris/makefiles/adlc.make.i b/hotspot/.hg/store/data/make/solaris/makefiles/adlc.make.i
index 40bb483..4c6ba7d 100644
Binary files a/hotspot/.hg/store/data/make/solaris/makefiles/adlc.make.i and b/hotspot/.hg/store/data/make/solaris/makefiles/adlc.make.i differ
diff --git a/hotspot/.hg/store/data/make/solaris/makefiles/gcc.make.i b/hotspot/.hg/store/data/make/solaris/makefiles/gcc.make.i
index d4753f2..78b70ae 100644
Binary files a/hotspot/.hg/store/data/make/solaris/makefiles/gcc.make.i and b/hotspot/.hg/store/data/make/solaris/makefiles/gcc.make.i differ
diff --git a/hotspot/.hg/store/data/make/solaris/makefiles/mapfile-vers.i b/hotspot/.hg/store/data/make/solaris/makefiles/mapfile-vers.i
index a88ba91..e566a6c 100644
Binary files a/hotspot/.hg/store/data/make/solaris/makefiles/mapfile-vers.i and b/hotspot/.hg/store/data/make/solaris/makefiles/mapfile-vers.i differ
diff --git a/hotspot/.hg/store/data/make/solaris/makefiles/vm.make.i b/hotspot/.hg/store/data/make/solaris/makefiles/vm.make.i
index 0b7b3cd..582e516 100644
Binary files a/hotspot/.hg/store/data/make/solaris/makefiles/vm.make.i and b/hotspot/.hg/store/data/make/solaris/makefiles/vm.make.i differ
diff --git a/hotspot/.hg/store/data/make/windows/build.bat.i b/hotspot/.hg/store/data/make/windows/build.bat.i
index 3acaa19..dad8ff3 100644
Binary files a/hotspot/.hg/store/data/make/windows/build.bat.i and b/hotspot/.hg/store/data/make/windows/build.bat.i differ
diff --git a/hotspot/.hg/store/data/make/windows/create__obj__files.sh.i b/hotspot/.hg/store/data/make/windows/create__obj__files.sh.i
index d511824..952ab4e 100644
Binary files a/hotspot/.hg/store/data/make/windows/create__obj__files.sh.i and b/hotspot/.hg/store/data/make/windows/create__obj__files.sh.i differ
diff --git a/hotspot/.hg/store/data/make/windows/makefiles/adlc.make.i b/hotspot/.hg/store/data/make/windows/makefiles/adlc.make.i
index 2eea10e..bffddc7 100644
Binary files a/hotspot/.hg/store/data/make/windows/makefiles/adlc.make.i and b/hotspot/.hg/store/data/make/windows/makefiles/adlc.make.i differ
diff --git a/hotspot/.hg/store/data/make/windows/makefiles/projectcreator.make.i b/hotspot/.hg/store/data/make/windows/makefiles/projectcreator.make.i
index 44dc9dd..cb6c57b 100644
Binary files a/hotspot/.hg/store/data/make/windows/makefiles/projectcreator.make.i and b/hotspot/.hg/store/data/make/windows/makefiles/projectcreator.make.i differ
diff --git a/hotspot/.hg/store/data/make/windows/makefiles/vm.make.i b/hotspot/.hg/store/data/make/windows/makefiles/vm.make.i
index cd5ed56..b6759c5 100644
Binary files a/hotspot/.hg/store/data/make/windows/makefiles/vm.make.i and b/hotspot/.hg/store/data/make/windows/makefiles/vm.make.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/sparc/vm/assembler__sparc.cpp.i b/hotspot/.hg/store/data/src/cpu/sparc/vm/assembler__sparc.cpp.i
index 614f16c..d239462 100644
Binary files a/hotspot/.hg/store/data/src/cpu/sparc/vm/assembler__sparc.cpp.i and b/hotspot/.hg/store/data/src/cpu/sparc/vm/assembler__sparc.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/sparc/vm/assembler__sparc.hpp.i b/hotspot/.hg/store/data/src/cpu/sparc/vm/assembler__sparc.hpp.i
index ee9fc44..44a95da 100644
Binary files a/hotspot/.hg/store/data/src/cpu/sparc/vm/assembler__sparc.hpp.i and b/hotspot/.hg/store/data/src/cpu/sparc/vm/assembler__sparc.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___code_stubs__sparc.cpp.i b/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___code_stubs__sparc.cpp.i
index 550ed35..b7b3c1b 100644
Binary files a/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___code_stubs__sparc.cpp.i and b/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___code_stubs__sparc.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___l_i_r_assembler__sparc.cpp.i b/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___l_i_r_assembler__sparc.cpp.i
index 17dc85c..4ade831 100644
Binary files a/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___l_i_r_assembler__sparc.cpp.i and b/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___l_i_r_assembler__sparc.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___l_i_r_assembler__sparc.hpp.i b/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___l_i_r_assembler__sparc.hpp.i
index b70f35d..6dc92e5 100644
Binary files a/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___l_i_r_assembler__sparc.hpp.i and b/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___l_i_r_assembler__sparc.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___macro_assembler__sparc.cpp.i b/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___macro_assembler__sparc.cpp.i
index 7be23d6..d29df2a 100644
Binary files a/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___macro_assembler__sparc.cpp.i and b/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___macro_assembler__sparc.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___runtime1__sparc.cpp.i b/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___runtime1__sparc.cpp.i
index 308ef64..0656db4 100644
Binary files a/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___runtime1__sparc.cpp.i and b/hotspot/.hg/store/data/src/cpu/sparc/vm/c1___runtime1__sparc.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/sparc/vm/c2__globals__sparc.hpp.i b/hotspot/.hg/store/data/src/cpu/sparc/vm/c2__globals__sparc.hpp.i
index 4b0afbd..5fd3b02 100644
Binary files a/hotspot/.hg/store/data/src/cpu/sparc/vm/c2__globals__sparc.hpp.i and b/hotspot/.hg/store/data/src/cpu/sparc/vm/c2__globals__sparc.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/sparc/vm/cpp_interpreter__sparc.cpp.i b/hotspot/.hg/store/data/src/cpu/sparc/vm/cpp_interpreter__sparc.cpp.i
index ae546ea..dc63c25 100644
Binary files a/hotspot/.hg/store/data/src/cpu/sparc/vm/cpp_interpreter__sparc.cpp.i and b/hotspot/.hg/store/data/src/cpu/sparc/vm/cpp_interpreter__sparc.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/sparc/vm/frame__sparc.inline.hpp.i b/hotspot/.hg/store/data/src/cpu/sparc/vm/frame__sparc.inline.hpp.i
index 362e013..961bd97 100644
Binary files a/hotspot/.hg/store/data/src/cpu/sparc/vm/frame__sparc.inline.hpp.i and b/hotspot/.hg/store/data/src/cpu/sparc/vm/frame__sparc.inline.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/sparc/vm/method_handles__sparc.cpp.i b/hotspot/.hg/store/data/src/cpu/sparc/vm/method_handles__sparc.cpp.i
index ee376d6..6d6f584 100644
Binary files a/hotspot/.hg/store/data/src/cpu/sparc/vm/method_handles__sparc.cpp.i and b/hotspot/.hg/store/data/src/cpu/sparc/vm/method_handles__sparc.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/sparc/vm/shared_runtime__sparc.cpp.i b/hotspot/.hg/store/data/src/cpu/sparc/vm/shared_runtime__sparc.cpp.i
index 90d9c0f..a01abbb 100644
Binary files a/hotspot/.hg/store/data/src/cpu/sparc/vm/shared_runtime__sparc.cpp.i and b/hotspot/.hg/store/data/src/cpu/sparc/vm/shared_runtime__sparc.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/sparc/vm/sparc.ad.i b/hotspot/.hg/store/data/src/cpu/sparc/vm/sparc.ad.i
index ccc760e..fe19c3e 100644
Binary files a/hotspot/.hg/store/data/src/cpu/sparc/vm/sparc.ad.i and b/hotspot/.hg/store/data/src/cpu/sparc/vm/sparc.ad.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/sparc/vm/stub_generator__sparc.cpp.i b/hotspot/.hg/store/data/src/cpu/sparc/vm/stub_generator__sparc.cpp.i
index 43f1f74..ccebc33 100644
Binary files a/hotspot/.hg/store/data/src/cpu/sparc/vm/stub_generator__sparc.cpp.i and b/hotspot/.hg/store/data/src/cpu/sparc/vm/stub_generator__sparc.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/sparc/vm/template_interpreter__sparc.cpp.i b/hotspot/.hg/store/data/src/cpu/sparc/vm/template_interpreter__sparc.cpp.i
index 9d37d12..cb6acc8 100644
Binary files a/hotspot/.hg/store/data/src/cpu/sparc/vm/template_interpreter__sparc.cpp.i and b/hotspot/.hg/store/data/src/cpu/sparc/vm/template_interpreter__sparc.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/sparc/vm/template_table__sparc.cpp.i b/hotspot/.hg/store/data/src/cpu/sparc/vm/template_table__sparc.cpp.i
index d65c1f5..aa1ed5b 100644
Binary files a/hotspot/.hg/store/data/src/cpu/sparc/vm/template_table__sparc.cpp.i and b/hotspot/.hg/store/data/src/cpu/sparc/vm/template_table__sparc.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/sparc/vm/vtable_stubs__sparc.cpp.i b/hotspot/.hg/store/data/src/cpu/sparc/vm/vtable_stubs__sparc.cpp.i
index 4c76272..be42bb9 100644
Binary files a/hotspot/.hg/store/data/src/cpu/sparc/vm/vtable_stubs__sparc.cpp.i and b/hotspot/.hg/store/data/src/cpu/sparc/vm/vtable_stubs__sparc.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/assembler__x86.cpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/assembler__x86.cpp.i
index b3ba328..6b89807 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/assembler__x86.cpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/assembler__x86.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/assembler__x86.hpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/assembler__x86.hpp.i
index ddedbaf..4b2478e 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/assembler__x86.hpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/assembler__x86.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/assembler__x86.inline.hpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/assembler__x86.inline.hpp.i
index 87e805f..832f246 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/assembler__x86.inline.hpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/assembler__x86.inline.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/c1___code_stubs__x86.cpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/c1___code_stubs__x86.cpp.i
index 8887196..da4f819 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/c1___code_stubs__x86.cpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/c1___code_stubs__x86.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/c1___l_i_r_assembler__x86.cpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/c1___l_i_r_assembler__x86.cpp.i
index 380d56f..8730a69 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/c1___l_i_r_assembler__x86.cpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/c1___l_i_r_assembler__x86.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/c1___macro_assembler__x86.cpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/c1___macro_assembler__x86.cpp.i
index 04bd582..bb290fd 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/c1___macro_assembler__x86.cpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/c1___macro_assembler__x86.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/c1___runtime1__x86.cpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/c1___runtime1__x86.cpp.i
index 71f511b..6ed385b 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/c1___runtime1__x86.cpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/c1___runtime1__x86.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/c2__globals__x86.hpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/c2__globals__x86.hpp.i
index 9e549c2..00eee1c 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/c2__globals__x86.hpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/c2__globals__x86.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/cpp_interpreter__x86.cpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/cpp_interpreter__x86.cpp.i
index 8560fae..b8e0592 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/cpp_interpreter__x86.cpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/cpp_interpreter__x86.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/frame__x86.cpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/frame__x86.cpp.i
index 7bb1544..01f3182 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/frame__x86.cpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/frame__x86.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/frame__x86.hpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/frame__x86.hpp.i
index b66471b..f0b9456 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/frame__x86.hpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/frame__x86.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/method_handles__x86.cpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/method_handles__x86.cpp.i
index 6e7e101..ace9e5a 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/method_handles__x86.cpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/method_handles__x86.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/method_handles__x86.hpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/method_handles__x86.hpp.i
index 4fd94bb..863cf7b 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/method_handles__x86.hpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/method_handles__x86.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/native_inst__x86.cpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/native_inst__x86.cpp.i
index 0a594a5..31d647e 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/native_inst__x86.cpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/native_inst__x86.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/native_inst__x86.hpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/native_inst__x86.hpp.i
index 7f9c154..317f7f5 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/native_inst__x86.hpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/native_inst__x86.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/register__definitions__x86.cpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/register__definitions__x86.cpp.i
index a550963..d252aa8 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/register__definitions__x86.cpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/register__definitions__x86.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/stub_generator__x86__32.cpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/stub_generator__x86__32.cpp.i
index 748cfef..6a3604d 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/stub_generator__x86__32.cpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/stub_generator__x86__32.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/stub_generator__x86__64.cpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/stub_generator__x86__64.cpp.i
index 71556f5..ad53e3d 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/stub_generator__x86__64.cpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/stub_generator__x86__64.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/template_interpreter__x86__32.cpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/template_interpreter__x86__32.cpp.i
index 4f351ce..1cf450a 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/template_interpreter__x86__32.cpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/template_interpreter__x86__32.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/template_interpreter__x86__64.cpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/template_interpreter__x86__64.cpp.i
index b71872b..e77aa90 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/template_interpreter__x86__64.cpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/template_interpreter__x86__64.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/template_table__x86__32.cpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/template_table__x86__32.cpp.i
index 7ceaf50..a71820a 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/template_table__x86__32.cpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/template_table__x86__32.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/template_table__x86__64.cpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/template_table__x86__64.cpp.i
index 12c1166..b463103 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/template_table__x86__64.cpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/template_table__x86__64.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/vm__version__x86.cpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/vm__version__x86.cpp.i
index df71c1c..ef08d67 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/vm__version__x86.cpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/vm__version__x86.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/vm__version__x86.hpp.i b/hotspot/.hg/store/data/src/cpu/x86/vm/vm__version__x86.hpp.i
index f289857..f66df9f 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/vm__version__x86.hpp.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/vm__version__x86.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/x86.ad.i b/hotspot/.hg/store/data/src/cpu/x86/vm/x86.ad.i
new file mode 100644
index 0000000..12a4c74
Binary files /dev/null and b/hotspot/.hg/store/data/src/cpu/x86/vm/x86.ad.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/x86__32.ad.i b/hotspot/.hg/store/data/src/cpu/x86/vm/x86__32.ad.i
index 2520bf3..a01459b 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/x86__32.ad.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/x86__32.ad.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/x86/vm/x86__64.ad.i b/hotspot/.hg/store/data/src/cpu/x86/vm/x86__64.ad.i
index 7017ef2..dd9f5aa 100644
Binary files a/hotspot/.hg/store/data/src/cpu/x86/vm/x86__64.ad.i and b/hotspot/.hg/store/data/src/cpu/x86/vm/x86__64.ad.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/zero/vm/frame__zero.inline.hpp.i b/hotspot/.hg/store/data/src/cpu/zero/vm/frame__zero.inline.hpp.i
index 866bff5..8795a07 100644
Binary files a/hotspot/.hg/store/data/src/cpu/zero/vm/frame__zero.inline.hpp.i and b/hotspot/.hg/store/data/src/cpu/zero/vm/frame__zero.inline.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/cpu/zero/vm/method_handles__zero.hpp.i b/hotspot/.hg/store/data/src/cpu/zero/vm/method_handles__zero.hpp.i
index 042330f..3540bfb 100644
Binary files a/hotspot/.hg/store/data/src/cpu/zero/vm/method_handles__zero.hpp.i and b/hotspot/.hg/store/data/src/cpu/zero/vm/method_handles__zero.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/os/bsd/vm/decoder__mach_o.cpp.i b/hotspot/.hg/store/data/src/os/bsd/vm/decoder__mach_o.cpp.i
new file mode 100644
index 0000000..253212b
Binary files /dev/null and b/hotspot/.hg/store/data/src/os/bsd/vm/decoder__mach_o.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/os/bsd/vm/decoder__mach_o.hpp.i b/hotspot/.hg/store/data/src/os/bsd/vm/decoder__mach_o.hpp.i
new file mode 100644
index 0000000..52f7f95
Binary files /dev/null and b/hotspot/.hg/store/data/src/os/bsd/vm/decoder__mach_o.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/os/bsd/vm/jvm__bsd.h.i b/hotspot/.hg/store/data/src/os/bsd/vm/jvm__bsd.h.i
index eda9ba9..da93326 100644
Binary files a/hotspot/.hg/store/data/src/os/bsd/vm/jvm__bsd.h.i and b/hotspot/.hg/store/data/src/os/bsd/vm/jvm__bsd.h.i differ
diff --git a/hotspot/.hg/store/data/src/os/bsd/vm/os__bsd.cpp.i b/hotspot/.hg/store/data/src/os/bsd/vm/os__bsd.cpp.i
index 9361134..6abbc93 100644
Binary files a/hotspot/.hg/store/data/src/os/bsd/vm/os__bsd.cpp.i and b/hotspot/.hg/store/data/src/os/bsd/vm/os__bsd.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/os/bsd/vm/os__bsd.inline.hpp.i b/hotspot/.hg/store/data/src/os/bsd/vm/os__bsd.inline.hpp.i
index 52d85b4..ba32a73 100644
Binary files a/hotspot/.hg/store/data/src/os/bsd/vm/os__bsd.inline.hpp.i and b/hotspot/.hg/store/data/src/os/bsd/vm/os__bsd.inline.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/os/linux/vm/decoder__linux.cpp.i b/hotspot/.hg/store/data/src/os/linux/vm/decoder__linux.cpp.i
index 2eb37b5..7556cf1 100644
Binary files a/hotspot/.hg/store/data/src/os/linux/vm/decoder__linux.cpp.i and b/hotspot/.hg/store/data/src/os/linux/vm/decoder__linux.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/os/linux/vm/jvm__linux.h.i b/hotspot/.hg/store/data/src/os/linux/vm/jvm__linux.h.i
index d166063..9b4b107 100644
Binary files a/hotspot/.hg/store/data/src/os/linux/vm/jvm__linux.h.i and b/hotspot/.hg/store/data/src/os/linux/vm/jvm__linux.h.i differ
diff --git a/hotspot/.hg/store/data/src/os/linux/vm/os__linux.cpp.i b/hotspot/.hg/store/data/src/os/linux/vm/os__linux.cpp.i
index c10245b..c51bd7b 100644
Binary files a/hotspot/.hg/store/data/src/os/linux/vm/os__linux.cpp.i and b/hotspot/.hg/store/data/src/os/linux/vm/os__linux.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/os/linux/vm/os__linux.inline.hpp.i b/hotspot/.hg/store/data/src/os/linux/vm/os__linux.inline.hpp.i
index 6aa00c7..4815d38 100644
Binary files a/hotspot/.hg/store/data/src/os/linux/vm/os__linux.inline.hpp.i and b/hotspot/.hg/store/data/src/os/linux/vm/os__linux.inline.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/os/posix/vm/os__posix.cpp.i b/hotspot/.hg/store/data/src/os/posix/vm/os__posix.cpp.i
index f70bde6..16edca2 100644
Binary files a/hotspot/.hg/store/data/src/os/posix/vm/os__posix.cpp.i and b/hotspot/.hg/store/data/src/os/posix/vm/os__posix.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/os/solaris/vm/decoder__solaris.cpp.i b/hotspot/.hg/store/data/src/os/solaris/vm/decoder__solaris.cpp.i
index 3f1ed49..2054354 100644
Binary files a/hotspot/.hg/store/data/src/os/solaris/vm/decoder__solaris.cpp.i and b/hotspot/.hg/store/data/src/os/solaris/vm/decoder__solaris.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/os/solaris/vm/jvm__solaris.h.i b/hotspot/.hg/store/data/src/os/solaris/vm/jvm__solaris.h.i
index df073db..99d8cd8 100644
Binary files a/hotspot/.hg/store/data/src/os/solaris/vm/jvm__solaris.h.i and b/hotspot/.hg/store/data/src/os/solaris/vm/jvm__solaris.h.i differ
diff --git a/hotspot/.hg/store/data/src/os/solaris/vm/os__solaris.cpp.i b/hotspot/.hg/store/data/src/os/solaris/vm/os__solaris.cpp.i
index 95760a4..7951264 100644
Binary files a/hotspot/.hg/store/data/src/os/solaris/vm/os__solaris.cpp.i and b/hotspot/.hg/store/data/src/os/solaris/vm/os__solaris.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/os/solaris/vm/os__solaris.inline.hpp.i b/hotspot/.hg/store/data/src/os/solaris/vm/os__solaris.inline.hpp.i
index c40aca0..6b71206 100644
Binary files a/hotspot/.hg/store/data/src/os/solaris/vm/os__solaris.inline.hpp.i and b/hotspot/.hg/store/data/src/os/solaris/vm/os__solaris.inline.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/os/windows/vm/decoder__windows.cpp.i b/hotspot/.hg/store/data/src/os/windows/vm/decoder__windows.cpp.i
index e81c2c3..d018a00 100644
Binary files a/hotspot/.hg/store/data/src/os/windows/vm/decoder__windows.cpp.i and b/hotspot/.hg/store/data/src/os/windows/vm/decoder__windows.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/os/windows/vm/decoder__windows.hpp.i b/hotspot/.hg/store/data/src/os/windows/vm/decoder__windows.hpp.i
new file mode 100644
index 0000000..55536d1
Binary files /dev/null and b/hotspot/.hg/store/data/src/os/windows/vm/decoder__windows.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/os/windows/vm/jvm__windows.h.i b/hotspot/.hg/store/data/src/os/windows/vm/jvm__windows.h.i
index 5dbdbd3..0541a26 100644
Binary files a/hotspot/.hg/store/data/src/os/windows/vm/jvm__windows.h.i and b/hotspot/.hg/store/data/src/os/windows/vm/jvm__windows.h.i differ
diff --git a/hotspot/.hg/store/data/src/os/windows/vm/os__windows.cpp.i b/hotspot/.hg/store/data/src/os/windows/vm/os__windows.cpp.i
index 42eca5c..34dff40 100644
Binary files a/hotspot/.hg/store/data/src/os/windows/vm/os__windows.cpp.i and b/hotspot/.hg/store/data/src/os/windows/vm/os__windows.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/os__cpu/bsd__x86/vm/os__bsd__x86.hpp.i b/hotspot/.hg/store/data/src/os__cpu/bsd__x86/vm/os__bsd__x86.hpp.i
index c1ac042..a4da09f 100644
Binary files a/hotspot/.hg/store/data/src/os__cpu/bsd__x86/vm/os__bsd__x86.hpp.i and b/hotspot/.hg/store/data/src/os__cpu/bsd__x86/vm/os__bsd__x86.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/os__cpu/bsd__x86/vm/os__bsd__x86.inline.hpp.i b/hotspot/.hg/store/data/src/os__cpu/bsd__x86/vm/os__bsd__x86.inline.hpp.i
new file mode 100644
index 0000000..e864e9f
Binary files /dev/null and b/hotspot/.hg/store/data/src/os__cpu/bsd__x86/vm/os__bsd__x86.inline.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/os__cpu/linux__x86/vm/os__linux__x86.hpp.i b/hotspot/.hg/store/data/src/os__cpu/linux__x86/vm/os__linux__x86.hpp.i
index 38c9fe3..0384480 100644
Binary files a/hotspot/.hg/store/data/src/os__cpu/linux__x86/vm/os__linux__x86.hpp.i and b/hotspot/.hg/store/data/src/os__cpu/linux__x86/vm/os__linux__x86.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/os__cpu/linux__x86/vm/os__linux__x86.inline.hpp.i b/hotspot/.hg/store/data/src/os__cpu/linux__x86/vm/os__linux__x86.inline.hpp.i
new file mode 100644
index 0000000..f23ec1e
Binary files /dev/null and b/hotspot/.hg/store/data/src/os__cpu/linux__x86/vm/os__linux__x86.inline.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/os__cpu/solaris__x86/vm/os__solaris__x86.hpp.i b/hotspot/.hg/store/data/src/os__cpu/solaris__x86/vm/os__solaris__x86.hpp.i
index 707f3e8..d982d30 100644
Binary files a/hotspot/.hg/store/data/src/os__cpu/solaris__x86/vm/os__solaris__x86.hpp.i and b/hotspot/.hg/store/data/src/os__cpu/solaris__x86/vm/os__solaris__x86.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/os__cpu/solaris__x86/vm/os__solaris__x86.inline.hpp.i b/hotspot/.hg/store/data/src/os__cpu/solaris__x86/vm/os__solaris__x86.inline.hpp.i
new file mode 100644
index 0000000..9db6296
Binary files /dev/null and b/hotspot/.hg/store/data/src/os__cpu/solaris__x86/vm/os__solaris__x86.inline.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/os__cpu/solaris__x86/vm/solaris__x86__32.il.i b/hotspot/.hg/store/data/src/os__cpu/solaris__x86/vm/solaris__x86__32.il.i
index 25fb810..cf6a937 100644
Binary files a/hotspot/.hg/store/data/src/os__cpu/solaris__x86/vm/solaris__x86__32.il.i and b/hotspot/.hg/store/data/src/os__cpu/solaris__x86/vm/solaris__x86__32.il.i differ
diff --git a/hotspot/.hg/store/data/src/os__cpu/solaris__x86/vm/solaris__x86__64.il.i b/hotspot/.hg/store/data/src/os__cpu/solaris__x86/vm/solaris__x86__64.il.i
index 52e9f24..fc42c64 100644
Binary files a/hotspot/.hg/store/data/src/os__cpu/solaris__x86/vm/solaris__x86__64.il.i and b/hotspot/.hg/store/data/src/os__cpu/solaris__x86/vm/solaris__x86__64.il.i differ
diff --git a/hotspot/.hg/store/data/src/os__cpu/windows__x86/vm/os__windows__x86.hpp.i b/hotspot/.hg/store/data/src/os__cpu/windows__x86/vm/os__windows__x86.hpp.i
index a8e04cf..338a814 100644
Binary files a/hotspot/.hg/store/data/src/os__cpu/windows__x86/vm/os__windows__x86.hpp.i and b/hotspot/.hg/store/data/src/os__cpu/windows__x86/vm/os__windows__x86.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/os__cpu/windows__x86/vm/os__windows__x86.inline.hpp.i b/hotspot/.hg/store/data/src/os__cpu/windows__x86/vm/os__windows__x86.inline.hpp.i
new file mode 100644
index 0000000..4a398e8
Binary files /dev/null and b/hotspot/.hg/store/data/src/os__cpu/windows__x86/vm/os__windows__x86.inline.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/adlc/adlparse.cpp.i b/hotspot/.hg/store/data/src/share/vm/adlc/adlparse.cpp.i
index 0027eb7..8d698aa 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/adlc/adlparse.cpp.i and b/hotspot/.hg/store/data/src/share/vm/adlc/adlparse.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/adlc/adlparse.hpp.i b/hotspot/.hg/store/data/src/share/vm/adlc/adlparse.hpp.i
index 32a284f..e9278f7 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/adlc/adlparse.hpp.i and b/hotspot/.hg/store/data/src/share/vm/adlc/adlparse.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/adlc/arch_desc.cpp.i b/hotspot/.hg/store/data/src/share/vm/adlc/arch_desc.cpp.i
index 0517fc9..f5ccbb4 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/adlc/arch_desc.cpp.i and b/hotspot/.hg/store/data/src/share/vm/adlc/arch_desc.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/adlc/formsopt.cpp.i b/hotspot/.hg/store/data/src/share/vm/adlc/formsopt.cpp.i
index 0f6df07..a6571a4 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/adlc/formsopt.cpp.i and b/hotspot/.hg/store/data/src/share/vm/adlc/formsopt.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/adlc/formsopt.hpp.i b/hotspot/.hg/store/data/src/share/vm/adlc/formsopt.hpp.i
index ec6146f..b55a1e5 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/adlc/formsopt.hpp.i and b/hotspot/.hg/store/data/src/share/vm/adlc/formsopt.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/adlc/formssel.cpp.i b/hotspot/.hg/store/data/src/share/vm/adlc/formssel.cpp.i
index f9797d1..15e1fc0 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/adlc/formssel.cpp.i and b/hotspot/.hg/store/data/src/share/vm/adlc/formssel.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/adlc/formssel.hpp.i b/hotspot/.hg/store/data/src/share/vm/adlc/formssel.hpp.i
index 7ec439e..f787ebd 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/adlc/formssel.hpp.i and b/hotspot/.hg/store/data/src/share/vm/adlc/formssel.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/adlc/output__c.cpp.i b/hotspot/.hg/store/data/src/share/vm/adlc/output__c.cpp.i
index fc6c729..ded3e10 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/adlc/output__c.cpp.i and b/hotspot/.hg/store/data/src/share/vm/adlc/output__c.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/adlc/output__h.cpp.i b/hotspot/.hg/store/data/src/share/vm/adlc/output__h.cpp.i
index 2a2332d..736b932 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/adlc/output__h.cpp.i and b/hotspot/.hg/store/data/src/share/vm/adlc/output__h.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/asm/assembler.cpp.i b/hotspot/.hg/store/data/src/share/vm/asm/assembler.cpp.i
index 88c6259d..7966f6a 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/asm/assembler.cpp.i and b/hotspot/.hg/store/data/src/share/vm/asm/assembler.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/asm/assembler.hpp.i b/hotspot/.hg/store/data/src/share/vm/asm/assembler.hpp.i
index 0465263..eaddf4f 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/asm/assembler.hpp.i and b/hotspot/.hg/store/data/src/share/vm/asm/assembler.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/c1/c1___graph_builder.cpp.i b/hotspot/.hg/store/data/src/share/vm/c1/c1___graph_builder.cpp.i
index 35e9dd3..aae02f1 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/c1/c1___graph_builder.cpp.i and b/hotspot/.hg/store/data/src/share/vm/c1/c1___graph_builder.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/c1/c1___instruction.hpp.i b/hotspot/.hg/store/data/src/share/vm/c1/c1___instruction.hpp.i
index 9c36b86..4b6a2f1 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/c1/c1___instruction.hpp.i and b/hotspot/.hg/store/data/src/share/vm/c1/c1___instruction.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/c1/c1___l_i_r.cpp.i b/hotspot/.hg/store/data/src/share/vm/c1/c1___l_i_r.cpp.i
index d0d4c17..2a4945d 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/c1/c1___l_i_r.cpp.i and b/hotspot/.hg/store/data/src/share/vm/c1/c1___l_i_r.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/c1/c1___l_i_r_generator.cpp.i b/hotspot/.hg/store/data/src/share/vm/c1/c1___l_i_r_generator.cpp.i
index 128d9c3..de487ea 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/c1/c1___l_i_r_generator.cpp.i and b/hotspot/.hg/store/data/src/share/vm/c1/c1___l_i_r_generator.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/c1/c1___optimizer.cpp.i b/hotspot/.hg/store/data/src/share/vm/c1/c1___optimizer.cpp.i
index 4ee7cfc..139e20d 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/c1/c1___optimizer.cpp.i and b/hotspot/.hg/store/data/src/share/vm/c1/c1___optimizer.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/ci/bc_escape_analyzer.cpp.i b/hotspot/.hg/store/data/src/share/vm/ci/bc_escape_analyzer.cpp.i
index 5cc988c..db684c2 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/ci/bc_escape_analyzer.cpp.i and b/hotspot/.hg/store/data/src/share/vm/ci/bc_escape_analyzer.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/ci/bc_escape_analyzer.hpp.i b/hotspot/.hg/store/data/src/share/vm/ci/bc_escape_analyzer.hpp.i
index 562caee..77cce35 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/ci/bc_escape_analyzer.hpp.i and b/hotspot/.hg/store/data/src/share/vm/ci/bc_escape_analyzer.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/ci/ci_instance_klass.cpp.i b/hotspot/.hg/store/data/src/share/vm/ci/ci_instance_klass.cpp.i
index 290b1d4..777140a 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/ci/ci_instance_klass.cpp.i and b/hotspot/.hg/store/data/src/share/vm/ci/ci_instance_klass.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/ci/ci_method.hpp.i b/hotspot/.hg/store/data/src/share/vm/ci/ci_method.hpp.i
index 84d3d5e..6df5590 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/ci/ci_method.hpp.i and b/hotspot/.hg/store/data/src/share/vm/ci/ci_method.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/ci/ci_type_flow.cpp.i b/hotspot/.hg/store/data/src/share/vm/ci/ci_type_flow.cpp.i
index 15fcaa7..8c85121 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/ci/ci_type_flow.cpp.i and b/hotspot/.hg/store/data/src/share/vm/ci/ci_type_flow.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/ci/ci_type_flow.hpp.i b/hotspot/.hg/store/data/src/share/vm/ci/ci_type_flow.hpp.i
index 322d677..f1d8ad6 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/ci/ci_type_flow.hpp.i and b/hotspot/.hg/store/data/src/share/vm/ci/ci_type_flow.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/classfile/class_file_parser.cpp.i b/hotspot/.hg/store/data/src/share/vm/classfile/class_file_parser.cpp.i
index 5e7d052..9fa3d8c 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/classfile/class_file_parser.cpp.i and b/hotspot/.hg/store/data/src/share/vm/classfile/class_file_parser.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/classfile/class_file_parser.hpp.i b/hotspot/.hg/store/data/src/share/vm/classfile/class_file_parser.hpp.i
index 014b7bd..fa84bb9 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/classfile/class_file_parser.hpp.i and b/hotspot/.hg/store/data/src/share/vm/classfile/class_file_parser.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/classfile/symbol_table.cpp.i b/hotspot/.hg/store/data/src/share/vm/classfile/symbol_table.cpp.i
index ab86756..0b030fb 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/classfile/symbol_table.cpp.i and b/hotspot/.hg/store/data/src/share/vm/classfile/symbol_table.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/classfile/symbol_table.hpp.i b/hotspot/.hg/store/data/src/share/vm/classfile/symbol_table.hpp.i
index 0b9f862..3a992d4 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/classfile/symbol_table.hpp.i and b/hotspot/.hg/store/data/src/share/vm/classfile/symbol_table.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/classfile/system_dictionary.cpp.i b/hotspot/.hg/store/data/src/share/vm/classfile/system_dictionary.cpp.i
index 4a57db9..ed6b79c 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/classfile/system_dictionary.cpp.i and b/hotspot/.hg/store/data/src/share/vm/classfile/system_dictionary.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/classfile/vm_symbols.hpp.i b/hotspot/.hg/store/data/src/share/vm/classfile/vm_symbols.hpp.i
index b9c8693..915635c 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/classfile/vm_symbols.hpp.i and b/hotspot/.hg/store/data/src/share/vm/classfile/vm_symbols.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/code/dependencies.cpp.i b/hotspot/.hg/store/data/src/share/vm/code/dependencies.cpp.i
index f877c5b..43cd269 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/code/dependencies.cpp.i and b/hotspot/.hg/store/data/src/share/vm/code/dependencies.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/compiler/compile_broker.cpp.i b/hotspot/.hg/store/data/src/share/vm/compiler/compile_broker.cpp.i
index 0d0673c..8f23ac3 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/compiler/compile_broker.cpp.i and b/hotspot/.hg/store/data/src/share/vm/compiler/compile_broker.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/concurrent_mark_sweep/compactible_free_list_space.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/concurrent_mark_sweep/compactible_free_list_space.cpp.i
index a784863..778302d 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/concurrent_mark_sweep/compactible_free_list_space.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/concurrent_mark_sweep/compactible_free_list_space.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/concurrent_mark_sweep/compactible_free_list_space.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/concurrent_mark_sweep/compactible_free_list_space.hpp.i
index 2dc36c4..dd68977 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/concurrent_mark_sweep/compactible_free_list_space.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/concurrent_mark_sweep/compactible_free_list_space.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/concurrent_mark_sweep/concurrent_mark_sweep_generation.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/concurrent_mark_sweep/concurrent_mark_sweep_generation.cpp.i
index 8f25915..55dfdb6 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/concurrent_mark_sweep/concurrent_mark_sweep_generation.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/concurrent_mark_sweep/concurrent_mark_sweep_generation.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/collection_set_chooser.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/collection_set_chooser.cpp.i
index 6e8d8d8..3ead354 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/collection_set_chooser.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/collection_set_chooser.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/concurrent_mark.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/concurrent_mark.cpp.i
index d1a92c0..eeb64c9 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/concurrent_mark.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/concurrent_mark.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/concurrent_mark.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/concurrent_mark.hpp.i
index 96516b8..3ced368 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/concurrent_mark.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/concurrent_mark.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/concurrent_mark.inline.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/concurrent_mark.inline.hpp.i
index fe516eb..a27d7eb 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/concurrent_mark.inline.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/concurrent_mark.inline.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/concurrent_mark_thread.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/concurrent_mark_thread.cpp.i
index 0db32e9..97bd304 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/concurrent_mark_thread.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/concurrent_mark_thread.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1__globals.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1__globals.hpp.i
index 3e87efc..f1b775f 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1__globals.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1__globals.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collected_heap.cpp.d b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collected_heap.cpp.d
index bdbd8f1..8dbcbf4 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collected_heap.cpp.d and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collected_heap.cpp.d differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collected_heap.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collected_heap.cpp.i
index dd9e8c6..8b0d65c 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collected_heap.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collected_heap.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collected_heap.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collected_heap.hpp.i
index 401a652..1ca6fad 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collected_heap.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collected_heap.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collector_policy.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collector_policy.cpp.i
index d436009..98b9e0f 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collector_policy.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collector_policy.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collector_policy.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collector_policy.hpp.i
index 86b17e2..03bb490 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collector_policy.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_collector_policy.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_ergo_verbose.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_ergo_verbose.cpp.i
index 2ab7f8a..976ff6e 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_ergo_verbose.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_ergo_verbose.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_ergo_verbose.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_ergo_verbose.hpp.i
index 992d0d6..2ef1448 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_ergo_verbose.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_ergo_verbose.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_evac_failure.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_evac_failure.hpp.i
new file mode 100644
index 0000000..5249a98
Binary files /dev/null and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_evac_failure.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_monitoring_support.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_monitoring_support.hpp.i
index decd485..9e54aff 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_monitoring_support.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_monitoring_support.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_oop_closures.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_oop_closures.hpp.i
index 49015bc..262961a 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_oop_closures.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_oop_closures.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_oop_closures.inline.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_oop_closures.inline.hpp.i
index 12b25a5..51997df 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_oop_closures.inline.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_oop_closures.inline.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_rem_set.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_rem_set.cpp.i
index 7dccaac..02fde55 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_rem_set.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_rem_set.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_rem_set.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_rem_set.hpp.i
index b464e31..efabe5b 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_rem_set.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_rem_set.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_rem_set.inline.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_rem_set.inline.hpp.i
index a82ddca..638ee23 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_rem_set.inline.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/g1_rem_set.inline.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/heap_region.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/heap_region.cpp.i
index 0262b8e..17840ce 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/heap_region.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/heap_region.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/heap_region.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/heap_region.hpp.i
index e6b49b5..a979631 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/heap_region.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/heap_region.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/heap_region.inline.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/heap_region.inline.hpp.i
index ce70217..35d243d 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/heap_region.inline.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/heap_region.inline.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/ptr_queue.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/ptr_queue.hpp.i
index 14965b5..a808e84 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/ptr_queue.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/ptr_queue.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/satb_queue.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/satb_queue.cpp.i
index f5aeb49..23190f0 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/satb_queue.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/satb_queue.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/satb_queue.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/satb_queue.hpp.i
index d504ef5..a2cf025 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/satb_queue.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/g1/satb_queue.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/par_new/par_card_table_mod_ref_b_s.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/par_new/par_card_table_mod_ref_b_s.cpp.i
index 9db6d7f..98f95d9 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/par_new/par_card_table_mod_ref_b_s.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/par_new/par_card_table_mod_ref_b_s.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/par_new/par_new_generation.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/par_new/par_new_generation.cpp.i
index ade3b72..4c1a6dc 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/par_new/par_new_generation.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/par_new/par_new_generation.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/par_new/par_new_generation.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/par_new/par_new_generation.hpp.i
index 6428bd0..408097f 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/par_new/par_new_generation.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/par_new/par_new_generation.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/card_table_extension.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/card_table_extension.cpp.i
index 69ce4a1..413e1bb 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/card_table_extension.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/card_table_extension.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/card_table_extension.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/card_table_extension.hpp.i
index 33c4064..1899b96 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/card_table_extension.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/card_table_extension.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/gc_task_manager.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/gc_task_manager.cpp.i
index 4796682..2f0f2c0 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/gc_task_manager.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/gc_task_manager.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/gc_task_manager.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/gc_task_manager.hpp.i
index 37cfd3f..135b1c8 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/gc_task_manager.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/gc_task_manager.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/gc_task_thread.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/gc_task_thread.cpp.i
index ea8886e..506dd50 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/gc_task_thread.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/gc_task_thread.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/gc_task_thread.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/gc_task_thread.hpp.i
index 2222eef..1679dcf 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/gc_task_thread.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/gc_task_thread.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/pc_tasks.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/pc_tasks.cpp.i
index a6e8af2..14948bd 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/pc_tasks.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/pc_tasks.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_compaction_manager.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_compaction_manager.cpp.i
index f9b4f06..3d028cf 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_compaction_manager.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_compaction_manager.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_compaction_manager.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_compaction_manager.hpp.i
index 736d05b..13c0e82 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_compaction_manager.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_compaction_manager.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_mark_sweep.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_mark_sweep.cpp.i
index 5f2df76..4b81447 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_mark_sweep.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_mark_sweep.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_mark_sweep_decorator.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_mark_sweep_decorator.cpp.i
index 11c136a..5d9b0e9 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_mark_sweep_decorator.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_mark_sweep_decorator.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_parallel_compact.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_parallel_compact.cpp.i
index 380c5b6..716d248 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_parallel_compact.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_parallel_compact.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_parallel_compact.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_parallel_compact.hpp.i
index 6f50a29..71ab5bc 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_parallel_compact.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_parallel_compact.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_scavenge.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_scavenge.cpp.i
index 155569c..de2c43e 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_scavenge.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_scavenge.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_tasks.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_tasks.cpp.i
index 4e2aa0c..95cae12 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_tasks.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_tasks.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_tasks.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_tasks.hpp.i
index 1273ac7..dcb4928 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_tasks.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/parallel_scavenge/ps_tasks.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/adaptive_size_policy.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/adaptive_size_policy.cpp.i
index 33f0f60..7d159a5 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/adaptive_size_policy.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/adaptive_size_policy.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/adaptive_size_policy.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/adaptive_size_policy.hpp.i
index 01e9309..75f9b90 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/adaptive_size_policy.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/adaptive_size_policy.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/mark_sweep.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/mark_sweep.hpp.i
index 7d91e01..ce03543 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/mark_sweep.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/mark_sweep.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/mark_sweep.inline.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/mark_sweep.inline.hpp.i
index dbc4486..21b3021 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/mark_sweep.inline.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/mark_sweep.inline.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/mutable_n_u_m_a_space.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/mutable_n_u_m_a_space.cpp.i
index b5fcc36..f94f7d4 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/mutable_n_u_m_a_space.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/mutable_n_u_m_a_space.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/mutable_space.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/mutable_space.cpp.i
index 1e5fe2b..e0c4107 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/mutable_space.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__implementation/shared/mutable_space.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__interface/collected_heap.cpp.i b/hotspot/.hg/store/data/src/share/vm/gc__interface/collected_heap.cpp.i
index c9bead4..dda97c5 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__interface/collected_heap.cpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__interface/collected_heap.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/gc__interface/collected_heap.hpp.i b/hotspot/.hg/store/data/src/share/vm/gc__interface/collected_heap.hpp.i
index 7d1b19e..6749973 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/gc__interface/collected_heap.hpp.i and b/hotspot/.hg/store/data/src/share/vm/gc__interface/collected_heap.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/memory/card_table_mod_ref_b_s.cpp.i b/hotspot/.hg/store/data/src/share/vm/memory/card_table_mod_ref_b_s.cpp.i
index f648a5b..4040220 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/memory/card_table_mod_ref_b_s.cpp.i and b/hotspot/.hg/store/data/src/share/vm/memory/card_table_mod_ref_b_s.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/memory/card_table_mod_ref_b_s.hpp.i b/hotspot/.hg/store/data/src/share/vm/memory/card_table_mod_ref_b_s.hpp.i
index a25f623..5158788 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/memory/card_table_mod_ref_b_s.hpp.i and b/hotspot/.hg/store/data/src/share/vm/memory/card_table_mod_ref_b_s.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/memory/card_table_r_s.cpp.i b/hotspot/.hg/store/data/src/share/vm/memory/card_table_r_s.cpp.i
index 29a89c0..6acd12b 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/memory/card_table_r_s.cpp.i and b/hotspot/.hg/store/data/src/share/vm/memory/card_table_r_s.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/memory/dump.cpp.i b/hotspot/.hg/store/data/src/share/vm/memory/dump.cpp.i
index 74f837c..4fe6c4c 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/memory/dump.cpp.i and b/hotspot/.hg/store/data/src/share/vm/memory/dump.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/memory/gen_collected_heap.cpp.i b/hotspot/.hg/store/data/src/share/vm/memory/gen_collected_heap.cpp.i
index 1bb11e9..b17fbec 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/memory/gen_collected_heap.cpp.i and b/hotspot/.hg/store/data/src/share/vm/memory/gen_collected_heap.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/memory/gen_collected_heap.hpp.i b/hotspot/.hg/store/data/src/share/vm/memory/gen_collected_heap.hpp.i
index 9a5d8ad..c5c2dd4 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/memory/gen_collected_heap.hpp.i and b/hotspot/.hg/store/data/src/share/vm/memory/gen_collected_heap.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/memory/generation.hpp.i b/hotspot/.hg/store/data/src/share/vm/memory/generation.hpp.i
index 5a31e0d..7ea84ae 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/memory/generation.hpp.i and b/hotspot/.hg/store/data/src/share/vm/memory/generation.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/memory/reference_processor.cpp.i b/hotspot/.hg/store/data/src/share/vm/memory/reference_processor.cpp.i
index 4264676..b5323b7 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/memory/reference_processor.cpp.i and b/hotspot/.hg/store/data/src/share/vm/memory/reference_processor.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/memory/reference_processor.hpp.i b/hotspot/.hg/store/data/src/share/vm/memory/reference_processor.hpp.i
index 2d2396f..eb62e3d 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/memory/reference_processor.hpp.i and b/hotspot/.hg/store/data/src/share/vm/memory/reference_processor.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/memory/shared_heap.cpp.i b/hotspot/.hg/store/data/src/share/vm/memory/shared_heap.cpp.i
index 77e0477..441b727 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/memory/shared_heap.cpp.i and b/hotspot/.hg/store/data/src/share/vm/memory/shared_heap.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/memory/shared_heap.hpp.i b/hotspot/.hg/store/data/src/share/vm/memory/shared_heap.hpp.i
index 0953416..10b993e 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/memory/shared_heap.hpp.i and b/hotspot/.hg/store/data/src/share/vm/memory/shared_heap.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/memory/space.cpp.i b/hotspot/.hg/store/data/src/share/vm/memory/space.cpp.i
index b5a3316..aebb593 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/memory/space.cpp.i and b/hotspot/.hg/store/data/src/share/vm/memory/space.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/memory/space.hpp.i b/hotspot/.hg/store/data/src/share/vm/memory/space.hpp.i
index 879651e..b3479eb 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/memory/space.hpp.i and b/hotspot/.hg/store/data/src/share/vm/memory/space.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/oops/array_klass.hpp.i b/hotspot/.hg/store/data/src/share/vm/oops/array_klass.hpp.i
index 8c96715..8c4f385 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/oops/array_klass.hpp.i and b/hotspot/.hg/store/data/src/share/vm/oops/array_klass.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/oops/array_oop.cpp.i b/hotspot/.hg/store/data/src/share/vm/oops/array_oop.cpp.i
index e3ddeac..f7454d6 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/oops/array_oop.cpp.i and b/hotspot/.hg/store/data/src/share/vm/oops/array_oop.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/oops/array_oop.hpp.i b/hotspot/.hg/store/data/src/share/vm/oops/array_oop.hpp.i
index 682dc4e..09e1bf0 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/oops/array_oop.hpp.i and b/hotspot/.hg/store/data/src/share/vm/oops/array_oop.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/oops/instance_klass.cpp.i b/hotspot/.hg/store/data/src/share/vm/oops/instance_klass.cpp.i
index 9f90c94..4935531 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/oops/instance_klass.cpp.i and b/hotspot/.hg/store/data/src/share/vm/oops/instance_klass.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/oops/instance_klass.hpp.i b/hotspot/.hg/store/data/src/share/vm/oops/instance_klass.hpp.i
index dc9c303..0d76649 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/oops/instance_klass.hpp.i and b/hotspot/.hg/store/data/src/share/vm/oops/instance_klass.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/oops/instance_klass_klass.cpp.i b/hotspot/.hg/store/data/src/share/vm/oops/instance_klass_klass.cpp.i
index a902061..a746dcd 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/oops/instance_klass_klass.cpp.i and b/hotspot/.hg/store/data/src/share/vm/oops/instance_klass_klass.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/oops/klass.cpp.i b/hotspot/.hg/store/data/src/share/vm/oops/klass.cpp.i
index 3d90eeb..df5e10e 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/oops/klass.cpp.i and b/hotspot/.hg/store/data/src/share/vm/oops/klass.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/oops/klass.hpp.i b/hotspot/.hg/store/data/src/share/vm/oops/klass.hpp.i
index a330b7e..0f2dec5 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/oops/klass.hpp.i and b/hotspot/.hg/store/data/src/share/vm/oops/klass.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/oops/klass_oop.hpp.i b/hotspot/.hg/store/data/src/share/vm/oops/klass_oop.hpp.i
index 6c49584..ec94d5c 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/oops/klass_oop.hpp.i and b/hotspot/.hg/store/data/src/share/vm/oops/klass_oop.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/oops/method_klass.cpp.i b/hotspot/.hg/store/data/src/share/vm/oops/method_klass.cpp.i
index 8aa6892..1c1f49d 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/oops/method_klass.cpp.i and b/hotspot/.hg/store/data/src/share/vm/oops/method_klass.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/oops/method_oop.hpp.i b/hotspot/.hg/store/data/src/share/vm/oops/method_oop.hpp.i
index c7df991..576ff3c 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/oops/method_oop.hpp.i and b/hotspot/.hg/store/data/src/share/vm/oops/method_oop.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/oops/obj_array_klass.hpp.i b/hotspot/.hg/store/data/src/share/vm/oops/obj_array_klass.hpp.i
index 42ea66b..59df2c9 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/oops/obj_array_klass.hpp.i and b/hotspot/.hg/store/data/src/share/vm/oops/obj_array_klass.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/oops/obj_array_oop.hpp.i b/hotspot/.hg/store/data/src/share/vm/oops/obj_array_oop.hpp.i
index 807ce34..23ce999 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/oops/obj_array_oop.hpp.i and b/hotspot/.hg/store/data/src/share/vm/oops/obj_array_oop.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/block.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/block.cpp.i
index 53ccc59..c4f8217 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/block.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/block.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/block.hpp.i b/hotspot/.hg/store/data/src/share/vm/opto/block.hpp.i
index 2242874..57cf66e 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/block.hpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/block.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/c2__globals.hpp.i b/hotspot/.hg/store/data/src/share/vm/opto/c2__globals.hpp.i
index c327973..1378048 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/c2__globals.hpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/c2__globals.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/call_generator.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/call_generator.cpp.i
index 44af5ff..2f69d45 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/call_generator.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/call_generator.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/call_generator.hpp.i b/hotspot/.hg/store/data/src/share/vm/opto/call_generator.hpp.i
index ce06af4..1c89898 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/call_generator.hpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/call_generator.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/callnode.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/callnode.cpp.i
index e3a0f1e..4278f7d 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/callnode.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/callnode.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/callnode.hpp.i b/hotspot/.hg/store/data/src/share/vm/opto/callnode.hpp.i
index c55abc8..88ff4ee 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/callnode.hpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/callnode.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/cfgnode.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/cfgnode.cpp.i
index 7b59839..87b708b 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/cfgnode.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/cfgnode.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/chaitin.hpp.i b/hotspot/.hg/store/data/src/share/vm/opto/chaitin.hpp.i
index 0e57b21..46b84f3 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/chaitin.hpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/chaitin.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/classes.hpp.i b/hotspot/.hg/store/data/src/share/vm/opto/classes.hpp.i
index a81abc9..f6e3124 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/classes.hpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/classes.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/compile.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/compile.cpp.i
index 97f041f..d18033d 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/compile.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/compile.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/compile.hpp.i b/hotspot/.hg/store/data/src/share/vm/opto/compile.hpp.i
index e39d9fb..4f6c044 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/compile.hpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/compile.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/do_call.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/do_call.cpp.i
index 3fbb13d..4c224e7 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/do_call.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/do_call.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/escape.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/escape.cpp.i
index 3834f5c..3a97c3e 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/escape.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/escape.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/escape.hpp.i b/hotspot/.hg/store/data/src/share/vm/opto/escape.hpp.i
index 635856b..2c46ff9 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/escape.hpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/escape.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/gcm.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/gcm.cpp.i
index da58013..4cf17f5 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/gcm.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/gcm.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/graph_kit.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/graph_kit.cpp.i
index e3e5992..4c6c4f7 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/graph_kit.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/graph_kit.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/ideal_graph_printer.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/ideal_graph_printer.cpp.i
index 8f26ae4..29f46e4 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/ideal_graph_printer.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/ideal_graph_printer.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/lcm.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/lcm.cpp.i
index 0686689..5fb0ba8 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/lcm.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/lcm.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/library__call.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/library__call.cpp.i
index 7ba3afa..c175086 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/library__call.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/library__call.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/locknode.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/locknode.cpp.i
index ef80c02..efb3490 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/locknode.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/locknode.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/locknode.hpp.i b/hotspot/.hg/store/data/src/share/vm/opto/locknode.hpp.i
index 85af295..06cf197 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/locknode.hpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/locknode.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/loopnode.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/loopnode.cpp.i
index 0834299..c27a216 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/loopnode.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/loopnode.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/loopnode.hpp.i b/hotspot/.hg/store/data/src/share/vm/opto/loopnode.hpp.i
index 19be719..f0e0d8d 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/loopnode.hpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/loopnode.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/loopopts.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/loopopts.cpp.i
index f08428a..023e63f 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/loopopts.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/loopopts.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/machnode.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/machnode.cpp.i
index 79e63cc..9d8d94c 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/machnode.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/machnode.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/machnode.hpp.i b/hotspot/.hg/store/data/src/share/vm/opto/machnode.hpp.i
index 065a134..fe949f8 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/machnode.hpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/machnode.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/macro.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/macro.cpp.i
index f3f3014..4b51ace 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/macro.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/macro.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/macro.hpp.i b/hotspot/.hg/store/data/src/share/vm/opto/macro.hpp.i
index 2cd1536..99b70e0 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/macro.hpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/macro.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/matcher.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/matcher.cpp.i
index 9a2f05b..c752b3f 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/matcher.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/matcher.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/matcher.hpp.i b/hotspot/.hg/store/data/src/share/vm/opto/matcher.hpp.i
index 2a41e9a..b168a2e 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/matcher.hpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/matcher.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/memnode.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/memnode.cpp.i
index 10e3387..1c85901 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/memnode.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/memnode.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/memnode.hpp.i b/hotspot/.hg/store/data/src/share/vm/opto/memnode.hpp.i
index c32a9ea..1456878 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/memnode.hpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/memnode.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/node.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/node.cpp.i
index 9292393..1d1d0c2 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/node.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/node.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/node.hpp.i b/hotspot/.hg/store/data/src/share/vm/opto/node.hpp.i
index 80febef..6f3b5ab 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/node.hpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/node.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/output.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/output.cpp.i
index 8732968..92735fc 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/output.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/output.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/parse1.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/parse1.cpp.i
index 209f582..6a27bf3 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/parse1.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/parse1.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/parse_helper.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/parse_helper.cpp.i
index cb09279..f92a38d 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/parse_helper.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/parse_helper.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/phase_x.hpp.i b/hotspot/.hg/store/data/src/share/vm/opto/phase_x.hpp.i
index 84b745d..4227f5f 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/phase_x.hpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/phase_x.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/postaloc.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/postaloc.cpp.i
index 1bb931b..dc36466 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/postaloc.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/postaloc.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/opto/subnode.cpp.i b/hotspot/.hg/store/data/src/share/vm/opto/subnode.cpp.i
index 64ac1d8..ec23deb 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/opto/subnode.cpp.i and b/hotspot/.hg/store/data/src/share/vm/opto/subnode.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/prims/jni.cpp.i b/hotspot/.hg/store/data/src/share/vm/prims/jni.cpp.i
index 29a3575..4932497 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/prims/jni.cpp.i and b/hotspot/.hg/store/data/src/share/vm/prims/jni.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/prims/jni_export.hpp.i b/hotspot/.hg/store/data/src/share/vm/prims/jni_export.hpp.i
new file mode 100644
index 0000000..56ac2d7
Binary files /dev/null and b/hotspot/.hg/store/data/src/share/vm/prims/jni_export.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/prims/jvm.cpp.i b/hotspot/.hg/store/data/src/share/vm/prims/jvm.cpp.i
index b0135b4..53876a5 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/prims/jvm.cpp.i and b/hotspot/.hg/store/data/src/share/vm/prims/jvm.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/prims/jvmti_class_file_reconstituter.cpp.i b/hotspot/.hg/store/data/src/share/vm/prims/jvmti_class_file_reconstituter.cpp.i
index ab13e90..0455e3a 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/prims/jvmti_class_file_reconstituter.cpp.i and b/hotspot/.hg/store/data/src/share/vm/prims/jvmti_class_file_reconstituter.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/prims/jvmti_class_file_reconstituter.hpp.i b/hotspot/.hg/store/data/src/share/vm/prims/jvmti_class_file_reconstituter.hpp.i
index ffa7b67..bde349a 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/prims/jvmti_class_file_reconstituter.hpp.i and b/hotspot/.hg/store/data/src/share/vm/prims/jvmti_class_file_reconstituter.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/prims/jvmti_env.cpp.i b/hotspot/.hg/store/data/src/share/vm/prims/jvmti_env.cpp.i
index cc9623a..2dd7c1d 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/prims/jvmti_env.cpp.i and b/hotspot/.hg/store/data/src/share/vm/prims/jvmti_env.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/prims/jvmti_export.cpp.i b/hotspot/.hg/store/data/src/share/vm/prims/jvmti_export.cpp.i
index e1df4dc..333e2be 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/prims/jvmti_export.cpp.i and b/hotspot/.hg/store/data/src/share/vm/prims/jvmti_export.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/prims/jvmti_redefine_classes.cpp.i b/hotspot/.hg/store/data/src/share/vm/prims/jvmti_redefine_classes.cpp.i
index 66279f5..52cf005 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/prims/jvmti_redefine_classes.cpp.i and b/hotspot/.hg/store/data/src/share/vm/prims/jvmti_redefine_classes.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/prims/method_handles.cpp.i b/hotspot/.hg/store/data/src/share/vm/prims/method_handles.cpp.i
index af04469..eb09f4d 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/prims/method_handles.cpp.i and b/hotspot/.hg/store/data/src/share/vm/prims/method_handles.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/prims/method_handles.hpp.i b/hotspot/.hg/store/data/src/share/vm/prims/method_handles.hpp.i
index b51551a..9899f1e 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/prims/method_handles.hpp.i and b/hotspot/.hg/store/data/src/share/vm/prims/method_handles.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/advanced_threshold_policy.cpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/advanced_threshold_policy.cpp.i
index 5968831..76fb8de 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/advanced_threshold_policy.cpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/advanced_threshold_policy.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/arguments.cpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/arguments.cpp.i
index 96a2799..07a5357 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/arguments.cpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/arguments.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/deoptimization.cpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/deoptimization.cpp.i
index f6f5b54..2bb1238 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/deoptimization.cpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/deoptimization.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/frame.cpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/frame.cpp.i
index 4f154dd..9e74d5b 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/frame.cpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/frame.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/frame.hpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/frame.hpp.i
index 9d48cd8..df38bcf 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/frame.hpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/frame.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/globals.cpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/globals.cpp.i
index 47ed052..4a27bb8 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/globals.cpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/globals.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/globals.hpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/globals.hpp.i
index 8a97b3e..260eb69 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/globals.hpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/globals.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/globals__ext.hpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/globals__ext.hpp.i
new file mode 100644
index 0000000..2bc55b3
Binary files /dev/null and b/hotspot/.hg/store/data/src/share/vm/runtime/globals__ext.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/globals__extension.hpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/globals__extension.hpp.i
index 0f10fcc..64a10a1 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/globals__extension.hpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/globals__extension.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/init.cpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/init.cpp.i
index 3391e55..ae6a430 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/init.cpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/init.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/java.cpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/java.cpp.i
index d5ef94b..20d7ae8 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/java.cpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/java.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/mutex.cpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/mutex.cpp.i
index 4c7012f..68623fb 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/mutex.cpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/mutex.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/mutex_locker.cpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/mutex_locker.cpp.i
index e8f4120..9b6f6f5 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/mutex_locker.cpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/mutex_locker.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/mutex_locker.hpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/mutex_locker.hpp.i
index a0878bd..f643325 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/mutex_locker.hpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/mutex_locker.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/os.cpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/os.cpp.i
index 89c5144..9b9a092 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/os.cpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/os.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/os.hpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/os.hpp.i
index e7c0fc6..3314b8b 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/os.hpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/os.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/os__ext.hpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/os__ext.hpp.i
new file mode 100644
index 0000000..9d7ea8e
Binary files /dev/null and b/hotspot/.hg/store/data/src/share/vm/runtime/os__ext.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/shared_runtime.cpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/shared_runtime.cpp.i
index 7654066..94cb274 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/shared_runtime.cpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/shared_runtime.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/simple_threshold_policy.cpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/simple_threshold_policy.cpp.i
index 5e488cd..a89f1f4 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/simple_threshold_policy.cpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/simple_threshold_policy.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/simple_threshold_policy.hpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/simple_threshold_policy.hpp.i
index 41b6e9a..bc9c6e8 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/simple_threshold_policy.hpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/simple_threshold_policy.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/thread.cpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/thread.cpp.i
index 4a2faa2..78e06cb 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/thread.cpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/thread.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/thread.hpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/thread.hpp.i
index 839e735..b774583 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/thread.hpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/thread.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/vm__operations.hpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/vm__operations.hpp.i
index 71f790d..d3570c5 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/vm__operations.hpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/vm__operations.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/runtime/vm_structs.cpp.i b/hotspot/.hg/store/data/src/share/vm/runtime/vm_structs.cpp.i
index af3bdc6..09d7667 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/runtime/vm_structs.cpp.i and b/hotspot/.hg/store/data/src/share/vm/runtime/vm_structs.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/services/attach_listener.cpp.i b/hotspot/.hg/store/data/src/share/vm/services/attach_listener.cpp.i
index bda0c7e..0df1b4b 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/services/attach_listener.cpp.i and b/hotspot/.hg/store/data/src/share/vm/services/attach_listener.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/services/diagnostic_argument.cpp.i b/hotspot/.hg/store/data/src/share/vm/services/diagnostic_argument.cpp.i
new file mode 100644
index 0000000..f9d04fb
Binary files /dev/null and b/hotspot/.hg/store/data/src/share/vm/services/diagnostic_argument.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/services/diagnostic_argument.hpp.i b/hotspot/.hg/store/data/src/share/vm/services/diagnostic_argument.hpp.i
new file mode 100644
index 0000000..b3e95ef
Binary files /dev/null and b/hotspot/.hg/store/data/src/share/vm/services/diagnostic_argument.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/services/diagnostic_command.cpp.i b/hotspot/.hg/store/data/src/share/vm/services/diagnostic_command.cpp.i
new file mode 100644
index 0000000..9915c43
Binary files /dev/null and b/hotspot/.hg/store/data/src/share/vm/services/diagnostic_command.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/services/diagnostic_command.hpp.i b/hotspot/.hg/store/data/src/share/vm/services/diagnostic_command.hpp.i
new file mode 100644
index 0000000..c792ee9
Binary files /dev/null and b/hotspot/.hg/store/data/src/share/vm/services/diagnostic_command.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/services/diagnostic_framework.cpp.i b/hotspot/.hg/store/data/src/share/vm/services/diagnostic_framework.cpp.i
new file mode 100644
index 0000000..8d8c31a
Binary files /dev/null and b/hotspot/.hg/store/data/src/share/vm/services/diagnostic_framework.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/services/diagnostic_framework.hpp.i b/hotspot/.hg/store/data/src/share/vm/services/diagnostic_framework.hpp.i
new file mode 100644
index 0000000..d1c5940
Binary files /dev/null and b/hotspot/.hg/store/data/src/share/vm/services/diagnostic_framework.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/services/jmm.h.i b/hotspot/.hg/store/data/src/share/vm/services/jmm.h.i
index a2ba644..6221262 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/services/jmm.h.i and b/hotspot/.hg/store/data/src/share/vm/services/jmm.h.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/services/management.cpp.i b/hotspot/.hg/store/data/src/share/vm/services/management.cpp.i
index c5e994f..4f4040e 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/services/management.cpp.i and b/hotspot/.hg/store/data/src/share/vm/services/management.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/services/management.hpp.i b/hotspot/.hg/store/data/src/share/vm/services/management.hpp.i
index ffc4dde..a1990f2 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/services/management.hpp.i and b/hotspot/.hg/store/data/src/share/vm/services/management.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/services/memory_manager.cpp.i b/hotspot/.hg/store/data/src/share/vm/services/memory_manager.cpp.i
index b954a29..487cd0e 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/services/memory_manager.cpp.i and b/hotspot/.hg/store/data/src/share/vm/services/memory_manager.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/services/thread_service.cpp.i b/hotspot/.hg/store/data/src/share/vm/services/thread_service.cpp.i
index 96043e6..4fae6ec 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/services/thread_service.cpp.i and b/hotspot/.hg/store/data/src/share/vm/services/thread_service.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/shark/shark_intrinsics.cpp.i b/hotspot/.hg/store/data/src/share/vm/shark/shark_intrinsics.cpp.i
index 31d40df..80bee2f 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/shark/shark_intrinsics.cpp.i and b/hotspot/.hg/store/data/src/share/vm/shark/shark_intrinsics.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/shark/shark_top_level_block.cpp.i b/hotspot/.hg/store/data/src/share/vm/shark/shark_top_level_block.cpp.i
index 59b0352..80b774c 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/shark/shark_top_level_block.cpp.i and b/hotspot/.hg/store/data/src/share/vm/shark/shark_top_level_block.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/trace/trace_event_types.hpp.i b/hotspot/.hg/store/data/src/share/vm/trace/trace_event_types.hpp.i
new file mode 100644
index 0000000..98f1ee7
Binary files /dev/null and b/hotspot/.hg/store/data/src/share/vm/trace/trace_event_types.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/trace/trace_macros.hpp.i b/hotspot/.hg/store/data/src/share/vm/trace/trace_macros.hpp.i
new file mode 100644
index 0000000..da486b5
Binary files /dev/null and b/hotspot/.hg/store/data/src/share/vm/trace/trace_macros.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/trace/tracing.hpp.i b/hotspot/.hg/store/data/src/share/vm/trace/tracing.hpp.i
new file mode 100644
index 0000000..7921cf3
Binary files /dev/null and b/hotspot/.hg/store/data/src/share/vm/trace/tracing.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/utilities/decoder.cpp.i b/hotspot/.hg/store/data/src/share/vm/utilities/decoder.cpp.i
index 6c16849..9eccb7f 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/utilities/decoder.cpp.i and b/hotspot/.hg/store/data/src/share/vm/utilities/decoder.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/utilities/decoder.hpp.i b/hotspot/.hg/store/data/src/share/vm/utilities/decoder.hpp.i
index 945d203..f213b67 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/utilities/decoder.hpp.i and b/hotspot/.hg/store/data/src/share/vm/utilities/decoder.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/utilities/decoder__elf.cpp.i b/hotspot/.hg/store/data/src/share/vm/utilities/decoder__elf.cpp.i
new file mode 100644
index 0000000..2baf39d
Binary files /dev/null and b/hotspot/.hg/store/data/src/share/vm/utilities/decoder__elf.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/utilities/decoder__elf.hpp.i b/hotspot/.hg/store/data/src/share/vm/utilities/decoder__elf.hpp.i
new file mode 100644
index 0000000..726b470
Binary files /dev/null and b/hotspot/.hg/store/data/src/share/vm/utilities/decoder__elf.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/utilities/elf_file.cpp.i b/hotspot/.hg/store/data/src/share/vm/utilities/elf_file.cpp.i
index 2394551..504e43a 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/utilities/elf_file.cpp.i and b/hotspot/.hg/store/data/src/share/vm/utilities/elf_file.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/utilities/elf_file.hpp.i b/hotspot/.hg/store/data/src/share/vm/utilities/elf_file.hpp.i
index 43c1f2d..8e4c0e0 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/utilities/elf_file.hpp.i and b/hotspot/.hg/store/data/src/share/vm/utilities/elf_file.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/utilities/elf_string_table.cpp.i b/hotspot/.hg/store/data/src/share/vm/utilities/elf_string_table.cpp.i
index d715d03..36fa52b 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/utilities/elf_string_table.cpp.i and b/hotspot/.hg/store/data/src/share/vm/utilities/elf_string_table.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/utilities/elf_string_table.hpp.i b/hotspot/.hg/store/data/src/share/vm/utilities/elf_string_table.hpp.i
index 527b755..f8f532f 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/utilities/elf_string_table.hpp.i and b/hotspot/.hg/store/data/src/share/vm/utilities/elf_string_table.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/utilities/elf_symbol_table.cpp.i b/hotspot/.hg/store/data/src/share/vm/utilities/elf_symbol_table.cpp.i
index 3276573..7c1c807 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/utilities/elf_symbol_table.cpp.i and b/hotspot/.hg/store/data/src/share/vm/utilities/elf_symbol_table.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/utilities/elf_symbol_table.hpp.i b/hotspot/.hg/store/data/src/share/vm/utilities/elf_symbol_table.hpp.i
index 4e6b756..b34825c 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/utilities/elf_symbol_table.hpp.i and b/hotspot/.hg/store/data/src/share/vm/utilities/elf_symbol_table.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/utilities/global_definitions.hpp.i b/hotspot/.hg/store/data/src/share/vm/utilities/global_definitions.hpp.i
index cb5d8b9..9a425c5 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/utilities/global_definitions.hpp.i and b/hotspot/.hg/store/data/src/share/vm/utilities/global_definitions.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/utilities/ostream.cpp.i b/hotspot/.hg/store/data/src/share/vm/utilities/ostream.cpp.i
index 9b6c05e..97a79ab 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/utilities/ostream.cpp.i and b/hotspot/.hg/store/data/src/share/vm/utilities/ostream.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/utilities/quick_sort.cpp.i b/hotspot/.hg/store/data/src/share/vm/utilities/quick_sort.cpp.i
index 42c6cb0..9bba51e 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/utilities/quick_sort.cpp.i and b/hotspot/.hg/store/data/src/share/vm/utilities/quick_sort.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/utilities/quick_sort.hpp.i b/hotspot/.hg/store/data/src/share/vm/utilities/quick_sort.hpp.i
index 38f22c3..44cf3e1 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/utilities/quick_sort.hpp.i and b/hotspot/.hg/store/data/src/share/vm/utilities/quick_sort.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/utilities/vm_error.cpp.i b/hotspot/.hg/store/data/src/share/vm/utilities/vm_error.cpp.i
index 3365591..d78ede4 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/utilities/vm_error.cpp.i and b/hotspot/.hg/store/data/src/share/vm/utilities/vm_error.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/utilities/workgroup.cpp.i b/hotspot/.hg/store/data/src/share/vm/utilities/workgroup.cpp.i
index c7a80dc..8c1277c 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/utilities/workgroup.cpp.i and b/hotspot/.hg/store/data/src/share/vm/utilities/workgroup.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/utilities/workgroup.hpp.i b/hotspot/.hg/store/data/src/share/vm/utilities/workgroup.hpp.i
index 0f5bb82..511c492 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/utilities/workgroup.hpp.i and b/hotspot/.hg/store/data/src/share/vm/utilities/workgroup.hpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/utilities/yielding_workgroup.cpp.i b/hotspot/.hg/store/data/src/share/vm/utilities/yielding_workgroup.cpp.i
index 6701c27..8f643f6 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/utilities/yielding_workgroup.cpp.i and b/hotspot/.hg/store/data/src/share/vm/utilities/yielding_workgroup.cpp.i differ
diff --git a/hotspot/.hg/store/data/src/share/vm/utilities/yielding_workgroup.hpp.i b/hotspot/.hg/store/data/src/share/vm/utilities/yielding_workgroup.hpp.i
index f7df910..437d50d 100644
Binary files a/hotspot/.hg/store/data/src/share/vm/utilities/yielding_workgroup.hpp.i and b/hotspot/.hg/store/data/src/share/vm/utilities/yielding_workgroup.hpp.i differ
diff --git a/hotspot/.hg/store/data/test/compiler/6792161/_test6792161.java.i b/hotspot/.hg/store/data/test/compiler/6792161/_test6792161.java.i
index 8eada46..485a15b 100644
Binary files a/hotspot/.hg/store/data/test/compiler/6792161/_test6792161.java.i and b/hotspot/.hg/store/data/test/compiler/6792161/_test6792161.java.i differ
diff --git a/hotspot/.hg/store/data/test/compiler/7110586/_test7110586.java.i b/hotspot/.hg/store/data/test/compiler/7110586/_test7110586.java.i
new file mode 100644
index 0000000..b2d6a4b
Binary files /dev/null and b/hotspot/.hg/store/data/test/compiler/7110586/_test7110586.java.i differ
diff --git a/hotspot/.hg/store/data/test/compiler/7116216/_large_frame.java.i b/hotspot/.hg/store/data/test/compiler/7116216/_large_frame.java.i
new file mode 100644
index 0000000..babb841
Binary files /dev/null and b/hotspot/.hg/store/data/test/compiler/7116216/_large_frame.java.i differ
diff --git a/hotspot/.hg/store/data/test/compiler/7116216/_stack_overflow.java.i b/hotspot/.hg/store/data/test/compiler/7116216/_stack_overflow.java.i
new file mode 100644
index 0000000..ab23e05
Binary files /dev/null and b/hotspot/.hg/store/data/test/compiler/7116216/_stack_overflow.java.i differ
diff --git a/hotspot/.hg/store/data/test/compiler/7123108/_test7123108.java.i b/hotspot/.hg/store/data/test/compiler/7123108/_test7123108.java.i
new file mode 100644
index 0000000..1d92e77
Binary files /dev/null and b/hotspot/.hg/store/data/test/compiler/7123108/_test7123108.java.i differ
diff --git a/hotspot/.hg/store/data/test/compiler/7125879/_test7125879.java.i b/hotspot/.hg/store/data/test/compiler/7125879/_test7125879.java.i
new file mode 100644
index 0000000..600813f
Binary files /dev/null and b/hotspot/.hg/store/data/test/compiler/7125879/_test7125879.java.i differ
diff --git a/hotspot/.hg/store/data/~2ehgtags.i b/hotspot/.hg/store/data/~2ehgtags.i
index 1b9b5f0..12500c6 100644
Binary files a/hotspot/.hg/store/data/~2ehgtags.i and b/hotspot/.hg/store/data/~2ehgtags.i differ
diff --git a/hotspot/.hg/store/fncache b/hotspot/.hg/store/fncache
index e24c03f..4c636a2 100644
--- a/hotspot/.hg/store/fncache
+++ b/hotspot/.hg/store/fncache
@@ -1,30 +1,28 @@
-data/src/share/vm/memory/universe.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCLoadInstruction.java.i
data/make/windows/projectfiles/compiler2/vm.def.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/amd64/RemoteAMD64ThreadContext.java.i
data/make/windows/platform_ia64.i
data/test/gc/6941923/test6941923.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9IntRegisterBranchDecoder.java.i
data/agent/src/scripts/README.i
-data/test/compiler/6636138/Test1.java.i
data/src/cpu/zero/vm/nativeInst_zero.hpp.i
data/src/cpu/zero/vm/vmreg_zero.cpp.i
data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/manifest.mf.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/memo/MemoizedByte.java.i
-data/src/share/vm/code/vmreg.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FlushDecoder.java.i
data/test/compiler/5091921/Test6897150.java.i
-data/src/share/vm/services/heapDumper.cpp.i
-data/src/share/vm/opto/subnode.cpp.i
+data/src/share/vm/opto/regalloc.cpp.i
+data/src/os_cpu/windows_x86/vm/os_windows_x86.inline.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/LineNumberVisitor.java.i
-data/agent/src/os/win32/Buffer.cpp.i
data/src/share/vm/shark/sharkFunction.hpp.i
data/test/compiler/5091921/Test6186134.java.i
+data/src/cpu/zero/vm/frame_zero.inline.hpp.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/HideAction.java.i
data/test/compiler/5091921/Test6850611.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9MOVrInstruction.java.i
-data/src/share/vm/oops/typeArrayKlass.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/InstructionVisitor.java.i
data/src/share/vm/utilities/quickSort.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/MarkBits.java.i
-data/src/share/vm/prims/jni.h.i
+data/test/Makefile.i
data/src/cpu/x86/vm/vm_version_x86.hpp.i
data/src/os/windows/vm/attachListener_windows.cpp.i
data/src/share/tools/IdealGraphVisualizer/RhinoScriptEngineProxy/build.xml.i
@@ -46,7 +44,7 @@ data/agent/src/os/linux/elfmacros.h.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FloatRegisters.java.i
data/src/os/windows/vm/osThread_windows.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/NonConcreteMethodImpl.java.i
-data/test/compiler/6716441/Tester.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/ui/ProcessListPanel.java.i
data/test/compiler/6805724/Test6805724.java.i
data/src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSGlobalPub.java.i
@@ -55,7 +53,7 @@ data/src/share/tools/IdealGraphVisualizer/RhinoScriptEngineProxy/src/com/sun/hot
data/build/linux/makefiles/adjust-mflags.sh.i
data/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/InstructionDecoder.java.i
-data/src/cpu/zero/vm/bytecodes_zero.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteOopHandle.java.i
data/src/os_cpu/solaris_sparc/vm/os_solaris_sparc.hpp.i
data/src/share/tools/IdealGraphVisualizer/branding/core/core.jar/org/netbeans/core/startup/frame.gif.i
data/src/os/windows/vm/os_windows.cpp.i
@@ -65,11 +63,11 @@ data/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGener
data/agent/src/share/classes/sun/jvm/hotspot/utilities/memo/MemoizedShort.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/tree/DoubleTreeNodeAdapter.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32Debugger.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/x86/X86ThreadContext.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/bugspot/StackTracePanel.java.i
data/make/linux/makefiles/sparc.make.i
data/make/solaris/makefiles/mapfile-vers.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32DebuggerLocal.java.i
-data/src/share/tools/MakeDeps/WinGammaPlatformVC8.java.i
+data/src/os/solaris/dtrace/libjvm_db.h.i
data/agent/make/heapdumpwindbg.bat.i
data/src/share/vm/runtime/hpi.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialRegisterInstruction.java.i
@@ -80,26 +78,29 @@ data/agent/src/os/solaris/dbx/proc_service_2.h.i
data/src/share/vm/services/gcNotifier.hpp.i
data/src/cpu/x86/vm/c1_FrameMap_x86.hpp.i
data/src/share/vm/shark/sharkStateScanner.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/x86/BsdX86ThreadContext.java.i
data/src/cpu/x86/vm/bytes_x86.hpp.i
data/src/share/vm/opto/adlcVMDeps.hpp.i
data/test/compiler/6663854/Test6663854.java.i
data/src/share/vm/runtime/perfData.cpp.i
data/src/share/vm/utilities/exceptions.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/compiler/OopMapStream.java.i
+data/src/os_cpu/solaris_x86/vm/threadLS_solaris_x86.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeWithKlass.java.i
data/make/jprt.config.i
+data/agent/test/jdi/runjdb.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/tools/jcore/PackageNameFilter.java.i
data/src/share/vm/code/dependencies.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/sparc/DbxSPARCThreadFactory.java.i
data/src/share/vm/gc_implementation/shared/gcPolicyCounters.cpp.i
-data/make/windows/makefiles/debug.make.i
+data/src/share/vm/trace/traceMacros.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/memo/MemoizedChar.java.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/actions/RemoveAction.java.i
data/src/share/vm/gc_implementation/parallelScavenge/vmPSOperations.hpp.i
-data/src/share/vm/utilities/yieldingWorkgroup.cpp.i
+data/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.hpp.i
data/src/share/tools/IdealGraphVisualizer/BatikSVGProxy/nbproject/project.xml.i
data/src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/layer.xml.i
-data/src/share/tools/IdealGraphVisualizer/ServerCompiler/nbproject/genfiles.properties.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DumpExports.java.i
data/agent/make/jsdbwindbg64.bat.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/AuxWeakExternalRecord.java.i
data/src/share/vm/classfile/resolutionErrors.hpp.i
@@ -111,17 +112,15 @@ data/make/solaris/reorder.sh.i
data/src/share/tools/IdealGraphVisualizer/Layout/nbproject/genfiles.properties.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/DeadlockDetector.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64Register.java.i
-data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/InputEdge.java.i
data/src/share/vm/gc_implementation/shared/gcUtil.hpp.i
-data/src/share/vm/utilities/array.hpp.i
data/src/share/vm/c1/c1_Compiler.hpp.i
data/src/share/tools/IdealGraphVisualizer/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties.i
data/src/share/vm/ci/ciMethodBlocks.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/WorkerThread.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SpecialRegisters.java.i
+data/make/windows/get_msc_ver.sh.i
data/make/windows/projectfiles/kernel/vm.dsw.i
data/agent/src/share/classes/com/sun/java/swing/ui/OkCancelDialog.java.i
-data/src/share/vm/opto/memnode.cpp.i
+data/src/share/tools/IdealGraphVisualizer/Layout/nbproject/suite.properties.i
data/src/share/vm/prims/jvmtiEnvFill.java.i
data/src/share/vm/memory/defNewGeneration.inline.hpp.i
data/src/share/vm/utilities/bitMap.cpp.i
@@ -130,16 +129,14 @@ data/src/share/tools/IdealGraphVisualizer/ControlFlow/src/com/sun/hotspot/igv/co
data/make/bsd/platform_i486.suncc.i
data/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.inline.hpp.i
data/src/share/vm/runtime/threadLocalStorage.hpp.i
-data/src/share/vm/code/location.hpp.i
data/src/os/solaris/vm/os_solaris.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlassKlass.java.i
data/src/share/vm/adlc/dfa.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/NotInHeapException.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/tree/CStringTreeNodeAdapter.java.i
-data/make/solaris/makefiles/reorder_CORE_i486.i
+data/build/windows/makefiles/debug.make.i
data/src/share/tools/IdealGraphVisualizer/Util/manifest.mf.i
-data/src/share/vm/memory/gcLocker.cpp.i
-data/src/share/vm/shark/sharkNativeWrapper.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/ci/ciMethodKlass.java.i
data/build/windows/projectfiles/compiler1/Makefile.i
data/src/share/vm/gc_implementation/shared/gSpaceCounters.cpp.i
data/src/share/vm/runtime/perfMemory.hpp.i
@@ -148,15 +145,15 @@ data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSSrcL
data/agent/src/share/classes/sun/jvm/hotspot/oops/ArrayData.java.i
data/src/share/vm/memory/genOopClosures.hpp.i
data/make/solaris/makefiles/amd64.make.i
-data/src/share/tools/IdealGraphVisualizer/Util/src/com/sun/hotspot/igv/util/Bundle.properties.i
+data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/ChangedListener.java.i
data/agent/src/share/classes/sun/jvm/hotspot/code/CodeBlob.java.i
data/src/share/vm/ci/ciNullObject.hpp.i
+data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/FilterChainProviderImplementation.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/ClassConstants.java.i
-data/src/share/vm/runtime/globals.hpp.i
data/src/share/vm/runtime/init.hpp.i
-data/agent/src/os/win32/SwDbgSrv.dsw.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRegisterType.java.i
data/src/share/vm/code/scopeDesc.cpp.i
-data/src/share/vm/runtime/fprofiler.hpp.i
+data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/Bundle.properties.i
data/src/share/tools/IdealGraphVisualizer/Bytecodes/nbproject/project.properties.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCMemoryInstruction.java.i
data/src/share/vm/oops/symbolOop.hpp.i
@@ -166,43 +163,45 @@ data/make/windows/build.make.i
data/src/share/vm/prims/jvmtiCodeBlobEvents.cpp.i
data/src/share/tools/IdealGraphVisualizer/Bytecodes/src/com/sun/hotspot/igv/bytecodes/BytecodeViewAction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/solaris_x86/SolarisX86JavaThreadPDAccess.java.i
-data/build/solaris/makefiles/hp1.make.i
data/src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64Helper.java.i
data/agent/make/jhistoproc.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/amd64/ProcAMD64ThreadFactory.java.i
data/src/share/vm/memory/genRemSet.cpp.i
data/src/share/vm/runtime/reflectionUtils.cpp.i
+data/agent/test/jdi/serialvm.java.i
data/src/share/vm/opto/memnode.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPArithmeticDecoder.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86XMMRegister.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicBaseClass.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/ia64/WindbgIA64ThreadFactory.java.i
+data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/FilterNode.java.i
data/src/share/vm/runtime/os.cpp.i
data/build/solaris/makefiles/buildtree.make.i
+data/src/share/tools/IdealGraphVisualizer/Settings/src/com/sun/hotspot/igv/settings/Bundle.properties.i
data/agent/make/index.html.i
data/make/bsd/makefiles/mapfile-vers-jsig.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/JvmtiAgentThread.java.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/images/removeall.gif.i
data/src/share/vm/opto/phaseX.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/runtime/Frame.java.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeWithCPIndex.java.i
data/src/os/bsd/dtrace/hs_private.d.i
-data/agent/make/pstackwindbg.bat.i
+data/src/os_cpu/linux_x86/vm/prefetch_linux_x86.inline.hpp.i
data/agent/test/libproc/Makefile.i
-data/agent/make/heapdumpproc64.sh.i
-data/src/cpu/sparc/vm/c2_globals_sparc.hpp.i
-data/src/share/vm/memory/filemap.cpp.i
+data/make/solaris/makefiles/reorder_COMPILER2_sparc.i
+data/src/share/vm/gc_implementation/g1/survRateGroup.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeMultiANewArray.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/prims/JvmtiExport.java.i
-data/src/share/tools/MakeDeps/DirectoryTree.java.i
-data/agent/src/os/linux/ps_core.c.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSaveInstruction.java.i
+data/src/share/vm/c1/c1_CodeStubs.hpp.i
+data/src/share/vm/gc_implementation/parNew/parGCAllocBuffer.hpp.i
data/src/os/bsd/vm/decoder_bsd.cpp.i
data/agent/test/jdi/runsa.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/JmplDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/resources/triangle.png.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSSrcModule.java.i
data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/ConnectionFilter.java.i
data/src/share/vm/memory/barrierSet.cpp.i
-data/src/share/vm/gc_implementation/g1/g1AllocRegion.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcThreadFactory.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxOopHandle.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DLLCharacteristics.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32CDebugger.java.i
data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/ChangedEvent.java.i
@@ -214,43 +213,40 @@ data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/SectionFlags.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/CompressedLineNumberReadStream.java.i
data/src/cpu/x86/vm/globals_x86.hpp.i
-data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/images/expand.gif.i
-data/make/bsd/makefiles/ppc.make.i
-data/src/share/vm/utilities/array.cpp.i
+data/src/share/vm/shark/sharkFunction.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFlushInstruction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/VoidValueImpl.java.i
data/src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/DataSource.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolCacheKlass.java.i
data/src/share/vm/runtime/extendedPC.hpp.i
data/make/solaris/makefiles/build_vm_def.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/x86/WindbgX86Thread.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/amd64/RemoteAMD64Thread.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/JVMDIClassStatus.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicVoidType.java.i
data/test/compiler/5091921/Test7005594.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MMXRegister.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/amd64/WindbgAMD64Thread.java.i
data/src/share/vm/adlc/arena.hpp.i
data/src/os/windows/vm/dtraceJSDT_windows.cpp.i
data/make/linux/platform_sparc.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/action/FindCrashesAction.java.i
-data/src/share/vm/gc_implementation/shared/hSpaceCounters.hpp.i
+data/src/cpu/x86/vm/icache_x86.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/posix/elf/ELFHeader.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9FlushwInstruction.java.i
data/agent/make/hsdb.sh.i
-data/src/share/vm/opto/escape.cpp.i
+data/src/share/vm/runtime/relocator.cpp.i
data/src/share/vm/gc_implementation/shared/cSpaceCounters.hpp.i
data/src/share/vm/ci/ciTypeArrayKlassKlass.cpp.i
data/test/compiler/6896727/Test.java.i
-data/src/cpu/x86/vm/dump_x86_64.cpp.i
-data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/ExpandPredecessorsAction.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcAddress.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/types/JCharField.java.i
data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/Property.java.i
data/agent/src/os/solaris/proc/salibproc.h.i
data/src/os_cpu/bsd_x86/vm/vm_version_bsd_x86.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicCIntegerField.java.i
data/src/share/vm/runtime/park.cpp.i
data/src/share/vm/opto/c2_globals.cpp.i
-data/src/share/vm/runtime/relocator.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/BitData.java.i
+data/src/share/tools/launcher/wildcard.h.i
data/make/solaris/platform_sparcv9.i
data/src/share/tools/IdealGraphVisualizer/Util/src/com/sun/hotspot/igv/util/DoubleClickHandler.java.i
data/src/os_cpu/linux_x86/vm/os_linux_x86.cpp.i
@@ -260,29 +256,29 @@ data/agent/src/share/classes/sun/jvm/hotspot/memory/DictionaryEntry.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerServer.java.i
data/test/compiler/6946040/TestCharShortByteSwap.java.i
data/agent/src/share/classes/sun/jvm/hotspot/code/MonitorValue.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/UnimpDecoder.java.i
data/src/os/solaris/vm/decoder_solaris.cpp.i
data/src/share/vm/prims/jvmtiHpp.xsl.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/BasicHashtableEntry.java.i
+data/make/solaris/makefiles/top.make.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxThreadContextFactory.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/UnalignedAddressException.java.i
-data/src/os_cpu/solaris_x86/vm/orderAccess_solaris_x86.inline.hpp.i
+data/src/share/vm/adlc/formsopt.hpp.i
data/src/share/tools/IdealGraphVisualizer/ControlFlow/nbproject/project.properties.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxOopHandle.java.i
data/agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/AddressTreeNodeAdapter.java.i
-data/src/share/tools/IdealGraphVisualizer/ControlFlow/manifest.mf.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFloatRegisters.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/Method.java.i
data/agent/make/finalizerinfowindbg.bat.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64FloatRegister.java.i
data/src/cpu/sparc/vm/frame_sparc.inline.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/runtime/win32_ia64/Win32IA64JavaThreadPDAccess.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/TypeArrayKlassKlass.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/treetable/SimpleTreeTableModel.java.i
-data/src/share/tools/IdealGraphVisualizer/ControlFlow/src/com/sun/hotspot/igv/controlflow/BlockConnectionWidget.java.i
data/build/linux/makefiles/mapfile-vers-debug.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SegDescEnums.java.i
data/src/share/vm/classfile/classFileStream.cpp.i
data/build/solaris/makefiles/gcc.make.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/tree/OopTreeNodeAdapter.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/ui/ProcessListPanel.java.i
-data/src/share/vm/gc_implementation/parallelScavenge/vmPSOperations.cpp.i
+data/test/compiler/6716441/Tester.java.i
+data/src/share/vm/classfile/classFileStream.hpp.i
data/src/share/vm/memory/gcLocker.inline.hpp.i
data/build/linux/platform_sparc.i
data/agent/src/os/linux/salibelf.h.i
@@ -292,11 +288,11 @@ data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SpecialRegisterIns
data/src/share/vm/asm/codeBuffer.hpp.i
data/agent/src/share/classes/com/sun/java/swing/action/ActionManager.java.i
data/make/linux/makefiles/mapfile-vers-jsig.i
-data/agent/src/share/classes/sun/jvm/hotspot/ci/ciArrayKlassKlass.java.i
+data/src/share/tools/IdealGraphVisualizer/RhinoScriptEngineProxy/nbproject/genfiles.properties.i
data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/SplitFilter.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/CoprocessorDecoder.java.i
+data/agent/make/jcorewindbg64.bat.i
data/src/share/vm/runtime/java.cpp.i
-data/src/share/vm/opto/ifnode.cpp.i
+data/src/os/bsd/vm/osThread_bsd.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/DebuggerBase.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/CFrame.java.i
data/src/share/vm/gc_implementation/shared/generationCounters.hpp.i
@@ -317,24 +313,20 @@ data/make/linux/makefiles/shark.make.i
data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/ClusterOutputSlotNode.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/CompiledICHolder.java.i
data/src/os_cpu/windows_x86/vm/assembler_windows_x86.cpp.i
-data/src/share/vm/shark/sharkCacheDecache.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/posix/elf/ELFProgramHeader.java.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeGetPut.java.i
-data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/Bundle.properties.i
-data/src/share/vm/opto/parse.hpp.i
+data/src/os/windows/vm/interfaceSupport_windows.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java.i
-data/src/share/vm/oops/oop.psgc.inline.hpp.i
-data/src/os_cpu/solaris_sparc/vm/threadLS_solaris_sparc.hpp.i
-data/src/cpu/x86/vm/vmStructs_x86.hpp.i
+data/src/os/linux/vm/mutex_linux.inline.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceStoreDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgDebugger.java.i
data/src/os_cpu/windows_x86/vm/vmStructs_windows_x86.hpp.i
-data/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp.i
data/src/share/vm/gc_implementation/shared/concurrentGCThread.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/tools/ObjectHistogram.java.i
data/src/share/vm/oops/cpCacheKlass.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/amd64/AMD64CurrentFrameGuess.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SwapDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/code/NMethod.java.i
-data/src/share/tools/IdealGraphVisualizer/ServerCompiler/manifest.mf.i
data/src/share/vm/runtime/stubRoutines.cpp.i
data/src/cpu/x86/vm/debug_x86.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/FunctionType.java.i
@@ -345,9 +337,9 @@ data/src/os/bsd/vm/os_bsd.inline.hpp.i
data/src/share/vm/gc_implementation/shared/cSpaceCounters.cpp.i
data/make/solaris/platform_sparc.i
data/src/cpu/sparc/vm/assembler_sparc.hpp.i
-data/src/share/vm/services/memoryService.hpp.i
data/src/cpu/sparc/vm/disassembler_sparc.cpp.i
data/src/share/vm/oops/constantPoolKlass.cpp.i
+data/src/share/tools/IdealGraphVisualizer/Settings/src/com/sun/hotspot/igv/settings/ViewPanel.java.i
data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicFieldWrapper.java.i
data/agent/src/os/win32/nt4internals.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeFastIAccess0.java.i
@@ -356,13 +348,15 @@ data/src/share/vm/opto/live.hpp.i
data/src/share/tools/IdealGraphVisualizer/ServerCompiler/nbproject/suite.properties.i
data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/FilterSetting.java.i
data/src/share/vm/code/jvmticmlr.h.i
+data/agent/src/share/classes/sun/jvm/hotspot/ui/tree/SimpleTreeModel.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRegisters.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/COFFLineNumber.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCUnimpInstruction.java.i
data/test/compiler/6916644/Test6916644.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SegDesc.java.i
data/src/share/vm/runtime/synchronizer.hpp.i
-data/src/share/vm/gc_implementation/g1/bufferingOopClosure.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialRegisters.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/java_lang_Class.java.i
data/agent/test/jdi/sagtarg.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/LocalSym.java.i
data/agent/src/share/classes/com/sun/java/swing/action/DelegateAction.java.i
@@ -370,30 +364,32 @@ data/src/cpu/zero/vm/vm_version_zero.hpp.i
data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/JavaSE6ScriptEngine.java.i
data/src/cpu/x86/vm/interp_masm_x86_64.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/ServiceThread.java.i
-data/src/share/vm/memory/barrierSet.inline.hpp.i
+data/src/share/vm/gc_implementation/parNew/vmStructs_parNew.hpp.i
+data/src/os/windows/vm/mutex_windows.inline.hpp.i
data/src/share/vm/ci/ciSignature.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/RBTree.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceSwapDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/CompiledICHolderKlass.java.i
data/src/share/tools/IdealGraphVisualizer/Bytecodes/src/com/sun/hotspot/igv/bytecodes/Bundle.properties.i
-data/build/windows/makefiles/shared.make.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionSPARC32Bit.java.i
data/src/cpu/x86/vm/methodHandles_x86.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/OopUtilities.java.i
+data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogCleanupReader.java.i
data/build/windows/projectfiles/compiler1/vm.def.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/IntegerBranchDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/ArrayKlassKlass.java.i
data/src/share/vm/runtime/frame.cpp.i
data/src/share/vm/gc_implementation/g1/g1OopClosures.hpp.i
data/src/os/linux/vm/interfaceSupport_linux.hpp.i
-data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/InvertSelector.java.i
+data/src/share/vm/memory/tenuredGeneration.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SymbolEnums.java.i
data/build/solaris/makefiles/reorder_TIERED_amd64.i
data/agent/test/libproc/libproctest64.sh.i
data/src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.hpp.i
-data/src/share/vm/adlc/archDesc.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaField.java.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/MemRegion.java.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/LivenessAnalysis.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9Opcodes.java.i
data/src/share/vm/compiler/oopMap.cpp.i
data/agent/src/os/win32/toolHelp.hpp.i
data/src/share/tools/IdealGraphVisualizer/View/nbproject/project.xml.i
@@ -403,44 +399,44 @@ data/src/share/vm/ci/ciCallProfile.hpp.i
data/src/share/vm/interpreter/oopMapCache.hpp.i
data/src/share/vm/code/exceptionHandlerTable.cpp.i
data/agent/src/share/native/jvmdi/sa.dsw.i
-data/src/share/tools/IdealGraphVisualizer/View/nbproject/genfiles.properties.i
-data/src/share/vm/gc_implementation/g1/vmStructs_g1.hpp.i
+data/agent/make/dumpflagswindbg64.bat.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RegisterPart.java.i
data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicType.java.i
data/src/share/vm/oops/methodOop.hpp.i
-data/build/windows/makefiles/generated.make.i
-data/src/share/vm/memory/heapInspection.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/jdi/ValueContainer.java.i
+data/src/os_cpu/linux_zero/vm/threadLS_linux_zero.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFPMoveInstruction.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleSpace.java.i
+data/src/share/tools/IdealGraphVisualizer/Bytecodes/src/com/sun/hotspot/igv/bytecodes/BytecodeViewTopComponent.form.i
data/src/share/vm/memory/genRemSet.hpp.i
data/src/cpu/sparc/vm/interpreterGenerator_sparc.hpp.i
+data/src/share/vm/c1/c1_Runtime1.hpp.i
+data/src/share/vm/oops/instanceMirrorKlass.hpp.i
data/agent/src/os/linux/LinuxDebuggerLocal.c.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java.i
data/src/share/vm/ci/ciStreams.hpp.i
data/src/os/bsd/vm/vmError_bsd.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaMethod.java.i
data/src/share/vm/prims/jvmtiGen.java.i
-data/make/windows/makefiles/projectcreator.make.i
+data/agent/make/finalizerinfowindbg64.bat.i
data/src/os/solaris/vm/objectMonitor_solaris.cpp.i
data/src/share/vm/oops/constantPoolOop.cpp.i
data/test/runtime/6929067/invoke.c.i
data/src/share/vm/gc_implementation/shared/adaptiveSizePolicy.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicNarrowOopField.java.i
data/src/share/vm/memory/blockOffsetTable.hpp.i
-data/src/share/tools/IdealGraphVisualizer/Util/src/com/sun/hotspot/igv/util/ExtendedSatelliteComponent.java.i
data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/nbproject/platform.properties.i
data/agent/src/os/bsd/libproc_impl.h.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/sparc/DbxSPARCThreadContext.java.i
+data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/actions/DiffGraphCookie.java.i
data/src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp.i
data/test/compiler/6860469/Test.java.i
data/src/share/tools/IdealGraphVisualizer/ServerCompiler/nbproject/platform.properties.i
data/src/cpu/sparc/vm/stubRoutines_sparc.cpp.i
data/src/share/vm/gc_implementation/g1/heapRegionSets.cpp.i
data/agent/src/share/classes/images/toolbarButtonGraphics/general/Delete24.gif.i
-data/src/share/vm/prims/jvmtiEventController.hpp.i
+data/src/share/tools/IdealGraphVisualizer/nbproject/build-impl.xml.i
data/src/os/solaris/vm/dtraceJSDT_solaris.cpp.i
-data/src/cpu/sparc/vm/c1_FrameMap_sparc.cpp.i
data/build/linux/makefiles/vm.make.i
-data/src/share/vm/opto/loopTransform.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/PointerFinder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/c1/Runtime1.java.i
data/agent/src/os/solaris/proc/Makefile.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/sparc/SPARCFrame.java.i
@@ -448,7 +444,9 @@ data/src/share/vm/utilities/bitMap.hpp.i
data/src/share/vm/oops/symbol.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/code/ScopeValue.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/ConstMethodKlass.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/runtime/PerfMemory.java.i
+data/agent/src/os/win32/ioUtils.hpp.i
+data/make/bsd/makefiles/zero.make.i
+data/test/compiler/7048332/Test7048332.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/GlobalSym.java.i
data/src/share/vm/memory/allocation.inline.hpp.i
data/src/cpu/x86/vm/vm_version_x86_64.cpp.i
@@ -472,35 +470,34 @@ data/src/cpu/x86/vm/assembler_x86_64.inline.hpp.i
data/src/os/windows/vm/objectMonitor_windows.inline.hpp.i
data/src/share/tools/IdealGraphVisualizer/Settings/src/com/sun/hotspot/igv/settings/ViewOptionsCategory.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/JInternalFrameWrapper.java.i
-data/src/share/vm/classfile/vmSymbols.hpp.i
+data/agent/make/clhsdbwindbg64.bat.i
data/src/share/tools/IdealGraphVisualizer/Settings/nbproject/project.properties.i
data/src/share/vm/asm/codeBuffer.cpp.i
-data/src/cpu/x86/vm/stubRoutines_x86_64.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/types/CIntegerField.java.i
data/src/share/vm/c1/c1_globals.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/SymbolKlass.java.i
data/src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/tools/FinalizerInfo.java.i
data/src/share/vm/gc_implementation/g1/g1MarkSweep.hpp.i
data/src/share/vm/gc_implementation/g1/dirtyCardQueue.hpp.i
data/src/share/vm/shark/sharkValue.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MMXRegisters.java.i
data/build/windows/jvmexp.lcf.i
-data/agent/src/share/classes/sun/jvm/hotspot/memory/FreeChunk.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/WindowsNTSubsystem.java.i
data/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.inline.hpp.i
data/agent/make/bugspot.bat.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicNamedFieldIdentifier.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/Page.java.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/TypeImpl.java.i
data/src/share/vm/prims/methodHandles.hpp.i
-data/src/share/vm/runtime/deoptimization.cpp.i
data/src/share/vm/runtime/reflection.hpp.i
-data/src/share/vm/runtime/simpleThresholdPolicy.inline.hpp.i
+data/src/cpu/sparc/vm/vmreg_sparc.hpp.i
data/src/cpu/x86/vm/vmreg_x86.hpp.i
data/agent/src/os/linux/libproc_impl.h.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/COFFFile.java.i
data/src/os/bsd/vm/os_share_bsd.hpp.i
data/src/os_cpu/bsd_zero/vm/vmStructs_bsd_zero.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSPreComp.java.i
-data/make/linux/makefiles/debug.make.i
data/src/share/vm/c1/c1_Compiler.cpp.i
data/src/share/vm/memory/generationSpec.hpp.i
data/make/linux/makefiles/dtrace.make.i
@@ -508,12 +505,12 @@ data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeVisitor.java.i
data/make/cscope.make.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/amd64/WindbgAMD64ThreadContext.java.i
data/src/os/solaris/vm/attachListener_solaris.cpp.i
+data/make/bsd/makefiles/defs.make.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/amd64/RemoteAMD64ThreadFactory.java.i
data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/removeRootInputs.filter.i
data/src/share/vm/utilities/elfStringTable.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/LineInfo.java.i
data/make/linux/makefiles/vm.make.i
-data/src/share/vm/gc_implementation/shared/coTracker.cpp.i
data/src/share/vm/oops/cpCacheKlass.cpp.i
data/src/share/vm/runtime/stackValueCollection.hpp.i
data/agent/src/os/solaris/dbx/svc_agent_dbx.cpp.i
@@ -526,23 +523,24 @@ data/src/share/vm/interpreter/invocationCounter.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/PageCache.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCIllegalInstruction.java.i
data/src/share/vm/oops/methodKlass.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/LivenessPathElement.java.i
data/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/parallelScavenge/ParallelScavengeHeap.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/ShortField.java.i
-data/src/share/vm/shark/sharkState.hpp.i
+data/build/sa.files.i
data/agent/src/os/bsd/Makefile.i
data/src/cpu/sparc/vm/disassembler_sparc.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/ArrayKlass.java.i
data/build/solaris/makefiles/tiered.make.i
-data/agent/src/share/classes/sun/jvm/hotspot/memory/CompactingPermGen.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/InterpretedVFrame.java.i
data/src/os_cpu/windows_x86/vm/os_windows_x86.cpp.i
data/src/cpu/x86/vm/vtableStubs_x86_32.cpp.i
+data/src/share/vm/utilities/decoder_elf.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/IntegerValueImpl.java.i
data/make/solaris/platform_i486.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SethiDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/ReferenceTypeImpl.java.i
data/agent/src/share/classes/sun/jvm/hotspot/tools/HeapDumper.java.i
-data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/services/GroupCallback.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86JmpInstruction.java.i
data/src/share/vm/opto/domgraph.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/StringTransferable.java.i
data/build/windows/makefiles/fastdebug.make.i
@@ -550,6 +548,8 @@ data/agent/src/share/classes/sun/jvm/hotspot/runtime/CompiledVFrame.java.i
data/agent/src/os/win32/nt4internals.hpp.i
data/src/share/vm/runtime/vframeArray.hpp.i
data/src/share/vm/runtime/stubRoutines.hpp.i
+data/agent/make/jsdbwindbg.bat.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/DLL.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java.i
data/src/share/vm/runtime/stackValueCollection.cpp.i
data/agent/make/start-debug-server.i
@@ -559,16 +559,15 @@ data/src/share/vm/prims/methodComparator.hpp.i
data/make/windows/create_obj_files.sh.i
data/src/cpu/x86/vm/dump_x86_32.cpp.i
data/src/share/vm/oops/objArrayKlass.hpp.i
-data/src/share/vm/memory/oopFactory.cpp.i
-data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/color.filter.i
+data/build/solaris/makefiles/hp1.make.i
data/src/share/tools/IdealGraphVisualizer/ControlFlow/build.xml.i
data/agent/src/share/classes/com/sun/java/swing/action/FileMenu.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86DirectAddress.java.i
+data/agent/make/dumpflagsproc64.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeStream.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/VMObjectFactory.java.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/CheckNodeListModel.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/TestDebugInfo.java.i
-data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/EditorTopComponent.form.i
+data/make/bsd/platform_zero.in.i
data/test/compiler/6724218/Test.java.i
data/build/windows/cross_build.bat.i
data/src/share/vm/oops/methodDataOop.hpp.i
@@ -582,18 +581,15 @@ data/src/cpu/zero/vm/templateInterpreterGenerator_zero.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50TypeLeafIndices.java.i
data/src/share/vm/memory/collectorPolicy.cpp.i
data/agent/src/os/solaris/dbx/shell_imp.h.i
-data/test/runtime/6626217/You_Have_Been_P0wned.java.i
data/build/windows/makefiles/top.make.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/DefaultScriptObject.java.i
data/build/solaris/makefiles/mapfile-vers-debug.i
-data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/InputSlot.java.i
-data/test/compiler/5091921/Test6959129.java.i
-data/test/compiler/6910618/Test.java.i
+data/src/cpu/x86/vm/frame_x86.hpp.i
+data/src/share/vm/classfile/classFileError.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/linux_x86/LinuxX86JavaThreadPDAccess.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/runtime/ObjectMonitor.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEMoveDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceLoadDecoder.java.i
data/src/os_cpu/bsd_x86/vm/atomic_bsd_x86.inline.hpp.i
-data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/MatcherSelector.java.i
data/src/share/vm/runtime/globals.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/bugspot/JavaLineNumberInfo.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/LocalVariableTableElement.java.i
@@ -608,11 +604,11 @@ data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeTableswitch.jav
data/src/share/vm/gc_implementation/shared/vmGCOperations.hpp.i
data/agent/src/os/win32/ports.h.i
data/src/share/vm/c1/c1_IR.hpp.i
-data/src/os_cpu/solaris_sparc/vm/threadLS_solaris_sparc.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ReturnInstruction.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64Registers.java.i
data/make/bsd/build.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Register.java.i
data/src/share/vm/gc_implementation/shared/markSweep.inline.hpp.i
-data/src/share/vm/gc_implementation/parNew/parGCAllocBuffer.cpp.i
data/src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/Dictionary.java.i
data/src/share/vm/runtime/memprofiler.hpp.i
@@ -625,43 +621,43 @@ data/agent/src/share/classes/sun/jvm/hotspot/gc_interface/CollectedHeapName.java
data/agent/src/os/bsd/elfmacros.h.i
data/src/share/vm/code/oopRecorder.cpp.i
data/agent/src/os/win32/Handler.hpp.i
+data/agent/src/os/win32/initWinsock.cpp.i
data/build/solaris/makefiles/jvmg.make.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32CDebugInfoBuilder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/code/RicochetBlob.java.i
data/make/windows/projectfiles/compiler1/Makefile.i
-data/src/share/vm/ci/ciSymbol.hpp.i
-data/src/cpu/sparc/vm/bytecodeInterpreter_sparc.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PrivilegedRegisterInstruction.java.i
-data/src/share/tools/IdealGraphVisualizer/ControlFlow/nbproject/genfiles.properties.i
+data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/actions/FilterAction.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/parallelScavenge/PSPermGen.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/memory/LinearAllocBlock.java.i
data/src/share/tools/IdealGraphVisualizer/Data/manifest.mf.i
data/build/solaris/makefiles/mapfile-vers-jvm_db.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FlushwDecoder.java.i
data/src/cpu/zero/vm/codeBuffer_zero.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCHelper.java.i
-data/build/linux/makefiles/launcher.make.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/PointerType.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/CheckedExceptionElement.java.i
data/src/share/vm/services/memoryUsage.hpp.i
data/src/cpu/zero/vm/bytecodeInterpreter_zero.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/ReversePtrsAnalysis.java.i
data/make/bsd/adlc_updater.i
+data/src/share/tools/IdealGraphVisualizer/Difference/manifest.mf.i
data/src/share/vm/ci/ciTypeArrayKlassKlass.hpp.i
data/src/share/vm/gc_implementation/parallelScavenge/psTasks.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/CompactingPermGenGen.java.i
data/src/share/vm/utilities/globalDefinitions_gcc.hpp.i
data/src/share/vm/c1/c1_Compilation.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/ParNewGeneration.java.i
-data/src/share/vm/code/scopeDesc.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64FloatRegisters.java.i
+data/build/solaris/makefiles/reorder_COMPILER2_i486.i
data/agent/src/share/classes/sun/jvm/hotspot/code/ConstantDoubleValue.java.i
data/src/share/vm/runtime/registerMap.hpp.i
data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/OrSelector.java.i
data/src/share/vm/utilities/decoder.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FPMoveDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV8Disassembler.java.i
-data/test/compiler/6832293/Test.java.i
-data/src/share/tools/IdealGraphVisualizer/Layout/src/com/sun/hotspot/igv/layout/Link.java.i
+data/test/compiler/7116216/StackOverflow.java.i
+data/src/share/vm/opto/phaseX.cpp.i
data/src/share/vm/runtime/vmStructs.hpp.i
data/src/share/tools/IdealGraphVisualizer/nbproject/project.properties.i
-data/src/share/tools/IdealGraphVisualizer/Bytecodes/src/com/sun/hotspot/igv/bytecodes/BytecodeViewTopComponent.form.i
data/src/share/vm/services/threadService.hpp.i
data/src/cpu/zero/vm/registerMap_zero.hpp.i
data/src/cpu/zero/vm/frame_zero.cpp.i
@@ -669,19 +665,20 @@ data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ImpdepInstruction.
data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/Event.java.i
data/agent/doc/transported_core.html.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/DirectAddress.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/x86/DbxX86Thread.java.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/CharTypeImpl.java.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/images/remove.gif.i
data/src/cpu/zero/vm/bytecodeInterpreter_zero.inline.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSOffsetMap32.java.i
data/make/solaris/makefiles/fastdebug.make.i
-data/agent/test/jdi/multivm.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/IntField.java.i
data/src/share/vm/gc_implementation/shared/generationCounters.cpp.i
data/src/share/vm/interpreter/interpreterGenerator.hpp.i
data/make/windows/build.bat.i
data/make/solaris/makefiles/product.make.i
data/agent/make/jstackproc64.sh.i
data/build/windows/makefiles/compile.make.i
-data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/Bundle.properties.i
+data/src/share/vm/Xusage.txt.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/StandardConfiguration.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/SectionHeader.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/DeadlockDetectionPanel.java.i
@@ -689,28 +686,30 @@ data/src/os/linux/vm/os_share_linux.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/LivenessPathList.java.i
data/src/cpu/zero/vm/interpreterGenerator_zero.hpp.i
data/build/solaris/reorder.sh.i
+data/src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp.i
data/make/windows/projectfiles/compiler1/vm.def.i
data/src/os_cpu/windows_x86/vm/thread_windows_x86.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicCFrame.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCLdstubInstruction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/resources/breakpoint.png.i
-data/src/cpu/x86/vm/copy_x86.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaTypeArrayKlass.java.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeGoto.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/Immediate.java.i
data/src/os/solaris/dtrace/generateJvmOffsets.cpp.i
data/src/os_cpu/solaris_x86/vm/atomic_solaris_x86.inline.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPStoreInstruction.java.i
-data/src/os/linux/vm/c1_globals_linux.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/runtime/VMReg.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/x86/RemoteX86ThreadFactory.java.i
data/src/cpu/sparc/vm/interpreterRT_sparc.cpp.i
-data/src/share/vm/gc_implementation/g1/heapRegion.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgThreadFactory.java.i
data/src/os_cpu/bsd_x86/vm/bsd_x86_32.ad.i
data/make/openjdk_distro.i
-data/src/share/vm/runtime/relocator.hpp.i
-data/src/share/tools/hsdis/README.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxThread.java.i
data/src/cpu/sparc/vm/jniTypes_sparc.hpp.i
data/src/cpu/sparc/vm/sparc.ad.i
data/src/share/tools/IdealGraphVisualizer/ControlFlow/src/com/sun/hotspot/igv/controlflow/ControlFlowTopComponent.form.i
-data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/actions/SaveFilterSettingsAction.java.i
+data/src/share/tools/IdealGraphVisualizer/ControlFlow/src/com/sun/hotspot/igv/controlflow/Bundle.properties.i
+data/src/cpu/x86/vm/vmreg_x86.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRegisterIndirectAddress.java.i
data/src/share/vm/opto/parse1.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/tree/RootTreeNodeAdapter.java.i
data/src/share/vm/services/memoryPool.cpp.i
@@ -720,15 +719,17 @@ data/agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxThreadFactory.java.
data/test/runtime/7100935/TestShortArraycopy.java.i
data/src/share/vm/gc_implementation/parallelScavenge/psScavenge.inline.hpp.i
data/src/share/tools/ProjectCreator/WinGammaPlatform.java.i
-data/src/cpu/sparc/vm/interpreter_sparc.hpp.i
data/test/compiler/6700047/Test6700047.java.i
data/agent/src/share/classes/META-INF/services/com.sun.jdi.connect.Connector.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/TenuredSpace.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FloatDecoder.java.i
data/build/solaris/makefiles/adlc.make.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/COFFSymbol.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/DebugEvent.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/ObjectListPanel.java.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/MethodCallable.java.i
-data/make/defs.make.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/RBColor.java.i
+data/src/os/windows/vm/c2_globals_windows.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/COFFFileParser.java.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/ContigPermSpace.java.i
data/src/share/vm/classfile/loaderConstraints.hpp.i
@@ -742,44 +743,47 @@ data/build/solaris/makefiles/cscope.make.i
data/src/share/vm/utilities/errorReporter.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/CodeViewerPanel.java.i
data/src/cpu/x86/vm/c2_init_x86.cpp.i
-data/test/compiler/6987555/Test6987555.java.i
+data/src/share/vm/opto/output.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/action/JavaStackTraceAction.java.i
-data/agent/test/jdi/jstack64.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/MirrorImpl.java.i
+data/src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionSPARC64Bit.java.i
data/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp.i
data/src/cpu/zero/vm/interpreterRT_zero.hpp.i
data/build/linux/makefiles/debug.make.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/resources/arrow.png.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaArrayKlass.java.i
data/agent/src/share/classes/sun/jvm/hotspot/DebugServer.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/runtime/JNIHandles.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/CDebugger.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugTypes.java.i
data/src/share/tools/ProjectCreator/Macro.java.i
data/src/share/vm/gc_implementation/shared/spaceDecorator.cpp.i
data/src/share/vm/code/compiledIC.hpp.i
-data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/FilterTopComponent.java.i
data/src/os_cpu/linux_x86/vm/bytes_linux_x86.inline.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/CPPExpressions.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/LoadObjectComparator.java.i
+data/make/README.i
data/test/compiler/5091921/Test6985295.java.i
data/src/share/vm/code/pcDesc.cpp.i
data/src/share/vm/gc_implementation/g1/g1RemSet.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicMemberFunctionType.java.i
data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/Timing.java.i
-data/src/share/vm/gc_implementation/g1/g1AllocRegion.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/ui/HeapParametersPanel.java.i
+data/make/solaris/makefiles/saproc.make.i
+data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/FilterTopComponentSettings.xml.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/images/hide.gif.i
-data/src/share/vm/services/lowMemoryDetector.hpp.i
-data/src/share/vm/gc_implementation/g1/g1_globals.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/ui/action/MemoryAction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/ClassBrowserPanel.java.i
-data/src/share/tools/IdealGraphVisualizer/Coordinator/nbproject/suite.properties.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/MethodData.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/SymbolLookup.java.i
data/build/solaris/makefiles/kernel.make.i
data/src/share/vm/adlc/main.cpp.i
-data/src/os/bsd/dtrace/libjvm_db.c.i
-data/test/runtime/6626217/Test6626217.sh.i
+data/src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.cpp.i
+data/src/cpu/zero/vm/stack_zero.cpp.i
+data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/actions/Bundle.properties.i
data/agent/src/os/win32/Dispatcher.cpp.i
data/src/share/tools/IdealGraphVisualizer/NetworkConnection/nbproject/project.xml.i
+data/build/linux/makefiles/i486.make.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/GrowableArray.java.i
data/src/share/tools/ProjectCreator/Util.java.i
data/src/cpu/sparc/vm/templateTable_sparc.cpp.i
@@ -787,17 +791,16 @@ data/src/os_cpu/solaris_x86/vm/thread_solaris_x86.hpp.i
data/agent/make/build.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/tools/FlagDumper.java.i
data/agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/FieldTreeNodeAdapter.java.i
-data/src/share/vm/classfile/loaderConstraints.cpp.i
-data/src/os_cpu/linux_x86/vm/assembler_linux_x86.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolCache.java.i
+data/src/cpu/zero/vm/interp_masm_zero.cpp.i
data/agent/test/libproc/README.i
data/agent/src/os/bsd/ps_proc.c.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/tree/LongTreeNodeAdapter.java.i
data/src/share/vm/opto/stringopts.hpp.i
data/test/compiler/6849574/Test.java.i
data/src/share/vm/gc_implementation/g1/heapRegionSet.inline.hpp.i
-data/src/share/vm/includeDB_gc_parallel.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/x86/RemoteX86Thread.java.i
-data/test/compiler/6880034/Test6880034.java.i
+data/src/os_cpu/linux_sparc/vm/atomic_linux_sparc.inline.hpp.i
data/src/os_cpu/bsd_zero/vm/assembler_bsd_zero.cpp.i
data/src/share/vm/runtime/hpi.cpp.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/images/down.gif.i
@@ -811,21 +814,19 @@ data/src/share/vm/runtime/sweeper.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/LocalVariableImpl.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/DoubleField.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpacePrefetchDecoder.java.i
-data/src/os_cpu/windows_x86/vm/copy_windows_x86.inline.hpp.i
+data/make/windows/README.i
data/src/os/linux/launcher/java_md.h.i
data/make/bsd/makefiles/debug.make.i
data/make/bsd/makefiles/sparc.make.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/ClassLoaderReferenceImpl.java.i
data/src/os_cpu/solaris_x86/vm/solaris_x86_64.ad.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/FunctionSym.java.i
data/make/linux/platform_ppc.i
-data/src/share/vm/services/memoryService.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9DoneRetryDecoder.java.i
data/make/bsd/makefiles/mapfile-vers-debug.i
data/make/linux/platform_i486.i
data/src/share/vm/runtime/stackValue.cpp.i
+data/src/os_cpu/bsd_x86/vm/os_bsd_x86.inline.hpp.i
data/src/share/vm/prims/jvmtiRedefineClasses.hpp.i
-data/src/share/tools/IdealGraphVisualizer/Settings/build.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/RBNode.java.i
data/src/share/vm/memory/universe.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/BaseClass.java.i
@@ -842,20 +843,20 @@ data/agent/src/share/classes/images/toolbarButtonGraphics/general/New24.gif.i
data/src/share/tools/IdealGraphVisualizer/Filter/nbproject/project.properties.i
data/src/share/vm/gc_interface/gcCause.cpp.i
data/src/os_cpu/solaris_x86/vm/vm_version_solaris_x86.cpp.i
-data/test/compiler/6837011/Test6837011.java.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/ShortTypeImpl.java.i
-data/src/share/vm/oops/typeArrayKlass.hpp.i
+data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/RemoveSelfLoopsFilter.java.i
data/src/share/vm/oops/objArrayOop.hpp.i
+data/src/os_cpu/linux_x86/vm/os_linux_x86.inline.hpp.i
data/src/cpu/sparc/vm/stubRoutines_sparc.hpp.i
data/src/share/tools/IdealGraphVisualizer/nbproject/project.xml.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RegisterIndirectAddress.java.i
-data/src/share/tools/IdealGraphVisualizer/NetworkConnection/src/com/sun/hotspot/igv/connection/Client.java.i
+data/src/share/vm/ci/ciExceptionHandler.cpp.i
data/src/share/tools/IdealGraphVisualizer/ControlFlow/src/com/sun/hotspot/igv/controlflow/BlockWidget.java.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/OutlineTopComponent.form.i
-data/src/cpu/zero/vm/stubRoutines_zero.hpp.i
+data/src/share/vm/oops/arrayOop.hpp.i
+data/src/share/vm/compiler/disassembler.cpp.i
data/src/os/linux/vm/os_linux.inline.hpp.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/widgets/SlotWidget.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicIntType.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRegister.java.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/TenuredGeneration.java.i
data/src/share/tools/IdealGraphVisualizer/Settings/manifest.mf.i
data/src/cpu/zero/vm/frame_zero.hpp.i
@@ -864,72 +865,73 @@ data/build/linux/Makefile.i
data/src/share/vm/ci/ciObjectFactory.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java.i
data/src/cpu/sparc/vm/registerMap_sparc.hpp.i
+data/make/bsd/makefiles/arm.make.i
data/src/share/tools/IdealGraphVisualizer/nbproject/platform.properties.i
data/src/os_cpu/windows_x86/vm/unwind_windows_x86.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCBranchInstruction.java.i
data/src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/code/PCDesc.java.i
-data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/SuccessorSelector.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionIntelX86.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/AuxSectionDefinitionsRecord.java.i
data/src/share/tools/IdealGraphVisualizer/Settings/nbproject/platform.properties.i
-data/agent/src/share/classes/sun/jvm/hotspot/ui/table/SortHeaderMouseAdapter.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/jdi/VoidTypeImpl.java.i
data/build/linux/makefiles/defs.make.i
data/src/share/vm/utilities/dtrace.hpp.i
data/src/share/vm/oops/oop.inline2.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/runtime/StackFrameStream.java.i
+data/src/os/solaris/vm/thread_solaris.inline.hpp.i
data/src/share/vm/c1/c1_FrameMap.cpp.i
data/src/share/tools/IdealGraphVisualizer/Util/nbproject/platform.properties.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/RegisterDecoder.java.i
-data/src/share/vm/gc_implementation/g1/heapRegionSet.cpp.i
+data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/images/saveall.gif.i
data/src/os_cpu/bsd_x86/vm/copy_bsd_x86.inline.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9MOVrDecoder.java.i
data/build/solaris/makefiles/reorder_COMPILER1_sparcv9.i
+data/src/cpu/zero/vm/stubGenerator_zero.cpp.i
data/src/share/vm/runtime/simpleThresholdPolicy.hpp.i
data/test/compiler/6865031/Test.java.i
data/agent/src/share/classes/sun/jvm/hotspot/livejvm/CIntegerAccessor.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/ui/ObjectHistogramPanel.java.i
-data/src/share/vm/compiler/abstractCompiler.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/NamedFieldIdentifier.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicJCharField.java.i
data/src/share/tools/IdealGraphVisualizer/Difference/nbproject/project.properties.i
-data/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegion.java.i
data/src/os/bsd/dtrace/generateJvmOffsetsMain.c.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/SignatureInfo.java.i
-data/src/cpu/x86/vm/codeBuffer_x86.hpp.i
+data/src/cpu/zero/vm/depChecker_zero.cpp.i
data/src/share/vm/oops/typeArrayOop.cpp.i
data/src/share/vm/runtime/globals_extension.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/tools/soql/JSDB.java.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/ThreadGroupReferenceImpl.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceStoreDecoder.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/GenerateOopMap.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MoveInstruction.java.i
data/agent/src/share/native/jvmdi/sa.dsp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/TestDebugger.java.i
data/agent/src/share/classes/sun/jvm/hotspot/types/JShortField.java.i
data/src/share/vm/services/attachListener.cpp.i
-data/src/cpu/sparc/vm/cppInterpreterGenerator_sparc.hpp.i
-data/agent/src/os/solaris/dbx/README.i
+data/src/share/vm/opto/locknode.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/tools/PermStat.java.i
data/src/os/windows/vm/globals_windows.hpp.i
data/make/jdk6_hotspot_distro.i
-data/build/solaris/makefiles/adjust-mflags.sh.i
-data/agent/src/share/classes/sun/jvm/hotspot/runtime/win32_amd64/Win32AMD64JavaThreadPDAccess.java.i
-data/src/share/tools/LogCompilation/README.i
-data/make/solaris/makefiles/mapfile-vers-TIERED.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/Array.java.i
+data/src/share/vm/libadt/vectset.cpp.i
data/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp.i
data/src/share/vm/ci/ciObjArrayKlassKlass.hpp.i
data/src/cpu/sparc/vm/nativeInst_sparc.cpp.i
-data/src/share/tools/IdealGraphVisualizer/Filter/nbproject/suite.properties.i
+data/make/solaris/makefiles/sparc.make.i
data/src/cpu/x86/vm/assembler_x86_32.cpp.i
-data/src/share/vm/code/icBuffer.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/ci/ciInstance.java.i
data/agent/src/share/classes/sun/jvm/hotspot/code/UncommonTrapBlob.java.i
data/src/share/tools/IdealGraphVisualizer/Settings/src/com/sun/hotspot/igv/settings/ViewPanel.form.i
data/src/cpu/zero/vm/vmreg_zero.hpp.i
data/src/share/vm/services/dtraceAttacher.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeNewArray.java.i
data/agent/make/heapdumpwindbg64.bat.i
+data/agent/src/share/classes/sun/jvm/hotspot/code/RuntimeStub.java.i
data/src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/FilterTopComponentWstcref.xml.i
data/src/share/vm/interpreter/interpreterRuntime.hpp.i
data/src/share/vm/gc_implementation/g1/g1MonitoringSupport.hpp.i
data/agent/src/os/win32/windbg/sawindbg.cpp.i
-data/src/share/vm/memory/generation.hpp.i
+data/src/os/solaris/vm/threadCritical_solaris.cpp.i
data/make/windows/makefiles/makedeps.make.i
data/src/share/tools/IdealGraphVisualizer/Bytecodes/src/com/sun/hotspot/igv/bytecodes/BytecodeViewTopComponent.java.i
data/src/share/vm/gc_implementation/g1/collectionSetChooser.cpp.i
@@ -938,27 +940,30 @@ data/agent/src/share/classes/com/sun/java/swing/action/HelpAction.java.i
data/src/share/vm/runtime/handles.inline.hpp.i
data/src/share/vm/gc_implementation/g1/g1MMUTracker.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/types/JBooleanField.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/FieldIdentifier.java.i
data/build/solaris/makefiles/reorder_CORE_i486.i
data/test/compiler/6792161/Test6792161.java.i
data/src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp.i
+data/test/compiler/7070134/words.i
data/src/share/vm/opto/addnode.hpp.i
data/src/share/vm/utilities/accessFlags.cpp.i
data/test/compiler/7041100/Test7041100.java.i
data/make/windows/projectfiles/compiler1/vm.dsw.i
+data/agent/make/pmapproc.sh.i
data/agent/make/dumpsyspropsproc64.sh.i
-data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/CheckNode.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaObjArray.java.i
data/src/os/solaris/vm/perfMemory_solaris.cpp.i
data/test/compiler/6795362/Test6795362.java.i
data/src/share/vm/runtime/sharedRuntime.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/MachSafePointNode.java.i
-data/src/share/vm/runtime/stackValue.hpp.i
-data/src/share/vm/code/vtableStubs.cpp.i
+data/src/share/tools/ProjectCreator/FileFormatException.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSLibraries.java.i
data/agent/src/os/linux/proc_service.h.i
data/src/share/vm/gc_implementation/shared/ageTable.cpp.i
data/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/SharedObject.java.i
-data/agent/src/share/classes/images/toolbarButtonGraphics/general/ZoomIn16.gif.i
+data/agent/src/share/classes/sun/jvm/hotspot/jdi/ObjectReferenceImpl.java.i
+data/make/bsd/makefiles/ia64.make.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9FMOVrInstruction.java.i
data/src/os/linux/vm/os_linux.hpp.i
data/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp.i
@@ -966,18 +971,18 @@ data/src/share/tools/IdealGraphVisualizer/ControlFlow/nbproject/suite.properties
data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/x86/ProcX86ThreadFactory.java.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/MachCallNode.java.i
data/agent/make/pstackwindbg64.bat.i
-data/src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp.i
+data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/ClusterIngoingConnection.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MemoryIndirectAddress.java.i
data/src/share/vm/runtime/serviceThread.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/FieldIdentifier.java.i
-data/test/compiler/6756768/Test6756768.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/GenericGrowableArray.java.i
+data/build/linux/makefiles/gcc.make.i
data/src/share/tools/IdealGraphVisualizer/Difference/src/com/sun/hotspot/igv/difference/Difference.java.i
data/src/os_cpu/linux_sparc/vm/prefetch_linux_sparc.inline.hpp.i
data/make/linux/makefiles/jsig.make.i
data/src/os/bsd/dtrace/jvm_dtrace.c.i
-data/src/share/vm/shark/sharkType.hpp.i
data/src/os/linux/vm/threadCritical_linux.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/OopVisitor.java.i
+data/src/share/vm/runtime/os_ext.hpp.i
data/agent/make/ClosureFinder.java.i
data/src/share/vm/code/debugInfoRec.hpp.i
data/src/cpu/x86/vm/c1_FrameMap_x86.cpp.i
@@ -996,7 +1001,7 @@ data/src/share/vm/adlc/formssel.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/ia64/WindbgIA64Thread.java.i
data/build/linux/adlc_updater.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/actions/SaveAsAction.java.i
-data/src/share/tools/IdealGraphVisualizer/Bytecodes/nbproject/project.xml.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/AuxBfEfRecord.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9PrivilegedReadWriteDecoder.java.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/images/graph.gif.i
data/src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp.i
@@ -1013,27 +1018,30 @@ data/src/share/vm/gc_implementation/shared/ageTable.hpp.i
data/test/compiler/7070134/Test7070134.sh.i
data/src/share/tools/IdealGraphVisualizer/README.i
data/build/windows/makefiles/jvmti.make.i
-data/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp.i
+data/make/windows/projectfiles/tiered/vm.dsw.i
data/src/share/vm/runtime/dtraceJSDT.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolKlass.java.i
data/src/share/vm/runtime/sharedRuntime.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/JVMDebugger.java.i
data/src/share/vm/prims/jvmtiLib.xsl.i
data/src/share/vm/oops/objArrayKlass.inline.hpp.i
data/src/share/tools/IdealGraphVisualizer/Settings/nbproject/project.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/ci/ciField.java.i
-data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/images/structured.gif.i
+data/src/share/vm/memory/defNewGeneration.hpp.i
+data/src/share/vm/utilities/stack.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFPArithmeticInstruction.java.i
data/src/cpu/x86/vm/registerMap_x86.hpp.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/manifest.mf.i
data/agent/make/saenv64.sh.i
data/src/share/vm/oops/compiledICHolderKlass.cpp.i
data/src/share/vm/classfile/placeholders.hpp.i
-data/src/share/vm/classfile/classFileParser.hpp.i
+data/src/os/windows/vm/c1_globals_windows.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicFunctionType.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/FindByQueryPanel.java.i
-data/src/share/vm/opto/node.hpp.i
-data/src/os_cpu/linux_zero/vm/thread_linux_zero.cpp.i
+data/src/os/bsd/vm/mutex_bsd.inline.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/BitMap.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/EditorFactory.java.i
+data/src/cpu/sparc/vm/globalDefinitions_sparc.hpp.i
data/make/linux/makefiles/fastdebug.make.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdOopHandle.java.i
data/src/share/vm/c1/c1_Compilation.cpp.i
@@ -1045,26 +1053,27 @@ data/src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp.i
data/agent/test/jdi/sagclient.java.i
data/src/cpu/zero/vm/bytecodeInterpreter_zero.hpp.i
data/src/share/vm/adlc/Test/i486.ad.i
-data/agent/make/dumpflagsproc64.sh.i
data/src/share/vm/oops/oop.cpp.i
data/src/cpu/sparc/vm/cppInterpreter_sparc.hpp.i
data/make/bsd/makefiles/sa.make.i
-data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/images/diff.gif.i
+data/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp.i
data/src/share/vm/ci/ciType.hpp.i
data/build/solaris/makefiles/dtrace.make.i
data/agent/src/scripts/start-rmiregistry.bat.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/x86/ProcX86ThreadContext.java.i
-data/src/os/solaris/vm/thread_solaris.inline.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/runtime/StackFrameStream.java.i
data/src/share/vm/memory/compactingPermGenGen.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/VoidType.java.i
data/agent/src/os/solaris/Makefile.i
data/make/bsd/makefiles/dtrace.make.i
+data/make/templates/gpl-header.i
data/make/solaris/makefiles/vm.make.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeGetField.java.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/ConcurrentMarkSweepGeneration.java.i
-data/src/os_cpu/windows_x86/vm/assembler_windows_x86_32.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ClassDump.java.i
+data/src/os/solaris/vm/os_solaris.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/CallRuntimeNode.java.i
-data/src/os_cpu/linux_x86/vm/prefetch_linux_x86.inline.hpp.i
+data/agent/make/pstackwindbg.bat.i
data/test/compiler/7088020/Test7088020.java.i
data/src/os_cpu/bsd_x86/vm/thread_bsd_x86.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/action/HSDBActionManager.java.i
@@ -1077,14 +1086,10 @@ data/agent/src/share/classes/sun/jvm/hotspot/ui/action/ShowAction.java.i
data/src/share/tools/MakeDeps/MetroWerksMacPlatform.java.i
data/src/share/tools/IdealGraphVisualizer/Util/nbproject/project.properties.i
data/make/linux/platform_arm.i
-data/make/solaris/makefiles/reorder_COMPILER2_sparc.i
-data/src/share/vm/utilities/stack.inline.hpp.i
-data/src/share/vm/c1/c1_Canonicalizer.cpp.i
+data/agent/make/heapdumpproc64.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/CLHSDB.java.i
-data/src/share/tools/IdealGraphVisualizer/View/src/META-INF/services/com.sun.hotspot.igv.data.services.InputGraphProvider.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/Block.java.i
data/make/windows/jvmexp_g.lcf.i
-data/agent/make/start-debug-server-proc64.sh.i
data/make/Makefile.i
data/src/cpu/zero/vm/interpreter_zero.cpp.i
data/build/solaris/Makefile.i
@@ -1097,23 +1102,23 @@ data/agent/src/share/classes/sun/jvm/hotspot/memory/SpaceClosure.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86LogicInstruction.java.i
data/build/solaris/makefiles/makedeps.make.i
data/src/share/vm/prims/jni.cpp.i
+data/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.inline.hpp.i
data/src/share/tools/IdealGraphVisualizer/ControlFlow/src/com/sun/hotspot/igv/controlflow/layer.xml.i
data/src/share/vm/memory/specialized_oop_closures.cpp.i
-data/src/share/vm/c1/c1_CodeStubs.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSFileIndex.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/prims/JvmtiExport.java.i
+data/test/compiler/6894807/Test6894807.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/Register.java.i
data/build/solaris/build.sh.i
data/src/share/vm/interpreter/bytecodes.cpp.i
data/.hgtags.i
data/build/windows/projectfiles/core/Makefile.i
-data/src/share/vm/adlc/filebuff.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/HashtableBucket.java.i
data/src/cpu/sparc/vm/c1_Defs_sparc.hpp.i
-data/src/share/vm/gc_implementation/g1/sparsePRT.cpp.i
data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/extendedColor.filter.i
-data/src/share/vm/gc_implementation/parNew/parGCAllocBuffer.hpp.i
+data/src/os_cpu/bsd_zero/vm/os_bsd_zero.hpp.i
+data/agent/src/os/linux/ps_core.c.i
data/src/share/vm/services/classLoadingService.cpp.i
data/src/share/vm/interpreter/cppInterpreterGenerator.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9Instruction.java.i
data/src/share/vm/oops/klass.inline.hpp.i
data/src/share/vm/interpreter/interpreterRuntime.cpp.i
data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/Filter.java.i
@@ -1122,39 +1127,38 @@ data/agent/src/share/classes/sun/jvm/hotspot/memory/PermGen.java.i
data/src/share/vm/opto/library_call.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/NoSuchSymbolException.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/cInterpreter.java.i
-data/src/os/bsd/dtrace/generateJvmOffsets.h.i
data/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp.i
data/src/share/vm/oops/markOop.inline.hpp.i
data/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp.d
data/src/share/vm/oops/typeArrayKlassKlass.cpp.i
data/src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.hpp.i
-data/src/share/vm/runtime/vm_version.cpp.i
-data/src/share/vm/memory/specialized_oop_closures.hpp.i
+data/make/bsd/makefiles/sparcv9.make.i
+data/src/cpu/sparc/vm/vm_version_sparc.cpp.i
data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/split.filter.i
data/agent/src/os/win32/Message.hpp.i
-data/src/share/vm/gc_implementation/g1/vm_operations_g1.cpp.i
+data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/Phase.java.i
data/build/solaris/makefiles/hp.make.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFloatRegister.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/amd64/WindbgAMD64ThreadFactory.java.i
data/src/share/vm/interpreter/templateInterpreter.hpp.i
data/agent/src/share/classes/com/sun/java/swing/ui/TabsDlg.java.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/ArrayTypeImpl.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ArithmeticDecoder.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/interpreter/LookupswitchPair.java.i
data/src/os_cpu/linux_x86/vm/vm_version_linux_x86.cpp.i
data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/AndSelector.java.i
data/test/runtime/7051189/Xchecksig.sh.i
data/src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.hpp.i
+data/src/share/vm/prims/jniExport.hpp.i
data/.jcheck/conf.i
data/test/compiler/6879902/Test6879902.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/MethodDataKlass.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSPublic.java.i
data/src/cpu/sparc/vm/cppInterpreter_sparc.cpp.i
-data/test/compiler/6823354/Test6823354.java.i
+data/src/share/vm/ci/ciArrayKlassKlass.hpp.i
data/src/share/tools/IdealGraphVisualizer/Bytecodes/nbproject/suite.properties.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPInstructionDecoder.java.i
data/src/share/vm/runtime/signature.hpp.i
-data/make/linux/makefiles/sparcv9.make.i
-data/src/share/vm/classfile/symbolTable.cpp.i
-data/src/share/vm/gc_implementation/g1/vm_operations_g1.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/Address.java.i
+data/src/share/vm/ci/ciField.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ObjectHistogram.java.i
data/src/share/vm/gc_implementation/g1/collectionSetChooser.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/PrimitiveValueImpl.java.i
@@ -1164,11 +1168,12 @@ data/make/bsd/platform_sparc.i
data/src/cpu/zero/vm/sharkFrame_zero.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ShiftDecoder.java.i
data/src/share/vm/prims/jvm.cpp.i
-data/src/share/vm/utilities/histogram.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/AbstractInstruction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/TemplateType.java.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/ContiguousSpace.java.i
data/src/share/vm/shark/sharkRuntime.hpp.i
data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/InterClusterConnection.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeInstanceOf.java.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/NodeFindAction.java.i
data/build/windows/makefiles/sa.make.i
data/src/share/tools/IdealGraphVisualizer/NetworkConnection/build.xml.i
@@ -1179,36 +1184,37 @@ data/src/cpu/x86/vm/interpreter_x86_64.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/compiler/OopMap.java.i
data/make/hotspot_version.i
data/src/share/vm/utilities/constantTag.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java.i
+data/src/share/vm/gc_implementation/g1/survRateGroup.hpp.i
data/src/share/vm/opto/postaloc.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/AuxFileRecord.java.i
-data/test/compiler/6689060/Test.java.i
+data/src/cpu/x86/vm/register_x86.hpp.i
data/src/share/vm/prims/jvmtiUtil.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/ProgressiveHeapVisitor.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64Frame.java.i
data/src/share/vm/c1/c1_ValueSet.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescription.java.i
data/src/cpu/x86/vm/sharedRuntime_x86_32.cpp.i
+data/src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.hpp.i
data/src/os_cpu/linux_sparc/vm/os_linux_sparc.hpp.i
data/src/share/vm/shark/sharkBlock.hpp.i
data/src/share/vm/runtime/statSampler.cpp.i
-data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/images/delete.gif.i
+data/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp.i
data/src/cpu/zero/vm/entryFrame_zero.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/JumpData.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/ObjectVisitor.java.i
data/src/share/vm/runtime/icache.cpp.i
-data/src/cpu/zero/vm/depChecker_zero.cpp.i
+data/src/cpu/x86/vm/codeBuffer_x86.hpp.i
data/src/share/vm/c1/c1_ValueType.cpp.i
data/src/share/vm/compiler/abstractCompiler.cpp.i
data/src/share/vm/interpreter/bytecodeStream.cpp.i
data/src/share/tools/IdealGraphVisualizer/ControlFlow/src/com/sun/hotspot/igv/controlflow/ControlFlowTopComponentWstcref.xml.i
data/src/os_cpu/windows_x86/vm/prefetch_windows_x86.inline.hpp.i
-data/src/share/vm/gc_implementation/parallelScavenge/generationSizer.hpp.i
+data/src/cpu/sparc/vm/depChecker_sparc.hpp.i
data/agent/src/share/lib/maf-1_0.jar.i
data/src/share/vm/oops/instanceOop.hpp.i
data/src/share/vm/utilities/growableArray.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/MethodKlass.java.i
-data/agent/src/share/classes/com/sun/java/swing/ui/SplashScreen.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32Address.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9WriteInstruction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/EnumTreeNodeAdapter.java.i
data/agent/src/os/win32/windbg/Makefile.i
@@ -1220,34 +1226,32 @@ data/build/linux/makefiles/jsig.make.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9RdprDecoder.java.i
data/src/cpu/x86/vm/bytecodes_x86.cpp.i
data/src/share/vm/memory/compactPermGen.hpp.i
-data/src/share/vm/gc_implementation/g1/concurrentZFThread.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeJsr.java.i
data/src/share/vm/gc_implementation/shared/hSpaceCounters.cpp.i
-data/src/cpu/x86/vm/jni_x86.h.i
data/src/share/vm/memory/iterator.cpp.i
data/src/os_cpu/linux_x86/vm/copy_linux_x86.inline.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeGotoW.java.i
data/agent/src/share/classes/com/sun/java/swing/action/ViewMenu.java.i
-data/src/share/vm/adlc/filebuff.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/jdi/ConcreteMethodImpl.java.i
+data/src/share/vm/ci/ciUtilities.cpp.i
data/src/share/tools/IdealGraphVisualizer/Bytecodes/src/com/sun/hotspot/igv/bytecodes/BytecodeNode.java.i
-data/src/share/vm/opto/chaitin.hpp.i
data/src/share/vm/memory/allocation.cpp.i
data/src/share/tools/IdealGraphVisualizer/Bytecodes/src/com/sun/hotspot/igv/bytecodes/SelectBytecodesCookie.java.i
data/src/share/tools/IdealGraphVisualizer/Difference/nbproject/platform.properties.i
data/src/share/tools/IdealGraphVisualizer/Layout/nbproject/build-impl.xml.i
data/agent/test/jdi/jstack.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicDebugEvent.java.i
-data/src/share/vm/gc_implementation/g1/concurrentMark.hpp.i
data/src/os_cpu/linux_x86/vm/thread_linux_x86.hpp.i
-data/agent/src/share/classes/com/sun/java/swing/ui/ToggleActionPropertyChangeListener.java.i
+data/agent/make/start-debug-server-proc64.sh.i
data/src/os/linux/vm/jvm_linux.h.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/ExternalVFrame.java.i
data/src/cpu/x86/vm/relocInfo_x86.cpp.i
data/src/os/linux/vm/globals_linux.hpp.i
-data/src/share/vm/oops/symbol.cpp.i
+data/make/linux/makefiles/ppc.make.i
data/src/cpu/sparc/vm/vmreg_sparc.cpp.i
data/agent/src/share/classes/images/toolbarButtonGraphics/text/AlignRight24.gif.i
data/src/share/vm/oops/oop.hpp.i
-data/src/share/vm/shark/sharkFunction.cpp.i
+data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/images/expand.gif.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/ConnectionAnchor.java.i
data/src/share/vm/shark/sharkState.cpp.i
data/src/cpu/zero/vm/disassembler_zero.cpp.i
@@ -1255,16 +1259,14 @@ data/agent/src/share/classes/sun/jvm/hotspot/jdi/VirtualMachineImpl.java.i
data/src/share/vm/oops/symbolKlass.cpp.i
data/src/share/vm/prims/forte.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/posix/elf/ELFFileParser.java.i
-data/src/share/vm/opto/superword.cpp.i
-data/src/share/vm/prims/jniFastGetField.hpp.i
-data/src/os/windows/launcher/java_md.h.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/ArithmeticInstruction.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/PointerType.java.i
+data/agent/test/jdi/runjpda.sh.i
+data/agent/src/share/classes/sun/jvm/hotspot/memory/GenCollectedHeap.java.i
data/src/share/vm/prims/jni_md.h.i
data/src/share/vm/oops/methodKlass.cpp.i
data/agent/src/os/win32/Reaper.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/AddressVisitor.java.i
-data/src/share/vm/opto/locknode.cpp.i
+data/src/cpu/sparc/vm/cppInterpreterGenerator_sparc.hpp.i
data/test/compiler/6857159/Test6857159.sh.i
data/src/share/vm/runtime/fieldType.hpp.i
data/src/os/solaris/launcher/java_md.c.i
@@ -1273,10 +1275,10 @@ data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/RestoreDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicArrayType.java.i
data/src/share/vm/opto/graphKit.hpp.i
data/src/os/posix/launcher/java_md.c.i
-data/agent/src/share/classes/sun/jvm/hotspot/tools/PermStat.java.i
+data/agent/src/os/solaris/dbx/README.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicIndexableFieldIdentifier.java.i
data/src/cpu/zero/vm/templateInterpreter_zero.cpp.i
-data/src/share/vm/ci/ciArrayKlass.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/code/DeoptimizationBlob.java.i
data/src/share/vm/services/serviceUtil.hpp.i
data/src/os_cpu/linux_x86/vm/linux_x86_32.s.i
data/agent/src/os/win32/LockableList.hpp.i
@@ -1288,35 +1290,36 @@ data/agent/make/clhsdbproc.sh.i
data/src/share/vm/utilities/sizes.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/ValueImpl.java.i
data/agent/make/heapsumwindbg.bat.i
+data/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/tools/PStack.java.i
data/src/os_cpu/bsd_x86/vm/os_bsd_x86.hpp.i
data/src/os/solaris/vm/hpi_solaris.cpp.i
data/agent/src/os/bsd/salibelf.h.i
data/make/solaris/makefiles/reorder_CORE_sparcv9.i
data/src/share/vm/memory/heap.cpp.i
-data/src/share/vm/libadt/vectset.cpp.i
+data/make/solaris/makefiles/mapfile-vers-TIERED.i
data/src/share/vm/gc_implementation/parNew/asParNewGeneration.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/Callable.java.i
data/build/solaris/makefiles/reorder_COMPILER1_i486.i
data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/GraphDocument.java.i
data/src/share/vm/runtime/objectMonitor.cpp.i
-data/src/share/vm/prims/jvmtiTrace.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebugger.java.i
data/make/templates/gpl-cp-header.i
data/src/share/vm/opto/machnode.hpp.i
data/make/solaris/makefiles/reorder_TIERED_amd64.i
data/agent/src/share/classes/sun/jvm/hotspot/gc_interface/CollectedHeap.java.i
data/build/windows/projectfiles/compiler2/ADLCompiler.dsw.i
-data/src/os_cpu/linux_sparc/vm/threadLS_linux_sparc.hpp.i
+data/src/os_cpu/linux_x86/vm/vmStructs_linux_x86.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeJmp.java.i
-data/make/solaris/makefiles/reorder_COMPILER2_amd64.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCReturnInstruction.java.i
data/src/share/vm/prims/jvmtiTrace.hpp.i
-data/src/share/vm/shark/sharkContext.hpp.i
-data/make/linux/makefiles/amd64.make.i
+data/src/cpu/zero/vm/copy_zero.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/memory/SymbolTable.java.i
data/src/share/tools/IdealGraphVisualizer/BatikSVGProxy/nbproject/project.properties.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/CMSPermGenGen.java.i
data/build/solaris/makefiles/core.make.i
-data/src/share/vm/classfile/verifier.cpp.i
+data/make/linux/makefiles/product.make.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCShiftInstruction.java.i
data/src/share/vm/oops/methodOop.cpp.i
data/src/share/vm/memory/genRemSet.inline.hpp.i
data/src/os_cpu/solaris_sparc/vm/vm_version_solaris_sparc.cpp.i
@@ -1335,21 +1338,20 @@ data/src/os_cpu/linux_x86/vm/thread_linux_x86.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThread.java.i
data/src/share/vm/runtime/atomic.cpp.i
data/src/share/vm/c1/c1_ValueMap.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9WrprDecoder.java.i
data/src/cpu/x86/vm/vm_version_x86_64.hpp.i
-data/build/solaris/makefiles/reorder_CORE_sparcv9.i
+data/agent/src/share/classes/sun/jvm/hotspot/runtime/bsd/BsdSignals.java.i
data/agent/src/os/win32/IOBuf.hpp.i
-data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/serialization/XMLParser.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSOffsetMap16.java.i
data/src/share/vm/code/exceptionHandlerTable.hpp.i
data/src/share/vm/gc_implementation/g1/heapRegionSet.hpp.i
data/make/linux/makefiles/launcher.make.i
data/agent/make/dumpsyspropswindbg.bat.i
-data/agent/src/share/classes/sun/jvm/hotspot/jdi/VoidTypeImpl.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/tools/StackTrace.java.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/GraphNode.java.i
-data/build/solaris/makefiles/compiler2.make.i
-data/src/share/vm/gc_implementation/shared/spaceDecorator.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeStore.java.i
data/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/shared/ImmutableSpace.java.i
data/build/windows/README.i
+data/src/cpu/zero/vm/relocInfo_zero.hpp.i
data/src/share/tools/IdealGraphVisualizer/Util/src/com/sun/hotspot/igv/util/RangeSlider.java.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/SystemDictionaryHelper.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/SharedObject.java.i
@@ -1358,25 +1360,26 @@ data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/Inpu
data/agent/src/share/classes/images/toolbarButtonGraphics/general/Open24.gif.i
data/src/share/vm/shark/sharkMemoryManager.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Instruction.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FPopDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSPublicSym.java.i
data/agent/make/saenv.sh.i
data/src/os_cpu/linux_x86/vm/linux_x86_64.s.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/x86/RemoteX86ThreadContext.java.i
data/src/share/vm/gc_implementation/g1/concurrentMarkThread.inline.hpp.i
+data/test/compiler/7116216/LargeFrame.java.i
data/src/share/tools/hsdis/hsdis.c.i
data/make/bsd/makefiles/adjust-mflags.sh.i
data/agent/make/permstatproc64.sh.i
data/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp.i
data/src/share/vm/gc_implementation/parallelScavenge/psGCAdaptivePolicyCounters.hpp.i
data/src/os/solaris/vm/c2_globals_solaris.hpp.i
-data/src/os_cpu/solaris_x86/vm/assembler_solaris_x86.cpp.i
data/src/os_cpu/solaris_x86/vm/thread_solaris_x86.cpp.i
data/src/share/vm/utilities/top.hpp.i
data/src/share/vm/classfile/classLoader.cpp.i
-data/make/solaris/makefiles/reorder_COMPILER1_amd64.i
+data/src/os_cpu/bsd_zero/vm/vm_version_bsd_zero.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50TypeEnums.java.i
data/src/share/vm/opto/locknode.hpp.i
-data/agent/make/soqlwindbg.bat.i
-data/src/share/vm/interpreter/templateInterpreterGenerator.hpp.i
+data/src/share/vm/memory/heapInspection.cpp.i
data/src/cpu/sparc/vm/c1_Runtime1_sparc.cpp.i
data/agent/src/share/classes/com/sun/java/swing/action/NewAction.java.i
data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/PredecessorSelector.java.i
@@ -1385,20 +1388,19 @@ data/src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/code/Stub.java.i
data/src/share/vm/gc_implementation/g1/ptrQueue.cpp.i
data/build/linux/makefiles/mapfile-vers-jsig.i
-data/src/share/tools/MakeDeps/DirectoryTreeNode.java.i
-data/test/compiler/5091921/Test6753639.java.i
+data/src/share/vm/prims/privilegedStack.hpp.i
data/src/share/vm/gc_implementation/concurrentMarkSweep/cmsLockVerifier.hpp.i
-data/src/os/linux/vm/objectMonitor_linux.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicBitType.java.i
data/agent/src/share/classes/sun/jvm/hotspot/types/CIntegerType.java.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/JNITypeParser.java.i
data/src/share/vm/memory/referenceProcessor.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSELogicalDecoder.java.i
+data/src/share/vm/opto/escape.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64Helper.java.i
data/make/bsd/makefiles/optimized.make.i
data/test/compiler/6795465/Test6795465.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/TrapDecoder.java.i
data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/serialization/Parser.java.i
+data/test/runtime/6819213/TestBootNativeLibraryPath.java.i
data/src/share/vm/gc_implementation/shared/markSweep.hpp.i
data/src/share/vm/classfile/dictionary.hpp.i
data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/InputBlock.java.i
@@ -1407,86 +1409,81 @@ data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaKlass.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/EditorCommands.java.i
data/src/share/vm/utilities/intHisto.cpp.i
data/src/share/tools/LogCompilation/Makefile.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRegisterType.java.i
-data/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp.i
+data/agent/src/os/win32/SwDbgSrv.dsw.i
+data/agent/src/os/linux/libproc.h.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64FloatRegisters.java.i
data/src/share/tools/IdealGraphVisualizer/RhinoScriptEngineProxy/nbproject/build-impl.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java.i
data/src/share/tools/IdealGraphVisualizer/Settings/src/com/sun/hotspot/igv/settings/ViewOptionsPanelController.java.i
data/agent/src/share/classes/sun/jvm/hotspot/compiler/CompileTask.java.i
-data/src/share/vm/runtime/sharedRuntimeTrig.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9ReadDecoder.java.i
data/src/cpu/x86/vm/x86_64.ad.i
-data/src/share/vm/prims/unsafe.cpp.i
data/test/compiler/7103261/Test7103261.java.i
data/src/os/linux/vm/os_linux.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/MachCallRuntimeNode.java.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/images/blocks.gif.i
data/src/share/vm/classfile/placeholders.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicVoidType.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/JVMDIClassStatus.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/Characteristics.java.i
+data/src/share/tools/IdealGraphVisualizer/Filter/build.xml.i
data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/Bundle.properties.i
-data/src/share/vm/oops/constMethodOop.hpp.i
-data/src/share/vm/adlc/formsopt.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/Method.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/TypeArrayKlassKlass.java.i
-data/src/share/vm/gc_implementation/g1/heapRegion.inline.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/types/WrongTypeException.java.i
+data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/PrevDiagramAction.java.i
+data/src/os_cpu/solaris_x86/vm/orderAccess_solaris_x86.inline.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFloatRegisters.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/runtime/win32_ia64/Win32IA64JavaThreadPDAccess.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/ClosestSymbol.java.i
data/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/Bytecode.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FloatBranchDecoder.java.i
-data/src/os/bsd/vm/osThread_bsd.hpp.i
-data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/remove.filter.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9WrprDecoder.java.i
+data/src/share/vm/opto/ifnode.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/types/Type.java.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/SystemDictionary.java.i
data/src/share/vm/utilities/globalDefinitions.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/posix/elf/ELFProgramHeader.java.i
-data/src/os/windows/vm/interfaceSupport_windows.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceStoreDecoder.java.i
+data/src/share/vm/shark/sharkCacheDecache.hpp.i
+data/src/share/vm/opto/parse.hpp.i
+data/src/cpu/x86/vm/vmStructs_x86.hpp.i
data/agent/src/share/classes/images/toolbarButtonGraphics/general/Information16.gif.i
data/build/solaris/platform_sparcv9.i
data/src/share/vm/runtime/icache.hpp.i
data/make/solaris/makefiles/launcher.make.i
-data/agent/src/share/classes/sun/jvm/hotspot/memory/Universe.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionSPARC32Bit.java.i
+data/build/windows/makefiles/shared.make.i
data/src/share/tools/IdealGraphVisualizer/Data/nbproject/project.properties.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/Bytes.java.i
data/make/bsd/makefiles/hp.make.i
-data/src/share/vm/gc_implementation/parallelScavenge/asPSYoungGen.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/memory/Universe.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SrcModLineNumberMap.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/jdi/ValueContainer.java.i
+data/build/windows/makefiles/generated.make.i
data/agent/test/jdi/SASanityChecker.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/BasicObjectLock.java.i
data/src/cpu/x86/vm/assembler_x86.hpp.i
-data/test/compiler/7009231/Test7009231.java.i
data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/nbproject/suite.properties.i
-data/agent/src/os/win32/ioUtils.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/runtime/PerfMemory.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FPop2Decoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCCallInstruction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/sparc/SPARCRicochetFrame.java.i
-data/build/linux/makefiles/hp.make.i
-data/agent/make/clhsdbwindbg64.bat.i
+data/src/share/vm/classfile/vmSymbols.hpp.i
data/src/share/vm/utilities/preserveException.hpp.i
data/agent/src/os/bsd/mapfile.i
data/agent/src/share/classes/sun/jvm/hotspot/ci/ciVirtualCallData.java.i
data/agent/src/os/linux/mapfile.i
data/make/solaris/makefiles/jvmti.make.i
-data/src/share/vm/oops/klassKlass.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FloatBranchDecoder.java.i
data/src/os/solaris/launcher/java.c.i
data/test/compiler/6769124/TestArrayCopy6769124.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java.i
-data/src/share/vm/gc_implementation/shared/collectorCounters.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/opto/CallDynamicJavaNode.java.i
+data/agent/src/share/classes/com/sun/java/swing/action/SaveAsAction.java.i
data/src/share/vm/opto/phase.cpp.i
data/src/share/vm/runtime/objectMonitor.hpp.i
+data/src/share/vm/services/diagnosticFramework.hpp.i
data/src/share/vm/c1/c1_Runtime1.cpp.i
-data/make/bsd/platform_zero.in.i
-data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/FilterTopComponentSettings.xml.i
-data/agent/src/share/classes/com/sun/java/swing/action/BackAction.java.i
+data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/EditorTopComponent.form.i
data/build/linux/makefiles/sparcWorks.make.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/ExportDirectoryTable.java.i
data/src/cpu/zero/vm/bytes_zero.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/Operand.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86IllegalInstruction.java.i
-data/src/share/vm/gc_implementation/g1/ptrQueue.inline.hpp.i
data/src/share/vm/opto/buildOopMap.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/ui/MemoryViewer.java.i
-data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/images/add.gif.i
data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogEvent.java.i
data/src/share/vm/opto/rootnode.cpp.i
data/src/share/vm/opto/cfgnode.hpp.i
@@ -1498,49 +1495,45 @@ data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/co
data/src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.hpp.i
data/make/linux/makefiles/compiler1.make.i
data/src/os_cpu/solaris_x86/vm/solaris_x86_64.il.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/IntField.java.i
+data/agent/test/jdi/multivm.java.i
data/test/runtime/6626217/bug_21227.java.i
data/src/share/vm/ci/ciInstanceKlassKlass.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/runtime/VMReg.java.i
+data/src/os/linux/vm/c1_globals_linux.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/DLL.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxThread.java.i
+data/src/share/vm/runtime/relocator.hpp.i
data/src/share/vm/memory/cardTableModRefBS.cpp.i
data/src/share/vm/services/management.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/CallDecoder.java.i
-data/test/runtime/6878713/Test6878713.sh.i
data/src/share/vm/gc_implementation/g1/concurrentZFThread.hpp.i
data/src/os_cpu/linux_sparc/vm/thread_linux_sparc.hpp.i
data/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.inline.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/jdi/LocationImpl.java.i
data/agent/src/share/classes/sun/jvm/hotspot/code/CodeCache.java.i
-data/src/share/vm/gc_implementation/shared/concurrentGCThread.hpp.i
data/src/share/vm/code/compressedStream.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/runtime/StackValueCollection.java.i
-data/src/share/tools/IdealGraphVisualizer/BatikSVGProxy/build.xml.i
-data/src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/memory/PlaceholderTable.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/jdi/VMModifiers.java.i
+data/src/os/bsd/dtrace/libjvm_db.c.i
data/src/cpu/zero/vm/templateTable_zero.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SymbolIterator.java.i
-data/src/share/vm/prims/jvmtiRedefineClasses.cpp.i
data/src/share/vm/utilities/elfFile.hpp.i
data/src/share/vm/oops/klassKlass.cpp.i
data/src/os/solaris/dtrace/hs_private.d.i
data/src/share/vm/utilities/globalDefinitions_sparcWorks.hpp.i
data/src/share/tools/IdealGraphVisualizer/NetworkConnection/manifest.mf.i
-data/build/linux/makefiles/profiled.make.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThreadContextFactory.java.i
data/make/jprt.properties.i
data/src/share/vm/gc_implementation/shared/vmGCOperations.cpp.i
-data/make/windows/projectfiles/tiered/vm.def.i
-data/src/share/vm/oops/klass.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9MOVccInstruction.java.i
+data/src/share/vm/gc_implementation/parNew/parOopClosures.hpp.i
data/src/cpu/x86/vm/templateInterpreter_x86_64.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SaveDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/sparc/SPARCThreadContext.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/NamedFieldIdentifier.java.i
+data/test/compiler/7125879/Test7125879.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/ui/ObjectHistogramPanel.java.i
data/agent/make/README.txt.i
data/make/bsd/makefiles/jvmti.make.i
+data/src/cpu/zero/vm/jniFastGetField_zero.cpp.i
data/test/runtime/6626217/Loader2.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/Array.java.i
-data/make/solaris/makefiles/sparc.make.i
+data/agent/src/share/classes/sun/jvm/hotspot/runtime/win32_amd64/Win32AMD64JavaThreadPDAccess.java.i
+data/src/share/tools/IdealGraphVisualizer/Filter/nbproject/suite.properties.i
data/src/share/vm/opto/output.hpp.i
data/src/share/vm/c1/c1_IR.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ci/ciType.java.i
@@ -1551,51 +1544,53 @@ data/src/cpu/x86/vm/nativeInst_x86.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86SegmentRegisterAddress.java.i
data/src/share/vm/ci/ciObject.cpp.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/images/plus.gif.i
-data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/ClusterIngoingConnection.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/GenericGrowableArray.java.i
+data/src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp.i
+data/test/compiler/6756768/Test6756768.java.i
data/build/windows/projectfiles/core/vm.def.i
data/src/share/vm/ci/ciInstanceKlass.cpp.i
data/src/share/vm/gc_implementation/g1/heapRegionSeq.hpp.i
data/src/cpu/zero/vm/assembler_zero.cpp.i
data/test/compiler/6837094/Test.java.i
-data/src/share/vm/memory/heapInspection.hpp.i
-data/make/windows/projectfiles/tiered/vm.dsw.i
+data/src/cpu/sparc/vm/bytecodeInterpreter_sparc.inline.hpp.i
+data/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp.i
+data/make/bsd/makefiles/vm.make.i
data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/matchingFlags.filter.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceLdstubDecoder.java.i
-data/src/os/bsd/vm/mutex_bsd.inline.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicCDebugInfoDataBase.java.i
+data/src/share/vm/opto/node.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/ThreadInfoPanel.java.i
-data/src/share/vm/ci/ciFlags.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/HeapGXLWriter.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RegisterIndirectAddress.java.i
-data/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/parallelScavenge/PSYoungGen.java.i
+data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/images/diff.gif.i
data/src/share/vm/runtime/mutexLocker.hpp.i
-data/build/solaris/makefiles/fastdebug.make.i
+data/agent/src/share/classes/com/sun/java/swing/action/SaveAction.java.i
data/agent/make/jhistowindbg.bat.i
data/agent/src/share/classes/sun/jvm/hotspot/code/CompressedWriteStream.java.i
data/agent/src/share/classes/com/sun/java/swing/action/AlignRightAction.java.i
-data/src/share/vm/memory/dump.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/IndexableFieldIdentifier.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/runtime/vmSymbols.java.i
data/src/share/vm/memory/defNewGeneration.cpp.i
data/src/share/vm/classfile/systemDictionary.cpp.i
data/src/share/vm/gc_interface/collectedHeap.hpp.i
data/src/share/vm/runtime/orderAccess.hpp.i
data/agent/src/os/win32/Monitor.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/Sym.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicOopField.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/amd64/WindbgAMD64ThreadFactory.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/interpreter/LookupswitchPair.java.i
-data/src/share/vm/gc_implementation/g1/heapRegionSeq.inline.hpp.i
+data/src/os/linux/vm/hpi_linux.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFloatRegister.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ArithmeticDecoder.java.i
+data/agent/src/share/classes/images/toolbarButtonGraphics/text/AlignCenter16.gif.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/win32_x86/Win32X86JavaThreadPDAccess.java.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/Node_List.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/Field.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/AbstractInstruction.java.i
+data/src/share/vm/utilities/histogram.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/EdenSpace.java.i
+data/make/solaris/makefiles/mapfile-vers-nonproduct.i
data/src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/tree/BadOopTreeNodeAdapter.java.i
data/src/share/tools/IdealGraphVisualizer/Settings/src/com/sun/hotspot/igv/settings/settings.gif.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/BooleanField.java.i
-data/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp.i
+data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/images/delete.gif.i
data/build/solaris/makefiles/debug.make.i
-data/src/cpu/sparc/vm/depChecker_sparc.hpp.i
+data/src/share/vm/gc_implementation/parallelScavenge/generationSizer.hpp.i
data/src/share/vm/opto/bytecodeInfo.cpp.i
data/src/share/vm/runtime/rframe.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/AssertionFailure.java.i
@@ -1606,33 +1601,32 @@ data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCAtomicLoadStoreInstr
data/make/solaris/makefiles/rules.make.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/OopMapForCacheEntry.java.i
-data/make/linux/makefiles/ppc.make.i
+data/src/share/vm/oops/symbol.cpp.i
data/make/linux/platform_sparcv9.i
data/src/share/vm/gc_implementation/shared/immutableSpace.hpp.i
data/src/share/vm/compiler/compileLog.cpp.i
data/src/share/vm/opto/graphKit.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/code/DeoptimizationBlob.java.i
+data/src/share/vm/ci/ciArrayKlass.cpp.i
data/src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.hpp.i
+data/make/windows/projectfiles/tiered/Makefile.i
data/src/share/tools/IdealGraphVisualizer/Data/nbproject/build-impl.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/CMSBitMap.java.i
-data/build/linux/README.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCReturnInstruction.java.i
-data/src/cpu/sparc/vm/interpreter_sparc.cpp.i
-data/src/os_cpu/linux_zero/vm/bytes_linux_zero.inline.hpp.i
+data/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp.i
+data/make/solaris/makefiles/reorder_COMPILER2_amd64.i
+data/agent/src/share/classes/sun/jvm/hotspot/ui/action/InspectAction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/Hashtable.java.i
+data/test/compiler/6775880/Test.java.i
data/src/cpu/zero/vm/cppInterpreter_zero.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSOffsetMap16.java.i
+data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/serialization/XMLParser.java.i
data/src/share/tools/IdealGraphVisualizer/RhinoScriptEngineProxy/src/META-INF/services/com.sun.hotspot.igv.filter.ScriptEngineAbstraction.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/amd64/ProcAMD64ThreadContext.java.i
-data/src/share/vm/oops/klassVtable.cpp.i
+data/make/windows/projectfiles/core/vm.def.i
data/test/compiler/6895383/Test.java.i
-data/build/solaris/makefiles/reorder_COMPILER2_sparc.i
-data/agent/src/share/classes/com/sun/java/swing/ui/CommonToolBar.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/opto/CallNode.java.i
data/test/compiler/7068051/Test7068051.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgAddress.java.i
-data/src/share/vm/opto/escape.hpp.i
+data/src/share/vm/gc_implementation/shared/gSpaceCounters.hpp.i
data/make/solaris/makefiles/reorder_COMPILER2_sparcv9.i
-data/src/share/vm/c1/c1_Canonicalizer.hpp.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/nbproject/genfiles.properties.i
data/src/share/vm/ci/ciUtilities.hpp.i
data/src/share/vm/utilities/workgroup.hpp.i
@@ -1642,7 +1636,6 @@ data/src/share/vm/runtime/mutex.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/StratumLineInfo.java.i
data/make/solaris/makefiles/mapfile-vers-CORE.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/StringReferenceImpl.java.i
-data/src/share/vm/adlc/dict2.cpp.i
data/src/share/vm/ci/ciSignature.cpp.i
data/src/share/vm/memory/referenceProcessor.cpp.i
data/src/cpu/x86/vm/interp_masm_x86_64.cpp.i
@@ -1657,32 +1650,36 @@ data/src/share/vm/utilities/copy.cpp.i
data/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentGCThread.cpp.i
data/agent/src/os/solaris/proc/saproc_audit.cpp.i
data/src/share/vm/opto/loopopts.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThreadContextFactory.java.i
+data/build/linux/makefiles/profiled.make.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/bsd_x86/BsdX86JavaThreadPDAccess.java.i
data/src/share/tools/IdealGraphVisualizer/Util/build.xml.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9SpecialStoreDecoder.java.i
-data/src/share/vm/runtime/advancedThresholdPolicy.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RegisterIndirectAddress.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/CompoundType.java.i
data/agent/src/share/classes/sun/jvm/hotspot/tools/JSnap.java.i
-data/src/share/vm/classfile/classFileParser.cpp.i
+data/src/share/vm/ci/ciObjectFactory.hpp.i
data/test/compiler/6826736/Test.java.i
data/make/bsd/makefiles/build_vm_def.sh.i
data/agent/src/os/win32/Monitor.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/code/ScopeDesc.java.i
data/src/share/vm/gc_implementation/parNew/parOopClosures.inline.hpp.i
data/src/share/vm/includeDB_compiler1.i
-data/make/solaris/makefiles/hp1.make.i
+data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/actions/Bundle.properties.i
data/agent/src/share/classes/sun/jvm/hotspot/tools/soql/SOQL.java.i
data/src/os/bsd/dtrace/generateJvmOffsets.cpp.i
-data/src/share/vm/gc_implementation/shared/gSpaceCounters.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCArithmeticInstruction.java.i
+data/src/share/vm/opto/escape.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaObject.java.i
data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/FilterChainProvider.java.i
data/src/share/vm/gc_implementation/includeDB_gc_parNew.i
data/src/share/vm/opto/regmask.hpp.i
-data/src/share/tools/IdealGraphVisualizer/Coordinator/src/META-INF/services/com.sun.hotspot.igv.data.services.GroupOrganizer.i
+data/src/os/bsd/vm/osThread_bsd.cpp.i
+data/src/share/vm/interpreter/bytecode.cpp.i
data/make/linux/makefiles/tiered.make.i
data/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp.i
-data/src/share/tools/MakeDeps/WinGammaPlatformVC6.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRettInstruction.java.i
data/src/share/vm/opto/mulnode.hpp.i
data/make/linux/makefiles/zeroshark.make.i
+data/make/solaris/makefiles/dtrace.make.i
data/src/cpu/x86/vm/assembler_x86_32.hpp.i
data/src/share/vm/utilities/macros.hpp.i
data/agent/src/os/win32/Dispatcher.hpp.i
@@ -1693,7 +1690,6 @@ data/src/share/vm/runtime/thread.hpp.i
data/build/solaris/makefiles/launcher.make.i
data/src/share/vm/ci/ciInstance.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9ShiftDecoder.java.i
-data/src/share/tools/MakeDeps/WinGammaPlatformVC9.java.i
data/src/share/vm/gc_implementation/g1/satbQueue.cpp.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/widgets/MultiConnectionWidget.java.i
data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/OldHierarchicalLayoutManager.java.i
@@ -1702,29 +1698,29 @@ data/src/share/vm/utilities/workgroup.cpp.i
data/build/solaris/makefiles/sparcv9.make.i
data/src/share/tools/IdealGraphVisualizer/Util/src/com/sun/hotspot/igv/util/DoubleClickAction.java.i
data/agent/src/share/classes/images/toolbarButtonGraphics/general/Save24.gif.i
-data/make/solaris/makefiles/cscope.make.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/FloatType.java.i
data/make/solaris/makefiles/reorder_TIERED_sparc.i
data/src/share/tools/IdealGraphVisualizer/Difference/nbproject/genfiles.properties.i
data/make/closed.make.i
data/agent/src/scripts/start-debug-server64.sh.i
data/make/solaris/platform_sparcv9.gcc.i
-data/agent/src/share/classes/sun/jvm/hotspot/jdi/ByteTypeImpl.java.i
data/src/share/vm/utilities/hashtable.inline.hpp.i
data/build/linux/makefiles/tiered.make.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/solaris_amd64/SolarisAMD64JavaThreadPDAccess.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/ScriptObject.java.i
data/make/windows/makefiles/vm.make.i
data/src/cpu/x86/vm/c2_globals_x86.hpp.i
+data/src/os/solaris/dtrace/jvm_dtrace.h.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/LazyType.java.i
data/agent/src/os/linux/symtab.c.i
data/make/solaris/makefiles/makedeps.make.i
data/test/compiler/7046096/Test7046096.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/TestHelloWorld.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPool.java.i
data/src/share/vm/code/icBuffer.cpp.i
-data/src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.cpp.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/customLeftWsmode.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/bugspot/StackTraceEntry.java.i
-data/src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/memo/MemoizedFloat.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/CPUHelper.java.i
+data/make/solaris/makefiles/debug.make.i
data/src/share/tools/IdealGraphVisualizer/Filter/nbproject/platform.properties.i
data/make/windows/makefiles/jvmti.make.i
data/src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.inline.hpp.i
@@ -1744,32 +1740,36 @@ data/src/share/tools/IdealGraphVisualizer/Layout/src/com/sun/hotspot/igv/layout/
data/build/linux/makefiles/cscope.make.i
data/src/share/vm/runtime/handles.hpp.i
data/src/share/tools/IdealGraphVisualizer/Graph/nbproject/build-impl.xml.i
-data/src/share/vm/prims/methodHandles.cpp.i
-data/make/solaris/adlc_updater.i
+data/agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ClassFilter.java.i
+data/agent/src/os/bsd/salibelf.c.i
data/make/solaris/makefiles/reorder_COMPILER2_i486.i
+data/src/share/vm/shark/sharkIntrinsics.cpp.i
data/build/linux/makefiles/makedeps.make.i
data/src/share/vm/services/classLoadingService.hpp.i
-data/make/solaris/makefiles/tiered.make.i
+data/agent/src/share/classes/sun/jvm/hotspot/ui/tree/RevPtrsTreeNodeAdapter.java.i
+data/build/windows/makefiles/defs.make.i
data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicJFloatField.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/x86/DbxX86ThreadFactory.java.i
data/src/cpu/x86/vm/c1_FpuStackSim_x86.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/LogicInstruction.java.i
+data/agent/make/jdbcore64.sh.i
data/agent/src/share/classes/images/toolbarButtonGraphics/text/AlignLeft24.gif.i
data/src/share/vm/gc_implementation/g1/concurrentMarkThread.hpp.i
data/src/share/vm/prims/jvmtiGetLoadedClasses.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicFloatType.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9PrefetchDecoder.java.i
+data/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp.i
data/src/share/tools/IdealGraphVisualizer/build.xml.i
data/test/compiler/6431242/Test.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/DebuggerConsolePanel.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeIf.java.i
data/src/share/vm/utilities/sizes.cpp.i
+data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/NMethod.java.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/images/import.gif.i
+data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/Method.java.i
data/src/share/vm/prims/perf.cpp.i
-data/make/windows/makefiles/fastdebug.make.i
+data/src/share/tools/IdealGraphVisualizer/ServerCompiler/manifest.mf.i
data/src/cpu/zero/vm/sharedRuntime_zero.cpp.i
data/src/share/vm/runtime/arguments.cpp.i
-data/src/cpu/x86/vm/vm_version_x86.cpp.i
+data/src/share/vm/prims/jvmtiEventController.inline.hpp.i
data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/CustomFilter.java.i
data/build/solaris/platform_i486.gcc.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/FloatTypeImpl.java.i
@@ -1778,6 +1778,7 @@ data/agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxDebugger.java.i
data/src/share/vm/services/memoryManager.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/COFFHeader.java.i
data/agent/test/jdi/sagdoit.java.i
+data/src/share/vm/prims/forte.cpp.i
data/src/share/vm/prims/jvmtiExport.cpp.i
data/src/share/vm/gc_implementation/parallelScavenge/objectStartArray.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicJLongField.java.i
@@ -1789,15 +1790,14 @@ data/src/share/vm/runtime/sharedRuntimeTrans.cpp.i
data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/combine.filter.i
data/src/share/vm/c1/c1_ValueStack.cpp.i
data/src/cpu/x86/vm/interp_masm_x86_32.cpp.i
-data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/actions/RemoveFilterAction.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/memory/PlaceholderTable.java.i
data/src/share/vm/opto/regalloc.hpp.i
data/build/solaris/makefiles/sa.make.i
data/agent/src/os/win32/procList.hpp.i
data/src/share/vm/ci/ciStreams.cpp.i
data/test/runtime/6929067/T.java.i
-data/src/share/tools/IdealGraphVisualizer/Util/src/com/sun/hotspot/igv/util/ExtendedSelectAction.java.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/CheckListView.java.i
-data/test/compiler/6661247/Test.java.i
+data/src/cpu/sparc/vm/debug_sparc.cpp.i
data/src/share/vm/oops/markOop.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerClient.java.i
data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicJIntField.java.i
@@ -1805,23 +1805,22 @@ data/src/os_cpu/linux_x86/vm/orderAccess_linux_x86.inline.hpp.i
data/src/cpu/x86/vm/stubRoutines_x86_32.cpp.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/actions/RemoveAllAction.java.i
data/test/compiler/6603011/Test.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/ui/CommandProcessorPanel.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/posix/elf/ELFSectionHeader.java.i
data/src/cpu/x86/vm/icache_x86.cpp.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/build.xml.i
data/test/compiler/6799693/Test.java.i
data/src/cpu/x86/vm/c1_LinearScan_x86.cpp.i
data/agent/src/share/classes/images/toolbarButtonGraphics/development/Server24.gif.i
-data/src/share/vm/memory/collectorPolicy.hpp.i
data/src/os/windows/vm/decoder_windows.cpp.i
+data/src/share/vm/memory/cardTableRS.cpp.i
data/agent/src/share/classes/com/sun/java/swing/ui/OkCancelButtonPanel.java.i
data/src/cpu/sparc/vm/interp_masm_sparc.hpp.i
-data/src/share/vm/ci/ciTypeArray.hpp.i
data/src/share/vm/gc_implementation/shared/markSweep.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9BranchInstruction.java.i
-data/src/share/vm/utilities/hashtable.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SavedInstruction.java.i
data/make/linux/makefiles/cscope.make.i
data/build/windows/projectfiles/compiler2/ADLCompiler.dsp.i
-data/agent/make/jdbproc64.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/AccessFlags.java.i
data/src/share/vm/opto/c2compiler.cpp.i
data/src/share/vm/gc_implementation/shared/liveRange.hpp.i
@@ -1834,26 +1833,24 @@ data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSSegM
data/agent/src/share/classes/sun/jvm/hotspot/jdi/BooleanValueImpl.java.i
data/test/compiler/6958485/Test.java.i
data/src/share/tools/IdealGraphVisualizer/branding/core/core.jar/org/netbeans/core/startup/splash.gif.i
-data/src/share/vm/runtime/fprofiler.cpp.i
data/src/share/vm/gc_implementation/g1/heapRegionSeq.cpp.i
data/src/os/windows/vm/thread_windows.inline.hpp.i
data/src/share/tools/ProjectCreator/WinGammaPlatformVC7.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcCFrame.java.i
data/src/share/tools/IdealGraphVisualizer/ServerCompiler/build.xml.i
-data/src/share/vm/utilities/constantTag.hpp.i
+data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/SuccessorSelector.java.i
data/agent/src/share/classes/com/sun/java/swing/action/CancelAction.java.i
data/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/RobustOopDeterminator.java.i
+data/test/runtime/6626217/from_loader2.java.i
data/src/share/tools/IdealGraphVisualizer/Filter/manifest.mf.i
data/make/bsd/makefiles/sparcWorks.make.i
-data/agent/src/share/classes/sun/jvm/hotspot/runtime/BasicTypeSize.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/x86/X86RicochetFrame.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/ConditionalJmpDecoder.java.i
-data/src/share/tools/IdealGraphVisualizer/Graph/nbproject/project.xml.i
data/test/compiler/6741738/Tester.java.i
data/src/share/vm/ci/ciMethod.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64RegisterMap.java.i
data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/Properties.java.i
+data/make/windows/platform_i486.i
data/agent/src/share/classes/images/toolbarButtonGraphics/navigation/Up16.gif.i
data/make/solaris/Makefile.i
data/src/share/tools/IdealGraphVisualizer/RhinoScriptEngineProxy/src/com/sun/hotspot/igv/rhino/RhinoScriptEngine.java.i
@@ -1861,7 +1858,6 @@ data/agent/src/share/classes/sun/jvm/hotspot/compiler/OopMapValue.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/GRPDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/treetable/JTreeTable.java.i
data/agent/src/share/classes/com/sun/java/swing/ui/WizardDlg.java.i
-data/src/cpu/zero/vm/vtableStubs_zero.cpp.i
data/src/os/linux/vm/perfMemory_linux.cpp.i
data/src/share/tools/IdealGraphVisualizer/ServerCompiler/nbproject/build-impl.xml.i
data/test/TEST.ROOT.i
@@ -1869,9 +1865,12 @@ data/src/share/vm/gc_implementation/g1/heapRegionSets.hpp.i
data/src/share/vm/opto/reg_split.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxDebuggerLocal.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/BranchDecoder.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/DLL.java.i
+data/src/share/vm/memory/generation.hpp.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/images/export.gif.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/ImmediateOrRegister.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/posix/elf/ELFFile.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/dummy/DummyOopHandle.java.i
+data/src/share/tools/IdealGraphVisualizer/Bytecodes/manifest.mf.i
data/src/share/vm/c1/c1_MacroAssembler.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java.i
data/src/cpu/zero/vm/vm_version_zero.cpp.i
@@ -1891,19 +1890,20 @@ data/src/cpu/sparc/vm/depChecker_sparc.cpp.i
data/src/share/tools/IdealGraphVisualizer/RhinoScriptEngineProxy/nbproject/project.properties.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/CallInstruction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/JNIid.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SpecialStoreDecoder.java.i
data/make/linux/Queens.class.i
-data/src/share/vm/ci/ciTypeFlow.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/amd64/BsdAMD64ThreadContext.java.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/images/overview.gif.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxAddress.java.i
data/src/os_cpu/linux_sparc/vm/vm_version_linux_sparc.cpp.i
data/src/share/vm/code/vmreg.hpp.i
-data/make/solaris/makefiles/mapfile-vers-jsig.i
+data/agent/src/share/classes/sun/jvm/hotspot/opto/CallJavaNode.java.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/ShowAllAction.java.i
data/src/os/solaris/dtrace/hotspot_jni.d.i
data/src/share/vm/prims/methodComparator.cpp.i
data/src/share/vm/opto/idealGraphPrinter.hpp.i
data/make/solaris/makefiles/sa.make.i
-data/make/linux/makefiles/rules.make.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/DataSource.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/ProcessInfo.java.i
data/src/share/tools/IdealGraphVisualizer/View/build.xml.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/FilterTopComponent.form.i
@@ -1912,17 +1912,18 @@ data/src/os_cpu/windows_x86/vm/assembler_windows_x86_64.cpp.i
data/src/share/vm/opto/coalesce.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/amd64/ProcAMD64Thread.java.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/GenerationIsInClosure.java.i
+data/make/windows/makefiles/shared.make.i
data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/Source.java.i
-data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/Bundle.properties.i
-data/test/runtime/6888954/vmerrors.sh.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPInstruction.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/ObjArrayKlass.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/tree/BadAddressTreeNodeAdapter.java.i
data/src/share/vm/prims/jniFastGetField.cpp.i
-data/src/share/vm/ci/ciUtilities.cpp.i
+data/src/share/vm/oops/oop.pcgc.inline.hpp.i
data/agent/make/build-filelist.i
data/src/cpu/sparc/vm/bytecodes_sparc.hpp.i
data/src/share/tools/IdealGraphVisualizer/Bytecodes/nbproject/genfiles.properties.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/OptionalHeaderStandardFields.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/sparc/RemoteSPARCThreadFactory.java.i
+data/src/share/tools/IdealGraphVisualizer/View/src/META-INF/services/com.sun.hotspot.igv.data.services.GraphViewer.i
data/test/compiler/7070134/Stemmer.java.i
data/src/share/vm/code/compiledIC.cpp.i
data/make/solaris/makefiles/optimized.make.i
@@ -1941,18 +1942,19 @@ data/src/os_cpu/linux_zero/vm/vm_version_linux_zero.cpp.i
data/make/bsd/makefiles/compiler2.make.i
data/agent/make/start-rmiregistry.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/sparc/ProcSPARCThread.java.i
-data/src/share/vm/gc_implementation/parallelScavenge/psGenerationCounters.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/livejvm/Event.java.i
data/src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.cpp.i
data/make/windows/projectfiles/common/Makefile.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MemoryInstruction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/JavaCallWrapper.java.i
data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/serialization/XMLWriter.java.i
data/src/os_cpu/bsd_x86/vm/prefetch_bsd_x86.inline.hpp.i
-data/src/share/tools/IdealGraphVisualizer/View/nbproject/project.properties.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/ObjectVisitor.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9RegisterBranchDecoder.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9Instruction.java.i
data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/Bundle.properties.i
data/test/compiler/6973329/Test.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/table/TableModelComparator.java.i
+data/src/share/tools/MakeDeps/MacroDefinitions.java.i
data/src/share/vm/opto/split_if.cpp.i
data/src/os/solaris/vm/hpi_solaris.hpp.i
data/src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp.i
@@ -1963,45 +1965,45 @@ data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SpecialLoadDecoder.java.i
data/test/compiler/5091921/Test6905845.java.i
data/src/cpu/zero/vm/interp_masm_zero.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/Arithmetic.java.i
-data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/META-INF/services/com.sun.hotspot.igv.data.services.Scheduler.i
-data/src/share/vm/oops/methodDataKlass.cpp.i
+data/src/share/vm/gc_implementation/parallelScavenge/psPromotionLAB.hpp.i
data/build/solaris/makefiles/mapfile-vers-CORE.i
data/src/share/vm/gc_implementation/g1/ptrQueue.hpp.i
+data/src/os/bsd/vm/decoder_machO.cpp.i
data/agent/src/os/win32/README-commands.txt.i
-data/src/share/vm/services/dtraceAttacher.hpp.i
+data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/layer.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/ClassTypeImpl.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SymbolTypes.java.i
data/src/share/vm/shark/sharkBuilder.hpp.i
data/src/share/vm/c1/c1_CFGPrinter.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/sparc/RemoteSPARCThreadContext.java.i
-data/agent/make/pmapwindbg64.bat.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/BitMapClosure.java.i
data/src/os_cpu/linux_x86/vm/linux_x86_32.ad.i
-data/make/bsd/makefiles/tiered.make.i
-data/agent/src/share/classes/sun/jvm/hotspot/jdi/DoubleTypeImpl.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/code/StubQueue.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java.i
data/src/cpu/x86/vm/javaFrameAnchor_x86.hpp.i
+data/src/share/tools/IdealGraphVisualizer/ControlFlow/nbproject/platform.properties.i
data/build/windows/makefiles/rules.make.i
data/src/os_cpu/solaris_x86/vm/assembler_solaris_x86_64.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/ci/ciMethod.java.i
+data/build/solaris/makefiles/reorder_COMPILER2_sparc.i
data/agent/src/share/classes/sun/jvm/hotspot/HotSpotSolarisVtblAccess.java.i
data/make/linux/makefiles/optimized.make.i
+data/agent/src/share/classes/sun/jvm/hotspot/memory/LoaderConstraintTable.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ci/ciKlass.java.i
-data/src/share/vm/ci/ciInstance.cpp.i
data/src/share/vm/gc_implementation/g1/g1_globals.cpp.i
data/make/bsd/makefiles/buildtree.make.i
data/make/linux/README.i
+data/src/cpu/x86/vm/depChecker_x86.hpp.i
data/src/os_cpu/bsd_x86/vm/orderAccess_bsd_x86.inline.hpp.i
data/agent/src/scripts/start-rmiregistry64.sh.i
data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/AbstractFilter.java.i
data/agent/src/share/classes/com/sun/java/swing/action/OpenAction.java.i
data/src/cpu/sparc/vm/codeBuffer_sparc.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/ui/tree/BooleanTreeNodeAdapter.java.i
data/src/share/vm/oops/instanceKlassKlass.hpp.i
data/src/share/vm/code/codeCache.hpp.i
data/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp.i
data/agent/test/jdi/multivm.sh.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/LivenessPathElement.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/types/JDoubleField.java.i
+data/agent/test/jdi/jstack64.sh.i
+data/agent/make/jdbproc64.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/DefaultHeapVisitor.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialStoreInstruction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/ShiftDecoder.java.i
@@ -2011,29 +2013,27 @@ data/src/share/vm/libadt/dict.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/sparc/ProcSPARCThreadContext.java.i
data/agent/make/clhsdbwindbg.bat.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/AnnotatedMemoryPanel.java.i
-data/src/share/vm/runtime/unhandledOops.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/runtime/solaris_sparc/SolarisSPARCJavaThreadPDAccess.java.i
data/src/share/vm/runtime/task.hpp.i
data/agent/make/jdbproc.sh.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/CheckRenderer.java.i
-data/src/share/tools/IdealGraphVisualizer/BatikSVGProxy/src/com/sun/hotspot/igv/svg/Bundle.properties.i
+data/src/os/solaris/vm/os_share_solaris.hpp.i
data/src/share/tools/IdealGraphVisualizer/BatikSVGProxy/nbproject/suite.properties.i
-data/src/share/vm/classfile/javaAssertions.cpp.i
+data/src/share/tools/ProjectCreator/DirectoryTree.java.i
data/src/share/vm/oops/objArrayOop.cpp.i
data/make/linux/build.sh.i
data/src/share/vm/runtime/vm_operations.hpp.i
data/agent/doc/clhsdb.html.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/BaseIndexScaleDispAddress.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ReadDecoder.java.i
-data/test/compiler/6865265/StackOverflowBug.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHistogram.java.i
-data/src/share/tools/launcher/wildcard.c.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SpecialRegisters.java.i
data/agent/make/hsdbwindbg.bat.i
data/src/os_cpu/solaris_sparc/vm/solaris_sparc.s.i
data/src/share/vm/prims/jvmtiEnvThreadState.hpp.i
data/build/solaris/makefiles/reorder_COMPILER2_amd64.i
data/src/share/vm/oops/instanceRefKlass.hpp.i
+data/agent/src/share/classes/images/toolbarButtonGraphics/general/Open16.gif.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/DoubleValueImpl.java.i
-data/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/bugspot/VariablePanel.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86SegmentRegisters.java.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/images/minus.gif.i
@@ -2043,7 +2043,6 @@ data/src/share/tools/IdealGraphVisualizer/Graph/manifest.mf.i
data/src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp.i
data/src/share/vm/prims/jvmtiClassFileReconstituter.hpp.i
data/src/cpu/x86/vm/templateTable_x86_64.cpp.i
-data/src/share/tools/IdealGraphVisualizer/Filter/src/META-INF/services/com.sun.hotspot.igv.filter.ScriptEngineAbstraction.i
data/agent/src/os/win32/Buffer.hpp.i
data/src/share/tools/IdealGraphVisualizer/NetworkConnection/nbproject/build-impl.xml.i
data/make/solaris/makefiles/hp.make.i
@@ -2052,21 +2051,21 @@ data/test/compiler/6711100/Test.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/ThreadProxy.java.i
data/src/share/vm/opto/callGenerator.cpp.i
data/src/share/tools/IdealGraphVisualizer/Settings/src/com/sun/hotspot/igv/settings/Settings.java.i
-data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/Connection.java.i
data/agent/src/os/win32/SwDbgSub.dsp.i
data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/Figure.java.i
-data/src/share/vm/code/pcDesc.hpp.i
+data/src/share/vm/oops/klassKlass.hpp.i
data/src/share/vm/gc_implementation/parallelScavenge/psGCAdaptivePolicyCounters.cpp.i
data/src/share/tools/MakeDeps/BuildConfig.java.i
data/make/bsd/makefiles/amd64.make.i
data/agent/src/share/classes/images/toolbarButtonGraphics/general/Information24.gif.i
data/src/cpu/zero/vm/icache_zero.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdAddress.java.i
-data/src/share/vm/asm/assembler.cpp.i
+data/make/solaris/makefiles/reorder_COMPILER1_sparcv9.i
data/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/G1MonitoringSupport.java.i
data/src/os_cpu/bsd_x86/vm/bytes_bsd_x86.inline.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/code/CodeCacheVisitor.java.i
data/src/share/vm/ci/ciCallSite.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionIA64.java.i
data/src/share/vm/runtime/virtualspace.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugDirectory.java.i
data/agent/src/os/bsd/StubDebuggerLocal.c.i
@@ -2077,39 +2076,40 @@ data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/Bund
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9CasInstruction.java.i
data/agent/make/jsdbproc.sh.i
data/src/os_cpu/windows_x86/vm/windows_x86_32.ad.i
-data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/CallSite.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9CMoveDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/BreakpointInfo.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/TypeIndicators.java.i
data/test/compiler/5091921/Test6992759.java.i
-data/src/share/vm/gc_implementation/g1/g1MonitoringSupport.cpp.i
-data/src/share/vm/gc_implementation/parNew/parOopClosures.hpp.i
-data/src/share/tools/IdealGraphVisualizer/Difference/src/com/sun/hotspot/igv/difference/Bundle.properties.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/ia64/LinuxIA64ThreadContext.java.i
data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicJDoubleField.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9InstructionFactory.java.i
data/src/cpu/zero/vm/register_definitions_zero.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/HeapPrinter.java.i
data/src/share/vm/runtime/vframe_hp.hpp.i
data/test/compiler/6892265/Test.java.i
-data/test/compiler/6663621/IVTest.java.i
+data/src/cpu/zero/vm/globals_zero.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeWideable.java.i
data/src/share/vm/runtime/reflectionCompat.hpp.i
data/src/cpu/x86/vm/stubRoutines_x86_32.hpp.i
data/src/share/vm/interpreter/bytecodeInterpreter.cpp.i
-data/src/share/vm/ci/ciObjArray.hpp.i
+data/src/share/vm/ci/ciCallSite.cpp.i
data/src/share/vm/gc_implementation/parallelScavenge/psPermGen.hpp.i
data/src/share/vm/gc_implementation/parNew/parNewGeneration.hpp.i
data/src/os/linux/vm/osThread_linux.hpp.i
data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/layer.xml.i
-data/src/share/vm/prims/hpi_imported.h.i
+data/agent/src/share/classes/sun/jvm/hotspot/runtime/MonitorInfo.java.i
+data/src/cpu/sparc/vm/register_definitions_sparc.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpot.java.i
data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/services/GraphViewer.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Opcodes.java.i
-data/test/compiler/6757316/Test6757316.java.i
+data/src/share/vm/ci/ciKlass.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/code/AdapterBlob.java.i
data/src/cpu/zero/vm/nativeInst_zero.cpp.i
data/src/share/vm/utilities/taskqueue.hpp.i
data/src/share/vm/gc_interface/collectedHeap.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ci/ciKlassKlass.java.i
data/src/share/vm/code/debugInfo.cpp.i
-data/src/share/vm/memory/defNewGeneration.hpp.i
+data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/images/structured.gif.i
data/test/compiler/6910484/Test.java.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/actions/NewFilterAction.java.i
data/src/share/vm/memory/sharedHeap.hpp.i
@@ -2120,84 +2120,87 @@ data/src/share/vm/runtime/jfieldIDWorkaround.hpp.i
data/src/share/tools/IdealGraphVisualizer/Data/nbproject/project.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgOopHandle.java.i
data/src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCLoadInstruction.java.i
+data/src/share/vm/memory/universe.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java.i
+data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/ExtendedPanAction.java.i
+data/src/share/vm/ci/ciExceptionHandler.hpp.i
data/src/share/vm/c1/c1_Instruction.cpp.i
-data/test/Makefile.i
+data/src/share/vm/prims/jni.h.i
data/src/share/vm/memory/genMarkSweep.cpp.i
data/src/share/vm/runtime/javaCalls.hpp.i
data/src/share/vm/memory/referencePolicy.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/bugspot/StackTracePanel.java.i
+data/src/os/bsd/vm/decoder_machO.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/x86/X86ThreadContext.java.i
data/src/share/vm/oops/constMethodOop.cpp.i
data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/RemoveInputsFilter.java.i
-data/src/share/vm/shark/sharkCodeBuffer.hpp.i
-data/src/share/tools/IdealGraphVisualizer/Bytecodes/src/com/sun/hotspot/igv/bytecodes/MethodNode.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/jdi/LocationImpl.java.i
data/src/cpu/zero/vm/entry_zero.hpp.i
-data/src/os_cpu/solaris_x86/vm/threadLS_solaris_x86.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/compiler/OopMapStream.java.i
data/src/share/vm/ci/ciKlassKlass.hpp.i
-data/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DumpExports.java.i
-data/make/windows/makefiles/rules.make.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/ObjArrayKlassKlass.java.i
+data/src/share/vm/utilities/yieldingWorkgroup.cpp.i
+data/src/share/tools/IdealGraphVisualizer/ServerCompiler/nbproject/genfiles.properties.i
+data/src/os_cpu/bsd_zero/vm/bytes_bsd_zero.inline.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/ia64/WindbgIA64ThreadContext.java.i
-data/src/share/tools/IdealGraphVisualizer/Layout/nbproject/suite.properties.i
+data/src/share/vm/opto/memnode.cpp.i
data/src/os/solaris/vm/globals_solaris.hpp.i
data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/nbproject/project.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SegInfo.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/ci/ciMethodKlass.java.i
+data/src/share/vm/memory/gcLocker.cpp.i
data/src/share/vm/includeDB_shark.i
-data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/ChangedListener.java.i
-data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/Bundle.properties.i
+data/src/share/tools/IdealGraphVisualizer/Util/src/com/sun/hotspot/igv/util/Bundle.properties.i
+data/src/share/vm/runtime/fprofiler.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/ui/MemoryPanel.java.i
data/agent/src/share/classes/com/sun/java/swing/action/ExitAction.java.i
-data/src/cpu/x86/vm/disassembler_x86.cpp.i
data/src/share/vm/gc_interface/gcCause.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/posix/AddressDataSource.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRestoreInstruction.java.i
data/src/share/vm/c1/c1_LIRGenerator.hpp.i
-data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/NextDiagramAction.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxOopHandle.java.i
+data/src/share/vm/gc_implementation/g1/g1AllocRegion.hpp.i
data/src/cpu/zero/vm/stubRoutines_zero.cpp.i
data/make/windows/projectfiles/compiler2/vm.dsw.i
data/make/bsd/makefiles/saproc.make.i
data/src/share/vm/oops/generateOopMap.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/OopField.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/RotateDecoder.java.i
-data/src/cpu/x86/vm/icache_x86.hpp.i
+data/src/share/vm/gc_implementation/shared/hSpaceCounters.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/Editor.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcAddress.java.i
+data/src/cpu/x86/vm/dump_x86_64.cpp.i
data/src/share/vm/runtime/serviceThread.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCNoopInstruction.java.i
data/make/linux/adlc_updater.i
data/build/windows/build.make.i
-data/src/os/windows/vm/vtune_windows.cpp.i
+data/src/os/windows/vm/hpi_windows.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/table/SortHeaderCellRenderer.java.i
-data/src/share/vm/services/psMemoryPool.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/Type.java.i
-data/src/share/tools/IdealGraphVisualizer/RhinoScriptEngineProxy/nbproject/genfiles.properties.i
+data/agent/src/share/classes/sun/jvm/hotspot/ci/ciArrayKlassKlass.java.i
data/make/solaris/makefiles/mapfile-vers-debug.i
data/make/solaris/makefiles/reorder_CORE_amd64.i
data/agent/src/share/classes/sun/jvm/hotspot/code/ConstantLongValue.java.i
-data/src/share/vm/runtime/signature.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/memo/MemoizedInt.java.i
data/src/os_cpu/solaris_x86/vm/solaris_x86_64.s.i
data/src/share/vm/interpreter/rewriter.cpp.i
data/src/share/vm/opto/loopnode.cpp.i
data/agent/make/pstackproc64.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RetryInstruction.java.i
-data/src/share/vm/prims/jniCheck.cpp.i
+data/src/share/tools/ProjectCreator/ProjectCreator.java.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/ProcImageClassLoader.java.i
-data/test/compiler/6778657/Test.java.i
+data/make/solaris/makefiles/reorder_COMPILER1_sparc.i
data/src/share/vm/interpreter/bytecodeInterpreterWithChecks.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/OffsetClosure.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/java_lang_Class.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/amd64/BsdAMD64CFrame.java.i
-data/src/share/vm/runtime/frame.inline.hpp.i
+data/src/share/vm/gc_implementation/g1/bufferingOopClosure.hpp.i
+data/make/bsd/makefiles/ppc.make.i
data/src/share/vm/ci/ciTypeArray.cpp.i
data/src/share/vm/includeDB_compiler2.i
data/src/share/vm/oops/symbolKlass.hpp.i
data/src/cpu/zero/vm/register_zero.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/dummy/DummyDebugger.java.i
-data/agent/make/dumpflagswindbg64.bat.i
+data/src/share/tools/IdealGraphVisualizer/View/nbproject/genfiles.properties.i
+data/make/windows/create.bat.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/InterpreterCodelet.java.i
data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/Node.java.i
+data/src/share/vm/services/diagnosticCommand.cpp.i
+data/src/os/solaris/launcher/java_md.h.i
data/src/share/tools/IdealGraphVisualizer/ServerCompiler/nbproject/project.xml.i
+data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicField.java.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/Bundle.properties.i
data/src/share/vm/memory/space.inline.hpp.i
data/src/share/tools/IdealGraphVisualizer/nbproject/genfiles.properties.i
@@ -2208,57 +2211,57 @@ data/agent/test/jdi/TargetAdapter.java.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodePutStatic.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86BranchInstruction.java.i
data/src/share/vm/interpreter/bytecodeStream.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/types/CIntegerField.java.i
+data/src/cpu/x86/vm/stubRoutines_x86_64.hpp.i
data/src/share/tools/ProjectCreator/BuildConfig.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/WindowsNTSubsystem.java.i
-data/src/share/vm/gc_implementation/shared/gcStats.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/memory/FreeChunk.java.i
+data/src/share/vm/compiler/compilerOracle.cpp.i
data/src/share/vm/oops/constantPoolOop.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeLoadConstant.java.i
data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicJBooleanField.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FMOVrDecoder.java.i
-data/build/sa.files.i
+data/src/share/vm/shark/sharkState.hpp.i
data/src/os/windows/vm/mutex_windows.cpp.i
-data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/layer.xml.i
+data/make/windows/makefiles/fastdebug.make.i
data/src/share/tools/IdealGraphVisualizer/Data/nbproject/suite.properties.i
-data/src/share/vm/memory/cardTableRS.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/LoadDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/Thread.java.i
-data/src/share/vm/utilities/preserveException.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/TwoOopHashtable.java.i
-data/src/cpu/x86/vm/frame_x86.hpp.i
-data/src/share/vm/classfile/classFileError.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FPMoveDecoder.java.i
+data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/InputSlot.java.i
+data/test/compiler/6910618/Test.java.i
+data/test/compiler/5091921/Test6959129.java.i
data/agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ClassWriter.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/CounterData.java.i
data/agent/make/finalizerinfoproc.sh.i
data/src/share/tools/IdealGraphVisualizer/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties.i
-data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/actions/FilterAction.java.i
-data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/ExportAction.java.i
-data/agent/test/jdi/runjdb.sh.i
+data/src/share/vm/ci/ciSymbol.hpp.i
+data/make/linux/makefiles/compiler2.make.i
+data/src/os/linux/vm/objectMonitor_linux.cpp.i
data/src/share/vm/opto/parse2.cpp.i
data/src/share/vm/code/debugInfo.hpp.i
data/agent/test/jdi/README.jjh.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/VMVersionMismatchException.java.i
-data/src/share/vm/opto/phaseX.cpp.i
+data/test/compiler/6832293/Test.java.i
+data/src/os/bsd/vm/jvm_bsd.cpp.i
+data/src/share/vm/c1/c1_ValueStack.hpp.i
data/src/share/vm/memory/heap.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/posix/elf/ELFException.java.i
data/src/share/tools/IdealGraphVisualizer/Filter/nbproject/project.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/SignatureIterator.java.i
data/src/cpu/sparc/vm/register_sparc.hpp.i
-data/src/cpu/x86/vm/vmreg_x86.cpp.i
+data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/actions/SaveFilterSettingsAction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSethiInstruction.java.i
data/src/cpu/zero/vm/dump_zero.cpp.i
data/src/share/tools/IdealGraphVisualizer/Settings/nbproject/build-impl.xml.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/RBColor.java.i
-data/make/solaris/makefiles/kernel.make.i
+data/make/defs.make.i
+data/make/linux/makefiles/defs.make.i
data/src/share/tools/IdealGraphVisualizer/Data/nbproject/genfiles.properties.i
data/src/os_cpu/solaris_x86/vm/solaris_x86_32.s.i
-data/src/os_cpu/linux_sparc/vm/threadLS_linux_sparc.cpp.i
data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/InputMethod.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/Symbol.java.i
-data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/actions/Bundle.properties.i
+data/agent/src/share/classes/sun/jvm/hotspot/ui/HeapParametersPanel.java.i
+data/test/runtime/6626217/Test6626217.sh.i
data/agent/src/os/win32/initWinsock.hpp.i
data/src/share/vm/runtime/vmThread.cpp.i
-data/make/solaris/makefiles/mapfile-vers-jvm_db.i
data/src/share/vm/runtime/biasedLocking.hpp.i
data/src/share/vm/prims/jvmtiH.xsl.i
data/src/cpu/sparc/vm/c1_LIRAssembler_sparc.hpp.i
@@ -2268,7 +2271,7 @@ data/agent/src/share/classes/sun/jvm/hotspot/memory/CMSCollector.java.i
data/src/share/vm/code/location.cpp.i
data/test/compiler/7042153/Test7042153.java.i
data/src/share/vm/shark/sharkMemoryManager.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRegister.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicIntType.java.i
data/src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.cpp.i
data/src/share/vm/services/runtimeService.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/VirtualSpace.java.i
@@ -2280,17 +2283,18 @@ data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCMoveInstruction.java
data/src/share/vm/gc_implementation/g1/concurrentMark.cpp.i
data/src/share/vm/prims/jvm.h.i
data/agent/src/share/classes/sun/jvm/hotspot/types/TypeDataBase.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeCheckCast.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9FMOVccInstruction.java.i
data/src/cpu/x86/vm/assembler_x86_32.inline.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/linux_sparc/LinuxSPARCJavaThreadPDAccess.java.i
data/src/share/tools/IdealGraphVisualizer/Settings/src/com/sun/hotspot/igv/settings/layer.xml.i
-data/agent/src/share/classes/sun/jvm/hotspot/ci/ciInstance.java.i
+data/src/share/vm/code/icBuffer.hpp.i
+data/src/cpu/sparc/vm/c2_init_sparc.cpp.i
data/agent/src/share/classes/com/sun/java/swing/ui/StatusBar.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicCompoundType.java.i
data/src/os/windows/vm/threadCritical_windows.cpp.i
data/build/solaris/makefiles/mapfile-vers.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/LowMemoryDetectorThread.java.i
-data/src/share/tools/ProjectCreator/FileFormatException.java.i
+data/src/share/vm/runtime/stackValue.hpp.i
data/agent/make/dumpsyspropswindbg64.bat.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/OutlineTopComponentSettings.xml.i
data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/ClusterEdge.java.i
@@ -2307,25 +2311,20 @@ data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/co
data/src/os_cpu/linux_sparc/vm/thread_linux_sparc.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/HaltNode.java.i
data/src/share/vm/c1/c1_ValueMap.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RestoredInstruction.java.i
-data/src/share/vm/memory/blockOffsetTable.inline.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9SavedRestoredDecoder.java.i
data/test/compiler/5091921/Test5091921.java.i
data/agent/src/share/classes/sun/jvm/hotspot/types/basic/VtblAccess.java.i
-data/src/share/vm/libadt/set.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/IntegerEnum.java.i
-data/test/compiler/6795161/Test.java.i
-data/src/share/tools/IdealGraphVisualizer/FilterWindow/nbproject/project.properties.i
+data/src/share/vm/prims/methodHandles.cpp.i
data/test/compiler/7047069/Test7047069.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ci/ciReceiverTypeData.java.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/memo/MemoizedDouble.java.i
data/build/windows/projectfiles/compiler1/vm.dsw.i
-data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/Phase.java.i
-data/src/share/vm/opto/loopUnswitch.cpp.i
+data/src/share/vm/gc_implementation/g1/vm_operations_g1.cpp.i
data/src/share/vm/runtime/fieldDescriptor.cpp.i
data/src/cpu/zero/vm/stack_zero.inline.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/VirtualBaseConstructor.java.i
-data/src/share/vm/ci/ciArrayKlassKlass.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/Address.java.i
+data/test/compiler/6823354/Test6823354.java.i
+data/make/linux/makefiles/sparcv9.make.i
data/src/share/vm/prims/jvmtiRawMonitor.hpp.i
data/build/windows/projectfiles/tiered/Makefile.i
data/src/share/vm/ci/ciMethodKlass.cpp.i
@@ -2334,10 +2333,10 @@ data/src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cp
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaFactoryImpl.java.i
data/make/templates/bsd-header.i
data/src/cpu/zero/vm/templateTable_zero.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSaveInstruction.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32Address.java.i
+data/test/compiler/6837011/Test6837011.java.i
+data/agent/src/share/classes/com/sun/java/swing/ui/SplashScreen.java.i
data/src/os/solaris/dtrace/libjvm_db.c.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCShiftInstruction.java.i
+data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/actions/RemoveFilterAction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/ConstantTag.java.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/HeapGraphWriter.java.i
data/src/share/vm/memory/gcLocker.hpp.i
@@ -2353,86 +2352,83 @@ data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv
data/src/cpu/sparc/vm/templateInterpreter_sparc.hpp.i
data/src/os/linux/vm/jvm_linux.cpp.i
data/src/share/vm/ci/ciInstanceKlass.hpp.i
+data/src/share/vm/opto/compile.hpp.i
data/agent/make/permstatwindbg64.bat.i
data/src/share/vm/runtime/osThread.cpp.i
data/src/share/vm/utilities/errorReporter.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/runtime/bsd/BsdSignals.java.i
+data/build/solaris/makefiles/reorder_CORE_sparcv9.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/PredSuccAction.java.i
data/src/share/vm/ci/ciObjArrayKlass.hpp.i
data/src/share/vm/includeDB_zero.i
-data/src/share/vm/compiler/compileLog.hpp.i
+data/src/share/vm/memory/threadLocalAllocBuffer.cpp.i
+data/src/cpu/sparc/vm/bytecodeInterpreter_sparc.cpp.i
data/src/share/vm/classfile/verifier.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50Subsection.java.i
-data/src/share/vm/prims/privilegedStack.hpp.i
+data/test/compiler/5091921/Test6753639.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86SegmentRegister.java.i
data/src/share/vm/prims/jvmtiEnv.xsl.i
-data/build/linux/Queens.class.i
+data/src/share/vm/runtime/safepoint.cpp.i
+data/make/bsd/makefiles/hp1.make.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/JavaThreadState.java.i
-data/agent/src/os/linux/libproc.h.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9ReadDecoder.java.i
-data/src/cpu/sparc/vm/jni_sparc.h.i
+data/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp.i
+data/src/share/vm/runtime/sharedRuntimeTrig.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/memo/MemoizedObject.java.i
data/src/os/bsd/dtrace/jvm_dtrace.h.i
-data/agent/src/share/classes/sun/jvm/hotspot/types/Type.java.i
+data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/remove.filter.i
+data/src/share/vm/services/diagnosticFramework.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCDisassembler.java.i
-data/src/share/vm/opto/lcm.cpp.i
data/src/cpu/sparc/vm/register_sparc.cpp.i
data/src/cpu/zero/vm/cppInterpreter_zero.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaScriptEngine.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/opto/CallDynamicJavaNode.java.i
+data/src/share/vm/services/diagnosticArgument.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java.i
data/agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/AddressDataSource.java.i
data/build/solaris/makefiles/compiler1.make.i
data/make/solaris/makefiles/reorder_COMPILER1_i486.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9MOVccDecoder.java.i
data/src/os/solaris/vm/mutex_solaris.inline.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/BitType.java.i
-data/src/os_cpu/solaris_sparc/vm/thread_solaris_sparc.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/jdi/IntegerTypeImpl.java.i
data/src/share/tools/IdealGraphVisualizer/NetworkConnection/nbproject/genfiles.properties.i
-data/src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp.i
data/src/share/tools/IdealGraphVisualizer/ControlFlow/nbproject/build-impl.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/ArrayReferenceImpl.java.i
+data/agent/src/share/classes/com/sun/java/swing/action/HelpMenu.java.i
data/agent/test/jdi/TargetListener.java.i
data/build/windows/platform_amd64.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/HeapGXLWriter.java.i
+data/src/share/vm/ci/ciFlags.hpp.i
data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/OutputSlot.java.i
data/src/share/vm/ci/ciEnv.cpp.i
data/src/share/vm/opto/doCall.cpp.i
-data/test/compiler/6930043/Test6930043.java.i
-data/agent/src/share/classes/images/toolbarButtonGraphics/text/AlignCenter16.gif.i
+data/src/share/vm/gc_implementation/g1/heapRegionSeq.inline.hpp.i
data/build/linux/makefiles/saproc.make.i
data/src/share/vm/opto/macro.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/action/FindClassesAction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/LongValueImpl.java.i
-data/src/share/vm/ci/ciMethod.cpp.i
data/src/share/tools/MakeDeps/Platform.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/StreamMonitor.java.i
data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/Slot.java.i
-data/test/compiler/6894807/Test6894807.sh.i
+data/make/solaris/makefiles/mapfile-vers-jvm_db.i
data/src/os/linux/vm/vmError_linux.cpp.i
data/src/share/vm/classfile/javaClasses.hpp.i
-data/test/runtime/6929067/Test6929067.sh.i
-data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/actions/Bundle.properties.i
+data/make/solaris/makefiles/hp1.make.i
data/src/share/tools/ProjectCreator/ArgsParser.java.i
data/agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/FloatTreeNodeAdapter.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/ExportDirectoryTable.java.i
-data/src/share/tools/MakeDeps/Macro.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeFastAAccess0.java.i
data/src/share/vm/compiler/methodLiveness.cpp.i
-data/test/compiler/6935535/Test.java.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaFactory.java.i
+data/src/share/vm/code/codeBlob.hpp.i
data/agent/test/jdi/TEST.ROOT.i
data/src/share/vm/includeDB_features.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9IlltrapInstruction.java.i
data/src/share/vm/interpreter/cppInterpreter.hpp.i
data/src/os_cpu/windows_x86/vm/windows_x86_64.ad.i
-data/src/os_cpu/bsd_x86/vm/threadLS_bsd_x86.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32ThreadContext.java.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/actions/RemoveCookie.java.i
-data/build/windows/makefiles/defs.make.i
+data/make/solaris/makefiles/tiered.make.i
data/src/share/vm/utilities/events.cpp.i
data/make/solaris/makefiles/i486.make.i
data/make/windows/projectfiles/compiler2/ADLCompiler.dsw.i
-data/agent/src/share/classes/sun/jvm/hotspot/ui/CommandProcessorPanel.java.i
+data/src/cpu/x86/vm/vm_version_x86.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/ia64/IA64ThreadContext.java.i
-data/src/share/vm/runtime/jniHandles.hpp.i
+data/src/cpu/zero/vm/jni_zero.h.i
data/src/share/tools/IdealGraphVisualizer/Data/build.xml.i
data/agent/make/jdbcore.sh.i
data/build/windows/projectfiles/core/vm.dsw.i
@@ -2451,130 +2447,137 @@ data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/f
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/CoprocessorBranchDecoder.java.i
data/src/share/vm/gc_implementation/g1/g1HRPrinter.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionSeq.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPInstruction.java.i
+data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/Bundle.properties.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/x86/DbxX86ThreadContext.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/JavaStackTracePanel.java.i
data/make/windows/makefiles/top.make.i
-data/agent/src/share/classes/sun/jvm/hotspot/livejvm/Event.java.i
+data/src/share/vm/gc_implementation/parallelScavenge/psGenerationCounters.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/StaticBaseConstructor.java.i
-data/src/share/vm/gc_implementation/parallelScavenge/psPromotionLAB.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/PointerFinder.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/BitMapClosure.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/code/StubQueue.java.i
+data/src/share/vm/oops/methodDataKlass.cpp.i
+data/src/share/vm/opto/superword.cpp.i
+data/agent/make/pmapwindbg64.bat.i
+data/agent/src/share/classes/sun/jvm/hotspot/jdi/DoubleTypeImpl.java.i
data/src/os/bsd/dtrace/hotspot_jni.d.i
data/src/share/vm/services/jmm.h.i
data/make/linux/makefiles/sa.make.i
data/make/linux/makefiles/arm.make.i
-data/agent/src/share/classes/sun/jvm/hotspot/code/RuntimeStub.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/StreamMonitor.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/PerfDataEntry.java.i
-data/src/share/tools/ProjectCreator/DirectoryTree.java.i
+data/src/cpu/zero/vm/shark_globals_zero.hpp.i
+data/src/share/vm/classfile/javaAssertions.cpp.i
data/src/share/vm/runtime/reflectionUtils.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/CDebugInfoDataBase.java.i
data/src/share/tools/IdealGraphVisualizer/Difference/nbproject/build-impl.xml.i
-data/src/cpu/sparc/vm/c2_init_sparc.cpp.i
+data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/Connection.java.i
data/src/share/vm/memory/allocationStats.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/InstanceMirrorKlass.java.i
data/agent/make/dumpsyspropsproc.sh.i
-data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/nbproject/project.properties.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberMapping.java.i
data/src/share/vm/services/runtimeService.cpp.i
-data/src/cpu/zero/vm/globals_zero.hpp.i
-data/src/share/vm/oops/cpCacheOop.hpp.i
+data/test/compiler/6663621/IVTest.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/HeapVisitor.java.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/actions/SaveAllAction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/tree/FieldTreeNodeAdapter.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32LDTEntryConstants.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/LongField.java.i
-data/src/os_cpu/bsd_zero/vm/bytes_bsd_zero.inline.hpp.i
+data/make/windows/makefiles/rules.make.i
data/src/share/vm/utilities/elfStringTable.hpp.i
data/src/os_cpu/windows_x86/vm/orderAccess_windows_x86.inline.hpp.i
data/build/solaris/makefiles/reorder_COMPILER1_sparc.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/ExtendedSatelliteComponent.java.i
-data/src/os/windows/vm/hpi_windows.hpp.i
+data/src/os/windows/vm/vtune_windows.cpp.i
data/test/compiler/6990212/Test6990212.java.i
data/src/share/vm/memory/serialize.cpp.i
-data/src/share/tools/ProjectCreator/ProjectCreator.java.i
+data/src/share/vm/prims/jniCheck.cpp.i
+data/make/solaris/makefiles/sparcWorks.make.i
data/src/share/tools/IdealGraphVisualizer/Layout/build.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RegisterDirectAddress.java.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/JVMTIThreadState.java.i
data/src/os_cpu/linux_zero/vm/threadLS_linux_zero.hpp.i
-data/agent/doc/ReadMe-JavaScript.text.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/LoadDecoder.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleSpace.java.i
+data/src/share/vm/memory/cardTableRS.hpp.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/images/search.gif.i
data/src/os/linux/vm/osThread_linux.cpp.i
data/src/share/vm/gc_implementation/shared/gcOverheadReporter.hpp.i
data/src/share/tools/IdealGraphVisualizer/ControlFlow/src/com/sun/hotspot/igv/controlflow/ControlFlowAction.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/RMIHelper.java.i
data/src/share/vm/ci/ciField.cpp.i
data/test/compiler/7002666/Test7002666.java.i
-data/src/share/vm/shark/sharkContext.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/CompoundTypeKind.java.i
data/test/compiler/5091921/Test6890943.java.i
data/src/os/windows/vm/os_windows.inline.hpp.i
data/src/share/vm/precompiled.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/PhiNode.java.i
-data/src/share/vm/c1/c1_LIR.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9SavedRestoredDecoder.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RestoredInstruction.java.i
data/build/solaris/makefiles/mapfile-vers-COMPILER2.i
+data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/difference.filter.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64FloatRegister.java.i
data/src/share/vm/opto/callnode.cpp.i
data/test/compiler/6863155/Test6863155.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcDebuggerLocal.java.i
data/src/share/vm/runtime/mutexLocker.cpp.i
-data/src/share/vm/memory/threadLocalAllocBuffer.cpp.i
+data/src/share/vm/adlc/arena.cpp.i
+data/src/share/vm/utilities/decoder_elf.cpp.i
+data/src/share/vm/gc_implementation/g1/ptrQueue.inline.hpp.i
data/src/share/vm/runtime/jniHandles.cpp.i
data/make/bsd/makefiles/rules.make.i
data/agent/make/dumpflagswindbg.bat.i
data/src/cpu/sparc/vm/javaFrameAnchor_sparc.hpp.i
data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/nbproject/build-impl.xml.i
-data/src/share/vm/gc_implementation/shared/coTracker.hpp.i
+data/make/solaris/Queens.class.i
+data/src/cpu/sparc/vm/assembler_sparc.cpp.i
data/src/share/vm/runtime/timer.hpp.i
data/src/share/vm/opto/callGenerator.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeFastAAccess0.java.i
+data/src/share/tools/MakeDeps/Macro.java.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/TypeComponentImpl.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DataDirectory.java.i
-data/src/cpu/x86/vm/vm_version_x86_32.hpp.i
+data/agent/src/os/win32/Buffer.cpp.i
data/agent/make/soqlproc.sh.i
data/src/cpu/zero/vm/stack_zero.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/MachNode.java.i
data/src/os/bsd/vm/threadCritical_bsd.cpp.i
data/src/share/vm/shark/sharkStack.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/HeapVisitor.java.i
+data/src/share/vm/oops/cpCacheOop.hpp.i
data/src/share/vm/adlc/adlparse.cpp.i
-data/agent/test/jdi/serialvm.java.i
+data/agent/doc/ReadMe-JavaScript.text.i
data/src/share/vm/adlc/adlc.hpp.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/images/extract.gif.i
-data/src/share/vm/runtime/prefetch.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicField.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/sparc/RemoteSPARCThreadFactory.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/BitType.java.i
+data/src/share/vm/runtime/osThread.hpp.i
data/src/share/vm/runtime/perfMemory.cpp.i
data/src/share/vm/ci/ciFlags.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/InputLexer.java.i
+data/build/windows/projectfiles/tiered/ADLCompiler.dsp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/ProcessControl.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ci/ciObjectFactory.java.i
data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/ClusterNode.java.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaClass.java.i
data/agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicField.java.i
+data/src/cpu/sparc/vm/vm_version_sparc.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeRet.java.i
data/test/compiler/5091921/input6890943.txt.i
data/agent/src/os/linux/Makefile.i
data/src/share/tools/MakeDeps/FileName.java.i
-data/src/cpu/zero/vm/interpreter_zero.hpp.i
+data/src/cpu/x86/vm/sharedRuntime_x86_64.cpp.i
data/src/share/vm/gc_implementation/shared/gcAdaptivePolicyCounters.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicJShortField.java.i
data/make/windows/makefiles/sanity.make.i
-data/build/solaris/makefiles/mapfile-vers-COMPILER1.i
data/src/share/vm/shark/sharkCompiler.cpp.i
-data/src/share/tools/IdealGraphVisualizer/View/nbproject/build-impl.xml.i
+data/agent/src/share/classes/sun/jvm/hotspot/bugspot/RegisterPanel.java.i
+data/build/solaris/platform_i486.i
data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/InputBlockEdge.java.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/images/zoomin.gif.i
data/make/solaris/makefiles/compiler2.make.i
data/test/compiler/6646020/Tester.java.i
data/src/share/tools/IdealGraphVisualizer/Util/nbproject/genfiles.properties.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/SAPanel.java.i
-data/agent/doc/hsdb.html.i
data/build/windows/platform_i486.i
-data/src/share/vm/opto/callnode.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/CodeHeap.java.i
data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/ServerCompilerScheduler.java.i
-data/src/share/tools/IdealGraphVisualizer/Layout/nbproject/platform.properties.i
+data/agent/src/share/classes/sun/jvm/hotspot/ci/ciMethod.java.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodePutField.java.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/FloatValueImpl.java.i
data/src/share/vm/utilities/copy.hpp.i
@@ -2584,7 +2587,7 @@ data/src/cpu/zero/vm/bytecodes_zero.cpp.i
data/src/cpu/x86/vm/c1_Runtime1_x86.cpp.i
data/agent/src/os/win32/isNT4.hpp.i
data/src/share/vm/ci/ciObjArrayKlassKlass.cpp.i
-data/src/share/tools/MakeDeps/UnixPlatform.java.i
+data/src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp.i
data/src/os/bsd/vm/chaitin_bsd.cpp.i
data/src/cpu/zero/vm/fakeStubFrame_zero.hpp.i
data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/JavaGroupOrganizer.java.i
@@ -2593,6 +2596,7 @@ data/src/share/tools/launcher/java.c.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/RetData.java.i
data/src/share/vm/shark/sharkInvariants.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/GenerationSpec.java.i
+data/src/os/linux/vm/chaitin_linux.cpp.i
data/src/share/tools/IdealGraphVisualizer/Bytecodes/src/com/sun/hotspot/igv/bytecodes/images/method.gif.i
data/src/share/vm/gc_implementation/shared/mutableSpace.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/Arguments.java.i
@@ -2602,9 +2606,9 @@ data/src/share/vm/prims/jvmti.xsl.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FP2RegisterDecoder.java.i
data/make/solaris/makefiles/core.make.i
data/agent/src/share/classes/images/toolbarButtonGraphics/general/SaveAs24.gif.i
-data/src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/Symbol.java.i
data/src/share/vm/ci/ciTypeArrayKlass.cpp.i
-data/src/share/vm/shark/sharkInliner.cpp.i
+data/src/cpu/x86/vm/x86.ad.i
data/agent/src/share/classes/sun/jvm/hotspot/tools/JMap.java.i
data/src/share/vm/gc_implementation/concurrentMarkSweep/cmsPermGen.cpp.i
data/src/share/tools/IdealGraphVisualizer/NetworkConnection/src/com/sun/hotspot/igv/connection/Bundle.properties.i
@@ -2617,45 +2621,49 @@ data/agent/src/share/classes/sun/jvm/hotspot/opto/SafePointNode.java.i
data/agent/src/os/solaris/dbx/Makefile.i
data/agent/src/share/classes/com/sun/java/swing/action/NextAction.java.i
data/src/share/vm/interpreter/bytecodeHistogram.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9Disassembler.java.i
+data/make/linux/makefiles/amd64.make.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FloatBranchDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/bugspot/PackageScanner.java.i
-data/src/share/vm/services/g1MemoryPool.hpp.i
-data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/services/GroupReceiver.java.i
+data/src/share/vm/gc_implementation/concurrentMarkSweep/freeChunk.hpp.i
+data/src/share/tools/IdealGraphVisualizer/Filter/src/META-INF/services/com.sun.hotspot.igv.filter.ScriptEngineAbstraction.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeLoadStore.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/OopHandle.java.i
-data/src/share/vm/shark/sharkTopLevelBlock.hpp.i
+data/src/share/tools/IdealGraphVisualizer/ControlFlow/manifest.mf.i
data/src/os_cpu/windows_x86/vm/threadLS_windows_x86.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeLookupswitch.java.i
data/src/share/vm/gc_implementation/shared/spaceCounters.hpp.i
-data/src/os/windows/vm/c2_globals_windows.hpp.i
+data/src/share/vm/gc_implementation/g1/heapRegion.inline.hpp.i
data/src/share/vm/opto/live.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/code/SafepointBlob.java.i
data/src/os_cpu/linux_zero/vm/vmStructs_linux_zero.hpp.i
-data/make/linux/platform_zero.in.i
-data/make/windows/projectfiles/core/vm.dsw.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86InstructionFactoryImpl.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/JmpDecoder.java.i
data/agent/src/share/classes/images/toolbarButtonGraphics/general/Zoom16.gif.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50X86RegisterEnums.java.i
data/agent/src/share/classes/sun/jvm/hotspot/code/BufferBlob.java.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/InvocableCallable.java.i
data/test/compiler/6636138/Test2.java.i
data/build/solaris/makefiles/reorder_CORE_amd64.i
+data/src/os/windows/vm/jvm_windows.h.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V8FPop2Decoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/UnknownOopException.java.i
data/src/share/vm/oops/fieldInfo.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/MemberFunctionType.java.i
data/src/share/vm/runtime/deoptimization.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/ui/treetable/TreeTableModel.java.i
+data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/MatcherSelector.java.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/CardGeneration.java.i
-data/src/os/windows/vm/objectMonitor_windows.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9InstructionFactoryImpl.java.i
data/src/share/tools/IdealGraphVisualizer/Layout/nbproject/project.properties.i
+data/src/share/vm/utilities/constantTag.hpp.i
data/src/share/vm/memory/genMarkSweep.hpp.i
+data/src/os/windows/vm/perfMemory_windows.cpp.i
data/build/linux/build.sh.i
data/src/share/vm/oops/instanceRefKlass.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/types/JByteField.java.i
+data/src/share/vm/code/nmethod.hpp.i
data/src/share/vm/adlc/archDesc.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/bugspot/PCFinder.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/dummy/DummyAddress.java.i
data/agent/src/share/classes/images/toolbarButtonGraphics/development/Server16.gif.i
data/src/share/vm/utilities/utf8.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/LdstubDecoder.java.i
@@ -2663,7 +2671,8 @@ data/test/compiler/6823453/Test.java.i
data/agent/src/os/linux/salibelf.c.i
data/src/share/vm/oops/instanceMirrorKlass.cpp.i
data/test/compiler/6579789/Test6579789.java.i
-data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/FilterChain.java.i
+data/agent/make/Makefile.i
+data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/images/add.gif.i
data/make/windows/makefiles/product.make.i
data/make/bsd/makefiles/zeroshark.make.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/StubRoutines.java.i
@@ -2671,20 +2680,17 @@ data/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp.i
data/src/os/windows/vm/version.rc.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/widgets/BlockWidget.java.i
data/build/windows/build.bat.i
-data/agent/src/share/classes/sun/jvm/hotspot/ui/JavaThreadsPanel.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MoveStoreInstruction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/TypeNode.java.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSList.java.i
-data/src/share/vm/runtime/handles.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/StackTrace.java.i
data/test/runtime/6626217/IFace.java.i
data/test/compiler/6875866/Test.java.i
data/src/share/vm/runtime/vm_version.hpp.i
data/src/cpu/zero/vm/assembler_zero.inline.hpp.i
-data/src/os_cpu/linux_sparc/vm/atomic_linux_sparc.inline.hpp.i
+data/test/compiler/6880034/Test6880034.java.i
data/src/share/vm/gc_implementation/g1/g1BlockOffsetTable.hpp.i
data/make/linux/makefiles/mapfile-vers-debug.i
-data/src/share/tools/IdealGraphVisualizer/Bytecodes/build.xml.i
data/build/linux/makefiles/hp1.make.i
data/agent/src/share/classes/sun/jvm/hotspot/compiler/OopMapVisitor.java.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/FieldImpl.java.i
@@ -2692,22 +2698,24 @@ data/src/os/solaris/vm/chaitin_solaris.cpp.i
data/agent/make/saenv.bat.i
data/build/windows/projectfiles/tiered/ADLCompiler.dsw.i
data/make/bsd/makefiles/launcher.make.i
-data/src/share/vm/gc_implementation/parNew/asParNewGeneration.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/RTLOperations.java.i
+data/src/os/windows/vm/decoder_windows.hpp.i
+data/test/compiler/6757316/Test6757316.java.i
data/agent/make/finalizerinfoproc64.sh.i
data/test/compiler/5091921/Test7005594.sh.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSSymbolBase.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCJmplInstruction.java.i
data/src/os/bsd/vm/mutex_bsd.cpp.i
-data/src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp.i
+data/agent/test/jdi/serialvm.sh.i
data/agent/test/libproc/LibprocClient.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/OopPrinter.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/memory/CompactingPermGen.java.i
data/test/compiler/6378821/Test6378821.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/DoubleType.java.i
data/agent/src/share/classes/sun/jvm/hotspot/code/DebugInfoReadStream.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeJsrW.java.i
+data/agent/src/share/classes/images/toolbarButtonGraphics/text/AlignRight16.gif.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/actions/MoveFilterUpAction.java.i
data/src/cpu/sparc/vm/methodHandles_sparc.hpp.i
-data/make/solaris/makefiles/reorder_TIERED_i486.i
-data/agent/src/os/solaris/proc/saproc.cpp.i
+data/build/solaris/makefiles/mapfile-vers-COMPILER1.i
data/src/share/vm/gc_implementation/shared/isGCActiveMark.hpp.i
data/src/share/vm/gc_implementation/shared/gcOverheadReporter.cpp.i
data/test/compiler/6910605/Test.java.i
@@ -2718,36 +2726,37 @@ data/src/share/vm/gc_implementation/parallelScavenge/vmStructs_parallelgc.hpp.i
data/src/os_cpu/linux_zero/vm/orderAccess_linux_zero.inline.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/BaseLineInfo.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ci/ciSymbol.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/runtime/JavaThread.java.i
+data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/FilterChain.java.i
data/src/share/vm/opto/block.cpp.i
-data/src/share/vm/opto/connode.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/IndirectAddress.java.i
data/make/bsd/makefiles/cscope.make.i
+data/src/share/vm/runtime/prefetch.hpp.i
data/src/share/vm/runtime/orderAccess.cpp.i
-data/test/compiler/6589834/Test_ia32.java.i
data/build/windows/build_vm_def.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/SOQLEngine.java.i
-data/src/share/vm/utilities/elfFile.cpp.i
+data/src/share/tools/IdealGraphVisualizer/Layout/nbproject/platform.properties.i
data/build/solaris/makefiles/profiled.make.i
data/test/compiler/6843752/Test.java.i
data/src/share/vm/opto/matcher.cpp.i
data/agent/src/share/classes/images/toolbarButtonGraphics/general/Help16.gif.i
-data/src/share/vm/gc_implementation/g1/heapRegion.hpp.i
+data/test/compiler/6636138/Test1.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/table/SortableTableModel.java.i
data/agent/test/libproc/LibprocTest.java.i
data/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.hpp.i
-data/src/share/vm/utilities/stack.hpp.i
+data/src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86CallInstruction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/CharField.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ci/ciInstanceKlassKlass.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCInstructionFactory.java.i
-data/src/share/vm/prims/jvmtiExtensions.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/jdi/MethodImpl.java.i
+data/src/share/vm/services/threadService.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSModule.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/LineNumberInfo.java.i
data/agent/src/share/classes/sun/jvm/hotspot/types/Field.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/FrameWrapper.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/opto/CallNode.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicOopField.java.i
data/src/share/vm/oops/instanceOop.cpp.i
data/src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/DefaultOopVisitor.java.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/PreferenceConstants.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/FindInCodeCachePanel.java.i
data/src/share/tools/IdealGraphVisualizer/ControlFlow/src/com/sun/hotspot/igv/controlflow/ControlFlowScene.java.i
@@ -2755,6 +2764,7 @@ data/agent/src/share/classes/sun/jvm/hotspot/debugger/ThreadContext.java.i
data/src/share/vm/oops/compiledICHolderOop.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/code/ConstantIntValue.java.i
data/build/windows/makefiles/adlc.make.i
+data/build/linux/makefiles/rules.make.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/PointerLocation.java.i
data/src/share/tools/IdealGraphVisualizer/Util/src/com/sun/hotspot/igv/util/ColorIcon.java.i
data/src/cpu/sparc/vm/bytes_sparc.hpp.i
@@ -2765,7 +2775,7 @@ data/src/share/vm/precompiled/precompiled.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/DefaultObjectVisitor.java.i
data/build/solaris/makefiles/reorder_COMPILER2_sparcv9.i
data/src/share/vm/runtime/atomic.hpp.i
-data/test/compiler/6769124/TestDeoptInt6769124.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java.i
data/src/share/vm/runtime/vframeArray.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/COFFRelocation.java.i
data/build/windows/projectfiles/compiler2/Makefile.i
@@ -2776,8 +2786,8 @@ data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FPop1Decoder.java.i
data/src/share/vm/memory/genOopClosures.inline.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/LongTreeNodeAdapter.java.i
data/src/share/vm/adlc/formsopt.cpp.i
-data/src/os_cpu/bsd_zero/vm/prefetch_bsd_zero.inline.hpp.i
-data/src/cpu/zero/vm/jni_zero.h.i
+data/agent/src/share/classes/sun/jvm/hotspot/runtime/BasicType.java.i
+data/src/share/tools/IdealGraphVisualizer/Settings/build.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/DebuggerException.java.i
data/src/share/vm/gc_implementation/shared/gcAdaptivePolicyCounters.cpp.i
data/build/linux/platform_amd64.i
@@ -2786,7 +2796,7 @@ data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/Find
data/build/solaris/platform_sparc.gcc.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/CIntField.java.i
data/src/share/vm/ci/ciMethodKlass.hpp.i
-data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/widgets/DiagramConnectionWidget.java.i
+data/src/share/tools/IdealGraphVisualizer/Graph/nbproject/project.xml.i
data/make/solaris/makefiles/reorder_CORE_sparc.i
data/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp.i
data/src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp.i
@@ -2796,13 +2806,15 @@ data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9CasDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEArithmeticDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgCDebugger.java.i
data/src/share/vm/opto/divnode.cpp.i
-data/src/share/vm/interpreter/linkResolver.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCIndirectCallInstruction.java.i
+data/src/share/vm/opto/mulnode.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSMap.java.i
-data/src/os_cpu/solaris_x86/vm/solaris_x86_32.ad.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeLoad.java.i
+data/src/share/vm/interpreter/bytecodes.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/tree/SimpleTreeGroupNode.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/LoadObject.java.i
+data/make/altsrc.make.i
data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicJByteField.java.i
data/agent/src/share/classes/com/sun/java/swing/action/ApplyAction.java.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/GraphViewerImplementation.java.i
@@ -2815,10 +2827,11 @@ data/src/os_cpu/linux_x86/vm/atomic_linux_x86.inline.hpp.i
data/src/share/vm/prims/jvm_misc.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/LazyBlockSym.java.i
data/src/share/vm/opto/addnode.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/code/CompressedStream.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ci/ciObject.java.i
data/src/share/vm/opto/loopnode.hpp.i
data/make/linux/makefiles/sparcWorks.make.i
-data/agent/src/share/classes/sun/jvm/hotspot/ui/SAEditorPane.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/x86/ProcX86Thread.java.i
data/agent/src/os/solaris/dbx/helloWorld.cpp.i
data/src/share/vm/memory/permGen.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/amd64/AMD64ThreadContext.java.i
@@ -2827,78 +2840,78 @@ data/build/linux/makefiles/jvmti.make.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50ReservedTypes.java.i
data/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/ShortValueImpl.java.i
-data/src/share/vm/classfile/symbolTable.hpp.i
+data/src/cpu/x86/vm/nativeInst_x86.hpp.i
data/src/share/vm/memory/oopFactory.hpp.i
data/src/share/vm/interpreter/oopMapCache.cpp.i
data/.hgignore.i
+data/src/share/vm/gc_implementation/g1/satbQueue.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/LineNumberTableElement.java.i
-data/src/os_cpu/solaris_x86/vm/os_solaris_x86.hpp.i
data/build/solaris/makefiles/amd64.make.i
-data/src/share/vm/gc_implementation/concurrentMarkSweep/cmsPermGen.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/JFrameWrapper.java.i
-data/agent/make/finalizerinfowindbg64.bat.i
+data/src/share/vm/code/vmreg.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCOpcodes.java.i
data/src/share/tools/ProjectCreator/WinGammaPlatformVC8.java.i
data/src/share/tools/IdealGraphVisualizer/Difference/nbproject/project.xml.i
data/agent/src/share/classes/com/sun/java/swing/action/AlignCenterAction.java.i
-data/src/os/solaris/dtrace/libjvm_db.h.i
+data/src/share/tools/MakeDeps/WinGammaPlatformVC8.java.i
data/src/share/vm/prims/jvmtiImpl.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteOopHandle.java.i
-data/test/compiler/5091921/Test6890943.sh.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcThreadFactory.java.i
+data/src/cpu/zero/vm/bytecodes_zero.hpp.i
+data/make/solaris/platform_amd64.i
+data/src/share/vm/gc_implementation/g1/sparsePRT.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/SourceCodePanel.java.i
data/agent/src/share/classes/images/toolbarButtonGraphics/text/AlignLeft16.gif.i
data/src/share/vm/interpreter/bytecodeInterpreter.hpp.i
data/src/share/vm/opto/divnode.hpp.i
data/src/share/vm/runtime/javaCalls.cpp.i
+data/make/solaris/makefiles/buildtree.make.i
data/src/cpu/zero/vm/register_zero.cpp.i
data/src/share/vm/opto/ifg.cpp.i
data/src/share/vm/runtime/aprofiler.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaInstance.java.i
data/src/share/vm/c1/c1_CFGPrinter.cpp.i
+data/src/share/vm/opto/parseHelper.cpp.i
data/src/os/windows/vm/jvm_windows.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeANewArray.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86XMMRegister.java.i
-data/make/bsd/makefiles/defs.make.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPArithmeticDecoder.java.i
+data/src/share/tools/IdealGraphVisualizer/Bytecodes/src/com/sun/hotspot/igv/bytecodes/MethodNode.java.i
data/test/compiler/6932496/Test6932496.java.i
data/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.cpp.i
-data/src/share/vm/gc_implementation/g1/survRateGroup.cpp.i
-data/src/share/vm/gc_implementation/g1/satbQueue.hpp.i
+data/src/share/vm/memory/filemap.cpp.i
+data/src/share/vm/oops/oop.psgc.inline.hpp.i
data/src/share/vm/utilities/ostream.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java.i
data/agent/src/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java.i
data/src/share/tools/IdealGraphVisualizer/RhinoScriptEngineProxy/manifest.mf.i
data/src/share/tools/IdealGraphVisualizer/BatikSVGProxy/nbproject/build-impl.xml.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MMXRegister.java.i
data/test/compiler/7017746/Test.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/types/JCharField.java.i
+data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/ExpandPredecessorsAction.java.i
data/agent/src/share/classes/images/toolbarButtonGraphics/general/Save16.gif.i
data/src/share/tools/IdealGraphVisualizer/RhinoScriptEngineProxy/src/com/sun/hotspot/igv/rhino/layer.xml.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/CellTypeStateList.java.i
+data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/InputEdge.java.i
data/agent/src/os/linux/test.c.i
data/agent/src/share/classes/images/toolbarButtonGraphics/general/SaveAs16.gif.i
data/src/share/vm/utilities/taskqueue.cpp.i
-data/src/os_cpu/linux_sparc/vm/vmStructs_linux_sparc.hpp.i
+data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/BoundedZoomAction.java.i
data/build/solaris/adlc_updater.i
-data/src/share/vm/utilities/events.hpp.i
+data/src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.hpp.i
data/src/cpu/sparc/vm/methodHandles_sparc.cpp.i
-data/agent/make/jcorewindbg64.bat.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/CoprocessorDecoder.java.i
+data/test/compiler/6855215/Test6855215.java.i
data/LICENSE.i
data/src/share/tools/IdealGraphVisualizer/ControlFlow/nbproject/project.xml.i
data/src/share/vm/memory/resourceArea.hpp.i
-data/src/cpu/zero/vm/copy_zero.hpp.i
+data/src/share/tools/IdealGraphVisualizer/NetworkConnection/src/com/sun/hotspot/igv/connection/Client.java.i
data/src/share/vm/ci/bcEscapeAnalyzer.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/TestParser.java.i
data/src/os_cpu/linux_zero/vm/os_linux_zero.hpp.i
data/src/os_cpu/windows_x86/vm/globals_windows_x86.hpp.i
data/src/os/bsd/vm/globals_bsd.hpp.i
-data/src/share/vm/services/management.hpp.i
data/src/share/vm/classfile/verificationType.cpp.i
-data/src/os/windows/vm/mutex_windows.inline.hpp.i
+data/src/share/vm/memory/barrierSet.inline.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/StoreInstruction.java.i
data/make/solaris/makefiles/sparcv9.make.i
data/src/share/vm/compiler/compileBroker.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FPopDecoder.java.i
+data/agent/src/os/solaris/proc/saproc.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/VirtualCallData.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicRefType.java.i
data/src/share/vm/runtime/compilationPolicy.hpp.i
@@ -2906,41 +2919,43 @@ data/src/os/solaris/vm/stubRoutines_solaris.cpp.i
data/src/share/vm/opto/coalesce.hpp.i
data/src/share/vm/shark/shark_globals.hpp.i
data/src/share/tools/launcher/jli_util.h.i
+data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/OverviewAction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86ArithmeticInstruction.java.i
data/src/share/vm/opto/cfgnode.cpp.i
data/src/cpu/x86/vm/register_x86.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxAddress.java.i
data/test/compiler/6894807/IsInstanceTest.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeInvoke.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicBlockSym.java.i
data/test/compiler/6539464/Test.java.i
data/make/solaris/makefiles/mapfile-vers-COMPILER1.i
-data/src/cpu/sparc/vm/vmreg_sparc.hpp.i
+data/src/share/vm/runtime/simpleThresholdPolicy.inline.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/EditableAtEndDocument.java.i
-data/test/compiler/6885584/Test6885584.java.i
data/build/windows/projectfiles/compiler2/vm.dsw.i
-data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/OutlineTopComponentWstcref.xml.i
+data/src/os_cpu/solaris_x86/vm/os_solaris_x86.inline.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicPointerType.java.i
-data/agent/make/Makefile.i
+data/src/share/tools/IdealGraphVisualizer/ControlFlow/src/com/sun/hotspot/igv/controlflow/BlockConnectionWidget.java.i
data/src/share/vm/gc_implementation/g1/concurrentG1RefineThread.hpp.i
data/src/cpu/x86/vm/interpreterRT_x86.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/ui/tree/SimpleTreeModel.java.i
+data/src/share/vm/memory/allocation.hpp.i
+data/src/share/vm/prims/jvmtiTrace.cpp.i
data/src/os/solaris/vm/objectMonitor_solaris.hpp.i
-data/src/share/vm/Xusage.txt.i
+data/agent/make/jhistoproc64.sh.i
data/src/share/vm/prims/jvmtiTagMap.cpp.i
data/src/share/vm/code/compressedStream.hpp.i
data/src/share/tools/IdealGraphVisualizer/Bytecodes/nbproject/build-impl.xml.i
-data/agent/src/share/classes/sun/jvm/hotspot/memory/LinearAllocBlock.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PrivilegedRegisterInstruction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/JNIHandleBlock.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86ShiftInstruction.java.i
data/src/share/vm/classfile/javaClasses.cpp.i
-data/build/solaris/makefiles/reorder_COMPILER2_i486.i
-data/src/share/vm/ci/ciType.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64FloatRegisters.java.i
data/src/share/vm/prims/jvmtiEnv.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/posix/elf/ELFException.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcCFrame.java.i
data/src/share/vm/oops/compiledICHolderOop.cpp.i
data/agent/src/share/classes/images/toolbarButtonGraphics/general/ZoomIn24.gif.i
data/src/share/vm/memory/tenuredGeneration.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/MessageQueueBackend.java.i
-data/src/share/tools/IdealGraphVisualizer/Bytecodes/manifest.mf.i
+data/agent/src/share/classes/sun/jvm/hotspot/runtime/Frame.java.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/SAJDIClassLoader.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/DummySymbolFinder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/tree/CTypeTreeNodeAdapter.java.i
@@ -2952,70 +2967,72 @@ data/src/cpu/x86/vm/assembler_x86.inline.hpp.i
data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/Graph.java.i
data/make/sa.files.i
data/src/os/bsd/vm/jvm_bsd.h.i
+data/src/share/vm/shark/sharkCodeBuffer.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/LogicalDecoder.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebugger.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxCDebugger.java.i
data/src/share/vm/gc_implementation/g1/g1RemSet.cpp.i
data/src/share/vm/runtime/javaFrameAnchor.hpp.i
-data/src/share/vm/gc_implementation/parNew/vmStructs_parNew.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9Disassembler.java.i
data/agent/src/os/win32/SwDbgSrv.dsp.i
-data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/Block.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/treetable/TreeTableModelAdapter.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/ui/action/MemoryAction.java.i
+data/src/share/vm/gc_implementation/g1/g1_globals.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSGlobalSym.java.i
data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/ChangedEventProvider.java.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/Node_Array.java.i
data/src/share/tools/IdealGraphVisualizer/Layout/manifest.mf.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolCache.java.i
+data/src/share/vm/classfile/loaderConstraints.cpp.i
data/src/share/vm/c1/c1_Instruction.hpp.i
data/src/cpu/x86/vm/templateInterpreter_x86.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/Interpreter.java.i
data/src/share/tools/IdealGraphVisualizer/ControlFlow/src/com/sun/hotspot/igv/controlflow/HierarchicalGraphLayout.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/NativeSignatureIterator.java.i
data/src/share/vm/prims/jvmtiCodeBlobEvents.hpp.i
-data/make/windows/README.i
+data/src/os_cpu/windows_x86/vm/copy_windows_x86.inline.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/FloatGRPDecoder.java.i
data/src/cpu/x86/vm/runtime_x86_64.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugDirectoryEntry.java.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaArray.java.i
-data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/RemoveSelfLoopsFilter.java.i
+data/src/share/vm/trace/traceEventTypes.hpp.i
+data/src/share/vm/oops/typeArrayKlass.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/livejvm/ExceptionEvent.java.i
data/src/share/vm/c1/c1_Optimizer.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ci/ciInstanceKlass.java.i
data/src/cpu/x86/vm/c1_MacroAssembler_x86.hpp.i
data/build/windows/jvmexp_g.lcf.i
-data/agent/src/share/classes/sun/jvm/hotspot/Win32VtblAccess.java.i
-data/src/cpu/zero/vm/icache_zero.hpp.i
-data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/ScriptEngineAbstraction.java.i
+data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/services/GroupReceiver.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/ui/table/SortHeaderMouseAdapter.java.i
+data/src/share/vm/gc_implementation/concurrentMarkSweep/promotionInfo.hpp.i
data/test/runtime/6925573/SortMethodsTest.java.i
-data/src/cpu/zero/vm/stubGenerator_zero.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicJCharField.java.i
+data/src/share/vm/shark/sharkTopLevelBlock.hpp.i
+data/src/share/vm/compiler/abstractCompiler.hpp.i
data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/HierarchicalLayoutManager.java.i
data/agent/make/hsdb.bat.i
data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/Edge.java.i
-data/ASSEMBLY_EXCEPTION.i
+data/src/cpu/zero/vm/icache_zero.hpp.i
data/src/share/vm/prims/jvmtiRawMonitor.cpp.i
data/src/os_cpu/solaris_x86/vm/prefetch_solaris_x86.inline.hpp.i
-data/src/os/solaris/launcher/java_md.h.i
+data/src/share/vm/gc_implementation/g1/heapRegionSet.cpp.i
data/src/share/vm/opto/regmask.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/CStringUtilities.java.i
data/src/os/bsd/vm/attachListener_bsd.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/types/JIntField.java.i
data/src/cpu/x86/vm/stubGenerator_x86_64.cpp.i
data/src/share/vm/c1/c1_Defs.cpp.i
+data/src/share/vm/runtime/globals_ext.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/parallelScavenge/PSOldGen.java.i
+data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64JavaCallWrapper.java.i
-data/src/share/vm/interpreter/templateTable.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/tools/FinalizerInfo.java.i
-data/src/share/vm/compiler/disassembler.cpp.i
-data/make/bsd/makefiles/zero.make.i
+data/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp.i
+data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/nbproject/project.properties.i
+data/src/share/vm/shark/sharkType.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/OopVisitor.java.i
data/src/share/vm/shark/sharkValue.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/MaskFillerForNative.java.i
data/src/os/solaris/vm/objectMonitor_solaris.inline.hpp.i
data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/ClusterOutgoingConnection.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/LongHashMap.java.i
+data/src/os_cpu/solaris_sparc/vm/prefetch_solaris_sparc.inline.hpp.i
data/test/compiler/6663848/Tester.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/HashtableBucket.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50Subsection.java.i
data/src/share/vm/code/relocInfo.cpp.i
data/src/share/vm/shark/sharkTopLevelBlock.cpp.i
data/src/share/vm/oops/constMethodKlass.hpp.i
@@ -3024,15 +3041,16 @@ data/src/share/vm/runtime/arguments.hpp.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/StandardGroupOrganizer.java.i
data/src/share/vm/memory/allocationStats.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/sparc/RemoteSPARCThread.java.i
+data/src/share/tools/ProjectCreator/WinGammaPlatformVC10.java.i
data/src/share/vm/runtime/init.cpp.i
data/src/share/vm/gc_implementation/parallelScavenge/adjoiningVirtualSpaces.cpp.i
data/src/cpu/sparc/vm/relocInfo_sparc.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/ArrayType.java.i
-data/src/os/solaris/vm/os_solaris.hpp.i
+data/src/os_cpu/windows_x86/vm/assembler_windows_x86_32.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialLoadInstruction.java.i
data/test/compiler/6659207/Test.java.i
data/build/windows/projectfiles/compiler2/vm.def.i
-data/agent/src/share/classes/sun/jvm/hotspot/RMIHelper.java.i
+data/src/share/vm/c1/c1_Canonicalizer.cpp.i
data/src/share/vm/gc_implementation/g1/g1ErgoVerbose.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/Assert.java.i
data/src/cpu/x86/vm/bytecodeInterpreter_x86.hpp.i
@@ -3043,30 +3061,29 @@ data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/CVAttributes.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSMPC.java.i
data/src/cpu/sparc/vm/jniFastGetField_sparc.cpp.i
data/make/linux/makefiles/jvmg.make.i
-data/make/bsd/makefiles/sparcv9.make.i
+data/src/share/vm/runtime/vm_version.cpp.i
data/agent/src/share/native/jvmdi/sa.cpp.i
-data/src/share/vm/adlc/arena.cpp.i
+data/src/share/vm/services/dtraceAttacher.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/Bytecodes.java.i
-data/src/share/vm/ci/ciField.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxOopHandle.java.i
+data/src/share/vm/gc_implementation/g1/vm_operations_g1.hpp.i
+data/test/compiler/6930043/Test6930043.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9MembarInstruction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/action/FindAction.java.i
data/src/os_cpu/solaris_x86/vm/solaris_x86_32.il.i
data/src/share/vm/gc_implementation/parallelScavenge/asPSYoungGen.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SrcModFileDesc.java.i
-data/build/linux/makefiles/i486.make.i
+data/make/linux/makefiles/rules.make.i
data/src/share/vm/runtime/aprofiler.cpp.i
data/src/share/vm/gc_implementation/shared/spaceCounters.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicEnumType.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCInstruction.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/ArithmeticDecoder.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeJsr.java.i
-data/src/share/vm/gc_implementation/parallelScavenge/psScavenge.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/runtime/JNIHandles.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/LoadObject.java.i
+data/src/share/vm/gc_implementation/g1/concurrentZFThread.cpp.i
+data/src/share/vm/adlc/filebuff.cpp.i
+data/src/share/vm/shark/sharkContext.cpp.i
+data/src/share/vm/services/psMemoryPool.hpp.i
data/src/share/vm/oops/arrayOop.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/ui/FindInHeapPanel.java.i
data/src/share/tools/hsdis/hsdis.h.i
-data/agent/src/share/classes/sun/jvm/hotspot/memory/GenerationFactory.java.i
data/src/share/tools/LogCompilation/manifest.mf.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/posix/elf/ELFSymbol.java.i
data/src/os_cpu/bsd_x86/vm/thread_bsd_x86.hpp.i
@@ -3079,26 +3096,25 @@ data/make/bsd/platform_sparcv9.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/posix/elf/ELFHashTable.java.i
data/make/bsd/makefiles/core.make.i
data/build/linux/makefiles/jvmg.make.i
-data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/Bundle.properties.i
-data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeStore.java.i
-data/src/share/vm/utilities/accessFlags.hpp.i
+data/src/share/vm/opto/chaitin.hpp.i
+data/build/solaris/makefiles/compiler2.make.i
data/agent/src/share/classes/sun/jvm/hotspot/BsdVtblAccess.java.i
-data/src/share/tools/IdealGraphVisualizer/Layout/src/com/sun/hotspot/igv/layout/Port.java.i
data/src/share/vm/adlc/dict2.hpp.i
-data/src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50TypeEnums.java.i
+data/src/cpu/x86/vm/disassembler_x86.cpp.i
+data/make/solaris/makefiles/reorder_COMPILER1_amd64.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/layer.xml.i
data/agent/src/os/win32/toolHelp.cpp.i
data/make/pic.make.i
data/src/share/vm/oops/instanceKlass.hpp.i
-data/src/share/vm/ci/ciMethodHandle.cpp.i
+data/src/share/tools/MakeDeps/DirectoryTree.java.i
data/agent/src/share/lib/jlfgr-1_0.jar.i
-data/src/share/vm/gc_implementation/shared/allocationStats.cpp.i
+data/make/linux/makefiles/hp.make.i
data/build/solaris/makefiles/i486.make.i
-data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/PrevDiagramAction.java.i
-data/src/cpu/zero/vm/stack_zero.cpp.i
+data/src/share/vm/oops/constMethodOop.hpp.i
+data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/nbproject/genfiles.properties.i
+data/src/os/windows/vm/objectMonitor_windows.cpp.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/images/next_diagram.png.i
-data/src/share/vm/utilities/hashtable.hpp.i
+data/src/share/vm/oops/arrayKlass.hpp.i
data/src/cpu/sparc/vm/templateInterpreter_sparc.cpp.i
data/src/share/vm/ci/ciMethodData.cpp.i
data/src/cpu/zero/vm/cppInterpreterGenerator_zero.hpp.i
@@ -3107,55 +3123,57 @@ data/src/share/vm/c1/c1_LIRAssembler.hpp.i
data/build/solaris/Queens.class.i
data/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp.i
data/test/compiler/6756768/Test6756768_2.java.i
-data/src/os/posix/vm/os_posix.cpp.i
-data/src/share/vm/prims/forte.cpp.i
-data/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp.i
+data/agent/src/os/solaris/proc/libproc.h.i
+data/src/share/vm/oops/klass.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/x86/X86RegisterMap.java.i
-data/test/compiler/6855215/Test6855215.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/ui/treetable/TreeTableModel.java.i
data/src/cpu/sparc/vm/c1_FrameMap_sparc.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/runtime/vmSymbols.java.i
+data/src/share/vm/memory/dump.cpp.i
data/make/windows/jvmexp.lcf.i
data/src/share/vm/opto/compile.cpp.i
-data/src/os/linux/vm/mutex_linux.inline.hpp.i
+data/src/share/vm/ci/ciTypeFlow.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/HighPrecisionJScrollBar.java.i
data/src/share/vm/utilities/utf8.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceStoreDecoder.java.i
+data/src/share/vm/c1/c1_LIR.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86PCRelativeAddress.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/ui/action/InspectAction.java.i
-data/test/compiler/6714694/Tester.java.i
+data/make/bsd/makefiles/fastdebug.make.i
+data/src/cpu/sparc/vm/interpreter_sparc.cpp.i
+data/src/share/vm/gc_implementation/parallelScavenge/psOldGen.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFormat3AInstruction.java.i
data/src/share/tools/MakeDeps/MakeDeps.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/Address.java.i
data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/InputNode.java.i
data/src/share/vm/interpreter/templateInterpreter.cpp.i
data/src/share/tools/IdealGraphVisualizer/Difference/build.xml.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/CompoundType.java.i
+data/src/share/vm/runtime/advancedThresholdPolicy.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/FloatField.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicLineNumberInfo.java.i
data/agent/src/share/classes/images/toolbarButtonGraphics/general/About16.gif.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/LongTypeImpl.java.i
-data/src/os/bsd/vm/osThread_bsd.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRettInstruction.java.i
+data/src/share/tools/IdealGraphVisualizer/Coordinator/src/META-INF/services/com.sun.hotspot.igv.data.services.GroupOrganizer.i
+data/src/share/tools/MakeDeps/WinGammaPlatformVC6.java.i
data/src/os/solaris/vm/vtune_solaris.cpp.i
data/src/os/linux/vm/jsig.c.i
data/src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp.i
data/src/share/vm/oops/methodDataKlass.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/FloatType.java.i
-data/src/share/tools/launcher/jli_util.c.i
+data/make/solaris/makefiles/cscope.make.i
+data/src/cpu/x86/vm/assembler_x86_64.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPArithmeticInstruction.java.i
data/src/cpu/x86/vm/stubRoutines_x86_64.cpp.i
data/agent/src/os/win32/serverLists.cpp.i
data/src/share/vm/adlc/forms.cpp.i
-data/agent/make/jdbcore64.sh.i
-data/src/share/vm/gc_implementation/parallelScavenge/psOldGen.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/LogicInstruction.java.i
+data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/Bundle.properties.i
data/src/os_cpu/solaris_sparc/vm/orderAccess_solaris_sparc.inline.hpp.i
data/src/share/tools/MakeDeps/WinGammaPlatformVC7.java.i
data/build/windows/projectfiles/kernel/Makefile.i
data/src/cpu/x86/vm/stubGenerator_x86_32.cpp.i
data/src/share/vm/adlc/output_h.cpp.i
data/agent/src/os/bsd/test.c.i
+data/agent/src/share/classes/sun/jvm/hotspot/tools/Tool.java.i
+data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/MakeNotEntrantEvent.java.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/PrimitiveTypeImpl.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/posix/elf/ELFSectionHeader.java.i
+data/agent/src/share/classes/com/sun/java/swing/ui/CommonToolBar.java.i
data/src/os/bsd/dtrace/hotspot.d.i
data/agent/src/share/classes/com/sun/java/swing/action/FinishAction.java.i
data/test/compiler/6921969/TestMultiplyLongHiZero.java.i
@@ -3169,7 +3187,7 @@ data/agent/src/share/classes/sun/jvm/hotspot/opto/MultiNode.java.i
data/test/compiler/6852078/Test6852078.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86GeneralInstruction.java.i
data/make/windows/projectfiles/tiered/ADLCompiler.dsp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/dummy/DummyOopHandle.java.i
+data/src/share/vm/gc_implementation/shared/concurrentGCThread.hpp.i
data/src/share/vm/ci/ciArrayKlass.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/AddressDataSource.java.i
data/agent/src/share/classes/com/sun/java/swing/ui/CommonUI.java.i
@@ -3178,17 +3196,16 @@ data/src/share/tools/IdealGraphVisualizer/Graph/nbproject/platform.properties.i
data/agent/make/jcoreproc.sh.i
data/src/share/vm/oops/fieldStreams.hpp.i
data/build/solaris/makefiles/reorder_TIERED_i486.i
-data/src/share/vm/oops/oop.pcgc.inline.hpp.i
+data/src/share/vm/utilities/array.cpp.i
data/src/share/vm/classfile/classLoader.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/bsd_x86/BsdSignals.java.i
-data/make/solaris/makefiles/compiler1.make.i
data/test/compiler/7009359/Test7009359.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9RegisterBranchDecoder.java.i
+data/src/share/tools/IdealGraphVisualizer/View/nbproject/project.properties.i
data/src/share/vm/gc_interface/collectedHeap.inline.hpp.i
data/src/share/vm/memory/memRegion.cpp.i
data/src/share/tools/hsdis/hsdis-demo.c.i
-data/src/share/vm/oops/klassVtable.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/Characteristics.java.i
+data/src/share/vm/interpreter/bytecodeTracer.cpp.i
+data/test/compiler/6885584/Test6885584.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64Registers.java.i
data/src/cpu/zero/vm/assembler_zero.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/HashtableEntry.java.i
@@ -3196,52 +3213,55 @@ data/src/os/solaris/launcher/java.h.i
data/agent/src/os/linux/symtab.h.i
data/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp.i
data/src/cpu/sparc/vm/icache_sparc.hpp.i
-data/src/share/vm/opto/classes.cpp.i
data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/ClusterInputSlotNode.java.i
data/src/share/vm/ci/ciArray.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ci/ciConstant.java.i
data/src/share/tools/IdealGraphVisualizer/Bytecodes/src/com/sun/hotspot/igv/bytecodes/SelectBytecodesAction.java.i
-data/make/windows/platform_i486.i
+data/src/share/vm/includeDB_gc_parallel.i
data/src/share/vm/runtime/basicLock.hpp.i
data/src/share/vm/runtime/virtualspace.hpp.i
-data/make/solaris/makefiles/reorder_COMPILER1_sparcv9.i
+data/src/share/vm/asm/assembler.cpp.i
+data/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentGCThread.hpp.i
+data/src/share/vm/services/diagnosticArgument.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/CallDecoder.java.i
data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/EditFilterDialog.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/ia64/LinuxIA64ThreadContext.java.i
+data/src/share/tools/IdealGraphVisualizer/Difference/src/com/sun/hotspot/igv/difference/Bundle.properties.i
data/src/share/vm/runtime/vmThread.hpp.i
data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/services/Scheduler.java.i
-data/src/share/vm/prims/jvmtiEventController.inline.hpp.i
data/src/share/vm/gc_implementation/includeDB_gc_g1.i
+data/build/windows/projectfiles/kernel/vm.dsw.i
data/src/share/vm/ci/ciClassList.hpp.i
data/src/share/tools/ProjectCreator/DirectoryTreeNode.java.i
-data/src/share/vm/c1/c1_Runtime1.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9Opcodes.java.i
-data/make/solaris/makefiles/mapfile-vers-nonproduct.i
+data/src/share/vm/ci/ciType.cpp.i
+data/src/os_cpu/linux_x86/vm/assembler_linux_x86.cpp.i
+data/src/share/tools/hsdis/README.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/Node.java.i
data/src/share/vm/utilities/growableArray.cpp.i
data/src/os_cpu/windows_x86/vm/thread_windows_x86.hpp.i
data/src/share/vm/code/codeBlob.cpp.i
data/src/cpu/x86/vm/templateInterpreterGenerator_x86.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/memo/MemoizedInt.java.i
-data/src/share/vm/memory/genCollectedHeap.hpp.i
+data/src/share/vm/runtime/signature.cpp.i
+data/src/share/vm/utilities/decoder.hpp.i
+data/make/bsd/makefiles/tiered.make.i
+data/make/windows/cross_build.bat.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/WatcherThread.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/sparc/ProcSPARCThreadFactory.java.i
-data/src/share/vm/compiler/compilerOracle.cpp.i
+data/src/share/vm/gc_implementation/shared/gcStats.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/LoaderConstraintEntry.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEShiftDecoder.java.i
data/make/scm.make.i
data/src/share/vm/oops/constantPoolKlass.hpp.i
+data/test/compiler/7082949/Test7082949.java.i
data/src/share/vm/services/memoryManager.cpp.i
data/src/share/vm/classfile/stackMapTableFormat.hpp.i
-data/make/linux/makefiles/defs.make.i
+data/make/solaris/makefiles/kernel.make.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicDoubleType.java.i
data/src/share/vm/memory/memRegion.hpp.i
-data/build/solaris/makefiles/reorder_TIERED_sparc.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/IndexableFieldIdentifier.java.i
data/src/share/tools/IdealGraphVisualizer/RhinoScriptEngineProxy/nbproject/suite.properties.i
data/src/share/vm/gc_implementation/concurrentMarkSweep/freeList.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9FMOVccInstruction.java.i
-data/src/share/vm/ci/ciMethodHandle.hpp.i
-data/src/cpu/zero/vm/shark_globals_zero.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeCheckCast.java.i
+data/src/share/vm/gc_implementation/g1/vmStructs_g1.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/opto/ProjNode.java.i
data/src/os_cpu/solaris_sparc/vm/solaris_sparc.ad.i
data/src/cpu/zero/vm/javaFrameAnchor_zero.hpp.i
data/make/bsd/makefiles/jvmg.make.i
@@ -3251,54 +3271,56 @@ data/src/cpu/zero/vm/vmreg_zero.inline.hpp.i
data/make/bsd/makefiles/jsig.make.i
data/src/share/tools/hsdis/Makefile.i
data/test/gc/7072527/TestFullGCCount.java.i
-data/src/share/vm/prims/jvmtiEventController.cpp.i
data/src/cpu/x86/vm/methodHandles_x86.hpp.i
data/src/cpu/x86/vm/register_definitions_x86.cpp.i
data/make/bsd/platform_ia64.i
data/src/share/vm/memory/genCollectedHeap.cpp.i
data/make/linux/makefiles/jvmti.make.i
-data/src/cpu/sparc/vm/bytecodeInterpreter_sparc.cpp.i
+data/src/share/vm/compiler/compileLog.hpp.i
data/src/os/linux/vm/decoder_linux.cpp.i
data/src/cpu/sparc/vm/sharedRuntime_sparc.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/FieldType.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/jdi/IntegerTypeImpl.java.i
+data/src/os_cpu/solaris_sparc/vm/thread_solaris_sparc.hpp.i
data/src/share/vm/prims/jvmtiThreadState.inline.hpp.i
data/src/share/vm/interpreter/interpreter.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSSrcModule.java.i
+data/src/cpu/sparc/vm/interpreter_sparc.hpp.i
data/agent/src/os/linux/libproc_impl.c.i
data/src/os/windows/vm/stubRoutines_windows.cpp.i
data/build/solaris/makefiles/sparcWorks.make.i
data/src/cpu/sparc/vm/c1_FpuStackSim_sparc.hpp.i
data/agent/src/os/win32/ioUtils.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/KlassKlass.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RegisterPart.java.i
+data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/ScriptEngineAbstraction.java.i
+data/src/share/tools/IdealGraphVisualizer/BatikSVGProxy/build.xml.i
data/src/share/vm/shark/llvmHeaders.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ReadWriteDecoder.java.i
data/build/solaris/makefiles/optimized.make.i
+data/src/share/vm/services/diagnosticCommand.hpp.i
data/src/os_cpu/solaris_x86/vm/assembler_solaris_x86_32.cpp.i
data/agent/make/hsdbwindbg64.bat.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/LivenessPath.java.i
+data/agent/src/os/win32/libInfo.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/BranchDecoder.java.i
-data/src/share/vm/libadt/port.cpp.i
+data/src/os/windows/vm/osThread_windows.hpp.i
data/src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp.i
-data/src/cpu/x86/vm/depChecker_x86.hpp.i
+data/test/compiler/6935535/Test.java.i
data/agent/make/jcorewindbg.bat.i
-data/make/windows/projectfiles/core/Makefile.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/ConstIterator.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFP2RegisterInstruction.java.i
data/src/share/vm/ci/ciCPCache.cpp.i
data/src/share/vm/gc_implementation/concurrentMarkSweep/promotionInfo.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCArithmeticInstruction.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86InstructionFactory.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/FunctionSym.java.i
+data/src/os_cpu/bsd_zero/vm/threadLS_bsd_zero.hpp.i
data/build/solaris/makefiles/saproc.make.i
data/make/solaris/makefiles/gcc.make.i
data/src/share/vm/runtime/os.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/BitMap.java.i
-data/src/cpu/x86/vm/sharedRuntime_x86_64.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/posix/elf/ELFFile.java.i
+data/make/windows/makefiles/projectcreator.make.i
+data/src/cpu/zero/vm/interpreter_zero.hpp.i
+data/src/cpu/x86/vm/jni_x86.h.i
+data/src/cpu/x86/vm/runtime_x86_32.cpp.i
data/test/compiler/6478991/NullCheckTest.java.i
data/src/share/vm/runtime/basicLock.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/MappedByteBufferDataSource.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/LazyType.java.i
+data/src/share/vm/shark/sharkNativeWrapper.cpp.i
data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/removeSafepointInputs.filter.i
data/agent/make/start-debug-server-windbg64.bat.i
data/src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp.i
@@ -3307,7 +3329,7 @@ data/src/share/vm/gc_implementation/parallelScavenge/psPromotionLAB.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FMOVccDecoder.java.i
data/src/share/vm/oops/arrayKlassKlass.hpp.i
data/agent/src/os/win32/isNT4.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86InstructionFactoryImpl.java.i
+data/make/linux/platform_zero.in.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcOopHandle.java.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/MapScriptObject.java.i
data/src/os/solaris/vm/osThread_solaris.hpp.i
@@ -3319,52 +3341,51 @@ data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RegisterBranchInst
data/src/cpu/x86/vm/c1_LinearScan_x86.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/IndexableFieldIdentifier.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicSym.java.i
-data/src/share/vm/ci/ciCPCache.hpp.i
-data/agent/src/share/classes/images/toolbarButtonGraphics/text/AlignRight16.gif.i
+data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeJsrW.java.i
data/src/share/vm/services/lowMemoryDetector.cpp.i
data/build/linux/makefiles/compiler1.make.i
data/src/share/vm/runtime/reflection.cpp.i
data/make/bsd/makefiles/shark.make.i
data/src/os/windows/vm/vmError_windows.cpp.i
-data/src/cpu/sparc/vm/assembler_sparc.cpp.i
+data/src/share/vm/gc_implementation/g1/g1MonitoringSupport.cpp.i
data/src/share/vm/shark/sharkCacheDecache.cpp.i
-data/agent/make/jsdbwindbg.bat.i
-data/src/share/tools/MakeDeps/MacroDefinitions.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/ui/Inspector.java.i
+data/src/share/vm/c1/c1_Canonicalizer.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSELogicalDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/Bits.java.i
-data/make/bsd/makefiles/vm.make.i
-data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogCompilation.java.i
-data/src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/HeapPrinter.java.i
+data/src/share/vm/opto/subnode.cpp.i
+data/build/windows/makefiles/vm.make.i
+data/src/os_cpu/bsd_zero/vm/prefetch_bsd_zero.inline.hpp.i
+data/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp.i
data/src/share/vm/c1/c1_LIRAssembler.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicLocalSym.java.i
-data/make/solaris/makefiles/sparcWorks.make.i
+data/agent/src/share/classes/sun/jvm/hotspot/memory/CompactibleFreeListSpace.java.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/StringTable.java.i
data/src/share/vm/ci/ciEnv.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/x86/ProcX86Thread.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/ui/SAEditorPane.java.i
data/src/share/vm/prims/jvmtiEnter.hpp.i
data/build/windows/projectfiles/tiered/vm.dsw.i
-data/make/solaris/platform_amd64.i
+data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/OutlineTopComponentWstcref.xml.i
data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/UncommonTrapEvent.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ci/ciMethodData.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/NarrowOopField.java.i
-data/make/solaris/makefiles/dtrace.make.i
+data/src/share/vm/utilities/elfFile.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/livejvm/BreakpointEvent.java.i
-data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/BoundedZoomAction.java.i
+data/src/os_cpu/linux_sparc/vm/vmStructs_linux_sparc.hpp.i
data/src/share/vm/classfile/verificationType.hpp.i
-data/src/os/windows/vm/c1_globals_windows.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/sa.js.i
data/src/os_cpu/bsd_x86/vm/threadLS_bsd_x86.cpp.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/manifest.mf.i
-data/agent/src/share/classes/sun/jvm/hotspot/jdi/ObjectReferenceImpl.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/BranchInstruction.java.i
+data/src/share/vm/memory/blockOffsetTable.inline.hpp.i
+data/src/share/vm/utilities/intHisto.hpp.i
data/build/linux/makefiles/fastdebug.make.i
data/src/share/vm/opto/macro.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeInvoke.java.i
+data/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/actions/OutlineAction.java.i
-data/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp.i
+data/src/share/vm/memory/oopFactory.cpp.i
data/src/os_cpu/bsd_zero/vm/orderAccess_bsd_zero.inline.hpp.i
data/src/os/solaris/dtrace/generateJvmOffsetsMain.c.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialRegisters.java.i
+data/src/cpu/sparc/vm/c2_globals_sparc.hpp.i
data/src/share/vm/runtime/vm_operations.cpp.i
data/agent/make/pmapwindbg.bat.i
data/agent/src/share/classes/com/sun/java/swing/action/AboutAction.java.i
@@ -3373,91 +3394,88 @@ data/src/share/vm/shark/sharkRuntime.cpp.i
data/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp.i
data/src/share/vm/prims/jvmtiEnvBase.cpp.i
data/src/share/vm/adlc/forms.hpp.i
-data/src/share/vm/ci/ciArray.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/x86/BsdX86ThreadContext.java.i
-data/build/linux/makefiles/rules.make.i
+data/agent/src/os/bsd/ps_core.c.i
+data/src/os_cpu/linux_sparc/vm/threadLS_linux_sparc.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/CellTypeStateList.java.i
data/src/share/vm/gc_implementation/g1/g1RemSet.inline.hpp.i
-data/src/share/vm/memory/allocation.hpp.i
-data/src/cpu/sparc/vm/icBuffer_sparc.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/MarkBits.java.i
+data/agent/src/os/win32/procList.cpp.i
data/src/share/vm/oops/methodDataOop.cpp.i
data/src/share/tools/IdealGraphVisualizer/Util/src/com/sun/hotspot/igv/util/BoundedZoomAction.java.i
-data/src/share/vm/opto/parseHelper.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/UnimpDecoder.java.i
+data/src/share/tools/MakeDeps/DirectoryTreeNode.java.i
+data/src/share/vm/prims/jvmtiEventController.cpp.i
data/test/compiler/6796786/Test6796786.java.i
data/src/share/vm/utilities/debug.cpp.i
data/src/share/tools/IdealGraphVisualizer/Layout/nbproject/project.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/LoadInstruction.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/memory/LoaderConstraintTable.java.i
-data/make/linux/makefiles/hp.make.i
-data/src/share/vm/oops/arrayKlass.hpp.i
+data/test/compiler/6795161/Test.java.i
+data/src/share/vm/gc_implementation/shared/allocationStats.cpp.i
+data/src/share/vm/utilities/hashtable.hpp.i
data/test/compiler/6863420/Test.java.i
data/src/cpu/sparc/vm/c1_MacroAssembler_sparc.hpp.i
data/src/cpu/x86/vm/vmreg_x86.inline.hpp.i
-data/make/solaris/makefiles/debug.make.i
-data/src/os/windows/vm/perfMemory_windows.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/ui/MemoryPanel.java.i
+data/src/share/vm/utilities/array.hpp.i
+data/src/share/tools/IdealGraphVisualizer/Layout/src/com/sun/hotspot/igv/layout/Port.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86DirectAddress.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPLoadInstruction.java.i
-data/src/cpu/sparc/vm/globalDefinitions_sparc.hpp.i
-data/src/share/vm/services/psMemoryPool.cpp.i
+data/test/compiler/6589834/Test_ia32.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/TestDebugger.java.i
data/src/share/vm/ci/ciMethodData.hpp.i
-data/test/compiler/7082949/Test7082949.java.i
+data/src/share/vm/opto/lcm.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/BlockSym.java.i
-data/src/share/vm/runtime/osThread.hpp.i
-data/src/share/vm/runtime/vframe.cpp.i
+data/src/share/vm/utilities/stack.inline.hpp.i
data/src/share/vm/opto/multnode.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/Field.java.i
data/src/share/vm/gc_implementation/g1/g1HRPrinter.hpp.i
-data/agent/src/os/linux/ps_proc.c.i
-data/src/os/solaris/vm/threadCritical_solaris.cpp.i
-data/build/linux/makefiles/gcc.make.i
+data/agent/src/share/classes/sun/jvm/hotspot/runtime/BasicTypeSize.java.i
data/src/os/windows/vm/objectMonitor_windows.hpp.i
data/make/solaris/makefiles/jvmg.make.i
data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/services/InputGraphProvider.java.i
-data/src/share/vm/memory/watermark.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/code/Location.java.i
data/src/share/vm/memory/permGen.cpp.i
-data/src/os/linux/vm/chaitin_linux.cpp.i
+data/src/share/vm/runtime/deoptimization.cpp.i
data/src/share/tools/IdealGraphVisualizer/Graph/build.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/ConstMethod.java.i
-data/make/windows/cross_build.bat.i
+data/src/share/vm/classfile/symbolTable.cpp.i
data/agent/make/jhistowindbg64.bat.i
data/build/windows/makefiles/sanity.make.i
data/agent/src/os/win32/SwDbgSub.cpp.i
data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/Group.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/Annotation.java.i
-data/src/os/windows/vm/osThread_windows.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/ConstIterator.java.i
-data/src/os_cpu/bsd_zero/vm/threadLS_bsd_zero.hpp.i
+data/src/share/vm/libadt/port.cpp.i
+data/make/windows/projectfiles/core/Makefile.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86InstructionFactory.java.i
data/build/windows/create.bat.i
data/test/compiler/6991596/Test6991596.java.i
data/src/share/vm/code/nmethod.cpp.i
data/src/share/vm/includeDB_gc.i
-data/build/windows/makefiles/vm.make.i
+data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogCompilation.java.i
data/agent/src/share/classes/sun/jvm/hotspot/tools/JStack.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9WrprInstruction.java.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/widgets/LineWidget.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/sparc/DbxSPARCThreadFactory.java.i
+data/src/share/tools/launcher/jli_util.c.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/ExpandSuccessorsAction.java.i
data/build/solaris/platform_amd64.gcc.i
data/agent/src/share/classes/sun/jvm/hotspot/livejvm/ServiceabilityAgentJVMDIModule.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/ui/tree/RevPtrsTreeNodeAdapter.java.i
-data/agent/src/os/win32/procList.cpp.i
-data/make/linux/makefiles/top.make.i
+data/test/runtime/6878713/Test6878713.sh.i
+data/src/cpu/sparc/vm/icBuffer_sparc.cpp.i
+data/agent/test/libproc/libproctest.sh.i
data/src/os/linux/launcher/java_md.c.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/MultiBranchData.java.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/widgets/InputSlotWidget.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/code/Location.java.i
+data/src/share/vm/memory/watermark.hpp.i
data/src/share/vm/memory/restore.cpp.i
-data/src/share/vm/code/codeBlob.hpp.i
-data/make/windows/projectfiles/tiered/Makefile.i
-data/build/solaris/makefiles/rules.make.i
+data/src/share/vm/services/management.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/IntegerEnum.java.i
data/src/share/vm/prims/jvmtiEnter.xsl.i
-data/src/share/tools/IdealGraphVisualizer/Difference/manifest.mf.i
-data/src/share/vm/oops/compiledICHolderKlass.hpp.i
+data/build/solaris/makefiles/rules.make.i
+data/src/share/vm/code/scopeDesc.hpp.i
data/src/os/solaris/vm/jvm_solaris.h.i
-data/src/cpu/zero/vm/interpreterFrame_zero.hpp.i
-data/test/compiler/7024475/Test7024475.java.i
+data/src/share/vm/oops/compiledICHolderKlass.hpp.i
+data/test/runtime/6626217/You_Have_Been_P0wned.java.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/RegionNode.java.i
data/agent/src/scripts/start-rmiregistry.sh.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50TypeIterator.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/BasicHashtable.java.i
data/test/compiler/6758234/Test6758234.java.i
data/agent/src/share/classes/sun/jvm/hotspot/types/AddressField.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/x86/LinuxX86ThreadContext.java.i
@@ -3466,13 +3484,14 @@ data/src/share/tools/ProjectCreator/MacroDefinitions.java.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/DiagramScene.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/treetable/AbstractTreeTableModel.java.i
data/build/linux/platform_amd64.suncc.i
-data/agent/src/share/classes/sun/jvm/hotspot/code/CompressedStream.java.i
+data/src/cpu/zero/vm/interpreterFrame_zero.hpp.i
data/src/os/bsd/vm/c1_globals_bsd.hpp.i
data/src/os/solaris/vm/jvm_solaris.cpp.i
data/src/share/vm/opto/multnode.hpp.i
data/src/share/vm/opto/superword.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/x86/X86JavaCallWrapper.java.i
data/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp.i
+data/src/share/tools/IdealGraphVisualizer/BatikSVGProxy/manifest.mf.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/ReversePtrs.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/SysPropsPanel.java.i
data/test/compiler/6877254/Test.java.i
@@ -3482,29 +3501,33 @@ data/src/os/linux/vm/c2_globals_linux.hpp.i
data/src/share/tools/IdealGraphVisualizer/Layout/src/com/sun/hotspot/igv/layout/Bundle.properties.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSGlobalTypes.java.i
data/agent/make/marks_notes.html.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/SharedObject.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/DefaultOopVisitor.java.i
data/src/share/vm/prims/jvmtiClassFileReconstituter.cpp.i
data/make/linux/makefiles/ia64.make.i
data/src/share/vm/memory/iterator.hpp.i
data/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9DoneInstruction.java.i
-data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/NMethod.java.i
+data/make/bsd/makefiles/i486.make.i
+data/make/solaris/adlc_updater.i
data/src/cpu/x86/vm/depChecker_x86.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/JavaThreadPDAccess.java.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/ClassObjectReferenceImpl.java.i
data/src/share/vm/code/codeCache.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/SOQLException.java.i
-data/src/share/tools/IdealGraphVisualizer/Settings/src/com/sun/hotspot/igv/settings/Bundle.properties.i
+data/test/compiler/7110586/Test7110586.java.i
+data/src/os_cpu/solaris_x86/vm/solaris_x86_32.ad.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9InstructionDecoder.java.i
data/src/share/vm/gc_implementation/includeDB_gc_shared.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/tree/SimpleTreeNode.java.i
+data/make/windows/projectfiles/tiered/ADLCompiler.dsw.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/sparc/DbxSPARCThread.java.i
data/src/share/vm/interpreter/bytecode.hpp.i
-data/src/share/tools/IdealGraphVisualizer/Settings/nbproject/genfiles.properties.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/ArithmeticDecoder.java.i
data/src/os_cpu/solaris_x86/vm/bytes_solaris_x86.inline.hpp.i
data/src/cpu/x86/vm/assembler_x86_64.hpp.i
data/src/share/vm/classfile/resolutionErrors.cpp.i
data/test/compiler/5091921/Test6935022.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/code/LocationValue.java.i
data/src/share/tools/IdealGraphVisualizer/Layout/src/com/sun/hotspot/igv/layout/Vertex.java.i
data/src/cpu/sparc/vm/vtableStubs_sparc.cpp.i
data/src/cpu/sparc/vm/icache_sparc.cpp.i
@@ -3516,18 +3539,18 @@ data/test/compiler/5091921/output6890943.txt.i
data/agent/src/share/classes/sun/jvm/hotspot/code/CompressedReadStream.java.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/images/structure.gif.i
data/src/cpu/sparc/vm/stubGenerator_sparc.cpp.i
+data/make/jprt.gmk.i
data/src/share/vm/libadt/set.cpp.i
data/make/windows/makefiles/adlc.make.i
data/agent/src/share/classes/images/toolbarButtonGraphics/general/New16.gif.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64CurrentFrameGuess.java.i
-data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/ExtendedPanAction.java.i
+data/src/cpu/zero/vm/vtableStubs_zero.cpp.i
data/src/share/vm/prims/evmCompat.cpp.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/ZoomInAction.java.i
-data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/FolderNode.java.i
data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/RemoveFilter.java.i
-data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/widgets/FigureWidget.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/OopPrinter.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/ThreadLocalAllocBuffer.java.i
-data/src/cpu/sparc/vm/templateTable_sparc.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/types/OopField.java.i
data/src/share/tools/IdealGraphVisualizer/BatikSVGProxy/src/com/sun/hotspot/igv/svg/BatikSVG.java.i
data/src/share/vm/runtime/memprofiler.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeSipush.java.i
@@ -3535,8 +3558,8 @@ data/src/cpu/x86/vm/bytecodes_x86.hpp.i
data/make/linux/makefiles/makedeps.make.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/linux_ia64/LinuxIA64JavaThreadPDAccess.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteThread.java.i
-data/src/share/vm/opto/c2_globals.hpp.i
-data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/Method.java.i
+data/build/solaris/platform_sparcv9.gcc.i
+data/agent/src/share/classes/sun/jvm/hotspot/jdi/ByteTypeImpl.java.i
data/src/cpu/x86/vm/jniFastGetField_x86_32.cpp.i
data/make/linux/platform_ia64.i
data/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.hpp.i
@@ -3545,14 +3568,13 @@ data/src/os/bsd/dtrace/libjvm_db.h.i
data/make/linux/makefiles/i486.make.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/images/save.gif.i
data/src/cpu/zero/vm/methodHandles_zero.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/DebuggerUtilities.java.i
+data/src/share/vm/trace/tracing.hpp.i
+data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/InvertSelector.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/RefType.java.i
data/src/share/vm/runtime/interfaceSupport.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/SADebugServer.java.i
data/src/share/vm/memory/universe.inline.hpp.i
data/src/share/vm/oops/oopsHierarchy.cpp.i
-data/agent/make/dumpflagsproc.sh.i
-data/src/share/vm/oops/arrayOop.hpp.i
data/agent/src/os/bsd/symtab.h.i
data/src/cpu/x86/vm/vm_version_x86_32.cpp.i
data/src/os_cpu/linux_zero/vm/os_linux_zero.cpp.i
@@ -3565,31 +3587,34 @@ data/agent/src/share/classes/sun/jvm/hotspot/jdi/ByteValueImpl.java.i
data/test/compiler/6851282/Test.java.i
data/src/share/vm/ci/ciTypeFlow.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/JVMState.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteThreadFactory.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/posix/elf/ELFStringTable.java.i
data/src/share/vm/memory/sharedHeap.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebugger.java.i
data/src/os/linux/vm/dtraceJSDT_linux.cpp.i
data/src/share/vm/ci/ciConstantPoolCache.cpp.i
+data/src/share/vm/gc_implementation/shared/gcPolicyCounters.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/types/JFloatField.java.i
-data/src/share/vm/utilities/decoder.hpp.i
+data/src/share/vm/gc_implementation/parNew/parGCAllocBuffer.cpp.i
data/THIRD_PARTY_README.i
data/src/cpu/x86/vm/c1_FpuStackSim_x86.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/HSDB.java.i
+data/test/compiler/7123108/Test7123108.java.i
data/make/solaris/makefiles/reorder_TIERED_sparcv9.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/AbstractHeapGraphWriter.java.i
data/src/os/linux/vm/vtune_linux.cpp.i
data/src/share/vm/ci/ciTypeArrayKlass.hpp.i
data/build/solaris/makefiles/mapfile-vers-TIERED.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Helper.java.i
-data/build/solaris/makefiles/top.make.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHistogram.java.i
data/make/linux/platform_amd64.i
-data/src/share/vm/ci/ciExceptionHandler.cpp.i
+data/src/cpu/sparc/vm/bytecodes_sparc.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/COMDATSelectionTypes.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/ResolveListener.java.i
data/make/solaris/platform_amd64.gcc.i
-data/agent/make/jhistoproc64.sh.i
+data/src/share/vm/utilities/accessFlags.hpp.i
data/agent/src/scripts/start-debug-server.sh.i
-data/agent/src/share/classes/sun/jvm/hotspot/runtime/MonitorInfo.java.i
+data/make/solaris/makefiles/reorder_TIERED_i486.i
data/test/compiler/6695810/Test.java.i
data/test/compiler/6711117/Test.java.i
data/src/os/solaris/vm/osThread_solaris.cpp.i
@@ -3599,35 +3624,36 @@ data/agent/src/share/classes/sun/jvm/hotspot/memory/OffsetTableContigSpace.java.
data/agent/src/share/classes/sun/jvm/hotspot/debugger/ReadResult.java.i
data/src/share/vm/adlc/formssel.cpp.i
data/src/share/vm/runtime/vmStructs.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/runtime/InstanceConstructor.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/memory/GenCollectedHeap.java.i
+data/src/share/tools/MakeDeps/WinGammaPlatformVC9.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/BasicHashtableEntry.java.i
data/src/share/tools/IdealGraphVisualizer/ControlFlow/src/com/sun/hotspot/igv/controlflow/ControlFlowTopComponentSettings.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/posix/DSO.java.i
-data/test/runtime/6626217/many_loader2.java.foo.i
+data/make/windows/makefiles/launcher.make.i
data/build/solaris/platform_sparc.i
+data/make/hotspot_distro.i
data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/build.xml.i
-data/src/share/vm/opto/regalloc.cpp.i
+data/src/share/vm/services/heapDumper.cpp.i
data/src/os/linux/vm/hpi_linux.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/Block_List.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/InstructionVisitor.java.i
-data/build/solaris/makefiles/reorder_CORE_sparc.i
+data/src/share/vm/services/memoryService.cpp.i
+data/src/share/vm/opto/classes.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/OptionalHeaderWindowsSpecificFields.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RdprInstruction.java.i
data/src/share/vm/classfile/stackMapFrame.hpp.i
-data/src/share/vm/opto/generateOptoStub.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/Interval.java.i
+data/src/share/vm/gc_implementation/g1/g1EvacFailure.hpp.i
data/src/share/tools/IdealGraphVisualizer/Bytecodes/src/com/sun/hotspot/igv/bytecodes/layer.xml.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/widgets/OutputSlotWidget.java.i
data/src/cpu/x86/vm/interpreterRT_x86_32.cpp.i
data/src/cpu/x86/vm/interp_masm_x86_32.hpp.i
-data/make/windows/makefiles/shared.make.i
+data/src/share/vm/utilities/preserveException.cpp.i
data/src/share/vm/c1/c1_Optimizer.cpp.i
data/build/solaris/makefiles/jvmti.make.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FloatRegister.java.i
data/src/share/vm/runtime/jniPeriodicChecker.cpp.i
data/src/cpu/sparc/vm/frame_sparc.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V8FPop1Decoder.java.i
-data/build/windows/makefiles/debug.make.i
+data/make/solaris/makefiles/reorder_CORE_i486.i
data/src/os/solaris/dtrace/jhelper.d.i
data/src/share/vm/shark/shark_globals.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeBipush.java.i
@@ -3635,12 +3661,12 @@ data/build/linux/makefiles/mapfile-vers-product.i
data/src/share/tools/IdealGraphVisualizer/Util/src/com/sun/hotspot/igv/util/PropertiesSheet.java.i
data/src/os/windows/launcher/java_md.c.i
data/src/share/vm/memory/classify.cpp.i
-data/build/solaris/makefiles/jsig.make.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/ObjectVisitor.java.i
data/make/solaris/makefiles/mapfile-vers-jvm_dtrace.i
-data/agent/src/share/classes/images/toolbarButtonGraphics/general/Open16.gif.i
+data/src/cpu/sparc/vm/c1_FrameMap_sparc.cpp.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/SlotLayout.java.i
-data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/FilterChainProviderImplementation.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/opto/LoopNode.java.i
+data/src/share/vm/ci/ciTypeArray.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/memory/GenerationFactory.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/RawHeapVisitor.java.i
data/src/share/tools/IdealGraphVisualizer/Util/nbproject/suite.properties.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicFunctionSym.java.i
@@ -3649,71 +3675,69 @@ data/make/solaris/platform_i486.gcc.i
data/agent/make/start-debug-server-windbg.bat.i
data/src/os_cpu/linux_sparc/vm/linux_sparc.s.i
data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicPointerType.java.i
-data/make/linux/platform_i486.suncc.i
+data/src/share/vm/runtime/vframe.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/amd64/AMD64RegisterMap.java.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/META-INF/services/com.sun.hotspot.igv.filter.FilterChainProvider.i
data/src/share/vm/runtime/fieldType.cpp.i
-data/make/solaris/makefiles/top.make.i
+data/agent/src/share/classes/sun/jvm/hotspot/opto/LoopNode.java.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/DiagramViewModel.java.i
-data/agent/src/os/win32/initWinsock.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/runtime/JavaThread.java.i
data/src/share/vm/shark/sharkEntry.hpp.i
data/src/share/vm/services/g1MemoryPool.cpp.i
-data/src/share/vm/classfile/classFileStream.hpp.i
+data/src/share/vm/gc_implementation/parallelScavenge/vmPSOperations.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/tools/PMap.java.i
-data/make/solaris/makefiles/adlc.make.i
+data/src/share/vm/utilities/events.hpp.i
data/src/share/vm/classfile/stackMapFrame.cpp.i
data/src/share/vm/c1/c1_ValueType.hpp.i
data/src/os/linux/launcher/java.c.i
-data/src/share/vm/ci/ciKlass.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSSymbolBase.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/types/JDoubleField.java.i
+data/agent/src/os/linux/ps_proc.c.i
data/make/windows/build_vm_def.sh.i
data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/removeSelfLoops.filter.i
data/src/os_cpu/bsd_zero/vm/threadLS_bsd_zero.cpp.i
data/src/share/vm/shark/llvmValue.hpp.i
data/src/share/vm/interpreter/cppInterpreter.cpp.i
data/make/linux/makefiles/zero.make.i
-data/src/share/vm/shark/sharkIntrinsics.cpp.i
+data/src/share/vm/gc_implementation/shared/coTracker.cpp.i
data/src/share/vm/oops/instanceKlass.cpp.i
-data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/MakeNotEntrantEvent.java.i
-data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/ZoomOutAction.java.i
-data/agent/test/jdi/VMConnection.java.i
-data/make/windows/projectfiles/compiler2/Makefile.i
+data/src/cpu/x86/vm/vm_version_x86_32.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/amd64/BsdAMD64CFrame.java.i
+data/src/share/vm/adlc/dict2.cpp.i
data/src/share/vm/oops/arrayKlass.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/code/ExceptionBlob.java.i
-data/src/share/vm/oops/instanceMirrorKlass.hpp.i
+data/src/share/tools/IdealGraphVisualizer/FilterWindow/nbproject/project.properties.i
data/make/linux/makefiles/buildtree.make.i
data/src/share/vm/libadt/dict.hpp.i
data/src/cpu/x86/vm/jniTypes_x86.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/BitData.java.i
-data/src/share/tools/IdealGraphVisualizer/nbproject/build-impl.xml.i
+data/src/share/vm/prims/jvmtiEventController.hpp.i
data/src/share/vm/runtime/vframe_hp.cpp.i
data/agent/make/mkinstall.i
data/test/compiler/6901572/Test.java.i
-data/src/share/vm/utilities/vmError.cpp.i
data/test/compiler/6797305/Test6797305.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/TypeArray.java.i
-data/src/share/vm/gc_implementation/concurrentMarkSweep/freeChunk.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MoveLoadInstruction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/VMObject.java.i
data/src/os_cpu/linux_zero/vm/assembler_linux_zero.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/BooleanTypeImpl.java.i
+data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/EditorInputGraphProvider.java.i
data/make/solaris/platform_sparc.gcc.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86JmpInstruction.java.i
+data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/services/GroupCallback.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ci/ciArrayKlass.java.i
-data/make/windows/get_msc_ver.sh.i
+data/src/share/vm/adlc/archDesc.hpp.i
data/test/compiler/6912517/Test.java.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/VirtualConstructor.java.i
data/agent/src/share/classes/sun/jvm/hotspot/bugspot/Main.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEMoveDecoder.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/runtime/ObjectMonitor.java.i
data/src/os/bsd/vm/os_bsd.hpp.i
data/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionAMD64.java.i
-data/src/share/vm/code/nmethod.hpp.i
+data/src/share/vm/gc_implementation/parallelScavenge/asPSYoungGen.hpp.i
+data/src/share/vm/gc_implementation/g1/heapRegion.cpp.i
data/test/compiler/5057225/Test5057225.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64Registers.java.i
+data/src/os_cpu/solaris_sparc/vm/threadLS_solaris_sparc.cpp.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/GraphCountGroupOrganizer.java.i
data/src/cpu/x86/vm/cppInterpreterGenerator_x86.hpp.i
data/src/share/tools/IdealGraphVisualizer/NetworkConnection/src/com/sun/hotspot/igv/connection/Server.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/parallelScavenge/PSPermGen.java.i
+data/src/cpu/sparc/vm/bytecodeInterpreter_sparc.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/InterfaceTypeImpl.java.i
data/agent/src/os/win32/serverLists.hpp.i
data/test/compiler/6866651/Test.java.i
@@ -3721,22 +3745,21 @@ data/agent/src/share/classes/sun/jvm/hotspot/ui/FindPanel.java.i
data/build/linux/makefiles/buildtree.make.i
data/make/linux/makefiles/profiled.make.i
data/agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ByteCodeRewriter.java.i
-data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/EditorInputGraphProvider.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicCIntegerField.java.i
data/make/linux/makefiles/gcc.make.i
data/src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/MonitorCacheDumpPanel.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaTypeArrayKlass.java.i
+data/src/cpu/x86/vm/copy_x86.hpp.i
data/src/cpu/x86/vm/templateInterpreter_x86_32.cpp.i
data/agent/src/share/classes/images/toolbarButtonGraphics/general/About24.gif.i
data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/serialization/Printer.java.i
data/src/cpu/zero/vm/methodHandles_zero.cpp.i
-data/src/share/vm/memory/cardTableRS.cpp.i
+data/test/compiler/6987555/Test6987555.java.i
data/src/share/vm/prims/jvmtiRedefineClassesTrace.hpp.i
-data/test/compiler/7100757/Test7100757.java.i
-data/src/os/solaris/vm/os_share_solaris.hpp.i
+data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/FilterTopComponent.java.i
data/src/cpu/x86/vm/relocInfo_x86.hpp.i
-data/src/share/tools/IdealGraphVisualizer/Coordinator/nbproject/project.xml.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/MethodData.java.i
+data/src/share/vm/services/lowMemoryDetector.hpp.i
+data/src/share/tools/IdealGraphVisualizer/Coordinator/nbproject/suite.properties.i
data/src/share/vm/code/vtableStubs.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/LinuxVtblAccess.java.i
data/agent/make/soqlwindbg64.bat.i
@@ -3744,12 +3767,12 @@ data/src/share/vm/ci/ciInstanceKlassKlass.hpp.i
data/src/share/vm/c1/c1_InstructionPrinter.hpp.i
data/src/share/vm/interpreter/bytecodeInterpreter.inline.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/MutationException.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ClassDump.java.i
-data/src/share/tools/IdealGraphVisualizer/Settings/src/com/sun/hotspot/igv/settings/ViewPanel.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/sparc/DbxSPARCThreadContext.java.i
+data/src/share/vm/gc_implementation/g1/heapRegion.hpp.i
data/make/linux/Makefile.i
data/src/share/vm/oops/oopsHierarchy.hpp.i
data/src/os/bsd/dtrace/jhelper.d.i
-data/src/share/vm/memory/tenuredGeneration.cpp.i
+data/src/share/tools/IdealGraphVisualizer/Settings/nbproject/genfiles.properties.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/nbproject/suite.properties.i
data/src/os/posix/launcher/launcher.script.i
data/src/share/vm/oops/generateOopMap.cpp.i
@@ -3757,155 +3780,160 @@ data/src/share/vm/oops/symbolOop.cpp.i
data/src/share/tools/IdealGraphVisualizer/Difference/nbproject/suite.properties.i
data/src/share/vm/interpreter/bytecodeTracer.hpp.i
data/src/share/vm/ci/ciSymbol.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/ui/Inspector.java.i
+data/src/cpu/zero/vm/stubRoutines_zero.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSTypes.java.i
-data/make/bsd/makefiles/arm.make.i
-data/src/share/tools/launcher/wildcard.h.i
+data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/Block.java.i
+data/src/share/vm/utilities/hashtable.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaTypeArray.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcDebugger.java.i
data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/EditFilterDialog.form.i
-data/src/os/bsd/vm/jvm_bsd.cpp.i
+data/src/os_cpu/bsd_zero/vm/thread_bsd_zero.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegion.java.i
data/src/share/vm/gc_implementation/shared/immutableSpace.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/TestDebugger.java.i
+data/src/share/vm/services/psMemoryPool.cpp.i
data/test/gc/6581734/Test6581734.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/Immediate.java.i
+data/src/share/tools/IdealGraphVisualizer/BatikSVGProxy/src/com/sun/hotspot/igv/svg/Bundle.properties.i
+data/src/share/tools/IdealGraphVisualizer/Coordinator/nbproject/project.xml.i
data/src/share/vm/classfile/systemDictionary.hpp.i
-data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/difference.filter.i
-data/src/os_cpu/linux_x86/vm/vmStructs_linux_x86.hpp.i
+data/src/share/vm/oops/typeArrayKlass.cpp.i
+data/src/share/vm/prims/jvmtiRedefineClasses.cpp.i
data/src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp.i
data/src/cpu/x86/vm/bytecodeInterpreter_x86.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaObjArray.java.i
+data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/CheckNode.java.i
data/src/share/vm/shark/sharkConstant.hpp.i
-data/make/bsd/makefiles/ia64.make.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/DebugEvent.java.i
+data/agent/src/share/classes/images/toolbarButtonGraphics/general/ZoomIn16.gif.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50TypeIterator.java.i
data/src/share/vm/runtime/biasedLocking.cpp.i
-data/src/os_cpu/linux_x86/vm/assembler_linux_x86_64.cpp.i
data/src/share/vm/runtime/fieldDescriptor.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaString.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/AuxBfEfRecord.java.i
+data/src/share/tools/IdealGraphVisualizer/Bytecodes/nbproject/project.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/AccessControl.java.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/IntervalNode.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCLdstubInstruction.java.i
-data/src/share/vm/opto/idealKit.cpp.i
+data/src/share/vm/runtime/frame.inline.hpp.i
+data/src/share/tools/launcher/wildcard.c.i
data/agent/src/scripts/start-debug-server.bat.i
data/agent/src/share/classes/sun/jvm/hotspot/ci/ciEnv.java.i
-data/make/templates/gpl-header.i
+data/src/share/vm/classfile/classFileParser.hpp.i
data/test/compiler/6968348/Test6968348.java.i
data/agent/src/os/win32/Makefile.i
data/src/share/vm/oops/klassOop.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/OopMapCacheEntry.java.i
data/src/share/tools/IdealGraphVisualizer/NetworkConnection/src/META-INF/services/com.sun.hotspot.igv.data.services.GroupReceiver.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/ByteField.java.i
-data/agent/src/os/bsd/salibelf.c.i
-data/src/share/tools/IdealGraphVisualizer/ControlFlow/src/com/sun/hotspot/igv/controlflow/Bundle.properties.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebugger.java.i
+data/src/share/vm/gc_implementation/parNew/asParNewGeneration.hpp.i
data/src/share/vm/asm/assembler.inline.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/JVMDebugger.java.i
+data/src/share/tools/IdealGraphVisualizer/View/src/META-INF/services/com.sun.hotspot.igv.data.services.InputGraphProvider.i
data/src/share/vm/memory/referencePolicy.cpp.i
data/src/share/vm/opto/opcodes.cpp.i
data/src/share/vm/gc_implementation/g1/sparsePRT.hpp.i
data/src/os/bsd/vm/c2_globals_bsd.hpp.i
data/src/cpu/sparc/vm/c1_LinearScan_sparc.hpp.i
-data/src/cpu/sparc/vm/vm_version_sparc.cpp.i
+data/src/share/vm/memory/specialized_oop_closures.hpp.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/actions/RemoveFilterSettingsAction.java.i
data/src/cpu/sparc/vm/globals_sparc.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceLdstubDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/ProcCDebugger.java.i
data/src/os_cpu/bsd_zero/vm/thread_bsd_zero.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeInstanceOf.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/TestParser.java.i
data/agent/make/hsdbproc.sh.i
data/src/share/vm/opto/indexSet.hpp.i
-data/src/cpu/x86/vm/register_x86.hpp.i
+data/test/compiler/6689060/Test.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64Register.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/jdi/ConcreteMethodImpl.java.i
+data/src/share/vm/opto/callnode.hpp.i
data/src/share/tools/IdealGraphVisualizer/Bytecodes/src/com/sun/hotspot/igv/bytecodes/images/bytecode.gif.i
-data/src/share/tools/IdealGraphVisualizer/ControlFlow/nbproject/platform.properties.i
+data/agent/src/share/classes/sun/jvm/hotspot/ui/tree/BooleanTreeNodeAdapter.java.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/nbproject/build-impl.xml.i
data/src/share/vm/utilities/debug.hpp.i
data/src/share/vm/prims/jvmtiThreadState.cpp.i
data/test/jprt.config.i
+data/build/windows/makefiles/makedeps.make.i
data/src/share/vm/code/relocInfo.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/ScriptObject.java.i
+data/agent/src/share/classes/com/sun/java/swing/ui/ToggleActionPropertyChangeListener.java.i
data/make/bsd/makefiles/mapfile-vers-product.i
data/test/compiler/5091921/Test6559156.java.i
data/src/share/vm/prims/jvmti.xml.i
data/src/cpu/zero/vm/depChecker_zero.hpp.i
-data/make/solaris/Queens.class.i
-data/agent/test/jdi/runjpda.sh.i
+data/src/share/vm/prims/jniFastGetField.hpp.i
+data/build/solaris/makefiles/top.make.i
data/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/CMSPermGen.java.i
data/src/cpu/x86/vm/icBuffer_x86.cpp.i
-data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/images/saveall.gif.i
-data/agent/make/clhsdbproc64.sh.i
-data/build/solaris/platform_sparcv9.gcc.i
+data/src/share/vm/gc_implementation/concurrentMarkSweep/freeChunk.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/BranchInstruction.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/TestHelloWorld.java.i
data/src/share/vm/gc_implementation/parallelScavenge/psGenerationCounters.cpp.i
data/build/linux/makefiles/core.make.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/MachCallStaticJavaNode.java.i
data/src/share/tools/IdealGraphVisualizer/Layout/src/com/sun/hotspot/igv/layout/LayoutManager.java.i
data/src/share/vm/gc_implementation/concurrentMarkSweep/binaryTreeDictionary.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/memory/SymbolTable.java.i
+data/src/share/vm/shark/sharkContext.hpp.i
data/src/share/vm/opto/runtime.hpp.i
-data/make/linux/makefiles/product.make.i
+data/src/share/vm/classfile/verifier.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceSwapDecoder.java.i
data/src/share/vm/utilities/yieldingWorkgroup.hpp.i
data/src/os/bsd/vm/jsig.c.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeNew.java.i
data/src/share/tools/IdealGraphVisualizer/View/nbproject/suite.properties.i
data/src/share/vm/utilities/bitMap.inline.hpp.i
-data/src/share/vm/gc_implementation/g1/survRateGroup.hpp.i
+data/src/share/vm/utilities/vmError.cpp.i
data/src/share/vm/adlc/Doc/Syntax.doc.i
data/src/share/vm/shark/sharkInliner.hpp.i
data/src/share/vm/compiler/methodLiveness.hpp.i
data/src/share/vm/prims/jvmtiTagMap.hpp.i
data/test/gc/6845368/bigobj.java.d
-data/test/runtime/6819213/TestBootNativeLibraryPath.java.i
+data/make/linux/makefiles/top.make.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9CCBranchDecoder.java.i
data/test/gc/6845368/bigobj.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FlushDecoder.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/opto/ProjNode.java.i
+data/make/linux/makefiles/debug.make.i
+data/src/share/tools/IdealGraphVisualizer/Util/src/com/sun/hotspot/igv/util/ExtendedSelectAction.java.i
data/src/share/vm/compiler/oopMap.hpp.i
data/test/compiler/6909839/Test6909839.java.i
data/src/share/tools/IdealGraphVisualizer/Filter/nbproject/genfiles.properties.i
-data/make/solaris/makefiles/saproc.make.i
+data/make/windows/projectfiles/compiler2/Makefile.i
data/src/share/vm/prims/jvmtiExtensions.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32LDTEntry.java.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/nbproject/build-impl.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/amd64/AMD64JavaCallWrapper.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionAMD64.java.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/nbproject/project.xml.i
data/src/share/vm/prims/jvmtiGetLoadedClasses.cpp.i
data/src/cpu/x86/vm/disassembler_x86.hpp.i
-data/src/share/vm/utilities/intHisto.hpp.i
+data/src/share/vm/gc_implementation/shared/collectorCounters.cpp.i
data/src/share/vm/services/heapDumper.hpp.i
data/src/cpu/x86/vm/interpreter_x86_32.cpp.i
data/src/os/bsd/vm/perfMemory_bsd.cpp.i
-data/build/linux/makefiles/optimized.make.i
+data/src/share/vm/memory/threadLocalAllocBuffer.inline.hpp.i
data/src/share/vm/code/stubs.hpp.i
data/agent/src/os/bsd/symtab.c.i
data/src/share/vm/utilities/elfSymbolTable.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/jdi/VMModifiers.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/runtime/StackValueCollection.java.i
data/src/share/vm/utilities/xmlstream.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9MOVccInstruction.java.i
-data/src/os_cpu/linux_zero/vm/threadLS_linux_zero.cpp.i
+data/make/windows/projectfiles/tiered/vm.def.i
+data/src/share/vm/adlc/filebuff.hpp.i
data/src/share/vm/prims/jvmtiEnvBase.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/HelloWorld.java.i
-data/src/cpu/sparc/vm/bytecodeInterpreter_sparc.inline.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/BasicCDebugInfoDataBase.java.i
+data/src/share/vm/memory/heapInspection.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceLdstubDecoder.java.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/nbproject/genfiles.properties.i
-data/agent/src/share/classes/com/sun/java/swing/action/SaveAction.java.i
+data/build/solaris/makefiles/fastdebug.make.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/ArgumentSizeComputer.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/WriteDecoder.java.i
-data/src/os/linux/vm/hpi_linux.hpp.i
+data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/widgets/FigureWidget.java.i
data/src/share/vm/prims/privilegedStack.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionSPARC64Bit.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/GenerateOopMap.java.i
+data/build/linux/makefiles/launcher.make.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSFileIndex.java.i
data/agent/src/share/classes/sun/jvm/hotspot/code/DebugInformationRecorder.java.i
-data/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp.i
+data/build/linux/README.i
data/src/os_cpu/linux_x86/vm/linux_x86_64.ad.i
-data/make/windows/projectfiles/core/vm.def.i
+data/src/share/vm/oops/klassVtable.cpp.i
data/build/linux/platform_i486.i
data/src/os_cpu/windows_x86/vm/vm_version_windows_x86.cpp.i
data/build/linux/makefiles/dtrace.make.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/actions/DiffGraphAction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64ThreadContext.java.i
data/src/share/vm/runtime/compilationPolicy.cpp.i
-data/src/share/vm/ci/ciObjectFactory.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ClassFilter.java.i
+data/src/share/vm/classfile/classFileParser.cpp.i
+data/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp.i
data/agent/src/share/classes/com/sun/java/swing/action/ActionUtilities.java.i
data/build/linux/makefiles/top.make.i
data/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge.i
@@ -3915,158 +3943,159 @@ data/agent/make/saenv64.bat.i
data/src/os_cpu/windows_x86/vm/os_windows_x86.hpp.i
data/src/share/vm/oops/instanceKlassKlass.cpp.i
data/make/solaris/makefiles/jsig.make.i
-data/build/windows/projectfiles/kernel/vm.dsw.i
+data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/META-INF/services/com.sun.hotspot.igv.data.services.Scheduler.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/SignatureConverter.java.i
-data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/actions/DiffGraphCookie.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/memo/MemoizedFloat.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPool.java.i
+data/src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp.i
+data/test/compiler/7024475/Test7024475.java.i
data/src/share/tools/IdealGraphVisualizer/Filter/nbproject/build-impl.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/ci/ciTypeArrayKlass.java.i
data/src/share/vm/ci/bcEscapeAnalyzer.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSStaticSym.java.i
data/test/compiler/5091921/Test6357214.java.i
-data/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.inline.hpp.i
+data/src/os_cpu/linux_zero/vm/thread_linux_zero.cpp.i
data/test/runtime/6981737/Test6981737.java.i
-data/src/share/vm/interpreter/bytecode.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/types/WrongTypeException.java.i
+data/src/os_cpu/linux_sparc/vm/threadLS_linux_sparc.hpp.i
+data/agent/doc/hsdb.html.i
data/src/share/vm/compiler/disassemblerEnv.hpp.i
-data/make/jprt.gmk.i
+data/src/share/vm/opto/c2_globals.hpp.i
data/src/share/vm/runtime/park.hpp.i
-data/build/windows/projectfiles/tiered/vm.def.i
-data/src/share/vm/memory/barrierSet.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/FindObjectByType.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/UnmappedAddressException.java.i
data/make/linux/makefiles/core.make.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCLogicInstruction.java.i
+data/src/share/vm/runtime/handles.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50WrongNumericTypeException.java.i
data/make/bsd/Makefile.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32LDTEntryConstants.java.i
-data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/register.filter.i
-data/agent/src/share/classes/sun/jvm/hotspot/tools/StackTrace.java.i
+data/src/share/tools/IdealGraphVisualizer/Bytecodes/build.xml.i
+data/test/compiler/6769124/TestDeoptInt6769124.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/Mark.java.i
-data/test/runtime/6626217/from_loader2.java.i
+data/src/share/vm/memory/genCollectedHeap.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/Block_Array.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/sparc/LinuxSPARCCFrame.java.i
data/src/share/tools/IdealGraphVisualizer/NetworkConnection/nbproject/suite.properties.i
-data/src/cpu/zero/vm/frame_zero.inline.hpp.i
+data/test/compiler/6661247/Test.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteAddress.java.i
data/test/compiler/6769124/TestUnalignedLoad6769124.java.i
data/src/share/vm/shark/sharkCompiler.hpp.i
data/src/share/tools/IdealGraphVisualizer/ServerCompiler/nbproject/project.properties.i
data/agent/src/os/bsd/MacosxDebuggerLocal.m.i
-data/agent/src/share/classes/sun/jvm/hotspot/opto/CallJavaNode.java.i
+data/make/solaris/makefiles/mapfile-vers-jsig.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ConditionFlags.java.i
data/src/share/vm/ci/compilerInterface.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/ObjArrayKlass.java.i
+data/test/runtime/6888954/vmerrors.sh.i
+data/src/share/vm/code/pcDesc.hpp.i
data/src/share/vm/prims/jvmtiUtil.cpp.i
data/src/os/windows/vm/os_share_windows.hpp.i
data/agent/src/share/classes/com/sun/java/swing/action/OkAction.java.i
-data/make/linux/makefiles/saproc.make.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCInstructionFactoryImpl.java.i
data/src/os/solaris/dtrace/generateJvmOffsets.h.i
+data/src/share/vm/ci/ciMethodHandle.cpp.i
data/src/share/vm/c1/c1_globals.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/CompoundTypeKind.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeIf.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/TypeVisitor.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/runtime/solaris_sparc/SolarisSPARCJavaThreadPDAccess.java.i
+data/src/share/vm/ci/ciInstance.cpp.i
data/src/share/vm/c1/c1_Defs.hpp.i
data/make/solaris/makefiles/mapfile-vers-COMPILER2.i
data/build/solaris/makefiles/defs.make.i
-data/agent/src/share/classes/sun/jvm/hotspot/code/ScopeDesc.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/RTLOperations.java.i
+data/src/share/vm/runtime/unhandledOops.hpp.i
+data/src/share/tools/IdealGraphVisualizer/Util/src/com/sun/hotspot/igv/util/ExtendedSatelliteComponent.java.i
data/src/share/vm/interpreter/abstractInterpreter.hpp.i
-data/src/cpu/sparc/vm/debug_sparc.cpp.i
+data/test/compiler/6865265/StackOverflowBug.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32OopHandle.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PopcInstruction.java.i
data/src/share/tools/IdealGraphVisualizer/BatikSVGProxy/nbproject/genfiles.properties.i
-data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgThreadFactory.java.i
data/agent/src/os/win32/libInfo.cpp.i
data/src/os/solaris/vm/jsig.c.i
data/src/cpu/zero/vm/globalDefinitions_zero.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9CMoveDecoder.java.i
+data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/CallSite.java.i
data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/Selector.java.i
-data/src/share/vm/ci/ciCallSite.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpot.java.i
+data/src/share/vm/ci/ciObjArray.hpp.i
+data/src/cpu/sparc/vm/dump_sparc.cpp.i
+data/src/share/vm/prims/hpi_imported.h.i
data/src/share/vm/memory/filemap.hpp.i
-data/src/share/vm/ci/ciExceptionHandler.hpp.i
+data/make/linux/platform_i486.suncc.i
data/build/linux/makefiles/adlc.make.i
data/src/share/vm/opto/loopPredicate.cpp.i
data/test/runtime/7020373/Test7020373.sh.i
-data/src/os/solaris/dtrace/jvm_dtrace.h.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRestoreInstruction.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/oops/ObjArrayKlassKlass.java.i
+data/src/share/vm/opto/idealKit.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/DataLayout.java.i
data/make/windows/projectfiles/kernel/Makefile.i
-data/make/solaris/makefiles/reorder_COMPILER1_sparc.i
-data/src/share/vm/opto/output.cpp.i
+data/src/share/vm/prims/jvmtiEnvThreadState.cpp.i
+data/test/compiler/6778657/Test.java.i
+data/src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp.i
data/test/runtime/7100935/TestConjointAtomicArraycopy.java.i
-data/make/solaris/makefiles/buildtree.make.i
+data/src/share/vm/runtime/fprofiler.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/tools/jcore/NameFilter.java.i
-data/test/compiler/7048332/Test7048332.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FloatDecoder.java.i
+data/src/os_cpu/solaris_sparc/vm/threadLS_solaris_sparc.hpp.i
+data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/register.filter.i
data/test/compiler/6942326/Test.java.i
-data/make/linux/makefiles/compiler2.make.i
+data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/ExportAction.java.i
data/src/os_cpu/bsd_x86/vm/bsd_x86_64.ad.i
data/agent/test/jdi/sasanity.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/x86/X86CurrentFrameGuess.java.i
data/agent/src/share/classes/images/toolbarButtonGraphics/general/Help24.gif.i
data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/Diagram.java.i
-data/src/os_cpu/bsd_zero/vm/thread_bsd_zero.hpp.i
+data/src/share/vm/services/memoryService.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/DoubleTreeNodeAdapter.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/Disassembler.java.i
data/src/share/tools/IdealGraphVisualizer/Bytecodes/nbproject/platform.properties.i
data/src/share/tools/IdealGraphVisualizer/View/nbproject/platform.properties.i
-data/src/share/vm/oops/klassOop.hpp.i
-data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/Compilation.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/ui/JavaThreadsPanel.java.i
data/make/windows/projectfiles/compiler2/ADLCompiler.dsp.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/OneContigSpaceCardGeneration.java.i
data/src/os/bsd/vm/thread_bsd.inline.hpp.i
data/src/share/vm/classfile/vmSymbols.cpp.i
data/src/share/vm/opto/indexSet.cpp.i
data/src/cpu/x86/vm/cppInterpreter_x86.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCNoopInstruction.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/DebuggerUtilities.java.i
data/make/windows/platform_amd64.i
-data/src/cpu/sparc/vm/vm_version_sparc.hpp.i
+data/src/os_cpu/linux_x86/vm/assembler_linux_x86_64.cpp.i
data/test/compiler/6982370/Test6982370.java.i
data/src/share/vm/utilities/elfSymbolTable.hpp.i
data/src/cpu/sparc/vm/c1_LinearScan_sparc.cpp.i
data/src/os_cpu/linux_x86/vm/assembler_linux_x86_32.cpp.i
-data/make/bsd/makefiles/hp1.make.i
+data/build/linux/Queens.class.i
data/src/share/vm/opto/connode.cpp.i
data/src/os/solaris/vm/mutex_solaris.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/LogicDecoder.java.i
data/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/Pair.java.i
data/src/cpu/x86/vm/c1_CodeStubs_x86.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolCacheEntry.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/runtime/BasicType.java.i
+data/src/os_cpu/bsd_x86/vm/threadLS_bsd_x86.hpp.i
data/src/share/vm/memory/cardTableModRefBS.hpp.i
-data/src/share/vm/gc_implementation/concurrentMarkSweep/promotionInfo.hpp.i
-data/agent/src/share/classes/com/sun/java/swing/action/SaveAsAction.java.i
+data/src/share/vm/runtime/jniHandles.hpp.i
+data/src/os/windows/launcher/java_md.h.i
+data/ASSEMBLY_EXCEPTION.i
data/src/share/vm/gc_implementation/includeDB_gc_serial.i
data/src/share/tools/IdealGraphVisualizer/RhinoScriptEngineProxy/nbproject/project.xml.i
data/src/share/vm/runtime/objectMonitor.inline.hpp.i
data/src/share/vm/gc_implementation/shared/gcUtil.cpp.i
-data/src/cpu/x86/vm/assembler_x86_64.cpp.i
-data/test/compiler/6775880/Test.java.i
+data/src/share/vm/opto/loopUnswitch.cpp.i
+data/test/compiler/7009231/Test7009231.java.i
data/agent/src/share/classes/sun/jvm/hotspot/code/VMRegImpl.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxAddress.java.i
+data/src/share/vm/gc_implementation/shared/coTracker.hpp.i
data/make/bsd/makefiles/compiler1.make.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/ProfileData.java.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/DefNewGeneration.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/TypeArrayKlass.java.i
-data/agent/src/os/win32/README.txt.i
data/test/compiler/6891750/Test6891750.java.i
-data/src/share/vm/gc_implementation/concurrentMarkSweep/freeList.cpp.i
data/src/cpu/x86/vm/jniFastGetField_x86_64.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/bugspot/RegisterPanel.java.i
+data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/widgets/DiagramConnectionWidget.java.i
+data/src/share/tools/IdealGraphVisualizer/View/nbproject/build-impl.xml.i
data/src/os/bsd/vm/stubRoutines_bsd.cpp.i
data/src/os_cpu/bsd_x86/vm/assembler_bsd_x86.cpp.i
data/src/cpu/x86/vm/frame_x86.cpp.i
data/make/windows/projectfiles/kernel/vm.def.i
-data/src/cpu/zero/vm/relocInfo_zero.hpp.i
+data/src/share/tools/MakeDeps/UnixPlatform.java.i
data/src/share/tools/IdealGraphVisualizer/Util/nbproject/build-impl.xml.i
data/agent/make/hsdbproc64.sh.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/memo/MemoizedObject.java.i
+data/src/share/vm/code/location.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/HeapBlock.java.i
data/src/share/vm/runtime/jniPeriodicChecker.hpp.i
-data/src/share/vm/gc_implementation/concurrentMarkSweep/freeChunk.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/JmpDecoder.java.i
+data/src/share/vm/services/g1MemoryPool.hpp.i
+data/make/windows/projectfiles/core/vm.dsw.i
data/agent/src/share/classes/sun/jvm/hotspot/jdi/SACoreAttachingConnector.java.i
data/src/share/vm/opto/chaitin.cpp.i
data/build/solaris/makefiles/product.make.i
@@ -4074,8 +4103,8 @@ data/agent/src/os/solaris/dbx/README-commands.txt.i
data/src/share/vm/prims/nativeLookup.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/HistoryComboBox.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/ReturnInstruction.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/dummy/DummyAddress.java.i
-data/src/share/tools/ProjectCreator/WinGammaPlatformVC10.java.i
+data/src/share/tools/IdealGraphVisualizer/Graph/src/com/sun/hotspot/igv/graph/Bundle.properties.i
+data/src/share/vm/ci/ciMethodHandle.hpp.i
data/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/Space.java.i
data/src/share/vm/utilities/dtrace_usdt2_disabled.hpp.i
@@ -4084,17 +4113,16 @@ data/src/share/vm/asm/register.hpp.i
data/src/cpu/sparc/vm/frame_sparc.cpp.i
data/src/os/solaris/vm/vmError_solaris.cpp.i
data/src/share/vm/oops/oop.inline.hpp.i
-data/agent/test/jdi/serialvm.sh.i
-data/agent/src/share/classes/sun/jvm/hotspot/code/LocationValue.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/jdi/MethodImpl.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/x86/DbxX86Thread.java.i
+data/src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp.i
+data/build/solaris/makefiles/adjust-mflags.sh.i
+data/src/share/tools/IdealGraphVisualizer/Layout/src/com/sun/hotspot/igv/layout/Link.java.i
+data/build/linux/makefiles/hp.make.i
data/agent/src/share/classes/sun/jvm/hotspot/compiler/OopMapSet.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/IndirectAddress.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaTypeArray.java.i
+data/src/share/vm/opto/connode.hpp.i
+data/src/share/vm/gc_implementation/g1/g1AllocRegion.cpp.i
data/src/share/vm/opto/machnode.cpp.i
-data/src/share/vm/gc_implementation/shared/collectorCounters.hpp.i
-data/src/share/vm/services/threadService.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/LineNumberInfo.java.i
+data/src/share/vm/prims/jvmtiExtensions.hpp.i
+data/build/solaris/makefiles/jsig.make.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/InlineTree.java.i
data/src/share/vm/ci/ciSymbolKlass.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHistogramElement.java.i
@@ -4102,86 +4130,85 @@ data/src/share/tools/IdealGraphVisualizer/Util/src/com/sun/hotspot/igv/util/Cont
data/src/share/vm/runtime/task.cpp.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/images/folder.gif.i
data/src/share/tools/MakeDeps/WinGammaPlatform.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCIndirectCallInstruction.java.i
+data/src/share/vm/interpreter/linkResolver.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPStoreDecoder.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRegisterIndirectAddress.java.i
+data/build/solaris/makefiles/reorder_CORE_sparc.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/linux_x86/LinuxSignals.java.i
data/src/share/tools/IdealGraphVisualizer/BatikSVGProxy/src/com/sun/hotspot/igv/svg/layer.xml.i
data/src/cpu/sparc/vm/runtime_sparc.cpp.i
-data/src/cpu/x86/vm/nativeInst_x86.hpp.i
-data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/helper.js.i
-data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/OverviewAction.java.i
+data/src/share/vm/classfile/symbolTable.hpp.i
+data/make/windows/makefiles/debug.make.i
+data/src/share/vm/gc_implementation/concurrentMarkSweep/cmsPermGen.hpp.i
data/src/share/vm/c1/c1_LIRGenerator.cpp.i
data/src/cpu/x86/vm/cppInterpreter_x86.cpp.i
-data/src/cpu/sparc/vm/interp_masm_sparc.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/jdi/ThreadReferenceImpl.java.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/MachineTypes.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/RTLDataTypes.java.i
data/src/share/vm/opto/gcm.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/BasicLock.java.i
-data/src/cpu/x86/vm/interpreterRT_x86_64.cpp.i
data/make/linux/makefiles/adjust-mflags.sh.i
-data/src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCLogicInstruction.java.i
data/build/linux/makefiles/product.make.i
data/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/PlaceholderEntry.java.i
data/src/share/vm/compiler/disassembler.hpp.i
data/src/share/vm/libadt/port.hpp.i
-data/src/share/vm/opto/compile.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/HelloWorld.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/Instruction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/Klass.java.i
-data/src/cpu/zero/vm/jniFastGetField_zero.cpp.i
+data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/Bundle.properties.i
data/src/os/linux/vm/attachListener_linux.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/RegisterMap.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/ObjArray.java.i
data/src/share/vm/memory/classify.hpp.i
data/build/solaris/makefiles/sparc.make.i
data/src/cpu/sparc/vm/relocInfo_sparc.hpp.i
-data/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp.i
-data/src/os_cpu/solaris_sparc/vm/prefetch_solaris_sparc.inline.hpp.i
+data/src/share/vm/interpreter/templateTable.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/LongHashMap.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SirInstruction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicAddressFieldWrapper.java.i
data/src/share/vm/opto/type.cpp.i
data/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp.i
-data/src/cpu/sparc/vm/nativeInst_sparc.hpp.i
+data/src/os_cpu/solaris_x86/vm/os_solaris_x86.hpp.i
data/test/compiler/7052494/Test7052494.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/ui/FindInHeapPanel.java.i
+data/agent/src/os/win32/README.txt.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50SSSymbols.java.i
data/make/bsd/makefiles/profiled.make.i
data/src/os/solaris/vm/c1_globals_solaris.hpp.i
data/src/os/linux/vm/mutex_linux.cpp.i
data/src/os/linux/vm/stubRoutines_linux.cpp.i
data/src/share/vm/gc_implementation/concurrentMarkSweep/cmsGCAdaptivePolicyCounters.cpp.i
-data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/nbproject/genfiles.properties.i
+data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/helper.js.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/x86/WindbgX86ThreadContext.java.i
data/src/share/tools/MakeDeps/Util.java.i
-data/agent/src/os/solaris/proc/libproc.h.i
+data/src/os/posix/vm/os_posix.cpp.i
data/src/share/vm/ci/ciObjArray.cpp.i
data/build/windows/makefiles/product.make.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/RootNode.java.i
data/src/share/vm/classfile/javaAssertions.hpp.i
-data/src/share/vm/utilities/numberSeq.cpp.i
-data/src/share/vm/oops/objArrayKlassKlass.hpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/COFFException.java.i
data/src/share/vm/oops/typeArrayOop.hpp.i
data/src/share/vm/includeDB_core.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgCDebugInfoBuilder.java.i
data/src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp.i
-data/src/share/vm/interpreter/bytecodeTracer.cpp.i
+data/src/share/vm/oops/klassVtable.hpp.i
data/src/share/tools/IdealGraphVisualizer/Bytecodes/src/com/sun/hotspot/igv/bytecodes/BytecodeViewTopComponentSettings.xml.i
-data/src/os_cpu/bsd_zero/vm/os_bsd_zero.hpp.i
-data/src/cpu/sparc/vm/register_definitions_sparc.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/ui/MemoryViewer.java.i
+data/src/share/vm/opto/loopTransform.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCTrapInstruction.java.i
data/src/share/tools/IdealGraphVisualizer/Bytecodes/src/com/sun/hotspot/igv/bytecodes/BytecodeViewTopComponentWstcref.xml.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/MessageQueue.java.i
data/src/share/vm/oops/objArrayKlass.cpp.i
data/build/windows/get_msc_ver.sh.i
data/src/share/vm/utilities/exceptions.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ReturnInstruction.java.i
+data/src/share/vm/code/vtableStubs.cpp.i
data/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp.i
data/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp.i
-data/agent/src/os/win32/libInfo.hpp.i
-data/agent/test/libproc/libproctest.sh.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9WrprInstruction.java.i
-data/src/cpu/x86/vm/templateTable_x86_32.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/utilities/LivenessPath.java.i
+data/src/share/vm/ci/ciMethod.cpp.i
+data/src/share/tools/IdealGraphVisualizer/ControlFlow/nbproject/genfiles.properties.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9SpecialStoreDecoder.java.i
+data/build/solaris/makefiles/mapfile-vers-nonproduct.i
data/src/share/vm/prims/methodHandleWalk.hpp.i
data/src/share/tools/IdealGraphVisualizer/Filter/src/com/sun/hotspot/igv/filter/CombineFilter.java.i
data/src/share/tools/IdealGraphVisualizer/Settings/nbproject/suite.properties.i
@@ -4189,10 +4216,10 @@ data/src/share/vm/ci/ciConstant.cpp.i
data/src/cpu/zero/vm/vmStructs_zero.hpp.i
data/agent/src/os/win32/IOBuf.cpp.i
data/src/os/bsd/vm/os_bsd.cpp.i
-data/src/os_cpu/bsd_zero/vm/vm_version_bsd_zero.cpp.i
+data/agent/src/share/classes/com/sun/java/swing/action/BackAction.java.i
data/src/share/vm/oops/klassPS.hpp.i
-data/src/os/windows/vm/jvm_windows.h.i
-data/agent/src/os/bsd/ps_core.c.i
+data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/color.filter.i
+data/src/share/vm/ci/ciArray.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/livejvm/JNIHandleAccessor.java.i
data/src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp.i
data/src/os/solaris/dtrace/jvm_dtrace.c.i
@@ -4203,38 +4230,39 @@ data/src/share/vm/oops/objArrayKlassKlass.cpp.i
data/src/os_cpu/linux_x86/vm/threadLS_linux_x86.cpp.i
data/test/compiler/6855164/Test.java.i
data/agent/src/share/classes/sun/jvm/hotspot/ci/ciTypeArrayKlassKlass.java.i
-data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogCleanupReader.java.i
+data/agent/make/clhsdbproc64.sh.i
data/README.i
-data/agent/src/share/classes/sun/jvm/hotspot/utilities/BasicHashtable.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEShiftDecoder.java.i
data/test/runtime/6878713/testcase.jar.i
-data/make/README.i
+data/src/share/vm/gc_implementation/g1/concurrentMark.hpp.i
data/src/cpu/sparc/vm/c1_FpuStackSim_sparc.cpp.i
data/src/cpu/x86/vm/templateTable_x86_64.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PrivilegedRegisters.java.i
-data/make/windows/create.bat.i
+data/src/os_cpu/solaris_x86/vm/assembler_solaris_x86.cpp.i
data/agent/make/grantAll.policy.i
data/test/compiler/6646019/Test.java.i
+data/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp.i
data/src/os_cpu/bsd_x86/vm/bsd_x86_32.s.i
data/src/share/tools/MakeDeps/ArgsParser.java.i
data/src/share/vm/oops/cpCacheOop.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/types/OopField.java.i
+data/src/cpu/sparc/vm/templateTable_sparc.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/CallStaticJavaNode.java.i
data/src/share/vm/opto/rootnode.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/JavaThreadFactory.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PrefetchInstruction.java.i
-data/make/bsd/makefiles/fastdebug.make.i
+data/agent/make/dumpflagsproc.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/opto/Phase.java.i
-data/src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteThreadFactory.java.i
-data/src/share/vm/gc_implementation/shared/gcPolicyCounters.hpp.i
+data/build/solaris/makefiles/reorder_TIERED_sparc.i
+data/src/share/vm/utilities/numberSeq.cpp.i
+data/src/share/vm/memory/barrierSet.hpp.i
data/agent/make/jcoreproc64.sh.i
data/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp.i
data/src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp.i
data/src/share/vm/runtime/sweeper.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RotateInstruction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/oops/BranchData.java.i
-data/make/altsrc.make.i
-data/src/share/vm/opto/classes.hpp.i
+data/agent/make/jsdbproc64.sh.i
+data/src/share/vm/oops/klassOop.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9BranchDecoder.java.i
data/src/share/vm/shark/sharkStateScanner.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/MemoryInstructionDecoder.java.i
@@ -4245,9 +4273,9 @@ data/src/share/vm/runtime/java.hpp.i
data/make/test/Queens.java.i
data/src/share/vm/c1/c1_FrameMap.hpp.i
data/src/share/tools/IdealGraphVisualizer/NetworkConnection/src/com/sun/hotspot/igv/connection/layer.xml.i
-data/src/share/tools/IdealGraphVisualizer/Filter/build.xml.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/dummy/DummyDebugger.java.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/MouseOverAction.java.i
-data/src/cpu/sparc/vm/bytecodes_sparc.cpp.i
+data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/ZoomOutAction.java.i
data/src/share/vm/runtime/mutex.hpp.i
data/src/os_cpu/linux_sparc/vm/linux_sparc.ad.i
data/build/hotspot_distro.i
@@ -4255,12 +4283,12 @@ data/src/os/linux/vm/objectMonitor_linux.hpp.i
data/src/share/vm/prims/methodHandleWalk.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/runtime/ResultTypeFinder.java.i
data/src/share/vm/runtime/perfData.hpp.i
-data/make/bsd/makefiles/i486.make.i
+data/src/share/vm/runtime/globals.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/ui/tree/CharTreeNodeAdapter.java.i
data/src/cpu/zero/vm/icBuffer_zero.cpp.i
data/test/compiler/7070134/words.d
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPLoadDecoder.java.i
-data/test/compiler/7070134/words.i
+data/make/solaris/makefiles/compiler1.make.i
data/src/share/vm/code/dependencies.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/tools/SysPropsDumper.java.i
data/make/bsd/makefiles/product.make.i
@@ -4268,109 +4296,109 @@ data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaFrame.java.i
data/src/share/vm/utilities/vmError.hpp.i
data/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp.i
data/src/share/vm/ci/ciConstant.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/tools/Tool.java.i
+data/src/share/vm/interpreter/templateInterpreterGenerator.hpp.i
data/src/cpu/zero/vm/templateInterpreter_zero.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionIA64.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/Win32VtblAccess.java.i
+data/src/share/tools/LogCompilation/README.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/AuxFunctionDefinitionRecord.java.i
-data/src/share/tools/IdealGraphVisualizer/BatikSVGProxy/manifest.mf.i
+data/src/share/vm/memory/collectorPolicy.hpp.i
data/src/share/vm/opto/runtime.cpp.i
data/src/cpu/sparc/vm/templateInterpreterGenerator_sparc.hpp.i
data/src/share/tools/IdealGraphVisualizer/ServerCompiler/src/com/sun/hotspot/igv/servercompiler/filters/linestyle.filter.i
data/src/share/vm/runtime/threadCritical.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/AddressException.java.i
data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/images/up.gif.i
-data/src/share/vm/runtime/safepoint.cpp.i
+data/build/linux/makefiles/optimized.make.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/x86/BsdX86CFrame.java.i
data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/images/prev_diagram.png.i
data/src/share/vm/classfile/stackMapTable.hpp.i
-data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/ExtractAction.java.i
data/src/share/vm/oops/arrayKlassKlass.cpp.i
data/src/share/vm/runtime/thread.cpp.i
-data/make/windows/projectfiles/tiered/ADLCompiler.dsw.i
+data/build/windows/projectfiles/tiered/vm.def.i
data/agent/src/share/classes/com/sun/java/swing/ui/CommonMenuBar.java.i
data/src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp.i
-data/make/hotspot_distro.i
+data/src/share/vm/gc_implementation/concurrentMarkSweep/freeList.cpp.i
data/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/HierarchicalClusterLayoutManager.java.i
-data/build/solaris/platform_i486.i
+data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/NextDiagramAction.java.i
data/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp.i
data/test/compiler/6772683/InterruptedTest.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCInstructionFactoryImpl.java.i
+data/make/linux/makefiles/saproc.make.i
data/src/share/vm/memory/generation.inline.hpp.i
-data/src/cpu/sparc/vm/dump_sparc.cpp.i
+data/src/share/vm/ci/ciCPCache.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/SALauncherLoader.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/oops/FieldIdentifier.java.i
+data/test/compiler/6714694/Tester.java.i
data/src/share/vm/opto/idealKit.hpp.i
data/src/share/vm/memory/resourceArea.cpp.i
data/src/share/vm/ci/ciNullObject.cpp.i
-data/src/share/vm/prims/jvmtiEnvThreadState.cpp.i
+data/src/share/vm/prims/unsafe.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicCIntegerType.java.i
-data/build/windows/makefiles/makedeps.make.i
+data/src/share/vm/gc_implementation/parallelScavenge/psScavenge.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/HeapProgressThunk.java.i
data/src/share/vm/asm/register.cpp.i
data/src/cpu/x86/vm/frame_x86.inline.hpp.i
-data/src/share/tools/IdealGraphVisualizer/FilterWindow/src/com/sun/hotspot/igv/filterwindow/FilterNode.java.i
+data/src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/Compilation.java.i
data/src/share/vm/ci/ciSymbolKlass.hpp.i
-data/make/windows/makefiles/launcher.make.i
+data/src/os_cpu/linux_zero/vm/bytes_linux_zero.inline.hpp.i
+data/agent/make/heapsumproc.sh.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/MoveDecoder.java.i
data/src/share/vm/interpreter/rewriter.hpp.i
data/src/cpu/x86/vm/c1_globals_x86.hpp.i
-data/src/share/tools/IdealGraphVisualizer/Layout/src/com/sun/hotspot/igv/layout/Cluster.java.i
+data/agent/src/share/classes/sun/jvm/hotspot/runtime/linux/LinuxSignals.java.i
data/src/share/tools/IdealGraphVisualizer/Data/nbproject/platform.properties.i
-data/src/share/tools/IdealGraphVisualizer/View/src/META-INF/services/com.sun.hotspot.igv.data.services.GraphViewer.i
-data/src/cpu/x86/vm/runtime_x86_32.cpp.i
+data/src/share/vm/opto/generateOptoStub.cpp.i
+data/src/os/bsd/dtrace/generateJvmOffsets.h.i
data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/actions/ImportAction.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/gc_implementation/parallelScavenge/PSYoungGen.java.i
+data/agent/test/jdi/VMConnection.java.i
data/make/bsd/README.i
data/make/windows/makefiles/compile.make.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceLdstubDecoder.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/jdi/ThreadReferenceImpl.java.i
+data/src/share/vm/shark/sharkInliner.cpp.i
+data/src/cpu/sparc/vm/interp_masm_sparc.cpp.i
data/src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.hpp.i
-data/agent/make/pmapproc.sh.i
-data/src/share/vm/opto/mulnode.cpp.i
+data/src/share/vm/opto/classes.cpp.i
+data/src/cpu/x86/vm/interpreterRT_x86_64.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/AuxSymbolRecord.java.i
data/src/share/vm/runtime/stubCodeGenerator.hpp.i
data/test/compiler/6833129/Test.java.i
data/agent/src/share/classes/sun/jvm/hotspot/code/SingletonBlob.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32LDTEntry.java.i
-data/src/share/vm/memory/threadLocalAllocBuffer.inline.hpp.i
+data/test/runtime/6929067/Test6929067.sh.i
data/src/share/vm/runtime/unhandledOops.cpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/COFFException.java.i
+data/src/share/vm/oops/objArrayKlassKlass.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9PopcDecoder.java.i
data/agent/src/share/classes/sun/jvm/hotspot/memory/SharedHeap.java.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaObjArrayKlass.java.i
-data/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentGCThread.hpp.i
+data/test/runtime/6626217/many_loader2.java.foo.i
data/src/share/tools/ProjectCreator/WinGammaPlatformVC6.java.i
-data/build/solaris/makefiles/mapfile-vers-nonproduct.i
-data/src/share/vm/c1/c1_ValueStack.hpp.i
+data/src/cpu/x86/vm/templateTable_x86_32.cpp.i
+data/agent/src/share/classes/sun/jvm/hotspot/runtime/InstanceConstructor.java.i
data/src/share/vm/opto/subnode.hpp.i
data/make/windows/makefiles/generated.make.i
data/agent/src/share/classes/sun/jvm/hotspot/ci/ciObjArrayKlassKlass.java.i
-data/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp.i
+data/src/share/vm/gc_implementation/shared/collectorCounters.hpp.i
data/agent/src/os/win32/Reaper.cpp.i
data/src/share/vm/gc_implementation/parallelScavenge/psYoungGen.hpp.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SpecialStoreDecoder.java.i
-data/src/cpu/zero/vm/interp_masm_zero.cpp.i
-data/agent/make/jsdbproc64.sh.i
+data/src/share/vm/libadt/set.hpp.i
+data/test/compiler/5091921/Test6890943.sh.i
+data/agent/src/share/classes/sun/jvm/hotspot/debugger/proc/SharedObject.java.i
data/src/share/vm/oops/klass.cpp.i
data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50MemberAttributes.java.i
data/agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeIinc.java.i
data/src/os_cpu/solaris_x86/vm/threadLS_solaris_x86.hpp.i
data/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp.i
-data/agent/src/share/classes/com/sun/java/swing/action/HelpMenu.java.i
+data/src/cpu/sparc/vm/jni_sparc.h.i
data/src/share/vm/opto/block.hpp.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32ThreadContext.java.i
+data/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/ExtractAction.java.i
data/agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCWriteInstruction.java.i
data/src/cpu/x86/vm/c1_LIRAssembler_x86.hpp.i
data/src/share/vm/gc_implementation/parallelScavenge/prefetchQueue.hpp.i
-data/agent/make/heapsumproc.sh.i
-data/agent/src/share/classes/sun/jvm/hotspot/runtime/linux/LinuxSignals.java.i
+data/src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/FolderNode.java.i
+data/src/share/tools/IdealGraphVisualizer/Layout/src/com/sun/hotspot/igv/layout/Cluster.java.i
data/agent/src/share/classes/sun/jvm/hotspot/utilities/memo/MemoizedBoolean.java.i
-data/src/share/vm/interpreter/bytecodes.hpp.i
+data/src/cpu/sparc/vm/nativeInst_sparc.hpp.i
data/src/share/vm/runtime/monitorChunk.hpp.i
-data/build/windows/projectfiles/tiered/ADLCompiler.dsp.i
+data/make/solaris/makefiles/adlc.make.i
data/build/solaris/makefiles/mapfile-vers-jsig.i
-data/agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MoveLoadInstruction.java.i
-data/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/amd64/BsdAMD64ThreadContext.java.i
+data/test/compiler/7100757/Test7100757.java.i
+data/agent/make/soqlwindbg.bat.i
data/src/share/vm/utilities/numberSeq.hpp.i
-data/src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp.i
+data/src/share/vm/gc_implementation/shared/spaceDecorator.hpp.i
diff --git a/hotspot/.hg/store/undo b/hotspot/.hg/store/undo
index 6071d0e..c798c1e 100644
Binary files a/hotspot/.hg/store/undo and b/hotspot/.hg/store/undo differ
diff --git a/hotspot/.hg/undo.desc b/hotspot/.hg/undo.desc
index 67deb0a..762fcae 100644
--- a/hotspot/.hg/undo.desc
+++ b/hotspot/.hg/undo.desc
@@ -1,3 +1,3 @@
-2890
+2891
pull
http://hg.openjdk.java.net/jigsaw/jigsaw/hotspot
diff --git a/hotspot/.hg/undo.dirstate b/hotspot/.hg/undo.dirstate
index dc315b7..ac9f714 100644
Binary files a/hotspot/.hg/undo.dirstate and b/hotspot/.hg/undo.dirstate differ
diff --git a/hotspot/.hgtags b/hotspot/.hgtags
index b777c2f..ffd5ce5 100644
--- a/hotspot/.hgtags
+++ b/hotspot/.hgtags
@@ -208,3 +208,17 @@ d815de2e85e511b7deab2a83cf80c0224d011da9 jdk8-b10
b92ca8e229d29004f840c67e620833d23a346761 jdk8-b13
088d09a130ff02d8f5f05e92256baabe412f0439 jdk8-b14
6c2a55d4902f202e1c2de1df17b7da083a2c31e8 hs23-b06
+fde2a39ed7f39233b287fbc278f437aac06c275b jdk8-b15
+d1f29d4e0bc60e8bd7ae961f1306d8ab33290212 jdk8-b17
+d1f29d4e0bc60e8bd7ae961f1306d8ab33290212 jdk8-b16
+6de8c9ba5907e4c5ca05ac4b8d84a8e2cbd92399 hs23-b07
+a2fef924d8e6f37dac2a887315e3502876cc8e24 hs23-b08
+61165f53f1656b9f99e4fb806429bf98b99d59c3 jdk8-b18
+4bcf61041217f8677dcec18e90e9196acc945bba hs23-b09
+9232e0ecbc2cec54dcc8f93004fb00c214446460 jdk8-b19
+fe2c8764998112b7fefcd7d41599714813ae4327 jdk8-b20
+9952d1c439d64c5fd4ad1236a63a62bd5a49d4c3 jdk8-b21
+513351373923f74a7c91755748b95c9771e59f96 hs23-b10
+24727fb37561779077fdfa5a33342246f20e5c0f jdk8-b22
+dcc292399a39113957eebbd3e487b7e05e2c79fc hs23-b11
+e850d8e7ea54b91c7aa656e297f0f9f38dd4c296 jdk8-b23
diff --git a/hotspot/make/Makefile b/hotspot/make/Makefile
index 5bef049..1d6af55 100644
--- a/hotspot/make/Makefile
+++ b/hotspot/make/Makefile
@@ -367,7 +367,7 @@ endif
$(EXPORT_LIB_DIR)/%.jar: $(GEN_DIR)/%.jar
$(install-file)
-# Include files (jvmti.h, jvmticmlr.h, jni.h, $(JDK_INCLUDE_SUBDIR)/jni_md.h, jmm.h)
+# Include files (jvmti.h, jvmticmlr.h, jni.h, $(JDK_INCLUDE_SUBDIR)/jni_md.h, jmm.h, jfr.h)
$(EXPORT_INCLUDE_DIR)/%: $(GEN_DIR)/jvmtifiles/%
$(install-file)
@@ -384,6 +384,16 @@ $(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h: $(HS_JNI_ARCH_SRC)
$(EXPORT_INCLUDE_DIR)/%: $(HS_SRC_DIR)/share/vm/services/%
$(install-file)
+JFR_EXISTS=$(shell if [ -d $(HS_ALT_SRC) ]; then echo 1; else echo 0; fi)
+# export jfr.h
+ifeq ($JFR_EXISTS,1)
+$(EXPORT_INCLUDE_DIR)/%: $(HS_ALT_SRC)/share/vm/jfr/agent/%
+ $(install-file)
+else
+$(EXPORT_INCLUDE_DIR)/jfr.h:
+
+endif
+
# Doc files (jvmti.html)
$(EXPORT_DOCS_DIR)/platform/jvmti/%: $(DOCS_DIR)/%
$(install-file)
diff --git a/hotspot/make/bsd/makefiles/adlc.make b/hotspot/make/bsd/makefiles/adlc.make
index 69797ab..7686c48 100644
--- a/hotspot/make/bsd/makefiles/adlc.make
+++ b/hotspot/make/bsd/makefiles/adlc.make
@@ -39,9 +39,16 @@ OS = $(Platform_os_family)
SOURCE.AD = $(OUTDIR)/$(OS)_$(Platform_arch_model).ad
-SOURCES.AD = \
+ifeq ("${Platform_arch_model}", "${Platform_arch}")
+ SOURCES.AD = \
$(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
$(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
+else
+ SOURCES.AD = \
+ $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
+ $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch).ad) \
+ $(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
+endif
EXEC = $(OUTDIR)/adlc
diff --git a/hotspot/make/bsd/makefiles/buildtree.make b/hotspot/make/bsd/makefiles/buildtree.make
index f412310..4d7c25a 100644
--- a/hotspot/make/bsd/makefiles/buildtree.make
+++ b/hotspot/make/bsd/makefiles/buildtree.make
@@ -55,6 +55,9 @@
# The makefiles are split this way so that "make foo" will run faster by not
# having to read the dependency files for the vm.
+# needs to be set here since this Makefile doesn't include defs.make
+OS_VENDOR:=$(shell uname -s)
+
include $(GAMMADIR)/make/scm.make
include $(GAMMADIR)/make/altsrc.make
@@ -159,8 +162,15 @@ ifndef HOTSPOT_VM_DISTRO
endif
endif
-# MACOSX FIXME: we should be able to run test_gamma (see MACOSX_PORT-214)
-ifdef ALWAYS_PASS_TEST_GAMMA
+ifeq ($(OS_VENDOR), Darwin)
+ # MACOSX FIXME: we should be able to run test_gamma (see MACOSX_PORT-214)
+ ifeq ($(ALWAYS_PASS_TEST_GAMMA),)
+ # ALWAYS_PASS_TEST_GAMMA wasn't set so we default to true on MacOS X
+ # until MACOSX_PORT-214 is fixed
+ ALWAYS_PASS_TEST_GAMMA=true
+ endif
+endif
+ifeq ($(ALWAYS_PASS_TEST_GAMMA), true)
TEST_GAMMA_STATUS= echo 'exit 0';
else
TEST_GAMMA_STATUS=
diff --git a/hotspot/make/bsd/makefiles/gcc.make b/hotspot/make/bsd/makefiles/gcc.make
index 6214845..c54433e 100644
--- a/hotspot/make/bsd/makefiles/gcc.make
+++ b/hotspot/make/bsd/makefiles/gcc.make
@@ -86,7 +86,6 @@ CC_VER_MINOR := $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f2)
ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0"
# Allow the user to turn off precompiled headers from the command line.
ifneq ($(USE_PRECOMPILED_HEADER),0)
-USE_PRECOMPILED_HEADER=1
PRECOMPILED_HEADER_DIR=.
PRECOMPILED_HEADER_SRC=$(GAMMADIR)/src/share/vm/precompiled/precompiled.hpp
PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/precompiled.hpp.gch
@@ -216,7 +215,7 @@ DEPFLAGS = -MMD -MP -MF $(DEP_DIR)/$(@:%=%.d)
endif
# -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp.
-ifneq ($(USE_PRECOMPILED_HEADER),1)
+ifeq ($(USE_PRECOMPILED_HEADER),0)
CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
endif
diff --git a/hotspot/make/bsd/makefiles/sa.make b/hotspot/make/bsd/makefiles/sa.make
index d01d2bb..b7bb477 100644
--- a/hotspot/make/bsd/makefiles/sa.make
+++ b/hotspot/make/bsd/makefiles/sa.make
@@ -37,11 +37,24 @@ include $(GAMMADIR)/make/sa.files
TOPDIR = $(shell echo `pwd`)
GENERATED = $(TOPDIR)/../generated
-# tools.jar is needed by the JDI - SA binding
-ifeq ($(SA_APPLE_BOOT_JAVA),true)
- SA_CLASSPATH = $(BOOT_JAVA_HOME)/bundle/Classes/classes.jar
+# SA-JDI depends on the standard JDI classes.
+# Default SA_CLASSPATH location:
+DEF_SA_CLASSPATH=$(BOOT_JAVA_HOME)/lib/tools.jar
+ifeq ($(ALT_SA_CLASSPATH),)
+ # no alternate specified; see if default exists
+ SA_CLASSPATH=$(shell test -f $(DEF_SA_CLASSPATH) && echo $(DEF_SA_CLASSPATH))
+ ifeq ($(SA_CLASSPATH),)
+ # the default doesn't exist
+ ifeq ($(OS_VENDOR), Darwin)
+ # A JDK from Apple doesn't have tools.jar; the JDI classes are
+ # are in the regular classes.jar file.
+ APPLE_JAR=$(BOOT_JAVA_HOME)/bundle/Classes/classes.jar
+ SA_CLASSPATH=$(shell test -f $(APPLE_JAR) && echo $(APPLE_JAR))
+ endif
+ endif
else
- SA_CLASSPATH = $(BOOT_JAVA_HOME)/lib/tools.jar
+ _JUNK_ := $(shell echo >&2 "INFO: ALT_SA_CLASSPATH=$(ALT_SA_CLASSPATH)")
+ SA_CLASSPATH=$(shell test -f $(ALT_SA_CLASSPATH) && echo $(ALT_SA_CLASSPATH))
endif
# TODO: if it's a modules image, check if SA module is installed.
@@ -72,8 +85,8 @@ $(GENERATED)/sa-jdi.jar: $(AGENT_FILES)
echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
exit 1; \
fi
- $(QUIETLY) if [ ! -f $(SA_CLASSPATH) -a ! -d $(MODULELIB_PATH) ] ; then \
- echo "Missing $(SA_CLASSPATH) file. Use 1.6.0 or later version of JDK";\
+ $(QUIETLY) if [ ! -f "$(SA_CLASSPATH)" -a ! -d $(MODULELIB_PATH) ] ; then \
+ echo "Cannot find JDI classes. Use 1.6.0 or later version of JDK."; \
echo ""; \
exit 1; \
fi
diff --git a/hotspot/make/bsd/makefiles/top.make b/hotspot/make/bsd/makefiles/top.make
index f85d196..7b237c4 100644
--- a/hotspot/make/bsd/makefiles/top.make
+++ b/hotspot/make/bsd/makefiles/top.make
@@ -47,12 +47,10 @@ VM = $(GAMMADIR)/src/share/vm
Plat_File = $(Platform_file)
CDG = cd $(GENERATED);
-ifdef USE_PRECOMPILED_HEADER
-PrecompiledOption = -DUSE_PRECOMPILED_HEADER
-UpdatePCH = $(MAKE) -f vm.make $(PRECOMPILED_HEADER) $(MFLAGS)
+ifneq ($(USE_PRECOMPILED_HEADER),0)
+UpdatePCH = $(MAKE) -f vm.make $(PRECOMPILED_HEADER) $(MFLAGS)
else
-UpdatePCH = \# precompiled header is not used
-PrecompiledOption =
+UpdatePCH = \# precompiled header is not used
endif
Cached_plat = $(GENERATED)/platform.current
diff --git a/hotspot/make/bsd/makefiles/vm.make b/hotspot/make/bsd/makefiles/vm.make
index 35eca5d..0fad063 100644
--- a/hotspot/make/bsd/makefiles/vm.make
+++ b/hotspot/make/bsd/makefiles/vm.make
@@ -96,6 +96,10 @@ ifdef DEFAULT_LIBPATH
CPPFLAGS += -DDEFAULT_LIBPATH="\"$(DEFAULT_LIBPATH)\""
endif
+ifndef JAVASE_EMBEDDED
+CFLAGS += -DINCLUDE_TRACE
+endif
+
# CFLAGS_WARN holds compiler options to suppress/enable warnings.
CFLAGS += $(CFLAGS_WARN/BYFILE)
@@ -147,6 +151,12 @@ SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm
SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm
SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm
+ifndef JAVASE_EMBEDDED
+SOURCE_PATHS+=$(shell if [ -d $(HS_ALT_SRC)/share/vm/jfr ]; then \
+ find $(HS_ALT_SRC)/share/vm/jfr -type d; \
+ fi)
+endif
+
CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
CORE_PATHS+=$(GENERATED)/jvmtifiles
diff --git a/hotspot/make/defs.make b/hotspot/make/defs.make
index 7434dae..3a355c7 100644
--- a/hotspot/make/defs.make
+++ b/hotspot/make/defs.make
@@ -294,3 +294,7 @@ EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmticmlr.h
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jni.h
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jmm.h
+
+ifndef JAVASE_EMBEDDED
+EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jfr.h
+endif
diff --git a/hotspot/make/hotspot_version b/hotspot/make/hotspot_version
index 9a906cc..82956ba 100644
--- a/hotspot/make/hotspot_version
+++ b/hotspot/make/hotspot_version
@@ -35,7 +35,7 @@ HOTSPOT_VM_COPYRIGHT=Copyright 2011
HS_MAJOR_VER=23
HS_MINOR_VER=0
-HS_BUILD_NUMBER=06
+HS_BUILD_NUMBER=11
JDK_MAJOR_VER=1
JDK_MINOR_VER=8
diff --git a/hotspot/make/jprt.properties b/hotspot/make/jprt.properties
index 76944a0..aac31d0 100644
--- a/hotspot/make/jprt.properties
+++ b/hotspot/make/jprt.properties
@@ -248,7 +248,7 @@ jprt.build.targets=${jprt.build.targets.${jprt.tools.default.release}}
jprt.my.solaris.sparc.test.targets= \
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-jvm98, \
- ${jprt.my.solaris.sparc}-{product|fastdebug}-c2-jvm98_tiered, \
+ ${jprt.my.solaris.sparc}-{product|fastdebug}-c2-jvm98_nontiered, \
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-scimark, \
${jprt.my.solaris.sparc}-product-{c1|c2}-runThese, \
${jprt.my.solaris.sparc}-fastdebug-c1-runThese_Xshare, \
@@ -267,7 +267,7 @@ jprt.my.solaris.sparc.test.targets= \
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-GCOld_G1, \
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-GCOld_ParOldGC, \
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-jbb_default, \
- ${jprt.my.solaris.sparc}-{product|fastdebug}-c2-jbb_default_tiered, \
+ ${jprt.my.solaris.sparc}-{product|fastdebug}-c2-jbb_default_nontiered, \
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-jbb_SerialGC, \
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-jbb_ParallelGC, \
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-jbb_CMS, \
@@ -276,7 +276,7 @@ jprt.my.solaris.sparc.test.targets= \
jprt.my.solaris.sparcv9.test.targets= \
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jvm98, \
- ${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jvm98_tiered, \
+ ${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jvm98_nontiered, \
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-scimark, \
${jprt.my.solaris.sparcv9}-product-c2-runThese, \
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-GCBasher_default, \
@@ -294,7 +294,7 @@ jprt.my.solaris.sparcv9.test.targets= \
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-GCOld_G1, \
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-GCOld_ParOldGC, \
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jbb_default, \
- ${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jbb_default_tiered, \
+ ${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jbb_default_nontiered, \
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jbb_SerialGC, \
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jbb_ParallelGC, \
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jbb_CMS, \
@@ -303,7 +303,7 @@ jprt.my.solaris.sparcv9.test.targets= \
jprt.my.solaris.x64.test.targets= \
${jprt.my.solaris.x64}-{product|fastdebug}-c2-jvm98, \
- ${jprt.my.solaris.x64}-{product|fastdebug}-c2-jvm98_tiered, \
+ ${jprt.my.solaris.x64}-{product|fastdebug}-c2-jvm98_nontiered, \
${jprt.my.solaris.x64}-{product|fastdebug}-c2-scimark, \
${jprt.my.solaris.x64}-product-c2-runThese, \
${jprt.my.solaris.x64}-product-c2-runThese_Xcomp, \
@@ -322,7 +322,7 @@ jprt.my.solaris.x64.test.targets= \
${jprt.my.solaris.x64}-{product|fastdebug}-c2-GCOld_G1, \
${jprt.my.solaris.x64}-{product|fastdebug}-c2-GCOld_ParOldGC, \
${jprt.my.solaris.x64}-{product|fastdebug}-c2-jbb_default, \
- ${jprt.my.solaris.x64}-{product|fastdebug}-c2-jbb_default_tiered, \
+ ${jprt.my.solaris.x64}-{product|fastdebug}-c2-jbb_default_nontiered, \
${jprt.my.solaris.x64}-{product|fastdebug}-c2-jbb_SerialGC, \
${jprt.my.solaris.x64}-{product|fastdebug}-c2-jbb_ParallelGC, \
${jprt.my.solaris.x64}-{product|fastdebug}-c2-GCOld_CMS, \
@@ -331,7 +331,7 @@ jprt.my.solaris.x64.test.targets= \
jprt.my.solaris.i586.test.targets= \
${jprt.my.solaris.i586}-{product|fastdebug}-{c1|c2}-jvm98, \
- ${jprt.my.solaris.i586}-{product|fastdebug}-c2-jvm98_tiered, \
+ ${jprt.my.solaris.i586}-{product|fastdebug}-c2-jvm98_nontiered, \
${jprt.my.solaris.i586}-{product|fastdebug}-{c1|c2}-scimark, \
${jprt.my.solaris.i586}-product-{c1|c2}-runThese_Xcomp, \
${jprt.my.solaris.i586}-fastdebug-c1-runThese_Xcomp, \
@@ -358,7 +358,7 @@ jprt.my.solaris.i586.test.targets= \
${jprt.my.solaris.i586}-product-c1-GCOld_G1, \
${jprt.my.solaris.i586}-product-c1-GCOld_ParOldGC, \
${jprt.my.solaris.i586}-fastdebug-c2-jbb_default, \
- ${jprt.my.solaris.i586}-fastdebug-c2-jbb_default_tiered, \
+ ${jprt.my.solaris.i586}-fastdebug-c2-jbb_default_nontiered, \
${jprt.my.solaris.i586}-fastdebug-c2-jbb_ParallelGC, \
${jprt.my.solaris.i586}-fastdebug-c2-jbb_CMS, \
${jprt.my.solaris.i586}-fastdebug-c2-jbb_G1, \
@@ -366,7 +366,7 @@ jprt.my.solaris.i586.test.targets= \
jprt.my.linux.i586.test.targets = \
${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-jvm98, \
- ${jprt.my.linux.i586}-{product|fastdebug}-c2-jvm98_tiered, \
+ ${jprt.my.linux.i586}-{product|fastdebug}-c2-jvm98_nontiered, \
${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-scimark, \
${jprt.my.linux.i586}-product-c1-runThese_Xcomp, \
${jprt.my.linux.i586}-fastdebug-c1-runThese_Xshare, \
@@ -386,7 +386,7 @@ jprt.my.linux.i586.test.targets = \
${jprt.my.linux.i586}-product-{c1|c2}-GCOld_G1, \
${jprt.my.linux.i586}-product-{c1|c2}-GCOld_ParOldGC, \
${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_default, \
- ${jprt.my.linux.i586}-{product|fastdebug}-c2-jbb_default_tiered, \
+ ${jprt.my.linux.i586}-{product|fastdebug}-c2-jbb_default_nontiered, \
${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_ParallelGC, \
${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_CMS, \
${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_G1, \
@@ -394,7 +394,7 @@ jprt.my.linux.i586.test.targets = \
jprt.my.linux.x64.test.targets = \
${jprt.my.linux.x64}-{product|fastdebug}-c2-jvm98, \
- ${jprt.my.linux.x64}-{product|fastdebug}-c2-jvm98_tiered, \
+ ${jprt.my.linux.x64}-{product|fastdebug}-c2-jvm98_nontiered, \
${jprt.my.linux.x64}-{product|fastdebug}-c2-scimark, \
${jprt.my.linux.x64}-{product|fastdebug}-c2-GCBasher_default, \
${jprt.my.linux.x64}-{product|fastdebug}-c2-GCBasher_SerialGC, \
@@ -411,14 +411,14 @@ jprt.my.linux.x64.test.targets = \
${jprt.my.linux.x64}-{product|fastdebug}-c2-GCOld_G1, \
${jprt.my.linux.x64}-{product|fastdebug}-c2-GCOld_ParOldGC, \
${jprt.my.linux.x64}-{product|fastdebug}-c2-jbb_default, \
- ${jprt.my.linux.x64}-{product|fastdebug}-c2-jbb_default_tiered, \
+ ${jprt.my.linux.x64}-{product|fastdebug}-c2-jbb_default_nontiered, \
${jprt.my.linux.x64}-{product|fastdebug}-c2-jbb_ParallelGC, \
${jprt.my.linux.x64}-{product|fastdebug}-c2-jbb_G1, \
${jprt.my.linux.x64}-{product|fastdebug}-c2-jbb_ParOldGC
jprt.my.windows.i586.test.targets = \
${jprt.my.windows.i586}-{product|fastdebug}-{c1|c2}-jvm98, \
- ${jprt.my.windows.i586}-{product|fastdebug}-c2-jvm98_tiered, \
+ ${jprt.my.windows.i586}-{product|fastdebug}-c2-jvm98_nontiered, \
${jprt.my.windows.i586}-{product|fastdebug}-{c1|c2}-scimark, \
${jprt.my.windows.i586}-product-{c1|c2}-runThese, \
${jprt.my.windows.i586}-product-{c1|c2}-runThese_Xcomp, \
@@ -438,7 +438,7 @@ jprt.my.windows.i586.test.targets = \
${jprt.my.windows.i586}-product-{c1|c2}-GCOld_G1, \
${jprt.my.windows.i586}-product-{c1|c2}-GCOld_ParOldGC, \
${jprt.my.windows.i586}-{product|fastdebug}-{c1|c2}-jbb_default, \
- ${jprt.my.windows.i586}-{product|fastdebug}-c2-jbb_default_tiered, \
+ ${jprt.my.windows.i586}-{product|fastdebug}-c2-jbb_default_nontiered, \
${jprt.my.windows.i586}-product-{c1|c2}-jbb_ParallelGC, \
${jprt.my.windows.i586}-product-{c1|c2}-jbb_CMS, \
${jprt.my.windows.i586}-product-{c1|c2}-jbb_G1, \
@@ -446,7 +446,7 @@ jprt.my.windows.i586.test.targets = \
jprt.my.windows.x64.test.targets = \
${jprt.my.windows.x64}-{product|fastdebug}-c2-jvm98, \
- ${jprt.my.windows.x64}-{product|fastdebug}-c2-jvm98_tiered, \
+ ${jprt.my.windows.x64}-{product|fastdebug}-c2-jvm98_nontiered, \
${jprt.my.windows.x64}-{product|fastdebug}-c2-scimark, \
${jprt.my.windows.x64}-product-c2-runThese, \
${jprt.my.windows.x64}-product-c2-runThese_Xcomp, \
@@ -465,7 +465,7 @@ jprt.my.windows.x64.test.targets = \
${jprt.my.windows.x64}-{product|fastdebug}-c2-GCOld_G1, \
${jprt.my.windows.x64}-{product|fastdebug}-c2-GCOld_ParOldGC, \
${jprt.my.windows.x64}-{product|fastdebug}-c2-jbb_default, \
- ${jprt.my.windows.x64}-{product|fastdebug}-c2-jbb_default_tiered, \
+ ${jprt.my.windows.x64}-{product|fastdebug}-c2-jbb_default_nontiered, \
${jprt.my.windows.x64}-product-c2-jbb_CMS, \
${jprt.my.windows.x64}-product-c2-jbb_ParallelGC, \
${jprt.my.windows.x64}-product-c2-jbb_G1, \
@@ -473,9 +473,9 @@ jprt.my.windows.x64.test.targets = \
# Some basic "smoke" tests for OpenJDK builds
jprt.test.targets.open = \
- ${jprt.my.solaris.x64}-{productOpen|debugOpen|fastdebugOpen}-c2-jvm98_tiered, \
- ${jprt.my.solaris.i586}-{productOpen|fastdebugOpen}-c2-jvm98_tiered, \
- ${jprt.my.linux.x64}-{productOpen|fastdebugOpen}-c2-jvm98_tiered
+ ${jprt.my.solaris.x64}-{productOpen|debugOpen|fastdebugOpen}-c2-jvm98, \
+ ${jprt.my.solaris.i586}-{productOpen|fastdebugOpen}-c2-jvm98, \
+ ${jprt.my.linux.x64}-{productOpen|fastdebugOpen}-c2-jvm98
# Testing for actual embedded builds is different to standard
jprt.my.linux.i586.test.targets.embedded = \
diff --git a/hotspot/make/linux/makefiles/adlc.make b/hotspot/make/linux/makefiles/adlc.make
index 0c15c1c..33a28ee 100644
--- a/hotspot/make/linux/makefiles/adlc.make
+++ b/hotspot/make/linux/makefiles/adlc.make
@@ -39,9 +39,16 @@ OS = $(Platform_os_family)
SOURCE.AD = $(OUTDIR)/$(OS)_$(Platform_arch_model).ad
-SOURCES.AD = \
+ifeq ("${Platform_arch_model}", "${Platform_arch}")
+ SOURCES.AD = \
$(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
$(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
+else
+ SOURCES.AD = \
+ $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
+ $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch).ad) \
+ $(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
+endif
EXEC = $(OUTDIR)/adlc
diff --git a/hotspot/make/linux/makefiles/gcc.make b/hotspot/make/linux/makefiles/gcc.make
index 2da5273..ba5206c 100644
--- a/hotspot/make/linux/makefiles/gcc.make
+++ b/hotspot/make/linux/makefiles/gcc.make
@@ -50,7 +50,6 @@ CC_VER_MINOR := $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f2)
ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0"
# Allow the user to turn off precompiled headers from the command line.
ifneq ($(USE_PRECOMPILED_HEADER),0)
-USE_PRECOMPILED_HEADER=1
PRECOMPILED_HEADER_DIR=.
PRECOMPILED_HEADER_SRC=$(GAMMADIR)/src/share/vm/precompiled/precompiled.hpp
PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/precompiled.hpp.gch
@@ -165,7 +164,7 @@ DEPFLAGS = -MMD -MP -MF $(DEP_DIR)/$(@:%=%.d)
endif
# -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp.
-ifneq ($(USE_PRECOMPILED_HEADER),1)
+ifeq ($(USE_PRECOMPILED_HEADER),0)
CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
endif
diff --git a/hotspot/make/linux/makefiles/mapfile-vers-debug b/hotspot/make/linux/makefiles/mapfile-vers-debug
index 3f4e85f..fd08e96 100644
--- a/hotspot/make/linux/makefiles/mapfile-vers-debug
+++ b/hotspot/make/linux/makefiles/mapfile-vers-debug
@@ -1,8 +1,4 @@
#
-# @(#)mapfile-vers-debug 1.18 07/10/25 16:47:35
-#
-
-#
# Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
@@ -222,6 +218,7 @@ SUNWprivate_1.1 {
JVM_SetArrayElement;
JVM_SetClassSigners;
JVM_SetLength;
+ JVM_SetNativeThreadName;
JVM_SetPrimitiveArrayElement;
JVM_SetProtectionDomain;
JVM_SetSockOpt;
diff --git a/hotspot/make/linux/makefiles/mapfile-vers-product b/hotspot/make/linux/makefiles/mapfile-vers-product
index 43bc964..e8cdd74 100644
--- a/hotspot/make/linux/makefiles/mapfile-vers-product
+++ b/hotspot/make/linux/makefiles/mapfile-vers-product
@@ -1,8 +1,4 @@
#
-# @(#)mapfile-vers-product 1.19 08/02/12 10:56:37
-#
-
-#
# Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
@@ -222,6 +218,7 @@ SUNWprivate_1.1 {
JVM_SetArrayElement;
JVM_SetClassSigners;
JVM_SetLength;
+ JVM_SetNativeThreadName;
JVM_SetPrimitiveArrayElement;
JVM_SetProtectionDomain;
JVM_SetSockOpt;
diff --git a/hotspot/make/linux/makefiles/top.make b/hotspot/make/linux/makefiles/top.make
index 1b674dc..d89f8ff 100644
--- a/hotspot/make/linux/makefiles/top.make
+++ b/hotspot/make/linux/makefiles/top.make
@@ -47,12 +47,10 @@ VM = $(GAMMADIR)/src/share/vm
Plat_File = $(Platform_file)
CDG = cd $(GENERATED);
-ifdef USE_PRECOMPILED_HEADER
-PrecompiledOption = -DUSE_PRECOMPILED_HEADER
-UpdatePCH = $(MAKE) -f vm.make $(PRECOMPILED_HEADER) $(MFLAGS)
+ifneq ($(USE_PRECOMPILED_HEADER),0)
+UpdatePCH = $(MAKE) -f vm.make $(PRECOMPILED_HEADER) $(MFLAGS)
else
-UpdatePCH = \# precompiled header is not used
-PrecompiledOption =
+UpdatePCH = \# precompiled header is not used
endif
Cached_plat = $(GENERATED)/platform.current
diff --git a/hotspot/make/linux/makefiles/vm.make b/hotspot/make/linux/makefiles/vm.make
index d406782..fa2bcc3 100644
--- a/hotspot/make/linux/makefiles/vm.make
+++ b/hotspot/make/linux/makefiles/vm.make
@@ -98,6 +98,10 @@ CPPFLAGS = \
${JRE_VERSION} \
${VM_DISTRO}
+ifndef JAVASE_EMBEDDED
+CFLAGS += -DINCLUDE_TRACE
+endif
+
# CFLAGS_WARN holds compiler options to suppress/enable warnings.
CFLAGS += $(CFLAGS_WARN/BYFILE)
@@ -143,6 +147,12 @@ SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm
SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm
SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm
+ifndef JAVASE_EMBEDDED
+SOURCE_PATHS+=$(shell if [ -d $(HS_ALT_SRC)/share/vm/jfr ]; then \
+ find $(HS_ALT_SRC)/share/vm/jfr -type d; \
+ fi)
+endif
+
CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
CORE_PATHS+=$(GENERATED)/jvmtifiles
diff --git a/hotspot/make/solaris/makefiles/adlc.make b/hotspot/make/solaris/makefiles/adlc.make
index 4bcecf6..b14a187 100644
--- a/hotspot/make/solaris/makefiles/adlc.make
+++ b/hotspot/make/solaris/makefiles/adlc.make
@@ -40,9 +40,16 @@ OS = $(Platform_os_family)
SOURCE.AD = $(OUTDIR)/$(OS)_$(Platform_arch_model).ad
-SOURCES.AD = \
+ifeq ("${Platform_arch_model}", "${Platform_arch}")
+ SOURCES.AD = \
$(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
$(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
+else
+ SOURCES.AD = \
+ $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
+ $(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch).ad) \
+ $(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
+endif
EXEC = $(OUTDIR)/adlc
diff --git a/hotspot/make/solaris/makefiles/gcc.make b/hotspot/make/solaris/makefiles/gcc.make
index 15e43ea..3725749 100644
--- a/hotspot/make/solaris/makefiles/gcc.make
+++ b/hotspot/make/solaris/makefiles/gcc.make
@@ -49,7 +49,6 @@ $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f2)
ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0"
# Allow the user to turn off precompiled headers from the command line.
ifneq ($(USE_PRECOMPILED_HEADER),0)
-USE_PRECOMPILED_HEADER=1
PRECOMPILED_HEADER_DIR=.
PRECOMPILED_HEADER_SRC=$(GAMMADIR)/src/share/vm/precompiled/precompiled.hpp
PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/precompiled.hpp.gch
@@ -142,7 +141,7 @@ DEPFLAGS = -MMD -MP -MF $(DEP_DIR)/$(@:%=%.d)
endif
# -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp.
-ifneq ($(USE_PRECOMPILED_HEADER),1)
+ifeq ($(USE_PRECOMPILED_HEADER),0)
CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
endif
diff --git a/hotspot/make/solaris/makefiles/mapfile-vers b/hotspot/make/solaris/makefiles/mapfile-vers
index a073502..7af6dc5 100644
--- a/hotspot/make/solaris/makefiles/mapfile-vers
+++ b/hotspot/make/solaris/makefiles/mapfile-vers
@@ -1,8 +1,4 @@
#
-# @(#)mapfile-vers 1.32 07/10/25 16:47:36
-#
-
-#
# Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
@@ -222,6 +218,7 @@ SUNWprivate_1.1 {
JVM_SetArrayElement;
JVM_SetClassSigners;
JVM_SetLength;
+ JVM_SetNativeThreadName;
JVM_SetPrimitiveArrayElement;
JVM_SetProtectionDomain;
JVM_SetSockOpt;
diff --git a/hotspot/make/solaris/makefiles/vm.make b/hotspot/make/solaris/makefiles/vm.make
index 7b950af..0895ea0 100644
--- a/hotspot/make/solaris/makefiles/vm.make
+++ b/hotspot/make/solaris/makefiles/vm.make
@@ -93,7 +93,7 @@ CFLAGS += $(CFLAGS_WARN)
CFLAGS += $(CFLAGS/NOEX)
# Extra flags from gnumake's invocation or environment
-CFLAGS += $(EXTRA_CFLAGS)
+CFLAGS += $(EXTRA_CFLAGS) -DINCLUDE_TRACE
# Math Library (libm.so), do not use -lm.
# There might be two versions of libm.so on the build system:
@@ -160,6 +160,10 @@ SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm
SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm
SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm
+SOURCE_PATHS+=$(shell if [ -d $(HS_ALT_SRC)/share/vm/jfr ]; then \
+ find $(HS_ALT_SRC)/share/vm/jfr -type d; \
+ fi)
+
CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
CORE_PATHS+=$(GENERATED)/jvmtifiles
diff --git a/hotspot/make/windows/build.bat b/hotspot/make/windows/build.bat
index ee0a6b0..ac63bb2 100644
--- a/hotspot/make/windows/build.bat
+++ b/hotspot/make/windows/build.bat
@@ -35,6 +35,8 @@ cl 2>&1 | grep "IA-64" >NUL
if %errorlevel% == 0 goto isia64
cl 2>&1 | grep "AMD64" >NUL
if %errorlevel% == 0 goto amd64
+cl 2>&1 | grep "x64" >NUL
+if %errorlevel% == 0 goto amd64
set ARCH=x86
set BUILDARCH=i486
set Platform_arch=x86
diff --git a/hotspot/make/windows/create_obj_files.sh b/hotspot/make/windows/create_obj_files.sh
index 59fe3a6..6190338 100644
--- a/hotspot/make/windows/create_obj_files.sh
+++ b/hotspot/make/windows/create_obj_files.sh
@@ -73,6 +73,13 @@ done
BASE_PATHS="${BASE_PATHS} ${GENERATED}/jvmtifiles"
+if [ -d "${ALTSRC}/share/vm/jfr" ]; then
+ BASE_PATHS="${BASE_PATHS} ${ALTSRC}/share/vm/jfr/agent"
+ BASE_PATHS="${BASE_PATHS} ${ALTSRC}/share/vm/jfr/agent/isolated_deps/util"
+ BASE_PATHS="${BASE_PATHS} ${ALTSRC}/share/vm/jfr/jvm"
+ BASE_PATHS="${BASE_PATHS} ${ALTSRC}/share/vm/jfr"
+fi
+
CORE_PATHS="${BASE_PATHS}"
# shared is already in BASE_PATHS. Should add vm/memory but that one is also in BASE_PATHS.
if [ -d "${ALTSRC}/share/vm/gc_implementation" ]; then
diff --git a/hotspot/make/windows/makefiles/adlc.make b/hotspot/make/windows/makefiles/adlc.make
index d03e733..de607ec 100644
--- a/hotspot/make/windows/makefiles/adlc.make
+++ b/hotspot/make/windows/makefiles/adlc.make
@@ -53,6 +53,17 @@ CPP_INCLUDE_DIRS=\
/I "$(WorkSpace)\src\os\windows\vm" \
/I "$(WorkSpace)\src\cpu\$(Platform_arch)\vm"
+!if "$(Platform_arch_model)" == "$(Platform_arch)"
+SOURCES_AD=\
+ $(WorkSpace)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad \
+ $(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm/windows_$(Platform_arch_model).ad
+!else
+SOURCES_AD=\
+ $(WorkSpace)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad \
+ $(WorkSpace)/src/cpu/$(Platform_arch)/vm/$(Platform_arch).ad \
+ $(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm/windows_$(Platform_arch_model).ad
+!endif
+
# NOTE! If you add any files here, you must also update GENERATED_NAMES_IN_DIR
# and ProjectCreatorIDEOptions in projectcreator.make.
GENERATED_NAMES=\
@@ -105,7 +116,6 @@ $(GENERATED_NAMES_IN_DIR): $(Platform_arch_model).ad adlc.exe
$(ADLC) $(ADLCFLAGS) $(Platform_arch_model).ad
mv $(GENERATED_NAMES) $(AdlcOutDir)/
-$(Platform_arch_model).ad: $(WorkSpace)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad $(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm/windows_$(Platform_arch_model).ad
+$(Platform_arch_model).ad: $(SOURCES_AD)
rm -f $(Platform_arch_model).ad
- cat $(WorkSpace)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad \
- $(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm/windows_$(Platform_arch_model).ad >$(Platform_arch_model).ad
+ cat $(SOURCES_AD) >$(Platform_arch_model).ad
diff --git a/hotspot/make/windows/makefiles/projectcreator.make b/hotspot/make/windows/makefiles/projectcreator.make
index c73c215..3a6f9aa 100644
--- a/hotspot/make/windows/makefiles/projectcreator.make
+++ b/hotspot/make/windows/makefiles/projectcreator.make
@@ -50,6 +50,7 @@ ProjectCreatorIncludesPRIVATE=\
-relativeInclude src\closed\os_cpu\windows_$(Platform_arch)\vm \
-relativeInclude src\closed\cpu\$(Platform_arch)\vm \
-relativeInclude src\share\vm \
+ -relativeInclude src\share\vm\precompiled \
-relativeInclude src\share\vm\prims \
-relativeInclude src\os\windows\vm \
-relativeInclude src\os_cpu\windows_$(Platform_arch)\vm \
@@ -57,7 +58,8 @@ ProjectCreatorIncludesPRIVATE=\
-absoluteInclude $(HOTSPOTBUILDSPACE)/%f/generated \
-ignorePath $(HOTSPOTBUILDSPACE)/%f/generated \
-ignorePath src\share\vm\adlc \
- -ignorePath src\share\vm\shark
+ -ignorePath src\share\vm\shark \
+ -ignorePath posix
# This is referenced externally by both the IDE and batch builds
ProjectCreatorOptions=
@@ -87,7 +89,7 @@ ProjectCreatorIDEOptions=\
-jdkTargetRoot $(HOTSPOTJDKDIST) \
-define ALIGN_STACK_FRAMES \
-define VM_LITTLE_ENDIAN \
- -prelink "" "Generating vm.def..." "cd $(HOTSPOTBUILDSPACE)\%f\%b set HOTSPOTMKSHOME=$(HOTSPOTMKSHOME) $(HOTSPOTMKSHOME)\sh $(HOTSPOTWORKSPACE)\make\windows\build_vm_def.sh $(LINK_VER)" \
+ -prelink "" "Generating vm.def..." "cd $(HOTSPOTBUILDSPACE)\%f\%b set HOTSPOTMKSHOME=$(HOTSPOTMKSHOME) set JAVA_HOME=$(HOTSPOTJDKDIST) $(HOTSPOTMKSHOME)\sh $(HOTSPOTWORKSPACE)\make\windows\build_vm_def.sh $(LINK_VER)" \
-postbuild "" "Building hotspot.exe..." "cd $(HOTSPOTBUILDSPACE)\%f\%b set HOTSPOTMKSHOME=$(HOTSPOTMKSHOME) nmake -f $(HOTSPOTWORKSPACE)\make\windows\projectfiles\common\Makefile LOCAL_MAKE=$(HOTSPOTBUILDSPACE)\%f\local.make JAVA_HOME=$(HOTSPOTJDKDIST) launcher" \
-ignoreFile jsig.c \
-ignoreFile jvmtiEnvRecommended.cpp \
diff --git a/hotspot/make/windows/makefiles/vm.make b/hotspot/make/windows/makefiles/vm.make
index 039beef..821c24a 100644
--- a/hotspot/make/windows/makefiles/vm.make
+++ b/hotspot/make/windows/makefiles/vm.make
@@ -19,7 +19,7 @@
# 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.
-#
+#
#
# Resource file containing VERSIONINFO
@@ -30,7 +30,7 @@ Res_Files=.\version.res
COMMONSRC=$(WorkSpace)\src
ALTSRC=$(WorkSpace)\src\closed
-!ifdef RELEASE
+!ifdef RELEASE
!ifdef DEVELOP
CPP_FLAGS=$(CPP_FLAGS) /D "DEBUG"
!else
@@ -74,6 +74,10 @@ CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_BUILD_TARGET=\"$(BUILD_FLAVOR)\""
CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_BUILD_USER=\"$(BuildUser)\""
CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_VM_DISTRO=\"$(HOTSPOT_VM_DISTRO)\""
+!ifndef JAVASE_EMBEDDED
+CPP_FLAGS=$(CPP_FLAGS) /D "INCLUDE_TRACE"
+!endif
+
CPP_FLAGS=$(CPP_FLAGS) $(CPP_INCLUDE_DIRS)
# Define that so jni.h is on correct side
@@ -97,7 +101,7 @@ AGCT_EXPORT=/export:AsyncGetCallTrace
!endif
# If you modify exports below please do the corresponding changes in
-# src/share/tools/ProjectCreator/WinGammaPlatformVC7.java
+# src/share/tools/ProjectCreator/WinGammaPlatformVC7.java
LINK_FLAGS=$(LINK_FLAGS) $(STACK_SIZE) /subsystem:windows /dll /base:0x8000000 \
/export:JNI_GetDefaultJavaVMInitArgs \
/export:JNI_CreateJavaVM \
@@ -171,6 +175,7 @@ VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/oops
VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/prims
VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/runtime
VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/services
+VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/trace
VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/utilities
VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/libadt
VM_PATH=$(VM_PATH);$(WorkSpace)/src/os/windows/vm
@@ -178,6 +183,13 @@ VM_PATH=$(VM_PATH);$(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm
VM_PATH=$(VM_PATH);$(WorkSpace)/src/cpu/$(Platform_arch)/vm
VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/opto
+!if exists($(ALTSRC)\share\vm\jfr)
+VM_PATH=$(VM_PATH);$(ALTSRC)/share/vm/jfr/agent
+VM_PATH=$(VM_PATH);$(ALTSRC)/share/vm/jfr/agent/isolated_deps/util
+VM_PATH=$(VM_PATH);$(ALTSRC)/share/vm/jfr/jvm
+VM_PATH=$(VM_PATH);$(ALTSRC)/share/vm/jfr
+!endif
+
VM_PATH={$(VM_PATH)}
# Special case files not using precompiled header files.
@@ -264,6 +276,9 @@ bytecodeInterpreterWithChecks.obj: ..\generated\jvmtifiles\bytecodeInterpreterWi
{$(COMMONSRC)\share\vm\services}.cpp.obj::
$(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+{$(COMMONSRC)\share\vm\trace}.cpp.obj::
+ $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
{$(COMMONSRC)\share\vm\utilities}.cpp.obj::
$(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
@@ -341,6 +356,9 @@ bytecodeInterpreterWithChecks.obj: ..\generated\jvmtifiles\bytecodeInterpreterWi
{$(ALTSRC)\share\vm\services}.cpp.obj::
$(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+{$(ALTSRC)\share\vm\trace}.cpp.obj::
+ $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
{$(ALTSRC)\share\vm\utilities}.cpp.obj::
$(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
@@ -372,6 +390,18 @@ bytecodeInterpreterWithChecks.obj: ..\generated\jvmtifiles\bytecodeInterpreterWi
{..\generated\jvmtifiles}.cpp.obj::
$(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+{$(ALTSRC)\share\vm\jfr}.cpp.obj::
+ $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\jfr\agent}.cpp.obj::
+ $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\jfr\agent\isolated_deps\util}.cpp.obj::
+ $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
+{$(ALTSRC)\share\vm\jfr\jvm}.cpp.obj::
+ $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
+
default::
_build_pch_file.obj:
diff --git a/hotspot/src/cpu/sparc/vm/assembler_sparc.cpp b/hotspot/src/cpu/sparc/vm/assembler_sparc.cpp
index 8fe1155..71c8e07 100644
--- a/hotspot/src/cpu/sparc/vm/assembler_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/assembler_sparc.cpp
@@ -3036,10 +3036,8 @@ void MacroAssembler::check_klass_subtype_fast_path(Register sub_klass,
Label* L_failure,
Label* L_slow_path,
RegisterOrConstant super_check_offset) {
- int sc_offset = (klassOopDesc::header_size() * HeapWordSize +
- Klass::secondary_super_cache_offset_in_bytes());
- int sco_offset = (klassOopDesc::header_size() * HeapWordSize +
- Klass::super_check_offset_offset_in_bytes());
+ int sc_offset = in_bytes(Klass::secondary_super_cache_offset());
+ int sco_offset = in_bytes(Klass::super_check_offset_offset());
bool must_load_sco = (super_check_offset.constant_or_zero() == -1);
bool need_slow_path = (must_load_sco ||
@@ -3159,10 +3157,8 @@ void MacroAssembler::check_klass_subtype_slow_path(Register sub_klass,
assert(label_nulls <= 1, "at most one NULL in the batch");
// a couple of useful fields in sub_klass:
- int ss_offset = (klassOopDesc::header_size() * HeapWordSize +
- Klass::secondary_supers_offset_in_bytes());
- int sc_offset = (klassOopDesc::header_size() * HeapWordSize +
- Klass::secondary_super_cache_offset_in_bytes());
+ int ss_offset = in_bytes(Klass::secondary_supers_offset());
+ int sc_offset = in_bytes(Klass::secondary_super_cache_offset());
// Do a linear scan of the secondary super-klass chain.
// This code is rarely used, so simplicity is a virtue here.
@@ -3336,7 +3332,7 @@ void MacroAssembler::biased_locking_enter(Register obj_reg, Register mark_reg,
cmp_and_brx_short(temp_reg, markOopDesc::biased_lock_pattern, Assembler::notEqual, Assembler::pn, cas_label);
load_klass(obj_reg, temp_reg);
- ld_ptr(Address(temp_reg, Klass::prototype_header_offset_in_bytes() + klassOopDesc::klass_part_offset_in_bytes()), temp_reg);
+ ld_ptr(Address(temp_reg, Klass::prototype_header_offset()), temp_reg);
or3(G2_thread, temp_reg, temp_reg);
xor3(mark_reg, temp_reg, temp_reg);
andcc(temp_reg, ~((int) markOopDesc::age_mask_in_place), temp_reg);
@@ -3413,7 +3409,7 @@ void MacroAssembler::biased_locking_enter(Register obj_reg, Register mark_reg,
// FIXME: due to a lack of registers we currently blow away the age
// bits in this situation. Should attempt to preserve them.
load_klass(obj_reg, temp_reg);
- ld_ptr(Address(temp_reg, Klass::prototype_header_offset_in_bytes() + klassOopDesc::klass_part_offset_in_bytes()), temp_reg);
+ ld_ptr(Address(temp_reg, Klass::prototype_header_offset()), temp_reg);
or3(G2_thread, temp_reg, temp_reg);
casn(mark_addr.base(), mark_reg, temp_reg);
// If the biasing toward our thread failed, this means that
@@ -3443,7 +3439,7 @@ void MacroAssembler::biased_locking_enter(Register obj_reg, Register mark_reg,
// FIXME: due to a lack of registers we currently blow away the age
// bits in this situation. Should attempt to preserve them.
load_klass(obj_reg, temp_reg);
- ld_ptr(Address(temp_reg, Klass::prototype_header_offset_in_bytes() + klassOopDesc::klass_part_offset_in_bytes()), temp_reg);
+ ld_ptr(Address(temp_reg, Klass::prototype_header_offset()), temp_reg);
casn(mark_addr.base(), mark_reg, temp_reg);
// Fall through to the normal CAS-based lock, because no matter what
// the result of the above CAS, some thread must have succeeded in
diff --git a/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp b/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp
index 14a6b62..44713a0 100644
--- a/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp
+++ b/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp
@@ -855,12 +855,6 @@ class Assembler : public AbstractAssembler {
Lookaside = 1 << 4
};
- // test if x is within signed immediate range for nbits
- static bool is_simm(intptr_t x, int nbits) { return -( intptr_t(1) << nbits-1 ) <= x && x < ( intptr_t(1) << nbits-1 ); }
-
- // test if -4096 <= x <= 4095
- static bool is_simm13(intptr_t x) { return is_simm(x, 13); }
-
static bool is_in_wdisp_range(address a, address b, int nbits) {
intptr_t d = intptr_t(b) - intptr_t(a);
return is_simm(d, nbits + 2);
@@ -1203,7 +1197,7 @@ public:
if (!UseCBCond || cbcond_before()) return false;
intptr_t x = intptr_t(target_distance(L)) - intptr_t(pc());
assert( (x & 3) == 0, "not word aligned");
- return is_simm(x, 12);
+ return is_simm12(x);
}
// Tells assembler you know that next instruction is delayed
diff --git a/hotspot/src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp b/hotspot/src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp
index a54b68c..837488c 100644
--- a/hotspot/src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp
@@ -302,7 +302,7 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
assert(_obj != noreg, "must be a valid register");
assert(_oop_index >= 0, "must have oop index");
__ load_heap_oop(_obj, java_lang_Class::klass_offset_in_bytes(), G3);
- __ ld_ptr(G3, instanceKlass::init_thread_offset_in_bytes() + sizeof(klassOopDesc), G3);
+ __ ld_ptr(G3, in_bytes(instanceKlass::init_thread_offset()), G3);
__ cmp_and_brx_short(G2_thread, G3, Assembler::notEqual, Assembler::pn, call_patch);
// load_klass patches may execute the patched code before it's
@@ -471,7 +471,7 @@ void G1UnsafeGetObjSATBBarrierStub::emit_code(LIR_Assembler* ce) {
__ load_klass(src_reg, tmp_reg);
- Address ref_type_adr(tmp_reg, instanceKlass::reference_type_offset_in_bytes() + sizeof(oopDesc));
+ Address ref_type_adr(tmp_reg, instanceKlass::reference_type_offset());
__ ld(ref_type_adr, tmp_reg);
// _reference_type field is of type ReferenceType (enum)
diff --git a/hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp b/hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp
index 15be6d3..565fdee 100644
--- a/hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp
@@ -391,7 +391,7 @@ int LIR_Assembler::emit_exception_handler() {
__ call(Runtime1::entry_for(Runtime1::handle_exception_from_callee_id), relocInfo::runtime_call_type);
__ delayed()->nop();
__ should_not_reach_here();
- assert(code_offset() - offset <= exception_handler_size, "overflow");
+ guarantee(code_offset() - offset <= exception_handler_size, "overflow");
__ end_a_stub();
return offset;
@@ -474,8 +474,7 @@ int LIR_Assembler::emit_deopt_handler() {
AddressLiteral deopt_blob(SharedRuntime::deopt_blob()->unpack());
__ JUMP(deopt_blob, G3_scratch, 0); // sethi;jmp
__ delayed()->nop();
- assert(code_offset() - offset <= deopt_handler_size, "overflow");
- debug_only(__ stop("should have gone to the caller");)
+ guarantee(code_offset() - offset <= deopt_handler_size, "overflow");
__ end_a_stub();
return offset;
@@ -765,7 +764,7 @@ void LIR_Assembler::ic_call(LIR_OpJavaCall* op) {
void LIR_Assembler::vtable_call(LIR_OpJavaCall* op) {
add_debug_info_for_null_check_here(op->info());
__ load_klass(O0, G3_scratch);
- if (__ is_simm13(op->vtable_offset())) {
+ if (Assembler::is_simm13(op->vtable_offset())) {
__ ld_ptr(G3_scratch, op->vtable_offset(), G5_method);
} else {
// This will generate 2 instructions
@@ -2202,8 +2201,7 @@ void LIR_Assembler::emit_arraycopy(LIR_OpArrayCopy* op) {
} else if (!(flags & LIR_OpArrayCopy::dst_objarray)) {
__ load_klass(dst, tmp);
}
- int lh_offset = klassOopDesc::header_size() * HeapWordSize +
- Klass::layout_helper_offset_in_bytes();
+ int lh_offset = in_bytes(Klass::layout_helper_offset());
__ lduw(tmp, lh_offset, tmp2);
@@ -2238,12 +2236,10 @@ void LIR_Assembler::emit_arraycopy(LIR_OpArrayCopy* op) {
__ mov(length, len);
__ load_klass(dst, tmp);
- int ek_offset = (klassOopDesc::header_size() * HeapWordSize +
- objArrayKlass::element_klass_offset_in_bytes());
+ int ek_offset = in_bytes(objArrayKlass::element_klass_offset());
__ ld_ptr(tmp, ek_offset, super_k);
- int sco_offset = (klassOopDesc::header_size() * HeapWordSize +
- Klass::super_check_offset_offset_in_bytes());
+ int sco_offset = in_bytes(Klass::super_check_offset_offset());
__ lduw(super_k, sco_offset, chk_off);
__ call_VM_leaf(tmp, copyfunc_addr);
@@ -2455,8 +2451,8 @@ void LIR_Assembler::emit_alloc_obj(LIR_OpAllocObj* op) {
op->obj()->as_register() == O0 &&
op->klass()->as_register() == G5, "must be");
if (op->init_check()) {
- __ ld(op->klass()->as_register(),
- instanceKlass::init_state_offset_in_bytes() + sizeof(oopDesc),
+ __ ldub(op->klass()->as_register(),
+ in_bytes(instanceKlass::init_state_offset()),
op->tmp1()->as_register());
add_debug_info_for_null_check_here(op->stub()->info());
__ cmp(op->tmp1()->as_register(), instanceKlass::fully_initialized);
@@ -2627,7 +2623,7 @@ void LIR_Assembler::emit_typecheck_helper(LIR_OpTypeCheck *op, Label* success, L
} else {
bool need_slow_path = true;
if (k->is_loaded()) {
- if (k->super_check_offset() != sizeof(oopDesc) + Klass::secondary_super_cache_offset_in_bytes())
+ if ((int) k->super_check_offset() != in_bytes(Klass::secondary_super_cache_offset()))
need_slow_path = false;
// perform the fast part of the checking logic
__ check_klass_subtype_fast_path(klass_RInfo, k_RInfo, Rtmp1, noreg,
@@ -2731,7 +2727,7 @@ void LIR_Assembler::emit_opTypeCheck(LIR_OpTypeCheck* op) {
__ load_klass(value, klass_RInfo);
// get instance klass
- __ ld_ptr(Address(k_RInfo, objArrayKlass::element_klass_offset_in_bytes() + sizeof(oopDesc)), k_RInfo);
+ __ ld_ptr(Address(k_RInfo, objArrayKlass::element_klass_offset()), k_RInfo);
// perform the fast part of the checking logic
__ check_klass_subtype_fast_path(klass_RInfo, k_RInfo, Rtmp1, O7, success_target, failure_target, NULL);
diff --git a/hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.hpp b/hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.hpp
index 386159c..1fa8e24 100644
--- a/hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.hpp
+++ b/hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.hpp
@@ -69,7 +69,7 @@ enum {
#else
call_stub_size = 20,
#endif // _LP64
- exception_handler_size = DEBUG_ONLY(1*K) NOT_DEBUG(10*4),
- deopt_handler_size = DEBUG_ONLY(1*K) NOT_DEBUG(10*4) };
+ exception_handler_size = DEBUG_ONLY(1*K) NOT_DEBUG(128),
+ deopt_handler_size = DEBUG_ONLY(1*K) NOT_DEBUG(64) };
#endif // CPU_SPARC_VM_C1_LIRASSEMBLER_SPARC_HPP
diff --git a/hotspot/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp b/hotspot/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp
index 4372225..47f82cf 100644
--- a/hotspot/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp
@@ -181,7 +181,7 @@ void C1_MacroAssembler::try_allocate(
void C1_MacroAssembler::initialize_header(Register obj, Register klass, Register len, Register t1, Register t2) {
assert_different_registers(obj, klass, len, t1, t2);
if (UseBiasedLocking && !len->is_valid()) {
- ld_ptr(klass, Klass::prototype_header_offset_in_bytes() + klassOopDesc::klass_part_offset_in_bytes(), t1);
+ ld_ptr(klass, in_bytes(Klass::prototype_header_offset()), t1);
} else {
set((intx)markOopDesc::prototype(), t1);
}
@@ -252,7 +252,7 @@ void C1_MacroAssembler::initialize_object(
#ifdef ASSERT
{
Label ok;
- ld(klass, klassOopDesc::header_size() * HeapWordSize + Klass::layout_helper_offset_in_bytes(), t1);
+ ld(klass, in_bytes(Klass::layout_helper_offset()), t1);
if (var_size_in_bytes != noreg) {
cmp_and_brx_short(t1, var_size_in_bytes, Assembler::equal, Assembler::pt, ok);
} else {
diff --git a/hotspot/src/cpu/sparc/vm/c1_Runtime1_sparc.cpp b/hotspot/src/cpu/sparc/vm/c1_Runtime1_sparc.cpp
index 64f15e0..d0ddc37 100644
--- a/hotspot/src/cpu/sparc/vm/c1_Runtime1_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/c1_Runtime1_sparc.cpp
@@ -398,14 +398,14 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
if (id == fast_new_instance_init_check_id) {
// make sure the klass is initialized
- __ ld(G5_klass, instanceKlass::init_state_offset_in_bytes() + sizeof(oopDesc), G3_t1);
+ __ ldub(G5_klass, in_bytes(instanceKlass::init_state_offset()), G3_t1);
__ cmp_and_br_short(G3_t1, instanceKlass::fully_initialized, Assembler::notEqual, Assembler::pn, slow_path);
}
#ifdef ASSERT
// assert object can be fast path allocated
{
Label ok, not_ok;
- __ ld(G5_klass, Klass::layout_helper_offset_in_bytes() + sizeof(oopDesc), G1_obj_size);
+ __ ld(G5_klass, in_bytes(Klass::layout_helper_offset()), G1_obj_size);
// make sure it's an instance (LH > 0)
__ cmp_and_br_short(G1_obj_size, 0, Assembler::lessEqual, Assembler::pn, not_ok);
__ btst(Klass::_lh_instance_slow_path_bit, G1_obj_size);
@@ -425,7 +425,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
__ bind(retry_tlab);
// get the instance size
- __ ld(G5_klass, klassOopDesc::header_size() * HeapWordSize + Klass::layout_helper_offset_in_bytes(), G1_obj_size);
+ __ ld(G5_klass, in_bytes(Klass::layout_helper_offset()), G1_obj_size);
__ tlab_allocate(O0_obj, G1_obj_size, 0, G3_t1, slow_path);
@@ -437,7 +437,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
__ bind(try_eden);
// get the instance size
- __ ld(G5_klass, klassOopDesc::header_size() * HeapWordSize + Klass::layout_helper_offset_in_bytes(), G1_obj_size);
+ __ ld(G5_klass, in_bytes(Klass::layout_helper_offset()), G1_obj_size);
__ eden_allocate(O0_obj, G1_obj_size, 0, G3_t1, G4_t2, slow_path);
__ incr_allocated_bytes(G1_obj_size, G3_t1, G4_t2);
@@ -471,8 +471,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
Register G4_length = G4; // Incoming
Register O0_obj = O0; // Outgoing
- Address klass_lh(G5_klass, ((klassOopDesc::header_size() * HeapWordSize)
- + Klass::layout_helper_offset_in_bytes()));
+ Address klass_lh(G5_klass, Klass::layout_helper_offset());
assert(Klass::_lh_header_size_shift % BitsPerByte == 0, "bytewise");
assert(Klass::_lh_header_size_mask == 0xFF, "bytewise");
// Use this offset to pick out an individual byte of the layout_helper:
@@ -592,7 +591,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
Label register_finalizer;
Register t = O1;
__ load_klass(O0, t);
- __ ld(t, Klass::access_flags_offset_in_bytes() + sizeof(oopDesc), t);
+ __ ld(t, in_bytes(Klass::access_flags_offset()), t);
__ set(JVM_ACC_HAS_FINALIZER, G3);
__ andcc(G3, t, G0);
__ br(Assembler::notZero, false, Assembler::pt, register_finalizer);
diff --git a/hotspot/src/cpu/sparc/vm/c2_globals_sparc.hpp b/hotspot/src/cpu/sparc/vm/c2_globals_sparc.hpp
index 0e870e6..f9d6684 100644
--- a/hotspot/src/cpu/sparc/vm/c2_globals_sparc.hpp
+++ b/hotspot/src/cpu/sparc/vm/c2_globals_sparc.hpp
@@ -42,7 +42,7 @@ define_pd_global(bool, ProfileInterpreter, false);
#else
define_pd_global(bool, ProfileInterpreter, true);
#endif // CC_INTERP
-define_pd_global(bool, TieredCompilation, false);
+define_pd_global(bool, TieredCompilation, true);
define_pd_global(intx, CompileThreshold, 10000);
define_pd_global(intx, BackEdgeThreshold, 140000);
diff --git a/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp b/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp
index 2c2a93f..f402d62 100644
--- a/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp
@@ -766,7 +766,7 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) {
// get native function entry point(O0 is a good temp until the very end)
ld_ptr(Address(G5_method, 0, in_bytes(methodOopDesc::native_function_offset())), O0);
// for static methods insert the mirror argument
- const int mirror_offset = klassOopDesc::klass_part_offset_in_bytes() + Klass::java_mirror_offset_in_bytes();
+ const int mirror_offset = in_bytes(Klass::java_mirror_offset());
__ ld_ptr(Address(G5_method, 0, in_bytes(methodOopDesc:: constants_offset())), O1);
__ ld_ptr(Address(O1, 0, constantPoolOopDesc::pool_holder_offset_in_bytes()), O1);
@@ -1173,7 +1173,7 @@ void CppInterpreterGenerator::generate_compute_interpreter_state(const Register
__ btst(JVM_ACC_SYNCHRONIZED, O1);
__ br( Assembler::zero, false, Assembler::pt, done);
- const int mirror_offset = klassOopDesc::klass_part_offset_in_bytes() + Klass::java_mirror_offset_in_bytes();
+ const int mirror_offset = in_bytes(Klass::java_mirror_offset());
__ delayed()->btst(JVM_ACC_STATIC, O1);
__ ld_ptr(XXX_STATE(_locals), O1);
__ br( Assembler::zero, true, Assembler::pt, got_obj);
diff --git a/hotspot/src/cpu/sparc/vm/frame_sparc.inline.hpp b/hotspot/src/cpu/sparc/vm/frame_sparc.inline.hpp
index 3a8bc79..381f235 100644
--- a/hotspot/src/cpu/sparc/vm/frame_sparc.inline.hpp
+++ b/hotspot/src/cpu/sparc/vm/frame_sparc.inline.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -82,6 +82,8 @@ inline address* frame::O0_addr() const { return (address*) &younger_sp()[ I0->s
inline intptr_t* frame::sender_sp() const { return fp(); }
+inline intptr_t* frame::real_fp() const { return fp(); }
+
// Used only in frame::oopmapreg_to_location
// This return a value in VMRegImpl::slot_size
inline int frame::pd_oop_map_offset_adjustment() const {
diff --git a/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp b/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp
index 3b2b5dd..1627685 100644
--- a/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp
@@ -315,7 +315,7 @@ void MethodHandles::RicochetFrame::verify_clean(MacroAssembler* _masm) {
__ cmp_and_br_short(O7_temp, T_VOID, Assembler::equal, Assembler::pt, L_ok_4);
extract_conversion_vminfo(_masm, L5_conversion, O5_temp);
__ ld_ptr(L4_saved_args_base, __ argument_offset(O5_temp, O5_temp), O7_temp);
- assert(__ is_simm13(RETURN_VALUE_PLACEHOLDER), "must be simm13");
+ assert(Assembler::is_simm13(RETURN_VALUE_PLACEHOLDER), "must be simm13");
__ cmp_and_brx_short(O7_temp, (int32_t) RETURN_VALUE_PLACEHOLDER, Assembler::equal, Assembler::pt, L_ok_4);
__ stop("damaged ricochet frame: RETURN_VALUE_PLACEHOLDER not found");
__ BIND(L_ok_4);
@@ -1045,7 +1045,7 @@ int MethodHandles::adapter_conversion_ops_supported_mask() {
|(1<<java_lang_invoke_AdapterMethodHandle::OP_DROP_ARGS)
// OP_COLLECT_ARGS is below...
|(1<<java_lang_invoke_AdapterMethodHandle::OP_SPREAD_ARGS)
- |(!UseRicochetFrames ? 0 :
+ |(
java_lang_invoke_MethodTypeForm::vmlayout_offset_in_bytes() <= 0 ? 0 :
((1<<java_lang_invoke_AdapterMethodHandle::OP_PRIM_TO_REF)
|(1<<java_lang_invoke_AdapterMethodHandle::OP_COLLECT_ARGS)
@@ -1098,7 +1098,7 @@ void MethodHandles::generate_method_handle_stub(MacroAssembler* _masm, MethodHan
Address G3_amh_argument ( G3_method_handle, java_lang_invoke_AdapterMethodHandle::argument_offset_in_bytes());
Address G3_amh_conversion(G3_method_handle, java_lang_invoke_AdapterMethodHandle::conversion_offset_in_bytes());
- const int java_mirror_offset = klassOopDesc::klass_part_offset_in_bytes() + Klass::java_mirror_offset_in_bytes();
+ const int java_mirror_offset = in_bytes(Klass::java_mirror_offset());
if (have_entry(ek)) {
__ nop(); // empty stubs make SG sick
diff --git a/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp b/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp
index cb9e429..560ced6 100644
--- a/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp
@@ -767,7 +767,7 @@ void AdapterGenerator::gen_c2i_adapter(
// In the 64bit build because of wider slots and STACKBIAS we can run
// out of bits in the displacement to do loads and stores. Use g3 as
// temporary displacement.
- if (! __ is_simm13(extraspace)) {
+ if (!Assembler::is_simm13(extraspace)) {
__ set(extraspace, G3_scratch);
__ sub(SP, G3_scratch, SP);
} else {
diff --git a/hotspot/src/cpu/sparc/vm/sparc.ad b/hotspot/src/cpu/sparc/vm/sparc.ad
index 92f3c86..3063b2d 100644
--- a/hotspot/src/cpu/sparc/vm/sparc.ad
+++ b/hotspot/src/cpu/sparc/vm/sparc.ad
@@ -566,7 +566,7 @@ int MachCallDynamicJavaNode::ret_addr_offset() {
} else {
klass_load_size = 1*BytesPerInstWord;
}
- if( Assembler::is_simm13(v_off) ) {
+ if (Assembler::is_simm13(v_off)) {
return klass_load_size +
(2*BytesPerInstWord + // ld_ptr, ld_ptr
NativeCall::instruction_size); // call; delay slot
@@ -1019,8 +1019,21 @@ void emit_hi(CodeBuffer &cbuf, int val) { }
//=============================================================================
-const bool Matcher::constant_table_absolute_addressing = false;
-const RegMask& MachConstantBaseNode::_out_RegMask = PTR_REG_mask;
+const RegMask& MachConstantBaseNode::_out_RegMask = PTR_REG_mask();
+
+int Compile::ConstantTable::calculate_table_base_offset() const {
+ if (UseRDPCForConstantTableBase) {
+ // The table base offset might be less but then it fits into
+ // simm13 anyway and we are good (cf. MachConstantBaseNode::emit).
+ return Assembler::min_simm13();
+ } else {
+ int offset = -(size() / 2);
+ if (!Assembler::is_simm13(offset)) {
+ offset = Assembler::min_simm13();
+ }
+ return offset;
+ }
+}
void MachConstantBaseNode::emit(CodeBuffer& cbuf, PhaseRegAlloc* ra_) const {
Compile* C = ra_->C;
@@ -1028,8 +1041,9 @@ void MachConstantBaseNode::emit(CodeBuffer& cbuf, PhaseRegAlloc* ra_) const {
MacroAssembler _masm(&cbuf);
Register r = as_Register(ra_->get_encode(this));
- CodeSection* cs = __ code()->consts();
- int consts_size = cs->align_at_start(cs->size());
+ CodeSection* consts_section = __ code()->consts();
+ int consts_size = consts_section->align_at_start(consts_section->size());
+ assert(constant_table.size() == consts_size, err_msg("must be: %d == %d", constant_table.size(), consts_size));
if (UseRDPCForConstantTableBase) {
// For the following RDPC logic to work correctly the consts
@@ -1037,30 +1051,37 @@ void MachConstantBaseNode::emit(CodeBuffer& cbuf, PhaseRegAlloc* ra_) const {
// assert checks for that. The layout and the SECT_* constants
// are defined in src/share/vm/asm/codeBuffer.hpp.
assert(CodeBuffer::SECT_CONSTS + 1 == CodeBuffer::SECT_INSTS, "must be");
- int offset = __ offset();
+ int insts_offset = __ offset();
+
+ // Layout:
+ //
+ // |----------- consts section ------------|----------- insts section -----------...
+ // |------ constant table -----|- padding -|------------------x----
+ // \ current PC (RDPC instruction)
+ // |<------------- consts_size ----------->|<- insts_offset ->|
+ // \ table base
+ // The table base offset is later added to the load displacement
+ // so it has to be negative.
+ int table_base_offset = -(consts_size + insts_offset);
int disp;
// If the displacement from the current PC to the constant table
// base fits into simm13 we set the constant table base to the
// current PC.
- if (__ is_simm13(-(consts_size + offset))) {
- constant_table.set_table_base_offset(-(consts_size + offset));
+ if (Assembler::is_simm13(table_base_offset)) {
+ constant_table.set_table_base_offset(table_base_offset);
disp = 0;
} else {
- // If the offset of the top constant (last entry in the table)
- // fits into simm13 we set the constant table base to the actual
- // table base.
- if (__ is_simm13(constant_table.top_offset())) {
- constant_table.set_table_base_offset(0);
- disp = consts_size + offset;
- } else {
- // Otherwise we set the constant table base in the middle of the
- // constant table.
- int half_consts_size = consts_size / 2;
- assert(half_consts_size * 2 == consts_size, "sanity");
- constant_table.set_table_base_offset(-half_consts_size); // table base offset gets added to the load displacement.
- disp = half_consts_size + offset;
- }
+ // Otherwise we set the constant table base offset to the
+ // maximum negative displacement of load instructions to keep
+ // the disp as small as possible:
+ //
+ // |<------------- consts_size ----------->|<- insts_offset ->|
+ // |<--------- min_simm13 --------->|<-------- disp --------->|
+ // \ table base
+ table_base_offset = Assembler::min_simm13();
+ constant_table.set_table_base_offset(table_base_offset);
+ disp = (consts_size + insts_offset) + table_base_offset;
}
__ rdpc(r);
@@ -1072,8 +1093,7 @@ void MachConstantBaseNode::emit(CodeBuffer& cbuf, PhaseRegAlloc* ra_) const {
}
else {
// Materialize the constant table base.
- assert(constant_table.size() == consts_size, err_msg("must be: %d == %d", constant_table.size(), consts_size));
- address baseaddr = cs->start() + -(constant_table.table_base_offset());
+ address baseaddr = consts_section->start() + -(constant_table.table_base_offset());
RelocationHolder rspec = internal_word_Relocation::spec(baseaddr);
AddressLiteral base(baseaddr, rspec);
__ set(base, r);
@@ -1169,6 +1189,13 @@ void MachPrologNode::emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const {
__ save(SP, G3, SP);
}
C->set_frame_complete( __ offset() );
+
+ if (!UseRDPCForConstantTableBase && C->has_mach_constant_base_node()) {
+ // NOTE: We set the table base offset here because users might be
+ // emitted before MachConstantBaseNode.
+ Compile::ConstantTable& constant_table = C->constant_table();
+ constant_table.set_table_base_offset(constant_table.calculate_table_base_offset());
+ }
}
uint MachPrologNode::size(PhaseRegAlloc *ra_) const {
@@ -1843,7 +1870,7 @@ const bool Matcher::convL2FSupported(void) {
bool Matcher::is_short_branch_offset(int rule, int br_size, int offset) {
// The passed offset is relative to address of the branch.
// Don't need to adjust the offset.
- return UseCBCond && Assembler::is_simm(offset, 12);
+ return UseCBCond && Assembler::is_simm12(offset);
}
const bool Matcher::isSimpleConstant64(jlong value) {
@@ -1997,7 +2024,7 @@ RegMask Matcher::modL_proj_mask() {
}
const RegMask Matcher::method_handle_invoke_SP_save_mask() {
- return L7_REGP_mask;
+ return L7_REGP_mask();
}
%}
@@ -2072,8 +2099,8 @@ encode %{
%}
enc_class form3_mem_reg_long_unaligned_marshal( memory mem, iRegL reg ) %{
- assert( Assembler::is_simm13($mem$$disp ), "need disp and disp+4" );
- assert( Assembler::is_simm13($mem$$disp+4), "need disp and disp+4" );
+ assert(Assembler::is_simm13($mem$$disp ), "need disp and disp+4");
+ assert(Assembler::is_simm13($mem$$disp+4), "need disp and disp+4");
guarantee($mem$$index == R_G0_enc, "double index?");
emit_form3_mem_reg(cbuf, this, $primary, -1, $mem$$base, $mem$$disp+4, R_G0_enc, R_O7_enc );
emit_form3_mem_reg(cbuf, this, $primary, -1, $mem$$base, $mem$$disp, R_G0_enc, $reg$$reg );
@@ -2082,8 +2109,8 @@ encode %{
%}
enc_class form3_mem_reg_double_unaligned( memory mem, RegD_low reg ) %{
- assert( Assembler::is_simm13($mem$$disp ), "need disp and disp+4" );
- assert( Assembler::is_simm13($mem$$disp+4), "need disp and disp+4" );
+ assert(Assembler::is_simm13($mem$$disp ), "need disp and disp+4");
+ assert(Assembler::is_simm13($mem$$disp+4), "need disp and disp+4");
guarantee($mem$$index == R_G0_enc, "double index?");
// Load long with 2 instructions
emit_form3_mem_reg(cbuf, this, $primary, -1, $mem$$base, $mem$$disp, R_G0_enc, $reg$$reg+0 );
@@ -2563,7 +2590,7 @@ encode %{
}
int entry_offset = instanceKlass::vtable_start_offset() + vtable_index*vtableEntry::size();
int v_off = entry_offset*wordSize + vtableEntry::method_offset_in_bytes();
- if( __ is_simm13(v_off) ) {
+ if (Assembler::is_simm13(v_off)) {
__ ld_ptr(G3, v_off, G5_method);
} else {
// Generate 2 instructions
@@ -3336,7 +3363,7 @@ operand immI() %{
// Integer Immediate: 8-bit
operand immI8() %{
- predicate(Assembler::is_simm(n->get_int(), 8));
+ predicate(Assembler::is_simm8(n->get_int()));
match(ConI);
op_cost(0);
format %{ %}
@@ -3365,7 +3392,7 @@ operand immI13m7() %{
// Integer Immediate: 16-bit
operand immI16() %{
- predicate(Assembler::is_simm(n->get_int(), 16));
+ predicate(Assembler::is_simm16(n->get_int()));
match(ConI);
op_cost(0);
format %{ %}
@@ -3393,7 +3420,7 @@ operand immU6() %{
// Integer Immediate: 11-bit
operand immI11() %{
- predicate(Assembler::is_simm(n->get_int(),11));
+ predicate(Assembler::is_simm11(n->get_int()));
match(ConI);
op_cost(0);
format %{ %}
@@ -3402,7 +3429,7 @@ operand immI11() %{
// Integer Immediate: 5-bit
operand immI5() %{
- predicate(Assembler::is_simm(n->get_int(), 5));
+ predicate(Assembler::is_simm5(n->get_int()));
match(ConI);
op_cost(0);
format %{ %}
@@ -3634,7 +3661,7 @@ operand immL0() %{
// Integer Immediate: 5-bit
operand immL5() %{
- predicate(n->get_long() == (int)n->get_long() && Assembler::is_simm((int)n->get_long(), 5));
+ predicate(n->get_long() == (int)n->get_long() && Assembler::is_simm5((int)n->get_long()));
match(ConL);
op_cost(0);
format %{ %}
@@ -6746,6 +6773,16 @@ instruct unnecessary_membar_volatile() %{
ins_pipe(empty);
%}
+instruct membar_storestore() %{
+ match(MemBarStoreStore);
+ ins_cost(0);
+
+ size(0);
+ format %{ "!MEMBAR-storestore (empty encoding)" %}
+ ins_encode( );
+ ins_pipe(empty);
+%}
+
//----------Register Move Instructions-----------------------------------------
instruct roundDouble_nop(regD dst) %{
match(Set dst (RoundDouble dst));
@@ -9246,18 +9283,22 @@ instruct cmpD_reg(iRegI dst, regD src1, regD src2, flagsRegF0 fcc0) %{
// (compare 'operand indIndex' and 'instruct addP_reg_reg' above)
instruct jumpXtnd(iRegX switch_val, o7RegI table) %{
match(Jump switch_val);
+ effect(TEMP table);
ins_cost(350);
format %{ "ADD $constanttablebase, $constantoffset, O7\n\t"
"LD [O7 + $switch_val], O7\n\t"
- "JUMP O7"
- %}
+ "JUMP O7" %}
ins_encode %{
// Calculate table address into a register.
Register table_reg;
Register label_reg = O7;
- if (constant_offset() == 0) {
+ // If we are calculating the size of this instruction don't trust
+ // zero offsets because they might change when
+ // MachConstantBaseNode decides to optimize the constant table
+ // base.
+ if ((constant_offset() == 0) && !Compile::current()->in_scratch_emit_size()) {
table_reg = $constanttablebase;
} else {
table_reg = O7;
@@ -10233,24 +10274,24 @@ instruct partialSubtypeCheck_vs_zero( flagsRegP pcc, o1RegP sub, o2RegP super, i
// ============================================================================
// inlined locking and unlocking
-instruct cmpFastLock(flagsRegP pcc, iRegP object, iRegP box, iRegP scratch2, o7RegP scratch ) %{
+instruct cmpFastLock(flagsRegP pcc, iRegP object, o1RegP box, iRegP scratch2, o7RegP scratch ) %{
match(Set pcc (FastLock object box));
- effect(KILL scratch, TEMP scratch2);
+ effect(TEMP scratch2, USE_KILL box, KILL scratch);
ins_cost(100);
- format %{ "FASTLOCK $object, $box; KILL $scratch, $scratch2, $box" %}
+ format %{ "FASTLOCK $object,$box\t! kills $box,$scratch,$scratch2" %}
ins_encode( Fast_Lock(object, box, scratch, scratch2) );
ins_pipe(long_memory_op);
%}
-instruct cmpFastUnlock(flagsRegP pcc, iRegP object, iRegP box, iRegP scratch2, o7RegP scratch ) %{
+instruct cmpFastUnlock(flagsRegP pcc, iRegP object, o1RegP box, iRegP scratch2, o7RegP scratch ) %{
match(Set pcc (FastUnlock object box));
- effect(KILL scratch, TEMP scratch2);
+ effect(TEMP scratch2, USE_KILL box, KILL scratch);
ins_cost(100);
- format %{ "FASTUNLOCK $object, $box; KILL $scratch, $scratch2, $box" %}
+ format %{ "FASTUNLOCK $object,$box\t! kills $box,$scratch,$scratch2" %}
ins_encode( Fast_Unlock(object, box, scratch, scratch2) );
ins_pipe(long_memory_op);
%}
diff --git a/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp b/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp
index 9415c7b..0e076db 100644
--- a/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp
@@ -3046,8 +3046,7 @@ class StubGenerator: public StubCodeGenerator {
// array_tag: typeArray = 0x3, objArray = 0x2, non-array = 0x0
//
- int lh_offset = klassOopDesc::header_size() * HeapWordSize +
- Klass::layout_helper_offset_in_bytes();
+ int lh_offset = in_bytes(Klass::layout_helper_offset());
// Load 32-bits signed value. Use br() instruction with it to check icc.
__ lduw(G3_src_klass, lh_offset, G5_lh);
@@ -3194,15 +3193,13 @@ class StubGenerator: public StubCodeGenerator {
G4_dst_klass, G3_src_klass);
// Generate the type check.
- int sco_offset = (klassOopDesc::header_size() * HeapWordSize +
- Klass::super_check_offset_offset_in_bytes());
+ int sco_offset = in_bytes(Klass::super_check_offset_offset());
__ lduw(G4_dst_klass, sco_offset, sco_temp);
generate_type_check(G3_src_klass, sco_temp, G4_dst_klass,
O5_temp, L_plain_copy);
// Fetch destination element klass from the objArrayKlass header.
- int ek_offset = (klassOopDesc::header_size() * HeapWordSize +
- objArrayKlass::element_klass_offset_in_bytes());
+ int ek_offset = in_bytes(objArrayKlass::element_klass_offset());
// the checkcast_copy loop needs two extra arguments:
__ ld_ptr(G4_dst_klass, ek_offset, O4); // dest elem klass
@@ -3414,6 +3411,9 @@ class StubGenerator: public StubCodeGenerator {
generate_throw_exception("WrongMethodTypeException throw_exception",
CAST_FROM_FN_PTR(address, SharedRuntime::throw_WrongMethodTypeException),
G5_method_type, G3_method_handle);
+
+ // Build this early so it's available for the interpreter.
+ StubRoutines::_throw_StackOverflowError_entry = generate_throw_exception("StackOverflowError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));
}
@@ -3427,7 +3427,6 @@ class StubGenerator: public StubCodeGenerator {
StubRoutines::_throw_AbstractMethodError_entry = generate_throw_exception("AbstractMethodError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_AbstractMethodError));
StubRoutines::_throw_IncompatibleClassChangeError_entry= generate_throw_exception("IncompatibleClassChangeError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_IncompatibleClassChangeError));
StubRoutines::_throw_NullPointerException_at_call_entry= generate_throw_exception("NullPointerException at call throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_NullPointerException_at_call));
- StubRoutines::_throw_StackOverflowError_entry = generate_throw_exception("StackOverflowError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));
StubRoutines::_handler_for_unsafe_access_entry =
generate_handler_for_unsafe_access();
diff --git a/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp b/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp
index 8ec7d06..ceb6a59 100644
--- a/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp
@@ -366,7 +366,7 @@ void InterpreterGenerator::lock_method(void) {
// get synchronization object to O0
{ Label done;
- const int mirror_offset = klassOopDesc::klass_part_offset_in_bytes() + Klass::java_mirror_offset_in_bytes();
+ const int mirror_offset = in_bytes(Klass::java_mirror_offset());
__ btst(JVM_ACC_STATIC, O0);
__ br( Assembler::zero, true, Assembler::pt, done);
__ delayed()->ld_ptr(Llocals, Interpreter::local_offset_in_bytes(0), O0); // get receiver for not-static case
@@ -396,7 +396,6 @@ void TemplateInterpreterGenerator::generate_stack_overflow_check(Register Rframe
Register Rscratch,
Register Rscratch2) {
const int page_size = os::vm_page_size();
- Address saved_exception_pc(G2_thread, JavaThread::saved_exception_pc_offset());
Label after_frame_check;
assert_different_registers(Rframe_size, Rscratch, Rscratch2);
@@ -436,11 +435,19 @@ void TemplateInterpreterGenerator::generate_stack_overflow_check(Register Rframe
// the bottom of the stack
__ cmp_and_brx_short(SP, Rscratch, Assembler::greater, Assembler::pt, after_frame_check);
- // Save the return address as the exception pc
- __ st_ptr(O7, saved_exception_pc);
-
// the stack will overflow, throw an exception
- __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_StackOverflowError));
+
+ // Note that SP is restored to sender's sp (in the delay slot). This
+ // is necessary if the sender's frame is an extended compiled frame
+ // (see gen_c2i_adapter()) and safer anyway in case of JSR292
+ // adaptations.
+
+ // Note also that the restored frame is not necessarily interpreted.
+ // Use the shared runtime version of the StackOverflowError.
+ assert(StubRoutines::throw_StackOverflowError_entry() != NULL, "stub not yet generated");
+ AddressLiteral stub(StubRoutines::throw_StackOverflowError_entry());
+ __ jump_to(stub, Rscratch);
+ __ delayed()->mov(O5_savedSP, SP);
// if you get to here, then there is enough stack space
__ bind( after_frame_check );
@@ -984,7 +991,7 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) {
// get native function entry point(O0 is a good temp until the very end)
__ delayed()->ld_ptr(Lmethod, in_bytes(methodOopDesc::native_function_offset()), O0);
// for static methods insert the mirror argument
- const int mirror_offset = klassOopDesc::klass_part_offset_in_bytes() + Klass::java_mirror_offset_in_bytes();
+ const int mirror_offset = in_bytes(Klass::java_mirror_offset());
__ ld_ptr(Lmethod, methodOopDesc:: constants_offset(), O1);
__ ld_ptr(O1, constantPoolOopDesc::pool_holder_offset_in_bytes(), O1);
diff --git a/hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp b/hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp
index 850dbe6..af6829b 100644
--- a/hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp
@@ -888,7 +888,7 @@ void TemplateTable::aastore() {
// do fast instanceof cache test
- __ ld_ptr(O4, sizeof(oopDesc) + objArrayKlass::element_klass_offset_in_bytes(), O4);
+ __ ld_ptr(O4, in_bytes(objArrayKlass::element_klass_offset()), O4);
assert(Otos_i == O0, "just checking");
@@ -2031,7 +2031,7 @@ void TemplateTable::_return(TosState state) {
__ access_local_ptr(G3_scratch, Otos_i);
__ load_klass(Otos_i, O2);
__ set(JVM_ACC_HAS_FINALIZER, G3);
- __ ld(O2, Klass::access_flags_offset_in_bytes() + sizeof(oopDesc), O2);
+ __ ld(O2, in_bytes(Klass::access_flags_offset()), O2);
__ andcc(G3, O2, G0);
Label skip_register_finalizer;
__ br(Assembler::zero, false, Assembler::pn, skip_register_finalizer);
@@ -3350,13 +3350,13 @@ void TemplateTable::_new() {
__ ld_ptr(Rscratch, Roffset, RinstanceKlass);
// make sure klass is fully initialized:
- __ ld(RinstanceKlass, instanceKlass::init_state_offset_in_bytes() + sizeof(oopDesc), G3_scratch);
+ __ ldub(RinstanceKlass, in_bytes(instanceKlass::init_state_offset()), G3_scratch);
__ cmp(G3_scratch, instanceKlass::fully_initialized);
__ br(Assembler::notEqual, false, Assembler::pn, slow_case);
- __ delayed()->ld(RinstanceKlass, Klass::layout_helper_offset_in_bytes() + sizeof(oopDesc), Roffset);
+ __ delayed()->ld(RinstanceKlass, in_bytes(Klass::layout_helper_offset()), Roffset);
// get instance_size in instanceKlass (already aligned)
- //__ ld(RinstanceKlass, Klass::layout_helper_offset_in_bytes() + sizeof(oopDesc), Roffset);
+ //__ ld(RinstanceKlass, in_bytes(Klass::layout_helper_offset()), Roffset);
// make sure klass does not have has_finalizer, or is abstract, or interface or java/lang/Class
__ btst(Klass::_lh_instance_slow_path_bit, Roffset);
@@ -3483,7 +3483,7 @@ void TemplateTable::_new() {
__ bind(initialize_header);
if (UseBiasedLocking) {
- __ ld_ptr(RinstanceKlass, Klass::prototype_header_offset_in_bytes() + sizeof(oopDesc), G4_scratch);
+ __ ld_ptr(RinstanceKlass, in_bytes(Klass::prototype_header_offset()), G4_scratch);
} else {
__ set((intptr_t)markOopDesc::prototype(), G4_scratch);
}
diff --git a/hotspot/src/cpu/sparc/vm/vtableStubs_sparc.cpp b/hotspot/src/cpu/sparc/vm/vtableStubs_sparc.cpp
index 4e71250..17ef156 100644
--- a/hotspot/src/cpu/sparc/vm/vtableStubs_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/vtableStubs_sparc.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -83,7 +83,7 @@ VtableStub* VtableStubs::create_vtable_stub(int vtable_index) {
}
#endif
int v_off = entry_offset*wordSize + vtableEntry::method_offset_in_bytes();
- if( __ is_simm13(v_off) ) {
+ if (Assembler::is_simm13(v_off)) {
__ ld_ptr(G3, v_off, G5_method);
} else {
__ set(v_off,G5);
diff --git a/hotspot/src/cpu/x86/vm/assembler_x86.cpp b/hotspot/src/cpu/x86/vm/assembler_x86.cpp
index d57a55f..aa5cd18 100644
--- a/hotspot/src/cpu/x86/vm/assembler_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/assembler_x86.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -533,6 +533,19 @@ address Assembler::locate_operand(address inst, WhichOperand which) {
case 0x0F: // movx..., etc.
switch (0xFF & *ip++) {
+ case 0x3A: // pcmpestri
+ tail_size = 1;
+ case 0x38: // ptest, pmovzxbw
+ ip++; // skip opcode
+ debug_only(has_disp32 = true); // has both kinds of operands!
+ break;
+
+ case 0x70: // pshufd r, r/a, #8
+ debug_only(has_disp32 = true); // has both kinds of operands!
+ case 0x73: // psrldq r, #8
+ tail_size = 1;
+ break;
+
case 0x12: // movlps
case 0x28: // movaps
case 0x2E: // ucomiss
@@ -543,9 +556,7 @@ address Assembler::locate_operand(address inst, WhichOperand which) {
case 0x57: // xorps
case 0x6E: // movd
case 0x7E: // movd
- case 0xAE: // ldmxcsr a
- // 64bit side says it these have both operands but that doesn't
- // appear to be true
+ case 0xAE: // ldmxcsr, stmxcsr, fxrstor, fxsave, clflush
debug_only(has_disp32 = true);
break;
@@ -565,6 +576,12 @@ address Assembler::locate_operand(address inst, WhichOperand which) {
// fall out of the switch to decode the address
break;
+ case 0xC4: // pinsrw r, a, #8
+ debug_only(has_disp32 = true);
+ case 0xC5: // pextrw r, r, #8
+ tail_size = 1; // the imm8
+ break;
+
case 0xAC: // shrd r, a, #8
debug_only(has_disp32 = true);
tail_size = 1; // the imm8
@@ -625,11 +642,44 @@ address Assembler::locate_operand(address inst, WhichOperand which) {
tail_size = 1; // the imm8
break;
- case 0xE8: // call rdisp32
- case 0xE9: // jmp rdisp32
- if (which == end_pc_operand) return ip + 4;
- assert(which == call32_operand, "call has no disp32 or imm");
- return ip;
+ case 0xC4: // VEX_3bytes
+ case 0xC5: // VEX_2bytes
+ assert((UseAVX > 0), "shouldn't have VEX prefix");
+ assert(ip == inst+1, "no prefixes allowed");
+ // C4 and C5 are also used as opcodes for PINSRW and PEXTRW instructions
+ // but they have prefix 0x0F and processed when 0x0F processed above.
+ //
+ // In 32-bit mode the VEX first byte C4 and C5 alias onto LDS and LES
+ // instructions (these instructions are not supported in 64-bit mode).
+ // To distinguish them bits [7:6] are set in the VEX second byte since
+ // ModRM byte can not be of the form 11xxxxxx in 32-bit mode. To set
+ // those VEX bits REX and vvvv bits are inverted.
+ //
+ // Fortunately C2 doesn't generate these instructions so we don't need
+ // to check for them in product version.
+
+ // Check second byte
+ NOT_LP64(assert((0xC0 & *ip) == 0xC0, "shouldn't have LDS and LES instructions"));
+
+ // First byte
+ if ((0xFF & *inst) == VEX_3bytes) {
+ ip++; // third byte
+ is_64bit = ((VEX_W & *ip) == VEX_W);
+ }
+ ip++; // opcode
+ // To find the end of instruction (which == end_pc_operand).
+ switch (0xFF & *ip) {
+ case 0x61: // pcmpestri r, r/a, #8
+ case 0x70: // pshufd r, r/a, #8
+ case 0x73: // psrldq r, #8
+ tail_size = 1; // the imm8
+ break;
+ default:
+ break;
+ }
+ ip++; // skip opcode
+ debug_only(has_disp32 = true); // has both kinds of operands!
+ break;
case 0xD1: // sal a, 1; sar a, 1; shl a, 1; shr a, 1
case 0xD3: // sal a, %cl; sar a, %cl; shl a, %cl; shr a, %cl
@@ -643,6 +693,12 @@ address Assembler::locate_operand(address inst, WhichOperand which) {
debug_only(has_disp32 = true);
break;
+ case 0xE8: // call rdisp32
+ case 0xE9: // jmp rdisp32
+ if (which == end_pc_operand) return ip + 4;
+ assert(which == call32_operand, "call has no disp32 or imm");
+ return ip;
+
case 0xF0: // Lock
assert(os::is_MP(), "only on MP");
goto again_after_prefix;
@@ -918,9 +974,7 @@ void Assembler::addr_nop_8() {
void Assembler::addsd(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0xF2);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_F2);
emit_byte(0x58);
emit_byte(0xC0 | encode);
}
@@ -928,18 +982,14 @@ void Assembler::addsd(XMMRegister dst, XMMRegister src) {
void Assembler::addsd(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
InstructionMark im(this);
- emit_byte(0xF2);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, dst, src, VEX_SIMD_F2);
emit_byte(0x58);
emit_operand(dst, src);
}
void Assembler::addss(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
- emit_byte(0xF3);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_F3);
emit_byte(0x58);
emit_byte(0xC0 | encode);
}
@@ -947,13 +997,19 @@ void Assembler::addss(XMMRegister dst, XMMRegister src) {
void Assembler::addss(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
InstructionMark im(this);
- emit_byte(0xF3);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, dst, src, VEX_SIMD_F3);
emit_byte(0x58);
emit_operand(dst, src);
}
+void Assembler::andl(Address dst, int32_t imm32) {
+ InstructionMark im(this);
+ prefix(dst);
+ emit_byte(0x81);
+ emit_operand(rsp, dst, 4);
+ emit_long(imm32);
+}
+
void Assembler::andl(Register dst, int32_t imm32) {
prefix(dst);
emit_arith(0x81, 0xE0, dst, imm32);
@@ -974,13 +1030,33 @@ void Assembler::andl(Register dst, Register src) {
void Assembler::andpd(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
InstructionMark im(this);
- emit_byte(0x66);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, dst, src, VEX_SIMD_66);
+ emit_byte(0x54);
+ emit_operand(dst, src);
+}
+
+void Assembler::andpd(XMMRegister dst, XMMRegister src) {
+ NOT_LP64(assert(VM_Version::supports_sse2(), ""));
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_66);
+ emit_byte(0x54);
+ emit_byte(0xC0 | encode);
+}
+
+void Assembler::andps(XMMRegister dst, Address src) {
+ NOT_LP64(assert(VM_Version::supports_sse(), ""));
+ InstructionMark im(this);
+ simd_prefix(dst, dst, src, VEX_SIMD_NONE);
emit_byte(0x54);
emit_operand(dst, src);
}
+void Assembler::andps(XMMRegister dst, XMMRegister src) {
+ NOT_LP64(assert(VM_Version::supports_sse(), ""));
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_NONE);
+ emit_byte(0x54);
+ emit_byte(0xC0 | encode);
+}
+
void Assembler::bsfl(Register dst, Register src) {
int encode = prefix_and_encode(dst->encoding(), src->encoding());
emit_byte(0x0F);
@@ -1025,19 +1101,7 @@ void Assembler::call(Label& L, relocInfo::relocType rtype) {
}
void Assembler::call(Register dst) {
- // This was originally using a 32bit register encoding
- // and surely we want 64bit!
- // this is a 32bit encoding but in 64bit mode the default
- // operand size is 64bit so there is no need for the
- // wide prefix. So prefix only happens if we use the
- // new registers. Much like push/pop.
- int x = offset();
- // this may be true but dbx disassembles it as if it
- // were 32bits...
- // int encode = prefix_and_encode(dst->encoding());
- // if (offset() != x) assert(dst->encoding() >= 8, "what?");
- int encode = prefixq_and_encode(dst->encoding());
-
+ int encode = prefix_and_encode(dst->encoding());
emit_byte(0xFF);
emit_byte(0xD0 | encode);
}
@@ -1157,87 +1221,119 @@ void Assembler::comisd(XMMRegister dst, Address src) {
// NOTE: dbx seems to decode this as comiss even though the
// 0x66 is there. Strangly ucomisd comes out correct
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0x66);
- comiss(dst, src);
+ InstructionMark im(this);
+ simd_prefix(dst, src, VEX_SIMD_66);
+ emit_byte(0x2F);
+ emit_operand(dst, src);
+}
+
+void Assembler::comisd(XMMRegister dst, XMMRegister src) {
+ NOT_LP64(assert(VM_Version::supports_sse2(), ""));
+ int encode = simd_prefix_and_encode(dst, src, VEX_SIMD_66);
+ emit_byte(0x2F);
+ emit_byte(0xC0 | encode);
}
void Assembler::comiss(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
-
InstructionMark im(this);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, src, VEX_SIMD_NONE);
emit_byte(0x2F);
emit_operand(dst, src);
}
+void Assembler::comiss(XMMRegister dst, XMMRegister src) {
+ NOT_LP64(assert(VM_Version::supports_sse(), ""));
+ int encode = simd_prefix_and_encode(dst, src, VEX_SIMD_NONE);
+ emit_byte(0x2F);
+ emit_byte(0xC0 | encode);
+}
+
void Assembler::cvtdq2pd(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0xF3);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, src, VEX_SIMD_F3);
emit_byte(0xE6);
emit_byte(0xC0 | encode);
}
void Assembler::cvtdq2ps(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, src, VEX_SIMD_NONE);
emit_byte(0x5B);
emit_byte(0xC0 | encode);
}
void Assembler::cvtsd2ss(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0xF2);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_F2);
emit_byte(0x5A);
emit_byte(0xC0 | encode);
}
+void Assembler::cvtsd2ss(XMMRegister dst, Address src) {
+ NOT_LP64(assert(VM_Version::supports_sse2(), ""));
+ InstructionMark im(this);
+ simd_prefix(dst, dst, src, VEX_SIMD_F2);
+ emit_byte(0x5A);
+ emit_operand(dst, src);
+}
+
void Assembler::cvtsi2sdl(XMMRegister dst, Register src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0xF2);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_F2);
emit_byte(0x2A);
emit_byte(0xC0 | encode);
}
+void Assembler::cvtsi2sdl(XMMRegister dst, Address src) {
+ NOT_LP64(assert(VM_Version::supports_sse2(), ""));
+ InstructionMark im(this);
+ simd_prefix(dst, dst, src, VEX_SIMD_F2);
+ emit_byte(0x2A);
+ emit_operand(dst, src);
+}
+
void Assembler::cvtsi2ssl(XMMRegister dst, Register src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
- emit_byte(0xF3);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_F3);
emit_byte(0x2A);
emit_byte(0xC0 | encode);
}
+void Assembler::cvtsi2ssl(XMMRegister dst, Address src) {
+ NOT_LP64(assert(VM_Version::supports_sse(), ""));
+ InstructionMark im(this);
+ simd_prefix(dst, dst, src, VEX_SIMD_F3);
+ emit_byte(0x2A);
+ emit_operand(dst, src);
+}
+
void Assembler::cvtss2sd(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0xF3);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_F3);
emit_byte(0x5A);
emit_byte(0xC0 | encode);
}
+void Assembler::cvtss2sd(XMMRegister dst, Address src) {
+ NOT_LP64(assert(VM_Version::supports_sse2(), ""));
+ InstructionMark im(this);
+ simd_prefix(dst, dst, src, VEX_SIMD_F3);
+ emit_byte(0x5A);
+ emit_operand(dst, src);
+}
+
+
void Assembler::cvttsd2sil(Register dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0xF2);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, src, VEX_SIMD_F2);
emit_byte(0x2C);
emit_byte(0xC0 | encode);
}
void Assembler::cvttss2sil(Register dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
- emit_byte(0xF3);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, src, VEX_SIMD_F3);
emit_byte(0x2C);
emit_byte(0xC0 | encode);
}
@@ -1253,18 +1349,14 @@ void Assembler::decl(Address dst) {
void Assembler::divsd(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
InstructionMark im(this);
- emit_byte(0xF2);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, dst, src, VEX_SIMD_F2);
emit_byte(0x5E);
emit_operand(dst, src);
}
void Assembler::divsd(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0xF2);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_F2);
emit_byte(0x5E);
emit_byte(0xC0 | encode);
}
@@ -1272,18 +1364,14 @@ void Assembler::divsd(XMMRegister dst, XMMRegister src) {
void Assembler::divss(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
InstructionMark im(this);
- emit_byte(0xF3);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, dst, src, VEX_SIMD_F3);
emit_byte(0x5E);
emit_operand(dst, src);
}
void Assembler::divss(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
- emit_byte(0xF3);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_F3);
emit_byte(0x5E);
emit_byte(0xC0 | encode);
}
@@ -1377,8 +1465,14 @@ void Assembler::jccb(Condition cc, Label& L) {
if (L.is_bound()) {
const int short_size = 2;
address entry = target(L);
- assert(is8bit((intptr_t)entry - ((intptr_t)_code_pos + short_size)),
- "Dispacement too large for a short jmp");
+#ifdef ASSERT
+ intptr_t dist = (intptr_t)entry - ((intptr_t)_code_pos + short_size);
+ intptr_t delta = short_branch_delta();
+ if (delta != 0) {
+ dist += (dist < 0 ? (-delta) :delta);
+ }
+ assert(is8bit(dist), "Dispacement too large for a short jmp");
+#endif
intptr_t offs = (intptr_t)entry - (intptr_t)_code_pos;
// 0111 tttn #8-bit disp
emit_byte(0x70 | cc);
@@ -1444,9 +1538,15 @@ void Assembler::jmpb(Label& L) {
if (L.is_bound()) {
const int short_size = 2;
address entry = target(L);
- assert(is8bit((entry - _code_pos) + short_size),
- "Dispacement too large for a short jmp");
assert(entry != NULL, "jmp most probably wrong");
+#ifdef ASSERT
+ intptr_t dist = (intptr_t)entry - ((intptr_t)_code_pos + short_size);
+ intptr_t delta = short_branch_delta();
+ if (delta != 0) {
+ dist += (dist < 0 ? (-delta) :delta);
+ }
+ assert(is8bit(dist), "Dispacement too large for a short jmp");
+#endif
intptr_t offs = entry - _code_pos;
emit_byte(0xEB);
emit_byte((offs - short_size) & 0xFF);
@@ -1509,49 +1609,16 @@ void Assembler::mov(Register dst, Register src) {
void Assembler::movapd(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- int dstenc = dst->encoding();
- int srcenc = src->encoding();
- emit_byte(0x66);
- if (dstenc < 8) {
- if (srcenc >= 8) {
- prefix(REX_B);
- srcenc -= 8;
- }
- } else {
- if (srcenc < 8) {
- prefix(REX_R);
- } else {
- prefix(REX_RB);
- srcenc -= 8;
- }
- dstenc -= 8;
- }
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, src, VEX_SIMD_66);
emit_byte(0x28);
- emit_byte(0xC0 | dstenc << 3 | srcenc);
+ emit_byte(0xC0 | encode);
}
void Assembler::movaps(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
- int dstenc = dst->encoding();
- int srcenc = src->encoding();
- if (dstenc < 8) {
- if (srcenc >= 8) {
- prefix(REX_B);
- srcenc -= 8;
- }
- } else {
- if (srcenc < 8) {
- prefix(REX_R);
- } else {
- prefix(REX_RB);
- srcenc -= 8;
- }
- dstenc -= 8;
- }
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, src, VEX_SIMD_NONE);
emit_byte(0x28);
- emit_byte(0xC0 | dstenc << 3 | srcenc);
+ emit_byte(0xC0 | encode);
}
void Assembler::movb(Register dst, Address src) {
@@ -1582,19 +1649,15 @@ void Assembler::movb(Address dst, Register src) {
void Assembler::movdl(XMMRegister dst, Register src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0x66);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, src, VEX_SIMD_66);
emit_byte(0x6E);
emit_byte(0xC0 | encode);
}
void Assembler::movdl(Register dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0x66);
// swap src/dst to get correct prefix
- int encode = prefix_and_encode(src->encoding(), dst->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(src, dst, VEX_SIMD_66);
emit_byte(0x7E);
emit_byte(0xC0 | encode);
}
@@ -1602,58 +1665,29 @@ void Assembler::movdl(Register dst, XMMRegister src) {
void Assembler::movdl(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
InstructionMark im(this);
- emit_byte(0x66);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, src, VEX_SIMD_66);
emit_byte(0x6E);
emit_operand(dst, src);
}
-
-void Assembler::movdqa(XMMRegister dst, Address src) {
- NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- InstructionMark im(this);
- emit_byte(0x66);
- prefix(src, dst);
- emit_byte(0x0F);
- emit_byte(0x6F);
- emit_operand(dst, src);
-}
-
void Assembler::movdqa(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0x66);
- int encode = prefixq_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, src, VEX_SIMD_66);
emit_byte(0x6F);
emit_byte(0xC0 | encode);
}
-void Assembler::movdqa(Address dst, XMMRegister src) {
- NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- InstructionMark im(this);
- emit_byte(0x66);
- prefix(dst, src);
- emit_byte(0x0F);
- emit_byte(0x7F);
- emit_operand(src, dst);
-}
-
void Assembler::movdqu(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
InstructionMark im(this);
- emit_byte(0xF3);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, src, VEX_SIMD_F3);
emit_byte(0x6F);
emit_operand(dst, src);
}
void Assembler::movdqu(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0xF3);
- int encode = prefixq_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, src, VEX_SIMD_F3);
emit_byte(0x6F);
emit_byte(0xC0 | encode);
}
@@ -1661,9 +1695,7 @@ void Assembler::movdqu(XMMRegister dst, XMMRegister src) {
void Assembler::movdqu(Address dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
InstructionMark im(this);
- emit_byte(0xF3);
- prefix(dst, src);
- emit_byte(0x0F);
+ simd_prefix(dst, src, VEX_SIMD_F3);
emit_byte(0x7F);
emit_operand(src, dst);
}
@@ -1710,9 +1742,7 @@ void Assembler::movl(Address dst, Register src) {
void Assembler::movlpd(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
InstructionMark im(this);
- emit_byte(0x66);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, dst, src, VEX_SIMD_66);
emit_byte(0x12);
emit_operand(dst, src);
}
@@ -1740,9 +1770,7 @@ void Assembler::movq( Address dst, MMXRegister src ) {
void Assembler::movq(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
InstructionMark im(this);
- emit_byte(0xF3);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, src, VEX_SIMD_F3);
emit_byte(0x7E);
emit_operand(dst, src);
}
@@ -1750,9 +1778,7 @@ void Assembler::movq(XMMRegister dst, Address src) {
void Assembler::movq(Address dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
InstructionMark im(this);
- emit_byte(0x66);
- prefix(dst, src);
- emit_byte(0x0F);
+ simd_prefix(dst, src, VEX_SIMD_66);
emit_byte(0xD6);
emit_operand(src, dst);
}
@@ -1775,9 +1801,7 @@ void Assembler::movsbl(Register dst, Register src) { // movsxb
void Assembler::movsd(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0xF2);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_F2);
emit_byte(0x10);
emit_byte(0xC0 | encode);
}
@@ -1785,9 +1809,7 @@ void Assembler::movsd(XMMRegister dst, XMMRegister src) {
void Assembler::movsd(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
InstructionMark im(this);
- emit_byte(0xF2);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, src, VEX_SIMD_F2);
emit_byte(0x10);
emit_operand(dst, src);
}
@@ -1795,18 +1817,14 @@ void Assembler::movsd(XMMRegister dst, Address src) {
void Assembler::movsd(Address dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
InstructionMark im(this);
- emit_byte(0xF2);
- prefix(dst, src);
- emit_byte(0x0F);
+ simd_prefix(dst, src, VEX_SIMD_F2);
emit_byte(0x11);
emit_operand(src, dst);
}
void Assembler::movss(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
- emit_byte(0xF3);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_F3);
emit_byte(0x10);
emit_byte(0xC0 | encode);
}
@@ -1814,9 +1832,7 @@ void Assembler::movss(XMMRegister dst, XMMRegister src) {
void Assembler::movss(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
InstructionMark im(this);
- emit_byte(0xF3);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, src, VEX_SIMD_F3);
emit_byte(0x10);
emit_operand(dst, src);
}
@@ -1824,9 +1840,7 @@ void Assembler::movss(XMMRegister dst, Address src) {
void Assembler::movss(Address dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
InstructionMark im(this);
- emit_byte(0xF3);
- prefix(dst, src);
- emit_byte(0x0F);
+ simd_prefix(dst, src, VEX_SIMD_F3);
emit_byte(0x11);
emit_operand(src, dst);
}
@@ -1919,18 +1933,14 @@ void Assembler::mull(Register src) {
void Assembler::mulsd(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
InstructionMark im(this);
- emit_byte(0xF2);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, dst, src, VEX_SIMD_F2);
emit_byte(0x59);
emit_operand(dst, src);
}
void Assembler::mulsd(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0xF2);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_F2);
emit_byte(0x59);
emit_byte(0xC0 | encode);
}
@@ -1938,18 +1948,14 @@ void Assembler::mulsd(XMMRegister dst, XMMRegister src) {
void Assembler::mulss(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
InstructionMark im(this);
- emit_byte(0xF3);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, dst, src, VEX_SIMD_F3);
emit_byte(0x59);
emit_operand(dst, src);
}
void Assembler::mulss(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
- emit_byte(0xF3);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_F3);
emit_byte(0x59);
emit_byte(0xC0 | encode);
}
@@ -2237,14 +2243,26 @@ void Assembler::orl(Register dst, Register src) {
emit_arith(0x0B, 0xC0, dst, src);
}
-void Assembler::pcmpestri(XMMRegister dst, Address src, int imm8) {
- assert(VM_Version::supports_sse4_2(), "");
+void Assembler::packuswb(XMMRegister dst, Address src) {
+ NOT_LP64(assert(VM_Version::supports_sse2(), ""));
+ assert((UseAVX > 0), "SSE mode requires address alignment 16 bytes");
+ InstructionMark im(this);
+ simd_prefix(dst, dst, src, VEX_SIMD_66);
+ emit_byte(0x67);
+ emit_operand(dst, src);
+}
+
+void Assembler::packuswb(XMMRegister dst, XMMRegister src) {
+ NOT_LP64(assert(VM_Version::supports_sse2(), ""));
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_66);
+ emit_byte(0x67);
+ emit_byte(0xC0 | encode);
+}
+void Assembler::pcmpestri(XMMRegister dst, Address src, int imm8) {
+ assert(VM_Version::supports_sse4_2(), "");
InstructionMark im(this);
- emit_byte(0x66);
- prefix(src, dst);
- emit_byte(0x0F);
- emit_byte(0x3A);
+ simd_prefix(dst, src, VEX_SIMD_66, VEX_OPCODE_0F_3A);
emit_byte(0x61);
emit_operand(dst, src);
emit_byte(imm8);
@@ -2252,16 +2270,27 @@ void Assembler::pcmpestri(XMMRegister dst, Address src, int imm8) {
void Assembler::pcmpestri(XMMRegister dst, XMMRegister src, int imm8) {
assert(VM_Version::supports_sse4_2(), "");
-
- emit_byte(0x66);
- int encode = prefixq_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
- emit_byte(0x3A);
+ int encode = simd_prefix_and_encode(dst, src, VEX_SIMD_66, VEX_OPCODE_0F_3A);
emit_byte(0x61);
emit_byte(0xC0 | encode);
emit_byte(imm8);
}
+void Assembler::pmovzxbw(XMMRegister dst, Address src) {
+ assert(VM_Version::supports_sse4_1(), "");
+ InstructionMark im(this);
+ simd_prefix(dst, src, VEX_SIMD_66, VEX_OPCODE_0F_38);
+ emit_byte(0x30);
+ emit_operand(dst, src);
+}
+
+void Assembler::pmovzxbw(XMMRegister dst, XMMRegister src) {
+ assert(VM_Version::supports_sse4_1(), "");
+ int encode = simd_prefix_and_encode(dst, src, VEX_SIMD_66, VEX_OPCODE_0F_38);
+ emit_byte(0x30);
+ emit_byte(0xC0 | encode);
+}
+
// generic
void Assembler::pop(Register dst) {
int encode = prefix_and_encode(dst->encoding());
@@ -2360,22 +2389,24 @@ void Assembler::prefix(Prefix p) {
void Assembler::por(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
-
- emit_byte(0x66);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
-
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_66);
emit_byte(0xEB);
emit_byte(0xC0 | encode);
}
+void Assembler::por(XMMRegister dst, Address src) {
+ NOT_LP64(assert(VM_Version::supports_sse2(), ""));
+ assert((UseAVX > 0), "SSE mode requires address alignment 16 bytes");
+ InstructionMark im(this);
+ simd_prefix(dst, dst, src, VEX_SIMD_66);
+ emit_byte(0xEB);
+ emit_operand(dst, src);
+}
+
void Assembler::pshufd(XMMRegister dst, XMMRegister src, int mode) {
assert(isByte(mode), "invalid value");
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
-
- emit_byte(0x66);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, src, VEX_SIMD_66);
emit_byte(0x70);
emit_byte(0xC0 | encode);
emit_byte(mode & 0xFF);
@@ -2385,11 +2416,9 @@ void Assembler::pshufd(XMMRegister dst, XMMRegister src, int mode) {
void Assembler::pshufd(XMMRegister dst, Address src, int mode) {
assert(isByte(mode), "invalid value");
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
-
+ assert((UseAVX > 0), "SSE mode requires address alignment 16 bytes");
InstructionMark im(this);
- emit_byte(0x66);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, src, VEX_SIMD_66);
emit_byte(0x70);
emit_operand(dst, src);
emit_byte(mode & 0xFF);
@@ -2398,10 +2427,7 @@ void Assembler::pshufd(XMMRegister dst, Address src, int mode) {
void Assembler::pshuflw(XMMRegister dst, XMMRegister src, int mode) {
assert(isByte(mode), "invalid value");
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
-
- emit_byte(0xF2);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, src, VEX_SIMD_F2);
emit_byte(0x70);
emit_byte(0xC0 | encode);
emit_byte(mode & 0xFF);
@@ -2410,11 +2436,9 @@ void Assembler::pshuflw(XMMRegister dst, XMMRegister src, int mode) {
void Assembler::pshuflw(XMMRegister dst, Address src, int mode) {
assert(isByte(mode), "invalid value");
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
-
+ assert((UseAVX > 0), "SSE mode requires address alignment 16 bytes");
InstructionMark im(this);
- emit_byte(0xF2);
- prefix(src, dst); // QQ new
- emit_byte(0x0F);
+ simd_prefix(dst, src, VEX_SIMD_F2);
emit_byte(0x70);
emit_operand(dst, src);
emit_byte(mode & 0xFF);
@@ -2425,11 +2449,8 @@ void Assembler::psrlq(XMMRegister dst, int shift) {
// HMM Table D-1 says sse2 or mmx.
// Do not confuse it with psrldq SSE2 instruction which
// shifts 128 bit value in xmm register by number of bytes.
- NOT_LP64(assert(VM_Version::supports_sse(), ""));
-
- int encode = prefixq_and_encode(xmm2->encoding(), dst->encoding());
- emit_byte(0x66);
- emit_byte(0x0F);
+ NOT_LP64(assert(VM_Version::supports_sse2(), ""));
+ int encode = simd_prefix_and_encode(xmm2, dst, dst, VEX_SIMD_66);
emit_byte(0x73);
emit_byte(0xC0 | encode);
emit_byte(shift);
@@ -2438,10 +2459,7 @@ void Assembler::psrlq(XMMRegister dst, int shift) {
void Assembler::psrldq(XMMRegister dst, int shift) {
// Shift 128 bit value in xmm register by number of bytes.
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
-
- int encode = prefixq_and_encode(xmm3->encoding(), dst->encoding());
- emit_byte(0x66);
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(xmm3, dst, dst, VEX_SIMD_66);
emit_byte(0x73);
emit_byte(0xC0 | encode);
emit_byte(shift);
@@ -2449,36 +2467,52 @@ void Assembler::psrldq(XMMRegister dst, int shift) {
void Assembler::ptest(XMMRegister dst, Address src) {
assert(VM_Version::supports_sse4_1(), "");
-
+ assert((UseAVX > 0), "SSE mode requires address alignment 16 bytes");
InstructionMark im(this);
- emit_byte(0x66);
- prefix(src, dst);
- emit_byte(0x0F);
- emit_byte(0x38);
+ simd_prefix(dst, src, VEX_SIMD_66, VEX_OPCODE_0F_38);
emit_byte(0x17);
emit_operand(dst, src);
}
void Assembler::ptest(XMMRegister dst, XMMRegister src) {
assert(VM_Version::supports_sse4_1(), "");
-
- emit_byte(0x66);
- int encode = prefixq_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
- emit_byte(0x38);
+ int encode = simd_prefix_and_encode(dst, src, VEX_SIMD_66, VEX_OPCODE_0F_38);
emit_byte(0x17);
emit_byte(0xC0 | encode);
}
+void Assembler::punpcklbw(XMMRegister dst, Address src) {
+ NOT_LP64(assert(VM_Version::supports_sse2(), ""));
+ assert((UseAVX > 0), "SSE mode requires address alignment 16 bytes");
+ InstructionMark im(this);
+ simd_prefix(dst, dst, src, VEX_SIMD_66);
+ emit_byte(0x60);
+ emit_operand(dst, src);
+}
+
void Assembler::punpcklbw(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0x66);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_66);
emit_byte(0x60);
emit_byte(0xC0 | encode);
}
+void Assembler::punpckldq(XMMRegister dst, Address src) {
+ NOT_LP64(assert(VM_Version::supports_sse2(), ""));
+ assert((UseAVX > 0), "SSE mode requires address alignment 16 bytes");
+ InstructionMark im(this);
+ simd_prefix(dst, dst, src, VEX_SIMD_66);
+ emit_byte(0x62);
+ emit_operand(dst, src);
+}
+
+void Assembler::punpckldq(XMMRegister dst, XMMRegister src) {
+ NOT_LP64(assert(VM_Version::supports_sse2(), ""));
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_66);
+ emit_byte(0x62);
+ emit_byte(0xC0 | encode);
+}
+
void Assembler::push(int32_t imm32) {
// in 64bits we push 64bits onto the stack but only
// take a 32bit immediate
@@ -2508,20 +2542,16 @@ void Assembler::pushl(Address src) {
void Assembler::pxor(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
+ assert((UseAVX > 0), "SSE mode requires address alignment 16 bytes");
InstructionMark im(this);
- emit_byte(0x66);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, dst, src, VEX_SIMD_66);
emit_byte(0xEF);
emit_operand(dst, src);
}
void Assembler::pxor(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- InstructionMark im(this);
- emit_byte(0x66);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_66);
emit_byte(0xEF);
emit_byte(0xC0 | encode);
}
@@ -2683,12 +2713,8 @@ void Assembler::smovl() {
}
void Assembler::sqrtsd(XMMRegister dst, XMMRegister src) {
- // HMM Table D-1 says sse2
- // NOT_LP64(assert(VM_Version::supports_sse(), ""));
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0xF2);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_F2);
emit_byte(0x51);
emit_byte(0xC0 | encode);
}
@@ -2696,30 +2722,22 @@ void Assembler::sqrtsd(XMMRegister dst, XMMRegister src) {
void Assembler::sqrtsd(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
InstructionMark im(this);
- emit_byte(0xF2);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, dst, src, VEX_SIMD_F2);
emit_byte(0x51);
emit_operand(dst, src);
}
void Assembler::sqrtss(XMMRegister dst, XMMRegister src) {
- // HMM Table D-1 says sse2
- // NOT_LP64(assert(VM_Version::supports_sse(), ""));
- NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0xF3);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ NOT_LP64(assert(VM_Version::supports_sse(), ""));
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_F3);
emit_byte(0x51);
emit_byte(0xC0 | encode);
}
void Assembler::sqrtss(XMMRegister dst, Address src) {
- NOT_LP64(assert(VM_Version::supports_sse2(), ""));
+ NOT_LP64(assert(VM_Version::supports_sse(), ""));
InstructionMark im(this);
- emit_byte(0xF3);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, dst, src, VEX_SIMD_F3);
emit_byte(0x51);
emit_operand(dst, src);
}
@@ -2765,9 +2783,7 @@ void Assembler::subl(Register dst, Register src) {
void Assembler::subsd(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0xF2);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_F2);
emit_byte(0x5C);
emit_byte(0xC0 | encode);
}
@@ -2775,18 +2791,14 @@ void Assembler::subsd(XMMRegister dst, XMMRegister src) {
void Assembler::subsd(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
InstructionMark im(this);
- emit_byte(0xF2);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, dst, src, VEX_SIMD_F2);
emit_byte(0x5C);
emit_operand(dst, src);
}
void Assembler::subss(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
- emit_byte(0xF3);
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_F3);
emit_byte(0x5C);
emit_byte(0xC0 | encode);
}
@@ -2794,9 +2806,7 @@ void Assembler::subss(XMMRegister dst, XMMRegister src) {
void Assembler::subss(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
InstructionMark im(this);
- emit_byte(0xF3);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, dst, src, VEX_SIMD_F3);
emit_byte(0x5C);
emit_operand(dst, src);
}
@@ -2836,30 +2846,30 @@ void Assembler::testl(Register dst, Address src) {
void Assembler::ucomisd(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0x66);
- ucomiss(dst, src);
+ InstructionMark im(this);
+ simd_prefix(dst, src, VEX_SIMD_66);
+ emit_byte(0x2E);
+ emit_operand(dst, src);
}
void Assembler::ucomisd(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0x66);
- ucomiss(dst, src);
+ int encode = simd_prefix_and_encode(dst, src, VEX_SIMD_66);
+ emit_byte(0x2E);
+ emit_byte(0xC0 | encode);
}
void Assembler::ucomiss(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
-
InstructionMark im(this);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, src, VEX_SIMD_NONE);
emit_byte(0x2E);
emit_operand(dst, src);
}
void Assembler::ucomiss(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, src, VEX_SIMD_NONE);
emit_byte(0x2E);
emit_byte(0xC0 | encode);
}
@@ -2905,16 +2915,15 @@ void Assembler::xorl(Register dst, Register src) {
void Assembler::xorpd(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0x66);
- xorps(dst, src);
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_66);
+ emit_byte(0x57);
+ emit_byte(0xC0 | encode);
}
void Assembler::xorpd(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
InstructionMark im(this);
- emit_byte(0x66);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, dst, src, VEX_SIMD_66);
emit_byte(0x57);
emit_operand(dst, src);
}
@@ -2922,8 +2931,7 @@ void Assembler::xorpd(XMMRegister dst, Address src) {
void Assembler::xorps(XMMRegister dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
- int encode = prefix_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_NONE);
emit_byte(0x57);
emit_byte(0xC0 | encode);
}
@@ -2931,12 +2939,166 @@ void Assembler::xorps(XMMRegister dst, XMMRegister src) {
void Assembler::xorps(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
InstructionMark im(this);
- prefix(src, dst);
- emit_byte(0x0F);
+ simd_prefix(dst, dst, src, VEX_SIMD_NONE);
+ emit_byte(0x57);
+ emit_operand(dst, src);
+}
+
+// AVX 3-operands non destructive source instructions (encoded with VEX prefix)
+
+void Assembler::vaddsd(XMMRegister dst, XMMRegister nds, Address src) {
+ assert(VM_Version::supports_avx(), "");
+ InstructionMark im(this);
+ vex_prefix(dst, nds, src, VEX_SIMD_F2);
+ emit_byte(0x58);
+ emit_operand(dst, src);
+}
+
+void Assembler::vaddsd(XMMRegister dst, XMMRegister nds, XMMRegister src) {
+ assert(VM_Version::supports_avx(), "");
+ int encode = vex_prefix_and_encode(dst, nds, src, VEX_SIMD_F2);
+ emit_byte(0x58);
+ emit_byte(0xC0 | encode);
+}
+
+void Assembler::vaddss(XMMRegister dst, XMMRegister nds, Address src) {
+ assert(VM_Version::supports_avx(), "");
+ InstructionMark im(this);
+ vex_prefix(dst, nds, src, VEX_SIMD_F3);
+ emit_byte(0x58);
+ emit_operand(dst, src);
+}
+
+void Assembler::vaddss(XMMRegister dst, XMMRegister nds, XMMRegister src) {
+ assert(VM_Version::supports_avx(), "");
+ int encode = vex_prefix_and_encode(dst, nds, src, VEX_SIMD_F3);
+ emit_byte(0x58);
+ emit_byte(0xC0 | encode);
+}
+
+void Assembler::vandpd(XMMRegister dst, XMMRegister nds, Address src) {
+ assert(VM_Version::supports_avx(), "");
+ InstructionMark im(this);
+ vex_prefix(dst, nds, src, VEX_SIMD_66); // 128-bit vector
+ emit_byte(0x54);
+ emit_operand(dst, src);
+}
+
+void Assembler::vandps(XMMRegister dst, XMMRegister nds, Address src) {
+ assert(VM_Version::supports_avx(), "");
+ InstructionMark im(this);
+ vex_prefix(dst, nds, src, VEX_SIMD_NONE); // 128-bit vector
+ emit_byte(0x54);
+ emit_operand(dst, src);
+}
+
+void Assembler::vdivsd(XMMRegister dst, XMMRegister nds, Address src) {
+ assert(VM_Version::supports_avx(), "");
+ InstructionMark im(this);
+ vex_prefix(dst, nds, src, VEX_SIMD_F2);
+ emit_byte(0x5E);
+ emit_operand(dst, src);
+}
+
+void Assembler::vdivsd(XMMRegister dst, XMMRegister nds, XMMRegister src) {
+ assert(VM_Version::supports_avx(), "");
+ int encode = vex_prefix_and_encode(dst, nds, src, VEX_SIMD_F2);
+ emit_byte(0x5E);
+ emit_byte(0xC0 | encode);
+}
+
+void Assembler::vdivss(XMMRegister dst, XMMRegister nds, Address src) {
+ assert(VM_Version::supports_avx(), "");
+ InstructionMark im(this);
+ vex_prefix(dst, nds, src, VEX_SIMD_F3);
+ emit_byte(0x5E);
+ emit_operand(dst, src);
+}
+
+void Assembler::vdivss(XMMRegister dst, XMMRegister nds, XMMRegister src) {
+ assert(VM_Version::supports_avx(), "");
+ int encode = vex_prefix_and_encode(dst, nds, src, VEX_SIMD_F3);
+ emit_byte(0x5E);
+ emit_byte(0xC0 | encode);
+}
+
+void Assembler::vmulsd(XMMRegister dst, XMMRegister nds, Address src) {
+ assert(VM_Version::supports_avx(), "");
+ InstructionMark im(this);
+ vex_prefix(dst, nds, src, VEX_SIMD_F2);
+ emit_byte(0x59);
+ emit_operand(dst, src);
+}
+
+void Assembler::vmulsd(XMMRegister dst, XMMRegister nds, XMMRegister src) {
+ assert(VM_Version::supports_avx(), "");
+ int encode = vex_prefix_and_encode(dst, nds, src, VEX_SIMD_F2);
+ emit_byte(0x59);
+ emit_byte(0xC0 | encode);
+}
+
+void Assembler::vmulss(XMMRegister dst, XMMRegister nds, Address src) {
+ InstructionMark im(this);
+ vex_prefix(dst, nds, src, VEX_SIMD_F3);
+ emit_byte(0x59);
+ emit_operand(dst, src);
+}
+
+void Assembler::vmulss(XMMRegister dst, XMMRegister nds, XMMRegister src) {
+ assert(VM_Version::supports_avx(), "");
+ int encode = vex_prefix_and_encode(dst, nds, src, VEX_SIMD_F3);
+ emit_byte(0x59);
+ emit_byte(0xC0 | encode);
+}
+
+
+void Assembler::vsubsd(XMMRegister dst, XMMRegister nds, Address src) {
+ assert(VM_Version::supports_avx(), "");
+ InstructionMark im(this);
+ vex_prefix(dst, nds, src, VEX_SIMD_F2);
+ emit_byte(0x5C);
+ emit_operand(dst, src);
+}
+
+void Assembler::vsubsd(XMMRegister dst, XMMRegister nds, XMMRegister src) {
+ assert(VM_Version::supports_avx(), "");
+ int encode = vex_prefix_and_encode(dst, nds, src, VEX_SIMD_F2);
+ emit_byte(0x5C);
+ emit_byte(0xC0 | encode);
+}
+
+void Assembler::vsubss(XMMRegister dst, XMMRegister nds, Address src) {
+ assert(VM_Version::supports_avx(), "");
+ InstructionMark im(this);
+ vex_prefix(dst, nds, src, VEX_SIMD_F3);
+ emit_byte(0x5C);
+ emit_operand(dst, src);
+}
+
+void Assembler::vsubss(XMMRegister dst, XMMRegister nds, XMMRegister src) {
+ assert(VM_Version::supports_avx(), "");
+ int encode = vex_prefix_and_encode(dst, nds, src, VEX_SIMD_F3);
+ emit_byte(0x5C);
+ emit_byte(0xC0 | encode);
+}
+
+void Assembler::vxorpd(XMMRegister dst, XMMRegister nds, Address src) {
+ assert(VM_Version::supports_avx(), "");
+ InstructionMark im(this);
+ vex_prefix(dst, nds, src, VEX_SIMD_66); // 128-bit vector
emit_byte(0x57);
emit_operand(dst, src);
}
+void Assembler::vxorps(XMMRegister dst, XMMRegister nds, Address src) {
+ assert(VM_Version::supports_avx(), "");
+ InstructionMark im(this);
+ vex_prefix(dst, nds, src, VEX_SIMD_NONE); // 128-bit vector
+ emit_byte(0x57);
+ emit_operand(dst, src);
+}
+
+
#ifndef _LP64
// 32bit only pieces of the assembler
@@ -3394,12 +3556,114 @@ void Assembler::fyl2x() {
emit_byte(0xF1);
}
+// SSE SIMD prefix byte values corresponding to VexSimdPrefix encoding.
+static int simd_pre[4] = { 0, 0x66, 0xF3, 0xF2 };
+// SSE opcode second byte values (first is 0x0F) corresponding to VexOpcode encoding.
+static int simd_opc[4] = { 0, 0, 0x38, 0x3A };
+
+// Generate SSE legacy REX prefix and SIMD opcode based on VEX encoding.
+void Assembler::rex_prefix(Address adr, XMMRegister xreg, VexSimdPrefix pre, VexOpcode opc, bool rex_w) {
+ if (pre > 0) {
+ emit_byte(simd_pre[pre]);
+ }
+ if (rex_w) {
+ prefixq(adr, xreg);
+ } else {
+ prefix(adr, xreg);
+ }
+ if (opc > 0) {
+ emit_byte(0x0F);
+ int opc2 = simd_opc[opc];
+ if (opc2 > 0) {
+ emit_byte(opc2);
+ }
+ }
+}
+
+int Assembler::rex_prefix_and_encode(int dst_enc, int src_enc, VexSimdPrefix pre, VexOpcode opc, bool rex_w) {
+ if (pre > 0) {
+ emit_byte(simd_pre[pre]);
+ }
+ int encode = (rex_w) ? prefixq_and_encode(dst_enc, src_enc) :
+ prefix_and_encode(dst_enc, src_enc);
+ if (opc > 0) {
+ emit_byte(0x0F);
+ int opc2 = simd_opc[opc];
+ if (opc2 > 0) {
+ emit_byte(opc2);
+ }
+ }
+ return encode;
+}
+
+
+void Assembler::vex_prefix(bool vex_r, bool vex_b, bool vex_x, bool vex_w, int nds_enc, VexSimdPrefix pre, VexOpcode opc, bool vector256) {
+ if (vex_b || vex_x || vex_w || (opc == VEX_OPCODE_0F_38) || (opc == VEX_OPCODE_0F_3A)) {
+ prefix(VEX_3bytes);
+
+ int byte1 = (vex_r ? VEX_R : 0) | (vex_x ? VEX_X : 0) | (vex_b ? VEX_B : 0);
+ byte1 = (~byte1) & 0xE0;
+ byte1 |= opc;
+ a_byte(byte1);
+
+ int byte2 = ((~nds_enc) & 0xf) << 3;
+ byte2 |= (vex_w ? VEX_W : 0) | (vector256 ? 4 : 0) | pre;
+ emit_byte(byte2);
+ } else {
+ prefix(VEX_2bytes);
+
+ int byte1 = vex_r ? VEX_R : 0;
+ byte1 = (~byte1) & 0x80;
+ byte1 |= ((~nds_enc) & 0xf) << 3;
+ byte1 |= (vector256 ? 4 : 0) | pre;
+ emit_byte(byte1);
+ }
+}
+
+void Assembler::vex_prefix(Address adr, int nds_enc, int xreg_enc, VexSimdPrefix pre, VexOpcode opc, bool vex_w, bool vector256){
+ bool vex_r = (xreg_enc >= 8);
+ bool vex_b = adr.base_needs_rex();
+ bool vex_x = adr.index_needs_rex();
+ vex_prefix(vex_r, vex_b, vex_x, vex_w, nds_enc, pre, opc, vector256);
+}
+
+int Assembler::vex_prefix_and_encode(int dst_enc, int nds_enc, int src_enc, VexSimdPrefix pre, VexOpcode opc, bool vex_w, bool vector256) {
+ bool vex_r = (dst_enc >= 8);
+ bool vex_b = (src_enc >= 8);
+ bool vex_x = false;
+ vex_prefix(vex_r, vex_b, vex_x, vex_w, nds_enc, pre, opc, vector256);
+ return (((dst_enc & 7) << 3) | (src_enc & 7));
+}
+
+
+void Assembler::simd_prefix(XMMRegister xreg, XMMRegister nds, Address adr, VexSimdPrefix pre, VexOpcode opc, bool rex_w, bool vector256) {
+ if (UseAVX > 0) {
+ int xreg_enc = xreg->encoding();
+ int nds_enc = nds->is_valid() ? nds->encoding() : 0;
+ vex_prefix(adr, nds_enc, xreg_enc, pre, opc, rex_w, vector256);
+ } else {
+ assert((nds == xreg) || (nds == xnoreg), "wrong sse encoding");
+ rex_prefix(adr, xreg, pre, opc, rex_w);
+ }
+}
+
+int Assembler::simd_prefix_and_encode(XMMRegister dst, XMMRegister nds, XMMRegister src, VexSimdPrefix pre, VexOpcode opc, bool rex_w, bool vector256) {
+ int dst_enc = dst->encoding();
+ int src_enc = src->encoding();
+ if (UseAVX > 0) {
+ int nds_enc = nds->is_valid() ? nds->encoding() : 0;
+ return vex_prefix_and_encode(dst_enc, nds_enc, src_enc, pre, opc, rex_w, vector256);
+ } else {
+ assert((nds == dst) || (nds == src) || (nds == xnoreg), "wrong sse encoding");
+ return rex_prefix_and_encode(dst_enc, src_enc, pre, opc, rex_w);
+ }
+}
#ifndef _LP64
void Assembler::incl(Register dst) {
// Don't use it directly. Use MacroAssembler::incrementl() instead.
- emit_byte(0x40 | dst->encoding());
+ emit_byte(0x40 | dst->encoding());
}
void Assembler::lea(Register dst, Address src) {
@@ -3535,7 +3799,8 @@ bool Assembler::reachable(AddressLiteral adr) {
// addressing.
bool Assembler::is_polling_page_far() {
intptr_t addr = (intptr_t)os::get_polling_page();
- return !is_simm32(addr - (intptr_t)CodeCache::low_bound()) ||
+ return ForceUnreachable ||
+ !is_simm32(addr - (intptr_t)CodeCache::low_bound()) ||
!is_simm32(addr - (intptr_t)CodeCache::high_bound());
}
@@ -3735,21 +4000,53 @@ void Assembler::prefix(Address adr, XMMRegister reg) {
}
} else {
if (adr.index_needs_rex()) {
- prefix(REX_X);
+ prefix(REX_X);
+ }
+ }
+ } else {
+ if (adr.base_needs_rex()) {
+ if (adr.index_needs_rex()) {
+ prefix(REX_RXB);
+ } else {
+ prefix(REX_RB);
+ }
+ } else {
+ if (adr.index_needs_rex()) {
+ prefix(REX_RX);
+ } else {
+ prefix(REX_R);
+ }
+ }
+ }
+}
+
+void Assembler::prefixq(Address adr, XMMRegister src) {
+ if (src->encoding() < 8) {
+ if (adr.base_needs_rex()) {
+ if (adr.index_needs_rex()) {
+ prefix(REX_WXB);
+ } else {
+ prefix(REX_WB);
+ }
+ } else {
+ if (adr.index_needs_rex()) {
+ prefix(REX_WX);
+ } else {
+ prefix(REX_W);
}
}
} else {
if (adr.base_needs_rex()) {
if (adr.index_needs_rex()) {
- prefix(REX_RXB);
+ prefix(REX_WRXB);
} else {
- prefix(REX_RB);
+ prefix(REX_WRB);
}
} else {
if (adr.index_needs_rex()) {
- prefix(REX_RX);
+ prefix(REX_WRX);
} else {
- prefix(REX_R);
+ prefix(REX_WR);
}
}
}
@@ -3917,36 +4214,44 @@ void Assembler::cmpxchgq(Register reg, Address adr) {
void Assembler::cvtsi2sdq(XMMRegister dst, Register src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0xF2);
- int encode = prefixq_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode_q(dst, dst, src, VEX_SIMD_F2);
emit_byte(0x2A);
emit_byte(0xC0 | encode);
}
+void Assembler::cvtsi2sdq(XMMRegister dst, Address src) {
+ NOT_LP64(assert(VM_Version::supports_sse2(), ""));
+ InstructionMark im(this);
+ simd_prefix_q(dst, dst, src, VEX_SIMD_F2);
+ emit_byte(0x2A);
+ emit_operand(dst, src);
+}
+
void Assembler::cvtsi2ssq(XMMRegister dst, Register src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
- emit_byte(0xF3);
- int encode = prefixq_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode_q(dst, dst, src, VEX_SIMD_F3);
emit_byte(0x2A);
emit_byte(0xC0 | encode);
}
+void Assembler::cvtsi2ssq(XMMRegister dst, Address src) {
+ NOT_LP64(assert(VM_Version::supports_sse(), ""));
+ InstructionMark im(this);
+ simd_prefix_q(dst, dst, src, VEX_SIMD_F3);
+ emit_byte(0x2A);
+ emit_operand(dst, src);
+}
+
void Assembler::cvttsd2siq(Register dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
- emit_byte(0xF2);
- int encode = prefixq_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode_q(dst, src, VEX_SIMD_F2);
emit_byte(0x2C);
emit_byte(0xC0 | encode);
}
void Assembler::cvttss2siq(Register dst, XMMRegister src) {
NOT_LP64(assert(VM_Version::supports_sse(), ""));
- emit_byte(0xF3);
- int encode = prefixq_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode_q(dst, src, VEX_SIMD_F3);
emit_byte(0x2C);
emit_byte(0xC0 | encode);
}
@@ -4106,21 +4411,17 @@ void Assembler::lzcntq(Register dst, Register src) {
void Assembler::movdq(XMMRegister dst, Register src) {
// table D-1 says MMX/SSE2
- NOT_LP64(assert(VM_Version::supports_sse2() || VM_Version::supports_mmx(), ""));
- emit_byte(0x66);
- int encode = prefixq_and_encode(dst->encoding(), src->encoding());
- emit_byte(0x0F);
+ NOT_LP64(assert(VM_Version::supports_sse2(), ""));
+ int encode = simd_prefix_and_encode_q(dst, src, VEX_SIMD_66);
emit_byte(0x6E);
emit_byte(0xC0 | encode);
}
void Assembler::movdq(Register dst, XMMRegister src) {
// table D-1 says MMX/SSE2
- NOT_LP64(assert(VM_Version::supports_sse2() || VM_Version::supports_mmx(), ""));
- emit_byte(0x66);
+ NOT_LP64(assert(VM_Version::supports_sse2(), ""));
// swap src/dst to get correct prefix
- int encode = prefixq_and_encode(src->encoding(), dst->encoding());
- emit_byte(0x0F);
+ int encode = simd_prefix_and_encode_q(src, dst, VEX_SIMD_66);
emit_byte(0x7E);
emit_byte(0xC0 | encode);
}
@@ -4631,7 +4932,7 @@ int MacroAssembler::biased_locking_enter(Register lock_reg,
null_check_offset = offset();
}
movl(tmp_reg, klass_addr);
- xorl(swap_reg, Address(tmp_reg, Klass::prototype_header_offset_in_bytes() + klassOopDesc::klass_part_offset_in_bytes()));
+ xorl(swap_reg, Address(tmp_reg, Klass::prototype_header_offset()));
andl(swap_reg, ~((int) markOopDesc::age_mask_in_place));
if (need_tmp_reg) {
pop(tmp_reg);
@@ -4718,7 +5019,7 @@ int MacroAssembler::biased_locking_enter(Register lock_reg,
}
get_thread(tmp_reg);
movl(swap_reg, klass_addr);
- orl(tmp_reg, Address(swap_reg, Klass::prototype_header_offset_in_bytes() + klassOopDesc::klass_part_offset_in_bytes()));
+ orl(tmp_reg, Address(swap_reg, Klass::prototype_header_offset()));
movl(swap_reg, saved_mark_addr);
if (os::is_MP()) {
lock();
@@ -4756,7 +5057,7 @@ int MacroAssembler::biased_locking_enter(Register lock_reg,
push(tmp_reg);
}
movl(tmp_reg, klass_addr);
- movl(tmp_reg, Address(tmp_reg, Klass::prototype_header_offset_in_bytes() + klassOopDesc::klass_part_offset_in_bytes()));
+ movl(tmp_reg, Address(tmp_reg, Klass::prototype_header_offset()));
if (os::is_MP()) {
lock();
}
@@ -5679,6 +5980,24 @@ void MacroAssembler::addptr(Address dst, Register src) {
LP64_ONLY(addq(dst, src)) NOT_LP64(addl(dst, src));
}
+void MacroAssembler::addsd(XMMRegister dst, AddressLiteral src) {
+ if (reachable(src)) {
+ Assembler::addsd(dst, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ Assembler::addsd(dst, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::addss(XMMRegister dst, AddressLiteral src) {
+ if (reachable(src)) {
+ addss(dst, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ addss(dst, Address(rscratch1, 0));
+ }
+}
+
void MacroAssembler::align(int modulus) {
if (offset() % modulus != 0) {
nop(modulus - (offset() % modulus));
@@ -5686,11 +6005,24 @@ void MacroAssembler::align(int modulus) {
}
void MacroAssembler::andpd(XMMRegister dst, AddressLiteral src) {
+ // Used in sign-masking with aligned address.
+ assert((UseAVX > 0) || (((intptr_t)src.target() & 15) == 0), "SSE mode requires address alignment 16 bytes");
if (reachable(src)) {
- andpd(dst, as_Address(src));
+ Assembler::andpd(dst, as_Address(src));
} else {
lea(rscratch1, src);
- andpd(dst, Address(rscratch1, 0));
+ Assembler::andpd(dst, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::andps(XMMRegister dst, AddressLiteral src) {
+ // Used in sign-masking with aligned address.
+ assert((UseAVX > 0) || (((intptr_t)src.target() & 15) == 0), "SSE mode requires address alignment 16 bytes");
+ if (reachable(src)) {
+ Assembler::andps(dst, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ Assembler::andps(dst, Address(rscratch1, 0));
}
}
@@ -5967,7 +6299,9 @@ void MacroAssembler::call_VM_base(Register oop_result,
assert(number_of_arguments >= 0 , "cannot have negative number of arguments");
LP64_ONLY(assert(java_thread == r15_thread, "unexpected register"));
#ifdef ASSERT
- LP64_ONLY(if (UseCompressedOops) verify_heapbase("call_VM_base");)
+ // TraceBytecodes does not use r12 but saves it over the call, so don't verify
+ // r12 is the heapbase.
+ LP64_ONLY(if (UseCompressedOops && !TraceBytecodes) verify_heapbase("call_VM_base");)
#endif // ASSERT
assert(java_thread != oop_result , "cannot use the same register for java_thread & oop_result");
@@ -6267,19 +6601,19 @@ void MacroAssembler::cmpxchgptr(Register reg, Address adr) {
void MacroAssembler::comisd(XMMRegister dst, AddressLiteral src) {
if (reachable(src)) {
- comisd(dst, as_Address(src));
+ Assembler::comisd(dst, as_Address(src));
} else {
lea(rscratch1, src);
- comisd(dst, Address(rscratch1, 0));
+ Assembler::comisd(dst, Address(rscratch1, 0));
}
}
void MacroAssembler::comiss(XMMRegister dst, AddressLiteral src) {
if (reachable(src)) {
- comiss(dst, as_Address(src));
+ Assembler::comiss(dst, as_Address(src));
} else {
lea(rscratch1, src);
- comiss(dst, Address(rscratch1, 0));
+ Assembler::comiss(dst, Address(rscratch1, 0));
}
}
@@ -6363,6 +6697,24 @@ void MacroAssembler::division_with_shift (Register reg, int shift_value) {
sarl(reg, shift_value);
}
+void MacroAssembler::divsd(XMMRegister dst, AddressLiteral src) {
+ if (reachable(src)) {
+ Assembler::divsd(dst, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ Assembler::divsd(dst, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::divss(XMMRegister dst, AddressLiteral src) {
+ if (reachable(src)) {
+ Assembler::divss(dst, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ Assembler::divss(dst, Address(rscratch1, 0));
+ }
+}
+
// !defined(COMPILER2) is because of stupid core builds
#if !defined(_LP64) || defined(COMPILER1) || !defined(COMPILER2)
void MacroAssembler::empty_FPU_stack() {
@@ -6802,12 +7154,39 @@ void MacroAssembler::movptr(Address dst, Register src) {
LP64_ONLY(movq(dst, src)) NOT_LP64(movl(dst, src));
}
+void MacroAssembler::movsd(XMMRegister dst, AddressLiteral src) {
+ if (reachable(src)) {
+ Assembler::movsd(dst, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ Assembler::movsd(dst, Address(rscratch1, 0));
+ }
+}
+
void MacroAssembler::movss(XMMRegister dst, AddressLiteral src) {
if (reachable(src)) {
- movss(dst, as_Address(src));
+ Assembler::movss(dst, as_Address(src));
} else {
lea(rscratch1, src);
- movss(dst, Address(rscratch1, 0));
+ Assembler::movss(dst, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::mulsd(XMMRegister dst, AddressLiteral src) {
+ if (reachable(src)) {
+ Assembler::mulsd(dst, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ Assembler::mulsd(dst, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::mulss(XMMRegister dst, AddressLiteral src) {
+ if (reachable(src)) {
+ Assembler::mulss(dst, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ Assembler::mulss(dst, Address(rscratch1, 0));
}
}
@@ -6989,6 +7368,193 @@ void MacroAssembler::testl(Register dst, AddressLiteral src) {
testl(dst, as_Address(src));
}
+void MacroAssembler::sqrtsd(XMMRegister dst, AddressLiteral src) {
+ if (reachable(src)) {
+ Assembler::sqrtsd(dst, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ Assembler::sqrtsd(dst, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::sqrtss(XMMRegister dst, AddressLiteral src) {
+ if (reachable(src)) {
+ Assembler::sqrtss(dst, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ Assembler::sqrtss(dst, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::subsd(XMMRegister dst, AddressLiteral src) {
+ if (reachable(src)) {
+ Assembler::subsd(dst, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ Assembler::subsd(dst, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::subss(XMMRegister dst, AddressLiteral src) {
+ if (reachable(src)) {
+ Assembler::subss(dst, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ Assembler::subss(dst, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::ucomisd(XMMRegister dst, AddressLiteral src) {
+ if (reachable(src)) {
+ Assembler::ucomisd(dst, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ Assembler::ucomisd(dst, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::ucomiss(XMMRegister dst, AddressLiteral src) {
+ if (reachable(src)) {
+ Assembler::ucomiss(dst, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ Assembler::ucomiss(dst, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::xorpd(XMMRegister dst, AddressLiteral src) {
+ // Used in sign-bit flipping with aligned address.
+ assert((UseAVX > 0) || (((intptr_t)src.target() & 15) == 0), "SSE mode requires address alignment 16 bytes");
+ if (reachable(src)) {
+ Assembler::xorpd(dst, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ Assembler::xorpd(dst, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::xorps(XMMRegister dst, AddressLiteral src) {
+ // Used in sign-bit flipping with aligned address.
+ assert((UseAVX > 0) || (((intptr_t)src.target() & 15) == 0), "SSE mode requires address alignment 16 bytes");
+ if (reachable(src)) {
+ Assembler::xorps(dst, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ Assembler::xorps(dst, Address(rscratch1, 0));
+ }
+}
+
+// AVX 3-operands instructions
+
+void MacroAssembler::vaddsd(XMMRegister dst, XMMRegister nds, AddressLiteral src) {
+ if (reachable(src)) {
+ vaddsd(dst, nds, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ vaddsd(dst, nds, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::vaddss(XMMRegister dst, XMMRegister nds, AddressLiteral src) {
+ if (reachable(src)) {
+ vaddss(dst, nds, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ vaddss(dst, nds, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::vandpd(XMMRegister dst, XMMRegister nds, AddressLiteral src) {
+ if (reachable(src)) {
+ vandpd(dst, nds, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ vandpd(dst, nds, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::vandps(XMMRegister dst, XMMRegister nds, AddressLiteral src) {
+ if (reachable(src)) {
+ vandps(dst, nds, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ vandps(dst, nds, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::vdivsd(XMMRegister dst, XMMRegister nds, AddressLiteral src) {
+ if (reachable(src)) {
+ vdivsd(dst, nds, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ vdivsd(dst, nds, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::vdivss(XMMRegister dst, XMMRegister nds, AddressLiteral src) {
+ if (reachable(src)) {
+ vdivss(dst, nds, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ vdivss(dst, nds, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::vmulsd(XMMRegister dst, XMMRegister nds, AddressLiteral src) {
+ if (reachable(src)) {
+ vmulsd(dst, nds, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ vmulsd(dst, nds, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::vmulss(XMMRegister dst, XMMRegister nds, AddressLiteral src) {
+ if (reachable(src)) {
+ vmulss(dst, nds, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ vmulss(dst, nds, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::vsubsd(XMMRegister dst, XMMRegister nds, AddressLiteral src) {
+ if (reachable(src)) {
+ vsubsd(dst, nds, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ vsubsd(dst, nds, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::vsubss(XMMRegister dst, XMMRegister nds, AddressLiteral src) {
+ if (reachable(src)) {
+ vsubss(dst, nds, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ vsubss(dst, nds, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::vxorpd(XMMRegister dst, XMMRegister nds, AddressLiteral src) {
+ if (reachable(src)) {
+ vxorpd(dst, nds, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ vxorpd(dst, nds, Address(rscratch1, 0));
+ }
+}
+
+void MacroAssembler::vxorps(XMMRegister dst, XMMRegister nds, AddressLiteral src) {
+ if (reachable(src)) {
+ vxorps(dst, nds, as_Address(src));
+ } else {
+ lea(rscratch1, src);
+ vxorps(dst, nds, Address(rscratch1, 0));
+ }
+}
+
+
//////////////////////////////////////////////////////////////////////////////////
#ifndef SERIALGC
@@ -7427,19 +7993,23 @@ void MacroAssembler::incr_allocated_bytes(Register thread,
Register var_size_in_bytes,
int con_size_in_bytes,
Register t1) {
+ if (!thread->is_valid()) {
#ifdef _LP64
- if (var_size_in_bytes->is_valid()) {
- addq(Address(thread, in_bytes(JavaThread::allocated_bytes_offset())), var_size_in_bytes);
- } else {
- addq(Address(thread, in_bytes(JavaThread::allocated_bytes_offset())), con_size_in_bytes);
- }
+ thread = r15_thread;
#else
- if (!thread->is_valid()) {
assert(t1->is_valid(), "need temp reg");
thread = t1;
get_thread(thread);
+#endif
}
+#ifdef _LP64
+ if (var_size_in_bytes->is_valid()) {
+ addq(Address(thread, in_bytes(JavaThread::allocated_bytes_offset())), var_size_in_bytes);
+ } else {
+ addq(Address(thread, in_bytes(JavaThread::allocated_bytes_offset())), con_size_in_bytes);
+ }
+#else
if (var_size_in_bytes->is_valid()) {
addl(Address(thread, in_bytes(JavaThread::allocated_bytes_offset())), var_size_in_bytes);
} else {
@@ -7682,10 +8252,8 @@ void MacroAssembler::check_klass_subtype_fast_path(Register sub_klass,
if (L_slow_path == NULL) { L_slow_path = &L_fallthrough; label_nulls++; }
assert(label_nulls <= 1, "at most one NULL in the batch");
- int sc_offset = (klassOopDesc::header_size() * HeapWordSize +
- Klass::secondary_super_cache_offset_in_bytes());
- int sco_offset = (klassOopDesc::header_size() * HeapWordSize +
- Klass::super_check_offset_offset_in_bytes());
+ int sc_offset = in_bytes(Klass::secondary_super_cache_offset());
+ int sco_offset = in_bytes(Klass::super_check_offset_offset());
Address super_check_offset_addr(super_klass, sco_offset);
// Hacked jcc, which "knows" that L_fallthrough, at least, is in
@@ -7783,10 +8351,8 @@ void MacroAssembler::check_klass_subtype_slow_path(Register sub_klass,
assert(label_nulls <= 1, "at most one NULL in the batch");
// a couple of useful fields in sub_klass:
- int ss_offset = (klassOopDesc::header_size() * HeapWordSize +
- Klass::secondary_supers_offset_in_bytes());
- int sc_offset = (klassOopDesc::header_size() * HeapWordSize +
- Klass::secondary_super_cache_offset_in_bytes());
+ int ss_offset = in_bytes(Klass::secondary_supers_offset());
+ int sc_offset = in_bytes(Klass::secondary_super_cache_offset());
Address secondary_supers_addr(sub_klass, ss_offset);
Address super_cache_addr( sub_klass, sc_offset);
@@ -7873,32 +8439,6 @@ void MacroAssembler::check_klass_subtype_slow_path(Register sub_klass,
}
-void MacroAssembler::ucomisd(XMMRegister dst, AddressLiteral src) {
- ucomisd(dst, as_Address(src));
-}
-
-void MacroAssembler::ucomiss(XMMRegister dst, AddressLiteral src) {
- ucomiss(dst, as_Address(src));
-}
-
-void MacroAssembler::xorpd(XMMRegister dst, AddressLiteral src) {
- if (reachable(src)) {
- xorpd(dst, as_Address(src));
- } else {
- lea(rscratch1, src);
- xorpd(dst, Address(rscratch1, 0));
- }
-}
-
-void MacroAssembler::xorps(XMMRegister dst, AddressLiteral src) {
- if (reachable(src)) {
- xorps(dst, as_Address(src));
- } else {
- lea(rscratch1, src);
- xorps(dst, Address(rscratch1, 0));
- }
-}
-
void MacroAssembler::cmov32(Condition cc, Register dst, Address src) {
if (VM_Version::supports_cmov()) {
cmovl(cc, dst, src);
@@ -8484,20 +9024,20 @@ void MacroAssembler::load_prototype_header(Register dst, Register src) {
if (Universe::narrow_oop_shift() != 0) {
assert(LogMinObjAlignmentInBytes == Universe::narrow_oop_shift(), "decode alg wrong");
if (LogMinObjAlignmentInBytes == Address::times_8) {
- movq(dst, Address(r12_heapbase, dst, Address::times_8, Klass::prototype_header_offset_in_bytes() + klassOopDesc::klass_part_offset_in_bytes()));
+ movq(dst, Address(r12_heapbase, dst, Address::times_8, Klass::prototype_header_offset()));
} else {
// OK to use shift since we don't need to preserve flags.
shlq(dst, LogMinObjAlignmentInBytes);
- movq(dst, Address(r12_heapbase, dst, Address::times_1, Klass::prototype_header_offset_in_bytes() + klassOopDesc::klass_part_offset_in_bytes()));
+ movq(dst, Address(r12_heapbase, dst, Address::times_1, Klass::prototype_header_offset()));
}
} else {
- movq(dst, Address(dst, Klass::prototype_header_offset_in_bytes() + klassOopDesc::klass_part_offset_in_bytes()));
+ movq(dst, Address(dst, Klass::prototype_header_offset()));
}
} else
#endif
{
movptr(dst, Address(src, oopDesc::klass_offset_in_bytes()));
- movptr(dst, Address(dst, Klass::prototype_header_offset_in_bytes() + klassOopDesc::klass_part_offset_in_bytes()));
+ movptr(dst, Address(dst, Klass::prototype_header_offset()));
}
}
@@ -8758,6 +9298,7 @@ void MacroAssembler::string_indexofC8(Register str1, Register str2,
Register cnt1, Register cnt2,
int int_cnt2, Register result,
XMMRegister vec, Register tmp) {
+ ShortBranchVerifier sbv(this);
assert(UseSSE42Intrinsics, "SSE4.2 is required");
// This method uses pcmpestri inxtruction with bound registers
@@ -8887,9 +9428,9 @@ void MacroAssembler::string_indexofC8(Register str1, Register str2,
pcmpestri(vec, Address(result, tmp, Address::times_2, 0), 0x0d);
}
// Need to reload strings pointers if not matched whole vector
- jccb(Assembler::noOverflow, RELOAD_SUBSTR); // OF == 0
+ jcc(Assembler::noOverflow, RELOAD_SUBSTR); // OF == 0
addptr(cnt2, 8);
- jccb(Assembler::negative, SCAN_SUBSTR);
+ jcc(Assembler::negative, SCAN_SUBSTR);
// Fall through if found full substring
} // (int_cnt2 > 8)
@@ -8908,6 +9449,7 @@ void MacroAssembler::string_indexof(Register str1, Register str2,
Register cnt1, Register cnt2,
int int_cnt2, Register result,
XMMRegister vec, Register tmp) {
+ ShortBranchVerifier sbv(this);
assert(UseSSE42Intrinsics, "SSE4.2 is required");
//
// int_cnt2 is length of small (< 8 chars) constant substring
@@ -9169,6 +9711,7 @@ void MacroAssembler::string_indexof(Register str1, Register str2,
void MacroAssembler::string_compare(Register str1, Register str2,
Register cnt1, Register cnt2, Register result,
XMMRegister vec1) {
+ ShortBranchVerifier sbv(this);
Label LENGTH_DIFF_LABEL, POP_LABEL, DONE_LABEL, WHILE_HEAD_LABEL;
// Compute the minimum of the string lengths and the
@@ -9305,6 +9848,7 @@ void MacroAssembler::string_compare(Register str1, Register str2,
void MacroAssembler::char_arrays_equals(bool is_array_equ, Register ary1, Register ary2,
Register limit, Register result, Register chr,
XMMRegister vec1, XMMRegister vec2) {
+ ShortBranchVerifier sbv(this);
Label TRUE_LABEL, FALSE_LABEL, DONE, COMPARE_VECTORS, COMPARE_CHAR;
int length_offset = arrayOopDesc::length_offset_in_bytes();
@@ -9424,6 +9968,7 @@ void MacroAssembler::char_arrays_equals(bool is_array_equ, Register ary1, Regist
void MacroAssembler::generate_fill(BasicType t, bool aligned,
Register to, Register value, Register count,
Register rtmp, XMMRegister xtmp) {
+ ShortBranchVerifier sbv(this);
assert_different_registers(to, value, count, rtmp);
Label L_exit, L_skip_align1, L_skip_align2, L_fill_byte;
Label L_fill_2_bytes, L_fill_4_bytes;
diff --git a/hotspot/src/cpu/x86/vm/assembler_x86.hpp b/hotspot/src/cpu/x86/vm/assembler_x86.hpp
index d3553e7..1a2d4af 100644
--- a/hotspot/src/cpu/x86/vm/assembler_x86.hpp
+++ b/hotspot/src/cpu/x86/vm/assembler_x86.hpp
@@ -503,7 +503,31 @@ class Assembler : public AbstractAssembler {
REX_WR = 0x4C,
REX_WRB = 0x4D,
REX_WRX = 0x4E,
- REX_WRXB = 0x4F
+ REX_WRXB = 0x4F,
+
+ VEX_3bytes = 0xC4,
+ VEX_2bytes = 0xC5
+ };
+
+ enum VexPrefix {
+ VEX_B = 0x20,
+ VEX_X = 0x40,
+ VEX_R = 0x80,
+ VEX_W = 0x80
+ };
+
+ enum VexSimdPrefix {
+ VEX_SIMD_NONE = 0x0,
+ VEX_SIMD_66 = 0x1,
+ VEX_SIMD_F3 = 0x2,
+ VEX_SIMD_F2 = 0x3
+ };
+
+ enum VexOpcode {
+ VEX_OPCODE_NONE = 0x0,
+ VEX_OPCODE_0F = 0x1,
+ VEX_OPCODE_0F_38 = 0x2,
+ VEX_OPCODE_0F_3A = 0x3
};
enum WhichOperand {
@@ -546,12 +570,99 @@ private:
void prefixq(Address adr);
void prefix(Address adr, Register reg, bool byteinst = false);
- void prefixq(Address adr, Register reg);
-
void prefix(Address adr, XMMRegister reg);
+ void prefixq(Address adr, Register reg);
+ void prefixq(Address adr, XMMRegister reg);
void prefetch_prefix(Address src);
+ void rex_prefix(Address adr, XMMRegister xreg,
+ VexSimdPrefix pre, VexOpcode opc, bool rex_w);
+ int rex_prefix_and_encode(int dst_enc, int src_enc,
+ VexSimdPrefix pre, VexOpcode opc, bool rex_w);
+
+ void vex_prefix(bool vex_r, bool vex_b, bool vex_x, bool vex_w,
+ int nds_enc, VexSimdPrefix pre, VexOpcode opc,
+ bool vector256);
+
+ void vex_prefix(Address adr, int nds_enc, int xreg_enc,
+ VexSimdPrefix pre, VexOpcode opc,
+ bool vex_w, bool vector256);
+
+ void vex_prefix(XMMRegister dst, XMMRegister nds, Address src,
+ VexSimdPrefix pre, bool vector256 = false) {
+ vex_prefix(src, nds->encoding(), dst->encoding(),
+ pre, VEX_OPCODE_0F, false, vector256);
+ }
+
+ int vex_prefix_and_encode(int dst_enc, int nds_enc, int src_enc,
+ VexSimdPrefix pre, VexOpcode opc,
+ bool vex_w, bool vector256);
+
+ int vex_prefix_and_encode(XMMRegister dst, XMMRegister nds, XMMRegister src,
+ VexSimdPrefix pre, bool vector256 = false) {
+ return vex_prefix_and_encode(dst->encoding(), nds->encoding(), src->encoding(),
+ pre, VEX_OPCODE_0F, false, vector256);
+ }
+
+ void simd_prefix(XMMRegister xreg, XMMRegister nds, Address adr,
+ VexSimdPrefix pre, VexOpcode opc = VEX_OPCODE_0F,
+ bool rex_w = false, bool vector256 = false);
+
+ void simd_prefix(XMMRegister dst, Address src,
+ VexSimdPrefix pre, VexOpcode opc = VEX_OPCODE_0F) {
+ simd_prefix(dst, xnoreg, src, pre, opc);
+ }
+ void simd_prefix(Address dst, XMMRegister src, VexSimdPrefix pre) {
+ simd_prefix(src, dst, pre);
+ }
+ void simd_prefix_q(XMMRegister dst, XMMRegister nds, Address src,
+ VexSimdPrefix pre) {
+ bool rex_w = true;
+ simd_prefix(dst, nds, src, pre, VEX_OPCODE_0F, rex_w);
+ }
+
+
+ int simd_prefix_and_encode(XMMRegister dst, XMMRegister nds, XMMRegister src,
+ VexSimdPrefix pre, VexOpcode opc = VEX_OPCODE_0F,
+ bool rex_w = false, bool vector256 = false);
+
+ int simd_prefix_and_encode(XMMRegister dst, XMMRegister src,
+ VexSimdPrefix pre, VexOpcode opc = VEX_OPCODE_0F) {
+ return simd_prefix_and_encode(dst, xnoreg, src, pre, opc);
+ }
+
+ // Move/convert 32-bit integer value.
+ int simd_prefix_and_encode(XMMRegister dst, XMMRegister nds, Register src,
+ VexSimdPrefix pre) {
+ // It is OK to cast from Register to XMMRegister to pass argument here
+ // since only encoding is used in simd_prefix_and_encode() and number of
+ // Gen and Xmm registers are the same.
+ return simd_prefix_and_encode(dst, nds, as_XMMRegister(src->encoding()), pre);
+ }
+ int simd_prefix_and_encode(XMMRegister dst, Register src, VexSimdPrefix pre) {
+ return simd_prefix_and_encode(dst, xnoreg, src, pre);
+ }
+ int simd_prefix_and_encode(Register dst, XMMRegister src,
+ VexSimdPrefix pre, VexOpcode opc = VEX_OPCODE_0F) {
+ return simd_prefix_and_encode(as_XMMRegister(dst->encoding()), xnoreg, src, pre, opc);
+ }
+
+ // Move/convert 64-bit integer value.
+ int simd_prefix_and_encode_q(XMMRegister dst, XMMRegister nds, Register src,
+ VexSimdPrefix pre) {
+ bool rex_w = true;
+ return simd_prefix_and_encode(dst, nds, as_XMMRegister(src->encoding()), pre, VEX_OPCODE_0F, rex_w);
+ }
+ int simd_prefix_and_encode_q(XMMRegister dst, Register src, VexSimdPrefix pre) {
+ return simd_prefix_and_encode_q(dst, xnoreg, src, pre);
+ }
+ int simd_prefix_and_encode_q(Register dst, XMMRegister src,
+ VexSimdPrefix pre, VexOpcode opc = VEX_OPCODE_0F) {
+ bool rex_w = true;
+ return simd_prefix_and_encode(as_XMMRegister(dst->encoding()), xnoreg, src, pre, opc, rex_w);
+ }
+
// Helper functions for groups of instructions
void emit_arith_b(int op1, int op2, Register dst, int imm8);
@@ -693,17 +804,6 @@ private:
static address locate_next_instruction(address inst);
// Utilities
-
-#ifdef _LP64
- static bool is_simm(int64_t x, int nbits) { return -(CONST64(1) << (nbits-1)) <= x &&
- x < (CONST64(1) << (nbits-1)); }
- static bool is_simm32(int64_t x) { return x == (int64_t)(int32_t)x; }
-#else
- static bool is_simm(int32_t x, int nbits) { return -(1 << (nbits-1)) <= x &&
- x < (1 << (nbits-1)); }
- static bool is_simm32(int32_t x) { return true; }
-#endif // _LP64
-
static bool is_polling_page_far() NOT_LP64({ return false;});
// Generic instructions
@@ -775,6 +875,7 @@ private:
void addss(XMMRegister dst, Address src);
void addss(XMMRegister dst, XMMRegister src);
+ void andl(Address dst, int32_t imm32);
void andl(Register dst, int32_t imm32);
void andl(Register dst, Address src);
void andl(Register dst, Register src);
@@ -785,9 +886,11 @@ private:
void andq(Register dst, Register src);
// Bitwise Logical AND of Packed Double-Precision Floating-Point Values
- void andpd(XMMRegister dst, Address src);
void andpd(XMMRegister dst, XMMRegister src);
+ // Bitwise Logical AND of Packed Single-Precision Floating-Point Values
+ void andps(XMMRegister dst, XMMRegister src);
+
void bsfl(Register dst, Register src);
void bsrl(Register dst, Register src);
@@ -848,9 +951,11 @@ private:
// Ordered Compare Scalar Double-Precision Floating-Point Values and set EFLAGS
void comisd(XMMRegister dst, Address src);
+ void comisd(XMMRegister dst, XMMRegister src);
// Ordered Compare Scalar Single-Precision Floating-Point Values and set EFLAGS
void comiss(XMMRegister dst, Address src);
+ void comiss(XMMRegister dst, XMMRegister src);
// Identify processor type and features
void cpuid() {
@@ -860,14 +965,19 @@ private:
// Convert Scalar Double-Precision Floating-Point Value to Scalar Single-Precision Floating-Point Value
void cvtsd2ss(XMMRegister dst, XMMRegister src);
+ void cvtsd2ss(XMMRegister dst, Address src);
// Convert Doubleword Integer to Scalar Double-Precision Floating-Point Value
void cvtsi2sdl(XMMRegister dst, Register src);
+ void cvtsi2sdl(XMMRegister dst, Address src);
void cvtsi2sdq(XMMRegister dst, Register src);
+ void cvtsi2sdq(XMMRegister dst, Address src);
// Convert Doubleword Integer to Scalar Single-Precision Floating-Point Value
void cvtsi2ssl(XMMRegister dst, Register src);
+ void cvtsi2ssl(XMMRegister dst, Address src);
void cvtsi2ssq(XMMRegister dst, Register src);
+ void cvtsi2ssq(XMMRegister dst, Address src);
// Convert Packed Signed Doubleword Integers to Packed Double-Precision Floating-Point Value
void cvtdq2pd(XMMRegister dst, XMMRegister src);
@@ -877,6 +987,7 @@ private:
// Convert Scalar Single-Precision Floating-Point Value to Scalar Double-Precision Floating-Point Value
void cvtss2sd(XMMRegister dst, XMMRegister src);
+ void cvtss2sd(XMMRegister dst, Address src);
// Convert with Truncation Scalar Double-Precision Floating-Point Value to Doubleword Integer
void cvttsd2sil(Register dst, Address src);
@@ -1151,8 +1262,6 @@ private:
void movdq(Register dst, XMMRegister src);
// Move Aligned Double Quadword
- void movdqa(Address dst, XMMRegister src);
- void movdqa(XMMRegister dst, Address src);
void movdqa(XMMRegister dst, XMMRegister src);
// Move Unaligned Double Quadword
@@ -1272,10 +1381,18 @@ private:
void orq(Register dst, Address src);
void orq(Register dst, Register src);
+ // Pack with unsigned saturation
+ void packuswb(XMMRegister dst, XMMRegister src);
+ void packuswb(XMMRegister dst, Address src);
+
// SSE4.2 string instructions
void pcmpestri(XMMRegister xmm1, XMMRegister xmm2, int imm8);
void pcmpestri(XMMRegister xmm1, Address src, int imm8);
+ // SSE4.1 packed move
+ void pmovzxbw(XMMRegister dst, XMMRegister src);
+ void pmovzxbw(XMMRegister dst, Address src);
+
#ifndef _LP64 // no 32bit push/pop on amd64
void popl(Address dst);
#endif
@@ -1303,6 +1420,7 @@ private:
// POR - Bitwise logical OR
void por(XMMRegister dst, XMMRegister src);
+ void por(XMMRegister dst, Address src);
// Shuffle Packed Doublewords
void pshufd(XMMRegister dst, XMMRegister src, int mode);
@@ -1324,6 +1442,11 @@ private:
// Interleave Low Bytes
void punpcklbw(XMMRegister dst, XMMRegister src);
+ void punpcklbw(XMMRegister dst, Address src);
+
+ // Interleave Low Doublewords
+ void punpckldq(XMMRegister dst, XMMRegister src);
+ void punpckldq(XMMRegister dst, Address src);
#ifndef _LP64 // no 32bit push/pop on amd64
void pushl(Address src);
@@ -1440,6 +1563,13 @@ private:
void xchgq(Register reg, Address adr);
void xchgq(Register dst, Register src);
+ // Get Value of Extended Control Register
+ void xgetbv() {
+ emit_byte(0x0F);
+ emit_byte(0x01);
+ emit_byte(0xD0);
+ }
+
void xorl(Register dst, int32_t imm32);
void xorl(Register dst, Address src);
void xorl(Register dst, Register src);
@@ -1448,14 +1578,44 @@ private:
void xorq(Register dst, Register src);
// Bitwise Logical XOR of Packed Double-Precision Floating-Point Values
- void xorpd(XMMRegister dst, Address src);
void xorpd(XMMRegister dst, XMMRegister src);
// Bitwise Logical XOR of Packed Single-Precision Floating-Point Values
- void xorps(XMMRegister dst, Address src);
void xorps(XMMRegister dst, XMMRegister src);
void set_byte_if_not_zero(Register dst); // sets reg to 1 if not zero, otherwise 0
+
+ // AVX 3-operands instructions (encoded with VEX prefix)
+ void vaddsd(XMMRegister dst, XMMRegister nds, Address src);
+ void vaddsd(XMMRegister dst, XMMRegister nds, XMMRegister src);
+ void vaddss(XMMRegister dst, XMMRegister nds, Address src);
+ void vaddss(XMMRegister dst, XMMRegister nds, XMMRegister src);
+ void vandpd(XMMRegister dst, XMMRegister nds, Address src);
+ void vandps(XMMRegister dst, XMMRegister nds, Address src);
+ void vdivsd(XMMRegister dst, XMMRegister nds, Address src);
+ void vdivsd(XMMRegister dst, XMMRegister nds, XMMRegister src);
+ void vdivss(XMMRegister dst, XMMRegister nds, Address src);
+ void vdivss(XMMRegister dst, XMMRegister nds, XMMRegister src);
+ void vmulsd(XMMRegister dst, XMMRegister nds, Address src);
+ void vmulsd(XMMRegister dst, XMMRegister nds, XMMRegister src);
+ void vmulss(XMMRegister dst, XMMRegister nds, Address src);
+ void vmulss(XMMRegister dst, XMMRegister nds, XMMRegister src);
+ void vsubsd(XMMRegister dst, XMMRegister nds, Address src);
+ void vsubsd(XMMRegister dst, XMMRegister nds, XMMRegister src);
+ void vsubss(XMMRegister dst, XMMRegister nds, Address src);
+ void vsubss(XMMRegister dst, XMMRegister nds, XMMRegister src);
+ void vxorpd(XMMRegister dst, XMMRegister nds, Address src);
+ void vxorps(XMMRegister dst, XMMRegister nds, Address src);
+
+
+ protected:
+ // Next instructions require address alignment 16 bytes SSE mode.
+ // They should be called only from corresponding MacroAssembler instructions.
+ void andpd(XMMRegister dst, Address src);
+ void andps(XMMRegister dst, Address src);
+ void xorpd(XMMRegister dst, Address src);
+ void xorps(XMMRegister dst, Address src);
+
};
@@ -2186,9 +2346,15 @@ class MacroAssembler: public Assembler {
void andpd(XMMRegister dst, Address src) { Assembler::andpd(dst, src); }
void andpd(XMMRegister dst, AddressLiteral src);
+ void andps(XMMRegister dst, XMMRegister src) { Assembler::andps(dst, src); }
+ void andps(XMMRegister dst, Address src) { Assembler::andps(dst, src); }
+ void andps(XMMRegister dst, AddressLiteral src);
+
+ void comiss(XMMRegister dst, XMMRegister src) { Assembler::comiss(dst, src); }
void comiss(XMMRegister dst, Address src) { Assembler::comiss(dst, src); }
void comiss(XMMRegister dst, AddressLiteral src);
+ void comisd(XMMRegister dst, XMMRegister src) { Assembler::comisd(dst, src); }
void comisd(XMMRegister dst, Address src) { Assembler::comisd(dst, src); }
void comisd(XMMRegister dst, AddressLiteral src);
@@ -2222,62 +2388,62 @@ private:
void movss(XMMRegister dst, Address src) { Assembler::movss(dst, src); }
void movss(XMMRegister dst, AddressLiteral src);
- void movlpd(XMMRegister dst, Address src) {Assembler::movlpd(dst, src); }
+ void movlpd(XMMRegister dst, Address src) {Assembler::movlpd(dst, src); }
void movlpd(XMMRegister dst, AddressLiteral src);
public:
void addsd(XMMRegister dst, XMMRegister src) { Assembler::addsd(dst, src); }
void addsd(XMMRegister dst, Address src) { Assembler::addsd(dst, src); }
- void addsd(XMMRegister dst, AddressLiteral src) { Assembler::addsd(dst, as_Address(src)); }
+ void addsd(XMMRegister dst, AddressLiteral src);
void addss(XMMRegister dst, XMMRegister src) { Assembler::addss(dst, src); }
void addss(XMMRegister dst, Address src) { Assembler::addss(dst, src); }
- void addss(XMMRegister dst, AddressLiteral src) { Assembler::addss(dst, as_Address(src)); }
+ void addss(XMMRegister dst, AddressLiteral src);
void divsd(XMMRegister dst, XMMRegister src) { Assembler::divsd(dst, src); }
void divsd(XMMRegister dst, Address src) { Assembler::divsd(dst, src); }
- void divsd(XMMRegister dst, AddressLiteral src) { Assembler::divsd(dst, as_Address(src)); }
+ void divsd(XMMRegister dst, AddressLiteral src);
void divss(XMMRegister dst, XMMRegister src) { Assembler::divss(dst, src); }
void divss(XMMRegister dst, Address src) { Assembler::divss(dst, src); }
- void divss(XMMRegister dst, AddressLiteral src) { Assembler::divss(dst, as_Address(src)); }
+ void divss(XMMRegister dst, AddressLiteral src);
void movsd(XMMRegister dst, XMMRegister src) { Assembler::movsd(dst, src); }
void movsd(Address dst, XMMRegister src) { Assembler::movsd(dst, src); }
void movsd(XMMRegister dst, Address src) { Assembler::movsd(dst, src); }
- void movsd(XMMRegister dst, AddressLiteral src) { Assembler::movsd(dst, as_Address(src)); }
+ void movsd(XMMRegister dst, AddressLiteral src);
void mulsd(XMMRegister dst, XMMRegister src) { Assembler::mulsd(dst, src); }
void mulsd(XMMRegister dst, Address src) { Assembler::mulsd(dst, src); }
- void mulsd(XMMRegister dst, AddressLiteral src) { Assembler::mulsd(dst, as_Address(src)); }
+ void mulsd(XMMRegister dst, AddressLiteral src);
void mulss(XMMRegister dst, XMMRegister src) { Assembler::mulss(dst, src); }
void mulss(XMMRegister dst, Address src) { Assembler::mulss(dst, src); }
- void mulss(XMMRegister dst, AddressLiteral src) { Assembler::mulss(dst, as_Address(src)); }
+ void mulss(XMMRegister dst, AddressLiteral src);
void sqrtsd(XMMRegister dst, XMMRegister src) { Assembler::sqrtsd(dst, src); }
void sqrtsd(XMMRegister dst, Address src) { Assembler::sqrtsd(dst, src); }
- void sqrtsd(XMMRegister dst, AddressLiteral src) { Assembler::sqrtsd(dst, as_Address(src)); }
+ void sqrtsd(XMMRegister dst, AddressLiteral src);
void sqrtss(XMMRegister dst, XMMRegister src) { Assembler::sqrtss(dst, src); }
void sqrtss(XMMRegister dst, Address src) { Assembler::sqrtss(dst, src); }
- void sqrtss(XMMRegister dst, AddressLiteral src) { Assembler::sqrtss(dst, as_Address(src)); }
+ void sqrtss(XMMRegister dst, AddressLiteral src);
void subsd(XMMRegister dst, XMMRegister src) { Assembler::subsd(dst, src); }
void subsd(XMMRegister dst, Address src) { Assembler::subsd(dst, src); }
- void subsd(XMMRegister dst, AddressLiteral src) { Assembler::subsd(dst, as_Address(src)); }
+ void subsd(XMMRegister dst, AddressLiteral src);
void subss(XMMRegister dst, XMMRegister src) { Assembler::subss(dst, src); }
void subss(XMMRegister dst, Address src) { Assembler::subss(dst, src); }
- void subss(XMMRegister dst, AddressLiteral src) { Assembler::subss(dst, as_Address(src)); }
+ void subss(XMMRegister dst, AddressLiteral src);
void ucomiss(XMMRegister dst, XMMRegister src) { Assembler::ucomiss(dst, src); }
- void ucomiss(XMMRegister dst, Address src) { Assembler::ucomiss(dst, src); }
+ void ucomiss(XMMRegister dst, Address src) { Assembler::ucomiss(dst, src); }
void ucomiss(XMMRegister dst, AddressLiteral src);
void ucomisd(XMMRegister dst, XMMRegister src) { Assembler::ucomisd(dst, src); }
- void ucomisd(XMMRegister dst, Address src) { Assembler::ucomisd(dst, src); }
+ void ucomisd(XMMRegister dst, Address src) { Assembler::ucomisd(dst, src); }
void ucomisd(XMMRegister dst, AddressLiteral src);
// Bitwise Logical XOR of Packed Double-Precision Floating-Point Values
@@ -2290,6 +2456,53 @@ public:
void xorps(XMMRegister dst, Address src) { Assembler::xorps(dst, src); }
void xorps(XMMRegister dst, AddressLiteral src);
+ // AVX 3-operands instructions
+
+ void vaddsd(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vaddsd(dst, nds, src); }
+ void vaddsd(XMMRegister dst, XMMRegister nds, Address src) { Assembler::vaddsd(dst, nds, src); }
+ void vaddsd(XMMRegister dst, XMMRegister nds, AddressLiteral src);
+
+ void vaddss(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vaddss(dst, nds, src); }
+ void vaddss(XMMRegister dst, XMMRegister nds, Address src) { Assembler::vaddss(dst, nds, src); }
+ void vaddss(XMMRegister dst, XMMRegister nds, AddressLiteral src);
+
+ void vandpd(XMMRegister dst, XMMRegister nds, Address src) { Assembler::vandpd(dst, nds, src); }
+ void vandpd(XMMRegister dst, XMMRegister nds, AddressLiteral src);
+
+ void vandps(XMMRegister dst, XMMRegister nds, Address src) { Assembler::vandps(dst, nds, src); }
+ void vandps(XMMRegister dst, XMMRegister nds, AddressLiteral src);
+
+ void vdivsd(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vdivsd(dst, nds, src); }
+ void vdivsd(XMMRegister dst, XMMRegister nds, Address src) { Assembler::vdivsd(dst, nds, src); }
+ void vdivsd(XMMRegister dst, XMMRegister nds, AddressLiteral src);
+
+ void vdivss(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vdivss(dst, nds, src); }
+ void vdivss(XMMRegister dst, XMMRegister nds, Address src) { Assembler::vdivss(dst, nds, src); }
+ void vdivss(XMMRegister dst, XMMRegister nds, AddressLiteral src);
+
+ void vmulsd(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vmulsd(dst, nds, src); }
+ void vmulsd(XMMRegister dst, XMMRegister nds, Address src) { Assembler::vmulsd(dst, nds, src); }
+ void vmulsd(XMMRegister dst, XMMRegister nds, AddressLiteral src);
+
+ void vmulss(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vmulss(dst, nds, src); }
+ void vmulss(XMMRegister dst, XMMRegister nds, Address src) { Assembler::vmulss(dst, nds, src); }
+ void vmulss(XMMRegister dst, XMMRegister nds, AddressLiteral src);
+
+ void vsubsd(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vsubsd(dst, nds, src); }
+ void vsubsd(XMMRegister dst, XMMRegister nds, Address src) { Assembler::vsubsd(dst, nds, src); }
+ void vsubsd(XMMRegister dst, XMMRegister nds, AddressLiteral src);
+
+ void vsubss(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vsubss(dst, nds, src); }
+ void vsubss(XMMRegister dst, XMMRegister nds, Address src) { Assembler::vsubss(dst, nds, src); }
+ void vsubss(XMMRegister dst, XMMRegister nds, AddressLiteral src);
+
+ void vxorpd(XMMRegister dst, XMMRegister nds, Address src) { Assembler::vxorpd(dst, nds, src); }
+ void vxorpd(XMMRegister dst, XMMRegister nds, AddressLiteral src);
+
+ void vxorps(XMMRegister dst, XMMRegister nds, Address src) { Assembler::vxorps(dst, nds, src); }
+ void vxorps(XMMRegister dst, XMMRegister nds, AddressLiteral src);
+
+
// Data
void cmov32( Condition cc, Register dst, Address src);
diff --git a/hotspot/src/cpu/x86/vm/assembler_x86.inline.hpp b/hotspot/src/cpu/x86/vm/assembler_x86.inline.hpp
index 125bf3f..bf299c6 100644
--- a/hotspot/src/cpu/x86/vm/assembler_x86.inline.hpp
+++ b/hotspot/src/cpu/x86/vm/assembler_x86.inline.hpp
@@ -86,6 +86,7 @@ inline void Assembler::prefix(Address adr, Register reg, bool byteinst) {}
inline void Assembler::prefixq(Address adr, Register reg) {}
inline void Assembler::prefix(Address adr, XMMRegister reg) {}
+inline void Assembler::prefixq(Address adr, XMMRegister reg) {}
#else
inline void Assembler::emit_long64(jlong x) {
*(jlong*) _code_pos = x;
diff --git a/hotspot/src/cpu/x86/vm/c1_CodeStubs_x86.cpp b/hotspot/src/cpu/x86/vm/c1_CodeStubs_x86.cpp
index f276df9..fe5495d 100644
--- a/hotspot/src/cpu/x86/vm/c1_CodeStubs_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/c1_CodeStubs_x86.cpp
@@ -320,7 +320,7 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
// begin_initialized_entry_offset has to fit in a byte. Also, we know it's not null.
__ load_heap_oop_not_null(tmp2, Address(_obj, java_lang_Class::klass_offset_in_bytes()));
__ get_thread(tmp);
- __ cmpptr(tmp, Address(tmp2, instanceKlass::init_thread_offset_in_bytes() + sizeof(klassOopDesc)));
+ __ cmpptr(tmp, Address(tmp2, instanceKlass::init_thread_offset()));
__ pop(tmp2);
__ pop(tmp);
__ jcc(Assembler::notEqual, call_patch);
@@ -519,7 +519,7 @@ void G1UnsafeGetObjSATBBarrierStub::emit_code(LIR_Assembler* ce) {
__ load_klass(tmp_reg, src_reg);
- Address ref_type_adr(tmp_reg, instanceKlass::reference_type_offset_in_bytes() + sizeof(oopDesc));
+ Address ref_type_adr(tmp_reg, instanceKlass::reference_type_offset());
__ cmpl(ref_type_adr, REF_NONE);
__ jcc(Assembler::equal, _continuation);
diff --git a/hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp b/hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp
index dbdd708..c745ade 100644
--- a/hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp
@@ -406,7 +406,7 @@ int LIR_Assembler::emit_exception_handler() {
// search an exception handler (rax: exception oop, rdx: throwing pc)
__ call(RuntimeAddress(Runtime1::entry_for(Runtime1::handle_exception_from_callee_id)));
__ should_not_reach_here();
- assert(code_offset() - offset <= exception_handler_size, "overflow");
+ guarantee(code_offset() - offset <= exception_handler_size, "overflow");
__ end_a_stub();
return offset;
@@ -490,8 +490,7 @@ int LIR_Assembler::emit_deopt_handler() {
__ pushptr(here.addr());
__ jump(RuntimeAddress(SharedRuntime::deopt_blob()->unpack()));
-
- assert(code_offset() - offset <= deopt_handler_size, "overflow");
+ guarantee(code_offset() - offset <= deopt_handler_size, "overflow");
__ end_a_stub();
return offset;
@@ -1557,8 +1556,8 @@ void LIR_Assembler::emit_opConvert(LIR_OpConvert* op) {
void LIR_Assembler::emit_alloc_obj(LIR_OpAllocObj* op) {
if (op->init_check()) {
- __ cmpl(Address(op->klass()->as_register(),
- instanceKlass::init_state_offset_in_bytes() + sizeof(oopDesc)),
+ __ cmpb(Address(op->klass()->as_register(),
+ instanceKlass::init_state_offset()),
instanceKlass::fully_initialized);
add_debug_info_for_null_check_here(op->stub()->info());
__ jcc(Assembler::notEqual, *op->stub()->entry());
@@ -1730,7 +1729,7 @@ void LIR_Assembler::emit_typecheck_helper(LIR_OpTypeCheck *op, Label* success, L
#else
__ cmpoop(Address(klass_RInfo, k->super_check_offset()), k->constant_encoding());
#endif // _LP64
- if (sizeof(oopDesc) + Klass::secondary_super_cache_offset_in_bytes() != k->super_check_offset()) {
+ if ((juint)in_bytes(Klass::secondary_super_cache_offset()) != k->super_check_offset()) {
__ jcc(Assembler::notEqual, *failure_target);
// successful cast, fall through to profile or jump
} else {
@@ -1842,7 +1841,7 @@ void LIR_Assembler::emit_opTypeCheck(LIR_OpTypeCheck* op) {
__ load_klass(klass_RInfo, value);
// get instance klass (it's already uncompressed)
- __ movptr(k_RInfo, Address(k_RInfo, objArrayKlass::element_klass_offset_in_bytes() + sizeof(oopDesc)));
+ __ movptr(k_RInfo, Address(k_RInfo, objArrayKlass::element_klass_offset()));
// perform the fast part of the checking logic
__ check_klass_subtype_fast_path(klass_RInfo, k_RInfo, Rtmp1, success_target, failure_target, NULL);
// call out-of-line instance of __ check_klass_subtype_slow_path(...):
@@ -3289,8 +3288,7 @@ void LIR_Assembler::emit_arraycopy(LIR_OpArrayCopy* op) {
} else if (!(flags & LIR_OpArrayCopy::dst_objarray)) {
__ load_klass(tmp, dst);
}
- int lh_offset = klassOopDesc::header_size() * HeapWordSize +
- Klass::layout_helper_offset_in_bytes();
+ int lh_offset = in_bytes(Klass::layout_helper_offset());
Address klass_lh_addr(tmp, lh_offset);
jint objArray_lh = Klass::array_layout_helper(T_OBJECT);
__ cmpl(klass_lh_addr, objArray_lh);
@@ -3307,9 +3305,9 @@ void LIR_Assembler::emit_arraycopy(LIR_OpArrayCopy* op) {
#ifndef _LP64
__ movptr(tmp, dst_klass_addr);
- __ movptr(tmp, Address(tmp, objArrayKlass::element_klass_offset_in_bytes() + sizeof(oopDesc)));
+ __ movptr(tmp, Address(tmp, objArrayKlass::element_klass_offset()));
__ push(tmp);
- __ movl(tmp, Address(tmp, Klass::super_check_offset_offset_in_bytes() + sizeof(oopDesc)));
+ __ movl(tmp, Address(tmp, Klass::super_check_offset_offset()));
__ push(tmp);
__ push(length);
__ lea(tmp, Address(dst, dst_pos, scale, arrayOopDesc::base_offset_in_bytes(basic_type)));
@@ -3333,15 +3331,15 @@ void LIR_Assembler::emit_arraycopy(LIR_OpArrayCopy* op) {
// Allocate abi space for args but be sure to keep stack aligned
__ subptr(rsp, 6*wordSize);
__ load_klass(c_rarg3, dst);
- __ movptr(c_rarg3, Address(c_rarg3, objArrayKlass::element_klass_offset_in_bytes() + sizeof(oopDesc)));
+ __ movptr(c_rarg3, Address(c_rarg3, objArrayKlass::element_klass_offset()));
store_parameter(c_rarg3, 4);
- __ movl(c_rarg3, Address(c_rarg3, Klass::super_check_offset_offset_in_bytes() + sizeof(oopDesc)));
+ __ movl(c_rarg3, Address(c_rarg3, Klass::super_check_offset_offset()));
__ call(RuntimeAddress(copyfunc_addr));
__ addptr(rsp, 6*wordSize);
#else
__ load_klass(c_rarg4, dst);
- __ movptr(c_rarg4, Address(c_rarg4, objArrayKlass::element_klass_offset_in_bytes() + sizeof(oopDesc)));
- __ movl(c_rarg3, Address(c_rarg4, Klass::super_check_offset_offset_in_bytes() + sizeof(oopDesc)));
+ __ movptr(c_rarg4, Address(c_rarg4, objArrayKlass::element_klass_offset()));
+ __ movl(c_rarg3, Address(c_rarg4, Klass::super_check_offset_offset()));
__ call(RuntimeAddress(copyfunc_addr));
#endif
diff --git a/hotspot/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp b/hotspot/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp
index d386a99..ad50757 100644
--- a/hotspot/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp
@@ -150,7 +150,7 @@ void C1_MacroAssembler::initialize_header(Register obj, Register klass, Register
assert_different_registers(obj, klass, len);
if (UseBiasedLocking && !len->is_valid()) {
assert_different_registers(obj, klass, len, t1, t2);
- movptr(t1, Address(klass, Klass::prototype_header_offset_in_bytes() + klassOopDesc::klass_part_offset_in_bytes()));
+ movptr(t1, Address(klass, Klass::prototype_header_offset()));
movptr(Address(obj, oopDesc::mark_offset_in_bytes()), t1);
} else {
// This assumes that all prototype bits fit in an int32_t
diff --git a/hotspot/src/cpu/x86/vm/c1_Runtime1_x86.cpp b/hotspot/src/cpu/x86/vm/c1_Runtime1_x86.cpp
index 9d13221..5f2cf38 100644
--- a/hotspot/src/cpu/x86/vm/c1_Runtime1_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/c1_Runtime1_x86.cpp
@@ -1011,7 +1011,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
if (id == fast_new_instance_init_check_id) {
// make sure the klass is initialized
- __ cmpl(Address(klass, instanceKlass::init_state_offset_in_bytes() + sizeof(oopDesc)), instanceKlass::fully_initialized);
+ __ cmpb(Address(klass, instanceKlass::init_state_offset()), instanceKlass::fully_initialized);
__ jcc(Assembler::notEqual, slow_path);
}
@@ -1019,7 +1019,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
// assert object can be fast path allocated
{
Label ok, not_ok;
- __ movl(obj_size, Address(klass, Klass::layout_helper_offset_in_bytes() + sizeof(oopDesc)));
+ __ movl(obj_size, Address(klass, Klass::layout_helper_offset()));
__ cmpl(obj_size, 0); // make sure it's an instance (LH > 0)
__ jcc(Assembler::lessEqual, not_ok);
__ testl(obj_size, Klass::_lh_instance_slow_path_bit);
@@ -1040,7 +1040,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
__ bind(retry_tlab);
// get the instance size (size is postive so movl is fine for 64bit)
- __ movl(obj_size, Address(klass, klassOopDesc::header_size() * HeapWordSize + Klass::layout_helper_offset_in_bytes()));
+ __ movl(obj_size, Address(klass, Klass::layout_helper_offset()));
__ tlab_allocate(obj, obj_size, 0, t1, t2, slow_path);
@@ -1052,7 +1052,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
__ bind(try_eden);
// get the instance size (size is postive so movl is fine for 64bit)
- __ movl(obj_size, Address(klass, klassOopDesc::header_size() * HeapWordSize + Klass::layout_helper_offset_in_bytes()));
+ __ movl(obj_size, Address(klass, Klass::layout_helper_offset()));
__ eden_allocate(obj, obj_size, 0, t1, slow_path);
__ incr_allocated_bytes(thread, obj_size, 0);
@@ -1119,7 +1119,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
{
Label ok;
Register t0 = obj;
- __ movl(t0, Address(klass, Klass::layout_helper_offset_in_bytes() + sizeof(oopDesc)));
+ __ movl(t0, Address(klass, Klass::layout_helper_offset()));
__ sarl(t0, Klass::_lh_array_tag_shift);
int tag = ((id == new_type_array_id)
? Klass::_lh_array_tag_type_value
@@ -1153,7 +1153,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
// get the allocation size: round_up(hdr + length << (layout_helper & 0x1F))
// since size is positive movl does right thing on 64bit
- __ movl(t1, Address(klass, klassOopDesc::header_size() * HeapWordSize + Klass::layout_helper_offset_in_bytes()));
+ __ movl(t1, Address(klass, Klass::layout_helper_offset()));
// since size is postive movl does right thing on 64bit
__ movl(arr_size, length);
assert(t1 == rcx, "fixed register usage");
@@ -1167,7 +1167,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
__ tlab_allocate(obj, arr_size, 0, t1, t2, slow_path); // preserves arr_size
__ initialize_header(obj, klass, length, t1, t2);
- __ movb(t1, Address(klass, klassOopDesc::header_size() * HeapWordSize + Klass::layout_helper_offset_in_bytes() + (Klass::_lh_header_size_shift / BitsPerByte)));
+ __ movb(t1, Address(klass, in_bytes(Klass::layout_helper_offset()) + (Klass::_lh_header_size_shift / BitsPerByte)));
assert(Klass::_lh_header_size_shift % BitsPerByte == 0, "bytewise");
assert(Klass::_lh_header_size_mask <= 0xFF, "bytewise");
__ andptr(t1, Klass::_lh_header_size_mask);
@@ -1180,7 +1180,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
__ bind(try_eden);
// get the allocation size: round_up(hdr + length << (layout_helper & 0x1F))
// since size is positive movl does right thing on 64bit
- __ movl(t1, Address(klass, klassOopDesc::header_size() * HeapWordSize + Klass::layout_helper_offset_in_bytes()));
+ __ movl(t1, Address(klass, Klass::layout_helper_offset()));
// since size is postive movl does right thing on 64bit
__ movl(arr_size, length);
assert(t1 == rcx, "fixed register usage");
@@ -1195,7 +1195,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
__ incr_allocated_bytes(thread, arr_size, 0);
__ initialize_header(obj, klass, length, t1, t2);
- __ movb(t1, Address(klass, klassOopDesc::header_size() * HeapWordSize + Klass::layout_helper_offset_in_bytes() + (Klass::_lh_header_size_shift / BitsPerByte)));
+ __ movb(t1, Address(klass, in_bytes(Klass::layout_helper_offset()) + (Klass::_lh_header_size_shift / BitsPerByte)));
assert(Klass::_lh_header_size_shift % BitsPerByte == 0, "bytewise");
assert(Klass::_lh_header_size_mask <= 0xFF, "bytewise");
__ andptr(t1, Klass::_lh_header_size_mask);
@@ -1267,7 +1267,7 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
Label register_finalizer;
Register t = rsi;
__ load_klass(t, rax);
- __ movl(t, Address(t, Klass::access_flags_offset_in_bytes() + sizeof(oopDesc)));
+ __ movl(t, Address(t, Klass::access_flags_offset()));
__ testl(t, JVM_ACC_HAS_FINALIZER);
__ jcc(Assembler::notZero, register_finalizer);
__ ret(0);
diff --git a/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp b/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp
index f41d722..da72d84 100644
--- a/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp
+++ b/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp
@@ -44,7 +44,7 @@ define_pd_global(bool, ProfileInterpreter, false);
#else
define_pd_global(bool, ProfileInterpreter, true);
#endif // CC_INTERP
-define_pd_global(bool, TieredCompilation, false);
+define_pd_global(bool, TieredCompilation, true);
define_pd_global(intx, CompileThreshold, 10000);
define_pd_global(intx, BackEdgeThreshold, 100000);
diff --git a/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp b/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp
index 226c6cb..b9a5c22 100644
--- a/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp
@@ -511,7 +511,7 @@ void CppInterpreterGenerator::generate_compute_interpreter_state(const Register
// get synchronization object
Label done;
- const int mirror_offset = klassOopDesc::klass_part_offset_in_bytes() + Klass::java_mirror_offset_in_bytes();
+ const int mirror_offset = in_bytes(Klass::java_mirror_offset());
__ movl(rax, access_flags);
__ testl(rax, JVM_ACC_STATIC);
__ movptr(rax, Address(locals, 0)); // get receiver (assume this is frequent case)
@@ -763,7 +763,7 @@ void InterpreterGenerator::lock_method(void) {
#endif // ASSERT
// get synchronization object
{ Label done;
- const int mirror_offset = klassOopDesc::klass_part_offset_in_bytes() + Klass::java_mirror_offset_in_bytes();
+ const int mirror_offset = in_bytes(Klass::java_mirror_offset());
__ movl(rax, access_flags);
__ movptr(rdi, STATE(_locals)); // prepare to get receiver (assume common case)
__ testl(rax, JVM_ACC_STATIC);
@@ -1180,7 +1180,7 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) {
// pass mirror handle if static call
{ Label L;
- const int mirror_offset = klassOopDesc::klass_part_offset_in_bytes() + Klass::java_mirror_offset_in_bytes();
+ const int mirror_offset = in_bytes(Klass::java_mirror_offset());
__ movl(t, Address(method, methodOopDesc::access_flags_offset()));
__ testl(t, JVM_ACC_STATIC);
__ jcc(Assembler::zero, L);
diff --git a/hotspot/src/cpu/x86/vm/frame_x86.cpp b/hotspot/src/cpu/x86/vm/frame_x86.cpp
index 5d4da62..94166ea 100644
--- a/hotspot/src/cpu/x86/vm/frame_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/frame_x86.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -675,3 +675,21 @@ intptr_t *frame::initial_deoptimization_info() {
// used to reset the saved FP
return fp();
}
+
+intptr_t* frame::real_fp() const {
+ if (_cb != NULL) {
+ // use the frame size if valid
+ int size = _cb->frame_size();
+ if ((size > 0) &&
+ (! is_ricochet_frame())) {
+ // Work-around: ricochet explicitly excluded because frame size is not
+ // constant for the ricochet blob but its frame_size could not, for
+ // some reasons, be declared as <= 0. This potentially confusing
+ // size declaration should be fixed as another CR.
+ return unextended_sp() + size;
+ }
+ }
+ // else rely on fp()
+ assert(! is_compiled_frame(), "unknown compiled frame size");
+ return fp();
+}
diff --git a/hotspot/src/cpu/x86/vm/frame_x86.hpp b/hotspot/src/cpu/x86/vm/frame_x86.hpp
index a307a34..01f6e6c 100644
--- a/hotspot/src/cpu/x86/vm/frame_x86.hpp
+++ b/hotspot/src/cpu/x86/vm/frame_x86.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -188,6 +188,7 @@
frame(intptr_t* sp, intptr_t* fp);
// accessors for the instance variables
+ // Note: not necessarily the real 'frame pointer' (see real_fp)
intptr_t* fp() const { return _fp; }
inline address* sender_pc_addr() const;
diff --git a/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp b/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp
index 254d087..acd65fb 100644
--- a/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp
@@ -1005,7 +1005,7 @@ void trace_method_handle_stub(const char* adaptername,
intptr_t* base_sp = last_sp;
typedef MethodHandles::RicochetFrame RicochetFrame;
RicochetFrame* rfp = (RicochetFrame*)((address)saved_bp - RicochetFrame::sender_link_offset_in_bytes());
- if (!UseRicochetFrames || Universe::heap()->is_in((address) rfp->saved_args_base())) {
+ if (Universe::heap()->is_in((address) rfp->saved_args_base())) {
// Probably an interpreter frame.
base_sp = (intptr_t*) saved_bp[frame::interpreter_frame_monitor_block_top_offset];
}
@@ -1104,7 +1104,7 @@ int MethodHandles::adapter_conversion_ops_supported_mask() {
|(1<<java_lang_invoke_AdapterMethodHandle::OP_DROP_ARGS)
//OP_COLLECT_ARGS is below...
|(1<<java_lang_invoke_AdapterMethodHandle::OP_SPREAD_ARGS)
- |(!UseRicochetFrames ? 0 :
+ |(
java_lang_invoke_MethodTypeForm::vmlayout_offset_in_bytes() <= 0 ? 0 :
((1<<java_lang_invoke_AdapterMethodHandle::OP_PRIM_TO_REF)
|(1<<java_lang_invoke_AdapterMethodHandle::OP_COLLECT_ARGS)
@@ -1160,7 +1160,7 @@ void MethodHandles::generate_method_handle_stub(MacroAssembler* _masm, MethodHan
Address rcx_amh_conversion( rcx_recv, java_lang_invoke_AdapterMethodHandle::conversion_offset_in_bytes() );
Address vmarg; // __ argument_address(vmargslot)
- const int java_mirror_offset = klassOopDesc::klass_part_offset_in_bytes() + Klass::java_mirror_offset_in_bytes();
+ const int java_mirror_offset = in_bytes(Klass::java_mirror_offset());
if (have_entry(ek)) {
__ nop(); // empty stubs make SG sick
diff --git a/hotspot/src/cpu/x86/vm/methodHandles_x86.hpp b/hotspot/src/cpu/x86/vm/methodHandles_x86.hpp
index 9d7168a..4cb6662 100644
--- a/hotspot/src/cpu/x86/vm/methodHandles_x86.hpp
+++ b/hotspot/src/cpu/x86/vm/methodHandles_x86.hpp
@@ -27,7 +27,7 @@
// Adapters
enum /* platform_dependent_constants */ {
- adapter_code_size = NOT_LP64(16000 DEBUG_ONLY(+ 15000)) LP64_ONLY(32000 DEBUG_ONLY(+ 80000))
+ adapter_code_size = NOT_LP64(16000 DEBUG_ONLY(+ 15000)) LP64_ONLY(32000 DEBUG_ONLY(+ 120000))
};
public:
diff --git a/hotspot/src/cpu/x86/vm/nativeInst_x86.cpp b/hotspot/src/cpu/x86/vm/nativeInst_x86.cpp
index 7ec0773..1cf5099 100644
--- a/hotspot/src/cpu/x86/vm/nativeInst_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/nativeInst_x86.cpp
@@ -237,9 +237,21 @@ int NativeMovRegMem::instruction_start() const {
int off = 0;
u_char instr_0 = ubyte_at(off);
+ // See comment in Assembler::locate_operand() about VEX prefixes.
+ if (instr_0 == instruction_VEX_prefix_2bytes) {
+ assert((UseAVX > 0), "shouldn't have VEX prefix");
+ NOT_LP64(assert((0xC0 & ubyte_at(1)) == 0xC0, "shouldn't have LDS and LES instructions"));
+ return 2;
+ }
+ if (instr_0 == instruction_VEX_prefix_3bytes) {
+ assert((UseAVX > 0), "shouldn't have VEX prefix");
+ NOT_LP64(assert((0xC0 & ubyte_at(1)) == 0xC0, "shouldn't have LDS and LES instructions"));
+ return 3;
+ }
+
// First check to see if we have a (prefixed or not) xor
- if ( instr_0 >= instruction_prefix_wide_lo && // 0x40
- instr_0 <= instruction_prefix_wide_hi) { // 0x4f
+ if (instr_0 >= instruction_prefix_wide_lo && // 0x40
+ instr_0 <= instruction_prefix_wide_hi) { // 0x4f
off++;
instr_0 = ubyte_at(off);
}
@@ -256,13 +268,13 @@ int NativeMovRegMem::instruction_start() const {
instr_0 = ubyte_at(off);
}
- if ( instr_0 == instruction_code_xmm_ss_prefix || // 0xf3
+ if ( instr_0 == instruction_code_xmm_ss_prefix || // 0xf3
instr_0 == instruction_code_xmm_sd_prefix) { // 0xf2
off++;
instr_0 = ubyte_at(off);
}
- if ( instr_0 >= instruction_prefix_wide_lo && // 0x40
+ if ( instr_0 >= instruction_prefix_wide_lo && // 0x40
instr_0 <= instruction_prefix_wide_hi) { // 0x4f
off++;
instr_0 = ubyte_at(off);
diff --git a/hotspot/src/cpu/x86/vm/nativeInst_x86.hpp b/hotspot/src/cpu/x86/vm/nativeInst_x86.hpp
index fc7a1ab..470e971 100644
--- a/hotspot/src/cpu/x86/vm/nativeInst_x86.hpp
+++ b/hotspot/src/cpu/x86/vm/nativeInst_x86.hpp
@@ -287,6 +287,9 @@ class NativeMovRegMem: public NativeInstruction {
instruction_code_xmm_store = 0x11,
instruction_code_xmm_lpd = 0x12,
+ instruction_VEX_prefix_2bytes = Assembler::VEX_2bytes,
+ instruction_VEX_prefix_3bytes = Assembler::VEX_3bytes,
+
instruction_size = 4,
instruction_offset = 0,
data_offset = 2,
diff --git a/hotspot/src/cpu/x86/vm/register_definitions_x86.cpp b/hotspot/src/cpu/x86/vm/register_definitions_x86.cpp
index f1fd229..7165872 100644
--- a/hotspot/src/cpu/x86/vm/register_definitions_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/register_definitions_x86.cpp
@@ -53,6 +53,7 @@ REGISTER_DEFINITION(Register, r14);
REGISTER_DEFINITION(Register, r15);
#endif // AMD64
+REGISTER_DEFINITION(XMMRegister, xnoreg);
REGISTER_DEFINITION(XMMRegister, xmm0 );
REGISTER_DEFINITION(XMMRegister, xmm1 );
REGISTER_DEFINITION(XMMRegister, xmm2 );
@@ -115,6 +116,7 @@ REGISTER_DEFINITION(Register, r12_heapbase);
REGISTER_DEFINITION(Register, r15_thread);
#endif // AMD64
+REGISTER_DEFINITION(MMXRegister, mnoreg );
REGISTER_DEFINITION(MMXRegister, mmx0 );
REGISTER_DEFINITION(MMXRegister, mmx1 );
REGISTER_DEFINITION(MMXRegister, mmx2 );
diff --git a/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp b/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp
index fb85fff..4d4e66f 100644
--- a/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp
+++ b/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp
@@ -1374,8 +1374,7 @@ class StubGenerator: public StubCodeGenerator {
// L_success, L_failure, NULL);
assert_different_registers(sub_klass, temp);
- int sc_offset = (klassOopDesc::header_size() * HeapWordSize +
- Klass::secondary_super_cache_offset_in_bytes());
+ int sc_offset = in_bytes(Klass::secondary_super_cache_offset());
// if the pointers are equal, we are done (e.g., String[] elements)
__ cmpptr(sub_klass, super_klass_addr);
@@ -1787,8 +1786,7 @@ class StubGenerator: public StubCodeGenerator {
// array_tag: typeArray = 0x3, objArray = 0x2, non-array = 0x0
//
- int lh_offset = klassOopDesc::header_size() * HeapWordSize +
- Klass::layout_helper_offset_in_bytes();
+ int lh_offset = in_bytes(Klass::layout_helper_offset());
Address src_klass_lh_addr(rcx_src_klass, lh_offset);
// Handle objArrays completely differently...
@@ -1914,10 +1912,8 @@ class StubGenerator: public StubCodeGenerator {
// live at this point: rcx_src_klass, dst[_pos], src[_pos]
{
// Handy offsets:
- int ek_offset = (klassOopDesc::header_size() * HeapWordSize +
- objArrayKlass::element_klass_offset_in_bytes());
- int sco_offset = (klassOopDesc::header_size() * HeapWordSize +
- Klass::super_check_offset_offset_in_bytes());
+ int ek_offset = in_bytes(objArrayKlass::element_klass_offset());
+ int sco_offset = in_bytes(Klass::super_check_offset_offset());
Register rsi_dst_klass = rsi;
Register rdi_temp = rdi;
@@ -2323,6 +2319,9 @@ class StubGenerator: public StubCodeGenerator {
generate_throw_exception("WrongMethodTypeException throw_exception",
CAST_FROM_FN_PTR(address, SharedRuntime::throw_WrongMethodTypeException),
rax, rcx);
+
+ // Build this early so it's available for the interpreter
+ StubRoutines::_throw_StackOverflowError_entry = generate_throw_exception("StackOverflowError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));
}
@@ -2334,7 +2333,6 @@ class StubGenerator: public StubCodeGenerator {
StubRoutines::_throw_AbstractMethodError_entry = generate_throw_exception("AbstractMethodError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_AbstractMethodError));
StubRoutines::_throw_IncompatibleClassChangeError_entry= generate_throw_exception("IncompatibleClassChangeError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_IncompatibleClassChangeError));
StubRoutines::_throw_NullPointerException_at_call_entry= generate_throw_exception("NullPointerException at call throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_NullPointerException_at_call));
- StubRoutines::_throw_StackOverflowError_entry = generate_throw_exception("StackOverflowError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));
//------------------------------------------------------------------------------------------------------------------------
// entry points that are platform specific
diff --git a/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp b/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp
index 53d9431..a6fcc78 100644
--- a/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp
+++ b/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp
@@ -95,6 +95,7 @@ class StubGenerator: public StubCodeGenerator {
#define inc_counter_np(counter) (0)
#else
void inc_counter_np_(int& counter) {
+ // This can destroy rscratch1 if counter is far from the code cache
__ incrementl(ExternalAddress((address)&counter));
}
#define inc_counter_np(counter) \
@@ -1268,7 +1269,7 @@ class StubGenerator: public StubCodeGenerator {
__ subptr(end, start); // number of bytes to copy
intptr_t disp = (intptr_t) ct->byte_map_base;
- if (__ is_simm32(disp)) {
+ if (Assembler::is_simm32(disp)) {
Address cardtable(noreg, noreg, Address::no_scale, disp);
__ lea(scratch, cardtable);
} else {
@@ -1466,8 +1467,8 @@ class StubGenerator: public StubCodeGenerator {
__ movb(Address(end_to, 8), rax);
__ BIND(L_exit);
- inc_counter_np(SharedRuntime::_jbyte_array_copy_ctr);
restore_arg_regs();
+ inc_counter_np(SharedRuntime::_jbyte_array_copy_ctr); // Update counter after rscratch1 is free
__ xorptr(rax, rax); // return 0
__ leave(); // required for proper stackwalking of RuntimeStub frame
__ ret(0);
@@ -1555,8 +1556,8 @@ class StubGenerator: public StubCodeGenerator {
__ decrement(qword_count);
__ jcc(Assembler::notZero, L_copy_8_bytes);
- inc_counter_np(SharedRuntime::_jbyte_array_copy_ctr);
restore_arg_regs();
+ inc_counter_np(SharedRuntime::_jbyte_array_copy_ctr); // Update counter after rscratch1 is free
__ xorptr(rax, rax); // return 0
__ leave(); // required for proper stackwalking of RuntimeStub frame
__ ret(0);
@@ -1564,8 +1565,8 @@ class StubGenerator: public StubCodeGenerator {
// Copy in 32-bytes chunks
copy_32_bytes_backward(from, to, qword_count, rax, L_copy_32_bytes, L_copy_8_bytes);
- inc_counter_np(SharedRuntime::_jbyte_array_copy_ctr);
restore_arg_regs();
+ inc_counter_np(SharedRuntime::_jbyte_array_copy_ctr); // Update counter after rscratch1 is free
__ xorptr(rax, rax); // return 0
__ leave(); // required for proper stackwalking of RuntimeStub frame
__ ret(0);
@@ -1658,8 +1659,8 @@ class StubGenerator: public StubCodeGenerator {
__ movw(Address(end_to, 8), rax);
__ BIND(L_exit);
- inc_counter_np(SharedRuntime::_jshort_array_copy_ctr);
restore_arg_regs();
+ inc_counter_np(SharedRuntime::_jshort_array_copy_ctr); // Update counter after rscratch1 is free
__ xorptr(rax, rax); // return 0
__ leave(); // required for proper stackwalking of RuntimeStub frame
__ ret(0);
@@ -1759,8 +1760,8 @@ class StubGenerator: public StubCodeGenerator {
__ decrement(qword_count);
__ jcc(Assembler::notZero, L_copy_8_bytes);
- inc_counter_np(SharedRuntime::_jshort_array_copy_ctr);
restore_arg_regs();
+ inc_counter_np(SharedRuntime::_jshort_array_copy_ctr); // Update counter after rscratch1 is free
__ xorptr(rax, rax); // return 0
__ leave(); // required for proper stackwalking of RuntimeStub frame
__ ret(0);
@@ -1768,8 +1769,8 @@ class StubGenerator: public StubCodeGenerator {
// Copy in 32-bytes chunks
copy_32_bytes_backward(from, to, qword_count, rax, L_copy_32_bytes, L_copy_8_bytes);
- inc_counter_np(SharedRuntime::_jshort_array_copy_ctr);
restore_arg_regs();
+ inc_counter_np(SharedRuntime::_jshort_array_copy_ctr); // Update counter after rscratch1 is free
__ xorptr(rax, rax); // return 0
__ leave(); // required for proper stackwalking of RuntimeStub frame
__ ret(0);
@@ -1859,8 +1860,8 @@ class StubGenerator: public StubCodeGenerator {
__ leaq(end_to, Address(saved_to, dword_count, Address::times_4, -4));
gen_write_ref_array_post_barrier(saved_to, end_to, rax);
}
- inc_counter_np(SharedRuntime::_jint_array_copy_ctr);
restore_arg_regs();
+ inc_counter_np(SharedRuntime::_jint_array_copy_ctr); // Update counter after rscratch1 is free
__ xorptr(rax, rax); // return 0
__ leave(); // required for proper stackwalking of RuntimeStub frame
__ ret(0);
@@ -1940,11 +1941,11 @@ class StubGenerator: public StubCodeGenerator {
__ decrement(qword_count);
__ jcc(Assembler::notZero, L_copy_8_bytes);
- inc_counter_np(SharedRuntime::_jint_array_copy_ctr);
if (is_oop) {
__ jmp(L_exit);
}
restore_arg_regs();
+ inc_counter_np(SharedRuntime::_jint_array_copy_ctr); // Update counter after rscratch1 is free
__ xorptr(rax, rax); // return 0
__ leave(); // required for proper stackwalking of RuntimeStub frame
__ ret(0);
@@ -1952,7 +1953,6 @@ class StubGenerator: public StubCodeGenerator {
// Copy in 32-bytes chunks
copy_32_bytes_backward(from, to, qword_count, rax, L_copy_32_bytes, L_copy_8_bytes);
- inc_counter_np(SharedRuntime::_jint_array_copy_ctr);
__ bind(L_exit);
if (is_oop) {
Register end_to = rdx;
@@ -1960,6 +1960,7 @@ class StubGenerator: public StubCodeGenerator {
gen_write_ref_array_post_barrier(to, end_to, rax);
}
restore_arg_regs();
+ inc_counter_np(SharedRuntime::_jint_array_copy_ctr); // Update counter after rscratch1 is free
__ xorptr(rax, rax); // return 0
__ leave(); // required for proper stackwalking of RuntimeStub frame
__ ret(0);
@@ -2032,8 +2033,8 @@ class StubGenerator: public StubCodeGenerator {
if (is_oop) {
__ jmp(L_exit);
} else {
- inc_counter_np(SharedRuntime::_jlong_array_copy_ctr);
restore_arg_regs();
+ inc_counter_np(SharedRuntime::_jlong_array_copy_ctr); // Update counter after rscratch1 is free
__ xorptr(rax, rax); // return 0
__ leave(); // required for proper stackwalking of RuntimeStub frame
__ ret(0);
@@ -2045,11 +2046,13 @@ class StubGenerator: public StubCodeGenerator {
if (is_oop) {
__ BIND(L_exit);
gen_write_ref_array_post_barrier(saved_to, end_to, rax);
- inc_counter_np(SharedRuntime::_oop_array_copy_ctr);
- } else {
- inc_counter_np(SharedRuntime::_jlong_array_copy_ctr);
}
restore_arg_regs();
+ if (is_oop) {
+ inc_counter_np(SharedRuntime::_oop_array_copy_ctr); // Update counter after rscratch1 is free
+ } else {
+ inc_counter_np(SharedRuntime::_jlong_array_copy_ctr); // Update counter after rscratch1 is free
+ }
__ xorptr(rax, rax); // return 0
__ leave(); // required for proper stackwalking of RuntimeStub frame
__ ret(0);
@@ -2113,8 +2116,8 @@ class StubGenerator: public StubCodeGenerator {
if (is_oop) {
__ jmp(L_exit);
} else {
- inc_counter_np(SharedRuntime::_jlong_array_copy_ctr);
restore_arg_regs();
+ inc_counter_np(SharedRuntime::_jlong_array_copy_ctr); // Update counter after rscratch1 is free
__ xorptr(rax, rax); // return 0
__ leave(); // required for proper stackwalking of RuntimeStub frame
__ ret(0);
@@ -2127,11 +2130,13 @@ class StubGenerator: public StubCodeGenerator {
__ BIND(L_exit);
__ lea(rcx, Address(to, saved_count, Address::times_8, -8));
gen_write_ref_array_post_barrier(to, rcx, rax);
- inc_counter_np(SharedRuntime::_oop_array_copy_ctr);
- } else {
- inc_counter_np(SharedRuntime::_jlong_array_copy_ctr);
}
restore_arg_regs();
+ if (is_oop) {
+ inc_counter_np(SharedRuntime::_oop_array_copy_ctr); // Update counter after rscratch1 is free
+ } else {
+ inc_counter_np(SharedRuntime::_jlong_array_copy_ctr); // Update counter after rscratch1 is free
+ }
__ xorptr(rax, rax); // return 0
__ leave(); // required for proper stackwalking of RuntimeStub frame
__ ret(0);
@@ -2256,8 +2261,7 @@ class StubGenerator: public StubCodeGenerator {
// The ckoff and ckval must be mutually consistent,
// even though caller generates both.
{ Label L;
- int sco_offset = (klassOopDesc::header_size() * HeapWordSize +
- Klass::super_check_offset_offset_in_bytes());
+ int sco_offset = in_bytes(Klass::super_check_offset_offset());
__ cmpl(ckoff, Address(ckval, sco_offset));
__ jcc(Assembler::equal, L);
__ stop("super_check_offset inconsistent");
@@ -2331,8 +2335,8 @@ class StubGenerator: public StubCodeGenerator {
__ BIND(L_done);
__ movptr(r13, Address(rsp, saved_r13_offset * wordSize));
__ movptr(r14, Address(rsp, saved_r14_offset * wordSize));
- inc_counter_np(SharedRuntime::_checkcast_array_copy_ctr);
restore_arg_regs();
+ inc_counter_np(SharedRuntime::_checkcast_array_copy_ctr); // Update counter after rscratch1 is free
__ leave(); // required for proper stackwalking of RuntimeStub frame
__ ret(0);
@@ -2567,8 +2571,7 @@ class StubGenerator: public StubCodeGenerator {
// array_tag: typeArray = 0x3, objArray = 0x2, non-array = 0x0
//
- const int lh_offset = klassOopDesc::header_size() * HeapWordSize +
- Klass::layout_helper_offset_in_bytes();
+ const int lh_offset = in_bytes(Klass::layout_helper_offset());
// Handle objArrays completely differently...
const jint objArray_lh = Klass::array_layout_helper(T_OBJECT);
@@ -2717,15 +2720,13 @@ class StubGenerator: public StubCodeGenerator {
assert_clean_int(count, sco_temp);
// Generate the type check.
- const int sco_offset = (klassOopDesc::header_size() * HeapWordSize +
- Klass::super_check_offset_offset_in_bytes());
+ const int sco_offset = in_bytes(Klass::super_check_offset_offset());
__ movl(sco_temp, Address(r11_dst_klass, sco_offset));
assert_clean_int(sco_temp, rax);
generate_type_check(r10_src_klass, sco_temp, r11_dst_klass, L_plain_copy);
// Fetch destination element klass from the objArrayKlass header.
- int ek_offset = (klassOopDesc::header_size() * HeapWordSize +
- objArrayKlass::element_klass_offset_in_bytes());
+ int ek_offset = in_bytes(objArrayKlass::element_klass_offset());
__ movptr(r11_dst_klass, Address(r11_dst_klass, ek_offset));
__ movl( sco_temp, Address(r11_dst_klass, sco_offset));
assert_clean_int(sco_temp, rax);
@@ -3067,6 +3068,13 @@ class StubGenerator: public StubCodeGenerator {
generate_throw_exception("WrongMethodTypeException throw_exception",
CAST_FROM_FN_PTR(address, SharedRuntime::throw_WrongMethodTypeException),
rax, rcx);
+
+ // Build this early so it's available for the interpreter.
+ StubRoutines::_throw_StackOverflowError_entry =
+ generate_throw_exception("StackOverflowError throw_exception",
+ CAST_FROM_FN_PTR(address,
+ SharedRuntime::
+ throw_StackOverflowError));
}
void generate_all() {
@@ -3093,12 +3101,6 @@ class StubGenerator: public StubCodeGenerator {
SharedRuntime::
throw_NullPointerException_at_call));
- StubRoutines::_throw_StackOverflowError_entry =
- generate_throw_exception("StackOverflowError throw_exception",
- CAST_FROM_FN_PTR(address,
- SharedRuntime::
- throw_StackOverflowError));
-
// entry points that are platform specific
StubRoutines::x86::_f2i_fixup = generate_f2i_fixup();
StubRoutines::x86::_f2l_fixup = generate_f2l_fixup();
diff --git a/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp b/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp
index 6f8e35a..2953383 100644
--- a/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp
+++ b/hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp
@@ -522,9 +522,18 @@ void InterpreterGenerator::generate_stack_overflow_check(void) {
__ pop(rsi); // get saved bcp / (c++ prev state ).
- __ pop(rax); // get return address
- __ jump(ExternalAddress(Interpreter::throw_StackOverflowError_entry()));
-
+ // Restore sender's sp as SP. This is necessary if the sender's
+ // frame is an extended compiled frame (see gen_c2i_adapter())
+ // and safer anyway in case of JSR292 adaptations.
+
+ __ pop(rax); // return address must be moved if SP is changed
+ __ mov(rsp, rsi);
+ __ push(rax);
+
+ // Note: the restored frame is not necessarily interpreted.
+ // Use the shared runtime version of the StackOverflowError.
+ assert(StubRoutines::throw_StackOverflowError_entry() != NULL, "stub not yet generated");
+ __ jump(ExternalAddress(StubRoutines::throw_StackOverflowError_entry()));
// all done with frame size check
__ bind(after_frame_check_pop);
__ pop(rsi);
@@ -552,7 +561,7 @@ void InterpreterGenerator::lock_method(void) {
#endif // ASSERT
// get synchronization object
{ Label done;
- const int mirror_offset = klassOopDesc::klass_part_offset_in_bytes() + Klass::java_mirror_offset_in_bytes();
+ const int mirror_offset = in_bytes(Klass::java_mirror_offset());
__ movl(rax, access_flags);
__ testl(rax, JVM_ACC_STATIC);
__ movptr(rax, Address(rdi, Interpreter::local_offset_in_bytes(0))); // get receiver (assume this is frequent case)
@@ -1012,7 +1021,7 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) {
// pass mirror handle if static call
{ Label L;
- const int mirror_offset = klassOopDesc::klass_part_offset_in_bytes() + Klass::java_mirror_offset_in_bytes();
+ const int mirror_offset = in_bytes(Klass::java_mirror_offset());
__ movl(t, Address(method, methodOopDesc::access_flags_offset()));
__ testl(t, JVM_ACC_STATIC);
__ jcc(Assembler::zero, L);
diff --git a/hotspot/src/cpu/x86/vm/templateInterpreter_x86_64.cpp b/hotspot/src/cpu/x86/vm/templateInterpreter_x86_64.cpp
index 40c7d63..110d8eb 100644
--- a/hotspot/src/cpu/x86/vm/templateInterpreter_x86_64.cpp
+++ b/hotspot/src/cpu/x86/vm/templateInterpreter_x86_64.cpp
@@ -467,8 +467,18 @@ void InterpreterGenerator::generate_stack_overflow_check(void) {
__ cmpptr(rsp, rax);
__ jcc(Assembler::above, after_frame_check);
- __ pop(rax); // get return address
- __ jump(ExternalAddress(Interpreter::throw_StackOverflowError_entry()));
+ // Restore sender's sp as SP. This is necessary if the sender's
+ // frame is an extended compiled frame (see gen_c2i_adapter())
+ // and safer anyway in case of JSR292 adaptations.
+
+ __ pop(rax); // return address must be moved if SP is changed
+ __ mov(rsp, r13);
+ __ push(rax);
+
+ // Note: the restored frame is not necessarily interpreted.
+ // Use the shared runtime version of the StackOverflowError.
+ assert(StubRoutines::throw_StackOverflowError_entry() != NULL, "stub not yet generated");
+ __ jump(ExternalAddress(StubRoutines::throw_StackOverflowError_entry()));
// all done with frame size check
__ bind(after_frame_check);
@@ -505,8 +515,7 @@ void InterpreterGenerator::lock_method(void) {
// get synchronization object
{
- const int mirror_offset = klassOopDesc::klass_part_offset_in_bytes() +
- Klass::java_mirror_offset_in_bytes();
+ const int mirror_offset = in_bytes(Klass::java_mirror_offset());
Label done;
__ movl(rax, access_flags);
__ testl(rax, JVM_ACC_STATIC);
@@ -1006,8 +1015,7 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) {
// pass mirror handle if static call
{
Label L;
- const int mirror_offset = klassOopDesc::klass_part_offset_in_bytes() +
- Klass::java_mirror_offset_in_bytes();
+ const int mirror_offset = in_bytes(Klass::java_mirror_offset());
__ movl(t, Address(method, methodOopDesc::access_flags_offset()));
__ testl(t, JVM_ACC_STATIC);
__ jcc(Assembler::zero, L);
diff --git a/hotspot/src/cpu/x86/vm/templateTable_x86_32.cpp b/hotspot/src/cpu/x86/vm/templateTable_x86_32.cpp
index 65e65ef..1cbc67e 100644
--- a/hotspot/src/cpu/x86/vm/templateTable_x86_32.cpp
+++ b/hotspot/src/cpu/x86/vm/templateTable_x86_32.cpp
@@ -980,7 +980,7 @@ void TemplateTable::aastore() {
__ load_klass(rbx, rax);
// Move superklass into EAX
__ load_klass(rax, rdx);
- __ movptr(rax, Address(rax, sizeof(oopDesc) + objArrayKlass::element_klass_offset_in_bytes()));
+ __ movptr(rax, Address(rax, objArrayKlass::element_klass_offset()));
// Compress array+index*wordSize+12 into a single register. Frees ECX.
__ lea(rdx, element_address);
@@ -2033,7 +2033,7 @@ void TemplateTable::_return(TosState state) {
assert(state == vtos, "only valid state");
__ movptr(rax, aaddress(0));
__ load_klass(rdi, rax);
- __ movl(rdi, Address(rdi, Klass::access_flags_offset_in_bytes() + sizeof(oopDesc)));
+ __ movl(rdi, Address(rdi, Klass::access_flags_offset()));
__ testl(rdi, JVM_ACC_HAS_FINALIZER);
Label skip_register_finalizer;
__ jcc(Assembler::zero, skip_register_finalizer);
@@ -3188,11 +3188,11 @@ void TemplateTable::_new() {
// make sure klass is initialized & doesn't have finalizer
// make sure klass is fully initialized
- __ cmpl(Address(rcx, instanceKlass::init_state_offset_in_bytes() + sizeof(oopDesc)), instanceKlass::fully_initialized);
+ __ cmpb(Address(rcx, instanceKlass::init_state_offset()), instanceKlass::fully_initialized);
__ jcc(Assembler::notEqual, slow_case);
// get instance_size in instanceKlass (scaled to a count of bytes)
- __ movl(rdx, Address(rcx, Klass::layout_helper_offset_in_bytes() + sizeof(oopDesc)));
+ __ movl(rdx, Address(rcx, Klass::layout_helper_offset()));
// test to see if it has a finalizer or is malformed in some way
__ testl(rdx, Klass::_lh_instance_slow_path_bit);
__ jcc(Assembler::notZero, slow_case);
@@ -3293,7 +3293,7 @@ void TemplateTable::_new() {
__ bind(initialize_header);
if (UseBiasedLocking) {
__ pop(rcx); // get saved klass back in the register.
- __ movptr(rbx, Address(rcx, Klass::prototype_header_offset_in_bytes() + klassOopDesc::klass_part_offset_in_bytes()));
+ __ movptr(rbx, Address(rcx, Klass::prototype_header_offset()));
__ movptr(Address(rax, oopDesc::mark_offset_in_bytes ()), rbx);
} else {
__ movptr(Address(rax, oopDesc::mark_offset_in_bytes ()),
diff --git a/hotspot/src/cpu/x86/vm/templateTable_x86_64.cpp b/hotspot/src/cpu/x86/vm/templateTable_x86_64.cpp
index 818fb44..0e5ac27 100644
--- a/hotspot/src/cpu/x86/vm/templateTable_x86_64.cpp
+++ b/hotspot/src/cpu/x86/vm/templateTable_x86_64.cpp
@@ -1004,8 +1004,7 @@ void TemplateTable::aastore() {
// Move superklass into rax
__ load_klass(rax, rdx);
__ movptr(rax, Address(rax,
- sizeof(oopDesc) +
- objArrayKlass::element_klass_offset_in_bytes()));
+ objArrayKlass::element_klass_offset()));
// Compress array + index*oopSize + 12 into a single register. Frees rcx.
__ lea(rdx, element_address);
@@ -2067,7 +2066,7 @@ void TemplateTable::_return(TosState state) {
assert(state == vtos, "only valid state");
__ movptr(c_rarg1, aaddress(0));
__ load_klass(rdi, c_rarg1);
- __ movl(rdi, Address(rdi, Klass::access_flags_offset_in_bytes() + sizeof(oopDesc)));
+ __ movl(rdi, Address(rdi, Klass::access_flags_offset()));
__ testl(rdi, JVM_ACC_HAS_FINALIZER);
Label skip_register_finalizer;
__ jcc(Assembler::zero, skip_register_finalizer);
@@ -3235,16 +3234,15 @@ void TemplateTable::_new() {
// make sure klass is initialized & doesn't have finalizer
// make sure klass is fully initialized
- __ cmpl(Address(rsi,
- instanceKlass::init_state_offset_in_bytes() +
- sizeof(oopDesc)),
+ __ cmpb(Address(rsi,
+ instanceKlass::init_state_offset()),
instanceKlass::fully_initialized);
__ jcc(Assembler::notEqual, slow_case);
// get instance_size in instanceKlass (scaled to a count of bytes)
__ movl(rdx,
Address(rsi,
- Klass::layout_helper_offset_in_bytes() + sizeof(oopDesc)));
+ Klass::layout_helper_offset()));
// test to see if it has a finalizer or is malformed in some way
__ testl(rdx, Klass::_lh_instance_slow_path_bit);
__ jcc(Assembler::notZero, slow_case);
@@ -3337,7 +3335,7 @@ void TemplateTable::_new() {
// initialize object header only.
__ bind(initialize_header);
if (UseBiasedLocking) {
- __ movptr(rscratch1, Address(rsi, Klass::prototype_header_offset_in_bytes() + klassOopDesc::klass_part_offset_in_bytes()));
+ __ movptr(rscratch1, Address(rsi, Klass::prototype_header_offset()));
__ movptr(Address(rax, oopDesc::mark_offset_in_bytes()), rscratch1);
} else {
__ movptr(Address(rax, oopDesc::mark_offset_in_bytes()),
diff --git a/hotspot/src/cpu/x86/vm/vm_version_x86.cpp b/hotspot/src/cpu/x86/vm/vm_version_x86.cpp
index 7a8ee72..2155d76 100644
--- a/hotspot/src/cpu/x86/vm/vm_version_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/vm_version_x86.cpp
@@ -50,7 +50,7 @@ const char* VM_Version::_features_str = "";
VM_Version::CpuidInfo VM_Version::_cpuid_info = { 0, };
static BufferBlob* stub_blob;
-static const int stub_size = 400;
+static const int stub_size = 550;
extern "C" {
typedef void (*getPsrInfo_stub_t)(void*);
@@ -73,7 +73,7 @@ class VM_Version_StubGenerator: public StubCodeGenerator {
const uint32_t CPU_FAMILY_486 = (4 << CPU_FAMILY_SHIFT);
Label detect_486, cpu486, detect_586, std_cpuid1, std_cpuid4;
- Label ext_cpuid1, ext_cpuid5, done;
+ Label sef_cpuid, ext_cpuid, ext_cpuid1, ext_cpuid5, ext_cpuid7, done;
StubCodeMark mark(this, "VM_Version", "getPsrInfo_stub");
# define __ _masm->
@@ -229,14 +229,51 @@ class VM_Version_StubGenerator: public StubCodeGenerator {
__ movl(Address(rsi, 8), rcx);
__ movl(Address(rsi,12), rdx);
+ //
+ // Check if OS has enabled XGETBV instruction to access XCR0
+ // (OSXSAVE feature flag) and CPU supports AVX
+ //
+ __ andl(rcx, 0x18000000);
+ __ cmpl(rcx, 0x18000000);
+ __ jccb(Assembler::notEqual, sef_cpuid);
+
+ //
+ // XCR0, XFEATURE_ENABLED_MASK register
+ //
+ __ xorl(rcx, rcx); // zero for XCR0 register
+ __ xgetbv();
+ __ lea(rsi, Address(rbp, in_bytes(VM_Version::xem_xcr0_offset())));
+ __ movl(Address(rsi, 0), rax);
+ __ movl(Address(rsi, 4), rdx);
+
+ //
+ // cpuid(0x7) Structured Extended Features
+ //
+ __ bind(sef_cpuid);
+ __ movl(rax, 7);
+ __ cmpl(rax, Address(rbp, in_bytes(VM_Version::std_cpuid0_offset()))); // Is cpuid(0x7) supported?
+ __ jccb(Assembler::greater, ext_cpuid);
+
+ __ xorl(rcx, rcx);
+ __ cpuid();
+ __ lea(rsi, Address(rbp, in_bytes(VM_Version::sef_cpuid7_offset())));
+ __ movl(Address(rsi, 0), rax);
+ __ movl(Address(rsi, 4), rbx);
+
+ //
+ // Extended cpuid(0x80000000)
+ //
+ __ bind(ext_cpuid);
__ movl(rax, 0x80000000);
__ cpuid();
__ cmpl(rax, 0x80000000); // Is cpuid(0x80000001) supported?
__ jcc(Assembler::belowEqual, done);
__ cmpl(rax, 0x80000004); // Is cpuid(0x80000005) supported?
__ jccb(Assembler::belowEqual, ext_cpuid1);
- __ cmpl(rax, 0x80000007); // Is cpuid(0x80000008) supported?
+ __ cmpl(rax, 0x80000006); // Is cpuid(0x80000007) supported?
__ jccb(Assembler::belowEqual, ext_cpuid5);
+ __ cmpl(rax, 0x80000007); // Is cpuid(0x80000008) supported?
+ __ jccb(Assembler::belowEqual, ext_cpuid7);
//
// Extended cpuid(0x80000008)
//
@@ -249,6 +286,18 @@ class VM_Version_StubGenerator: public StubCodeGenerator {
__ movl(Address(rsi,12), rdx);
//
+ // Extended cpuid(0x80000007)
+ //
+ __ bind(ext_cpuid7);
+ __ movl(rax, 0x80000007);
+ __ cpuid();
+ __ lea(rsi, Address(rbp, in_bytes(VM_Version::ext_cpuid7_offset())));
+ __ movl(Address(rsi, 0), rax);
+ __ movl(Address(rsi, 4), rbx);
+ __ movl(Address(rsi, 8), rcx);
+ __ movl(Address(rsi,12), rdx);
+
+ //
// Extended cpuid(0x80000005)
//
__ bind(ext_cpuid5);
@@ -359,13 +408,19 @@ void VM_Version::get_processor_features() {
if (UseSSE < 1)
_cpuFeatures &= ~CPU_SSE;
+ if (UseAVX < 2)
+ _cpuFeatures &= ~CPU_AVX2;
+
+ if (UseAVX < 1)
+ _cpuFeatures &= ~CPU_AVX;
+
if (logical_processors_per_package() == 1) {
// HT processor could be installed on a system which doesn't support HT.
_cpuFeatures &= ~CPU_HT;
}
char buf[256];
- jio_snprintf(buf, sizeof(buf), "(%u cores per cpu, %u threads per core) family %d model %d stepping %d%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
+ jio_snprintf(buf, sizeof(buf), "(%u cores per cpu, %u threads per core) family %d model %d stepping %d%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
cores_per_cpu(), threads_per_core(),
cpu_family(), _model, _stepping,
(supports_cmov() ? ", cmov" : ""),
@@ -379,27 +434,39 @@ void VM_Version::get_processor_features() {
(supports_sse4_1() ? ", sse4.1" : ""),
(supports_sse4_2() ? ", sse4.2" : ""),
(supports_popcnt() ? ", popcnt" : ""),
+ (supports_avx() ? ", avx" : ""),
+ (supports_avx2() ? ", avx2" : ""),
(supports_mmx_ext() ? ", mmxext" : ""),
(supports_3dnow_prefetch() ? ", 3dnowpref" : ""),
(supports_lzcnt() ? ", lzcnt": ""),
(supports_sse4a() ? ", sse4a": ""),
- (supports_ht() ? ", ht": ""));
+ (supports_ht() ? ", ht": ""),
+ (supports_tsc() ? ", tsc": ""),
+ (supports_tscinv_bit() ? ", tscinvbit": ""),
+ (supports_tscinv() ? ", tscinv": ""));
_features_str = strdup(buf);
// UseSSE is set to the smaller of what hardware supports and what
// the command line requires. I.e., you cannot set UseSSE to 2 on
// older Pentiums which do not support it.
- if( UseSSE > 4 ) UseSSE=4;
- if( UseSSE < 0 ) UseSSE=0;
- if( !supports_sse4_1() ) // Drop to 3 if no SSE4 support
+ if (UseSSE > 4) UseSSE=4;
+ if (UseSSE < 0) UseSSE=0;
+ if (!supports_sse4_1()) // Drop to 3 if no SSE4 support
UseSSE = MIN2((intx)3,UseSSE);
- if( !supports_sse3() ) // Drop to 2 if no SSE3 support
+ if (!supports_sse3()) // Drop to 2 if no SSE3 support
UseSSE = MIN2((intx)2,UseSSE);
- if( !supports_sse2() ) // Drop to 1 if no SSE2 support
+ if (!supports_sse2()) // Drop to 1 if no SSE2 support
UseSSE = MIN2((intx)1,UseSSE);
- if( !supports_sse () ) // Drop to 0 if no SSE support
+ if (!supports_sse ()) // Drop to 0 if no SSE support
UseSSE = 0;
+ if (UseAVX > 2) UseAVX=2;
+ if (UseAVX < 0) UseAVX=0;
+ if (!supports_avx2()) // Drop to 1 if no AVX2 support
+ UseAVX = MIN2((intx)1,UseAVX);
+ if (!supports_avx ()) // Drop to 0 if no AVX support
+ UseAVX = 0;
+
// On new cpus instructions which update whole XMM register should be used
// to prevent partial register stall due to dependencies on high half.
//
@@ -534,6 +601,9 @@ void VM_Version::get_processor_features() {
if (FLAG_IS_DEFAULT(UsePopCountInstruction)) {
UsePopCountInstruction = true;
}
+ } else if (UsePopCountInstruction) {
+ warning("POPCNT instruction is not available on this CPU");
+ FLAG_SET_DEFAULT(UsePopCountInstruction, false);
}
#ifdef COMPILER2
@@ -605,7 +675,11 @@ void VM_Version::get_processor_features() {
if (PrintMiscellaneous && Verbose) {
tty->print_cr("Logical CPUs per core: %u",
logical_processors_per_package());
- tty->print_cr("UseSSE=%d",UseSSE);
+ tty->print("UseSSE=%d",UseSSE);
+ if (UseAVX > 0) {
+ tty->print(" UseAVX=%d",UseAVX);
+ }
+ tty->cr();
tty->print("Allocation");
if (AllocatePrefetchStyle <= 0 || UseSSE == 0 && !supports_3dnow_prefetch()) {
tty->print_cr(": no prefetching");
diff --git a/hotspot/src/cpu/x86/vm/vm_version_x86.hpp b/hotspot/src/cpu/x86/vm/vm_version_x86.hpp
index 47d81e0..27f3bde 100644
--- a/hotspot/src/cpu/x86/vm/vm_version_x86.hpp
+++ b/hotspot/src/cpu/x86/vm/vm_version_x86.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -78,7 +78,10 @@ public:
sse4_2 : 1,
: 2,
popcnt : 1,
- : 8;
+ : 3,
+ osxsave : 1,
+ avx : 1,
+ : 3;
} bits;
};
@@ -168,6 +171,15 @@ public:
} bits;
};
+ union ExtCpuid7Edx {
+ uint32_t value;
+ struct {
+ uint32_t : 8,
+ tsc_invariance : 1,
+ : 23;
+ } bits;
+ };
+
union ExtCpuid8Ecx {
uint32_t value;
struct {
@@ -176,32 +188,75 @@ public:
} bits;
};
+ union SefCpuid7Eax {
+ uint32_t value;
+ };
+
+ union SefCpuid7Ebx {
+ uint32_t value;
+ struct {
+ uint32_t fsgsbase : 1,
+ : 2,
+ bmi1 : 1,
+ : 1,
+ avx2 : 1,
+ : 2,
+ bmi2 : 1,
+ : 23;
+ } bits;
+ };
+
+ union XemXcr0Eax {
+ uint32_t value;
+ struct {
+ uint32_t x87 : 1,
+ sse : 1,
+ ymm : 1,
+ : 29;
+ } bits;
+ };
+
protected:
- static int _cpu;
- static int _model;
- static int _stepping;
- static int _cpuFeatures; // features returned by the "cpuid" instruction
- // 0 if this instruction is not available
- static const char* _features_str;
-
- enum {
- CPU_CX8 = (1 << 0), // next bits are from cpuid 1 (EDX)
- CPU_CMOV = (1 << 1),
- CPU_FXSR = (1 << 2),
- CPU_HT = (1 << 3),
- CPU_MMX = (1 << 4),
- CPU_3DNOW_PREFETCH = (1 << 5), // Processor supports 3dnow prefetch and prefetchw instructions
- // may not necessarily support other 3dnow instructions
- CPU_SSE = (1 << 6),
- CPU_SSE2 = (1 << 7),
- CPU_SSE3 = (1 << 8), // SSE3 comes from cpuid 1 (ECX)
- CPU_SSSE3 = (1 << 9),
- CPU_SSE4A = (1 << 10),
- CPU_SSE4_1 = (1 << 11),
- CPU_SSE4_2 = (1 << 12),
- CPU_POPCNT = (1 << 13),
- CPU_LZCNT = (1 << 14)
- } cpuFeatureFlags;
+ static int _cpu;
+ static int _model;
+ static int _stepping;
+ static int _cpuFeatures; // features returned by the "cpuid" instruction
+ // 0 if this instruction is not available
+ static const char* _features_str;
+
+ enum {
+ CPU_CX8 = (1 << 0), // next bits are from cpuid 1 (EDX)
+ CPU_CMOV = (1 << 1),
+ CPU_FXSR = (1 << 2),
+ CPU_HT = (1 << 3),
+ CPU_MMX = (1 << 4),
+ CPU_3DNOW_PREFETCH = (1 << 5), // Processor supports 3dnow prefetch and prefetchw instructions
+ // may not necessarily support other 3dnow instructions
+ CPU_SSE = (1 << 6),
+ CPU_SSE2 = (1 << 7),
+ CPU_SSE3 = (1 << 8), // SSE3 comes from cpuid 1 (ECX)
+ CPU_SSSE3 = (1 << 9),
+ CPU_SSE4A = (1 << 10),
+ CPU_SSE4_1 = (1 << 11),
+ CPU_SSE4_2 = (1 << 12),
+ CPU_POPCNT = (1 << 13),
+ CPU_LZCNT = (1 << 14),
+ CPU_TSC = (1 << 15),
+ CPU_TSCINV = (1 << 16),
+ CPU_AVX = (1 << 17),
+ CPU_AVX2 = (1 << 18)
+ } cpuFeatureFlags;
+
+ enum {
+ // AMD
+ CPU_FAMILY_AMD_11H = 17,
+ // Intel
+ CPU_FAMILY_INTEL_CORE = 6,
+ CPU_MODEL_NEHALEM_EP = 26,
+ CPU_MODEL_WESTMERE_EP = 44,
+// CPU_MODEL_IVYBRIDGE_EP = ??, TODO - get real value
+ CPU_MODEL_SANDYBRIDGE_EP = 45
+ } cpuExtendedFamily;
// cpuid information block. All info derived from executing cpuid with
// various function numbers is stored here. Intel and AMD info is
@@ -228,6 +283,12 @@ protected:
uint32_t dcp_cpuid4_ecx; // unused currently
uint32_t dcp_cpuid4_edx; // unused currently
+ // cpuid function 7 (structured extended features)
+ SefCpuid7Eax sef_cpuid7_eax;
+ SefCpuid7Ebx sef_cpuid7_ebx;
+ uint32_t sef_cpuid7_ecx; // unused currently
+ uint32_t sef_cpuid7_edx; // unused currently
+
// cpuid function 0xB (processor topology)
// ecx = 0
uint32_t tpl_cpuidB0_eax;
@@ -270,11 +331,21 @@ protected:
ExtCpuid5Ex ext_cpuid5_ecx; // L1 data cache info (AMD)
ExtCpuid5Ex ext_cpuid5_edx; // L1 instruction cache info (AMD)
+ // cpuid function 0x80000007
+ uint32_t ext_cpuid7_eax; // reserved
+ uint32_t ext_cpuid7_ebx; // reserved
+ uint32_t ext_cpuid7_ecx; // reserved
+ ExtCpuid7Edx ext_cpuid7_edx; // tscinv
+
// cpuid function 0x80000008
uint32_t ext_cpuid8_eax; // unused currently
uint32_t ext_cpuid8_ebx; // reserved
ExtCpuid8Ecx ext_cpuid8_ecx;
uint32_t ext_cpuid8_edx; // reserved
+
+ // extended control register XCR0 (the XFEATURE_ENABLED_MASK register)
+ XemXcr0Eax xem_xcr0_eax;
+ uint32_t xem_xcr0_edx; // reserved
};
// The actual cpuid info block
@@ -286,19 +357,23 @@ protected:
result += _cpuid_info.std_cpuid1_eax.bits.ext_family;
return result;
}
+
static uint32_t extended_cpu_model() {
uint32_t result = _cpuid_info.std_cpuid1_eax.bits.model;
result |= _cpuid_info.std_cpuid1_eax.bits.ext_model << 4;
return result;
}
+
static uint32_t cpu_stepping() {
uint32_t result = _cpuid_info.std_cpuid1_eax.bits.stepping;
return result;
}
+
static uint logical_processor_count() {
uint result = threads_per_core();
return result;
}
+
static uint32_t feature_flags() {
uint32_t result = 0;
if (_cpuid_info.std_cpuid1_edx.bits.cmpxchg8 != 0)
@@ -328,6 +403,18 @@ protected:
result |= CPU_SSE4_2;
if (_cpuid_info.std_cpuid1_ecx.bits.popcnt != 0)
result |= CPU_POPCNT;
+ if (_cpuid_info.std_cpuid1_ecx.bits.avx != 0 &&
+ _cpuid_info.std_cpuid1_ecx.bits.osxsave != 0 &&
+ _cpuid_info.xem_xcr0_eax.bits.sse != 0 &&
+ _cpuid_info.xem_xcr0_eax.bits.ymm != 0) {
+ result |= CPU_AVX;
+ if (_cpuid_info.sef_cpuid7_ebx.bits.avx2 != 0)
+ result |= CPU_AVX2;
+ }
+ if (_cpuid_info.std_cpuid1_edx.bits.tsc != 0)
+ result |= CPU_TSC;
+ if (_cpuid_info.ext_cpuid7_edx.bits.tsc_invariance != 0)
+ result |= CPU_TSCINV;
// AMD features.
if (is_amd()) {
@@ -350,12 +437,15 @@ public:
static ByteSize std_cpuid0_offset() { return byte_offset_of(CpuidInfo, std_max_function); }
static ByteSize std_cpuid1_offset() { return byte_offset_of(CpuidInfo, std_cpuid1_eax); }
static ByteSize dcp_cpuid4_offset() { return byte_offset_of(CpuidInfo, dcp_cpuid4_eax); }
+ static ByteSize sef_cpuid7_offset() { return byte_offset_of(CpuidInfo, sef_cpuid7_eax); }
static ByteSize ext_cpuid1_offset() { return byte_offset_of(CpuidInfo, ext_cpuid1_eax); }
static ByteSize ext_cpuid5_offset() { return byte_offset_of(CpuidInfo, ext_cpuid5_eax); }
+ static ByteSize ext_cpuid7_offset() { return byte_offset_of(CpuidInfo, ext_cpuid7_eax); }
static ByteSize ext_cpuid8_offset() { return byte_offset_of(CpuidInfo, ext_cpuid8_eax); }
static ByteSize tpl_cpuidB0_offset() { return byte_offset_of(CpuidInfo, tpl_cpuidB0_eax); }
static ByteSize tpl_cpuidB1_offset() { return byte_offset_of(CpuidInfo, tpl_cpuidB1_eax); }
static ByteSize tpl_cpuidB2_offset() { return byte_offset_of(CpuidInfo, tpl_cpuidB2_eax); }
+ static ByteSize xem_xcr0_offset() { return byte_offset_of(CpuidInfo, xem_xcr0_eax); }
// Initialization
static void initialize();
@@ -382,7 +472,6 @@ public:
//
static int cpu_family() { return _cpu;}
static bool is_P6() { return cpu_family() >= 6; }
-
static bool is_amd() { assert_is_initialized(); return _cpuid_info.std_vendor_name_0 == 0x68747541; } // 'htuA'
static bool is_intel() { assert_is_initialized(); return _cpuid_info.std_vendor_name_0 == 0x756e6547; } // 'uneG'
@@ -447,14 +536,51 @@ public:
static bool supports_sse4_1() { return (_cpuFeatures & CPU_SSE4_1) != 0; }
static bool supports_sse4_2() { return (_cpuFeatures & CPU_SSE4_2) != 0; }
static bool supports_popcnt() { return (_cpuFeatures & CPU_POPCNT) != 0; }
- //
+ static bool supports_avx() { return (_cpuFeatures & CPU_AVX) != 0; }
+ static bool supports_avx2() { return (_cpuFeatures & CPU_AVX2) != 0; }
+ static bool supports_tsc() { return (_cpuFeatures & CPU_TSC) != 0; }
+
+ // Intel features
+ static bool is_intel_family_core() { return is_intel() &&
+ extended_cpu_family() == CPU_FAMILY_INTEL_CORE; }
+
+ static bool is_intel_tsc_synched_at_init() {
+ if (is_intel_family_core()) {
+ uint32_t ext_model = extended_cpu_model();
+ if (ext_model == CPU_MODEL_NEHALEM_EP ||
+ ext_model == CPU_MODEL_WESTMERE_EP ||
+// TODO ext_model == CPU_MODEL_IVYBRIDGE_EP ||
+ ext_model == CPU_MODEL_SANDYBRIDGE_EP) {
+ // 2-socket invtsc support. EX versions with 4 sockets are not
+ // guaranteed to synchronize tscs at initialization via a double
+ // handshake. The tscs can be explicitly set in software. Code
+ // that uses tsc values must be prepared for them to arbitrarily
+ // jump backward or forward.
+ return true;
+ }
+ }
+ return false;
+ }
+
// AMD features
- //
static bool supports_3dnow_prefetch() { return (_cpuFeatures & CPU_3DNOW_PREFETCH) != 0; }
static bool supports_mmx_ext() { return is_amd() && _cpuid_info.ext_cpuid1_edx.bits.mmx_amd != 0; }
static bool supports_lzcnt() { return (_cpuFeatures & CPU_LZCNT) != 0; }
static bool supports_sse4a() { return (_cpuFeatures & CPU_SSE4A) != 0; }
+ static bool is_amd_Barcelona() { return is_amd() &&
+ extended_cpu_family() == CPU_FAMILY_AMD_11H; }
+
+ // Intel and AMD newer cores support fast timestamps well
+ static bool supports_tscinv_bit() {
+ return (_cpuFeatures & CPU_TSCINV) != 0;
+ }
+ static bool supports_tscinv() {
+ return supports_tscinv_bit() &&
+ ( (is_amd() && !is_amd_Barcelona()) ||
+ is_intel_tsc_synched_at_init() );
+ }
+
// Intel Core and newer cpus have fast IDIV instruction (excluding Atom).
static bool has_fast_idiv() { return is_intel() && cpu_family() == 6 &&
supports_sse3() && _model != 0x1C; }
diff --git a/hotspot/src/cpu/x86/vm/x86.ad b/hotspot/src/cpu/x86/vm/x86.ad
new file mode 100644
index 0000000..5f165a9
--- /dev/null
+++ b/hotspot/src/cpu/x86/vm/x86.ad
@@ -0,0 +1,777 @@
+//
+// 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.
+//
+// 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.
+//
+//
+
+// X86 Common Architecture Description File
+
+source %{
+ // Float masks come from different places depending on platform.
+#ifdef _LP64
+ static address float_signmask() { return StubRoutines::x86::float_sign_mask(); }
+ static address float_signflip() { return StubRoutines::x86::float_sign_flip(); }
+ static address double_signmask() { return StubRoutines::x86::double_sign_mask(); }
+ static address double_signflip() { return StubRoutines::x86::double_sign_flip(); }
+#else
+ static address float_signmask() { return (address)float_signmask_pool; }
+ static address float_signflip() { return (address)float_signflip_pool; }
+ static address double_signmask() { return (address)double_signmask_pool; }
+ static address double_signflip() { return (address)double_signflip_pool; }
+#endif
+%}
+
+// INSTRUCTIONS -- Platform independent definitions (same for 32- and 64-bit)
+
+instruct addF_reg(regF dst, regF src) %{
+ predicate((UseSSE>=1) && (UseAVX == 0));
+ match(Set dst (AddF dst src));
+
+ format %{ "addss $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ addss($dst$$XMMRegister, $src$$XMMRegister);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct addF_mem(regF dst, memory src) %{
+ predicate((UseSSE>=1) && (UseAVX == 0));
+ match(Set dst (AddF dst (LoadF src)));
+
+ format %{ "addss $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ addss($dst$$XMMRegister, $src$$Address);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct addF_imm(regF dst, immF con) %{
+ predicate((UseSSE>=1) && (UseAVX == 0));
+ match(Set dst (AddF dst con));
+ format %{ "addss $dst, [$constantaddress]\t# load from constant table: float=$con" %}
+ ins_cost(150);
+ ins_encode %{
+ __ addss($dst$$XMMRegister, $constantaddress($con));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vaddF_reg(regF dst, regF src1, regF src2) %{
+ predicate(UseAVX > 0);
+ match(Set dst (AddF src1 src2));
+
+ format %{ "vaddss $dst, $src1, $src2" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vaddss($dst$$XMMRegister, $src1$$XMMRegister, $src2$$XMMRegister);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vaddF_mem(regF dst, regF src1, memory src2) %{
+ predicate(UseAVX > 0);
+ match(Set dst (AddF src1 (LoadF src2)));
+
+ format %{ "vaddss $dst, $src1, $src2" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vaddss($dst$$XMMRegister, $src1$$XMMRegister, $src2$$Address);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vaddF_imm(regF dst, regF src, immF con) %{
+ predicate(UseAVX > 0);
+ match(Set dst (AddF src con));
+
+ format %{ "vaddss $dst, $src, [$constantaddress]\t# load from constant table: float=$con" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vaddss($dst$$XMMRegister, $src$$XMMRegister, $constantaddress($con));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct addD_reg(regD dst, regD src) %{
+ predicate((UseSSE>=2) && (UseAVX == 0));
+ match(Set dst (AddD dst src));
+
+ format %{ "addsd $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ addsd($dst$$XMMRegister, $src$$XMMRegister);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct addD_mem(regD dst, memory src) %{
+ predicate((UseSSE>=2) && (UseAVX == 0));
+ match(Set dst (AddD dst (LoadD src)));
+
+ format %{ "addsd $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ addsd($dst$$XMMRegister, $src$$Address);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct addD_imm(regD dst, immD con) %{
+ predicate((UseSSE>=2) && (UseAVX == 0));
+ match(Set dst (AddD dst con));
+ format %{ "addsd $dst, [$constantaddress]\t# load from constant table: double=$con" %}
+ ins_cost(150);
+ ins_encode %{
+ __ addsd($dst$$XMMRegister, $constantaddress($con));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vaddD_reg(regD dst, regD src1, regD src2) %{
+ predicate(UseAVX > 0);
+ match(Set dst (AddD src1 src2));
+
+ format %{ "vaddsd $dst, $src1, $src2" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vaddsd($dst$$XMMRegister, $src1$$XMMRegister, $src2$$XMMRegister);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vaddD_mem(regD dst, regD src1, memory src2) %{
+ predicate(UseAVX > 0);
+ match(Set dst (AddD src1 (LoadD src2)));
+
+ format %{ "vaddsd $dst, $src1, $src2" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vaddsd($dst$$XMMRegister, $src1$$XMMRegister, $src2$$Address);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vaddD_imm(regD dst, regD src, immD con) %{
+ predicate(UseAVX > 0);
+ match(Set dst (AddD src con));
+
+ format %{ "vaddsd $dst, $src, [$constantaddress]\t# load from constant table: double=$con" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vaddsd($dst$$XMMRegister, $src$$XMMRegister, $constantaddress($con));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct subF_reg(regF dst, regF src) %{
+ predicate((UseSSE>=1) && (UseAVX == 0));
+ match(Set dst (SubF dst src));
+
+ format %{ "subss $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ subss($dst$$XMMRegister, $src$$XMMRegister);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct subF_mem(regF dst, memory src) %{
+ predicate((UseSSE>=1) && (UseAVX == 0));
+ match(Set dst (SubF dst (LoadF src)));
+
+ format %{ "subss $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ subss($dst$$XMMRegister, $src$$Address);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct subF_imm(regF dst, immF con) %{
+ predicate((UseSSE>=1) && (UseAVX == 0));
+ match(Set dst (SubF dst con));
+ format %{ "subss $dst, [$constantaddress]\t# load from constant table: float=$con" %}
+ ins_cost(150);
+ ins_encode %{
+ __ subss($dst$$XMMRegister, $constantaddress($con));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vsubF_reg(regF dst, regF src1, regF src2) %{
+ predicate(UseAVX > 0);
+ match(Set dst (SubF src1 src2));
+
+ format %{ "vsubss $dst, $src1, $src2" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vsubss($dst$$XMMRegister, $src1$$XMMRegister, $src2$$XMMRegister);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vsubF_mem(regF dst, regF src1, memory src2) %{
+ predicate(UseAVX > 0);
+ match(Set dst (SubF src1 (LoadF src2)));
+
+ format %{ "vsubss $dst, $src1, $src2" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vsubss($dst$$XMMRegister, $src1$$XMMRegister, $src2$$Address);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vsubF_imm(regF dst, regF src, immF con) %{
+ predicate(UseAVX > 0);
+ match(Set dst (SubF src con));
+
+ format %{ "vsubss $dst, $src, [$constantaddress]\t# load from constant table: float=$con" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vsubss($dst$$XMMRegister, $src$$XMMRegister, $constantaddress($con));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct subD_reg(regD dst, regD src) %{
+ predicate((UseSSE>=2) && (UseAVX == 0));
+ match(Set dst (SubD dst src));
+
+ format %{ "subsd $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ subsd($dst$$XMMRegister, $src$$XMMRegister);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct subD_mem(regD dst, memory src) %{
+ predicate((UseSSE>=2) && (UseAVX == 0));
+ match(Set dst (SubD dst (LoadD src)));
+
+ format %{ "subsd $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ subsd($dst$$XMMRegister, $src$$Address);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct subD_imm(regD dst, immD con) %{
+ predicate((UseSSE>=2) && (UseAVX == 0));
+ match(Set dst (SubD dst con));
+ format %{ "subsd $dst, [$constantaddress]\t# load from constant table: double=$con" %}
+ ins_cost(150);
+ ins_encode %{
+ __ subsd($dst$$XMMRegister, $constantaddress($con));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vsubD_reg(regD dst, regD src1, regD src2) %{
+ predicate(UseAVX > 0);
+ match(Set dst (SubD src1 src2));
+
+ format %{ "vsubsd $dst, $src1, $src2" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vsubsd($dst$$XMMRegister, $src1$$XMMRegister, $src2$$XMMRegister);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vsubD_mem(regD dst, regD src1, memory src2) %{
+ predicate(UseAVX > 0);
+ match(Set dst (SubD src1 (LoadD src2)));
+
+ format %{ "vsubsd $dst, $src1, $src2" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vsubsd($dst$$XMMRegister, $src1$$XMMRegister, $src2$$Address);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vsubD_imm(regD dst, regD src, immD con) %{
+ predicate(UseAVX > 0);
+ match(Set dst (SubD src con));
+
+ format %{ "vsubsd $dst, $src, [$constantaddress]\t# load from constant table: double=$con" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vsubsd($dst$$XMMRegister, $src$$XMMRegister, $constantaddress($con));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct mulF_reg(regF dst, regF src) %{
+ predicate((UseSSE>=1) && (UseAVX == 0));
+ match(Set dst (MulF dst src));
+
+ format %{ "mulss $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ mulss($dst$$XMMRegister, $src$$XMMRegister);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct mulF_mem(regF dst, memory src) %{
+ predicate((UseSSE>=1) && (UseAVX == 0));
+ match(Set dst (MulF dst (LoadF src)));
+
+ format %{ "mulss $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ mulss($dst$$XMMRegister, $src$$Address);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct mulF_imm(regF dst, immF con) %{
+ predicate((UseSSE>=1) && (UseAVX == 0));
+ match(Set dst (MulF dst con));
+ format %{ "mulss $dst, [$constantaddress]\t# load from constant table: float=$con" %}
+ ins_cost(150);
+ ins_encode %{
+ __ mulss($dst$$XMMRegister, $constantaddress($con));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vmulF_reg(regF dst, regF src1, regF src2) %{
+ predicate(UseAVX > 0);
+ match(Set dst (MulF src1 src2));
+
+ format %{ "vmulss $dst, $src1, $src2" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vmulss($dst$$XMMRegister, $src1$$XMMRegister, $src2$$XMMRegister);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vmulF_mem(regF dst, regF src1, memory src2) %{
+ predicate(UseAVX > 0);
+ match(Set dst (MulF src1 (LoadF src2)));
+
+ format %{ "vmulss $dst, $src1, $src2" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vmulss($dst$$XMMRegister, $src1$$XMMRegister, $src2$$Address);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vmulF_imm(regF dst, regF src, immF con) %{
+ predicate(UseAVX > 0);
+ match(Set dst (MulF src con));
+
+ format %{ "vmulss $dst, $src, [$constantaddress]\t# load from constant table: float=$con" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vmulss($dst$$XMMRegister, $src$$XMMRegister, $constantaddress($con));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct mulD_reg(regD dst, regD src) %{
+ predicate((UseSSE>=2) && (UseAVX == 0));
+ match(Set dst (MulD dst src));
+
+ format %{ "mulsd $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ mulsd($dst$$XMMRegister, $src$$XMMRegister);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct mulD_mem(regD dst, memory src) %{
+ predicate((UseSSE>=2) && (UseAVX == 0));
+ match(Set dst (MulD dst (LoadD src)));
+
+ format %{ "mulsd $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ mulsd($dst$$XMMRegister, $src$$Address);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct mulD_imm(regD dst, immD con) %{
+ predicate((UseSSE>=2) && (UseAVX == 0));
+ match(Set dst (MulD dst con));
+ format %{ "mulsd $dst, [$constantaddress]\t# load from constant table: double=$con" %}
+ ins_cost(150);
+ ins_encode %{
+ __ mulsd($dst$$XMMRegister, $constantaddress($con));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vmulD_reg(regD dst, regD src1, regD src2) %{
+ predicate(UseAVX > 0);
+ match(Set dst (MulD src1 src2));
+
+ format %{ "vmulsd $dst, $src1, $src2" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vmulsd($dst$$XMMRegister, $src1$$XMMRegister, $src2$$XMMRegister);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vmulD_mem(regD dst, regD src1, memory src2) %{
+ predicate(UseAVX > 0);
+ match(Set dst (MulD src1 (LoadD src2)));
+
+ format %{ "vmulsd $dst, $src1, $src2" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vmulsd($dst$$XMMRegister, $src1$$XMMRegister, $src2$$Address);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vmulD_imm(regD dst, regD src, immD con) %{
+ predicate(UseAVX > 0);
+ match(Set dst (MulD src con));
+
+ format %{ "vmulsd $dst, $src, [$constantaddress]\t# load from constant table: double=$con" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vmulsd($dst$$XMMRegister, $src$$XMMRegister, $constantaddress($con));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct divF_reg(regF dst, regF src) %{
+ predicate((UseSSE>=1) && (UseAVX == 0));
+ match(Set dst (DivF dst src));
+
+ format %{ "divss $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ divss($dst$$XMMRegister, $src$$XMMRegister);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct divF_mem(regF dst, memory src) %{
+ predicate((UseSSE>=1) && (UseAVX == 0));
+ match(Set dst (DivF dst (LoadF src)));
+
+ format %{ "divss $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ divss($dst$$XMMRegister, $src$$Address);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct divF_imm(regF dst, immF con) %{
+ predicate((UseSSE>=1) && (UseAVX == 0));
+ match(Set dst (DivF dst con));
+ format %{ "divss $dst, [$constantaddress]\t# load from constant table: float=$con" %}
+ ins_cost(150);
+ ins_encode %{
+ __ divss($dst$$XMMRegister, $constantaddress($con));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vdivF_reg(regF dst, regF src1, regF src2) %{
+ predicate(UseAVX > 0);
+ match(Set dst (DivF src1 src2));
+
+ format %{ "vdivss $dst, $src1, $src2" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vdivss($dst$$XMMRegister, $src1$$XMMRegister, $src2$$XMMRegister);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vdivF_mem(regF dst, regF src1, memory src2) %{
+ predicate(UseAVX > 0);
+ match(Set dst (DivF src1 (LoadF src2)));
+
+ format %{ "vdivss $dst, $src1, $src2" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vdivss($dst$$XMMRegister, $src1$$XMMRegister, $src2$$Address);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vdivF_imm(regF dst, regF src, immF con) %{
+ predicate(UseAVX > 0);
+ match(Set dst (DivF src con));
+
+ format %{ "vdivss $dst, $src, [$constantaddress]\t# load from constant table: float=$con" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vdivss($dst$$XMMRegister, $src$$XMMRegister, $constantaddress($con));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct divD_reg(regD dst, regD src) %{
+ predicate((UseSSE>=2) && (UseAVX == 0));
+ match(Set dst (DivD dst src));
+
+ format %{ "divsd $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ divsd($dst$$XMMRegister, $src$$XMMRegister);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct divD_mem(regD dst, memory src) %{
+ predicate((UseSSE>=2) && (UseAVX == 0));
+ match(Set dst (DivD dst (LoadD src)));
+
+ format %{ "divsd $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ divsd($dst$$XMMRegister, $src$$Address);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct divD_imm(regD dst, immD con) %{
+ predicate((UseSSE>=2) && (UseAVX == 0));
+ match(Set dst (DivD dst con));
+ format %{ "divsd $dst, [$constantaddress]\t# load from constant table: double=$con" %}
+ ins_cost(150);
+ ins_encode %{
+ __ divsd($dst$$XMMRegister, $constantaddress($con));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vdivD_reg(regD dst, regD src1, regD src2) %{
+ predicate(UseAVX > 0);
+ match(Set dst (DivD src1 src2));
+
+ format %{ "vdivsd $dst, $src1, $src2" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vdivsd($dst$$XMMRegister, $src1$$XMMRegister, $src2$$XMMRegister);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vdivD_mem(regD dst, regD src1, memory src2) %{
+ predicate(UseAVX > 0);
+ match(Set dst (DivD src1 (LoadD src2)));
+
+ format %{ "vdivsd $dst, $src1, $src2" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vdivsd($dst$$XMMRegister, $src1$$XMMRegister, $src2$$Address);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vdivD_imm(regD dst, regD src, immD con) %{
+ predicate(UseAVX > 0);
+ match(Set dst (DivD src con));
+
+ format %{ "vdivsd $dst, $src, [$constantaddress]\t# load from constant table: double=$con" %}
+ ins_cost(150);
+ ins_encode %{
+ __ vdivsd($dst$$XMMRegister, $src$$XMMRegister, $constantaddress($con));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct absF_reg(regF dst) %{
+ predicate((UseSSE>=1) && (UseAVX == 0));
+ match(Set dst (AbsF dst));
+ ins_cost(150);
+ format %{ "andps $dst, [0x7fffffff]\t# abs float by sign masking" %}
+ ins_encode %{
+ __ andps($dst$$XMMRegister, ExternalAddress(float_signmask()));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vabsF_reg(regF dst, regF src) %{
+ predicate(UseAVX > 0);
+ match(Set dst (AbsF src));
+ ins_cost(150);
+ format %{ "vandps $dst, $src, [0x7fffffff]\t# abs float by sign masking" %}
+ ins_encode %{
+ __ vandps($dst$$XMMRegister, $src$$XMMRegister,
+ ExternalAddress(float_signmask()));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct absD_reg(regD dst) %{
+ predicate((UseSSE>=2) && (UseAVX == 0));
+ match(Set dst (AbsD dst));
+ ins_cost(150);
+ format %{ "andpd $dst, [0x7fffffffffffffff]\t"
+ "# abs double by sign masking" %}
+ ins_encode %{
+ __ andpd($dst$$XMMRegister, ExternalAddress(double_signmask()));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vabsD_reg(regD dst, regD src) %{
+ predicate(UseAVX > 0);
+ match(Set dst (AbsD src));
+ ins_cost(150);
+ format %{ "vandpd $dst, $src, [0x7fffffffffffffff]\t"
+ "# abs double by sign masking" %}
+ ins_encode %{
+ __ vandpd($dst$$XMMRegister, $src$$XMMRegister,
+ ExternalAddress(double_signmask()));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct negF_reg(regF dst) %{
+ predicate((UseSSE>=1) && (UseAVX == 0));
+ match(Set dst (NegF dst));
+ ins_cost(150);
+ format %{ "xorps $dst, [0x80000000]\t# neg float by sign flipping" %}
+ ins_encode %{
+ __ xorps($dst$$XMMRegister, ExternalAddress(float_signflip()));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vnegF_reg(regF dst, regF src) %{
+ predicate(UseAVX > 0);
+ match(Set dst (NegF src));
+ ins_cost(150);
+ format %{ "vxorps $dst, $src, [0x80000000]\t# neg float by sign flipping" %}
+ ins_encode %{
+ __ vxorps($dst$$XMMRegister, $src$$XMMRegister,
+ ExternalAddress(float_signflip()));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct negD_reg(regD dst) %{
+ predicate((UseSSE>=2) && (UseAVX == 0));
+ match(Set dst (NegD dst));
+ ins_cost(150);
+ format %{ "xorpd $dst, [0x8000000000000000]\t"
+ "# neg double by sign flipping" %}
+ ins_encode %{
+ __ xorpd($dst$$XMMRegister, ExternalAddress(double_signflip()));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct vnegD_reg(regD dst, regD src) %{
+ predicate(UseAVX > 0);
+ match(Set dst (NegD src));
+ ins_cost(150);
+ format %{ "vxorpd $dst, $src, [0x8000000000000000]\t"
+ "# neg double by sign flipping" %}
+ ins_encode %{
+ __ vxorpd($dst$$XMMRegister, $src$$XMMRegister,
+ ExternalAddress(double_signflip()));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct sqrtF_reg(regF dst, regF src) %{
+ predicate(UseSSE>=1);
+ match(Set dst (ConvD2F (SqrtD (ConvF2D src))));
+
+ format %{ "sqrtss $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ sqrtss($dst$$XMMRegister, $src$$XMMRegister);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct sqrtF_mem(regF dst, memory src) %{
+ predicate(UseSSE>=1);
+ match(Set dst (ConvD2F (SqrtD (ConvF2D (LoadF src)))));
+
+ format %{ "sqrtss $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ sqrtss($dst$$XMMRegister, $src$$Address);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct sqrtF_imm(regF dst, immF con) %{
+ predicate(UseSSE>=1);
+ match(Set dst (ConvD2F (SqrtD (ConvF2D con))));
+ format %{ "sqrtss $dst, [$constantaddress]\t# load from constant table: float=$con" %}
+ ins_cost(150);
+ ins_encode %{
+ __ sqrtss($dst$$XMMRegister, $constantaddress($con));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct sqrtD_reg(regD dst, regD src) %{
+ predicate(UseSSE>=2);
+ match(Set dst (SqrtD src));
+
+ format %{ "sqrtsd $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ sqrtsd($dst$$XMMRegister, $src$$XMMRegister);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct sqrtD_mem(regD dst, memory src) %{
+ predicate(UseSSE>=2);
+ match(Set dst (SqrtD (LoadD src)));
+
+ format %{ "sqrtsd $dst, $src" %}
+ ins_cost(150);
+ ins_encode %{
+ __ sqrtsd($dst$$XMMRegister, $src$$Address);
+ %}
+ ins_pipe(pipe_slow);
+%}
+
+instruct sqrtD_imm(regD dst, immD con) %{
+ predicate(UseSSE>=2);
+ match(Set dst (SqrtD con));
+ format %{ "sqrtsd $dst, [$constantaddress]\t# load from constant table: double=$con" %}
+ ins_cost(150);
+ ins_encode %{
+ __ sqrtsd($dst$$XMMRegister, $constantaddress($con));
+ %}
+ ins_pipe(pipe_slow);
+%}
+
diff --git a/hotspot/src/cpu/x86/vm/x86_32.ad b/hotspot/src/cpu/x86/vm/x86_32.ad
index e00df3a..ca85f15 100644
--- a/hotspot/src/cpu/x86/vm/x86_32.ad
+++ b/hotspot/src/cpu/x86/vm/x86_32.ad
@@ -281,7 +281,7 @@ static int pre_call_FPU_size() {
}
static int preserve_SP_size() {
- return LP64_ONLY(1 +) 2; // [rex,] op, rm(reg/reg)
+ return 2; // op, rm(reg/reg)
}
// !!!!! Special hack to get all type of calls to specify the byte offset
@@ -495,21 +495,44 @@ void encode_Copy( CodeBuffer &cbuf, int dst_encoding, int src_encoding ) {
}
}
-void encode_CopyXD( CodeBuffer &cbuf, int dst_encoding, int src_encoding ) {
- if( dst_encoding == src_encoding ) {
- // reg-reg copy, use an empty encoding
- } else {
- MacroAssembler _masm(&cbuf);
+void emit_cmpfp_fixup(MacroAssembler& _masm) {
+ Label exit;
+ __ jccb(Assembler::noParity, exit);
+ __ pushf();
+ //
+ // comiss/ucomiss instructions set ZF,PF,CF flags and
+ // zero OF,AF,SF for NaN values.
+ // Fixup flags by zeroing ZF,PF so that compare of NaN
+ // values returns 'less than' result (CF is set).
+ // Leave the rest of flags unchanged.
+ //
+ // 7 6 5 4 3 2 1 0
+ // |S|Z|r|A|r|P|r|C| (r - reserved bit)
+ // 0 0 1 0 1 0 1 1 (0x2B)
+ //
+ __ andl(Address(rsp, 0), 0xffffff2b);
+ __ popf();
+ __ bind(exit);
+}
- __ movdqa(as_XMMRegister(dst_encoding), as_XMMRegister(src_encoding));
- }
+void emit_cmpfp3(MacroAssembler& _masm, Register dst) {
+ Label done;
+ __ movl(dst, -1);
+ __ jcc(Assembler::parity, done);
+ __ jcc(Assembler::below, done);
+ __ setb(Assembler::notEqual, dst);
+ __ movzbl(dst, dst);
+ __ bind(done);
}
//=============================================================================
-const bool Matcher::constant_table_absolute_addressing = true;
const RegMask& MachConstantBaseNode::_out_RegMask = RegMask::Empty;
+int Compile::ConstantTable::calculate_table_base_offset() const {
+ return 0; // absolute addressing, no offset
+}
+
void MachConstantBaseNode::emit(CodeBuffer& cbuf, PhaseRegAlloc* ra_) const {
// Empty encoding
}
@@ -639,6 +662,12 @@ void MachPrologNode::emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const {
}
#endif
+ if (C->has_mach_constant_base_node()) {
+ // NOTE: We set the table base offset here because users might be
+ // emitted before MachConstantBaseNode.
+ Compile::ConstantTable& constant_table = C->constant_table();
+ constant_table.set_table_base_offset(constant_table.calculate_table_base_offset());
+ }
}
uint MachPrologNode::size(PhaseRegAlloc *ra_) const {
@@ -783,92 +812,88 @@ static int impl_helper( CodeBuffer *cbuf, bool do_size, bool is_load, int offset
// Helper for XMM registers. Extra opcode bits, limited syntax.
static int impl_x_helper( CodeBuffer *cbuf, bool do_size, bool is_load,
int offset, int reg_lo, int reg_hi, int size, outputStream* st ) {
- if( cbuf ) {
- if( reg_lo+1 == reg_hi ) { // double move?
- if( is_load && !UseXmmLoadAndClearUpper )
- emit_opcode(*cbuf, 0x66 ); // use 'movlpd' for load
- else
- emit_opcode(*cbuf, 0xF2 ); // use 'movsd' otherwise
+ if (cbuf) {
+ MacroAssembler _masm(cbuf);
+ if (reg_lo+1 == reg_hi) { // double move?
+ if (is_load) {
+ __ movdbl(as_XMMRegister(Matcher::_regEncode[reg_lo]), Address(rsp, offset));
+ } else {
+ __ movdbl(Address(rsp, offset), as_XMMRegister(Matcher::_regEncode[reg_lo]));
+ }
} else {
- emit_opcode(*cbuf, 0xF3 );
+ if (is_load) {
+ __ movflt(as_XMMRegister(Matcher::_regEncode[reg_lo]), Address(rsp, offset));
+ } else {
+ __ movflt(Address(rsp, offset), as_XMMRegister(Matcher::_regEncode[reg_lo]));
+ }
}
- emit_opcode(*cbuf, 0x0F );
- if( reg_lo+1 == reg_hi && is_load && !UseXmmLoadAndClearUpper )
- emit_opcode(*cbuf, 0x12 ); // use 'movlpd' for load
- else
- emit_opcode(*cbuf, is_load ? 0x10 : 0x11 );
- encode_RegMem(*cbuf, Matcher::_regEncode[reg_lo], ESP_enc, 0x4, 0, offset, false);
#ifndef PRODUCT
- } else if( !do_size ) {
- if( size != 0 ) st->print("\n\t");
- if( reg_lo+1 == reg_hi ) { // double move?
- if( is_load ) st->print("%s %s,[ESP + #%d]",
- UseXmmLoadAndClearUpper ? "MOVSD " : "MOVLPD",
- Matcher::regName[reg_lo], offset);
- else st->print("MOVSD [ESP + #%d],%s",
- offset, Matcher::regName[reg_lo]);
+ } else if (!do_size) {
+ if (size != 0) st->print("\n\t");
+ if (reg_lo+1 == reg_hi) { // double move?
+ if (is_load) st->print("%s %s,[ESP + #%d]",
+ UseXmmLoadAndClearUpper ? "MOVSD " : "MOVLPD",
+ Matcher::regName[reg_lo], offset);
+ else st->print("MOVSD [ESP + #%d],%s",
+ offset, Matcher::regName[reg_lo]);
} else {
- if( is_load ) st->print("MOVSS %s,[ESP + #%d]",
- Matcher::regName[reg_lo], offset);
- else st->print("MOVSS [ESP + #%d],%s",
- offset, Matcher::regName[reg_lo]);
+ if (is_load) st->print("MOVSS %s,[ESP + #%d]",
+ Matcher::regName[reg_lo], offset);
+ else st->print("MOVSS [ESP + #%d],%s",
+ offset, Matcher::regName[reg_lo]);
}
#endif
}
int offset_size = (offset == 0) ? 0 : ((offset <= 127) ? 1 : 4);
+ // VEX_2bytes prefix is used if UseAVX > 0, so it takes the same 2 bytes.
return size+5+offset_size;
}
static int impl_movx_helper( CodeBuffer *cbuf, bool do_size, int src_lo, int dst_lo,
int src_hi, int dst_hi, int size, outputStream* st ) {
- if( UseXmmRegToRegMoveAll ) {//Use movaps,movapd to move between xmm registers
- if( cbuf ) {
- if( (src_lo+1 == src_hi && dst_lo+1 == dst_hi) ) {
- emit_opcode(*cbuf, 0x66 );
- }
- emit_opcode(*cbuf, 0x0F );
- emit_opcode(*cbuf, 0x28 );
- emit_rm (*cbuf, 0x3, Matcher::_regEncode[dst_lo], Matcher::_regEncode[src_lo] );
+ if (cbuf) {
+ MacroAssembler _masm(cbuf);
+ if (src_lo+1 == src_hi && dst_lo+1 == dst_hi) { // double move?
+ __ movdbl(as_XMMRegister(Matcher::_regEncode[dst_lo]),
+ as_XMMRegister(Matcher::_regEncode[src_lo]));
+ } else {
+ __ movflt(as_XMMRegister(Matcher::_regEncode[dst_lo]),
+ as_XMMRegister(Matcher::_regEncode[src_lo]));
+ }
#ifndef PRODUCT
- } else if( !do_size ) {
- if( size != 0 ) st->print("\n\t");
- if( src_lo+1 == src_hi && dst_lo+1 == dst_hi ) { // double move?
+ } else if (!do_size) {
+ if (size != 0) st->print("\n\t");
+ if (UseXmmRegToRegMoveAll) {//Use movaps,movapd to move between xmm registers
+ if (src_lo+1 == src_hi && dst_lo+1 == dst_hi) { // double move?
st->print("MOVAPD %s,%s",Matcher::regName[dst_lo],Matcher::regName[src_lo]);
} else {
st->print("MOVAPS %s,%s",Matcher::regName[dst_lo],Matcher::regName[src_lo]);
}
-#endif
- }
- return size + ((src_lo+1 == src_hi && dst_lo+1 == dst_hi) ? 4 : 3);
- } else {
- if( cbuf ) {
- emit_opcode(*cbuf, (src_lo+1 == src_hi && dst_lo+1 == dst_hi) ? 0xF2 : 0xF3 );
- emit_opcode(*cbuf, 0x0F );
- emit_opcode(*cbuf, 0x10 );
- emit_rm (*cbuf, 0x3, Matcher::_regEncode[dst_lo], Matcher::_regEncode[src_lo] );
-#ifndef PRODUCT
- } else if( !do_size ) {
- if( size != 0 ) st->print("\n\t");
+ } else {
if( src_lo+1 == src_hi && dst_lo+1 == dst_hi ) { // double move?
st->print("MOVSD %s,%s",Matcher::regName[dst_lo],Matcher::regName[src_lo]);
} else {
st->print("MOVSS %s,%s",Matcher::regName[dst_lo],Matcher::regName[src_lo]);
}
-#endif
}
- return size+4;
+#endif
}
+ // VEX_2bytes prefix is used if UseAVX > 0, and it takes the same 2 bytes.
+ // Only MOVAPS SSE prefix uses 1 byte.
+ int sz = 4;
+ if (!(src_lo+1 == src_hi && dst_lo+1 == dst_hi) &&
+ UseXmmRegToRegMoveAll && (UseAVX == 0)) sz = 3;
+ return size + sz;
}
static int impl_movgpr2x_helper( CodeBuffer *cbuf, bool do_size, int src_lo, int dst_lo,
int src_hi, int dst_hi, int size, outputStream* st ) {
// 32-bit
if (cbuf) {
- emit_opcode(*cbuf, 0x66);
- emit_opcode(*cbuf, 0x0F);
- emit_opcode(*cbuf, 0x6E);
- emit_rm(*cbuf, 0x3, Matcher::_regEncode[dst_lo] & 7, Matcher::_regEncode[src_lo] & 7);
+ MacroAssembler _masm(cbuf);
+ __ movdl(as_XMMRegister(Matcher::_regEncode[dst_lo]),
+ as_Register(Matcher::_regEncode[src_lo]));
#ifndef PRODUCT
} else if (!do_size) {
st->print("movdl %s, %s\t# spill", Matcher::regName[dst_lo], Matcher::regName[src_lo]);
@@ -882,10 +907,9 @@ static int impl_movx2gpr_helper( CodeBuffer *cbuf, bool do_size, int src_lo, int
int src_hi, int dst_hi, int size, outputStream* st ) {
// 32-bit
if (cbuf) {
- emit_opcode(*cbuf, 0x66);
- emit_opcode(*cbuf, 0x0F);
- emit_opcode(*cbuf, 0x7E);
- emit_rm(*cbuf, 0x3, Matcher::_regEncode[src_lo] & 7, Matcher::_regEncode[dst_lo] & 7);
+ MacroAssembler _masm(cbuf);
+ __ movdl(as_Register(Matcher::_regEncode[dst_lo]),
+ as_XMMRegister(Matcher::_regEncode[src_lo]));
#ifndef PRODUCT
} else if (!do_size) {
st->print("movdl %s, %s\t# spill", Matcher::regName[dst_lo], Matcher::regName[src_lo]);
@@ -1515,12 +1539,12 @@ bool Matcher::use_asm_for_ldiv_by_con( jlong divisor ) {
// Register for DIVI projection of divmodI
RegMask Matcher::divI_proj_mask() {
- return EAX_REG_mask;
+ return EAX_REG_mask();
}
// Register for MODI projection of divmodI
RegMask Matcher::modI_proj_mask() {
- return EDX_REG_mask;
+ return EDX_REG_mask();
}
// Register for DIVL projection of divmodL
@@ -1536,7 +1560,7 @@ RegMask Matcher::modL_proj_mask() {
}
const RegMask Matcher::method_handle_invoke_SP_save_mask() {
- return EBP_REG_mask;
+ return EBP_REG_mask();
}
// Returns true if the high 32 bits of the value is known to be zero.
@@ -1751,7 +1775,7 @@ encode %{
emit_cc(cbuf, $secondary, $cop$$cmpcode);
%}
- enc_class enc_cmov_d(cmpOp cop, regD src ) %{ // CMOV
+ enc_class enc_cmov_dpr(cmpOp cop, regDPR src ) %{ // CMOV
int op = 0xDA00 + $cop$$cmpcode + ($src$$reg-1);
emit_d8(cbuf, op >> 8 );
emit_d8(cbuf, op & 255);
@@ -1922,11 +1946,6 @@ encode %{
%}
- enc_class Xor_Reg (eRegI dst) %{
- emit_opcode(cbuf, 0x33);
- emit_rm(cbuf, 0x3, $dst$$reg, $dst$$reg);
- %}
-
// Following encoding is no longer used, but may be restored if calling
// convention changes significantly.
// Became: Xor_Reg(EBP), Java_To_Runtime( labl )
@@ -2004,64 +2023,6 @@ encode %{
%}
- enc_class MovI2X_reg(regX dst, eRegI src) %{
- emit_opcode(cbuf, 0x66 ); // MOVD dst,src
- emit_opcode(cbuf, 0x0F );
- emit_opcode(cbuf, 0x6E );
- emit_rm(cbuf, 0x3, $dst$$reg, $src$$reg);
- %}
-
- enc_class MovX2I_reg(eRegI dst, regX src) %{
- emit_opcode(cbuf, 0x66 ); // MOVD dst,src
- emit_opcode(cbuf, 0x0F );
- emit_opcode(cbuf, 0x7E );
- emit_rm(cbuf, 0x3, $src$$reg, $dst$$reg);
- %}
-
- enc_class MovL2XD_reg(regXD dst, eRegL src, regXD tmp) %{
- { // MOVD $dst,$src.lo
- emit_opcode(cbuf,0x66);
- emit_opcode(cbuf,0x0F);
- emit_opcode(cbuf,0x6E);
- emit_rm(cbuf, 0x3, $dst$$reg, $src$$reg);
- }
- { // MOVD $tmp,$src.hi
- emit_opcode(cbuf,0x66);
- emit_opcode(cbuf,0x0F);
- emit_opcode(cbuf,0x6E);
- emit_rm(cbuf, 0x3, $tmp$$reg, HIGH_FROM_LOW($src$$reg));
- }
- { // PUNPCKLDQ $dst,$tmp
- emit_opcode(cbuf,0x66);
- emit_opcode(cbuf,0x0F);
- emit_opcode(cbuf,0x62);
- emit_rm(cbuf, 0x3, $dst$$reg, $tmp$$reg);
- }
- %}
-
- enc_class MovXD2L_reg(eRegL dst, regXD src, regXD tmp) %{
- { // MOVD $dst.lo,$src
- emit_opcode(cbuf,0x66);
- emit_opcode(cbuf,0x0F);
- emit_opcode(cbuf,0x7E);
- emit_rm(cbuf, 0x3, $src$$reg, $dst$$reg);
- }
- { // PSHUFLW $tmp,$src,0x4E (01001110b)
- emit_opcode(cbuf,0xF2);
- emit_opcode(cbuf,0x0F);
- emit_opcode(cbuf,0x70);
- emit_rm(cbuf, 0x3, $tmp$$reg, $src$$reg);
- emit_d8(cbuf, 0x4E);
- }
- { // MOVD $dst.hi,$tmp
- emit_opcode(cbuf,0x66);
- emit_opcode(cbuf,0x0F);
- emit_opcode(cbuf,0x7E);
- emit_rm(cbuf, 0x3, $tmp$$reg, HIGH_FROM_LOW($dst$$reg));
- }
- %}
-
-
// Encode a reg-reg copy. If it is useless, then empty encoding.
enc_class enc_Copy( eRegI dst, eRegI src ) %{
encode_Copy( cbuf, $dst$$reg, $src$$reg );
@@ -2071,11 +2032,6 @@ encode %{
encode_Copy( cbuf, $dst$$reg, $src$$reg );
%}
- // Encode xmm reg-reg copy. If it is useless, then empty encoding.
- enc_class enc_CopyXD( RegXD dst, RegXD src ) %{
- encode_CopyXD( cbuf, $dst$$reg, $src$$reg );
- %}
-
enc_class RegReg (eRegI dst, eRegI src) %{ // RegReg(Many)
emit_rm(cbuf, 0x3, $dst$$reg, $src$$reg);
%}
@@ -2107,14 +2063,14 @@ encode %{
$$$emit32$src$$constant;
%}
- enc_class Con32F_as_bits(immF src) %{ // storeF_imm
+ enc_class Con32FPR_as_bits(immFPR src) %{ // storeF_imm
// Output Float immediate bits
jfloat jf = $src$$constant;
int jf_as_bits = jint_cast( jf );
emit_d32(cbuf, jf_as_bits);
%}
- enc_class Con32XF_as_bits(immXF src) %{ // storeX_imm
+ enc_class Con32F_as_bits(immF src) %{ // storeX_imm
// Output Float immediate bits
jfloat jf = $src$$constant;
int jf_as_bits = jint_cast( jf );
@@ -2327,7 +2283,7 @@ encode %{
emit_rm(cbuf, 0x3, $dst$$reg, $src$$reg);
%}
- enc_class enc_FP_store(memory mem, regD src) %{
+ enc_class enc_FPR_store(memory mem, regDPR src) %{
// If src is FPR1, we can just FST to store it.
// Else we need to FLD it to FPR1, then FSTP to store/pop it.
int reg_encoding = 0x2; // Just store
@@ -2476,7 +2432,7 @@ encode %{
// ----------------- Encodings for floating point unit -----------------
// May leave result in FPU-TOS or FPU reg depending on opcodes
- enc_class OpcReg_F (regF src) %{ // FMUL, FDIV
+ enc_class OpcReg_FPR(regFPR src) %{ // FMUL, FDIV
$$$emit8$primary;
emit_rm(cbuf, 0x3, $secondary, $src$$reg );
%}
@@ -2488,17 +2444,17 @@ encode %{
%}
// !!!!! equivalent to Pop_Reg_F
- enc_class Pop_Reg_D( regD dst ) %{
+ enc_class Pop_Reg_DPR( regDPR dst ) %{
emit_opcode( cbuf, 0xDD ); // FSTP ST(i)
emit_d8( cbuf, 0xD8+$dst$$reg );
%}
- enc_class Push_Reg_D( regD dst ) %{
+ enc_class Push_Reg_DPR( regDPR dst ) %{
emit_opcode( cbuf, 0xD9 );
emit_d8( cbuf, 0xC0-1+$dst$$reg ); // FLD ST(i-1)
%}
- enc_class strictfp_bias1( regD dst ) %{
+ enc_class strictfp_bias1( regDPR dst ) %{
emit_opcode( cbuf, 0xDB ); // FLD m80real
emit_opcode( cbuf, 0x2D );
emit_d32( cbuf, (int)StubRoutines::addr_fpu_subnormal_bias1() );
@@ -2506,7 +2462,7 @@ encode %{
emit_opcode( cbuf, 0xC8+$dst$$reg );
%}
- enc_class strictfp_bias2( regD dst ) %{
+ enc_class strictfp_bias2( regDPR dst ) %{
emit_opcode( cbuf, 0xDB ); // FLD m80real
emit_opcode( cbuf, 0x2D );
emit_d32( cbuf, (int)StubRoutines::addr_fpu_subnormal_bias2() );
@@ -2532,39 +2488,29 @@ encode %{
store_to_stackslot( cbuf, $primary, $secondary, $src$$disp );
%}
- // Push the float in stackSlot 'src' onto FP-stack
- enc_class Push_Mem_F( memory src ) %{ // FLD_S [ESP+src]
- store_to_stackslot( cbuf, 0xD9, 0x00, $src$$disp );
- %}
-
- // Push the double in stackSlot 'src' onto FP-stack
- enc_class Push_Mem_D( memory src ) %{ // FLD_D [ESP+src]
- store_to_stackslot( cbuf, 0xDD, 0x00, $src$$disp );
- %}
-
// Push FPU's TOS float to a stack-slot, and pop FPU-stack
- enc_class Pop_Mem_F( stackSlotF dst ) %{ // FSTP_S [ESP+dst]
+ enc_class Pop_Mem_FPR( stackSlotF dst ) %{ // FSTP_S [ESP+dst]
store_to_stackslot( cbuf, 0xD9, 0x03, $dst$$disp );
%}
// Same as Pop_Mem_F except for opcode
// Push FPU's TOS double to a stack-slot, and pop FPU-stack
- enc_class Pop_Mem_D( stackSlotD dst ) %{ // FSTP_D [ESP+dst]
+ enc_class Pop_Mem_DPR( stackSlotD dst ) %{ // FSTP_D [ESP+dst]
store_to_stackslot( cbuf, 0xDD, 0x03, $dst$$disp );
%}
- enc_class Pop_Reg_F( regF dst ) %{
+ enc_class Pop_Reg_FPR( regFPR dst ) %{
emit_opcode( cbuf, 0xDD ); // FSTP ST(i)
emit_d8( cbuf, 0xD8+$dst$$reg );
%}
- enc_class Push_Reg_F( regF dst ) %{
+ enc_class Push_Reg_FPR( regFPR dst ) %{
emit_opcode( cbuf, 0xD9 ); // FLD ST(i-1)
emit_d8( cbuf, 0xC0-1+$dst$$reg );
%}
// Push FPU's float to a stack-slot, and pop FPU-stack
- enc_class Pop_Mem_Reg_F( stackSlotF dst, regF src ) %{
+ enc_class Pop_Mem_Reg_FPR( stackSlotF dst, regFPR src ) %{
int pop = 0x02;
if ($src$$reg != FPR1L_enc) {
emit_opcode( cbuf, 0xD9 ); // FLD ST(i-1)
@@ -2575,7 +2521,7 @@ encode %{
%}
// Push FPU's double to a stack-slot, and pop FPU-stack
- enc_class Pop_Mem_Reg_D( stackSlotD dst, regD src ) %{
+ enc_class Pop_Mem_Reg_DPR( stackSlotD dst, regDPR src ) %{
int pop = 0x02;
if ($src$$reg != FPR1L_enc) {
emit_opcode( cbuf, 0xD9 ); // FLD ST(i-1)
@@ -2586,7 +2532,7 @@ encode %{
%}
// Push FPU's double to a FPU-stack-slot, and pop FPU-stack
- enc_class Pop_Reg_Reg_D( regD dst, regF src ) %{
+ enc_class Pop_Reg_Reg_DPR( regDPR dst, regFPR src ) %{
int pop = 0xD0 - 1; // -1 since we skip FLD
if ($src$$reg != FPR1L_enc) {
emit_opcode( cbuf, 0xD9 ); // FLD ST(src-1)
@@ -2598,16 +2544,7 @@ encode %{
%}
- enc_class Mul_Add_F( regF dst, regF src, regF src1, regF src2 ) %{
- MacroAssembler masm(&cbuf);
- masm.fld_s( $src1$$reg-1); // nothing at TOS, load TOS from src1.reg
- masm.fmul( $src2$$reg+0); // value at TOS
- masm.fadd( $src$$reg+0); // value at TOS
- masm.fstp_d( $dst$$reg+0); // value at TOS, popped off after store
- %}
-
-
- enc_class Push_Reg_Mod_D( regD dst, regD src) %{
+ enc_class Push_Reg_Mod_DPR( regDPR dst, regDPR src) %{
// load dst in FPR0
emit_opcode( cbuf, 0xD9 );
emit_d8( cbuf, 0xC0-1+$dst$$reg );
@@ -2625,116 +2562,59 @@ encode %{
}
%}
- enc_class Push_ModD_encoding( regXD src0, regXD src1) %{
- // Allocate a word
- emit_opcode(cbuf,0x83); // SUB ESP,8
- emit_opcode(cbuf,0xEC);
- emit_d8(cbuf,0x08);
-
- emit_opcode (cbuf, 0xF2 ); // MOVSD [ESP], src1
- emit_opcode (cbuf, 0x0F );
- emit_opcode (cbuf, 0x11 );
- encode_RegMem(cbuf, $src1$$reg, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0xDD ); // FLD_D [ESP]
- encode_RegMem(cbuf, 0x0, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode (cbuf, 0xF2 ); // MOVSD [ESP], src0
- emit_opcode (cbuf, 0x0F );
- emit_opcode (cbuf, 0x11 );
- encode_RegMem(cbuf, $src0$$reg, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0xDD ); // FLD_D [ESP]
- encode_RegMem(cbuf, 0x0, ESP_enc, 0x4, 0, 0, false);
-
+ enc_class Push_ModD_encoding(regD src0, regD src1) %{
+ MacroAssembler _masm(&cbuf);
+ __ subptr(rsp, 8);
+ __ movdbl(Address(rsp, 0), $src1$$XMMRegister);
+ __ fld_d(Address(rsp, 0));
+ __ movdbl(Address(rsp, 0), $src0$$XMMRegister);
+ __ fld_d(Address(rsp, 0));
%}
- enc_class Push_ModX_encoding( regX src0, regX src1) %{
- // Allocate a word
- emit_opcode(cbuf,0x83); // SUB ESP,4
- emit_opcode(cbuf,0xEC);
- emit_d8(cbuf,0x04);
-
- emit_opcode (cbuf, 0xF3 ); // MOVSS [ESP], src1
- emit_opcode (cbuf, 0x0F );
- emit_opcode (cbuf, 0x11 );
- encode_RegMem(cbuf, $src1$$reg, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0xD9 ); // FLD [ESP]
- encode_RegMem(cbuf, 0x0, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode (cbuf, 0xF3 ); // MOVSS [ESP], src0
- emit_opcode (cbuf, 0x0F );
- emit_opcode (cbuf, 0x11 );
- encode_RegMem(cbuf, $src0$$reg, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0xD9 ); // FLD [ESP]
- encode_RegMem(cbuf, 0x0, ESP_enc, 0x4, 0, 0, false);
-
+ enc_class Push_ModF_encoding(regF src0, regF src1) %{
+ MacroAssembler _masm(&cbuf);
+ __ subptr(rsp, 4);
+ __ movflt(Address(rsp, 0), $src1$$XMMRegister);
+ __ fld_s(Address(rsp, 0));
+ __ movflt(Address(rsp, 0), $src0$$XMMRegister);
+ __ fld_s(Address(rsp, 0));
%}
- enc_class Push_ResultXD(regXD dst) %{
- store_to_stackslot( cbuf, 0xDD, 0x03, 0 ); //FSTP [ESP]
-
- // UseXmmLoadAndClearUpper ? movsd dst,[esp] : movlpd dst,[esp]
- emit_opcode (cbuf, UseXmmLoadAndClearUpper ? 0xF2 : 0x66);
- emit_opcode (cbuf, 0x0F );
- emit_opcode (cbuf, UseXmmLoadAndClearUpper ? 0x10 : 0x12);
- encode_RegMem(cbuf, $dst$$reg, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0x83); // ADD ESP,8
- emit_opcode(cbuf,0xC4);
- emit_d8(cbuf,0x08);
+ enc_class Push_ResultD(regD dst) %{
+ MacroAssembler _masm(&cbuf);
+ __ fstp_d(Address(rsp, 0));
+ __ movdbl($dst$$XMMRegister, Address(rsp, 0));
+ __ addptr(rsp, 8);
%}
- enc_class Push_ResultX(regX dst, immI d8) %{
- store_to_stackslot( cbuf, 0xD9, 0x03, 0 ); //FSTP_S [ESP]
-
- emit_opcode (cbuf, 0xF3 ); // MOVSS dst(xmm), [ESP]
- emit_opcode (cbuf, 0x0F );
- emit_opcode (cbuf, 0x10 );
- encode_RegMem(cbuf, $dst$$reg, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0x83); // ADD ESP,d8 (4 or 8)
- emit_opcode(cbuf,0xC4);
- emit_d8(cbuf,$d8$$constant);
+ enc_class Push_ResultF(regF dst, immI d8) %{
+ MacroAssembler _masm(&cbuf);
+ __ fstp_s(Address(rsp, 0));
+ __ movflt($dst$$XMMRegister, Address(rsp, 0));
+ __ addptr(rsp, $d8$$constant);
%}
- enc_class Push_SrcXD(regXD src) %{
- // Allocate a word
- emit_opcode(cbuf,0x83); // SUB ESP,8
- emit_opcode(cbuf,0xEC);
- emit_d8(cbuf,0x08);
-
- emit_opcode (cbuf, 0xF2 ); // MOVSD [ESP], src
- emit_opcode (cbuf, 0x0F );
- emit_opcode (cbuf, 0x11 );
- encode_RegMem(cbuf, $src$$reg, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0xDD ); // FLD_D [ESP]
- encode_RegMem(cbuf, 0x0, ESP_enc, 0x4, 0, 0, false);
+ enc_class Push_SrcD(regD src) %{
+ MacroAssembler _masm(&cbuf);
+ __ subptr(rsp, 8);
+ __ movdbl(Address(rsp, 0), $src$$XMMRegister);
+ __ fld_d(Address(rsp, 0));
%}
enc_class push_stack_temp_qword() %{
- emit_opcode(cbuf,0x83); // SUB ESP,8
- emit_opcode(cbuf,0xEC);
- emit_d8 (cbuf,0x08);
+ MacroAssembler _masm(&cbuf);
+ __ subptr(rsp, 8);
%}
enc_class pop_stack_temp_qword() %{
- emit_opcode(cbuf,0x83); // ADD ESP,8
- emit_opcode(cbuf,0xC4);
- emit_d8 (cbuf,0x08);
+ MacroAssembler _masm(&cbuf);
+ __ addptr(rsp, 8);
%}
- enc_class push_xmm_to_fpr1( regXD xmm_src ) %{
- emit_opcode (cbuf, 0xF2 ); // MOVSD [ESP], xmm_src
- emit_opcode (cbuf, 0x0F );
- emit_opcode (cbuf, 0x11 );
- encode_RegMem(cbuf, $xmm_src$$reg, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0xDD ); // FLD_D [ESP]
- encode_RegMem(cbuf, 0x0, ESP_enc, 0x4, 0, 0, false);
+ enc_class push_xmm_to_fpr1(regD src) %{
+ MacroAssembler _masm(&cbuf);
+ __ movdbl(Address(rsp, 0), $src$$XMMRegister);
+ __ fld_d(Address(rsp, 0));
%}
// Compute X^Y using Intel's fast hardware instructions, if possible.
@@ -2776,10 +2656,7 @@ encode %{
encode_RegMem(cbuf, 0x1, ESP_enc, 0x4, 0, 0, false);
%}
-// enc_class Pop_Reg_Mod_D( regD dst, regD src)
-// was replaced by Push_Result_Mod_D followed by Pop_Reg_X() or Pop_Mem_X()
-
- enc_class Push_Result_Mod_D( regD src) %{
+ enc_class Push_Result_Mod_DPR( regDPR src) %{
if ($src$$reg != FPR1L_enc) {
// fincstp
emit_opcode (cbuf, 0xD9);
@@ -2808,7 +2685,7 @@ encode %{
emit_opcode( cbuf, 0x05 );
%}
- enc_class emitModD() %{
+ enc_class emitModDPR() %{
// fprem must be iterative
// :: loop
// fprem
@@ -2913,24 +2790,6 @@ encode %{
%}
- // XMM version of CmpF_Result. Because the XMM compare
- // instructions set the EFLAGS directly. It becomes simpler than
- // the float version above.
- enc_class CmpX_Result(eRegI dst) %{
- MacroAssembler _masm(&cbuf);
- Label nan, inc, done;
-
- __ jccb(Assembler::parity, nan);
- __ jccb(Assembler::equal, done);
- __ jccb(Assembler::above, inc);
- __ bind(nan);
- __ decrement(as_Register($dst$$reg)); // NO L qqq
- __ jmpb(done);
- __ bind(inc);
- __ increment(as_Register($dst$$reg)); // NO L qqq
- __ bind(done);
- %}
-
// Compare the longs and set flags
// BROKEN! Do Not use as-is
enc_class cmpl_test( eRegL src1, eRegL src2 ) %{
@@ -3153,48 +3012,6 @@ encode %{
emit_d8 (cbuf,0 );
%}
- enc_class movq_ld(regXD dst, memory mem) %{
- MacroAssembler _masm(&cbuf);
- __ movq($dst$$XMMRegister, $mem$$Address);
- %}
-
- enc_class movq_st(memory mem, regXD src) %{
- MacroAssembler _masm(&cbuf);
- __ movq($mem$$Address, $src$$XMMRegister);
- %}
-
- enc_class pshufd_8x8(regX dst, regX src) %{
- MacroAssembler _masm(&cbuf);
-
- encode_CopyXD(cbuf, $dst$$reg, $src$$reg);
- __ punpcklbw(as_XMMRegister($dst$$reg), as_XMMRegister($dst$$reg));
- __ pshuflw(as_XMMRegister($dst$$reg), as_XMMRegister($dst$$reg), 0x00);
- %}
-
- enc_class pshufd_4x16(regX dst, regX src) %{
- MacroAssembler _masm(&cbuf);
-
- __ pshuflw(as_XMMRegister($dst$$reg), as_XMMRegister($src$$reg), 0x00);
- %}
-
- enc_class pshufd(regXD dst, regXD src, int mode) %{
- MacroAssembler _masm(&cbuf);
-
- __ pshufd(as_XMMRegister($dst$$reg), as_XMMRegister($src$$reg), $mode);
- %}
-
- enc_class pxor(regXD dst, regXD src) %{
- MacroAssembler _masm(&cbuf);
-
- __ pxor(as_XMMRegister($dst$$reg), as_XMMRegister($src$$reg));
- %}
-
- enc_class mov_i2x(regXD dst, eRegI src) %{
- MacroAssembler _masm(&cbuf);
-
- __ movdl(as_XMMRegister($dst$$reg), as_Register($src$$reg));
- %}
-
// Because the transitions from emitted code to the runtime
// monitorenter/exit helper stubs are so slow it's critical that
@@ -3748,7 +3565,7 @@ encode %{
// 'zero', store the darned double down as an int, and reset the
// rounding mode to 'nearest'. The hardware throws an exception which
// patches up the correct value directly to the stack.
- enc_class D2I_encoding( regD src ) %{
+ enc_class DPR2I_encoding( regDPR src ) %{
// Flip to round-to-zero mode. We attempted to allow invalid-op
// exceptions here, so that a NAN or other corner-case value will
// thrown an exception (but normal values get converted at full speed).
@@ -3791,7 +3608,7 @@ encode %{
// Carry on here...
%}
- enc_class D2L_encoding( regD src ) %{
+ enc_class DPR2L_encoding( regDPR src ) %{
emit_opcode(cbuf,0xD9); // FLDCW trunc
emit_opcode(cbuf,0x2D);
emit_d32(cbuf,(int)StubRoutines::addr_fpu_cntrl_wrd_trunc());
@@ -3825,302 +3642,35 @@ encode %{
emit_d8 (cbuf,0x07); // Size of slow_call
// Push src onto stack slow-path
emit_opcode(cbuf,0xD9 ); // FLD ST(i)
- emit_d8 (cbuf,0xC0-1+$src$$reg );
- // CALL directly to the runtime
- cbuf.set_insts_mark();
- emit_opcode(cbuf,0xE8); // Call into runtime
- emit_d32_reloc(cbuf, (StubRoutines::d2l_wrapper() - cbuf.insts_end()) - 4, runtime_call_Relocation::spec(), RELOC_IMM32 );
- // Carry on here...
- %}
-
- enc_class X2L_encoding( regX src ) %{
- // Allocate a word
- emit_opcode(cbuf,0x83); // SUB ESP,8
- emit_opcode(cbuf,0xEC);
- emit_d8(cbuf,0x08);
-
- emit_opcode (cbuf, 0xF3 ); // MOVSS [ESP], src
- emit_opcode (cbuf, 0x0F );
- emit_opcode (cbuf, 0x11 );
- encode_RegMem(cbuf, $src$$reg, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0xD9 ); // FLD_S [ESP]
- encode_RegMem(cbuf, 0x0, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0xD9); // FLDCW trunc
- emit_opcode(cbuf,0x2D);
- emit_d32(cbuf,(int)StubRoutines::addr_fpu_cntrl_wrd_trunc());
-
- // Encoding assumes a double has been pushed into FPR0.
- // Store down the double as a long, popping the FPU stack
- emit_opcode(cbuf,0xDF); // FISTP [ESP]
- emit_opcode(cbuf,0x3C);
- emit_d8(cbuf,0x24);
-
- // Restore the rounding mode; mask the exception
- emit_opcode(cbuf,0xD9); // FLDCW std/24-bit mode
- emit_opcode(cbuf,0x2D);
- emit_d32( cbuf, Compile::current()->in_24_bit_fp_mode()
- ? (int)StubRoutines::addr_fpu_cntrl_wrd_24()
- : (int)StubRoutines::addr_fpu_cntrl_wrd_std());
-
- // Load the converted int; adjust CPU stack
- emit_opcode(cbuf,0x58); // POP EAX
-
- emit_opcode(cbuf,0x5A); // POP EDX
-
- emit_opcode(cbuf,0x81); // CMP EDX,imm
- emit_d8 (cbuf,0xFA); // rdx
- emit_d32 (cbuf,0x80000000);// 0x80000000
-
- emit_opcode(cbuf,0x75); // JNE around_slow_call
- emit_d8 (cbuf,0x13+4); // Size of slow_call
-
- emit_opcode(cbuf,0x85); // TEST EAX,EAX
- emit_opcode(cbuf,0xC0); // 2/rax,/rax,
-
- emit_opcode(cbuf,0x75); // JNE around_slow_call
- emit_d8 (cbuf,0x13); // Size of slow_call
-
- // Allocate a word
- emit_opcode(cbuf,0x83); // SUB ESP,4
- emit_opcode(cbuf,0xEC);
- emit_d8(cbuf,0x04);
-
- emit_opcode (cbuf, 0xF3 ); // MOVSS [ESP], src
- emit_opcode (cbuf, 0x0F );
- emit_opcode (cbuf, 0x11 );
- encode_RegMem(cbuf, $src$$reg, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0xD9 ); // FLD_S [ESP]
- encode_RegMem(cbuf, 0x0, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0x83); // ADD ESP,4
- emit_opcode(cbuf,0xC4);
- emit_d8(cbuf,0x04);
-
- // CALL directly to the runtime
- cbuf.set_insts_mark();
- emit_opcode(cbuf,0xE8); // Call into runtime
- emit_d32_reloc(cbuf, (StubRoutines::d2l_wrapper() - cbuf.insts_end()) - 4, runtime_call_Relocation::spec(), RELOC_IMM32 );
- // Carry on here...
- %}
-
- enc_class XD2L_encoding( regXD src ) %{
- // Allocate a word
- emit_opcode(cbuf,0x83); // SUB ESP,8
- emit_opcode(cbuf,0xEC);
- emit_d8(cbuf,0x08);
-
- emit_opcode (cbuf, 0xF2 ); // MOVSD [ESP], src
- emit_opcode (cbuf, 0x0F );
- emit_opcode (cbuf, 0x11 );
- encode_RegMem(cbuf, $src$$reg, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0xDD ); // FLD_D [ESP]
- encode_RegMem(cbuf, 0x0, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0xD9); // FLDCW trunc
- emit_opcode(cbuf,0x2D);
- emit_d32(cbuf,(int)StubRoutines::addr_fpu_cntrl_wrd_trunc());
-
- // Encoding assumes a double has been pushed into FPR0.
- // Store down the double as a long, popping the FPU stack
- emit_opcode(cbuf,0xDF); // FISTP [ESP]
- emit_opcode(cbuf,0x3C);
- emit_d8(cbuf,0x24);
-
- // Restore the rounding mode; mask the exception
- emit_opcode(cbuf,0xD9); // FLDCW std/24-bit mode
- emit_opcode(cbuf,0x2D);
- emit_d32( cbuf, Compile::current()->in_24_bit_fp_mode()
- ? (int)StubRoutines::addr_fpu_cntrl_wrd_24()
- : (int)StubRoutines::addr_fpu_cntrl_wrd_std());
-
- // Load the converted int; adjust CPU stack
- emit_opcode(cbuf,0x58); // POP EAX
-
- emit_opcode(cbuf,0x5A); // POP EDX
-
- emit_opcode(cbuf,0x81); // CMP EDX,imm
- emit_d8 (cbuf,0xFA); // rdx
- emit_d32 (cbuf,0x80000000); // 0x80000000
-
- emit_opcode(cbuf,0x75); // JNE around_slow_call
- emit_d8 (cbuf,0x13+4); // Size of slow_call
-
- emit_opcode(cbuf,0x85); // TEST EAX,EAX
- emit_opcode(cbuf,0xC0); // 2/rax,/rax,
-
- emit_opcode(cbuf,0x75); // JNE around_slow_call
- emit_d8 (cbuf,0x13); // Size of slow_call
-
- // Push src onto stack slow-path
- // Allocate a word
- emit_opcode(cbuf,0x83); // SUB ESP,8
- emit_opcode(cbuf,0xEC);
- emit_d8(cbuf,0x08);
-
- emit_opcode (cbuf, 0xF2 ); // MOVSD [ESP], src
- emit_opcode (cbuf, 0x0F );
- emit_opcode (cbuf, 0x11 );
- encode_RegMem(cbuf, $src$$reg, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0xDD ); // FLD_D [ESP]
- encode_RegMem(cbuf, 0x0, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0x83); // ADD ESP,8
- emit_opcode(cbuf,0xC4);
- emit_d8(cbuf,0x08);
-
- // CALL directly to the runtime
- cbuf.set_insts_mark();
- emit_opcode(cbuf,0xE8); // Call into runtime
- emit_d32_reloc(cbuf, (StubRoutines::d2l_wrapper() - cbuf.insts_end()) - 4, runtime_call_Relocation::spec(), RELOC_IMM32 );
- // Carry on here...
- %}
-
- enc_class D2X_encoding( regX dst, regD src ) %{
- // Allocate a word
- emit_opcode(cbuf,0x83); // SUB ESP,4
- emit_opcode(cbuf,0xEC);
- emit_d8(cbuf,0x04);
- int pop = 0x02;
- if ($src$$reg != FPR1L_enc) {
- emit_opcode( cbuf, 0xD9 ); // FLD ST(i-1)
- emit_d8( cbuf, 0xC0-1+$src$$reg );
- pop = 0x03;
- }
- store_to_stackslot( cbuf, 0xD9, pop, 0 ); // FST<P>_S [ESP]
-
- emit_opcode (cbuf, 0xF3 ); // MOVSS dst(xmm), [ESP]
- emit_opcode (cbuf, 0x0F );
- emit_opcode (cbuf, 0x10 );
- encode_RegMem(cbuf, $dst$$reg, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0x83); // ADD ESP,4
- emit_opcode(cbuf,0xC4);
- emit_d8(cbuf,0x04);
- // Carry on here...
- %}
-
- enc_class FX2I_encoding( regX src, eRegI dst ) %{
- emit_rm(cbuf, 0x3, $dst$$reg, $src$$reg);
-
- // Compare the result to see if we need to go to the slow path
- emit_opcode(cbuf,0x81); // CMP dst,imm
- emit_rm (cbuf,0x3,0x7,$dst$$reg);
- emit_d32 (cbuf,0x80000000); // 0x80000000
-
- emit_opcode(cbuf,0x75); // JNE around_slow_call
- emit_d8 (cbuf,0x13); // Size of slow_call
- // Store xmm to a temp memory
- // location and push it onto stack.
-
- emit_opcode(cbuf,0x83); // SUB ESP,4
- emit_opcode(cbuf,0xEC);
- emit_d8(cbuf, $primary ? 0x8 : 0x4);
-
- emit_opcode (cbuf, $primary ? 0xF2 : 0xF3 ); // MOVSS [ESP], xmm
- emit_opcode (cbuf, 0x0F );
- emit_opcode (cbuf, 0x11 );
- encode_RegMem(cbuf, $src$$reg, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf, $primary ? 0xDD : 0xD9 ); // FLD [ESP]
- encode_RegMem(cbuf, 0x0, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0x83); // ADD ESP,4
- emit_opcode(cbuf,0xC4);
- emit_d8(cbuf, $primary ? 0x8 : 0x4);
-
+ emit_d8 (cbuf,0xC0-1+$src$$reg );
// CALL directly to the runtime
cbuf.set_insts_mark();
emit_opcode(cbuf,0xE8); // Call into runtime
- emit_d32_reloc(cbuf, (StubRoutines::d2i_wrapper() - cbuf.insts_end()) - 4, runtime_call_Relocation::spec(), RELOC_IMM32 );
-
- // Carry on here...
- %}
-
- enc_class X2D_encoding( regD dst, regX src ) %{
- // Allocate a word
- emit_opcode(cbuf,0x83); // SUB ESP,4
- emit_opcode(cbuf,0xEC);
- emit_d8(cbuf,0x04);
-
- emit_opcode (cbuf, 0xF3 ); // MOVSS [ESP], xmm
- emit_opcode (cbuf, 0x0F );
- emit_opcode (cbuf, 0x11 );
- encode_RegMem(cbuf, $src$$reg, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0xD9 ); // FLD_S [ESP]
- encode_RegMem(cbuf, 0x0, ESP_enc, 0x4, 0, 0, false);
-
- emit_opcode(cbuf,0x83); // ADD ESP,4
- emit_opcode(cbuf,0xC4);
- emit_d8(cbuf,0x04);
-
+ emit_d32_reloc(cbuf, (StubRoutines::d2l_wrapper() - cbuf.insts_end()) - 4, runtime_call_Relocation::spec(), RELOC_IMM32 );
// Carry on here...
%}
- enc_class AbsXF_encoding(regX dst) %{
- address signmask_address=(address)float_signmask_pool;
- // andpd:\tANDPS $dst,[signconst]
- emit_opcode(cbuf, 0x0F);
- emit_opcode(cbuf, 0x54);
- emit_rm(cbuf, 0x0, $dst$$reg, 0x5);
- emit_d32(cbuf, (int)signmask_address);
- %}
-
- enc_class AbsXD_encoding(regXD dst) %{
- address signmask_address=(address)double_signmask_pool;
- // andpd:\tANDPD $dst,[signconst]
- emit_opcode(cbuf, 0x66);
- emit_opcode(cbuf, 0x0F);
- emit_opcode(cbuf, 0x54);
- emit_rm(cbuf, 0x0, $dst$$reg, 0x5);
- emit_d32(cbuf, (int)signmask_address);
- %}
-
- enc_class NegXF_encoding(regX dst) %{
- address signmask_address=(address)float_signflip_pool;
- // andpd:\tXORPS $dst,[signconst]
- emit_opcode(cbuf, 0x0F);
- emit_opcode(cbuf, 0x57);
- emit_rm(cbuf, 0x0, $dst$$reg, 0x5);
- emit_d32(cbuf, (int)signmask_address);
- %}
-
- enc_class NegXD_encoding(regXD dst) %{
- address signmask_address=(address)double_signflip_pool;
- // andpd:\tXORPD $dst,[signconst]
- emit_opcode(cbuf, 0x66);
- emit_opcode(cbuf, 0x0F);
- emit_opcode(cbuf, 0x57);
- emit_rm(cbuf, 0x0, $dst$$reg, 0x5);
- emit_d32(cbuf, (int)signmask_address);
- %}
-
- enc_class FMul_ST_reg( eRegF src1 ) %{
+ enc_class FMul_ST_reg( eRegFPR src1 ) %{
// Operand was loaded from memory into fp ST (stack top)
// FMUL ST,$src /* D8 C8+i */
emit_opcode(cbuf, 0xD8);
emit_opcode(cbuf, 0xC8 + $src1$$reg);
%}
- enc_class FAdd_ST_reg( eRegF src2 ) %{
+ enc_class FAdd_ST_reg( eRegFPR src2 ) %{
// FADDP ST,src2 /* D8 C0+i */
emit_opcode(cbuf, 0xD8);
emit_opcode(cbuf, 0xC0 + $src2$$reg);
//could use FADDP src2,fpST /* DE C0+i */
%}
- enc_class FAddP_reg_ST( eRegF src2 ) %{
+ enc_class FAddP_reg_ST( eRegFPR src2 ) %{
// FADDP src2,ST /* DE C0+i */
emit_opcode(cbuf, 0xDE);
emit_opcode(cbuf, 0xC0 + $src2$$reg);
%}
- enc_class subF_divF_encode( eRegF src1, eRegF src2) %{
+ enc_class subFPR_divFPR_encode( eRegFPR src1, eRegFPR src2) %{
// Operand has been loaded into fp ST (stack top)
// FSUB ST,$src1
emit_opcode(cbuf, 0xD8);
@@ -4131,7 +3681,7 @@ encode %{
emit_opcode(cbuf, 0xF0 + $src2$$reg);
%}
- enc_class MulFAddF (eRegF src1, eRegF src2) %{
+ enc_class MulFAddF (eRegFPR src1, eRegFPR src2) %{
// Operand was loaded from memory into fp ST (stack top)
// FADD ST,$src /* D8 C0+i */
emit_opcode(cbuf, 0xD8);
@@ -4143,7 +3693,7 @@ encode %{
%}
- enc_class MulFAddFreverse (eRegF src1, eRegF src2) %{
+ enc_class MulFAddFreverse (eRegFPR src1, eRegFPR src2) %{
// Operand was loaded from memory into fp ST (stack top)
// FADD ST,$src /* D8 C0+i */
emit_opcode(cbuf, 0xD8);
@@ -4167,66 +3717,6 @@ encode %{
store_to_stackslot( cbuf, 0x0DF, 0x07, $dst$$disp );
%}
- enc_class enc_loadLX_volatile( memory mem, stackSlotL dst, regXD tmp ) %{
- { // Atomic long load
- // UseXmmLoadAndClearUpper ? movsd $tmp,$mem : movlpd $tmp,$mem
- emit_opcode(cbuf,UseXmmLoadAndClearUpper ? 0xF2 : 0x66);
- emit_opcode(cbuf,0x0F);
- emit_opcode(cbuf,UseXmmLoadAndClearUpper ? 0x10 : 0x12);
- int base = $mem$$base;
- int index = $mem$$index;
- int scale = $mem$$scale;
- int displace = $mem$$disp;
- bool disp_is_oop = $mem->disp_is_oop(); // disp-as-oop when working with static globals
- encode_RegMem(cbuf, $tmp$$reg, base, index, scale, displace, disp_is_oop);
- }
- { // MOVSD $dst,$tmp ! atomic long store
- emit_opcode(cbuf,0xF2);
- emit_opcode(cbuf,0x0F);
- emit_opcode(cbuf,0x11);
- int base = $dst$$base;
- int index = $dst$$index;
- int scale = $dst$$scale;
- int displace = $dst$$disp;
- bool disp_is_oop = $dst->disp_is_oop(); // disp-as-oop when working with static globals
- encode_RegMem(cbuf, $tmp$$reg, base, index, scale, displace, disp_is_oop);
- }
- %}
-
- enc_class enc_loadLX_reg_volatile( memory mem, eRegL dst, regXD tmp ) %{
- { // Atomic long load
- // UseXmmLoadAndClearUpper ? movsd $tmp,$mem : movlpd $tmp,$mem
- emit_opcode(cbuf,UseXmmLoadAndClearUpper ? 0xF2 : 0x66);
- emit_opcode(cbuf,0x0F);
- emit_opcode(cbuf,UseXmmLoadAndClearUpper ? 0x10 : 0x12);
- int base = $mem$$base;
- int index = $mem$$index;
- int scale = $mem$$scale;
- int displace = $mem$$disp;
- bool disp_is_oop = $mem->disp_is_oop(); // disp-as-oop when working with static globals
- encode_RegMem(cbuf, $tmp$$reg, base, index, scale, displace, disp_is_oop);
- }
- { // MOVD $dst.lo,$tmp
- emit_opcode(cbuf,0x66);
- emit_opcode(cbuf,0x0F);
- emit_opcode(cbuf,0x7E);
- emit_rm(cbuf, 0x3, $tmp$$reg, $dst$$reg);
- }
- { // PSRLQ $tmp,32
- emit_opcode(cbuf,0x66);
- emit_opcode(cbuf,0x0F);
- emit_opcode(cbuf,0x73);
- emit_rm(cbuf, 0x3, 0x02, $tmp$$reg);
- emit_d8(cbuf, 0x20);
- }
- { // MOVD $dst.hi,$tmp
- emit_opcode(cbuf,0x66);
- emit_opcode(cbuf,0x0F);
- emit_opcode(cbuf,0x7E);
- emit_rm(cbuf, 0x3, $tmp$$reg, HIGH_FROM_LOW($dst$$reg));
- }
- %}
-
// Volatile Store Long. Must be atomic, so move it into
// the FP TOS and then do a 64-bit FIST. Has to probe the
// target address before the store (for null-ptr checks)
@@ -4244,66 +3734,6 @@ encode %{
encode_RegMem(cbuf, rm_byte_opcode, base, index, scale, displace, disp_is_oop);
%}
- enc_class enc_storeLX_volatile( memory mem, stackSlotL src, regXD tmp) %{
- { // Atomic long load
- // UseXmmLoadAndClearUpper ? movsd $tmp,[$src] : movlpd $tmp,[$src]
- emit_opcode(cbuf,UseXmmLoadAndClearUpper ? 0xF2 : 0x66);
- emit_opcode(cbuf,0x0F);
- emit_opcode(cbuf,UseXmmLoadAndClearUpper ? 0x10 : 0x12);
- int base = $src$$base;
- int index = $src$$index;
- int scale = $src$$scale;
- int displace = $src$$disp;
- bool disp_is_oop = $src->disp_is_oop(); // disp-as-oop when working with static globals
- encode_RegMem(cbuf, $tmp$$reg, base, index, scale, displace, disp_is_oop);
- }
- cbuf.set_insts_mark(); // Mark start of MOVSD in case $mem has an oop
- { // MOVSD $mem,$tmp ! atomic long store
- emit_opcode(cbuf,0xF2);
- emit_opcode(cbuf,0x0F);
- emit_opcode(cbuf,0x11);
- int base = $mem$$base;
- int index = $mem$$index;
- int scale = $mem$$scale;
- int displace = $mem$$disp;
- bool disp_is_oop = $mem->disp_is_oop(); // disp-as-oop when working with static globals
- encode_RegMem(cbuf, $tmp$$reg, base, index, scale, displace, disp_is_oop);
- }
- %}
-
- enc_class enc_storeLX_reg_volatile( memory mem, eRegL src, regXD tmp, regXD tmp2) %{
- { // MOVD $tmp,$src.lo
- emit_opcode(cbuf,0x66);
- emit_opcode(cbuf,0x0F);
- emit_opcode(cbuf,0x6E);
- emit_rm(cbuf, 0x3, $tmp$$reg, $src$$reg);
- }
- { // MOVD $tmp2,$src.hi
- emit_opcode(cbuf,0x66);
- emit_opcode(cbuf,0x0F);
- emit_opcode(cbuf,0x6E);
- emit_rm(cbuf, 0x3, $tmp2$$reg, HIGH_FROM_LOW($src$$reg));
- }
- { // PUNPCKLDQ $tmp,$tmp2
- emit_opcode(cbuf,0x66);
- emit_opcode(cbuf,0x0F);
- emit_opcode(cbuf,0x62);
- emit_rm(cbuf, 0x3, $tmp$$reg, $tmp2$$reg);
- }
- cbuf.set_insts_mark(); // Mark start of MOVSD in case $mem has an oop
- { // MOVSD $mem,$tmp ! atomic long store
- emit_opcode(cbuf,0xF2);
- emit_opcode(cbuf,0x0F);
- emit_opcode(cbuf,0x11);
- int base = $mem$$base;
- int index = $mem$$index;
- int scale = $mem$$scale;
- int displace = $mem$$disp;
- bool disp_is_oop = $mem->disp_is_oop(); // disp-as-oop when working with static globals
- encode_RegMem(cbuf, $tmp$$reg, base, index, scale, displace, disp_is_oop);
- }
- %}
-
// Safepoint Poll. This polls the safepoint page, and causes an
// exception if it is not readable. Unfortunately, it kills the condition code
// in the process
@@ -4696,7 +4126,7 @@ operand immL32() %{
%}
//Double Immediate zero
-operand immD0() %{
+operand immDPR0() %{
// Do additional (and counter-intuitive) test against NaN to work around VC++
// bug that generates code such that NaNs compare equal to 0.0
predicate( UseSSE<=1 && n->getd() == 0.0 && !g_isnan(n->getd()) );
@@ -4708,7 +4138,7 @@ operand immD0() %{
%}
// Double Immediate one
-operand immD1() %{
+operand immDPR1() %{
predicate( UseSSE<=1 && n->getd() == 1.0 );
match(ConD);
@@ -4718,7 +4148,7 @@ operand immD1() %{
%}
// Double Immediate
-operand immD() %{
+operand immDPR() %{
predicate(UseSSE<=1);
match(ConD);
@@ -4727,7 +4157,7 @@ operand immD() %{
interface(CONST_INTER);
%}
-operand immXD() %{
+operand immD() %{
predicate(UseSSE>=2);
match(ConD);
@@ -4737,7 +4167,7 @@ operand immXD() %{
%}
// Double Immediate zero
-operand immXD0() %{
+operand immD0() %{
// Do additional (and counter-intuitive) test against NaN to work around VC++
// bug that generates code such that NaNs compare equal to 0.0 AND do not
// compare equal to -0.0.
@@ -4749,7 +4179,7 @@ operand immXD0() %{
%}
// Float Immediate zero
-operand immF0() %{
+operand immFPR0() %{
predicate(UseSSE == 0 && n->getf() == 0.0F);
match(ConF);
@@ -4759,7 +4189,7 @@ operand immF0() %{
%}
// Float Immediate one
-operand immF1() %{
+operand immFPR1() %{
predicate(UseSSE == 0 && n->getf() == 1.0F);
match(ConF);
@@ -4769,7 +4199,7 @@ operand immF1() %{
%}
// Float Immediate
-operand immF() %{
+operand immFPR() %{
predicate( UseSSE == 0 );
match(ConF);
@@ -4779,7 +4209,7 @@ operand immF() %{
%}
// Float Immediate
-operand immXF() %{
+operand immF() %{
predicate(UseSSE >= 1);
match(ConF);
@@ -4789,7 +4219,7 @@ operand immXF() %{
%}
// Float Immediate zero. Zero and not -0.0
-operand immXF0() %{
+operand immF0() %{
predicate( UseSSE >= 1 && jint_cast(n->getf()) == 0 );
match(ConF);
@@ -5165,7 +4595,7 @@ operand flagsReg_long_LEGT() %{
%}
// Float register operands
-operand regD() %{
+operand regDPR() %{
predicate( UseSSE < 2 );
constraint(ALLOC_IN_RC(dbl_reg));
match(RegD);
@@ -5175,7 +4605,7 @@ operand regD() %{
interface(REG_INTER);
%}
-operand regDPR1(regD reg) %{
+operand regDPR1(regDPR reg) %{
predicate( UseSSE < 2 );
constraint(ALLOC_IN_RC(dbl_reg0));
match(reg);
@@ -5183,7 +4613,7 @@ operand regDPR1(regD reg) %{
interface(REG_INTER);
%}
-operand regDPR2(regD reg) %{
+operand regDPR2(regDPR reg) %{
predicate( UseSSE < 2 );
constraint(ALLOC_IN_RC(dbl_reg1));
match(reg);
@@ -5191,7 +4621,7 @@ operand regDPR2(regD reg) %{
interface(REG_INTER);
%}
-operand regnotDPR1(regD reg) %{
+operand regnotDPR1(regDPR reg) %{
predicate( UseSSE < 2 );
constraint(ALLOC_IN_RC(dbl_notreg0));
match(reg);
@@ -5200,18 +4630,18 @@ operand regnotDPR1(regD reg) %{
%}
// XMM Double register operands
-operand regXD() %{
+operand regD() %{
predicate( UseSSE>=2 );
constraint(ALLOC_IN_RC(xdb_reg));
match(RegD);
- match(regXD6);
- match(regXD7);
+ match(regD6);
+ match(regD7);
format %{ %}
interface(REG_INTER);
%}
// XMM6 double register operands
-operand regXD6(regXD reg) %{
+operand regD6(regD reg) %{
predicate( UseSSE>=2 );
constraint(ALLOC_IN_RC(xdb_reg6));
match(reg);
@@ -5220,7 +4650,7 @@ operand regXD6(regXD reg) %{
%}
// XMM7 double register operands
-operand regXD7(regXD reg) %{
+operand regD7(regD reg) %{
predicate( UseSSE>=2 );
constraint(ALLOC_IN_RC(xdb_reg7));
match(reg);
@@ -5229,7 +4659,7 @@ operand regXD7(regXD reg) %{
%}
// Float register operands
-operand regF() %{
+operand regFPR() %{
predicate( UseSSE < 2 );
constraint(ALLOC_IN_RC(flt_reg));
match(RegF);
@@ -5239,7 +4669,7 @@ operand regF() %{
%}
// Float register operands
-operand regFPR1(regF reg) %{
+operand regFPR1(regFPR reg) %{
predicate( UseSSE < 2 );
constraint(ALLOC_IN_RC(flt_reg0));
match(reg);
@@ -5248,7 +4678,7 @@ operand regFPR1(regF reg) %{
%}
// XMM register operands
-operand regX() %{
+operand regF() %{
predicate( UseSSE>=1 );
constraint(ALLOC_IN_RC(xmm_reg));
match(RegF);
@@ -5992,7 +5422,7 @@ pipe_class pipe_cmov_reg_long( eFlagsReg cr, eRegL dst, eRegL src) %{
%}
// Conditional move double reg-reg
-pipe_class pipe_cmovD_reg( eFlagsReg cr, regDPR1 dst, regD src) %{
+pipe_class pipe_cmovDPR_reg( eFlagsReg cr, regDPR1 dst, regDPR src) %{
single_instruction;
dst : S4(write);
src : S3(read);
@@ -6001,7 +5431,7 @@ pipe_class pipe_cmovD_reg( eFlagsReg cr, regDPR1 dst, regD src) %{
%}
// Float reg-reg operation
-pipe_class fpu_reg(regD dst) %{
+pipe_class fpu_reg(regDPR dst) %{
instruction_count(2);
dst : S3(read);
DECODE : S0(2); // any 2 decoders
@@ -6009,7 +5439,7 @@ pipe_class fpu_reg(regD dst) %{
%}
// Float reg-reg operation
-pipe_class fpu_reg_reg(regD dst, regD src) %{
+pipe_class fpu_reg_reg(regDPR dst, regDPR src) %{
instruction_count(2);
dst : S4(write);
src : S3(read);
@@ -6018,7 +5448,7 @@ pipe_class fpu_reg_reg(regD dst, regD src) %{
%}
// Float reg-reg operation
-pipe_class fpu_reg_reg_reg(regD dst, regD src1, regD src2) %{
+pipe_class fpu_reg_reg_reg(regDPR dst, regDPR src1, regDPR src2) %{
instruction_count(3);
dst : S4(write);
src1 : S3(read);
@@ -6028,7 +5458,7 @@ pipe_class fpu_reg_reg_reg(regD dst, regD src1, regD src2) %{
%}
// Float reg-reg operation
-pipe_class fpu_reg_reg_reg_reg(regD dst, regD src1, regD src2, regD src3) %{
+pipe_class fpu_reg_reg_reg_reg(regDPR dst, regDPR src1, regDPR src2, regDPR src3) %{
instruction_count(4);
dst : S4(write);
src1 : S3(read);
@@ -6039,7 +5469,7 @@ pipe_class fpu_reg_reg_reg_reg(regD dst, regD src1, regD src2, regD src3) %{
%}
// Float reg-reg operation
-pipe_class fpu_reg_mem_reg_reg(regD dst, memory src1, regD src2, regD src3) %{
+pipe_class fpu_reg_mem_reg_reg(regDPR dst, memory src1, regDPR src2, regDPR src3) %{
instruction_count(4);
dst : S4(write);
src1 : S3(read);
@@ -6052,7 +5482,7 @@ pipe_class fpu_reg_mem_reg_reg(regD dst, memory src1, regD src2, regD src3) %{
%}
// Float reg-mem operation
-pipe_class fpu_reg_mem(regD dst, memory mem) %{
+pipe_class fpu_reg_mem(regDPR dst, memory mem) %{
instruction_count(2);
dst : S5(write);
mem : S3(read);
@@ -6063,7 +5493,7 @@ pipe_class fpu_reg_mem(regD dst, memory mem) %{
%}
// Float reg-mem operation
-pipe_class fpu_reg_reg_mem(regD dst, regD src1, memory mem) %{
+pipe_class fpu_reg_reg_mem(regDPR dst, regDPR src1, memory mem) %{
instruction_count(3);
dst : S5(write);
src1 : S3(read);
@@ -6075,7 +5505,7 @@ pipe_class fpu_reg_reg_mem(regD dst, regD src1, memory mem) %{
%}
// Float mem-reg operation
-pipe_class fpu_mem_reg(memory mem, regD src) %{
+pipe_class fpu_mem_reg(memory mem, regDPR src) %{
instruction_count(2);
src : S5(read);
mem : S3(read);
@@ -6085,7 +5515,7 @@ pipe_class fpu_mem_reg(memory mem, regD src) %{
MEM : S3; // any mem
%}
-pipe_class fpu_mem_reg_reg(memory mem, regD src1, regD src2) %{
+pipe_class fpu_mem_reg_reg(memory mem, regDPR src1, regDPR src2) %{
instruction_count(3);
src1 : S3(read);
src2 : S3(read);
@@ -6096,7 +5526,7 @@ pipe_class fpu_mem_reg_reg(memory mem, regD src1, regD src2) %{
MEM : S3; // any mem
%}
-pipe_class fpu_mem_reg_mem(memory mem, regD src1, memory src2) %{
+pipe_class fpu_mem_reg_mem(memory mem, regDPR src1, memory src2) %{
instruction_count(3);
src1 : S3(read);
src2 : S3(read);
@@ -6125,7 +5555,7 @@ pipe_class fpu_mem_mem_mem(memory dst, memory src1, memory src2) %{
MEM : S3(3); // any mem
%}
-pipe_class fpu_mem_reg_con(memory mem, regD src1) %{
+pipe_class fpu_mem_reg_con(memory mem, regDPR src1) %{
instruction_count(3);
src1 : S4(read);
mem : S4(read);
@@ -6136,7 +5566,7 @@ pipe_class fpu_mem_reg_con(memory mem, regD src1) %{
%}
// Float load constant
-pipe_class fpu_reg_con(regD dst) %{
+pipe_class fpu_reg_con(regDPR dst) %{
instruction_count(2);
dst : S5(write);
D0 : S0; // big decoder only for the load
@@ -6146,7 +5576,7 @@ pipe_class fpu_reg_con(regD dst) %{
%}
// Float load constant
-pipe_class fpu_reg_reg_con(regD dst, regD src) %{
+pipe_class fpu_reg_reg_con(regDPR dst, regDPR src) %{
instruction_count(3);
dst : S5(write);
src : S3(read);
@@ -6861,18 +6291,21 @@ instruct loadL_volatile(stackSlotL dst, memory mem) %{
ins_pipe( fpu_reg_mem );
%}
-instruct loadLX_volatile(stackSlotL dst, memory mem, regXD tmp) %{
+instruct loadLX_volatile(stackSlotL dst, memory mem, regD tmp) %{
predicate(UseSSE>=2 && ((LoadLNode*)n)->require_atomic_access());
match(Set dst (LoadL mem));
effect(TEMP tmp);
ins_cost(180);
format %{ "MOVSD $tmp,$mem\t# Atomic volatile long load\n\t"
"MOVSD $dst,$tmp" %}
- ins_encode(enc_loadLX_volatile(mem, dst, tmp));
+ ins_encode %{
+ __ movdbl($tmp$$XMMRegister, $mem$$Address);
+ __ movdbl(Address(rsp, $dst$$disp), $tmp$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
-instruct loadLX_reg_volatile(eRegL dst, memory mem, regXD tmp) %{
+instruct loadLX_reg_volatile(eRegL dst, memory mem, regD tmp) %{
predicate(UseSSE>=2 && ((LoadLNode*)n)->require_atomic_access());
match(Set dst (LoadL mem));
effect(TEMP tmp);
@@ -6881,7 +6314,12 @@ instruct loadLX_reg_volatile(eRegL dst, memory mem, regXD tmp) %{
"MOVD $dst.lo,$tmp\n\t"
"PSRLQ $tmp,32\n\t"
"MOVD $dst.hi,$tmp" %}
- ins_encode(enc_loadLX_reg_volatile(mem, dst, tmp));
+ ins_encode %{
+ __ movdbl($tmp$$XMMRegister, $mem$$Address);
+ __ movdl($dst$$Register, $tmp$$XMMRegister);
+ __ psrlq($tmp$$XMMRegister, 32);
+ __ movdl(HIGH_FROM_LOW($dst$$Register), $tmp$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
@@ -6920,7 +6358,7 @@ instruct loadKlass(eRegP dst, memory mem) %{
%}
// Load Double
-instruct loadD(regD dst, memory mem) %{
+instruct loadDPR(regDPR dst, memory mem) %{
predicate(UseSSE<=1);
match(Set dst (LoadD mem));
@@ -6929,42 +6367,48 @@ instruct loadD(regD dst, memory mem) %{
"FSTP $dst" %}
opcode(0xDD); /* DD /0 */
ins_encode( OpcP, RMopc_Mem(0x00,mem),
- Pop_Reg_D(dst) );
+ Pop_Reg_DPR(dst) );
ins_pipe( fpu_reg_mem );
%}
// Load Double to XMM
-instruct loadXD(regXD dst, memory mem) %{
+instruct loadD(regD dst, memory mem) %{
predicate(UseSSE>=2 && UseXmmLoadAndClearUpper);
match(Set dst (LoadD mem));
ins_cost(145);
format %{ "MOVSD $dst,$mem" %}
- ins_encode( Opcode(0xF2), Opcode(0x0F), Opcode(0x10), RegMem(dst,mem));
+ ins_encode %{
+ __ movdbl ($dst$$XMMRegister, $mem$$Address);
+ %}
ins_pipe( pipe_slow );
%}
-instruct loadXD_partial(regXD dst, memory mem) %{
+instruct loadD_partial(regD dst, memory mem) %{
predicate(UseSSE>=2 && !UseXmmLoadAndClearUpper);
match(Set dst (LoadD mem));
ins_cost(145);
format %{ "MOVLPD $dst,$mem" %}
- ins_encode( Opcode(0x66), Opcode(0x0F), Opcode(0x12), RegMem(dst,mem));
+ ins_encode %{
+ __ movdbl ($dst$$XMMRegister, $mem$$Address);
+ %}
ins_pipe( pipe_slow );
%}
// Load to XMM register (single-precision floating point)
// MOVSS instruction
-instruct loadX(regX dst, memory mem) %{
+instruct loadF(regF dst, memory mem) %{
predicate(UseSSE>=1);
match(Set dst (LoadF mem));
ins_cost(145);
format %{ "MOVSS $dst,$mem" %}
- ins_encode( Opcode(0xF3), Opcode(0x0F), Opcode(0x10), RegMem(dst,mem));
+ ins_encode %{
+ __ movflt ($dst$$XMMRegister, $mem$$Address);
+ %}
ins_pipe( pipe_slow );
%}
// Load Float
-instruct loadF(regF dst, memory mem) %{
+instruct loadFPR(regFPR dst, memory mem) %{
predicate(UseSSE==0);
match(Set dst (LoadF mem));
@@ -6973,57 +6417,67 @@ instruct loadF(regF dst, memory mem) %{
"FSTP $dst" %}
opcode(0xD9); /* D9 /0 */
ins_encode( OpcP, RMopc_Mem(0x00,mem),
- Pop_Reg_F(dst) );
+ Pop_Reg_FPR(dst) );
ins_pipe( fpu_reg_mem );
%}
// Load Aligned Packed Byte to XMM register
-instruct loadA8B(regXD dst, memory mem) %{
+instruct loadA8B(regD dst, memory mem) %{
predicate(UseSSE>=1);
match(Set dst (Load8B mem));
ins_cost(125);
format %{ "MOVQ $dst,$mem\t! packed8B" %}
- ins_encode( movq_ld(dst, mem));
+ ins_encode %{
+ __ movq($dst$$XMMRegister, $mem$$Address);
+ %}
ins_pipe( pipe_slow );
%}
// Load Aligned Packed Short to XMM register
-instruct loadA4S(regXD dst, memory mem) %{
+instruct loadA4S(regD dst, memory mem) %{
predicate(UseSSE>=1);
match(Set dst (Load4S mem));
ins_cost(125);
format %{ "MOVQ $dst,$mem\t! packed4S" %}
- ins_encode( movq_ld(dst, mem));
+ ins_encode %{
+ __ movq($dst$$XMMRegister, $mem$$Address);
+ %}
ins_pipe( pipe_slow );
%}
// Load Aligned Packed Char to XMM register
-instruct loadA4C(regXD dst, memory mem) %{
+instruct loadA4C(regD dst, memory mem) %{
predicate(UseSSE>=1);
match(Set dst (Load4C mem));
ins_cost(125);
format %{ "MOVQ $dst,$mem\t! packed4C" %}
- ins_encode( movq_ld(dst, mem));
+ ins_encode %{
+ __ movq($dst$$XMMRegister, $mem$$Address);
+ %}
ins_pipe( pipe_slow );
%}
// Load Aligned Packed Integer to XMM register
-instruct load2IU(regXD dst, memory mem) %{
+instruct load2IU(regD dst, memory mem) %{
predicate(UseSSE>=1);
match(Set dst (Load2I mem));
ins_cost(125);
format %{ "MOVQ $dst,$mem\t! packed2I" %}
- ins_encode( movq_ld(dst, mem));
+ ins_encode %{
+ __ movq($dst$$XMMRegister, $mem$$Address);
+ %}
ins_pipe( pipe_slow );
%}
// Load Aligned Packed Single to XMM
-instruct loadA2F(regXD dst, memory mem) %{
+instruct loadA2F(regD dst, memory mem) %{
predicate(UseSSE>=1);
match(Set dst (Load2F mem));
ins_cost(145);
format %{ "MOVQ $dst,$mem\t! packed2F" %}
- ins_encode( movq_ld(dst, mem));
+ ins_encode %{
+ __ movq($dst$$XMMRegister, $mem$$Address);
+ %}
ins_pipe( pipe_slow );
%}
@@ -7130,8 +6584,8 @@ instruct loadConL0(eRegL dst, immL0 src, eFlagsReg cr) %{
ins_pipe( ialu_reg_long );
%}
-// The instruction usage is guarded by predicate in operand immF().
-instruct loadConF(regF dst, immF con) %{
+// The instruction usage is guarded by predicate in operand immFPR().
+instruct loadConFPR(regFPR dst, immFPR con) %{
match(Set dst con);
ins_cost(125);
format %{ "FLD_S ST,[$constantaddress]\t# load from constant table: float=$con\n\t"
@@ -7143,8 +6597,8 @@ instruct loadConF(regF dst, immF con) %{
ins_pipe(fpu_reg_con);
%}
-// The instruction usage is guarded by predicate in operand immF0().
-instruct loadConF0(regF dst, immF0 con) %{
+// The instruction usage is guarded by predicate in operand immFPR0().
+instruct loadConFPR0(regFPR dst, immFPR0 con) %{
match(Set dst con);
ins_cost(125);
format %{ "FLDZ ST\n\t"
@@ -7156,8 +6610,8 @@ instruct loadConF0(regF dst, immF0 con) %{
ins_pipe(fpu_reg_con);
%}
-// The instruction usage is guarded by predicate in operand immF1().
-instruct loadConF1(regF dst, immF1 con) %{
+// The instruction usage is guarded by predicate in operand immFPR1().
+instruct loadConFPR1(regFPR dst, immFPR1 con) %{
match(Set dst con);
ins_cost(125);
format %{ "FLD1 ST\n\t"
@@ -7169,8 +6623,8 @@ instruct loadConF1(regF dst, immF1 con) %{
ins_pipe(fpu_reg_con);
%}
-// The instruction usage is guarded by predicate in operand immXF().
-instruct loadConX(regX dst, immXF con) %{
+// The instruction usage is guarded by predicate in operand immF().
+instruct loadConF(regF dst, immF con) %{
match(Set dst con);
ins_cost(125);
format %{ "MOVSS $dst,[$constantaddress]\t# load from constant table: float=$con" %}
@@ -7180,8 +6634,8 @@ instruct loadConX(regX dst, immXF con) %{
ins_pipe(pipe_slow);
%}
-// The instruction usage is guarded by predicate in operand immXF0().
-instruct loadConX0(regX dst, immXF0 src) %{
+// The instruction usage is guarded by predicate in operand immF0().
+instruct loadConF0(regF dst, immF0 src) %{
match(Set dst src);
ins_cost(100);
format %{ "XORPS $dst,$dst\t# float 0.0" %}
@@ -7191,8 +6645,8 @@ instruct loadConX0(regX dst, immXF0 src) %{
ins_pipe(pipe_slow);
%}
-// The instruction usage is guarded by predicate in operand immD().
-instruct loadConD(regD dst, immD con) %{
+// The instruction usage is guarded by predicate in operand immDPR().
+instruct loadConDPR(regDPR dst, immDPR con) %{
match(Set dst con);
ins_cost(125);
@@ -7205,8 +6659,8 @@ instruct loadConD(regD dst, immD con) %{
ins_pipe(fpu_reg_con);
%}
-// The instruction usage is guarded by predicate in operand immD0().
-instruct loadConD0(regD dst, immD0 con) %{
+// The instruction usage is guarded by predicate in operand immDPR0().
+instruct loadConDPR0(regDPR dst, immDPR0 con) %{
match(Set dst con);
ins_cost(125);
@@ -7219,8 +6673,8 @@ instruct loadConD0(regD dst, immD0 con) %{
ins_pipe(fpu_reg_con);
%}
-// The instruction usage is guarded by predicate in operand immD1().
-instruct loadConD1(regD dst, immD1 con) %{
+// The instruction usage is guarded by predicate in operand immDPR1().
+instruct loadConDPR1(regDPR dst, immDPR1 con) %{
match(Set dst con);
ins_cost(125);
@@ -7233,8 +6687,8 @@ instruct loadConD1(regD dst, immD1 con) %{
ins_pipe(fpu_reg_con);
%}
-// The instruction usage is guarded by predicate in operand immXD().
-instruct loadConXD(regXD dst, immXD con) %{
+// The instruction usage is guarded by predicate in operand immD().
+instruct loadConD(regD dst, immD con) %{
match(Set dst con);
ins_cost(125);
format %{ "MOVSD $dst,[$constantaddress]\t# load from constant table: double=$con" %}
@@ -7244,12 +6698,14 @@ instruct loadConXD(regXD dst, immXD con) %{
ins_pipe(pipe_slow);
%}
-// The instruction usage is guarded by predicate in operand immXD0().
-instruct loadConXD0(regXD dst, immXD0 src) %{
+// The instruction usage is guarded by predicate in operand immD0().
+instruct loadConD0(regD dst, immD0 src) %{
match(Set dst src);
ins_cost(100);
format %{ "XORPD $dst,$dst\t# double 0.0" %}
- ins_encode( Opcode(0x66), Opcode(0x0F), Opcode(0x57), RegReg(dst,dst));
+ ins_encode %{
+ __ xorpd ($dst$$XMMRegister, $dst$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
@@ -7287,7 +6743,7 @@ instruct loadSSP(eRegP dst, stackSlotP src) %{
%}
// Load Stack Slot
-instruct loadSSF(regF dst, stackSlotF src) %{
+instruct loadSSF(regFPR dst, stackSlotF src) %{
match(Set dst src);
ins_cost(125);
@@ -7295,12 +6751,12 @@ instruct loadSSF(regF dst, stackSlotF src) %{
"FSTP $dst" %}
opcode(0xD9); /* D9 /0, FLD m32real */
ins_encode( OpcP, RMopc_Mem_no_oop(0x00,src),
- Pop_Reg_F(dst) );
+ Pop_Reg_FPR(dst) );
ins_pipe( fpu_reg_mem );
%}
// Load Stack Slot
-instruct loadSSD(regD dst, stackSlotD src) %{
+instruct loadSSD(regDPR dst, stackSlotD src) %{
match(Set dst src);
ins_cost(125);
@@ -7308,7 +6764,7 @@ instruct loadSSD(regD dst, stackSlotD src) %{
"FSTP $dst" %}
opcode(0xDD); /* DD /0, FLD m64real */
ins_encode( OpcP, RMopc_Mem_no_oop(0x00,src),
- Pop_Reg_D(dst) );
+ Pop_Reg_DPR(dst) );
ins_pipe( fpu_reg_mem );
%}
@@ -7543,7 +6999,7 @@ instruct storeL_volatile(memory mem, stackSlotL src, eFlagsReg cr ) %{
ins_pipe( fpu_reg_mem );
%}
-instruct storeLX_volatile(memory mem, stackSlotL src, regXD tmp, eFlagsReg cr) %{
+instruct storeLX_volatile(memory mem, stackSlotL src, regD tmp, eFlagsReg cr) %{
predicate(UseSSE>=2 && ((StoreLNode*)n)->require_atomic_access());
match(Set mem (StoreL mem src));
effect( TEMP tmp, KILL cr );
@@ -7551,12 +7007,15 @@ instruct storeLX_volatile(memory mem, stackSlotL src, regXD tmp, eFlagsReg cr) %
format %{ "CMP $mem,EAX\t# Probe address for implicit null check\n\t"
"MOVSD $tmp,$src\n\t"
"MOVSD $mem,$tmp\t # 64-bit atomic volatile long store" %}
- opcode(0x3B);
- ins_encode( OpcP, RegMem( EAX, mem ), enc_storeLX_volatile(mem, src, tmp));
+ ins_encode %{
+ __ cmpl(rax, $mem$$Address);
+ __ movdbl($tmp$$XMMRegister, Address(rsp, $src$$disp));
+ __ movdbl($mem$$Address, $tmp$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
-instruct storeLX_reg_volatile(memory mem, eRegL src, regXD tmp2, regXD tmp, eFlagsReg cr) %{
+instruct storeLX_reg_volatile(memory mem, eRegL src, regD tmp2, regD tmp, eFlagsReg cr) %{
predicate(UseSSE>=2 && ((StoreLNode*)n)->require_atomic_access());
match(Set mem (StoreL mem src));
effect( TEMP tmp2 , TEMP tmp, KILL cr );
@@ -7566,8 +7025,13 @@ instruct storeLX_reg_volatile(memory mem, eRegL src, regXD tmp2, regXD tmp, eFla
"MOVD $tmp2,$src.hi\n\t"
"PUNPCKLDQ $tmp,$tmp2\n\t"
"MOVSD $mem,$tmp\t # 64-bit atomic volatile long store" %}
- opcode(0x3B);
- ins_encode( OpcP, RegMem( EAX, mem ), enc_storeLX_reg_volatile(mem, src, tmp, tmp2));
+ ins_encode %{
+ __ cmpl(rax, $mem$$Address);
+ __ movdl($tmp$$XMMRegister, $src$$Register);
+ __ movdl($tmp2$$XMMRegister, HIGH_FROM_LOW($src$$Register));
+ __ punpckldq($tmp$$XMMRegister, $tmp2$$XMMRegister);
+ __ movdbl($mem$$Address, $tmp$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
@@ -7629,32 +7093,38 @@ instruct storeImmB(memory mem, immI8 src) %{
%}
// Store Aligned Packed Byte XMM register to memory
-instruct storeA8B(memory mem, regXD src) %{
+instruct storeA8B(memory mem, regD src) %{
predicate(UseSSE>=1);
match(Set mem (Store8B mem src));
ins_cost(145);
format %{ "MOVQ $mem,$src\t! packed8B" %}
- ins_encode( movq_st(mem, src));
+ ins_encode %{
+ __ movq($mem$$Address, $src$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
// Store Aligned Packed Char/Short XMM register to memory
-instruct storeA4C(memory mem, regXD src) %{
+instruct storeA4C(memory mem, regD src) %{
predicate(UseSSE>=1);
match(Set mem (Store4C mem src));
ins_cost(145);
format %{ "MOVQ $mem,$src\t! packed4C" %}
- ins_encode( movq_st(mem, src));
+ ins_encode %{
+ __ movq($mem$$Address, $src$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
// Store Aligned Packed Integer XMM register to memory
-instruct storeA2I(memory mem, regXD src) %{
+instruct storeA2I(memory mem, regD src) %{
predicate(UseSSE>=1);
match(Set mem (Store2I mem src));
ins_cost(145);
format %{ "MOVQ $mem,$src\t! packed2I" %}
- ins_encode( movq_st(mem, src));
+ ins_encode %{
+ __ movq($mem$$Address, $src$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
@@ -7670,118 +7140,124 @@ instruct storeImmCM(memory mem, immI8 src) %{
%}
// Store Double
-instruct storeD( memory mem, regDPR1 src) %{
+instruct storeDPR( memory mem, regDPR1 src) %{
predicate(UseSSE<=1);
match(Set mem (StoreD mem src));
ins_cost(100);
format %{ "FST_D $mem,$src" %}
opcode(0xDD); /* DD /2 */
- ins_encode( enc_FP_store(mem,src) );
+ ins_encode( enc_FPR_store(mem,src) );
ins_pipe( fpu_mem_reg );
%}
// Store double does rounding on x86
-instruct storeD_rounded( memory mem, regDPR1 src) %{
+instruct storeDPR_rounded( memory mem, regDPR1 src) %{
predicate(UseSSE<=1);
match(Set mem (StoreD mem (RoundDouble src)));
ins_cost(100);
format %{ "FST_D $mem,$src\t# round" %}
opcode(0xDD); /* DD /2 */
- ins_encode( enc_FP_store(mem,src) );
+ ins_encode( enc_FPR_store(mem,src) );
ins_pipe( fpu_mem_reg );
%}
// Store XMM register to memory (double-precision floating points)
// MOVSD instruction
-instruct storeXD(memory mem, regXD src) %{
+instruct storeD(memory mem, regD src) %{
predicate(UseSSE>=2);
match(Set mem (StoreD mem src));
ins_cost(95);
format %{ "MOVSD $mem,$src" %}
- ins_encode( Opcode(0xF2), Opcode(0x0F), Opcode(0x11), RegMem(src, mem));
+ ins_encode %{
+ __ movdbl($mem$$Address, $src$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
// Store XMM register to memory (single-precision floating point)
// MOVSS instruction
-instruct storeX(memory mem, regX src) %{
+instruct storeF(memory mem, regF src) %{
predicate(UseSSE>=1);
match(Set mem (StoreF mem src));
ins_cost(95);
format %{ "MOVSS $mem,$src" %}
- ins_encode( Opcode(0xF3), Opcode(0x0F), Opcode(0x11), RegMem(src, mem));
+ ins_encode %{
+ __ movflt($mem$$Address, $src$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
// Store Aligned Packed Single Float XMM register to memory
-instruct storeA2F(memory mem, regXD src) %{
+instruct storeA2F(memory mem, regD src) %{
predicate(UseSSE>=1);
match(Set mem (Store2F mem src));
ins_cost(145);
format %{ "MOVQ $mem,$src\t! packed2F" %}
- ins_encode( movq_st(mem, src));
+ ins_encode %{
+ __ movq($mem$$Address, $src$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
// Store Float
-instruct storeF( memory mem, regFPR1 src) %{
+instruct storeFPR( memory mem, regFPR1 src) %{
predicate(UseSSE==0);
match(Set mem (StoreF mem src));
ins_cost(100);
format %{ "FST_S $mem,$src" %}
opcode(0xD9); /* D9 /2 */
- ins_encode( enc_FP_store(mem,src) );
+ ins_encode( enc_FPR_store(mem,src) );
ins_pipe( fpu_mem_reg );
%}
// Store Float does rounding on x86
-instruct storeF_rounded( memory mem, regFPR1 src) %{
+instruct storeFPR_rounded( memory mem, regFPR1 src) %{
predicate(UseSSE==0);
match(Set mem (StoreF mem (RoundFloat src)));
ins_cost(100);
format %{ "FST_S $mem,$src\t# round" %}
opcode(0xD9); /* D9 /2 */
- ins_encode( enc_FP_store(mem,src) );
+ ins_encode( enc_FPR_store(mem,src) );
ins_pipe( fpu_mem_reg );
%}
// Store Float does rounding on x86
-instruct storeF_Drounded( memory mem, regDPR1 src) %{
+instruct storeFPR_Drounded( memory mem, regDPR1 src) %{
predicate(UseSSE<=1);
match(Set mem (StoreF mem (ConvD2F src)));
ins_cost(100);
format %{ "FST_S $mem,$src\t# D-round" %}
opcode(0xD9); /* D9 /2 */
- ins_encode( enc_FP_store(mem,src) );
+ ins_encode( enc_FPR_store(mem,src) );
ins_pipe( fpu_mem_reg );
%}
// Store immediate Float value (it is faster than store from FPU register)
-// The instruction usage is guarded by predicate in operand immF().
-instruct storeF_imm( memory mem, immF src) %{
+// The instruction usage is guarded by predicate in operand immFPR().
+instruct storeFPR_imm( memory mem, immFPR src) %{
match(Set mem (StoreF mem src));
ins_cost(50);
format %{ "MOV $mem,$src\t# store float" %}
opcode(0xC7); /* C7 /0 */
- ins_encode( OpcP, RMopc_Mem(0x00,mem), Con32F_as_bits( src ));
+ ins_encode( OpcP, RMopc_Mem(0x00,mem), Con32FPR_as_bits( src ));
ins_pipe( ialu_mem_imm );
%}
// Store immediate Float value (it is faster than store from XMM register)
-// The instruction usage is guarded by predicate in operand immXF().
-instruct storeX_imm( memory mem, immXF src) %{
+// The instruction usage is guarded by predicate in operand immF().
+instruct storeF_imm( memory mem, immF src) %{
match(Set mem (StoreF mem src));
ins_cost(50);
format %{ "MOV $mem,$src\t# store float" %}
opcode(0xC7); /* C7 /0 */
- ins_encode( OpcP, RMopc_Mem(0x00,mem), Con32XF_as_bits( src ));
+ ins_encode( OpcP, RMopc_Mem(0x00,mem), Con32F_as_bits( src ));
ins_pipe( ialu_mem_imm );
%}
@@ -7892,6 +7368,16 @@ instruct unnecessary_membar_volatile() %{
ins_pipe(empty);
%}
+instruct membar_storestore() %{
+ match(MemBarStoreStore);
+ ins_cost(0);
+
+ size(0);
+ format %{ "MEMBAR-storestore (empty encoding)" %}
+ ins_encode( );
+ ins_pipe(empty);
+%}
+
//----------Move Instructions--------------------------------------------------
instruct castX2P(eAXRegP dst, eAXRegI src) %{
match(Set dst (CastX2P src));
@@ -8079,29 +7565,29 @@ instruct cmovP_regUCF(cmpOpUCF cop, eFlagsRegUCF cr, eRegP dst, eRegP src ) %{
//%}
// Conditional move
-instruct fcmovD_regU(cmpOp_fcmov cop, eFlagsRegU cr, regDPR1 dst, regD src) %{
+instruct fcmovDPR_regU(cmpOp_fcmov cop, eFlagsRegU cr, regDPR1 dst, regDPR src) %{
predicate(UseSSE<=1);
match(Set dst (CMoveD (Binary cop cr) (Binary dst src)));
ins_cost(200);
format %{ "FCMOV$cop $dst,$src\t# double" %}
opcode(0xDA);
- ins_encode( enc_cmov_d(cop,src) );
- ins_pipe( pipe_cmovD_reg );
+ ins_encode( enc_cmov_dpr(cop,src) );
+ ins_pipe( pipe_cmovDPR_reg );
%}
// Conditional move
-instruct fcmovF_regU(cmpOp_fcmov cop, eFlagsRegU cr, regFPR1 dst, regF src) %{
+instruct fcmovFPR_regU(cmpOp_fcmov cop, eFlagsRegU cr, regFPR1 dst, regFPR src) %{
predicate(UseSSE==0);
match(Set dst (CMoveF (Binary cop cr) (Binary dst src)));
ins_cost(200);
format %{ "FCMOV$cop $dst,$src\t# float" %}
opcode(0xDA);
- ins_encode( enc_cmov_d(cop,src) );
- ins_pipe( pipe_cmovD_reg );
+ ins_encode( enc_cmov_dpr(cop,src) );
+ ins_pipe( pipe_cmovDPR_reg );
%}
// Float CMOV on Intel doesn't handle *signed* compares, only unsigned.
-instruct fcmovD_regS(cmpOp cop, eFlagsReg cr, regD dst, regD src) %{
+instruct fcmovDPR_regS(cmpOp cop, eFlagsReg cr, regDPR dst, regDPR src) %{
predicate(UseSSE<=1);
match(Set dst (CMoveD (Binary cop cr) (Binary dst src)));
ins_cost(200);
@@ -8109,12 +7595,12 @@ instruct fcmovD_regS(cmpOp cop, eFlagsReg cr, regD dst, regD src) %{
"MOV $dst,$src\t# double\n"
"skip:" %}
opcode (0xdd, 0x3); /* DD D8+i or DD /3 */
- ins_encode( enc_cmov_branch( cop, 0x4 ), Push_Reg_D(src), OpcP, RegOpc(dst) );
- ins_pipe( pipe_cmovD_reg );
+ ins_encode( enc_cmov_branch( cop, 0x4 ), Push_Reg_DPR(src), OpcP, RegOpc(dst) );
+ ins_pipe( pipe_cmovDPR_reg );
%}
// Float CMOV on Intel doesn't handle *signed* compares, only unsigned.
-instruct fcmovF_regS(cmpOp cop, eFlagsReg cr, regF dst, regF src) %{
+instruct fcmovFPR_regS(cmpOp cop, eFlagsReg cr, regFPR dst, regFPR src) %{
predicate(UseSSE==0);
match(Set dst (CMoveF (Binary cop cr) (Binary dst src)));
ins_cost(200);
@@ -8122,12 +7608,12 @@ instruct fcmovF_regS(cmpOp cop, eFlagsReg cr, regF dst, regF src) %{
"MOV $dst,$src\t# float\n"
"skip:" %}
opcode (0xdd, 0x3); /* DD D8+i or DD /3 */
- ins_encode( enc_cmov_branch( cop, 0x4 ), Push_Reg_F(src), OpcP, RegOpc(dst) );
- ins_pipe( pipe_cmovD_reg );
+ ins_encode( enc_cmov_branch( cop, 0x4 ), Push_Reg_FPR(src), OpcP, RegOpc(dst) );
+ ins_pipe( pipe_cmovDPR_reg );
%}
// No CMOVE with SSE/SSE2
-instruct fcmovX_regS(cmpOp cop, eFlagsReg cr, regX dst, regX src) %{
+instruct fcmovF_regS(cmpOp cop, eFlagsReg cr, regF dst, regF src) %{
predicate (UseSSE>=1);
match(Set dst (CMoveF (Binary cop cr) (Binary dst src)));
ins_cost(200);
@@ -8145,7 +7631,7 @@ instruct fcmovX_regS(cmpOp cop, eFlagsReg cr, regX dst, regX src) %{
%}
// No CMOVE with SSE/SSE2
-instruct fcmovXD_regS(cmpOp cop, eFlagsReg cr, regXD dst, regXD src) %{
+instruct fcmovD_regS(cmpOp cop, eFlagsReg cr, regD dst, regD src) %{
predicate (UseSSE>=2);
match(Set dst (CMoveD (Binary cop cr) (Binary dst src)));
ins_cost(200);
@@ -8163,7 +7649,7 @@ instruct fcmovXD_regS(cmpOp cop, eFlagsReg cr, regXD dst, regXD src) %{
%}
// unsigned version
-instruct fcmovX_regU(cmpOpU cop, eFlagsRegU cr, regX dst, regX src) %{
+instruct fcmovF_regU(cmpOpU cop, eFlagsRegU cr, regF dst, regF src) %{
predicate (UseSSE>=1);
match(Set dst (CMoveF (Binary cop cr) (Binary dst src)));
ins_cost(200);
@@ -8180,17 +7666,17 @@ instruct fcmovX_regU(cmpOpU cop, eFlagsRegU cr, regX dst, regX src) %{
ins_pipe( pipe_slow );
%}
-instruct fcmovX_regUCF(cmpOpUCF cop, eFlagsRegUCF cr, regX dst, regX src) %{
+instruct fcmovF_regUCF(cmpOpUCF cop, eFlagsRegUCF cr, regF dst, regF src) %{
predicate (UseSSE>=1);
match(Set dst (CMoveF (Binary cop cr) (Binary dst src)));
ins_cost(200);
expand %{
- fcmovX_regU(cop, cr, dst, src);
+ fcmovF_regU(cop, cr, dst, src);
%}
%}
// unsigned version
-instruct fcmovXD_regU(cmpOpU cop, eFlagsRegU cr, regXD dst, regXD src) %{
+instruct fcmovD_regU(cmpOpU cop, eFlagsRegU cr, regD dst, regD src) %{
predicate (UseSSE>=2);
match(Set dst (CMoveD (Binary cop cr) (Binary dst src)));
ins_cost(200);
@@ -8207,12 +7693,12 @@ instruct fcmovXD_regU(cmpOpU cop, eFlagsRegU cr, regXD dst, regXD src) %{
ins_pipe( pipe_slow );
%}
-instruct fcmovXD_regUCF(cmpOpUCF cop, eFlagsRegUCF cr, regXD dst, regXD src) %{
+instruct fcmovD_regUCF(cmpOpUCF cop, eFlagsRegUCF cr, regD dst, regD src) %{
predicate (UseSSE>=2);
match(Set dst (CMoveD (Binary cop cr) (Binary dst src)));
ins_cost(200);
expand %{
- fcmovXD_regU(cop, cr, dst, src);
+ fcmovD_regU(cop, cr, dst, src);
%}
%}
@@ -8431,7 +7917,7 @@ instruct loadPLocked(eRegP dst, memory mem) %{
%}
// LoadLong-locked - same as a volatile long load when used with compare-swap
-instruct loadLLocked(stackSlotL dst, load_long_memory mem) %{
+instruct loadLLocked(stackSlotL dst, memory mem) %{
predicate(UseSSE<=1);
match(Set dst (LoadLLocked mem));
@@ -8442,18 +7928,21 @@ instruct loadLLocked(stackSlotL dst, load_long_memory mem) %{
ins_pipe( fpu_reg_mem );
%}
-instruct loadLX_Locked(stackSlotL dst, load_long_memory mem, regXD tmp) %{
+instruct loadLX_Locked(stackSlotL dst, memory mem, regD tmp) %{
predicate(UseSSE>=2);
match(Set dst (LoadLLocked mem));
effect(TEMP tmp);
ins_cost(180);
format %{ "MOVSD $tmp,$mem\t# Atomic volatile long load\n\t"
"MOVSD $dst,$tmp" %}
- ins_encode(enc_loadLX_volatile(mem, dst, tmp));
+ ins_encode %{
+ __ movdbl($tmp$$XMMRegister, $mem$$Address);
+ __ movdbl(Address(rsp, $dst$$disp), $tmp$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
-instruct loadLX_reg_Locked(eRegL dst, load_long_memory mem, regXD tmp) %{
+instruct loadLX_reg_Locked(eRegL dst, memory mem, regD tmp) %{
predicate(UseSSE>=2);
match(Set dst (LoadLLocked mem));
effect(TEMP tmp);
@@ -8462,7 +7951,12 @@ instruct loadLX_reg_Locked(eRegL dst, load_long_memory mem, regXD tmp) %{
"MOVD $dst.lo,$tmp\n\t"
"PSRLQ $tmp,32\n\t"
"MOVD $dst.hi,$tmp" %}
- ins_encode(enc_loadLX_reg_volatile(mem, dst, tmp));
+ ins_encode %{
+ __ movdbl($tmp$$XMMRegister, $mem$$Address);
+ __ movdl($dst$$Register, $tmp$$XMMRegister);
+ __ psrlq($tmp$$XMMRegister, 32);
+ __ movdl(HIGH_FROM_LOW($dst$$Register), $tmp$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
@@ -10045,7 +9539,7 @@ instruct sarL_eReg_CL(eRegL dst, eCXRegI shift, eFlagsReg cr) %{
// Compare & branch
// P6 version of float compare, sets condition codes in EFLAGS
-instruct cmpD_cc_P6(eFlagsRegU cr, regD src1, regD src2, eAXRegI rax) %{
+instruct cmpDPR_cc_P6(eFlagsRegU cr, regDPR src1, regDPR src2, eAXRegI rax) %{
predicate(VM_Version::supports_cmov() && UseSSE <=1);
match(Set cr (CmpD src1 src2));
effect(KILL rax);
@@ -10057,26 +9551,26 @@ instruct cmpD_cc_P6(eFlagsRegU cr, regD src1, regD src2, eAXRegI rax) %{
"SAHF\n"
"exit:\tNOP // avoid branch to branch" %}
opcode(0xDF, 0x05); /* DF E8+i or DF /5 */
- ins_encode( Push_Reg_D(src1),
+ ins_encode( Push_Reg_DPR(src1),
OpcP, RegOpc(src2),
cmpF_P6_fixup );
ins_pipe( pipe_slow );
%}
-instruct cmpD_cc_P6CF(eFlagsRegUCF cr, regD src1, regD src2) %{
+instruct cmpDPR_cc_P6CF(eFlagsRegUCF cr, regDPR src1, regDPR src2) %{
predicate(VM_Version::supports_cmov() && UseSSE <=1);
match(Set cr (CmpD src1 src2));
ins_cost(150);
format %{ "FLD $src1\n\t"
"FUCOMIP ST,$src2 // P6 instruction" %}
opcode(0xDF, 0x05); /* DF E8+i or DF /5 */
- ins_encode( Push_Reg_D(src1),
+ ins_encode( Push_Reg_DPR(src1),
OpcP, RegOpc(src2));
ins_pipe( pipe_slow );
%}
// Compare & branch
-instruct cmpD_cc(eFlagsRegU cr, regD src1, regD src2, eAXRegI rax) %{
+instruct cmpDPR_cc(eFlagsRegU cr, regDPR src1, regDPR src2, eAXRegI rax) %{
predicate(UseSSE<=1);
match(Set cr (CmpD src1 src2));
effect(KILL rax);
@@ -10089,138 +9583,140 @@ instruct cmpD_cc(eFlagsRegU cr, regD src1, regD src2, eAXRegI rax) %{
"MOV AH,1\t# unordered treat as LT\n"
"flags:\tSAHF" %}
opcode(0xD8, 0x3); /* D8 D8+i or D8 /3 */
- ins_encode( Push_Reg_D(src1),
+ ins_encode( Push_Reg_DPR(src1),
OpcP, RegOpc(src2),
fpu_flags);
ins_pipe( pipe_slow );
%}
// Compare vs zero into -1,0,1
-instruct cmpD_0(eRegI dst, regD src1, immD0 zero, eAXRegI rax, eFlagsReg cr) %{
+instruct cmpDPR_0(eRegI dst, regDPR src1, immDPR0 zero, eAXRegI rax, eFlagsReg cr) %{
predicate(UseSSE<=1);
match(Set dst (CmpD3 src1 zero));
effect(KILL cr, KILL rax);
ins_cost(280);
format %{ "FTSTD $dst,$src1" %}
opcode(0xE4, 0xD9);
- ins_encode( Push_Reg_D(src1),
+ ins_encode( Push_Reg_DPR(src1),
OpcS, OpcP, PopFPU,
CmpF_Result(dst));
ins_pipe( pipe_slow );
%}
// Compare into -1,0,1
-instruct cmpD_reg(eRegI dst, regD src1, regD src2, eAXRegI rax, eFlagsReg cr) %{
+instruct cmpDPR_reg(eRegI dst, regDPR src1, regDPR src2, eAXRegI rax, eFlagsReg cr) %{
predicate(UseSSE<=1);
match(Set dst (CmpD3 src1 src2));
effect(KILL cr, KILL rax);
ins_cost(300);
format %{ "FCMPD $dst,$src1,$src2" %}
opcode(0xD8, 0x3); /* D8 D8+i or D8 /3 */
- ins_encode( Push_Reg_D(src1),
+ ins_encode( Push_Reg_DPR(src1),
OpcP, RegOpc(src2),
CmpF_Result(dst));
ins_pipe( pipe_slow );
%}
// float compare and set condition codes in EFLAGS by XMM regs
-instruct cmpXD_cc(eFlagsRegU cr, regXD dst, regXD src, eAXRegI rax) %{
+instruct cmpD_cc(eFlagsRegU cr, regD src1, regD src2) %{
predicate(UseSSE>=2);
- match(Set cr (CmpD dst src));
- effect(KILL rax);
- ins_cost(125);
- format %{ "COMISD $dst,$src\n"
- "\tJNP exit\n"
- "\tMOV ah,1 // saw a NaN, set CF\n"
- "\tSAHF\n"
- "exit:\tNOP // avoid branch to branch" %}
- opcode(0x66, 0x0F, 0x2F);
- ins_encode(OpcP, OpcS, Opcode(tertiary), RegReg(dst, src), cmpF_P6_fixup);
+ match(Set cr (CmpD src1 src2));
+ ins_cost(145);
+ format %{ "UCOMISD $src1,$src2\n\t"
+ "JNP,s exit\n\t"
+ "PUSHF\t# saw NaN, set CF\n\t"
+ "AND [rsp], #0xffffff2b\n\t"
+ "POPF\n"
+ "exit:" %}
+ ins_encode %{
+ __ ucomisd($src1$$XMMRegister, $src2$$XMMRegister);
+ emit_cmpfp_fixup(_masm);
+ %}
ins_pipe( pipe_slow );
%}
-instruct cmpXD_ccCF(eFlagsRegUCF cr, regXD dst, regXD src) %{
+instruct cmpD_ccCF(eFlagsRegUCF cr, regD src1, regD src2) %{
predicate(UseSSE>=2);
- match(Set cr (CmpD dst src));
+ match(Set cr (CmpD src1 src2));
ins_cost(100);
- format %{ "COMISD $dst,$src" %}
- opcode(0x66, 0x0F, 0x2F);
- ins_encode(OpcP, OpcS, Opcode(tertiary), RegReg(dst, src));
+ format %{ "UCOMISD $src1,$src2" %}
+ ins_encode %{
+ __ ucomisd($src1$$XMMRegister, $src2$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
// float compare and set condition codes in EFLAGS by XMM regs
-instruct cmpXD_ccmem(eFlagsRegU cr, regXD dst, memory src, eAXRegI rax) %{
+instruct cmpD_ccmem(eFlagsRegU cr, regD src1, memory src2) %{
predicate(UseSSE>=2);
- match(Set cr (CmpD dst (LoadD src)));
- effect(KILL rax);
+ match(Set cr (CmpD src1 (LoadD src2)));
ins_cost(145);
- format %{ "COMISD $dst,$src\n"
- "\tJNP exit\n"
- "\tMOV ah,1 // saw a NaN, set CF\n"
- "\tSAHF\n"
- "exit:\tNOP // avoid branch to branch" %}
- opcode(0x66, 0x0F, 0x2F);
- ins_encode(OpcP, OpcS, Opcode(tertiary), RegMem(dst, src), cmpF_P6_fixup);
+ format %{ "UCOMISD $src1,$src2\n\t"
+ "JNP,s exit\n\t"
+ "PUSHF\t# saw NaN, set CF\n\t"
+ "AND [rsp], #0xffffff2b\n\t"
+ "POPF\n"
+ "exit:" %}
+ ins_encode %{
+ __ ucomisd($src1$$XMMRegister, $src2$$Address);
+ emit_cmpfp_fixup(_masm);
+ %}
ins_pipe( pipe_slow );
%}
-instruct cmpXD_ccmemCF(eFlagsRegUCF cr, regXD dst, memory src) %{
+instruct cmpD_ccmemCF(eFlagsRegUCF cr, regD src1, memory src2) %{
predicate(UseSSE>=2);
- match(Set cr (CmpD dst (LoadD src)));
+ match(Set cr (CmpD src1 (LoadD src2)));
ins_cost(100);
- format %{ "COMISD $dst,$src" %}
- opcode(0x66, 0x0F, 0x2F);
- ins_encode(OpcP, OpcS, Opcode(tertiary), RegMem(dst, src));
+ format %{ "UCOMISD $src1,$src2" %}
+ ins_encode %{
+ __ ucomisd($src1$$XMMRegister, $src2$$Address);
+ %}
ins_pipe( pipe_slow );
%}
// Compare into -1,0,1 in XMM
-instruct cmpXD_reg(eRegI dst, regXD src1, regXD src2, eFlagsReg cr) %{
+instruct cmpD_reg(xRegI dst, regD src1, regD src2, eFlagsReg cr) %{
predicate(UseSSE>=2);
match(Set dst (CmpD3 src1 src2));
effect(KILL cr);
ins_cost(255);
- format %{ "XOR $dst,$dst\n"
- "\tCOMISD $src1,$src2\n"
- "\tJP,s nan\n"
- "\tJEQ,s exit\n"
- "\tJA,s inc\n"
- "nan:\tDEC $dst\n"
- "\tJMP,s exit\n"
- "inc:\tINC $dst\n"
- "exit:"
- %}
- opcode(0x66, 0x0F, 0x2F);
- ins_encode(Xor_Reg(dst), OpcP, OpcS, Opcode(tertiary), RegReg(src1, src2),
- CmpX_Result(dst));
+ format %{ "UCOMISD $src1, $src2\n\t"
+ "MOV $dst, #-1\n\t"
+ "JP,s done\n\t"
+ "JB,s done\n\t"
+ "SETNE $dst\n\t"
+ "MOVZB $dst, $dst\n"
+ "done:" %}
+ ins_encode %{
+ __ ucomisd($src1$$XMMRegister, $src2$$XMMRegister);
+ emit_cmpfp3(_masm, $dst$$Register);
+ %}
ins_pipe( pipe_slow );
%}
// Compare into -1,0,1 in XMM and memory
-instruct cmpXD_regmem(eRegI dst, regXD src1, memory mem, eFlagsReg cr) %{
+instruct cmpD_regmem(xRegI dst, regD src1, memory src2, eFlagsReg cr) %{
predicate(UseSSE>=2);
- match(Set dst (CmpD3 src1 (LoadD mem)));
+ match(Set dst (CmpD3 src1 (LoadD src2)));
effect(KILL cr);
ins_cost(275);
- format %{ "COMISD $src1,$mem\n"
- "\tMOV $dst,0\t\t# do not blow flags\n"
- "\tJP,s nan\n"
- "\tJEQ,s exit\n"
- "\tJA,s inc\n"
- "nan:\tDEC $dst\n"
- "\tJMP,s exit\n"
- "inc:\tINC $dst\n"
- "exit:"
- %}
- opcode(0x66, 0x0F, 0x2F);
- ins_encode(OpcP, OpcS, Opcode(tertiary), RegMem(src1, mem),
- LdImmI(dst,0x0), CmpX_Result(dst));
+ format %{ "UCOMISD $src1, $src2\n\t"
+ "MOV $dst, #-1\n\t"
+ "JP,s done\n\t"
+ "JB,s done\n\t"
+ "SETNE $dst\n\t"
+ "MOVZB $dst, $dst\n"
+ "done:" %}
+ ins_encode %{
+ __ ucomisd($src1$$XMMRegister, $src2$$Address);
+ emit_cmpfp3(_masm, $dst$$Register);
+ %}
ins_pipe( pipe_slow );
%}
-instruct subD_reg(regD dst, regD src) %{
+instruct subDPR_reg(regDPR dst, regDPR src) %{
predicate (UseSSE <=1);
match(Set dst (SubD dst src));
@@ -10228,12 +9724,12 @@ instruct subD_reg(regD dst, regD src) %{
"DSUBp $dst,ST" %}
opcode(0xDE, 0x5); /* DE E8+i or DE /5 */
ins_cost(150);
- ins_encode( Push_Reg_D(src),
+ ins_encode( Push_Reg_DPR(src),
OpcP, RegOpc(dst) );
ins_pipe( fpu_reg_reg );
%}
-instruct subD_reg_round(stackSlotD dst, regD src1, regD src2) %{
+instruct subDPR_reg_round(stackSlotD dst, regDPR src1, regDPR src2) %{
predicate (UseSSE <=1);
match(Set dst (RoundDouble (SubD src1 src2)));
ins_cost(250);
@@ -10242,13 +9738,13 @@ instruct subD_reg_round(stackSlotD dst, regD src1, regD src2) %{
"DSUB ST,$src1\n\t"
"FSTP_D $dst\t# D-round" %}
opcode(0xD8, 0x5);
- ins_encode( Push_Reg_D(src2),
- OpcP, RegOpc(src1), Pop_Mem_D(dst) );
+ ins_encode( Push_Reg_DPR(src2),
+ OpcP, RegOpc(src1), Pop_Mem_DPR(dst) );
ins_pipe( fpu_mem_reg_reg );
%}
-instruct subD_reg_mem(regD dst, memory src) %{
+instruct subDPR_reg_mem(regDPR dst, memory src) %{
predicate (UseSSE <=1);
match(Set dst (SubD dst (LoadD src)));
ins_cost(150);
@@ -10261,7 +9757,7 @@ instruct subD_reg_mem(regD dst, memory src) %{
ins_pipe( fpu_reg_mem );
%}
-instruct absD_reg(regDPR1 dst, regDPR1 src) %{
+instruct absDPR_reg(regDPR1 dst, regDPR1 src) %{
predicate (UseSSE<=1);
match(Set dst (AbsD src));
ins_cost(100);
@@ -10271,15 +9767,7 @@ instruct absD_reg(regDPR1 dst, regDPR1 src) %{
ins_pipe( fpu_reg_reg );
%}
-instruct absXD_reg( regXD dst ) %{
- predicate(UseSSE>=2);
- match(Set dst (AbsD dst));
- format %{ "ANDPD $dst,[0x7FFFFFFFFFFFFFFF]\t# ABS D by sign masking" %}
- ins_encode( AbsXD_encoding(dst));
- ins_pipe( pipe_slow );
-%}
-
-instruct negD_reg(regDPR1 dst, regDPR1 src) %{
+instruct negDPR_reg(regDPR1 dst, regDPR1 src) %{
predicate(UseSSE<=1);
match(Set dst (NegD src));
ins_cost(100);
@@ -10289,18 +9777,7 @@ instruct negD_reg(regDPR1 dst, regDPR1 src) %{
ins_pipe( fpu_reg_reg );
%}
-instruct negXD_reg( regXD dst ) %{
- predicate(UseSSE>=2);
- match(Set dst (NegD dst));
- format %{ "XORPD $dst,[0x8000000000000000]\t# CHS D by sign flipping" %}
- ins_encode %{
- __ xorpd($dst$$XMMRegister,
- ExternalAddress((address)double_signflip_pool));
- %}
- ins_pipe( pipe_slow );
-%}
-
-instruct addD_reg(regD dst, regD src) %{
+instruct addDPR_reg(regDPR dst, regDPR src) %{
predicate(UseSSE<=1);
match(Set dst (AddD dst src));
format %{ "FLD $src\n\t"
@@ -10308,13 +9785,13 @@ instruct addD_reg(regD dst, regD src) %{
size(4);
ins_cost(150);
opcode(0xDE, 0x0); /* DE C0+i or DE /0*/
- ins_encode( Push_Reg_D(src),
+ ins_encode( Push_Reg_DPR(src),
OpcP, RegOpc(dst) );
ins_pipe( fpu_reg_reg );
%}
-instruct addD_reg_round(stackSlotD dst, regD src1, regD src2) %{
+instruct addDPR_reg_round(stackSlotD dst, regDPR src1, regDPR src2) %{
predicate(UseSSE<=1);
match(Set dst (RoundDouble (AddD src1 src2)));
ins_cost(250);
@@ -10323,13 +9800,13 @@ instruct addD_reg_round(stackSlotD dst, regD src1, regD src2) %{
"DADD ST,$src1\n\t"
"FSTP_D $dst\t# D-round" %}
opcode(0xD8, 0x0); /* D8 C0+i or D8 /0*/
- ins_encode( Push_Reg_D(src2),
- OpcP, RegOpc(src1), Pop_Mem_D(dst) );
+ ins_encode( Push_Reg_DPR(src2),
+ OpcP, RegOpc(src1), Pop_Mem_DPR(dst) );
ins_pipe( fpu_mem_reg_reg );
%}
-instruct addD_reg_mem(regD dst, memory src) %{
+instruct addDPR_reg_mem(regDPR dst, memory src) %{
predicate(UseSSE<=1);
match(Set dst (AddD dst (LoadD src)));
ins_cost(150);
@@ -10343,7 +9820,7 @@ instruct addD_reg_mem(regD dst, memory src) %{
%}
// add-to-memory
-instruct addD_mem_reg(memory dst, regD src) %{
+instruct addDPR_mem_reg(memory dst, regDPR src) %{
predicate(UseSSE<=1);
match(Set dst (StoreD dst (RoundDouble (AddD (LoadD dst) src))));
ins_cost(150);
@@ -10359,7 +9836,7 @@ instruct addD_mem_reg(memory dst, regD src) %{
ins_pipe( fpu_reg_mem );
%}
-instruct addD_reg_imm1(regD dst, immD1 con) %{
+instruct addDPR_reg_imm1(regDPR dst, immDPR1 con) %{
predicate(UseSSE<=1);
match(Set dst (AddD dst con));
ins_cost(125);
@@ -10372,152 +9849,42 @@ instruct addD_reg_imm1(regD dst, immD1 con) %{
ins_pipe(fpu_reg);
%}
-instruct addD_reg_imm(regD dst, immD con) %{
+instruct addDPR_reg_imm(regDPR dst, immDPR con) %{
predicate(UseSSE<=1 && _kids[1]->_leaf->getd() != 0.0 && _kids[1]->_leaf->getd() != 1.0 );
- match(Set dst (AddD dst con));
- ins_cost(200);
- format %{ "FLD_D [$constantaddress]\t# load from constant table: double=$con\n\t"
- "DADDp $dst,ST" %}
- ins_encode %{
- __ fld_d($constantaddress($con));
- __ faddp($dst$$reg);
- %}
- ins_pipe(fpu_reg_mem);
-%}
-
-instruct addD_reg_imm_round(stackSlotD dst, regD src, immD con) %{
- predicate(UseSSE<=1 && _kids[0]->_kids[1]->_leaf->getd() != 0.0 && _kids[0]->_kids[1]->_leaf->getd() != 1.0 );
- match(Set dst (RoundDouble (AddD src con)));
- ins_cost(200);
- format %{ "FLD_D [$constantaddress]\t# load from constant table: double=$con\n\t"
- "DADD ST,$src\n\t"
- "FSTP_D $dst\t# D-round" %}
- ins_encode %{
- __ fld_d($constantaddress($con));
- __ fadd($src$$reg);
- __ fstp_d(Address(rsp, $dst$$disp));
- %}
- ins_pipe(fpu_mem_reg_con);
-%}
-
-// Add two double precision floating point values in xmm
-instruct addXD_reg(regXD dst, regXD src) %{
- predicate(UseSSE>=2);
- match(Set dst (AddD dst src));
- format %{ "ADDSD $dst,$src" %}
- ins_encode( Opcode(0xF2), Opcode(0x0F), Opcode(0x58), RegReg(dst, src));
- ins_pipe( pipe_slow );
-%}
-
-instruct addXD_imm(regXD dst, immXD con) %{
- predicate(UseSSE>=2);
- match(Set dst (AddD dst con));
- format %{ "ADDSD $dst,[$constantaddress]\t# load from constant table: double=$con" %}
- ins_encode %{
- __ addsd($dst$$XMMRegister, $constantaddress($con));
- %}
- ins_pipe(pipe_slow);
-%}
-
-instruct addXD_mem(regXD dst, memory mem) %{
- predicate(UseSSE>=2);
- match(Set dst (AddD dst (LoadD mem)));
- format %{ "ADDSD $dst,$mem" %}
- ins_encode( Opcode(0xF2), Opcode(0x0F), Opcode(0x58), RegMem(dst,mem));
- ins_pipe( pipe_slow );
-%}
-
-// Sub two double precision floating point values in xmm
-instruct subXD_reg(regXD dst, regXD src) %{
- predicate(UseSSE>=2);
- match(Set dst (SubD dst src));
- format %{ "SUBSD $dst,$src" %}
- ins_encode( Opcode(0xF2), Opcode(0x0F), Opcode(0x5C), RegReg(dst, src));
- ins_pipe( pipe_slow );
-%}
-
-instruct subXD_imm(regXD dst, immXD con) %{
- predicate(UseSSE>=2);
- match(Set dst (SubD dst con));
- format %{ "SUBSD $dst,[$constantaddress]\t# load from constant table: double=$con" %}
- ins_encode %{
- __ subsd($dst$$XMMRegister, $constantaddress($con));
- %}
- ins_pipe(pipe_slow);
-%}
-
-instruct subXD_mem(regXD dst, memory mem) %{
- predicate(UseSSE>=2);
- match(Set dst (SubD dst (LoadD mem)));
- format %{ "SUBSD $dst,$mem" %}
- ins_encode( Opcode(0xF2), Opcode(0x0F), Opcode(0x5C), RegMem(dst,mem));
- ins_pipe( pipe_slow );
-%}
-
-// Mul two double precision floating point values in xmm
-instruct mulXD_reg(regXD dst, regXD src) %{
- predicate(UseSSE>=2);
- match(Set dst (MulD dst src));
- format %{ "MULSD $dst,$src" %}
- ins_encode( Opcode(0xF2), Opcode(0x0F), Opcode(0x59), RegReg(dst, src));
- ins_pipe( pipe_slow );
-%}
-
-instruct mulXD_imm(regXD dst, immXD con) %{
- predicate(UseSSE>=2);
- match(Set dst (MulD dst con));
- format %{ "MULSD $dst,[$constantaddress]\t# load from constant table: double=$con" %}
- ins_encode %{
- __ mulsd($dst$$XMMRegister, $constantaddress($con));
- %}
- ins_pipe(pipe_slow);
-%}
-
-instruct mulXD_mem(regXD dst, memory mem) %{
- predicate(UseSSE>=2);
- match(Set dst (MulD dst (LoadD mem)));
- format %{ "MULSD $dst,$mem" %}
- ins_encode( Opcode(0xF2), Opcode(0x0F), Opcode(0x59), RegMem(dst,mem));
- ins_pipe( pipe_slow );
-%}
-
-// Div two double precision floating point values in xmm
-instruct divXD_reg(regXD dst, regXD src) %{
- predicate(UseSSE>=2);
- match(Set dst (DivD dst src));
- format %{ "DIVSD $dst,$src" %}
- opcode(0xF2, 0x0F, 0x5E);
- ins_encode( Opcode(0xF2), Opcode(0x0F), Opcode(0x5E), RegReg(dst, src));
- ins_pipe( pipe_slow );
-%}
-
-instruct divXD_imm(regXD dst, immXD con) %{
- predicate(UseSSE>=2);
- match(Set dst (DivD dst con));
- format %{ "DIVSD $dst,[$constantaddress]\t# load from constant table: double=$con" %}
+ match(Set dst (AddD dst con));
+ ins_cost(200);
+ format %{ "FLD_D [$constantaddress]\t# load from constant table: double=$con\n\t"
+ "DADDp $dst,ST" %}
ins_encode %{
- __ divsd($dst$$XMMRegister, $constantaddress($con));
+ __ fld_d($constantaddress($con));
+ __ faddp($dst$$reg);
%}
- ins_pipe(pipe_slow);
+ ins_pipe(fpu_reg_mem);
%}
-instruct divXD_mem(regXD dst, memory mem) %{
- predicate(UseSSE>=2);
- match(Set dst (DivD dst (LoadD mem)));
- format %{ "DIVSD $dst,$mem" %}
- ins_encode( Opcode(0xF2), Opcode(0x0F), Opcode(0x5E), RegMem(dst,mem));
- ins_pipe( pipe_slow );
+instruct addDPR_reg_imm_round(stackSlotD dst, regDPR src, immDPR con) %{
+ predicate(UseSSE<=1 && _kids[0]->_kids[1]->_leaf->getd() != 0.0 && _kids[0]->_kids[1]->_leaf->getd() != 1.0 );
+ match(Set dst (RoundDouble (AddD src con)));
+ ins_cost(200);
+ format %{ "FLD_D [$constantaddress]\t# load from constant table: double=$con\n\t"
+ "DADD ST,$src\n\t"
+ "FSTP_D $dst\t# D-round" %}
+ ins_encode %{
+ __ fld_d($constantaddress($con));
+ __ fadd($src$$reg);
+ __ fstp_d(Address(rsp, $dst$$disp));
+ %}
+ ins_pipe(fpu_mem_reg_con);
%}
-
-instruct mulD_reg(regD dst, regD src) %{
+instruct mulDPR_reg(regDPR dst, regDPR src) %{
predicate(UseSSE<=1);
match(Set dst (MulD dst src));
format %{ "FLD $src\n\t"
"DMULp $dst,ST" %}
opcode(0xDE, 0x1); /* DE C8+i or DE /1*/
ins_cost(150);
- ins_encode( Push_Reg_D(src),
+ ins_encode( Push_Reg_DPR(src),
OpcP, RegOpc(dst) );
ins_pipe( fpu_reg_reg );
%}
@@ -10530,7 +9897,7 @@ instruct mulD_reg(regD dst, regD src) %{
// multiply scaled arg1 by arg2
// rescale product by 2^(15360)
//
-instruct strictfp_mulD_reg(regDPR1 dst, regnotDPR1 src) %{
+instruct strictfp_mulDPR_reg(regDPR1 dst, regnotDPR1 src) %{
predicate( UseSSE<=1 && Compile::current()->has_method() && Compile::current()->method()->is_strict() );
match(Set dst (MulD dst src));
ins_cost(1); // Select this instruction for all strict FP double multiplies
@@ -10543,13 +9910,13 @@ instruct strictfp_mulD_reg(regDPR1 dst, regnotDPR1 src) %{
"DMULp $dst,ST\n\t" %}
opcode(0xDE, 0x1); /* DE C8+i or DE /1*/
ins_encode( strictfp_bias1(dst),
- Push_Reg_D(src),
+ Push_Reg_DPR(src),
OpcP, RegOpc(dst),
strictfp_bias2(dst) );
ins_pipe( fpu_reg_reg );
%}
-instruct mulD_reg_imm(regD dst, immD con) %{
+instruct mulDPR_reg_imm(regDPR dst, immDPR con) %{
predicate( UseSSE<=1 && _kids[1]->_leaf->getd() != 0.0 && _kids[1]->_leaf->getd() != 1.0 );
match(Set dst (MulD dst con));
ins_cost(200);
@@ -10563,7 +9930,7 @@ instruct mulD_reg_imm(regD dst, immD con) %{
%}
-instruct mulD_reg_mem(regD dst, memory src) %{
+instruct mulDPR_reg_mem(regDPR dst, memory src) %{
predicate( UseSSE<=1 );
match(Set dst (MulD dst (LoadD src)));
ins_cost(200);
@@ -10577,7 +9944,7 @@ instruct mulD_reg_mem(regD dst, memory src) %{
//
// Cisc-alternate to reg-reg multiply
-instruct mulD_reg_mem_cisc(regD dst, regD src, memory mem) %{
+instruct mulDPR_reg_mem_cisc(regDPR dst, regDPR src, memory mem) %{
predicate( UseSSE<=1 );
match(Set dst (MulD src (LoadD mem)));
ins_cost(250);
@@ -10586,17 +9953,17 @@ instruct mulD_reg_mem_cisc(regD dst, regD src, memory mem) %{
"FSTP_D $dst" %}
opcode(0xD8, 0x1, 0xD9); /* D8 C8+i */ /* LoadD D9 /0 */
ins_encode( Opcode(tertiary), RMopc_Mem(0x00,mem),
- OpcReg_F(src),
- Pop_Reg_D(dst) );
+ OpcReg_FPR(src),
+ Pop_Reg_DPR(dst) );
ins_pipe( fpu_reg_reg_mem );
%}
-// MACRO3 -- addD a mulD
+// MACRO3 -- addDPR a mulDPR
// This instruction is a '2-address' instruction in that the result goes
// back to src2. This eliminates a move from the macro; possibly the
// register allocator will have to add it back (and maybe not).
-instruct addD_mulD_reg(regD src2, regD src1, regD src0) %{
+instruct addDPR_mulDPR_reg(regDPR src2, regDPR src1, regDPR src0) %{
predicate( UseSSE<=1 );
match(Set src2 (AddD (MulD src0 src1) src2));
format %{ "FLD $src0\t# ===MACRO3d===\n\t"
@@ -10604,29 +9971,29 @@ instruct addD_mulD_reg(regD src2, regD src1, regD src0) %{
"DADDp $src2,ST" %}
ins_cost(250);
opcode(0xDD); /* LoadD DD /0 */
- ins_encode( Push_Reg_F(src0),
+ ins_encode( Push_Reg_FPR(src0),
FMul_ST_reg(src1),
FAddP_reg_ST(src2) );
ins_pipe( fpu_reg_reg_reg );
%}
-// MACRO3 -- subD a mulD
-instruct subD_mulD_reg(regD src2, regD src1, regD src0) %{
+// MACRO3 -- subDPR a mulDPR
+instruct subDPR_mulDPR_reg(regDPR src2, regDPR src1, regDPR src0) %{
predicate( UseSSE<=1 );
match(Set src2 (SubD (MulD src0 src1) src2));
format %{ "FLD $src0\t# ===MACRO3d===\n\t"
"DMUL ST,$src1\n\t"
"DSUBRp $src2,ST" %}
ins_cost(250);
- ins_encode( Push_Reg_F(src0),
+ ins_encode( Push_Reg_FPR(src0),
FMul_ST_reg(src1),
Opcode(0xDE), Opc_plus(0xE0,src2));
ins_pipe( fpu_reg_reg_reg );
%}
-instruct divD_reg(regD dst, regD src) %{
+instruct divDPR_reg(regDPR dst, regDPR src) %{
predicate( UseSSE<=1 );
match(Set dst (DivD dst src));
@@ -10634,7 +10001,7 @@ instruct divD_reg(regD dst, regD src) %{
"FDIVp $dst,ST" %}
opcode(0xDE, 0x7); /* DE F8+i or DE /7*/
ins_cost(150);
- ins_encode( Push_Reg_D(src),
+ ins_encode( Push_Reg_DPR(src),
OpcP, RegOpc(dst) );
ins_pipe( fpu_reg_reg );
%}
@@ -10647,7 +10014,7 @@ instruct divD_reg(regD dst, regD src) %{
// divide scaled dividend by divisor
// rescale quotient by 2^(15360)
//
-instruct strictfp_divD_reg(regDPR1 dst, regnotDPR1 src) %{
+instruct strictfp_divDPR_reg(regDPR1 dst, regnotDPR1 src) %{
predicate (UseSSE<=1);
match(Set dst (DivD dst src));
predicate( UseSSE<=1 && Compile::current()->has_method() && Compile::current()->method()->is_strict() );
@@ -10661,13 +10028,13 @@ instruct strictfp_divD_reg(regDPR1 dst, regnotDPR1 src) %{
"DMULp $dst,ST\n\t" %}
opcode(0xDE, 0x7); /* DE F8+i or DE /7*/
ins_encode( strictfp_bias1(dst),
- Push_Reg_D(src),
+ Push_Reg_DPR(src),
OpcP, RegOpc(dst),
strictfp_bias2(dst) );
ins_pipe( fpu_reg_reg );
%}
-instruct divD_reg_round(stackSlotD dst, regD src1, regD src2) %{
+instruct divDPR_reg_round(stackSlotD dst, regDPR src1, regDPR src2) %{
predicate( UseSSE<=1 && !(Compile::current()->has_method() && Compile::current()->method()->is_strict()) );
match(Set dst (RoundDouble (DivD src1 src2)));
@@ -10675,27 +10042,27 @@ instruct divD_reg_round(stackSlotD dst, regD src1, regD src2) %{
"FDIV ST,$src2\n\t"
"FSTP_D $dst\t# D-round" %}
opcode(0xD8, 0x6); /* D8 F0+i or D8 /6 */
- ins_encode( Push_Reg_D(src1),
- OpcP, RegOpc(src2), Pop_Mem_D(dst) );
+ ins_encode( Push_Reg_DPR(src1),
+ OpcP, RegOpc(src2), Pop_Mem_DPR(dst) );
ins_pipe( fpu_mem_reg_reg );
%}
-instruct modD_reg(regD dst, regD src, eAXRegI rax, eFlagsReg cr) %{
+instruct modDPR_reg(regDPR dst, regDPR src, eAXRegI rax, eFlagsReg cr) %{
predicate(UseSSE<=1);
match(Set dst (ModD dst src));
- effect(KILL rax, KILL cr); // emitModD() uses EAX and EFLAGS
+ effect(KILL rax, KILL cr); // emitModDPR() uses EAX and EFLAGS
format %{ "DMOD $dst,$src" %}
ins_cost(250);
- ins_encode(Push_Reg_Mod_D(dst, src),
- emitModD(),
- Push_Result_Mod_D(src),
- Pop_Reg_D(dst));
+ ins_encode(Push_Reg_Mod_DPR(dst, src),
+ emitModDPR(),
+ Push_Result_Mod_DPR(src),
+ Pop_Reg_DPR(dst));
ins_pipe( pipe_slow );
%}
-instruct modXD_reg(regXD dst, regXD src0, regXD src1, eAXRegI rax, eFlagsReg cr) %{
+instruct modD_reg(regD dst, regD src0, regD src1, eAXRegI rax, eFlagsReg cr) %{
predicate(UseSSE>=2);
match(Set dst (ModD src0 src1));
effect(KILL rax, KILL cr);
@@ -10716,11 +10083,11 @@ instruct modXD_reg(regXD dst, regXD src0, regXD src1, eAXRegI rax, eFlagsReg cr)
"\tFSTP ST0\t # Restore FPU Stack"
%}
ins_cost(250);
- ins_encode( Push_ModD_encoding(src0, src1), emitModD(), Push_ResultXD(dst), PopFPU);
+ ins_encode( Push_ModD_encoding(src0, src1), emitModDPR(), Push_ResultD(dst), PopFPU);
ins_pipe( pipe_slow );
%}
-instruct sinD_reg(regDPR1 dst, regDPR1 src) %{
+instruct sinDPR_reg(regDPR1 dst, regDPR1 src) %{
predicate (UseSSE<=1);
match(Set dst (SinD src));
ins_cost(1800);
@@ -10730,18 +10097,18 @@ instruct sinD_reg(regDPR1 dst, regDPR1 src) %{
ins_pipe( pipe_slow );
%}
-instruct sinXD_reg(regXD dst, eFlagsReg cr) %{
+instruct sinD_reg(regD dst, eFlagsReg cr) %{
predicate (UseSSE>=2);
match(Set dst (SinD dst));
- effect(KILL cr); // Push_{Src|Result}XD() uses "{SUB|ADD} ESP,8"
+ effect(KILL cr); // Push_{Src|Result}D() uses "{SUB|ADD} ESP,8"
ins_cost(1800);
format %{ "DSIN $dst" %}
opcode(0xD9, 0xFE);
- ins_encode( Push_SrcXD(dst), OpcP, OpcS, Push_ResultXD(dst) );
+ ins_encode( Push_SrcD(dst), OpcP, OpcS, Push_ResultD(dst) );
ins_pipe( pipe_slow );
%}
-instruct cosD_reg(regDPR1 dst, regDPR1 src) %{
+instruct cosDPR_reg(regDPR1 dst, regDPR1 src) %{
predicate (UseSSE<=1);
match(Set dst (CosD src));
ins_cost(1800);
@@ -10751,18 +10118,18 @@ instruct cosD_reg(regDPR1 dst, regDPR1 src) %{
ins_pipe( pipe_slow );
%}
-instruct cosXD_reg(regXD dst, eFlagsReg cr) %{
+instruct cosD_reg(regD dst, eFlagsReg cr) %{
predicate (UseSSE>=2);
match(Set dst (CosD dst));
- effect(KILL cr); // Push_{Src|Result}XD() uses "{SUB|ADD} ESP,8"
+ effect(KILL cr); // Push_{Src|Result}D() uses "{SUB|ADD} ESP,8"
ins_cost(1800);
format %{ "DCOS $dst" %}
opcode(0xD9, 0xFF);
- ins_encode( Push_SrcXD(dst), OpcP, OpcS, Push_ResultXD(dst) );
+ ins_encode( Push_SrcD(dst), OpcP, OpcS, Push_ResultD(dst) );
ins_pipe( pipe_slow );
%}
-instruct tanD_reg(regDPR1 dst, regDPR1 src) %{
+instruct tanDPR_reg(regDPR1 dst, regDPR1 src) %{
predicate (UseSSE<=1);
match(Set dst(TanD src));
format %{ "DTAN $dst" %}
@@ -10771,50 +10138,50 @@ instruct tanD_reg(regDPR1 dst, regDPR1 src) %{
ins_pipe( pipe_slow );
%}
-instruct tanXD_reg(regXD dst, eFlagsReg cr) %{
+instruct tanD_reg(regD dst, eFlagsReg cr) %{
predicate (UseSSE>=2);
match(Set dst(TanD dst));
- effect(KILL cr); // Push_{Src|Result}XD() uses "{SUB|ADD} ESP,8"
+ effect(KILL cr); // Push_{Src|Result}D() uses "{SUB|ADD} ESP,8"
format %{ "DTAN $dst" %}
- ins_encode( Push_SrcXD(dst),
+ ins_encode( Push_SrcD(dst),
Opcode(0xD9), Opcode(0xF2), // fptan
Opcode(0xDD), Opcode(0xD8), // fstp st
- Push_ResultXD(dst) );
+ Push_ResultD(dst) );
ins_pipe( pipe_slow );
%}
-instruct atanD_reg(regD dst, regD src) %{
+instruct atanDPR_reg(regDPR dst, regDPR src) %{
predicate (UseSSE<=1);
match(Set dst(AtanD dst src));
format %{ "DATA $dst,$src" %}
opcode(0xD9, 0xF3);
- ins_encode( Push_Reg_D(src),
+ ins_encode( Push_Reg_DPR(src),
OpcP, OpcS, RegOpc(dst) );
ins_pipe( pipe_slow );
%}
-instruct atanXD_reg(regXD dst, regXD src, eFlagsReg cr) %{
+instruct atanD_reg(regD dst, regD src, eFlagsReg cr) %{
predicate (UseSSE>=2);
match(Set dst(AtanD dst src));
- effect(KILL cr); // Push_{Src|Result}XD() uses "{SUB|ADD} ESP,8"
+ effect(KILL cr); // Push_{Src|Result}D() uses "{SUB|ADD} ESP,8"
format %{ "DATA $dst,$src" %}
opcode(0xD9, 0xF3);
- ins_encode( Push_SrcXD(src),
- OpcP, OpcS, Push_ResultXD(dst) );
+ ins_encode( Push_SrcD(src),
+ OpcP, OpcS, Push_ResultD(dst) );
ins_pipe( pipe_slow );
%}
-instruct sqrtD_reg(regD dst, regD src) %{
+instruct sqrtDPR_reg(regDPR dst, regDPR src) %{
predicate (UseSSE<=1);
match(Set dst (SqrtD src));
format %{ "DSQRT $dst,$src" %}
opcode(0xFA, 0xD9);
- ins_encode( Push_Reg_D(src),
- OpcS, OpcP, Pop_Reg_D(dst) );
+ ins_encode( Push_Reg_DPR(src),
+ OpcS, OpcP, Pop_Reg_DPR(dst) );
ins_pipe( pipe_slow );
%}
-instruct powD_reg(regD X, regDPR1 Y, eAXRegI rax, eBXRegI rbx, eCXRegI rcx) %{
+instruct powDPR_reg(regDPR X, regDPR1 Y, eAXRegI rax, eBXRegI rbx, eCXRegI rcx) %{
predicate (UseSSE<=1);
match(Set Y (PowD X Y)); // Raise X to the Yth power
effect(KILL rax, KILL rbx, KILL rcx);
@@ -10843,14 +10210,14 @@ instruct powD_reg(regD X, regDPR1 Y, eAXRegI rax, eBXRegI rbx, eCXRegI rcx) %{
"ADD ESP,8"
%}
ins_encode( push_stack_temp_qword,
- Push_Reg_D(X),
+ Push_Reg_DPR(X),
Opcode(0xD9), Opcode(0xF1), // fyl2x
pow_exp_core_encoding,
pop_stack_temp_qword);
ins_pipe( pipe_slow );
%}
-instruct powXD_reg(regXD dst, regXD src0, regXD src1, regDPR1 tmp1, eAXRegI rax, eBXRegI rbx, eCXRegI rcx ) %{
+instruct powD_reg(regD dst, regD src0, regD src1, regDPR1 tmp1, eAXRegI rax, eBXRegI rbx, eCXRegI rcx ) %{
predicate (UseSSE>=2);
match(Set dst (PowD src0 src1)); // Raise src0 to the src1'th power
effect(KILL tmp1, KILL rax, KILL rbx, KILL rcx );
@@ -10888,12 +10255,12 @@ instruct powXD_reg(regXD dst, regXD src0, regXD src1, regDPR1 tmp1, eAXRegI rax,
push_xmm_to_fpr1(src0),
Opcode(0xD9), Opcode(0xF1), // fyl2x
pow_exp_core_encoding,
- Push_ResultXD(dst) );
+ Push_ResultD(dst) );
ins_pipe( pipe_slow );
%}
-instruct expD_reg(regDPR1 dpr1, eAXRegI rax, eBXRegI rbx, eCXRegI rcx) %{
+instruct expDPR_reg(regDPR1 dpr1, eAXRegI rax, eBXRegI rbx, eCXRegI rcx) %{
predicate (UseSSE<=1);
match(Set dpr1 (ExpD dpr1));
effect(KILL rax, KILL rbx, KILL rcx);
@@ -10929,7 +10296,7 @@ instruct expD_reg(regDPR1 dpr1, eAXRegI rax, eBXRegI rbx, eCXRegI rcx) %{
ins_pipe( pipe_slow );
%}
-instruct expXD_reg(regXD dst, regXD src, regDPR1 tmp1, eAXRegI rax, eBXRegI rbx, eCXRegI rcx) %{
+instruct expD_reg(regD dst, regD src, regDPR1 tmp1, eAXRegI rax, eBXRegI rbx, eCXRegI rcx) %{
predicate (UseSSE>=2);
match(Set dst (ExpD src));
effect(KILL tmp1, KILL rax, KILL rbx, KILL rcx);
@@ -10960,17 +10327,17 @@ instruct expXD_reg(regXD dst, regXD src, regDPR1 tmp1, eAXRegI rax, eBXRegI rbx,
"MOVSD $dst,[ESP]\n\t"
"ADD ESP,8"
%}
- ins_encode( Push_SrcXD(src),
+ ins_encode( Push_SrcD(src),
Opcode(0xD9), Opcode(0xEA), // fldl2e
Opcode(0xDE), Opcode(0xC9), // fmulp
pow_exp_core_encoding,
- Push_ResultXD(dst) );
+ Push_ResultD(dst) );
ins_pipe( pipe_slow );
%}
-instruct log10D_reg(regDPR1 dst, regDPR1 src) %{
+instruct log10DPR_reg(regDPR1 dst, regDPR1 src) %{
predicate (UseSSE<=1);
// The source Double operand on FPU stack
match(Set dst (Log10D src));
@@ -10988,7 +10355,7 @@ instruct log10D_reg(regDPR1 dst, regDPR1 src) %{
ins_pipe( pipe_slow );
%}
-instruct log10XD_reg(regXD dst, regXD src, eFlagsReg cr) %{
+instruct log10D_reg(regD dst, regD src, eFlagsReg cr) %{
predicate (UseSSE>=2);
effect(KILL cr);
match(Set dst (Log10D src));
@@ -10998,14 +10365,14 @@ instruct log10XD_reg(regXD dst, regXD src, eFlagsReg cr) %{
"FYL2X \t\t\t# Q=Log10*Log_2(x)"
%}
ins_encode( Opcode(0xD9), Opcode(0xEC), // fldlg2
- Push_SrcXD(src),
+ Push_SrcD(src),
Opcode(0xD9), Opcode(0xF1), // fyl2x
- Push_ResultXD(dst));
+ Push_ResultD(dst));
ins_pipe( pipe_slow );
%}
-instruct logD_reg(regDPR1 dst, regDPR1 src) %{
+instruct logDPR_reg(regDPR1 dst, regDPR1 src) %{
predicate (UseSSE<=1);
// The source Double operand on FPU stack
match(Set dst (LogD src));
@@ -11023,7 +10390,7 @@ instruct logD_reg(regDPR1 dst, regDPR1 src) %{
ins_pipe( pipe_slow );
%}
-instruct logXD_reg(regXD dst, regXD src, eFlagsReg cr) %{
+instruct logD_reg(regD dst, regD src, eFlagsReg cr) %{
predicate (UseSSE>=2);
effect(KILL cr);
// The source and result Double operands in XMM registers
@@ -11034,9 +10401,9 @@ instruct logXD_reg(regXD dst, regXD src, eFlagsReg cr) %{
"FYL2X \t\t\t# Q=Log_e*Log_2(x)"
%}
ins_encode( Opcode(0xD9), Opcode(0xED), // fldln2
- Push_SrcXD(src),
+ Push_SrcD(src),
Opcode(0xD9), Opcode(0xF1), // fyl2x
- Push_ResultXD(dst));
+ Push_ResultD(dst));
ins_pipe( pipe_slow );
%}
@@ -11057,7 +10424,7 @@ instruct logXD_reg(regXD dst, regXD src, eFlagsReg cr) %{
// exit:
// P6 version of float compare, sets condition codes in EFLAGS
-instruct cmpF_cc_P6(eFlagsRegU cr, regF src1, regF src2, eAXRegI rax) %{
+instruct cmpFPR_cc_P6(eFlagsRegU cr, regFPR src1, regFPR src2, eAXRegI rax) %{
predicate(VM_Version::supports_cmov() && UseSSE == 0);
match(Set cr (CmpF src1 src2));
effect(KILL rax);
@@ -11069,27 +10436,27 @@ instruct cmpF_cc_P6(eFlagsRegU cr, regF src1, regF src2, eAXRegI rax) %{
"SAHF\n"
"exit:\tNOP // avoid branch to branch" %}
opcode(0xDF, 0x05); /* DF E8+i or DF /5 */
- ins_encode( Push_Reg_D(src1),
+ ins_encode( Push_Reg_DPR(src1),
OpcP, RegOpc(src2),
cmpF_P6_fixup );
ins_pipe( pipe_slow );
%}
-instruct cmpF_cc_P6CF(eFlagsRegUCF cr, regF src1, regF src2) %{
+instruct cmpFPR_cc_P6CF(eFlagsRegUCF cr, regFPR src1, regFPR src2) %{
predicate(VM_Version::supports_cmov() && UseSSE == 0);
match(Set cr (CmpF src1 src2));
ins_cost(100);
format %{ "FLD $src1\n\t"
"FUCOMIP ST,$src2 // P6 instruction" %}
opcode(0xDF, 0x05); /* DF E8+i or DF /5 */
- ins_encode( Push_Reg_D(src1),
+ ins_encode( Push_Reg_DPR(src1),
OpcP, RegOpc(src2));
ins_pipe( pipe_slow );
%}
// Compare & branch
-instruct cmpF_cc(eFlagsRegU cr, regF src1, regF src2, eAXRegI rax) %{
+instruct cmpFPR_cc(eFlagsRegU cr, regFPR src1, regFPR src2, eAXRegI rax) %{
predicate(UseSSE == 0);
match(Set cr (CmpF src1 src2));
effect(KILL rax);
@@ -11102,328 +10469,190 @@ instruct cmpF_cc(eFlagsRegU cr, regF src1, regF src2, eAXRegI rax) %{
"MOV AH,1\t# unordered treat as LT\n"
"flags:\tSAHF" %}
opcode(0xD8, 0x3); /* D8 D8+i or D8 /3 */
- ins_encode( Push_Reg_D(src1),
+ ins_encode( Push_Reg_DPR(src1),
OpcP, RegOpc(src2),
fpu_flags);
ins_pipe( pipe_slow );
%}
// Compare vs zero into -1,0,1
-instruct cmpF_0(eRegI dst, regF src1, immF0 zero, eAXRegI rax, eFlagsReg cr) %{
+instruct cmpFPR_0(eRegI dst, regFPR src1, immFPR0 zero, eAXRegI rax, eFlagsReg cr) %{
predicate(UseSSE == 0);
match(Set dst (CmpF3 src1 zero));
effect(KILL cr, KILL rax);
ins_cost(280);
format %{ "FTSTF $dst,$src1" %}
opcode(0xE4, 0xD9);
- ins_encode( Push_Reg_D(src1),
+ ins_encode( Push_Reg_DPR(src1),
OpcS, OpcP, PopFPU,
CmpF_Result(dst));
ins_pipe( pipe_slow );
%}
// Compare into -1,0,1
-instruct cmpF_reg(eRegI dst, regF src1, regF src2, eAXRegI rax, eFlagsReg cr) %{
+instruct cmpFPR_reg(eRegI dst, regFPR src1, regFPR src2, eAXRegI rax, eFlagsReg cr) %{
predicate(UseSSE == 0);
match(Set dst (CmpF3 src1 src2));
effect(KILL cr, KILL rax);
ins_cost(300);
format %{ "FCMPF $dst,$src1,$src2" %}
opcode(0xD8, 0x3); /* D8 D8+i or D8 /3 */
- ins_encode( Push_Reg_D(src1),
+ ins_encode( Push_Reg_DPR(src1),
OpcP, RegOpc(src2),
CmpF_Result(dst));
ins_pipe( pipe_slow );
%}
// float compare and set condition codes in EFLAGS by XMM regs
-instruct cmpX_cc(eFlagsRegU cr, regX dst, regX src, eAXRegI rax) %{
+instruct cmpF_cc(eFlagsRegU cr, regF src1, regF src2) %{
predicate(UseSSE>=1);
- match(Set cr (CmpF dst src));
- effect(KILL rax);
+ match(Set cr (CmpF src1 src2));
ins_cost(145);
- format %{ "COMISS $dst,$src\n"
- "\tJNP exit\n"
- "\tMOV ah,1 // saw a NaN, set CF\n"
- "\tSAHF\n"
- "exit:\tNOP // avoid branch to branch" %}
- opcode(0x0F, 0x2F);
- ins_encode(OpcP, OpcS, RegReg(dst, src), cmpF_P6_fixup);
+ format %{ "UCOMISS $src1,$src2\n\t"
+ "JNP,s exit\n\t"
+ "PUSHF\t# saw NaN, set CF\n\t"
+ "AND [rsp], #0xffffff2b\n\t"
+ "POPF\n"
+ "exit:" %}
+ ins_encode %{
+ __ ucomiss($src1$$XMMRegister, $src2$$XMMRegister);
+ emit_cmpfp_fixup(_masm);
+ %}
ins_pipe( pipe_slow );
%}
-instruct cmpX_ccCF(eFlagsRegUCF cr, regX dst, regX src) %{
+instruct cmpF_ccCF(eFlagsRegUCF cr, regF src1, regF src2) %{
predicate(UseSSE>=1);
- match(Set cr (CmpF dst src));
+ match(Set cr (CmpF src1 src2));
ins_cost(100);
- format %{ "COMISS $dst,$src" %}
- opcode(0x0F, 0x2F);
- ins_encode(OpcP, OpcS, RegReg(dst, src));
+ format %{ "UCOMISS $src1,$src2" %}
+ ins_encode %{
+ __ ucomiss($src1$$XMMRegister, $src2$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
// float compare and set condition codes in EFLAGS by XMM regs
-instruct cmpX_ccmem(eFlagsRegU cr, regX dst, memory src, eAXRegI rax) %{
+instruct cmpF_ccmem(eFlagsRegU cr, regF src1, memory src2) %{
predicate(UseSSE>=1);
- match(Set cr (CmpF dst (LoadF src)));
- effect(KILL rax);
+ match(Set cr (CmpF src1 (LoadF src2)));
ins_cost(165);
- format %{ "COMISS $dst,$src\n"
- "\tJNP exit\n"
- "\tMOV ah,1 // saw a NaN, set CF\n"
- "\tSAHF\n"
- "exit:\tNOP // avoid branch to branch" %}
- opcode(0x0F, 0x2F);
- ins_encode(OpcP, OpcS, RegMem(dst, src), cmpF_P6_fixup);
+ format %{ "UCOMISS $src1,$src2\n\t"
+ "JNP,s exit\n\t"
+ "PUSHF\t# saw NaN, set CF\n\t"
+ "AND [rsp], #0xffffff2b\n\t"
+ "POPF\n"
+ "exit:" %}
+ ins_encode %{
+ __ ucomiss($src1$$XMMRegister, $src2$$Address);
+ emit_cmpfp_fixup(_masm);
+ %}
ins_pipe( pipe_slow );
%}
-instruct cmpX_ccmemCF(eFlagsRegUCF cr, regX dst, memory src) %{
+instruct cmpF_ccmemCF(eFlagsRegUCF cr, regF src1, memory src2) %{
predicate(UseSSE>=1);
- match(Set cr (CmpF dst (LoadF src)));
+ match(Set cr (CmpF src1 (LoadF src2)));
ins_cost(100);
- format %{ "COMISS $dst,$src" %}
- opcode(0x0F, 0x2F);
- ins_encode(OpcP, OpcS, RegMem(dst, src));
+ format %{ "UCOMISS $src1,$src2" %}
+ ins_encode %{
+ __ ucomiss($src1$$XMMRegister, $src2$$Address);
+ %}
ins_pipe( pipe_slow );
%}
// Compare into -1,0,1 in XMM
-instruct cmpX_reg(eRegI dst, regX src1, regX src2, eFlagsReg cr) %{
+instruct cmpF_reg(xRegI dst, regF src1, regF src2, eFlagsReg cr) %{
predicate(UseSSE>=1);
match(Set dst (CmpF3 src1 src2));
effect(KILL cr);
ins_cost(255);
- format %{ "XOR $dst,$dst\n"
- "\tCOMISS $src1,$src2\n"
- "\tJP,s nan\n"
- "\tJEQ,s exit\n"
- "\tJA,s inc\n"
- "nan:\tDEC $dst\n"
- "\tJMP,s exit\n"
- "inc:\tINC $dst\n"
- "exit:"
- %}
- opcode(0x0F, 0x2F);
- ins_encode(Xor_Reg(dst), OpcP, OpcS, RegReg(src1, src2), CmpX_Result(dst));
+ format %{ "UCOMISS $src1, $src2\n\t"
+ "MOV $dst, #-1\n\t"
+ "JP,s done\n\t"
+ "JB,s done\n\t"
+ "SETNE $dst\n\t"
+ "MOVZB $dst, $dst\n"
+ "done:" %}
+ ins_encode %{
+ __ ucomiss($src1$$XMMRegister, $src2$$XMMRegister);
+ emit_cmpfp3(_masm, $dst$$Register);
+ %}
ins_pipe( pipe_slow );
%}
// Compare into -1,0,1 in XMM and memory
-instruct cmpX_regmem(eRegI dst, regX src1, memory mem, eFlagsReg cr) %{
+instruct cmpF_regmem(xRegI dst, regF src1, memory src2, eFlagsReg cr) %{
predicate(UseSSE>=1);
- match(Set dst (CmpF3 src1 (LoadF mem)));
+ match(Set dst (CmpF3 src1 (LoadF src2)));
effect(KILL cr);
ins_cost(275);
- format %{ "COMISS $src1,$mem\n"
- "\tMOV $dst,0\t\t# do not blow flags\n"
- "\tJP,s nan\n"
- "\tJEQ,s exit\n"
- "\tJA,s inc\n"
- "nan:\tDEC $dst\n"
- "\tJMP,s exit\n"
- "inc:\tINC $dst\n"
- "exit:"
- %}
- opcode(0x0F, 0x2F);
- ins_encode(OpcP, OpcS, RegMem(src1, mem), LdImmI(dst,0x0), CmpX_Result(dst));
+ format %{ "UCOMISS $src1, $src2\n\t"
+ "MOV $dst, #-1\n\t"
+ "JP,s done\n\t"
+ "JB,s done\n\t"
+ "SETNE $dst\n\t"
+ "MOVZB $dst, $dst\n"
+ "done:" %}
+ ins_encode %{
+ __ ucomiss($src1$$XMMRegister, $src2$$Address);
+ emit_cmpfp3(_masm, $dst$$Register);
+ %}
ins_pipe( pipe_slow );
%}
// Spill to obtain 24-bit precision
-instruct subF24_reg(stackSlotF dst, regF src1, regF src2) %{
+instruct subFPR24_reg(stackSlotF dst, regFPR src1, regFPR src2) %{
predicate(UseSSE==0 && Compile::current()->select_24_bit_instr());
match(Set dst (SubF src1 src2));
format %{ "FSUB $dst,$src1 - $src2" %}
opcode(0xD8, 0x4); /* D8 E0+i or D8 /4 mod==0x3 ;; result in TOS */
- ins_encode( Push_Reg_F(src1),
- OpcReg_F(src2),
- Pop_Mem_F(dst) );
+ ins_encode( Push_Reg_FPR(src1),
+ OpcReg_FPR(src2),
+ Pop_Mem_FPR(dst) );
ins_pipe( fpu_mem_reg_reg );
%}
//
// This instruction does not round to 24-bits
-instruct subF_reg(regF dst, regF src) %{
+instruct subFPR_reg(regFPR dst, regFPR src) %{
predicate(UseSSE==0 && !Compile::current()->select_24_bit_instr());
match(Set dst (SubF dst src));
format %{ "FSUB $dst,$src" %}
opcode(0xDE, 0x5); /* DE E8+i or DE /5 */
- ins_encode( Push_Reg_F(src),
+ ins_encode( Push_Reg_FPR(src),
OpcP, RegOpc(dst) );
ins_pipe( fpu_reg_reg );
%}
// Spill to obtain 24-bit precision
-instruct addF24_reg(stackSlotF dst, regF src1, regF src2) %{
+instruct addFPR24_reg(stackSlotF dst, regFPR src1, regFPR src2) %{
predicate(UseSSE==0 && Compile::current()->select_24_bit_instr());
match(Set dst (AddF src1 src2));
format %{ "FADD $dst,$src1,$src2" %}
opcode(0xD8, 0x0); /* D8 C0+i */
- ins_encode( Push_Reg_F(src2),
- OpcReg_F(src1),
- Pop_Mem_F(dst) );
+ ins_encode( Push_Reg_FPR(src2),
+ OpcReg_FPR(src1),
+ Pop_Mem_FPR(dst) );
ins_pipe( fpu_mem_reg_reg );
%}
//
// This instruction does not round to 24-bits
-instruct addF_reg(regF dst, regF src) %{
+instruct addFPR_reg(regFPR dst, regFPR src) %{
predicate(UseSSE==0 && !Compile::current()->select_24_bit_instr());
match(Set dst (AddF dst src));
format %{ "FLD $src\n\t"
"FADDp $dst,ST" %}
opcode(0xDE, 0x0); /* DE C0+i or DE /0*/
- ins_encode( Push_Reg_F(src),
+ ins_encode( Push_Reg_FPR(src),
OpcP, RegOpc(dst) );
ins_pipe( fpu_reg_reg );
%}
-// Add two single precision floating point values in xmm
-instruct addX_reg(regX dst, regX src) %{
- predicate(UseSSE>=1);
- match(Set dst (AddF dst src));
- format %{ "ADDSS $dst,$src" %}
- ins_encode( Opcode(0xF3), Opcode(0x0F), Opcode(0x58), RegReg(dst, src));
- ins_pipe( pipe_slow );
-%}
-
-instruct addX_imm(regX dst, immXF con) %{
- predicate(UseSSE>=1);
- match(Set dst (AddF dst con));
- format %{ "ADDSS $dst,[$constantaddress]\t# load from constant table: float=$con" %}
- ins_encode %{
- __ addss($dst$$XMMRegister, $constantaddress($con));
- %}
- ins_pipe(pipe_slow);
-%}
-
-instruct addX_mem(regX dst, memory mem) %{
- predicate(UseSSE>=1);
- match(Set dst (AddF dst (LoadF mem)));
- format %{ "ADDSS $dst,$mem" %}
- ins_encode( Opcode(0xF3), Opcode(0x0F), Opcode(0x58), RegMem(dst, mem));
- ins_pipe( pipe_slow );
-%}
-
-// Subtract two single precision floating point values in xmm
-instruct subX_reg(regX dst, regX src) %{
- predicate(UseSSE>=1);
- match(Set dst (SubF dst src));
- format %{ "SUBSS $dst,$src" %}
- ins_encode( Opcode(0xF3), Opcode(0x0F), Opcode(0x5C), RegReg(dst, src));
- ins_pipe( pipe_slow );
-%}
-
-instruct subX_imm(regX dst, immXF con) %{
- predicate(UseSSE>=1);
- match(Set dst (SubF dst con));
- format %{ "SUBSS $dst,[$constantaddress]\t# load from constant table: float=$con" %}
- ins_encode %{
- __ subss($dst$$XMMRegister, $constantaddress($con));
- %}
- ins_pipe(pipe_slow);
-%}
-
-instruct subX_mem(regX dst, memory mem) %{
- predicate(UseSSE>=1);
- match(Set dst (SubF dst (LoadF mem)));
- format %{ "SUBSS $dst,$mem" %}
- ins_encode( Opcode(0xF3), Opcode(0x0F), Opcode(0x5C), RegMem(dst,mem));
- ins_pipe( pipe_slow );
-%}
-
-// Multiply two single precision floating point values in xmm
-instruct mulX_reg(regX dst, regX src) %{
- predicate(UseSSE>=1);
- match(Set dst (MulF dst src));
- format %{ "MULSS $dst,$src" %}
- ins_encode( Opcode(0xF3), Opcode(0x0F), Opcode(0x59), RegReg(dst, src));
- ins_pipe( pipe_slow );
-%}
-
-instruct mulX_imm(regX dst, immXF con) %{
- predicate(UseSSE>=1);
- match(Set dst (MulF dst con));
- format %{ "MULSS $dst,[$constantaddress]\t# load from constant table: float=$con" %}
- ins_encode %{
- __ mulss($dst$$XMMRegister, $constantaddress($con));
- %}
- ins_pipe(pipe_slow);
-%}
-
-instruct mulX_mem(regX dst, memory mem) %{
- predicate(UseSSE>=1);
- match(Set dst (MulF dst (LoadF mem)));
- format %{ "MULSS $dst,$mem" %}
- ins_encode( Opcode(0xF3), Opcode(0x0F), Opcode(0x59), RegMem(dst,mem));
- ins_pipe( pipe_slow );
-%}
-
-// Divide two single precision floating point values in xmm
-instruct divX_reg(regX dst, regX src) %{
- predicate(UseSSE>=1);
- match(Set dst (DivF dst src));
- format %{ "DIVSS $dst,$src" %}
- ins_encode( Opcode(0xF3), Opcode(0x0F), Opcode(0x5E), RegReg(dst, src));
- ins_pipe( pipe_slow );
-%}
-
-instruct divX_imm(regX dst, immXF con) %{
- predicate(UseSSE>=1);
- match(Set dst (DivF dst con));
- format %{ "DIVSS $dst,[$constantaddress]\t# load from constant table: float=$con" %}
- ins_encode %{
- __ divss($dst$$XMMRegister, $constantaddress($con));
- %}
- ins_pipe(pipe_slow);
-%}
-
-instruct divX_mem(regX dst, memory mem) %{
- predicate(UseSSE>=1);
- match(Set dst (DivF dst (LoadF mem)));
- format %{ "DIVSS $dst,$mem" %}
- ins_encode( Opcode(0xF3), Opcode(0x0F), Opcode(0x5E), RegMem(dst,mem));
- ins_pipe( pipe_slow );
-%}
-
-// Get the square root of a single precision floating point values in xmm
-instruct sqrtX_reg(regX dst, regX src) %{
- predicate(UseSSE>=1);
- match(Set dst (ConvD2F (SqrtD (ConvF2D src))));
- format %{ "SQRTSS $dst,$src" %}
- ins_encode( Opcode(0xF3), Opcode(0x0F), Opcode(0x51), RegReg(dst, src));
- ins_pipe( pipe_slow );
-%}
-
-instruct sqrtX_mem(regX dst, memory mem) %{
- predicate(UseSSE>=1);
- match(Set dst (ConvD2F (SqrtD (ConvF2D (LoadF mem)))));
- format %{ "SQRTSS $dst,$mem" %}
- ins_encode( Opcode(0xF3), Opcode(0x0F), Opcode(0x51), RegMem(dst, mem));
- ins_pipe( pipe_slow );
-%}
-
-// Get the square root of a double precision floating point values in xmm
-instruct sqrtXD_reg(regXD dst, regXD src) %{
- predicate(UseSSE>=2);
- match(Set dst (SqrtD src));
- format %{ "SQRTSD $dst,$src" %}
- ins_encode( Opcode(0xF2), Opcode(0x0F), Opcode(0x51), RegReg(dst, src));
- ins_pipe( pipe_slow );
-%}
-
-instruct sqrtXD_mem(regXD dst, memory mem) %{
- predicate(UseSSE>=2);
- match(Set dst (SqrtD (LoadD mem)));
- format %{ "SQRTSD $dst,$mem" %}
- ins_encode( Opcode(0xF2), Opcode(0x0F), Opcode(0x51), RegMem(dst, mem));
- ins_pipe( pipe_slow );
-%}
-
-instruct absF_reg(regFPR1 dst, regFPR1 src) %{
+instruct absFPR_reg(regFPR1 dst, regFPR1 src) %{
predicate(UseSSE==0);
match(Set dst (AbsF src));
ins_cost(100);
@@ -11433,15 +10662,7 @@ instruct absF_reg(regFPR1 dst, regFPR1 src) %{
ins_pipe( fpu_reg_reg );
%}
-instruct absX_reg(regX dst ) %{
- predicate(UseSSE>=1);
- match(Set dst (AbsF dst));
- format %{ "ANDPS $dst,[0x7FFFFFFF]\t# ABS F by sign masking" %}
- ins_encode( AbsXF_encoding(dst));
- ins_pipe( pipe_slow );
-%}
-
-instruct negF_reg(regFPR1 dst, regFPR1 src) %{
+instruct negFPR_reg(regFPR1 dst, regFPR1 src) %{
predicate(UseSSE==0);
match(Set dst (NegF src));
ins_cost(100);
@@ -11451,17 +10672,9 @@ instruct negF_reg(regFPR1 dst, regFPR1 src) %{
ins_pipe( fpu_reg_reg );
%}
-instruct negX_reg( regX dst ) %{
- predicate(UseSSE>=1);
- match(Set dst (NegF dst));
- format %{ "XORPS $dst,[0x80000000]\t# CHS F by sign flipping" %}
- ins_encode( NegXF_encoding(dst));
- ins_pipe( pipe_slow );
-%}
-
-// Cisc-alternate to addF_reg
+// Cisc-alternate to addFPR_reg
// Spill to obtain 24-bit precision
-instruct addF24_reg_mem(stackSlotF dst, regF src1, memory src2) %{
+instruct addFPR24_reg_mem(stackSlotF dst, regFPR src1, memory src2) %{
predicate(UseSSE==0 && Compile::current()->select_24_bit_instr());
match(Set dst (AddF src1 (LoadF src2)));
@@ -11470,14 +10683,14 @@ instruct addF24_reg_mem(stackSlotF dst, regF src1, memory src2) %{
"FSTP_S $dst" %}
opcode(0xD8, 0x0, 0xD9); /* D8 C0+i */ /* LoadF D9 /0 */
ins_encode( Opcode(tertiary), RMopc_Mem(0x00,src2),
- OpcReg_F(src1),
- Pop_Mem_F(dst) );
+ OpcReg_FPR(src1),
+ Pop_Mem_FPR(dst) );
ins_pipe( fpu_mem_reg_mem );
%}
//
-// Cisc-alternate to addF_reg
+// Cisc-alternate to addFPR_reg
// This instruction does not round to 24-bits
-instruct addF_reg_mem(regF dst, memory src) %{
+instruct addFPR_reg_mem(regFPR dst, memory src) %{
predicate(UseSSE==0 && !Compile::current()->select_24_bit_instr());
match(Set dst (AddF dst (LoadF src)));
@@ -11490,21 +10703,21 @@ instruct addF_reg_mem(regF dst, memory src) %{
// // Following two instructions for _222_mpegaudio
// Spill to obtain 24-bit precision
-instruct addF24_mem_reg(stackSlotF dst, regF src2, memory src1 ) %{
+instruct addFPR24_mem_reg(stackSlotF dst, regFPR src2, memory src1 ) %{
predicate(UseSSE==0 && Compile::current()->select_24_bit_instr());
match(Set dst (AddF src1 src2));
format %{ "FADD $dst,$src1,$src2" %}
opcode(0xD8, 0x0, 0xD9); /* D8 C0+i */ /* LoadF D9 /0 */
ins_encode( Opcode(tertiary), RMopc_Mem(0x00,src1),
- OpcReg_F(src2),
- Pop_Mem_F(dst) );
+ OpcReg_FPR(src2),
+ Pop_Mem_FPR(dst) );
ins_pipe( fpu_mem_reg_mem );
%}
// Cisc-spill variant
// Spill to obtain 24-bit precision
-instruct addF24_mem_cisc(stackSlotF dst, memory src1, memory src2) %{
+instruct addFPR24_mem_cisc(stackSlotF dst, memory src1, memory src2) %{
predicate(UseSSE==0 && Compile::current()->select_24_bit_instr());
match(Set dst (AddF src1 (LoadF src2)));
@@ -11513,12 +10726,12 @@ instruct addF24_mem_cisc(stackSlotF dst, memory src1, memory src2) %{
ins_encode( Opcode(tertiary), RMopc_Mem(0x00,src2),
set_instruction_start,
OpcP, RMopc_Mem(secondary,src1),
- Pop_Mem_F(dst) );
+ Pop_Mem_FPR(dst) );
ins_pipe( fpu_mem_mem_mem );
%}
// Spill to obtain 24-bit precision
-instruct addF24_mem_mem(stackSlotF dst, memory src1, memory src2) %{
+instruct addFPR24_mem_mem(stackSlotF dst, memory src1, memory src2) %{
predicate(UseSSE==0 && Compile::current()->select_24_bit_instr());
match(Set dst (AddF src1 src2));
@@ -11527,13 +10740,13 @@ instruct addF24_mem_mem(stackSlotF dst, memory src1, memory src2) %{
ins_encode( Opcode(tertiary), RMopc_Mem(0x00,src2),
set_instruction_start,
OpcP, RMopc_Mem(secondary,src1),
- Pop_Mem_F(dst) );
+ Pop_Mem_FPR(dst) );
ins_pipe( fpu_mem_mem_mem );
%}
// Spill to obtain 24-bit precision
-instruct addF24_reg_imm(stackSlotF dst, regF src, immF con) %{
+instruct addFPR24_reg_imm(stackSlotF dst, regFPR src, immFPR con) %{
predicate(UseSSE==0 && Compile::current()->select_24_bit_instr());
match(Set dst (AddF src con));
format %{ "FLD $src\n\t"
@@ -11548,7 +10761,7 @@ instruct addF24_reg_imm(stackSlotF dst, regF src, immF con) %{
%}
//
// This instruction does not round to 24-bits
-instruct addF_reg_imm(regF dst, regF src, immF con) %{
+instruct addFPR_reg_imm(regFPR dst, regFPR src, immFPR con) %{
predicate(UseSSE==0 && !Compile::current()->select_24_bit_instr());
match(Set dst (AddF src con));
format %{ "FLD $src\n\t"
@@ -11563,7 +10776,7 @@ instruct addF_reg_imm(regF dst, regF src, immF con) %{
%}
// Spill to obtain 24-bit precision
-instruct mulF24_reg(stackSlotF dst, regF src1, regF src2) %{
+instruct mulFPR24_reg(stackSlotF dst, regFPR src1, regFPR src2) %{
predicate(UseSSE==0 && Compile::current()->select_24_bit_instr());
match(Set dst (MulF src1 src2));
@@ -11571,14 +10784,14 @@ instruct mulF24_reg(stackSlotF dst, regF src1, regF src2) %{
"FMUL $src2\n\t"
"FSTP_S $dst" %}
opcode(0xD8, 0x1); /* D8 C8+i or D8 /1 ;; result in TOS */
- ins_encode( Push_Reg_F(src1),
- OpcReg_F(src2),
- Pop_Mem_F(dst) );
+ ins_encode( Push_Reg_FPR(src1),
+ OpcReg_FPR(src2),
+ Pop_Mem_FPR(dst) );
ins_pipe( fpu_mem_reg_reg );
%}
//
// This instruction does not round to 24-bits
-instruct mulF_reg(regF dst, regF src1, regF src2) %{
+instruct mulFPR_reg(regFPR dst, regFPR src1, regFPR src2) %{
predicate(UseSSE==0 && !Compile::current()->select_24_bit_instr());
match(Set dst (MulF src1 src2));
@@ -11586,16 +10799,16 @@ instruct mulF_reg(regF dst, regF src1, regF src2) %{
"FMUL $src2\n\t"
"FSTP_S $dst" %}
opcode(0xD8, 0x1); /* D8 C8+i */
- ins_encode( Push_Reg_F(src2),
- OpcReg_F(src1),
- Pop_Reg_F(dst) );
+ ins_encode( Push_Reg_FPR(src2),
+ OpcReg_FPR(src1),
+ Pop_Reg_FPR(dst) );
ins_pipe( fpu_reg_reg_reg );
%}
// Spill to obtain 24-bit precision
// Cisc-alternate to reg-reg multiply
-instruct mulF24_reg_mem(stackSlotF dst, regF src1, memory src2) %{
+instruct mulFPR24_reg_mem(stackSlotF dst, regFPR src1, memory src2) %{
predicate(UseSSE==0 && Compile::current()->select_24_bit_instr());
match(Set dst (MulF src1 (LoadF src2)));
@@ -11604,27 +10817,27 @@ instruct mulF24_reg_mem(stackSlotF dst, regF src1, memory src2) %{
"FSTP_S $dst" %}
opcode(0xD8, 0x1, 0xD9); /* D8 C8+i or DE /1*/ /* LoadF D9 /0 */
ins_encode( Opcode(tertiary), RMopc_Mem(0x00,src2),
- OpcReg_F(src1),
- Pop_Mem_F(dst) );
+ OpcReg_FPR(src1),
+ Pop_Mem_FPR(dst) );
ins_pipe( fpu_mem_reg_mem );
%}
//
// This instruction does not round to 24-bits
// Cisc-alternate to reg-reg multiply
-instruct mulF_reg_mem(regF dst, regF src1, memory src2) %{
+instruct mulFPR_reg_mem(regFPR dst, regFPR src1, memory src2) %{
predicate(UseSSE==0 && !Compile::current()->select_24_bit_instr());
match(Set dst (MulF src1 (LoadF src2)));
format %{ "FMUL $dst,$src1,$src2" %}
opcode(0xD8, 0x1, 0xD9); /* D8 C8+i */ /* LoadF D9 /0 */
ins_encode( Opcode(tertiary), RMopc_Mem(0x00,src2),
- OpcReg_F(src1),
- Pop_Reg_F(dst) );
+ OpcReg_FPR(src1),
+ Pop_Reg_FPR(dst) );
ins_pipe( fpu_reg_reg_mem );
%}
// Spill to obtain 24-bit precision
-instruct mulF24_mem_mem(stackSlotF dst, memory src1, memory src2) %{
+instruct mulFPR24_mem_mem(stackSlotF dst, memory src1, memory src2) %{
predicate(UseSSE==0 && Compile::current()->select_24_bit_instr());
match(Set dst (MulF src1 src2));
@@ -11633,12 +10846,12 @@ instruct mulF24_mem_mem(stackSlotF dst, memory src1, memory src2) %{
ins_encode( Opcode(tertiary), RMopc_Mem(0x00,src2),
set_instruction_start,
OpcP, RMopc_Mem(secondary,src1),
- Pop_Mem_F(dst) );
+ Pop_Mem_FPR(dst) );
ins_pipe( fpu_mem_mem_mem );
%}
// Spill to obtain 24-bit precision
-instruct mulF24_reg_imm(stackSlotF dst, regF src, immF con) %{
+instruct mulFPR24_reg_imm(stackSlotF dst, regFPR src, immFPR con) %{
predicate(UseSSE==0 && Compile::current()->select_24_bit_instr());
match(Set dst (MulF src con));
@@ -11654,7 +10867,7 @@ instruct mulF24_reg_imm(stackSlotF dst, regF src, immF con) %{
%}
//
// This instruction does not round to 24-bits
-instruct mulF_reg_imm(regF dst, regF src, immF con) %{
+instruct mulFPR_reg_imm(regFPR dst, regFPR src, immFPR con) %{
predicate(UseSSE==0 && !Compile::current()->select_24_bit_instr());
match(Set dst (MulF src con));
@@ -11671,9 +10884,9 @@ instruct mulF_reg_imm(regF dst, regF src, immF con) %{
//
-// MACRO1 -- subsume unshared load into mulF
+// MACRO1 -- subsume unshared load into mulFPR
// This instruction does not round to 24-bits
-instruct mulF_reg_load1(regF dst, regF src, memory mem1 ) %{
+instruct mulFPR_reg_load1(regFPR dst, regFPR src, memory mem1 ) %{
predicate(UseSSE==0 && !Compile::current()->select_24_bit_instr());
match(Set dst (MulF (LoadF mem1) src));
@@ -11682,36 +10895,36 @@ instruct mulF_reg_load1(regF dst, regF src, memory mem1 ) %{
"FSTP $dst" %}
opcode(0xD8, 0x1, 0xD9); /* D8 C8+i or D8 /1 */ /* LoadF D9 /0 */
ins_encode( Opcode(tertiary), RMopc_Mem(0x00,mem1),
- OpcReg_F(src),
- Pop_Reg_F(dst) );
+ OpcReg_FPR(src),
+ Pop_Reg_FPR(dst) );
ins_pipe( fpu_reg_reg_mem );
%}
//
-// MACRO2 -- addF a mulF which subsumed an unshared load
+// MACRO2 -- addFPR a mulFPR which subsumed an unshared load
// This instruction does not round to 24-bits
-instruct addF_mulF_reg_load1(regF dst, memory mem1, regF src1, regF src2) %{
+instruct addFPR_mulFPR_reg_load1(regFPR dst, memory mem1, regFPR src1, regFPR src2) %{
predicate(UseSSE==0 && !Compile::current()->select_24_bit_instr());
match(Set dst (AddF (MulF (LoadF mem1) src1) src2));
ins_cost(95);
format %{ "FLD $mem1 ===MACRO2===\n\t"
- "FMUL ST,$src1 subsume mulF left load\n\t"
+ "FMUL ST,$src1 subsume mulFPR left load\n\t"
"FADD ST,$src2\n\t"
"FSTP $dst" %}
opcode(0xD9); /* LoadF D9 /0 */
ins_encode( OpcP, RMopc_Mem(0x00,mem1),
FMul_ST_reg(src1),
FAdd_ST_reg(src2),
- Pop_Reg_F(dst) );
+ Pop_Reg_FPR(dst) );
ins_pipe( fpu_reg_mem_reg_reg );
%}
-// MACRO3 -- addF a mulF
+// MACRO3 -- addFPR a mulFPR
// This instruction does not round to 24-bits. It is a '2-address'
// instruction in that the result goes back to src2. This eliminates
// a move from the macro; possibly the register allocator will have
// to add it back (and maybe not).
-instruct addF_mulF_reg(regF src2, regF src1, regF src0) %{
+instruct addFPR_mulFPR_reg(regFPR src2, regFPR src1, regFPR src0) %{
predicate(UseSSE==0 && !Compile::current()->select_24_bit_instr());
match(Set src2 (AddF (MulF src0 src1) src2));
@@ -11719,15 +10932,15 @@ instruct addF_mulF_reg(regF src2, regF src1, regF src0) %{
"FMUL ST,$src1\n\t"
"FADDP $src2,ST" %}
opcode(0xD9); /* LoadF D9 /0 */
- ins_encode( Push_Reg_F(src0),
+ ins_encode( Push_Reg_FPR(src0),
FMul_ST_reg(src1),
FAddP_reg_ST(src2) );
ins_pipe( fpu_reg_reg_reg );
%}
-// MACRO4 -- divF subF
+// MACRO4 -- divFPR subFPR
// This instruction does not round to 24-bits
-instruct subF_divF_reg(regF dst, regF src1, regF src2, regF src3) %{
+instruct subFPR_divFPR_reg(regFPR dst, regFPR src1, regFPR src2, regFPR src3) %{
predicate(UseSSE==0 && !Compile::current()->select_24_bit_instr());
match(Set dst (DivF (SubF src2 src1) src3));
@@ -11736,67 +10949,67 @@ instruct subF_divF_reg(regF dst, regF src1, regF src2, regF src3) %{
"FDIV ST,$src3\n\t"
"FSTP $dst" %}
opcode(0xDE, 0x7); /* DE F8+i or DE /7*/
- ins_encode( Push_Reg_F(src2),
- subF_divF_encode(src1,src3),
- Pop_Reg_F(dst) );
+ ins_encode( Push_Reg_FPR(src2),
+ subFPR_divFPR_encode(src1,src3),
+ Pop_Reg_FPR(dst) );
ins_pipe( fpu_reg_reg_reg_reg );
%}
// Spill to obtain 24-bit precision
-instruct divF24_reg(stackSlotF dst, regF src1, regF src2) %{
+instruct divFPR24_reg(stackSlotF dst, regFPR src1, regFPR src2) %{
predicate(UseSSE==0 && Compile::current()->select_24_bit_instr());
match(Set dst (DivF src1 src2));
format %{ "FDIV $dst,$src1,$src2" %}
opcode(0xD8, 0x6); /* D8 F0+i or DE /6*/
- ins_encode( Push_Reg_F(src1),
- OpcReg_F(src2),
- Pop_Mem_F(dst) );
+ ins_encode( Push_Reg_FPR(src1),
+ OpcReg_FPR(src2),
+ Pop_Mem_FPR(dst) );
ins_pipe( fpu_mem_reg_reg );
%}
//
// This instruction does not round to 24-bits
-instruct divF_reg(regF dst, regF src) %{
+instruct divFPR_reg(regFPR dst, regFPR src) %{
predicate(UseSSE==0 && !Compile::current()->select_24_bit_instr());
match(Set dst (DivF dst src));
format %{ "FDIV $dst,$src" %}
opcode(0xDE, 0x7); /* DE F8+i or DE /7*/
- ins_encode( Push_Reg_F(src),
+ ins_encode( Push_Reg_FPR(src),
OpcP, RegOpc(dst) );
ins_pipe( fpu_reg_reg );
%}
// Spill to obtain 24-bit precision
-instruct modF24_reg(stackSlotF dst, regF src1, regF src2, eAXRegI rax, eFlagsReg cr) %{
+instruct modFPR24_reg(stackSlotF dst, regFPR src1, regFPR src2, eAXRegI rax, eFlagsReg cr) %{
predicate( UseSSE==0 && Compile::current()->select_24_bit_instr());
match(Set dst (ModF src1 src2));
- effect(KILL rax, KILL cr); // emitModD() uses EAX and EFLAGS
+ effect(KILL rax, KILL cr); // emitModDPR() uses EAX and EFLAGS
format %{ "FMOD $dst,$src1,$src2" %}
- ins_encode( Push_Reg_Mod_D(src1, src2),
- emitModD(),
- Push_Result_Mod_D(src2),
- Pop_Mem_F(dst));
+ ins_encode( Push_Reg_Mod_DPR(src1, src2),
+ emitModDPR(),
+ Push_Result_Mod_DPR(src2),
+ Pop_Mem_FPR(dst));
ins_pipe( pipe_slow );
%}
//
// This instruction does not round to 24-bits
-instruct modF_reg(regF dst, regF src, eAXRegI rax, eFlagsReg cr) %{
+instruct modFPR_reg(regFPR dst, regFPR src, eAXRegI rax, eFlagsReg cr) %{
predicate( UseSSE==0 && !Compile::current()->select_24_bit_instr());
match(Set dst (ModF dst src));
- effect(KILL rax, KILL cr); // emitModD() uses EAX and EFLAGS
+ effect(KILL rax, KILL cr); // emitModDPR() uses EAX and EFLAGS
format %{ "FMOD $dst,$src" %}
- ins_encode(Push_Reg_Mod_D(dst, src),
- emitModD(),
- Push_Result_Mod_D(src),
- Pop_Reg_F(dst));
+ ins_encode(Push_Reg_Mod_DPR(dst, src),
+ emitModDPR(),
+ Push_Result_Mod_DPR(src),
+ Pop_Reg_FPR(dst));
ins_pipe( pipe_slow );
%}
-instruct modX_reg(regX dst, regX src0, regX src1, eAXRegI rax, eFlagsReg cr) %{
+instruct modF_reg(regF dst, regF src0, regF src1, eAXRegI rax, eFlagsReg cr) %{
predicate(UseSSE>=1);
match(Set dst (ModF src0 src1));
effect(KILL rax, KILL cr);
@@ -11816,7 +11029,7 @@ instruct modX_reg(regX dst, regX src0, regX src1, eAXRegI rax, eFlagsReg cr) %{
"\tFSTP ST0\t # Restore FPU Stack"
%}
ins_cost(250);
- ins_encode( Push_ModX_encoding(src0, src1), emitModD(), Push_ResultX(dst,0x4), PopFPU);
+ ins_encode( Push_ModF_encoding(src0, src1), emitModDPR(), Push_ResultF(dst,0x4), PopFPU);
ins_pipe( pipe_slow );
%}
@@ -11824,26 +11037,26 @@ instruct modX_reg(regX dst, regX src0, regX src1, eAXRegI rax, eFlagsReg cr) %{
//----------Arithmetic Conversion Instructions---------------------------------
// The conversions operations are all Alpha sorted. Please keep it that way!
-instruct roundFloat_mem_reg(stackSlotF dst, regF src) %{
+instruct roundFloat_mem_reg(stackSlotF dst, regFPR src) %{
predicate(UseSSE==0);
match(Set dst (RoundFloat src));
ins_cost(125);
format %{ "FST_S $dst,$src\t# F-round" %}
- ins_encode( Pop_Mem_Reg_F(dst, src) );
+ ins_encode( Pop_Mem_Reg_FPR(dst, src) );
ins_pipe( fpu_mem_reg );
%}
-instruct roundDouble_mem_reg(stackSlotD dst, regD src) %{
+instruct roundDouble_mem_reg(stackSlotD dst, regDPR src) %{
predicate(UseSSE<=1);
match(Set dst (RoundDouble src));
ins_cost(125);
format %{ "FST_D $dst,$src\t# D-round" %}
- ins_encode( Pop_Mem_Reg_D(dst, src) );
+ ins_encode( Pop_Mem_Reg_DPR(dst, src) );
ins_pipe( fpu_mem_reg );
%}
// Force rounding to 24-bit precision and 6-bit exponent
-instruct convD2F_reg(stackSlotF dst, regD src) %{
+instruct convDPR2FPR_reg(stackSlotF dst, regDPR src) %{
predicate(UseSSE==0);
match(Set dst (ConvD2F src));
format %{ "FST_S $dst,$src\t# F-round" %}
@@ -11853,7 +11066,7 @@ instruct convD2F_reg(stackSlotF dst, regD src) %{
%}
// Force rounding to 24-bit precision and 6-bit exponent
-instruct convD2X_reg(regX dst, regD src, eFlagsReg cr) %{
+instruct convDPR2F_reg(regF dst, regDPR src, eFlagsReg cr) %{
predicate(UseSSE==1);
match(Set dst (ConvD2F src));
effect( KILL cr );
@@ -11861,29 +11074,40 @@ instruct convD2X_reg(regX dst, regD src, eFlagsReg cr) %{
"FST_S [ESP],$src\t# F-round\n\t"
"MOVSS $dst,[ESP]\n\t"
"ADD ESP,4" %}
- ins_encode( D2X_encoding(dst, src) );
+ ins_encode %{
+ __ subptr(rsp, 4);
+ if ($src$$reg != FPR1L_enc) {
+ __ fld_s($src$$reg-1);
+ __ fstp_s(Address(rsp, 0));
+ } else {
+ __ fst_s(Address(rsp, 0));
+ }
+ __ movflt($dst$$XMMRegister, Address(rsp, 0));
+ __ addptr(rsp, 4);
+ %}
ins_pipe( pipe_slow );
%}
// Force rounding double precision to single precision
-instruct convXD2X_reg(regX dst, regXD src) %{
+instruct convD2F_reg(regF dst, regD src) %{
predicate(UseSSE>=2);
match(Set dst (ConvD2F src));
format %{ "CVTSD2SS $dst,$src\t# F-round" %}
- opcode(0xF2, 0x0F, 0x5A);
- ins_encode( OpcP, OpcS, Opcode(tertiary), RegReg(dst, src));
+ ins_encode %{
+ __ cvtsd2ss ($dst$$XMMRegister, $src$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
-instruct convF2D_reg_reg(regD dst, regF src) %{
+instruct convFPR2DPR_reg_reg(regDPR dst, regFPR src) %{
predicate(UseSSE==0);
match(Set dst (ConvF2D src));
format %{ "FST_S $dst,$src\t# D-round" %}
- ins_encode( Pop_Reg_Reg_D(dst, src));
+ ins_encode( Pop_Reg_Reg_DPR(dst, src));
ins_pipe( fpu_reg_reg );
%}
-instruct convF2D_reg(stackSlotD dst, regF src) %{
+instruct convFPR2D_reg(stackSlotD dst, regFPR src) %{
predicate(UseSSE==1);
match(Set dst (ConvF2D src));
format %{ "FST_D $dst,$src\t# D-round" %}
@@ -11892,7 +11116,7 @@ instruct convF2D_reg(stackSlotD dst, regF src) %{
%}
%}
-instruct convX2D_reg(regD dst, regX src, eFlagsReg cr) %{
+instruct convF2DPR_reg(regDPR dst, regF src, eFlagsReg cr) %{
predicate(UseSSE==1);
match(Set dst (ConvF2D src));
effect( KILL cr );
@@ -11901,21 +11125,28 @@ instruct convX2D_reg(regD dst, regX src, eFlagsReg cr) %{
"FLD_S [ESP]\n\t"
"ADD ESP,4\n\t"
"FSTP $dst\t# D-round" %}
- ins_encode( X2D_encoding(dst, src), Pop_Reg_D(dst));
+ ins_encode %{
+ __ subptr(rsp, 4);
+ __ movflt(Address(rsp, 0), $src$$XMMRegister);
+ __ fld_s(Address(rsp, 0));
+ __ addptr(rsp, 4);
+ __ fstp_d($dst$$reg);
+ %}
ins_pipe( pipe_slow );
%}
-instruct convX2XD_reg(regXD dst, regX src) %{
+instruct convF2D_reg(regD dst, regF src) %{
predicate(UseSSE>=2);
match(Set dst (ConvF2D src));
format %{ "CVTSS2SD $dst,$src\t# D-round" %}
- opcode(0xF3, 0x0F, 0x5A);
- ins_encode( OpcP, OpcS, Opcode(tertiary), RegReg(dst, src));
+ ins_encode %{
+ __ cvtss2sd ($dst$$XMMRegister, $src$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
// Convert a double to an int. If the double is a NAN, stuff a zero in instead.
-instruct convD2I_reg_reg( eAXRegI dst, eDXRegI tmp, regD src, eFlagsReg cr ) %{
+instruct convDPR2I_reg_reg( eAXRegI dst, eDXRegI tmp, regDPR src, eFlagsReg cr ) %{
predicate(UseSSE<=1);
match(Set dst (ConvD2I src));
effect( KILL tmp, KILL cr );
@@ -11930,12 +11161,12 @@ instruct convD2I_reg_reg( eAXRegI dst, eDXRegI tmp, regD src, eFlagsReg cr ) %{
"FLD_D $src\n\t"
"CALL d2i_wrapper\n"
"fast:" %}
- ins_encode( Push_Reg_D(src), D2I_encoding(src) );
+ ins_encode( Push_Reg_DPR(src), DPR2I_encoding(src) );
ins_pipe( pipe_slow );
%}
// Convert a double to an int. If the double is a NAN, stuff a zero in instead.
-instruct convXD2I_reg_reg( eAXRegI dst, eDXRegI tmp, regXD src, eFlagsReg cr ) %{
+instruct convD2I_reg_reg( eAXRegI dst, eDXRegI tmp, regD src, eFlagsReg cr ) %{
predicate(UseSSE>=2);
match(Set dst (ConvD2I src));
effect( KILL tmp, KILL cr );
@@ -11948,12 +11179,22 @@ instruct convXD2I_reg_reg( eAXRegI dst, eDXRegI tmp, regXD src, eFlagsReg cr ) %
"ADD ESP, 8\n\t"
"CALL d2i_wrapper\n"
"fast:" %}
- opcode(0x1); // double-precision conversion
- ins_encode( Opcode(0xF2), Opcode(0x0F), Opcode(0x2C), FX2I_encoding(src,dst));
+ ins_encode %{
+ Label fast;
+ __ cvttsd2sil($dst$$Register, $src$$XMMRegister);
+ __ cmpl($dst$$Register, 0x80000000);
+ __ jccb(Assembler::notEqual, fast);
+ __ subptr(rsp, 8);
+ __ movdbl(Address(rsp, 0), $src$$XMMRegister);
+ __ fld_d(Address(rsp, 0));
+ __ addptr(rsp, 8);
+ __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::d2i_wrapper())));
+ __ bind(fast);
+ %}
ins_pipe( pipe_slow );
%}
-instruct convD2L_reg_reg( eADXRegL dst, regD src, eFlagsReg cr ) %{
+instruct convDPR2L_reg_reg( eADXRegL dst, regDPR src, eFlagsReg cr ) %{
predicate(UseSSE<=1);
match(Set dst (ConvD2L src));
effect( KILL cr );
@@ -11971,12 +11212,12 @@ instruct convD2L_reg_reg( eADXRegL dst, regD src, eFlagsReg cr ) %{
"FLD $src\n\t"
"CALL d2l_wrapper\n"
"fast:" %}
- ins_encode( Push_Reg_D(src), D2L_encoding(src) );
+ ins_encode( Push_Reg_DPR(src), DPR2L_encoding(src) );
ins_pipe( pipe_slow );
%}
// XMM lacks a float/double->long conversion, so use the old FPU stack.
-instruct convXD2L_reg_reg( eADXRegL dst, regXD src, eFlagsReg cr ) %{
+instruct convD2L_reg_reg( eADXRegL dst, regD src, eFlagsReg cr ) %{
predicate (UseSSE>=2);
match(Set dst (ConvD2L src));
effect( KILL cr );
@@ -11995,9 +11236,36 @@ instruct convXD2L_reg_reg( eADXRegL dst, regXD src, eFlagsReg cr ) %{
"SUB ESP,8\n\t"
"MOVSD [ESP],$src\n\t"
"FLD_D [ESP]\n\t"
+ "ADD ESP,8\n\t"
"CALL d2l_wrapper\n"
"fast:" %}
- ins_encode( XD2L_encoding(src) );
+ ins_encode %{
+ Label fast;
+ __ subptr(rsp, 8);
+ __ movdbl(Address(rsp, 0), $src$$XMMRegister);
+ __ fld_d(Address(rsp, 0));
+ __ fldcw(ExternalAddress(StubRoutines::addr_fpu_cntrl_wrd_trunc()));
+ __ fistp_d(Address(rsp, 0));
+ // Restore the rounding mode, mask the exception
+ if (Compile::current()->in_24_bit_fp_mode()) {
+ __ fldcw(ExternalAddress(StubRoutines::addr_fpu_cntrl_wrd_24()));
+ } else {
+ __ fldcw(ExternalAddress(StubRoutines::addr_fpu_cntrl_wrd_std()));
+ }
+ // Load the converted long, adjust CPU stack
+ __ pop(rax);
+ __ pop(rdx);
+ __ cmpl(rdx, 0x80000000);
+ __ jccb(Assembler::notEqual, fast);
+ __ testl(rax, rax);
+ __ jccb(Assembler::notEqual, fast);
+ __ subptr(rsp, 8);
+ __ movdbl(Address(rsp, 0), $src$$XMMRegister);
+ __ fld_d(Address(rsp, 0));
+ __ addptr(rsp, 8);
+ __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::d2l_wrapper())));
+ __ bind(fast);
+ %}
ins_pipe( pipe_slow );
%}
@@ -12007,7 +11275,7 @@ instruct convXD2L_reg_reg( eADXRegL dst, regXD src, eFlagsReg cr ) %{
// rounding mode to 'nearest'. The hardware stores a flag value down
// if we would overflow or converted a NAN; we check for this and
// and go the slow path if needed.
-instruct convF2I_reg_reg(eAXRegI dst, eDXRegI tmp, regF src, eFlagsReg cr ) %{
+instruct convFPR2I_reg_reg(eAXRegI dst, eDXRegI tmp, regFPR src, eFlagsReg cr ) %{
predicate(UseSSE==0);
match(Set dst (ConvF2I src));
effect( KILL tmp, KILL cr );
@@ -12022,13 +11290,13 @@ instruct convF2I_reg_reg(eAXRegI dst, eDXRegI tmp, regF src, eFlagsReg cr ) %{
"FLD $src\n\t"
"CALL d2i_wrapper\n"
"fast:" %}
- // D2I_encoding works for F2I
- ins_encode( Push_Reg_F(src), D2I_encoding(src) );
+ // DPR2I_encoding works for FPR2I
+ ins_encode( Push_Reg_FPR(src), DPR2I_encoding(src) );
ins_pipe( pipe_slow );
%}
// Convert a float in xmm to an int reg.
-instruct convX2I_reg(eAXRegI dst, eDXRegI tmp, regX src, eFlagsReg cr ) %{
+instruct convF2I_reg(eAXRegI dst, eDXRegI tmp, regF src, eFlagsReg cr ) %{
predicate(UseSSE>=1);
match(Set dst (ConvF2I src));
effect( KILL tmp, KILL cr );
@@ -12041,12 +11309,22 @@ instruct convX2I_reg(eAXRegI dst, eDXRegI tmp, regX src, eFlagsReg cr ) %{
"ADD ESP, 4\n\t"
"CALL d2i_wrapper\n"
"fast:" %}
- opcode(0x0); // single-precision conversion
- ins_encode( Opcode(0xF3), Opcode(0x0F), Opcode(0x2C), FX2I_encoding(src,dst));
+ ins_encode %{
+ Label fast;
+ __ cvttss2sil($dst$$Register, $src$$XMMRegister);
+ __ cmpl($dst$$Register, 0x80000000);
+ __ jccb(Assembler::notEqual, fast);
+ __ subptr(rsp, 4);
+ __ movflt(Address(rsp, 0), $src$$XMMRegister);
+ __ fld_s(Address(rsp, 0));
+ __ addptr(rsp, 4);
+ __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::d2i_wrapper())));
+ __ bind(fast);
+ %}
ins_pipe( pipe_slow );
%}
-instruct convF2L_reg_reg( eADXRegL dst, regF src, eFlagsReg cr ) %{
+instruct convFPR2L_reg_reg( eADXRegL dst, regFPR src, eFlagsReg cr ) %{
predicate(UseSSE==0);
match(Set dst (ConvF2L src));
effect( KILL cr );
@@ -12064,13 +11342,13 @@ instruct convF2L_reg_reg( eADXRegL dst, regF src, eFlagsReg cr ) %{
"FLD $src\n\t"
"CALL d2l_wrapper\n"
"fast:" %}
- // D2L_encoding works for F2L
- ins_encode( Push_Reg_F(src), D2L_encoding(src) );
+ // DPR2L_encoding works for FPR2L
+ ins_encode( Push_Reg_FPR(src), DPR2L_encoding(src) );
ins_pipe( pipe_slow );
%}
// XMM lacks a float/double->long conversion, so use the old FPU stack.
-instruct convX2L_reg_reg( eADXRegL dst, regX src, eFlagsReg cr ) %{
+instruct convF2L_reg_reg( eADXRegL dst, regF src, eFlagsReg cr ) %{
predicate (UseSSE>=1);
match(Set dst (ConvF2L src));
effect( KILL cr );
@@ -12092,39 +11370,67 @@ instruct convX2L_reg_reg( eADXRegL dst, regX src, eFlagsReg cr ) %{
"ADD ESP,4\n\t"
"CALL d2l_wrapper\n"
"fast:" %}
- ins_encode( X2L_encoding(src) );
+ ins_encode %{
+ Label fast;
+ __ subptr(rsp, 8);
+ __ movflt(Address(rsp, 0), $src$$XMMRegister);
+ __ fld_s(Address(rsp, 0));
+ __ fldcw(ExternalAddress(StubRoutines::addr_fpu_cntrl_wrd_trunc()));
+ __ fistp_d(Address(rsp, 0));
+ // Restore the rounding mode, mask the exception
+ if (Compile::current()->in_24_bit_fp_mode()) {
+ __ fldcw(ExternalAddress(StubRoutines::addr_fpu_cntrl_wrd_24()));
+ } else {
+ __ fldcw(ExternalAddress(StubRoutines::addr_fpu_cntrl_wrd_std()));
+ }
+ // Load the converted long, adjust CPU stack
+ __ pop(rax);
+ __ pop(rdx);
+ __ cmpl(rdx, 0x80000000);
+ __ jccb(Assembler::notEqual, fast);
+ __ testl(rax, rax);
+ __ jccb(Assembler::notEqual, fast);
+ __ subptr(rsp, 4);
+ __ movflt(Address(rsp, 0), $src$$XMMRegister);
+ __ fld_s(Address(rsp, 0));
+ __ addptr(rsp, 4);
+ __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::d2l_wrapper())));
+ __ bind(fast);
+ %}
ins_pipe( pipe_slow );
%}
-instruct convI2D_reg(regD dst, stackSlotI src) %{
+instruct convI2DPR_reg(regDPR dst, stackSlotI src) %{
predicate( UseSSE<=1 );
match(Set dst (ConvI2D src));
format %{ "FILD $src\n\t"
"FSTP $dst" %}
opcode(0xDB, 0x0); /* DB /0 */
- ins_encode(Push_Mem_I(src), Pop_Reg_D(dst));
+ ins_encode(Push_Mem_I(src), Pop_Reg_DPR(dst));
ins_pipe( fpu_reg_mem );
%}
-instruct convI2XD_reg(regXD dst, eRegI src) %{
+instruct convI2D_reg(regD dst, eRegI src) %{
predicate( UseSSE>=2 && !UseXmmI2D );
match(Set dst (ConvI2D src));
format %{ "CVTSI2SD $dst,$src" %}
- opcode(0xF2, 0x0F, 0x2A);
- ins_encode( OpcP, OpcS, Opcode(tertiary), RegReg(dst, src));
+ ins_encode %{
+ __ cvtsi2sdl ($dst$$XMMRegister, $src$$Register);
+ %}
ins_pipe( pipe_slow );
%}
-instruct convI2XD_mem(regXD dst, memory mem) %{
+instruct convI2D_mem(regD dst, memory mem) %{
predicate( UseSSE>=2 );
match(Set dst (ConvI2D (LoadI mem)));
format %{ "CVTSI2SD $dst,$mem" %}
- opcode(0xF2, 0x0F, 0x2A);
- ins_encode( OpcP, OpcS, Opcode(tertiary), RegMem(dst, mem));
+ ins_encode %{
+ __ cvtsi2sdl ($dst$$XMMRegister, $mem$$Address);
+ %}
ins_pipe( pipe_slow );
%}
-instruct convXI2XD_reg(regXD dst, eRegI src)
+instruct convXI2D_reg(regD dst, eRegI src)
%{
predicate( UseSSE>=2 && UseXmmI2D );
match(Set dst (ConvI2D src));
@@ -12138,31 +11444,31 @@ instruct convXI2XD_reg(regXD dst, eRegI src)
ins_pipe(pipe_slow); // XXX
%}
-instruct convI2D_mem(regD dst, memory mem) %{
+instruct convI2DPR_mem(regDPR dst, memory mem) %{
predicate( UseSSE<=1 && !Compile::current()->select_24_bit_instr());
match(Set dst (ConvI2D (LoadI mem)));
format %{ "FILD $mem\n\t"
"FSTP $dst" %}
opcode(0xDB); /* DB /0 */
ins_encode( OpcP, RMopc_Mem(0x00,mem),
- Pop_Reg_D(dst));
+ Pop_Reg_DPR(dst));
ins_pipe( fpu_reg_mem );
%}
// Convert a byte to a float; no rounding step needed.
-instruct conv24I2F_reg(regF dst, stackSlotI src) %{
+instruct conv24I2FPR_reg(regFPR dst, stackSlotI src) %{
predicate( UseSSE==0 && n->in(1)->Opcode() == Op_AndI && n->in(1)->in(2)->is_Con() && n->in(1)->in(2)->get_int() == 255 );
match(Set dst (ConvI2F src));
format %{ "FILD $src\n\t"
"FSTP $dst" %}
opcode(0xDB, 0x0); /* DB /0 */
- ins_encode(Push_Mem_I(src), Pop_Reg_F(dst));
+ ins_encode(Push_Mem_I(src), Pop_Reg_FPR(dst));
ins_pipe( fpu_reg_mem );
%}
// In 24-bit mode, force exponent rounding by storing back out
-instruct convI2F_SSF(stackSlotF dst, stackSlotI src) %{
+instruct convI2FPR_SSF(stackSlotF dst, stackSlotI src) %{
predicate( UseSSE==0 && Compile::current()->select_24_bit_instr());
match(Set dst (ConvI2F src));
ins_cost(200);
@@ -12170,12 +11476,12 @@ instruct convI2F_SSF(stackSlotF dst, stackSlotI src) %{
"FSTP_S $dst" %}
opcode(0xDB, 0x0); /* DB /0 */
ins_encode( Push_Mem_I(src),
- Pop_Mem_F(dst));
+ Pop_Mem_FPR(dst));
ins_pipe( fpu_mem_mem );
%}
// In 24-bit mode, force exponent rounding by storing back out
-instruct convI2F_SSF_mem(stackSlotF dst, memory mem) %{
+instruct convI2FPR_SSF_mem(stackSlotF dst, memory mem) %{
predicate( UseSSE==0 && Compile::current()->select_24_bit_instr());
match(Set dst (ConvI2F (LoadI mem)));
ins_cost(200);
@@ -12183,46 +11489,46 @@ instruct convI2F_SSF_mem(stackSlotF dst, memory mem) %{
"FSTP_S $dst" %}
opcode(0xDB); /* DB /0 */
ins_encode( OpcP, RMopc_Mem(0x00,mem),
- Pop_Mem_F(dst));
+ Pop_Mem_FPR(dst));
ins_pipe( fpu_mem_mem );
%}
// This instruction does not round to 24-bits
-instruct convI2F_reg(regF dst, stackSlotI src) %{
+instruct convI2FPR_reg(regFPR dst, stackSlotI src) %{
predicate( UseSSE==0 && !Compile::current()->select_24_bit_instr());
match(Set dst (ConvI2F src));
format %{ "FILD $src\n\t"
"FSTP $dst" %}
opcode(0xDB, 0x0); /* DB /0 */
ins_encode( Push_Mem_I(src),
- Pop_Reg_F(dst));
+ Pop_Reg_FPR(dst));
ins_pipe( fpu_reg_mem );
%}
// This instruction does not round to 24-bits
-instruct convI2F_mem(regF dst, memory mem) %{
+instruct convI2FPR_mem(regFPR dst, memory mem) %{
predicate( UseSSE==0 && !Compile::current()->select_24_bit_instr());
match(Set dst (ConvI2F (LoadI mem)));
format %{ "FILD $mem\n\t"
"FSTP $dst" %}
opcode(0xDB); /* DB /0 */
ins_encode( OpcP, RMopc_Mem(0x00,mem),
- Pop_Reg_F(dst));
+ Pop_Reg_FPR(dst));
ins_pipe( fpu_reg_mem );
%}
// Convert an int to a float in xmm; no rounding step needed.
-instruct convI2X_reg(regX dst, eRegI src) %{
+instruct convI2F_reg(regF dst, eRegI src) %{
predicate( UseSSE==1 || UseSSE>=2 && !UseXmmI2F );
match(Set dst (ConvI2F src));
format %{ "CVTSI2SS $dst, $src" %}
-
- opcode(0xF3, 0x0F, 0x2A); /* F3 0F 2A /r */
- ins_encode( OpcP, OpcS, Opcode(tertiary), RegReg(dst, src));
+ ins_encode %{
+ __ cvtsi2ssl ($dst$$XMMRegister, $src$$Register);
+ %}
ins_pipe( pipe_slow );
%}
- instruct convXI2X_reg(regX dst, eRegI src)
+ instruct convXI2F_reg(regF dst, eRegI src)
%{
predicate( UseSSE>=2 && UseXmmI2F );
match(Set dst (ConvI2F src));
@@ -12271,7 +11577,7 @@ instruct zerox_long(eRegL dst, eRegL src, immL_32bits mask, eFlagsReg flags ) %{
ins_pipe( ialu_reg_reg_long );
%}
-instruct convL2D_reg( stackSlotD dst, eRegL src, eFlagsReg cr) %{
+instruct convL2DPR_reg( stackSlotD dst, eRegL src, eFlagsReg cr) %{
predicate (UseSSE<=1);
match(Set dst (ConvL2D src));
effect( KILL cr );
@@ -12281,11 +11587,11 @@ instruct convL2D_reg( stackSlotD dst, eRegL src, eFlagsReg cr) %{
"ADD ESP,8\n\t"
"FSTP_D $dst\t# D-round" %}
opcode(0xDF, 0x5); /* DF /5 */
- ins_encode(convert_long_double(src), Pop_Mem_D(dst));
+ ins_encode(convert_long_double(src), Pop_Mem_DPR(dst));
ins_pipe( pipe_slow );
%}
-instruct convL2XD_reg( regXD dst, eRegL src, eFlagsReg cr) %{
+instruct convL2D_reg( regD dst, eRegL src, eFlagsReg cr) %{
predicate (UseSSE>=2);
match(Set dst (ConvL2D src));
effect( KILL cr );
@@ -12296,11 +11602,11 @@ instruct convL2XD_reg( regXD dst, eRegL src, eFlagsReg cr) %{
"MOVSD $dst,[ESP]\n\t"
"ADD ESP,8" %}
opcode(0xDF, 0x5); /* DF /5 */
- ins_encode(convert_long_double2(src), Push_ResultXD(dst));
+ ins_encode(convert_long_double2(src), Push_ResultD(dst));
ins_pipe( pipe_slow );
%}
-instruct convL2X_reg( regX dst, eRegL src, eFlagsReg cr) %{
+instruct convL2F_reg( regF dst, eRegL src, eFlagsReg cr) %{
predicate (UseSSE>=1);
match(Set dst (ConvL2F src));
effect( KILL cr );
@@ -12311,11 +11617,11 @@ instruct convL2X_reg( regX dst, eRegL src, eFlagsReg cr) %{
"MOVSS $dst,[ESP]\n\t"
"ADD ESP,8" %}
opcode(0xDF, 0x5); /* DF /5 */
- ins_encode(convert_long_double2(src), Push_ResultX(dst,0x8));
+ ins_encode(convert_long_double2(src), Push_ResultF(dst,0x8));
ins_pipe( pipe_slow );
%}
-instruct convL2F_reg( stackSlotF dst, eRegL src, eFlagsReg cr) %{
+instruct convL2FPR_reg( stackSlotF dst, eRegL src, eFlagsReg cr) %{
match(Set dst (ConvL2F src));
effect( KILL cr );
format %{ "PUSH $src.hi\t# Convert long to single float\n\t"
@@ -12324,7 +11630,7 @@ instruct convL2F_reg( stackSlotF dst, eRegL src, eFlagsReg cr) %{
"ADD ESP,8\n\t"
"FSTP_S $dst\t# F-round" %}
opcode(0xDF, 0x5); /* DF /5 */
- ins_encode(convert_long_double(src), Pop_Mem_F(dst));
+ ins_encode(convert_long_double(src), Pop_Mem_FPR(dst));
ins_pipe( pipe_slow );
%}
@@ -12342,40 +11648,45 @@ instruct MoveF2I_stack_reg(eRegI dst, stackSlotF src) %{
effect( DEF dst, USE src );
ins_cost(100);
format %{ "MOV $dst,$src\t# MoveF2I_stack_reg" %}
- opcode(0x8B);
- ins_encode( OpcP, RegMem(dst,src));
+ ins_encode %{
+ __ movl($dst$$Register, Address(rsp, $src$$disp));
+ %}
ins_pipe( ialu_reg_mem );
%}
-instruct MoveF2I_reg_stack(stackSlotI dst, regF src) %{
+instruct MoveFPR2I_reg_stack(stackSlotI dst, regFPR src) %{
predicate(UseSSE==0);
match(Set dst (MoveF2I src));
effect( DEF dst, USE src );
ins_cost(125);
format %{ "FST_S $dst,$src\t# MoveF2I_reg_stack" %}
- ins_encode( Pop_Mem_Reg_F(dst, src) );
+ ins_encode( Pop_Mem_Reg_FPR(dst, src) );
ins_pipe( fpu_mem_reg );
%}
-instruct MoveF2I_reg_stack_sse(stackSlotI dst, regX src) %{
+instruct MoveF2I_reg_stack_sse(stackSlotI dst, regF src) %{
predicate(UseSSE>=1);
match(Set dst (MoveF2I src));
effect( DEF dst, USE src );
ins_cost(95);
format %{ "MOVSS $dst,$src\t# MoveF2I_reg_stack_sse" %}
- ins_encode( Opcode(0xF3), Opcode(0x0F), Opcode(0x11), RegMem(src, dst));
+ ins_encode %{
+ __ movflt(Address(rsp, $dst$$disp), $src$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
-instruct MoveF2I_reg_reg_sse(eRegI dst, regX src) %{
+instruct MoveF2I_reg_reg_sse(eRegI dst, regF src) %{
predicate(UseSSE>=2);
match(Set dst (MoveF2I src));
effect( DEF dst, USE src );
ins_cost(85);
format %{ "MOVD $dst,$src\t# MoveF2I_reg_reg_sse" %}
- ins_encode( MovX2I_reg(dst, src));
+ ins_encode %{
+ __ movdl($dst$$Register, $src$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
@@ -12385,13 +11696,14 @@ instruct MoveI2F_reg_stack(stackSlotF dst, eRegI src) %{
ins_cost(100);
format %{ "MOV $dst,$src\t# MoveI2F_reg_stack" %}
- opcode(0x89);
- ins_encode( OpcPRegSS( dst, src ) );
+ ins_encode %{
+ __ movl(Address(rsp, $dst$$disp), $src$$Register);
+ %}
ins_pipe( ialu_mem_reg );
%}
-instruct MoveI2F_stack_reg(regF dst, stackSlotI src) %{
+instruct MoveI2FPR_stack_reg(regFPR dst, stackSlotI src) %{
predicate(UseSSE==0);
match(Set dst (MoveI2F src));
effect(DEF dst, USE src);
@@ -12401,29 +11713,33 @@ instruct MoveI2F_stack_reg(regF dst, stackSlotI src) %{
"FSTP $dst\t# MoveI2F_stack_reg" %}
opcode(0xD9); /* D9 /0, FLD m32real */
ins_encode( OpcP, RMopc_Mem_no_oop(0x00,src),
- Pop_Reg_F(dst) );
+ Pop_Reg_FPR(dst) );
ins_pipe( fpu_reg_mem );
%}
-instruct MoveI2F_stack_reg_sse(regX dst, stackSlotI src) %{
+instruct MoveI2F_stack_reg_sse(regF dst, stackSlotI src) %{
predicate(UseSSE>=1);
match(Set dst (MoveI2F src));
effect( DEF dst, USE src );
ins_cost(95);
format %{ "MOVSS $dst,$src\t# MoveI2F_stack_reg_sse" %}
- ins_encode( Opcode(0xF3), Opcode(0x0F), Opcode(0x10), RegMem(dst,src));
+ ins_encode %{
+ __ movflt($dst$$XMMRegister, Address(rsp, $src$$disp));
+ %}
ins_pipe( pipe_slow );
%}
-instruct MoveI2F_reg_reg_sse(regX dst, eRegI src) %{
+instruct MoveI2F_reg_reg_sse(regF dst, eRegI src) %{
predicate(UseSSE>=2);
match(Set dst (MoveI2F src));
effect( DEF dst, USE src );
ins_cost(85);
format %{ "MOVD $dst,$src\t# MoveI2F_reg_reg_sse" %}
- ins_encode( MovI2X_reg(dst, src) );
+ ins_encode %{
+ __ movdl($dst$$XMMRegister, $src$$Register);
+ %}
ins_pipe( pipe_slow );
%}
@@ -12439,29 +11755,30 @@ instruct MoveD2L_stack_reg(eRegL dst, stackSlotD src) %{
ins_pipe( ialu_mem_long_reg );
%}
-instruct MoveD2L_reg_stack(stackSlotL dst, regD src) %{
+instruct MoveDPR2L_reg_stack(stackSlotL dst, regDPR src) %{
predicate(UseSSE<=1);
match(Set dst (MoveD2L src));
effect(DEF dst, USE src);
ins_cost(125);
format %{ "FST_D $dst,$src\t# MoveD2L_reg_stack" %}
- ins_encode( Pop_Mem_Reg_D(dst, src) );
+ ins_encode( Pop_Mem_Reg_DPR(dst, src) );
ins_pipe( fpu_mem_reg );
%}
-instruct MoveD2L_reg_stack_sse(stackSlotL dst, regXD src) %{
+instruct MoveD2L_reg_stack_sse(stackSlotL dst, regD src) %{
predicate(UseSSE>=2);
match(Set dst (MoveD2L src));
effect(DEF dst, USE src);
ins_cost(95);
-
format %{ "MOVSD $dst,$src\t# MoveD2L_reg_stack_sse" %}
- ins_encode( Opcode(0xF2), Opcode(0x0F), Opcode(0x11), RegMem(src,dst));
+ ins_encode %{
+ __ movdbl(Address(rsp, $dst$$disp), $src$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
-instruct MoveD2L_reg_reg_sse(eRegL dst, regXD src, regXD tmp) %{
+instruct MoveD2L_reg_reg_sse(eRegL dst, regD src, regD tmp) %{
predicate(UseSSE>=2);
match(Set dst (MoveD2L src));
effect(DEF dst, USE src, TEMP tmp);
@@ -12469,7 +11786,11 @@ instruct MoveD2L_reg_reg_sse(eRegL dst, regXD src, regXD tmp) %{
format %{ "MOVD $dst.lo,$src\n\t"
"PSHUFLW $tmp,$src,0x4E\n\t"
"MOVD $dst.hi,$tmp\t# MoveD2L_reg_reg_sse" %}
- ins_encode( MovXD2L_reg(dst, src, tmp) );
+ ins_encode %{
+ __ movdl($dst$$Register, $src$$XMMRegister);
+ __ pshuflw($tmp$$XMMRegister, $src$$XMMRegister, 0x4e);
+ __ movdl(HIGH_FROM_LOW($dst$$Register), $tmp$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
@@ -12486,7 +11807,7 @@ instruct MoveL2D_reg_stack(stackSlotD dst, eRegL src) %{
%}
-instruct MoveL2D_stack_reg(regD dst, stackSlotL src) %{
+instruct MoveL2DPR_stack_reg(regDPR dst, stackSlotL src) %{
predicate(UseSSE<=1);
match(Set dst (MoveL2D src));
effect(DEF dst, USE src);
@@ -12496,34 +11817,38 @@ instruct MoveL2D_stack_reg(regD dst, stackSlotL src) %{
"FSTP $dst\t# MoveL2D_stack_reg" %}
opcode(0xDD); /* DD /0, FLD m64real */
ins_encode( OpcP, RMopc_Mem_no_oop(0x00,src),
- Pop_Reg_D(dst) );
+ Pop_Reg_DPR(dst) );
ins_pipe( fpu_reg_mem );
%}
-instruct MoveL2D_stack_reg_sse(regXD dst, stackSlotL src) %{
+instruct MoveL2D_stack_reg_sse(regD dst, stackSlotL src) %{
predicate(UseSSE>=2 && UseXmmLoadAndClearUpper);
match(Set dst (MoveL2D src));
effect(DEF dst, USE src);
ins_cost(95);
format %{ "MOVSD $dst,$src\t# MoveL2D_stack_reg_sse" %}
- ins_encode( Opcode(0xF2), Opcode(0x0F), Opcode(0x10), RegMem(dst,src));
+ ins_encode %{
+ __ movdbl($dst$$XMMRegister, Address(rsp, $src$$disp));
+ %}
ins_pipe( pipe_slow );
%}
-instruct MoveL2D_stack_reg_sse_partial(regXD dst, stackSlotL src) %{
+instruct MoveL2D_stack_reg_sse_partial(regD dst, stackSlotL src) %{
predicate(UseSSE>=2 && !UseXmmLoadAndClearUpper);
match(Set dst (MoveL2D src));
effect(DEF dst, USE src);
ins_cost(95);
format %{ "MOVLPD $dst,$src\t# MoveL2D_stack_reg_sse" %}
- ins_encode( Opcode(0x66), Opcode(0x0F), Opcode(0x12), RegMem(dst,src));
+ ins_encode %{
+ __ movdbl($dst$$XMMRegister, Address(rsp, $src$$disp));
+ %}
ins_pipe( pipe_slow );
%}
-instruct MoveL2D_reg_reg_sse(regXD dst, eRegL src, regXD tmp) %{
+instruct MoveL2D_reg_reg_sse(regD dst, eRegL src, regD tmp) %{
predicate(UseSSE>=2);
match(Set dst (MoveL2D src));
effect(TEMP dst, USE src, TEMP tmp);
@@ -12531,149 +11856,192 @@ instruct MoveL2D_reg_reg_sse(regXD dst, eRegL src, regXD tmp) %{
format %{ "MOVD $dst,$src.lo\n\t"
"MOVD $tmp,$src.hi\n\t"
"PUNPCKLDQ $dst,$tmp\t# MoveL2D_reg_reg_sse" %}
- ins_encode( MovL2XD_reg(dst, src, tmp) );
+ ins_encode %{
+ __ movdl($dst$$XMMRegister, $src$$Register);
+ __ movdl($tmp$$XMMRegister, HIGH_FROM_LOW($src$$Register));
+ __ punpckldq($dst$$XMMRegister, $tmp$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
// Replicate scalar to packed byte (1 byte) values in xmm
-instruct Repl8B_reg(regXD dst, regXD src) %{
+instruct Repl8B_reg(regD dst, regD src) %{
predicate(UseSSE>=2);
match(Set dst (Replicate8B src));
format %{ "MOVDQA $dst,$src\n\t"
"PUNPCKLBW $dst,$dst\n\t"
"PSHUFLW $dst,$dst,0x00\t! replicate8B" %}
- ins_encode( pshufd_8x8(dst, src));
+ ins_encode %{
+ if ($dst$$reg != $src$$reg) {
+ __ movdqa($dst$$XMMRegister, $src$$XMMRegister);
+ }
+ __ punpcklbw($dst$$XMMRegister, $dst$$XMMRegister);
+ __ pshuflw($dst$$XMMRegister, $dst$$XMMRegister, 0x00);
+ %}
ins_pipe( pipe_slow );
%}
// Replicate scalar to packed byte (1 byte) values in xmm
-instruct Repl8B_eRegI(regXD dst, eRegI src) %{
+instruct Repl8B_eRegI(regD dst, eRegI src) %{
predicate(UseSSE>=2);
match(Set dst (Replicate8B src));
format %{ "MOVD $dst,$src\n\t"
"PUNPCKLBW $dst,$dst\n\t"
"PSHUFLW $dst,$dst,0x00\t! replicate8B" %}
- ins_encode( mov_i2x(dst, src), pshufd_8x8(dst, dst));
+ ins_encode %{
+ __ movdl($dst$$XMMRegister, $src$$Register);
+ __ punpcklbw($dst$$XMMRegister, $dst$$XMMRegister);
+ __ pshuflw($dst$$XMMRegister, $dst$$XMMRegister, 0x00);
+ %}
ins_pipe( pipe_slow );
%}
// Replicate scalar zero to packed byte (1 byte) values in xmm
-instruct Repl8B_immI0(regXD dst, immI0 zero) %{
+instruct Repl8B_immI0(regD dst, immI0 zero) %{
predicate(UseSSE>=2);
match(Set dst (Replicate8B zero));
format %{ "PXOR $dst,$dst\t! replicate8B" %}
- ins_encode( pxor(dst, dst));
+ ins_encode %{
+ __ pxor($dst$$XMMRegister, $dst$$XMMRegister);
+ %}
ins_pipe( fpu_reg_reg );
%}
// Replicate scalar to packed shore (2 byte) values in xmm
-instruct Repl4S_reg(regXD dst, regXD src) %{
+instruct Repl4S_reg(regD dst, regD src) %{
predicate(UseSSE>=2);
match(Set dst (Replicate4S src));
format %{ "PSHUFLW $dst,$src,0x00\t! replicate4S" %}
- ins_encode( pshufd_4x16(dst, src));
+ ins_encode %{
+ __ pshuflw($dst$$XMMRegister, $src$$XMMRegister, 0x00);
+ %}
ins_pipe( fpu_reg_reg );
%}
// Replicate scalar to packed shore (2 byte) values in xmm
-instruct Repl4S_eRegI(regXD dst, eRegI src) %{
+instruct Repl4S_eRegI(regD dst, eRegI src) %{
predicate(UseSSE>=2);
match(Set dst (Replicate4S src));
format %{ "MOVD $dst,$src\n\t"
"PSHUFLW $dst,$dst,0x00\t! replicate4S" %}
- ins_encode( mov_i2x(dst, src), pshufd_4x16(dst, dst));
+ ins_encode %{
+ __ movdl($dst$$XMMRegister, $src$$Register);
+ __ pshuflw($dst$$XMMRegister, $dst$$XMMRegister, 0x00);
+ %}
ins_pipe( fpu_reg_reg );
%}
// Replicate scalar zero to packed short (2 byte) values in xmm
-instruct Repl4S_immI0(regXD dst, immI0 zero) %{
+instruct Repl4S_immI0(regD dst, immI0 zero) %{
predicate(UseSSE>=2);
match(Set dst (Replicate4S zero));
format %{ "PXOR $dst,$dst\t! replicate4S" %}
- ins_encode( pxor(dst, dst));
+ ins_encode %{
+ __ pxor($dst$$XMMRegister, $dst$$XMMRegister);
+ %}
ins_pipe( fpu_reg_reg );
%}
// Replicate scalar to packed char (2 byte) values in xmm
-instruct Repl4C_reg(regXD dst, regXD src) %{
+instruct Repl4C_reg(regD dst, regD src) %{
predicate(UseSSE>=2);
match(Set dst (Replicate4C src));
format %{ "PSHUFLW $dst,$src,0x00\t! replicate4C" %}
- ins_encode( pshufd_4x16(dst, src));
+ ins_encode %{
+ __ pshuflw($dst$$XMMRegister, $src$$XMMRegister, 0x00);
+ %}
ins_pipe( fpu_reg_reg );
%}
// Replicate scalar to packed char (2 byte) values in xmm
-instruct Repl4C_eRegI(regXD dst, eRegI src) %{
+instruct Repl4C_eRegI(regD dst, eRegI src) %{
predicate(UseSSE>=2);
match(Set dst (Replicate4C src));
format %{ "MOVD $dst,$src\n\t"
"PSHUFLW $dst,$dst,0x00\t! replicate4C" %}
- ins_encode( mov_i2x(dst, src), pshufd_4x16(dst, dst));
+ ins_encode %{
+ __ movdl($dst$$XMMRegister, $src$$Register);
+ __ pshuflw($dst$$XMMRegister, $dst$$XMMRegister, 0x00);
+ %}
ins_pipe( fpu_reg_reg );
%}
// Replicate scalar zero to packed char (2 byte) values in xmm
-instruct Repl4C_immI0(regXD dst, immI0 zero) %{
+instruct Repl4C_immI0(regD dst, immI0 zero) %{
predicate(UseSSE>=2);
match(Set dst (Replicate4C zero));
format %{ "PXOR $dst,$dst\t! replicate4C" %}
- ins_encode( pxor(dst, dst));
+ ins_encode %{
+ __ pxor($dst$$XMMRegister, $dst$$XMMRegister);
+ %}
ins_pipe( fpu_reg_reg );
%}
// Replicate scalar to packed integer (4 byte) values in xmm
-instruct Repl2I_reg(regXD dst, regXD src) %{
+instruct Repl2I_reg(regD dst, regD src) %{
predicate(UseSSE>=2);
match(Set dst (Replicate2I src));
format %{ "PSHUFD $dst,$src,0x00\t! replicate2I" %}
- ins_encode( pshufd(dst, src, 0x00));
+ ins_encode %{
+ __ pshufd($dst$$XMMRegister, $src$$XMMRegister, 0x00);
+ %}
ins_pipe( fpu_reg_reg );
%}
// Replicate scalar to packed integer (4 byte) values in xmm
-instruct Repl2I_eRegI(regXD dst, eRegI src) %{
+instruct Repl2I_eRegI(regD dst, eRegI src) %{
predicate(UseSSE>=2);
match(Set dst (Replicate2I src));
format %{ "MOVD $dst,$src\n\t"
"PSHUFD $dst,$dst,0x00\t! replicate2I" %}
- ins_encode( mov_i2x(dst, src), pshufd(dst, dst, 0x00));
+ ins_encode %{
+ __ movdl($dst$$XMMRegister, $src$$Register);
+ __ pshufd($dst$$XMMRegister, $dst$$XMMRegister, 0x00);
+ %}
ins_pipe( fpu_reg_reg );
%}
// Replicate scalar zero to packed integer (2 byte) values in xmm
-instruct Repl2I_immI0(regXD dst, immI0 zero) %{
+instruct Repl2I_immI0(regD dst, immI0 zero) %{
predicate(UseSSE>=2);
match(Set dst (Replicate2I zero));
format %{ "PXOR $dst,$dst\t! replicate2I" %}
- ins_encode( pxor(dst, dst));
+ ins_encode %{
+ __ pxor($dst$$XMMRegister, $dst$$XMMRegister);
+ %}
ins_pipe( fpu_reg_reg );
%}
// Replicate scalar to packed single precision floating point values in xmm
-instruct Repl2F_reg(regXD dst, regXD src) %{
+instruct Repl2F_reg(regD dst, regD src) %{
predicate(UseSSE>=2);
match(Set dst (Replicate2F src));
format %{ "PSHUFD $dst,$src,0xe0\t! replicate2F" %}
- ins_encode( pshufd(dst, src, 0xe0));
+ ins_encode %{
+ __ pshufd($dst$$XMMRegister, $src$$XMMRegister, 0xe0);
+ %}
ins_pipe( fpu_reg_reg );
%}
// Replicate scalar to packed single precision floating point values in xmm
-instruct Repl2F_regX(regXD dst, regX src) %{
+instruct Repl2F_regF(regD dst, regF src) %{
predicate(UseSSE>=2);
match(Set dst (Replicate2F src));
format %{ "PSHUFD $dst,$src,0xe0\t! replicate2F" %}
- ins_encode( pshufd(dst, src, 0xe0));
+ ins_encode %{
+ __ pshufd($dst$$XMMRegister, $src$$XMMRegister, 0xe0);
+ %}
ins_pipe( fpu_reg_reg );
%}
// Replicate scalar to packed single precision floating point values in xmm
-instruct Repl2F_immXF0(regXD dst, immXF0 zero) %{
+instruct Repl2F_immF0(regD dst, immF0 zero) %{
predicate(UseSSE>=2);
match(Set dst (Replicate2F zero));
format %{ "PXOR $dst,$dst\t! replicate2F" %}
- ins_encode( pxor(dst, dst));
+ ins_encode %{
+ __ pxor($dst$$XMMRegister, $dst$$XMMRegister);
+ %}
ins_pipe( fpu_reg_reg );
%}
@@ -12693,7 +12061,7 @@ instruct rep_stos(eCXRegI cnt, eDIRegP base, eAXRegI zero, Universe dummy, eFlag
%}
instruct string_compare(eDIRegP str1, eCXRegI cnt1, eSIRegP str2, eDXRegI cnt2,
- eAXRegI result, regXD tmp1, eFlagsReg cr) %{
+ eAXRegI result, regD tmp1, eFlagsReg cr) %{
match(Set result (StrComp (Binary str1 cnt1) (Binary str2 cnt2)));
effect(TEMP tmp1, USE_KILL str1, USE_KILL str2, USE_KILL cnt1, USE_KILL cnt2, KILL cr);
@@ -12708,7 +12076,7 @@ instruct string_compare(eDIRegP str1, eCXRegI cnt1, eSIRegP str2, eDXRegI cnt2,
// fast string equals
instruct string_equals(eDIRegP str1, eSIRegP str2, eCXRegI cnt, eAXRegI result,
- regXD tmp1, regXD tmp2, eBXRegI tmp3, eFlagsReg cr) %{
+ regD tmp1, regD tmp2, eBXRegI tmp3, eFlagsReg cr) %{
match(Set result (StrEquals (Binary str1 str2) cnt));
effect(TEMP tmp1, TEMP tmp2, USE_KILL str1, USE_KILL str2, USE_KILL cnt, KILL tmp3, KILL cr);
@@ -12723,7 +12091,7 @@ instruct string_equals(eDIRegP str1, eSIRegP str2, eCXRegI cnt, eAXRegI result,
// fast search of substring with known size.
instruct string_indexof_con(eDIRegP str1, eDXRegI cnt1, eSIRegP str2, immI int_cnt2,
- eBXRegI result, regXD vec, eAXRegI cnt2, eCXRegI tmp, eFlagsReg cr) %{
+ eBXRegI result, regD vec, eAXRegI cnt2, eCXRegI tmp, eFlagsReg cr) %{
predicate(UseSSE42Intrinsics);
match(Set result (StrIndexOf (Binary str1 cnt1) (Binary str2 int_cnt2)));
effect(TEMP vec, USE_KILL str1, USE_KILL str2, USE_KILL cnt1, KILL cnt2, KILL tmp, KILL cr);
@@ -12750,7 +12118,7 @@ instruct string_indexof_con(eDIRegP str1, eDXRegI cnt1, eSIRegP str2, immI int_c
%}
instruct string_indexof(eDIRegP str1, eDXRegI cnt1, eSIRegP str2, eAXRegI cnt2,
- eBXRegI result, regXD vec, eCXRegI tmp, eFlagsReg cr) %{
+ eBXRegI result, regD vec, eCXRegI tmp, eFlagsReg cr) %{
predicate(UseSSE42Intrinsics);
match(Set result (StrIndexOf (Binary str1 cnt1) (Binary str2 cnt2)));
effect(TEMP vec, USE_KILL str1, USE_KILL str2, USE_KILL cnt1, USE_KILL cnt2, KILL tmp, KILL cr);
@@ -12767,7 +12135,7 @@ instruct string_indexof(eDIRegP str1, eDXRegI cnt1, eSIRegP str2, eAXRegI cnt2,
// fast array equals
instruct array_equals(eDIRegP ary1, eSIRegP ary2, eAXRegI result,
- regXD tmp1, regXD tmp2, eCXRegI tmp3, eBXRegI tmp4, eFlagsReg cr)
+ regD tmp1, regD tmp2, eCXRegI tmp3, eBXRegI tmp4, eFlagsReg cr)
%{
match(Set result (AryEq ary1 ary2));
effect(TEMP tmp1, TEMP tmp2, USE_KILL ary1, USE_KILL ary2, KILL tmp3, KILL tmp4, KILL cr);
@@ -13593,40 +12961,40 @@ instruct cmovPP_reg_LTGE(cmpOp cmp, flagsReg_long_LTGE flags, eRegP dst, eRegP s
%}
// Compare 2 longs and CMOVE doubles
-instruct cmovDD_reg_LTGE(cmpOp cmp, flagsReg_long_LTGE flags, regD dst, regD src) %{
+instruct cmovDDPR_reg_LTGE(cmpOp cmp, flagsReg_long_LTGE flags, regDPR dst, regDPR src) %{
predicate( UseSSE<=1 && _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::lt || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ge );
match(Set dst (CMoveD (Binary cmp flags) (Binary dst src)));
ins_cost(200);
expand %{
- fcmovD_regS(cmp,flags,dst,src);
+ fcmovDPR_regS(cmp,flags,dst,src);
%}
%}
// Compare 2 longs and CMOVE doubles
-instruct cmovXDD_reg_LTGE(cmpOp cmp, flagsReg_long_LTGE flags, regXD dst, regXD src) %{
+instruct cmovDD_reg_LTGE(cmpOp cmp, flagsReg_long_LTGE flags, regD dst, regD src) %{
predicate( UseSSE>=2 && _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::lt || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ge );
match(Set dst (CMoveD (Binary cmp flags) (Binary dst src)));
ins_cost(200);
expand %{
- fcmovXD_regS(cmp,flags,dst,src);
+ fcmovD_regS(cmp,flags,dst,src);
%}
%}
-instruct cmovFF_reg_LTGE(cmpOp cmp, flagsReg_long_LTGE flags, regF dst, regF src) %{
+instruct cmovFFPR_reg_LTGE(cmpOp cmp, flagsReg_long_LTGE flags, regFPR dst, regFPR src) %{
predicate( UseSSE==0 && _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::lt || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ge );
match(Set dst (CMoveF (Binary cmp flags) (Binary dst src)));
ins_cost(200);
expand %{
- fcmovF_regS(cmp,flags,dst,src);
+ fcmovFPR_regS(cmp,flags,dst,src);
%}
%}
-instruct cmovXX_reg_LTGE(cmpOp cmp, flagsReg_long_LTGE flags, regX dst, regX src) %{
+instruct cmovFF_reg_LTGE(cmpOp cmp, flagsReg_long_LTGE flags, regF dst, regF src) %{
predicate( UseSSE>=1 && _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::lt || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ge );
match(Set dst (CMoveF (Binary cmp flags) (Binary dst src)));
ins_cost(200);
expand %{
- fcmovX_regS(cmp,flags,dst,src);
+ fcmovF_regS(cmp,flags,dst,src);
%}
%}
@@ -13721,40 +13089,40 @@ instruct cmovPP_reg_EQNE(cmpOp cmp, flagsReg_long_EQNE flags, eRegP dst, eRegP s
%}
// Compare 2 longs and CMOVE doubles
-instruct cmovDD_reg_EQNE(cmpOp cmp, flagsReg_long_EQNE flags, regD dst, regD src) %{
+instruct cmovDDPR_reg_EQNE(cmpOp cmp, flagsReg_long_EQNE flags, regDPR dst, regDPR src) %{
predicate( UseSSE<=1 && _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::eq || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ne );
match(Set dst (CMoveD (Binary cmp flags) (Binary dst src)));
ins_cost(200);
expand %{
- fcmovD_regS(cmp,flags,dst,src);
+ fcmovDPR_regS(cmp,flags,dst,src);
%}
%}
// Compare 2 longs and CMOVE doubles
-instruct cmovXDD_reg_EQNE(cmpOp cmp, flagsReg_long_EQNE flags, regXD dst, regXD src) %{
+instruct cmovDD_reg_EQNE(cmpOp cmp, flagsReg_long_EQNE flags, regD dst, regD src) %{
predicate( UseSSE>=2 && _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::eq || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ne );
match(Set dst (CMoveD (Binary cmp flags) (Binary dst src)));
ins_cost(200);
expand %{
- fcmovXD_regS(cmp,flags,dst,src);
+ fcmovD_regS(cmp,flags,dst,src);
%}
%}
-instruct cmovFF_reg_EQNE(cmpOp cmp, flagsReg_long_EQNE flags, regF dst, regF src) %{
+instruct cmovFFPR_reg_EQNE(cmpOp cmp, flagsReg_long_EQNE flags, regFPR dst, regFPR src) %{
predicate( UseSSE==0 && _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::eq || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ne );
match(Set dst (CMoveF (Binary cmp flags) (Binary dst src)));
ins_cost(200);
expand %{
- fcmovF_regS(cmp,flags,dst,src);
+ fcmovFPR_regS(cmp,flags,dst,src);
%}
%}
-instruct cmovXX_reg_EQNE(cmpOp cmp, flagsReg_long_EQNE flags, regX dst, regX src) %{
+instruct cmovFF_reg_EQNE(cmpOp cmp, flagsReg_long_EQNE flags, regF dst, regF src) %{
predicate( UseSSE>=1 && _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::eq || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ne );
match(Set dst (CMoveF (Binary cmp flags) (Binary dst src)));
ins_cost(200);
expand %{
- fcmovX_regS(cmp,flags,dst,src);
+ fcmovF_regS(cmp,flags,dst,src);
%}
%}
@@ -13854,41 +13222,41 @@ instruct cmovPP_reg_LEGT(cmpOp_commute cmp, flagsReg_long_LEGT flags, eRegP dst,
%}
// Compare 2 longs and CMOVE doubles
-instruct cmovDD_reg_LEGT(cmpOp_commute cmp, flagsReg_long_LEGT flags, regD dst, regD src) %{
+instruct cmovDDPR_reg_LEGT(cmpOp_commute cmp, flagsReg_long_LEGT flags, regDPR dst, regDPR src) %{
predicate( UseSSE<=1 && _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::le || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::gt );
match(Set dst (CMoveD (Binary cmp flags) (Binary dst src)));
ins_cost(200);
expand %{
- fcmovD_regS(cmp,flags,dst,src);
+ fcmovDPR_regS(cmp,flags,dst,src);
%}
%}
// Compare 2 longs and CMOVE doubles
-instruct cmovXDD_reg_LEGT(cmpOp_commute cmp, flagsReg_long_LEGT flags, regXD dst, regXD src) %{
+instruct cmovDD_reg_LEGT(cmpOp_commute cmp, flagsReg_long_LEGT flags, regD dst, regD src) %{
predicate( UseSSE>=2 && _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::le || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::gt );
match(Set dst (CMoveD (Binary cmp flags) (Binary dst src)));
ins_cost(200);
expand %{
- fcmovXD_regS(cmp,flags,dst,src);
+ fcmovD_regS(cmp,flags,dst,src);
%}
%}
-instruct cmovFF_reg_LEGT(cmpOp_commute cmp, flagsReg_long_LEGT flags, regF dst, regF src) %{
+instruct cmovFFPR_reg_LEGT(cmpOp_commute cmp, flagsReg_long_LEGT flags, regFPR dst, regFPR src) %{
predicate( UseSSE==0 && _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::le || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::gt );
match(Set dst (CMoveF (Binary cmp flags) (Binary dst src)));
ins_cost(200);
expand %{
- fcmovF_regS(cmp,flags,dst,src);
+ fcmovFPR_regS(cmp,flags,dst,src);
%}
%}
-instruct cmovXX_reg_LEGT(cmpOp_commute cmp, flagsReg_long_LEGT flags, regX dst, regX src) %{
+instruct cmovFF_reg_LEGT(cmpOp_commute cmp, flagsReg_long_LEGT flags, regF dst, regF src) %{
predicate( UseSSE>=1 && _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::le || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::gt );
match(Set dst (CMoveF (Binary cmp flags) (Binary dst src)));
ins_cost(200);
expand %{
- fcmovX_regS(cmp,flags,dst,src);
+ fcmovF_regS(cmp,flags,dst,src);
%}
%}
@@ -14067,20 +13435,20 @@ instruct RethrowException()
// inlined locking and unlocking
-instruct cmpFastLock( eFlagsReg cr, eRegP object, eRegP box, eAXRegI tmp, eRegP scr) %{
+instruct cmpFastLock( eFlagsReg cr, eRegP object, eBXRegP box, eAXRegI tmp, eRegP scr) %{
match( Set cr (FastLock object box) );
- effect( TEMP tmp, TEMP scr );
+ effect( TEMP tmp, TEMP scr, USE_KILL box );
ins_cost(300);
- format %{ "FASTLOCK $object, $box KILLS $tmp,$scr" %}
+ format %{ "FASTLOCK $object,$box\t! kills $box,$tmp,$scr" %}
ins_encode( Fast_Lock(object,box,tmp,scr) );
ins_pipe( pipe_slow );
%}
instruct cmpFastUnlock( eFlagsReg cr, eRegP object, eAXRegP box, eRegP tmp ) %{
match( Set cr (FastUnlock object box) );
- effect( TEMP tmp );
+ effect( TEMP tmp, USE_KILL box );
ins_cost(300);
- format %{ "FASTUNLOCK $object, $box, $tmp" %}
+ format %{ "FASTUNLOCK $object,$box\t! kills $box,$tmp" %}
ins_encode( Fast_Unlock(object,box,tmp) );
ins_pipe( pipe_slow );
%}
diff --git a/hotspot/src/cpu/x86/vm/x86_64.ad b/hotspot/src/cpu/x86/vm/x86_64.ad
index 3e76c40..338db98 100644
--- a/hotspot/src/cpu/x86/vm/x86_64.ad
+++ b/hotspot/src/cpu/x86/vm/x86_64.ad
@@ -552,7 +552,7 @@ source %{
#define __ _masm.
static int preserve_SP_size() {
- return LP64_ONLY(1 +) 2; // [rex,] op, rm(reg/reg)
+ return 3; // rex.w, op, rm(reg/reg)
}
// !!!!! Special hack to get all types of calls to specify the byte offset
@@ -797,55 +797,45 @@ void encode_RegMem(CodeBuffer &cbuf,
}
}
-void encode_copy(CodeBuffer &cbuf, int dstenc, int srcenc)
-{
- if (dstenc != srcenc) {
- if (dstenc < 8) {
- if (srcenc >= 8) {
- emit_opcode(cbuf, Assembler::REX_B);
- srcenc -= 8;
- }
- } else {
- if (srcenc < 8) {
- emit_opcode(cbuf, Assembler::REX_R);
- } else {
- emit_opcode(cbuf, Assembler::REX_RB);
- srcenc -= 8;
- }
- dstenc -= 8;
- }
-
- emit_opcode(cbuf, 0x8B);
- emit_rm(cbuf, 0x3, dstenc, srcenc);
- }
-}
-
-void encode_CopyXD( CodeBuffer &cbuf, int dst_encoding, int src_encoding ) {
- if( dst_encoding == src_encoding ) {
- // reg-reg copy, use an empty encoding
- } else {
- MacroAssembler _masm(&cbuf);
-
- __ movdqa(as_XMMRegister(dst_encoding), as_XMMRegister(src_encoding));
- }
-}
-
// This could be in MacroAssembler but it's fairly C2 specific
void emit_cmpfp_fixup(MacroAssembler& _masm) {
Label exit;
__ jccb(Assembler::noParity, exit);
__ pushf();
+ //
+ // comiss/ucomiss instructions set ZF,PF,CF flags and
+ // zero OF,AF,SF for NaN values.
+ // Fixup flags by zeroing ZF,PF so that compare of NaN
+ // values returns 'less than' result (CF is set).
+ // Leave the rest of flags unchanged.
+ //
+ // 7 6 5 4 3 2 1 0
+ // |S|Z|r|A|r|P|r|C| (r - reserved bit)
+ // 0 0 1 0 1 0 1 1 (0x2B)
+ //
__ andq(Address(rsp, 0), 0xffffff2b);
__ popf();
__ bind(exit);
- __ nop(); // (target for branch to avoid branch to branch)
+}
+
+void emit_cmpfp3(MacroAssembler& _masm, Register dst) {
+ Label done;
+ __ movl(dst, -1);
+ __ jcc(Assembler::parity, done);
+ __ jcc(Assembler::below, done);
+ __ setb(Assembler::notEqual, dst);
+ __ movzbl(dst, dst);
+ __ bind(done);
}
//=============================================================================
-const bool Matcher::constant_table_absolute_addressing = true;
const RegMask& MachConstantBaseNode::_out_RegMask = RegMask::Empty;
+int Compile::ConstantTable::calculate_table_base_offset() const {
+ return 0; // absolute addressing, no offset
+}
+
void MachConstantBaseNode::emit(CodeBuffer& cbuf, PhaseRegAlloc* ra_) const {
// Empty encoding
}
@@ -977,6 +967,13 @@ void MachPrologNode::emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const
masm.bind(L);
}
#endif
+
+ if (C->has_mach_constant_base_node()) {
+ // NOTE: We set the table base offset here because users might be
+ // emitted before MachConstantBaseNode.
+ Compile::ConstantTable& constant_table = C->constant_table();
+ constant_table.set_table_base_offset(constant_table.calculate_table_base_offset());
+ }
}
uint MachPrologNode::size(PhaseRegAlloc* ra_) const
@@ -1264,16 +1261,8 @@ uint MachSpillCopyNode::implementation(CodeBuffer* cbuf,
// 64-bit
int offset = ra_->reg2offset(src_first);
if (cbuf) {
- emit_opcode(*cbuf, UseXmmLoadAndClearUpper ? 0xF2 : 0x66);
- if (Matcher::_regEncode[dst_first] >= 8) {
- emit_opcode(*cbuf, Assembler::REX_R);
- }
- emit_opcode(*cbuf, 0x0F);
- emit_opcode(*cbuf, UseXmmLoadAndClearUpper ? 0x10 : 0x12);
- encode_RegMem(*cbuf,
- Matcher::_regEncode[dst_first],
- RSP_enc, 0x4, 0, offset,
- false);
+ MacroAssembler _masm(cbuf);
+ __ movdbl( as_XMMRegister(Matcher::_regEncode[dst_first]), Address(rsp, offset));
#ifndef PRODUCT
} else if (!do_size) {
st->print("%s %s, [rsp + #%d]\t# spill",
@@ -1284,25 +1273,17 @@ uint MachSpillCopyNode::implementation(CodeBuffer* cbuf,
}
return
((offset == 0) ? 0 : (offset < 0x80 ? 1 : 4)) +
- ((Matcher::_regEncode[dst_first] < 8)
- ? 5
- : 6); // REX
+ ((Matcher::_regEncode[dst_first] >= 8)
+ ? 6
+ : (5 + ((UseAVX>0)?1:0))); // REX
} else {
// 32-bit
assert(!((src_first & 1) == 0 && src_first + 1 == src_second), "no transform");
assert(!((dst_first & 1) == 0 && dst_first + 1 == dst_second), "no transform");
int offset = ra_->reg2offset(src_first);
if (cbuf) {
- emit_opcode(*cbuf, 0xF3);
- if (Matcher::_regEncode[dst_first] >= 8) {
- emit_opcode(*cbuf, Assembler::REX_R);
- }
- emit_opcode(*cbuf, 0x0F);
- emit_opcode(*cbuf, 0x10);
- encode_RegMem(*cbuf,
- Matcher::_regEncode[dst_first],
- RSP_enc, 0x4, 0, offset,
- false);
+ MacroAssembler _masm(cbuf);
+ __ movflt( as_XMMRegister(Matcher::_regEncode[dst_first]), Address(rsp, offset));
#ifndef PRODUCT
} else if (!do_size) {
st->print("movss %s, [rsp + #%d]\t# spill",
@@ -1312,9 +1293,9 @@ uint MachSpillCopyNode::implementation(CodeBuffer* cbuf,
}
return
((offset == 0) ? 0 : (offset < 0x80 ? 1 : 4)) +
- ((Matcher::_regEncode[dst_first] < 8)
- ? 5
- : 6); // REX
+ ((Matcher::_regEncode[dst_first] >= 8)
+ ? 6
+ : (5 + ((UseAVX>0)?1:0))); // REX
}
}
} else if (src_first_rc == rc_int) {
@@ -1440,25 +1421,8 @@ uint MachSpillCopyNode::implementation(CodeBuffer* cbuf,
(dst_first & 1) == 0 && dst_first + 1 == dst_second) {
// 64-bit
if (cbuf) {
- emit_opcode(*cbuf, 0x66);
- if (Matcher::_regEncode[dst_first] < 8) {
- if (Matcher::_regEncode[src_first] < 8) {
- emit_opcode(*cbuf, Assembler::REX_W);
- } else {
- emit_opcode(*cbuf, Assembler::REX_WB);
- }
- } else {
- if (Matcher::_regEncode[src_first] < 8) {
- emit_opcode(*cbuf, Assembler::REX_WR);
- } else {
- emit_opcode(*cbuf, Assembler::REX_WRB);
- }
- }
- emit_opcode(*cbuf, 0x0F);
- emit_opcode(*cbuf, 0x6E);
- emit_rm(*cbuf, 0x3,
- Matcher::_regEncode[dst_first] & 7,
- Matcher::_regEncode[src_first] & 7);
+ MacroAssembler _masm(cbuf);
+ __ movdq( as_XMMRegister(Matcher::_regEncode[dst_first]), as_Register(Matcher::_regEncode[src_first]));
#ifndef PRODUCT
} else if (!do_size) {
st->print("movdq %s, %s\t# spill",
@@ -1472,23 +1436,8 @@ uint MachSpillCopyNode::implementation(CodeBuffer* cbuf,
assert(!((src_first & 1) == 0 && src_first + 1 == src_second), "no transform");
assert(!((dst_first & 1) == 0 && dst_first + 1 == dst_second), "no transform");
if (cbuf) {
- emit_opcode(*cbuf, 0x66);
- if (Matcher::_regEncode[dst_first] < 8) {
- if (Matcher::_regEncode[src_first] >= 8) {
- emit_opcode(*cbuf, Assembler::REX_B);
- }
- } else {
- if (Matcher::_regEncode[src_first] < 8) {
- emit_opcode(*cbuf, Assembler::REX_R);
- } else {
- emit_opcode(*cbuf, Assembler::REX_RB);
- }
- }
- emit_opcode(*cbuf, 0x0F);
- emit_opcode(*cbuf, 0x6E);
- emit_rm(*cbuf, 0x3,
- Matcher::_regEncode[dst_first] & 7,
- Matcher::_regEncode[src_first] & 7);
+ MacroAssembler _masm(cbuf);
+ __ movdl( as_XMMRegister(Matcher::_regEncode[dst_first]), as_Register(Matcher::_regEncode[src_first]));
#ifndef PRODUCT
} else if (!do_size) {
st->print("movdl %s, %s\t# spill",
@@ -1497,9 +1446,9 @@ uint MachSpillCopyNode::implementation(CodeBuffer* cbuf,
#endif
}
return
- (Matcher::_regEncode[src_first] < 8 && Matcher::_regEncode[dst_first] < 8)
- ? 4
- : 5; // REX
+ (Matcher::_regEncode[src_first] >= 8 || Matcher::_regEncode[dst_first] >= 8)
+ ? 5
+ : (4 + ((UseAVX>0)?1:0)); // REX
}
}
} else if (src_first_rc == rc_float) {
@@ -1511,16 +1460,8 @@ uint MachSpillCopyNode::implementation(CodeBuffer* cbuf,
// 64-bit
int offset = ra_->reg2offset(dst_first);
if (cbuf) {
- emit_opcode(*cbuf, 0xF2);
- if (Matcher::_regEncode[src_first] >= 8) {
- emit_opcode(*cbuf, Assembler::REX_R);
- }
- emit_opcode(*cbuf, 0x0F);
- emit_opcode(*cbuf, 0x11);
- encode_RegMem(*cbuf,
- Matcher::_regEncode[src_first],
- RSP_enc, 0x4, 0, offset,
- false);
+ MacroAssembler _masm(cbuf);
+ __ movdbl( Address(rsp, offset), as_XMMRegister(Matcher::_regEncode[src_first]));
#ifndef PRODUCT
} else if (!do_size) {
st->print("movsd [rsp + #%d], %s\t# spill",
@@ -1530,25 +1471,17 @@ uint MachSpillCopyNode::implementation(CodeBuffer* cbuf,
}
return
((offset == 0) ? 0 : (offset < 0x80 ? 1 : 4)) +
- ((Matcher::_regEncode[src_first] < 8)
- ? 5
- : 6); // REX
+ ((Matcher::_regEncode[src_first] >= 8)
+ ? 6
+ : (5 + ((UseAVX>0)?1:0))); // REX
} else {
// 32-bit
assert(!((src_first & 1) == 0 && src_first + 1 == src_second), "no transform");
assert(!((dst_first & 1) == 0 && dst_first + 1 == dst_second), "no transform");
int offset = ra_->reg2offset(dst_first);
if (cbuf) {
- emit_opcode(*cbuf, 0xF3);
- if (Matcher::_regEncode[src_first] >= 8) {
- emit_opcode(*cbuf, Assembler::REX_R);
- }
- emit_opcode(*cbuf, 0x0F);
- emit_opcode(*cbuf, 0x11);
- encode_RegMem(*cbuf,
- Matcher::_regEncode[src_first],
- RSP_enc, 0x4, 0, offset,
- false);
+ MacroAssembler _masm(cbuf);
+ __ movflt(Address(rsp, offset), as_XMMRegister(Matcher::_regEncode[src_first]));
#ifndef PRODUCT
} else if (!do_size) {
st->print("movss [rsp + #%d], %s\t# spill",
@@ -1558,9 +1491,9 @@ uint MachSpillCopyNode::implementation(CodeBuffer* cbuf,
}
return
((offset == 0) ? 0 : (offset < 0x80 ? 1 : 4)) +
- ((Matcher::_regEncode[src_first] < 8)
- ? 5
- : 6); // REX
+ ((Matcher::_regEncode[src_first] >=8)
+ ? 6
+ : (5 + ((UseAVX>0)?1:0))); // REX
}
} else if (dst_first_rc == rc_int) {
// xmm -> gpr
@@ -1568,25 +1501,8 @@ uint MachSpillCopyNode::implementation(CodeBuffer* cbuf,
(dst_first & 1) == 0 && dst_first + 1 == dst_second) {
// 64-bit
if (cbuf) {
- emit_opcode(*cbuf, 0x66);
- if (Matcher::_regEncode[dst_first] < 8) {
- if (Matcher::_regEncode[src_first] < 8) {
- emit_opcode(*cbuf, Assembler::REX_W);
- } else {
- emit_opcode(*cbuf, Assembler::REX_WR); // attention!
- }
- } else {
- if (Matcher::_regEncode[src_first] < 8) {
- emit_opcode(*cbuf, Assembler::REX_WB); // attention!
- } else {
- emit_opcode(*cbuf, Assembler::REX_WRB);
- }
- }
- emit_opcode(*cbuf, 0x0F);
- emit_opcode(*cbuf, 0x7E);
- emit_rm(*cbuf, 0x3,
- Matcher::_regEncode[src_first] & 7,
- Matcher::_regEncode[dst_first] & 7);
+ MacroAssembler _masm(cbuf);
+ __ movdq( as_Register(Matcher::_regEncode[dst_first]), as_XMMRegister(Matcher::_regEncode[src_first]));
#ifndef PRODUCT
} else if (!do_size) {
st->print("movdq %s, %s\t# spill",
@@ -1600,23 +1516,8 @@ uint MachSpillCopyNode::implementation(CodeBuffer* cbuf,
assert(!((src_first & 1) == 0 && src_first + 1 == src_second), "no transform");
assert(!((dst_first & 1) == 0 && dst_first + 1 == dst_second), "no transform");
if (cbuf) {
- emit_opcode(*cbuf, 0x66);
- if (Matcher::_regEncode[dst_first] < 8) {
- if (Matcher::_regEncode[src_first] >= 8) {
- emit_opcode(*cbuf, Assembler::REX_R); // attention!
- }
- } else {
- if (Matcher::_regEncode[src_first] < 8) {
- emit_opcode(*cbuf, Assembler::REX_B); // attention!
- } else {
- emit_opcode(*cbuf, Assembler::REX_RB);
- }
- }
- emit_opcode(*cbuf, 0x0F);
- emit_opcode(*cbuf, 0x7E);
- emit_rm(*cbuf, 0x3,
- Matcher::_regEncode[src_first] & 7,
- Matcher::_regEncode[dst_first] & 7);
+ MacroAssembler _masm(cbuf);
+ __ movdl( as_Register(Matcher::_regEncode[dst_first]), as_XMMRegister(Matcher::_regEncode[src_first]));
#ifndef PRODUCT
} else if (!do_size) {
st->print("movdl %s, %s\t# spill",
@@ -1625,9 +1526,9 @@ uint MachSpillCopyNode::implementation(CodeBuffer* cbuf,
#endif
}
return
- (Matcher::_regEncode[src_first] < 8 && Matcher::_regEncode[dst_first] < 8)
- ? 4
- : 5; // REX
+ (Matcher::_regEncode[src_first] >= 8 || Matcher::_regEncode[dst_first] >= 8)
+ ? 5
+ : (4 + ((UseAVX>0)?1:0)); // REX
}
} else if (dst_first_rc == rc_float) {
// xmm -> xmm
@@ -1635,23 +1536,8 @@ uint MachSpillCopyNode::implementation(CodeBuffer* cbuf,
(dst_first & 1) == 0 && dst_first + 1 == dst_second) {
// 64-bit
if (cbuf) {
- emit_opcode(*cbuf, UseXmmRegToRegMoveAll ? 0x66 : 0xF2);
- if (Matcher::_regEncode[dst_first] < 8) {
- if (Matcher::_regEncode[src_first] >= 8) {
- emit_opcode(*cbuf, Assembler::REX_B);
- }
- } else {
- if (Matcher::_regEncode[src_first] < 8) {
- emit_opcode(*cbuf, Assembler::REX_R);
- } else {
- emit_opcode(*cbuf, Assembler::REX_RB);
- }
- }
- emit_opcode(*cbuf, 0x0F);
- emit_opcode(*cbuf, UseXmmRegToRegMoveAll ? 0x28 : 0x10);
- emit_rm(*cbuf, 0x3,
- Matcher::_regEncode[dst_first] & 7,
- Matcher::_regEncode[src_first] & 7);
+ MacroAssembler _masm(cbuf);
+ __ movdbl( as_XMMRegister(Matcher::_regEncode[dst_first]), as_XMMRegister(Matcher::_regEncode[src_first]));
#ifndef PRODUCT
} else if (!do_size) {
st->print("%s %s, %s\t# spill",
@@ -1661,32 +1547,16 @@ uint MachSpillCopyNode::implementation(CodeBuffer* cbuf,
#endif
}
return
- (Matcher::_regEncode[src_first] < 8 && Matcher::_regEncode[dst_first] < 8)
- ? 4
- : 5; // REX
+ (Matcher::_regEncode[src_first] >= 8 || Matcher::_regEncode[dst_first] >= 8)
+ ? 5
+ : (4 + ((UseAVX>0)?1:0)); // REX
} else {
// 32-bit
assert(!((src_first & 1) == 0 && src_first + 1 == src_second), "no transform");
assert(!((dst_first & 1) == 0 && dst_first + 1 == dst_second), "no transform");
if (cbuf) {
- if (!UseXmmRegToRegMoveAll)
- emit_opcode(*cbuf, 0xF3);
- if (Matcher::_regEncode[dst_first] < 8) {
- if (Matcher::_regEncode[src_first] >= 8) {
- emit_opcode(*cbuf, Assembler::REX_B);
- }
- } else {
- if (Matcher::_regEncode[src_first] < 8) {
- emit_opcode(*cbuf, Assembler::REX_R);
- } else {
- emit_opcode(*cbuf, Assembler::REX_RB);
- }
- }
- emit_opcode(*cbuf, 0x0F);
- emit_opcode(*cbuf, UseXmmRegToRegMoveAll ? 0x28 : 0x10);
- emit_rm(*cbuf, 0x3,
- Matcher::_regEncode[dst_first] & 7,
- Matcher::_regEncode[src_first] & 7);
+ MacroAssembler _masm(cbuf);
+ __ movflt( as_XMMRegister(Matcher::_regEncode[dst_first]), as_XMMRegister(Matcher::_regEncode[src_first]));
#ifndef PRODUCT
} else if (!do_size) {
st->print("%s %s, %s\t# spill",
@@ -1695,10 +1565,10 @@ uint MachSpillCopyNode::implementation(CodeBuffer* cbuf,
Matcher::regName[src_first]);
#endif
}
- return
- (Matcher::_regEncode[src_first] < 8 && Matcher::_regEncode[dst_first] < 8)
- ? (UseXmmRegToRegMoveAll ? 3 : 4)
- : (UseXmmRegToRegMoveAll ? 4 : 5); // REX
+ return ((UseAVX>0) ? 5:
+ ((Matcher::_regEncode[src_first] >= 8 || Matcher::_regEncode[dst_first] >= 8)
+ ? (UseXmmRegToRegMoveAll ? 4 : 5)
+ : (UseXmmRegToRegMoveAll ? 3 : 4))); // REX
}
}
}
@@ -2079,26 +1949,26 @@ bool Matcher::use_asm_for_ldiv_by_con( jlong divisor ) {
// Register for DIVI projection of divmodI
RegMask Matcher::divI_proj_mask() {
- return INT_RAX_REG_mask;
+ return INT_RAX_REG_mask();
}
// Register for MODI projection of divmodI
RegMask Matcher::modI_proj_mask() {
- return INT_RDX_REG_mask;
+ return INT_RDX_REG_mask();
}
// Register for DIVL projection of divmodL
RegMask Matcher::divL_proj_mask() {
- return LONG_RAX_REG_mask;
+ return LONG_RAX_REG_mask();
}
// Register for MODL projection of divmodL
RegMask Matcher::modL_proj_mask() {
- return LONG_RDX_REG_mask;
+ return LONG_RDX_REG_mask();
}
const RegMask Matcher::method_handle_invoke_SP_save_mask() {
- return PTR_RBP_REG_mask;
+ return PTR_RBP_REG_mask();
}
static Address build_address(int b, int i, int s, int d) {
@@ -2195,47 +2065,6 @@ encode %{
emit_rm(cbuf, 0x3, $dst$$reg & 7, $src$$reg & 7);
%}
- enc_class cmpfp_fixup() %{
- MacroAssembler _masm(&cbuf);
- emit_cmpfp_fixup(_masm);
- %}
-
- enc_class cmpfp3(rRegI dst)
- %{
- int dstenc = $dst$$reg;
-
- // movl $dst, -1
- if (dstenc >= 8) {
- emit_opcode(cbuf, Assembler::REX_B);
- }
- emit_opcode(cbuf, 0xB8 | (dstenc & 7));
- emit_d32(cbuf, -1);
-
- // jp,s done
- emit_opcode(cbuf, 0x7A);
- emit_d8(cbuf, dstenc < 4 ? 0x08 : 0x0A);
-
- // jb,s done
- emit_opcode(cbuf, 0x72);
- emit_d8(cbuf, dstenc < 4 ? 0x06 : 0x08);
-
- // setne $dst
- if (dstenc >= 4) {
- emit_opcode(cbuf, dstenc < 8 ? Assembler::REX : Assembler::REX_B);
- }
- emit_opcode(cbuf, 0x0F);
- emit_opcode(cbuf, 0x95);
- emit_opcode(cbuf, 0xC0 | (dstenc & 7));
-
- // movzbl $dst, $dst
- if (dstenc >= 4) {
- emit_opcode(cbuf, dstenc < 8 ? Assembler::REX : Assembler::REX_RB);
- }
- emit_opcode(cbuf, 0x0F);
- emit_opcode(cbuf, 0xB6);
- emit_rm(cbuf, 0x3, dstenc & 7, dstenc & 7);
- %}
-
enc_class cdql_enc(no_rax_rdx_RegI div)
%{
// Full implementation of Java idiv and irem; checks for
@@ -2462,55 +2291,6 @@ encode %{
emit_cc(cbuf, $secondary, $cop$$cmpcode);
%}
- enc_class enc_cmovf_branch(cmpOp cop, regF dst, regF src)
- %{
- // Invert sense of branch from sense of cmov
- emit_cc(cbuf, 0x70, $cop$$cmpcode ^ 1);
- emit_d8(cbuf, ($dst$$reg < 8 && $src$$reg < 8)
- ? (UseXmmRegToRegMoveAll ? 3 : 4)
- : (UseXmmRegToRegMoveAll ? 4 : 5) ); // REX
- // UseXmmRegToRegMoveAll ? movaps(dst, src) : movss(dst, src)
- if (!UseXmmRegToRegMoveAll) emit_opcode(cbuf, 0xF3);
- if ($dst$$reg < 8) {
- if ($src$$reg >= 8) {
- emit_opcode(cbuf, Assembler::REX_B);
- }
- } else {
- if ($src$$reg < 8) {
- emit_opcode(cbuf, Assembler::REX_R);
- } else {
- emit_opcode(cbuf, Assembler::REX_RB);
- }
- }
- emit_opcode(cbuf, 0x0F);
- emit_opcode(cbuf, UseXmmRegToRegMoveAll ? 0x28 : 0x10);
- emit_rm(cbuf, 0x3, $dst$$reg & 7, $src$$reg & 7);
- %}
-
- enc_class enc_cmovd_branch(cmpOp cop, regD dst, regD src)
- %{
- // Invert sense of branch from sense of cmov
- emit_cc(cbuf, 0x70, $cop$$cmpcode ^ 1);
- emit_d8(cbuf, $dst$$reg < 8 && $src$$reg < 8 ? 4 : 5); // REX
-
- // UseXmmRegToRegMoveAll ? movapd(dst, src) : movsd(dst, src)
- emit_opcode(cbuf, UseXmmRegToRegMoveAll ? 0x66 : 0xF2);
- if ($dst$$reg < 8) {
- if ($src$$reg >= 8) {
- emit_opcode(cbuf, Assembler::REX_B);
- }
- } else {
- if ($src$$reg < 8) {
- emit_opcode(cbuf, Assembler::REX_R);
- } else {
- emit_opcode(cbuf, Assembler::REX_RB);
- }
- }
- emit_opcode(cbuf, 0x0F);
- emit_opcode(cbuf, UseXmmRegToRegMoveAll ? 0x28 : 0x10);
- emit_rm(cbuf, 0x3, $dst$$reg & 7, $src$$reg & 7);
- %}
-
enc_class enc_PartialSubtypeCheck()
%{
Register Rrdi = as_Register(RDI_enc); // result register
@@ -2741,68 +2521,6 @@ encode %{
}
%}
- // Encode a reg-reg copy. If it is useless, then empty encoding.
- enc_class enc_copy(rRegI dst, rRegI src)
- %{
- encode_copy(cbuf, $dst$$reg, $src$$reg);
- %}
-
- // Encode xmm reg-reg copy. If it is useless, then empty encoding.
- enc_class enc_CopyXD( RegD dst, RegD src ) %{
- encode_CopyXD( cbuf, $dst$$reg, $src$$reg );
- %}
-
- enc_class enc_copy_always(rRegI dst, rRegI src)
- %{
- int srcenc = $src$$reg;
- int dstenc = $dst$$reg;
-
- if (dstenc < 8) {
- if (srcenc >= 8) {
- emit_opcode(cbuf, Assembler::REX_B);
- srcenc -= 8;
- }
- } else {
- if (srcenc < 8) {
- emit_opcode(cbuf, Assembler::REX_R);
- } else {
- emit_opcode(cbuf, Assembler::REX_RB);
- srcenc -= 8;
- }
- dstenc -= 8;
- }
-
- emit_opcode(cbuf, 0x8B);
- emit_rm(cbuf, 0x3, dstenc, srcenc);
- %}
-
- enc_class enc_copy_wide(rRegL dst, rRegL src)
- %{
- int srcenc = $src$$reg;
- int dstenc = $dst$$reg;
-
- if (dstenc != srcenc) {
- if (dstenc < 8) {
- if (srcenc < 8) {
- emit_opcode(cbuf, Assembler::REX_W);
- } else {
- emit_opcode(cbuf, Assembler::REX_WB);
- srcenc -= 8;
- }
- } else {
- if (srcenc < 8) {
- emit_opcode(cbuf, Assembler::REX_WR);
- } else {
- emit_opcode(cbuf, Assembler::REX_WRB);
- srcenc -= 8;
- }
- dstenc -= 8;
- }
- emit_opcode(cbuf, 0x8B);
- emit_rm(cbuf, 0x3, dstenc, srcenc);
- }
- %}
-
enc_class Con32(immI src)
%{
// Output immediate
@@ -3202,92 +2920,19 @@ encode %{
%}
enc_class Push_ResultXD(regD dst) %{
- int dstenc = $dst$$reg;
+ MacroAssembler _masm(&cbuf);
+ __ fstp_d(Address(rsp, 0));
+ __ movdbl($dst$$XMMRegister, Address(rsp, 0));
+ __ addptr(rsp, 8);
+ %}
- store_to_stackslot( cbuf, 0xDD, 0x03, 0 ); //FSTP [RSP]
+ enc_class Push_SrcXD(regD src) %{
+ MacroAssembler _masm(&cbuf);
+ __ subptr(rsp, 8);
+ __ movdbl(Address(rsp, 0), $src$$XMMRegister);
+ __ fld_d(Address(rsp, 0));
+ %}
- // UseXmmLoadAndClearUpper ? movsd dst,[rsp] : movlpd dst,[rsp]
- emit_opcode (cbuf, UseXmmLoadAndClearUpper ? 0xF2 : 0x66);
- if (dstenc >= 8) {
- emit_opcode(cbuf, Assembler::REX_R);
- }
- emit_opcode (cbuf, 0x0F );
- emit_opcode (cbuf, UseXmmLoadAndClearUpper ? 0x10 : 0x12 );
- encode_RegMem(cbuf, dstenc, RSP_enc, 0x4, 0, 0, false);
-
- // add rsp,8
- emit_opcode(cbuf, Assembler::REX_W);
- emit_opcode(cbuf,0x83);
- emit_rm(cbuf,0x3, 0x0, RSP_enc);
- emit_d8(cbuf,0x08);
- %}
-
- enc_class Push_SrcXD(regD src) %{
- int srcenc = $src$$reg;
-
- // subq rsp,#8
- emit_opcode(cbuf, Assembler::REX_W);
- emit_opcode(cbuf, 0x83);
- emit_rm(cbuf, 0x3, 0x5, RSP_enc);
- emit_d8(cbuf, 0x8);
-
- // movsd [rsp],src
- emit_opcode(cbuf, 0xF2);
- if (srcenc >= 8) {
- emit_opcode(cbuf, Assembler::REX_R);
- }
- emit_opcode(cbuf, 0x0F);
- emit_opcode(cbuf, 0x11);
- encode_RegMem(cbuf, srcenc, RSP_enc, 0x4, 0, 0, false);
-
- // fldd [rsp]
- emit_opcode(cbuf, 0x66);
- emit_opcode(cbuf, 0xDD);
- encode_RegMem(cbuf, 0x0, RSP_enc, 0x4, 0, 0, false);
- %}
-
-
- enc_class movq_ld(regD dst, memory mem) %{
- MacroAssembler _masm(&cbuf);
- __ movq($dst$$XMMRegister, $mem$$Address);
- %}
-
- enc_class movq_st(memory mem, regD src) %{
- MacroAssembler _masm(&cbuf);
- __ movq($mem$$Address, $src$$XMMRegister);
- %}
-
- enc_class pshufd_8x8(regF dst, regF src) %{
- MacroAssembler _masm(&cbuf);
-
- encode_CopyXD(cbuf, $dst$$reg, $src$$reg);
- __ punpcklbw(as_XMMRegister($dst$$reg), as_XMMRegister($dst$$reg));
- __ pshuflw(as_XMMRegister($dst$$reg), as_XMMRegister($dst$$reg), 0x00);
- %}
-
- enc_class pshufd_4x16(regF dst, regF src) %{
- MacroAssembler _masm(&cbuf);
-
- __ pshuflw(as_XMMRegister($dst$$reg), as_XMMRegister($src$$reg), 0x00);
- %}
-
- enc_class pshufd(regD dst, regD src, int mode) %{
- MacroAssembler _masm(&cbuf);
-
- __ pshufd(as_XMMRegister($dst$$reg), as_XMMRegister($src$$reg), $mode);
- %}
-
- enc_class pxor(regD dst, regD src) %{
- MacroAssembler _masm(&cbuf);
-
- __ pxor(as_XMMRegister($dst$$reg), as_XMMRegister($src$$reg));
- %}
-
- enc_class mov_i2x(regD dst, rRegI src) %{
- MacroAssembler _masm(&cbuf);
-
- __ movdl(as_XMMRegister($dst$$reg), as_Register($src$$reg));
- %}
// obj: object to lock
// box: box address (header location) -- killed
@@ -3524,303 +3169,6 @@ encode %{
RELOC_DISP32);
%}
- enc_class absF_encoding(regF dst)
- %{
- int dstenc = $dst$$reg;
- address signmask_address = (address) StubRoutines::x86::float_sign_mask();
-
- cbuf.set_insts_mark();
- if (dstenc >= 8) {
- emit_opcode(cbuf, Assembler::REX_R);
- dstenc -= 8;
- }
- // XXX reg_mem doesn't support RIP-relative addressing yet
- emit_opcode(cbuf, 0x0F);
- emit_opcode(cbuf, 0x54);
- emit_rm(cbuf, 0x0, dstenc, 0x5); // 00 reg 101
- emit_d32_reloc(cbuf, signmask_address);
- %}
-
- enc_class absD_encoding(regD dst)
- %{
- int dstenc = $dst$$reg;
- address signmask_address = (address) StubRoutines::x86::double_sign_mask();
-
- cbuf.set_insts_mark();
- emit_opcode(cbuf, 0x66);
- if (dstenc >= 8) {
- emit_opcode(cbuf, Assembler::REX_R);
- dstenc -= 8;
- }
- // XXX reg_mem doesn't support RIP-relative addressing yet
- emit_opcode(cbuf, 0x0F);
- emit_opcode(cbuf, 0x54);
- emit_rm(cbuf, 0x0, dstenc, 0x5); // 00 reg 101
- emit_d32_reloc(cbuf, signmask_address);
- %}
-
- enc_class negF_encoding(regF dst)
- %{
- int dstenc = $dst$$reg;
- address signflip_address = (address) StubRoutines::x86::float_sign_flip();
-
- cbuf.set_insts_mark();
- if (dstenc >= 8) {
- emit_opcode(cbuf, Assembler::REX_R);
- dstenc -= 8;
- }
- // XXX reg_mem doesn't support RIP-relative addressing yet
- emit_opcode(cbuf, 0x0F);
- emit_opcode(cbuf, 0x57);
- emit_rm(cbuf, 0x0, dstenc, 0x5); // 00 reg 101
- emit_d32_reloc(cbuf, signflip_address);
- %}
-
- enc_class negD_encoding(regD dst)
- %{
- int dstenc = $dst$$reg;
- address signflip_address = (address) StubRoutines::x86::double_sign_flip();
-
- cbuf.set_insts_mark();
- emit_opcode(cbuf, 0x66);
- if (dstenc >= 8) {
- emit_opcode(cbuf, Assembler::REX_R);
- dstenc -= 8;
- }
- // XXX reg_mem doesn't support RIP-relative addressing yet
- emit_opcode(cbuf, 0x0F);
- emit_opcode(cbuf, 0x57);
- emit_rm(cbuf, 0x0, dstenc, 0x5); // 00 reg 101
- emit_d32_reloc(cbuf, signflip_address);
- %}
-
- enc_class f2i_fixup(rRegI dst, regF src)
- %{
- int dstenc = $dst$$reg;
- int srcenc = $src$$reg;
-
- // cmpl $dst, #0x80000000
- if (dstenc >= 8) {
- emit_opcode(cbuf, Assembler::REX_B);
- }
- emit_opcode(cbuf, 0x81);
- emit_rm(cbuf, 0x3, 0x7, dstenc & 7);
- emit_d32(cbuf, 0x80000000);
-
- // jne,s done
- emit_opcode(cbuf, 0x75);
- if (srcenc < 8 && dstenc < 8) {
- emit_d8(cbuf, 0xF);
- } else if (srcenc >= 8 && dstenc >= 8) {
- emit_d8(cbuf, 0x11);
- } else {
- emit_d8(cbuf, 0x10);
- }
-
- // subq rsp, #8
- emit_opcode(cbuf, Assembler::REX_W);
- emit_opcode(cbuf, 0x83);
- emit_rm(cbuf, 0x3, 0x5, RSP_enc);
- emit_d8(cbuf, 8);
-
- // movss [rsp], $src
- emit_opcode(cbuf, 0xF3);
- if (srcenc >= 8) {
- emit_opcode(cbuf, Assembler::REX_R);
- }
- emit_opcode(cbuf, 0x0F);
- emit_opcode(cbuf, 0x11);
- encode_RegMem(cbuf, srcenc, RSP_enc, 0x4, 0, 0, false); // 2 bytes
-
- // call f2i_fixup
- cbuf.set_insts_mark();
- emit_opcode(cbuf, 0xE8);
- emit_d32_reloc(cbuf,
- (int)
- (StubRoutines::x86::f2i_fixup() - cbuf.insts_end() - 4),
- runtime_call_Relocation::spec(),
- RELOC_DISP32);
-
- // popq $dst
- if (dstenc >= 8) {
- emit_opcode(cbuf, Assembler::REX_B);
- }
- emit_opcode(cbuf, 0x58 | (dstenc & 7));
-
- // done:
- %}
-
- enc_class f2l_fixup(rRegL dst, regF src)
- %{
- int dstenc = $dst$$reg;
- int srcenc = $src$$reg;
- address const_address = (address) StubRoutines::x86::double_sign_flip();
-
- // cmpq $dst, [0x8000000000000000]
- cbuf.set_insts_mark();
- emit_opcode(cbuf, dstenc < 8 ? Assembler::REX_W : Assembler::REX_WR);
- emit_opcode(cbuf, 0x39);
- // XXX reg_mem doesn't support RIP-relative addressing yet
- emit_rm(cbuf, 0x0, dstenc & 7, 0x5); // 00 reg 101
- emit_d32_reloc(cbuf, const_address);
-
-
- // jne,s done
- emit_opcode(cbuf, 0x75);
- if (srcenc < 8 && dstenc < 8) {
- emit_d8(cbuf, 0xF);
- } else if (srcenc >= 8 && dstenc >= 8) {
- emit_d8(cbuf, 0x11);
- } else {
- emit_d8(cbuf, 0x10);
- }
-
- // subq rsp, #8
- emit_opcode(cbuf, Assembler::REX_W);
- emit_opcode(cbuf, 0x83);
- emit_rm(cbuf, 0x3, 0x5, RSP_enc);
- emit_d8(cbuf, 8);
-
- // movss [rsp], $src
- emit_opcode(cbuf, 0xF3);
- if (srcenc >= 8) {
- emit_opcode(cbuf, Assembler::REX_R);
- }
- emit_opcode(cbuf, 0x0F);
- emit_opcode(cbuf, 0x11);
- encode_RegMem(cbuf, srcenc, RSP_enc, 0x4, 0, 0, false); // 2 bytes
-
- // call f2l_fixup
- cbuf.set_insts_mark();
- emit_opcode(cbuf, 0xE8);
- emit_d32_reloc(cbuf,
- (int)
- (StubRoutines::x86::f2l_fixup() - cbuf.insts_end() - 4),
- runtime_call_Relocation::spec(),
- RELOC_DISP32);
-
- // popq $dst
- if (dstenc >= 8) {
- emit_opcode(cbuf, Assembler::REX_B);
- }
- emit_opcode(cbuf, 0x58 | (dstenc & 7));
-
- // done:
- %}
-
- enc_class d2i_fixup(rRegI dst, regD src)
- %{
- int dstenc = $dst$$reg;
- int srcenc = $src$$reg;
-
- // cmpl $dst, #0x80000000
- if (dstenc >= 8) {
- emit_opcode(cbuf, Assembler::REX_B);
- }
- emit_opcode(cbuf, 0x81);
- emit_rm(cbuf, 0x3, 0x7, dstenc & 7);
- emit_d32(cbuf, 0x80000000);
-
- // jne,s done
- emit_opcode(cbuf, 0x75);
- if (srcenc < 8 && dstenc < 8) {
- emit_d8(cbuf, 0xF);
- } else if (srcenc >= 8 && dstenc >= 8) {
- emit_d8(cbuf, 0x11);
- } else {
- emit_d8(cbuf, 0x10);
- }
-
- // subq rsp, #8
- emit_opcode(cbuf, Assembler::REX_W);
- emit_opcode(cbuf, 0x83);
- emit_rm(cbuf, 0x3, 0x5, RSP_enc);
- emit_d8(cbuf, 8);
-
- // movsd [rsp], $src
- emit_opcode(cbuf, 0xF2);
- if (srcenc >= 8) {
- emit_opcode(cbuf, Assembler::REX_R);
- }
- emit_opcode(cbuf, 0x0F);
- emit_opcode(cbuf, 0x11);
- encode_RegMem(cbuf, srcenc, RSP_enc, 0x4, 0, 0, false); // 2 bytes
-
- // call d2i_fixup
- cbuf.set_insts_mark();
- emit_opcode(cbuf, 0xE8);
- emit_d32_reloc(cbuf,
- (int)
- (StubRoutines::x86::d2i_fixup() - cbuf.insts_end() - 4),
- runtime_call_Relocation::spec(),
- RELOC_DISP32);
-
- // popq $dst
- if (dstenc >= 8) {
- emit_opcode(cbuf, Assembler::REX_B);
- }
- emit_opcode(cbuf, 0x58 | (dstenc & 7));
-
- // done:
- %}
-
- enc_class d2l_fixup(rRegL dst, regD src)
- %{
- int dstenc = $dst$$reg;
- int srcenc = $src$$reg;
- address const_address = (address) StubRoutines::x86::double_sign_flip();
-
- // cmpq $dst, [0x8000000000000000]
- cbuf.set_insts_mark();
- emit_opcode(cbuf, dstenc < 8 ? Assembler::REX_W : Assembler::REX_WR);
- emit_opcode(cbuf, 0x39);
- // XXX reg_mem doesn't support RIP-relative addressing yet
- emit_rm(cbuf, 0x0, dstenc & 7, 0x5); // 00 reg 101
- emit_d32_reloc(cbuf, const_address);
-
-
- // jne,s done
- emit_opcode(cbuf, 0x75);
- if (srcenc < 8 && dstenc < 8) {
- emit_d8(cbuf, 0xF);
- } else if (srcenc >= 8 && dstenc >= 8) {
- emit_d8(cbuf, 0x11);
- } else {
- emit_d8(cbuf, 0x10);
- }
-
- // subq rsp, #8
- emit_opcode(cbuf, Assembler::REX_W);
- emit_opcode(cbuf, 0x83);
- emit_rm(cbuf, 0x3, 0x5, RSP_enc);
- emit_d8(cbuf, 8);
-
- // movsd [rsp], $src
- emit_opcode(cbuf, 0xF2);
- if (srcenc >= 8) {
- emit_opcode(cbuf, Assembler::REX_R);
- }
- emit_opcode(cbuf, 0x0F);
- emit_opcode(cbuf, 0x11);
- encode_RegMem(cbuf, srcenc, RSP_enc, 0x4, 0, 0, false); // 2 bytes
-
- // call d2l_fixup
- cbuf.set_insts_mark();
- emit_opcode(cbuf, 0xE8);
- emit_d32_reloc(cbuf,
- (int)
- (StubRoutines::x86::d2l_fixup() - cbuf.insts_end() - 4),
- runtime_call_Relocation::spec(),
- RELOC_DISP32);
-
- // popq $dst
- if (dstenc >= 8) {
- emit_opcode(cbuf, Assembler::REX_B);
- }
- emit_opcode(cbuf, 0x58 | (dstenc & 7));
-
- // done:
- %}
%}
@@ -6146,8 +5494,9 @@ instruct loadF(regF dst, memory mem)
ins_cost(145); // XXX
format %{ "movss $dst, $mem\t# float" %}
- opcode(0xF3, 0x0F, 0x10);
- ins_encode(OpcP, REX_reg_mem(dst, mem), OpcS, OpcT, reg_mem(dst, mem));
+ ins_encode %{
+ __ movflt($dst$$XMMRegister, $mem$$Address);
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -6159,8 +5508,9 @@ instruct loadD_partial(regD dst, memory mem)
ins_cost(145); // XXX
format %{ "movlpd $dst, $mem\t# double" %}
- opcode(0x66, 0x0F, 0x12);
- ins_encode(OpcP, REX_reg_mem(dst, mem), OpcS, OpcT, reg_mem(dst, mem));
+ ins_encode %{
+ __ movdbl($dst$$XMMRegister, $mem$$Address);
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -6171,8 +5521,9 @@ instruct loadD(regD dst, memory mem)
ins_cost(145); // XXX
format %{ "movsd $dst, $mem\t# double" %}
- opcode(0xF2, 0x0F, 0x10);
- ins_encode(OpcP, REX_reg_mem(dst, mem), OpcS, OpcT, reg_mem(dst, mem));
+ ins_encode %{
+ __ movdbl($dst$$XMMRegister, $mem$$Address);
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -6181,7 +5532,9 @@ instruct loadA8B(regD dst, memory mem) %{
match(Set dst (Load8B mem));
ins_cost(125);
format %{ "MOVQ $dst,$mem\t! packed8B" %}
- ins_encode( movq_ld(dst, mem));
+ ins_encode %{
+ __ movq($dst$$XMMRegister, $mem$$Address);
+ %}
ins_pipe( pipe_slow );
%}
@@ -6190,7 +5543,9 @@ instruct loadA4S(regD dst, memory mem) %{
match(Set dst (Load4S mem));
ins_cost(125);
format %{ "MOVQ $dst,$mem\t! packed4S" %}
- ins_encode( movq_ld(dst, mem));
+ ins_encode %{
+ __ movq($dst$$XMMRegister, $mem$$Address);
+ %}
ins_pipe( pipe_slow );
%}
@@ -6199,7 +5554,9 @@ instruct loadA4C(regD dst, memory mem) %{
match(Set dst (Load4C mem));
ins_cost(125);
format %{ "MOVQ $dst,$mem\t! packed4C" %}
- ins_encode( movq_ld(dst, mem));
+ ins_encode %{
+ __ movq($dst$$XMMRegister, $mem$$Address);
+ %}
ins_pipe( pipe_slow );
%}
@@ -6208,16 +5565,20 @@ instruct load2IU(regD dst, memory mem) %{
match(Set dst (Load2I mem));
ins_cost(125);
format %{ "MOVQ $dst,$mem\t! packed2I" %}
- ins_encode( movq_ld(dst, mem));
+ ins_encode %{
+ __ movq($dst$$XMMRegister, $mem$$Address);
+ %}
ins_pipe( pipe_slow );
%}
// Load Aligned Packed Single to XMM
instruct loadA2F(regD dst, memory mem) %{
match(Set dst (Load2F mem));
- ins_cost(145);
+ ins_cost(125);
format %{ "MOVQ $dst,$mem\t! packed2F" %}
- ins_encode( movq_ld(dst, mem));
+ ins_encode %{
+ __ movq($dst$$XMMRegister, $mem$$Address);
+ %}
ins_pipe( pipe_slow );
%}
@@ -6530,8 +5891,9 @@ instruct loadConF0(regF dst, immF0 src)
ins_cost(100);
format %{ "xorps $dst, $dst\t# float 0.0" %}
- opcode(0x0F, 0x57);
- ins_encode(REX_reg_reg(dst, dst), OpcP, OpcS, reg_reg(dst, dst));
+ ins_encode %{
+ __ xorps($dst$$XMMRegister, $dst$$XMMRegister);
+ %}
ins_pipe(pipe_slow);
%}
@@ -6552,8 +5914,9 @@ instruct loadConD0(regD dst, immD0 src)
ins_cost(100);
format %{ "xorpd $dst, $dst\t# double 0.0" %}
- opcode(0x66, 0x0F, 0x57);
- ins_encode(OpcP, REX_reg_reg(dst, dst), OpcS, OpcT, reg_reg(dst, dst));
+ ins_encode %{
+ __ xorpd ($dst$$XMMRegister, $dst$$XMMRegister);
+ %}
ins_pipe(pipe_slow);
%}
@@ -6596,8 +5959,9 @@ instruct loadSSF(regF dst, stackSlotF src)
ins_cost(125);
format %{ "movss $dst, $src\t# float stk" %}
- opcode(0xF3, 0x0F, 0x10);
- ins_encode(OpcP, REX_reg_mem(dst, src), OpcS, OpcT, reg_mem(dst, src));
+ ins_encode %{
+ __ movflt($dst$$XMMRegister, Address(rsp, $src$$disp));
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -6962,7 +6326,9 @@ instruct storeA8B(memory mem, regD src) %{
match(Set mem (Store8B mem src));
ins_cost(145);
format %{ "MOVQ $mem,$src\t! packed8B" %}
- ins_encode( movq_st(mem, src));
+ ins_encode %{
+ __ movq($mem$$Address, $src$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
@@ -6971,7 +6337,9 @@ instruct storeA4C(memory mem, regD src) %{
match(Set mem (Store4C mem src));
ins_cost(145);
format %{ "MOVQ $mem,$src\t! packed4C" %}
- ins_encode( movq_st(mem, src));
+ ins_encode %{
+ __ movq($mem$$Address, $src$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
@@ -6980,7 +6348,9 @@ instruct storeA2I(memory mem, regD src) %{
match(Set mem (Store2I mem src));
ins_cost(145);
format %{ "MOVQ $mem,$src\t! packed2I" %}
- ins_encode( movq_st(mem, src));
+ ins_encode %{
+ __ movq($mem$$Address, $src$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
@@ -7014,7 +6384,9 @@ instruct storeA2F(memory mem, regD src) %{
match(Set mem (Store2F mem src));
ins_cost(145);
format %{ "MOVQ $mem,$src\t! packed2F" %}
- ins_encode( movq_st(mem, src));
+ ins_encode %{
+ __ movq($mem$$Address, $src$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
@@ -7025,8 +6397,9 @@ instruct storeF(memory mem, regF src)
ins_cost(95); // XXX
format %{ "movss $mem, $src\t# float" %}
- opcode(0xF3, 0x0F, 0x11);
- ins_encode(OpcP, REX_reg_mem(src, mem), OpcS, OpcT, reg_mem(src, mem));
+ ins_encode %{
+ __ movflt($mem$$Address, $src$$XMMRegister);
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -7062,8 +6435,9 @@ instruct storeD(memory mem, regD src)
ins_cost(95); // XXX
format %{ "movsd $mem, $src\t# double" %}
- opcode(0xF2, 0x0F, 0x11);
- ins_encode(OpcP, REX_reg_mem(src, mem), OpcS, OpcT, reg_mem(src, mem));
+ ins_encode %{
+ __ movdbl($mem$$Address, $src$$XMMRegister);
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -7132,8 +6506,9 @@ instruct storeSSF(stackSlotF dst, regF src)
ins_cost(95); // XXX
format %{ "movss $dst, $src\t# float stk" %}
- opcode(0xF3, 0x0F, 0x11);
- ins_encode(OpcP, REX_reg_mem(src, dst), OpcS, OpcT, reg_mem(src, dst));
+ ins_encode %{
+ __ movflt(Address(rsp, $dst$$disp), $src$$XMMRegister);
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -7143,8 +6518,9 @@ instruct storeSSD(stackSlotD dst, regD src)
ins_cost(95); // XXX
format %{ "movsd $dst, $src\t# double stk" %}
- opcode(0xF2, 0x0F, 0x11);
- ins_encode(OpcP, REX_reg_mem(src, dst), OpcS, OpcT, reg_mem(src, dst));
+ ins_encode %{
+ __ movdbl(Address(rsp, $dst$$disp), $src$$XMMRegister);
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -7434,6 +6810,16 @@ instruct unnecessary_membar_volatile()
ins_pipe(empty);
%}
+instruct membar_storestore() %{
+ match(MemBarStoreStore);
+ ins_cost(0);
+
+ size(0);
+ format %{ "MEMBAR-storestore (empty encoding)" %}
+ ins_encode( );
+ ins_pipe(empty);
+%}
+
//----------Move Instructions--------------------------------------------------
instruct castX2P(rRegP dst, rRegL src)
@@ -7441,7 +6827,11 @@ instruct castX2P(rRegP dst, rRegL src)
match(Set dst (CastX2P src));
format %{ "movq $dst, $src\t# long->ptr" %}
- ins_encode(enc_copy_wide(dst, src));
+ ins_encode %{
+ if ($dst$$reg != $src$$reg) {
+ __ movptr($dst$$Register, $src$$Register);
+ }
+ %}
ins_pipe(ialu_reg_reg); // XXX
%}
@@ -7450,7 +6840,11 @@ instruct castP2X(rRegL dst, rRegP src)
match(Set dst (CastP2X src));
format %{ "movq $dst, $src\t# ptr -> long" %}
- ins_encode(enc_copy_wide(dst, src));
+ ins_encode %{
+ if ($dst$$reg != $src$$reg) {
+ __ movptr($dst$$Register, $src$$Register);
+ }
+ %}
ins_pipe(ialu_reg_reg); // XXX
%}
@@ -7803,7 +7197,13 @@ instruct cmovF_reg(cmpOp cop, rFlagsReg cr, regF dst, regF src)
format %{ "jn$cop skip\t# signed cmove float\n\t"
"movss $dst, $src\n"
"skip:" %}
- ins_encode(enc_cmovf_branch(cop, dst, src));
+ ins_encode %{
+ Label Lskip;
+ // Invert sense of branch from sense of CMOV
+ __ jccb((Assembler::Condition)($cop$$cmpcode^1), Lskip);
+ __ movflt($dst$$XMMRegister, $src$$XMMRegister);
+ __ bind(Lskip);
+ %}
ins_pipe(pipe_slow);
%}
@@ -7827,7 +7227,13 @@ instruct cmovF_regU(cmpOpU cop, rFlagsRegU cr, regF dst, regF src)
format %{ "jn$cop skip\t# unsigned cmove float\n\t"
"movss $dst, $src\n"
"skip:" %}
- ins_encode(enc_cmovf_branch(cop, dst, src));
+ ins_encode %{
+ Label Lskip;
+ // Invert sense of branch from sense of CMOV
+ __ jccb((Assembler::Condition)($cop$$cmpcode^1), Lskip);
+ __ movflt($dst$$XMMRegister, $src$$XMMRegister);
+ __ bind(Lskip);
+ %}
ins_pipe(pipe_slow);
%}
@@ -7847,7 +7253,13 @@ instruct cmovD_reg(cmpOp cop, rFlagsReg cr, regD dst, regD src)
format %{ "jn$cop skip\t# signed cmove double\n\t"
"movsd $dst, $src\n"
"skip:" %}
- ins_encode(enc_cmovd_branch(cop, dst, src));
+ ins_encode %{
+ Label Lskip;
+ // Invert sense of branch from sense of CMOV
+ __ jccb((Assembler::Condition)($cop$$cmpcode^1), Lskip);
+ __ movdbl($dst$$XMMRegister, $src$$XMMRegister);
+ __ bind(Lskip);
+ %}
ins_pipe(pipe_slow);
%}
@@ -7859,7 +7271,13 @@ instruct cmovD_regU(cmpOpU cop, rFlagsRegU cr, regD dst, regD src)
format %{ "jn$cop skip\t# unsigned cmove double\n\t"
"movsd $dst, $src\n"
"skip:" %}
- ins_encode(enc_cmovd_branch(cop, dst, src));
+ ins_encode %{
+ Label Lskip;
+ // Invert sense of branch from sense of CMOV
+ __ jccb((Assembler::Condition)($cop$$cmpcode^1), Lskip);
+ __ movdbl($dst$$XMMRegister, $src$$XMMRegister);
+ __ bind(Lskip);
+ %}
ins_pipe(pipe_slow);
%}
@@ -10181,17 +9599,18 @@ instruct cmpF_cc_reg(rFlagsRegU cr, regF src1, regF src2)
"pushfq\t# saw NaN, set CF\n\t"
"andq [rsp], #0xffffff2b\n\t"
"popfq\n"
- "exit: nop\t# avoid branch to branch" %}
- opcode(0x0F, 0x2E);
- ins_encode(REX_reg_reg(src1, src2), OpcP, OpcS, reg_reg(src1, src2),
- cmpfp_fixup);
+ "exit:" %}
+ ins_encode %{
+ __ ucomiss($src1$$XMMRegister, $src2$$XMMRegister);
+ emit_cmpfp_fixup(_masm);
+ %}
ins_pipe(pipe_slow);
%}
instruct cmpF_cc_reg_CF(rFlagsRegUCF cr, regF src1, regF src2) %{
match(Set cr (CmpF src1 src2));
- ins_cost(145);
+ ins_cost(100);
format %{ "ucomiss $src1, $src2" %}
ins_encode %{
__ ucomiss($src1$$XMMRegister, $src2$$XMMRegister);
@@ -10209,10 +9628,11 @@ instruct cmpF_cc_mem(rFlagsRegU cr, regF src1, memory src2)
"pushfq\t# saw NaN, set CF\n\t"
"andq [rsp], #0xffffff2b\n\t"
"popfq\n"
- "exit: nop\t# avoid branch to branch" %}
- opcode(0x0F, 0x2E);
- ins_encode(REX_reg_mem(src1, src2), OpcP, OpcS, reg_mem(src1, src2),
- cmpfp_fixup);
+ "exit:" %}
+ ins_encode %{
+ __ ucomiss($src1$$XMMRegister, $src2$$Address);
+ emit_cmpfp_fixup(_masm);
+ %}
ins_pipe(pipe_slow);
%}
@@ -10221,8 +9641,9 @@ instruct cmpF_cc_memCF(rFlagsRegUCF cr, regF src1, memory src2) %{
ins_cost(100);
format %{ "ucomiss $src1, $src2" %}
- opcode(0x0F, 0x2E);
- ins_encode(REX_reg_mem(src1, src2), OpcP, OpcS, reg_mem(src1, src2));
+ ins_encode %{
+ __ ucomiss($src1$$XMMRegister, $src2$$Address);
+ %}
ins_pipe(pipe_slow);
%}
@@ -10235,7 +9656,7 @@ instruct cmpF_cc_imm(rFlagsRegU cr, regF src, immF con) %{
"pushfq\t# saw NaN, set CF\n\t"
"andq [rsp], #0xffffff2b\n\t"
"popfq\n"
- "exit: nop\t# avoid branch to branch" %}
+ "exit:" %}
ins_encode %{
__ ucomiss($src$$XMMRegister, $constantaddress($con));
emit_cmpfp_fixup(_masm);
@@ -10263,10 +9684,11 @@ instruct cmpD_cc_reg(rFlagsRegU cr, regD src1, regD src2)
"pushfq\t# saw NaN, set CF\n\t"
"andq [rsp], #0xffffff2b\n\t"
"popfq\n"
- "exit: nop\t# avoid branch to branch" %}
- opcode(0x66, 0x0F, 0x2E);
- ins_encode(OpcP, REX_reg_reg(src1, src2), OpcS, OpcT, reg_reg(src1, src2),
- cmpfp_fixup);
+ "exit:" %}
+ ins_encode %{
+ __ ucomisd($src1$$XMMRegister, $src2$$XMMRegister);
+ emit_cmpfp_fixup(_masm);
+ %}
ins_pipe(pipe_slow);
%}
@@ -10291,10 +9713,11 @@ instruct cmpD_cc_mem(rFlagsRegU cr, regD src1, memory src2)
"pushfq\t# saw NaN, set CF\n\t"
"andq [rsp], #0xffffff2b\n\t"
"popfq\n"
- "exit: nop\t# avoid branch to branch" %}
- opcode(0x66, 0x0F, 0x2E);
- ins_encode(OpcP, REX_reg_mem(src1, src2), OpcS, OpcT, reg_mem(src1, src2),
- cmpfp_fixup);
+ "exit:" %}
+ ins_encode %{
+ __ ucomisd($src1$$XMMRegister, $src2$$Address);
+ emit_cmpfp_fixup(_masm);
+ %}
ins_pipe(pipe_slow);
%}
@@ -10303,8 +9726,9 @@ instruct cmpD_cc_memCF(rFlagsRegUCF cr, regD src1, memory src2) %{
ins_cost(100);
format %{ "ucomisd $src1, $src2" %}
- opcode(0x66, 0x0F, 0x2E);
- ins_encode(OpcP, REX_reg_mem(src1, src2), OpcS, OpcT, reg_mem(src1, src2));
+ ins_encode %{
+ __ ucomisd($src1$$XMMRegister, $src2$$Address);
+ %}
ins_pipe(pipe_slow);
%}
@@ -10317,7 +9741,7 @@ instruct cmpD_cc_imm(rFlagsRegU cr, regD src, immD con) %{
"pushfq\t# saw NaN, set CF\n\t"
"andq [rsp], #0xffffff2b\n\t"
"popfq\n"
- "exit: nop\t# avoid branch to branch" %}
+ "exit:" %}
ins_encode %{
__ ucomisd($src$$XMMRegister, $constantaddress($con));
emit_cmpfp_fixup(_masm);
@@ -10349,10 +9773,10 @@ instruct cmpF_reg(rRegI dst, regF src1, regF src2, rFlagsReg cr)
"setne $dst\n\t"
"movzbl $dst, $dst\n"
"done:" %}
-
- opcode(0x0F, 0x2E);
- ins_encode(REX_reg_reg(src1, src2), OpcP, OpcS, reg_reg(src1, src2),
- cmpfp3(dst));
+ ins_encode %{
+ __ ucomiss($src1$$XMMRegister, $src2$$XMMRegister);
+ emit_cmpfp3(_masm, $dst$$Register);
+ %}
ins_pipe(pipe_slow);
%}
@@ -10370,10 +9794,10 @@ instruct cmpF_mem(rRegI dst, regF src1, memory src2, rFlagsReg cr)
"setne $dst\n\t"
"movzbl $dst, $dst\n"
"done:" %}
-
- opcode(0x0F, 0x2E);
- ins_encode(REX_reg_mem(src1, src2), OpcP, OpcS, reg_mem(src1, src2),
- cmpfp3(dst));
+ ins_encode %{
+ __ ucomiss($src1$$XMMRegister, $src2$$Address);
+ emit_cmpfp3(_masm, $dst$$Register);
+ %}
ins_pipe(pipe_slow);
%}
@@ -10391,15 +9815,8 @@ instruct cmpF_imm(rRegI dst, regF src, immF con, rFlagsReg cr) %{
"movzbl $dst, $dst\n"
"done:" %}
ins_encode %{
- Label L_done;
- Register Rdst = $dst$$Register;
__ ucomiss($src$$XMMRegister, $constantaddress($con));
- __ movl(Rdst, -1);
- __ jcc(Assembler::parity, L_done);
- __ jcc(Assembler::below, L_done);
- __ setb(Assembler::notEqual, Rdst);
- __ movzbl(Rdst, Rdst);
- __ bind(L_done);
+ emit_cmpfp3(_masm, $dst$$Register);
%}
ins_pipe(pipe_slow);
%}
@@ -10418,10 +9835,10 @@ instruct cmpD_reg(rRegI dst, regD src1, regD src2, rFlagsReg cr)
"setne $dst\n\t"
"movzbl $dst, $dst\n"
"done:" %}
-
- opcode(0x66, 0x0F, 0x2E);
- ins_encode(OpcP, REX_reg_reg(src1, src2), OpcS, OpcT, reg_reg(src1, src2),
- cmpfp3(dst));
+ ins_encode %{
+ __ ucomisd($src1$$XMMRegister, $src2$$XMMRegister);
+ emit_cmpfp3(_masm, $dst$$Register);
+ %}
ins_pipe(pipe_slow);
%}
@@ -10439,10 +9856,10 @@ instruct cmpD_mem(rRegI dst, regD src1, memory src2, rFlagsReg cr)
"setne $dst\n\t"
"movzbl $dst, $dst\n"
"done:" %}
-
- opcode(0x66, 0x0F, 0x2E);
- ins_encode(OpcP, REX_reg_mem(src1, src2), OpcS, OpcT, reg_mem(src1, src2),
- cmpfp3(dst));
+ ins_encode %{
+ __ ucomisd($src1$$XMMRegister, $src2$$Address);
+ emit_cmpfp3(_masm, $dst$$Register);
+ %}
ins_pipe(pipe_slow);
%}
@@ -10460,377 +9877,12 @@ instruct cmpD_imm(rRegI dst, regD src, immD con, rFlagsReg cr) %{
"movzbl $dst, $dst\n"
"done:" %}
ins_encode %{
- Register Rdst = $dst$$Register;
- Label L_done;
__ ucomisd($src$$XMMRegister, $constantaddress($con));
- __ movl(Rdst, -1);
- __ jcc(Assembler::parity, L_done);
- __ jcc(Assembler::below, L_done);
- __ setb(Assembler::notEqual, Rdst);
- __ movzbl(Rdst, Rdst);
- __ bind(L_done);
- %}
- ins_pipe(pipe_slow);
-%}
-
-instruct addF_reg(regF dst, regF src)
-%{
- match(Set dst (AddF dst src));
-
- format %{ "addss $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF3, 0x0F, 0x58);
- ins_encode(OpcP, REX_reg_reg(dst, src), OpcS, OpcT, reg_reg(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct addF_mem(regF dst, memory src)
-%{
- match(Set dst (AddF dst (LoadF src)));
-
- format %{ "addss $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF3, 0x0F, 0x58);
- ins_encode(OpcP, REX_reg_mem(dst, src), OpcS, OpcT, reg_mem(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct addF_imm(regF dst, immF con) %{
- match(Set dst (AddF dst con));
- format %{ "addss $dst, [$constantaddress]\t# load from constant table: float=$con" %}
- ins_cost(150); // XXX
- ins_encode %{
- __ addss($dst$$XMMRegister, $constantaddress($con));
- %}
- ins_pipe(pipe_slow);
-%}
-
-instruct addD_reg(regD dst, regD src)
-%{
- match(Set dst (AddD dst src));
-
- format %{ "addsd $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF2, 0x0F, 0x58);
- ins_encode(OpcP, REX_reg_reg(dst, src), OpcS, OpcT, reg_reg(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct addD_mem(regD dst, memory src)
-%{
- match(Set dst (AddD dst (LoadD src)));
-
- format %{ "addsd $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF2, 0x0F, 0x58);
- ins_encode(OpcP, REX_reg_mem(dst, src), OpcS, OpcT, reg_mem(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct addD_imm(regD dst, immD con) %{
- match(Set dst (AddD dst con));
- format %{ "addsd $dst, [$constantaddress]\t# load from constant table: double=$con" %}
- ins_cost(150); // XXX
- ins_encode %{
- __ addsd($dst$$XMMRegister, $constantaddress($con));
- %}
- ins_pipe(pipe_slow);
-%}
-
-instruct subF_reg(regF dst, regF src)
-%{
- match(Set dst (SubF dst src));
-
- format %{ "subss $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF3, 0x0F, 0x5C);
- ins_encode(OpcP, REX_reg_reg(dst, src), OpcS, OpcT, reg_reg(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct subF_mem(regF dst, memory src)
-%{
- match(Set dst (SubF dst (LoadF src)));
-
- format %{ "subss $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF3, 0x0F, 0x5C);
- ins_encode(OpcP, REX_reg_mem(dst, src), OpcS, OpcT, reg_mem(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct subF_imm(regF dst, immF con) %{
- match(Set dst (SubF dst con));
- format %{ "subss $dst, [$constantaddress]\t# load from constant table: float=$con" %}
- ins_cost(150); // XXX
- ins_encode %{
- __ subss($dst$$XMMRegister, $constantaddress($con));
- %}
- ins_pipe(pipe_slow);
-%}
-
-instruct subD_reg(regD dst, regD src)
-%{
- match(Set dst (SubD dst src));
-
- format %{ "subsd $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF2, 0x0F, 0x5C);
- ins_encode(OpcP, REX_reg_reg(dst, src), OpcS, OpcT, reg_reg(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct subD_mem(regD dst, memory src)
-%{
- match(Set dst (SubD dst (LoadD src)));
-
- format %{ "subsd $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF2, 0x0F, 0x5C);
- ins_encode(OpcP, REX_reg_mem(dst, src), OpcS, OpcT, reg_mem(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct subD_imm(regD dst, immD con) %{
- match(Set dst (SubD dst con));
- format %{ "subsd $dst, [$constantaddress]\t# load from constant table: double=$con" %}
- ins_cost(150); // XXX
- ins_encode %{
- __ subsd($dst$$XMMRegister, $constantaddress($con));
- %}
- ins_pipe(pipe_slow);
-%}
-
-instruct mulF_reg(regF dst, regF src)
-%{
- match(Set dst (MulF dst src));
-
- format %{ "mulss $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF3, 0x0F, 0x59);
- ins_encode(OpcP, REX_reg_reg(dst, src), OpcS, OpcT, reg_reg(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct mulF_mem(regF dst, memory src)
-%{
- match(Set dst (MulF dst (LoadF src)));
-
- format %{ "mulss $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF3, 0x0F, 0x59);
- ins_encode(OpcP, REX_reg_mem(dst, src), OpcS, OpcT, reg_mem(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct mulF_imm(regF dst, immF con) %{
- match(Set dst (MulF dst con));
- format %{ "mulss $dst, [$constantaddress]\t# load from constant table: float=$con" %}
- ins_cost(150); // XXX
- ins_encode %{
- __ mulss($dst$$XMMRegister, $constantaddress($con));
- %}
- ins_pipe(pipe_slow);
-%}
-
-instruct mulD_reg(regD dst, regD src)
-%{
- match(Set dst (MulD dst src));
-
- format %{ "mulsd $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF2, 0x0F, 0x59);
- ins_encode(OpcP, REX_reg_reg(dst, src), OpcS, OpcT, reg_reg(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct mulD_mem(regD dst, memory src)
-%{
- match(Set dst (MulD dst (LoadD src)));
-
- format %{ "mulsd $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF2, 0x0F, 0x59);
- ins_encode(OpcP, REX_reg_mem(dst, src), OpcS, OpcT, reg_mem(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct mulD_imm(regD dst, immD con) %{
- match(Set dst (MulD dst con));
- format %{ "mulsd $dst, [$constantaddress]\t# load from constant table: double=$con" %}
- ins_cost(150); // XXX
- ins_encode %{
- __ mulsd($dst$$XMMRegister, $constantaddress($con));
- %}
- ins_pipe(pipe_slow);
-%}
-
-instruct divF_reg(regF dst, regF src)
-%{
- match(Set dst (DivF dst src));
-
- format %{ "divss $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF3, 0x0F, 0x5E);
- ins_encode(OpcP, REX_reg_reg(dst, src), OpcS, OpcT, reg_reg(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct divF_mem(regF dst, memory src)
-%{
- match(Set dst (DivF dst (LoadF src)));
-
- format %{ "divss $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF3, 0x0F, 0x5E);
- ins_encode(OpcP, REX_reg_mem(dst, src), OpcS, OpcT, reg_mem(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct divF_imm(regF dst, immF con) %{
- match(Set dst (DivF dst con));
- format %{ "divss $dst, [$constantaddress]\t# load from constant table: float=$con" %}
- ins_cost(150); // XXX
- ins_encode %{
- __ divss($dst$$XMMRegister, $constantaddress($con));
- %}
- ins_pipe(pipe_slow);
-%}
-
-instruct divD_reg(regD dst, regD src)
-%{
- match(Set dst (DivD dst src));
-
- format %{ "divsd $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF2, 0x0F, 0x5E);
- ins_encode(OpcP, REX_reg_reg(dst, src), OpcS, OpcT, reg_reg(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct divD_mem(regD dst, memory src)
-%{
- match(Set dst (DivD dst (LoadD src)));
-
- format %{ "divsd $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF2, 0x0F, 0x5E);
- ins_encode(OpcP, REX_reg_mem(dst, src), OpcS, OpcT, reg_mem(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct divD_imm(regD dst, immD con) %{
- match(Set dst (DivD dst con));
- format %{ "divsd $dst, [$constantaddress]\t# load from constant table: double=$con" %}
- ins_cost(150); // XXX
- ins_encode %{
- __ divsd($dst$$XMMRegister, $constantaddress($con));
+ emit_cmpfp3(_masm, $dst$$Register);
%}
ins_pipe(pipe_slow);
%}
-instruct sqrtF_reg(regF dst, regF src)
-%{
- match(Set dst (ConvD2F (SqrtD (ConvF2D src))));
-
- format %{ "sqrtss $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF3, 0x0F, 0x51);
- ins_encode(OpcP, REX_reg_reg(dst, src), OpcS, OpcT, reg_reg(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct sqrtF_mem(regF dst, memory src)
-%{
- match(Set dst (ConvD2F (SqrtD (ConvF2D (LoadF src)))));
-
- format %{ "sqrtss $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF3, 0x0F, 0x51);
- ins_encode(OpcP, REX_reg_mem(dst, src), OpcS, OpcT, reg_mem(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct sqrtF_imm(regF dst, immF con) %{
- match(Set dst (ConvD2F (SqrtD (ConvF2D con))));
- format %{ "sqrtss $dst, [$constantaddress]\t# load from constant table: float=$con" %}
- ins_cost(150); // XXX
- ins_encode %{
- __ sqrtss($dst$$XMMRegister, $constantaddress($con));
- %}
- ins_pipe(pipe_slow);
-%}
-
-instruct sqrtD_reg(regD dst, regD src)
-%{
- match(Set dst (SqrtD src));
-
- format %{ "sqrtsd $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF2, 0x0F, 0x51);
- ins_encode(OpcP, REX_reg_reg(dst, src), OpcS, OpcT, reg_reg(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct sqrtD_mem(regD dst, memory src)
-%{
- match(Set dst (SqrtD (LoadD src)));
-
- format %{ "sqrtsd $dst, $src" %}
- ins_cost(150); // XXX
- opcode(0xF2, 0x0F, 0x51);
- ins_encode(OpcP, REX_reg_mem(dst, src), OpcS, OpcT, reg_mem(dst, src));
- ins_pipe(pipe_slow);
-%}
-
-instruct sqrtD_imm(regD dst, immD con) %{
- match(Set dst (SqrtD con));
- format %{ "sqrtsd $dst, [$constantaddress]\t# load from constant table: double=$con" %}
- ins_cost(150); // XXX
- ins_encode %{
- __ sqrtsd($dst$$XMMRegister, $constantaddress($con));
- %}
- ins_pipe(pipe_slow);
-%}
-
-instruct absF_reg(regF dst)
-%{
- match(Set dst (AbsF dst));
-
- format %{ "andps $dst, [0x7fffffff]\t# abs float by sign masking" %}
- ins_encode(absF_encoding(dst));
- ins_pipe(pipe_slow);
-%}
-
-instruct absD_reg(regD dst)
-%{
- match(Set dst (AbsD dst));
-
- format %{ "andpd $dst, [0x7fffffffffffffff]\t"
- "# abs double by sign masking" %}
- ins_encode(absD_encoding(dst));
- ins_pipe(pipe_slow);
-%}
-
-instruct negF_reg(regF dst)
-%{
- match(Set dst (NegF dst));
-
- format %{ "xorps $dst, [0x80000000]\t# neg float by sign flipping" %}
- ins_encode(negF_encoding(dst));
- ins_pipe(pipe_slow);
-%}
-
-instruct negD_reg(regD dst)
-%{
- match(Set dst (NegD dst));
-
- format %{ "xorpd $dst, [0x8000000000000000]\t"
- "# neg double by sign flipping" %}
- ins_encode(negD_encoding(dst));
- ins_pipe(pipe_slow);
-%}
-
// -----------Trig and Trancendental Instructions------------------------------
instruct cosD_reg(regD dst) %{
match(Set dst (CosD dst));
@@ -10919,8 +9971,9 @@ instruct convF2D_reg_reg(regD dst, regF src)
match(Set dst (ConvF2D src));
format %{ "cvtss2sd $dst, $src" %}
- opcode(0xF3, 0x0F, 0x5A);
- ins_encode(OpcP, REX_reg_reg(dst, src), OpcS, OpcT, reg_reg(dst, src));
+ ins_encode %{
+ __ cvtss2sd ($dst$$XMMRegister, $src$$XMMRegister);
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -10929,8 +9982,9 @@ instruct convF2D_reg_mem(regD dst, memory src)
match(Set dst (ConvF2D (LoadF src)));
format %{ "cvtss2sd $dst, $src" %}
- opcode(0xF3, 0x0F, 0x5A);
- ins_encode(OpcP, REX_reg_mem(dst, src), OpcS, OpcT, reg_mem(dst, src));
+ ins_encode %{
+ __ cvtss2sd ($dst$$XMMRegister, $src$$Address);
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -10939,8 +9993,9 @@ instruct convD2F_reg_reg(regF dst, regD src)
match(Set dst (ConvD2F src));
format %{ "cvtsd2ss $dst, $src" %}
- opcode(0xF2, 0x0F, 0x5A);
- ins_encode(OpcP, REX_reg_reg(dst, src), OpcS, OpcT, reg_reg(dst, src));
+ ins_encode %{
+ __ cvtsd2ss ($dst$$XMMRegister, $src$$XMMRegister);
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -10949,8 +10004,9 @@ instruct convD2F_reg_mem(regF dst, memory src)
match(Set dst (ConvD2F (LoadD src)));
format %{ "cvtsd2ss $dst, $src" %}
- opcode(0xF2, 0x0F, 0x5A);
- ins_encode(OpcP, REX_reg_mem(dst, src), OpcS, OpcT, reg_mem(dst, src));
+ ins_encode %{
+ __ cvtsd2ss ($dst$$XMMRegister, $src$$Address);
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -10968,9 +10024,17 @@ instruct convF2I_reg_reg(rRegI dst, regF src, rFlagsReg cr)
"call f2i_fixup\n\t"
"popq $dst\n"
"done: "%}
- opcode(0xF3, 0x0F, 0x2C);
- ins_encode(OpcP, REX_reg_reg(dst, src), OpcS, OpcT, reg_reg(dst, src),
- f2i_fixup(dst, src));
+ ins_encode %{
+ Label done;
+ __ cvttss2sil($dst$$Register, $src$$XMMRegister);
+ __ cmpl($dst$$Register, 0x80000000);
+ __ jccb(Assembler::notEqual, done);
+ __ subptr(rsp, 8);
+ __ movflt(Address(rsp, 0), $src$$XMMRegister);
+ __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::x86::f2i_fixup())));
+ __ pop($dst$$Register);
+ __ bind(done);
+ %}
ins_pipe(pipe_slow);
%}
@@ -10987,9 +10051,18 @@ instruct convF2L_reg_reg(rRegL dst, regF src, rFlagsReg cr)
"call f2l_fixup\n\t"
"popq $dst\n"
"done: "%}
- opcode(0xF3, 0x0F, 0x2C);
- ins_encode(OpcP, REX_reg_reg_wide(dst, src), OpcS, OpcT, reg_reg(dst, src),
- f2l_fixup(dst, src));
+ ins_encode %{
+ Label done;
+ __ cvttss2siq($dst$$Register, $src$$XMMRegister);
+ __ cmp64($dst$$Register,
+ ExternalAddress((address) StubRoutines::x86::double_sign_flip()));
+ __ jccb(Assembler::notEqual, done);
+ __ subptr(rsp, 8);
+ __ movflt(Address(rsp, 0), $src$$XMMRegister);
+ __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::x86::f2l_fixup())));
+ __ pop($dst$$Register);
+ __ bind(done);
+ %}
ins_pipe(pipe_slow);
%}
@@ -11006,9 +10079,17 @@ instruct convD2I_reg_reg(rRegI dst, regD src, rFlagsReg cr)
"call d2i_fixup\n\t"
"popq $dst\n"
"done: "%}
- opcode(0xF2, 0x0F, 0x2C);
- ins_encode(OpcP, REX_reg_reg(dst, src), OpcS, OpcT, reg_reg(dst, src),
- d2i_fixup(dst, src));
+ ins_encode %{
+ Label done;
+ __ cvttsd2sil($dst$$Register, $src$$XMMRegister);
+ __ cmpl($dst$$Register, 0x80000000);
+ __ jccb(Assembler::notEqual, done);
+ __ subptr(rsp, 8);
+ __ movdbl(Address(rsp, 0), $src$$XMMRegister);
+ __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::x86::d2i_fixup())));
+ __ pop($dst$$Register);
+ __ bind(done);
+ %}
ins_pipe(pipe_slow);
%}
@@ -11025,9 +10106,18 @@ instruct convD2L_reg_reg(rRegL dst, regD src, rFlagsReg cr)
"call d2l_fixup\n\t"
"popq $dst\n"
"done: "%}
- opcode(0xF2, 0x0F, 0x2C);
- ins_encode(OpcP, REX_reg_reg_wide(dst, src), OpcS, OpcT, reg_reg(dst, src),
- d2l_fixup(dst, src));
+ ins_encode %{
+ Label done;
+ __ cvttsd2siq($dst$$Register, $src$$XMMRegister);
+ __ cmp64($dst$$Register,
+ ExternalAddress((address) StubRoutines::x86::double_sign_flip()));
+ __ jccb(Assembler::notEqual, done);
+ __ subptr(rsp, 8);
+ __ movdbl(Address(rsp, 0), $src$$XMMRegister);
+ __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::x86::d2l_fixup())));
+ __ pop($dst$$Register);
+ __ bind(done);
+ %}
ins_pipe(pipe_slow);
%}
@@ -11037,8 +10127,9 @@ instruct convI2F_reg_reg(regF dst, rRegI src)
match(Set dst (ConvI2F src));
format %{ "cvtsi2ssl $dst, $src\t# i2f" %}
- opcode(0xF3, 0x0F, 0x2A);
- ins_encode(OpcP, REX_reg_reg(dst, src), OpcS, OpcT, reg_reg(dst, src));
+ ins_encode %{
+ __ cvtsi2ssl ($dst$$XMMRegister, $src$$Register);
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -11047,8 +10138,9 @@ instruct convI2F_reg_mem(regF dst, memory src)
match(Set dst (ConvI2F (LoadI src)));
format %{ "cvtsi2ssl $dst, $src\t# i2f" %}
- opcode(0xF3, 0x0F, 0x2A);
- ins_encode(OpcP, REX_reg_mem(dst, src), OpcS, OpcT, reg_mem(dst, src));
+ ins_encode %{
+ __ cvtsi2ssl ($dst$$XMMRegister, $src$$Address);
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -11058,8 +10150,9 @@ instruct convI2D_reg_reg(regD dst, rRegI src)
match(Set dst (ConvI2D src));
format %{ "cvtsi2sdl $dst, $src\t# i2d" %}
- opcode(0xF2, 0x0F, 0x2A);
- ins_encode(OpcP, REX_reg_reg(dst, src), OpcS, OpcT, reg_reg(dst, src));
+ ins_encode %{
+ __ cvtsi2sdl ($dst$$XMMRegister, $src$$Register);
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -11068,8 +10161,9 @@ instruct convI2D_reg_mem(regD dst, memory src)
match(Set dst (ConvI2D (LoadI src)));
format %{ "cvtsi2sdl $dst, $src\t# i2d" %}
- opcode(0xF2, 0x0F, 0x2A);
- ins_encode(OpcP, REX_reg_mem(dst, src), OpcS, OpcT, reg_mem(dst, src));
+ ins_encode %{
+ __ cvtsi2sdl ($dst$$XMMRegister, $src$$Address);
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -11106,8 +10200,9 @@ instruct convL2F_reg_reg(regF dst, rRegL src)
match(Set dst (ConvL2F src));
format %{ "cvtsi2ssq $dst, $src\t# l2f" %}
- opcode(0xF3, 0x0F, 0x2A);
- ins_encode(OpcP, REX_reg_reg_wide(dst, src), OpcS, OpcT, reg_reg(dst, src));
+ ins_encode %{
+ __ cvtsi2ssq ($dst$$XMMRegister, $src$$Register);
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -11116,8 +10211,9 @@ instruct convL2F_reg_mem(regF dst, memory src)
match(Set dst (ConvL2F (LoadL src)));
format %{ "cvtsi2ssq $dst, $src\t# l2f" %}
- opcode(0xF3, 0x0F, 0x2A);
- ins_encode(OpcP, REX_reg_mem_wide(dst, src), OpcS, OpcT, reg_mem(dst, src));
+ ins_encode %{
+ __ cvtsi2ssq ($dst$$XMMRegister, $src$$Address);
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -11126,8 +10222,9 @@ instruct convL2D_reg_reg(regD dst, rRegL src)
match(Set dst (ConvL2D src));
format %{ "cvtsi2sdq $dst, $src\t# l2d" %}
- opcode(0xF2, 0x0F, 0x2A);
- ins_encode(OpcP, REX_reg_reg_wide(dst, src), OpcS, OpcT, reg_reg(dst, src));
+ ins_encode %{
+ __ cvtsi2sdq ($dst$$XMMRegister, $src$$Register);
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -11136,8 +10233,9 @@ instruct convL2D_reg_mem(regD dst, memory src)
match(Set dst (ConvL2D (LoadL src)));
format %{ "cvtsi2sdq $dst, $src\t# l2d" %}
- opcode(0xF2, 0x0F, 0x2A);
- ins_encode(OpcP, REX_reg_mem_wide(dst, src), OpcS, OpcT, reg_mem(dst, src));
+ ins_encode %{
+ __ cvtsi2sdq ($dst$$XMMRegister, $src$$Address);
+ %}
ins_pipe(pipe_slow); // XXX
%}
@@ -11176,7 +10274,11 @@ instruct convI2L_reg_reg_zex(rRegL dst, rRegI src, immL_32bits mask)
match(Set dst (AndL (ConvI2L src) mask));
format %{ "movl $dst, $src\t# i2l zero-extend\n\t" %}
- ins_encode(enc_copy(dst, src));
+ ins_encode %{
+ if ($dst$$reg != $src$$reg) {
+ __ movl($dst$$Register, $src$$Register);
+ }
+ %}
ins_pipe(ialu_reg_reg);
%}
@@ -11186,8 +10288,9 @@ instruct convI2L_reg_mem_zex(rRegL dst, memory src, immL_32bits mask)
match(Set dst (AndL (ConvI2L (LoadI src)) mask));
format %{ "movl $dst, $src\t# i2l zero-extend\n\t" %}
- opcode(0x8B);
- ins_encode(REX_reg_mem(dst, src), OpcP, reg_mem(dst, src));
+ ins_encode %{
+ __ movl($dst$$Register, $src$$Address);
+ %}
ins_pipe(ialu_reg_mem);
%}
@@ -11196,7 +10299,9 @@ instruct zerox_long_reg_reg(rRegL dst, rRegL src, immL_32bits mask)
match(Set dst (AndL src mask));
format %{ "movl $dst, $src\t# zero-extend long" %}
- ins_encode(enc_copy_always(dst, src));
+ ins_encode %{
+ __ movl($dst$$Register, $src$$Register);
+ %}
ins_pipe(ialu_reg_reg);
%}
@@ -11205,7 +10310,9 @@ instruct convL2I_reg_reg(rRegI dst, rRegL src)
match(Set dst (ConvL2I src));
format %{ "movl $dst, $src\t# l2i" %}
- ins_encode(enc_copy_always(dst, src));
+ ins_encode %{
+ __ movl($dst$$Register, $src$$Register);
+ %}
ins_pipe(ialu_reg_reg);
%}
@@ -11216,8 +10323,9 @@ instruct MoveF2I_stack_reg(rRegI dst, stackSlotF src) %{
ins_cost(125);
format %{ "movl $dst, $src\t# MoveF2I_stack_reg" %}
- opcode(0x8B);
- ins_encode(REX_reg_mem(dst, src), OpcP, reg_mem(dst, src));
+ ins_encode %{
+ __ movl($dst$$Register, Address(rsp, $src$$disp));
+ %}
ins_pipe(ialu_reg_mem);
%}
@@ -11227,8 +10335,9 @@ instruct MoveI2F_stack_reg(regF dst, stackSlotI src) %{
ins_cost(125);
format %{ "movss $dst, $src\t# MoveI2F_stack_reg" %}
- opcode(0xF3, 0x0F, 0x10);
- ins_encode(OpcP, REX_reg_mem(dst, src), OpcS, OpcT, reg_mem(dst, src));
+ ins_encode %{
+ __ movflt($dst$$XMMRegister, Address(rsp, $src$$disp));
+ %}
ins_pipe(pipe_slow);
%}
@@ -11238,8 +10347,9 @@ instruct MoveD2L_stack_reg(rRegL dst, stackSlotD src) %{
ins_cost(125);
format %{ "movq $dst, $src\t# MoveD2L_stack_reg" %}
- opcode(0x8B);
- ins_encode(REX_reg_mem_wide(dst, src), OpcP, reg_mem(dst, src));
+ ins_encode %{
+ __ movq($dst$$Register, Address(rsp, $src$$disp));
+ %}
ins_pipe(ialu_reg_mem);
%}
@@ -11250,8 +10360,9 @@ instruct MoveL2D_stack_reg_partial(regD dst, stackSlotL src) %{
ins_cost(125);
format %{ "movlpd $dst, $src\t# MoveL2D_stack_reg" %}
- opcode(0x66, 0x0F, 0x12);
- ins_encode(OpcP, REX_reg_mem(dst, src), OpcS, OpcT, reg_mem(dst, src));
+ ins_encode %{
+ __ movdbl($dst$$XMMRegister, Address(rsp, $src$$disp));
+ %}
ins_pipe(pipe_slow);
%}
@@ -11262,8 +10373,9 @@ instruct MoveL2D_stack_reg(regD dst, stackSlotL src) %{
ins_cost(125);
format %{ "movsd $dst, $src\t# MoveL2D_stack_reg" %}
- opcode(0xF2, 0x0F, 0x10);
- ins_encode(OpcP, REX_reg_mem(dst, src), OpcS, OpcT, reg_mem(dst, src));
+ ins_encode %{
+ __ movdbl($dst$$XMMRegister, Address(rsp, $src$$disp));
+ %}
ins_pipe(pipe_slow);
%}
@@ -11274,8 +10386,9 @@ instruct MoveF2I_reg_stack(stackSlotI dst, regF src) %{
ins_cost(95); // XXX
format %{ "movss $dst, $src\t# MoveF2I_reg_stack" %}
- opcode(0xF3, 0x0F, 0x11);
- ins_encode(OpcP, REX_reg_mem(src, dst), OpcS, OpcT, reg_mem(src, dst));
+ ins_encode %{
+ __ movflt(Address(rsp, $dst$$disp), $src$$XMMRegister);
+ %}
ins_pipe(pipe_slow);
%}
@@ -11285,8 +10398,9 @@ instruct MoveI2F_reg_stack(stackSlotF dst, rRegI src) %{
ins_cost(100);
format %{ "movl $dst, $src\t# MoveI2F_reg_stack" %}
- opcode(0x89);
- ins_encode(REX_reg_mem(src, dst), OpcP, reg_mem(src, dst));
+ ins_encode %{
+ __ movl(Address(rsp, $dst$$disp), $src$$Register);
+ %}
ins_pipe( ialu_mem_reg );
%}
@@ -11296,8 +10410,9 @@ instruct MoveD2L_reg_stack(stackSlotL dst, regD src) %{
ins_cost(95); // XXX
format %{ "movsd $dst, $src\t# MoveL2D_reg_stack" %}
- opcode(0xF2, 0x0F, 0x11);
- ins_encode(OpcP, REX_reg_mem(src, dst), OpcS, OpcT, reg_mem(src, dst));
+ ins_encode %{
+ __ movdbl(Address(rsp, $dst$$disp), $src$$XMMRegister);
+ %}
ins_pipe(pipe_slow);
%}
@@ -11307,8 +10422,9 @@ instruct MoveL2D_reg_stack(stackSlotD dst, rRegL src) %{
ins_cost(100);
format %{ "movq $dst, $src\t# MoveL2D_reg_stack" %}
- opcode(0x89);
- ins_encode(REX_reg_mem_wide(src, dst), OpcP, reg_mem(src, dst));
+ ins_encode %{
+ __ movq(Address(rsp, $dst$$disp), $src$$Register);
+ %}
ins_pipe(ialu_mem_reg);
%}
@@ -11317,7 +10433,9 @@ instruct MoveF2I_reg_reg(rRegI dst, regF src) %{
effect(DEF dst, USE src);
ins_cost(85);
format %{ "movd $dst,$src\t# MoveF2I" %}
- ins_encode %{ __ movdl($dst$$Register, $src$$XMMRegister); %}
+ ins_encode %{
+ __ movdl($dst$$Register, $src$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
@@ -11326,7 +10444,9 @@ instruct MoveD2L_reg_reg(rRegL dst, regD src) %{
effect(DEF dst, USE src);
ins_cost(85);
format %{ "movd $dst,$src\t# MoveD2L" %}
- ins_encode %{ __ movdq($dst$$Register, $src$$XMMRegister); %}
+ ins_encode %{
+ __ movdq($dst$$Register, $src$$XMMRegister);
+ %}
ins_pipe( pipe_slow );
%}
@@ -11336,7 +10456,9 @@ instruct MoveI2F_reg_reg(regF dst, rRegI src) %{
effect(DEF dst, USE src);
ins_cost(300);
format %{ "movd $dst,$src\t# MoveI2F" %}
- ins_encode %{ __ movdl($dst$$XMMRegister, $src$$Register); %}
+ ins_encode %{
+ __ movdl($dst$$XMMRegister, $src$$Register);
+ %}
ins_pipe( pipe_slow );
%}
@@ -11345,7 +10467,9 @@ instruct MoveL2D_reg_reg(regD dst, rRegL src) %{
effect(DEF dst, USE src);
ins_cost(300);
format %{ "movd $dst,$src\t# MoveL2D" %}
- ins_encode %{ __ movdq($dst$$XMMRegister, $src$$Register); %}
+ ins_encode %{
+ __ movdq($dst$$XMMRegister, $src$$Register);
+ %}
ins_pipe( pipe_slow );
%}
@@ -11355,7 +10479,13 @@ instruct Repl8B_reg(regD dst, regD src) %{
format %{ "MOVDQA $dst,$src\n\t"
"PUNPCKLBW $dst,$dst\n\t"
"PSHUFLW $dst,$dst,0x00\t! replicate8B" %}
- ins_encode( pshufd_8x8(dst, src));
+ ins_encode %{
+ if ($dst$$reg != $src$$reg) {
+ __ movdqa($dst$$XMMRegister, $src$$XMMRegister);
+ }
+ __ punpcklbw($dst$$XMMRegister, $dst$$XMMRegister);
+ __ pshuflw($dst$$XMMRegister, $dst$$XMMRegister, 0x00);
+ %}
ins_pipe( pipe_slow );
%}
@@ -11365,7 +10495,11 @@ instruct Repl8B_rRegI(regD dst, rRegI src) %{
format %{ "MOVD $dst,$src\n\t"
"PUNPCKLBW $dst,$dst\n\t"
"PSHUFLW $dst,$dst,0x00\t! replicate8B" %}
- ins_encode( mov_i2x(dst, src), pshufd_8x8(dst, dst));
+ ins_encode %{
+ __ movdl($dst$$XMMRegister, $src$$Register);
+ __ punpcklbw($dst$$XMMRegister, $dst$$XMMRegister);
+ __ pshuflw($dst$$XMMRegister, $dst$$XMMRegister, 0x00);
+ %}
ins_pipe( pipe_slow );
%}
@@ -11373,7 +10507,9 @@ instruct Repl8B_rRegI(regD dst, rRegI src) %{
instruct Repl8B_immI0(regD dst, immI0 zero) %{
match(Set dst (Replicate8B zero));
format %{ "PXOR $dst,$dst\t! replicate8B" %}
- ins_encode( pxor(dst, dst));
+ ins_encode %{
+ __ pxor($dst$$XMMRegister, $dst$$XMMRegister);
+ %}
ins_pipe( fpu_reg_reg );
%}
@@ -11381,7 +10517,9 @@ instruct Repl8B_immI0(regD dst, immI0 zero) %{
instruct Repl4S_reg(regD dst, regD src) %{
match(Set dst (Replicate4S src));
format %{ "PSHUFLW $dst,$src,0x00\t! replicate4S" %}
- ins_encode( pshufd_4x16(dst, src));
+ ins_encode %{
+ __ pshuflw($dst$$XMMRegister, $src$$XMMRegister, 0x00);
+ %}
ins_pipe( fpu_reg_reg );
%}
@@ -11390,7 +10528,10 @@ instruct Repl4S_rRegI(regD dst, rRegI src) %{
match(Set dst (Replicate4S src));
format %{ "MOVD $dst,$src\n\t"
"PSHUFLW $dst,$dst,0x00\t! replicate4S" %}
- ins_encode( mov_i2x(dst, src), pshufd_4x16(dst, dst));
+ ins_encode %{
+ __ movdl($dst$$XMMRegister, $src$$Register);
+ __ pshuflw($dst$$XMMRegister, $dst$$XMMRegister, 0x00);
+ %}
ins_pipe( fpu_reg_reg );
%}
@@ -11398,7 +10539,9 @@ instruct Repl4S_rRegI(regD dst, rRegI src) %{
instruct Repl4S_immI0(regD dst, immI0 zero) %{
match(Set dst (Replicate4S zero));
format %{ "PXOR $dst,$dst\t! replicate4S" %}
- ins_encode( pxor(dst, dst));
+ ins_encode %{
+ __ pxor($dst$$XMMRegister, $dst$$XMMRegister);
+ %}
ins_pipe( fpu_reg_reg );
%}
@@ -11406,7 +10549,9 @@ instruct Repl4S_immI0(regD dst, immI0 zero) %{
instruct Repl4C_reg(regD dst, regD src) %{
match(Set dst (Replicate4C src));
format %{ "PSHUFLW $dst,$src,0x00\t! replicate4C" %}
- ins_encode( pshufd_4x16(dst, src));
+ ins_encode %{
+ __ pshuflw($dst$$XMMRegister, $src$$XMMRegister, 0x00);
+ %}
ins_pipe( fpu_reg_reg );
%}
@@ -11415,7 +10560,10 @@ instruct Repl4C_rRegI(regD dst, rRegI src) %{
match(Set dst (Replicate4C src));
format %{ "MOVD $dst,$src\n\t"
"PSHUFLW $dst,$dst,0x00\t! replicate4C" %}
- ins_encode( mov_i2x(dst, src), pshufd_4x16(dst, dst));
+ ins_encode %{
+ __ movdl($dst$$XMMRegister, $src$$Register);
+ __ pshuflw($dst$$XMMRegister, $dst$$XMMRegister, 0x00);
+ %}
ins_pipe( fpu_reg_reg );
%}
@@ -11423,7 +10571,9 @@ instruct Repl4C_rRegI(regD dst, rRegI src) %{
instruct Repl4C_immI0(regD dst, immI0 zero) %{
match(Set dst (Replicate4C zero));
format %{ "PXOR $dst,$dst\t! replicate4C" %}
- ins_encode( pxor(dst, dst));
+ ins_encode %{
+ __ pxor($dst$$XMMRegister, $dst$$XMMRegister);
+ %}
ins_pipe( fpu_reg_reg );
%}
@@ -11431,7 +10581,9 @@ instruct Repl4C_immI0(regD dst, immI0 zero) %{
instruct Repl2I_reg(regD dst, regD src) %{
match(Set dst (Replicate2I src));
format %{ "PSHUFD $dst,$src,0x00\t! replicate2I" %}
- ins_encode( pshufd(dst, src, 0x00));
+ ins_encode %{
+ __ pshufd($dst$$XMMRegister, $src$$XMMRegister, 0x00);
+ %}
ins_pipe( fpu_reg_reg );
%}
@@ -11440,7 +10592,10 @@ instruct Repl2I_rRegI(regD dst, rRegI src) %{
match(Set dst (Replicate2I src));
format %{ "MOVD $dst,$src\n\t"
"PSHUFD $dst,$dst,0x00\t! replicate2I" %}
- ins_encode( mov_i2x(dst, src), pshufd(dst, dst, 0x00));
+ ins_encode %{
+ __ movdl($dst$$XMMRegister, $src$$Register);
+ __ pshufd($dst$$XMMRegister, $dst$$XMMRegister, 0x00);
+ %}
ins_pipe( fpu_reg_reg );
%}
@@ -11448,7 +10603,9 @@ instruct Repl2I_rRegI(regD dst, rRegI src) %{
instruct Repl2I_immI0(regD dst, immI0 zero) %{
match(Set dst (Replicate2I zero));
format %{ "PXOR $dst,$dst\t! replicate2I" %}
- ins_encode( pxor(dst, dst));
+ ins_encode %{
+ __ pxor($dst$$XMMRegister, $dst$$XMMRegister);
+ %}
ins_pipe( fpu_reg_reg );
%}
@@ -11456,7 +10613,9 @@ instruct Repl2I_immI0(regD dst, immI0 zero) %{
instruct Repl2F_reg(regD dst, regD src) %{
match(Set dst (Replicate2F src));
format %{ "PSHUFD $dst,$src,0xe0\t! replicate2F" %}
- ins_encode( pshufd(dst, src, 0xe0));
+ ins_encode %{
+ __ pshufd($dst$$XMMRegister, $src$$XMMRegister, 0xe0);
+ %}
ins_pipe( fpu_reg_reg );
%}
@@ -11464,7 +10623,9 @@ instruct Repl2F_reg(regD dst, regD src) %{
instruct Repl2F_regF(regD dst, regF src) %{
match(Set dst (Replicate2F src));
format %{ "PSHUFD $dst,$src,0xe0\t! replicate2F" %}
- ins_encode( pshufd(dst, src, 0xe0));
+ ins_encode %{
+ __ pshufd($dst$$XMMRegister, $src$$XMMRegister, 0xe0);
+ %}
ins_pipe( fpu_reg_reg );
%}
@@ -11472,7 +10633,9 @@ instruct Repl2F_regF(regD dst, regF src) %{
instruct Repl2F_immF0(regD dst, immF0 zero) %{
match(Set dst (Replicate2F zero));
format %{ "PXOR $dst,$dst\t! replicate2F" %}
- ins_encode( pxor(dst, dst));
+ ins_encode %{
+ __ pxor($dst$$XMMRegister, $dst$$XMMRegister);
+ %}
ins_pipe( fpu_reg_reg );
%}
@@ -12152,12 +11315,12 @@ instruct partialSubtypeCheck(rdi_RegP result,
effect(KILL rcx, KILL cr);
ins_cost(1100); // slightly larger than the next version
- format %{ "movq rdi, [$sub + (sizeof(oopDesc) + Klass::secondary_supers_offset_in_bytes())]\n\t"
+ format %{ "movq rdi, [$sub + in_bytes(Klass::secondary_supers_offset())]\n\t"
"movl rcx, [rdi + arrayOopDesc::length_offset_in_bytes()]\t# length to scan\n\t"
"addq rdi, arrayOopDex::base_offset_in_bytes(T_OBJECT)\t# Skip to start of data; set NZ in case count is zero\n\t"
"repne scasq\t# Scan *rdi++ for a match with rax while rcx--\n\t"
"jne,s miss\t\t# Missed: rdi not-zero\n\t"
- "movq [$sub + (sizeof(oopDesc) + Klass::secondary_super_cache_offset_in_bytes())], $super\t# Hit: update cache\n\t"
+ "movq [$sub + in_bytes(Klass::secondary_super_cache_offset())], $super\t# Hit: update cache\n\t"
"xorq $result, $result\t\t Hit: rdi zero\n\t"
"miss:\t" %}
@@ -12175,12 +11338,12 @@ instruct partialSubtypeCheck_vs_Zero(rFlagsReg cr,
effect(KILL rcx, KILL result);
ins_cost(1000);
- format %{ "movq rdi, [$sub + (sizeof(oopDesc) + Klass::secondary_supers_offset_in_bytes())]\n\t"
+ format %{ "movq rdi, [$sub + in_bytes(Klass::secondary_supers_offset())]\n\t"
"movl rcx, [rdi + arrayOopDesc::length_offset_in_bytes()]\t# length to scan\n\t"
"addq rdi, arrayOopDex::base_offset_in_bytes(T_OBJECT)\t# Skip to start of data; set NZ in case count is zero\n\t"
"repne scasq\t# Scan *rdi++ for a match with rax while cx-- != 0\n\t"
"jne,s miss\t\t# Missed: flags nz\n\t"
- "movq [$sub + (sizeof(oopDesc) + Klass::secondary_super_cache_offset_in_bytes())], $super\t# Hit: update cache\n\t"
+ "movq [$sub + in_bytes(Klass::secondary_super_cache_offset())], $super\t# Hit: update cache\n\t"
"miss:\t" %}
opcode(0x0); // No need to XOR RDI
@@ -12348,13 +11511,13 @@ instruct jmpConUCF2_short(cmpOpUCF2 cop, rFlagsRegUCF cmp, label labl) %{
// inlined locking and unlocking
instruct cmpFastLock(rFlagsReg cr,
- rRegP object, rRegP box, rax_RegI tmp, rRegP scr)
+ rRegP object, rbx_RegP box, rax_RegI tmp, rRegP scr)
%{
match(Set cr (FastLock object box));
- effect(TEMP tmp, TEMP scr);
+ effect(TEMP tmp, TEMP scr, USE_KILL box);
ins_cost(300);
- format %{ "fastlock $object,$box,$tmp,$scr" %}
+ format %{ "fastlock $object,$box\t! kills $box,$tmp,$scr" %}
ins_encode(Fast_Lock(object, box, tmp, scr));
ins_pipe(pipe_slow);
%}
@@ -12363,10 +11526,10 @@ instruct cmpFastUnlock(rFlagsReg cr,
rRegP object, rax_RegP box, rRegP tmp)
%{
match(Set cr (FastUnlock object box));
- effect(TEMP tmp);
+ effect(TEMP tmp, USE_KILL box);
ins_cost(300);
- format %{ "fastunlock $object, $box, $tmp" %}
+ format %{ "fastunlock $object,$box\t! kills $box,$tmp" %}
ins_encode(Fast_Unlock(object, box, tmp));
ins_pipe(pipe_slow);
%}
diff --git a/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp b/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp
index 9ad237d..d4c272b 100644
--- a/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp
+++ b/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -72,6 +72,10 @@ inline intptr_t* frame::sender_sp() const {
return fp() + 1;
}
+inline intptr_t* frame::real_fp() const {
+ return fp();
+}
+
inline intptr_t* frame::link() const {
ShouldNotCallThis();
}
diff --git a/hotspot/src/cpu/zero/vm/methodHandles_zero.hpp b/hotspot/src/cpu/zero/vm/methodHandles_zero.hpp
index 84da099..086f337 100644
--- a/hotspot/src/cpu/zero/vm/methodHandles_zero.hpp
+++ b/hotspot/src/cpu/zero/vm/methodHandles_zero.hpp
@@ -29,43 +29,3 @@ enum /* platform_dependent_constants */ {
adapter_code_size = 0
};
-#define TARGET_ARCH_NYI_6939861 1
-// ..#ifdef TARGET_ARCH_NYI_6939861
-// .. // Here are some backward compatible declarations until the 6939861 ports are updated.
-// .. #define _adapter_flyby (_EK_LIMIT + 10)
-// .. #define _adapter_ricochet (_EK_LIMIT + 11)
-// .. #define _adapter_opt_spread_1 _adapter_opt_spread_1_ref
-// .. #define _adapter_opt_spread_more _adapter_opt_spread_ref
-// .. enum {
-// .. _INSERT_NO_MASK = -1,
-// .. _INSERT_REF_MASK = 0,
-// .. _INSERT_INT_MASK = 1,
-// .. _INSERT_LONG_MASK = 3
-// .. };
-// .. static void get_ek_bound_mh_info(EntryKind ek, BasicType& arg_type, int& arg_mask, int& arg_slots) {
-// .. arg_type = ek_bound_mh_arg_type(ek);
-// .. arg_mask = 0;
-// .. arg_slots = type2size[arg_type];;
-// .. }
-// .. static void get_ek_adapter_opt_swap_rot_info(EntryKind ek, int& swap_bytes, int& rotate) {
-// .. int swap_slots = ek_adapter_opt_swap_slots(ek);
-// .. rotate = ek_adapter_opt_swap_mode(ek);
-// .. swap_bytes = swap_slots * Interpreter::stackElementSize;
-// .. }
-// .. static int get_ek_adapter_opt_spread_info(EntryKind ek) {
-// .. return ek_adapter_opt_spread_count(ek);
-// .. }
-// ..
-// .. static void insert_arg_slots(MacroAssembler* _masm,
-// .. RegisterOrConstant arg_slots,
-// .. int arg_mask,
-// .. Register argslot_reg,
-// .. Register temp_reg, Register temp2_reg, Register temp3_reg = noreg);
-// ..
-// .. static void remove_arg_slots(MacroAssembler* _masm,
-// .. RegisterOrConstant arg_slots,
-// .. Register argslot_reg,
-// .. Register temp_reg, Register temp2_reg, Register temp3_reg = noreg);
-// ..
-// .. static void trace_method_handle(MacroAssembler* _masm, const char* adaptername) PRODUCT_RETURN;
-// ..#endif //TARGET_ARCH_NYI_6939861
diff --git a/hotspot/src/os/bsd/vm/decoder_machO.cpp b/hotspot/src/os/bsd/vm/decoder_machO.cpp
new file mode 100644
index 0000000..d77a32f
--- /dev/null
+++ b/hotspot/src/os/bsd/vm/decoder_machO.cpp
@@ -0,0 +1,31 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+#include "precompiled.hpp"
+
+#ifdef __APPLE__
+#include "decoder_machO.hpp"
+#endif
+
+
diff --git a/hotspot/src/os/bsd/vm/decoder_machO.hpp b/hotspot/src/os/bsd/vm/decoder_machO.hpp
new file mode 100644
index 0000000..48d0a9b
--- /dev/null
+++ b/hotspot/src/os/bsd/vm/decoder_machO.hpp
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+#ifndef OS_BSD_VM_DECODER_MACHO_HPP
+#define OS_BSD_VM_DECODER_MACHO_HPP
+
+#ifdef __APPLE__
+
+#include "utilities/decoder.hpp"
+
+// Just a placehold for now
+class MachODecoder: public NullDecoder {
+public:
+ MachODecoder() { }
+ ~MachODecoder() { }
+};
+
+#endif
+
+#endif // OS_BSD_VM_DECODER_MACHO_HPP
+
diff --git a/hotspot/src/os/bsd/vm/jvm_bsd.h b/hotspot/src/os/bsd/vm/jvm_bsd.h
index 5f96410..472269d 100644
--- a/hotspot/src/os/bsd/vm/jvm_bsd.h
+++ b/hotspot/src/os/bsd/vm/jvm_bsd.h
@@ -33,7 +33,6 @@
// All local includes have been commented out.
*/
-
#ifndef JVM_MD_H
#define JVM_MD_H
@@ -59,6 +58,7 @@
#include <dirent.h> /* For DIR */
#include <sys/param.h> /* For MAXPATHLEN */
+#include <sys/socket.h> /* For socklen_t */
#include <unistd.h> /* For F_OK, R_OK, W_OK */
#define JNI_ONLOAD_SYMBOLS {"JNI_OnLoad"}
@@ -128,8 +128,4 @@
#endif
#endif /* JVM_MD_H */
-// Reconciliation History
-// jvm_solaris.h 1.6 99/06/22 16:38:47
-// End
-
#endif // OS_BSD_VM_JVM_BSD_H
diff --git a/hotspot/src/os/bsd/vm/os_bsd.cpp b/hotspot/src/os/bsd/vm/os_bsd.cpp
index 2a3faa0..2526e65 100644
--- a/hotspot/src/os/bsd/vm/os_bsd.cpp
+++ b/hotspot/src/os/bsd/vm/os_bsd.cpp
@@ -150,7 +150,6 @@
// for timer info max values which include all bits
#define ALL_64_BITS CONST64(0xFFFFFFFFFFFFFFFF)
-#define SEC_IN_NANOSECS 1000000000LL
#define LARGEPAGES_BIT (1 << 6)
////////////////////////////////////////////////////////////////////////////////
@@ -1921,7 +1920,7 @@ bool os::dll_address_to_function_name(address addr, char *buf,
return true;
} else if (dlinfo.dli_fname != NULL && dlinfo.dli_fbase != 0) {
if (Decoder::decode((address)(addr - (address)dlinfo.dli_fbase),
- dlinfo.dli_fname, buf, buflen, offset) == Decoder::no_error) {
+ buf, buflen, offset, dlinfo.dli_fname)) {
return true;
}
}
@@ -2836,7 +2835,7 @@ void os::realign_memory(char *addr, size_t bytes, size_t alignment_hint) {
#endif
}
-void os::free_memory(char *addr, size_t bytes) {
+void os::free_memory(char *addr, size_t bytes, size_t alignment_hint) {
::madvise(addr, bytes, MADV_DONTNEED);
}
@@ -3445,8 +3444,6 @@ size_t os::read(int fd, void *buf, unsigned int nBytes) {
// generates a SIGUSRx signal. Note that SIGUSR1 can interfere with
// SIGSEGV, see 4355769.
-const int NANOSECS_PER_MILLISECS = 1000000;
-
int os::sleep(Thread* thread, jlong millis, bool interruptible) {
assert(thread == Thread::current(), "thread consistency check");
@@ -3469,7 +3466,7 @@ int os::sleep(Thread* thread, jlong millis, bool interruptible) {
// not a guarantee() because JVM should not abort on kernel/glibc bugs
assert(!Bsd::supports_monotonic_clock(), "time moving backwards");
} else {
- millis -= (newtime - prevtime) / NANOSECS_PER_MILLISECS;
+ millis -= (newtime - prevtime) / NANOSECS_PER_MILLISEC;
}
if(millis <= 0) {
@@ -3508,7 +3505,7 @@ int os::sleep(Thread* thread, jlong millis, bool interruptible) {
// not a guarantee() because JVM should not abort on kernel/glibc bugs
assert(!Bsd::supports_monotonic_clock(), "time moving backwards");
} else {
- millis -= (newtime - prevtime) / NANOSECS_PER_MILLISECS;
+ millis -= (newtime - prevtime) / NANOSECS_PER_MILLISEC;
}
if(millis <= 0) break ;
@@ -4197,7 +4194,7 @@ jlong os::Bsd::fast_thread_cpu_time(clockid_t clockid) {
int rc = os::Bsd::clock_gettime(clockid, &tp);
assert(rc == 0, "clock_gettime is expected to return 0 code");
- return (tp.tv_sec * SEC_IN_NANOSECS) + tp.tv_nsec;
+ return (tp.tv_sec * NANOSECS_PER_SEC) + tp.tv_nsec;
}
#endif
@@ -5522,9 +5519,6 @@ void os::PlatformEvent::unpark() {
* is no need to track notifications.
*/
-
-#define NANOSECS_PER_SEC 1000000000
-#define NANOSECS_PER_MILLISEC 1000000
#define MAX_SECS 100000000
/*
* This code is common to bsd and solaris and will be moved to a
@@ -5778,15 +5772,18 @@ int os::fork_and_exec(char* cmd) {
// is_headless_jre()
//
-// Test for the existence of libmawt in motif21 or xawt directories
+// Test for the existence of xawt/libmawt.so or libawt_xawt.so
// in order to report if we are running in a headless jre
//
+// Since JDK8 xawt/libmawt.so was moved into the same directory
+// as libawt.so, and renamed libawt_xawt.so
+//
bool os::is_headless_jre() {
struct stat statbuf;
char buf[MAXPATHLEN];
char libmawtpath[MAXPATHLEN];
const char *xawtstr = "/xawt/libmawt" JNI_LIB_SUFFIX;
- const char *motifstr = "/motif21/libmawt" JNI_LIB_SUFFIX;
+ const char *new_xawtstr = "/libawt_xawt" JNI_LIB_SUFFIX;
char *p;
// Get path to libjvm.so
@@ -5807,9 +5804,9 @@ bool os::is_headless_jre() {
strcat(libmawtpath, xawtstr);
if (::stat(libmawtpath, &statbuf) == 0) return false;
- // check motif21/libmawt.so
+ // check libawt_xawt.so
strcpy(libmawtpath, buf);
- strcat(libmawtpath, motifstr);
+ strcat(libmawtpath, new_xawtstr);
if (::stat(libmawtpath, &statbuf) == 0) return false;
return true;
diff --git a/hotspot/src/os/bsd/vm/os_bsd.inline.hpp b/hotspot/src/os/bsd/vm/os_bsd.inline.hpp
index 731a7e6..c582a45 100644
--- a/hotspot/src/os/bsd/vm/os_bsd.inline.hpp
+++ b/hotspot/src/os/bsd/vm/os_bsd.inline.hpp
@@ -198,15 +198,15 @@ inline int os::socket(int domain, int type, int protocol) {
return ::socket(domain, type, protocol);
}
-inline int os::recv(int fd, char *buf, int nBytes, int flags) {
- RESTARTABLE_RETURN_INT(::recv(fd, buf, nBytes, (unsigned int) flags));
+inline int os::recv(int fd, char* buf, size_t nBytes, uint flags) {
+ RESTARTABLE_RETURN_INT(::recv(fd, buf, nBytes, flags));
}
-inline int os::send(int fd, char *buf, int nBytes, int flags) {
- RESTARTABLE_RETURN_INT(::send(fd, buf, nBytes, (unsigned int) flags));
+inline int os::send(int fd, char* buf, size_t nBytes, uint flags) {
+ RESTARTABLE_RETURN_INT(::send(fd, buf, nBytes, flags));
}
-inline int os::raw_send(int fd, char *buf, int nBytes, int flags) {
+inline int os::raw_send(int fd, char* buf, size_t nBytes, uint flags) {
return os::send(fd, buf, nBytes, flags);
}
@@ -246,57 +246,52 @@ inline int os::listen(int fd, int count) {
return ::listen(fd, count);
}
-inline int os::connect(int fd, struct sockaddr *him, int len) {
+inline int os::connect(int fd, struct sockaddr* him, socklen_t len) {
RESTARTABLE_RETURN_INT(::connect(fd, him, len));
}
-inline int os::accept(int fd, struct sockaddr *him, int *len) {
- // This cast is from int to unsigned int on bsd. Since we
- // only pass the parameter "len" around the vm and don't try to
- // fetch it's value, this cast is safe for now. The java.net group
- // may need and want to change this interface someday if socklen_t goes
- // to 64 bits on some platform that we support.
-
+inline int os::accept(int fd, struct sockaddr* him, socklen_t* len) {
// At least OpenBSD and FreeBSD can return EINTR from accept.
- RESTARTABLE_RETURN_INT(::accept(fd, him, (socklen_t *)len));
+ RESTARTABLE_RETURN_INT(::accept(fd, him, len));
}
-inline int os::recvfrom(int fd, char *buf, int nBytes, int flags,
- sockaddr *from, int *fromlen) {
- RESTARTABLE_RETURN_INT(::recvfrom(fd, buf, nBytes, (unsigned int) flags, from, (socklen_t *)fromlen));
+inline int os::recvfrom(int fd, char* buf, size_t nBytes, uint flags,
+ sockaddr* from, socklen_t* fromlen) {
+ RESTARTABLE_RETURN_INT((int)::recvfrom(fd, buf, nBytes, flags, from, fromlen));
}
-inline int os::sendto(int fd, char *buf, int len, int flags,
- struct sockaddr *to, int tolen) {
- RESTARTABLE_RETURN_INT(::sendto(fd, buf, len, (unsigned int) flags, to, tolen));
+inline int os::sendto(int fd, char* buf, size_t len, uint flags,
+ struct sockaddr *to, socklen_t tolen) {
+ RESTARTABLE_RETURN_INT((int)::sendto(fd, buf, len, flags, to, tolen));
}
-inline int os::socket_shutdown(int fd, int howto){
+inline int os::socket_shutdown(int fd, int howto) {
return ::shutdown(fd, howto);
}
-inline int os::bind(int fd, struct sockaddr *him, int len){
+inline int os::bind(int fd, struct sockaddr* him, socklen_t len) {
return ::bind(fd, him, len);
}
-inline int os::get_sock_name(int fd, struct sockaddr *him, int *len){
- return ::getsockname(fd, him, (socklen_t *)len);
+inline int os::get_sock_name(int fd, struct sockaddr* him, socklen_t* len) {
+ return ::getsockname(fd, him, len);
}
-inline int os::get_host_name(char* name, int namelen){
+inline int os::get_host_name(char* name, int namelen) {
return ::gethostname(name, namelen);
}
-inline struct hostent* os::get_host_by_name(char* name) {
+inline struct hostent* os::get_host_by_name(char* name) {
return ::gethostbyname(name);
}
+
inline int os::get_sock_opt(int fd, int level, int optname,
- char *optval, int* optlen){
- return ::getsockopt(fd, level, optname, optval, (socklen_t *)optlen);
+ char *optval, socklen_t* optlen) {
+ return ::getsockopt(fd, level, optname, optval, optlen);
}
inline int os::set_sock_opt(int fd, int level, int optname,
- const char *optval, int optlen){
+ const char* optval, socklen_t optlen) {
return ::setsockopt(fd, level, optname, optval, optlen);
}
#endif // OS_BSD_VM_OS_BSD_INLINE_HPP
diff --git a/hotspot/src/os/linux/vm/decoder_linux.cpp b/hotspot/src/os/linux/vm/decoder_linux.cpp
index 88da33b..e462396 100644
--- a/hotspot/src/os/linux/vm/decoder_linux.cpp
+++ b/hotspot/src/os/linux/vm/decoder_linux.cpp
@@ -23,11 +23,11 @@
*/
#include "prims/jvm.h"
-#include "utilities/decoder.hpp"
+#include "utilities/decoder_elf.hpp"
#include <cxxabi.h>
-bool Decoder::demangle(const char* symbol, char *buf, int buflen) {
+bool ElfDecoder::demangle(const char* symbol, char *buf, int buflen) {
int status;
char* result;
size_t size = (size_t)buflen;
@@ -43,3 +43,4 @@ bool Decoder::demangle(const char* symbol, char *buf, int buflen) {
}
return false;
}
+
diff --git a/hotspot/src/os/linux/vm/jvm_linux.h b/hotspot/src/os/linux/vm/jvm_linux.h
index 795fec1..dd5e389 100644
--- a/hotspot/src/os/linux/vm/jvm_linux.h
+++ b/hotspot/src/os/linux/vm/jvm_linux.h
@@ -33,7 +33,6 @@
// All local includes have been commented out.
*/
-
#ifndef JVM_MD_H
#define JVM_MD_H
@@ -44,6 +43,7 @@
#include <dirent.h> /* For DIR */
#include <sys/param.h> /* For MAXPATHLEN */
+#include <sys/socket.h> /* For socklen_t */
#include <unistd.h> /* For F_OK, R_OK, W_OK */
#define JNI_ONLOAD_SYMBOLS {"JNI_OnLoad"}
@@ -95,8 +95,4 @@
#endif /* JVM_MD_H */
-// Reconciliation History
-// jvm_solaris.h 1.6 99/06/22 16:38:47
-// End
-
#endif // OS_LINUX_VM_JVM_LINUX_H
diff --git a/hotspot/src/os/linux/vm/os_linux.cpp b/hotspot/src/os/linux/vm/os_linux.cpp
index 3bf1039..f2e1988 100644
--- a/hotspot/src/os/linux/vm/os_linux.cpp
+++ b/hotspot/src/os/linux/vm/os_linux.cpp
@@ -127,7 +127,6 @@
// for timer info max values which include all bits
#define ALL_64_BITS CONST64(0xFFFFFFFFFFFFFFFF)
-#define SEC_IN_NANOSECS 1000000000LL
#define LARGEPAGES_BIT (1 << 6)
////////////////////////////////////////////////////////////////////////////////
@@ -1733,7 +1732,7 @@ bool os::dll_address_to_function_name(address addr, char *buf,
return true;
} else if (dlinfo.dli_fname != NULL && dlinfo.dli_fbase != 0) {
if (Decoder::decode((address)(addr - (address)dlinfo.dli_fbase),
- dlinfo.dli_fname, buf, buflen, offset) == Decoder::no_error) {
+ buf, buflen, offset, dlinfo.dli_fname)) {
return true;
}
}
@@ -2547,8 +2546,8 @@ void os::realign_memory(char *addr, size_t bytes, size_t alignment_hint) {
}
}
-void os::free_memory(char *addr, size_t bytes) {
- commit_memory(addr, bytes, false);
+void os::free_memory(char *addr, size_t bytes, size_t alignment_hint) {
+ commit_memory(addr, bytes, alignment_hint, false);
}
void os::numa_make_global(char *addr, size_t bytes) {
@@ -3259,8 +3258,6 @@ size_t os::read(int fd, void *buf, unsigned int nBytes) {
// generates a SIGUSRx signal. Note that SIGUSR1 can interfere with
// SIGSEGV, see 4355769.
-const int NANOSECS_PER_MILLISECS = 1000000;
-
int os::sleep(Thread* thread, jlong millis, bool interruptible) {
assert(thread == Thread::current(), "thread consistency check");
@@ -3283,7 +3280,7 @@ int os::sleep(Thread* thread, jlong millis, bool interruptible) {
// not a guarantee() because JVM should not abort on kernel/glibc bugs
assert(!Linux::supports_monotonic_clock(), "time moving backwards");
} else {
- millis -= (newtime - prevtime) / NANOSECS_PER_MILLISECS;
+ millis -= (newtime - prevtime) / NANOSECS_PER_MILLISEC;
}
if(millis <= 0) {
@@ -3322,7 +3319,7 @@ int os::sleep(Thread* thread, jlong millis, bool interruptible) {
// not a guarantee() because JVM should not abort on kernel/glibc bugs
assert(!Linux::supports_monotonic_clock(), "time moving backwards");
} else {
- millis -= (newtime - prevtime) / NANOSECS_PER_MILLISECS;
+ millis -= (newtime - prevtime) / NANOSECS_PER_MILLISEC;
}
if(millis <= 0) break ;
@@ -3924,7 +3921,7 @@ jlong os::Linux::fast_thread_cpu_time(clockid_t clockid) {
int rc = os::Linux::clock_gettime(clockid, &tp);
assert(rc == 0, "clock_gettime is expected to return 0 code");
- return (tp.tv_sec * SEC_IN_NANOSECS) + tp.tv_nsec;
+ return (tp.tv_sec * NANOSECS_PER_SEC) + tp.tv_nsec;
}
/////
@@ -5165,9 +5162,6 @@ void os::PlatformEvent::unpark() {
* is no need to track notifications.
*/
-
-#define NANOSECS_PER_SEC 1000000000
-#define NANOSECS_PER_MILLISEC 1000000
#define MAX_SECS 100000000
/*
* This code is common to linux and solaris and will be moved to a
@@ -5425,15 +5419,18 @@ int os::fork_and_exec(char* cmd) {
// is_headless_jre()
//
-// Test for the existence of libmawt in motif21 or xawt directories
+// Test for the existence of xawt/libmawt.so or libawt_xawt.so
// in order to report if we are running in a headless jre
//
+// Since JDK8 xawt/libmawt.so was moved into the same directory
+// as libawt.so, and renamed libawt_xawt.so
+//
bool os::is_headless_jre() {
struct stat statbuf;
char buf[MAXPATHLEN];
char libmawtpath[MAXPATHLEN];
const char *xawtstr = "/xawt/libmawt.so";
- const char *motifstr = "/motif21/libmawt.so";
+ const char *new_xawtstr = "/libawt_xawt.so";
char *p;
// Get path to libjvm.so
@@ -5454,9 +5451,9 @@ bool os::is_headless_jre() {
strcat(libmawtpath, xawtstr);
if (::stat(libmawtpath, &statbuf) == 0) return false;
- // check motif21/libmawt.so
+ // check libawt_xawt.so
strcpy(libmawtpath, buf);
- strcat(libmawtpath, motifstr);
+ strcat(libmawtpath, new_xawtstr);
if (::stat(libmawtpath, &statbuf) == 0) return false;
return true;
diff --git a/hotspot/src/os/linux/vm/os_linux.inline.hpp b/hotspot/src/os/linux/vm/os_linux.inline.hpp
index 0bddce8..566c0ad 100644
--- a/hotspot/src/os/linux/vm/os_linux.inline.hpp
+++ b/hotspot/src/os/linux/vm/os_linux.inline.hpp
@@ -202,15 +202,15 @@ inline int os::socket(int domain, int type, int protocol) {
return ::socket(domain, type, protocol);
}
-inline int os::recv(int fd, char *buf, int nBytes, int flags) {
- RESTARTABLE_RETURN_INT(::recv(fd, buf, nBytes, (unsigned int) flags));
+inline int os::recv(int fd, char* buf, size_t nBytes, uint flags) {
+ RESTARTABLE_RETURN_INT(::recv(fd, buf, nBytes, flags));
}
-inline int os::send(int fd, char *buf, int nBytes, int flags) {
- RESTARTABLE_RETURN_INT(::send(fd, buf, nBytes, (unsigned int) flags));
+inline int os::send(int fd, char* buf, size_t nBytes, uint flags) {
+ RESTARTABLE_RETURN_INT(::send(fd, buf, nBytes, flags));
}
-inline int os::raw_send(int fd, char *buf, int nBytes, int flags) {
+inline int os::raw_send(int fd, char* buf, size_t nBytes, uint flags) {
return os::send(fd, buf, nBytes, flags);
}
@@ -250,57 +250,53 @@ inline int os::listen(int fd, int count) {
return ::listen(fd, count);
}
-inline int os::connect(int fd, struct sockaddr *him, int len) {
+inline int os::connect(int fd, struct sockaddr* him, socklen_t len) {
RESTARTABLE_RETURN_INT(::connect(fd, him, len));
}
-inline int os::accept(int fd, struct sockaddr *him, int *len) {
- // This cast is from int to unsigned int on linux. Since we
- // only pass the parameter "len" around the vm and don't try to
- // fetch it's value, this cast is safe for now. The java.net group
- // may need and want to change this interface someday if socklen_t goes
- // to 64 bits on some platform that we support.
- // Linux doc says this can't return EINTR, unlike accept() on Solaris
-
- return ::accept(fd, him, (socklen_t *)len);
+inline int os::accept(int fd, struct sockaddr* him, socklen_t* len) {
+ // Linux doc says this can't return EINTR, unlike accept() on Solaris.
+ // But see attachListener_linux.cpp, LinuxAttachListener::dequeue().
+ return (int)::accept(fd, him, len);
}
-inline int os::recvfrom(int fd, char *buf, int nBytes, int flags,
- sockaddr *from, int *fromlen) {
- RESTARTABLE_RETURN_INT(::recvfrom(fd, buf, nBytes, (unsigned int) flags, from, (socklen_t *)fromlen));
+inline int os::recvfrom(int fd, char* buf, size_t nBytes, uint flags,
+ sockaddr* from, socklen_t* fromlen) {
+ RESTARTABLE_RETURN_INT((int)::recvfrom(fd, buf, nBytes, flags, from, fromlen));
}
-inline int os::sendto(int fd, char *buf, int len, int flags,
- struct sockaddr *to, int tolen) {
- RESTARTABLE_RETURN_INT(::sendto(fd, buf, len, (unsigned int) flags, to, tolen));
+inline int os::sendto(int fd, char* buf, size_t len, uint flags,
+ struct sockaddr* to, socklen_t tolen) {
+ RESTARTABLE_RETURN_INT((int)::sendto(fd, buf, len, flags, to, tolen));
}
-inline int os::socket_shutdown(int fd, int howto){
+inline int os::socket_shutdown(int fd, int howto) {
return ::shutdown(fd, howto);
}
-inline int os::bind(int fd, struct sockaddr *him, int len){
+inline int os::bind(int fd, struct sockaddr* him, socklen_t len) {
return ::bind(fd, him, len);
}
-inline int os::get_sock_name(int fd, struct sockaddr *him, int *len){
- return ::getsockname(fd, him, (socklen_t *)len);
+inline int os::get_sock_name(int fd, struct sockaddr* him, socklen_t* len) {
+ return ::getsockname(fd, him, len);
}
-inline int os::get_host_name(char* name, int namelen){
+inline int os::get_host_name(char* name, int namelen) {
return ::gethostname(name, namelen);
}
-inline struct hostent* os::get_host_by_name(char* name) {
+inline struct hostent* os::get_host_by_name(char* name) {
return ::gethostbyname(name);
}
+
inline int os::get_sock_opt(int fd, int level, int optname,
- char *optval, int* optlen){
- return ::getsockopt(fd, level, optname, optval, (socklen_t *)optlen);
+ char* optval, socklen_t* optlen) {
+ return ::getsockopt(fd, level, optname, optval, optlen);
}
inline int os::set_sock_opt(int fd, int level, int optname,
- const char *optval, int optlen){
+ const char* optval, socklen_t optlen) {
return ::setsockopt(fd, level, optname, optval, optlen);
}
#endif // OS_LINUX_VM_OS_LINUX_INLINE_HPP
diff --git a/hotspot/src/os/posix/vm/os_posix.cpp b/hotspot/src/os/posix/vm/os_posix.cpp
index 4795d06..4207834 100644
--- a/hotspot/src/os/posix/vm/os_posix.cpp
+++ b/hotspot/src/os/posix/vm/os_posix.cpp
@@ -59,6 +59,10 @@ void os::check_or_create_dump(void* exceptionRecord, void* contextRecord, char*
VMError::report_coredump_status(buffer, success);
}
+int os::get_last_error() {
+ return errno;
+}
+
bool os::is_debugger_attached() {
// not implemented
return false;
diff --git a/hotspot/src/os/solaris/vm/decoder_solaris.cpp b/hotspot/src/os/solaris/vm/decoder_solaris.cpp
index a7b4b51..d700706 100644
--- a/hotspot/src/os/solaris/vm/decoder_solaris.cpp
+++ b/hotspot/src/os/solaris/vm/decoder_solaris.cpp
@@ -22,10 +22,11 @@
*
*/
-#include "utilities/decoder.hpp"
+#include "utilities/decoder_elf.hpp"
#include <demangle.h>
-bool Decoder::demangle(const char* symbol, char *buf, int buflen) {
+bool ElfDecoder::demangle(const char* symbol, char *buf, int buflen) {
return !cplus_demangle(symbol, buf, (size_t)buflen);
}
+
diff --git a/hotspot/src/os/solaris/vm/jvm_solaris.h b/hotspot/src/os/solaris/vm/jvm_solaris.h
index 1513c16..57b32ac 100644
--- a/hotspot/src/os/solaris/vm/jvm_solaris.h
+++ b/hotspot/src/os/solaris/vm/jvm_solaris.h
@@ -33,7 +33,6 @@
// All local includes have been commented out.
*/
-
#ifndef JVM_MD_H
#define JVM_MD_H
@@ -44,6 +43,7 @@
#include <dirent.h> /* For DIR */
#include <sys/param.h> /* For MAXPATHLEN */
+#include <sys/socket.h> /* For socklen_t */
#include <unistd.h> /* For F_OK, R_OK, W_OK */
#include <sys/int_types.h> /* for intptr_t types (64 Bit cleanliness) */
@@ -82,7 +82,6 @@
#define JVM_O_EXCL O_EXCL
#define JVM_O_CREAT O_CREAT
-
/* Signal definitions */
#define BREAK_SIGNAL SIGQUIT /* Thread dumping support. */
diff --git a/hotspot/src/os/solaris/vm/os_solaris.cpp b/hotspot/src/os/solaris/vm/os_solaris.cpp
index 92664d6..939ef42 100644
--- a/hotspot/src/os/solaris/vm/os_solaris.cpp
+++ b/hotspot/src/os/solaris/vm/os_solaris.cpp
@@ -1674,7 +1674,6 @@ void* os::thread_local_storage_at(int index) {
}
-const int NANOSECS_PER_MILLISECS = 1000000;
// gethrtime can move backwards if read from one cpu and then a different cpu
// getTimeNanos is guaranteed to not move backward on Solaris
// local spinloop created as faster for a CAS on an int than
@@ -1803,7 +1802,7 @@ double os::elapsedVTime() {
// getTimeMillis guaranteed to not move backwards on Solaris
jlong getTimeMillis() {
jlong nanotime = getTimeNanos();
- return (jlong)(nanotime / NANOSECS_PER_MILLISECS);
+ return (jlong)(nanotime / NANOSECS_PER_MILLISEC);
}
// Must return millis since Jan 1 1970 for JVM_CurrentTimeMillis
@@ -1998,7 +1997,7 @@ bool os::dll_address_to_function_name(address addr, char *buf,
}
if (dlinfo.dli_fname != NULL && dlinfo.dli_fbase != 0) {
if (Decoder::decode((address)(addr - (address)dlinfo.dli_fbase),
- dlinfo.dli_fname, buf, buflen, offset) == Decoder::no_error) {
+ buf, buflen, offset, dlinfo.dli_fname)) {
return true;
}
}
@@ -2016,7 +2015,7 @@ bool os::dll_address_to_function_name(address addr, char *buf,
return true;
} else if (dlinfo.dli_fname != NULL && dlinfo.dli_fbase != 0) {
if (Decoder::decode((address)(addr - (address)dlinfo.dli_fbase),
- dlinfo.dli_fname, buf, buflen, offset) == Decoder::no_error) {
+ buf, buflen, offset, dlinfo.dli_fname)) {
return true;
}
}
@@ -2822,7 +2821,7 @@ bool os::commit_memory(char* addr, size_t bytes, size_t alignment_hint,
}
// Uncommit the pages in a specified region.
-void os::free_memory(char* addr, size_t bytes) {
+void os::free_memory(char* addr, size_t bytes, size_t alignment_hint) {
if (madvise(addr, bytes, MADV_FREE) < 0) {
debug_only(warning("MADV_FREE failed."));
return;
@@ -6064,10 +6063,7 @@ void os::PlatformEvent::unpark() {
* is no need to track notifications.
*/
-#define NANOSECS_PER_SEC 1000000000
-#define NANOSECS_PER_MILLISEC 1000000
#define MAX_SECS 100000000
-
/*
* This code is common to linux and solaris and will be moved to a
* common place in dolphin.
@@ -6311,15 +6307,18 @@ int os::fork_and_exec(char* cmd) {
// is_headless_jre()
//
-// Test for the existence of libmawt in motif21 or xawt directories
+// Test for the existence of xawt/libmawt.so or libawt_xawt.so
// in order to report if we are running in a headless jre
//
+// Since JDK8 xawt/libmawt.so was moved into the same directory
+// as libawt.so, and renamed libawt_xawt.so
+//
bool os::is_headless_jre() {
struct stat statbuf;
char buf[MAXPATHLEN];
char libmawtpath[MAXPATHLEN];
const char *xawtstr = "/xawt/libmawt.so";
- const char *motifstr = "/motif21/libmawt.so";
+ const char *new_xawtstr = "/libawt_xawt.so";
char *p;
// Get path to libjvm.so
@@ -6340,9 +6339,9 @@ bool os::is_headless_jre() {
strcat(libmawtpath, xawtstr);
if (::stat(libmawtpath, &statbuf) == 0) return false;
- // check motif21/libmawt.so
+ // check libawt_xawt.so
strcpy(libmawtpath, buf);
- strcat(libmawtpath, motifstr);
+ strcat(libmawtpath, new_xawtstr);
if (::stat(libmawtpath, &statbuf) == 0) return false;
return true;
@@ -6360,17 +6359,16 @@ int os::socket_close(int fd) {
RESTARTABLE_RETURN_INT(::close(fd));
}
-int os::recv(int fd, char *buf, int nBytes, int flags) {
- INTERRUPTIBLE_RETURN_INT(::recv(fd, buf, nBytes, flags), os::Solaris::clear_interrupted);
+int os::recv(int fd, char* buf, size_t nBytes, uint flags) {
+ INTERRUPTIBLE_RETURN_INT((int)::recv(fd, buf, nBytes, flags), os::Solaris::clear_interrupted);
}
-
-int os::send(int fd, char *buf, int nBytes, int flags) {
- INTERRUPTIBLE_RETURN_INT(::send(fd, buf, nBytes, flags), os::Solaris::clear_interrupted);
+int os::send(int fd, char* buf, size_t nBytes, uint flags) {
+ INTERRUPTIBLE_RETURN_INT((int)::send(fd, buf, nBytes, flags), os::Solaris::clear_interrupted);
}
-int os::raw_send(int fd, char *buf, int nBytes, int flags) {
- RESTARTABLE_RETURN_INT(::send(fd, buf, nBytes, flags));
+int os::raw_send(int fd, char* buf, size_t nBytes, uint flags) {
+ RESTARTABLE_RETURN_INT((int)::send(fd, buf, nBytes, flags));
}
// As both poll and select can be interrupted by signals, we have to be
@@ -6405,19 +6403,19 @@ int os::timeout(int fd, long timeout) {
}
}
-int os::connect(int fd, struct sockaddr *him, int len) {
+int os::connect(int fd, struct sockaddr *him, socklen_t len) {
int _result;
- INTERRUPTIBLE_NORESTART(::connect(fd, him, len), _result,
+ INTERRUPTIBLE_NORESTART(::connect(fd, him, len), _result,\
os::Solaris::clear_interrupted);
// Depending on when thread interruption is reset, _result could be
// one of two values when errno == EINTR
if (((_result == OS_INTRPT) || (_result == OS_ERR))
- && (errno == EINTR)) {
+ && (errno == EINTR)) {
/* restarting a connect() changes its errno semantics */
- INTERRUPTIBLE(::connect(fd, him, len), _result,
- os::Solaris::clear_interrupted);
+ INTERRUPTIBLE(::connect(fd, him, len), _result,\
+ os::Solaris::clear_interrupted);
/* undo these changes */
if (_result == OS_ERR) {
if (errno == EALREADY) {
@@ -6431,43 +6429,38 @@ int os::connect(int fd, struct sockaddr *him, int len) {
return _result;
}
-int os::accept(int fd, struct sockaddr *him, int *len) {
- if (fd < 0)
- return OS_ERR;
- INTERRUPTIBLE_RETURN_INT((int)::accept(fd, him,\
- (socklen_t*) len), os::Solaris::clear_interrupted);
- }
+int os::accept(int fd, struct sockaddr* him, socklen_t* len) {
+ if (fd < 0) {
+ return OS_ERR;
+ }
+ INTERRUPTIBLE_RETURN_INT((int)::accept(fd, him, len),\
+ os::Solaris::clear_interrupted);
+}
-int os::recvfrom(int fd, char *buf, int nBytes, int flags,
- sockaddr *from, int *fromlen) {
- //%%note jvm_r11
- INTERRUPTIBLE_RETURN_INT((int)::recvfrom(fd, buf, nBytes,\
- flags, from, fromlen), os::Solaris::clear_interrupted);
+int os::recvfrom(int fd, char* buf, size_t nBytes, uint flags,
+ sockaddr* from, socklen_t* fromlen) {
+ INTERRUPTIBLE_RETURN_INT((int)::recvfrom(fd, buf, nBytes, flags, from, fromlen),\
+ os::Solaris::clear_interrupted);
}
-int os::sendto(int fd, char *buf, int len, int flags,
- struct sockaddr *to, int tolen) {
- //%%note jvm_r11
- INTERRUPTIBLE_RETURN_INT((int)::sendto(fd, buf, len, flags,\
- to, tolen), os::Solaris::clear_interrupted);
+int os::sendto(int fd, char* buf, size_t len, uint flags,
+ struct sockaddr* to, socklen_t tolen) {
+ INTERRUPTIBLE_RETURN_INT((int)::sendto(fd, buf, len, flags, to, tolen),\
+ os::Solaris::clear_interrupted);
}
int os::socket_available(int fd, jint *pbytes) {
- if (fd < 0)
- return OS_OK;
-
- int ret;
-
- RESTARTABLE(::ioctl(fd, FIONREAD, pbytes), ret);
-
- //%% note ioctl can return 0 when successful, JVM_SocketAvailable
- // is expected to return 0 on failure and 1 on success to the jdk.
-
- return (ret == OS_ERR) ? 0 : 1;
+ if (fd < 0) {
+ return OS_OK;
+ }
+ int ret;
+ RESTARTABLE(::ioctl(fd, FIONREAD, pbytes), ret);
+ // note: ioctl can return 0 when successful, JVM_SocketAvailable
+ // is expected to return 0 on failure and 1 on success to the jdk.
+ return (ret == OS_ERR) ? 0 : 1;
}
-
-int os::bind(int fd, struct sockaddr *him, int len) {
+int os::bind(int fd, struct sockaddr* him, socklen_t len) {
INTERRUPTIBLE_RETURN_INT_NORESTART(::bind(fd, him, len),\
- os::Solaris::clear_interrupted);
+ os::Solaris::clear_interrupted);
}
diff --git a/hotspot/src/os/solaris/vm/os_solaris.inline.hpp b/hotspot/src/os/solaris/vm/os_solaris.inline.hpp
index b1e42a5..7b63bad 100644
--- a/hotspot/src/os/solaris/vm/os_solaris.inline.hpp
+++ b/hotspot/src/os/solaris/vm/os_solaris.inline.hpp
@@ -243,24 +243,25 @@ inline int os::socket_shutdown(int fd, int howto){
return ::shutdown(fd, howto);
}
-inline int os::get_sock_name(int fd, struct sockaddr *him, int *len){
- return ::getsockname(fd, him, (socklen_t*) len);
+inline int os::get_sock_name(int fd, struct sockaddr* him, socklen_t* len){
+ return ::getsockname(fd, him, len);
}
inline int os::get_host_name(char* name, int namelen){
return ::gethostname(name, namelen);
}
-inline struct hostent* os::get_host_by_name(char* name) {
+inline struct hostent* os::get_host_by_name(char* name) {
return ::gethostbyname(name);
}
+
inline int os::get_sock_opt(int fd, int level, int optname,
- char *optval, int* optlen){
- return ::getsockopt(fd, level, optname, optval, (socklen_t*) optlen);
+ char* optval, socklen_t* optlen) {
+ return ::getsockopt(fd, level, optname, optval, optlen);
}
inline int os::set_sock_opt(int fd, int level, int optname,
- const char *optval, int optlen){
+ const char *optval, socklen_t optlen) {
return ::setsockopt(fd, level, optname, optval, optlen);
}
#endif // OS_SOLARIS_VM_OS_SOLARIS_INLINE_HPP
diff --git a/hotspot/src/os/windows/vm/decoder_windows.cpp b/hotspot/src/os/windows/vm/decoder_windows.cpp
index 942f3ec..847e231 100644
--- a/hotspot/src/os/windows/vm/decoder_windows.cpp
+++ b/hotspot/src/os/windows/vm/decoder_windows.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -24,22 +24,24 @@
#include "precompiled.hpp"
#include "prims/jvm.h"
-#include "runtime/os.hpp"
-#include "utilities/decoder.hpp"
+#include "decoder_windows.hpp"
-HMODULE Decoder::_dbghelp_handle = NULL;
-bool Decoder::_can_decode_in_vm = false;
-pfn_SymGetSymFromAddr64 Decoder::_pfnSymGetSymFromAddr64 = NULL;
-pfn_UndecorateSymbolName Decoder::_pfnUndecorateSymbolName = NULL;
+WindowsDecoder::WindowsDecoder() {
+ _dbghelp_handle = NULL;
+ _can_decode_in_vm = false;
+ _pfnSymGetSymFromAddr64 = NULL;
+ _pfnUndecorateSymbolName = NULL;
-void Decoder::initialize() {
- if (!_initialized) {
- _initialized = true;
+ _decoder_status = no_error;
+ initialize();
+}
- HINSTANCE handle = os::win32::load_Windows_dll("dbghelp.dll", NULL, 0);
+void WindowsDecoder::initialize() {
+ if (!has_error() && _dbghelp_handle == NULL) {
+ HMODULE handle = ::LoadLibrary("dbghelp.dll");
if (!handle) {
_decoder_status = helper_not_found;
- return;
+ return;
}
_dbghelp_handle = handle;
@@ -70,32 +72,29 @@ void Decoder::initialize() {
// find out if jvm.dll contains private symbols, by decoding
// current function and comparing the result
- address addr = (address)Decoder::initialize;
+ address addr = (address)Decoder::decode;
char buf[MAX_PATH];
- if (decode(addr, buf, sizeof(buf), NULL) == no_error) {
- _can_decode_in_vm = !strcmp(buf, "Decoder::initialize");
+ if (decode(addr, buf, sizeof(buf), NULL)) {
+ _can_decode_in_vm = !strcmp(buf, "Decoder::decode");
}
}
}
-void Decoder::uninitialize() {
- assert(_initialized, "Decoder not yet initialized");
+void WindowsDecoder::uninitialize() {
_pfnSymGetSymFromAddr64 = NULL;
_pfnUndecorateSymbolName = NULL;
if (_dbghelp_handle != NULL) {
::FreeLibrary(_dbghelp_handle);
}
- _initialized = false;
+ _dbghelp_handle = NULL;
}
-bool Decoder::can_decode_C_frame_in_vm() {
- initialize();
- return _can_decode_in_vm;
+bool WindowsDecoder::can_decode_C_frame_in_vm() const {
+ return (!has_error() && _can_decode_in_vm);
}
-Decoder::decoder_status Decoder::decode(address addr, char *buf, int buflen, int *offset) {
- assert(_initialized, "Decoder not yet initialized");
+bool WindowsDecoder::decode(address addr, char *buf, int buflen, int* offset, const char* modulepath) {
if (_pfnSymGetSymFromAddr64 != NULL) {
PIMAGEHLP_SYMBOL64 pSymbol;
char symbolInfo[MAX_PATH + sizeof(IMAGEHLP_SYMBOL64)];
@@ -105,19 +104,20 @@ Decoder::decoder_status Decoder::decode(address addr, char *buf, int buflen, int
DWORD64 displacement;
if (_pfnSymGetSymFromAddr64(::GetCurrentProcess(), (DWORD64)addr, &displacement, pSymbol)) {
if (buf != NULL) {
- if (!demangle(pSymbol->Name, buf, buflen)) {
+ if (demangle(pSymbol->Name, buf, buflen)) {
jio_snprintf(buf, buflen, "%s", pSymbol->Name);
}
}
- if (offset != NULL) *offset = (int)displacement;
- return no_error;
+ if(offset != NULL) *offset = (int)displacement;
+ return true;
}
}
- return helper_not_found;
+ if (buf != NULL && buflen > 0) buf[0] = '\0';
+ if (offset != NULL) *offset = -1;
+ return false;
}
-bool Decoder::demangle(const char* symbol, char *buf, int buflen) {
- assert(_initialized, "Decoder not yet initialized");
+bool WindowsDecoder::demangle(const char* symbol, char *buf, int buflen) {
return _pfnUndecorateSymbolName != NULL &&
_pfnUndecorateSymbolName(symbol, buf, buflen, UNDNAME_COMPLETE);
}
diff --git a/hotspot/src/os/windows/vm/decoder_windows.hpp b/hotspot/src/os/windows/vm/decoder_windows.hpp
new file mode 100644
index 0000000..8ba488f
--- /dev/null
+++ b/hotspot/src/os/windows/vm/decoder_windows.hpp
@@ -0,0 +1,61 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+#ifndef OS_WINDOWS_VM_DECODER_WINDOWS_HPP
+#define OS_WINDOWS_VM_DECIDER_WINDOWS_HPP
+
+#include <windows.h>
+#include <imagehlp.h>
+
+#include "utilities/decoder.hpp"
+
+// functions needed for decoding symbols
+typedef DWORD (WINAPI *pfn_SymSetOptions)(DWORD);
+typedef BOOL (WINAPI *pfn_SymInitialize)(HANDLE, PCTSTR, BOOL);
+typedef BOOL (WINAPI *pfn_SymGetSymFromAddr64)(HANDLE, DWORD64, PDWORD64, PIMAGEHLP_SYMBOL64);
+typedef DWORD (WINAPI *pfn_UndecorateSymbolName)(const char*, char*, DWORD, DWORD);
+
+class WindowsDecoder: public NullDecoder {
+
+public:
+ WindowsDecoder();
+ ~WindowsDecoder() { uninitialize(); };
+
+ bool can_decode_C_frame_in_vm() const;
+ bool demangle(const char* symbol, char *buf, int buflen);
+ bool decode(address addr, char *buf, int buflen, int* offset, const char* modulepath = NULL);
+
+private:
+ void initialize();
+ void uninitialize();
+
+private:
+ HMODULE _dbghelp_handle;
+ bool _can_decode_in_vm;
+ pfn_SymGetSymFromAddr64 _pfnSymGetSymFromAddr64;
+ pfn_UndecorateSymbolName _pfnUndecorateSymbolName;
+};
+
+#endif // OS_WINDOWS_VM_DECODER_WINDOWS_HPP
+
diff --git a/hotspot/src/os/windows/vm/jvm_windows.h b/hotspot/src/os/windows/vm/jvm_windows.h
index dda8f8b..a45f86c 100644
--- a/hotspot/src/os/windows/vm/jvm_windows.h
+++ b/hotspot/src/os/windows/vm/jvm_windows.h
@@ -22,6 +22,9 @@
*
*/
+#ifndef OS_WINDOWS_VM_JVM_WINDOWS_H
+#define OS_WINDOWS_VM_JVM_WINDOWS_H
+
#ifndef _JAVASOFT_JVM_MD_H_
#define _JAVASOFT_JVM_MD_H_
@@ -54,10 +57,10 @@ typedef struct _MODULEINFO {
#include <Psapi.h>
#endif
-
-
#include <Tlhelp32.h>
+typedef unsigned int socklen_t;
+
// #include "jni.h"
#define JNI_ONLOAD_SYMBOLS {"_JNI_OnLoad at 8", "JNI_OnLoad"}
@@ -129,3 +132,5 @@ JVM_GetThreadInterruptEvent();
#define SHUTDOWN2_SIGNAL SIGTERM
#endif /* !_JAVASOFT_JVM_MD_H_ */
+
+#endif // OS_WINDOWS_VM_JVM_WINDOWS_H
diff --git a/hotspot/src/os/windows/vm/os_windows.cpp b/hotspot/src/os/windows/vm/os_windows.cpp
index e80ffb5..56d51b6 100644
--- a/hotspot/src/os/windows/vm/os_windows.cpp
+++ b/hotspot/src/os/windows/vm/os_windows.cpp
@@ -132,7 +132,6 @@ PVOID topLevelVectoredExceptionHandler = NULL;
// save DLL module handle, used by GetModuleFileName
HINSTANCE vm_lib_handle;
-static int getLastErrorString(char *buf, size_t len);
BOOL WINAPI DllMain(HINSTANCE hinst, DWORD reason, LPVOID reserved) {
switch (reason) {
@@ -821,17 +820,15 @@ jlong os::javaTimeMillis() {
}
}
-#define NANOS_PER_SEC CONST64(1000000000)
-#define NANOS_PER_MILLISEC 1000000
jlong os::javaTimeNanos() {
if (!has_performance_count) {
- return javaTimeMillis() * NANOS_PER_MILLISEC; // the best we can do.
+ return javaTimeMillis() * NANOSECS_PER_MILLISEC; // the best we can do.
} else {
LARGE_INTEGER current_count;
QueryPerformanceCounter(¤t_count);
double current = as_long(current_count);
double freq = performance_frequency;
- jlong time = (jlong)((current/freq) * NANOS_PER_SEC);
+ jlong time = (jlong)((current/freq) * NANOSECS_PER_SEC);
return time;
}
}
@@ -847,15 +844,15 @@ void os::javaTimeNanos_info(jvmtiTimerInfo *info_ptr) {
info_ptr->may_skip_forward = true;
} else {
jlong freq = performance_frequency;
- if (freq < NANOS_PER_SEC) {
+ if (freq < NANOSECS_PER_SEC) {
// the performance counter is 64 bits and we will
// be multiplying it -- so no wrap in 64 bits
info_ptr->max_value = ALL_64_BITS;
- } else if (freq > NANOS_PER_SEC) {
+ } else if (freq > NANOSECS_PER_SEC) {
// use the max value the counter can reach to
// determine the max value which could be returned
julong max_counter = (julong)ALL_64_BITS;
- info_ptr->max_value = (jlong)(max_counter / (freq / NANOS_PER_SEC));
+ info_ptr->max_value = (jlong)(max_counter / (freq / NANOSECS_PER_SEC));
} else {
// the performance counter is 64 bits and we will
// be using it directly -- so no wrap in 64 bits
@@ -1394,7 +1391,7 @@ bool os::dll_address_to_library_name(address addr, char* buf,
bool os::dll_address_to_function_name(address addr, char *buf,
int buflen, int *offset) {
- if (Decoder::decode(addr, buf, buflen, offset) == Decoder::no_error) {
+ if (Decoder::decode(addr, buf, buflen, offset)) {
return true;
}
if (offset != NULL) *offset = -1;
@@ -1454,7 +1451,7 @@ void * os::dll_load(const char *name, char *ebuf, int ebuflen)
return result;
}
- long errcode = GetLastError();
+ DWORD errcode = GetLastError();
if (errcode == ERROR_MOD_NOT_FOUND) {
strncpy(ebuf, "Can't find dependent libraries", ebuflen-1);
ebuf[ebuflen-1]='\0';
@@ -1465,11 +1462,11 @@ void * os::dll_load(const char *name, char *ebuf, int ebuflen)
// If we can read dll-info and find that dll was built
// for an architecture other than Hotspot is running in
// - then print to buffer "DLL was built for a different architecture"
- // else call getLastErrorString to obtain system error message
+ // else call os::lasterror to obtain system error message
// Read system error message into ebuf
// It may or may not be overwritten below (in the for loop and just above)
- getLastErrorString(ebuf, (size_t) ebuflen);
+ lasterror(ebuf, (size_t) ebuflen);
ebuf[ebuflen-1]='\0';
int file_descriptor=::open(name, O_RDONLY | O_BINARY, 0);
if (file_descriptor<0)
@@ -1502,7 +1499,7 @@ void * os::dll_load(const char *name, char *ebuf, int ebuflen)
::close(file_descriptor);
if (failed_to_get_lib_arch)
{
- // file i/o error - report getLastErrorString(...) msg
+ // file i/o error - report os::lasterror(...) msg
return NULL;
}
@@ -1545,7 +1542,7 @@ void * os::dll_load(const char *name, char *ebuf, int ebuflen)
"Didn't find runing architecture code in arch_array");
// If the architure is right
- // but some other error took place - report getLastErrorString(...) msg
+ // but some other error took place - report os::lasterror(...) msg
if (lib_arch == running_arch)
{
return NULL;
@@ -1777,12 +1774,12 @@ void os::print_jni_name_suffix_on(outputStream* st, int args_size) {
// This method is a copy of JDK's sysGetLastErrorString
// from src/windows/hpi/src/system_md.c
-size_t os::lasterror(char *buf, size_t len) {
- long errval;
+size_t os::lasterror(char* buf, size_t len) {
+ DWORD errval;
if ((errval = GetLastError()) != 0) {
- /* DOS error */
- int n = (int)FormatMessage(
+ // DOS error
+ size_t n = (size_t)FormatMessage(
FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
errval,
@@ -1791,7 +1788,7 @@ size_t os::lasterror(char *buf, size_t len) {
(DWORD)len,
NULL);
if (n > 3) {
- /* Drop final '.', CR, LF */
+ // Drop final '.', CR, LF
if (buf[n - 1] == '\n') n--;
if (buf[n - 1] == '\r') n--;
if (buf[n - 1] == '.') n--;
@@ -1801,17 +1798,25 @@ size_t os::lasterror(char *buf, size_t len) {
}
if (errno != 0) {
- /* C runtime error that has no corresponding DOS error code */
- const char *s = strerror(errno);
+ // C runtime error that has no corresponding DOS error code
+ const char* s = strerror(errno);
size_t n = strlen(s);
if (n >= len) n = len - 1;
strncpy(buf, s, n);
buf[n] = '\0';
return n;
}
+
return 0;
}
+int os::get_last_error() {
+ DWORD error = GetLastError();
+ if (error == 0)
+ error = errno;
+ return (int)error;
+}
+
// sun.misc.Signal
// NOTE that this is a workaround for an apparent kernel bug where if
// a signal handler for SIGBREAK is installed then that signal handler
@@ -3132,7 +3137,7 @@ bool os::unguard_memory(char* addr, size_t bytes) {
}
void os::realign_memory(char *addr, size_t bytes, size_t alignment_hint) { }
-void os::free_memory(char *addr, size_t bytes) { }
+void os::free_memory(char *addr, size_t bytes, size_t alignment_hint) { }
void os::numa_make_global(char *addr, size_t bytes) { }
void os::numa_make_local(char *addr, size_t bytes, int lgrp_hint) { }
bool os::numa_topology_changed() { return false; }
@@ -4748,7 +4753,7 @@ bool os::check_heap(bool force) {
fatal("corrupted C heap");
}
}
- int err = GetLastError();
+ DWORD err = GetLastError();
if (err != ERROR_NO_MORE_ITEMS && err != ERROR_CALL_NOT_IMPLEMENTED) {
fatal(err_msg("heap walk aborted with error %d", err));
}
@@ -4780,45 +4785,6 @@ LONG WINAPI os::win32::serialize_fault_filter(struct _EXCEPTION_POINTERS* e) {
return EXCEPTION_CONTINUE_SEARCH;
}
-static int getLastErrorString(char *buf, size_t len)
-{
- long errval;
-
- if ((errval = GetLastError()) != 0)
- {
- /* DOS error */
- size_t n = (size_t)FormatMessage(
- FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,
- NULL,
- errval,
- 0,
- buf,
- (DWORD)len,
- NULL);
- if (n > 3) {
- /* Drop final '.', CR, LF */
- if (buf[n - 1] == '\n') n--;
- if (buf[n - 1] == '\r') n--;
- if (buf[n - 1] == '.') n--;
- buf[n] = '\0';
- }
- return (int)n;
- }
-
- if (errno != 0)
- {
- /* C runtime error that has no corresponding DOS error code */
- const char *s = strerror(errno);
- size_t n = strlen(s);
- if (n >= len) n = len - 1;
- strncpy(buf, s, n);
- buf[n] = '\0';
- return (int)n;
- }
- return 0;
-}
-
-
// We don't build a headless jre for Windows
bool os::is_headless_jre() { return false; }
@@ -4851,7 +4817,7 @@ static void initSock() {
::mutexUnlock(&sockFnTableMutex);
}
-struct hostent* os::get_host_by_name(char* name) {
+struct hostent* os::get_host_by_name(char* name) {
if (!sock_initialized) {
initSock();
}
@@ -4882,39 +4848,39 @@ int os::listen(int fd, int count) {
return 0;
}
-int os::connect(int fd, struct sockaddr *him, int len) {
+int os::connect(int fd, struct sockaddr* him, socklen_t len) {
ShouldNotReachHere();
return 0;
}
-int os::accept(int fd, struct sockaddr *him, int *len) {
+int os::accept(int fd, struct sockaddr* him, socklen_t* len) {
ShouldNotReachHere();
return 0;
}
-int os::sendto(int fd, char *buf, int len, int flags,
- struct sockaddr *to, int tolen) {
+int os::sendto(int fd, char* buf, size_t len, uint flags,
+ struct sockaddr* to, socklen_t tolen) {
ShouldNotReachHere();
return 0;
}
-int os::recvfrom(int fd, char *buf, int nBytes, int flags,
- sockaddr *from, int *fromlen) {
+int os::recvfrom(int fd, char *buf, size_t nBytes, uint flags,
+ sockaddr* from, socklen_t* fromlen) {
ShouldNotReachHere();
return 0;
}
-int os::recv(int fd, char *buf, int nBytes, int flags) {
+int os::recv(int fd, char* buf, size_t nBytes, uint flags) {
ShouldNotReachHere();
return 0;
}
-int os::send(int fd, char *buf, int nBytes, int flags) {
+int os::send(int fd, char* buf, size_t nBytes, uint flags) {
ShouldNotReachHere();
return 0;
}
-int os::raw_send(int fd, char *buf, int nBytes, int flags) {
+int os::raw_send(int fd, char* buf, size_t nBytes, uint flags) {
ShouldNotReachHere();
return 0;
}
@@ -4934,24 +4900,24 @@ int os::socket_shutdown(int fd, int howto) {
return 0;
}
-int os::bind(int fd, struct sockaddr *him, int len) {
+int os::bind(int fd, struct sockaddr* him, socklen_t len) {
ShouldNotReachHere();
return 0;
}
-int os::get_sock_name(int fd, struct sockaddr *him, int *len) {
+int os::get_sock_name(int fd, struct sockaddr* him, socklen_t* len) {
ShouldNotReachHere();
return 0;
}
int os::get_sock_opt(int fd, int level, int optname,
- char *optval, int* optlen) {
+ char* optval, socklen_t* optlen) {
ShouldNotReachHere();
return 0;
}
int os::set_sock_opt(int fd, int level, int optname,
- const char *optval, int optlen) {
+ const char* optval, socklen_t optlen) {
ShouldNotReachHere();
return 0;
}
diff --git a/hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.hpp b/hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.hpp
index 7a4e710..f109e24 100644
--- a/hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.hpp
+++ b/hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.hpp
@@ -28,6 +28,8 @@
static void setup_fpu();
static bool supports_sse();
+ static jlong rdtsc();
+
static bool is_allocatable(size_t bytes);
// Used to register dynamic code cache area with the OS
diff --git a/hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.inline.hpp b/hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.inline.hpp
new file mode 100644
index 0000000..67b2482
--- /dev/null
+++ b/hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.inline.hpp
@@ -0,0 +1,46 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+#ifndef OS_CPU_BSD_X86_VM_OS_BSD_X86_INLINE_HPP
+#define OS_CPU_BSD_X86_VM_OS_BSD_X86_INLINE_HPP
+
+#include "runtime/os.hpp"
+
+// See http://www.technovelty.org/code/c/reading-rdtsc.htl for details
+inline jlong os::rdtsc() {
+#ifndef AMD64
+ // 64 bit result in edx:eax
+ uint64_t res;
+ __asm__ __volatile__ ("rdtsc" : "=A" (res));
+ return (jlong)res;
+#else
+ uint64_t res;
+ uint32_t ts1, ts2;
+ __asm__ __volatile__ ("rdtsc" : "=a" (ts1), "=d" (ts2));
+ res = ((uint64_t)ts1 | (uint64_t)ts2 << 32);
+ return (jlong)res;
+#endif // AMD64
+}
+
+#endif // OS_CPU_BSD_X86_VM_OS_BSD_X86_INLINE_HPP
diff --git a/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.hpp b/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.hpp
index 64954d4..9bb22f8 100644
--- a/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.hpp
+++ b/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, 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
@@ -28,6 +28,8 @@
static void setup_fpu();
static bool supports_sse();
+ static jlong rdtsc();
+
static bool is_allocatable(size_t bytes);
// Used to register dynamic code cache area with the OS
diff --git a/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.inline.hpp b/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.inline.hpp
new file mode 100644
index 0000000..fee719b
--- /dev/null
+++ b/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.inline.hpp
@@ -0,0 +1,46 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+#ifndef OS_CPU_LINUX_X86_VM_OS_LINUX_X86_INLINE_HPP
+#define OS_CPU_LINUX_X86_VM_OS_LINUX_X86_INLINE_HPP
+
+#include "runtime/os.hpp"
+
+// See http://www.technovelty.org/code/c/reading-rdtsc.htl for details
+inline jlong os::rdtsc() {
+#ifndef AMD64
+ // 64 bit result in edx:eax
+ uint64_t res;
+ __asm__ __volatile__ ("rdtsc" : "=A" (res));
+ return (jlong)res;
+#else
+ uint64_t res;
+ uint32_t ts1, ts2;
+ __asm__ __volatile__ ("rdtsc" : "=a" (ts1), "=d" (ts2));
+ res = ((uint64_t)ts1 | (uint64_t)ts2 << 32);
+ return (jlong)res;
+#endif // AMD64
+}
+
+#endif // OS_CPU_LINUX_X86_VM_OS_LINUX_X86_INLINE_HPP
diff --git a/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.hpp b/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.hpp
index 5841fb3..fd4f152 100644
--- a/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.hpp
+++ b/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.hpp
@@ -46,6 +46,8 @@
static bool supports_sse();
+ static jlong rdtsc();
+
static bool is_allocatable(size_t bytes);
// Used to register dynamic code cache area with the OS
diff --git a/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.inline.hpp b/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.inline.hpp
new file mode 100644
index 0000000..986884e
--- /dev/null
+++ b/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.inline.hpp
@@ -0,0 +1,32 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+#ifndef OS_CPU_SOLARIS_X86_VM_OS_SOLARIS_X86_INLINE_HPP
+#define OS_CPU_SOLARIS_X86_VM_OS_SOLARIS_X86_INLINE_HPP
+
+#include "runtime/os.hpp"
+
+inline jlong os::rdtsc() { return _raw_rdtsc(); }
+
+#endif // OS_CPU_SOLARIS_X86_VM_OS_SOLARIS_X86_INLINE_HPP
diff --git a/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_32.il b/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_32.il
index 056cb14..b635a82 100644
--- a/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_32.il
+++ b/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_32.il
@@ -43,6 +43,11 @@
movl %ebp, %eax
.end
+ // Support for os::rdtsc()
+ .inline _raw_rdtsc,0
+ rdtsc
+ .end
+
// Support for jint Atomic::add(jint inc, volatile jint* dest)
// An additional bool (os::is_MP()) is passed as the last argument.
.inline _Atomic_add,3
@@ -113,7 +118,6 @@
fistpll (%eax)
.end
-
// Support for OrderAccess::acquire()
.inline _OrderAccess_acquire,0
movl 0(%esp), %eax
diff --git a/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_64.il b/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_64.il
index b260375..fb7946b 100644
--- a/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_64.il
+++ b/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_64.il
@@ -30,12 +30,19 @@
movq %fs:0, %rax
.end
- // Get the frame pointer from current frame.
+ // Get current fp
.inline _get_current_fp,0
.volatile
movq %rbp, %rax
.end
+ // Support for os::rdtsc()
+ .inline _raw_rdtsc,0
+ rdtsc
+ salq $32, %rdx
+ orq %rdx, %rax
+ .end
+
// Support for jint Atomic::add(jint add_value, volatile jint* dest)
.inline _Atomic_add,2
movl %edi, %eax // save add_value for return
diff --git a/hotspot/src/os_cpu/windows_x86/vm/os_windows_x86.hpp b/hotspot/src/os_cpu/windows_x86/vm/os_windows_x86.hpp
index e7c3303..74e3519 100644
--- a/hotspot/src/os_cpu/windows_x86/vm/os_windows_x86.hpp
+++ b/hotspot/src/os_cpu/windows_x86/vm/os_windows_x86.hpp
@@ -58,6 +58,8 @@
static void setup_fpu();
static bool supports_sse() { return true; }
+ static jlong rdtsc();
+
static bool register_code_area(char *low, char *high);
#endif // OS_CPU_WINDOWS_X86_VM_OS_WINDOWS_X86_HPP
diff --git a/hotspot/src/os_cpu/windows_x86/vm/os_windows_x86.inline.hpp b/hotspot/src/os_cpu/windows_x86/vm/os_windows_x86.inline.hpp
new file mode 100644
index 0000000..d108e3e
--- /dev/null
+++ b/hotspot/src/os_cpu/windows_x86/vm/os_windows_x86.inline.hpp
@@ -0,0 +1,38 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+#ifndef OS_CPU_WINDOWS_X86_VM_OS_WINDOWS_X86_INLINE_HPP
+#define OS_CPU_WINDOWS_X86_VM_OS_WINDOWS_X86_INLINE_HPP
+
+#include "runtime/os.hpp"
+
+inline jlong os::rdtsc() {
+ // 32 bit: 64 bit result in edx:eax
+ // 64 bit: 64 bit value in rax
+ uint64_t res;
+ res = (uint64_t)__rdtsc();
+ return (jlong)res;
+}
+
+#endif // OS_CPU_WINDOWS_X86_VM_OS_WINDOWS_X86_INLINE_HPP
diff --git a/hotspot/src/share/vm/adlc/adlparse.cpp b/hotspot/src/share/vm/adlc/adlparse.cpp
index a730a0a..ec31e36 100644
--- a/hotspot/src/share/vm/adlc/adlparse.cpp
+++ b/hotspot/src/share/vm/adlc/adlparse.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -982,27 +982,9 @@ void ADLParser::frame_parse(void) {
}
if (strcmp(token,"interpreter_frame_pointer")==0) {
interpreter_frame_pointer_parse(frame, false);
- // Add reg_class interpreter_frame_pointer_reg
- if( _AD._register != NULL ) {
- RegClass *reg_class = _AD._register->addRegClass("interpreter_frame_pointer_reg");
- char *interpreter_frame_pointer_reg = frame->_interpreter_frame_pointer_reg;
- if( interpreter_frame_pointer_reg != NULL ) {
- RegDef *regDef = _AD._register->getRegDef(interpreter_frame_pointer_reg);
- reg_class->addReg(regDef); // add regDef to regClass
- }
- }
}
if (strcmp(token,"inline_cache_reg")==0) {
inline_cache_parse(frame, false);
- // Add reg_class inline_cache_reg
- if( _AD._register != NULL ) {
- RegClass *reg_class = _AD._register->addRegClass("inline_cache_reg");
- char *inline_cache_reg = frame->_inline_cache_reg;
- if( inline_cache_reg != NULL ) {
- RegDef *regDef = _AD._register->getRegDef(inline_cache_reg);
- reg_class->addReg(regDef); // add regDef to regClass
- }
- }
}
if (strcmp(token,"compiler_method_oop_reg")==0) {
parse_err(WARN, "Using obsolete Token, compiler_method_oop_reg");
@@ -1010,15 +992,6 @@ void ADLParser::frame_parse(void) {
}
if (strcmp(token,"interpreter_method_oop_reg")==0) {
interpreter_method_oop_parse(frame, false);
- // Add reg_class interpreter_method_oop_reg
- if( _AD._register != NULL ) {
- RegClass *reg_class = _AD._register->addRegClass("interpreter_method_oop_reg");
- char *method_oop_reg = frame->_interpreter_method_oop_reg;
- if( method_oop_reg != NULL ) {
- RegDef *regDef = _AD._register->getRegDef(method_oop_reg);
- reg_class->addReg(regDef); // add regDef to regClass
- }
- }
}
if (strcmp(token,"cisc_spilling_operand_name")==0) {
cisc_spilling_operand_name_parse(frame, false);
@@ -2363,6 +2336,14 @@ void ADLParser::reg_class_parse(void) {
}
}
next_char(); // Skip closing ')'
+ } else if (_curchar == '%') {
+ char *code = find_cpp_block("reg class");
+ if (code == NULL) {
+ parse_err(SYNERR, "missing code declaration for reg class.\n");
+ return;
+ }
+ reg_class->_user_defined = code;
+ return;
}
// Check for terminating ';'
@@ -3115,7 +3096,7 @@ void ADLParser::constant_parse_expression(EncClass* encoding, char* ec_name) {
encoding->add_code(" _constant = C->constant_table().add");
// Parse everything in ( ) expression.
- encoding->add_code("(");
+ encoding->add_code("(this, ");
next_char(); // Skip '('
int parens_depth = 1;
@@ -3130,7 +3111,8 @@ void ADLParser::constant_parse_expression(EncClass* encoding, char* ec_name) {
}
else if (_curchar == ')') {
parens_depth--;
- encoding->add_code(")");
+ if (parens_depth > 0)
+ encoding->add_code(")");
next_char();
}
else {
@@ -3157,7 +3139,7 @@ void ADLParser::constant_parse_expression(EncClass* encoding, char* ec_name) {
}
// Finish code line.
- encoding->add_code(";");
+ encoding->add_code(");");
if (_AD._adlocation_debug) {
encoding->add_code(end_line_marker());
@@ -3817,7 +3799,7 @@ void ADLParser::effect_parse(InstructForm *instr) {
return;
}
// Get list of effect-operand pairs and insert into dictionary
- else get_effectlist(instr->_effects, instr->_localNames);
+ else get_effectlist(instr->_effects, instr->_localNames, instr->_has_call);
// Debug Stuff
if (_AD._adl_debug > 1) fprintf(stderr,"Effect description: %s\n", desc);
@@ -4595,7 +4577,7 @@ void ADLParser::get_oplist(NameList ¶meters, FormDict &operands) {
// effect, and the second must be the name of an operand defined in the
// operand list of this instruction. Stores the names with a pointer to the
// effect form in a local effects table.
-void ADLParser::get_effectlist(FormDict &effects, FormDict &operands) {
+void ADLParser::get_effectlist(FormDict &effects, FormDict &operands, bool& has_call) {
OperandForm *opForm;
Effect *eForm;
char *ident;
@@ -4628,26 +4610,31 @@ void ADLParser::get_effectlist(FormDict &effects, FormDict &operands) {
// Debugging Stuff
if (_AD._adl_debug > 1) fprintf(stderr, "\tEffect Type: %s\t", ident);
skipws();
- // Get name of operand and check that it is in the local name table
- if( (ident = get_unique_ident(effects, "effect")) == NULL) {
- parse_err(SYNERR, "missing operand identifier in effect list\n");
- return;
- }
- const Form *form = operands[ident];
- opForm = form ? form->is_operand() : NULL;
- if( opForm == NULL ) {
- if( form && form->is_opclass() ) {
- const char* cname = form->is_opclass()->_ident;
- parse_err(SYNERR, "operand classes are illegal in effect lists (found %s %s)\n", cname, ident);
- } else {
- parse_err(SYNERR, "undefined operand %s in effect list\n", ident);
+ if (eForm->is(Component::CALL)) {
+ if (_AD._adl_debug > 1) fprintf(stderr, "\n");
+ has_call = true;
+ } else {
+ // Get name of operand and check that it is in the local name table
+ if( (ident = get_unique_ident(effects, "effect")) == NULL) {
+ parse_err(SYNERR, "missing operand identifier in effect list\n");
+ return;
}
- return;
+ const Form *form = operands[ident];
+ opForm = form ? form->is_operand() : NULL;
+ if( opForm == NULL ) {
+ if( form && form->is_opclass() ) {
+ const char* cname = form->is_opclass()->_ident;
+ parse_err(SYNERR, "operand classes are illegal in effect lists (found %s %s)\n", cname, ident);
+ } else {
+ parse_err(SYNERR, "undefined operand %s in effect list\n", ident);
+ }
+ return;
+ }
+ // Add the pair to the effects table
+ effects.Insert(ident, eForm);
+ // Debugging Stuff
+ if (_AD._adl_debug > 1) fprintf(stderr, "\tOperand Name: %s\n", ident);
}
- // Add the pair to the effects table
- effects.Insert(ident, eForm);
- // Debugging Stuff
- if (_AD._adl_debug > 1) fprintf(stderr, "\tOperand Name: %s\n", ident);
skipws();
} while(_curchar == ',');
diff --git a/hotspot/src/share/vm/adlc/adlparse.hpp b/hotspot/src/share/vm/adlc/adlparse.hpp
index ee33b88..8d87ab9 100644
--- a/hotspot/src/share/vm/adlc/adlparse.hpp
+++ b/hotspot/src/share/vm/adlc/adlparse.hpp
@@ -232,7 +232,7 @@ protected:
char *get_relation_dup(void);
void get_oplist(NameList ¶meters, FormDict &operands);// Parse type-operand pairs
- void get_effectlist(FormDict &effects, FormDict &operands); // Parse effect-operand pairs
+ void get_effectlist(FormDict &effects, FormDict &operands, bool& has_call); // Parse effect-operand pairs
// Return the contents of a parenthesized expression.
// Requires initial '(' and consumes final ')', which is replaced by '\0'.
char *get_paren_expr(const char *description, bool include_location = false);
diff --git a/hotspot/src/share/vm/adlc/archDesc.cpp b/hotspot/src/share/vm/adlc/archDesc.cpp
index 5b4c1fa..294e88c 100644
--- a/hotspot/src/share/vm/adlc/archDesc.cpp
+++ b/hotspot/src/share/vm/adlc/archDesc.cpp
@@ -823,9 +823,9 @@ static const char *getRegMask(const char *reg_class_name) {
} else {
char *rc_name = toUpper(reg_class_name);
const char *mask = "_mask";
- int length = (int)strlen(rc_name) + (int)strlen(mask) + 3;
+ int length = (int)strlen(rc_name) + (int)strlen(mask) + 5;
char *regMask = new char[length];
- sprintf(regMask,"%s%s", rc_name, mask);
+ sprintf(regMask,"%s%s()", rc_name, mask);
return regMask;
}
}
@@ -1018,6 +1018,9 @@ void ArchDesc::initBaseOpTypes() {
ident = "TEMP";
eForm = new Effect(ident);
_globalNames.Insert(ident, eForm);
+ ident = "CALL";
+ eForm = new Effect(ident);
+ _globalNames.Insert(ident, eForm);
}
//
diff --git a/hotspot/src/share/vm/adlc/formsopt.cpp b/hotspot/src/share/vm/adlc/formsopt.cpp
index e928753..302cd84 100644
--- a/hotspot/src/share/vm/adlc/formsopt.cpp
+++ b/hotspot/src/share/vm/adlc/formsopt.cpp
@@ -219,7 +219,9 @@ void RegDef::output(FILE *fp) { // Write info to output files
//------------------------------RegClass---------------------------------------
// Construct a register class into which registers will be inserted
-RegClass::RegClass(const char *classid) : _stack_or_reg(false), _classid(classid), _regDef(cmpstr,hashstr, Form::arena) {
+RegClass::RegClass(const char *classid) : _stack_or_reg(false), _classid(classid), _regDef(cmpstr,hashstr, Form::arena),
+ _user_defined(NULL)
+{
}
// record a register in this class
diff --git a/hotspot/src/share/vm/adlc/formsopt.hpp b/hotspot/src/share/vm/adlc/formsopt.hpp
index 2c0cad5..b6108d4 100644
--- a/hotspot/src/share/vm/adlc/formsopt.hpp
+++ b/hotspot/src/share/vm/adlc/formsopt.hpp
@@ -161,6 +161,7 @@ public:
NameList _regDefs; // List of registers in class
Dict _regDef; // Dictionary of registers in class
bool _stack_or_reg; // Allowed on any stack slot
+ char* _user_defined;
// Public Methods
RegClass(const char *classid);// Constructor
diff --git a/hotspot/src/share/vm/adlc/formssel.cpp b/hotspot/src/share/vm/adlc/formssel.cpp
index d3817ed..3c69d6a 100644
--- a/hotspot/src/share/vm/adlc/formssel.cpp
+++ b/hotspot/src/share/vm/adlc/formssel.cpp
@@ -31,7 +31,8 @@ InstructForm::InstructForm(const char *id, bool ideal_only)
: _ident(id), _ideal_only(ideal_only),
_localNames(cmpstr, hashstr, Form::arena),
_effects(cmpstr, hashstr, Form::arena),
- _is_mach_constant(false)
+ _is_mach_constant(false),
+ _has_call(false)
{
_ftype = Form::INS;
@@ -62,7 +63,8 @@ InstructForm::InstructForm(const char *id, InstructForm *instr, MatchRule *rule)
: _ident(id), _ideal_only(false),
_localNames(instr->_localNames),
_effects(instr->_effects),
- _is_mach_constant(false)
+ _is_mach_constant(false),
+ _has_call(false)
{
_ftype = Form::INS;
@@ -625,6 +627,7 @@ bool InstructForm::is_wide_memory_kill(FormDict &globals) const {
if( strcmp(_matrule->_opType,"MemBarAcquire") == 0 ) return true;
if( strcmp(_matrule->_opType,"MemBarReleaseLock") == 0 ) return true;
if( strcmp(_matrule->_opType,"MemBarAcquireLock") == 0 ) return true;
+ if( strcmp(_matrule->_opType,"MemBarStoreStore") == 0 ) return true;
return false;
}
@@ -1754,6 +1757,7 @@ static int effect_lookup(const char *name) {
if(!strcmp(name, "USE_KILL")) return Component::USE_KILL;
if(!strcmp(name, "TEMP")) return Component::TEMP;
if(!strcmp(name, "INVALID")) return Component::INVALID;
+ if(!strcmp(name, "CALL")) return Component::CALL;
assert( false,"Invalid effect name specified\n");
return Component::INVALID;
}
@@ -3975,7 +3979,8 @@ bool MatchRule::is_ideal_membar() const {
!strcmp(_opType,"MemBarAcquireLock") ||
!strcmp(_opType,"MemBarReleaseLock") ||
!strcmp(_opType,"MemBarVolatile" ) ||
- !strcmp(_opType,"MemBarCPUOrder" ) ;
+ !strcmp(_opType,"MemBarCPUOrder" ) ||
+ !strcmp(_opType,"MemBarStoreStore" );
}
bool MatchRule::is_ideal_loadPC() const {
diff --git a/hotspot/src/share/vm/adlc/formssel.hpp b/hotspot/src/share/vm/adlc/formssel.hpp
index 50d7a70..b2d3ec7 100644
--- a/hotspot/src/share/vm/adlc/formssel.hpp
+++ b/hotspot/src/share/vm/adlc/formssel.hpp
@@ -111,6 +111,8 @@ public:
ComponentList _components; // List of Components matches MachNode's
// operand structure
+ bool _has_call; // contain a call and caller save registers should be saved?
+
// Public Methods
InstructForm(const char *id, bool ideal_only = false);
InstructForm(const char *id, InstructForm *instr, MatchRule *rule);
@@ -895,7 +897,8 @@ public:
DEF = 0x2, USE_DEF = 0x3,
KILL = 0x4, USE_KILL = 0x5,
SYNTHETIC = 0x8,
- TEMP = USE | SYNTHETIC
+ TEMP = USE | SYNTHETIC,
+ CALL = 0x10
};
};
diff --git a/hotspot/src/share/vm/adlc/output_c.cpp b/hotspot/src/share/vm/adlc/output_c.cpp
index 493c31e..c65a973 100644
--- a/hotspot/src/share/vm/adlc/output_c.cpp
+++ b/hotspot/src/share/vm/adlc/output_c.cpp
@@ -162,11 +162,17 @@ void ArchDesc::declare_register_masks(FILE *fp_hpp) {
RegClass *reg_class = _register->getRegClass(rc_name);
assert( reg_class, "Using an undefined register class");
- int len = RegisterForm::RegMask_Size();
- fprintf(fp_hpp, "extern const RegMask %s%s_mask;\n", prefix, toUpper( rc_name ) );
+ if (reg_class->_user_defined == NULL) {
+ fprintf(fp_hpp, "extern const RegMask _%s%s_mask;\n", prefix, toUpper( rc_name ) );
+ fprintf(fp_hpp, "inline const RegMask &%s%s_mask() { return _%s%s_mask; }\n", prefix, toUpper( rc_name ), prefix, toUpper( rc_name ));
+ } else {
+ fprintf(fp_hpp, "inline const RegMask &%s%s_mask() { %s }\n", prefix, toUpper( rc_name ), reg_class->_user_defined);
+ }
if( reg_class->_stack_or_reg ) {
- fprintf(fp_hpp, "extern const RegMask %sSTACK_OR_%s_mask;\n", prefix, toUpper( rc_name ) );
+ assert(reg_class->_user_defined == NULL, "no user defined reg class here");
+ fprintf(fp_hpp, "extern const RegMask _%sSTACK_OR_%s_mask;\n", prefix, toUpper( rc_name ) );
+ fprintf(fp_hpp, "inline const RegMask &%sSTACK_OR_%s_mask() { return _%sSTACK_OR_%s_mask; }\n", prefix, toUpper( rc_name ), prefix, toUpper( rc_name ) );
}
}
}
@@ -188,8 +194,10 @@ void ArchDesc::build_register_masks(FILE *fp_cpp) {
RegClass *reg_class = _register->getRegClass(rc_name);
assert( reg_class, "Using an undefined register class");
+ if (reg_class->_user_defined != NULL) continue;
+
int len = RegisterForm::RegMask_Size();
- fprintf(fp_cpp, "const RegMask %s%s_mask(", prefix, toUpper( rc_name ) );
+ fprintf(fp_cpp, "const RegMask _%s%s_mask(", prefix, toUpper( rc_name ) );
{ int i;
for( i = 0; i < len-1; i++ )
fprintf(fp_cpp," 0x%x,",reg_class->regs_in_word(i,false));
@@ -198,7 +206,7 @@ void ArchDesc::build_register_masks(FILE *fp_cpp) {
if( reg_class->_stack_or_reg ) {
int i;
- fprintf(fp_cpp, "const RegMask %sSTACK_OR_%s_mask(", prefix, toUpper( rc_name ) );
+ fprintf(fp_cpp, "const RegMask _%sSTACK_OR_%s_mask(", prefix, toUpper( rc_name ) );
for( i = 0; i < len-1; i++ )
fprintf(fp_cpp," 0x%x,",reg_class->regs_in_word(i,true));
fprintf(fp_cpp," 0x%x );\n",reg_class->regs_in_word(i,true));
@@ -2585,9 +2593,9 @@ void ArchDesc::defineEvalConstant(FILE* fp, InstructForm& inst) {
// Output instruction's emit prototype
fprintf(fp, "void %sNode::eval_constant(Compile* C) {\n", inst._ident);
- // For ideal jump nodes, allocate a jump table.
+ // For ideal jump nodes, add a jump-table entry.
if (inst.is_ideal_jump()) {
- fprintf(fp, " _constant = C->constant_table().allocate_jump_table(this);\n");
+ fprintf(fp, " _constant = C->constant_table().add_jump_table(this);\n");
}
// If user did not define an encode section,
@@ -2690,7 +2698,7 @@ static void defineIn_RegMask(FILE *fp, FormDict &globals, OperandForm &oper) {
if (strcmp(first_reg_class, "stack_slots") == 0) {
fprintf(fp," return &(Compile::current()->FIRST_STACK_mask());\n");
} else {
- fprintf(fp," return &%s_mask;\n", toUpper(first_reg_class));
+ fprintf(fp," return &%s_mask();\n", toUpper(first_reg_class));
}
} else {
// Build a switch statement to return the desired mask.
@@ -2702,7 +2710,7 @@ static void defineIn_RegMask(FILE *fp, FormDict &globals, OperandForm &oper) {
if( !strcmp(reg_class, "stack_slots") ) {
fprintf(fp, " case %d: return &(Compile::current()->FIRST_STACK_mask());\n", index);
} else {
- fprintf(fp, " case %d: return &%s_mask;\n", index, toUpper(reg_class));
+ fprintf(fp, " case %d: return &%s_mask();\n", index, toUpper(reg_class));
}
}
fprintf(fp," }\n");
@@ -4080,8 +4088,6 @@ void ArchDesc::buildFrameMethods(FILE *fp_cpp) {
fprintf(fp_cpp,"OptoReg::Name Matcher::inline_cache_reg() {");
fprintf(fp_cpp," return OptoReg::Name(%s_num); }\n\n",
_frame->_inline_cache_reg);
- fprintf(fp_cpp,"const RegMask &Matcher::inline_cache_reg_mask() {");
- fprintf(fp_cpp," return INLINE_CACHE_REG_mask; }\n\n");
fprintf(fp_cpp,"int Matcher::inline_cache_reg_encode() {");
fprintf(fp_cpp," return _regEncode[inline_cache_reg()]; }\n\n");
@@ -4089,8 +4095,6 @@ void ArchDesc::buildFrameMethods(FILE *fp_cpp) {
fprintf(fp_cpp,"OptoReg::Name Matcher::interpreter_method_oop_reg() {");
fprintf(fp_cpp," return OptoReg::Name(%s_num); }\n\n",
_frame->_interpreter_method_oop_reg);
- fprintf(fp_cpp,"const RegMask &Matcher::interpreter_method_oop_reg_mask() {");
- fprintf(fp_cpp," return INTERPRETER_METHOD_OOP_REG_mask; }\n\n");
fprintf(fp_cpp,"int Matcher::interpreter_method_oop_reg_encode() {");
fprintf(fp_cpp," return _regEncode[interpreter_method_oop_reg()]; }\n\n");
@@ -4101,11 +4105,6 @@ void ArchDesc::buildFrameMethods(FILE *fp_cpp) {
else
fprintf(fp_cpp," return OptoReg::Name(%s_num); }\n\n",
_frame->_interpreter_frame_pointer_reg);
- fprintf(fp_cpp,"const RegMask &Matcher::interpreter_frame_pointer_reg_mask() {");
- if (_frame->_interpreter_frame_pointer_reg == NULL)
- fprintf(fp_cpp," static RegMask dummy; return dummy; }\n\n");
- else
- fprintf(fp_cpp," return INTERPRETER_FRAME_POINTER_REG_mask; }\n\n");
// Frame Pointer definition
/* CNC - I can not contemplate having a different frame pointer between
diff --git a/hotspot/src/share/vm/adlc/output_h.cpp b/hotspot/src/share/vm/adlc/output_h.cpp
index 9e609b8..ea066eb 100644
--- a/hotspot/src/share/vm/adlc/output_h.cpp
+++ b/hotspot/src/share/vm/adlc/output_h.cpp
@@ -1720,6 +1720,16 @@ void ArchDesc::declareClasses(FILE *fp) {
}
}
+ // flag: if this instruction is implemented with a call
+ if ( instr->_has_call ) {
+ if ( node_flags_set ) {
+ fprintf(fp," | Flag_has_call");
+ } else {
+ fprintf(fp,"init_flags(Flag_has_call");
+ node_flags_set = true;
+ }
+ }
+
if ( node_flags_set ) {
fprintf(fp,"); ");
}
diff --git a/hotspot/src/share/vm/asm/assembler.cpp b/hotspot/src/share/vm/asm/assembler.cpp
index 86011e9..2bcdcbc 100644
--- a/hotspot/src/share/vm/asm/assembler.cpp
+++ b/hotspot/src/share/vm/asm/assembler.cpp
@@ -61,6 +61,7 @@ AbstractAssembler::AbstractAssembler(CodeBuffer* code) {
_code_limit = cs->limit();
_code_pos = cs->end();
_oop_recorder= code->oop_recorder();
+ DEBUG_ONLY( _short_branch_delta = 0; )
if (_code_begin == NULL) {
vm_exit_out_of_memory(0, err_msg("CodeCache: no room for %s",
code->name()));
diff --git a/hotspot/src/share/vm/asm/assembler.hpp b/hotspot/src/share/vm/asm/assembler.hpp
index 829e561..c25aa3f 100644
--- a/hotspot/src/share/vm/asm/assembler.hpp
+++ b/hotspot/src/share/vm/asm/assembler.hpp
@@ -241,6 +241,33 @@ class AbstractAssembler : public ResourceObj {
// Make it return true on platforms which need to verify
// instruction boundaries for some operations.
inline static bool pd_check_instruction_mark();
+
+ // Add delta to short branch distance to verify that it still fit into imm8.
+ int _short_branch_delta;
+
+ int short_branch_delta() const { return _short_branch_delta; }
+ void set_short_branch_delta() { _short_branch_delta = 32; }
+ void clear_short_branch_delta() { _short_branch_delta = 0; }
+
+ class ShortBranchVerifier: public StackObj {
+ private:
+ AbstractAssembler* _assm;
+
+ public:
+ ShortBranchVerifier(AbstractAssembler* assm) : _assm(assm) {
+ assert(assm->short_branch_delta() == 0, "overlapping instructions");
+ _assm->set_short_branch_delta();
+ }
+ ~ShortBranchVerifier() {
+ _assm->clear_short_branch_delta();
+ }
+ };
+ #else
+ // Dummy in product.
+ class ShortBranchVerifier: public StackObj {
+ public:
+ ShortBranchVerifier(AbstractAssembler* assm) {}
+ };
#endif
// Label functions
@@ -257,6 +284,29 @@ class AbstractAssembler : public ResourceObj {
// ensure buf contains all code (call this before using/copying the code)
void flush();
+ // min and max values for signed immediate ranges
+ static int min_simm(int nbits) { return -(intptr_t(1) << (nbits - 1)) ; }
+ static int max_simm(int nbits) { return (intptr_t(1) << (nbits - 1)) - 1; }
+
+ // Define some:
+ static int min_simm10() { return min_simm(10); }
+ static int min_simm13() { return min_simm(13); }
+ static int min_simm16() { return min_simm(16); }
+
+ // Test if x is within signed immediate range for nbits
+ static bool is_simm(intptr_t x, int nbits) { return min_simm(nbits) <= x && x <= max_simm(nbits); }
+
+ // Define some:
+ static bool is_simm5( intptr_t x) { return is_simm(x, 5 ); }
+ static bool is_simm8( intptr_t x) { return is_simm(x, 8 ); }
+ static bool is_simm10(intptr_t x) { return is_simm(x, 10); }
+ static bool is_simm11(intptr_t x) { return is_simm(x, 11); }
+ static bool is_simm12(intptr_t x) { return is_simm(x, 12); }
+ static bool is_simm13(intptr_t x) { return is_simm(x, 13); }
+ static bool is_simm16(intptr_t x) { return is_simm(x, 16); }
+ static bool is_simm26(intptr_t x) { return is_simm(x, 26); }
+ static bool is_simm32(intptr_t x) { return is_simm(x, 32); }
+
// Accessors
CodeBuffer* code() const; // _code_section->outer()
CodeSection* code_section() const { return _code_section; }
diff --git a/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp b/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp
index 0c3f32b..fbda48f 100644
--- a/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp
+++ b/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp
@@ -3495,9 +3495,6 @@ bool GraphBuilder::try_inline_full(ciMethod* callee, bool holder_known, BlockBeg
if (profile_calls()) {
profile_call(recv, holder_known ? callee->holder() : NULL);
}
- if (profile_inlined_calls()) {
- profile_invocation(callee, copy_state_before());
- }
}
// Introduce a new callee continuation point - if the callee has
@@ -3571,6 +3568,10 @@ bool GraphBuilder::try_inline_full(ciMethod* callee, bool holder_known, BlockBeg
append(new RuntimeCall(voidType, "dtrace_method_entry", CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_entry), args));
}
+ if (profile_inlined_calls()) {
+ profile_invocation(callee, copy_state_before_with_bci(SynchronizationEntryBCI));
+ }
+
BlockBegin* callee_start_block = block_at(0);
if (callee_start_block != NULL) {
assert(callee_start_block->is_set(BlockBegin::parser_loop_header_flag), "must be loop header");
diff --git a/hotspot/src/share/vm/c1/c1_Instruction.hpp b/hotspot/src/share/vm/c1/c1_Instruction.hpp
index 44022c2..9f9de6a 100644
--- a/hotspot/src/share/vm/c1/c1_Instruction.hpp
+++ b/hotspot/src/share/vm/c1/c1_Instruction.hpp
@@ -501,6 +501,7 @@ class Instruction: public CompilationResourceObj {
virtual RoundFP* as_RoundFP() { return NULL; }
virtual ExceptionObject* as_ExceptionObject() { return NULL; }
virtual UnsafeOp* as_UnsafeOp() { return NULL; }
+ virtual ProfileInvoke* as_ProfileInvoke() { return NULL; }
virtual void visit(InstructionVisitor* v) = 0;
diff --git a/hotspot/src/share/vm/c1/c1_LIR.cpp b/hotspot/src/share/vm/c1/c1_LIR.cpp
index 267b966..629d849 100644
--- a/hotspot/src/share/vm/c1/c1_LIR.cpp
+++ b/hotspot/src/share/vm/c1/c1_LIR.cpp
@@ -854,6 +854,9 @@ void LIR_OpVisitState::visit(LIR_Op* op) {
if (opTypeCheck->_info_for_exception) do_info(opTypeCheck->_info_for_exception);
if (opTypeCheck->_info_for_patch) do_info(opTypeCheck->_info_for_patch);
if (opTypeCheck->_object->is_valid()) do_input(opTypeCheck->_object);
+ if (op->code() == lir_store_check && opTypeCheck->_object->is_valid()) {
+ do_temp(opTypeCheck->_object);
+ }
if (opTypeCheck->_array->is_valid()) do_input(opTypeCheck->_array);
if (opTypeCheck->_tmp1->is_valid()) do_temp(opTypeCheck->_tmp1);
if (opTypeCheck->_tmp2->is_valid()) do_temp(opTypeCheck->_tmp2);
diff --git a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
index f9099e9..5f3155d 100644
--- a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
+++ b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
@@ -429,7 +429,7 @@ CodeEmitInfo* LIRGenerator::state_for(Instruction* x, ValueStack* state, bool ig
// all locals are dead on exit from the synthetic unlocker
liveness.clear();
} else {
- assert(x->as_MonitorEnter(), "only other case is MonitorEnter");
+ assert(x->as_MonitorEnter() || x->as_ProfileInvoke(), "only other cases are MonitorEnter and ProfileInvoke");
}
}
if (!liveness.is_valid()) {
@@ -1256,8 +1256,7 @@ void LIRGenerator::do_getClass(Intrinsic* x) {
info = state_for(x);
}
__ move(new LIR_Address(rcvr.result(), oopDesc::klass_offset_in_bytes(), T_OBJECT), result, info);
- __ move_wide(new LIR_Address(result, Klass::java_mirror_offset_in_bytes() +
- klassOopDesc::klass_part_offset_in_bytes(), T_OBJECT), result);
+ __ move_wide(new LIR_Address(result, in_bytes(Klass::java_mirror_offset()), T_OBJECT), result);
}
diff --git a/hotspot/src/share/vm/c1/c1_Optimizer.cpp b/hotspot/src/share/vm/c1/c1_Optimizer.cpp
index 5c3640b..e1a0ef7 100644
--- a/hotspot/src/share/vm/c1/c1_Optimizer.cpp
+++ b/hotspot/src/share/vm/c1/c1_Optimizer.cpp
@@ -122,18 +122,32 @@ void CE_Eliminator::block_do(BlockBegin* block) {
if (sux != f_goto->default_sux()) return;
// check if at least one word was pushed on sux_state
+ // inlining depths must match
+ ValueStack* if_state = if_->state();
ValueStack* sux_state = sux->state();
- if (sux_state->stack_size() <= if_->state()->stack_size()) return;
+ if (if_state->scope()->level() > sux_state->scope()->level()) {
+ while (sux_state->scope() != if_state->scope()) {
+ if_state = if_state->caller_state();
+ assert(if_state != NULL, "states do not match up");
+ }
+ } else if (if_state->scope()->level() < sux_state->scope()->level()) {
+ while (sux_state->scope() != if_state->scope()) {
+ sux_state = sux_state->caller_state();
+ assert(sux_state != NULL, "states do not match up");
+ }
+ }
+
+ if (sux_state->stack_size() <= if_state->stack_size()) return;
// check if phi function is present at end of successor stack and that
// only this phi was pushed on the stack
- Value sux_phi = sux_state->stack_at(if_->state()->stack_size());
+ Value sux_phi = sux_state->stack_at(if_state->stack_size());
if (sux_phi == NULL || sux_phi->as_Phi() == NULL || sux_phi->as_Phi()->block() != sux) return;
- if (sux_phi->type()->size() != sux_state->stack_size() - if_->state()->stack_size()) return;
+ if (sux_phi->type()->size() != sux_state->stack_size() - if_state->stack_size()) return;
// get the values that were pushed in the true- and false-branch
- Value t_value = t_goto->state()->stack_at(if_->state()->stack_size());
- Value f_value = f_goto->state()->stack_at(if_->state()->stack_size());
+ Value t_value = t_goto->state()->stack_at(if_state->stack_size());
+ Value f_value = f_goto->state()->stack_at(if_state->stack_size());
// backend does not support floats
assert(t_value->type()->base() == f_value->type()->base(), "incompatible types");
@@ -180,11 +194,7 @@ void CE_Eliminator::block_do(BlockBegin* block) {
Goto* goto_ = new Goto(sux, state_before, if_->is_safepoint() || t_goto->is_safepoint() || f_goto->is_safepoint());
// prepare state for Goto
- ValueStack* goto_state = if_->state();
- while (sux_state->scope() != goto_state->scope()) {
- goto_state = goto_state->caller_state();
- assert(goto_state != NULL, "states do not match up");
- }
+ ValueStack* goto_state = if_state;
goto_state = goto_state->copy(ValueStack::StateAfter, goto_state->bci());
goto_state->push(result->type(), result);
assert(goto_state->is_same(sux_state), "states must match now");
diff --git a/hotspot/src/share/vm/ci/bcEscapeAnalyzer.cpp b/hotspot/src/share/vm/ci/bcEscapeAnalyzer.cpp
index 97b4144..630594a 100644
--- a/hotspot/src/share/vm/ci/bcEscapeAnalyzer.cpp
+++ b/hotspot/src/share/vm/ci/bcEscapeAnalyzer.cpp
@@ -150,11 +150,23 @@ void BCEscapeAnalyzer::set_method_escape(ArgumentMap vars) {
clear_bits(vars, _arg_local);
}
-void BCEscapeAnalyzer::set_global_escape(ArgumentMap vars) {
+void BCEscapeAnalyzer::set_global_escape(ArgumentMap vars, bool merge) {
clear_bits(vars, _arg_local);
clear_bits(vars, _arg_stack);
if (vars.contains_allocated())
_allocated_escapes = true;
+
+ if (merge && !vars.is_empty()) {
+ // Merge new state into already processed block.
+ // New state is not taken into account and
+ // it may invalidate set_returned() result.
+ if (vars.contains_unknown() || vars.contains_allocated()) {
+ _return_local = false;
+ }
+ if (vars.contains_unknown() || vars.contains_vars()) {
+ _return_allocated = false;
+ }
+ }
}
void BCEscapeAnalyzer::set_dirty(ArgumentMap vars) {
@@ -999,7 +1011,7 @@ void BCEscapeAnalyzer::merge_block_states(StateInfo *blockstates, ciBlock *dest,
t.set_difference(d_state->_stack[i]);
extra_vars.set_union(t);
}
- set_global_escape(extra_vars);
+ set_global_escape(extra_vars, true);
}
}
diff --git a/hotspot/src/share/vm/ci/bcEscapeAnalyzer.hpp b/hotspot/src/share/vm/ci/bcEscapeAnalyzer.hpp
index a16213d..35958c2 100644
--- a/hotspot/src/share/vm/ci/bcEscapeAnalyzer.hpp
+++ b/hotspot/src/share/vm/ci/bcEscapeAnalyzer.hpp
@@ -81,7 +81,7 @@ class BCEscapeAnalyzer : public ResourceObj {
bool is_arg_stack(ArgumentMap vars);
void clear_bits(ArgumentMap vars, VectorSet &bs);
void set_method_escape(ArgumentMap vars);
- void set_global_escape(ArgumentMap vars);
+ void set_global_escape(ArgumentMap vars, bool merge = false);
void set_dirty(ArgumentMap vars);
void set_modified(ArgumentMap vars, int offs, int size);
diff --git a/hotspot/src/share/vm/ci/ciInstanceKlass.cpp b/hotspot/src/share/vm/ci/ciInstanceKlass.cpp
index f10b92f..b7c2ab7 100644
--- a/hotspot/src/share/vm/ci/ciInstanceKlass.cpp
+++ b/hotspot/src/share/vm/ci/ciInstanceKlass.cpp
@@ -54,7 +54,7 @@ ciInstanceKlass::ciInstanceKlass(KlassHandle h_k) :
_flags = ciFlags(access_flags);
_has_finalizer = access_flags.has_finalizer();
_has_subklass = ik->subklass() != NULL;
- _init_state = (instanceKlass::ClassState)ik->get_init_state();
+ _init_state = ik->init_state();
_nonstatic_field_size = ik->nonstatic_field_size();
_has_nonstatic_fields = ik->has_nonstatic_fields();
_nonstatic_fields = NULL; // initialized lazily by compute_nonstatic_fields:
@@ -118,7 +118,7 @@ ciInstanceKlass::ciInstanceKlass(ciSymbol* name,
void ciInstanceKlass::compute_shared_init_state() {
GUARDED_VM_ENTRY(
instanceKlass* ik = get_instanceKlass();
- _init_state = (instanceKlass::ClassState)ik->get_init_state();
+ _init_state = ik->init_state();
)
}
diff --git a/hotspot/src/share/vm/ci/ciMethod.hpp b/hotspot/src/share/vm/ci/ciMethod.hpp
index 45a491f..98571ae 100644
--- a/hotspot/src/share/vm/ci/ciMethod.hpp
+++ b/hotspot/src/share/vm/ci/ciMethod.hpp
@@ -295,12 +295,6 @@ class ciMethod : public ciObject {
// Print the name of this method in various incarnations.
void print_name(outputStream* st = tty);
void print_short_name(outputStream* st = tty);
-
- methodOop get_method_handle_target() {
- KlassHandle receiver_limit; int flags = 0;
- methodHandle m = MethodHandles::decode_method(get_oop(), receiver_limit, flags);
- return m();
- }
};
#endif // SHARE_VM_CI_CIMETHOD_HPP
diff --git a/hotspot/src/share/vm/ci/ciTypeFlow.cpp b/hotspot/src/share/vm/ci/ciTypeFlow.cpp
index a5042d9..6678b4c 100644
--- a/hotspot/src/share/vm/ci/ciTypeFlow.cpp
+++ b/hotspot/src/share/vm/ci/ciTypeFlow.cpp
@@ -1589,7 +1589,7 @@ ciTypeFlow::Block::Block(ciTypeFlow* outer,
_next = NULL;
_on_work_list = false;
_backedge_copy = false;
- _exception_entry = false;
+ _has_monitorenter = false;
_trap_bci = -1;
_trap_index = 0;
df_init();
@@ -2182,6 +2182,10 @@ bool ciTypeFlow::clone_loop_heads(Loop* lp, StateVector* temp_vector, JsrSet* te
!head->is_clonable_exit(lp))
continue;
+ // Avoid BoxLock merge.
+ if (EliminateNestedLocks && head->has_monitorenter())
+ continue;
+
// check not already cloned
if (head->backedge_copy_count() != 0)
continue;
@@ -2322,6 +2326,10 @@ void ciTypeFlow::flow_block(ciTypeFlow::Block* block,
// Watch for bailouts.
if (failing()) return;
+ if (str.cur_bc() == Bytecodes::_monitorenter) {
+ block->set_has_monitorenter();
+ }
+
if (res) {
// We have encountered a trap. Record it in this block.
diff --git a/hotspot/src/share/vm/ci/ciTypeFlow.hpp b/hotspot/src/share/vm/ci/ciTypeFlow.hpp
index 5cc5c90..8a8d241 100644
--- a/hotspot/src/share/vm/ci/ciTypeFlow.hpp
+++ b/hotspot/src/share/vm/ci/ciTypeFlow.hpp
@@ -544,15 +544,19 @@ public:
// Has this block been cloned for a loop backedge?
bool _backedge_copy;
+ // This block is entry to irreducible loop.
+ bool _irreducible_entry;
+
+ // This block has monitor entry point.
+ bool _has_monitorenter;
+
// A pointer used for our internal work list
- Block* _next;
bool _on_work_list; // on the work list
+ Block* _next;
Block* _rpo_next; // Reverse post order list
// Loop info
Loop* _loop; // nearest loop
- bool _irreducible_entry; // entry to irreducible loop
- bool _exception_entry; // entry to exception handler
ciBlock* ciblock() const { return _ciblock; }
StateVector* state() const { return _state; }
@@ -689,6 +693,8 @@ public:
bool is_loop_head() const { return _loop && _loop->head() == this; }
void set_irreducible_entry(bool c) { _irreducible_entry = c; }
bool is_irreducible_entry() const { return _irreducible_entry; }
+ void set_has_monitorenter() { _has_monitorenter = true; }
+ bool has_monitorenter() const { return _has_monitorenter; }
bool is_visited() const { return has_pre_order(); }
bool is_post_visited() const { return has_post_order(); }
bool is_clonable_exit(Loop* lp);
diff --git a/hotspot/src/share/vm/classfile/classFileParser.cpp b/hotspot/src/share/vm/classfile/classFileParser.cpp
index b28b8ad..83bd038 100644
--- a/hotspot/src/share/vm/classfile/classFileParser.cpp
+++ b/hotspot/src/share/vm/classfile/classFileParser.cpp
@@ -45,6 +45,7 @@
#include "oops/methodOop.hpp"
#include "oops/symbol.hpp"
#include "prims/jvmtiExport.hpp"
+#include "prims/jvmtiThreadState.hpp"
#include "runtime/javaCalls.hpp"
#include "runtime/perfData.hpp"
#include "runtime/reflection.hpp"
@@ -1050,7 +1051,7 @@ static FieldAllocationType basic_type_to_atype(bool is_static, BasicType type) {
class FieldAllocationCount: public ResourceObj {
public:
- unsigned int count[MAX_FIELD_ALLOCATION_TYPE];
+ u2 count[MAX_FIELD_ALLOCATION_TYPE];
FieldAllocationCount() {
for (int i = 0; i < MAX_FIELD_ALLOCATION_TYPE; i++) {
@@ -1060,6 +1061,8 @@ class FieldAllocationCount: public ResourceObj {
FieldAllocationType update(bool is_static, BasicType type) {
FieldAllocationType atype = basic_type_to_atype(is_static, type);
+ // Make sure there is no overflow with injected fields.
+ assert(count[atype] < 0xFFFF, "More than 65535 fields");
count[atype]++;
return atype;
}
@@ -1070,7 +1073,7 @@ typeArrayHandle ClassFileParser::parse_fields(Symbol* class_name,
constantPoolHandle cp, bool is_interface,
FieldAllocationCount *fac,
objArrayHandle* fields_annotations,
- int* java_fields_count_ptr, TRAPS) {
+ u2* java_fields_count_ptr, TRAPS) {
ClassFileStream* cfs = stream();
typeArrayHandle nullHandle;
cfs->guarantee_more(2, CHECK_(nullHandle)); // length
@@ -2639,8 +2642,11 @@ instanceKlassHandle ClassFileParser::parseClassFile(Symbol* name,
TempNewSymbol& parsed_name,
bool verify,
TRAPS) {
- // So that JVMTI can cache class file in the state before retransformable agents
- // have modified it
+ // When a retransformable agent is attached, JVMTI caches the
+ // class bytes that existed before the first retransformation.
+ // If RedefineClasses() was used before the retransformable
+ // agent attached, then the cached class bytes may not be the
+ // original class bytes.
unsigned char *cached_class_file_bytes = NULL;
jint cached_class_file_length;
@@ -2660,6 +2666,25 @@ instanceKlassHandle ClassFileParser::parseClassFile(Symbol* name,
_max_bootstrap_specifier_index = -1;
if (JvmtiExport::should_post_class_file_load_hook()) {
+ // Get the cached class file bytes (if any) from the class that
+ // is being redefined or retransformed. We use jvmti_thread_state()
+ // instead of JvmtiThreadState::state_for(jt) so we don't allocate
+ // a JvmtiThreadState any earlier than necessary. This will help
+ // avoid the bug described by 7126851.
+ JvmtiThreadState *state = jt->jvmti_thread_state();
+ if (state != NULL) {
+ KlassHandle *h_class_being_redefined =
+ state->get_class_being_redefined();
+ if (h_class_being_redefined != NULL) {
+ instanceKlassHandle ikh_class_being_redefined =
+ instanceKlassHandle(THREAD, (*h_class_being_redefined)());
+ cached_class_file_bytes =
+ ikh_class_being_redefined->get_cached_class_file_bytes();
+ cached_class_file_length =
+ ikh_class_being_redefined->get_cached_class_file_len();
+ }
+ }
+
unsigned char* ptr = cfs->buffer();
unsigned char* end_ptr = cfs->buffer() + cfs->length();
@@ -2843,7 +2868,7 @@ instanceKlassHandle ClassFileParser::parseClassFile(Symbol* name,
local_interfaces = parse_interfaces(cp, itfs_len, class_loader, protection_domain, _class_name, CHECK_(nullHandle));
}
- int java_fields_count = 0;
+ u2 java_fields_count = 0;
// Fields (offsets are filled in later)
FieldAllocationCount fac;
objArrayHandle fields_annotations;
diff --git a/hotspot/src/share/vm/classfile/classFileParser.hpp b/hotspot/src/share/vm/classfile/classFileParser.hpp
index 8e0db56..fef48eb 100644
--- a/hotspot/src/share/vm/classfile/classFileParser.hpp
+++ b/hotspot/src/share/vm/classfile/classFileParser.hpp
@@ -91,7 +91,7 @@ class ClassFileParser VALUE_OBJ_CLASS_SPEC {
constantPoolHandle cp, bool is_interface,
FieldAllocationCount *fac,
objArrayHandle* fields_annotations,
- int* java_fields_count_ptr, TRAPS);
+ u2* java_fields_count_ptr, TRAPS);
// Method parsing
methodHandle parse_method(constantPoolHandle cp, bool is_interface,
diff --git a/hotspot/src/share/vm/classfile/symbolTable.cpp b/hotspot/src/share/vm/classfile/symbolTable.cpp
index e3dd086..4dcdc53 100644
--- a/hotspot/src/share/vm/classfile/symbolTable.cpp
+++ b/hotspot/src/share/vm/classfile/symbolTable.cpp
@@ -204,6 +204,24 @@ Symbol* SymbolTable::lookup_only(const char* name, int len,
return s;
}
+// Look up the address of the literal in the SymbolTable for this Symbol*
+// Do not create any new symbols
+// Do not increment the reference count to keep this alive
+Symbol** SymbolTable::lookup_symbol_addr(Symbol* sym){
+ unsigned int hash = hash_symbol((char*)sym->bytes(), sym->utf8_length());
+ int index = the_table()->hash_to_index(hash);
+
+ for (HashtableEntry<Symbol*>* e = the_table()->bucket(index); e != NULL; e = e->next()) {
+ if (e->hash() == hash) {
+ Symbol* literal_sym = e->literal();
+ if (sym == literal_sym) {
+ return e->literal_addr();
+ }
+ }
+ }
+ return NULL;
+}
+
// Suggestion: Push unicode-based lookup all the way into the hashing
// and probing logic, so there is no need for convert_to_utf8 until
// an actual new Symbol* is created.
diff --git a/hotspot/src/share/vm/classfile/symbolTable.hpp b/hotspot/src/share/vm/classfile/symbolTable.hpp
index ca0b07d..be74fab 100644
--- a/hotspot/src/share/vm/classfile/symbolTable.hpp
+++ b/hotspot/src/share/vm/classfile/symbolTable.hpp
@@ -144,6 +144,9 @@ public:
static void release(Symbol* sym);
+ // Look up the address of the literal in the SymbolTable for this Symbol*
+ static Symbol** lookup_symbol_addr(Symbol* sym);
+
// jchar (utf16) version of lookups
static Symbol* lookup_unicode(const jchar* name, int len, TRAPS);
static Symbol* lookup_only_unicode(const jchar* name, int len, unsigned int& hash);
diff --git a/hotspot/src/share/vm/classfile/systemDictionary.cpp b/hotspot/src/share/vm/classfile/systemDictionary.cpp
index 1591b79..88ccc91 100644
--- a/hotspot/src/share/vm/classfile/systemDictionary.cpp
+++ b/hotspot/src/share/vm/classfile/systemDictionary.cpp
@@ -2131,6 +2131,12 @@ void SystemDictionary::update_dictionary(int d_index, unsigned int d_hash,
}
}
+ // Assign a classid if one has not already been assigned. The
+ // counter does not need to be atomically incremented since this
+ // is only done while holding the SystemDictionary_lock.
+ // All loaded classes get a unique ID.
+ TRACE_INIT_ID(k);
+
// Check for a placeholder. If there, remove it and make a
// new system dictionary entry.
placeholders()->find_and_remove(p_index, p_hash, name, class_loader, THREAD);
diff --git a/hotspot/src/share/vm/classfile/vmSymbols.hpp b/hotspot/src/share/vm/classfile/vmSymbols.hpp
index 16652e5..40f36ad 100644
--- a/hotspot/src/share/vm/classfile/vmSymbols.hpp
+++ b/hotspot/src/share/vm/classfile/vmSymbols.hpp
@@ -296,6 +296,7 @@
template(finalize_method_name, "finalize") \
template(reference_lock_name, "lock") \
template(reference_discovered_name, "discovered") \
+ template(run_finalization_name, "runFinalization") \
template(run_finalizers_on_exit_name, "runFinalizersOnExit") \
template(uncaughtException_name, "uncaughtException") \
template(dispatchUncaughtException_name, "dispatchUncaughtException") \
diff --git a/hotspot/src/share/vm/compiler/compileBroker.cpp b/hotspot/src/share/vm/compiler/compileBroker.cpp
index 55ef1e4..4c38509 100644
--- a/hotspot/src/share/vm/compiler/compileBroker.cpp
+++ b/hotspot/src/share/vm/compiler/compileBroker.cpp
@@ -1748,7 +1748,7 @@ void CompileBroker::invoke_compiler_on_method(CompileTask* task) {
tty->print("%4d ", compile_id); // print compilation number
tty->print("%s ", (is_osr ? "%" : " "));
int code_size = (task->code() == NULL) ? 0 : task->code()->total_size();
- tty->print_cr("size: %d time: %d inlined: %d bytes", code_size, time.milliseconds(), task->num_inlined_bytecodes());
+ tty->print_cr("size: %d time: %d inlined: %d bytes", code_size, (int)time.milliseconds(), task->num_inlined_bytecodes());
}
if (compilable == ciEnv::MethodCompilable_never) {
diff --git a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
index eeabe97..2cb5e2f 100644
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
@@ -668,12 +668,16 @@ public:
// We de-virtualize the block-related calls below, since we know that our
// space is a CompactibleFreeListSpace.
+
#define FreeListSpace_DCTOC__walk_mem_region_with_cl_DEFN(ClosureType) \
void FreeListSpace_DCTOC::walk_mem_region_with_cl(MemRegion mr, \
HeapWord* bottom, \
HeapWord* top, \
ClosureType* cl) { \
- if (SharedHeap::heap()->n_par_threads() > 0) { \
+ bool is_par = SharedHeap::heap()->n_par_threads() > 0; \
+ if (is_par) { \
+ assert(SharedHeap::heap()->n_par_threads() == \
+ SharedHeap::heap()->workers()->active_workers(), "Mismatch"); \
walk_mem_region_with_cl_par(mr, bottom, top, cl); \
} else { \
walk_mem_region_with_cl_nopar(mr, bottom, top, cl); \
@@ -1925,6 +1929,9 @@ CompactibleFreeListSpace::splitChunkAndReturnRemainder(FreeChunk* chunk,
if (rem_size < SmallForDictionary) {
bool is_par = (SharedHeap::heap()->n_par_threads() > 0);
if (is_par) _indexedFreeListParLocks[rem_size]->lock();
+ assert(!is_par ||
+ (SharedHeap::heap()->n_par_threads() ==
+ SharedHeap::heap()->workers()->active_workers()), "Mismatch");
returnChunkToFreeList(ffc);
split(size, rem_size);
if (is_par) _indexedFreeListParLocks[rem_size]->unlock();
@@ -2591,7 +2598,7 @@ void CompactibleFreeListSpace::printFLCensus(size_t sweep_count) const {
AdaptiveWeightedAverage CFLS_LAB::_blocks_to_claim[] =
VECTOR_257(AdaptiveWeightedAverage(OldPLABWeight, (float)CMSParPromoteBlocksToClaim));
size_t CFLS_LAB::_global_num_blocks[] = VECTOR_257(0);
-int CFLS_LAB::_global_num_workers[] = VECTOR_257(0);
+uint CFLS_LAB::_global_num_workers[] = VECTOR_257(0);
CFLS_LAB::CFLS_LAB(CompactibleFreeListSpace* cfls) :
_cfls(cfls)
@@ -2725,7 +2732,7 @@ void CFLS_LAB::retire(int tid) {
// Update globals stats for num_blocks used
_global_num_blocks[i] += (_num_blocks[i] - num_retire);
_global_num_workers[i]++;
- assert(_global_num_workers[i] <= (ssize_t)ParallelGCThreads, "Too big");
+ assert(_global_num_workers[i] <= ParallelGCThreads, "Too big");
if (num_retire > 0) {
_cfls->_indexedFreeList[i].prepend(&_indexedFreeList[i]);
// Reset this list.
diff --git a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp
index 81e220b..90d2f5f 100644
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp
@@ -336,12 +336,6 @@ class CompactibleFreeListSpace: public CompactibleSpace {
unallocated_block() : end());
}
- // This is needed because the default implementation uses block_start()
- // which can;t be used at certain times (for example phase 3 of mark-sweep).
- // A better fix is to change the assertions in phase 3 of mark-sweep to
- // use is_in_reserved(), but that is deferred since the is_in() assertions
- // are buried through several layers of callers and are used elsewhere
- // as well.
bool is_in(const void* p) const {
return used_region().contains(p);
}
@@ -637,7 +631,7 @@ class CFLS_LAB : public CHeapObj {
static AdaptiveWeightedAverage
_blocks_to_claim [CompactibleFreeListSpace::IndexSetSize];
static size_t _global_num_blocks [CompactibleFreeListSpace::IndexSetSize];
- static int _global_num_workers[CompactibleFreeListSpace::IndexSetSize];
+ static uint _global_num_workers[CompactibleFreeListSpace::IndexSetSize];
size_t _num_blocks [CompactibleFreeListSpace::IndexSetSize];
// Internal work method
diff --git a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
index 54bbb24..39b5734 100644
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
@@ -3582,16 +3582,6 @@ void CMSCollector::checkpointRootsInitialWork(bool asynch) {
" or no bits are set in the gc_prologue before the start of the next "
"subsequent marking phase.");
- // Temporarily disabled, since pre/post-consumption closures don't
- // care about precleaned cards
- #if 0
- {
- MemRegion mr = MemRegion((HeapWord*)_virtual_space.low(),
- (HeapWord*)_virtual_space.high());
- _ct->ct_bs()->preclean_dirty_cards(mr);
- }
- #endif
-
// Save the end of the used_region of the constituent generations
// to be used to limit the extent of sweep in each generation.
save_sweep_limits();
@@ -3789,7 +3779,7 @@ class CMSConcMarkingTask: public YieldingFlexibleGangTask {
terminator()->reset_for_reuse(active_workers);
}
- void work(int i);
+ void work(uint worker_id);
bool should_yield() {
return ConcurrentMarkSweepThread::should_yield()
&& !_collector->foregroundGCIsActive()
@@ -3862,7 +3852,7 @@ void CMSConcMarkingTerminator::yield() {
// . if neither is available, offer termination
// -- Terminate and return result
//
-void CMSConcMarkingTask::work(int i) {
+void CMSConcMarkingTask::work(uint worker_id) {
elapsedTimer _timer;
ResourceMark rm;
HandleMark hm;
@@ -3870,37 +3860,40 @@ void CMSConcMarkingTask::work(int i) {
DEBUG_ONLY(_collector->verify_overflow_empty();)
// Before we begin work, our work queue should be empty
- assert(work_queue(i)->size() == 0, "Expected to be empty");
+ assert(work_queue(worker_id)->size() == 0, "Expected to be empty");
// Scan the bitmap covering _cms_space, tracing through grey objects.
_timer.start();
- do_scan_and_mark(i, _cms_space);
+ do_scan_and_mark(worker_id, _cms_space);
_timer.stop();
if (PrintCMSStatistics != 0) {
gclog_or_tty->print_cr("Finished cms space scanning in %dth thread: %3.3f sec",
- i, _timer.seconds()); // XXX: need xxx/xxx type of notation, two timers
+ worker_id, _timer.seconds());
+ // XXX: need xxx/xxx type of notation, two timers
}
// ... do the same for the _perm_space
_timer.reset();
_timer.start();
- do_scan_and_mark(i, _perm_space);
+ do_scan_and_mark(worker_id, _perm_space);
_timer.stop();
if (PrintCMSStatistics != 0) {
gclog_or_tty->print_cr("Finished perm space scanning in %dth thread: %3.3f sec",
- i, _timer.seconds()); // XXX: need xxx/xxx type of notation, two timers
+ worker_id, _timer.seconds());
+ // XXX: need xxx/xxx type of notation, two timers
}
// ... do work stealing
_timer.reset();
_timer.start();
- do_work_steal(i);
+ do_work_steal(worker_id);
_timer.stop();
if (PrintCMSStatistics != 0) {
gclog_or_tty->print_cr("Finished work stealing in %dth thread: %3.3f sec",
- i, _timer.seconds()); // XXX: need xxx/xxx type of notation, two timers
+ worker_id, _timer.seconds());
+ // XXX: need xxx/xxx type of notation, two timers
}
assert(_collector->_markStack.isEmpty(), "Should have been emptied");
- assert(work_queue(i)->size() == 0, "Should have been emptied");
+ assert(work_queue(worker_id)->size() == 0, "Should have been emptied");
// Note that under the current task protocol, the
// following assertion is true even of the spaces
// expanded since the completion of the concurrent
@@ -3956,7 +3949,7 @@ void CMSConcMarkingTask::do_scan_and_mark(int i, CompactibleFreeListSpace* sp) {
// We allow that there may be no tasks to do here because
// we are restarting after a stack overflow.
assert(pst->valid() || n_tasks == 0, "Uninitialized use?");
- int nth_task = 0;
+ uint nth_task = 0;
HeapWord* aligned_start = sp->bottom();
if (sp->used_region().contains(_restart_addr)) {
@@ -4062,7 +4055,7 @@ class Par_ConcMarkingClosure: public Par_KlassRememberingOopClosure {
Par_ConcMarkingClosure(CMSCollector* collector, CMSConcMarkingTask* task, OopTaskQueue* work_queue,
CMSBitMap* bit_map, CMSMarkStack* overflow_stack,
CMSMarkStack* revisit_stack):
- Par_KlassRememberingOopClosure(collector, NULL, revisit_stack),
+ Par_KlassRememberingOopClosure(collector, collector->ref_processor(), revisit_stack),
_task(task),
_span(collector->_span),
_work_queue(work_queue),
@@ -4244,9 +4237,11 @@ void CMSConcMarkingTask::coordinator_yield() {
bool CMSCollector::do_marking_mt(bool asynch) {
assert(ConcGCThreads > 0 && conc_workers() != NULL, "precondition");
- // In the future this would be determined ergonomically, based
- // on #cpu's, # active mutator threads (and load), and mutation rate.
- int num_workers = ConcGCThreads;
+ int num_workers = AdaptiveSizePolicy::calc_active_conc_workers(
+ conc_workers()->total_workers(),
+ conc_workers()->active_workers(),
+ Threads::number_of_non_daemon_threads());
+ conc_workers()->set_active_workers(num_workers);
CompactibleFreeListSpace* cms_space = _cmsGen->cmsSpace();
CompactibleFreeListSpace* perm_space = _permGen->cmsSpace();
@@ -5062,6 +5057,8 @@ class CMSParRemarkTask: public AbstractGangTask {
ParallelTaskTerminator _term;
public:
+ // A value of 0 passed to n_workers will cause the number of
+ // workers to be taken from the active workers in the work gang.
CMSParRemarkTask(CMSCollector* collector,
CompactibleFreeListSpace* cms_space,
CompactibleFreeListSpace* perm_space,
@@ -5081,7 +5078,7 @@ class CMSParRemarkTask: public AbstractGangTask {
ParallelTaskTerminator* terminator() { return &_term; }
int n_workers() { return _n_workers; }
- void work(int i);
+ void work(uint worker_id);
private:
// Work method in support of parallel rescan ... of young gen spaces
@@ -5102,7 +5099,7 @@ class CMSParRemarkTask: public AbstractGangTask {
// also is passed to do_dirty_card_rescan_tasks() and to
// do_work_steal() to select the i-th task_queue.
-void CMSParRemarkTask::work(int i) {
+void CMSParRemarkTask::work(uint worker_id) {
elapsedTimer _timer;
ResourceMark rm;
HandleMark hm;
@@ -5113,7 +5110,7 @@ void CMSParRemarkTask::work(int i) {
Par_MarkRefsIntoAndScanClosure par_mrias_cl(_collector,
_collector->_span, _collector->ref_processor(),
&(_collector->_markBitMap),
- work_queue(i), &(_collector->_revisitStack));
+ work_queue(worker_id), &(_collector->_revisitStack));
// Rescan young gen roots first since these are likely
// coarsely partitioned and may, on that account, constitute
@@ -5134,15 +5131,15 @@ void CMSParRemarkTask::work(int i) {
assert(ect <= _collector->_eden_chunk_capacity, "out of bounds");
assert(sct <= _collector->_survivor_chunk_capacity, "out of bounds");
- do_young_space_rescan(i, &par_mrias_cl, to_space, NULL, 0);
- do_young_space_rescan(i, &par_mrias_cl, from_space, sca, sct);
- do_young_space_rescan(i, &par_mrias_cl, eden_space, eca, ect);
+ do_young_space_rescan(worker_id, &par_mrias_cl, to_space, NULL, 0);
+ do_young_space_rescan(worker_id, &par_mrias_cl, from_space, sca, sct);
+ do_young_space_rescan(worker_id, &par_mrias_cl, eden_space, eca, ect);
_timer.stop();
if (PrintCMSStatistics != 0) {
gclog_or_tty->print_cr(
"Finished young gen rescan work in %dth thread: %3.3f sec",
- i, _timer.seconds());
+ worker_id, _timer.seconds());
}
}
@@ -5164,7 +5161,7 @@ void CMSParRemarkTask::work(int i) {
if (PrintCMSStatistics != 0) {
gclog_or_tty->print_cr(
"Finished remaining root rescan work in %dth thread: %3.3f sec",
- i, _timer.seconds());
+ worker_id, _timer.seconds());
}
// ---------- rescan dirty cards ------------
@@ -5173,26 +5170,26 @@ void CMSParRemarkTask::work(int i) {
// Do the rescan tasks for each of the two spaces
// (cms_space and perm_space) in turn.
- // "i" is passed to select the "i-th" task_queue
- do_dirty_card_rescan_tasks(_cms_space, i, &par_mrias_cl);
- do_dirty_card_rescan_tasks(_perm_space, i, &par_mrias_cl);
+ // "worker_id" is passed to select the task_queue for "worker_id"
+ do_dirty_card_rescan_tasks(_cms_space, worker_id, &par_mrias_cl);
+ do_dirty_card_rescan_tasks(_perm_space, worker_id, &par_mrias_cl);
_timer.stop();
if (PrintCMSStatistics != 0) {
gclog_or_tty->print_cr(
"Finished dirty card rescan work in %dth thread: %3.3f sec",
- i, _timer.seconds());
+ worker_id, _timer.seconds());
}
// ---------- steal work from other threads ...
// ---------- ... and drain overflow list.
_timer.reset();
_timer.start();
- do_work_steal(i, &par_mrias_cl, _collector->hash_seed(i));
+ do_work_steal(worker_id, &par_mrias_cl, _collector->hash_seed(worker_id));
_timer.stop();
if (PrintCMSStatistics != 0) {
gclog_or_tty->print_cr(
"Finished work stealing in %dth thread: %3.3f sec",
- i, _timer.seconds());
+ worker_id, _timer.seconds());
}
}
@@ -5213,8 +5210,8 @@ CMSParRemarkTask::do_young_space_rescan(int i,
SequentialSubTasksDone* pst = space->par_seq_tasks();
assert(pst->valid(), "Uninitialized use?");
- int nth_task = 0;
- int n_tasks = pst->n_tasks();
+ uint nth_task = 0;
+ uint n_tasks = pst->n_tasks();
HeapWord *start, *end;
while (!pst->is_task_claimed(/* reference */ nth_task)) {
@@ -5226,12 +5223,12 @@ CMSParRemarkTask::do_young_space_rescan(int i,
} else if (nth_task == 0) {
start = space->bottom();
end = chunk_array[nth_task];
- } else if (nth_task < (jint)chunk_top) {
+ } else if (nth_task < (uint)chunk_top) {
assert(nth_task >= 1, "Control point invariant");
start = chunk_array[nth_task - 1];
end = chunk_array[nth_task];
} else {
- assert(nth_task == (jint)chunk_top, "Control point invariant");
+ assert(nth_task == (uint)chunk_top, "Control point invariant");
start = chunk_array[chunk_top - 1];
end = space->top();
}
@@ -5294,7 +5291,7 @@ CMSParRemarkTask::do_dirty_card_rescan_tasks(
SequentialSubTasksDone* pst = sp->conc_par_seq_tasks();
assert(pst->valid(), "Uninitialized use?");
- int nth_task = 0;
+ uint nth_task = 0;
const int alignment = CardTableModRefBS::card_size * BitsPerWord;
MemRegion span = sp->used_region();
HeapWord* start_addr = span.start();
@@ -5544,7 +5541,15 @@ void CMSCollector::do_remark_parallel() {
GenCollectedHeap* gch = GenCollectedHeap::heap();
FlexibleWorkGang* workers = gch->workers();
assert(workers != NULL, "Need parallel worker threads.");
- int n_workers = workers->total_workers();
+ // Choose to use the number of GC workers most recently set
+ // into "active_workers". If active_workers is not set, set it
+ // to ParallelGCThreads.
+ int n_workers = workers->active_workers();
+ if (n_workers == 0) {
+ assert(n_workers > 0, "Should have been set during scavenge");
+ n_workers = ParallelGCThreads;
+ workers->set_active_workers(n_workers);
+ }
CompactibleFreeListSpace* cms_space = _cmsGen->cmsSpace();
CompactibleFreeListSpace* perm_space = _permGen->cmsSpace();
@@ -5734,26 +5739,26 @@ public:
CMSParKeepAliveClosure* keep_alive,
int* seed);
- virtual void work(int i);
+ virtual void work(uint worker_id);
};
-void CMSRefProcTaskProxy::work(int i) {
+void CMSRefProcTaskProxy::work(uint worker_id) {
assert(_collector->_span.equals(_span), "Inconsistency in _span");
CMSParKeepAliveClosure par_keep_alive(_collector, _span,
_mark_bit_map,
&_collector->_revisitStack,
- work_queue(i));
+ work_queue(worker_id));
CMSParDrainMarkingStackClosure par_drain_stack(_collector, _span,
_mark_bit_map,
&_collector->_revisitStack,
- work_queue(i));
+ work_queue(worker_id));
CMSIsAliveClosure is_alive_closure(_span, _mark_bit_map);
- _task.work(i, is_alive_closure, par_keep_alive, par_drain_stack);
+ _task.work(worker_id, is_alive_closure, par_keep_alive, par_drain_stack);
if (_task.marks_oops_alive()) {
- do_work_steal(i, &par_drain_stack, &par_keep_alive,
- _collector->hash_seed(i));
+ do_work_steal(worker_id, &par_drain_stack, &par_keep_alive,
+ _collector->hash_seed(worker_id));
}
- assert(work_queue(i)->size() == 0, "work_queue should be empty");
+ assert(work_queue(worker_id)->size() == 0, "work_queue should be empty");
assert(_collector->_overflow_list == NULL, "non-empty _overflow_list");
}
@@ -5767,9 +5772,9 @@ public:
_task(task)
{ }
- virtual void work(int i)
+ virtual void work(uint worker_id)
{
- _task.work(i);
+ _task.work(worker_id);
}
};
@@ -5884,8 +5889,17 @@ void CMSCollector::refProcessingWork(bool asynch, bool clear_all_soft_refs) {
// and a different number of discovered lists may have Ref objects.
// That is OK as long as the Reference lists are balanced (see
// balance_all_queues() and balance_queues()).
-
- rp->set_active_mt_degree(ParallelGCThreads);
+ GenCollectedHeap* gch = GenCollectedHeap::heap();
+ int active_workers = ParallelGCThreads;
+ FlexibleWorkGang* workers = gch->workers();
+ if (workers != NULL) {
+ active_workers = workers->active_workers();
+ // The expectation is that active_workers will have already
+ // been set to a reasonable value. If it has not been set,
+ // investigate.
+ assert(active_workers > 0, "Should have been set during scavenge");
+ }
+ rp->set_active_mt_degree(active_workers);
CMSRefProcTaskExecutor task_executor(*this);
rp->process_discovered_references(&_is_alive_closure,
&cmsKeepAliveClosure,
diff --git a/hotspot/src/share/vm/gc_implementation/g1/collectionSetChooser.cpp b/hotspot/src/share/vm/gc_implementation/g1/collectionSetChooser.cpp
index 0b78565..354fefb 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/collectionSetChooser.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/collectionSetChooser.cpp
@@ -255,7 +255,18 @@ void
CollectionSetChooser::
prepareForAddMarkedHeapRegionsPar(size_t n_regions, size_t chunkSize) {
_first_par_unreserved_idx = 0;
- size_t max_waste = ParallelGCThreads * chunkSize;
+ int n_threads = ParallelGCThreads;
+ if (UseDynamicNumberOfGCThreads) {
+ assert(G1CollectedHeap::heap()->workers()->active_workers() > 0,
+ "Should have been set earlier");
+ // This is defensive code. As the assertion above says, the number
+ // of active threads should be > 0, but in case there is some path
+ // or some improperly initialized variable with leads to no
+ // active threads, protect against that in a product build.
+ n_threads = MAX2(G1CollectedHeap::heap()->workers()->active_workers(),
+ 1U);
+ }
+ size_t max_waste = n_threads * chunkSize;
// it should be aligned with respect to chunkSize
size_t aligned_n_regions =
(n_regions + (chunkSize - 1)) / chunkSize * chunkSize;
@@ -265,6 +276,11 @@ prepareForAddMarkedHeapRegionsPar(size_t n_regions, size_t chunkSize) {
jint
CollectionSetChooser::getParMarkedHeapRegionChunk(jint n_regions) {
+ // Don't do this assert because this can be called at a point
+ // where the loop up stream will not execute again but might
+ // try to claim more chunks (loop test has not been done yet).
+ // assert(_markedRegions.length() > _first_par_unreserved_idx,
+ // "Striding beyond the marked regions");
jint res = Atomic::add(n_regions, &_first_par_unreserved_idx);
assert(_markedRegions.length() > res + n_regions - 1,
"Should already have been expanded");
diff --git a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
index f414613..4712d80 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -31,6 +31,7 @@
#include "gc_implementation/g1/g1ErgoVerbose.hpp"
#include "gc_implementation/g1/g1OopClosures.inline.hpp"
#include "gc_implementation/g1/g1RemSet.hpp"
+#include "gc_implementation/g1/heapRegion.inline.hpp"
#include "gc_implementation/g1/heapRegionRemSet.hpp"
#include "gc_implementation/g1/heapRegionSeq.inline.hpp"
#include "gc_implementation/shared/vmGCOperations.hpp"
@@ -44,7 +45,7 @@
//
// CMS Bit Map Wrapper
-CMBitMapRO::CMBitMapRO(ReservedSpace rs, int shifter):
+CMBitMapRO::CMBitMapRO(ReservedSpace rs, int shifter) :
_bm((uintptr_t*)NULL,0),
_shifter(shifter) {
_bmStartWord = (HeapWord*)(rs.base());
@@ -183,12 +184,11 @@ CMMarkStack::CMMarkStack(ConcurrentMark* cm) :
void CMMarkStack::allocate(size_t size) {
_base = NEW_C_HEAP_ARRAY(oop, size);
if (_base == NULL) {
- vm_exit_during_initialization("Failed to allocate "
- "CM region mark stack");
+ vm_exit_during_initialization("Failed to allocate CM region mark stack");
}
_index = 0;
_capacity = (jint) size;
- _oops_do_bound = -1;
+ _saved_index = -1;
NOT_PRODUCT(_max_depth = 0);
}
@@ -283,7 +283,6 @@ bool CMMarkStack::par_pop_arr(oop* ptr_arr, int max, int* n) {
}
}
-
CMRegionStack::CMRegionStack() : _base(NULL) {}
void CMRegionStack::allocate(size_t size) {
@@ -302,6 +301,8 @@ CMRegionStack::~CMRegionStack() {
}
void CMRegionStack::push_lock_free(MemRegion mr) {
+ guarantee(false, "push_lock_free(): don't call this any more");
+
assert(mr.word_size() > 0, "Precondition");
while (true) {
jint index = _index;
@@ -325,6 +326,8 @@ void CMRegionStack::push_lock_free(MemRegion mr) {
// marking / remark phases. Should only be called in tandem with
// other lock-free pops.
MemRegion CMRegionStack::pop_lock_free() {
+ guarantee(false, "pop_lock_free(): don't call this any more");
+
while (true) {
jint index = _index;
@@ -390,6 +393,8 @@ MemRegion CMRegionStack::pop_with_lock() {
#endif
bool CMRegionStack::invalidate_entries_into_cset() {
+ guarantee(false, "invalidate_entries_into_cset(): don't call this any more");
+
bool result = false;
G1CollectedHeap* g1h = G1CollectedHeap::heap();
for (int i = 0; i < _oops_do_bound; ++i) {
@@ -438,14 +443,29 @@ bool CMMarkStack::drain(OopClosureClass* cl, CMBitMap* bm, bool yield_after) {
return res;
}
+void CMMarkStack::note_start_of_gc() {
+ assert(_saved_index == -1,
+ "note_start_of_gc()/end_of_gc() bracketed incorrectly");
+ _saved_index = _index;
+}
+
+void CMMarkStack::note_end_of_gc() {
+ // This is intentionally a guarantee, instead of an assert. If we
+ // accidentally add something to the mark stack during GC, it
+ // will be a correctness issue so it's better if we crash. we'll
+ // only check this once per GC anyway, so it won't be a performance
+ // issue in any way.
+ guarantee(_saved_index == _index,
+ err_msg("saved index: %d index: %d", _saved_index, _index));
+ _saved_index = -1;
+}
+
void CMMarkStack::oops_do(OopClosure* f) {
- if (_index == 0) return;
- assert(_oops_do_bound != -1 && _oops_do_bound <= _index,
- "Bound must be set.");
- for (int i = 0; i < _oops_do_bound; i++) {
+ assert(_saved_index == _index,
+ err_msg("saved index: %d index: %d", _saved_index, _index));
+ for (int i = 0; i < _index; i += 1) {
f->do_oop(&_base[i]);
}
- _oops_do_bound = -1;
}
bool ConcurrentMark::not_yet_marked(oop obj) const {
@@ -458,12 +478,17 @@ bool ConcurrentMark::not_yet_marked(oop obj) const {
#pragma warning( disable:4355 ) // 'this' : used in base member initializer list
#endif // _MSC_VER
+uint ConcurrentMark::scale_parallel_threads(uint n_par_threads) {
+ return MAX2((n_par_threads + 2) / 4, 1U);
+}
+
ConcurrentMark::ConcurrentMark(ReservedSpace rs,
int max_regions) :
_markBitMap1(rs, MinObjAlignment - 1),
_markBitMap2(rs, MinObjAlignment - 1),
_parallel_marking_threads(0),
+ _max_parallel_marking_threads(0),
_sleep_factor(0.0),
_marking_task_overhead(1.0),
_cleanup_sleep_factor(0.0),
@@ -481,7 +506,7 @@ ConcurrentMark::ConcurrentMark(ReservedSpace rs,
_regionStack(),
// _finger set in set_non_marking_state
- _max_task_num(MAX2(ParallelGCThreads, (size_t)1)),
+ _max_task_num(MAX2((uint)ParallelGCThreads, 1U)),
// _active_tasks set in set_non_marking_state
// _tasks set inside the constructor
_task_queues(new CMTaskQueueSet((int) _max_task_num)),
@@ -501,7 +526,6 @@ ConcurrentMark::ConcurrentMark(ReservedSpace rs,
_cleanup_times(),
_total_counting_time(0.0),
_total_rs_scrub_time(0.0),
-
_parallel_workers(NULL) {
CMVerboseLevel verbose_level = (CMVerboseLevel) G1MarkingVerboseLevel;
if (verbose_level < no_verbose) {
@@ -554,15 +578,17 @@ ConcurrentMark::ConcurrentMark(ReservedSpace rs,
if (ParallelGCThreads == 0) {
// if we are not running with any parallel GC threads we will not
// spawn any marking threads either
- _parallel_marking_threads = 0;
- _sleep_factor = 0.0;
- _marking_task_overhead = 1.0;
+ _parallel_marking_threads = 0;
+ _max_parallel_marking_threads = 0;
+ _sleep_factor = 0.0;
+ _marking_task_overhead = 1.0;
} else {
if (ConcGCThreads > 0) {
// notice that ConcGCThreads overwrites G1MarkingOverheadPercent
// if both are set
- _parallel_marking_threads = ConcGCThreads;
+ _parallel_marking_threads = (uint) ConcGCThreads;
+ _max_parallel_marking_threads = _parallel_marking_threads;
_sleep_factor = 0.0;
_marking_task_overhead = 1.0;
} else if (G1MarkingOverheadPercent > 0) {
@@ -582,11 +608,13 @@ ConcurrentMark::ConcurrentMark(ReservedSpace rs,
double sleep_factor =
(1.0 - marking_task_overhead) / marking_task_overhead;
- _parallel_marking_threads = (size_t) marking_thread_num;
+ _parallel_marking_threads = (uint) marking_thread_num;
+ _max_parallel_marking_threads = _parallel_marking_threads;
_sleep_factor = sleep_factor;
_marking_task_overhead = marking_task_overhead;
} else {
- _parallel_marking_threads = MAX2((ParallelGCThreads + 2) / 4, (size_t)1);
+ _parallel_marking_threads = scale_parallel_threads((uint)ParallelGCThreads);
+ _max_parallel_marking_threads = _parallel_marking_threads;
_sleep_factor = 0.0;
_marking_task_overhead = 1.0;
}
@@ -609,7 +637,7 @@ ConcurrentMark::ConcurrentMark(ReservedSpace rs,
guarantee(parallel_marking_threads() > 0, "peace of mind");
_parallel_workers = new FlexibleWorkGang("G1 Parallel Marking Threads",
- (int) _parallel_marking_threads, false, true);
+ _max_parallel_marking_threads, false, true);
if (_parallel_workers == NULL) {
vm_exit_during_initialization("Failed necessary allocation.");
} else {
@@ -682,7 +710,7 @@ void ConcurrentMark::reset() {
set_concurrent_marking_in_progress();
}
-void ConcurrentMark::set_phase(size_t active_tasks, bool concurrent) {
+void ConcurrentMark::set_phase(uint active_tasks, bool concurrent) {
assert(active_tasks <= _max_task_num, "we should not have more");
_active_tasks = active_tasks;
@@ -718,12 +746,8 @@ void ConcurrentMark::set_non_marking_state() {
}
ConcurrentMark::~ConcurrentMark() {
- for (int i = 0; i < (int) _max_task_num; ++i) {
- delete _task_queues->queue(i);
- delete _tasks[i];
- }
- delete _task_queues;
- FREE_C_HEAP_ARRAY(CMTask*, _max_task_num);
+ // The ConcurrentMark instance is never freed.
+ ShouldNotReachHere();
}
// This closure is used to mark refs into the g1 generation
@@ -779,7 +803,7 @@ class NoteStartOfMarkHRClosure: public HeapRegionClosure {
public:
bool doHeapRegion(HeapRegion* r) {
if (!r->continuesHumongous()) {
- r->note_start_of_marking(true);
+ r->note_start_of_marking();
}
return false;
}
@@ -800,6 +824,10 @@ void ConcurrentMark::checkpointRootsInitialPre() {
// Initialise marking structures. This has to be done in a STW phase.
reset();
+
+ // For each region note start of marking.
+ NoteStartOfMarkHRClosure startcl;
+ g1h->heap_region_iterate(&startcl);
}
@@ -814,10 +842,6 @@ void ConcurrentMark::checkpointRootsInitialPost() {
// every remark and we'll eventually not need to cause one.
force_overflow_stw()->init();
- // For each region note start of marking.
- NoteStartOfMarkHRClosure startcl;
- g1h->heap_region_iterate(&startcl);
-
// Start Concurrent Marking weak-reference discovery.
ReferenceProcessor* rp = g1h->ref_processor_cm();
// enable ("weak") refs discovery
@@ -942,22 +966,9 @@ bool ForceOverflowSettings::should_force() {
}
#endif // !PRODUCT
-void ConcurrentMark::grayRoot(oop p) {
- HeapWord* addr = (HeapWord*) p;
- // We can't really check against _heap_start and _heap_end, since it
- // is possible during an evacuation pause with piggy-backed
- // initial-mark that the committed space is expanded during the
- // pause without CM observing this change. So the assertions below
- // is a bit conservative; but better than nothing.
- assert(_g1h->g1_committed().contains(addr),
- "address should be within the heap bounds");
-
- if (!_nextMarkBitMap->isMarked(addr)) {
- _nextMarkBitMap->parMark(addr);
- }
-}
-
void ConcurrentMark::grayRegionIfNecessary(MemRegion mr) {
+ guarantee(false, "grayRegionIfNecessary(): don't call this any more");
+
// The objects on the region have already been marked "in bulk" by
// the caller. We only need to decide whether to push the region on
// the region stack or not.
@@ -1003,6 +1014,8 @@ void ConcurrentMark::grayRegionIfNecessary(MemRegion mr) {
}
void ConcurrentMark::markAndGrayObjectIfNecessary(oop p) {
+ guarantee(false, "markAndGrayObjectIfNecessary(): don't call this any more");
+
// The object is not marked by the caller. We need to at least mark
// it and maybe push in on the stack.
@@ -1039,7 +1052,7 @@ private:
ConcurrentMarkThread* _cmt;
public:
- void work(int worker_i) {
+ void work(uint worker_id) {
assert(Thread::current()->is_ConcurrentGC_thread(),
"this should only be done by a conc GC thread");
ResourceMark rm;
@@ -1048,8 +1061,8 @@ public:
ConcurrentGCThread::stsJoin();
- assert((size_t) worker_i < _cm->active_tasks(), "invariant");
- CMTask* the_task = _cm->task(worker_i);
+ assert(worker_id < _cm->active_tasks(), "invariant");
+ CMTask* the_task = _cm->task(worker_id);
the_task->record_start_time();
if (!_cm->has_aborted()) {
do {
@@ -1067,7 +1080,7 @@ public:
double elapsed_time_sec = end_time_sec - start_time_sec;
_cm->clear_has_overflown();
- bool ret = _cm->do_yield_check(worker_i);
+ bool ret = _cm->do_yield_check(worker_id);
jlong sleep_time_ms;
if (!_cm->has_aborted() && the_task->has_aborted()) {
@@ -1096,7 +1109,7 @@ public:
ConcurrentGCThread::stsLeave();
double end_vtime = os::elapsedVTime();
- _cm->update_accum_task_vtime(worker_i, end_vtime - start_vtime);
+ _cm->update_accum_task_vtime(worker_id, end_vtime - start_vtime);
}
CMConcurrentMarkingTask(ConcurrentMark* cm,
@@ -1106,6 +1119,34 @@ public:
~CMConcurrentMarkingTask() { }
};
+// Calculates the number of active workers for a concurrent
+// phase.
+uint ConcurrentMark::calc_parallel_marking_threads() {
+ if (G1CollectedHeap::use_parallel_gc_threads()) {
+ uint n_conc_workers = 0;
+ if (!UseDynamicNumberOfGCThreads ||
+ (!FLAG_IS_DEFAULT(ConcGCThreads) &&
+ !ForceDynamicNumberOfGCThreads)) {
+ n_conc_workers = max_parallel_marking_threads();
+ } else {
+ n_conc_workers =
+ AdaptiveSizePolicy::calc_default_active_workers(
+ max_parallel_marking_threads(),
+ 1, /* Minimum workers */
+ parallel_marking_threads(),
+ Threads::number_of_non_daemon_threads());
+ // Don't scale down "n_conc_workers" by scale_parallel_threads() because
+ // that scaling has already gone into "_max_parallel_marking_threads".
+ }
+ assert(n_conc_workers > 0, "Always need at least 1");
+ return n_conc_workers;
+ }
+ // If we are not running with any parallel GC threads we will not
+ // have spawned any marking threads either. Hence the number of
+ // concurrent workers should be 0.
+ return 0;
+}
+
void ConcurrentMark::markFromRoots() {
// we might be tempted to assert that:
// assert(asynch == !SafepointSynchronize::is_at_safepoint(),
@@ -1115,13 +1156,24 @@ void ConcurrentMark::markFromRoots() {
// stop-the-world GC happens even as we mark in this generation.
_restart_for_overflow = false;
-
- size_t active_workers = MAX2((size_t) 1, parallel_marking_threads());
force_overflow_conc()->init();
+
+ // _g1h has _n_par_threads
+ _parallel_marking_threads = calc_parallel_marking_threads();
+ assert(parallel_marking_threads() <= max_parallel_marking_threads(),
+ "Maximum number of marking threads exceeded");
+
+ uint active_workers = MAX2(1U, parallel_marking_threads());
+
+ // Parallel task terminator is set in "set_phase()"
set_phase(active_workers, true /* concurrent */);
CMConcurrentMarkingTask markingTask(this, cmThread());
if (parallel_marking_threads() > 0) {
+ _parallel_workers->set_active_workers((int)active_workers);
+ // Don't set _n_par_threads because it affects MT in proceess_strong_roots()
+ // and the decisions on that MT processing is made elsewhere.
+ assert(_parallel_workers->active_workers() > 0, "Should have been set");
_parallel_workers->run_task(&markingTask);
} else {
markingTask.work(0);
@@ -1454,7 +1506,7 @@ class G1ParFinalCountTask: public AbstractGangTask {
protected:
G1CollectedHeap* _g1h;
CMBitMap* _bm;
- size_t _n_workers;
+ uint _n_workers;
size_t *_live_bytes;
size_t *_used_bytes;
BitMap* _region_bm;
@@ -1463,12 +1515,20 @@ public:
G1ParFinalCountTask(G1CollectedHeap* g1h, CMBitMap* bm,
BitMap* region_bm, BitMap* card_bm)
: AbstractGangTask("G1 final counting"), _g1h(g1h),
- _bm(bm), _region_bm(region_bm), _card_bm(card_bm) {
- if (ParallelGCThreads > 0) {
- _n_workers = _g1h->workers()->total_workers();
+ _bm(bm), _region_bm(region_bm), _card_bm(card_bm),
+ _n_workers(0)
+ {
+ // Use the value already set as the number of active threads
+ // in the call to run_task(). Needed for the allocation of
+ // _live_bytes and _used_bytes.
+ if (G1CollectedHeap::use_parallel_gc_threads()) {
+ assert( _g1h->workers()->active_workers() > 0,
+ "Should have been previously set");
+ _n_workers = _g1h->workers()->active_workers();
} else {
_n_workers = 1;
}
+
_live_bytes = NEW_C_HEAP_ARRAY(size_t, _n_workers);
_used_bytes = NEW_C_HEAP_ARRAY(size_t, _n_workers);
}
@@ -1478,32 +1538,33 @@ public:
FREE_C_HEAP_ARRAY(size_t, _used_bytes);
}
- void work(int i) {
+ void work(uint worker_id) {
CalcLiveObjectsClosure calccl(true /*final*/,
_bm, _g1h->concurrent_mark(),
_region_bm, _card_bm);
calccl.no_yield();
if (G1CollectedHeap::use_parallel_gc_threads()) {
- _g1h->heap_region_par_iterate_chunked(&calccl, i,
+ _g1h->heap_region_par_iterate_chunked(&calccl, worker_id,
+ (int) _n_workers,
HeapRegion::FinalCountClaimValue);
} else {
_g1h->heap_region_iterate(&calccl);
}
assert(calccl.complete(), "Shouldn't have yielded!");
- assert((size_t) i < _n_workers, "invariant");
- _live_bytes[i] = calccl.tot_live();
- _used_bytes[i] = calccl.tot_used();
+ assert(worker_id < _n_workers, "invariant");
+ _live_bytes[worker_id] = calccl.tot_live();
+ _used_bytes[worker_id] = calccl.tot_used();
}
size_t live_bytes() {
size_t live_bytes = 0;
- for (size_t i = 0; i < _n_workers; ++i)
+ for (uint i = 0; i < _n_workers; ++i)
live_bytes += _live_bytes[i];
return live_bytes;
}
size_t used_bytes() {
size_t used_bytes = 0;
- for (size_t i = 0; i < _n_workers; ++i)
+ for (uint i = 0; i < _n_workers; ++i)
used_bytes += _used_bytes[i];
return used_bytes;
}
@@ -1530,10 +1591,42 @@ public:
FreeRegionList* local_cleanup_list,
OldRegionSet* old_proxy_set,
HumongousRegionSet* humongous_proxy_set,
- HRRSCleanupTask* hrrs_cleanup_task);
+ HRRSCleanupTask* hrrs_cleanup_task) :
+ _g1(g1), _worker_num(worker_num),
+ _max_live_bytes(0), _regions_claimed(0),
+ _freed_bytes(0),
+ _claimed_region_time(0.0), _max_region_time(0.0),
+ _local_cleanup_list(local_cleanup_list),
+ _old_proxy_set(old_proxy_set),
+ _humongous_proxy_set(humongous_proxy_set),
+ _hrrs_cleanup_task(hrrs_cleanup_task) { }
+
size_t freed_bytes() { return _freed_bytes; }
- bool doHeapRegion(HeapRegion *r);
+ bool doHeapRegion(HeapRegion *hr) {
+ // We use a claim value of zero here because all regions
+ // were claimed with value 1 in the FinalCount task.
+ hr->reset_gc_time_stamp();
+ if (!hr->continuesHumongous()) {
+ double start = os::elapsedTime();
+ _regions_claimed++;
+ hr->note_end_of_marking();
+ _max_live_bytes += hr->max_live_bytes();
+ _g1->free_region_if_empty(hr,
+ &_freed_bytes,
+ _local_cleanup_list,
+ _old_proxy_set,
+ _humongous_proxy_set,
+ _hrrs_cleanup_task,
+ true /* par */);
+ double region_time = (os::elapsedTime() - start);
+ _claimed_region_time += region_time;
+ if (region_time > _max_region_time) {
+ _max_region_time = region_time;
+ }
+ }
+ return false;
+ }
size_t max_live_bytes() { return _max_live_bytes; }
size_t regions_claimed() { return _regions_claimed; }
@@ -1556,18 +1649,19 @@ public:
AbstractGangTask("G1 note end"), _g1h(g1h),
_max_live_bytes(0), _freed_bytes(0), _cleanup_list(cleanup_list) { }
- void work(int i) {
+ void work(uint worker_id) {
double start = os::elapsedTime();
FreeRegionList local_cleanup_list("Local Cleanup List");
OldRegionSet old_proxy_set("Local Cleanup Old Proxy Set");
HumongousRegionSet humongous_proxy_set("Local Cleanup Humongous Proxy Set");
HRRSCleanupTask hrrs_cleanup_task;
- G1NoteEndOfConcMarkClosure g1_note_end(_g1h, i, &local_cleanup_list,
+ G1NoteEndOfConcMarkClosure g1_note_end(_g1h, worker_id, &local_cleanup_list,
&old_proxy_set,
&humongous_proxy_set,
&hrrs_cleanup_task);
if (G1CollectedHeap::use_parallel_gc_threads()) {
- _g1h->heap_region_par_iterate_chunked(&g1_note_end, i,
+ _g1h->heap_region_par_iterate_chunked(&g1_note_end, worker_id,
+ _g1h->workers()->active_workers(),
HeapRegion::NoteEndClaimValue);
} else {
_g1h->heap_region_iterate(&g1_note_end);
@@ -1610,8 +1704,8 @@ public:
double end = os::elapsedTime();
if (G1PrintParCleanupStats) {
gclog_or_tty->print(" Worker thread %d [%8.3f..%8.3f = %8.3f ms] "
- "claimed %d regions (tot = %8.3f ms, max = %8.3f ms).\n",
- i, start, end, (end-start)*1000.0,
+ "claimed %u regions (tot = %8.3f ms, max = %8.3f ms).\n",
+ worker_id, start, end, (end-start)*1000.0,
g1_note_end.regions_claimed(),
g1_note_end.claimed_region_time_sec()*1000.0,
g1_note_end.max_region_time_sec()*1000.0);
@@ -1633,9 +1727,9 @@ public:
_region_bm(region_bm), _card_bm(card_bm)
{}
- void work(int i) {
+ void work(uint worker_id) {
if (G1CollectedHeap::use_parallel_gc_threads()) {
- _g1rs->scrub_par(_region_bm, _card_bm, i,
+ _g1rs->scrub_par(_region_bm, _card_bm, worker_id,
HeapRegion::ScrubRemSetClaimValue);
} else {
_g1rs->scrub(_region_bm, _card_bm);
@@ -1644,47 +1738,6 @@ public:
};
-G1NoteEndOfConcMarkClosure::
-G1NoteEndOfConcMarkClosure(G1CollectedHeap* g1,
- int worker_num,
- FreeRegionList* local_cleanup_list,
- OldRegionSet* old_proxy_set,
- HumongousRegionSet* humongous_proxy_set,
- HRRSCleanupTask* hrrs_cleanup_task)
- : _g1(g1), _worker_num(worker_num),
- _max_live_bytes(0), _regions_claimed(0),
- _freed_bytes(0),
- _claimed_region_time(0.0), _max_region_time(0.0),
- _local_cleanup_list(local_cleanup_list),
- _old_proxy_set(old_proxy_set),
- _humongous_proxy_set(humongous_proxy_set),
- _hrrs_cleanup_task(hrrs_cleanup_task) { }
-
-bool G1NoteEndOfConcMarkClosure::doHeapRegion(HeapRegion *hr) {
- // We use a claim value of zero here because all regions
- // were claimed with value 1 in the FinalCount task.
- hr->reset_gc_time_stamp();
- if (!hr->continuesHumongous()) {
- double start = os::elapsedTime();
- _regions_claimed++;
- hr->note_end_of_marking();
- _max_live_bytes += hr->max_live_bytes();
- _g1->free_region_if_empty(hr,
- &_freed_bytes,
- _local_cleanup_list,
- _old_proxy_set,
- _humongous_proxy_set,
- _hrrs_cleanup_task,
- true /* par */);
- double region_time = (os::elapsedTime() - start);
- _claimed_region_time += region_time;
- if (region_time > _max_region_time) {
- _max_region_time = region_time;
- }
- }
- return false;
-}
-
void ConcurrentMark::cleanup() {
// world is stopped at this checkpoint
assert(SafepointSynchronize::is_at_safepoint(),
@@ -1716,6 +1769,8 @@ void ConcurrentMark::cleanup() {
HeapRegionRemSet::reset_for_cleanup_tasks();
+ uint n_workers;
+
// Do counting once more with the world stopped for good measure.
G1ParFinalCountTask g1_par_count_task(g1h, nextMarkBitMap(),
&_region_bm, &_card_bm);
@@ -1724,15 +1779,19 @@ void ConcurrentMark::cleanup() {
HeapRegion::InitialClaimValue),
"sanity check");
- int n_workers = g1h->workers()->total_workers();
- g1h->set_par_threads(n_workers);
+ g1h->set_par_threads();
+ n_workers = g1h->n_par_threads();
+ assert(g1h->n_par_threads() == n_workers,
+ "Should not have been reset");
g1h->workers()->run_task(&g1_par_count_task);
+ // Done with the parallel phase so reset to 0.
g1h->set_par_threads(0);
assert(g1h->check_heap_region_claim_values(
HeapRegion::FinalCountClaimValue),
"sanity check");
} else {
+ n_workers = 1;
g1_par_count_task.work(0);
}
@@ -1776,8 +1835,7 @@ void ConcurrentMark::cleanup() {
double note_end_start = os::elapsedTime();
G1ParNoteEndTask g1_par_note_end_task(g1h, &_cleanup_list);
if (G1CollectedHeap::use_parallel_gc_threads()) {
- int n_workers = g1h->workers()->total_workers();
- g1h->set_par_threads(n_workers);
+ g1h->set_par_threads((int)n_workers);
g1h->workers()->run_task(&g1_par_note_end_task);
g1h->set_par_threads(0);
@@ -1799,15 +1857,13 @@ void ConcurrentMark::cleanup() {
(note_end_end - note_end_start)*1000.0);
}
-
// call below, since it affects the metric by which we sort the heap
// regions.
if (G1ScrubRemSets) {
double rs_scrub_start = os::elapsedTime();
G1ParScrubRemSetTask g1_par_scrub_rs_task(g1h, &_region_bm, &_card_bm);
if (G1CollectedHeap::use_parallel_gc_threads()) {
- int n_workers = g1h->workers()->total_workers();
- g1h->set_par_threads(n_workers);
+ g1h->set_par_threads((int)n_workers);
g1h->workers()->run_task(&g1_par_scrub_rs_task);
g1h->set_par_threads(0);
@@ -1825,16 +1881,12 @@ void ConcurrentMark::cleanup() {
// this will also free any regions totally full of garbage objects,
// and sort the regions.
- g1h->g1_policy()->record_concurrent_mark_cleanup_end();
+ g1h->g1_policy()->record_concurrent_mark_cleanup_end((int)n_workers);
// Statistics.
double end = os::elapsedTime();
_cleanup_times.add((end - start) * 1000.0);
- // G1CollectedHeap::heap()->print();
- // gclog_or_tty->print_cr("HEAP GC TIME STAMP : %d",
- // G1CollectedHeap::heap()->get_gc_time_stamp());
-
if (PrintGC || PrintGCDetails) {
g1h->print_size_transition(gclog_or_tty,
start_used_bytes,
@@ -1991,16 +2043,12 @@ class G1CMDrainMarkingStackClosure: public VoidClosure {
class G1CMParKeepAliveAndDrainClosure: public OopClosure {
ConcurrentMark* _cm;
CMTask* _task;
- CMBitMap* _bitMap;
int _ref_counter_limit;
int _ref_counter;
public:
- G1CMParKeepAliveAndDrainClosure(ConcurrentMark* cm,
- CMTask* task,
- CMBitMap* bitMap) :
- _cm(cm), _task(task), _bitMap(bitMap),
- _ref_counter_limit(G1RefProcDrainInterval)
- {
+ G1CMParKeepAliveAndDrainClosure(ConcurrentMark* cm, CMTask* task) :
+ _cm(cm), _task(task),
+ _ref_counter_limit(G1RefProcDrainInterval) {
assert(_ref_counter_limit > 0, "sanity");
_ref_counter = _ref_counter_limit;
}
@@ -2091,19 +2139,16 @@ class G1CMRefProcTaskExecutor: public AbstractRefProcTaskExecutor {
private:
G1CollectedHeap* _g1h;
ConcurrentMark* _cm;
- CMBitMap* _bitmap;
WorkGang* _workers;
int _active_workers;
public:
G1CMRefProcTaskExecutor(G1CollectedHeap* g1h,
ConcurrentMark* cm,
- CMBitMap* bitmap,
WorkGang* workers,
int n_workers) :
- _g1h(g1h), _cm(cm), _bitmap(bitmap),
- _workers(workers), _active_workers(n_workers)
- { }
+ _g1h(g1h), _cm(cm),
+ _workers(workers), _active_workers(n_workers) { }
// Executes the given task using concurrent marking worker threads.
virtual void execute(ProcessTask& task);
@@ -2115,31 +2160,28 @@ class G1CMRefProcTaskProxy: public AbstractGangTask {
ProcessTask& _proc_task;
G1CollectedHeap* _g1h;
ConcurrentMark* _cm;
- CMBitMap* _bitmap;
public:
G1CMRefProcTaskProxy(ProcessTask& proc_task,
G1CollectedHeap* g1h,
- ConcurrentMark* cm,
- CMBitMap* bitmap) :
+ ConcurrentMark* cm) :
AbstractGangTask("Process reference objects in parallel"),
- _proc_task(proc_task), _g1h(g1h), _cm(cm), _bitmap(bitmap)
- {}
+ _proc_task(proc_task), _g1h(g1h), _cm(cm) { }
- virtual void work(int i) {
- CMTask* marking_task = _cm->task(i);
+ virtual void work(uint worker_id) {
+ CMTask* marking_task = _cm->task(worker_id);
G1CMIsAliveClosure g1_is_alive(_g1h);
- G1CMParKeepAliveAndDrainClosure g1_par_keep_alive(_cm, marking_task, _bitmap);
+ G1CMParKeepAliveAndDrainClosure g1_par_keep_alive(_cm, marking_task);
G1CMParDrainMarkingStackClosure g1_par_drain(_cm, marking_task);
- _proc_task.work(i, g1_is_alive, g1_par_keep_alive, g1_par_drain);
+ _proc_task.work(worker_id, g1_is_alive, g1_par_keep_alive, g1_par_drain);
}
};
void G1CMRefProcTaskExecutor::execute(ProcessTask& proc_task) {
assert(_workers != NULL, "Need parallel worker threads.");
- G1CMRefProcTaskProxy proc_task_proxy(proc_task, _g1h, _cm, _bitmap);
+ G1CMRefProcTaskProxy proc_task_proxy(proc_task, _g1h, _cm);
// We need to reset the phase for each task execution so that
// the termination protocol of CMTask::do_marking_step works.
@@ -2156,11 +2198,10 @@ class G1CMRefEnqueueTaskProxy: public AbstractGangTask {
public:
G1CMRefEnqueueTaskProxy(EnqueueTask& enq_task) :
AbstractGangTask("Enqueue reference objects in parallel"),
- _enq_task(enq_task)
- { }
+ _enq_task(enq_task) { }
- virtual void work(int i) {
- _enq_task.work(i);
+ virtual void work(uint worker_id) {
+ _enq_task.work(worker_id);
}
};
@@ -2207,10 +2248,10 @@ void ConcurrentMark::weakRefsWork(bool clear_all_soft_refs) {
// We use the work gang from the G1CollectedHeap and we utilize all
// the worker threads.
- int active_workers = g1h->workers() ? g1h->workers()->total_workers() : 1;
- active_workers = MAX2(MIN2(active_workers, (int)_max_task_num), 1);
+ uint active_workers = g1h->workers() ? g1h->workers()->active_workers() : 1U;
+ active_workers = MAX2(MIN2(active_workers, _max_task_num), 1U);
- G1CMRefProcTaskExecutor par_task_executor(g1h, this, nextMarkBitMap(),
+ G1CMRefProcTaskExecutor par_task_executor(g1h, this,
g1h->workers(), active_workers);
if (rp->processing_is_mt()) {
@@ -2272,11 +2313,11 @@ private:
ConcurrentMark *_cm;
public:
- void work(int worker_i) {
+ void work(uint worker_id) {
// Since all available tasks are actually started, we should
// only proceed if we're supposed to be actived.
- if ((size_t)worker_i < _cm->active_tasks()) {
- CMTask* task = _cm->task(worker_i);
+ if (worker_id < _cm->active_tasks()) {
+ CMTask* task = _cm->task(worker_id);
task->record_start_time();
do {
task->do_marking_step(1000000000.0 /* something very large */,
@@ -2289,8 +2330,10 @@ public:
}
}
- CMRemarkTask(ConcurrentMark* cm) :
- AbstractGangTask("Par Remark"), _cm(cm) { }
+ CMRemarkTask(ConcurrentMark* cm, int active_workers) :
+ AbstractGangTask("Par Remark"), _cm(cm) {
+ _cm->terminator()->reset_for_reuse(active_workers);
+ }
};
void ConcurrentMark::checkpointRootsFinalWork() {
@@ -2302,25 +2345,30 @@ void ConcurrentMark::checkpointRootsFinalWork() {
if (G1CollectedHeap::use_parallel_gc_threads()) {
G1CollectedHeap::StrongRootsScope srs(g1h);
- // this is remark, so we'll use up all available threads
- int active_workers = ParallelGCThreads;
+ // this is remark, so we'll use up all active threads
+ uint active_workers = g1h->workers()->active_workers();
+ if (active_workers == 0) {
+ assert(active_workers > 0, "Should have been set earlier");
+ active_workers = (uint) ParallelGCThreads;
+ g1h->workers()->set_active_workers(active_workers);
+ }
set_phase(active_workers, false /* concurrent */);
+ // Leave _parallel_marking_threads at it's
+ // value originally calculated in the ConcurrentMark
+ // constructor and pass values of the active workers
+ // through the gang in the task.
- CMRemarkTask remarkTask(this);
- // We will start all available threads, even if we decide that the
- // active_workers will be fewer. The extra ones will just bail out
- // immediately.
- int n_workers = g1h->workers()->total_workers();
- g1h->set_par_threads(n_workers);
+ CMRemarkTask remarkTask(this, active_workers);
+ g1h->set_par_threads(active_workers);
g1h->workers()->run_task(&remarkTask);
g1h->set_par_threads(0);
} else {
G1CollectedHeap::StrongRootsScope srs(g1h);
// this is remark, so we'll use up all available threads
- int active_workers = 1;
+ uint active_workers = 1;
set_phase(active_workers, false /* concurrent */);
- CMRemarkTask remarkTask(this);
+ CMRemarkTask remarkTask(this, active_workers);
// We will start all available threads, even if we decide that the
// active_workers will be fewer. The extra ones will just bail out
// immediately.
@@ -2625,6 +2673,8 @@ void ConcurrentMark::deal_with_reference(oop obj) {
}
void ConcurrentMark::drainAllSATBBuffers() {
+ guarantee(false, "drainAllSATBBuffers(): don't call this any more");
+
CMGlobalObjectClosure oc(this);
SATBMarkQueueSet& satb_mq_set = JavaThread::satb_mark_queue_set();
satb_mq_set.set_closure(&oc);
@@ -2643,12 +2693,6 @@ void ConcurrentMark::drainAllSATBBuffers() {
assert(satb_mq_set.completed_buffers_num() == 0, "invariant");
}
-void ConcurrentMark::markPrev(oop p) {
- // Note we are overriding the read-only view of the prev map here, via
- // the cast.
- ((CMBitMap*)_prevMarkBitMap)->mark((HeapWord*)p);
-}
-
void ConcurrentMark::clear(oop p) {
assert(p != NULL && p->is_oop(), "expected an oop");
HeapWord* addr = (HeapWord*)p;
@@ -2658,13 +2702,21 @@ void ConcurrentMark::clear(oop p) {
_nextMarkBitMap->clear(addr);
}
-void ConcurrentMark::clearRangeBothMaps(MemRegion mr) {
+void ConcurrentMark::clearRangePrevBitmap(MemRegion mr) {
// Note we are overriding the read-only view of the prev map here, via
// the cast.
((CMBitMap*)_prevMarkBitMap)->clearRange(mr);
+}
+
+void ConcurrentMark::clearRangeNextBitmap(MemRegion mr) {
_nextMarkBitMap->clearRange(mr);
}
+void ConcurrentMark::clearRangeBothBitmaps(MemRegion mr) {
+ clearRangePrevBitmap(mr);
+ clearRangeNextBitmap(mr);
+}
+
HeapRegion*
ConcurrentMark::claim_region(int task_num) {
// "checkpoint" the finger
@@ -2759,6 +2811,9 @@ ConcurrentMark::claim_region(int task_num) {
}
bool ConcurrentMark::invalidate_aborted_regions_in_cset() {
+ guarantee(false, "invalidate_aborted_regions_in_cset(): "
+ "don't call this any more");
+
bool result = false;
for (int i = 0; i < (int)_max_task_num; ++i) {
CMTask* the_task = _tasks[i];
@@ -2810,24 +2865,135 @@ void ConcurrentMark::oops_do(OopClosure* cl) {
// ...then over the contents of the all the task queues.
queue->oops_do(cl);
}
+}
+
+#ifndef PRODUCT
+enum VerifyNoCSetOopsPhase {
+ VerifyNoCSetOopsStack,
+ VerifyNoCSetOopsQueues,
+ VerifyNoCSetOopsSATBCompleted,
+ VerifyNoCSetOopsSATBThread
+};
+
+class VerifyNoCSetOopsClosure : public OopClosure, public ObjectClosure {
+private:
+ G1CollectedHeap* _g1h;
+ VerifyNoCSetOopsPhase _phase;
+ int _info;
+
+ const char* phase_str() {
+ switch (_phase) {
+ case VerifyNoCSetOopsStack: return "Stack";
+ case VerifyNoCSetOopsQueues: return "Queue";
+ case VerifyNoCSetOopsSATBCompleted: return "Completed SATB Buffers";
+ case VerifyNoCSetOopsSATBThread: return "Thread SATB Buffers";
+ default: ShouldNotReachHere();
+ }
+ return NULL;
+ }
+
+ void do_object_work(oop obj) {
+ guarantee(!_g1h->obj_in_cs(obj),
+ err_msg("obj: "PTR_FORMAT" in CSet, phase: %s, info: %d",
+ (void*) obj, phase_str(), _info));
+ }
- // Invalidate any entries, that are in the region stack, that
- // point into the collection set
- if (_regionStack.invalidate_entries_into_cset()) {
- // otherwise, any gray objects copied during the evacuation pause
- // might not be visited.
- assert(_should_gray_objects, "invariant");
+public:
+ VerifyNoCSetOopsClosure() : _g1h(G1CollectedHeap::heap()) { }
+
+ void set_phase(VerifyNoCSetOopsPhase phase, int info = -1) {
+ _phase = phase;
+ _info = info;
+ }
+
+ virtual void do_oop(oop* p) {
+ oop obj = oopDesc::load_decode_heap_oop(p);
+ do_object_work(obj);
}
- // Invalidate any aborted regions, recorded in the individual CM
- // tasks, that point into the collection set.
- if (invalidate_aborted_regions_in_cset()) {
- // otherwise, any gray objects copied during the evacuation pause
- // might not be visited.
- assert(_should_gray_objects, "invariant");
+ virtual void do_oop(narrowOop* p) {
+ // We should not come across narrow oops while scanning marking
+ // stacks and SATB buffers.
+ ShouldNotReachHere();
}
+ virtual void do_object(oop obj) {
+ do_object_work(obj);
+ }
+};
+
+void ConcurrentMark::verify_no_cset_oops(bool verify_stacks,
+ bool verify_enqueued_buffers,
+ bool verify_thread_buffers,
+ bool verify_fingers) {
+ assert(SafepointSynchronize::is_at_safepoint(), "should be at a safepoint");
+ if (!G1CollectedHeap::heap()->mark_in_progress()) {
+ return;
+ }
+
+ VerifyNoCSetOopsClosure cl;
+
+ if (verify_stacks) {
+ // Verify entries on the global mark stack
+ cl.set_phase(VerifyNoCSetOopsStack);
+ _markStack.oops_do(&cl);
+
+ // Verify entries on the task queues
+ for (int i = 0; i < (int) _max_task_num; i += 1) {
+ cl.set_phase(VerifyNoCSetOopsQueues, i);
+ OopTaskQueue* queue = _task_queues->queue(i);
+ queue->oops_do(&cl);
+ }
+ }
+
+ SATBMarkQueueSet& satb_qs = JavaThread::satb_mark_queue_set();
+
+ // Verify entries on the enqueued SATB buffers
+ if (verify_enqueued_buffers) {
+ cl.set_phase(VerifyNoCSetOopsSATBCompleted);
+ satb_qs.iterate_completed_buffers_read_only(&cl);
+ }
+
+ // Verify entries on the per-thread SATB buffers
+ if (verify_thread_buffers) {
+ cl.set_phase(VerifyNoCSetOopsSATBThread);
+ satb_qs.iterate_thread_buffers_read_only(&cl);
+ }
+
+ if (verify_fingers) {
+ // Verify the global finger
+ HeapWord* global_finger = finger();
+ if (global_finger != NULL && global_finger < _heap_end) {
+ // The global finger always points to a heap region boundary. We
+ // use heap_region_containing_raw() to get the containing region
+ // given that the global finger could be pointing to a free region
+ // which subsequently becomes continues humongous. If that
+ // happens, heap_region_containing() will return the bottom of the
+ // corresponding starts humongous region and the check below will
+ // not hold any more.
+ HeapRegion* global_hr = _g1h->heap_region_containing_raw(global_finger);
+ guarantee(global_finger == global_hr->bottom(),
+ err_msg("global finger: "PTR_FORMAT" region: "HR_FORMAT,
+ global_finger, HR_FORMAT_PARAMS(global_hr)));
+ }
+
+ // Verify the task fingers
+ assert(parallel_marking_threads() <= _max_task_num, "sanity");
+ for (int i = 0; i < (int) parallel_marking_threads(); i += 1) {
+ CMTask* task = _tasks[i];
+ HeapWord* task_finger = task->finger();
+ if (task_finger != NULL && task_finger < _heap_end) {
+ // See above note on the global finger verification.
+ HeapRegion* task_hr = _g1h->heap_region_containing_raw(task_finger);
+ guarantee(task_finger == task_hr->bottom() ||
+ !task_hr->in_collection_set(),
+ err_msg("task finger: "PTR_FORMAT" region: "HR_FORMAT,
+ task_finger, HR_FORMAT_PARAMS(task_hr)));
+ }
+ }
+ }
}
+#endif // PRODUCT
void ConcurrentMark::clear_marking_state(bool clear_overflow) {
_markStack.setEmpty();
@@ -2859,8 +3025,10 @@ void ConcurrentMark::print_stats() {
}
}
-class CSMarkOopClosure: public OopClosure {
- friend class CSMarkBitMapClosure;
+// Closures used by ConcurrentMark::complete_marking_in_collection_set().
+
+class CSetMarkOopClosure: public OopClosure {
+ friend class CSetMarkBitMapClosure;
G1CollectedHeap* _g1h;
CMBitMap* _bm;
@@ -2870,6 +3038,7 @@ class CSMarkOopClosure: public OopClosure {
int _ms_size;
int _ms_ind;
int _array_increment;
+ uint _worker_id;
bool push(oop obj, int arr_ind = 0) {
if (_ms_ind == _ms_size) {
@@ -2910,7 +3079,6 @@ class CSMarkOopClosure: public OopClosure {
for (int j = arr_ind; j < lim; j++) {
do_oop(aobj->objArrayOopDesc::obj_at_addr<T>(j));
}
-
} else {
obj->oop_iterate(this);
}
@@ -2920,17 +3088,17 @@ class CSMarkOopClosure: public OopClosure {
}
public:
- CSMarkOopClosure(ConcurrentMark* cm, int ms_size) :
+ CSetMarkOopClosure(ConcurrentMark* cm, int ms_size, uint worker_id) :
_g1h(G1CollectedHeap::heap()),
_cm(cm),
_bm(cm->nextMarkBitMap()),
_ms_size(ms_size), _ms_ind(0),
_ms(NEW_C_HEAP_ARRAY(oop, ms_size)),
_array_ind_stack(NEW_C_HEAP_ARRAY(jint, ms_size)),
- _array_increment(MAX2(ms_size/8, 16))
- {}
+ _array_increment(MAX2(ms_size/8, 16)),
+ _worker_id(worker_id) { }
- ~CSMarkOopClosure() {
+ ~CSetMarkOopClosure() {
FREE_C_HEAP_ARRAY(oop, _ms);
FREE_C_HEAP_ARRAY(jint, _array_ind_stack);
}
@@ -2953,10 +3121,11 @@ public:
if (hr != NULL) {
if (hr->in_collection_set()) {
if (_g1h->is_obj_ill(obj)) {
- _bm->mark((HeapWord*)obj);
- if (!push(obj)) {
- gclog_or_tty->print_cr("Setting abort in CSMarkOopClosure because push failed.");
- set_abort();
+ if (_bm->parMark((HeapWord*)obj)) {
+ if (!push(obj)) {
+ gclog_or_tty->print_cr("Setting abort in CSetMarkOopClosure because push failed.");
+ set_abort();
+ }
}
}
} else {
@@ -2967,19 +3136,19 @@ public:
}
};
-class CSMarkBitMapClosure: public BitMapClosure {
- G1CollectedHeap* _g1h;
- CMBitMap* _bitMap;
- ConcurrentMark* _cm;
- CSMarkOopClosure _oop_cl;
+class CSetMarkBitMapClosure: public BitMapClosure {
+ G1CollectedHeap* _g1h;
+ CMBitMap* _bitMap;
+ ConcurrentMark* _cm;
+ CSetMarkOopClosure _oop_cl;
+ uint _worker_id;
+
public:
- CSMarkBitMapClosure(ConcurrentMark* cm, int ms_size) :
+ CSetMarkBitMapClosure(ConcurrentMark* cm, int ms_size, int worker_id) :
_g1h(G1CollectedHeap::heap()),
_bitMap(cm->nextMarkBitMap()),
- _oop_cl(cm, ms_size)
- {}
-
- ~CSMarkBitMapClosure() {}
+ _oop_cl(cm, ms_size, worker_id),
+ _worker_id(worker_id) { }
bool do_bit(size_t offset) {
// convert offset into a HeapWord*
@@ -3001,54 +3170,60 @@ public:
}
};
+class CompleteMarkingInCSetHRClosure: public HeapRegionClosure {
+ CMBitMap* _bm;
+ CSetMarkBitMapClosure _bit_cl;
+ uint _worker_id;
-class CompleteMarkingInCSHRClosure: public HeapRegionClosure {
- CMBitMap* _bm;
- CSMarkBitMapClosure _bit_cl;
enum SomePrivateConstants {
MSSize = 1000
};
- bool _completed;
+
public:
- CompleteMarkingInCSHRClosure(ConcurrentMark* cm) :
+ CompleteMarkingInCSetHRClosure(ConcurrentMark* cm, int worker_id) :
_bm(cm->nextMarkBitMap()),
- _bit_cl(cm, MSSize),
- _completed(true)
- {}
+ _bit_cl(cm, MSSize, worker_id),
+ _worker_id(worker_id) { }
- ~CompleteMarkingInCSHRClosure() {}
-
- bool doHeapRegion(HeapRegion* r) {
- if (!r->evacuation_failed()) {
- MemRegion mr = MemRegion(r->bottom(), r->next_top_at_mark_start());
- if (!mr.is_empty()) {
- if (!_bm->iterate(&_bit_cl, mr)) {
- _completed = false;
- return true;
+ bool doHeapRegion(HeapRegion* hr) {
+ if (hr->claimHeapRegion(HeapRegion::CompleteMarkCSetClaimValue)) {
+ // The current worker has successfully claimed the region.
+ if (!hr->evacuation_failed()) {
+ MemRegion mr = MemRegion(hr->bottom(), hr->next_top_at_mark_start());
+ if (!mr.is_empty()) {
+ bool done = false;
+ while (!done) {
+ done = _bm->iterate(&_bit_cl, mr);
+ }
}
}
}
return false;
}
-
- bool completed() { return _completed; }
};
-class ClearMarksInHRClosure: public HeapRegionClosure {
- CMBitMap* _bm;
+class G1ParCompleteMarkInCSetTask: public AbstractGangTask {
+protected:
+ G1CollectedHeap* _g1h;
+ ConcurrentMark* _cm;
+
public:
- ClearMarksInHRClosure(CMBitMap* bm): _bm(bm) { }
+ G1ParCompleteMarkInCSetTask(G1CollectedHeap* g1h,
+ ConcurrentMark* cm) :
+ AbstractGangTask("Complete Mark in CSet"),
+ _g1h(g1h), _cm(cm) { }
- bool doHeapRegion(HeapRegion* r) {
- if (!r->used_region().is_empty() && !r->evacuation_failed()) {
- MemRegion usedMR = r->used_region();
- _bm->clearRange(r->used_region());
- }
- return false;
+ void work(uint worker_id) {
+ CompleteMarkingInCSetHRClosure cmplt(_cm, worker_id);
+ HeapRegion* hr = _g1h->start_cset_region_for_worker(worker_id);
+ _g1h->collection_set_iterate_from(hr, &cmplt);
}
};
void ConcurrentMark::complete_marking_in_collection_set() {
+ guarantee(false, "complete_marking_in_collection_set(): "
+ "don't call this any more");
+
G1CollectedHeap* g1h = G1CollectedHeap::heap();
if (!g1h->mark_in_progress()) {
@@ -3056,20 +3231,30 @@ void ConcurrentMark::complete_marking_in_collection_set() {
return;
}
- int i = 1;
double start = os::elapsedTime();
- while (true) {
- i++;
- CompleteMarkingInCSHRClosure cmplt(this);
- g1h->collection_set_iterate(&cmplt);
- if (cmplt.completed()) break;
+ G1ParCompleteMarkInCSetTask complete_mark_task(g1h, this);
+
+ assert(g1h->check_cset_heap_region_claim_values(HeapRegion::InitialClaimValue), "sanity");
+
+ if (G1CollectedHeap::use_parallel_gc_threads()) {
+ int n_workers = g1h->workers()->active_workers();
+ g1h->set_par_threads(n_workers);
+ g1h->workers()->run_task(&complete_mark_task);
+ g1h->set_par_threads(0);
+ } else {
+ complete_mark_task.work(0);
}
+
+ assert(g1h->check_cset_heap_region_claim_values(HeapRegion::CompleteMarkCSetClaimValue), "sanity");
+
+ // Reset the claim values in the regions in the collection set.
+ g1h->reset_cset_heap_region_claim_values();
+
+ assert(g1h->check_cset_heap_region_claim_values(HeapRegion::InitialClaimValue), "sanity");
+
double end_time = os::elapsedTime();
double elapsed_time_ms = (end_time - start) * 1000.0;
g1h->g1_policy()->record_mark_closure_time(elapsed_time_ms);
-
- ClearMarksInHRClosure clr(nextMarkBitMap());
- g1h->collection_set_iterate(&clr);
}
// The next two methods deal with the following optimisation. Some
@@ -3086,6 +3271,8 @@ void ConcurrentMark::complete_marking_in_collection_set() {
// newCSet().
void ConcurrentMark::newCSet() {
+ guarantee(false, "newCSet(): don't call this any more");
+
if (!concurrent_marking_in_progress()) {
// nothing to do if marking is not in progress
return;
@@ -3124,6 +3311,8 @@ void ConcurrentMark::newCSet() {
}
void ConcurrentMark::registerCSetRegion(HeapRegion* hr) {
+ guarantee(false, "registerCSetRegion(): don't call this any more");
+
if (!concurrent_marking_in_progress()) return;
HeapWord* region_end = hr->end();
@@ -3135,6 +3324,9 @@ void ConcurrentMark::registerCSetRegion(HeapRegion* hr) {
// Resets the region fields of active CMTasks whose values point
// into the collection set.
void ConcurrentMark::reset_active_task_region_fields_in_cset() {
+ guarantee(false, "reset_active_task_region_fields_in_cset(): "
+ "don't call this any more");
+
assert(SafepointSynchronize::is_at_safepoint(), "should be in STW");
assert(parallel_marking_threads() <= _max_task_num, "sanity");
@@ -3228,13 +3420,13 @@ void ConcurrentMark::print_worker_threads_on(outputStream* st) const {
// the CMS bit map. Called at the first checkpoint.
// We take a break if someone is trying to stop the world.
-bool ConcurrentMark::do_yield_check(int worker_i) {
+bool ConcurrentMark::do_yield_check(uint worker_id) {
if (should_yield()) {
- if (worker_i == 0) {
+ if (worker_id == 0) {
_g1h->g1_policy()->record_concurrent_pause();
}
cmThread()->yield();
- if (worker_i == 0) {
+ if (worker_id == 0) {
_g1h->g1_policy()->record_concurrent_pause_end();
}
return true;
@@ -3845,6 +4037,10 @@ void CMTask::drain_satb_buffers() {
}
void CMTask::drain_region_stack(BitMapClosure* bc) {
+ assert(_cm->region_stack_empty(), "region stack should be empty");
+ assert(_aborted_region.is_empty(), "aborted region should be empty");
+ return;
+
if (has_aborted()) return;
assert(_region_finger == NULL,
diff --git a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.hpp b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.hpp
index c724594..1a40784 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -166,10 +166,10 @@ class CMBitMap : public CMBitMapRO {
// Ideally this should be GrowableArray<> just like MSC's marking stack(s).
class CMMarkStack VALUE_OBJ_CLASS_SPEC {
ConcurrentMark* _cm;
- oop* _base; // bottom of stack
- jint _index; // one more than last occupied index
- jint _capacity; // max #elements
- jint _oops_do_bound; // Number of elements to include in next iteration.
+ oop* _base; // bottom of stack
+ jint _index; // one more than last occupied index
+ jint _capacity; // max #elements
+ jint _saved_index; // value of _index saved at start of GC
NOT_PRODUCT(jint _max_depth;) // max depth plumbed during run
bool _overflow;
@@ -247,16 +247,12 @@ class CMMarkStack VALUE_OBJ_CLASS_SPEC {
void setEmpty() { _index = 0; clear_overflow(); }
- // Record the current size; a subsequent "oops_do" will iterate only over
- // indices valid at the time of this call.
- void set_oops_do_bound(jint bound = -1) {
- if (bound == -1) {
- _oops_do_bound = _index;
- } else {
- _oops_do_bound = bound;
- }
- }
- jint oops_do_bound() { return _oops_do_bound; }
+ // Record the current index.
+ void note_start_of_gc();
+
+ // Make sure that we have not added any entries to the stack during GC.
+ void note_end_of_gc();
+
// iterate over the oops in the mark stack, up to the bound recorded via
// the call above.
void oops_do(OopClosure* f);
@@ -360,7 +356,7 @@ class ConcurrentMark: public CHeapObj {
friend class ConcurrentMarkThread;
friend class CMTask;
friend class CMBitMapClosure;
- friend class CSMarkOopClosure;
+ friend class CSetMarkOopClosure;
friend class CMGlobalObjectClosure;
friend class CMRemarkTask;
friend class CMConcurrentMarkingTask;
@@ -374,8 +370,10 @@ class ConcurrentMark: public CHeapObj {
protected:
ConcurrentMarkThread* _cmThread; // the thread doing the work
G1CollectedHeap* _g1h; // the heap.
- size_t _parallel_marking_threads; // the number of marking
- // threads we'll use
+ uint _parallel_marking_threads; // the number of marking
+ // threads we're use
+ uint _max_parallel_marking_threads; // max number of marking
+ // threads we'll ever use
double _sleep_factor; // how much we have to sleep, with
// respect to the work we just did, to
// meet the marking overhead goal
@@ -410,8 +408,8 @@ protected:
// last claimed region
// marking tasks
- size_t _max_task_num; // maximum task number
- size_t _active_tasks; // task num currently active
+ uint _max_task_num; // maximum task number
+ uint _active_tasks; // task num currently active
CMTask** _tasks; // task queue array (max_task_num len)
CMTaskQueueSet* _task_queues; // task queue set
ParallelTaskTerminator _terminator; // for termination
@@ -473,7 +471,7 @@ protected:
double* _accum_task_vtime; // accumulated task vtime
- WorkGang* _parallel_workers;
+ FlexibleWorkGang* _parallel_workers;
ForceOverflowSettings _force_overflow_conc;
ForceOverflowSettings _force_overflow_stw;
@@ -490,7 +488,7 @@ protected:
// It should be called to indicate which phase we're in (concurrent
// mark or remark) and how many threads are currently active.
- void set_phase(size_t active_tasks, bool concurrent);
+ void set_phase(uint active_tasks, bool concurrent);
// We do this after we're done with marking so that the marking data
// structures are initialised to a sensible and predictable state.
void set_non_marking_state();
@@ -503,7 +501,8 @@ protected:
}
// accessor methods
- size_t parallel_marking_threads() { return _parallel_marking_threads; }
+ uint parallel_marking_threads() { return _parallel_marking_threads; }
+ uint max_parallel_marking_threads() { return _max_parallel_marking_threads;}
double sleep_factor() { return _sleep_factor; }
double marking_task_overhead() { return _marking_task_overhead;}
double cleanup_sleep_factor() { return _cleanup_sleep_factor; }
@@ -511,7 +510,7 @@ protected:
HeapWord* finger() { return _finger; }
bool concurrent() { return _concurrent; }
- size_t active_tasks() { return _active_tasks; }
+ uint active_tasks() { return _active_tasks; }
ParallelTaskTerminator* terminator() { return &_terminator; }
// It claims the next available region to be scanned by a marking
@@ -709,14 +708,21 @@ public:
CMBitMapRO* prevMarkBitMap() const { return _prevMarkBitMap; }
CMBitMap* nextMarkBitMap() const { return _nextMarkBitMap; }
+ // Returns the number of GC threads to be used in a concurrent
+ // phase based on the number of GC threads being used in a STW
+ // phase.
+ uint scale_parallel_threads(uint n_par_threads);
+
+ // Calculates the number of GC threads to be used in a concurrent phase.
+ uint calc_parallel_marking_threads();
+
// The following three are interaction between CM and
// G1CollectedHeap
// This notifies CM that a root during initial-mark needs to be
- // grayed and it's MT-safe. Currently, we just mark it. But, in the
- // future, we can experiment with pushing it on the stack and we can
- // do this without changing G1CollectedHeap.
- void grayRoot(oop p);
+ // grayed. It is MT-safe.
+ inline void grayRoot(oop obj, size_t word_size);
+
// It's used during evacuation pauses to gray a region, if
// necessary, and it's MT-safe. It assumes that the caller has
// marked any objects on that region. If _should_gray_objects is
@@ -724,6 +730,7 @@ public:
// pushed on the region stack, if it is located below the global
// finger, otherwise we do nothing.
void grayRegionIfNecessary(MemRegion mr);
+
// It's used during evacuation pauses to mark and, if necessary,
// gray a single object and it's MT-safe. It assumes the caller did
// not mark the object. If _should_gray_objects is true and we're
@@ -780,24 +787,40 @@ public:
// Mark in the previous bitmap. NB: this is usually read-only, so use
// this carefully!
- void markPrev(oop p);
+ inline void markPrev(oop p);
+ inline void markNext(oop p);
void clear(oop p);
- // Clears marks for all objects in the given range, for both prev and
- // next bitmaps. NB: the previous bitmap is usually read-only, so use
- // this carefully!
- void clearRangeBothMaps(MemRegion mr);
+ // Clears marks for all objects in the given range, for the prev,
+ // next, or both bitmaps. NB: the previous bitmap is usually
+ // read-only, so use this carefully!
+ void clearRangePrevBitmap(MemRegion mr);
+ void clearRangeNextBitmap(MemRegion mr);
+ void clearRangeBothBitmaps(MemRegion mr);
+
+ // Notify data structures that a GC has started.
+ void note_start_of_gc() {
+ _markStack.note_start_of_gc();
+ }
- // Record the current top of the mark and region stacks; a
- // subsequent oops_do() on the mark stack and
- // invalidate_entries_into_cset() on the region stack will iterate
- // only over indices valid at the time of this call.
- void set_oops_do_bound() {
- _markStack.set_oops_do_bound();
- _regionStack.set_oops_do_bound();
+ // Notify data structures that a GC is finished.
+ void note_end_of_gc() {
+ _markStack.note_end_of_gc();
}
+
// Iterate over the oops in the mark stack and all local queues. It
// also calls invalidate_entries_into_cset() on the region stack.
void oops_do(OopClosure* f);
+
+ // Verify that there are no CSet oops on the stacks (taskqueues /
+ // global mark stack), enqueued SATB buffers, per-thread SATB
+ // buffers, and fingers (global / per-task). The boolean parameters
+ // decide which of the above data structures to verify. If marking
+ // is not in progress, it's a no-op.
+ void verify_no_cset_oops(bool verify_stacks,
+ bool verify_enqueued_buffers,
+ bool verify_thread_buffers,
+ bool verify_fingers) PRODUCT_RETURN;
+
// It is called at the end of an evacuation pause during marking so
// that CM is notified of where the new end of the heap is. It
// doesn't do anything if concurrent_marking_in_progress() is false,
@@ -862,7 +885,7 @@ public:
return _prevMarkBitMap->isMarked(addr);
}
- inline bool do_yield_check(int worker_i = 0);
+ inline bool do_yield_check(uint worker_i = 0);
inline bool should_yield();
// Called to abort the marking cycle after a Full GC takes palce.
@@ -1155,6 +1178,7 @@ public:
// It keeps picking SATB buffers and processing them until no SATB
// buffers are available.
void drain_satb_buffers();
+
// It keeps popping regions from the region stack and processing
// them until the region stack is empty.
void drain_region_stack(BitMapClosure* closure);
diff --git a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp
index fdba22a..d72db9e 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -153,4 +153,46 @@ inline void CMTask::deal_with_reference(oop obj) {
}
}
+inline void ConcurrentMark::markPrev(oop p) {
+ assert(!_prevMarkBitMap->isMarked((HeapWord*) p), "sanity");
+ // Note we are overriding the read-only view of the prev map here, via
+ // the cast.
+ ((CMBitMap*)_prevMarkBitMap)->mark((HeapWord*) p);
+}
+
+inline void ConcurrentMark::markNext(oop p) {
+ assert(!_nextMarkBitMap->isMarked((HeapWord*) p), "sanity");
+ _nextMarkBitMap->mark((HeapWord*) p);
+}
+
+inline void ConcurrentMark::grayRoot(oop obj, size_t word_size) {
+ HeapWord* addr = (HeapWord*) obj;
+
+ // Currently we don't do anything with word_size but we will use it
+ // in the very near future in the liveness calculation piggy-backing
+ // changes.
+
+#ifdef ASSERT
+ HeapRegion* hr = _g1h->heap_region_containing(addr);
+ assert(hr != NULL, "sanity");
+ assert(!hr->is_survivor(), "should not allocate survivors during IM");
+ assert(addr < hr->next_top_at_mark_start(),
+ err_msg("addr: "PTR_FORMAT" hr: "HR_FORMAT" NTAMS: "PTR_FORMAT,
+ addr, HR_FORMAT_PARAMS(hr), hr->next_top_at_mark_start()));
+ // We cannot assert that word_size == obj->size() given that obj
+ // might not be in a consistent state (another thread might be in
+ // the process of copying it). So the best thing we can do is to
+ // assert that word_size is under an upper bound which is its
+ // containing region's capacity.
+ assert(word_size * HeapWordSize <= hr->capacity(),
+ err_msg("size: "SIZE_FORMAT" capacity: "SIZE_FORMAT" "HR_FORMAT,
+ word_size * HeapWordSize, hr->capacity(),
+ HR_FORMAT_PARAMS(hr)));
+#endif // ASSERT
+
+ if (!_nextMarkBitMap->isMarked(addr)) {
+ _nextMarkBitMap->parMark(addr);
+ }
+}
+
#endif // SHARE_VM_GC_IMPLEMENTATION_G1_CONCURRENTMARK_INLINE_HPP
diff --git a/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp b/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp
index 0a4c81a..e6d3c70 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp
@@ -191,7 +191,11 @@ void ConcurrentMarkThread::run() {
VM_CGC_Operation op(&cl_cl, verbose_str);
VMThread::execute(&op);
} else {
+ // We don't want to update the marking status if a GC pause
+ // is already underway.
+ _sts.join();
g1h->set_marking_complete();
+ _sts.leave();
}
// Check if cleanup set the free_regions_coming flag. If it
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
index 50eb833..f1645f3 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -32,9 +32,11 @@
#include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
#include "gc_implementation/g1/g1CollectorPolicy.hpp"
#include "gc_implementation/g1/g1ErgoVerbose.hpp"
+#include "gc_implementation/g1/g1EvacFailure.hpp"
#include "gc_implementation/g1/g1MarkSweep.hpp"
#include "gc_implementation/g1/g1OopClosures.inline.hpp"
#include "gc_implementation/g1/g1RemSet.inline.hpp"
+#include "gc_implementation/g1/heapRegion.inline.hpp"
#include "gc_implementation/g1/heapRegionRemSet.hpp"
#include "gc_implementation/g1/heapRegionSeq.inline.hpp"
#include "gc_implementation/g1/vm_operations_g1.hpp"
@@ -66,6 +68,18 @@ size_t G1CollectedHeap::_humongous_object_threshold_in_words = 0;
// apply to TLAB allocation, which is not part of this interface: it
// is done by clients of this interface.)
+// Notes on implementation of parallelism in different tasks.
+//
+// G1ParVerifyTask uses heap_region_par_iterate_chunked() for parallelism.
+// The number of GC workers is passed to heap_region_par_iterate_chunked().
+// It does use run_task() which sets _n_workers in the task.
+// G1ParTask executes g1_process_strong_roots() ->
+// SharedHeap::process_strong_roots() which calls eventuall to
+// CardTableModRefBS::par_non_clean_card_iterate_work() which uses
+// SequentialSubTasksDone. SharedHeap::process_strong_roots() also
+// directly uses SubTasksDone (_process_strong_tasks field in SharedHeap).
+//
+
// Local to this file.
class RefineCardTableEntryClosure: public CardTableEntryClosure {
@@ -176,8 +190,7 @@ void YoungList::push_region(HeapRegion *hr) {
hr->set_next_young_region(_head);
_head = hr;
- hr->set_young();
- double yg_surv_rate = _g1h->g1_policy()->predict_yg_surv_rate((int)_length);
+ _g1h->g1_policy()->set_region_eden(hr, (int) _length);
++_length;
}
@@ -190,7 +203,6 @@ void YoungList::add_survivor_region(HeapRegion* hr) {
_survivor_tail = hr;
}
_survivor_head = hr;
-
++_survivor_length;
}
@@ -315,16 +327,20 @@ YoungList::reset_auxilary_lists() {
_g1h->g1_policy()->note_start_adding_survivor_regions();
_g1h->g1_policy()->finished_recalculating_age_indexes(true /* is_survivors */);
+ int young_index_in_cset = 0;
for (HeapRegion* curr = _survivor_head;
curr != NULL;
curr = curr->get_next_young_region()) {
- _g1h->g1_policy()->set_region_survivors(curr);
+ _g1h->g1_policy()->set_region_survivor(curr, young_index_in_cset);
// The region is a non-empty survivor so let's add it to
// the incremental collection set for the next evacuation
// pause.
_g1h->g1_policy()->add_region_to_incremental_cset_rhs(curr);
+ young_index_in_cset += 1;
}
+ assert((size_t) young_index_in_cset == _survivor_length,
+ "post-condition");
_g1h->g1_policy()->note_stop_adding_survivor_regions();
_head = _survivor_head;
@@ -577,17 +593,29 @@ HeapRegion* G1CollectedHeap::new_region(size_t word_size, bool do_expand) {
}
res = new_region_try_secondary_free_list();
}
- if (res == NULL && do_expand) {
+ if (res == NULL && do_expand && _expand_heap_after_alloc_failure) {
+ // Currently, only attempts to allocate GC alloc regions set
+ // do_expand to true. So, we should only reach here during a
+ // safepoint. If this assumption changes we might have to
+ // reconsider the use of _expand_heap_after_alloc_failure.
+ assert(SafepointSynchronize::is_at_safepoint(), "invariant");
+
ergo_verbose1(ErgoHeapSizing,
"attempt heap expansion",
ergo_format_reason("region allocation request failed")
ergo_format_byte("allocation request"),
word_size * HeapWordSize);
if (expand(word_size * HeapWordSize)) {
- // Even though the heap was expanded, it might not have reached
- // the desired size. So, we cannot assume that the allocation
- // will succeed.
+ // Given that expand() succeeded in expanding the heap, and we
+ // always expand the heap by an amount aligned to the heap
+ // region size, the free list should in theory not be empty. So
+ // it would probably be OK to use remove_head(). But the extra
+ // check for NULL is unlikely to be a performance issue here (we
+ // just expanded the heap!) so let's just be conservative and
+ // use remove_head_or_null().
res = _free_list.remove_head_or_null();
+ } else {
+ _expand_heap_after_alloc_failure = false;
}
}
return res;
@@ -1151,9 +1179,10 @@ public:
_g1(g1)
{ }
- void work(int i) {
- RebuildRSOutOfRegionClosure rebuild_rs(_g1, i);
- _g1->heap_region_par_iterate_chunked(&rebuild_rs, i,
+ void work(uint worker_id) {
+ RebuildRSOutOfRegionClosure rebuild_rs(_g1, worker_id);
+ _g1->heap_region_par_iterate_chunked(&rebuild_rs, worker_id,
+ _g1->workers()->active_workers(),
HeapRegion::RebuildRSClaimValue);
}
};
@@ -1279,7 +1308,7 @@ bool G1CollectedHeap::do_collection(bool explicit_gc,
g1_policy()->stop_incremental_cset_building();
tear_down_region_sets(false /* free_list_only */);
- g1_policy()->set_full_young_gcs(true);
+ g1_policy()->set_gcs_are_young(true);
// See the comments in g1CollectedHeap.hpp and
// G1CollectedHeap::ref_processing_init() about
@@ -1358,12 +1387,32 @@ bool G1CollectedHeap::do_collection(bool explicit_gc,
}
// Rebuild remembered sets of all regions.
-
if (G1CollectedHeap::use_parallel_gc_threads()) {
+ uint n_workers =
+ AdaptiveSizePolicy::calc_active_workers(workers()->total_workers(),
+ workers()->active_workers(),
+ Threads::number_of_non_daemon_threads());
+ assert(UseDynamicNumberOfGCThreads ||
+ n_workers == workers()->total_workers(),
+ "If not dynamic should be using all the workers");
+ workers()->set_active_workers(n_workers);
+ // Set parallel threads in the heap (_n_par_threads) only
+ // before a parallel phase and always reset it to 0 after
+ // the phase so that the number of parallel threads does
+ // no get carried forward to a serial phase where there
+ // may be code that is "possibly_parallel".
+ set_par_threads(n_workers);
+
ParRebuildRSTask rebuild_rs_task(this);
assert(check_heap_region_claim_values(
HeapRegion::InitialClaimValue), "sanity check");
- set_par_threads(workers()->total_workers());
+ assert(UseDynamicNumberOfGCThreads ||
+ workers()->active_workers() == workers()->total_workers(),
+ "Unless dynamic should use total workers");
+ // Use the most recent number of active workers
+ assert(workers()->active_workers() > 0,
+ "Active workers not properly set");
+ set_par_threads(workers()->active_workers());
workers()->run_task(&rebuild_rs_task);
set_par_threads(0);
assert(check_heap_region_claim_values(
@@ -1803,11 +1852,14 @@ G1CollectedHeap::G1CollectedHeap(G1CollectorPolicy* policy_) :
_young_list(new YoungList(this)),
_gc_time_stamp(0),
_retained_old_gc_alloc_region(NULL),
+ _expand_heap_after_alloc_failure(true),
_surviving_young_words(NULL),
_full_collections_completed(0),
_in_cset_fast_test(NULL),
_in_cset_fast_test_base(NULL),
- _dirty_cards_region_list(NULL) {
+ _dirty_cards_region_list(NULL),
+ _worker_cset_start_region(NULL),
+ _worker_cset_start_region_time_stamp(NULL) {
_g1h = this; // To catch bugs.
if (_process_strong_tasks == NULL || !_process_strong_tasks->valid()) {
vm_exit_during_initialization("Failed necessary allocation.");
@@ -1828,12 +1880,17 @@ G1CollectedHeap::G1CollectedHeap(G1CollectorPolicy* policy_) :
}
_rem_set_iterator = iter_arr;
+ _worker_cset_start_region = NEW_C_HEAP_ARRAY(HeapRegion*, n_queues);
+ _worker_cset_start_region_time_stamp = NEW_C_HEAP_ARRAY(unsigned int, n_queues);
+
for (int i = 0; i < n_queues; i++) {
RefToScanQueue* q = new RefToScanQueue();
q->initialize();
_task_queues->register_queue(i, q);
}
+ clear_cset_start_regions();
+
guarantee(_task_queues != NULL, "task_queues allocation failure.");
}
@@ -2376,8 +2433,11 @@ void G1CollectedHeap::collect(GCCause::Cause cause) {
}
bool G1CollectedHeap::is_in(const void* p) const {
- HeapRegion* hr = _hrs.addr_to_region((HeapWord*) p);
- if (hr != NULL) {
+ if (_g1_committed.contains(p)) {
+ // Given that we know that p is in the committed space,
+ // heap_region_containing_raw() should successfully
+ // return the containing region.
+ HeapRegion* hr = heap_region_containing_raw(p);
return hr->is_in(p);
} else {
return _perm_gen->as_gen()->is_in(p);
@@ -2474,12 +2534,18 @@ void G1CollectedHeap::heap_region_iterate_from(HeapRegion* r,
void
G1CollectedHeap::heap_region_par_iterate_chunked(HeapRegionClosure* cl,
- int worker,
+ uint worker,
+ uint no_of_par_workers,
jint claim_value) {
const size_t regions = n_regions();
- const size_t worker_num = (G1CollectedHeap::use_parallel_gc_threads() ? ParallelGCThreads : 1);
+ const uint max_workers = (G1CollectedHeap::use_parallel_gc_threads() ?
+ no_of_par_workers :
+ 1);
+ assert(UseDynamicNumberOfGCThreads ||
+ no_of_par_workers == workers()->total_workers(),
+ "Non dynamic should use fixed number of workers");
// try to spread out the starting points of the workers
- const size_t start_index = regions / worker_num * (size_t) worker;
+ const size_t start_index = regions / max_workers * (size_t) worker;
// each worker will actually look at all regions
for (size_t count = 0; count < regions; ++count) {
@@ -2554,12 +2620,16 @@ public:
}
};
-void
-G1CollectedHeap::reset_heap_region_claim_values() {
+void G1CollectedHeap::reset_heap_region_claim_values() {
ResetClaimValuesClosure blk;
heap_region_iterate(&blk);
}
+void G1CollectedHeap::reset_cset_heap_region_claim_values() {
+ ResetClaimValuesClosure blk;
+ collection_set_iterate(&blk);
+}
+
#ifdef ASSERT
// This checks whether all regions in the heap have the correct claim
// value. I also piggy-backed on this a check to ensure that the
@@ -2576,10 +2646,10 @@ public:
_claim_value(claim_value), _failures(0), _sh_region(NULL) { }
bool doHeapRegion(HeapRegion* r) {
if (r->claim_value() != _claim_value) {
- gclog_or_tty->print_cr("Region ["PTR_FORMAT","PTR_FORMAT"), "
+ gclog_or_tty->print_cr("Region " HR_FORMAT ", "
"claim value = %d, should be %d",
- r->bottom(), r->end(), r->claim_value(),
- _claim_value);
+ HR_FORMAT_PARAMS(r),
+ r->claim_value(), _claim_value);
++_failures;
}
if (!r->isHumongous()) {
@@ -2588,9 +2658,9 @@ public:
_sh_region = r;
} else if (r->continuesHumongous()) {
if (r->humongous_start_region() != _sh_region) {
- gclog_or_tty->print_cr("Region ["PTR_FORMAT","PTR_FORMAT"), "
+ gclog_or_tty->print_cr("Region " HR_FORMAT ", "
"HS = "PTR_FORMAT", should be "PTR_FORMAT,
- r->bottom(), r->end(),
+ HR_FORMAT_PARAMS(r),
r->humongous_start_region(),
_sh_region);
++_failures;
@@ -2608,8 +2678,118 @@ bool G1CollectedHeap::check_heap_region_claim_values(jint claim_value) {
heap_region_iterate(&cl);
return cl.failures() == 0;
}
+
+class CheckClaimValuesInCSetHRClosure: public HeapRegionClosure {
+ jint _claim_value;
+ size_t _failures;
+
+public:
+ CheckClaimValuesInCSetHRClosure(jint claim_value) :
+ _claim_value(claim_value),
+ _failures(0) { }
+
+ size_t failures() {
+ return _failures;
+ }
+
+ bool doHeapRegion(HeapRegion* hr) {
+ assert(hr->in_collection_set(), "how?");
+ assert(!hr->isHumongous(), "H-region in CSet");
+ if (hr->claim_value() != _claim_value) {
+ gclog_or_tty->print_cr("CSet Region " HR_FORMAT ", "
+ "claim value = %d, should be %d",
+ HR_FORMAT_PARAMS(hr),
+ hr->claim_value(), _claim_value);
+ _failures += 1;
+ }
+ return false;
+ }
+};
+
+bool G1CollectedHeap::check_cset_heap_region_claim_values(jint claim_value) {
+ CheckClaimValuesInCSetHRClosure cl(claim_value);
+ collection_set_iterate(&cl);
+ return cl.failures() == 0;
+}
#endif // ASSERT
+// Clear the cached CSet starting regions and (more importantly)
+// the time stamps. Called when we reset the GC time stamp.
+void G1CollectedHeap::clear_cset_start_regions() {
+ assert(_worker_cset_start_region != NULL, "sanity");
+ assert(_worker_cset_start_region_time_stamp != NULL, "sanity");
+
+ int n_queues = MAX2((int)ParallelGCThreads, 1);
+ for (int i = 0; i < n_queues; i++) {
+ _worker_cset_start_region[i] = NULL;
+ _worker_cset_start_region_time_stamp[i] = 0;
+ }
+}
+
+// Given the id of a worker, obtain or calculate a suitable
+// starting region for iterating over the current collection set.
+HeapRegion* G1CollectedHeap::start_cset_region_for_worker(int worker_i) {
+ assert(get_gc_time_stamp() > 0, "should have been updated by now");
+
+ HeapRegion* result = NULL;
+ unsigned gc_time_stamp = get_gc_time_stamp();
+
+ if (_worker_cset_start_region_time_stamp[worker_i] == gc_time_stamp) {
+ // Cached starting region for current worker was set
+ // during the current pause - so it's valid.
+ // Note: the cached starting heap region may be NULL
+ // (when the collection set is empty).
+ result = _worker_cset_start_region[worker_i];
+ assert(result == NULL || result->in_collection_set(), "sanity");
+ return result;
+ }
+
+ // The cached entry was not valid so let's calculate
+ // a suitable starting heap region for this worker.
+
+ // We want the parallel threads to start their collection
+ // set iteration at different collection set regions to
+ // avoid contention.
+ // If we have:
+ // n collection set regions
+ // p threads
+ // Then thread t will start at region floor ((t * n) / p)
+
+ result = g1_policy()->collection_set();
+ if (G1CollectedHeap::use_parallel_gc_threads()) {
+ size_t cs_size = g1_policy()->cset_region_length();
+ uint active_workers = workers()->active_workers();
+ assert(UseDynamicNumberOfGCThreads ||
+ active_workers == workers()->total_workers(),
+ "Unless dynamic should use total workers");
+
+ size_t end_ind = (cs_size * worker_i) / active_workers;
+ size_t start_ind = 0;
+
+ if (worker_i > 0 &&
+ _worker_cset_start_region_time_stamp[worker_i - 1] == gc_time_stamp) {
+ // Previous workers starting region is valid
+ // so let's iterate from there
+ start_ind = (cs_size * (worker_i - 1)) / active_workers;
+ result = _worker_cset_start_region[worker_i - 1];
+ }
+
+ for (size_t i = start_ind; i < end_ind; i++) {
+ result = result->next_in_collection_set();
+ }
+ }
+
+ // Note: the calculated starting heap region may be NULL
+ // (when the collection set is empty).
+ assert(result == NULL || result->in_collection_set(), "sanity");
+ assert(_worker_cset_start_region_time_stamp[worker_i] != gc_time_stamp,
+ "should be updated only once per pause");
+ _worker_cset_start_region[worker_i] = result;
+ OrderAccess::storestore();
+ _worker_cset_start_region_time_stamp[worker_i] = gc_time_stamp;
+ return result;
+}
+
void G1CollectedHeap::collection_set_iterate(HeapRegionClosure* cl) {
HeapRegion* r = g1_policy()->collection_set();
while (r != NULL) {
@@ -2839,14 +3019,20 @@ public:
} else {
VerifyObjsInRegionClosure not_dead_yet_cl(r, _vo);
r->object_iterate(¬_dead_yet_cl);
- if (r->max_live_bytes() < not_dead_yet_cl.live_bytes()) {
- gclog_or_tty->print_cr("["PTR_FORMAT","PTR_FORMAT"] "
- "max_live_bytes "SIZE_FORMAT" "
- "< calculated "SIZE_FORMAT,
- r->bottom(), r->end(),
- r->max_live_bytes(),
+ if (_vo != VerifyOption_G1UseNextMarking) {
+ if (r->max_live_bytes() < not_dead_yet_cl.live_bytes()) {
+ gclog_or_tty->print_cr("["PTR_FORMAT","PTR_FORMAT"] "
+ "max_live_bytes "SIZE_FORMAT" "
+ "< calculated "SIZE_FORMAT,
+ r->bottom(), r->end(),
+ r->max_live_bytes(),
not_dead_yet_cl.live_bytes());
- _failures = true;
+ _failures = true;
+ }
+ } else {
+ // When vo == UseNextMarking we cannot currently do a sanity
+ // check on the live bytes as the calculation has not been
+ // finalized yet.
}
}
}
@@ -2914,10 +3100,11 @@ public:
return _failures;
}
- void work(int worker_i) {
+ void work(uint worker_id) {
HandleMark hm;
VerifyRegionClosure blk(_allow_dirty, true, _vo);
- _g1h->heap_region_par_iterate_chunked(&blk, worker_i,
+ _g1h->heap_region_par_iterate_chunked(&blk, worker_id,
+ _g1h->workers()->active_workers(),
HeapRegion::ParVerifyClaimValue);
if (blk.failures()) {
_failures = true;
@@ -2935,6 +3122,10 @@ void G1CollectedHeap::verify(bool allow_dirty,
if (SafepointSynchronize::is_at_safepoint() || ! UseTLAB) {
if (!silent) { gclog_or_tty->print("Roots (excluding permgen) "); }
VerifyRootsClosure rootsCl(vo);
+
+ assert(Thread::current()->is_VM_thread(),
+ "Expected to be executed serially by the VM thread at this point");
+
CodeBlobToOopClosure blobsCl(&rootsCl, /*do_marking=*/ false);
// We apply the relevant closures to all the oops in the
@@ -2979,7 +3170,10 @@ void G1CollectedHeap::verify(bool allow_dirty,
"sanity check");
G1ParVerifyTask task(this, allow_dirty, vo);
- int n_workers = workers()->total_workers();
+ assert(UseDynamicNumberOfGCThreads ||
+ workers()->active_workers() == workers()->total_workers(),
+ "If not dynamic should be using all the workers");
+ int n_workers = workers()->active_workers();
set_par_threads(n_workers);
workers()->run_task(&task);
set_par_threads(0);
@@ -2987,6 +3181,8 @@ void G1CollectedHeap::verify(bool allow_dirty,
failures = true;
}
+ // Checks that the expected amount of parallel work was done.
+ // The implication is that n_workers is > 0.
assert(check_heap_region_claim_values(HeapRegion::ParVerifyClaimValue),
"sanity check");
@@ -3210,8 +3406,6 @@ G1CollectedHeap::doConcurrentMark() {
}
}
-// <NEW PREDICTION>
-
double G1CollectedHeap::predict_region_elapsed_time_ms(HeapRegion *hr,
bool young) {
return _g1_policy->predict_region_elapsed_time_ms(hr, young);
@@ -3251,7 +3445,7 @@ size_t G1CollectedHeap::cards_scanned() {
void
G1CollectedHeap::setup_surviving_young_words() {
guarantee( _surviving_young_words == NULL, "pre-condition" );
- size_t array_length = g1_policy()->young_cset_length();
+ size_t array_length = g1_policy()->young_cset_region_length();
_surviving_young_words = NEW_C_HEAP_ARRAY(size_t, array_length);
if (_surviving_young_words == NULL) {
vm_exit_out_of_memory(sizeof(size_t) * array_length,
@@ -3268,7 +3462,7 @@ G1CollectedHeap::setup_surviving_young_words() {
void
G1CollectedHeap::update_surviving_young_words(size_t* surv_young_words) {
MutexLockerEx x(ParGCRareEvent_lock, Mutex::_no_safepoint_check_flag);
- size_t array_length = g1_policy()->young_cset_length();
+ size_t array_length = g1_policy()->young_cset_region_length();
for (size_t i = 0; i < array_length; ++i)
_surviving_young_words[i] += surv_young_words[i];
}
@@ -3280,8 +3474,6 @@ G1CollectedHeap::cleanup_surviving_young_words() {
_surviving_young_words = NULL;
}
-// </NEW PREDICTION>
-
#ifdef ASSERT
class VerifyCSetClosure: public HeapRegionClosure {
public:
@@ -3359,20 +3551,19 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) {
// for the duration of this pause.
g1_policy()->decide_on_conc_mark_initiation();
- // We do not allow initial-mark to be piggy-backed on a
- // partially-young GC.
+ // We do not allow initial-mark to be piggy-backed on a mixed GC.
assert(!g1_policy()->during_initial_mark_pause() ||
- g1_policy()->full_young_gcs(), "sanity");
+ g1_policy()->gcs_are_young(), "sanity");
- // We also do not allow partially-young GCs during marking.
- assert(!mark_in_progress() || g1_policy()->full_young_gcs(), "sanity");
+ // We also do not allow mixed GCs during marking.
+ assert(!mark_in_progress() || g1_policy()->gcs_are_young(), "sanity");
char verbose_str[128];
sprintf(verbose_str, "GC pause ");
- if (g1_policy()->full_young_gcs()) {
+ if (g1_policy()->gcs_are_young()) {
strcat(verbose_str, "(young)");
} else {
- strcat(verbose_str, "(partial)");
+ strcat(verbose_str, "(mixed)");
}
if (g1_policy()->during_initial_mark_pause()) {
strcat(verbose_str, " (initial-mark)");
@@ -3404,6 +3595,10 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) {
assert(check_young_list_well_formed(),
"young list should be well formed");
+ // Don't dynamically change the number of GC threads this early. A value of
+ // 0 is used to indicate serial work. When parallel work is done,
+ // it will be set.
+
{ // Call to jvmpi::post_class_unload_events must occur outside of active GC
IsGCActiveMark x;
@@ -3471,25 +3666,6 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) {
}
perm_gen()->save_marks();
- // We must do this before any possible evacuation that should propagate
- // marks.
- if (mark_in_progress()) {
- double start_time_sec = os::elapsedTime();
-
- _cm->drainAllSATBBuffers();
- double finish_mark_ms = (os::elapsedTime() - start_time_sec) * 1000.0;
- g1_policy()->record_satb_drain_time(finish_mark_ms);
- }
- // Record the number of elements currently on the mark stack, so we
- // only iterate over these. (Since evacuation may add to the mark
- // stack, doing more exposes race conditions.) If no mark is in
- // progress, this will be zero.
- _cm->set_oops_do_bound();
-
- if (mark_in_progress()) {
- concurrent_mark()->newCSet();
- }
-
#if YOUNG_LIST_VERBOSE
gclog_or_tty->print_cr("\nBefore choosing collection set.\nYoung_list:");
_young_list->print();
@@ -3498,6 +3674,16 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) {
g1_policy()->choose_collection_set(target_pause_time_ms);
+ _cm->note_start_of_gc();
+ // We should not verify the per-thread SATB buffers given that
+ // we have not filtered them yet (we'll do so during the
+ // GC). We also call this after choose_collection_set() to
+ // ensure that the CSet has been finalized.
+ _cm->verify_no_cset_oops(true /* verify_stacks */,
+ true /* verify_enqueued_buffers */,
+ false /* verify_thread_buffers */,
+ true /* verify_fingers */);
+
if (_hr_printer.is_active()) {
HeapRegion* hr = g1_policy()->collection_set();
while (hr != NULL) {
@@ -3514,16 +3700,6 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) {
}
}
- // We have chosen the complete collection set. If marking is
- // active then, we clear the region fields of any of the
- // concurrent marking tasks whose region fields point into
- // the collection set as these values will become stale. This
- // will cause the owning marking threads to claim a new region
- // when marking restarts.
- if (mark_in_progress()) {
- concurrent_mark()->reset_active_task_region_fields_in_cset();
- }
-
#ifdef ASSERT
VerifyCSetClosure cl;
collection_set_iterate(&cl);
@@ -3537,6 +3713,16 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) {
// Actually do the work...
evacuate_collection_set();
+ // We do this to mainly verify the per-thread SATB buffers
+ // (which have been filtered by now) since we didn't verify
+ // them earlier. No point in re-checking the stacks / enqueued
+ // buffers given that the CSet has not changed since last time
+ // we checked.
+ _cm->verify_no_cset_oops(false /* verify_stacks */,
+ false /* verify_enqueued_buffers */,
+ true /* verify_thread_buffers */,
+ true /* verify_fingers */);
+
free_collection_set(g1_policy()->collection_set());
g1_policy()->clear_collection_set();
@@ -3605,6 +3791,8 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) {
size_t expand_bytes = g1_policy()->expansion_amount();
if (expand_bytes > 0) {
size_t bytes_before = capacity();
+ // No need for an ergo verbose message here,
+ // expansion_amount() does this when it returns a value > 0.
if (!expand(expand_bytes)) {
// We failed to expand the heap so let's verify that
// committed/uncommitted amount match the backing store
@@ -3614,10 +3802,20 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) {
}
}
+ // We redo the verificaiton but now wrt to the new CSet which
+ // has just got initialized after the previous CSet was freed.
+ _cm->verify_no_cset_oops(true /* verify_stacks */,
+ true /* verify_enqueued_buffers */,
+ true /* verify_thread_buffers */,
+ true /* verify_fingers */);
+ _cm->note_end_of_gc();
+
double end_time_sec = os::elapsedTime();
double pause_time_ms = (end_time_sec - start_time_sec) * MILLIUNITS;
g1_policy()->record_pause_time_ms(pause_time_ms);
- g1_policy()->record_collection_pause_end();
+ int active_workers = (G1CollectedHeap::use_parallel_gc_threads() ?
+ workers()->active_workers() : 1);
+ g1_policy()->record_collection_pause_end(active_workers);
MemoryService::track_memory_usage();
@@ -3659,21 +3857,6 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) {
// CM reference discovery will be re-enabled if necessary.
}
- {
- size_t expand_bytes = g1_policy()->expansion_amount();
- if (expand_bytes > 0) {
- size_t bytes_before = capacity();
- // No need for an ergo verbose message here,
- // expansion_amount() does this when it returns a value > 0.
- if (!expand(expand_bytes)) {
- // We failed to expand the heap so let's verify that
- // committed/uncommitted amount match the backing store
- assert(capacity() == _g1_storage.committed_size(), "committed size mismatch");
- assert(max_capacity() == _g1_storage.reserved_size(), "reserved size mismatch");
- }
- }
- }
-
// We should do this after we potentially expand the heap so
// that all the COMMIT events are generated before the end GC
// event, and after we retire the GC alloc regions so that all
@@ -3777,6 +3960,8 @@ void G1CollectedHeap::init_gc_alloc_regions() {
// we allocate to in the region sets. We'll re-add it later, when
// it's retired again.
_old_set.remove(retained_region);
+ bool during_im = g1_policy()->during_initial_mark_pause();
+ retained_region->note_start_of_copying(during_im);
_old_gc_alloc_region.set(retained_region);
_hr_printer.reuse(retained_region);
}
@@ -3813,157 +3998,26 @@ void G1CollectedHeap::finalize_for_evac_failure() {
_evac_failure_scan_stack = NULL;
}
-class UpdateRSetDeferred : public OopsInHeapRegionClosure {
-private:
- G1CollectedHeap* _g1;
- DirtyCardQueue *_dcq;
- CardTableModRefBS* _ct_bs;
+void G1CollectedHeap::remove_self_forwarding_pointers() {
+ assert(check_cset_heap_region_claim_values(HeapRegion::InitialClaimValue), "sanity");
+ assert(g1_policy()->assertMarkedBytesDataOK(), "Should be!");
-public:
- UpdateRSetDeferred(G1CollectedHeap* g1, DirtyCardQueue* dcq) :
- _g1(g1), _ct_bs((CardTableModRefBS*)_g1->barrier_set()), _dcq(dcq) {}
+ G1ParRemoveSelfForwardPtrsTask rsfp_task(this);
- virtual void do_oop(narrowOop* p) { do_oop_work(p); }
- virtual void do_oop( oop* p) { do_oop_work(p); }
- template <class T> void do_oop_work(T* p) {
- assert(_from->is_in_reserved(p), "paranoia");
- if (!_from->is_in_reserved(oopDesc::load_decode_heap_oop(p)) &&
- !_from->is_survivor()) {
- size_t card_index = _ct_bs->index_for(p);
- if (_ct_bs->mark_card_deferred(card_index)) {
- _dcq->enqueue((jbyte*)_ct_bs->byte_for_index(card_index));
- }
- }
+ if (G1CollectedHeap::use_parallel_gc_threads()) {
+ set_par_threads();
+ workers()->run_task(&rsfp_task);
+ set_par_threads(0);
+ } else {
+ rsfp_task.work(0);
}
-};
-class RemoveSelfPointerClosure: public ObjectClosure {
-private:
- G1CollectedHeap* _g1;
- ConcurrentMark* _cm;
- HeapRegion* _hr;
- size_t _prev_marked_bytes;
- size_t _next_marked_bytes;
- OopsInHeapRegionClosure *_cl;
-public:
- RemoveSelfPointerClosure(G1CollectedHeap* g1, HeapRegion* hr,
- OopsInHeapRegionClosure* cl) :
- _g1(g1), _hr(hr), _cm(_g1->concurrent_mark()), _prev_marked_bytes(0),
- _next_marked_bytes(0), _cl(cl) {}
-
- size_t prev_marked_bytes() { return _prev_marked_bytes; }
- size_t next_marked_bytes() { return _next_marked_bytes; }
-
- // <original comment>
- // The original idea here was to coalesce evacuated and dead objects.
- // However that caused complications with the block offset table (BOT).
- // In particular if there were two TLABs, one of them partially refined.
- // |----- TLAB_1--------|----TLAB_2-~~~(partially refined part)~~~|
- // The BOT entries of the unrefined part of TLAB_2 point to the start
- // of TLAB_2. If the last object of the TLAB_1 and the first object
- // of TLAB_2 are coalesced, then the cards of the unrefined part
- // would point into middle of the filler object.
- // The current approach is to not coalesce and leave the BOT contents intact.
- // </original comment>
- //
- // We now reset the BOT when we start the object iteration over the
- // region and refine its entries for every object we come across. So
- // the above comment is not really relevant and we should be able
- // to coalesce dead objects if we want to.
- void do_object(oop obj) {
- HeapWord* obj_addr = (HeapWord*) obj;
- assert(_hr->is_in(obj_addr), "sanity");
- size_t obj_size = obj->size();
- _hr->update_bot_for_object(obj_addr, obj_size);
- if (obj->is_forwarded() && obj->forwardee() == obj) {
- // The object failed to move.
- assert(!_g1->is_obj_dead(obj), "We should not be preserving dead objs.");
- _cm->markPrev(obj);
- assert(_cm->isPrevMarked(obj), "Should be marked!");
- _prev_marked_bytes += (obj_size * HeapWordSize);
- if (_g1->mark_in_progress() && !_g1->is_obj_ill(obj)) {
- _cm->markAndGrayObjectIfNecessary(obj);
- }
- obj->set_mark(markOopDesc::prototype());
- // While we were processing RSet buffers during the
- // collection, we actually didn't scan any cards on the
- // collection set, since we didn't want to update remebered
- // sets with entries that point into the collection set, given
- // that live objects fromthe collection set are about to move
- // and such entries will be stale very soon. This change also
- // dealt with a reliability issue which involved scanning a
- // card in the collection set and coming across an array that
- // was being chunked and looking malformed. The problem is
- // that, if evacuation fails, we might have remembered set
- // entries missing given that we skipped cards on the
- // collection set. So, we'll recreate such entries now.
- obj->oop_iterate(_cl);
- assert(_cm->isPrevMarked(obj), "Should be marked!");
- } else {
- // The object has been either evacuated or is dead. Fill it with a
- // dummy object.
- MemRegion mr((HeapWord*)obj, obj_size);
- CollectedHeap::fill_with_object(mr);
- _cm->clearRangeBothMaps(mr);
- }
- }
-};
+ assert(check_cset_heap_region_claim_values(HeapRegion::ParEvacFailureClaimValue), "sanity");
-void G1CollectedHeap::remove_self_forwarding_pointers() {
- UpdateRSetImmediate immediate_update(_g1h->g1_rem_set());
- DirtyCardQueue dcq(&_g1h->dirty_card_queue_set());
- UpdateRSetDeferred deferred_update(_g1h, &dcq);
- OopsInHeapRegionClosure *cl;
- if (G1DeferredRSUpdate) {
- cl = &deferred_update;
- } else {
- cl = &immediate_update;
- }
- HeapRegion* cur = g1_policy()->collection_set();
- while (cur != NULL) {
- assert(g1_policy()->assertMarkedBytesDataOK(), "Should be!");
- assert(!cur->isHumongous(), "sanity");
-
- if (cur->evacuation_failed()) {
- assert(cur->in_collection_set(), "bad CS");
- RemoveSelfPointerClosure rspc(_g1h, cur, cl);
-
- // In the common case we make sure that this is done when the
- // region is freed so that it is "ready-to-go" when it's
- // re-allocated. However, when evacuation failure happens, a
- // region will remain in the heap and might ultimately be added
- // to a CSet in the future. So we have to be careful here and
- // make sure the region's RSet is ready for parallel iteration
- // whenever this might be required in the future.
- cur->rem_set()->reset_for_par_iteration();
- cur->reset_bot();
- cl->set_region(cur);
- cur->object_iterate(&rspc);
-
- // A number of manipulations to make the TAMS be the current top,
- // and the marked bytes be the ones observed in the iteration.
- if (_g1h->concurrent_mark()->at_least_one_mark_complete()) {
- // The comments below are the postconditions achieved by the
- // calls. Note especially the last such condition, which says that
- // the count of marked bytes has been properly restored.
- cur->note_start_of_marking(false);
- // _next_top_at_mark_start == top, _next_marked_bytes == 0
- cur->add_to_marked_bytes(rspc.prev_marked_bytes());
- // _next_marked_bytes == prev_marked_bytes.
- cur->note_end_of_marking();
- // _prev_top_at_mark_start == top(),
- // _prev_marked_bytes == prev_marked_bytes
- }
- // If there is no mark in progress, we modified the _next variables
- // above needlessly, but harmlessly.
- if (_g1h->mark_in_progress()) {
- cur->note_start_of_marking(false);
- // _next_top_at_mark_start == top, _next_marked_bytes == 0
- // _next_marked_bytes == next_marked_bytes.
- }
- }
- cur = cur->next_in_collection_set();
- }
+ // Reset the claim values in the regions in the collection set.
+ reset_cset_heap_region_claim_values();
+
+ assert(check_cset_heap_region_claim_values(HeapRegion::InitialClaimValue), "sanity");
assert(g1_policy()->assertMarkedBytesDataOK(), "Should be!");
// Now restore saved marks, if any.
@@ -3976,6 +4030,7 @@ void G1CollectedHeap::remove_self_forwarding_pointers() {
markOop m = _preserved_marks_of_objs->at(i);
obj->set_mark(m);
}
+
// Delete the preserved marks growable arrays (allocated on the C heap).
delete _objs_with_preserved_marks;
delete _preserved_marks_of_objs;
@@ -4000,8 +4055,7 @@ void G1CollectedHeap::drain_evac_failure_scan_stack() {
oop
G1CollectedHeap::handle_evacuation_failure_par(OopsInHeapRegionClosure* cl,
- oop old,
- bool should_mark_root) {
+ oop old) {
assert(obj_in_cs(old),
err_msg("obj: "PTR_FORMAT" should still be in the CSet",
(HeapWord*) old));
@@ -4010,15 +4064,6 @@ G1CollectedHeap::handle_evacuation_failure_par(OopsInHeapRegionClosure* cl,
if (forward_ptr == NULL) {
// Forward-to-self succeeded.
- // should_mark_root will be true when this routine is called
- // from a root scanning closure during an initial mark pause.
- // In this case the thread that succeeds in self-forwarding the
- // object is also responsible for marking the object.
- if (should_mark_root) {
- assert(!oopDesc::is_null(old), "shouldn't be");
- _cm->grayRoot(old);
- }
-
if (_evac_failure_closure != cl) {
MutexLockerEx x(EvacFailureStack_lock, Mutex::_no_safepoint_check_flag);
assert(!_drain_in_progress,
@@ -4114,30 +4159,8 @@ HeapWord* G1CollectedHeap::par_allocate_during_gc(GCAllocPurpose purpose,
return NULL;
}
-#ifndef PRODUCT
-bool GCLabBitMapClosure::do_bit(size_t offset) {
- HeapWord* addr = _bitmap->offsetToHeapWord(offset);
- guarantee(_cm->isMarked(oop(addr)), "it should be!");
- return true;
-}
-#endif // PRODUCT
-
G1ParGCAllocBuffer::G1ParGCAllocBuffer(size_t gclab_word_size) :
- ParGCAllocBuffer(gclab_word_size),
- _should_mark_objects(false),
- _bitmap(G1CollectedHeap::heap()->reserved_region().start(), gclab_word_size),
- _retired(false)
-{
- //_should_mark_objects is set to true when G1ParCopyHelper needs to
- // mark the forwarded location of an evacuated object.
- // We set _should_mark_objects to true if marking is active, i.e. when we
- // need to propagate a mark, or during an initial mark pause, i.e. when we
- // need to mark objects immediately reachable by the roots.
- if (G1CollectedHeap::heap()->mark_in_progress() ||
- G1CollectedHeap::heap()->g1_policy()->during_initial_mark_pause()) {
- _should_mark_objects = true;
- }
-}
+ ParGCAllocBuffer(gclab_word_size), _retired(false) { }
G1ParScanThreadState::G1ParScanThreadState(G1CollectedHeap* g1h, int queue_num)
: _g1h(g1h),
@@ -4151,14 +4174,13 @@ G1ParScanThreadState::G1ParScanThreadState(G1CollectedHeap* g1h, int queue_num)
_tenured_alloc_buffer(g1h->desired_plab_sz(GCAllocForTenured)),
_age_table(false),
_strong_roots_time(0), _term_time(0),
- _alloc_buffer_waste(0), _undo_waste(0)
-{
+ _alloc_buffer_waste(0), _undo_waste(0) {
// we allocate G1YoungSurvRateNumRegions plus one entries, since
// we "sacrifice" entry 0 to keep track of surviving bytes for
// non-young regions (where the age is -1)
// We also add a few elements at the beginning and at the end in
// an attempt to eliminate cache contention
- size_t real_length = 1 + _g1h->g1_policy()->young_cset_length();
+ size_t real_length = 1 + _g1h->g1_policy()->young_cset_region_length();
size_t array_length = PADDING_ELEM_NUM +
real_length +
PADDING_ELEM_NUM;
@@ -4257,35 +4279,53 @@ void G1ParScanThreadState::trim_queue() {
} while (!refs()->is_empty());
}
-G1ParClosureSuper::G1ParClosureSuper(G1CollectedHeap* g1, G1ParScanThreadState* par_scan_state) :
+G1ParClosureSuper::G1ParClosureSuper(G1CollectedHeap* g1,
+ G1ParScanThreadState* par_scan_state) :
_g1(g1), _g1_rem(_g1->g1_rem_set()), _cm(_g1->concurrent_mark()),
_par_scan_state(par_scan_state),
_during_initial_mark(_g1->g1_policy()->during_initial_mark_pause()),
_mark_in_progress(_g1->mark_in_progress()) { }
-template <class T> void G1ParCopyHelper::mark_object(T* p) {
- // This is called from do_oop_work for objects that are not
- // in the collection set. Objects in the collection set
- // are marked after they have been evacuated.
-
- T heap_oop = oopDesc::load_heap_oop(p);
- if (!oopDesc::is_null(heap_oop)) {
- oop obj = oopDesc::decode_heap_oop(heap_oop);
- HeapWord* addr = (HeapWord*)obj;
- if (_g1->is_in_g1_reserved(addr)) {
- _cm->grayRoot(oop(addr));
- }
- }
+void G1ParCopyHelper::mark_object(oop obj) {
+#ifdef ASSERT
+ HeapRegion* hr = _g1->heap_region_containing(obj);
+ assert(hr != NULL, "sanity");
+ assert(!hr->in_collection_set(), "should not mark objects in the CSet");
+#endif // ASSERT
+
+ // We know that the object is not moving so it's safe to read its size.
+ _cm->grayRoot(obj, (size_t) obj->size());
}
-oop G1ParCopyHelper::copy_to_survivor_space(oop old, bool should_mark_root,
- bool should_mark_copy) {
+void G1ParCopyHelper::mark_forwarded_object(oop from_obj, oop to_obj) {
+#ifdef ASSERT
+ assert(from_obj->is_forwarded(), "from obj should be forwarded");
+ assert(from_obj->forwardee() == to_obj, "to obj should be the forwardee");
+ assert(from_obj != to_obj, "should not be self-forwarded");
+
+ HeapRegion* from_hr = _g1->heap_region_containing(from_obj);
+ assert(from_hr != NULL, "sanity");
+ assert(from_hr->in_collection_set(), "from obj should be in the CSet");
+
+ HeapRegion* to_hr = _g1->heap_region_containing(to_obj);
+ assert(to_hr != NULL, "sanity");
+ assert(!to_hr->in_collection_set(), "should not mark objects in the CSet");
+#endif // ASSERT
+
+ // The object might be in the process of being copied by another
+ // worker so we cannot trust that its to-space image is
+ // well-formed. So we have to read its size from its from-space
+ // image which we know should not be changing.
+ _cm->grayRoot(to_obj, (size_t) from_obj->size());
+}
+
+oop G1ParCopyHelper::copy_to_survivor_space(oop old) {
size_t word_sz = old->size();
HeapRegion* from_region = _g1->heap_region_containing_raw(old);
// +1 to make the -1 indexes valid...
int young_index = from_region->young_index_in_cset()+1;
- assert( (from_region->is_young() && young_index > 0) ||
- (!from_region->is_young() && young_index == 0), "invariant" );
+ assert( (from_region->is_young() && young_index > 0) ||
+ (!from_region->is_young() && young_index == 0), "invariant" );
G1CollectorPolicy* g1p = _g1->g1_policy();
markOop m = old->mark();
int age = m->has_displaced_mark_helper() ? m->displaced_mark_helper()->age()
@@ -4299,7 +4339,7 @@ oop G1ParCopyHelper::copy_to_survivor_space(oop old, bool should_mark_root,
// This will either forward-to-self, or detect that someone else has
// installed a forwarding pointer.
OopsInHeapRegionClosure* cl = _par_scan_state->evac_failure_closure();
- return _g1->handle_evacuation_failure_par(cl, old, should_mark_root);
+ return _g1->handle_evacuation_failure_par(cl, old);
}
// We're going to allocate linearly, so might as well prefetch ahead.
@@ -4335,28 +4375,14 @@ oop G1ParCopyHelper::copy_to_survivor_space(oop old, bool should_mark_root,
obj->set_mark(m);
}
- // Mark the evacuated object or propagate "next" mark bit
- if (should_mark_copy) {
- if (!use_local_bitmaps ||
- !_par_scan_state->alloc_buffer(alloc_purpose)->mark(obj_ptr)) {
- // if we couldn't mark it on the local bitmap (this happens when
- // the object was not allocated in the GCLab), we have to bite
- // the bullet and do the standard parallel mark
- _cm->markAndGrayObjectIfNecessary(obj);
- }
-
- if (_g1->isMarkedNext(old)) {
- // Unmark the object's old location so that marking
- // doesn't think the old object is alive.
- _cm->nextMarkBitMap()->parClear((HeapWord*)old);
- }
- }
-
size_t* surv_young_words = _par_scan_state->surviving_young_words();
surv_young_words[young_index] += word_sz;
if (obj->is_objArray() && arrayOop(obj)->length() >= ParGCArrayScanChunk) {
- arrayOop(old)->set_length(0);
+ // We keep track of the next start index in the length field of
+ // the to-space object. The actual length can be found in the
+ // length field of the from-space object.
+ arrayOop(obj)->set_length(0);
oop* old_p = set_partial_array_mask(old);
_par_scan_state->push_on_queue(old_p);
} else {
@@ -4378,61 +4404,24 @@ void G1ParCopyClosure<do_gen_barrier, barrier, do_mark_object>
::do_oop_work(T* p) {
oop obj = oopDesc::load_decode_heap_oop(p);
assert(barrier != G1BarrierRS || obj != NULL,
- "Precondition: G1BarrierRS implies obj is nonNull");
-
- // Marking:
- // If the object is in the collection set, then the thread
- // that copies the object should mark, or propagate the
- // mark to, the evacuated object.
- // If the object is not in the collection set then we
- // should call the mark_object() method depending on the
- // value of the template parameter do_mark_object (which will
- // be true for root scanning closures during an initial mark
- // pause).
- // The mark_object() method first checks whether the object
- // is marked and, if not, attempts to mark the object.
+ "Precondition: G1BarrierRS implies obj is non-NULL");
// here the null check is implicit in the cset_fast_test() test
if (_g1->in_cset_fast_test(obj)) {
+ oop forwardee;
if (obj->is_forwarded()) {
- oopDesc::encode_store_heap_oop(p, obj->forwardee());
- // If we are a root scanning closure during an initial
- // mark pause (i.e. do_mark_object will be true) then
- // we also need to handle marking of roots in the
- // event of an evacuation failure. In the event of an
- // evacuation failure, the object is forwarded to itself
- // and not copied. For root-scanning closures, the
- // object would be marked after a successful self-forward
- // but an object could be pointed to by both a root and non
- // root location and be self-forwarded by a non-root-scanning
- // closure. Therefore we also have to attempt to mark the
- // self-forwarded root object here.
- if (do_mark_object && obj->forwardee() == obj) {
- mark_object(p);
- }
+ forwardee = obj->forwardee();
} else {
- // During an initial mark pause, objects that are pointed to
- // by the roots need to be marked - even in the event of an
- // evacuation failure. We pass the template parameter
- // do_mark_object (which is true for root scanning closures
- // during an initial mark pause) to copy_to_survivor_space
- // which will pass it on to the evacuation failure handling
- // code. The thread that successfully self-forwards a root
- // object to itself is responsible for marking the object.
- bool should_mark_root = do_mark_object;
-
- // We need to mark the copied object if we're a root scanning
- // closure during an initial mark pause (i.e. do_mark_object
- // will be true), or the object is already marked and we need
- // to propagate the mark to the evacuated copy.
- bool should_mark_copy = do_mark_object ||
- _during_initial_mark ||
- (_mark_in_progress && !_g1->is_obj_ill(obj));
-
- oop copy_oop = copy_to_survivor_space(obj, should_mark_root,
- should_mark_copy);
- oopDesc::encode_store_heap_oop(p, copy_oop);
+ forwardee = copy_to_survivor_space(obj);
+ }
+ assert(forwardee != NULL, "forwardee should not be NULL");
+ oopDesc::encode_store_heap_oop(p, forwardee);
+ if (do_mark_object && forwardee != obj) {
+ // If the object is self-forwarded we don't need to explicitly
+ // mark it, the evacuation failure protocol will do so.
+ mark_forwarded_object(obj, forwardee);
}
+
// When scanning the RS, we only care about objs in CS.
if (barrier == G1BarrierRS) {
_par_scan_state->update_rs(_from, p, _par_scan_state->queue_num());
@@ -4441,8 +4430,8 @@ void G1ParCopyClosure<do_gen_barrier, barrier, do_mark_object>
// The object is not in collection set. If we're a root scanning
// closure during an initial mark pause (i.e. do_mark_object will
// be true) then attempt to mark the object.
- if (do_mark_object) {
- mark_object(p);
+ if (do_mark_object && _g1->is_in_g1_reserved(obj)) {
+ mark_object(obj);
}
}
@@ -4460,35 +4449,51 @@ template void G1ParCopyClosure<false, G1BarrierEvac, false>::do_oop_work(narrowO
template <class T> void G1ParScanPartialArrayClosure::do_oop_nv(T* p) {
assert(has_partial_array_mask(p), "invariant");
- oop old = clear_partial_array_mask(p);
- assert(old->is_objArray(), "must be obj array");
- assert(old->is_forwarded(), "must be forwarded");
- assert(Universe::heap()->is_in_reserved(old), "must be in heap.");
-
- objArrayOop obj = objArrayOop(old->forwardee());
- assert((void*)old != (void*)old->forwardee(), "self forwarding here?");
- // Process ParGCArrayScanChunk elements now
- // and push the remainder back onto queue
- int start = arrayOop(old)->length();
- int end = obj->length();
- int remainder = end - start;
- assert(start <= end, "just checking");
+ oop from_obj = clear_partial_array_mask(p);
+
+ assert(Universe::heap()->is_in_reserved(from_obj), "must be in heap.");
+ assert(from_obj->is_objArray(), "must be obj array");
+ objArrayOop from_obj_array = objArrayOop(from_obj);
+ // The from-space object contains the real length.
+ int length = from_obj_array->length();
+
+ assert(from_obj->is_forwarded(), "must be forwarded");
+ oop to_obj = from_obj->forwardee();
+ assert(from_obj != to_obj, "should not be chunking self-forwarded objects");
+ objArrayOop to_obj_array = objArrayOop(to_obj);
+ // We keep track of the next start index in the length field of the
+ // to-space object.
+ int next_index = to_obj_array->length();
+ assert(0 <= next_index && next_index < length,
+ err_msg("invariant, next index: %d, length: %d", next_index, length));
+
+ int start = next_index;
+ int end = length;
+ int remainder = end - start;
+ // We'll try not to push a range that's smaller than ParGCArrayScanChunk.
if (remainder > 2 * ParGCArrayScanChunk) {
- // Test above combines last partial chunk with a full chunk
end = start + ParGCArrayScanChunk;
- arrayOop(old)->set_length(end);
- // Push remainder.
- oop* old_p = set_partial_array_mask(old);
- assert(arrayOop(old)->length() < obj->length(), "Empty push?");
- _par_scan_state->push_on_queue(old_p);
+ to_obj_array->set_length(end);
+ // Push the remainder before we process the range in case another
+ // worker has run out of things to do and can steal it.
+ oop* from_obj_p = set_partial_array_mask(from_obj);
+ _par_scan_state->push_on_queue(from_obj_p);
} else {
- // Restore length so that the heap remains parsable in
- // case of evacuation failure.
- arrayOop(old)->set_length(end);
- }
- _scanner.set_region(_g1->heap_region_containing_raw(obj));
- // process our set of indices (include header in first chunk)
- obj->oop_iterate_range(&_scanner, start, end);
+ assert(length == end, "sanity");
+ // We'll process the final range for this object. Restore the length
+ // so that the heap remains parsable in case of evacuation failure.
+ to_obj_array->set_length(end);
+ }
+ _scanner.set_region(_g1->heap_region_containing_raw(to_obj));
+ // Process indexes [start,end). It will also process the header
+ // along with the first chunk (i.e., the chunk with start == 0).
+ // Note that at this point the length field of to_obj_array is not
+ // correct given that we are using it to keep track of the next
+ // start index. oop_iterate_range() (thankfully!) ignores the length
+ // field and only relies on the start / end parameters. It does
+ // however return the size of the object which will be incorrect. So
+ // we have to ignore it even if we wanted to use it.
+ to_obj_array->oop_iterate_range(&_scanner, start, end);
}
class G1ParEvacuateFollowersClosure : public VoidClosure {
@@ -4553,7 +4558,7 @@ protected:
G1CollectedHeap* _g1h;
RefToScanQueueSet *_queues;
ParallelTaskTerminator _terminator;
- int _n_workers;
+ uint _n_workers;
Mutex _stats_lock;
Mutex* stats_lock() { return &_stats_lock; }
@@ -4564,13 +4569,13 @@ protected:
}
public:
- G1ParTask(G1CollectedHeap* g1h, int workers, RefToScanQueueSet *task_queues)
+ G1ParTask(G1CollectedHeap* g1h,
+ RefToScanQueueSet *task_queues)
: AbstractGangTask("G1 collection"),
_g1h(g1h),
_queues(task_queues),
- _terminator(workers, _queues),
- _stats_lock(Mutex::leaf, "parallel G1 stats lock", true),
- _n_workers(workers)
+ _terminator(0, _queues),
+ _stats_lock(Mutex::leaf, "parallel G1 stats lock", true)
{}
RefToScanQueueSet* queues() { return _queues; }
@@ -4579,18 +4584,32 @@ public:
return queues()->queue(i);
}
- void work(int i) {
- if (i >= _n_workers) return; // no work needed this round
+ ParallelTaskTerminator* terminator() { return &_terminator; }
+
+ virtual void set_for_termination(int active_workers) {
+ // This task calls set_n_termination() in par_non_clean_card_iterate_work()
+ // in the young space (_par_seq_tasks) in the G1 heap
+ // for SequentialSubTasksDone.
+ // This task also uses SubTasksDone in SharedHeap and G1CollectedHeap
+ // both of which need setting by set_n_termination().
+ _g1h->SharedHeap::set_n_termination(active_workers);
+ _g1h->set_n_termination(active_workers);
+ terminator()->reset_for_reuse(active_workers);
+ _n_workers = active_workers;
+ }
+
+ void work(uint worker_id) {
+ if (worker_id >= _n_workers) return; // no work needed this round
double start_time_ms = os::elapsedTime() * 1000.0;
- _g1h->g1_policy()->record_gc_worker_start_time(i, start_time_ms);
+ _g1h->g1_policy()->record_gc_worker_start_time(worker_id, start_time_ms);
ResourceMark rm;
HandleMark hm;
ReferenceProcessor* rp = _g1h->ref_processor_stw();
- G1ParScanThreadState pss(_g1h, i);
+ G1ParScanThreadState pss(_g1h, worker_id);
G1ParScanHeapEvacClosure scan_evac_cl(_g1h, &pss, rp);
G1ParScanHeapEvacFailureClosure evac_failure_cl(_g1h, &pss, rp);
G1ParScanPartialArrayClosure partial_scan_cl(_g1h, &pss, rp);
@@ -4622,7 +4641,7 @@ public:
scan_root_cl,
&push_heap_rs_cl,
scan_perm_cl,
- i);
+ worker_id);
pss.end_strong_roots();
{
@@ -4631,8 +4650,8 @@ public:
evac.do_void();
double elapsed_ms = (os::elapsedTime()-start)*1000.0;
double term_ms = pss.term_time()*1000.0;
- _g1h->g1_policy()->record_obj_copy_time(i, elapsed_ms-term_ms);
- _g1h->g1_policy()->record_termination(i, term_ms, pss.term_attempts());
+ _g1h->g1_policy()->record_obj_copy_time(worker_id, elapsed_ms-term_ms);
+ _g1h->g1_policy()->record_termination(worker_id, term_ms, pss.term_attempts());
}
_g1h->g1_policy()->record_thread_age_table(pss.age_table());
_g1h->update_surviving_young_words(pss.surviving_young_words()+1);
@@ -4642,12 +4661,12 @@ public:
if (ParallelGCVerbose) {
MutexLocker x(stats_lock());
- pss.print_termination_stats(i);
+ pss.print_termination_stats(worker_id);
}
assert(pss.refs()->is_empty(), "should be empty");
double end_time_ms = os::elapsedTime() * 1000.0;
- _g1h->g1_policy()->record_gc_worker_end_time(i, end_time_ms);
+ _g1h->g1_policy()->record_gc_worker_end_time(worker_id, end_time_ms);
}
};
@@ -4707,12 +4726,16 @@ g1_process_strong_roots(bool collecting_perm_gen,
g1_policy()->record_ext_root_scan_time(worker_i, ext_root_time_ms);
- // Scan strong roots in mark stack.
- if (!_process_strong_tasks->is_task_claimed(G1H_PS_mark_stack_oops_do)) {
- concurrent_mark()->oops_do(scan_non_heap_roots);
+ // During conc marking we have to filter the per-thread SATB buffers
+ // to make sure we remove any oops into the CSet (which will show up
+ // as implicitly live).
+ if (!_process_strong_tasks->is_task_claimed(G1H_PS_filter_satb_buffers)) {
+ if (mark_in_progress()) {
+ JavaThread::satb_mark_queue_set().filter_thread_buffers();
+ }
}
- double mark_stack_scan_ms = (os::elapsedTime() - ext_roots_end) * 1000.0;
- g1_policy()->record_mark_stack_scan_time(worker_i, mark_stack_scan_ms);
+ double satb_filtering_ms = (os::elapsedTime() - ext_roots_end) * 1000.0;
+ g1_policy()->record_satb_filtering_time(worker_i, satb_filtering_ms);
// Now scan the complement of the collection set.
if (scan_rs != NULL) {
@@ -4863,12 +4886,12 @@ class G1STWRefProcTaskExecutor: public AbstractRefProcTaskExecutor {
private:
G1CollectedHeap* _g1h;
RefToScanQueueSet* _queues;
- WorkGang* _workers;
+ FlexibleWorkGang* _workers;
int _active_workers;
public:
G1STWRefProcTaskExecutor(G1CollectedHeap* g1h,
- WorkGang* workers,
+ FlexibleWorkGang* workers,
RefToScanQueueSet *task_queues,
int n_workers) :
_g1h(g1h),
@@ -4905,14 +4928,14 @@ public:
_terminator(terminator)
{}
- virtual void work(int i) {
+ virtual void work(uint worker_id) {
// The reference processing task executed by a single worker.
ResourceMark rm;
HandleMark hm;
G1STWIsAliveClosure is_alive(_g1h);
- G1ParScanThreadState pss(_g1h, i);
+ G1ParScanThreadState pss(_g1h, worker_id);
G1ParScanHeapEvacClosure scan_evac_cl(_g1h, &pss, NULL);
G1ParScanHeapEvacFailureClosure evac_failure_cl(_g1h, &pss, NULL);
@@ -4944,7 +4967,7 @@ public:
G1ParEvacuateFollowersClosure drain_queue(_g1h, &pss, _task_queues, _terminator);
// Call the reference processing task's work routine.
- _proc_task.work(i, is_alive, keep_alive, drain_queue);
+ _proc_task.work(worker_id, is_alive, keep_alive, drain_queue);
// Note we cannot assert that the refs array is empty here as not all
// of the processing tasks (specifically phase2 - pp2_work) execute
@@ -4979,8 +5002,8 @@ public:
_enq_task(enq_task)
{ }
- virtual void work(int i) {
- _enq_task.work(i);
+ virtual void work(uint worker_id) {
+ _enq_task.work(worker_id);
}
};
@@ -5009,7 +5032,7 @@ protected:
G1CollectedHeap* _g1h;
RefToScanQueueSet *_queues;
ParallelTaskTerminator _terminator;
- int _n_workers;
+ uint _n_workers;
public:
G1ParPreserveCMReferentsTask(G1CollectedHeap* g1h,int workers, RefToScanQueueSet *task_queues) :
@@ -5020,11 +5043,11 @@ public:
_n_workers(workers)
{ }
- void work(int i) {
+ void work(uint worker_id) {
ResourceMark rm;
HandleMark hm;
- G1ParScanThreadState pss(_g1h, i);
+ G1ParScanThreadState pss(_g1h, worker_id);
G1ParScanHeapEvacClosure scan_evac_cl(_g1h, &pss, NULL);
G1ParScanHeapEvacFailureClosure evac_failure_cl(_g1h, &pss, NULL);
G1ParScanPartialArrayClosure partial_scan_cl(_g1h, &pss, NULL);
@@ -5060,17 +5083,17 @@ public:
ReferenceProcessor* rp = _g1h->ref_processor_cm();
- int limit = ReferenceProcessor::number_of_subclasses_of_ref() * rp->max_num_q();
- int stride = MIN2(MAX2(_n_workers, 1), limit);
+ uint limit = ReferenceProcessor::number_of_subclasses_of_ref() * rp->max_num_q();
+ uint stride = MIN2(MAX2(_n_workers, 1U), limit);
// limit is set using max_num_q() - which was set using ParallelGCThreads.
// So this must be true - but assert just in case someone decides to
// change the worker ids.
- assert(0 <= i && i < limit, "sanity");
+ assert(0 <= worker_id && worker_id < limit, "sanity");
assert(!rp->discovery_is_atomic(), "check this code");
// Select discovered lists [i, i+stride, i+2*stride,...,limit)
- for (int idx = i; idx < limit; idx += stride) {
+ for (uint idx = worker_id; idx < limit; idx += stride) {
DiscoveredList& ref_list = rp->discovered_refs()[idx];
DiscoveredListIterator iter(ref_list, &keep_alive, &always_alive);
@@ -5124,11 +5147,15 @@ void G1CollectedHeap::process_discovered_references() {
// referents points to another object which is also referenced by an
// object discovered by the STW ref processor.
- int n_workers = (G1CollectedHeap::use_parallel_gc_threads() ?
- workers()->total_workers() : 1);
+ uint active_workers = (G1CollectedHeap::use_parallel_gc_threads() ?
+ workers()->active_workers() : 1);
- set_par_threads(n_workers);
- G1ParPreserveCMReferentsTask keep_cm_referents(this, n_workers, _task_queues);
+ assert(!G1CollectedHeap::use_parallel_gc_threads() ||
+ active_workers == workers()->active_workers(),
+ "Need to reset active_workers");
+
+ set_par_threads(active_workers);
+ G1ParPreserveCMReferentsTask keep_cm_referents(this, active_workers, _task_queues);
if (G1CollectedHeap::use_parallel_gc_threads()) {
workers()->run_task(&keep_cm_referents);
@@ -5194,7 +5221,6 @@ void G1CollectedHeap::process_discovered_references() {
NULL);
} else {
// Parallel reference processing
- int active_workers = (ParallelGCThreads > 0 ? workers()->total_workers() : 1);
assert(rp->num_q() == active_workers, "sanity");
assert(active_workers <= rp->max_num_q(), "sanity");
@@ -5227,7 +5253,9 @@ void G1CollectedHeap::enqueue_discovered_references() {
} else {
// Parallel reference enqueuing
- int active_workers = (ParallelGCThreads > 0 ? workers()->total_workers() : 1);
+ uint active_workers = (ParallelGCThreads > 0 ? workers()->active_workers() : 1);
+ assert(active_workers == workers()->active_workers(),
+ "Need to reset active_workers");
assert(rp->num_q() == active_workers, "sanity");
assert(active_workers <= rp->max_num_q(), "sanity");
@@ -5248,15 +5276,31 @@ void G1CollectedHeap::enqueue_discovered_references() {
}
void G1CollectedHeap::evacuate_collection_set() {
+ _expand_heap_after_alloc_failure = true;
set_evacuation_failed(false);
g1_rem_set()->prepare_for_oops_into_collection_set_do();
concurrent_g1_refine()->set_use_cache(false);
concurrent_g1_refine()->clear_hot_cache_claimed_index();
- int n_workers = (ParallelGCThreads > 0 ? workers()->total_workers() : 1);
- set_par_threads(n_workers);
- G1ParTask g1_par_task(this, n_workers, _task_queues);
+ uint n_workers;
+ if (G1CollectedHeap::use_parallel_gc_threads()) {
+ n_workers =
+ AdaptiveSizePolicy::calc_active_workers(workers()->total_workers(),
+ workers()->active_workers(),
+ Threads::number_of_non_daemon_threads());
+ assert(UseDynamicNumberOfGCThreads ||
+ n_workers == workers()->total_workers(),
+ "If not dynamic should be using all the workers");
+ workers()->set_active_workers(n_workers);
+ set_par_threads(n_workers);
+ } else {
+ assert(n_par_threads() == 0,
+ "Should be the original non-parallel value");
+ n_workers = 1;
+ }
+
+ G1ParTask g1_par_task(this, _task_queues);
init_for_evac_failure(NULL);
@@ -5269,14 +5313,20 @@ void G1CollectedHeap::evacuate_collection_set() {
// The individual threads will set their evac-failure closures.
StrongRootsScope srs(this);
if (ParallelGCVerbose) G1ParScanThreadState::print_termination_stats_hdr();
+ // These tasks use ShareHeap::_process_strong_tasks
+ assert(UseDynamicNumberOfGCThreads ||
+ workers()->active_workers() == workers()->total_workers(),
+ "If not dynamic should be using all the workers");
workers()->run_task(&g1_par_task);
} else {
StrongRootsScope srs(this);
+ g1_par_task.set_for_termination(n_workers);
g1_par_task.work(0);
}
double par_time = (os::elapsedTime() - start_par) * 1000.0;
g1_policy()->record_par_time(par_time);
+
set_par_threads(0);
// Process any discovered reference objects - we have
@@ -5304,10 +5354,6 @@ void G1CollectedHeap::evacuate_collection_set() {
finalize_for_evac_failure();
- // Must do this before removing self-forwarding pointers, which clears
- // the per-region evac-failure flags.
- concurrent_mark()->complete_marking_in_collection_set();
-
if (evacuation_failed()) {
remove_self_forwarding_pointers();
if (PrintGCDetails) {
@@ -5443,7 +5489,7 @@ public:
AbstractGangTask("G1 Par Cleanup CT Task"),
_ct_bs(ct_bs), _g1h(g1h) { }
- void work(int i) {
+ void work(uint worker_id) {
HeapRegion* r;
while (r = _g1h->pop_dirty_cards_region()) {
clear_cards(r);
@@ -5516,8 +5562,8 @@ void G1CollectedHeap::cleanUpCardTable() {
// Iterate over the dirty cards region list.
G1ParCleanupCTTask cleanup_task(ct_bs, this);
- if (ParallelGCThreads > 0) {
- set_par_threads(workers()->total_workers());
+ if (G1CollectedHeap::use_parallel_gc_threads()) {
+ set_par_threads();
workers()->run_task(&cleanup_task);
set_par_threads(0);
} else {
@@ -5567,7 +5613,6 @@ void G1CollectedHeap::free_collection_set(HeapRegion* cs_head) {
while (cur != NULL) {
assert(!is_on_master_free_list(cur), "sanity");
-
if (non_young) {
if (cur->is_young()) {
double end_sec = os::elapsedTime();
@@ -5578,12 +5623,14 @@ void G1CollectedHeap::free_collection_set(HeapRegion* cs_head) {
non_young = false;
}
} else {
- double end_sec = os::elapsedTime();
- double elapsed_ms = (end_sec - start_sec) * 1000.0;
- young_time_ms += elapsed_ms;
+ if (!cur->is_young()) {
+ double end_sec = os::elapsedTime();
+ double elapsed_ms = (end_sec - start_sec) * 1000.0;
+ young_time_ms += elapsed_ms;
- start_sec = os::elapsedTime();
- non_young = true;
+ start_sec = os::elapsedTime();
+ non_young = true;
+ }
}
rs_lengths += cur->rem_set()->occupied();
@@ -5595,8 +5642,8 @@ void G1CollectedHeap::free_collection_set(HeapRegion* cs_head) {
if (cur->is_young()) {
int index = cur->young_index_in_cset();
- guarantee( index != -1, "invariant" );
- guarantee( (size_t)index < policy->young_cset_length(), "invariant" );
+ assert(index != -1, "invariant");
+ assert((size_t) index < policy->young_cset_region_length(), "invariant");
size_t words_survived = _surviving_young_words[index];
cur->record_surv_words_in_group(words_survived);
@@ -5607,7 +5654,7 @@ void G1CollectedHeap::free_collection_set(HeapRegion* cs_head) {
cur->set_next_young_region(NULL);
} else {
int index = cur->young_index_in_cset();
- guarantee( index == -1, "invariant" );
+ assert(index == -1, "invariant");
}
assert( (cur->is_young() && cur->young_index_in_cset() > -1) ||
@@ -5615,13 +5662,26 @@ void G1CollectedHeap::free_collection_set(HeapRegion* cs_head) {
"invariant" );
if (!cur->evacuation_failed()) {
+ MemRegion used_mr = cur->used_region();
+
// And the region is empty.
- assert(!cur->is_empty(), "Should not have empty regions in a CS.");
+ assert(!used_mr.is_empty(), "Should not have empty regions in a CS.");
+
+ // If marking is in progress then clear any objects marked in
+ // the current region. Note mark_in_progress() returns false,
+ // even during an initial mark pause, until the set_marking_started()
+ // call which takes place later in the pause.
+ if (mark_in_progress()) {
+ assert(!g1_policy()->during_initial_mark_pause(), "sanity");
+ _cm->nextMarkBitMap()->clearRange(used_mr);
+ }
+
free_region(cur, &pre_used, &local_free_list, false /* par */);
} else {
cur->uninstall_surv_rate_group();
- if (cur->is_young())
+ if (cur->is_young()) {
cur->set_young_index_in_cset(-1);
+ }
cur->set_not_young();
cur->set_evacuation_failed(false);
// The region is now considered to be old.
@@ -5635,10 +5695,12 @@ void G1CollectedHeap::free_collection_set(HeapRegion* cs_head) {
double end_sec = os::elapsedTime();
double elapsed_ms = (end_sec - start_sec) * 1000.0;
- if (non_young)
+
+ if (non_young) {
non_young_time_ms += elapsed_ms;
- else
+ } else {
young_time_ms += elapsed_ms;
+ }
update_sets_after_freeing_regions(pre_used, &local_free_list,
NULL /* old_proxy_set */,
@@ -5722,7 +5784,6 @@ void G1CollectedHeap::set_region_short_lived_locked(HeapRegion* hr) {
assert(heap_lock_held_for_gc(),
"the heap lock should already be held by or for this thread");
_young_list->push_region(hr);
- g1_policy()->set_region_short_lived(hr);
}
class NoYoungRegionsClosure: public HeapRegionClosure {
@@ -5880,7 +5941,6 @@ HeapRegion* G1CollectedHeap::new_mutator_alloc_region(size_t word_size,
HeapRegion* new_alloc_region = new_region(word_size,
false /* do_expand */);
if (new_alloc_region != NULL) {
- g1_policy()->update_region_num(true /* next_is_young */);
set_region_short_lived_locked(new_alloc_region);
_hr_printer.alloc(new_alloc_region, G1HRPrinter::Eden, young_list_full);
return new_alloc_region;
@@ -5908,6 +5968,22 @@ HeapRegion* MutatorAllocRegion::allocate_new_region(size_t word_size,
return _g1h->new_mutator_alloc_region(word_size, force);
}
+void G1CollectedHeap::set_par_threads() {
+ // Don't change the number of workers. Use the value previously set
+ // in the workgroup.
+ assert(G1CollectedHeap::use_parallel_gc_threads(), "shouldn't be here otherwise");
+ uint n_workers = workers()->active_workers();
+ assert(UseDynamicNumberOfGCThreads ||
+ n_workers == workers()->total_workers(),
+ "Otherwise should be using the total number of workers");
+ if (n_workers == 0) {
+ assert(false, "Should have been set in prior evacuation pause.");
+ n_workers = ParallelGCThreads;
+ workers()->set_active_workers(n_workers);
+ }
+ set_par_threads(n_workers);
+}
+
void MutatorAllocRegion::retire_region(HeapRegion* alloc_region,
size_t allocated_bytes) {
_g1h->retire_mutator_alloc_region(alloc_region, allocated_bytes);
@@ -5934,6 +6010,8 @@ HeapRegion* G1CollectedHeap::new_gc_alloc_region(size_t word_size,
} else {
_hr_printer.alloc(new_alloc_region, G1HRPrinter::Old);
}
+ bool during_im = g1_policy()->during_initial_mark_pause();
+ new_alloc_region->note_start_of_copying(during_im);
return new_alloc_region;
} else {
g1_policy()->note_alloc_region_limit_reached(ap);
@@ -5945,7 +6023,8 @@ HeapRegion* G1CollectedHeap::new_gc_alloc_region(size_t word_size,
void G1CollectedHeap::retire_gc_alloc_region(HeapRegion* alloc_region,
size_t allocated_bytes,
GCAllocPurpose ap) {
- alloc_region->note_end_of_copying();
+ bool during_im = g1_policy()->during_initial_mark_pause();
+ alloc_region->note_end_of_copying(during_im);
g1_policy()->record_bytes_copied_during_gc(allocated_bytes);
if (ap == GCAllocForSurvived) {
young_list()->add_survivor_region(alloc_region);
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp
index d0e0941..30b7fed 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -285,6 +285,14 @@ private:
// Typically, it is not full so we should re-use it during the next GC.
HeapRegion* _retained_old_gc_alloc_region;
+ // It specifies whether we should attempt to expand the heap after a
+ // region allocation failure. If heap expansion fails we set this to
+ // false so that we don't re-attempt the heap expansion (it's likely
+ // that subsequent expansion attempts will also fail if one fails).
+ // Currently, it is only consulted during GC and it's reset at the
+ // start of each GC.
+ bool _expand_heap_after_alloc_failure;
+
// It resets the mutator alloc region before new allocations can take place.
void init_mutator_alloc_region();
@@ -861,8 +869,7 @@ protected:
void finalize_for_evac_failure();
// An attempt to evacuate "obj" has failed; take necessary steps.
- oop handle_evacuation_failure_par(OopsInHeapRegionClosure* cl, oop obj,
- bool should_mark_root);
+ oop handle_evacuation_failure_par(OopsInHeapRegionClosure* cl, oop obj);
void handle_evacuation_failure_common(oop obj, markOop m);
// ("Weak") Reference processing support.
@@ -943,8 +950,18 @@ protected:
// discovery.
G1CMIsAliveClosure _is_alive_closure_cm;
+ // Cache used by G1CollectedHeap::start_cset_region_for_worker().
+ HeapRegion** _worker_cset_start_region;
+
+ // Time stamp to validate the regions recorded in the cache
+ // used by G1CollectedHeap::start_cset_region_for_worker().
+ // The heap region entry for a given worker is valid iff
+ // the associated time stamp value matches the current value
+ // of G1CollectedHeap::_gc_time_stamp.
+ unsigned int* _worker_cset_start_region_time_stamp;
+
enum G1H_process_strong_roots_tasks {
- G1H_PS_mark_stack_oops_do,
+ G1H_PS_filter_satb_buffers,
G1H_PS_refProcessor_oops_do,
// Leave this one last.
G1H_PS_NumElements
@@ -985,8 +1002,18 @@ public:
// Initialize weak reference processing.
virtual void ref_processing_init();
- void set_par_threads(int t) {
+ void set_par_threads(uint t) {
SharedHeap::set_par_threads(t);
+ // Done in SharedHeap but oddly there are
+ // two _process_strong_tasks's in a G1CollectedHeap
+ // so do it here too.
+ _process_strong_tasks->set_n_threads(t);
+ }
+
+ // Set _n_par_threads according to a policy TBD.
+ void set_par_threads();
+
+ void set_n_termination(int t) {
_process_strong_tasks->set_n_threads(t);
}
@@ -1020,6 +1047,9 @@ public:
void reset_gc_time_stamp() {
_gc_time_stamp = 0;
OrderAccess::fence();
+ // Clear the cached CSet starting regions and time stamps.
+ // Their validity is dependent on the GC timestamp.
+ clear_cset_start_regions();
}
void increment_gc_time_stamp() {
@@ -1186,7 +1216,7 @@ public:
HumongousRegionSet* humongous_proxy_set,
bool par);
- // Returns "TRUE" iff "p" points into the allocated area of the heap.
+ // Returns "TRUE" iff "p" points into the committed areas of the heap.
virtual bool is_in(const void* p) const;
// Return "TRUE" iff the given object address is within the collection
@@ -1275,16 +1305,33 @@ public:
// chunk.) For now requires that "doHeapRegion" always returns "false",
// i.e., that a closure never attempt to abort a traversal.
void heap_region_par_iterate_chunked(HeapRegionClosure* blk,
- int worker,
+ uint worker,
+ uint no_of_par_workers,
jint claim_value);
// It resets all the region claim values to the default.
void reset_heap_region_claim_values();
+ // Resets the claim values of regions in the current
+ // collection set to the default.
+ void reset_cset_heap_region_claim_values();
+
#ifdef ASSERT
bool check_heap_region_claim_values(jint claim_value);
+
+ // Same as the routine above but only checks regions in the
+ // current collection set.
+ bool check_cset_heap_region_claim_values(jint claim_value);
#endif // ASSERT
+ // Clear the cached cset start regions and (more importantly)
+ // the time stamps. Called when we reset the GC time stamp.
+ void clear_cset_start_regions();
+
+ // Given the id of a worker, obtain or calculate a suitable
+ // starting region for iterating over the current collection set.
+ HeapRegion* start_cset_region_for_worker(int worker_i);
+
// Iterate over the regions (if any) in the current collection set.
void collection_set_iterate(HeapRegionClosure* blk);
@@ -1610,16 +1657,12 @@ public:
public:
void stop_conc_gc_threads();
- // <NEW PREDICTION>
-
double predict_region_elapsed_time_ms(HeapRegion* hr, bool young);
void check_if_region_is_too_expensive(double predicted_time_ms);
size_t pending_card_num();
size_t max_pending_card_num();
size_t cards_scanned();
- // </NEW PREDICTION>
-
protected:
size_t _max_heap_capacity;
};
@@ -1708,10 +1751,8 @@ public:
_gclab_word_size(gclab_word_size),
_real_start_word(NULL),
_real_end_word(NULL),
- _start_word(NULL)
- {
- guarantee( size_in_words() >= bitmap_size_in_words(),
- "just making sure");
+ _start_word(NULL) {
+ guarantee(false, "GCLabBitMap::GCLabBitmap(): don't call this any more");
}
inline unsigned heapWordToOffset(HeapWord* addr) {
@@ -1765,6 +1806,8 @@ public:
}
void set_buffer(HeapWord* start) {
+ guarantee(false, "set_buffer(): don't call this any more");
+
guarantee(use_local_bitmaps, "invariant");
clear();
@@ -1788,6 +1831,8 @@ public:
#endif // PRODUCT
void retire() {
+ guarantee(false, "retire(): don't call this any more");
+
guarantee(use_local_bitmaps, "invariant");
assert(fields_well_formed(), "invariant");
@@ -1821,32 +1866,18 @@ public:
class G1ParGCAllocBuffer: public ParGCAllocBuffer {
private:
bool _retired;
- bool _should_mark_objects;
- GCLabBitMap _bitmap;
public:
G1ParGCAllocBuffer(size_t gclab_word_size);
- inline bool mark(HeapWord* addr) {
- guarantee(use_local_bitmaps, "invariant");
- assert(_should_mark_objects, "invariant");
- return _bitmap.mark(addr);
- }
-
- inline void set_buf(HeapWord* buf) {
- if (use_local_bitmaps && _should_mark_objects) {
- _bitmap.set_buffer(buf);
- }
+ void set_buf(HeapWord* buf) {
ParGCAllocBuffer::set_buf(buf);
_retired = false;
}
- inline void retire(bool end_of_gc, bool retain) {
+ void retire(bool end_of_gc, bool retain) {
if (_retired)
return;
- if (use_local_bitmaps && _should_mark_objects) {
- _bitmap.retire();
- }
ParGCAllocBuffer::retire(end_of_gc, retain);
_retired = true;
}
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp
index 019f087..f32db16 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -36,10 +36,6 @@
#include "runtime/mutexLocker.hpp"
#include "utilities/debug.hpp"
-#define PREDICTIONS_VERBOSE 0
-
-// <NEW PREDICTION>
-
// Different defaults for different number of GC threads
// They were chosen by running GCOld and SPECjbb on debris with different
// numbers of GC threads and choosing them based on the results
@@ -54,7 +50,7 @@ static double cost_per_card_ms_defaults[] = {
};
// all the same
-static double fully_young_cards_per_entry_ratio_defaults[] = {
+static double young_cards_per_entry_ratio_defaults[] = {
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0
};
@@ -80,8 +76,6 @@ static double non_young_other_cost_per_region_ms_defaults[] = {
1.0, 0.7, 0.7, 0.5, 0.5, 0.42, 0.42, 0.30
};
-// </NEW PREDICTION>
-
// Help class for avoiding interleaved logging
class LineBuffer: public StackObj {
@@ -137,22 +131,16 @@ G1CollectorPolicy::G1CollectorPolicy() :
_parallel_gc_threads(G1CollectedHeap::use_parallel_gc_threads()
? ParallelGCThreads : 1),
- _n_pauses(0),
- _recent_rs_scan_times_ms(new TruncatedSeq(NumPrevPausesForHeuristics)),
- _recent_pause_times_ms(new TruncatedSeq(NumPrevPausesForHeuristics)),
- _recent_rs_sizes(new TruncatedSeq(NumPrevPausesForHeuristics)),
_recent_gc_times_ms(new TruncatedSeq(NumPrevPausesForHeuristics)),
_all_pause_times_ms(new NumberSeq()),
_stop_world_start(0.0),
_all_stop_world_times_ms(new NumberSeq()),
_all_yield_times_ms(new NumberSeq()),
- _using_new_ratio_calculations(false),
-
- _all_mod_union_times_ms(new NumberSeq()),
_summary(new Summary()),
_cur_clear_ct_time_ms(0.0),
+ _mark_closure_time_ms(0.0),
_cur_ref_proc_time_ms(0.0),
_cur_ref_enq_time_ms(0.0),
@@ -165,11 +153,6 @@ G1CollectorPolicy::G1CollectorPolicy() :
_num_cc_clears(0L),
#endif
- _region_num_young(0),
- _region_num_tenured(0),
- _prev_region_num_young(0),
- _prev_region_num_tenured(0),
-
_aux_num(10),
_all_aux_times_ms(new NumberSeq[_aux_num]),
_cur_aux_start_times_ms(new double[_aux_num]),
@@ -179,18 +162,15 @@ G1CollectorPolicy::G1CollectorPolicy() :
_concurrent_mark_remark_times_ms(new TruncatedSeq(NumPrevPausesForHeuristics)),
_concurrent_mark_cleanup_times_ms(new TruncatedSeq(NumPrevPausesForHeuristics)),
- // <NEW PREDICTION>
-
_alloc_rate_ms_seq(new TruncatedSeq(TruncatedSeqLength)),
_prev_collection_pause_end_ms(0.0),
_pending_card_diff_seq(new TruncatedSeq(TruncatedSeqLength)),
_rs_length_diff_seq(new TruncatedSeq(TruncatedSeqLength)),
_cost_per_card_ms_seq(new TruncatedSeq(TruncatedSeqLength)),
- _fully_young_cards_per_entry_ratio_seq(new TruncatedSeq(TruncatedSeqLength)),
- _partially_young_cards_per_entry_ratio_seq(
- new TruncatedSeq(TruncatedSeqLength)),
+ _young_cards_per_entry_ratio_seq(new TruncatedSeq(TruncatedSeqLength)),
+ _mixed_cards_per_entry_ratio_seq(new TruncatedSeq(TruncatedSeqLength)),
_cost_per_entry_ms_seq(new TruncatedSeq(TruncatedSeqLength)),
- _partially_young_cost_per_entry_ms_seq(new TruncatedSeq(TruncatedSeqLength)),
+ _mixed_cost_per_entry_ms_seq(new TruncatedSeq(TruncatedSeqLength)),
_cost_per_byte_ms_seq(new TruncatedSeq(TruncatedSeqLength)),
_cost_per_byte_ms_during_cm_seq(new TruncatedSeq(TruncatedSeqLength)),
_constant_other_time_ms_seq(new TruncatedSeq(TruncatedSeqLength)),
@@ -199,16 +179,13 @@ G1CollectorPolicy::G1CollectorPolicy() :
new TruncatedSeq(TruncatedSeqLength)),
_pending_cards_seq(new TruncatedSeq(TruncatedSeqLength)),
- _scanned_cards_seq(new TruncatedSeq(TruncatedSeqLength)),
_rs_lengths_seq(new TruncatedSeq(TruncatedSeqLength)),
_pause_time_target_ms((double) MaxGCPauseMillis),
- // </NEW PREDICTION>
-
- _full_young_gcs(true),
- _full_young_pause_num(0),
- _partial_young_pause_num(0),
+ _gcs_are_young(true),
+ _young_pause_num(0),
+ _mixed_pause_num(0),
_during_marking(false),
_in_marking_window(false),
@@ -219,22 +196,18 @@ G1CollectorPolicy::G1CollectorPolicy() :
_young_gc_eff_seq(new TruncatedSeq(TruncatedSeqLength)),
- _recent_prev_end_times_for_all_gcs_sec(new TruncatedSeq(NumPrevPausesForHeuristics)),
-
- _recent_CS_bytes_used_before(new TruncatedSeq(NumPrevPausesForHeuristics)),
- _recent_CS_bytes_surviving(new TruncatedSeq(NumPrevPausesForHeuristics)),
+ _recent_prev_end_times_for_all_gcs_sec(
+ new TruncatedSeq(NumPrevPausesForHeuristics)),
_recent_avg_pause_time_ratio(0.0),
_all_full_gc_times_ms(new NumberSeq()),
- // G1PausesBtwnConcMark defaults to -1
- // so the hack is to do the cast QQQ FIXME
- _pauses_btwn_concurrent_mark((size_t)G1PausesBtwnConcMark),
_initiate_conc_mark_if_possible(false),
_during_initial_mark_pause(false),
- _should_revert_to_full_young_gcs(false),
- _last_full_young_gc(false),
+ _should_revert_to_young_gcs(false),
+ _last_young_gc(false),
+ _last_gc_was_young(false),
_eden_bytes_before_gc(0),
_survivor_bytes_before_gc(0),
@@ -242,22 +215,23 @@ G1CollectorPolicy::G1CollectorPolicy() :
_prev_collection_pause_used_at_end_bytes(0),
+ _eden_cset_region_length(0),
+ _survivor_cset_region_length(0),
+ _old_cset_region_length(0),
+
_collection_set(NULL),
- _collection_set_size(0),
_collection_set_bytes_used_before(0),
// Incremental CSet attributes
_inc_cset_build_state(Inactive),
_inc_cset_head(NULL),
_inc_cset_tail(NULL),
- _inc_cset_size(0),
- _inc_cset_young_index(0),
_inc_cset_bytes_used_before(0),
_inc_cset_max_finger(NULL),
- _inc_cset_recorded_young_bytes(0),
_inc_cset_recorded_rs_lengths(0),
+ _inc_cset_recorded_rs_lengths_diffs(0),
_inc_cset_predicted_elapsed_time_ms(0.0),
- _inc_cset_predicted_bytes_to_copy(0),
+ _inc_cset_predicted_elapsed_time_ms_diffs(0.0),
#ifdef _MSC_VER // the use of 'this' below gets a warning, make it go away
#pragma warning( disable:4355 ) // 'this' : used in base member initializer list
@@ -307,7 +281,7 @@ G1CollectorPolicy::G1CollectorPolicy() :
_par_last_gc_worker_start_times_ms = new double[_parallel_gc_threads];
_par_last_ext_root_scan_times_ms = new double[_parallel_gc_threads];
- _par_last_mark_stack_scan_times_ms = new double[_parallel_gc_threads];
+ _par_last_satb_filtering_times_ms = new double[_parallel_gc_threads];
_par_last_update_rs_times_ms = new double[_parallel_gc_threads];
_par_last_update_rs_processed_buffers = new double[_parallel_gc_threads];
@@ -325,8 +299,6 @@ G1CollectorPolicy::G1CollectorPolicy() :
// start conservatively
_expensive_region_limit_ms = 0.5 * (double) MaxGCPauseMillis;
- // <NEW PREDICTION>
-
int index;
if (ParallelGCThreads == 0)
index = 0;
@@ -338,8 +310,8 @@ G1CollectorPolicy::G1CollectorPolicy() :
_pending_card_diff_seq->add(0.0);
_rs_length_diff_seq->add(rs_length_diff_defaults[index]);
_cost_per_card_ms_seq->add(cost_per_card_ms_defaults[index]);
- _fully_young_cards_per_entry_ratio_seq->add(
- fully_young_cards_per_entry_ratio_defaults[index]);
+ _young_cards_per_entry_ratio_seq->add(
+ young_cards_per_entry_ratio_defaults[index]);
_cost_per_entry_ms_seq->add(cost_per_entry_ms_defaults[index]);
_cost_per_byte_ms_seq->add(cost_per_byte_ms_defaults[index]);
_constant_other_time_ms_seq->add(constant_other_time_ms_defaults[index]);
@@ -348,8 +320,6 @@ G1CollectorPolicy::G1CollectorPolicy() :
_non_young_other_cost_per_region_ms_seq->add(
non_young_other_cost_per_region_ms_defaults[index]);
- // </NEW PREDICTION>
-
// Below, we might need to calculate the pause time target based on
// the pause interval. When we do so we are going to give G1 maximum
// flexibility and allow it to do pauses when it needs to. So, we'll
@@ -438,11 +408,7 @@ G1CollectorPolicy::G1CollectorPolicy() :
initialize_all();
_collectionSetChooser = new CollectionSetChooser();
-}
-
-// Increment "i", mod "len"
-static void inc_mod(int& i, int len) {
- i++; if (i == len) i = 0;
+ _young_gen_sizer = new G1YoungGenSizer(); // Must be after call to initialize_flags
}
void G1CollectorPolicy::initialize_flags() {
@@ -454,39 +420,74 @@ void G1CollectorPolicy::initialize_flags() {
CollectorPolicy::initialize_flags();
}
-// The easiest way to deal with the parsing of the NewSize /
-// MaxNewSize / etc. parameteres is to re-use the code in the
-// TwoGenerationCollectorPolicy class. This is similar to what
-// ParallelScavenge does with its GenerationSizer class (see
-// ParallelScavengeHeap::initialize()). We might change this in the
-// future, but it's a good start.
-class G1YoungGenSizer : public TwoGenerationCollectorPolicy {
-private:
- size_t size_to_region_num(size_t byte_size) {
- return MAX2((size_t) 1, byte_size / HeapRegion::GrainBytes);
- }
+G1YoungGenSizer::G1YoungGenSizer() : _sizer_kind(SizerDefaults), _adaptive_size(true) {
+ assert(G1DefaultMinNewGenPercent <= G1DefaultMaxNewGenPercent, "Min larger than max");
+ assert(G1DefaultMinNewGenPercent > 0 && G1DefaultMinNewGenPercent < 100, "Min out of bounds");
+ assert(G1DefaultMaxNewGenPercent > 0 && G1DefaultMaxNewGenPercent < 100, "Max out of bounds");
-public:
- G1YoungGenSizer() {
- initialize_flags();
- initialize_size_info();
- }
- size_t min_young_region_num() {
- return size_to_region_num(_min_gen0_size);
- }
- size_t initial_young_region_num() {
- return size_to_region_num(_initial_gen0_size);
+ if (FLAG_IS_CMDLINE(NewRatio)) {
+ if (FLAG_IS_CMDLINE(NewSize) || FLAG_IS_CMDLINE(MaxNewSize)) {
+ warning("-XX:NewSize and -XX:MaxNewSize override -XX:NewRatio");
+ } else {
+ _sizer_kind = SizerNewRatio;
+ _adaptive_size = false;
+ return;
+ }
}
- size_t max_young_region_num() {
- return size_to_region_num(_max_gen0_size);
+
+ if (FLAG_IS_CMDLINE(NewSize)) {
+ _min_desired_young_length = MAX2((size_t) 1, NewSize / HeapRegion::GrainBytes);
+ if (FLAG_IS_CMDLINE(MaxNewSize)) {
+ _max_desired_young_length = MAX2((size_t) 1, MaxNewSize / HeapRegion::GrainBytes);
+ _sizer_kind = SizerMaxAndNewSize;
+ _adaptive_size = _min_desired_young_length == _max_desired_young_length;
+ } else {
+ _sizer_kind = SizerNewSizeOnly;
+ }
+ } else if (FLAG_IS_CMDLINE(MaxNewSize)) {
+ _max_desired_young_length = MAX2((size_t) 1, MaxNewSize / HeapRegion::GrainBytes);
+ _sizer_kind = SizerMaxNewSizeOnly;
+ }
+}
+
+size_t G1YoungGenSizer::calculate_default_min_length(size_t new_number_of_heap_regions) {
+ size_t default_value = (new_number_of_heap_regions * G1DefaultMinNewGenPercent) / 100;
+ return MAX2((size_t)1, default_value);
+}
+
+size_t G1YoungGenSizer::calculate_default_max_length(size_t new_number_of_heap_regions) {
+ size_t default_value = (new_number_of_heap_regions * G1DefaultMaxNewGenPercent) / 100;
+ return MAX2((size_t)1, default_value);
+}
+
+void G1YoungGenSizer::heap_size_changed(size_t new_number_of_heap_regions) {
+ assert(new_number_of_heap_regions > 0, "Heap must be initialized");
+
+ switch (_sizer_kind) {
+ case SizerDefaults:
+ _min_desired_young_length = calculate_default_min_length(new_number_of_heap_regions);
+ _max_desired_young_length = calculate_default_max_length(new_number_of_heap_regions);
+ break;
+ case SizerNewSizeOnly:
+ _max_desired_young_length = calculate_default_max_length(new_number_of_heap_regions);
+ _max_desired_young_length = MAX2(_min_desired_young_length, _max_desired_young_length);
+ break;
+ case SizerMaxNewSizeOnly:
+ _min_desired_young_length = calculate_default_min_length(new_number_of_heap_regions);
+ _min_desired_young_length = MIN2(_min_desired_young_length, _max_desired_young_length);
+ break;
+ case SizerMaxAndNewSize:
+ // Do nothing. Values set on the command line, don't update them at runtime.
+ break;
+ case SizerNewRatio:
+ _min_desired_young_length = new_number_of_heap_regions / (NewRatio + 1);
+ _max_desired_young_length = _min_desired_young_length;
+ break;
+ default:
+ ShouldNotReachHere();
}
-};
-void G1CollectorPolicy::update_young_list_size_using_newratio(size_t number_of_heap_regions) {
- assert(number_of_heap_regions > 0, "Heap must be initialized");
- size_t young_size = number_of_heap_regions / (NewRatio + 1);
- _min_desired_young_length = young_size;
- _max_desired_young_length = young_size;
+ assert(_min_desired_young_length <= _max_desired_young_length, "Invalid min/max young gen size values");
}
void G1CollectorPolicy::init() {
@@ -497,28 +498,10 @@ void G1CollectorPolicy::init() {
initialize_gc_policy_counters();
- G1YoungGenSizer sizer;
- _min_desired_young_length = sizer.min_young_region_num();
- _max_desired_young_length = sizer.max_young_region_num();
-
- if (FLAG_IS_CMDLINE(NewRatio)) {
- if (FLAG_IS_CMDLINE(NewSize) || FLAG_IS_CMDLINE(MaxNewSize)) {
- warning("-XX:NewSize and -XX:MaxNewSize override -XX:NewRatio");
- } else {
- // Treat NewRatio as a fixed size that is only recalculated when the heap size changes
- update_young_list_size_using_newratio(_g1->n_regions());
- _using_new_ratio_calculations = true;
- }
- }
-
- assert(_min_desired_young_length <= _max_desired_young_length, "Invalid min/max young gen size values");
-
- set_adaptive_young_list_length(_min_desired_young_length < _max_desired_young_length);
if (adaptive_young_list_length()) {
_young_list_fixed_length = 0;
} else {
- assert(_min_desired_young_length == _max_desired_young_length, "Min and max young size differ");
- _young_list_fixed_length = _min_desired_young_length;
+ _young_list_fixed_length = _young_gen_sizer->min_desired_young_length();
}
_free_regions_at_end_of_collection = _g1->free_regions();
update_young_list_target_length();
@@ -572,11 +555,7 @@ void G1CollectorPolicy::record_new_heap_size(size_t new_number_of_regions) {
// smaller than 1.0) we'll get 1.
_reserve_regions = (size_t) ceil(reserve_regions_d);
- if (_using_new_ratio_calculations) {
- // -XX:NewRatio was specified so we need to update the
- // young gen length when the heap size has changed.
- update_young_list_size_using_newratio(new_number_of_regions);
- }
+ _young_gen_sizer->heap_size_changed(new_number_of_regions);
}
size_t G1CollectorPolicy::calculate_young_list_desired_min_length(
@@ -594,14 +573,14 @@ size_t G1CollectorPolicy::calculate_young_list_desired_min_length(
}
desired_min_length += base_min_length;
// make sure we don't go below any user-defined minimum bound
- return MAX2(_min_desired_young_length, desired_min_length);
+ return MAX2(_young_gen_sizer->min_desired_young_length(), desired_min_length);
}
size_t G1CollectorPolicy::calculate_young_list_desired_max_length() {
// Here, we might want to also take into account any additional
// constraints (i.e., user-defined minimum bound). Currently, we
// effectively don't set this bound.
- return _max_desired_young_length;
+ return _young_gen_sizer->max_desired_young_length();
}
void G1CollectorPolicy::update_young_list_target_length(size_t rs_lengths) {
@@ -638,7 +617,7 @@ void G1CollectorPolicy::update_young_list_target_length(size_t rs_lengths) {
size_t young_list_target_length = 0;
if (adaptive_young_list_length()) {
- if (full_young_gcs()) {
+ if (gcs_are_young()) {
young_list_target_length =
calculate_young_list_target_length(rs_lengths,
base_min_length,
@@ -651,10 +630,10 @@ void G1CollectorPolicy::update_young_list_target_length(size_t rs_lengths) {
// possible to maximize how many old regions we can add to it.
}
} else {
- if (full_young_gcs()) {
+ if (gcs_are_young()) {
young_list_target_length = _young_list_fixed_length;
} else {
- // A bit arbitrary: during partially-young GCs we allocate half
+ // A bit arbitrary: during mixed GCs we allocate half
// the young regions to try to add old regions to the CSet.
young_list_target_length = _young_list_fixed_length / 2;
// We choose to accept that we might go under the desired min
@@ -687,7 +666,7 @@ G1CollectorPolicy::calculate_young_list_target_length(size_t rs_lengths,
size_t desired_min_length,
size_t desired_max_length) {
assert(adaptive_young_list_length(), "pre-condition");
- assert(full_young_gcs(), "only call this for fully-young GCs");
+ assert(gcs_are_young(), "only call this for young GCs");
// In case some edge-condition makes the desired max length too small...
if (desired_max_length <= desired_min_length) {
@@ -890,12 +869,11 @@ void G1CollectorPolicy::record_full_collection_end() {
_g1->clear_full_collection();
- // "Nuke" the heuristics that control the fully/partially young GC
- // transitions and make sure we start with fully young GCs after the
- // Full GC.
- set_full_young_gcs(true);
- _last_full_young_gc = false;
- _should_revert_to_full_young_gcs = false;
+ // "Nuke" the heuristics that control the young/mixed GC
+ // transitions and make sure we start with young GCs after the Full GC.
+ set_gcs_are_young(true);
+ _last_young_gc = false;
+ _should_revert_to_young_gcs = false;
clear_initiate_conc_mark_if_possible();
clear_during_initial_mark_pause();
_known_garbage_bytes = 0;
@@ -908,9 +886,6 @@ void G1CollectorPolicy::record_full_collection_end() {
record_survivor_regions(0, NULL, NULL);
- _prev_region_num_young = _region_num_young;
- _prev_region_num_tenured = _region_num_tenured;
-
_free_regions_at_end_of_collection = _g1->free_regions();
// Reset survivors SurvRateGroup.
_survivor_surv_rate_group->reset();
@@ -927,13 +902,22 @@ void G1CollectorPolicy::record_collection_pause_start(double start_time_sec,
if (PrintGCDetails) {
gclog_or_tty->stamp(PrintGCTimeStamps);
gclog_or_tty->print("[GC pause");
- gclog_or_tty->print(" (%s)", full_young_gcs() ? "young" : "partial");
+ gclog_or_tty->print(" (%s)", gcs_are_young() ? "young" : "mixed");
}
- // We only need to do this here as the policy will only be applied
- // to the GC we're about to start. so, no point is calculating this
- // every time we calculate / recalculate the target young length.
- update_survivors_policy();
+ if (!during_initial_mark_pause()) {
+ // We only need to do this here as the policy will only be applied
+ // to the GC we're about to start. so, no point is calculating this
+ // every time we calculate / recalculate the target young length.
+ update_survivors_policy();
+ } else {
+ // The marking phase has a "we only copy implicitly live
+ // objects during marking" invariant. The easiest way to ensure it
+ // holds is not to allocate any survivor regions and tenure all
+ // objects. In the future we might change this and handle survivor
+ // regions specially during marking.
+ tenure_all_objects();
+ }
assert(_g1->used() == _g1->recalculate_used(),
err_msg("sanity, used: "SIZE_FORMAT" recalculate_used: "SIZE_FORMAT,
@@ -964,7 +948,7 @@ void G1CollectorPolicy::record_collection_pause_start(double start_time_sec,
for (int i = 0; i < _parallel_gc_threads; ++i) {
_par_last_gc_worker_start_times_ms[i] = -1234.0;
_par_last_ext_root_scan_times_ms[i] = -1234.0;
- _par_last_mark_stack_scan_times_ms[i] = -1234.0;
+ _par_last_satb_filtering_times_ms[i] = -1234.0;
_par_last_update_rs_times_ms[i] = -1234.0;
_par_last_update_rs_processed_buffers[i] = -1234.0;
_par_last_scan_rs_times_ms[i] = -1234.0;
@@ -982,12 +966,11 @@ void G1CollectorPolicy::record_collection_pause_start(double start_time_sec,
_cur_aux_times_set[i] = false;
}
- // These are initialized to zero here and they are set during
+ // This is initialized to zero here and is set during
// the evacuation pause if marking is in progress.
_cur_satb_drain_time_ms = 0.0;
- _last_satb_drain_processed_buffers = 0;
- _last_young_gc_full = false;
+ _last_gc_was_young = false;
// do that for any other surv rate groups
_short_lived_surv_rate_group->stop_adding_regions();
@@ -996,10 +979,6 @@ void G1CollectorPolicy::record_collection_pause_start(double start_time_sec,
assert( verify_young_ages(), "region age verification" );
}
-void G1CollectorPolicy::record_mark_closure_time(double mark_closure_time_ms) {
- _mark_closure_time_ms = mark_closure_time_ms;
-}
-
void G1CollectorPolicy::record_concurrent_mark_init_end(double
mark_init_elapsed_time_ms) {
_during_marking = true;
@@ -1028,8 +1007,8 @@ void G1CollectorPolicy::record_concurrent_mark_cleanup_start() {
}
void G1CollectorPolicy::record_concurrent_mark_cleanup_completed() {
- _should_revert_to_full_young_gcs = false;
- _last_full_young_gc = true;
+ _should_revert_to_young_gcs = false;
+ _last_young_gc = true;
_in_marking_window = false;
}
@@ -1060,7 +1039,7 @@ void G1CollectorPolicy::print_par_stats(int level,
double total = 0.0;
LineBuffer buf(level);
buf.append("[%s (ms):", str);
- for (uint i = 0; i < ParallelGCThreads; ++i) {
+ for (uint i = 0; i < no_of_gc_threads(); ++i) {
double val = data[i];
if (val < min)
min = val;
@@ -1070,7 +1049,7 @@ void G1CollectorPolicy::print_par_stats(int level,
buf.append(" %3.1lf", val);
}
buf.append_and_print_cr("");
- double avg = total / (double) ParallelGCThreads;
+ double avg = total / (double) no_of_gc_threads();
buf.append_and_print_cr(" Avg: %5.1lf, Min: %5.1lf, Max: %5.1lf, Diff: %5.1lf]",
avg, min, max, max - min);
}
@@ -1082,7 +1061,7 @@ void G1CollectorPolicy::print_par_sizes(int level,
double total = 0.0;
LineBuffer buf(level);
buf.append("[%s :", str);
- for (uint i = 0; i < ParallelGCThreads; ++i) {
+ for (uint i = 0; i < no_of_gc_threads(); ++i) {
double val = data[i];
if (val < min)
min = val;
@@ -1092,7 +1071,7 @@ void G1CollectorPolicy::print_par_sizes(int level,
buf.append(" %d", (int) val);
}
buf.append_and_print_cr("");
- double avg = total / (double) ParallelGCThreads;
+ double avg = total / (double) no_of_gc_threads();
buf.append_and_print_cr(" Sum: %d, Avg: %d, Min: %d, Max: %d, Diff: %d]",
(int)total, (int)avg, (int)min, (int)max, (int)max - (int)min);
}
@@ -1112,10 +1091,10 @@ void G1CollectorPolicy::print_stats(int level,
double G1CollectorPolicy::avg_value(double* data) {
if (G1CollectedHeap::use_parallel_gc_threads()) {
double ret = 0.0;
- for (uint i = 0; i < ParallelGCThreads; ++i) {
+ for (uint i = 0; i < no_of_gc_threads(); ++i) {
ret += data[i];
}
- return ret / (double) ParallelGCThreads;
+ return ret / (double) no_of_gc_threads();
} else {
return data[0];
}
@@ -1124,7 +1103,7 @@ double G1CollectorPolicy::avg_value(double* data) {
double G1CollectorPolicy::max_value(double* data) {
if (G1CollectedHeap::use_parallel_gc_threads()) {
double ret = data[0];
- for (uint i = 1; i < ParallelGCThreads; ++i) {
+ for (uint i = 1; i < no_of_gc_threads(); ++i) {
if (data[i] > ret) {
ret = data[i];
}
@@ -1138,7 +1117,7 @@ double G1CollectorPolicy::max_value(double* data) {
double G1CollectorPolicy::sum_of_values(double* data) {
if (G1CollectedHeap::use_parallel_gc_threads()) {
double sum = 0.0;
- for (uint i = 0; i < ParallelGCThreads; i++) {
+ for (uint i = 0; i < no_of_gc_threads(); i++) {
sum += data[i];
}
return sum;
@@ -1151,7 +1130,7 @@ double G1CollectorPolicy::max_sum(double* data1, double* data2) {
double ret = data1[0] + data2[0];
if (G1CollectedHeap::use_parallel_gc_threads()) {
- for (uint i = 1; i < ParallelGCThreads; ++i) {
+ for (uint i = 1; i < no_of_gc_threads(); ++i) {
double data = data1[i] + data2[i];
if (data > ret) {
ret = data;
@@ -1164,16 +1143,19 @@ double G1CollectorPolicy::max_sum(double* data1, double* data2) {
// Anything below that is considered to be zero
#define MIN_TIMER_GRANULARITY 0.0000001
-void G1CollectorPolicy::record_collection_pause_end() {
+void G1CollectorPolicy::record_collection_pause_end(int no_of_gc_threads) {
double end_time_sec = os::elapsedTime();
double elapsed_ms = _last_pause_time_ms;
bool parallel = G1CollectedHeap::use_parallel_gc_threads();
+ assert(_cur_collection_pause_used_regions_at_start >= cset_region_length(),
+ "otherwise, the subtraction below does not make sense");
size_t rs_size =
- _cur_collection_pause_used_regions_at_start - collection_set_size();
+ _cur_collection_pause_used_regions_at_start - cset_region_length();
size_t cur_used_bytes = _g1->used();
assert(cur_used_bytes == _g1->recalculate_used(), "It should!");
bool last_pause_included_initial_mark = false;
bool update_stats = !_g1->evacuation_failed();
+ set_no_of_gc_threads(no_of_gc_threads);
#ifndef PRODUCT
if (G1YoungSurvRateVerbose) {
@@ -1190,7 +1172,7 @@ void G1CollectorPolicy::record_collection_pause_end() {
size_t marking_initiating_used_threshold =
(_g1->capacity() / 100) * InitiatingHeapOccupancyPercent;
- if (!_g1->mark_in_progress() && !_last_full_young_gc) {
+ if (!_g1->mark_in_progress() && !_last_young_gc) {
assert(!last_pause_included_initial_mark, "invariant");
if (cur_used_bytes > marking_initiating_used_threshold) {
if (cur_used_bytes > _prev_collection_pause_used_at_end_bytes) {
@@ -1226,10 +1208,6 @@ void G1CollectorPolicy::record_collection_pause_end() {
_mmu_tracker->add_pause(end_time_sec - elapsed_ms/1000.0,
end_time_sec, false);
- guarantee(_cur_collection_pause_used_regions_at_start >=
- collection_set_size(),
- "Negative RS size?");
-
// This assert is exempted when we're doing parallel collection pauses,
// because the fragmentation caused by the parallel GC allocation buffers
// can lead to more memory being used during collection than was used
@@ -1253,14 +1231,12 @@ void G1CollectorPolicy::record_collection_pause_end() {
(double)surviving_bytes/
(double)_collection_set_bytes_used_before;
- _n_pauses++;
-
// These values are used to update the summary information that is
// displayed when TraceGen0Time is enabled, and are output as part
// of the PrintGCDetails output, in the non-parallel case.
double ext_root_scan_time = avg_value(_par_last_ext_root_scan_times_ms);
- double mark_stack_scan_time = avg_value(_par_last_mark_stack_scan_times_ms);
+ double satb_filtering_time = avg_value(_par_last_satb_filtering_times_ms);
double update_rs_time = avg_value(_par_last_update_rs_times_ms);
double update_rs_processed_buffers =
sum_of_values(_par_last_update_rs_processed_buffers);
@@ -1269,7 +1245,7 @@ void G1CollectorPolicy::record_collection_pause_end() {
double termination_time = avg_value(_par_last_termination_times_ms);
double known_time = ext_root_scan_time +
- mark_stack_scan_time +
+ satb_filtering_time +
update_rs_time +
scan_rs_time +
obj_copy_time;
@@ -1291,14 +1267,15 @@ void G1CollectorPolicy::record_collection_pause_end() {
// current value of "other time"
other_time_ms -= _cur_clear_ct_time_ms;
+ // Subtract the time spent completing marking in the collection
+ // set. Note if marking is not in progress during the pause
+ // the value of _mark_closure_time_ms will be zero.
+ other_time_ms -= _mark_closure_time_ms;
+
// TraceGen0Time and TraceGen1Time summary info updating.
_all_pause_times_ms->add(elapsed_ms);
if (update_stats) {
- _recent_rs_scan_times_ms->add(scan_rs_time);
- _recent_pause_times_ms->add(elapsed_ms);
- _recent_rs_sizes->add(rs_size);
-
_summary->record_total_time_ms(elapsed_ms);
_summary->record_other_time_ms(other_time_ms);
@@ -1314,7 +1291,7 @@ void G1CollectorPolicy::record_collection_pause_end() {
body_summary->record_satb_drain_time_ms(_cur_satb_drain_time_ms);
body_summary->record_ext_root_scan_time_ms(ext_root_scan_time);
- body_summary->record_mark_stack_scan_time_ms(mark_stack_scan_time);
+ body_summary->record_satb_filtering_time_ms(satb_filtering_time);
body_summary->record_update_rs_time_ms(update_rs_time);
body_summary->record_scan_rs_time_ms(scan_rs_time);
body_summary->record_obj_copy_time_ms(obj_copy_time);
@@ -1342,9 +1319,6 @@ void G1CollectorPolicy::record_collection_pause_end() {
|| surviving_bytes <= _collection_set_bytes_used_before,
"Or else negative collection!");
- _recent_CS_bytes_used_before->add(_collection_set_bytes_used_before);
- _recent_CS_bytes_surviving->add(surviving_bytes);
-
// this is where we update the allocation rate of the application
double app_time_ms =
(_cur_collection_start_sec * 1000.0 - _prev_collection_pause_end_ms);
@@ -1354,13 +1328,17 @@ void G1CollectorPolicy::record_collection_pause_end() {
// We'll just set it to something (arbitrarily) small.
app_time_ms = 1.0;
}
- size_t regions_allocated =
- (_region_num_young - _prev_region_num_young) +
- (_region_num_tenured - _prev_region_num_tenured);
+ // We maintain the invariant that all objects allocated by mutator
+ // threads will be allocated out of eden regions. So, we can use
+ // the eden region number allocated since the previous GC to
+ // calculate the application's allocate rate. The only exception
+ // to that is humongous objects that are allocated separately. But
+ // given that humongous object allocations do not really affect
+ // either the pause's duration nor when the next pause will take
+ // place we can safely ignore them here.
+ size_t regions_allocated = eden_cset_region_length();
double alloc_rate_ms = (double) regions_allocated / app_time_ms;
_alloc_rate_ms_seq->add(alloc_rate_ms);
- _prev_region_num_young = _region_num_young;
- _prev_region_num_tenured = _region_num_tenured;
double interval_ms =
(end_time_sec - _recent_prev_end_times_for_all_gcs_sec->oldest()) * 1000.0;
@@ -1398,33 +1376,6 @@ void G1CollectorPolicy::record_collection_pause_end() {
}
}
-
- if (G1PolicyVerbose > 1) {
- gclog_or_tty->print_cr(" Recording collection pause(%d)", _n_pauses);
- }
-
- if (G1PolicyVerbose > 1) {
- gclog_or_tty->print_cr(" ET: %10.6f ms (avg: %10.6f ms)\n"
- " ET-RS: %10.6f ms (avg: %10.6f ms)\n"
- " |RS|: " SIZE_FORMAT,
- elapsed_ms, recent_avg_time_for_pauses_ms(),
- scan_rs_time, recent_avg_time_for_rs_scan_ms(),
- rs_size);
-
- gclog_or_tty->print_cr(" Used at start: " SIZE_FORMAT"K"
- " At end " SIZE_FORMAT "K\n"
- " garbage : " SIZE_FORMAT "K"
- " of " SIZE_FORMAT "K\n"
- " survival : %6.2f%% (%6.2f%% avg)",
- _cur_collection_pause_used_at_start_bytes/K,
- _g1->used()/K, freed_bytes/K,
- _collection_set_bytes_used_before/K,
- survival_fraction*100.0,
- recent_avg_survival_fraction()*100.0);
- gclog_or_tty->print_cr(" Recent %% gc pause time: %6.2f",
- recent_avg_pause_time_ratio() * 100.0);
- }
-
// PrintGCDetails output
if (PrintGCDetails) {
bool print_marking_info =
@@ -1434,17 +1385,12 @@ void G1CollectorPolicy::record_collection_pause_end() {
(last_pause_included_initial_mark) ? " (initial-mark)" : "",
elapsed_ms / 1000.0);
- if (print_marking_info) {
- print_stats(1, "SATB Drain Time", _cur_satb_drain_time_ms);
- print_stats(2, "Processed Buffers", _last_satb_drain_processed_buffers);
- }
-
if (parallel) {
print_stats(1, "Parallel Time", _cur_collection_par_time_ms);
print_par_stats(2, "GC Worker Start", _par_last_gc_worker_start_times_ms);
print_par_stats(2, "Ext Root Scanning", _par_last_ext_root_scan_times_ms);
if (print_marking_info) {
- print_par_stats(2, "Mark Stack Scanning", _par_last_mark_stack_scan_times_ms);
+ print_par_stats(2, "SATB Filtering", _par_last_satb_filtering_times_ms);
}
print_par_stats(2, "Update RS", _par_last_update_rs_times_ms);
print_par_sizes(3, "Processed Buffers", _par_last_update_rs_processed_buffers);
@@ -1458,7 +1404,7 @@ void G1CollectorPolicy::record_collection_pause_end() {
_par_last_gc_worker_times_ms[i] = _par_last_gc_worker_end_times_ms[i] - _par_last_gc_worker_start_times_ms[i];
double worker_known_time = _par_last_ext_root_scan_times_ms[i] +
- _par_last_mark_stack_scan_times_ms[i] +
+ _par_last_satb_filtering_times_ms[i] +
_par_last_update_rs_times_ms[i] +
_par_last_scan_rs_times_ms[i] +
_par_last_obj_copy_times_ms[i] +
@@ -1471,13 +1417,16 @@ void G1CollectorPolicy::record_collection_pause_end() {
} else {
print_stats(1, "Ext Root Scanning", ext_root_scan_time);
if (print_marking_info) {
- print_stats(1, "Mark Stack Scanning", mark_stack_scan_time);
+ print_stats(1, "SATB Filtering", satb_filtering_time);
}
print_stats(1, "Update RS", update_rs_time);
print_stats(2, "Processed Buffers", (int)update_rs_processed_buffers);
print_stats(1, "Scan RS", scan_rs_time);
print_stats(1, "Object Copying", obj_copy_time);
}
+ if (print_marking_info) {
+ print_stats(1, "Complete CSet Marking", _mark_closure_time_ms);
+ }
print_stats(1, "Clear CT", _cur_clear_ct_time_ms);
#ifndef PRODUCT
print_stats(1, "Cur Clear CC", _cur_clear_cc_time_ms);
@@ -1489,9 +1438,14 @@ void G1CollectorPolicy::record_collection_pause_end() {
}
#endif
print_stats(1, "Other", other_time_ms);
- print_stats(2, "Choose CSet", _recorded_young_cset_choice_time_ms);
+ print_stats(2, "Choose CSet",
+ (_recorded_young_cset_choice_time_ms +
+ _recorded_non_young_cset_choice_time_ms));
print_stats(2, "Ref Proc", _cur_ref_proc_time_ms);
print_stats(2, "Ref Enq", _cur_ref_enq_time_ms);
+ print_stats(2, "Free CSet",
+ (_recorded_young_free_cset_time_ms +
+ _recorded_non_young_free_cset_time_ms));
for (int i = 0; i < _aux_num; ++i) {
if (_cur_aux_times_set[i]) {
@@ -1519,65 +1473,63 @@ void G1CollectorPolicy::record_collection_pause_end() {
new_in_marking_window_im = true;
}
- if (_last_full_young_gc) {
+ if (_last_young_gc) {
if (!last_pause_included_initial_mark) {
- ergo_verbose2(ErgoPartiallyYoungGCs,
- "start partially-young GCs",
+ ergo_verbose2(ErgoMixedGCs,
+ "start mixed GCs",
ergo_format_byte_perc("known garbage"),
_known_garbage_bytes, _known_garbage_ratio * 100.0);
- set_full_young_gcs(false);
+ set_gcs_are_young(false);
} else {
- ergo_verbose0(ErgoPartiallyYoungGCs,
- "do not start partially-young GCs",
+ ergo_verbose0(ErgoMixedGCs,
+ "do not start mixed GCs",
ergo_format_reason("concurrent cycle is about to start"));
}
- _last_full_young_gc = false;
+ _last_young_gc = false;
}
- if ( !_last_young_gc_full ) {
- if (_should_revert_to_full_young_gcs) {
- ergo_verbose2(ErgoPartiallyYoungGCs,
- "end partially-young GCs",
- ergo_format_reason("partially-young GCs end requested")
+ if (!_last_gc_was_young) {
+ if (_should_revert_to_young_gcs) {
+ ergo_verbose2(ErgoMixedGCs,
+ "end mixed GCs",
+ ergo_format_reason("mixed GCs end requested")
ergo_format_byte_perc("known garbage"),
_known_garbage_bytes, _known_garbage_ratio * 100.0);
- set_full_young_gcs(true);
+ set_gcs_are_young(true);
} else if (_known_garbage_ratio < 0.05) {
- ergo_verbose3(ErgoPartiallyYoungGCs,
- "end partially-young GCs",
+ ergo_verbose3(ErgoMixedGCs,
+ "end mixed GCs",
ergo_format_reason("known garbage percent lower than threshold")
ergo_format_byte_perc("known garbage")
ergo_format_perc("threshold"),
_known_garbage_bytes, _known_garbage_ratio * 100.0,
0.05 * 100.0);
- set_full_young_gcs(true);
+ set_gcs_are_young(true);
} else if (adaptive_young_list_length() &&
(get_gc_eff_factor() * cur_efficiency < predict_young_gc_eff())) {
- ergo_verbose5(ErgoPartiallyYoungGCs,
- "end partially-young GCs",
+ ergo_verbose5(ErgoMixedGCs,
+ "end mixed GCs",
ergo_format_reason("current GC efficiency lower than "
- "predicted fully-young GC efficiency")
+ "predicted young GC efficiency")
ergo_format_double("GC efficiency factor")
ergo_format_double("current GC efficiency")
- ergo_format_double("predicted fully-young GC efficiency")
+ ergo_format_double("predicted young GC efficiency")
ergo_format_byte_perc("known garbage"),
get_gc_eff_factor(), cur_efficiency,
predict_young_gc_eff(),
_known_garbage_bytes, _known_garbage_ratio * 100.0);
- set_full_young_gcs(true);
+ set_gcs_are_young(true);
}
}
- _should_revert_to_full_young_gcs = false;
+ _should_revert_to_young_gcs = false;
- if (_last_young_gc_full && !_during_marking) {
+ if (_last_gc_was_young && !_during_marking) {
_young_gc_eff_seq->add(cur_efficiency);
}
_short_lived_surv_rate_group->start_adding_regions();
// do that for any other surv rate groupsx
- // <NEW PREDICTION>
-
if (update_stats) {
double pause_time_ms = elapsed_ms;
@@ -1597,33 +1549,51 @@ void G1CollectorPolicy::record_collection_pause_end() {
double cost_per_entry_ms = 0.0;
if (cards_scanned > 10) {
cost_per_entry_ms = scan_rs_time / (double) cards_scanned;
- if (_last_young_gc_full)
+ if (_last_gc_was_young) {
_cost_per_entry_ms_seq->add(cost_per_entry_ms);
- else
- _partially_young_cost_per_entry_ms_seq->add(cost_per_entry_ms);
+ } else {
+ _mixed_cost_per_entry_ms_seq->add(cost_per_entry_ms);
+ }
}
if (_max_rs_lengths > 0) {
double cards_per_entry_ratio =
(double) cards_scanned / (double) _max_rs_lengths;
- if (_last_young_gc_full)
- _fully_young_cards_per_entry_ratio_seq->add(cards_per_entry_ratio);
- else
- _partially_young_cards_per_entry_ratio_seq->add(cards_per_entry_ratio);
+ if (_last_gc_was_young) {
+ _young_cards_per_entry_ratio_seq->add(cards_per_entry_ratio);
+ } else {
+ _mixed_cards_per_entry_ratio_seq->add(cards_per_entry_ratio);
+ }
}
- size_t rs_length_diff = _max_rs_lengths - _recorded_rs_lengths;
- if (rs_length_diff >= 0)
- _rs_length_diff_seq->add((double) rs_length_diff);
+ // This is defensive. For a while _max_rs_lengths could get
+ // smaller than _recorded_rs_lengths which was causing
+ // rs_length_diff to get very large and mess up the RSet length
+ // predictions. The reason was unsafe concurrent updates to the
+ // _inc_cset_recorded_rs_lengths field which the code below guards
+ // against (see CR 7118202). This bug has now been fixed (see CR
+ // 7119027). However, I'm still worried that
+ // _inc_cset_recorded_rs_lengths might still end up somewhat
+ // inaccurate. The concurrent refinement thread calculates an
+ // RSet's length concurrently with other CR threads updating it
+ // which might cause it to calculate the length incorrectly (if,
+ // say, it's in mid-coarsening). So I'll leave in the defensive
+ // conditional below just in case.
+ size_t rs_length_diff = 0;
+ if (_max_rs_lengths > _recorded_rs_lengths) {
+ rs_length_diff = _max_rs_lengths - _recorded_rs_lengths;
+ }
+ _rs_length_diff_seq->add((double) rs_length_diff);
size_t copied_bytes = surviving_bytes;
double cost_per_byte_ms = 0.0;
if (copied_bytes > 0) {
cost_per_byte_ms = obj_copy_time / (double) copied_bytes;
- if (_in_marking_window)
+ if (_in_marking_window) {
_cost_per_byte_ms_during_cm_seq->add(cost_per_byte_ms);
- else
+ } else {
_cost_per_byte_ms_seq->add(cost_per_byte_ms);
+ }
}
double all_other_time_ms = pause_time_ms -
@@ -1631,21 +1601,21 @@ void G1CollectorPolicy::record_collection_pause_end() {
_mark_closure_time_ms + termination_time);
double young_other_time_ms = 0.0;
- if (_recorded_young_regions > 0) {
+ if (young_cset_region_length() > 0) {
young_other_time_ms =
_recorded_young_cset_choice_time_ms +
_recorded_young_free_cset_time_ms;
_young_other_cost_per_region_ms_seq->add(young_other_time_ms /
- (double) _recorded_young_regions);
+ (double) young_cset_region_length());
}
double non_young_other_time_ms = 0.0;
- if (_recorded_non_young_regions > 0) {
+ if (old_cset_region_length() > 0) {
non_young_other_time_ms =
_recorded_non_young_cset_choice_time_ms +
_recorded_non_young_free_cset_time_ms;
_non_young_other_cost_per_region_ms_seq->add(non_young_other_time_ms /
- (double) _recorded_non_young_regions);
+ (double) old_cset_region_length());
}
double constant_other_time_ms = all_other_time_ms -
@@ -1659,7 +1629,6 @@ void G1CollectorPolicy::record_collection_pause_end() {
}
_pending_cards_seq->add((double) _pending_cards);
- _scanned_cards_seq->add((double) cards_scanned);
_rs_lengths_seq->add((double) _max_rs_lengths);
double expensive_region_limit_ms =
@@ -1670,49 +1639,6 @@ void G1CollectorPolicy::record_collection_pause_end() {
expensive_region_limit_ms = (double) MaxGCPauseMillis;
}
_expensive_region_limit_ms = expensive_region_limit_ms;
-
- if (PREDICTIONS_VERBOSE) {
- gclog_or_tty->print_cr("");
- gclog_or_tty->print_cr("PREDICTIONS %1.4lf %d "
- "REGIONS %d %d %d "
- "PENDING_CARDS %d %d "
- "CARDS_SCANNED %d %d "
- "RS_LENGTHS %d %d "
- "RS_UPDATE %1.6lf %1.6lf RS_SCAN %1.6lf %1.6lf "
- "SURVIVAL_RATIO %1.6lf %1.6lf "
- "OBJECT_COPY %1.6lf %1.6lf OTHER_CONSTANT %1.6lf %1.6lf "
- "OTHER_YOUNG %1.6lf %1.6lf "
- "OTHER_NON_YOUNG %1.6lf %1.6lf "
- "VTIME_DIFF %1.6lf TERMINATION %1.6lf "
- "ELAPSED %1.6lf %1.6lf ",
- _cur_collection_start_sec,
- (!_last_young_gc_full) ? 2 :
- (last_pause_included_initial_mark) ? 1 : 0,
- _recorded_region_num,
- _recorded_young_regions,
- _recorded_non_young_regions,
- _predicted_pending_cards, _pending_cards,
- _predicted_cards_scanned, cards_scanned,
- _predicted_rs_lengths, _max_rs_lengths,
- _predicted_rs_update_time_ms, update_rs_time,
- _predicted_rs_scan_time_ms, scan_rs_time,
- _predicted_survival_ratio, survival_ratio,
- _predicted_object_copy_time_ms, obj_copy_time,
- _predicted_constant_other_time_ms, constant_other_time_ms,
- _predicted_young_other_time_ms, young_other_time_ms,
- _predicted_non_young_other_time_ms,
- non_young_other_time_ms,
- _vtime_diff_ms, termination_time,
- _predicted_pause_time_ms, elapsed_ms);
- }
-
- if (G1PolicyVerbose > 0) {
- gclog_or_tty->print_cr("Pause Time, predicted: %1.4lfms (predicted %s), actual: %1.4lfms",
- _predicted_pause_time_ms,
- (_within_target) ? "within" : "outside",
- elapsed_ms);
- }
-
}
_in_marking_window = new_in_marking_window;
@@ -1723,7 +1649,6 @@ void G1CollectorPolicy::record_collection_pause_end() {
// Note that _mmu_tracker->max_gc_time() returns the time in seconds.
double update_rs_time_goal_ms = _mmu_tracker->max_gc_time() * MILLIUNITS * G1RSetUpdatingPauseTimePercent / 100.0;
adjust_concurrent_refinement(update_rs_time, update_rs_processed_buffers, update_rs_time_goal_ms);
- // </NEW PREDICTION>
assert(assertMarkedBytesDataOK(), "Marked regions not OK at pause end.");
}
@@ -1768,8 +1693,6 @@ void G1CollectorPolicy::print_heap_transition() {
}
}
-// <NEW PREDICTION>
-
void G1CollectorPolicy::adjust_concurrent_refinement(double update_rs_time,
double update_rs_processed_buffers,
double goal_ms) {
@@ -1826,10 +1749,11 @@ predict_young_collection_elapsed_time_ms(size_t adjustment) {
size_t rs_lengths = g1h->young_list()->sampled_rs_lengths() +
predict_rs_length_diff();
size_t card_num;
- if (full_young_gcs())
+ if (gcs_are_young()) {
card_num = predict_young_card_num(rs_lengths);
- else
+ } else {
card_num = predict_non_young_card_num(rs_lengths);
+ }
size_t young_byte_size = young_num * HeapRegion::GrainBytes;
double accum_yg_surv_rate =
_short_lived_surv_rate_group->accum_surv_rate(adjustment);
@@ -1849,10 +1773,11 @@ double
G1CollectorPolicy::predict_base_elapsed_time_ms(size_t pending_cards) {
size_t rs_length = predict_rs_length_diff();
size_t card_num;
- if (full_young_gcs())
+ if (gcs_are_young()) {
card_num = predict_young_card_num(rs_length);
- else
+ } else {
card_num = predict_non_young_card_num(rs_length);
+ }
return predict_base_elapsed_time_ms(pending_cards, card_num);
}
@@ -1870,10 +1795,11 @@ G1CollectorPolicy::predict_region_elapsed_time_ms(HeapRegion* hr,
bool young) {
size_t rs_length = hr->rem_set()->occupied();
size_t card_num;
- if (full_young_gcs())
+ if (gcs_are_young()) {
card_num = predict_young_card_num(rs_length);
- else
+ } else {
card_num = predict_non_young_card_num(rs_length);
+ }
size_t bytes_to_copy = predict_bytes_to_copy(hr);
double region_elapsed_time_ms =
@@ -1905,117 +1831,33 @@ G1CollectorPolicy::predict_bytes_to_copy(HeapRegion* hr) {
}
void
-G1CollectorPolicy::start_recording_regions() {
- _recorded_rs_lengths = 0;
- _recorded_young_regions = 0;
- _recorded_non_young_regions = 0;
-
-#if PREDICTIONS_VERBOSE
- _recorded_marked_bytes = 0;
- _recorded_young_bytes = 0;
- _predicted_bytes_to_copy = 0;
- _predicted_rs_lengths = 0;
- _predicted_cards_scanned = 0;
-#endif // PREDICTIONS_VERBOSE
-}
-
-void
-G1CollectorPolicy::record_cset_region_info(HeapRegion* hr, bool young) {
-#if PREDICTIONS_VERBOSE
- if (!young) {
- _recorded_marked_bytes += hr->max_live_bytes();
- }
- _predicted_bytes_to_copy += predict_bytes_to_copy(hr);
-#endif // PREDICTIONS_VERBOSE
-
- size_t rs_length = hr->rem_set()->occupied();
- _recorded_rs_lengths += rs_length;
-}
-
-void
-G1CollectorPolicy::record_non_young_cset_region(HeapRegion* hr) {
- assert(!hr->is_young(), "should not call this");
- ++_recorded_non_young_regions;
- record_cset_region_info(hr, false);
-}
-
-void
-G1CollectorPolicy::set_recorded_young_regions(size_t n_regions) {
- _recorded_young_regions = n_regions;
-}
-
-void G1CollectorPolicy::set_recorded_young_bytes(size_t bytes) {
-#if PREDICTIONS_VERBOSE
- _recorded_young_bytes = bytes;
-#endif // PREDICTIONS_VERBOSE
+G1CollectorPolicy::init_cset_region_lengths(size_t eden_cset_region_length,
+ size_t survivor_cset_region_length) {
+ _eden_cset_region_length = eden_cset_region_length;
+ _survivor_cset_region_length = survivor_cset_region_length;
+ _old_cset_region_length = 0;
}
void G1CollectorPolicy::set_recorded_rs_lengths(size_t rs_lengths) {
_recorded_rs_lengths = rs_lengths;
}
-void G1CollectorPolicy::set_predicted_bytes_to_copy(size_t bytes) {
- _predicted_bytes_to_copy = bytes;
-}
-
-void
-G1CollectorPolicy::end_recording_regions() {
- // The _predicted_pause_time_ms field is referenced in code
- // not under PREDICTIONS_VERBOSE. Let's initialize it.
- _predicted_pause_time_ms = -1.0;
-
-#if PREDICTIONS_VERBOSE
- _predicted_pending_cards = predict_pending_cards();
- _predicted_rs_lengths = _recorded_rs_lengths + predict_rs_length_diff();
- if (full_young_gcs())
- _predicted_cards_scanned += predict_young_card_num(_predicted_rs_lengths);
- else
- _predicted_cards_scanned +=
- predict_non_young_card_num(_predicted_rs_lengths);
- _recorded_region_num = _recorded_young_regions + _recorded_non_young_regions;
-
- _predicted_rs_update_time_ms =
- predict_rs_update_time_ms(_g1->pending_card_num());
- _predicted_rs_scan_time_ms =
- predict_rs_scan_time_ms(_predicted_cards_scanned);
- _predicted_object_copy_time_ms =
- predict_object_copy_time_ms(_predicted_bytes_to_copy);
- _predicted_constant_other_time_ms =
- predict_constant_other_time_ms();
- _predicted_young_other_time_ms =
- predict_young_other_time_ms(_recorded_young_regions);
- _predicted_non_young_other_time_ms =
- predict_non_young_other_time_ms(_recorded_non_young_regions);
-
- _predicted_pause_time_ms =
- _predicted_rs_update_time_ms +
- _predicted_rs_scan_time_ms +
- _predicted_object_copy_time_ms +
- _predicted_constant_other_time_ms +
- _predicted_young_other_time_ms +
- _predicted_non_young_other_time_ms;
-#endif // PREDICTIONS_VERBOSE
-}
-
void G1CollectorPolicy::check_if_region_is_too_expensive(double
predicted_time_ms) {
// I don't think we need to do this when in young GC mode since
// marking will be initiated next time we hit the soft limit anyway...
if (predicted_time_ms > _expensive_region_limit_ms) {
- ergo_verbose2(ErgoPartiallyYoungGCs,
- "request partially-young GCs end",
+ ergo_verbose2(ErgoMixedGCs,
+ "request mixed GCs end",
ergo_format_reason("predicted region time higher than threshold")
ergo_format_ms("predicted region time")
ergo_format_ms("threshold"),
predicted_time_ms, _expensive_region_limit_ms);
- // no point in doing another partial one
- _should_revert_to_full_young_gcs = true;
+ // no point in doing another mixed GC
+ _should_revert_to_young_gcs = true;
}
}
-// </NEW PREDICTION>
-
-
void G1CollectorPolicy::update_recent_gc_times(double end_time_sec,
double elapsed_ms) {
_recent_gc_times_ms->add(elapsed_ms);
@@ -2023,99 +1865,6 @@ void G1CollectorPolicy::update_recent_gc_times(double end_time_sec,
_prev_collection_pause_end_ms = end_time_sec * 1000.0;
}
-double G1CollectorPolicy::recent_avg_time_for_pauses_ms() {
- if (_recent_pause_times_ms->num() == 0) {
- return (double) MaxGCPauseMillis;
- }
- return _recent_pause_times_ms->avg();
-}
-
-double G1CollectorPolicy::recent_avg_time_for_rs_scan_ms() {
- if (_recent_rs_scan_times_ms->num() == 0) {
- return (double)MaxGCPauseMillis/3.0;
- }
- return _recent_rs_scan_times_ms->avg();
-}
-
-int G1CollectorPolicy::number_of_recent_gcs() {
- assert(_recent_rs_scan_times_ms->num() ==
- _recent_pause_times_ms->num(), "Sequence out of sync");
- assert(_recent_pause_times_ms->num() ==
- _recent_CS_bytes_used_before->num(), "Sequence out of sync");
- assert(_recent_CS_bytes_used_before->num() ==
- _recent_CS_bytes_surviving->num(), "Sequence out of sync");
-
- return _recent_pause_times_ms->num();
-}
-
-double G1CollectorPolicy::recent_avg_survival_fraction() {
- return recent_avg_survival_fraction_work(_recent_CS_bytes_surviving,
- _recent_CS_bytes_used_before);
-}
-
-double G1CollectorPolicy::last_survival_fraction() {
- return last_survival_fraction_work(_recent_CS_bytes_surviving,
- _recent_CS_bytes_used_before);
-}
-
-double
-G1CollectorPolicy::recent_avg_survival_fraction_work(TruncatedSeq* surviving,
- TruncatedSeq* before) {
- assert(surviving->num() == before->num(), "Sequence out of sync");
- if (before->sum() > 0.0) {
- double recent_survival_rate = surviving->sum() / before->sum();
- // We exempt parallel collection from this check because Alloc Buffer
- // fragmentation can produce negative collections.
- // Further, we're now always doing parallel collection. But I'm still
- // leaving this here as a placeholder for a more precise assertion later.
- // (DLD, 10/05.)
- assert((true || G1CollectedHeap::use_parallel_gc_threads()) ||
- _g1->evacuation_failed() ||
- recent_survival_rate <= 1.0, "Or bad frac");
- return recent_survival_rate;
- } else {
- return 1.0; // Be conservative.
- }
-}
-
-double
-G1CollectorPolicy::last_survival_fraction_work(TruncatedSeq* surviving,
- TruncatedSeq* before) {
- assert(surviving->num() == before->num(), "Sequence out of sync");
- if (surviving->num() > 0 && before->last() > 0.0) {
- double last_survival_rate = surviving->last() / before->last();
- // We exempt parallel collection from this check because Alloc Buffer
- // fragmentation can produce negative collections.
- // Further, we're now always doing parallel collection. But I'm still
- // leaving this here as a placeholder for a more precise assertion later.
- // (DLD, 10/05.)
- assert((true || G1CollectedHeap::use_parallel_gc_threads()) ||
- last_survival_rate <= 1.0, "Or bad frac");
- return last_survival_rate;
- } else {
- return 1.0;
- }
-}
-
-static const int survival_min_obs = 5;
-static double survival_min_obs_limits[] = { 0.9, 0.7, 0.5, 0.3, 0.1 };
-static const double min_survival_rate = 0.1;
-
-double
-G1CollectorPolicy::conservative_avg_survival_fraction_work(double avg,
- double latest) {
- double res = avg;
- if (number_of_recent_gcs() < survival_min_obs) {
- res = MAX2(res, survival_min_obs_limits[number_of_recent_gcs()]);
- }
- res = MAX2(res, latest);
- res = MAX2(res, min_survival_rate);
- // In the parallel case, LAB fragmentation can produce "negative
- // collections"; so can evac failure. Cap at 1.0
- res = MIN2(res, 1.0);
- return res;
-}
-
size_t G1CollectorPolicy::expansion_amount() {
double recent_gc_overhead = recent_avg_pause_time_ratio() * 100.0;
double threshold = _gc_overhead_perc;
@@ -2239,11 +1988,10 @@ void G1CollectorPolicy::print_summary(PauseSummary* summary) const {
if (summary->get_total_seq()->num() > 0) {
print_summary_sd(0, "Evacuation Pauses", summary->get_total_seq());
if (body_summary != NULL) {
- print_summary(1, "SATB Drain", body_summary->get_satb_drain_seq());
if (parallel) {
print_summary(1, "Parallel Time", body_summary->get_parallel_seq());
print_summary(2, "Ext Root Scanning", body_summary->get_ext_root_scan_seq());
- print_summary(2, "Mark Stack Scanning", body_summary->get_mark_stack_scan_seq());
+ print_summary(2, "SATB Filtering", body_summary->get_satb_filtering_seq());
print_summary(2, "Update RS", body_summary->get_update_rs_seq());
print_summary(2, "Scan RS", body_summary->get_scan_rs_seq());
print_summary(2, "Object Copy", body_summary->get_obj_copy_seq());
@@ -2252,7 +2000,7 @@ void G1CollectorPolicy::print_summary(PauseSummary* summary) const {
{
NumberSeq* other_parts[] = {
body_summary->get_ext_root_scan_seq(),
- body_summary->get_mark_stack_scan_seq(),
+ body_summary->get_satb_filtering_seq(),
body_summary->get_update_rs_seq(),
body_summary->get_scan_rs_seq(),
body_summary->get_obj_copy_seq(),
@@ -2265,7 +2013,7 @@ void G1CollectorPolicy::print_summary(PauseSummary* summary) const {
}
} else {
print_summary(1, "Ext Root Scanning", body_summary->get_ext_root_scan_seq());
- print_summary(1, "Mark Stack Scanning", body_summary->get_mark_stack_scan_seq());
+ print_summary(1, "SATB Filtering", body_summary->get_satb_filtering_seq());
print_summary(1, "Update RS", body_summary->get_update_rs_seq());
print_summary(1, "Scan RS", body_summary->get_scan_rs_seq());
print_summary(1, "Object Copy", body_summary->get_obj_copy_seq());
@@ -2292,7 +2040,7 @@ void G1CollectorPolicy::print_summary(PauseSummary* summary) const {
body_summary->get_satb_drain_seq(),
body_summary->get_update_rs_seq(),
body_summary->get_ext_root_scan_seq(),
- body_summary->get_mark_stack_scan_seq(),
+ body_summary->get_satb_filtering_seq(),
body_summary->get_scan_rs_seq(),
body_summary->get_obj_copy_seq()
};
@@ -2314,8 +2062,8 @@ void G1CollectorPolicy::print_tracing_info() const {
print_summary_sd(0, "Total", _all_pause_times_ms);
gclog_or_tty->print_cr("");
gclog_or_tty->print_cr("");
- gclog_or_tty->print_cr(" Full Young GC Pauses: %8d", _full_young_pause_num);
- gclog_or_tty->print_cr(" Partial Young GC Pauses: %8d", _partial_young_pause_num);
+ gclog_or_tty->print_cr(" Young GC Pauses: %8d", _young_pause_num);
+ gclog_or_tty->print_cr(" Mixed GC Pauses: %8d", _mixed_pause_num);
gclog_or_tty->print_cr("");
gclog_or_tty->print_cr("EVACUATION PAUSES");
@@ -2331,15 +2079,6 @@ void G1CollectorPolicy::print_tracing_info() const {
print_summary_sd(0, buffer, &_all_aux_times_ms[i]);
}
}
-
- size_t all_region_num = _region_num_young + _region_num_tenured;
- gclog_or_tty->print_cr(" New Regions %8d, Young %8d (%6.2lf%%), "
- "Tenured %8d (%6.2lf%%)",
- all_region_num,
- _region_num_young,
- (double) _region_num_young / (double) all_region_num * 100.0,
- _region_num_tenured,
- (double) _region_num_tenured / (double) all_region_num * 100.0);
}
if (TraceGen1Time) {
if (_all_full_gc_times_ms->num() > 0) {
@@ -2361,14 +2100,6 @@ void G1CollectorPolicy::print_yg_surv_rate_info() const {
#endif // PRODUCT
}
-void G1CollectorPolicy::update_region_num(bool young) {
- if (young) {
- ++_region_num_young;
- } else {
- ++_region_num_tenured;
- }
-}
-
#ifndef PRODUCT
// for debugging, bit of a hack...
static char*
@@ -2486,11 +2217,11 @@ G1CollectorPolicy::decide_on_conc_mark_initiation() {
// initiate a new cycle.
set_during_initial_mark_pause();
- // We do not allow non-full young GCs during marking.
- if (!full_young_gcs()) {
- set_full_young_gcs(true);
- ergo_verbose0(ErgoPartiallyYoungGCs,
- "end partially-young GCs",
+ // We do not allow mixed GCs during marking.
+ if (!gcs_are_young()) {
+ set_gcs_are_young(true);
+ ergo_verbose0(ErgoMixedGCs,
+ "end mixed GCs",
ergo_format_reason("concurrent cycle is about to start"));
}
@@ -2613,22 +2344,25 @@ public:
_g1(G1CollectedHeap::heap())
{}
- void work(int i) {
- ParKnownGarbageHRClosure parKnownGarbageCl(_hrSorted, _chunk_size, i);
+ void work(uint worker_id) {
+ ParKnownGarbageHRClosure parKnownGarbageCl(_hrSorted,
+ _chunk_size,
+ worker_id);
// Back to zero for the claim value.
- _g1->heap_region_par_iterate_chunked(&parKnownGarbageCl, i,
+ _g1->heap_region_par_iterate_chunked(&parKnownGarbageCl, worker_id,
+ _g1->workers()->active_workers(),
HeapRegion::InitialClaimValue);
jint regions_added = parKnownGarbageCl.marked_regions_added();
_hrSorted->incNumMarkedHeapRegions(regions_added);
if (G1PrintParCleanupStats) {
gclog_or_tty->print_cr(" Thread %d called %d times, added %d regions to list.",
- i, parKnownGarbageCl.invokes(), regions_added);
+ worker_id, parKnownGarbageCl.invokes(), regions_added);
}
}
};
void
-G1CollectorPolicy::record_concurrent_mark_cleanup_end() {
+G1CollectorPolicy::record_concurrent_mark_cleanup_end(int no_of_gc_threads) {
double start_sec;
if (G1PrintParCleanupStats) {
start_sec = os::elapsedTime();
@@ -2644,10 +2378,27 @@ G1CollectorPolicy::record_concurrent_mark_cleanup_end() {
if (G1CollectedHeap::use_parallel_gc_threads()) {
const size_t OverpartitionFactor = 4;
- const size_t MinWorkUnit = 8;
- const size_t WorkUnit =
- MAX2(_g1->n_regions() / (ParallelGCThreads * OverpartitionFactor),
- MinWorkUnit);
+ size_t WorkUnit;
+ // The use of MinChunkSize = 8 in the original code
+ // causes some assertion failures when the total number of
+ // region is less than 8. The code here tries to fix that.
+ // Should the original code also be fixed?
+ if (no_of_gc_threads > 0) {
+ const size_t MinWorkUnit =
+ MAX2(_g1->n_regions() / no_of_gc_threads, (size_t) 1U);
+ WorkUnit =
+ MAX2(_g1->n_regions() / (no_of_gc_threads * OverpartitionFactor),
+ MinWorkUnit);
+ } else {
+ assert(no_of_gc_threads > 0,
+ "The active gc workers should be greater than 0");
+ // In a product build do something reasonable to avoid a crash.
+ const size_t MinWorkUnit =
+ MAX2(_g1->n_regions() / ParallelGCThreads, (size_t) 1U);
+ WorkUnit =
+ MAX2(_g1->n_regions() / (ParallelGCThreads * OverpartitionFactor),
+ MinWorkUnit);
+ }
_collectionSetChooser->prepareForAddMarkedHeapRegionsPar(_g1->n_regions(),
WorkUnit);
ParKnownGarbageTask parKnownGarbageTask(_collectionSetChooser,
@@ -2682,21 +2433,19 @@ G1CollectorPolicy::record_concurrent_mark_cleanup_end() {
}
// Add the heap region at the head of the non-incremental collection set
-void G1CollectorPolicy::
-add_to_collection_set(HeapRegion* hr) {
+void G1CollectorPolicy::add_old_region_to_cset(HeapRegion* hr) {
assert(_inc_cset_build_state == Active, "Precondition");
assert(!hr->is_young(), "non-incremental add of young region");
- if (_g1->mark_in_progress())
- _g1->concurrent_mark()->registerCSetRegion(hr);
-
assert(!hr->in_collection_set(), "should not already be in the CSet");
hr->set_in_collection_set(true);
hr->set_next_in_collection_set(_collection_set);
_collection_set = hr;
- _collection_set_size++;
_collection_set_bytes_used_before += hr->used();
_g1->register_region_with_in_cset_fast_test(hr);
+ size_t rs_length = hr->rem_set()->occupied();
+ _recorded_rs_lengths += rs_length;
+ _old_cset_region_length += 1;
}
// Initialize the per-collection-set information
@@ -2705,19 +2454,49 @@ void G1CollectorPolicy::start_incremental_cset_building() {
_inc_cset_head = NULL;
_inc_cset_tail = NULL;
- _inc_cset_size = 0;
_inc_cset_bytes_used_before = 0;
- _inc_cset_young_index = 0;
-
_inc_cset_max_finger = 0;
- _inc_cset_recorded_young_bytes = 0;
_inc_cset_recorded_rs_lengths = 0;
- _inc_cset_predicted_elapsed_time_ms = 0;
- _inc_cset_predicted_bytes_to_copy = 0;
+ _inc_cset_recorded_rs_lengths_diffs = 0;
+ _inc_cset_predicted_elapsed_time_ms = 0.0;
+ _inc_cset_predicted_elapsed_time_ms_diffs = 0.0;
_inc_cset_build_state = Active;
}
+void G1CollectorPolicy::finalize_incremental_cset_building() {
+ assert(_inc_cset_build_state == Active, "Precondition");
+ assert(SafepointSynchronize::is_at_safepoint(), "should be at a safepoint");
+
+ // The two "main" fields, _inc_cset_recorded_rs_lengths and
+ // _inc_cset_predicted_elapsed_time_ms, are updated by the thread
+ // that adds a new region to the CSet. Further updates by the
+ // concurrent refinement thread that samples the young RSet lengths
+ // are accumulated in the *_diffs fields. Here we add the diffs to
+ // the "main" fields.
+
+ if (_inc_cset_recorded_rs_lengths_diffs >= 0) {
+ _inc_cset_recorded_rs_lengths += _inc_cset_recorded_rs_lengths_diffs;
+ } else {
+ // This is defensive. The diff should in theory be always positive
+ // as RSets can only grow between GCs. However, given that we
+ // sample their size concurrently with other threads updating them
+ // it's possible that we might get the wrong size back, which
+ // could make the calculations somewhat inaccurate.
+ size_t diffs = (size_t) (-_inc_cset_recorded_rs_lengths_diffs);
+ if (_inc_cset_recorded_rs_lengths >= diffs) {
+ _inc_cset_recorded_rs_lengths -= diffs;
+ } else {
+ _inc_cset_recorded_rs_lengths = 0;
+ }
+ }
+ _inc_cset_predicted_elapsed_time_ms +=
+ _inc_cset_predicted_elapsed_time_ms_diffs;
+
+ _inc_cset_recorded_rs_lengths_diffs = 0;
+ _inc_cset_predicted_elapsed_time_ms_diffs = 0.0;
+}
+
void G1CollectorPolicy::add_to_incremental_cset_info(HeapRegion* hr, size_t rs_length) {
// This routine is used when:
// * adding survivor regions to the incremental cset at the end of an
@@ -2733,10 +2512,8 @@ void G1CollectorPolicy::add_to_incremental_cset_info(HeapRegion* hr, size_t rs_l
double region_elapsed_time_ms = predict_region_elapsed_time_ms(hr, true);
size_t used_bytes = hr->used();
-
_inc_cset_recorded_rs_lengths += rs_length;
_inc_cset_predicted_elapsed_time_ms += region_elapsed_time_ms;
-
_inc_cset_bytes_used_before += used_bytes;
// Cache the values we have added to the aggregated informtion
@@ -2745,69 +2522,40 @@ void G1CollectorPolicy::add_to_incremental_cset_info(HeapRegion* hr, size_t rs_l
// rset sampling code
hr->set_recorded_rs_length(rs_length);
hr->set_predicted_elapsed_time_ms(region_elapsed_time_ms);
-
-#if PREDICTIONS_VERBOSE
- size_t bytes_to_copy = predict_bytes_to_copy(hr);
- _inc_cset_predicted_bytes_to_copy += bytes_to_copy;
-
- // Record the number of bytes used in this region
- _inc_cset_recorded_young_bytes += used_bytes;
-
- // Cache the values we have added to the aggregated informtion
- // in the heap region in case we have to remove this region from
- // the incremental collection set, or it is updated by the
- // rset sampling code
- hr->set_predicted_bytes_to_copy(bytes_to_copy);
-#endif // PREDICTIONS_VERBOSE
}
-void G1CollectorPolicy::remove_from_incremental_cset_info(HeapRegion* hr) {
- // This routine is currently only called as part of the updating of
- // existing policy information for regions in the incremental cset that
- // is performed by the concurrent refine thread(s) as part of young list
- // RSet sampling. Therefore we should not be at a safepoint.
-
- assert(!SafepointSynchronize::is_at_safepoint(), "should not be at safepoint");
- assert(hr->is_young(), "it should be");
+void G1CollectorPolicy::update_incremental_cset_info(HeapRegion* hr,
+ size_t new_rs_length) {
+ // Update the CSet information that is dependent on the new RS length
+ assert(hr->is_young(), "Precondition");
+ assert(!SafepointSynchronize::is_at_safepoint(),
+ "should not be at a safepoint");
+
+ // We could have updated _inc_cset_recorded_rs_lengths and
+ // _inc_cset_predicted_elapsed_time_ms directly but we'd need to do
+ // that atomically, as this code is executed by a concurrent
+ // refinement thread, potentially concurrently with a mutator thread
+ // allocating a new region and also updating the same fields. To
+ // avoid the atomic operations we accumulate these updates on two
+ // separate fields (*_diffs) and we'll just add them to the "main"
+ // fields at the start of a GC.
+
+ ssize_t old_rs_length = (ssize_t) hr->recorded_rs_length();
+ ssize_t rs_lengths_diff = (ssize_t) new_rs_length - old_rs_length;
+ _inc_cset_recorded_rs_lengths_diffs += rs_lengths_diff;
- size_t used_bytes = hr->used();
- size_t old_rs_length = hr->recorded_rs_length();
double old_elapsed_time_ms = hr->predicted_elapsed_time_ms();
+ double new_region_elapsed_time_ms = predict_region_elapsed_time_ms(hr, true);
+ double elapsed_ms_diff = new_region_elapsed_time_ms - old_elapsed_time_ms;
+ _inc_cset_predicted_elapsed_time_ms_diffs += elapsed_ms_diff;
- // Subtract the old recorded/predicted policy information for
- // the given heap region from the collection set info.
- _inc_cset_recorded_rs_lengths -= old_rs_length;
- _inc_cset_predicted_elapsed_time_ms -= old_elapsed_time_ms;
-
- _inc_cset_bytes_used_before -= used_bytes;
-
- // Clear the values cached in the heap region
- hr->set_recorded_rs_length(0);
- hr->set_predicted_elapsed_time_ms(0);
-
-#if PREDICTIONS_VERBOSE
- size_t old_predicted_bytes_to_copy = hr->predicted_bytes_to_copy();
- _inc_cset_predicted_bytes_to_copy -= old_predicted_bytes_to_copy;
-
- // Subtract the number of bytes used in this region
- _inc_cset_recorded_young_bytes -= used_bytes;
-
- // Clear the values cached in the heap region
- hr->set_predicted_bytes_to_copy(0);
-#endif // PREDICTIONS_VERBOSE
-}
-
-void G1CollectorPolicy::update_incremental_cset_info(HeapRegion* hr, size_t new_rs_length) {
- // Update the collection set information that is dependent on the new RS length
- assert(hr->is_young(), "Precondition");
-
- remove_from_incremental_cset_info(hr);
- add_to_incremental_cset_info(hr, new_rs_length);
+ hr->set_recorded_rs_length(new_rs_length);
+ hr->set_predicted_elapsed_time_ms(new_region_elapsed_time_ms);
}
void G1CollectorPolicy::add_region_to_incremental_cset_common(HeapRegion* hr) {
- assert( hr->is_young(), "invariant");
- assert( hr->young_index_in_cset() == -1, "invariant" );
+ assert(hr->is_young(), "invariant");
+ assert(hr->young_index_in_cset() > -1, "should have already been set");
assert(_inc_cset_build_state == Active, "Precondition");
// We need to clear and set the cached recorded/cached collection set
@@ -2827,11 +2575,7 @@ void G1CollectorPolicy::add_region_to_incremental_cset_common(HeapRegion* hr) {
hr->set_in_collection_set(true);
assert( hr->next_in_collection_set() == NULL, "invariant");
- _inc_cset_size++;
_g1->register_region_with_in_cset_fast_test(hr);
-
- hr->set_young_index_in_cset((int) _inc_cset_young_index);
- ++_inc_cset_young_index;
}
// Add the region at the RHS of the incremental cset
@@ -2898,8 +2642,7 @@ void G1CollectorPolicy::choose_collection_set(double target_pause_time_ms) {
double non_young_start_time_sec = os::elapsedTime();
YoungList* young_list = _g1->young_list();
-
- start_recording_regions();
+ finalize_incremental_cset_building();
guarantee(target_pause_time_ms > 0.0,
err_msg("target_pause_time_ms = %1.6lf should be positive",
@@ -2923,7 +2666,6 @@ void G1CollectorPolicy::choose_collection_set(double target_pause_time_ms) {
if (time_remaining_ms < threshold) {
double prev_time_remaining_ms = time_remaining_ms;
time_remaining_ms = 0.50 * target_pause_time_ms;
- _within_target = false;
ergo_verbose3(ErgoCSetConstruction,
"adjust remaining time",
ergo_format_reason("remaining time lower than threshold")
@@ -2931,8 +2673,6 @@ void G1CollectorPolicy::choose_collection_set(double target_pause_time_ms) {
ergo_format_ms("threshold")
ergo_format_ms("adjusted remaining time"),
prev_time_remaining_ms, threshold, time_remaining_ms);
- } else {
- _within_target = true;
}
size_t expansion_bytes = _g1->expansion_regions() * HeapRegion::GrainBytes;
@@ -2941,23 +2681,21 @@ void G1CollectorPolicy::choose_collection_set(double target_pause_time_ms) {
double young_start_time_sec = os::elapsedTime();
_collection_set_bytes_used_before = 0;
- _collection_set_size = 0;
- _young_cset_length = 0;
- _last_young_gc_full = full_young_gcs() ? true : false;
+ _last_gc_was_young = gcs_are_young() ? true : false;
- if (_last_young_gc_full) {
- ++_full_young_pause_num;
+ if (_last_gc_was_young) {
+ ++_young_pause_num;
} else {
- ++_partial_young_pause_num;
+ ++_mixed_pause_num;
}
// The young list is laid with the survivor regions from the previous
// pause are appended to the RHS of the young list, i.e.
// [Newly Young Regions ++ Survivors from last pause].
- size_t survivor_region_num = young_list->survivor_length();
- size_t eden_region_num = young_list->length() - survivor_region_num;
- size_t old_region_num = 0;
+ size_t survivor_region_length = young_list->survivor_length();
+ size_t eden_region_length = young_list->length() - survivor_region_length;
+ init_cset_region_lengths(eden_region_length, survivor_region_length);
hr = young_list->first_survivor_region();
while (hr != NULL) {
assert(hr->is_survivor(), "badly formed young list");
@@ -2968,12 +2706,7 @@ void G1CollectorPolicy::choose_collection_set(double target_pause_time_ms) {
// Clear the fields that point to the survivor list - they are all young now.
young_list->clear_survivors();
- if (_g1->mark_in_progress())
- _g1->concurrent_mark()->register_collection_set_finger(_inc_cset_max_finger);
-
- _young_cset_length = _inc_cset_young_index;
_collection_set = _inc_cset_head;
- _collection_set_size = _inc_cset_size;
_collection_set_bytes_used_before = _inc_cset_bytes_used_before;
time_remaining_ms -= _inc_cset_predicted_elapsed_time_ms;
predicted_pause_time_ms += _inc_cset_predicted_elapsed_time_ms;
@@ -2983,19 +2716,12 @@ void G1CollectorPolicy::choose_collection_set(double target_pause_time_ms) {
ergo_format_region("eden")
ergo_format_region("survivors")
ergo_format_ms("predicted young region time"),
- eden_region_num, survivor_region_num,
+ eden_region_length, survivor_region_length,
_inc_cset_predicted_elapsed_time_ms);
// The number of recorded young regions is the incremental
// collection set's current size
- set_recorded_young_regions(_inc_cset_size);
set_recorded_rs_lengths(_inc_cset_recorded_rs_lengths);
- set_recorded_young_bytes(_inc_cset_recorded_young_bytes);
-#if PREDICTIONS_VERBOSE
- set_predicted_bytes_to_copy(_inc_cset_predicted_bytes_to_copy);
-#endif // PREDICTIONS_VERBOSE
-
- assert(_inc_cset_size == young_list->length(), "Invariant");
double young_end_time_sec = os::elapsedTime();
_recorded_young_cset_choice_time_ms =
@@ -3004,14 +2730,21 @@ void G1CollectorPolicy::choose_collection_set(double target_pause_time_ms) {
// We are doing young collections so reset this.
non_young_start_time_sec = young_end_time_sec;
- if (!full_young_gcs()) {
+ if (!gcs_are_young()) {
bool should_continue = true;
NumberSeq seq;
double avg_prediction = 100000000000000000.0; // something very large
- size_t prev_collection_set_size = _collection_set_size;
double prev_predicted_pause_time_ms = predicted_pause_time_ms;
do {
+ // Note that add_old_region_to_cset() increments the
+ // _old_cset_region_length field and cset_region_length() returns the
+ // sum of _eden_cset_region_length, _survivor_cset_region_length, and
+ // _old_cset_region_length. So, as old regions are added to the
+ // CSet, _old_cset_region_length will be incremented and
+ // cset_region_length(), which is used below, will always reflect
+ // the the total number of regions added up to this point to the CSet.
+
hr = _collectionSetChooser->getNextMarkedRegion(time_remaining_ms,
avg_prediction);
if (hr != NULL) {
@@ -3019,8 +2752,7 @@ void G1CollectorPolicy::choose_collection_set(double target_pause_time_ms) {
double predicted_time_ms = predict_region_elapsed_time_ms(hr, false);
time_remaining_ms -= predicted_time_ms;
predicted_pause_time_ms += predicted_time_ms;
- add_to_collection_set(hr);
- record_non_young_cset_region(hr);
+ add_old_region_to_cset(hr);
seq.add(predicted_time_ms);
avg_prediction = seq.avg() + seq.sd();
}
@@ -3041,13 +2773,13 @@ void G1CollectorPolicy::choose_collection_set(double target_pause_time_ms) {
should_continue = false;
}
} else {
- if (_collection_set_size >= _young_list_fixed_length) {
+ if (cset_region_length() >= _young_list_fixed_length) {
ergo_verbose2(ErgoCSetConstruction,
"stop adding old regions to CSet",
ergo_format_reason("CSet length reached target")
ergo_format_region("CSet")
ergo_format_region("young target"),
- _collection_set_size, _young_list_fixed_length);
+ cset_region_length(), _young_list_fixed_length);
should_continue = false;
}
}
@@ -3055,23 +2787,21 @@ void G1CollectorPolicy::choose_collection_set(double target_pause_time_ms) {
} while (should_continue);
if (!adaptive_young_list_length() &&
- _collection_set_size < _young_list_fixed_length) {
+ cset_region_length() < _young_list_fixed_length) {
ergo_verbose2(ErgoCSetConstruction,
- "request partially-young GCs end",
+ "request mixed GCs end",
ergo_format_reason("CSet length lower than target")
ergo_format_region("CSet")
ergo_format_region("young target"),
- _collection_set_size, _young_list_fixed_length);
- _should_revert_to_full_young_gcs = true;
+ cset_region_length(), _young_list_fixed_length);
+ _should_revert_to_young_gcs = true;
}
- old_region_num = _collection_set_size - prev_collection_set_size;
-
ergo_verbose2(ErgoCSetConstruction | ErgoHigh,
"add old regions to CSet",
ergo_format_region("old")
ergo_format_ms("predicted old region time"),
- old_region_num,
+ old_cset_region_length(),
predicted_pause_time_ms - prev_predicted_pause_time_ms);
}
@@ -3079,8 +2809,6 @@ void G1CollectorPolicy::choose_collection_set(double target_pause_time_ms) {
count_CS_bytes_used();
- end_recording_regions();
-
ergo_verbose5(ErgoCSetConstruction,
"finish choosing CSet",
ergo_format_region("eden")
@@ -3088,7 +2816,8 @@ void G1CollectorPolicy::choose_collection_set(double target_pause_time_ms) {
ergo_format_region("old")
ergo_format_ms("predicted pause time")
ergo_format_ms("target pause time"),
- eden_region_num, survivor_region_num, old_region_num,
+ eden_region_length, survivor_region_length,
+ old_cset_region_length(),
predicted_pause_time_ms, target_pause_time_ms);
double non_young_end_time_sec = os::elapsedTime();
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp
index cff4870..90660c0 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -67,7 +67,7 @@ class MainBodySummary: public CHeapObj {
define_num_seq(satb_drain) // optional
define_num_seq(parallel) // parallel only
define_num_seq(ext_root_scan)
- define_num_seq(mark_stack_scan)
+ define_num_seq(satb_filtering)
define_num_seq(update_rs)
define_num_seq(scan_rs)
define_num_seq(obj_copy)
@@ -83,15 +83,81 @@ public:
virtual MainBodySummary* main_body_summary() { return this; }
};
-class G1CollectorPolicy: public CollectorPolicy {
+// There are three command line options related to the young gen size:
+// NewSize, MaxNewSize and NewRatio (There is also -Xmn, but that is
+// just a short form for NewSize==MaxNewSize). G1 will use its internal
+// heuristics to calculate the actual young gen size, so these options
+// basically only limit the range within which G1 can pick a young gen
+// size. Also, these are general options taking byte sizes. G1 will
+// internally work with a number of regions instead. So, some rounding
+// will occur.
+//
+// If nothing related to the the young gen size is set on the command
+// line we should allow the young gen to be between
+// G1DefaultMinNewGenPercent and G1DefaultMaxNewGenPercent of the
+// heap size. This means that every time the heap size changes the
+// limits for the young gen size will be updated.
+//
+// If only -XX:NewSize is set we should use the specified value as the
+// minimum size for young gen. Still using G1DefaultMaxNewGenPercent
+// of the heap as maximum.
+//
+// If only -XX:MaxNewSize is set we should use the specified value as the
+// maximum size for young gen. Still using G1DefaultMinNewGenPercent
+// of the heap as minimum.
+//
+// If -XX:NewSize and -XX:MaxNewSize are both specified we use these values.
+// No updates when the heap size changes. There is a special case when
+// NewSize==MaxNewSize. This is interpreted as "fixed" and will use a
+// different heuristic for calculating the collection set when we do mixed
+// collection.
+//
+// If only -XX:NewRatio is set we should use the specified ratio of the heap
+// as both min and max. This will be interpreted as "fixed" just like the
+// NewSize==MaxNewSize case above. But we will update the min and max
+// everytime the heap size changes.
+//
+// NewSize and MaxNewSize override NewRatio. So, NewRatio is ignored if it is
+// combined with either NewSize or MaxNewSize. (A warning message is printed.)
+class G1YoungGenSizer : public CHeapObj {
private:
- // The number of pauses during the execution.
- long _n_pauses;
+ enum SizerKind {
+ SizerDefaults,
+ SizerNewSizeOnly,
+ SizerMaxNewSizeOnly,
+ SizerMaxAndNewSize,
+ SizerNewRatio
+ };
+ SizerKind _sizer_kind;
+ size_t _min_desired_young_length;
+ size_t _max_desired_young_length;
+ bool _adaptive_size;
+ size_t calculate_default_min_length(size_t new_number_of_heap_regions);
+ size_t calculate_default_max_length(size_t new_number_of_heap_regions);
+
+public:
+ G1YoungGenSizer();
+ void heap_size_changed(size_t new_number_of_heap_regions);
+ size_t min_desired_young_length() {
+ return _min_desired_young_length;
+ }
+ size_t max_desired_young_length() {
+ return _max_desired_young_length;
+ }
+ bool adaptive_young_list_length() {
+ return _adaptive_size;
+ }
+};
+class G1CollectorPolicy: public CollectorPolicy {
+private:
// either equal to the number of parallel threads, if ParallelGCThreads
// has been set, or 1 otherwise
int _parallel_gc_threads;
+ // The number of GC threads currently active.
+ uintx _no_of_gc_threads;
+
enum SomePrivateConstants {
NumPrevPausesForHeuristics = 10
};
@@ -127,18 +193,9 @@ private:
jlong _num_cc_clears; // number of times the card count cache has been cleared
#endif
- // Statistics for recent GC pauses. See below for how indexed.
- TruncatedSeq* _recent_rs_scan_times_ms;
-
// These exclude marking times.
- TruncatedSeq* _recent_pause_times_ms;
TruncatedSeq* _recent_gc_times_ms;
- TruncatedSeq* _recent_CS_bytes_used_before;
- TruncatedSeq* _recent_CS_bytes_surviving;
-
- TruncatedSeq* _recent_rs_sizes;
-
TruncatedSeq* _concurrent_mark_remark_times_ms;
TruncatedSeq* _concurrent_mark_cleanup_times_ms;
@@ -150,13 +207,6 @@ private:
NumberSeq* _all_stop_world_times_ms;
NumberSeq* _all_yield_times_ms;
- size_t _region_num_young;
- size_t _region_num_tenured;
- size_t _prev_region_num_young;
- size_t _prev_region_num_tenured;
-
- NumberSeq* _all_mod_union_times_ms;
-
int _aux_num;
NumberSeq* _all_aux_times_ms;
double* _cur_aux_start_times_ms;
@@ -165,7 +215,7 @@ private:
double* _par_last_gc_worker_start_times_ms;
double* _par_last_ext_root_scan_times_ms;
- double* _par_last_mark_stack_scan_times_ms;
+ double* _par_last_satb_filtering_times_ms;
double* _par_last_update_rs_times_ms;
double* _par_last_update_rs_processed_buffers;
double* _par_last_scan_rs_times_ms;
@@ -180,12 +230,9 @@ private:
// times for a given worker thread.
double* _par_last_gc_worker_other_times_ms;
- // indicates whether we are in full young or partially young GC mode
- bool _full_young_gcs;
+ // indicates whether we are in young or mixed GC mode
+ bool _gcs_are_young;
- // if true, then it tries to dynamically adjust the length of the
- // young list
- bool _adaptive_young_list_length;
size_t _young_list_target_length;
size_t _young_list_fixed_length;
size_t _prev_eden_capacity; // used for logging
@@ -194,11 +241,10 @@ private:
// locker is active. This should be >= _young_list_target_length;
size_t _young_list_max_length;
- size_t _young_cset_length;
- bool _last_young_gc_full;
+ bool _last_gc_was_young;
- unsigned _full_young_pause_num;
- unsigned _partial_young_pause_num;
+ unsigned _young_pause_num;
+ unsigned _mixed_pause_num;
bool _during_marking;
bool _in_marking_window;
@@ -217,8 +263,6 @@ private:
return _during_marking;
}
- // <NEW PREDICTION>
-
private:
enum PredictionConstants {
TruncatedSeqLength = 10
@@ -230,57 +274,40 @@ private:
TruncatedSeq* _pending_card_diff_seq;
TruncatedSeq* _rs_length_diff_seq;
TruncatedSeq* _cost_per_card_ms_seq;
- TruncatedSeq* _fully_young_cards_per_entry_ratio_seq;
- TruncatedSeq* _partially_young_cards_per_entry_ratio_seq;
+ TruncatedSeq* _young_cards_per_entry_ratio_seq;
+ TruncatedSeq* _mixed_cards_per_entry_ratio_seq;
TruncatedSeq* _cost_per_entry_ms_seq;
- TruncatedSeq* _partially_young_cost_per_entry_ms_seq;
+ TruncatedSeq* _mixed_cost_per_entry_ms_seq;
TruncatedSeq* _cost_per_byte_ms_seq;
TruncatedSeq* _constant_other_time_ms_seq;
TruncatedSeq* _young_other_cost_per_region_ms_seq;
TruncatedSeq* _non_young_other_cost_per_region_ms_seq;
TruncatedSeq* _pending_cards_seq;
- TruncatedSeq* _scanned_cards_seq;
TruncatedSeq* _rs_lengths_seq;
TruncatedSeq* _cost_per_byte_ms_during_cm_seq;
TruncatedSeq* _young_gc_eff_seq;
- TruncatedSeq* _max_conc_overhead_seq;
+ G1YoungGenSizer* _young_gen_sizer;
- bool _using_new_ratio_calculations;
- size_t _min_desired_young_length; // as set on the command line or default calculations
- size_t _max_desired_young_length; // as set on the command line or default calculations
+ size_t _eden_cset_region_length;
+ size_t _survivor_cset_region_length;
+ size_t _old_cset_region_length;
- size_t _recorded_young_regions;
- size_t _recorded_non_young_regions;
- size_t _recorded_region_num;
+ void init_cset_region_lengths(size_t eden_cset_region_length,
+ size_t survivor_cset_region_length);
+
+ size_t eden_cset_region_length() { return _eden_cset_region_length; }
+ size_t survivor_cset_region_length() { return _survivor_cset_region_length; }
+ size_t old_cset_region_length() { return _old_cset_region_length; }
size_t _free_regions_at_end_of_collection;
size_t _recorded_rs_lengths;
size_t _max_rs_lengths;
- size_t _recorded_marked_bytes;
- size_t _recorded_young_bytes;
-
- size_t _predicted_pending_cards;
- size_t _predicted_cards_scanned;
- size_t _predicted_rs_lengths;
- size_t _predicted_bytes_to_copy;
-
- double _predicted_survival_ratio;
- double _predicted_rs_update_time_ms;
- double _predicted_rs_scan_time_ms;
- double _predicted_object_copy_time_ms;
- double _predicted_constant_other_time_ms;
- double _predicted_young_other_time_ms;
- double _predicted_non_young_other_time_ms;
- double _predicted_pause_time_ms;
-
- double _vtime_diff_ms;
-
double _recorded_young_free_cset_time_ms;
double _recorded_non_young_free_cset_time_ms;
@@ -317,21 +344,28 @@ private:
double update_rs_processed_buffers,
double goal_ms);
+ uintx no_of_gc_threads() { return _no_of_gc_threads; }
+ void set_no_of_gc_threads(uintx v) { _no_of_gc_threads = v; }
+
double _pause_time_target_ms;
double _recorded_young_cset_choice_time_ms;
double _recorded_non_young_cset_choice_time_ms;
- bool _within_target;
size_t _pending_cards;
size_t _max_pending_cards;
public:
+ // Accessors
- void set_region_short_lived(HeapRegion* hr) {
+ void set_region_eden(HeapRegion* hr, int young_index_in_cset) {
+ hr->set_young();
hr->install_surv_rate_group(_short_lived_surv_rate_group);
+ hr->set_young_index_in_cset(young_index_in_cset);
}
- void set_region_survivors(HeapRegion* hr) {
+ void set_region_survivor(HeapRegion* hr, int young_index_in_cset) {
+ assert(hr->is_young() && hr->is_survivor(), "pre-condition");
hr->install_surv_rate_group(_survivor_surv_rate_group);
+ hr->set_young_index_in_cset(young_index_in_cset);
}
#ifndef PRODUCT
@@ -343,30 +377,28 @@ public:
seq->davg() * confidence_factor(seq->num()));
}
- size_t young_cset_length() {
- return _young_cset_length;
- }
-
void record_max_rs_lengths(size_t rs_lengths) {
_max_rs_lengths = rs_lengths;
}
size_t predict_pending_card_diff() {
double prediction = get_new_neg_prediction(_pending_card_diff_seq);
- if (prediction < 0.00001)
+ if (prediction < 0.00001) {
return 0;
- else
+ } else {
return (size_t) prediction;
+ }
}
size_t predict_pending_cards() {
size_t max_pending_card_num = _g1->max_pending_card_num();
size_t diff = predict_pending_card_diff();
size_t prediction;
- if (diff > max_pending_card_num)
+ if (diff > max_pending_card_num) {
prediction = max_pending_card_num;
- else
+ } else {
prediction = max_pending_card_num - diff;
+ }
return prediction;
}
@@ -387,57 +419,62 @@ public:
return (double) pending_cards * predict_cost_per_card_ms();
}
- double predict_fully_young_cards_per_entry_ratio() {
- return get_new_prediction(_fully_young_cards_per_entry_ratio_seq);
+ double predict_young_cards_per_entry_ratio() {
+ return get_new_prediction(_young_cards_per_entry_ratio_seq);
}
- double predict_partially_young_cards_per_entry_ratio() {
- if (_partially_young_cards_per_entry_ratio_seq->num() < 2)
- return predict_fully_young_cards_per_entry_ratio();
- else
- return get_new_prediction(_partially_young_cards_per_entry_ratio_seq);
+ double predict_mixed_cards_per_entry_ratio() {
+ if (_mixed_cards_per_entry_ratio_seq->num() < 2) {
+ return predict_young_cards_per_entry_ratio();
+ } else {
+ return get_new_prediction(_mixed_cards_per_entry_ratio_seq);
+ }
}
size_t predict_young_card_num(size_t rs_length) {
return (size_t) ((double) rs_length *
- predict_fully_young_cards_per_entry_ratio());
+ predict_young_cards_per_entry_ratio());
}
size_t predict_non_young_card_num(size_t rs_length) {
return (size_t) ((double) rs_length *
- predict_partially_young_cards_per_entry_ratio());
+ predict_mixed_cards_per_entry_ratio());
}
double predict_rs_scan_time_ms(size_t card_num) {
- if (full_young_gcs())
+ if (gcs_are_young()) {
return (double) card_num * get_new_prediction(_cost_per_entry_ms_seq);
- else
- return predict_partially_young_rs_scan_time_ms(card_num);
+ } else {
+ return predict_mixed_rs_scan_time_ms(card_num);
+ }
}
- double predict_partially_young_rs_scan_time_ms(size_t card_num) {
- if (_partially_young_cost_per_entry_ms_seq->num() < 3)
+ double predict_mixed_rs_scan_time_ms(size_t card_num) {
+ if (_mixed_cost_per_entry_ms_seq->num() < 3) {
return (double) card_num * get_new_prediction(_cost_per_entry_ms_seq);
- else
- return (double) card_num *
- get_new_prediction(_partially_young_cost_per_entry_ms_seq);
+ } else {
+ return (double) (card_num *
+ get_new_prediction(_mixed_cost_per_entry_ms_seq));
+ }
}
double predict_object_copy_time_ms_during_cm(size_t bytes_to_copy) {
- if (_cost_per_byte_ms_during_cm_seq->num() < 3)
- return 1.1 * (double) bytes_to_copy *
- get_new_prediction(_cost_per_byte_ms_seq);
- else
+ if (_cost_per_byte_ms_during_cm_seq->num() < 3) {
+ return (1.1 * (double) bytes_to_copy) *
+ get_new_prediction(_cost_per_byte_ms_seq);
+ } else {
return (double) bytes_to_copy *
- get_new_prediction(_cost_per_byte_ms_during_cm_seq);
+ get_new_prediction(_cost_per_byte_ms_during_cm_seq);
+ }
}
double predict_object_copy_time_ms(size_t bytes_to_copy) {
- if (_in_marking_window && !_in_marking_window_im)
+ if (_in_marking_window && !_in_marking_window_im) {
return predict_object_copy_time_ms_during_cm(bytes_to_copy);
- else
+ } else {
return (double) bytes_to_copy *
- get_new_prediction(_cost_per_byte_ms_seq);
+ get_new_prediction(_cost_per_byte_ms_seq);
+ }
}
double predict_constant_other_time_ms() {
@@ -445,15 +482,13 @@ public:
}
double predict_young_other_time_ms(size_t young_num) {
- return
- (double) young_num *
- get_new_prediction(_young_other_cost_per_region_ms_seq);
+ return (double) young_num *
+ get_new_prediction(_young_other_cost_per_region_ms_seq);
}
double predict_non_young_other_time_ms(size_t non_young_num) {
- return
- (double) non_young_num *
- get_new_prediction(_non_young_other_cost_per_region_ms_seq);
+ return (double) non_young_num *
+ get_new_prediction(_non_young_other_cost_per_region_ms_seq);
}
void check_if_region_is_too_expensive(double predicted_time_ms);
@@ -465,20 +500,12 @@ public:
size_t predict_bytes_to_copy(HeapRegion* hr);
double predict_region_elapsed_time_ms(HeapRegion* hr, bool young);
- void start_recording_regions();
- void record_cset_region_info(HeapRegion* hr, bool young);
- void record_non_young_cset_region(HeapRegion* hr);
-
- void set_recorded_young_regions(size_t n_regions);
- void set_recorded_young_bytes(size_t bytes);
void set_recorded_rs_lengths(size_t rs_lengths);
- void set_predicted_bytes_to_copy(size_t bytes);
-
- void end_recording_regions();
- void record_vtime_diff_ms(double vtime_diff_ms) {
- _vtime_diff_ms = vtime_diff_ms;
- }
+ size_t cset_region_length() { return young_cset_region_length() +
+ old_cset_region_length(); }
+ size_t young_cset_region_length() { return eden_cset_region_length() +
+ survivor_cset_region_length(); }
void record_young_free_cset_time_ms(double time_ms) {
_recorded_young_free_cset_time_ms = time_ms;
@@ -494,10 +521,8 @@ public:
double predict_survivor_regions_evac_time();
- // </NEW PREDICTION>
-
void cset_regions_freed() {
- bool propagate = _last_young_gc_full && !_in_marking_window;
+ bool propagate = _last_gc_was_young && !_in_marking_window;
_short_lived_surv_rate_group->all_surviving_words_recorded(propagate);
_survivor_surv_rate_group->all_surviving_words_recorded(propagate);
// also call it on any more surv rate groups
@@ -575,8 +600,6 @@ private:
double sum_of_values (double* data);
double max_sum (double* data1, double* data2);
- int _last_satb_drain_processed_buffers;
- int _last_update_rs_processed_buffers;
double _last_pause_time_ms;
size_t _bytes_in_collection_set_before_gc;
@@ -596,10 +619,6 @@ private:
// set at the start of the pause.
HeapRegion* _collection_set;
- // The number of regions in the collection set. Set from the incrementally
- // built collection set at the start of an evacuation pause.
- size_t _collection_set_size;
-
// The number of bytes in the collection set before the pause. Set from
// the incrementally built collection set at the start of an evacuation
// pause.
@@ -622,16 +641,6 @@ private:
// The tail of the incrementally built collection set.
HeapRegion* _inc_cset_tail;
- // The number of regions in the incrementally built collection set.
- // Used to set _collection_set_size at the start of an evacuation
- // pause.
- size_t _inc_cset_size;
-
- // Used as the index in the surving young words structure
- // which tracks the amount of space, for each young region,
- // that survives the pause.
- size_t _inc_cset_young_index;
-
// The number of bytes in the incrementally built collection set.
// Used to set _collection_set_bytes_used_before at the start of
// an evacuation pause.
@@ -640,83 +649,32 @@ private:
// Used to record the highest end of heap region in collection set
HeapWord* _inc_cset_max_finger;
- // The number of recorded used bytes in the young regions
- // of the collection set. This is the sum of the used() bytes
- // of retired young regions in the collection set.
- size_t _inc_cset_recorded_young_bytes;
-
- // The RSet lengths recorded for regions in the collection set
- // (updated by the periodic sampling of the regions in the
- // young list/collection set).
+ // The RSet lengths recorded for regions in the CSet. It is updated
+ // by the thread that adds a new region to the CSet. We assume that
+ // only one thread can be allocating a new CSet region (currently,
+ // it does so after taking the Heap_lock) hence no need to
+ // synchronize updates to this field.
size_t _inc_cset_recorded_rs_lengths;
- // The predicted elapsed time it will take to collect the regions
- // in the collection set (updated by the periodic sampling of the
- // regions in the young list/collection set).
+ // A concurrent refinement thread periodcially samples the young
+ // region RSets and needs to update _inc_cset_recorded_rs_lengths as
+ // the RSets grow. Instead of having to syncronize updates to that
+ // field we accumulate them in this field and add it to
+ // _inc_cset_recorded_rs_lengths_diffs at the start of a GC.
+ ssize_t _inc_cset_recorded_rs_lengths_diffs;
+
+ // The predicted elapsed time it will take to collect the regions in
+ // the CSet. This is updated by the thread that adds a new region to
+ // the CSet. See the comment for _inc_cset_recorded_rs_lengths about
+ // MT-safety assumptions.
double _inc_cset_predicted_elapsed_time_ms;
- // The predicted bytes to copy for the regions in the collection
- // set (updated by the periodic sampling of the regions in the
- // young list/collection set).
- size_t _inc_cset_predicted_bytes_to_copy;
+ // See the comment for _inc_cset_recorded_rs_lengths_diffs.
+ double _inc_cset_predicted_elapsed_time_ms_diffs;
// Stash a pointer to the g1 heap.
G1CollectedHeap* _g1;
- // The average time in ms per collection pause, averaged over recent pauses.
- double recent_avg_time_for_pauses_ms();
-
- // The average time in ms for RS scanning, per pause, averaged
- // over recent pauses. (Note the RS scanning time for a pause
- // is itself an average of the RS scanning time for each worker
- // thread.)
- double recent_avg_time_for_rs_scan_ms();
-
- // The number of "recent" GCs recorded in the number sequences
- int number_of_recent_gcs();
-
- // The average survival ratio, computed by the total number of bytes
- // suriviving / total number of bytes before collection over the last
- // several recent pauses.
- double recent_avg_survival_fraction();
- // The survival fraction of the most recent pause; if there have been no
- // pauses, returns 1.0.
- double last_survival_fraction();
-
- // Returns a "conservative" estimate of the recent survival rate, i.e.,
- // one that may be higher than "recent_avg_survival_fraction".
- // This is conservative in several ways:
- // If there have been few pauses, it will assume a potential high
- // variance, and err on the side of caution.
- // It puts a lower bound (currently 0.1) on the value it will return.
- // To try to detect phase changes, if the most recent pause ("latest") has a
- // higher-than average ("avg") survival rate, it returns that rate.
- // "work" version is a utility function; young is restricted to young regions.
- double conservative_avg_survival_fraction_work(double avg,
- double latest);
-
- // The arguments are the two sequences that keep track of the number of bytes
- // surviving and the total number of bytes before collection, resp.,
- // over the last evereal recent pauses
- // Returns the survival rate for the category in the most recent pause.
- // If there have been no pauses, returns 1.0.
- double last_survival_fraction_work(TruncatedSeq* surviving,
- TruncatedSeq* before);
-
- // The arguments are the two sequences that keep track of the number of bytes
- // surviving and the total number of bytes before collection, resp.,
- // over the last several recent pauses
- // Returns the average survival ration over the last several recent pauses
- // If there have been no pauses, return 1.0
- double recent_avg_survival_fraction_work(TruncatedSeq* surviving,
- TruncatedSeq* before);
-
- double conservative_avg_survival_fraction() {
- double avg = recent_avg_survival_fraction();
- double latest = last_survival_fraction();
- return conservative_avg_survival_fraction_work(avg, latest);
- }
-
// The ratio of gc time to elapsed time, computed over recent pauses.
double _recent_avg_pause_time_ratio;
@@ -724,9 +682,6 @@ private:
return _recent_avg_pause_time_ratio;
}
- // Number of pauses between concurrent marking.
- size_t _pauses_btwn_concurrent_mark;
-
// At the end of a pause we check the heap occupancy and we decide
// whether we will start a marking cycle during the next pause. If
// we decide that we want to do that, we will set this parameter to
@@ -752,8 +707,8 @@ private:
// initial-mark work.
volatile bool _during_initial_mark_pause;
- bool _should_revert_to_full_young_gcs;
- bool _last_full_young_gc;
+ bool _should_revert_to_young_gcs;
+ bool _last_young_gc;
// This set of variables tracks the collector efficiency, in order to
// determine whether we should initiate a new marking.
@@ -801,8 +756,6 @@ private:
// Count the number of bytes used in the CS.
void count_CS_bytes_used();
- void update_young_list_size_using_newratio(size_t number_of_heap_regions);
-
public:
G1CollectorPolicy();
@@ -829,8 +782,6 @@ public:
// This should be called after the heap is resized.
void record_new_heap_size(size_t new_number_of_regions);
-public:
-
void init();
// Create jstat counters for the policy.
@@ -849,9 +800,6 @@ public:
GenRemSet::Name rem_set_name() { return GenRemSet::CardTable; }
- // The number of collection pauses so far.
- long n_pauses() const { return _n_pauses; }
-
// Update the heuristic info to record a collection pause of the given
// start time, where the given number of bytes were used at the start.
// This may involve changing the desired size of a collection set.
@@ -864,19 +812,21 @@ public:
void record_concurrent_mark_init_end(double
mark_init_elapsed_time_ms);
- void record_mark_closure_time(double mark_closure_time_ms);
+ void record_mark_closure_time(double mark_closure_time_ms) {
+ _mark_closure_time_ms = mark_closure_time_ms;
+ }
void record_concurrent_mark_remark_start();
void record_concurrent_mark_remark_end();
void record_concurrent_mark_cleanup_start();
- void record_concurrent_mark_cleanup_end();
+ void record_concurrent_mark_cleanup_end(int no_of_gc_threads);
void record_concurrent_mark_cleanup_completed();
void record_concurrent_pause();
void record_concurrent_pause_end();
- void record_collection_pause_end();
+ void record_collection_pause_end(int no_of_gc_threads);
void print_heap_transition();
// Record the fact that a full collection occurred.
@@ -891,8 +841,8 @@ public:
_par_last_ext_root_scan_times_ms[worker_i] = ms;
}
- void record_mark_stack_scan_time(int worker_i, double ms) {
- _par_last_mark_stack_scan_times_ms[worker_i] = ms;
+ void record_satb_filtering_time(int worker_i, double ms) {
+ _par_last_satb_filtering_times_ms[worker_i] = ms;
}
void record_satb_drain_time(double ms) {
@@ -900,15 +850,6 @@ public:
_cur_satb_drain_time_ms = ms;
}
- void record_satb_drain_processed_buffers(int processed_buffers) {
- assert(_g1->mark_in_progress(), "shouldn't be here otherwise");
- _last_satb_drain_processed_buffers = processed_buffers;
- }
-
- void record_mod_union_time(double ms) {
- _all_mod_union_times_ms->add(ms);
- }
-
void record_update_rs_time(int thread, double ms) {
_par_last_update_rs_times_ms[thread] = ms;
}
@@ -1009,11 +950,8 @@ public:
void clear_collection_set() { _collection_set = NULL; }
- // The number of elements in the current collection set.
- size_t collection_set_size() { return _collection_set_size; }
-
- // Add "hr" to the CS.
- void add_to_collection_set(HeapRegion* hr);
+ // Add old region "hr" to the CSet.
+ void add_old_region_to_cset(HeapRegion* hr);
// Incremental CSet Support
@@ -1023,12 +961,13 @@ public:
// The tail of the incrementally built collection set.
HeapRegion* inc_set_tail() { return _inc_cset_tail; }
- // The number of elements in the incrementally built collection set.
- size_t inc_cset_size() { return _inc_cset_size; }
-
// Initialize incremental collection set info.
void start_incremental_cset_building();
+ // Perform any final calculations on the incremental CSet fields
+ // before we can use them.
+ void finalize_incremental_cset_building();
+
void clear_incremental_cset() {
_inc_cset_head = NULL;
_inc_cset_tail = NULL;
@@ -1037,10 +976,9 @@ public:
// Stop adding regions to the incremental collection set
void stop_incremental_cset_building() { _inc_cset_build_state = Inactive; }
- // Add/remove information about hr to the aggregated information
- // for the incrementally built collection set.
+ // Add information about hr to the aggregated information for the
+ // incrementally built collection set.
void add_to_incremental_cset_info(HeapRegion* hr, size_t rs_length);
- void remove_from_incremental_cset_info(HeapRegion* hr);
// Update information about hr in the aggregated information for
// the incrementally built collection set.
@@ -1125,20 +1063,15 @@ public:
return _young_list_max_length;
}
- void update_region_num(bool young);
-
- bool full_young_gcs() {
- return _full_young_gcs;
+ bool gcs_are_young() {
+ return _gcs_are_young;
}
- void set_full_young_gcs(bool full_young_gcs) {
- _full_young_gcs = full_young_gcs;
+ void set_gcs_are_young(bool gcs_are_young) {
+ _gcs_are_young = gcs_are_young;
}
bool adaptive_young_list_length() {
- return _adaptive_young_list_length;
- }
- void set_adaptive_young_list_length(bool adaptive_young_list_length) {
- _adaptive_young_list_length = adaptive_young_list_length;
+ return _young_gen_sizer->adaptive_young_list_length();
}
inline double get_gc_eff_factor() {
@@ -1213,6 +1146,11 @@ public:
_survivor_surv_rate_group->stop_adding_regions();
}
+ void tenure_all_objects() {
+ _max_survivor_regions = 0;
+ _tenuring_threshold = 0;
+ }
+
void record_survivor_regions(size_t regions,
HeapRegion* head,
HeapRegion* tail) {
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1ErgoVerbose.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1ErgoVerbose.cpp
index dc6b49c..167d19c 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1ErgoVerbose.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1ErgoVerbose.cpp
@@ -52,14 +52,13 @@ void G1ErgoVerbose::set_enabled(bool enabled) {
const char* G1ErgoVerbose::to_string(int tag) {
ErgoHeuristic n = extract_heuristic(tag);
switch (n) {
- case ErgoHeapSizing: return "Heap Sizing";
- case ErgoCSetConstruction: return "CSet Construction";
- case ErgoConcCycles: return "Concurrent Cycles";
- case ErgoPartiallyYoungGCs: return "Partially-Young GCs";
+ case ErgoHeapSizing: return "Heap Sizing";
+ case ErgoCSetConstruction: return "CSet Construction";
+ case ErgoConcCycles: return "Concurrent Cycles";
+ case ErgoMixedGCs: return "Mixed GCs";
default:
ShouldNotReachHere();
// Keep the Windows compiler happy
return NULL;
}
}
-
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1ErgoVerbose.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1ErgoVerbose.hpp
index c170a49..b6d2a9e 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1ErgoVerbose.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1ErgoVerbose.hpp
@@ -69,7 +69,7 @@ typedef enum {
ErgoHeapSizing = 0,
ErgoCSetConstruction,
ErgoConcCycles,
- ErgoPartiallyYoungGCs,
+ ErgoMixedGCs,
ErgoHeuristicNum
} ErgoHeuristic;
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1EvacFailure.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1EvacFailure.hpp
new file mode 100644
index 0000000..37c3043
--- /dev/null
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1EvacFailure.hpp
@@ -0,0 +1,236 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+
+#ifndef SHARE_VM_GC_IMPLEMENTATION_G1_G1EVACFAILURE_HPP
+#define SHARE_VM_GC_IMPLEMENTATION_G1_G1EVACFAILURE_HPP
+
+#include "gc_implementation/g1/concurrentMark.inline.hpp"
+#include "gc_implementation/g1/dirtyCardQueue.hpp"
+#include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
+#include "gc_implementation/g1/g1_globals.hpp"
+#include "gc_implementation/g1/g1OopClosures.inline.hpp"
+#include "gc_implementation/g1/heapRegion.hpp"
+#include "gc_implementation/g1/heapRegionRemSet.hpp"
+#include "utilities/workgroup.hpp"
+
+// Closures and tasks associated with any self-forwarding pointers
+// installed as a result of an evacuation failure.
+
+class UpdateRSetDeferred : public OopsInHeapRegionClosure {
+private:
+ G1CollectedHeap* _g1;
+ DirtyCardQueue *_dcq;
+ CardTableModRefBS* _ct_bs;
+
+public:
+ UpdateRSetDeferred(G1CollectedHeap* g1, DirtyCardQueue* dcq) :
+ _g1(g1), _ct_bs((CardTableModRefBS*)_g1->barrier_set()), _dcq(dcq) {}
+
+ virtual void do_oop(narrowOop* p) { do_oop_work(p); }
+ virtual void do_oop( oop* p) { do_oop_work(p); }
+ template <class T> void do_oop_work(T* p) {
+ assert(_from->is_in_reserved(p), "paranoia");
+ if (!_from->is_in_reserved(oopDesc::load_decode_heap_oop(p)) &&
+ !_from->is_survivor()) {
+ size_t card_index = _ct_bs->index_for(p);
+ if (_ct_bs->mark_card_deferred(card_index)) {
+ _dcq->enqueue((jbyte*)_ct_bs->byte_for_index(card_index));
+ }
+ }
+ }
+};
+
+class RemoveSelfForwardPtrObjClosure: public ObjectClosure {
+private:
+ G1CollectedHeap* _g1;
+ ConcurrentMark* _cm;
+ HeapRegion* _hr;
+ size_t _marked_bytes;
+ OopsInHeapRegionClosure *_update_rset_cl;
+ bool _during_initial_mark;
+ bool _during_conc_mark;
+public:
+ RemoveSelfForwardPtrObjClosure(G1CollectedHeap* g1, ConcurrentMark* cm,
+ HeapRegion* hr,
+ OopsInHeapRegionClosure* update_rset_cl,
+ bool during_initial_mark,
+ bool during_conc_mark) :
+ _g1(g1), _cm(cm), _hr(hr), _marked_bytes(0),
+ _update_rset_cl(update_rset_cl),
+ _during_initial_mark(during_initial_mark),
+ _during_conc_mark(during_conc_mark) { }
+
+ size_t marked_bytes() { return _marked_bytes; }
+
+ // <original comment>
+ // The original idea here was to coalesce evacuated and dead objects.
+ // However that caused complications with the block offset table (BOT).
+ // In particular if there were two TLABs, one of them partially refined.
+ // |----- TLAB_1--------|----TLAB_2-~~~(partially refined part)~~~|
+ // The BOT entries of the unrefined part of TLAB_2 point to the start
+ // of TLAB_2. If the last object of the TLAB_1 and the first object
+ // of TLAB_2 are coalesced, then the cards of the unrefined part
+ // would point into middle of the filler object.
+ // The current approach is to not coalesce and leave the BOT contents intact.
+ // </original comment>
+ //
+ // We now reset the BOT when we start the object iteration over the
+ // region and refine its entries for every object we come across. So
+ // the above comment is not really relevant and we should be able
+ // to coalesce dead objects if we want to.
+ void do_object(oop obj) {
+ HeapWord* obj_addr = (HeapWord*) obj;
+ assert(_hr->is_in(obj_addr), "sanity");
+ size_t obj_size = obj->size();
+ _hr->update_bot_for_object(obj_addr, obj_size);
+
+ if (obj->is_forwarded() && obj->forwardee() == obj) {
+ // The object failed to move.
+
+ // We consider all objects that we find self-forwarded to be
+ // live. What we'll do is that we'll update the prev marking
+ // info so that they are all under PTAMS and explicitly marked.
+ _cm->markPrev(obj);
+ if (_during_initial_mark) {
+ // For the next marking info we'll only mark the
+ // self-forwarded objects explicitly if we are during
+ // initial-mark (since, normally, we only mark objects pointed
+ // to by roots if we succeed in copying them). By marking all
+ // self-forwarded objects we ensure that we mark any that are
+ // still pointed to be roots. During concurrent marking, and
+ // after initial-mark, we don't need to mark any objects
+ // explicitly and all objects in the CSet are considered
+ // (implicitly) live. So, we won't mark them explicitly and
+ // we'll leave them over NTAMS.
+ _cm->markNext(obj);
+ }
+ _marked_bytes += (obj_size * HeapWordSize);
+ obj->set_mark(markOopDesc::prototype());
+
+ // While we were processing RSet buffers during the collection,
+ // we actually didn't scan any cards on the collection set,
+ // since we didn't want to update remembered sets with entries
+ // that point into the collection set, given that live objects
+ // from the collection set are about to move and such entries
+ // will be stale very soon.
+ // This change also dealt with a reliability issue which
+ // involved scanning a card in the collection set and coming
+ // across an array that was being chunked and looking malformed.
+ // The problem is that, if evacuation fails, we might have
+ // remembered set entries missing given that we skipped cards on
+ // the collection set. So, we'll recreate such entries now.
+ obj->oop_iterate(_update_rset_cl);
+ assert(_cm->isPrevMarked(obj), "Should be marked!");
+ } else {
+ // The object has been either evacuated or is dead. Fill it with a
+ // dummy object.
+ MemRegion mr((HeapWord*) obj, obj_size);
+ CollectedHeap::fill_with_object(mr);
+ }
+ }
+};
+
+class RemoveSelfForwardPtrHRClosure: public HeapRegionClosure {
+ G1CollectedHeap* _g1h;
+ ConcurrentMark* _cm;
+ OopsInHeapRegionClosure *_update_rset_cl;
+
+public:
+ RemoveSelfForwardPtrHRClosure(G1CollectedHeap* g1h,
+ OopsInHeapRegionClosure* update_rset_cl) :
+ _g1h(g1h), _update_rset_cl(update_rset_cl),
+ _cm(_g1h->concurrent_mark()) { }
+
+ bool doHeapRegion(HeapRegion *hr) {
+ bool during_initial_mark = _g1h->g1_policy()->during_initial_mark_pause();
+ bool during_conc_mark = _g1h->mark_in_progress();
+
+ assert(!hr->isHumongous(), "sanity");
+ assert(hr->in_collection_set(), "bad CS");
+
+ if (hr->claimHeapRegion(HeapRegion::ParEvacFailureClaimValue)) {
+ if (hr->evacuation_failed()) {
+ RemoveSelfForwardPtrObjClosure rspc(_g1h, _cm, hr, _update_rset_cl,
+ during_initial_mark,
+ during_conc_mark);
+
+ MemRegion mr(hr->bottom(), hr->end());
+ // We'll recreate the prev marking info so we'll first clear
+ // the prev bitmap range for this region. We never mark any
+ // CSet objects explicitly so the next bitmap range should be
+ // cleared anyway.
+ _cm->clearRangePrevBitmap(mr);
+
+ hr->note_self_forwarding_removal_start(during_initial_mark,
+ during_conc_mark);
+
+ // In the common case (i.e. when there is no evacuation
+ // failure) we make sure that the following is done when
+ // the region is freed so that it is "ready-to-go" when it's
+ // re-allocated. However, when evacuation failure happens, a
+ // region will remain in the heap and might ultimately be added
+ // to a CSet in the future. So we have to be careful here and
+ // make sure the region's RSet is ready for parallel iteration
+ // whenever this might be required in the future.
+ hr->rem_set()->reset_for_par_iteration();
+ hr->reset_bot();
+ _update_rset_cl->set_region(hr);
+ hr->object_iterate(&rspc);
+
+ hr->note_self_forwarding_removal_end(during_initial_mark,
+ during_conc_mark,
+ rspc.marked_bytes());
+ }
+ }
+ return false;
+ }
+};
+
+class G1ParRemoveSelfForwardPtrsTask: public AbstractGangTask {
+protected:
+ G1CollectedHeap* _g1h;
+
+public:
+ G1ParRemoveSelfForwardPtrsTask(G1CollectedHeap* g1h) :
+ AbstractGangTask("G1 Remove Self-forwarding Pointers"),
+ _g1h(g1h) { }
+
+ void work(uint worker_id) {
+ UpdateRSetImmediate immediate_update(_g1h->g1_rem_set());
+ DirtyCardQueue dcq(&_g1h->dirty_card_queue_set());
+ UpdateRSetDeferred deferred_update(_g1h, &dcq);
+
+ OopsInHeapRegionClosure *update_rset_cl = &deferred_update;
+ if (!G1DeferredRSUpdate) {
+ update_rset_cl = &immediate_update;
+ }
+
+ RemoveSelfForwardPtrHRClosure rsfp_cl(_g1h, update_rset_cl);
+
+ HeapRegion* hr = _g1h->start_cset_region_for_worker(worker_id);
+ _g1h->collection_set_iterate_from(hr, &rsfp_cl);
+ }
+};
+
+#endif // SHARE_VM_GC_IMPLEMENTATION_G1_G1EVACFAILURE_HPP
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1MonitoringSupport.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1MonitoringSupport.hpp
index 3d124ce..ac2c4f0 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1MonitoringSupport.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1MonitoringSupport.hpp
@@ -119,7 +119,7 @@ class G1MonitoringSupport : public CHeapObj {
G1CollectedHeap* _g1h;
// jstat performance counters
- // incremental collections both fully and partially young
+ // incremental collections both young and mixed
CollectorCounters* _incremental_collection_counters;
// full stop-the-world collections
CollectorCounters* _full_collection_counters;
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp
index ace59ea..fc28d96 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -121,17 +121,25 @@ public:
class G1ParCopyHelper : public G1ParClosureSuper {
G1ParScanClosure *_scanner;
protected:
- template <class T> void mark_object(T* p);
- oop copy_to_survivor_space(oop obj, bool should_mark_root,
- bool should_mark_copy);
+ // Mark the object if it's not already marked. This is used to mark
+ // objects pointed to by roots that are guaranteed not to move
+ // during the GC (i.e., non-CSet objects). It is MT-safe.
+ void mark_object(oop obj);
+
+ // Mark the object if it's not already marked. This is used to mark
+ // objects pointed to by roots that have been forwarded during a
+ // GC. It is MT-safe.
+ void mark_forwarded_object(oop from_obj, oop to_obj);
+
+ oop copy_to_survivor_space(oop obj);
+
public:
G1ParCopyHelper(G1CollectedHeap* g1, G1ParScanThreadState* par_scan_state,
G1ParScanClosure *scanner) :
G1ParClosureSuper(g1, par_scan_state), _scanner(scanner) { }
};
-template<bool do_gen_barrier, G1Barrier barrier,
- bool do_mark_object>
+template <bool do_gen_barrier, G1Barrier barrier, bool do_mark_object>
class G1ParCopyClosure : public G1ParCopyHelper {
G1ParScanClosure _scanner;
@@ -140,9 +148,8 @@ class G1ParCopyClosure : public G1ParCopyHelper {
public:
G1ParCopyClosure(G1CollectedHeap* g1, G1ParScanThreadState* par_scan_state,
ReferenceProcessor* rp) :
- _scanner(g1, par_scan_state, rp),
- G1ParCopyHelper(g1, par_scan_state, &_scanner)
- {
+ _scanner(g1, par_scan_state, rp),
+ G1ParCopyHelper(g1, par_scan_state, &_scanner) {
assert(_ref_processor == NULL, "sanity");
}
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp
index ed01774..26b951d 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp
@@ -84,8 +84,11 @@ template <class T> inline void G1ParScanClosure::do_oop_nv(T* p) {
// slightly paranoid test; I'm trying to catch potential
// problems before we go into push_on_queue to know where the
// problem is coming from
- assert(obj == oopDesc::load_decode_heap_oop(p),
- "p should still be pointing to obj");
+ assert((obj == oopDesc::load_decode_heap_oop(p)) ||
+ (obj->is_forwarded() &&
+ obj->forwardee() == oopDesc::load_decode_heap_oop(p)),
+ "p should still be pointing to obj or to its forwardee");
+
_par_scan_state->push_on_queue(p);
} else {
_par_scan_state->update_rs(_from, p, _par_scan_state->queue_num());
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp
index 9f10ac2..4a98258 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp
@@ -209,29 +209,9 @@ public:
size_t cards_looked_up() { return _cards;}
};
-// We want the parallel threads to start their scanning at
-// different collection set regions to avoid contention.
-// If we have:
-// n collection set regions
-// p threads
-// Then thread t will start at region t * floor (n/p)
-
-HeapRegion* G1RemSet::calculateStartRegion(int worker_i) {
- HeapRegion* result = _g1p->collection_set();
- if (ParallelGCThreads > 0) {
- size_t cs_size = _g1p->collection_set_size();
- int n_workers = _g1->workers()->total_workers();
- size_t cs_spans = cs_size / n_workers;
- size_t ind = cs_spans * worker_i;
- for (size_t i = 0; i < ind; i++)
- result = result->next_in_collection_set();
- }
- return result;
-}
-
void G1RemSet::scanRS(OopsInHeapRegionClosure* oc, int worker_i) {
double rs_time_start = os::elapsedTime();
- HeapRegion *startRegion = calculateStartRegion(worker_i);
+ HeapRegion *startRegion = _g1->start_cset_region_for_worker(worker_i);
ScanRSClosure scanRScl(oc, worker_i);
@@ -430,8 +410,10 @@ void G1RemSet::prepare_for_oops_into_collection_set_do() {
DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set();
dcqs.concatenate_logs();
- if (ParallelGCThreads > 0) {
- _seq_task->set_n_threads((int)n_workers());
+ if (G1CollectedHeap::use_parallel_gc_threads()) {
+ // Don't set the number of workers here. It will be set
+ // when the task is run
+ // _seq_task->set_n_termination((int)n_workers());
}
guarantee( _cards_scanned == NULL, "invariant" );
_cards_scanned = NEW_C_HEAP_ARRAY(size_t, n_workers());
@@ -576,9 +558,12 @@ void G1RemSet::scrub(BitMap* region_bm, BitMap* card_bm) {
}
void G1RemSet::scrub_par(BitMap* region_bm, BitMap* card_bm,
- int worker_num, int claim_val) {
+ uint worker_num, int claim_val) {
ScrubRSClosure scrub_cl(region_bm, card_bm);
- _g1->heap_region_par_iterate_chunked(&scrub_cl, worker_num, claim_val);
+ _g1->heap_region_par_iterate_chunked(&scrub_cl,
+ worker_num,
+ n_workers(),
+ claim_val);
}
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.hpp
index 47e6d6f..79d550e 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.hpp
@@ -40,7 +40,7 @@ class G1RemSet: public CHeapObj {
protected:
G1CollectedHeap* _g1;
unsigned _conc_refine_cards;
- size_t n_workers();
+ uint n_workers();
protected:
enum SomePrivateConstants {
@@ -104,8 +104,6 @@ public:
void scanRS(OopsInHeapRegionClosure* oc, int worker_i);
void updateRS(DirtyCardQueue* into_cset_dcq, int worker_i);
- HeapRegion* calculateStartRegion(int i);
-
CardTableModRefBS* ct_bs() { return _ct_bs; }
size_t cardsScanned() { return _total_cards_scanned; }
@@ -124,7 +122,7 @@ public:
// parallel thread id of the current thread, and "claim_val" is the
// value that should be used to claim heap regions.
void scrub_par(BitMap* region_bm, BitMap* card_bm,
- int worker_num, int claim_val);
+ uint worker_num, int claim_val);
// Refine the card corresponding to "card_ptr". If "sts" is non-NULL,
// join and leave around parts that must be atomic wrt GC. (NULL means
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.inline.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.inline.hpp
index 29b44b2..7491e3a 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.inline.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.inline.hpp
@@ -29,7 +29,7 @@
#include "gc_implementation/g1/heapRegionRemSet.hpp"
#include "oops/oop.inline.hpp"
-inline size_t G1RemSet::n_workers() {
+inline uint G1RemSet::n_workers() {
if (_g1->workers() != NULL) {
return _g1->workers()->total_workers();
} else {
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp
index 861c947..d126458 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp
@@ -39,10 +39,6 @@
develop(intx, G1MarkingOverheadPercent, 0, \
"Overhead of concurrent marking") \
\
- \
- develop(intx, G1PolicyVerbose, 0, \
- "The verbosity level on G1 policy decisions") \
- \
develop(intx, G1MarkingVerboseLevel, 0, \
"Level (0-4) of verboseness of the marking code") \
\
@@ -58,9 +54,6 @@
develop(bool, G1TraceMarkStackOverflow, false, \
"If true, extra debugging code for CM restart for ovflw.") \
\
- develop(intx, G1PausesBtwnConcMark, -1, \
- "If positive, fixed number of pauses between conc markings") \
- \
diagnostic(bool, G1SummarizeConcMark, false, \
"Summarize concurrent mark info") \
\
@@ -296,7 +289,15 @@
\
develop(uintx, G1ConcMarkForceOverflow, 0, \
"The number of times we'll force an overflow during " \
- "concurrent marking")
+ "concurrent marking") \
+ \
+ develop(uintx, G1DefaultMinNewGenPercent, 20, \
+ "Percentage (0-100) of the heap size to use as minimum " \
+ "young gen size.") \
+ \
+ develop(uintx, G1DefaultMaxNewGenPercent, 80, \
+ "Percentage (0-100) of the heap size to use as maximum " \
+ "young gen size.")
G1_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG, DECLARE_MANAGEABLE_FLAG, DECLARE_PRODUCT_RW_FLAG)
diff --git a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
index 98b7ebf..336e4ca 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -94,7 +94,8 @@ public:
#endif // PRODUCT
}
- template <class T> void do_oop_work(T* p) {
+ template <class T>
+ void do_oop_work(T* p) {
assert(_containing_obj != NULL, "Precondition");
assert(!_g1h->is_obj_dead_cond(_containing_obj, _vo),
"Precondition");
@@ -102,8 +103,10 @@ public:
if (!oopDesc::is_null(heap_oop)) {
oop obj = oopDesc::decode_heap_oop_not_null(heap_oop);
bool failed = false;
- if (!_g1h->is_in_closed_subset(obj) ||
- _g1h->is_obj_dead_cond(obj, _vo)) {
+ if (!_g1h->is_in_closed_subset(obj) || _g1h->is_obj_dead_cond(obj, _vo)) {
+ MutexLockerEx x(ParGCRareEvent_lock,
+ Mutex::_no_safepoint_check_flag);
+
if (!_failures) {
gclog_or_tty->print_cr("");
gclog_or_tty->print_cr("----------");
@@ -133,6 +136,7 @@ public:
print_object(gclog_or_tty, obj);
}
gclog_or_tty->print_cr("----------");
+ gclog_or_tty->flush();
_failures = true;
failed = true;
_n_failures++;
@@ -155,6 +159,9 @@ public:
cv_field == dirty
: cv_obj == dirty || cv_field == dirty));
if (is_bad) {
+ MutexLockerEx x(ParGCRareEvent_lock,
+ Mutex::_no_safepoint_check_flag);
+
if (!_failures) {
gclog_or_tty->print_cr("");
gclog_or_tty->print_cr("----------");
@@ -174,6 +181,7 @@ public:
gclog_or_tty->print_cr("Obj head CTE = %d, field CTE = %d.",
cv_obj, cv_field);
gclog_or_tty->print_cr("----------");
+ gclog_or_tty->flush();
_failures = true;
if (!failed) _n_failures++;
}
@@ -567,6 +575,40 @@ void HeapRegion::oop_before_save_marks_iterate(OopClosure* cl) {
oops_in_mr_iterate(MemRegion(bottom(), saved_mark_word()), cl);
}
+void HeapRegion::note_self_forwarding_removal_start(bool during_initial_mark,
+ bool during_conc_mark) {
+ // We always recreate the prev marking info and we'll explicitly
+ // mark all objects we find to be self-forwarded on the prev
+ // bitmap. So all objects need to be below PTAMS.
+ _prev_top_at_mark_start = top();
+ _prev_marked_bytes = 0;
+
+ if (during_initial_mark) {
+ // During initial-mark, we'll also explicitly mark all objects
+ // we find to be self-forwarded on the next bitmap. So all
+ // objects need to be below NTAMS.
+ _next_top_at_mark_start = top();
+ set_top_at_conc_mark_count(bottom());
+ _next_marked_bytes = 0;
+ } else if (during_conc_mark) {
+ // During concurrent mark, all objects in the CSet (including
+ // the ones we find to be self-forwarded) are implicitly live.
+ // So all objects need to be above NTAMS.
+ _next_top_at_mark_start = bottom();
+ set_top_at_conc_mark_count(bottom());
+ _next_marked_bytes = 0;
+ }
+}
+
+void HeapRegion::note_self_forwarding_removal_end(bool during_initial_mark,
+ bool during_conc_mark,
+ size_t marked_bytes) {
+ assert(0 <= marked_bytes && marked_bytes <= used(),
+ err_msg("marked: "SIZE_FORMAT" used: "SIZE_FORMAT,
+ marked_bytes, used()));
+ _prev_marked_bytes = marked_bytes;
+}
+
HeapWord*
HeapRegion::object_iterate_mem_careful(MemRegion mr,
ObjectClosure* cl) {
diff --git a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.hpp b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.hpp
index 7071ad4..ad1599c 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -367,12 +367,14 @@ class HeapRegion: public G1OffsetTableContigSpace {
static void setup_heap_region_size(uintx min_heap_size);
enum ClaimValues {
- InitialClaimValue = 0,
- FinalCountClaimValue = 1,
- NoteEndClaimValue = 2,
- ScrubRemSetClaimValue = 3,
- ParVerifyClaimValue = 4,
- RebuildRSClaimValue = 5
+ InitialClaimValue = 0,
+ FinalCountClaimValue = 1,
+ NoteEndClaimValue = 2,
+ ScrubRemSetClaimValue = 3,
+ ParVerifyClaimValue = 4,
+ RebuildRSClaimValue = 5,
+ CompleteMarkCSetClaimValue = 6,
+ ParEvacFailureClaimValue = 7
};
inline HeapWord* par_allocate_no_bot_updates(size_t word_size) {
@@ -416,7 +418,7 @@ class HeapRegion: public G1OffsetTableContigSpace {
void add_to_marked_bytes(size_t incr_bytes) {
_next_marked_bytes = _next_marked_bytes + incr_bytes;
- guarantee( _next_marked_bytes <= used(), "invariant" );
+ assert(_next_marked_bytes <= used(), "invariant" );
}
void zero_marked_bytes() {
@@ -581,37 +583,33 @@ class HeapRegion: public G1OffsetTableContigSpace {
// that the collector is about to start or has finished (concurrently)
// marking the heap.
- // Note the start of a marking phase. Record the
- // start of the unmarked area of the region here.
- void note_start_of_marking(bool during_initial_mark) {
- init_top_at_conc_mark_count();
- _next_marked_bytes = 0;
- if (during_initial_mark && is_young() && !is_survivor())
- _next_top_at_mark_start = bottom();
- else
- _next_top_at_mark_start = top();
- }
-
- // Note the end of a marking phase. Install the start of
- // the unmarked area that was captured at start of marking.
- void note_end_of_marking() {
- _prev_top_at_mark_start = _next_top_at_mark_start;
- _prev_marked_bytes = _next_marked_bytes;
- _next_marked_bytes = 0;
-
- guarantee(_prev_marked_bytes <=
- (size_t) (prev_top_at_mark_start() - bottom()) * HeapWordSize,
- "invariant");
- }
-
- // After an evacuation, we need to update _next_top_at_mark_start
- // to be the current top. Note this is only valid if we have only
- // ever evacuated into this region. If we evacuate, allocate, and
- // then evacuate we are in deep doodoo.
- void note_end_of_copying() {
- assert(top() >= _next_top_at_mark_start, "Increase only");
- _next_top_at_mark_start = top();
- }
+ // Notify the region that concurrent marking is starting. Initialize
+ // all fields related to the next marking info.
+ inline void note_start_of_marking();
+
+ // Notify the region that concurrent marking has finished. Copy the
+ // (now finalized) next marking info fields into the prev marking
+ // info fields.
+ inline void note_end_of_marking();
+
+ // Notify the region that it will be used as to-space during a GC
+ // and we are about to start copying objects into it.
+ inline void note_start_of_copying(bool during_initial_mark);
+
+ // Notify the region that it ceases being to-space during a GC and
+ // we will not copy objects into it any more.
+ inline void note_end_of_copying(bool during_initial_mark);
+
+ // Notify the region that we are about to start processing
+ // self-forwarded objects during evac failure handling.
+ void note_self_forwarding_removal_start(bool during_initial_mark,
+ bool during_conc_mark);
+
+ // Notify the region that we have finished processing self-forwarded
+ // objects during evac failure handling.
+ void note_self_forwarding_removal_end(bool during_initial_mark,
+ bool during_conc_mark,
+ size_t marked_bytes);
// Returns "false" iff no object in the region was allocated when the
// last mark phase ended.
diff --git a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.inline.hpp b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.inline.hpp
index 93cad74..55d05d9 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.inline.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.inline.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -55,4 +55,71 @@ G1OffsetTableContigSpace::block_start_const(const void* p) const {
return _offsets.block_start_const(p);
}
+inline void HeapRegion::note_start_of_marking() {
+ init_top_at_conc_mark_count();
+ _next_marked_bytes = 0;
+ _next_top_at_mark_start = top();
+}
+
+inline void HeapRegion::note_end_of_marking() {
+ _prev_top_at_mark_start = _next_top_at_mark_start;
+ _prev_marked_bytes = _next_marked_bytes;
+ _next_marked_bytes = 0;
+
+ assert(_prev_marked_bytes <=
+ (size_t) pointer_delta(prev_top_at_mark_start(), bottom()) *
+ HeapWordSize, "invariant");
+}
+
+inline void HeapRegion::note_start_of_copying(bool during_initial_mark) {
+ if (during_initial_mark) {
+ if (is_survivor()) {
+ assert(false, "should not allocate survivors during IM");
+ } else {
+ // During initial-mark we'll explicitly mark any objects on old
+ // regions that are pointed to by roots. Given that explicit
+ // marks only make sense under NTAMS it'd be nice if we could
+ // check that condition if we wanted to. Given that we don't
+ // know where the top of this region will end up, we simply set
+ // NTAMS to the end of the region so all marks will be below
+ // NTAMS. We'll set it to the actual top when we retire this region.
+ _next_top_at_mark_start = end();
+ }
+ } else {
+ if (is_survivor()) {
+ // This is how we always allocate survivors.
+ assert(_next_top_at_mark_start == bottom(), "invariant");
+ } else {
+ // We could have re-used this old region as to-space over a
+ // couple of GCs since the start of the concurrent marking
+ // cycle. This means that [bottom,NTAMS) will contain objects
+ // copied up to and including initial-mark and [NTAMS, top)
+ // will contain objects copied during the concurrent marking cycle.
+ assert(top() >= _next_top_at_mark_start, "invariant");
+ }
+ }
+}
+
+inline void HeapRegion::note_end_of_copying(bool during_initial_mark) {
+ if (during_initial_mark) {
+ if (is_survivor()) {
+ assert(false, "should not allocate survivors during IM");
+ } else {
+ // See the comment for note_start_of_copying() for the details
+ // on this.
+ assert(_next_top_at_mark_start == end(), "pre-condition");
+ _next_top_at_mark_start = top();
+ }
+ } else {
+ if (is_survivor()) {
+ // This is how we always allocate survivors.
+ assert(_next_top_at_mark_start == bottom(), "invariant");
+ } else {
+ // See the comment for note_start_of_copying() for the details
+ // on this.
+ assert(top() >= _next_top_at_mark_start, "invariant");
+ }
+ }
+}
+
#endif // SHARE_VM_GC_IMPLEMENTATION_G1_HEAPREGION_INLINE_HPP
diff --git a/hotspot/src/share/vm/gc_implementation/g1/ptrQueue.hpp b/hotspot/src/share/vm/gc_implementation/g1/ptrQueue.hpp
index 55a96fc..1f6d9b2 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/ptrQueue.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/ptrQueue.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -70,7 +70,7 @@ public:
// given PtrQueueSet.
PtrQueue(PtrQueueSet* qset, bool perm = false, bool active = false);
// Release any contained resources.
- void flush();
+ virtual void flush();
// Calls flush() when destroyed.
~PtrQueue() { flush(); }
diff --git a/hotspot/src/share/vm/gc_implementation/g1/satbQueue.cpp b/hotspot/src/share/vm/gc_implementation/g1/satbQueue.cpp
index ea0c19a..69b01bc 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/satbQueue.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/satbQueue.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -31,6 +31,14 @@
#include "runtime/thread.hpp"
#include "runtime/vmThread.hpp"
+void ObjPtrQueue::flush() {
+ // The buffer might contain refs into the CSet. We have to filter it
+ // first before we flush it, otherwise we might end up with an
+ // enqueued buffer with refs into the CSet which breaks our invariants.
+ filter();
+ PtrQueue::flush();
+}
+
// This method removes entries from an SATB buffer that will not be
// useful to the concurrent marking threads. An entry is removed if it
// satisfies one of the following conditions:
@@ -44,38 +52,27 @@
// process it again).
//
// The rest of the entries will be retained and are compacted towards
-// the top of the buffer. If with this filtering we clear a large
-// enough chunk of the buffer we can re-use it (instead of enqueueing
-// it) and we can just allow the mutator to carry on executing.
-
-bool ObjPtrQueue::should_enqueue_buffer() {
- assert(_lock == NULL || _lock->owned_by_self(),
- "we should have taken the lock before calling this");
-
- // A value of 0 means "don't filter SATB buffers".
- if (G1SATBBufferEnqueueingThresholdPercent == 0) {
- return true;
- }
+// the top of the buffer. Note that, because we do not allow old
+// regions in the CSet during marking, all objects on the CSet regions
+// are young (eden or survivors) and therefore implicitly live. So any
+// references into the CSet will be removed during filtering.
+void ObjPtrQueue::filter() {
G1CollectedHeap* g1h = G1CollectedHeap::heap();
-
- // This method should only be called if there is a non-NULL buffer
- // that is full.
- assert(_index == 0, "pre-condition");
- assert(_buf != NULL, "pre-condition");
-
void** buf = _buf;
size_t sz = _sz;
+ if (buf == NULL) {
+ // nothing to do
+ return;
+ }
+
// Used for sanity checking at the end of the loop.
debug_only(size_t entries = 0; size_t retained = 0;)
size_t i = sz;
size_t new_index = sz;
- // Given that we are expecting _index == 0, we could have changed
- // the loop condition to (i > 0). But we are using _index for
- // generality.
while (i > _index) {
assert(i > 0, "we should have at least one more entry to process");
i -= oopSize;
@@ -103,22 +100,58 @@ bool ObjPtrQueue::should_enqueue_buffer() {
debug_only(retained += 1;)
}
}
+
+#ifdef ASSERT
size_t entries_calc = (sz - _index) / oopSize;
assert(entries == entries_calc, "the number of entries we counted "
"should match the number of entries we calculated");
size_t retained_calc = (sz - new_index) / oopSize;
assert(retained == retained_calc, "the number of retained entries we counted "
"should match the number of retained entries we calculated");
- size_t perc = retained_calc * 100 / entries_calc;
- bool should_enqueue = perc > (size_t) G1SATBBufferEnqueueingThresholdPercent;
+#endif // ASSERT
+
_index = new_index;
+}
+
+// This method will first apply the above filtering to the buffer. If
+// post-filtering a large enough chunk of the buffer has been cleared
+// we can re-use the buffer (instead of enqueueing it) and we can just
+// allow the mutator to carry on executing using the same buffer
+// instead of replacing it.
+
+bool ObjPtrQueue::should_enqueue_buffer() {
+ assert(_lock == NULL || _lock->owned_by_self(),
+ "we should have taken the lock before calling this");
+ // Even if G1SATBBufferEnqueueingThresholdPercent == 0 we have to
+ // filter the buffer given that this will remove any references into
+ // the CSet as we currently assume that no such refs will appear in
+ // enqueued buffers.
+
+ // This method should only be called if there is a non-NULL buffer
+ // that is full.
+ assert(_index == 0, "pre-condition");
+ assert(_buf != NULL, "pre-condition");
+
+ filter();
+
+ size_t sz = _sz;
+ size_t all_entries = sz / oopSize;
+ size_t retained_entries = (sz - _index) / oopSize;
+ size_t perc = retained_entries * 100 / all_entries;
+ bool should_enqueue = perc > (size_t) G1SATBBufferEnqueueingThresholdPercent;
return should_enqueue;
}
void ObjPtrQueue::apply_closure(ObjectClosure* cl) {
if (_buf != NULL) {
apply_closure_to_buffer(cl, _buf, _index, _sz);
+ }
+}
+
+void ObjPtrQueue::apply_closure_and_empty(ObjectClosure* cl) {
+ if (_buf != NULL) {
+ apply_closure_to_buffer(cl, _buf, _index, _sz);
_index = _sz;
}
}
@@ -135,6 +168,21 @@ void ObjPtrQueue::apply_closure_to_buffer(ObjectClosure* cl,
}
}
+#ifndef PRODUCT
+// Helpful for debugging
+
+void ObjPtrQueue::print(const char* name) {
+ print(name, _buf, _index, _sz);
+}
+
+void ObjPtrQueue::print(const char* name,
+ void** buf, size_t index, size_t sz) {
+ gclog_or_tty->print_cr(" SATB BUFFER [%s] buf: "PTR_FORMAT" "
+ "index: "SIZE_FORMAT" sz: "SIZE_FORMAT,
+ name, buf, index, sz);
+}
+#endif // PRODUCT
+
#ifdef ASSERT
void ObjPtrQueue::verify_oops_in_buffer() {
if (_buf == NULL) return;
@@ -150,12 +198,9 @@ void ObjPtrQueue::verify_oops_in_buffer() {
#pragma warning( disable:4355 ) // 'this' : used in base member initializer list
#endif // _MSC_VER
-
SATBMarkQueueSet::SATBMarkQueueSet() :
- PtrQueueSet(),
- _closure(NULL), _par_closures(NULL),
- _shared_satb_queue(this, true /*perm*/)
-{}
+ PtrQueueSet(), _closure(NULL), _par_closures(NULL),
+ _shared_satb_queue(this, true /*perm*/) { }
void SATBMarkQueueSet::initialize(Monitor* cbl_mon, Mutex* fl_lock,
int process_completed_threshold,
@@ -167,7 +212,6 @@ void SATBMarkQueueSet::initialize(Monitor* cbl_mon, Mutex* fl_lock,
}
}
-
void SATBMarkQueueSet::handle_zero_index_for_thread(JavaThread* t) {
DEBUG_ONLY(t->satb_mark_queue().verify_oops_in_buffer();)
t->satb_mark_queue().handle_zero_index();
@@ -228,6 +272,13 @@ void SATBMarkQueueSet::set_active_all_threads(bool b,
}
}
+void SATBMarkQueueSet::filter_thread_buffers() {
+ for(JavaThread* t = Threads::first(); t; t = t->next()) {
+ t->satb_mark_queue().filter();
+ }
+ shared_satb_queue()->filter();
+}
+
void SATBMarkQueueSet::set_closure(ObjectClosure* closure) {
_closure = closure;
}
@@ -239,9 +290,9 @@ void SATBMarkQueueSet::set_par_closure(int i, ObjectClosure* par_closure) {
void SATBMarkQueueSet::iterate_closure_all_threads() {
for(JavaThread* t = Threads::first(); t; t = t->next()) {
- t->satb_mark_queue().apply_closure(_closure);
+ t->satb_mark_queue().apply_closure_and_empty(_closure);
}
- shared_satb_queue()->apply_closure(_closure);
+ shared_satb_queue()->apply_closure_and_empty(_closure);
}
void SATBMarkQueueSet::par_iterate_closure_all_threads(int worker) {
@@ -250,7 +301,7 @@ void SATBMarkQueueSet::par_iterate_closure_all_threads(int worker) {
for(JavaThread* t = Threads::first(); t; t = t->next()) {
if (t->claim_oops_do(true, parity)) {
- t->satb_mark_queue().apply_closure(_par_closures[worker]);
+ t->satb_mark_queue().apply_closure_and_empty(_par_closures[worker]);
}
}
@@ -264,7 +315,7 @@ void SATBMarkQueueSet::par_iterate_closure_all_threads(int worker) {
VMThread* vmt = VMThread::vm_thread();
if (vmt->claim_oops_do(true, parity)) {
- shared_satb_queue()->apply_closure(_par_closures[worker]);
+ shared_satb_queue()->apply_closure_and_empty(_par_closures[worker]);
}
}
@@ -292,6 +343,61 @@ bool SATBMarkQueueSet::apply_closure_to_completed_buffer_work(bool par,
}
}
+void SATBMarkQueueSet::iterate_completed_buffers_read_only(ObjectClosure* cl) {
+ assert(SafepointSynchronize::is_at_safepoint(), "Must be at safepoint.");
+ assert(cl != NULL, "pre-condition");
+
+ BufferNode* nd = _completed_buffers_head;
+ while (nd != NULL) {
+ void** buf = BufferNode::make_buffer_from_node(nd);
+ ObjPtrQueue::apply_closure_to_buffer(cl, buf, 0, _sz);
+ nd = nd->next();
+ }
+}
+
+void SATBMarkQueueSet::iterate_thread_buffers_read_only(ObjectClosure* cl) {
+ assert(SafepointSynchronize::is_at_safepoint(), "Must be at safepoint.");
+ assert(cl != NULL, "pre-condition");
+
+ for (JavaThread* t = Threads::first(); t; t = t->next()) {
+ t->satb_mark_queue().apply_closure(cl);
+ }
+ shared_satb_queue()->apply_closure(cl);
+}
+
+#ifndef PRODUCT
+// Helpful for debugging
+
+#define SATB_PRINTER_BUFFER_SIZE 256
+
+void SATBMarkQueueSet::print_all(const char* msg) {
+ char buffer[SATB_PRINTER_BUFFER_SIZE];
+ assert(SafepointSynchronize::is_at_safepoint(), "Must be at safepoint.");
+
+ gclog_or_tty->cr();
+ gclog_or_tty->print_cr("SATB BUFFERS [%s]", msg);
+
+ BufferNode* nd = _completed_buffers_head;
+ int i = 0;
+ while (nd != NULL) {
+ void** buf = BufferNode::make_buffer_from_node(nd);
+ jio_snprintf(buffer, SATB_PRINTER_BUFFER_SIZE, "Enqueued: %d", i);
+ ObjPtrQueue::print(buffer, buf, 0, _sz);
+ nd = nd->next();
+ i += 1;
+ }
+
+ for (JavaThread* t = Threads::first(); t; t = t->next()) {
+ jio_snprintf(buffer, SATB_PRINTER_BUFFER_SIZE, "Thread: %s", t->name());
+ t->satb_mark_queue().print(buffer);
+ }
+
+ shared_satb_queue()->print("Shared");
+
+ gclog_or_tty->cr();
+}
+#endif // PRODUCT
+
void SATBMarkQueueSet::abandon_partial_marking() {
BufferNode* buffers_to_delete = NULL;
{
@@ -316,5 +422,5 @@ void SATBMarkQueueSet::abandon_partial_marking() {
for (JavaThread* t = Threads::first(); t; t = t->next()) {
t->satb_mark_queue().reset();
}
- shared_satb_queue()->reset();
+ shared_satb_queue()->reset();
}
diff --git a/hotspot/src/share/vm/gc_implementation/g1/satbQueue.hpp b/hotspot/src/share/vm/gc_implementation/g1/satbQueue.hpp
index 5a44b16..adce5ff 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/satbQueue.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/satbQueue.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -29,9 +29,26 @@
class ObjectClosure;
class JavaThread;
+class SATBMarkQueueSet;
// A ptrQueue whose elements are "oops", pointers to object heads.
class ObjPtrQueue: public PtrQueue {
+ friend class SATBMarkQueueSet;
+
+private:
+ // Filter out unwanted entries from the buffer.
+ void filter();
+
+ // Apply the closure to all elements.
+ void apply_closure(ObjectClosure* cl);
+
+ // Apply the closure to all elements and empty the buffer;
+ void apply_closure_and_empty(ObjectClosure* cl);
+
+ // Apply the closure to all elements of "buf", down to "index" (inclusive.)
+ static void apply_closure_to_buffer(ObjectClosure* cl,
+ void** buf, size_t index, size_t sz);
+
public:
ObjPtrQueue(PtrQueueSet* qset, bool perm = false) :
// SATB queues are only active during marking cycles. We create
@@ -41,23 +58,23 @@ public:
// field to true. This is done in JavaThread::initialize_queues().
PtrQueue(qset, perm, false /* active */) { }
+ // Overrides PtrQueue::flush() so that it can filter the buffer
+ // before it is flushed.
+ virtual void flush();
+
// Overrides PtrQueue::should_enqueue_buffer(). See the method's
// definition for more information.
virtual bool should_enqueue_buffer();
- // Apply the closure to all elements, and reset the index to make the
- // buffer empty.
- void apply_closure(ObjectClosure* cl);
-
- // Apply the closure to all elements of "buf", down to "index" (inclusive.)
- static void apply_closure_to_buffer(ObjectClosure* cl,
- void** buf, size_t index, size_t sz);
+#ifndef PRODUCT
+ // Helpful for debugging
+ void print(const char* name);
+ static void print(const char* name, void** buf, size_t index, size_t sz);
+#endif // PRODUCT
void verify_oops_in_buffer() NOT_DEBUG_RETURN;
};
-
-
class SATBMarkQueueSet: public PtrQueueSet {
ObjectClosure* _closure;
ObjectClosure** _par_closures; // One per ParGCThread.
@@ -88,6 +105,9 @@ public:
// set itself, has an active value same as expected_active.
void set_active_all_threads(bool b, bool expected_active);
+ // Filter all the currently-active SATB buffers.
+ void filter_thread_buffers();
+
// Register "blk" as "the closure" for all queues. Only one such closure
// is allowed. The "apply_closure_to_completed_buffer" method will apply
// this closure to a completed buffer, and "iterate_closure_all_threads"
@@ -98,10 +118,9 @@ public:
// closures, one for each parallel GC thread.
void set_par_closure(int i, ObjectClosure* closure);
- // If there is a registered closure for buffers, apply it to all entries
- // in all currently-active buffers. This should only be applied at a
- // safepoint. (Currently must not be called in parallel; this should
- // change in the future.)
+ // Apply the registered closure to all entries on each
+ // currently-active buffer and then empty the buffer. It should only
+ // be called serially and at a safepoint.
void iterate_closure_all_threads();
// Parallel version of the above.
void par_iterate_closure_all_threads(int worker);
@@ -117,11 +136,21 @@ public:
return apply_closure_to_completed_buffer_work(true, worker);
}
+ // Apply the given closure on enqueued and currently-active buffers
+ // respectively. Both methods are read-only, i.e., they do not
+ // modify any of the buffers.
+ void iterate_completed_buffers_read_only(ObjectClosure* cl);
+ void iterate_thread_buffers_read_only(ObjectClosure* cl);
+
+#ifndef PRODUCT
+ // Helpful for debugging
+ void print_all(const char* msg);
+#endif // PRODUCT
+
ObjPtrQueue* shared_satb_queue() { return &_shared_satb_queue; }
// If a marking is being abandoned, reset any unprocessed log buffers.
void abandon_partial_marking();
-
};
#endif // SHARE_VM_GC_IMPLEMENTATION_G1_SATBQUEUE_HPP
diff --git a/hotspot/src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp b/hotspot/src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp
index ea75a59..25be723 100644
--- a/hotspot/src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp
@@ -33,6 +33,7 @@
#include "runtime/java.hpp"
#include "runtime/mutexLocker.hpp"
#include "runtime/virtualspace.hpp"
+#include "runtime/vmThread.hpp"
void CardTableModRefBS::non_clean_card_iterate_parallel_work(Space* sp, MemRegion mr,
OopsInGenClosure* cl,
@@ -42,6 +43,11 @@ void CardTableModRefBS::non_clean_card_iterate_parallel_work(Space* sp, MemRegio
assert((n_threads == 1 && ParallelGCThreads == 0) ||
n_threads <= (int)ParallelGCThreads,
"# worker threads != # requested!");
+ assert(!Thread::current()->is_VM_thread() || (n_threads == 1), "There is only 1 VM thread");
+ assert(UseDynamicNumberOfGCThreads ||
+ !FLAG_IS_DEFAULT(ParallelGCThreads) ||
+ n_threads == (int)ParallelGCThreads,
+ "# worker threads != # requested!");
// Make sure the LNC array is valid for the space.
jbyte** lowest_non_clean;
uintptr_t lowest_non_clean_base_chunk_index;
@@ -50,12 +56,14 @@ void CardTableModRefBS::non_clean_card_iterate_parallel_work(Space* sp, MemRegio
lowest_non_clean_base_chunk_index,
lowest_non_clean_chunk_size);
- int n_strides = n_threads * ParGCStridesPerThread;
+ uint n_strides = n_threads * ParGCStridesPerThread;
SequentialSubTasksDone* pst = sp->par_seq_tasks();
+ // Sets the condition for completion of the subtask (how many threads
+ // need to finish in order to be done).
pst->set_n_threads(n_threads);
pst->set_n_tasks(n_strides);
- int stride = 0;
+ uint stride = 0;
while (!pst->is_task_claimed(/* reference */ stride)) {
process_stride(sp, mr, stride, n_strides, cl, ct,
lowest_non_clean,
diff --git a/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp b/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
index 578a4e0..9144594 100644
--- a/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
@@ -305,7 +305,7 @@ public:
inline ParScanThreadState& thread_state(int i);
- void reset(bool promotion_failed);
+ void reset(int active_workers, bool promotion_failed);
void flush();
#if TASKQUEUE_STATS
@@ -322,6 +322,9 @@ private:
ParallelTaskTerminator& _term;
ParNewGeneration& _gen;
Generation& _next_gen;
+ public:
+ bool is_valid(int id) const { return id < length(); }
+ ParallelTaskTerminator* terminator() { return &_term; }
};
@@ -351,9 +354,9 @@ inline ParScanThreadState& ParScanThreadStateSet::thread_state(int i)
}
-void ParScanThreadStateSet::reset(bool promotion_failed)
+void ParScanThreadStateSet::reset(int active_threads, bool promotion_failed)
{
- _term.reset_for_reuse();
+ _term.reset_for_reuse(active_threads);
if (promotion_failed) {
for (int i = 0; i < length(); ++i) {
thread_state(i).print_and_clear_promotion_failure_size();
@@ -569,7 +572,25 @@ ParNewGenTask::ParNewGenTask(ParNewGeneration* gen, Generation* next_gen,
_state_set(state_set)
{}
-void ParNewGenTask::work(int i) {
+// Reset the terminator for the given number of
+// active threads.
+void ParNewGenTask::set_for_termination(int active_workers) {
+ _state_set->reset(active_workers, _gen->promotion_failed());
+ // Should the heap be passed in? There's only 1 for now so
+ // grab it instead.
+ GenCollectedHeap* gch = GenCollectedHeap::heap();
+ gch->set_n_termination(active_workers);
+}
+
+// The "i" passed to this method is the part of the work for
+// this thread. It is not the worker ID. The "i" is derived
+// from _started_workers which is incremented in internal_note_start()
+// called in GangWorker loop() and which is called under the
+// which is called under the protection of the gang monitor and is
+// called after a task is started. So "i" is based on
+// first-come-first-served.
+
+void ParNewGenTask::work(uint worker_id) {
GenCollectedHeap* gch = GenCollectedHeap::heap();
// Since this is being done in a separate thread, need new resource
// and handle marks.
@@ -580,7 +601,9 @@ void ParNewGenTask::work(int i) {
Generation* old_gen = gch->next_gen(_gen);
- ParScanThreadState& par_scan_state = _state_set->thread_state(i);
+ ParScanThreadState& par_scan_state = _state_set->thread_state(worker_id);
+ assert(_state_set->is_valid(worker_id), "Should not have been called");
+
par_scan_state.set_young_old_boundary(_young_old_boundary);
par_scan_state.start_strong_roots();
@@ -732,8 +755,10 @@ public:
ParScanThreadStateSet& state_set);
private:
- virtual void work(int i);
-
+ virtual void work(uint worker_id);
+ virtual void set_for_termination(int active_workers) {
+ _state_set.terminator()->reset_for_reuse(active_workers);
+ }
private:
ParNewGeneration& _gen;
ProcessTask& _task;
@@ -756,13 +781,13 @@ ParNewRefProcTaskProxy::ParNewRefProcTaskProxy(
{
}
-void ParNewRefProcTaskProxy::work(int i)
+void ParNewRefProcTaskProxy::work(uint worker_id)
{
ResourceMark rm;
HandleMark hm;
- ParScanThreadState& par_scan_state = _state_set.thread_state(i);
+ ParScanThreadState& par_scan_state = _state_set.thread_state(worker_id);
par_scan_state.set_young_old_boundary(_young_old_boundary);
- _task.work(i, par_scan_state.is_alive_closure(),
+ _task.work(worker_id, par_scan_state.is_alive_closure(),
par_scan_state.keep_alive_closure(),
par_scan_state.evacuate_followers_closure());
}
@@ -777,9 +802,9 @@ public:
_task(task)
{ }
- virtual void work(int i)
+ virtual void work(uint worker_id)
{
- _task.work(i);
+ _task.work(worker_id);
}
};
@@ -789,18 +814,20 @@ void ParNewRefProcTaskExecutor::execute(ProcessTask& task)
GenCollectedHeap* gch = GenCollectedHeap::heap();
assert(gch->kind() == CollectedHeap::GenCollectedHeap,
"not a generational heap");
- WorkGang* workers = gch->workers();
+ FlexibleWorkGang* workers = gch->workers();
assert(workers != NULL, "Need parallel worker threads.");
+ _state_set.reset(workers->active_workers(), _generation.promotion_failed());
ParNewRefProcTaskProxy rp_task(task, _generation, *_generation.next_gen(),
_generation.reserved().end(), _state_set);
workers->run_task(&rp_task);
- _state_set.reset(_generation.promotion_failed());
+ _state_set.reset(0 /* bad value in debug if not reset */,
+ _generation.promotion_failed());
}
void ParNewRefProcTaskExecutor::execute(EnqueueTask& task)
{
GenCollectedHeap* gch = GenCollectedHeap::heap();
- WorkGang* workers = gch->workers();
+ FlexibleWorkGang* workers = gch->workers();
assert(workers != NULL, "Need parallel worker threads.");
ParNewRefEnqueueTaskProxy enq_task(task);
workers->run_task(&enq_task);
@@ -856,7 +883,13 @@ void ParNewGeneration::collect(bool full,
assert(gch->kind() == CollectedHeap::GenCollectedHeap,
"not a CMS generational heap");
AdaptiveSizePolicy* size_policy = gch->gen_policy()->size_policy();
- WorkGang* workers = gch->workers();
+ FlexibleWorkGang* workers = gch->workers();
+ assert(workers != NULL, "Need workgang for parallel work");
+ int active_workers =
+ AdaptiveSizePolicy::calc_active_workers(workers->total_workers(),
+ workers->active_workers(),
+ Threads::number_of_non_daemon_threads());
+ workers->set_active_workers(active_workers);
_next_gen = gch->next_gen(this);
assert(_next_gen != NULL,
"This must be the youngest gen, and not the only gen");
@@ -894,13 +927,19 @@ void ParNewGeneration::collect(bool full,
gch->save_marks();
assert(workers != NULL, "Need parallel worker threads.");
- ParallelTaskTerminator _term(workers->total_workers(), task_queues());
- ParScanThreadStateSet thread_state_set(workers->total_workers(),
+ int n_workers = active_workers;
+
+ // Set the correct parallelism (number of queues) in the reference processor
+ ref_processor()->set_active_mt_degree(n_workers);
+
+ // Always set the terminator for the active number of workers
+ // because only those workers go through the termination protocol.
+ ParallelTaskTerminator _term(n_workers, task_queues());
+ ParScanThreadStateSet thread_state_set(workers->active_workers(),
*to(), *this, *_next_gen, *task_queues(),
_overflow_stacks, desired_plab_sz(), _term);
ParNewGenTask tsk(this, _next_gen, reserved().end(), &thread_state_set);
- int n_workers = workers->total_workers();
gch->set_par_threads(n_workers);
gch->rem_set()->prepare_for_younger_refs_iterate(true);
// It turns out that even when we're using 1 thread, doing the work in a
@@ -914,7 +953,8 @@ void ParNewGeneration::collect(bool full,
GenCollectedHeap::StrongRootsScope srs(gch);
tsk.work(0);
}
- thread_state_set.reset(promotion_failed());
+ thread_state_set.reset(0 /* Bad value in debug if not reset */,
+ promotion_failed());
// Process (weak) reference objects found during scavenge.
ReferenceProcessor* rp = ref_processor();
@@ -927,6 +967,8 @@ void ParNewGeneration::collect(bool full,
EvacuateFollowersClosureGeneral evacuate_followers(gch, _level,
&scan_without_gc_barrier, &scan_with_gc_barrier);
rp->setup_policy(clear_all_soft_refs);
+ // Can the mt_degree be set later (at run_task() time would be best)?
+ rp->set_active_mt_degree(active_workers);
if (rp->processing_is_mt()) {
ParNewRefProcTaskExecutor task_executor(*this, thread_state_set);
rp->process_discovered_references(&is_alive, &keep_alive,
diff --git a/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.hpp b/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.hpp
index 296eb82..75eac03 100644
--- a/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.hpp
+++ b/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.hpp
@@ -239,7 +239,11 @@ public:
HeapWord* young_old_boundary() { return _young_old_boundary; }
- void work(int i);
+ void work(uint worker_id);
+
+ // Reset the terminator in ParScanThreadStateSet for
+ // "active_workers" threads.
+ virtual void set_for_termination(int active_workers);
};
class KeepAliveClosure: public DefNewGeneration::KeepAliveClosure {
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp
index 5b06d31..6e42fac 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp
@@ -223,7 +223,8 @@ void CardTableExtension::scavenge_contents_parallel(ObjectStartArray* start_arra
MutableSpace* sp,
HeapWord* space_top,
PSPromotionManager* pm,
- uint stripe_number) {
+ uint stripe_number,
+ uint stripe_total) {
int ssize = 128; // Naked constant! Work unit = 64k.
int dirty_card_count = 0;
@@ -231,7 +232,11 @@ void CardTableExtension::scavenge_contents_parallel(ObjectStartArray* start_arra
jbyte* start_card = byte_for(sp->bottom());
jbyte* end_card = byte_for(sp_top - 1) + 1;
oop* last_scanned = NULL; // Prevent scanning objects more than once
- for (jbyte* slice = start_card; slice < end_card; slice += ssize*ParallelGCThreads) {
+ // The width of the stripe ssize*stripe_total must be
+ // consistent with the number of stripes so that the complete slice
+ // is covered.
+ size_t slice_width = ssize * stripe_total;
+ for (jbyte* slice = start_card; slice < end_card; slice += slice_width) {
jbyte* worker_start_card = slice + stripe_number * ssize;
if (worker_start_card >= end_card)
return; // We're done.
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.hpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.hpp
index 00d6673..27f917d 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.hpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.hpp
@@ -69,7 +69,8 @@ class CardTableExtension : public CardTableModRefBS {
MutableSpace* sp,
HeapWord* space_top,
PSPromotionManager* pm,
- uint stripe_number);
+ uint stripe_number,
+ uint stripe_total);
// Verification
static void verify_all_young_refs_imprecise();
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp
index c4c5120..04424aa 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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,6 +25,7 @@
#include "precompiled.hpp"
#include "gc_implementation/parallelScavenge/gcTaskManager.hpp"
#include "gc_implementation/parallelScavenge/gcTaskThread.hpp"
+#include "gc_implementation/shared/adaptiveSizePolicy.hpp"
#include "memory/allocation.hpp"
#include "memory/allocation.inline.hpp"
#include "runtime/mutex.hpp"
@@ -52,6 +53,9 @@ const char* GCTask::Kind::to_string(kind value) {
case noop_task:
result = "noop task";
break;
+ case idle_task:
+ result = "idle task";
+ break;
}
return result;
};
@@ -181,6 +185,7 @@ void GCTaskQueue::enqueue(GCTask* task) {
}
set_insert_end(task);
increment_length();
+ verify_length();
if (TraceGCTaskQueue) {
print("after:");
}
@@ -192,7 +197,7 @@ void GCTaskQueue::enqueue(GCTaskQueue* list) {
tty->print_cr("[" INTPTR_FORMAT "]"
" GCTaskQueue::enqueue(list: "
INTPTR_FORMAT ")",
- this);
+ this, list);
print("before:");
list->print("list:");
}
@@ -211,14 +216,15 @@ void GCTaskQueue::enqueue(GCTaskQueue* list) {
list->remove_end()->set_older(insert_end());
insert_end()->set_newer(list->remove_end());
set_insert_end(list->insert_end());
+ set_length(length() + list_length);
// empty the argument list.
}
- set_length(length() + list_length);
list->initialize();
if (TraceGCTaskQueue) {
print("after:");
list->print("list:");
}
+ verify_length();
}
// Dequeue one task.
@@ -288,6 +294,7 @@ GCTask* GCTaskQueue::remove() {
decrement_length();
assert(result->newer() == NULL, "shouldn't be on queue");
assert(result->older() == NULL, "shouldn't be on queue");
+ verify_length();
return result;
}
@@ -311,22 +318,40 @@ GCTask* GCTaskQueue::remove(GCTask* task) {
result->set_newer(NULL);
result->set_older(NULL);
decrement_length();
+ verify_length();
return result;
}
NOT_PRODUCT(
+// Count the elements in the queue and verify the length against
+// that count.
+void GCTaskQueue::verify_length() const {
+ uint count = 0;
+ for (GCTask* element = insert_end();
+ element != NULL;
+ element = element->older()) {
+
+ count++;
+ }
+ assert(count == length(), "Length does not match queue");
+}
+
void GCTaskQueue::print(const char* message) const {
tty->print_cr("[" INTPTR_FORMAT "] GCTaskQueue:"
" insert_end: " INTPTR_FORMAT
" remove_end: " INTPTR_FORMAT
+ " length: %d"
" %s",
- this, insert_end(), remove_end(), message);
+ this, insert_end(), remove_end(), length(), message);
+ uint count = 0;
for (GCTask* element = insert_end();
element != NULL;
element = element->older()) {
element->print(" ");
+ count++;
tty->cr();
}
+ tty->print("Total tasks: %d", count);
}
)
@@ -351,12 +376,16 @@ SynchronizedGCTaskQueue::~SynchronizedGCTaskQueue() {
//
GCTaskManager::GCTaskManager(uint workers) :
_workers(workers),
+ _active_workers(0),
+ _idle_workers(0),
_ndc(NULL) {
initialize();
}
GCTaskManager::GCTaskManager(uint workers, NotifyDoneClosure* ndc) :
_workers(workers),
+ _active_workers(0),
+ _idle_workers(0),
_ndc(ndc) {
initialize();
}
@@ -373,6 +402,7 @@ void GCTaskManager::initialize() {
GCTaskQueue* unsynchronized_queue = GCTaskQueue::create_on_c_heap();
_queue = SynchronizedGCTaskQueue::create(unsynchronized_queue, lock());
_noop_task = NoopGCTask::create_on_c_heap();
+ _idle_inactive_task = WaitForBarrierGCTask::create_on_c_heap();
_resource_flag = NEW_C_HEAP_ARRAY(bool, workers());
{
// Set up worker threads.
@@ -418,6 +448,8 @@ GCTaskManager::~GCTaskManager() {
assert(queue()->is_empty(), "still have queued work");
NoopGCTask::destroy(_noop_task);
_noop_task = NULL;
+ WaitForBarrierGCTask::destroy(_idle_inactive_task);
+ _idle_inactive_task = NULL;
if (_thread != NULL) {
for (uint i = 0; i < workers(); i += 1) {
GCTaskThread::destroy(thread(i));
@@ -442,6 +474,86 @@ GCTaskManager::~GCTaskManager() {
}
}
+void GCTaskManager::set_active_gang() {
+ _active_workers =
+ AdaptiveSizePolicy::calc_active_workers(workers(),
+ active_workers(),
+ Threads::number_of_non_daemon_threads());
+
+ assert(!all_workers_active() || active_workers() == ParallelGCThreads,
+ err_msg("all_workers_active() is incorrect: "
+ "active %d ParallelGCThreads %d", active_workers(),
+ ParallelGCThreads));
+ if (TraceDynamicGCThreads) {
+ gclog_or_tty->print_cr("GCTaskManager::set_active_gang(): "
+ "all_workers_active() %d workers %d "
+ "active %d ParallelGCThreads %d ",
+ all_workers_active(), workers(), active_workers(),
+ ParallelGCThreads);
+ }
+}
+
+// Create IdleGCTasks for inactive workers.
+// Creates tasks in a ResourceArea and assumes
+// an appropriate ResourceMark.
+void GCTaskManager::task_idle_workers() {
+ {
+ int more_inactive_workers = 0;
+ {
+ // Stop any idle tasks from exiting their IdleGCTask's
+ // and get the count for additional IdleGCTask's under
+ // the GCTaskManager's monitor so that the "more_inactive_workers"
+ // count is correct.
+ MutexLockerEx ml(monitor(), Mutex::_no_safepoint_check_flag);
+ _idle_inactive_task->set_should_wait(true);
+ // active_workers are a number being requested. idle_workers
+ // are the number currently idle. If all the workers are being
+ // requested to be active but some are already idle, reduce
+ // the number of active_workers to be consistent with the
+ // number of idle_workers. The idle_workers are stuck in
+ // idle tasks and will no longer be release (since a new GC
+ // is starting). Try later to release enough idle_workers
+ // to allow the desired number of active_workers.
+ more_inactive_workers =
+ workers() - active_workers() - idle_workers();
+ if (more_inactive_workers < 0) {
+ int reduced_active_workers = active_workers() + more_inactive_workers;
+ set_active_workers(reduced_active_workers);
+ more_inactive_workers = 0;
+ }
+ if (TraceDynamicGCThreads) {
+ gclog_or_tty->print_cr("JT: %d workers %d active %d "
+ "idle %d more %d",
+ Threads::number_of_non_daemon_threads(),
+ workers(),
+ active_workers(),
+ idle_workers(),
+ more_inactive_workers);
+ }
+ }
+ GCTaskQueue* q = GCTaskQueue::create();
+ for(uint i = 0; i < (uint) more_inactive_workers; i++) {
+ q->enqueue(IdleGCTask::create_on_c_heap());
+ increment_idle_workers();
+ }
+ assert(workers() == active_workers() + idle_workers(),
+ "total workers should equal active + inactive");
+ add_list(q);
+ // GCTaskQueue* q was created in a ResourceArea so a
+ // destroy() call is not needed.
+ }
+}
+
+void GCTaskManager::release_idle_workers() {
+ {
+ MutexLockerEx ml(monitor(),
+ Mutex::_no_safepoint_check_flag);
+ _idle_inactive_task->set_should_wait(false);
+ monitor()->notify_all();
+ // Release monitor
+ }
+}
+
void GCTaskManager::print_task_time_stamps() {
for(uint i=0; i<ParallelGCThreads; i++) {
GCTaskThread* t = thread(i);
@@ -510,6 +622,13 @@ void GCTaskManager::add_list(GCTaskQueue* list) {
// Release monitor().
}
+// GC workers wait in get_task() for new work to be added
+// to the GCTaskManager's queue. When new work is added,
+// a notify is sent to the waiting GC workers which then
+// compete to get tasks. If a GC worker wakes up and there
+// is no work on the queue, it is given a noop_task to execute
+// and then loops to find more work.
+
GCTask* GCTaskManager::get_task(uint which) {
GCTask* result = NULL;
// Grab the queue lock.
@@ -558,8 +677,10 @@ GCTask* GCTaskManager::get_task(uint which) {
which, result, GCTask::Kind::to_string(result->kind()));
tty->print_cr(" %s", result->name());
}
- increment_busy_workers();
- increment_delivered_tasks();
+ if (!result->is_idle_task()) {
+ increment_busy_workers();
+ increment_delivered_tasks();
+ }
return result;
// Release monitor().
}
@@ -622,6 +743,7 @@ uint GCTaskManager::increment_busy_workers() {
uint GCTaskManager::decrement_busy_workers() {
assert(queue()->own_lock(), "don't own the lock");
+ assert(_busy_workers > 0, "About to make a mistake");
_busy_workers -= 1;
return _busy_workers;
}
@@ -643,11 +765,34 @@ void GCTaskManager::note_release(uint which) {
set_resource_flag(which, false);
}
+// "list" contains tasks that are ready to execute. Those
+// tasks are added to the GCTaskManager's queue of tasks and
+// then the GC workers are notified that there is new work to
+// do.
+//
+// Typically different types of tasks can be added to the "list".
+// For example in PSScavenge OldToYoungRootsTask, SerialOldToYoungRootsTask,
+// ScavengeRootsTask, and StealTask tasks are all added to the list
+// and then the GC workers are notified of new work. The tasks are
+// handed out in the order in which they are added to the list
+// (although execution is not necessarily in that order). As long
+// as any tasks are running the GCTaskManager will wait for execution
+// to complete. GC workers that execute a stealing task remain in
+// the stealing task until all stealing tasks have completed. The load
+// balancing afforded by the stealing tasks work best if the stealing
+// tasks are added last to the list.
+
void GCTaskManager::execute_and_wait(GCTaskQueue* list) {
WaitForBarrierGCTask* fin = WaitForBarrierGCTask::create();
list->enqueue(fin);
+ // The barrier task will be read by one of the GC
+ // workers once it is added to the list of tasks.
+ // Be sure that is globally visible before the
+ // GC worker reads it (which is after the task is added
+ // to the list of tasks below).
+ OrderAccess::storestore();
add_list(list);
- fin->wait_for();
+ fin->wait_for(true /* reset */);
// We have to release the barrier tasks!
WaitForBarrierGCTask::destroy(fin);
}
@@ -692,6 +837,76 @@ void NoopGCTask::destruct() {
}
//
+// IdleGCTask
+//
+
+IdleGCTask* IdleGCTask::create() {
+ IdleGCTask* result = new IdleGCTask(false);
+ assert(UseDynamicNumberOfGCThreads,
+ "Should only be used with dynamic GC thread");
+ return result;
+}
+
+IdleGCTask* IdleGCTask::create_on_c_heap() {
+ IdleGCTask* result = new(ResourceObj::C_HEAP) IdleGCTask(true);
+ assert(UseDynamicNumberOfGCThreads,
+ "Should only be used with dynamic GC thread");
+ return result;
+}
+
+void IdleGCTask::do_it(GCTaskManager* manager, uint which) {
+ WaitForBarrierGCTask* wait_for_task = manager->idle_inactive_task();
+ if (TraceGCTaskManager) {
+ tty->print_cr("[" INTPTR_FORMAT "]"
+ " IdleGCTask:::do_it()"
+ " should_wait: %s",
+ this, wait_for_task->should_wait() ? "true" : "false");
+ }
+ MutexLockerEx ml(manager->monitor(), Mutex::_no_safepoint_check_flag);
+ if (TraceDynamicGCThreads) {
+ gclog_or_tty->print_cr("--- idle %d", which);
+ }
+ // Increment has to be done when the idle tasks are created.
+ // manager->increment_idle_workers();
+ manager->monitor()->notify_all();
+ while (wait_for_task->should_wait()) {
+ if (TraceGCTaskManager) {
+ tty->print_cr("[" INTPTR_FORMAT "]"
+ " IdleGCTask::do_it()"
+ " [" INTPTR_FORMAT "] (%s)->wait()",
+ this, manager->monitor(), manager->monitor()->name());
+ }
+ manager->monitor()->wait(Mutex::_no_safepoint_check_flag, 0);
+ }
+ manager->decrement_idle_workers();
+ if (TraceDynamicGCThreads) {
+ gclog_or_tty->print_cr("--- release %d", which);
+ }
+ if (TraceGCTaskManager) {
+ tty->print_cr("[" INTPTR_FORMAT "]"
+ " IdleGCTask::do_it() returns"
+ " should_wait: %s",
+ this, wait_for_task->should_wait() ? "true" : "false");
+ }
+ // Release monitor().
+}
+
+void IdleGCTask::destroy(IdleGCTask* that) {
+ if (that != NULL) {
+ that->destruct();
+ if (that->is_c_heap_obj()) {
+ FreeHeap(that);
+ }
+ }
+}
+
+void IdleGCTask::destruct() {
+ // This has to know it's superclass structure, just like the constructor.
+ this->GCTask::destruct();
+ // Nothing else to do.
+}
+
+//
// BarrierGCTask
//
@@ -768,7 +983,8 @@ WaitForBarrierGCTask* WaitForBarrierGCTask::create() {
}
WaitForBarrierGCTask* WaitForBarrierGCTask::create_on_c_heap() {
- WaitForBarrierGCTask* result = new WaitForBarrierGCTask(true);
+ WaitForBarrierGCTask* result =
+ new (ResourceObj::C_HEAP) WaitForBarrierGCTask(true);
return result;
}
@@ -849,7 +1065,7 @@ void WaitForBarrierGCTask::do_it(GCTaskManager* manager, uint which) {
}
}
-void WaitForBarrierGCTask::wait_for() {
+void WaitForBarrierGCTask::wait_for(bool reset) {
if (TraceGCTaskManager) {
tty->print_cr("[" INTPTR_FORMAT "]"
" WaitForBarrierGCTask::wait_for()"
@@ -869,7 +1085,9 @@ void WaitForBarrierGCTask::wait_for() {
monitor()->wait(Mutex::_no_safepoint_check_flag, 0);
}
// Reset the flag in case someone reuses this task.
- set_should_wait(true);
+ if (reset) {
+ set_should_wait(true);
+ }
if (TraceGCTaskManager) {
tty->print_cr("[" INTPTR_FORMAT "]"
" WaitForBarrierGCTask::wait_for() returns"
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.hpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.hpp
index 3bd3af1..65a8458 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.hpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.hpp
@@ -45,6 +45,7 @@ class BarrierGCTask;
class ReleasingBarrierGCTask;
class NotifyingBarrierGCTask;
class WaitForBarrierGCTask;
+class IdleGCTask;
// A free list of Monitor*'s.
class MonitorSupply;
@@ -64,7 +65,8 @@ public:
unknown_task,
ordinary_task,
barrier_task,
- noop_task
+ noop_task,
+ idle_task
};
static const char* to_string(kind value);
};
@@ -108,6 +110,9 @@ public:
bool is_noop_task() const {
return kind()==Kind::noop_task;
}
+ bool is_idle_task() const {
+ return kind()==Kind::idle_task;
+ }
void print(const char* message) const PRODUCT_RETURN;
protected:
// Constructors: Only create subclasses.
@@ -153,6 +158,7 @@ public:
assert(((insert_end() == NULL && remove_end() == NULL) ||
(insert_end() != NULL && remove_end() != NULL)),
"insert_end and remove_end don't match");
+ assert((insert_end() != NULL) || (_length == 0), "Not empty");
return insert_end() == NULL;
}
uint length() const {
@@ -204,6 +210,8 @@ protected:
GCTask* remove(); // Remove from remove end.
GCTask* remove(GCTask* task); // Remove from the middle.
void print(const char* message) const PRODUCT_RETURN;
+ // Debug support
+ void verify_length() const PRODUCT_RETURN;
};
// A GCTaskQueue that can be synchronized.
@@ -285,12 +293,76 @@ protected:
}
};
+// Dynamic number of GC threads
+//
+// GC threads wait in get_task() for work (i.e., a task) to perform.
+// When the number of GC threads was static, the number of tasks
+// created to do a job was equal to or greater than the maximum
+// number of GC threads (ParallelGCThreads). The job might be divided
+// into a number of tasks greater than the number of GC threads for
+// load balancing (i.e., over partitioning). The last task to be
+// executed by a GC thread in a job is a work stealing task. A
+// GC thread that gets a work stealing task continues to execute
+// that task until the job is done. In the static number of GC theads
+// case, tasks are added to a queue (FIFO). The work stealing tasks are
+// the last to be added. Once the tasks are added, the GC threads grab
+// a task and go. A single thread can do all the non-work stealing tasks
+// and then execute a work stealing and wait for all the other GC threads
+// to execute their work stealing task.
+// In the dynamic number of GC threads implementation, idle-tasks are
+// created to occupy the non-participating or "inactive" threads. An
+// idle-task makes the GC thread wait on a barrier that is part of the
+// GCTaskManager. The GC threads that have been "idled" in a IdleGCTask
+// are released once all the active GC threads have finished their work
+// stealing tasks. The GCTaskManager does not wait for all the "idled"
+// GC threads to resume execution. When those GC threads do resume
+// execution in the course of the thread scheduling, they call get_tasks()
+// as all the other GC threads do. Because all the "idled" threads are
+// not required to execute in order to finish a job, it is possible for
+// a GC thread to still be "idled" when the next job is started. Such
+// a thread stays "idled" for the next job. This can result in a new
+// job not having all the expected active workers. For example if on
+// job requests 4 active workers out of a total of 10 workers so the
+// remaining 6 are "idled", if the next job requests 6 active workers
+// but all 6 of the "idled" workers are still idle, then the next job
+// will only get 4 active workers.
+// The implementation for the parallel old compaction phase has an
+// added complication. In the static case parold partitions the chunks
+// ready to be filled into stacks, one for each GC thread. A GC thread
+// executing a draining task (drains the stack of ready chunks)
+// claims a stack according to it's id (the unique ordinal value assigned
+// to each GC thread). In the dynamic case not all GC threads will
+// actively participate so stacks with ready to fill chunks can only be
+// given to the active threads. An initial implementation chose stacks
+// number 1-n to get the ready chunks and required that GC threads
+// 1-n be the active workers. This was undesirable because it required
+// certain threads to participate. In the final implementation a
+// list of stacks equal in number to the active workers are filled
+// with ready chunks. GC threads that participate get a stack from
+// the task (DrainStacksCompactionTask), empty the stack, and then add it to a
+// recycling list at the end of the task. If the same GC thread gets
+// a second task, it gets a second stack to drain and returns it. The
+// stacks are added to a recycling list so that later stealing tasks
+// for this tasks can get a stack from the recycling list. Stealing tasks
+// use the stacks in its work in a way similar to the draining tasks.
+// A thread is not guaranteed to get anything but a stealing task and
+// a thread that only gets a stealing task has to get a stack. A failed
+// implementation tried to have the GC threads keep the stack they used
+// during a draining task for later use in the stealing task but that didn't
+// work because as noted a thread is not guaranteed to get a draining task.
+//
+// For PSScavenge and ParCompactionManager the GC threads are
+// held in the GCTaskThread** _thread array in GCTaskManager.
+
+
class GCTaskManager : public CHeapObj {
friend class ParCompactionManager;
friend class PSParallelCompact;
friend class PSScavenge;
friend class PSRefProcTaskExecutor;
friend class RefProcTaskExecutor;
+ friend class GCTaskThread;
+ friend class IdleGCTask;
private:
// Instance state.
NotifyDoneClosure* _ndc; // Notify on completion.
@@ -298,6 +370,7 @@ private:
Monitor* _monitor; // Notification of changes.
SynchronizedGCTaskQueue* _queue; // Queue of tasks.
GCTaskThread** _thread; // Array of worker threads.
+ uint _active_workers; // Number of active workers.
uint _busy_workers; // Number of busy workers.
uint _blocking_worker; // The worker that's blocking.
bool* _resource_flag; // Array of flag per threads.
@@ -307,6 +380,8 @@ private:
uint _emptied_queue; // Times we emptied the queue.
NoopGCTask* _noop_task; // The NoopGCTask instance.
uint _noop_tasks; // Count of noop tasks.
+ WaitForBarrierGCTask* _idle_inactive_task;// Task for inactive workers
+ volatile uint _idle_workers; // Number of idled workers
public:
// Factory create and destroy methods.
static GCTaskManager* create(uint workers) {
@@ -324,6 +399,9 @@ public:
uint busy_workers() const {
return _busy_workers;
}
+ volatile uint idle_workers() const {
+ return _idle_workers;
+ }
// Pun between Monitor* and Mutex*
Monitor* monitor() const {
return _monitor;
@@ -331,6 +409,9 @@ public:
Monitor * lock() const {
return _monitor;
}
+ WaitForBarrierGCTask* idle_inactive_task() {
+ return _idle_inactive_task;
+ }
// Methods.
// Add the argument task to be run.
void add_task(GCTask* task);
@@ -350,6 +431,10 @@ public:
bool should_release_resources(uint which); // Predicate.
// Note the release of resources by the argument worker.
void note_release(uint which);
+ // Create IdleGCTasks for inactive workers and start workers
+ void task_idle_workers();
+ // Release the workers in IdleGCTasks
+ void release_idle_workers();
// Constants.
// A sentinel worker identifier.
static uint sentinel_worker() {
@@ -375,6 +460,15 @@ protected:
uint workers() const {
return _workers;
}
+ void set_active_workers(uint v) {
+ assert(v <= _workers, "Trying to set more workers active than there are");
+ _active_workers = MIN2(v, _workers);
+ assert(v != 0, "Trying to set active workers to 0");
+ _active_workers = MAX2(1U, _active_workers);
+ }
+ // Sets the number of threads that will be used in a collection
+ void set_active_gang();
+
NotifyDoneClosure* notify_done_closure() const {
return _ndc;
}
@@ -457,8 +551,21 @@ protected:
void reset_noop_tasks() {
_noop_tasks = 0;
}
+ void increment_idle_workers() {
+ _idle_workers++;
+ }
+ void decrement_idle_workers() {
+ _idle_workers--;
+ }
// Other methods.
void initialize();
+
+ public:
+ // Return true if all workers are currently active.
+ bool all_workers_active() { return workers() == active_workers(); }
+ uint active_workers() const {
+ return _active_workers;
+ }
};
//
@@ -475,6 +582,8 @@ public:
static NoopGCTask* create();
static NoopGCTask* create_on_c_heap();
static void destroy(NoopGCTask* that);
+
+ virtual char* name() { return (char *)"noop task"; }
// Methods from GCTask.
void do_it(GCTaskManager* manager, uint which) {
// Nothing to do.
@@ -518,6 +627,8 @@ protected:
}
// Destructor-like method.
void destruct();
+
+ virtual char* name() { return (char *)"barrier task"; }
// Methods.
// Wait for this to be the only task running.
void do_it_internal(GCTaskManager* manager, uint which);
@@ -586,11 +697,13 @@ protected:
// the BarrierGCTask is done.
// This may cover many of the uses of NotifyingBarrierGCTasks.
class WaitForBarrierGCTask : public BarrierGCTask {
+ friend class GCTaskManager;
+ friend class IdleGCTask;
private:
// Instance state.
- Monitor* _monitor; // Guard and notify changes.
- bool _should_wait; // true=>wait, false=>proceed.
- const bool _is_c_heap_obj; // Was allocated on the heap.
+ Monitor* _monitor; // Guard and notify changes.
+ volatile bool _should_wait; // true=>wait, false=>proceed.
+ const bool _is_c_heap_obj; // Was allocated on the heap.
public:
virtual char* name() { return (char *) "waitfor-barrier-task"; }
@@ -600,7 +713,10 @@ public:
static void destroy(WaitForBarrierGCTask* that);
// Methods.
void do_it(GCTaskManager* manager, uint which);
- void wait_for();
+ void wait_for(bool reset);
+ void set_should_wait(bool value) {
+ _should_wait = value;
+ }
protected:
// Constructor. Clients use factory, but there might be subclasses.
WaitForBarrierGCTask(bool on_c_heap);
@@ -613,12 +729,36 @@ protected:
bool should_wait() const {
return _should_wait;
}
- void set_should_wait(bool value) {
- _should_wait = value;
+ bool is_c_heap_obj() {
+ return _is_c_heap_obj;
}
+};
+
+// Task that is used to idle a GC task when fewer than
+// the maximum workers are wanted.
+class IdleGCTask : public GCTask {
+ const bool _is_c_heap_obj; // Was allocated on the heap.
+ public:
bool is_c_heap_obj() {
return _is_c_heap_obj;
}
+ // Factory create and destroy methods.
+ static IdleGCTask* create();
+ static IdleGCTask* create_on_c_heap();
+ static void destroy(IdleGCTask* that);
+
+ virtual char* name() { return (char *)"idle task"; }
+ // Methods from GCTask.
+ virtual void do_it(GCTaskManager* manager, uint which);
+protected:
+ // Constructor.
+ IdleGCTask(bool on_c_heap) :
+ GCTask(GCTask::Kind::idle_task),
+ _is_c_heap_obj(on_c_heap) {
+ // Nothing to do.
+ }
+ // Destructor-like method.
+ void destruct();
};
class MonitorSupply : public AllStatic {
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp
index 41c90f9..976d879 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp
@@ -1,6 +1,6 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -93,6 +93,11 @@ void GCTaskThread::print_on(outputStream* st) const {
st->cr();
}
+// GC workers get tasks from the GCTaskManager and execute
+// them in this method. If there are no tasks to execute,
+// the GC workers wait in the GCTaskManager's get_task()
+// for tasks to be enqueued for execution.
+
void GCTaskThread::run() {
// Set up the thread for stack overflow support
this->record_stack_base_and_size();
@@ -124,7 +129,8 @@ void GCTaskThread::run() {
for (; /* break */; ) {
// This will block until there is a task to be gotten.
GCTask* task = manager()->get_task(which());
-
+ // Record if this is an idle task for later use.
+ bool is_idle_task = task->is_idle_task();
// In case the update is costly
if (PrintGCTaskTimeStamps) {
timer.update();
@@ -133,19 +139,33 @@ void GCTaskThread::run() {
jlong entry_time = timer.ticks();
char* name = task->name();
+ // If this is the barrier task, it can be destroyed
+ // by the GC task manager once the do_it() executes.
task->do_it(manager(), which());
- manager()->note_completion(which());
-
- if (PrintGCTaskTimeStamps) {
- assert(_time_stamps != NULL, "Sanity (PrintGCTaskTimeStamps set late?)");
-
- timer.update();
-
- GCTaskTimeStamp* time_stamp = time_stamp_at(_time_stamp_index++);
- time_stamp->set_name(name);
- time_stamp->set_entry_time(entry_time);
- time_stamp->set_exit_time(timer.ticks());
+ // Use the saved value of is_idle_task because references
+ // using "task" are not reliable for the barrier task.
+ if (!is_idle_task) {
+ manager()->note_completion(which());
+
+ if (PrintGCTaskTimeStamps) {
+ assert(_time_stamps != NULL,
+ "Sanity (PrintGCTaskTimeStamps set late?)");
+
+ timer.update();
+
+ GCTaskTimeStamp* time_stamp = time_stamp_at(_time_stamp_index++);
+
+ time_stamp->set_name(name);
+ time_stamp->set_entry_time(entry_time);
+ time_stamp->set_exit_time(timer.ticks());
+ }
+ } else {
+ // idle tasks complete outside the normal accounting
+ // so that a task can complete without waiting for idle tasks.
+ // They have to be terminated separately.
+ IdleGCTask::destroy((IdleGCTask*)task);
+ set_is_working(true);
}
// Check if we should release our inner resources.
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.hpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.hpp
index 7fc907b..c840654 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.hpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.hpp
@@ -35,6 +35,7 @@ class GCTaskTimeStamp;
class GCTaskManager;
class GCTaskThread : public WorkerThread {
+ friend class GCTaskManager;
private:
// Instance state.
GCTaskManager* _manager; // Manager for worker.
@@ -45,6 +46,8 @@ private:
GCTaskTimeStamp* time_stamp_at(uint index);
+ bool _is_working; // True if participating in GC tasks
+
public:
// Factory create and destroy methods.
static GCTaskThread* create(GCTaskManager* manager,
@@ -84,6 +87,7 @@ protected:
uint processor_id() const {
return _processor_id;
}
+ void set_is_working(bool v) { _is_working = v; }
};
class GCTaskTimeStamp : public CHeapObj
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp
index 75ee0b3..c577daf 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp
@@ -152,15 +152,16 @@ void RefProcTaskExecutor::execute(ProcessTask& task)
{
ParallelScavengeHeap* heap = PSParallelCompact::gc_heap();
uint parallel_gc_threads = heap->gc_task_manager()->workers();
+ uint active_gc_threads = heap->gc_task_manager()->active_workers();
RegionTaskQueueSet* qset = ParCompactionManager::region_array();
- ParallelTaskTerminator terminator(parallel_gc_threads, qset);
+ ParallelTaskTerminator terminator(active_gc_threads, qset);
GCTaskQueue* q = GCTaskQueue::create();
for(uint i=0; i<parallel_gc_threads; i++) {
q->enqueue(new RefProcTaskProxy(task, i));
}
if (task.marks_oops_alive()) {
if (parallel_gc_threads>1) {
- for (uint j=0; j<parallel_gc_threads; j++) {
+ for (uint j=0; j<active_gc_threads; j++) {
q->enqueue(new StealMarkingTask(&terminator));
}
}
@@ -216,7 +217,6 @@ void StealMarkingTask::do_it(GCTaskManager* manager, uint which) {
// StealRegionCompactionTask
//
-
StealRegionCompactionTask::StealRegionCompactionTask(ParallelTaskTerminator* t):
_terminator(t) {}
@@ -229,6 +229,32 @@ void StealRegionCompactionTask::do_it(GCTaskManager* manager, uint which) {
ParCompactionManager* cm =
ParCompactionManager::gc_thread_compaction_manager(which);
+
+ // If not all threads are active, get a draining stack
+ // from the list. Else, just use this threads draining stack.
+ uint which_stack_index;
+ bool use_all_workers = manager->all_workers_active();
+ if (use_all_workers) {
+ which_stack_index = which;
+ assert(manager->active_workers() == ParallelGCThreads,
+ err_msg("all_workers_active has been incorrectly set: "
+ " active %d ParallelGCThreads %d", manager->active_workers(),
+ ParallelGCThreads));
+ } else {
+ which_stack_index = ParCompactionManager::pop_recycled_stack_index();
+ }
+
+ cm->set_region_stack_index(which_stack_index);
+ cm->set_region_stack(ParCompactionManager::region_list(which_stack_index));
+ if (TraceDynamicGCThreads) {
+ gclog_or_tty->print_cr("StealRegionCompactionTask::do_it "
+ "region_stack_index %d region_stack = 0x%x "
+ " empty (%d) use all workers %d",
+ which_stack_index, ParCompactionManager::region_list(which_stack_index),
+ cm->region_stack()->is_empty(),
+ use_all_workers);
+ }
+
// Has to drain stacks first because there may be regions on
// preloaded onto the stack and this thread may never have
// done a draining task. Are the draining tasks needed?
@@ -285,6 +311,50 @@ void DrainStacksCompactionTask::do_it(GCTaskManager* manager, uint which) {
ParCompactionManager* cm =
ParCompactionManager::gc_thread_compaction_manager(which);
+ uint which_stack_index;
+ bool use_all_workers = manager->all_workers_active();
+ if (use_all_workers) {
+ which_stack_index = which;
+ assert(manager->active_workers() == ParallelGCThreads,
+ err_msg("all_workers_active has been incorrectly set: "
+ " active %d ParallelGCThreads %d", manager->active_workers(),
+ ParallelGCThreads));
+ } else {
+ which_stack_index = stack_index();
+ }
+
+ cm->set_region_stack(ParCompactionManager::region_list(which_stack_index));
+ if (TraceDynamicGCThreads) {
+ gclog_or_tty->print_cr("DrainStacksCompactionTask::do_it which = %d "
+ "which_stack_index = %d/empty(%d) "
+ "use all workers %d",
+ which, which_stack_index,
+ cm->region_stack()->is_empty(),
+ use_all_workers);
+ }
+
+ cm->set_region_stack_index(which_stack_index);
+
// Process any regions already in the compaction managers stacks.
cm->drain_region_stacks();
+
+ assert(cm->region_stack()->is_empty(), "Not empty");
+
+ if (!use_all_workers) {
+ // Always give up the region stack.
+ assert(cm->region_stack() ==
+ ParCompactionManager::region_list(cm->region_stack_index()),
+ "region_stack and region_stack_index are inconsistent");
+ ParCompactionManager::push_recycled_stack_index(cm->region_stack_index());
+
+ if (TraceDynamicGCThreads) {
+ void* old_region_stack = (void*) cm->region_stack();
+ int old_region_stack_index = cm->region_stack_index();
+ gclog_or_tty->print_cr("Pushing region stack 0x%x/%d",
+ old_region_stack, old_region_stack_index);
+ }
+
+ cm->set_region_stack(NULL);
+ cm->set_region_stack_index((uint)max_uintx);
+ }
}
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp
index 24b9dde..ab4ad84 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, 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
@@ -39,6 +39,9 @@
PSOldGen* ParCompactionManager::_old_gen = NULL;
ParCompactionManager** ParCompactionManager::_manager_array = NULL;
+
+RegionTaskQueue** ParCompactionManager::_region_list = NULL;
+
OopTaskQueueSet* ParCompactionManager::_stack_array = NULL;
ParCompactionManager::ObjArrayTaskQueueSet*
ParCompactionManager::_objarray_queues = NULL;
@@ -46,8 +49,14 @@ ObjectStartArray* ParCompactionManager::_start_array = NULL;
ParMarkBitMap* ParCompactionManager::_mark_bitmap = NULL;
RegionTaskQueueSet* ParCompactionManager::_region_array = NULL;
+uint* ParCompactionManager::_recycled_stack_index = NULL;
+int ParCompactionManager::_recycled_top = -1;
+int ParCompactionManager::_recycled_bottom = -1;
+
ParCompactionManager::ParCompactionManager() :
- _action(CopyAndUpdate) {
+ _action(CopyAndUpdate),
+ _region_stack(NULL),
+ _region_stack_index((uint)max_uintx) {
ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
assert(heap->kind() == CollectedHeap::ParallelScavengeHeap, "Sanity");
@@ -57,7 +66,10 @@ ParCompactionManager::ParCompactionManager() :
marking_stack()->initialize();
_objarray_stack.initialize();
- region_stack()->initialize();
+}
+
+ParCompactionManager::~ParCompactionManager() {
+ delete _recycled_stack_index;
}
void ParCompactionManager::initialize(ParMarkBitMap* mbm) {
@@ -72,6 +84,19 @@ void ParCompactionManager::initialize(ParMarkBitMap* mbm) {
_manager_array = NEW_C_HEAP_ARRAY(ParCompactionManager*, parallel_gc_threads+1 );
guarantee(_manager_array != NULL, "Could not allocate manager_array");
+ _region_list = NEW_C_HEAP_ARRAY(RegionTaskQueue*,
+ parallel_gc_threads+1);
+ guarantee(_region_list != NULL, "Could not initialize promotion manager");
+
+ _recycled_stack_index = NEW_C_HEAP_ARRAY(uint, parallel_gc_threads);
+
+ // parallel_gc-threads + 1 to be consistent with the number of
+ // compaction managers.
+ for(uint i=0; i<parallel_gc_threads + 1; i++) {
+ _region_list[i] = new RegionTaskQueue();
+ region_list(i)->initialize();
+ }
+
_stack_array = new OopTaskQueueSet(parallel_gc_threads);
guarantee(_stack_array != NULL, "Could not allocate stack_array");
_objarray_queues = new ObjArrayTaskQueueSet(parallel_gc_threads);
@@ -85,7 +110,7 @@ void ParCompactionManager::initialize(ParMarkBitMap* mbm) {
guarantee(_manager_array[i] != NULL, "Could not create ParCompactionManager");
stack_array()->register_queue(i, _manager_array[i]->marking_stack());
_objarray_queues->register_queue(i, &_manager_array[i]->_objarray_stack);
- region_array()->register_queue(i, _manager_array[i]->region_stack());
+ region_array()->register_queue(i, region_list(i));
}
// The VMThread gets its own ParCompactionManager, which is not available
@@ -97,6 +122,29 @@ void ParCompactionManager::initialize(ParMarkBitMap* mbm) {
"Not initialized?");
}
+int ParCompactionManager::pop_recycled_stack_index() {
+ assert(_recycled_bottom <= _recycled_top, "list is empty");
+ // Get the next available index
+ if (_recycled_bottom < _recycled_top) {
+ uint cur, next, last;
+ do {
+ cur = _recycled_bottom;
+ next = cur + 1;
+ last = Atomic::cmpxchg(next, &_recycled_bottom, cur);
+ } while (cur != last);
+ return _recycled_stack_index[next];
+ } else {
+ return -1;
+ }
+}
+
+void ParCompactionManager::push_recycled_stack_index(uint v) {
+ // Get the next available index
+ int cur = Atomic::add(1, &_recycled_top);
+ _recycled_stack_index[cur] = v;
+ assert(_recycled_bottom <= _recycled_top, "list top and bottom are wrong");
+}
+
bool ParCompactionManager::should_update() {
assert(action() != NotValid, "Action is not set");
return (action() == ParCompactionManager::Update) ||
@@ -111,14 +159,13 @@ bool ParCompactionManager::should_copy() {
(action() == ParCompactionManager::UpdateAndCopy);
}
-bool ParCompactionManager::should_verify_only() {
- assert(action() != NotValid, "Action is not set");
- return action() == ParCompactionManager::VerifyUpdate;
+void ParCompactionManager::region_list_push(uint list_index,
+ size_t region_index) {
+ region_list(list_index)->push(region_index);
}
-bool ParCompactionManager::should_reset_only() {
- assert(action() != NotValid, "Action is not set");
- return action() == ParCompactionManager::ResetObjects;
+void ParCompactionManager::verify_region_list_empty(uint list_index) {
+ assert(region_list(list_index)->is_empty(), "Not empty");
}
ParCompactionManager*
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.hpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.hpp
index cbf1b7d..a864ac8 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.hpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, 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
@@ -48,6 +48,7 @@ class ParCompactionManager : public CHeapObj {
friend class StealRegionCompactionTask;
friend class UpdateAndFillClosure;
friend class RefProcTaskExecutor;
+ friend class IdleGCTask;
public:
@@ -58,8 +59,6 @@ class ParCompactionManager : public CHeapObj {
Copy,
UpdateAndCopy,
CopyAndUpdate,
- VerifyUpdate,
- ResetObjects,
NotValid
};
// ------------------------ End don't putback if not needed
@@ -85,7 +84,31 @@ private:
// Is there a way to reuse the _marking_stack for the
// saving empty regions? For now just create a different
// type of TaskQueue.
- RegionTaskQueue _region_stack;
+ RegionTaskQueue* _region_stack;
+
+ static RegionTaskQueue** _region_list;
+ // Index in _region_list for current _region_stack.
+ uint _region_stack_index;
+
+ // Indexes of recycled region stacks/overflow stacks
+ // Stacks of regions to be compacted are embedded in the tasks doing
+ // the compaction. A thread that executes the task extracts the
+ // region stack and drains it. These threads keep these region
+ // stacks for use during compaction task stealing. If a thread
+ // gets a second draining task, it pushed its current region stack
+ // index into the array _recycled_stack_index and gets a new
+ // region stack from the task. A thread that is executing a
+ // compaction stealing task without ever having executing a
+ // draining task, will get a region stack from _recycled_stack_index.
+ //
+ // Array of indexes into the array of region stacks.
+ static uint* _recycled_stack_index;
+ // The index into _recycled_stack_index of the last region stack index
+ // pushed. If -1, there are no entries into _recycled_stack_index.
+ static int _recycled_top;
+ // The index into _recycled_stack_index of the last region stack index
+ // popped. If -1, there has not been any entry popped.
+ static int _recycled_bottom;
Stack<Klass*> _revisit_klass_stack;
Stack<DataLayout*> _revisit_mdo_stack;
@@ -104,7 +127,6 @@ private:
// Array of tasks. Needed by the ParallelTaskTerminator.
static RegionTaskQueueSet* region_array() { return _region_array; }
OverflowTaskQueue<oop>* marking_stack() { return &_marking_stack; }
- RegionTaskQueue* region_stack() { return &_region_stack; }
// Pushes onto the marking stack. If the marking stack is full,
// pushes onto the overflow stack.
@@ -116,10 +138,33 @@ private:
Action action() { return _action; }
void set_action(Action v) { _action = v; }
+ RegionTaskQueue* region_stack() { return _region_stack; }
+ void set_region_stack(RegionTaskQueue* v) { _region_stack = v; }
+
inline static ParCompactionManager* manager_array(int index);
+ inline static RegionTaskQueue* region_list(int index) {
+ return _region_list[index];
+ }
+
+ uint region_stack_index() { return _region_stack_index; }
+ void set_region_stack_index(uint v) { _region_stack_index = v; }
+
+ // Pop and push unique reusable stack index
+ static int pop_recycled_stack_index();
+ static void push_recycled_stack_index(uint v);
+ static void reset_recycled_stack_index() {
+ _recycled_bottom = _recycled_top = -1;
+ }
+
ParCompactionManager();
+ ~ParCompactionManager();
+ // Pushes onto the region stack at the given index. If the
+ // region stack is full,
+ // pushes onto the region overflow stack.
+ static void region_list_push(uint stack_index, size_t region_index);
+ static void verify_region_list_empty(uint stack_index);
ParMarkBitMap* mark_bitmap() { return _mark_bitmap; }
// Take actions in preparation for a compaction.
@@ -129,8 +174,6 @@ private:
bool should_update();
bool should_copy();
- bool should_verify_only();
- bool should_reset_only();
Stack<Klass*>* revisit_klass_stack() { return &_revisit_klass_stack; }
Stack<DataLayout*>* revisit_mdo_stack() { return &_revisit_mdo_stack; }
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp
index f2965e6..01fb659 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp
@@ -672,15 +672,20 @@ void PSMarkSweep::mark_sweep_phase4() {
}
jlong PSMarkSweep::millis_since_last_gc() {
- jlong ret_val = os::javaTimeMillis() - _time_of_last_gc;
+ // We need a monotonically non-deccreasing time in ms but
+ // os::javaTimeMillis() does not guarantee monotonicity.
+ jlong now = os::javaTimeNanos() / NANOSECS_PER_MILLISEC;
+ jlong ret_val = now - _time_of_last_gc;
// XXX See note in genCollectedHeap::millis_since_last_gc().
if (ret_val < 0) {
- NOT_PRODUCT(warning("time warp: %d", ret_val);)
+ NOT_PRODUCT(warning("time warp: "INT64_FORMAT, ret_val);)
return 0;
}
return ret_val;
}
void PSMarkSweep::reset_millis_since_last_gc() {
- _time_of_last_gc = os::javaTimeMillis();
+ // We need a monotonically non-deccreasing time in ms but
+ // os::javaTimeMillis() does not guarantee monotonicity.
+ _time_of_last_gc = os::javaTimeNanos() / NANOSECS_PER_MILLISEC;
}
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp
index ade35fa..460b14d 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -96,7 +96,8 @@ void PSMarkSweepDecorator::precompact() {
* by the MarkSweepAlwaysCompactCount parameter. This is a significant
* performance improvement!
*/
- bool skip_dead = ((PSMarkSweep::total_invocations() % MarkSweepAlwaysCompactCount) != 0);
+ bool skip_dead = (MarkSweepAlwaysCompactCount < 1)
+ || ((PSMarkSweep::total_invocations() % MarkSweepAlwaysCompactCount) != 0);
size_t allowed_deadspace = 0;
if (skip_dead) {
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
index a62059c..c221528 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
@@ -2045,6 +2045,11 @@ void PSParallelCompact::invoke_no_policy(bool maximum_heap_compaction) {
ResourceMark rm;
HandleMark hm;
+ // Set the number of GC threads to be used in this collection
+ gc_task_manager()->set_active_gang();
+ gc_task_manager()->task_idle_workers();
+ heap->set_par_threads(gc_task_manager()->active_workers());
+
const bool is_system_gc = gc_cause == GCCause::_java_lang_system_gc;
// This is useful for debugging but don't change the output the
@@ -2197,6 +2202,7 @@ void PSParallelCompact::invoke_no_policy(bool maximum_heap_compaction) {
// Track memory usage and detect low memory
MemoryService::track_memory_usage();
heap->update_counters();
+ gc_task_manager()->release_idle_workers();
}
#ifdef ASSERT
@@ -2204,7 +2210,7 @@ void PSParallelCompact::invoke_no_policy(bool maximum_heap_compaction) {
ParCompactionManager* const cm =
ParCompactionManager::manager_array(int(i));
assert(cm->marking_stack()->is_empty(), "should be empty");
- assert(cm->region_stack()->is_empty(), "should be empty");
+ assert(ParCompactionManager::region_list(int(i))->is_empty(), "should be empty");
assert(cm->revisit_klass_stack()->is_empty(), "should be empty");
}
#endif // ASSERT
@@ -2351,8 +2357,9 @@ void PSParallelCompact::marking_phase(ParCompactionManager* cm,
ParallelScavengeHeap* heap = gc_heap();
uint parallel_gc_threads = heap->gc_task_manager()->workers();
+ uint active_gc_threads = heap->gc_task_manager()->active_workers();
TaskQueueSetSuper* qset = ParCompactionManager::region_array();
- ParallelTaskTerminator terminator(parallel_gc_threads, qset);
+ ParallelTaskTerminator terminator(active_gc_threads, qset);
PSParallelCompact::MarkAndPushClosure mark_and_push_closure(cm);
PSParallelCompact::FollowStackClosure follow_stack_closure(cm);
@@ -2374,21 +2381,13 @@ void PSParallelCompact::marking_phase(ParCompactionManager* cm,
q->enqueue(new MarkFromRootsTask(MarkFromRootsTask::jvmti));
q->enqueue(new MarkFromRootsTask(MarkFromRootsTask::code_cache));
- if (parallel_gc_threads > 1) {
- for (uint j = 0; j < parallel_gc_threads; j++) {
+ if (active_gc_threads > 1) {
+ for (uint j = 0; j < active_gc_threads; j++) {
q->enqueue(new StealMarkingTask(&terminator));
}
}
- WaitForBarrierGCTask* fin = WaitForBarrierGCTask::create();
- q->enqueue(fin);
-
- gc_task_manager()->add_list(q);
-
- fin->wait_for();
-
- // We have to release the barrier tasks!
- WaitForBarrierGCTask::destroy(fin);
+ gc_task_manager()->execute_and_wait(q);
}
// Process reference objects found during marking
@@ -2483,10 +2482,22 @@ void PSParallelCompact::enqueue_region_draining_tasks(GCTaskQueue* q,
{
TraceTime tm("drain task setup", print_phases(), true, gclog_or_tty);
- const unsigned int task_count = MAX2(parallel_gc_threads, 1U);
- for (unsigned int j = 0; j < task_count; j++) {
+ // Find the threads that are active
+ unsigned int which = 0;
+
+ const uint task_count = MAX2(parallel_gc_threads, 1U);
+ for (uint j = 0; j < task_count; j++) {
q->enqueue(new DrainStacksCompactionTask(j));
+ ParCompactionManager::verify_region_list_empty(j);
+ // Set the region stacks variables to "no" region stack values
+ // so that they will be recognized and needing a region stack
+ // in the stealing tasks if they do not get one by executing
+ // a draining stack.
+ ParCompactionManager* cm = ParCompactionManager::manager_array(j);
+ cm->set_region_stack(NULL);
+ cm->set_region_stack_index((uint)max_uintx);
}
+ ParCompactionManager::reset_recycled_stack_index();
// Find all regions that are available (can be filled immediately) and
// distribute them to the thread stacks. The iteration is done in reverse
@@ -2495,8 +2506,10 @@ void PSParallelCompact::enqueue_region_draining_tasks(GCTaskQueue* q,
const ParallelCompactData& sd = PSParallelCompact::summary_data();
size_t fillable_regions = 0; // A count for diagnostic purposes.
- unsigned int which = 0; // The worker thread number.
+ // A region index which corresponds to the tasks created above.
+ // "which" must be 0 <= which < task_count
+ which = 0;
for (unsigned int id = to_space_id; id > perm_space_id; --id) {
SpaceInfo* const space_info = _space_info + id;
MutableSpace* const space = space_info->space();
@@ -2509,8 +2522,7 @@ void PSParallelCompact::enqueue_region_draining_tasks(GCTaskQueue* q,
for (size_t cur = end_region - 1; cur >= beg_region; --cur) {
if (sd.region(cur)->claim_unsafe()) {
- ParCompactionManager* cm = ParCompactionManager::manager_array(which);
- cm->push_region(cur);
+ ParCompactionManager::region_list_push(which, cur);
if (TraceParallelOldGCCompactionPhase && Verbose) {
const size_t count_mod_8 = fillable_regions & 7;
@@ -2521,8 +2533,10 @@ void PSParallelCompact::enqueue_region_draining_tasks(GCTaskQueue* q,
NOT_PRODUCT(++fillable_regions;)
- // Assign regions to threads in round-robin fashion.
+ // Assign regions to tasks in round-robin fashion.
if (++which == task_count) {
+ assert(which <= parallel_gc_threads,
+ "Inconsistent number of workers");
which = 0;
}
}
@@ -2642,26 +2656,19 @@ void PSParallelCompact::compact() {
PSOldGen* old_gen = heap->old_gen();
old_gen->start_array()->reset();
uint parallel_gc_threads = heap->gc_task_manager()->workers();
+ uint active_gc_threads = heap->gc_task_manager()->active_workers();
TaskQueueSetSuper* qset = ParCompactionManager::region_array();
- ParallelTaskTerminator terminator(parallel_gc_threads, qset);
+ ParallelTaskTerminator terminator(active_gc_threads, qset);
GCTaskQueue* q = GCTaskQueue::create();
- enqueue_region_draining_tasks(q, parallel_gc_threads);
- enqueue_dense_prefix_tasks(q, parallel_gc_threads);
- enqueue_region_stealing_tasks(q, &terminator, parallel_gc_threads);
+ enqueue_region_draining_tasks(q, active_gc_threads);
+ enqueue_dense_prefix_tasks(q, active_gc_threads);
+ enqueue_region_stealing_tasks(q, &terminator, active_gc_threads);
{
TraceTime tm_pc("par compact", print_phases(), true, gclog_or_tty);
- WaitForBarrierGCTask* fin = WaitForBarrierGCTask::create();
- q->enqueue(fin);
-
- gc_task_manager()->add_list(q);
-
- fin->wait_for();
-
- // We have to release the barrier tasks!
- WaitForBarrierGCTask::destroy(fin);
+ gc_task_manager()->execute_and_wait(q);
#ifdef ASSERT
// Verify that all regions have been processed before the deferred updates.
@@ -2729,6 +2736,9 @@ void
PSParallelCompact::follow_weak_klass_links() {
// All klasses on the revisit stack are marked at this point.
// Update and follow all subklass, sibling and implementor links.
+ // Check all the stacks here even if not all the workers are active.
+ // There is no accounting which indicates which stacks might have
+ // contents to be followed.
if (PrintRevisitStats) {
gclog_or_tty->print_cr("#classes in system dictionary = %d",
SystemDictionary::number_of_classes());
@@ -3360,20 +3370,7 @@ PSParallelCompact::move_and_update(ParCompactionManager* cm, SpaceId space_id) {
HeapWord* beg_addr = sp->bottom();
HeapWord* end_addr = sp->top();
-#ifdef ASSERT
assert(beg_addr <= dp_addr && dp_addr <= end_addr, "bad dense prefix");
- if (cm->should_verify_only()) {
- VerifyUpdateClosure verify_update(cm, sp);
- bitmap->iterate(&verify_update, beg_addr, end_addr);
- return;
- }
-
- if (cm->should_reset_only()) {
- ResetObjectsClosure reset_objects(cm);
- bitmap->iterate(&reset_objects, beg_addr, end_addr);
- return;
- }
-#endif
const size_t beg_region = sd.addr_to_region_idx(beg_addr);
const size_t dp_region = sd.addr_to_region_idx(dp_addr);
@@ -3401,17 +3398,22 @@ PSParallelCompact::move_and_update(ParCompactionManager* cm, SpaceId space_id) {
}
jlong PSParallelCompact::millis_since_last_gc() {
- jlong ret_val = os::javaTimeMillis() - _time_of_last_gc;
+ // We need a monotonically non-deccreasing time in ms but
+ // os::javaTimeMillis() does not guarantee monotonicity.
+ jlong now = os::javaTimeNanos() / NANOSECS_PER_MILLISEC;
+ jlong ret_val = now - _time_of_last_gc;
// XXX See note in genCollectedHeap::millis_since_last_gc().
if (ret_val < 0) {
- NOT_PRODUCT(warning("time warp: %d", ret_val);)
+ NOT_PRODUCT(warning("time warp: "INT64_FORMAT, ret_val);)
return 0;
}
return ret_val;
}
void PSParallelCompact::reset_millis_since_last_gc() {
- _time_of_last_gc = os::javaTimeMillis();
+ // We need a monotonically non-deccreasing time in ms but
+ // os::javaTimeMillis() does not guarantee monotonicity.
+ _time_of_last_gc = os::javaTimeNanos() / NANOSECS_PER_MILLISEC;
}
ParMarkBitMap::IterationStatus MoveAndUpdateClosure::copy_until_full()
@@ -3492,35 +3494,6 @@ UpdateOnlyClosure::do_addr(HeapWord* addr, size_t words) {
return ParMarkBitMap::incomplete;
}
-// Verify the new location using the forwarding pointer
-// from MarkSweep::mark_sweep_phase2(). Set the mark_word
-// to the initial value.
-ParMarkBitMapClosure::IterationStatus
-PSParallelCompact::VerifyUpdateClosure::do_addr(HeapWord* addr, size_t words) {
- // The second arg (words) is not used.
- oop obj = (oop) addr;
- HeapWord* forwarding_ptr = (HeapWord*) obj->mark()->decode_pointer();
- HeapWord* new_pointer = summary_data().calc_new_pointer(obj);
- if (forwarding_ptr == NULL) {
- // The object is dead or not moving.
- assert(bitmap()->is_unmarked(obj) || (new_pointer == (HeapWord*) obj),
- "Object liveness is wrong.");
- return ParMarkBitMap::incomplete;
- }
- assert(HeapMaximumCompactionInterval > 1 || MarkSweepAlwaysCompactCount > 1 ||
- forwarding_ptr == new_pointer, "new location is incorrect");
- return ParMarkBitMap::incomplete;
-}
-
-// Reset objects modified for debug checking.
-ParMarkBitMapClosure::IterationStatus
-PSParallelCompact::ResetObjectsClosure::do_addr(HeapWord* addr, size_t words) {
- // The second arg (words) is not used.
- oop obj = (oop) addr;
- obj->init_mark();
- return ParMarkBitMap::incomplete;
-}
-
// Prepare for compaction. This method is executed once
// (i.e., by a single thread) before compaction.
// Save the updated location of the intArrayKlassObj for
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp
index f47bff5..1e4fd90 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp
@@ -832,31 +832,6 @@ class PSParallelCompact : AllStatic {
virtual void do_code_blob(CodeBlob* cb) const { }
};
- // Closure for verifying update of pointers. Does not
- // have any side effects.
- class VerifyUpdateClosure: public ParMarkBitMapClosure {
- const MutableSpace* _space; // Is this ever used?
-
- public:
- VerifyUpdateClosure(ParCompactionManager* cm, const MutableSpace* sp) :
- ParMarkBitMapClosure(PSParallelCompact::mark_bitmap(), cm), _space(sp)
- { }
-
- virtual IterationStatus do_addr(HeapWord* addr, size_t words);
-
- const MutableSpace* space() { return _space; }
- };
-
- // Closure for updating objects altered for debug checking
- class ResetObjectsClosure: public ParMarkBitMapClosure {
- public:
- ResetObjectsClosure(ParCompactionManager* cm):
- ParMarkBitMapClosure(PSParallelCompact::mark_bitmap(), cm)
- { }
-
- virtual IterationStatus do_addr(HeapWord* addr, size_t words);
- };
-
friend class KeepAliveClosure;
friend class FollowStackClosure;
friend class AdjustPointerClosure;
@@ -1183,10 +1158,6 @@ class PSParallelCompact : AllStatic {
// Update the deferred objects in the space.
static void update_deferred_objects(ParCompactionManager* cm, SpaceId id);
- // Mark pointer and follow contents.
- template <class T>
- static inline void mark_and_follow(ParCompactionManager* cm, T* p);
-
static ParMarkBitMap* mark_bitmap() { return &_mark_bitmap; }
static ParallelCompactData& summary_data() { return _summary_data; }
@@ -1283,20 +1254,6 @@ inline void PSParallelCompact::follow_root(ParCompactionManager* cm, T* p) {
}
template <class T>
-inline void PSParallelCompact::mark_and_follow(ParCompactionManager* cm,
- T* p) {
- T heap_oop = oopDesc::load_heap_oop(p);
- if (!oopDesc::is_null(heap_oop)) {
- oop obj = oopDesc::decode_heap_oop_not_null(heap_oop);
- if (mark_bitmap()->is_unmarked(obj)) {
- if (mark_obj(obj)) {
- obj->follow_contents(cm);
- }
- }
- }
-}
-
-template <class T>
inline void PSParallelCompact::mark_and_push(ParCompactionManager* cm, T* p) {
T heap_oop = oopDesc::load_heap_oop(p);
if (!oopDesc::is_null(heap_oop)) {
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp
index 1094d17..0cf826e 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp
@@ -181,28 +181,29 @@ class PSRefProcTaskExecutor: public AbstractRefProcTaskExecutor {
void PSRefProcTaskExecutor::execute(ProcessTask& task)
{
GCTaskQueue* q = GCTaskQueue::create();
- for(uint i=0; i<ParallelGCThreads; i++) {
+ GCTaskManager* manager = ParallelScavengeHeap::gc_task_manager();
+ for(uint i=0; i < manager->active_workers(); i++) {
q->enqueue(new PSRefProcTaskProxy(task, i));
}
- ParallelTaskTerminator terminator(
- ParallelScavengeHeap::gc_task_manager()->workers(),
+ ParallelTaskTerminator terminator(manager->active_workers(),
(TaskQueueSetSuper*) PSPromotionManager::stack_array_depth());
- if (task.marks_oops_alive() && ParallelGCThreads > 1) {
- for (uint j=0; j<ParallelGCThreads; j++) {
+ if (task.marks_oops_alive() && manager->active_workers() > 1) {
+ for (uint j = 0; j < manager->active_workers(); j++) {
q->enqueue(new StealTask(&terminator));
}
}
- ParallelScavengeHeap::gc_task_manager()->execute_and_wait(q);
+ manager->execute_and_wait(q);
}
void PSRefProcTaskExecutor::execute(EnqueueTask& task)
{
GCTaskQueue* q = GCTaskQueue::create();
- for(uint i=0; i<ParallelGCThreads; i++) {
+ GCTaskManager* manager = ParallelScavengeHeap::gc_task_manager();
+ for(uint i=0; i < manager->active_workers(); i++) {
q->enqueue(new PSRefEnqueueTaskProxy(task, i));
}
- ParallelScavengeHeap::gc_task_manager()->execute_and_wait(q);
+ manager->execute_and_wait(q);
}
// This method contains all heap specific policy for invoking scavenge.
@@ -375,6 +376,14 @@ bool PSScavenge::invoke_no_policy() {
// Release all previously held resources
gc_task_manager()->release_all_resources();
+ // Set the number of GC threads to be used in this collection
+ gc_task_manager()->set_active_gang();
+ gc_task_manager()->task_idle_workers();
+ // Get the active number of workers here and use that value
+ // throughout the methods.
+ uint active_workers = gc_task_manager()->active_workers();
+ heap->set_par_threads(active_workers);
+
PSPromotionManager::pre_scavenge();
// We'll use the promotion manager again later.
@@ -385,8 +394,9 @@ bool PSScavenge::invoke_no_policy() {
GCTaskQueue* q = GCTaskQueue::create();
- for(uint i=0; i<ParallelGCThreads; i++) {
- q->enqueue(new OldToYoungRootsTask(old_gen, old_top, i));
+ uint stripe_total = active_workers;
+ for(uint i=0; i < stripe_total; i++) {
+ q->enqueue(new OldToYoungRootsTask(old_gen, old_top, i, stripe_total));
}
q->enqueue(new SerialOldToYoungRootsTask(perm_gen, perm_top));
@@ -403,10 +413,10 @@ bool PSScavenge::invoke_no_policy() {
q->enqueue(new ScavengeRootsTask(ScavengeRootsTask::code_cache));
ParallelTaskTerminator terminator(
- gc_task_manager()->workers(),
+ active_workers,
(TaskQueueSetSuper*) promotion_manager->stack_array_depth());
- if (ParallelGCThreads>1) {
- for (uint j=0; j<ParallelGCThreads; j++) {
+ if (active_workers > 1) {
+ for (uint j = 0; j < active_workers; j++) {
q->enqueue(new StealTask(&terminator));
}
}
@@ -419,6 +429,7 @@ bool PSScavenge::invoke_no_policy() {
// Process reference objects discovered during scavenge
{
reference_processor()->setup_policy(false); // not always_clear
+ reference_processor()->set_active_mt_degree(active_workers);
PSKeepAliveClosure keep_alive(promotion_manager);
PSEvacuateFollowersClosure evac_followers(promotion_manager);
if (reference_processor()->processing_is_mt()) {
@@ -622,6 +633,8 @@ bool PSScavenge::invoke_no_policy() {
// Track memory usage and detect low memory
MemoryService::track_memory_usage();
heap->update_counters();
+
+ gc_task_manager()->release_idle_workers();
}
if (VerifyAfterGC && heap->total_collections() >= VerifyGCStartAt) {
@@ -804,6 +817,7 @@ void PSScavenge::initialize() {
// Initialize ref handling object for scavenging.
MemRegion mr = young_gen->reserved();
+
_ref_processor =
new ReferenceProcessor(mr, // span
ParallelRefProcEnabled && (ParallelGCThreads > 1), // mt processing
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp
index f3011a8..0800681 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp
@@ -202,7 +202,8 @@ void OldToYoungRootsTask::do_it(GCTaskManager* manager, uint which) {
_gen->object_space(),
_gen_top,
pm,
- _stripe_number);
+ _stripe_number,
+ _stripe_total);
// Do the real work
pm->drain_stacks(false);
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.hpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.hpp
index 7ae5b21..d31f653 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.hpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.hpp
@@ -135,16 +135,63 @@ class SerialOldToYoungRootsTask : public GCTask {
// OldToYoungRootsTask
//
// This task is used to scan old to young roots in parallel
+//
+// A GC thread executing this tasks divides the generation (old gen)
+// into slices and takes a stripe in the slice as its part of the
+// work.
+//
+// +===============+ slice 0
+// | stripe 0 |
+// +---------------+
+// | stripe 1 |
+// +---------------+
+// | stripe 2 |
+// +---------------+
+// | stripe 3 |
+// +===============+ slice 1
+// | stripe 0 |
+// +---------------+
+// | stripe 1 |
+// +---------------+
+// | stripe 2 |
+// +---------------+
+// | stripe 3 |
+// +===============+ slice 2
+// ...
+//
+// A task is created for each stripe. In this case there are 4 tasks
+// created. A GC thread first works on its stripe within slice 0
+// and then moves to its stripe in the next slice until all stripes
+// exceed the top of the generation. Note that having fewer GC threads
+// than stripes works because all the tasks are executed so all stripes
+// will be covered. In this example if 4 tasks have been created to cover
+// all the stripes and there are only 3 threads, one of the threads will
+// get the tasks with the 4th stripe. However, there is a dependence in
+// CardTableExtension::scavenge_contents_parallel() on the number
+// of tasks created. In scavenge_contents_parallel the distance
+// to the next stripe is calculated based on the number of tasks.
+// If the stripe width is ssize, a task's next stripe is at
+// ssize * number_of_tasks (= slice_stride). In this case after
+// finishing stripe 0 in slice 0, the thread finds the stripe 0 in slice1
+// by adding slice_stride to the start of stripe 0 in slice 0 to get
+// to the start of stride 0 in slice 1.
class OldToYoungRootsTask : public GCTask {
private:
PSOldGen* _gen;
HeapWord* _gen_top;
uint _stripe_number;
+ uint _stripe_total;
public:
- OldToYoungRootsTask(PSOldGen *gen, HeapWord* gen_top, uint stripe_number) :
- _gen(gen), _gen_top(gen_top), _stripe_number(stripe_number) { }
+ OldToYoungRootsTask(PSOldGen *gen,
+ HeapWord* gen_top,
+ uint stripe_number,
+ uint stripe_total) :
+ _gen(gen),
+ _gen_top(gen_top),
+ _stripe_number(stripe_number),
+ _stripe_total(stripe_total) { }
char* name() { return (char *)"old-to-young-roots-task"; }
diff --git a/hotspot/src/share/vm/gc_implementation/shared/adaptiveSizePolicy.cpp b/hotspot/src/share/vm/gc_implementation/shared/adaptiveSizePolicy.cpp
index 4c933f8..2b5858b 100644
--- a/hotspot/src/share/vm/gc_implementation/shared/adaptiveSizePolicy.cpp
+++ b/hotspot/src/share/vm/gc_implementation/shared/adaptiveSizePolicy.cpp
@@ -28,8 +28,10 @@
#include "memory/collectorPolicy.hpp"
#include "runtime/timer.hpp"
#include "utilities/ostream.hpp"
+#include "utilities/workgroup.hpp"
elapsedTimer AdaptiveSizePolicy::_minor_timer;
elapsedTimer AdaptiveSizePolicy::_major_timer;
+bool AdaptiveSizePolicy::_debug_perturbation = false;
// The throughput goal is implemented as
// _throughput_goal = 1 - ( 1 / (1 + gc_cost_ratio))
@@ -88,6 +90,134 @@ AdaptiveSizePolicy::AdaptiveSizePolicy(size_t init_eden_size,
_young_gen_policy_is_ready = false;
}
+// If the number of GC threads was set on the command line,
+// use it.
+// Else
+// Calculate the number of GC threads based on the number of Java threads.
+// Calculate the number of GC threads based on the size of the heap.
+// Use the larger.
+
+int AdaptiveSizePolicy::calc_default_active_workers(uintx total_workers,
+ const uintx min_workers,
+ uintx active_workers,
+ uintx application_workers) {
+ // If the user has specifically set the number of
+ // GC threads, use them.
+
+ // If the user has turned off using a dynamic number of GC threads
+ // or the users has requested a specific number, set the active
+ // number of workers to all the workers.
+
+ uintx new_active_workers = total_workers;
+ uintx prev_active_workers = active_workers;
+ uintx active_workers_by_JT = 0;
+ uintx active_workers_by_heap_size = 0;
+
+ // Always use at least min_workers but use up to
+ // GCThreadsPerJavaThreads * application threads.
+ active_workers_by_JT =
+ MAX2((uintx) GCWorkersPerJavaThread * application_workers,
+ min_workers);
+
+ // Choose a number of GC threads based on the current size
+ // of the heap. This may be complicated because the size of
+ // the heap depends on factors such as the thoughput goal.
+ // Still a large heap should be collected by more GC threads.
+ active_workers_by_heap_size =
+ MAX2((size_t) 2U, Universe::heap()->capacity() / HeapSizePerGCThread);
+
+ uintx max_active_workers =
+ MAX2(active_workers_by_JT, active_workers_by_heap_size);
+
+ // Limit the number of workers to the the number created,
+ // (workers()).
+ new_active_workers = MIN2(max_active_workers,
+ (uintx) total_workers);
+
+ // Increase GC workers instantly but decrease them more
+ // slowly.
+ if (new_active_workers < prev_active_workers) {
+ new_active_workers =
+ MAX2(min_workers, (prev_active_workers + new_active_workers) / 2);
+ }
+
+ // Check once more that the number of workers is within the limits.
+ assert(min_workers <= total_workers, "Minimum workers not consistent with total workers");
+ assert(new_active_workers >= min_workers, "Minimum workers not observed");
+ assert(new_active_workers <= total_workers, "Total workers not observed");
+
+ if (ForceDynamicNumberOfGCThreads) {
+ // Assume this is debugging and jiggle the number of GC threads.
+ if (new_active_workers == prev_active_workers) {
+ if (new_active_workers < total_workers) {
+ new_active_workers++;
+ } else if (new_active_workers > min_workers) {
+ new_active_workers--;
+ }
+ }
+ if (new_active_workers == total_workers) {
+ if (_debug_perturbation) {
+ new_active_workers = min_workers;
+ }
+ _debug_perturbation = !_debug_perturbation;
+ }
+ assert((new_active_workers <= (uintx) ParallelGCThreads) &&
+ (new_active_workers >= min_workers),
+ "Jiggled active workers too much");
+ }
+
+ if (TraceDynamicGCThreads) {
+ gclog_or_tty->print_cr("GCTaskManager::calc_default_active_workers() : "
+ "active_workers(): %d new_acitve_workers: %d "
+ "prev_active_workers: %d\n"
+ " active_workers_by_JT: %d active_workers_by_heap_size: %d",
+ active_workers, new_active_workers, prev_active_workers,
+ active_workers_by_JT, active_workers_by_heap_size);
+ }
+ assert(new_active_workers > 0, "Always need at least 1");
+ return new_active_workers;
+}
+
+int AdaptiveSizePolicy::calc_active_workers(uintx total_workers,
+ uintx active_workers,
+ uintx application_workers) {
+ // If the user has specifically set the number of
+ // GC threads, use them.
+
+ // If the user has turned off using a dynamic number of GC threads
+ // or the users has requested a specific number, set the active
+ // number of workers to all the workers.
+
+ int new_active_workers;
+ if (!UseDynamicNumberOfGCThreads ||
+ (!FLAG_IS_DEFAULT(ParallelGCThreads) && !ForceDynamicNumberOfGCThreads)) {
+ new_active_workers = total_workers;
+ } else {
+ new_active_workers = calc_default_active_workers(total_workers,
+ 2, /* Minimum number of workers */
+ active_workers,
+ application_workers);
+ }
+ assert(new_active_workers > 0, "Always need at least 1");
+ return new_active_workers;
+}
+
+int AdaptiveSizePolicy::calc_active_conc_workers(uintx total_workers,
+ uintx active_workers,
+ uintx application_workers) {
+ if (!UseDynamicNumberOfGCThreads ||
+ (!FLAG_IS_DEFAULT(ConcGCThreads) && !ForceDynamicNumberOfGCThreads)) {
+ return ConcGCThreads;
+ } else {
+ int no_of_gc_threads = calc_default_active_workers(
+ total_workers,
+ 1, /* Minimum number of workers */
+ active_workers,
+ application_workers);
+ return no_of_gc_threads;
+ }
+}
+
bool AdaptiveSizePolicy::tenuring_threshold_change() const {
return decrement_tenuring_threshold_for_gc_cost() ||
increment_tenuring_threshold_for_gc_cost() ||
diff --git a/hotspot/src/share/vm/gc_implementation/shared/adaptiveSizePolicy.hpp b/hotspot/src/share/vm/gc_implementation/shared/adaptiveSizePolicy.hpp
index 4822eb4..dd1895e 100644
--- a/hotspot/src/share/vm/gc_implementation/shared/adaptiveSizePolicy.hpp
+++ b/hotspot/src/share/vm/gc_implementation/shared/adaptiveSizePolicy.hpp
@@ -187,6 +187,8 @@ class AdaptiveSizePolicy : public CHeapObj {
julong _young_gen_change_for_minor_throughput;
julong _old_gen_change_for_major_throughput;
+ static const uint GCWorkersPerJavaThread = 2;
+
// Accessors
double gc_pause_goal_sec() const { return _gc_pause_goal_sec; }
@@ -331,6 +333,8 @@ class AdaptiveSizePolicy : public CHeapObj {
// Return true if the policy suggested a change.
bool tenuring_threshold_change() const;
+ static bool _debug_perturbation;
+
public:
AdaptiveSizePolicy(size_t init_eden_size,
size_t init_promo_size,
@@ -338,6 +342,31 @@ class AdaptiveSizePolicy : public CHeapObj {
double gc_pause_goal_sec,
uint gc_cost_ratio);
+ // Return number default GC threads to use in the next GC.
+ static int calc_default_active_workers(uintx total_workers,
+ const uintx min_workers,
+ uintx active_workers,
+ uintx application_workers);
+
+ // Return number of GC threads to use in the next GC.
+ // This is called sparingly so as not to change the
+ // number of GC workers gratuitously.
+ // For ParNew collections
+ // For PS scavenge and ParOld collections
+ // For G1 evacuation pauses (subject to update)
+ // Other collection phases inherit the number of
+ // GC workers from the calls above. For example,
+ // a CMS parallel remark uses the same number of GC
+ // workers as the most recent ParNew collection.
+ static int calc_active_workers(uintx total_workers,
+ uintx active_workers,
+ uintx application_workers);
+
+ // Return number of GC threads to use in the next concurrent GC phase.
+ static int calc_active_conc_workers(uintx total_workers,
+ uintx active_workers,
+ uintx application_workers);
+
bool is_gc_cms_adaptive_size_policy() {
return kind() == _gc_cms_adaptive_size_policy;
}
diff --git a/hotspot/src/share/vm/gc_implementation/shared/markSweep.hpp b/hotspot/src/share/vm/gc_implementation/shared/markSweep.hpp
index b9aa635..19bee0e 100644
--- a/hotspot/src/share/vm/gc_implementation/shared/markSweep.hpp
+++ b/hotspot/src/share/vm/gc_implementation/shared/markSweep.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -196,8 +196,6 @@ class MarkSweep : AllStatic {
static void mark_object(oop obj);
// Mark pointer and follow contents. Empty marking stack afterwards.
template <class T> static inline void follow_root(T* p);
- // Mark pointer and follow contents.
- template <class T> static inline void mark_and_follow(T* p);
// Check mark and maybe push on marking stack
template <class T> static inline void mark_and_push(T* p);
static inline void push_objarray(oop obj, size_t index);
diff --git a/hotspot/src/share/vm/gc_implementation/shared/markSweep.inline.hpp b/hotspot/src/share/vm/gc_implementation/shared/markSweep.inline.hpp
index 3381f8c..cd71cd6 100644
--- a/hotspot/src/share/vm/gc_implementation/shared/markSweep.inline.hpp
+++ b/hotspot/src/share/vm/gc_implementation/shared/markSweep.inline.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -63,18 +63,6 @@ template <class T> inline void MarkSweep::follow_root(T* p) {
follow_stack();
}
-template <class T> inline void MarkSweep::mark_and_follow(T* p) {
-// assert(Universe::heap()->is_in_reserved(p), "should be in object space");
- T heap_oop = oopDesc::load_heap_oop(p);
- if (!oopDesc::is_null(heap_oop)) {
- oop obj = oopDesc::decode_heap_oop_not_null(heap_oop);
- if (!obj->mark()->is_marked()) {
- mark_object(obj);
- obj->follow_contents();
- }
- }
-}
-
template <class T> inline void MarkSweep::mark_and_push(T* p) {
// assert(Universe::heap()->is_in_reserved(p), "should be in object space");
T heap_oop = oopDesc::load_heap_oop(p);
diff --git a/hotspot/src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp b/hotspot/src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp
index e38556d..dd8a76d 100644
--- a/hotspot/src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp
+++ b/hotspot/src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp
@@ -282,7 +282,7 @@ void MutableNUMASpace::bias_region(MemRegion mr, int lgrp_id) {
// large page can be broken down if we require small pages.
os::realign_memory((char*)aligned_region.start(), aligned_region.byte_size(), page_size());
// Then we uncommit the pages in the range.
- os::free_memory((char*)aligned_region.start(), aligned_region.byte_size());
+ os::free_memory((char*)aligned_region.start(), aligned_region.byte_size(), page_size());
// And make them local/first-touch biased.
os::numa_make_local((char*)aligned_region.start(), aligned_region.byte_size(), lgrp_id);
}
@@ -297,7 +297,7 @@ void MutableNUMASpace::free_region(MemRegion mr) {
assert((intptr_t)aligned_region.start() % page_size() == 0 &&
(intptr_t)aligned_region.byte_size() % page_size() == 0, "Bad alignment");
assert(region().contains(aligned_region), "Sanity");
- os::free_memory((char*)aligned_region.start(), aligned_region.byte_size());
+ os::free_memory((char*)aligned_region.start(), aligned_region.byte_size(), page_size());
}
}
@@ -954,7 +954,7 @@ void MutableNUMASpace::LGRPSpace::scan_pages(size_t page_size, size_t page_count
if (e != scan_end) {
if ((page_expected.size != page_size || page_expected.lgrp_id != lgrp_id())
&& page_expected.size != 0) {
- os::free_memory(s, pointer_delta(e, s, sizeof(char)));
+ os::free_memory(s, pointer_delta(e, s, sizeof(char)), page_size);
}
page_expected = page_found;
}
diff --git a/hotspot/src/share/vm/gc_implementation/shared/mutableSpace.cpp b/hotspot/src/share/vm/gc_implementation/shared/mutableSpace.cpp
index 41f6365..9725c4a 100644
--- a/hotspot/src/share/vm/gc_implementation/shared/mutableSpace.cpp
+++ b/hotspot/src/share/vm/gc_implementation/shared/mutableSpace.cpp
@@ -51,7 +51,7 @@ void MutableSpace::numa_setup_pages(MemRegion mr, bool clear_space) {
size_t size = pointer_delta(end, start, sizeof(char));
if (clear_space) {
// Prefer page reallocation to migration.
- os::free_memory((char*)start, size);
+ os::free_memory((char*)start, size, page_size);
}
os::numa_make_global((char*)start, size);
}
diff --git a/hotspot/src/share/vm/gc_interface/collectedHeap.cpp b/hotspot/src/share/vm/gc_interface/collectedHeap.cpp
index 3623e9b..413248c 100644
--- a/hotspot/src/share/vm/gc_interface/collectedHeap.cpp
+++ b/hotspot/src/share/vm/gc_interface/collectedHeap.cpp
@@ -471,3 +471,30 @@ oop CollectedHeap::Class_obj_allocate(KlassHandle klass, int size, KlassHandle r
return mirror;
}
+
+/////////////// Unit tests ///////////////
+
+#ifndef PRODUCT
+void CollectedHeap::test_is_in() {
+ CollectedHeap* heap = Universe::heap();
+
+ uintptr_t epsilon = (uintptr_t) MinObjAlignment;
+ uintptr_t heap_start = (uintptr_t) heap->_reserved.start();
+ uintptr_t heap_end = (uintptr_t) heap->_reserved.end();
+
+ // Test that NULL is not in the heap.
+ assert(!heap->is_in(NULL), "NULL is unexpectedly in the heap");
+
+ // Test that a pointer to before the heap start is reported as outside the heap.
+ assert(heap_start >= ((uintptr_t)NULL + epsilon), "sanity");
+ void* before_heap = (void*)(heap_start - epsilon);
+ assert(!heap->is_in(before_heap),
+ err_msg("before_heap: " PTR_FORMAT " is unexpectedly in the heap", before_heap));
+
+ // Test that a pointer to after the heap end is reported as outside the heap.
+ assert(heap_end <= ((uintptr_t)-1 - epsilon), "sanity");
+ void* after_heap = (void*)(heap_end + epsilon);
+ assert(!heap->is_in(after_heap),
+ err_msg("after_heap: " PTR_FORMAT " is unexpectedly in the heap", after_heap));
+}
+#endif
diff --git a/hotspot/src/share/vm/gc_interface/collectedHeap.hpp b/hotspot/src/share/vm/gc_interface/collectedHeap.hpp
index 726a30e..c54dbbf 100644
--- a/hotspot/src/share/vm/gc_interface/collectedHeap.hpp
+++ b/hotspot/src/share/vm/gc_interface/collectedHeap.hpp
@@ -69,7 +69,7 @@ class CollectedHeap : public CHeapObj {
MemRegion _reserved;
BarrierSet* _barrier_set;
bool _is_gc_active;
- int _n_par_threads;
+ uint _n_par_threads;
unsigned int _total_collections; // ... started
unsigned int _total_full_collections; // ... started
@@ -217,8 +217,8 @@ class CollectedHeap : public CHeapObj {
return p == NULL || is_in_reserved(p);
}
- // Returns "TRUE" if "p" points to the head of an allocated object in the
- // heap. Since this method can be expensive in general, we restrict its
+ // Returns "TRUE" iff "p" points into the committed areas of the heap.
+ // Since this method can be expensive in general, we restrict its
// use to assertion checking only.
virtual bool is_in(const void* p) const = 0;
@@ -309,10 +309,10 @@ class CollectedHeap : public CHeapObj {
GCCause::Cause gc_cause() { return _gc_cause; }
// Number of threads currently working on GC tasks.
- int n_par_threads() { return _n_par_threads; }
+ uint n_par_threads() { return _n_par_threads; }
// May be overridden to set additional parallelism.
- virtual void set_par_threads(int t) { _n_par_threads = t; };
+ virtual void set_par_threads(uint t) { _n_par_threads = t; };
// Preload classes into the shared portion of the heap, and then dump
// that data to a file so that it can be loaded directly by another
@@ -648,6 +648,10 @@ class CollectedHeap : public CHeapObj {
// reduce the occurrence of ParallelGCThreads to uses where the
// actual number may be germane.
static bool use_parallel_gc_threads() { return ParallelGCThreads > 0; }
+
+ /////////////// Unit tests ///////////////
+
+ NOT_PRODUCT(static void test_is_in();)
};
// Class to set and reset the GC cause for a CollectedHeap.
diff --git a/hotspot/src/share/vm/memory/cardTableModRefBS.cpp b/hotspot/src/share/vm/memory/cardTableModRefBS.cpp
index c664501..7e46d2d 100644
--- a/hotspot/src/share/vm/memory/cardTableModRefBS.cpp
+++ b/hotspot/src/share/vm/memory/cardTableModRefBS.cpp
@@ -460,9 +460,43 @@ void CardTableModRefBS::non_clean_card_iterate_possibly_parallel(Space* sp,
OopsInGenClosure* cl,
CardTableRS* ct) {
if (!mr.is_empty()) {
- int n_threads = SharedHeap::heap()->n_par_threads();
- if (n_threads > 0) {
+ // Caller (process_strong_roots()) claims that all GC threads
+ // execute this call. With UseDynamicNumberOfGCThreads now all
+ // active GC threads execute this call. The number of active GC
+ // threads needs to be passed to par_non_clean_card_iterate_work()
+ // to get proper partitioning and termination.
+ //
+ // This is an example of where n_par_threads() is used instead
+ // of workers()->active_workers(). n_par_threads can be set to 0 to
+ // turn off parallelism. For example when this code is called as
+ // part of verification and SharedHeap::process_strong_roots() is being
+ // used, then n_par_threads() may have been set to 0. active_workers
+ // is not overloaded with the meaning that it is a switch to disable
+ // parallelism and so keeps the meaning of the number of
+ // active gc workers. If parallelism has not been shut off by
+ // setting n_par_threads to 0, then n_par_threads should be
+ // equal to active_workers. When a different mechanism for shutting
+ // off parallelism is used, then active_workers can be used in
+ // place of n_par_threads.
+ // This is an example of a path where n_par_threads is
+ // set to 0 to turn off parallism.
+ // [7] CardTableModRefBS::non_clean_card_iterate()
+ // [8] CardTableRS::younger_refs_in_space_iterate()
+ // [9] Generation::younger_refs_in_space_iterate()
+ // [10] OneContigSpaceCardGeneration::younger_refs_iterate()
+ // [11] CompactingPermGenGen::younger_refs_iterate()
+ // [12] CardTableRS::younger_refs_iterate()
+ // [13] SharedHeap::process_strong_roots()
+ // [14] G1CollectedHeap::verify()
+ // [15] Universe::verify()
+ // [16] G1CollectedHeap::do_collection_pause_at_safepoint()
+ //
+ int n_threads = SharedHeap::heap()->n_par_threads();
+ bool is_par = n_threads > 0;
+ if (is_par) {
#ifndef SERIALGC
+ assert(SharedHeap::heap()->n_par_threads() ==
+ SharedHeap::heap()->workers()->active_workers(), "Mismatch");
non_clean_card_iterate_parallel_work(sp, mr, cl, ct, n_threads);
#else // SERIALGC
fatal("Parallel gc not supported here.");
@@ -489,6 +523,10 @@ void CardTableModRefBS::non_clean_card_iterate_possibly_parallel(Space* sp,
// change their values in any manner.
void CardTableModRefBS::non_clean_card_iterate_serial(MemRegion mr,
MemRegionClosure* cl) {
+ bool is_par = (SharedHeap::heap()->n_par_threads() > 0);
+ assert(!is_par ||
+ (SharedHeap::heap()->n_par_threads() ==
+ SharedHeap::heap()->workers()->active_workers()), "Mismatch");
for (int i = 0; i < _cur_covered_regions; i++) {
MemRegion mri = mr.intersection(_covered[i]);
if (mri.word_size() > 0) {
@@ -624,23 +662,6 @@ MemRegion CardTableModRefBS::dirty_card_range_after_reset(MemRegion mr,
return MemRegion(mr.end(), mr.end());
}
-// Set all the dirty cards in the given region to "precleaned" state.
-void CardTableModRefBS::preclean_dirty_cards(MemRegion mr) {
- for (int i = 0; i < _cur_covered_regions; i++) {
- MemRegion mri = mr.intersection(_covered[i]);
- if (!mri.is_empty()) {
- jbyte *cur_entry, *limit;
- for (cur_entry = byte_for(mri.start()), limit = byte_for(mri.last());
- cur_entry <= limit;
- cur_entry++) {
- if (*cur_entry == dirty_card) {
- *cur_entry = precleaned_card;
- }
- }
- }
- }
-}
-
uintx CardTableModRefBS::ct_max_alignment_constraint() {
return card_size * os::vm_page_size();
}
diff --git a/hotspot/src/share/vm/memory/cardTableModRefBS.hpp b/hotspot/src/share/vm/memory/cardTableModRefBS.hpp
index 8ed4e03..2d14f4c 100644
--- a/hotspot/src/share/vm/memory/cardTableModRefBS.hpp
+++ b/hotspot/src/share/vm/memory/cardTableModRefBS.hpp
@@ -435,9 +435,6 @@ public:
MemRegion dirty_card_range_after_reset(MemRegion mr, bool reset,
int reset_val);
- // Set all the dirty cards in the given region to precleaned state.
- void preclean_dirty_cards(MemRegion mr);
-
// Provide read-only access to the card table array.
const jbyte* byte_for_const(const void* p) const {
return byte_for(p);
diff --git a/hotspot/src/share/vm/memory/cardTableRS.cpp b/hotspot/src/share/vm/memory/cardTableRS.cpp
index 4b47da7..c152d6c 100644
--- a/hotspot/src/share/vm/memory/cardTableRS.cpp
+++ b/hotspot/src/share/vm/memory/cardTableRS.cpp
@@ -164,7 +164,13 @@ inline bool ClearNoncleanCardWrapper::clear_card_serial(jbyte* entry) {
ClearNoncleanCardWrapper::ClearNoncleanCardWrapper(
DirtyCardToOopClosure* dirty_card_closure, CardTableRS* ct) :
_dirty_card_closure(dirty_card_closure), _ct(ct) {
+ // Cannot yet substitute active_workers for n_par_threads
+ // in the case where parallelism is being turned off by
+ // setting n_par_threads to 0.
_is_par = (SharedHeap::heap()->n_par_threads() > 0);
+ assert(!_is_par ||
+ (SharedHeap::heap()->n_par_threads() ==
+ SharedHeap::heap()->workers()->active_workers()), "Mismatch");
}
void ClearNoncleanCardWrapper::do_MemRegion(MemRegion mr) {
diff --git a/hotspot/src/share/vm/memory/dump.cpp b/hotspot/src/share/vm/memory/dump.cpp
index cb66e86..75a0f8b 100644
--- a/hotspot/src/share/vm/memory/dump.cpp
+++ b/hotspot/src/share/vm/memory/dump.cpp
@@ -1402,7 +1402,7 @@ class LinkClassesClosure : public ObjectClosure {
instanceKlass* ik = (instanceKlass*) k;
// Link the class to cause the bytecodes to be rewritten and the
// cpcache to be created.
- if (ik->get_init_state() < instanceKlass::linked) {
+ if (ik->init_state() < instanceKlass::linked) {
ik->link_class(THREAD);
guarantee(!HAS_PENDING_EXCEPTION, "exception in class rewriting");
}
@@ -1535,7 +1535,7 @@ void GenCollectedHeap::preload_and_dump(TRAPS) {
// are loaded in order that the related data structures (klass,
// cpCache, Sting constants) are located together.
- if (ik->get_init_state() < instanceKlass::linked) {
+ if (ik->init_state() < instanceKlass::linked) {
ik->link_class(THREAD);
guarantee(!(HAS_PENDING_EXCEPTION), "exception in class rewriting");
}
diff --git a/hotspot/src/share/vm/memory/genCollectedHeap.cpp b/hotspot/src/share/vm/memory/genCollectedHeap.cpp
index babb006..b4de7f1 100644
--- a/hotspot/src/share/vm/memory/genCollectedHeap.cpp
+++ b/hotspot/src/share/vm/memory/genCollectedHeap.cpp
@@ -703,7 +703,7 @@ HeapWord* GenCollectedHeap::satisfy_failed_allocation(size_t size, bool is_tlab)
return collector_policy()->satisfy_failed_allocation(size, is_tlab);
}
-void GenCollectedHeap::set_par_threads(int t) {
+void GenCollectedHeap::set_par_threads(uint t) {
SharedHeap::set_par_threads(t);
_gen_process_strong_tasks->set_n_threads(t);
}
@@ -957,7 +957,7 @@ bool GenCollectedHeap::is_in_young(oop p) {
return result;
}
-// Returns "TRUE" iff "p" points into the allocated area of the heap.
+// Returns "TRUE" iff "p" points into the committed areas of the heap.
bool GenCollectedHeap::is_in(const void* p) const {
#ifndef ASSERT
guarantee(VerifyBeforeGC ||
@@ -1460,26 +1460,22 @@ class GenTimeOfLastGCClosure: public GenCollectedHeap::GenClosure {
};
jlong GenCollectedHeap::millis_since_last_gc() {
- jlong now = os::javaTimeMillis();
+ // We need a monotonically non-deccreasing time in ms but
+ // os::javaTimeMillis() does not guarantee monotonicity.
+ jlong now = os::javaTimeNanos() / NANOSECS_PER_MILLISEC;
GenTimeOfLastGCClosure tolgc_cl(now);
// iterate over generations getting the oldest
// time that a generation was collected
generation_iterate(&tolgc_cl, false);
tolgc_cl.do_generation(perm_gen());
- // XXX Despite the assert above, since javaTimeMillis()
- // doesnot guarantee monotonically increasing return
- // values (note, i didn't say "strictly monotonic"),
- // we need to guard against getting back a time
- // later than now. This should be fixed by basing
- // on someting like gethrtime() which guarantees
- // monotonicity. Note that cond_wait() is susceptible
- // to a similar problem, because its interface is
- // based on absolute time in the form of the
- // system time's notion of UCT. See also 4506635
- // for yet another problem of similar nature. XXX
+
+ // javaTimeNanos() is guaranteed to be monotonically non-decreasing
+ // provided the underlying platform provides such a time source
+ // (and it is bug free). So we still have to guard against getting
+ // back a time later than 'now'.
jlong retVal = now - tolgc_cl.time();
if (retVal < 0) {
- NOT_PRODUCT(warning("time warp: %d", retVal);)
+ NOT_PRODUCT(warning("time warp: "INT64_FORMAT, retVal);)
return 0;
}
return retVal;
diff --git a/hotspot/src/share/vm/memory/genCollectedHeap.hpp b/hotspot/src/share/vm/memory/genCollectedHeap.hpp
index e7bea64..5f35dec 100644
--- a/hotspot/src/share/vm/memory/genCollectedHeap.hpp
+++ b/hotspot/src/share/vm/memory/genCollectedHeap.hpp
@@ -198,7 +198,7 @@ public:
// Mostly used for testing purposes. Caller does not hold the Heap_lock on entry.
void collect(GCCause::Cause cause, int max_level);
- // Returns "TRUE" iff "p" points into the allocated area of the heap.
+ // Returns "TRUE" iff "p" points into the committed areas of the heap.
// The methods is_in(), is_in_closed_subset() and is_in_youngest() may
// be expensive to compute in general, so, to prevent
// their inadvertent use in product jvm's, we restrict their use to
@@ -419,8 +419,7 @@ public:
// asserted to be this type.
static GenCollectedHeap* heap();
- void set_par_threads(int t);
-
+ void set_par_threads(uint t);
// Invoke the "do_oop" method of one of the closures "not_older_gens"
// or "older_gens" on root locations for the generation at
diff --git a/hotspot/src/share/vm/memory/generation.hpp b/hotspot/src/share/vm/memory/generation.hpp
index 4561f5a..61fcf18 100644
--- a/hotspot/src/share/vm/memory/generation.hpp
+++ b/hotspot/src/share/vm/memory/generation.hpp
@@ -220,7 +220,7 @@ class Generation: public CHeapObj {
MemRegion prev_used_region() const { return _prev_used_region; }
virtual void save_used_region() { _prev_used_region = used_region(); }
- // Returns "TRUE" iff "p" points into an allocated object in the generation.
+ // Returns "TRUE" iff "p" points into the committed areas in the generation.
// For some kinds of generations, this may be an expensive operation.
// To avoid performance problems stemming from its inadvertent use in
// product jvm's, we restrict its use to assertion checking or
@@ -413,10 +413,13 @@ class Generation: public CHeapObj {
// Time (in ms) when we were last collected or now if a collection is
// in progress.
virtual jlong time_of_last_gc(jlong now) {
- // XXX See note in genCollectedHeap::millis_since_last_gc()
+ // Both _time_of_last_gc and now are set using a time source
+ // that guarantees monotonically non-decreasing values provided
+ // the underlying platform provides such a source. So we still
+ // have to guard against non-monotonicity.
NOT_PRODUCT(
if (now < _time_of_last_gc) {
- warning("time warp: %d to %d", _time_of_last_gc, now);
+ warning("time warp: "INT64_FORMAT" to "INT64_FORMAT, _time_of_last_gc, now);
}
)
return _time_of_last_gc;
diff --git a/hotspot/src/share/vm/memory/referenceProcessor.cpp b/hotspot/src/share/vm/memory/referenceProcessor.cpp
index e0dabaf..2699ecd 100644
--- a/hotspot/src/share/vm/memory/referenceProcessor.cpp
+++ b/hotspot/src/share/vm/memory/referenceProcessor.cpp
@@ -43,7 +43,9 @@ void referenceProcessor_init() {
}
void ReferenceProcessor::init_statics() {
- jlong now = os::javaTimeMillis();
+ // We need a monotonically non-deccreasing time in ms but
+ // os::javaTimeMillis() does not guarantee monotonicity.
+ jlong now = os::javaTimeNanos() / NANOSECS_PER_MILLISEC;
// Initialize the soft ref timestamp clock.
_soft_ref_timestamp_clock = now;
@@ -86,9 +88,9 @@ void ReferenceProcessor::enable_discovery(bool verify_disabled, bool check_no_re
ReferenceProcessor::ReferenceProcessor(MemRegion span,
bool mt_processing,
- int mt_processing_degree,
+ uint mt_processing_degree,
bool mt_discovery,
- int mt_discovery_degree,
+ uint mt_discovery_degree,
bool atomic_discovery,
BoolObjectClosure* is_alive_non_header,
bool discovered_list_needs_barrier) :
@@ -103,7 +105,7 @@ ReferenceProcessor::ReferenceProcessor(MemRegion span,
_span = span;
_discovery_is_atomic = atomic_discovery;
_discovery_is_mt = mt_discovery;
- _num_q = MAX2(1, mt_processing_degree);
+ _num_q = MAX2(1U, mt_processing_degree);
_max_num_q = MAX2(_num_q, mt_discovery_degree);
_discovered_refs = NEW_C_HEAP_ARRAY(DiscoveredList,
_max_num_q * number_of_subclasses_of_ref());
@@ -116,7 +118,7 @@ ReferenceProcessor::ReferenceProcessor(MemRegion span,
_discoveredPhantomRefs = &_discoveredFinalRefs[_max_num_q];
// Initialize all entries to NULL
- for (int i = 0; i < _max_num_q * number_of_subclasses_of_ref(); i++) {
+ for (uint i = 0; i < _max_num_q * number_of_subclasses_of_ref(); i++) {
_discovered_refs[i].set_head(NULL);
_discovered_refs[i].set_length(0);
}
@@ -131,7 +133,7 @@ ReferenceProcessor::ReferenceProcessor(MemRegion span,
#ifndef PRODUCT
void ReferenceProcessor::verify_no_references_recorded() {
guarantee(!_discovering_refs, "Discovering refs?");
- for (int i = 0; i < _max_num_q * number_of_subclasses_of_ref(); i++) {
+ for (uint i = 0; i < _max_num_q * number_of_subclasses_of_ref(); i++) {
guarantee(_discovered_refs[i].is_empty(),
"Found non-empty discovered list");
}
@@ -139,7 +141,7 @@ void ReferenceProcessor::verify_no_references_recorded() {
#endif
void ReferenceProcessor::weak_oops_do(OopClosure* f) {
- for (int i = 0; i < _max_num_q * number_of_subclasses_of_ref(); i++) {
+ for (uint i = 0; i < _max_num_q * number_of_subclasses_of_ref(); i++) {
if (UseCompressedOops) {
f->do_oop((narrowOop*)_discovered_refs[i].adr_head());
} else {
@@ -151,7 +153,10 @@ void ReferenceProcessor::weak_oops_do(OopClosure* f) {
void ReferenceProcessor::update_soft_ref_master_clock() {
// Update (advance) the soft ref master clock field. This must be done
// after processing the soft ref list.
- jlong now = os::javaTimeMillis();
+
+ // We need a monotonically non-deccreasing time in ms but
+ // os::javaTimeMillis() does not guarantee monotonicity.
+ jlong now = os::javaTimeNanos() / NANOSECS_PER_MILLISEC;
jlong soft_ref_clock = java_lang_ref_SoftReference::clock();
assert(soft_ref_clock == _soft_ref_timestamp_clock, "soft ref clocks out of sync");
@@ -161,10 +166,11 @@ void ReferenceProcessor::update_soft_ref_master_clock() {
_soft_ref_timestamp_clock, now);
}
)
- // In product mode, protect ourselves from system time being adjusted
- // externally and going backward; see note in the implementation of
- // GenCollectedHeap::time_since_last_gc() for the right way to fix
- // this uniformly throughout the VM; see bug-id 4741166. XXX
+ // The values of now and _soft_ref_timestamp_clock are set using
+ // javaTimeNanos(), which is guaranteed to be monotonically
+ // non-decreasing provided the underlying platform provides such
+ // a time source (and it is bug free).
+ // In product mode, however, protect ourselves from non-monotonicty.
if (now > _soft_ref_timestamp_clock) {
_soft_ref_timestamp_clock = now;
java_lang_ref_SoftReference::set_clock(now);
@@ -431,7 +437,7 @@ void ReferenceProcessor::enqueue_discovered_reflists(HeapWord* pending_list_addr
task_executor->execute(tsk);
} else {
// Serial code: call the parent class's implementation
- for (int i = 0; i < _max_num_q * number_of_subclasses_of_ref(); i++) {
+ for (uint i = 0; i < _max_num_q * number_of_subclasses_of_ref(); i++) {
enqueue_discovered_reflist(_discovered_refs[i], pending_list_addr);
_discovered_refs[i].set_head(NULL);
_discovered_refs[i].set_length(0);
@@ -690,7 +696,7 @@ ReferenceProcessor::abandon_partial_discovered_list(DiscoveredList& refs_list) {
void ReferenceProcessor::abandon_partial_discovery() {
// loop over the lists
- for (int i = 0; i < _max_num_q * number_of_subclasses_of_ref(); i++) {
+ for (uint i = 0; i < _max_num_q * number_of_subclasses_of_ref(); i++) {
if (TraceReferenceGC && PrintGCDetails && ((i % _max_num_q) == 0)) {
gclog_or_tty->print_cr("\nAbandoning %s discovered list", list_name(i));
}
@@ -781,7 +787,7 @@ void ReferenceProcessor::balance_queues(DiscoveredList ref_lists[])
gclog_or_tty->print_cr("\nBalance ref_lists ");
}
- for (int i = 0; i < _max_num_q; ++i) {
+ for (uint i = 0; i < _max_num_q; ++i) {
total_refs += ref_lists[i].length();
if (TraceReferenceGC && PrintGCDetails) {
gclog_or_tty->print("%d ", ref_lists[i].length());
@@ -791,8 +797,8 @@ void ReferenceProcessor::balance_queues(DiscoveredList ref_lists[])
gclog_or_tty->print_cr(" = %d", total_refs);
}
size_t avg_refs = total_refs / _num_q + 1;
- int to_idx = 0;
- for (int from_idx = 0; from_idx < _max_num_q; from_idx++) {
+ uint to_idx = 0;
+ for (uint from_idx = 0; from_idx < _max_num_q; from_idx++) {
bool move_all = false;
if (from_idx >= _num_q) {
move_all = ref_lists[from_idx].length() > 0;
@@ -851,7 +857,7 @@ void ReferenceProcessor::balance_queues(DiscoveredList ref_lists[])
}
#ifdef ASSERT
size_t balanced_total_refs = 0;
- for (int i = 0; i < _max_num_q; ++i) {
+ for (uint i = 0; i < _max_num_q; ++i) {
balanced_total_refs += ref_lists[i].length();
if (TraceReferenceGC && PrintGCDetails) {
gclog_or_tty->print("%d ", ref_lists[i].length());
@@ -897,7 +903,7 @@ ReferenceProcessor::process_discovered_reflist(
}
if (PrintReferenceGC && PrintGCDetails) {
size_t total = 0;
- for (int i = 0; i < _max_num_q; ++i) {
+ for (uint i = 0; i < _max_num_q; ++i) {
total += refs_lists[i].length();
}
gclog_or_tty->print(", %u refs", total);
@@ -913,7 +919,7 @@ ReferenceProcessor::process_discovered_reflist(
RefProcPhase1Task phase1(*this, refs_lists, policy, true /*marks_oops_alive*/);
task_executor->execute(phase1);
} else {
- for (int i = 0; i < _max_num_q; i++) {
+ for (uint i = 0; i < _max_num_q; i++) {
process_phase1(refs_lists[i], policy,
is_alive, keep_alive, complete_gc);
}
@@ -929,7 +935,7 @@ ReferenceProcessor::process_discovered_reflist(
RefProcPhase2Task phase2(*this, refs_lists, !discovery_is_atomic() /*marks_oops_alive*/);
task_executor->execute(phase2);
} else {
- for (int i = 0; i < _max_num_q; i++) {
+ for (uint i = 0; i < _max_num_q; i++) {
process_phase2(refs_lists[i], is_alive, keep_alive, complete_gc);
}
}
@@ -940,7 +946,7 @@ ReferenceProcessor::process_discovered_reflist(
RefProcPhase3Task phase3(*this, refs_lists, clear_referent, true /*marks_oops_alive*/);
task_executor->execute(phase3);
} else {
- for (int i = 0; i < _max_num_q; i++) {
+ for (uint i = 0; i < _max_num_q; i++) {
process_phase3(refs_lists[i], clear_referent,
is_alive, keep_alive, complete_gc);
}
@@ -949,7 +955,7 @@ ReferenceProcessor::process_discovered_reflist(
void ReferenceProcessor::clean_up_discovered_references() {
// loop over the lists
- for (int i = 0; i < _max_num_q * number_of_subclasses_of_ref(); i++) {
+ for (uint i = 0; i < _max_num_q * number_of_subclasses_of_ref(); i++) {
if (TraceReferenceGC && PrintGCDetails && ((i % _max_num_q) == 0)) {
gclog_or_tty->print_cr(
"\nScrubbing %s discovered list of Null referents",
@@ -994,7 +1000,7 @@ void ReferenceProcessor::clean_up_discovered_reflist(DiscoveredList& refs_list)
}
inline DiscoveredList* ReferenceProcessor::get_discovered_list(ReferenceType rt) {
- int id = 0;
+ uint id = 0;
// Determine the queue index to use for this object.
if (_discovery_is_mt) {
// During a multi-threaded discovery phase,
@@ -1276,7 +1282,7 @@ void ReferenceProcessor::preclean_discovered_references(
{
TraceTime tt("Preclean SoftReferences", PrintGCDetails && PrintReferenceGC,
false, gclog_or_tty);
- for (int i = 0; i < _max_num_q; i++) {
+ for (uint i = 0; i < _max_num_q; i++) {
if (yield->should_return()) {
return;
}
@@ -1289,7 +1295,7 @@ void ReferenceProcessor::preclean_discovered_references(
{
TraceTime tt("Preclean WeakReferences", PrintGCDetails && PrintReferenceGC,
false, gclog_or_tty);
- for (int i = 0; i < _max_num_q; i++) {
+ for (uint i = 0; i < _max_num_q; i++) {
if (yield->should_return()) {
return;
}
@@ -1302,7 +1308,7 @@ void ReferenceProcessor::preclean_discovered_references(
{
TraceTime tt("Preclean FinalReferences", PrintGCDetails && PrintReferenceGC,
false, gclog_or_tty);
- for (int i = 0; i < _max_num_q; i++) {
+ for (uint i = 0; i < _max_num_q; i++) {
if (yield->should_return()) {
return;
}
@@ -1315,7 +1321,7 @@ void ReferenceProcessor::preclean_discovered_references(
{
TraceTime tt("Preclean PhantomReferences", PrintGCDetails && PrintReferenceGC,
false, gclog_or_tty);
- for (int i = 0; i < _max_num_q; i++) {
+ for (uint i = 0; i < _max_num_q; i++) {
if (yield->should_return()) {
return;
}
@@ -1380,7 +1386,7 @@ ReferenceProcessor::preclean_discovered_reflist(DiscoveredList& refs_list,
)
}
-const char* ReferenceProcessor::list_name(int i) {
+const char* ReferenceProcessor::list_name(uint i) {
assert(i >= 0 && i <= _max_num_q * number_of_subclasses_of_ref(),
"Out of bounds index");
@@ -1404,7 +1410,7 @@ void ReferenceProcessor::verify_ok_to_handle_reflists() {
#ifndef PRODUCT
void ReferenceProcessor::clear_discovered_references() {
guarantee(!_discovering_refs, "Discovering refs?");
- for (int i = 0; i < _max_num_q * number_of_subclasses_of_ref(); i++) {
+ for (uint i = 0; i < _max_num_q * number_of_subclasses_of_ref(); i++) {
clear_discovered_references(_discovered_refs[i]);
}
}
diff --git a/hotspot/src/share/vm/memory/referenceProcessor.hpp b/hotspot/src/share/vm/memory/referenceProcessor.hpp
index cbd8bfc..bfa3bdf 100644
--- a/hotspot/src/share/vm/memory/referenceProcessor.hpp
+++ b/hotspot/src/share/vm/memory/referenceProcessor.hpp
@@ -231,7 +231,7 @@ class ReferenceProcessor : public CHeapObj {
bool _enqueuing_is_done; // true if all weak references enqueued
bool _processing_is_mt; // true during phases when
// reference processing is MT.
- int _next_id; // round-robin mod _num_q counter in
+ uint _next_id; // round-robin mod _num_q counter in
// support of work distribution
// For collectors that do not keep GC liveness information
@@ -252,9 +252,9 @@ class ReferenceProcessor : public CHeapObj {
// The discovered ref lists themselves
// The active MT'ness degree of the queues below
- int _num_q;
+ uint _num_q;
// The maximum MT'ness degree of the queues below
- int _max_num_q;
+ uint _max_num_q;
// Master array of discovered oops
DiscoveredList* _discovered_refs;
@@ -268,9 +268,9 @@ class ReferenceProcessor : public CHeapObj {
public:
static int number_of_subclasses_of_ref() { return (REF_PHANTOM - REF_OTHER); }
- int num_q() { return _num_q; }
- int max_num_q() { return _max_num_q; }
- void set_active_mt_degree(int v) { _num_q = v; }
+ uint num_q() { return _num_q; }
+ uint max_num_q() { return _max_num_q; }
+ void set_active_mt_degree(uint v) { _num_q = v; }
DiscoveredList* discovered_refs() { return _discovered_refs; }
@@ -368,7 +368,7 @@ class ReferenceProcessor : public CHeapObj {
// Returns the name of the discovered reference list
// occupying the i / _num_q slot.
- const char* list_name(int i);
+ const char* list_name(uint i);
void enqueue_discovered_reflists(HeapWord* pending_list_addr, AbstractRefProcTaskExecutor* task_executor);
@@ -388,8 +388,8 @@ class ReferenceProcessor : public CHeapObj {
YieldClosure* yield);
// round-robin mod _num_q (not: _not_ mode _max_num_q)
- int next_id() {
- int id = _next_id;
+ uint next_id() {
+ uint id = _next_id;
if (++_next_id == _num_q) {
_next_id = 0;
}
@@ -434,8 +434,8 @@ class ReferenceProcessor : public CHeapObj {
// Default parameters give you a vanilla reference processor.
ReferenceProcessor(MemRegion span,
- bool mt_processing = false, int mt_processing_degree = 1,
- bool mt_discovery = false, int mt_discovery_degree = 1,
+ bool mt_processing = false, uint mt_processing_degree = 1,
+ bool mt_discovery = false, uint mt_discovery_degree = 1,
bool atomic_discovery = true,
BoolObjectClosure* is_alive_non_header = NULL,
bool discovered_list_needs_barrier = false);
diff --git a/hotspot/src/share/vm/memory/sharedHeap.cpp b/hotspot/src/share/vm/memory/sharedHeap.cpp
index 15d8eaa..707768e 100644
--- a/hotspot/src/share/vm/memory/sharedHeap.cpp
+++ b/hotspot/src/share/vm/memory/sharedHeap.cpp
@@ -58,7 +58,6 @@ SharedHeap::SharedHeap(CollectorPolicy* policy_) :
_perm_gen(NULL), _rem_set(NULL),
_strong_roots_parity(0),
_process_strong_tasks(new SubTasksDone(SH_PS_NumElements)),
- _n_par_threads(0),
_workers(NULL)
{
if (_process_strong_tasks == NULL || !_process_strong_tasks->valid()) {
@@ -80,6 +79,14 @@ SharedHeap::SharedHeap(CollectorPolicy* policy_) :
}
}
+int SharedHeap::n_termination() {
+ return _process_strong_tasks->n_threads();
+}
+
+void SharedHeap::set_n_termination(int t) {
+ _process_strong_tasks->set_n_threads(t);
+}
+
bool SharedHeap::heap_lock_held_for_gc() {
Thread* t = Thread::current();
return Heap_lock->owned_by_self()
@@ -87,7 +94,7 @@ bool SharedHeap::heap_lock_held_for_gc() {
&& _thread_holds_heap_lock_for_gc);
}
-void SharedHeap::set_par_threads(int t) {
+void SharedHeap::set_par_threads(uint t) {
assert(t == 0 || !UseSerialGC, "Cannot have parallel threads");
_n_par_threads = t;
_process_strong_tasks->set_n_threads(t);
@@ -144,6 +151,10 @@ void SharedHeap::process_strong_roots(bool activate_scope,
StrongRootsScope srs(this, activate_scope);
// General strong roots.
assert(_strong_roots_parity != 0, "must have called prologue code");
+ // _n_termination for _process_strong_tasks should be set up stream
+ // in a method not running in a GC worker. Otherwise the GC worker
+ // could be trying to change the termination condition while the task
+ // is executing in another GC worker.
if (!_process_strong_tasks->is_task_claimed(SH_PS_Universe_oops_do)) {
Universe::oops_do(roots);
// Consider perm-gen discovered lists to be strong.
diff --git a/hotspot/src/share/vm/memory/sharedHeap.hpp b/hotspot/src/share/vm/memory/sharedHeap.hpp
index 55a9b56..408b0dc 100644
--- a/hotspot/src/share/vm/memory/sharedHeap.hpp
+++ b/hotspot/src/share/vm/memory/sharedHeap.hpp
@@ -49,6 +49,62 @@ class FlexibleWorkGang;
class CollectorPolicy;
class KlassHandle;
+// Note on use of FlexibleWorkGang's for GC.
+// There are three places where task completion is determined.
+// In
+// 1) ParallelTaskTerminator::offer_termination() where _n_threads
+// must be set to the correct value so that count of workers that
+// have offered termination will exactly match the number
+// working on the task. Tasks such as those derived from GCTask
+// use ParallelTaskTerminator's. Tasks that want load balancing
+// by work stealing use this method to gauge completion.
+// 2) SubTasksDone has a variable _n_threads that is used in
+// all_tasks_completed() to determine completion. all_tasks_complete()
+// counts the number of tasks that have been done and then reset
+// the SubTasksDone so that it can be used again. When the number of
+// tasks is set to the number of GC workers, then _n_threads must
+// be set to the number of active GC workers. G1CollectedHeap,
+// HRInto_G1RemSet, GenCollectedHeap and SharedHeap have SubTasksDone.
+// This seems too many.
+// 3) SequentialSubTasksDone has an _n_threads that is used in
+// a way similar to SubTasksDone and has the same dependency on the
+// number of active GC workers. CompactibleFreeListSpace and Space
+// have SequentialSubTasksDone's.
+// Example of using SubTasksDone and SequentialSubTasksDone
+// G1CollectedHeap::g1_process_strong_roots() calls
+// process_strong_roots(false, // no scoping; this is parallel code
+// collecting_perm_gen, so,
+// &buf_scan_non_heap_roots,
+// &eager_scan_code_roots,
+// &buf_scan_perm);
+// which delegates to SharedHeap::process_strong_roots() and uses
+// SubTasksDone* _process_strong_tasks to claim tasks.
+// process_strong_roots() calls
+// rem_set()->younger_refs_iterate(perm_gen(), perm_blk);
+// to scan the card table and which eventually calls down into
+// CardTableModRefBS::par_non_clean_card_iterate_work(). This method
+// uses SequentialSubTasksDone* _pst to claim tasks.
+// Both SubTasksDone and SequentialSubTasksDone call their method
+// all_tasks_completed() to count the number of GC workers that have
+// finished their work. That logic is "when all the workers are
+// finished the tasks are finished".
+//
+// The pattern that appears in the code is to set _n_threads
+// to a value > 1 before a task that you would like executed in parallel
+// and then to set it to 0 after that task has completed. A value of
+// 0 is a "special" value in set_n_threads() which translates to
+// setting _n_threads to 1.
+//
+// Some code uses _n_terminiation to decide if work should be done in
+// parallel. The notorious possibly_parallel_oops_do() in threads.cpp
+// is an example of such code. Look for variable "is_par" for other
+// examples.
+//
+// The active_workers is not reset to 0 after a parallel phase. It's
+// value may be used in later phases and in one instance at least
+// (the parallel remark) it has to be used (the parallel remark depends
+// on the partitioning done in the previous parallel scavenge).
+
class SharedHeap : public CollectedHeap {
friend class VMStructs;
@@ -84,11 +140,6 @@ protected:
// If we're doing parallel GC, use this gang of threads.
FlexibleWorkGang* _workers;
- // Number of parallel threads currently working on GC tasks.
- // O indicates use sequential code; 1 means use parallel code even with
- // only one thread, for performance testing purposes.
- int _n_par_threads;
-
// Full initialization is done in a concrete subtype's "initialize"
// function.
SharedHeap(CollectorPolicy* policy_);
@@ -107,6 +158,7 @@ public:
CollectorPolicy *collector_policy() const { return _collector_policy; }
void set_barrier_set(BarrierSet* bs);
+ SubTasksDone* process_strong_tasks() { return _process_strong_tasks; }
// Does operations required after initialization has been done.
virtual void post_initialize();
@@ -198,13 +250,6 @@ public:
FlexibleWorkGang* workers() const { return _workers; }
- // Sets the number of parallel threads that will be doing tasks
- // (such as process strong roots) subsequently.
- virtual void set_par_threads(int t);
-
- // Number of threads currently working on GC tasks.
- int n_par_threads() { return _n_par_threads; }
-
// Invoke the "do_oop" method the closure "roots" on all root locations.
// If "collecting_perm_gen" is false, then roots that may only contain
// references to permGen objects are not scanned; instead, in that case,
@@ -240,6 +285,13 @@ public:
virtual void gc_prologue(bool full) = 0;
virtual void gc_epilogue(bool full) = 0;
+ // Sets the number of parallel threads that will be doing tasks
+ // (such as process strong roots) subsequently.
+ virtual void set_par_threads(uint t);
+
+ int n_termination();
+ void set_n_termination(int t);
+
//
// New methods from CollectedHeap
//
diff --git a/hotspot/src/share/vm/memory/space.cpp b/hotspot/src/share/vm/memory/space.cpp
index ff91ba3..7f3aceb 100644
--- a/hotspot/src/share/vm/memory/space.cpp
+++ b/hotspot/src/share/vm/memory/space.cpp
@@ -304,11 +304,6 @@ void ContiguousSpace::clear(bool mangle_space) {
CompactibleSpace::clear(mangle_space);
}
-bool Space::is_in(const void* p) const {
- HeapWord* b = block_start_const(p);
- return b != NULL && block_is_obj(b);
-}
-
bool ContiguousSpace::is_in(const void* p) const {
return _bottom <= p && p < _top;
}
diff --git a/hotspot/src/share/vm/memory/space.hpp b/hotspot/src/share/vm/memory/space.hpp
index ef7e231..2d718c2 100644
--- a/hotspot/src/share/vm/memory/space.hpp
+++ b/hotspot/src/share/vm/memory/space.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -187,7 +187,7 @@ class Space: public CHeapObj {
// expensive operation. To prevent performance problems
// on account of its inadvertent use in product jvm's,
// we restrict its use to assertion checks only.
- virtual bool is_in(const void* p) const;
+ virtual bool is_in(const void* p) const = 0;
// Returns true iff the given reserved memory of the space contains the
// given address.
@@ -533,7 +533,8 @@ protected:
* by the MarkSweepAlwaysCompactCount parameter. \
*/ \
int invocations = SharedHeap::heap()->perm_gen()->stat_record()->invocations;\
- bool skip_dead = ((invocations % MarkSweepAlwaysCompactCount) != 0); \
+ bool skip_dead = (MarkSweepAlwaysCompactCount < 1) \
+ ||((invocations % MarkSweepAlwaysCompactCount) != 0); \
\
size_t allowed_deadspace = 0; \
if (skip_dead) { \
diff --git a/hotspot/src/share/vm/oops/arrayKlass.hpp b/hotspot/src/share/vm/oops/arrayKlass.hpp
index cfc0627..13dbaec 100644
--- a/hotspot/src/share/vm/oops/arrayKlass.hpp
+++ b/hotspot/src/share/vm/oops/arrayKlass.hpp
@@ -73,7 +73,7 @@ class arrayKlass: public Klass {
oop* adr_component_mirror() { return (oop*)&this->_component_mirror;}
// Compiler/Interpreter offset
- static ByteSize component_mirror_offset() { return byte_offset_of(arrayKlass, _component_mirror); }
+ static ByteSize component_mirror_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(arrayKlass, _component_mirror)); }
virtual klassOop java_super() const;//{ return SystemDictionary::Object_klass(); }
diff --git a/hotspot/src/share/vm/oops/arrayOop.cpp b/hotspot/src/share/vm/oops/arrayOop.cpp
index c159438..c8239c3 100644
--- a/hotspot/src/share/vm/oops/arrayOop.cpp
+++ b/hotspot/src/share/vm/oops/arrayOop.cpp
@@ -38,9 +38,7 @@ bool arrayOopDesc::check_max_length_overflow(BasicType type) {
return (julong)(size_t)bytes == bytes;
}
-bool arrayOopDesc::test_max_array_length() {
- tty->print_cr("test_max_array_length");
-
+void arrayOopDesc::test_max_array_length() {
assert(check_max_length_overflow(T_BOOLEAN), "size_t overflow for boolean array");
assert(check_max_length_overflow(T_CHAR), "size_t overflow for char array");
assert(check_max_length_overflow(T_FLOAT), "size_t overflow for float array");
@@ -54,8 +52,6 @@ bool arrayOopDesc::test_max_array_length() {
assert(check_max_length_overflow(T_NARROWOOP), "size_t overflow for narrowOop array");
// T_VOID and T_ADDRESS are not supported by max_array_length()
-
- return true;
}
diff --git a/hotspot/src/share/vm/oops/arrayOop.hpp b/hotspot/src/share/vm/oops/arrayOop.hpp
index e169990..f1b4def 100644
--- a/hotspot/src/share/vm/oops/arrayOop.hpp
+++ b/hotspot/src/share/vm/oops/arrayOop.hpp
@@ -128,7 +128,7 @@ class arrayOopDesc : public oopDesc {
#ifndef PRODUCT
static bool check_max_length_overflow(BasicType type);
static int32_t old_max_array_length(BasicType type);
- static bool test_max_array_length();
+ static void test_max_array_length();
#endif
};
diff --git a/hotspot/src/share/vm/oops/instanceKlass.cpp b/hotspot/src/share/vm/oops/instanceKlass.cpp
index 04b3c2f..e20a6ed 100644
--- a/hotspot/src/share/vm/oops/instanceKlass.cpp
+++ b/hotspot/src/share/vm/oops/instanceKlass.cpp
@@ -208,7 +208,7 @@ void instanceKlass::eager_initialize_impl(instanceKlassHandle this_oop) {
// abort if someone beat us to the initialization
if (!this_oop->is_not_initialized()) return; // note: not equivalent to is_initialized()
- ClassState old_state = this_oop->_init_state;
+ ClassState old_state = this_oop->init_state();
link_class_impl(this_oop, true, THREAD);
if (HAS_PENDING_EXCEPTION) {
CLEAR_PENDING_EXCEPTION;
@@ -2479,7 +2479,7 @@ void instanceKlass::set_init_state(ClassState state) {
bool good_state = as_klassOop()->is_shared() ? (_init_state <= state)
: (_init_state < state);
assert(good_state || state == allocated, "illegal state transition");
- _init_state = state;
+ _init_state = (u1)state;
}
#endif
diff --git a/hotspot/src/share/vm/oops/instanceKlass.hpp b/hotspot/src/share/vm/oops/instanceKlass.hpp
index a87448a..f07f82f 100644
--- a/hotspot/src/share/vm/oops/instanceKlass.hpp
+++ b/hotspot/src/share/vm/oops/instanceKlass.hpp
@@ -227,16 +227,16 @@ class instanceKlass: public Klass {
// (including inherited fields but after header_size()).
int _nonstatic_field_size;
int _static_field_size; // number words used by static fields (oop and non-oop) in this klass
- int _static_oop_field_count;// number of static oop fields in this klass
+ u2 _static_oop_field_count;// number of static oop fields in this klass
+ u2 _java_fields_count; // The number of declared Java fields
int _nonstatic_oop_map_size;// size in words of nonstatic oop map blocks
- int _java_fields_count; // The number of declared Java fields
+
bool _is_marked_dependent; // used for marking during flushing and deoptimization
bool _rewritten; // methods rewritten.
bool _has_nonstatic_fields; // for sizing with UseCompressedOops
bool _should_verify_class; // allow caching of preverification
u2 _minor_version; // minor version number of class file
u2 _major_version; // major version number of class file
- ClassState _init_state; // state of class
Thread* _init_thread; // Pointer to current thread doing initialization (to handle recusive initialization)
int _vtable_len; // length of Java vtable (in words)
int _itable_len; // length of Java itable (in words)
@@ -260,6 +260,11 @@ class instanceKlass: public Klass {
JvmtiCachedClassFieldMap* _jvmti_cached_class_field_map; // JVMTI: used during heap iteration
volatile u2 _idnum_allocated_count; // JNI/JVMTI: increments with the addition of methods, old ids don't change
+ // Class states are defined as ClassState (see above).
+ // Place the _init_state here to utilize the unused 2-byte after
+ // _idnum_allocated_count.
+ u1 _init_state; // state of class
+
// embedded Java vtable follows here
// embedded Java itables follows here
// embedded static fields follows here
@@ -279,8 +284,8 @@ class instanceKlass: public Klass {
int static_field_size() const { return _static_field_size; }
void set_static_field_size(int size) { _static_field_size = size; }
- int static_oop_field_count() const { return _static_oop_field_count; }
- void set_static_oop_field_count(int size) { _static_oop_field_count = size; }
+ int static_oop_field_count() const { return (int)_static_oop_field_count; }
+ void set_static_oop_field_count(u2 size) { _static_oop_field_count = size; }
// Java vtable
int vtable_length() const { return _vtable_len; }
@@ -320,14 +325,14 @@ class instanceKlass: public Klass {
Symbol* field_signature (int index) const { return field(index)->signature(constants()); }
// Number of Java declared fields
- int java_fields_count() const { return _java_fields_count; }
+ int java_fields_count() const { return (int)_java_fields_count; }
// Number of fields including any injected fields
int all_fields_count() const { return _fields->length() / sizeof(FieldInfo::field_slots); }
typeArrayOop fields() const { return _fields; }
- void set_fields(typeArrayOop f, int java_fields_count) {
+ void set_fields(typeArrayOop f, u2 java_fields_count) {
oop_store_without_check((oop*) &_fields, (oop) f);
_java_fields_count = java_fields_count;
}
@@ -377,7 +382,7 @@ class instanceKlass: public Klass {
bool is_being_initialized() const { return _init_state == being_initialized; }
bool is_in_error_state() const { return _init_state == initialization_error; }
bool is_reentrant_initialization(Thread *thread) { return thread == _init_thread; }
- int get_init_state() { return _init_state; } // Useful for debugging
+ ClassState init_state() { return (ClassState)_init_state; }
bool is_rewritten() const { return _rewritten; }
// defineClass specified verification
@@ -405,7 +410,7 @@ class instanceKlass: public Klass {
ReferenceType reference_type() const { return _reference_type; }
void set_reference_type(ReferenceType t) { _reference_type = t; }
- static int reference_type_offset_in_bytes() { return offset_of(instanceKlass, _reference_type); }
+ static ByteSize reference_type_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(instanceKlass, _reference_type)); }
// find local field, returns true if found
bool find_local_field(Symbol* name, Symbol* sig, fieldDescriptor* fd) const;
@@ -616,8 +621,8 @@ class instanceKlass: public Klass {
void set_breakpoints(BreakpointInfo* bps) { _breakpoints = bps; };
// support for stub routines
- static int init_state_offset_in_bytes() { return offset_of(instanceKlass, _init_state); }
- static int init_thread_offset_in_bytes() { return offset_of(instanceKlass, _init_thread); }
+ static ByteSize init_state_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(instanceKlass, _init_state)); }
+ static ByteSize init_thread_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(instanceKlass, _init_thread)); }
// subclass/subinterface checks
bool implements_interface(klassOop k) const;
@@ -754,7 +759,7 @@ private:
#ifdef ASSERT
void set_init_state(ClassState state);
#else
- void set_init_state(ClassState state) { _init_state = state; }
+ void set_init_state(ClassState state) { _init_state = (u1)state; }
#endif
void set_rewritten() { _rewritten = true; }
void set_init_thread(Thread *thread) { _init_thread = thread; }
diff --git a/hotspot/src/share/vm/oops/klass.cpp b/hotspot/src/share/vm/oops/klass.cpp
index 8541bd5..e2997ea 100644
--- a/hotspot/src/share/vm/oops/klass.cpp
+++ b/hotspot/src/share/vm/oops/klass.cpp
@@ -144,7 +144,7 @@ klassOop Klass::base_create_klass_oop(KlassHandle& klass, int size,
}
kl->set_secondary_supers(NULL);
oop_store_without_check((oop*) &kl->_primary_supers[0], k);
- kl->set_super_check_offset(primary_supers_offset_in_bytes() + sizeof(oopDesc));
+ kl->set_super_check_offset(in_bytes(primary_supers_offset()));
}
kl->set_java_mirror(NULL);
@@ -158,6 +158,9 @@ klassOop Klass::base_create_klass_oop(KlassHandle& klass, int size,
kl->set_next_sibling(NULL);
kl->set_alloc_count(0);
kl->set_alloc_size(0);
+#ifdef TRACE_SET_KLASS_TRACE_ID
+ TRACE_SET_KLASS_TRACE_ID(kl, 0);
+#endif
kl->set_prototype_header(markOopDesc::prototype());
kl->set_biased_lock_revocation_count(0);
diff --git a/hotspot/src/share/vm/oops/klass.hpp b/hotspot/src/share/vm/oops/klass.hpp
index 407b1ef..d4f5d50 100644
--- a/hotspot/src/share/vm/oops/klass.hpp
+++ b/hotspot/src/share/vm/oops/klass.hpp
@@ -33,6 +33,7 @@
#include "oops/klassPS.hpp"
#include "oops/oop.hpp"
#include "runtime/orderAccess.hpp"
+#include "trace/traceMacros.hpp"
#include "utilities/accessFlags.hpp"
#ifndef SERIALGC
#include "gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp"
@@ -80,6 +81,7 @@
// [last_biased_lock_bulk_revocation_time] (64 bits)
// [prototype_header]
// [biased_lock_revocation_count]
+// [trace_id]
// Forward declarations.
@@ -263,6 +265,9 @@ class Klass : public Klass_vtbl {
markOop _prototype_header; // Used when biased locking is both enabled and disabled for this type
jint _biased_lock_revocation_count;
+#ifdef TRACE_DEFINE_KLASS_TRACE_ID
+ TRACE_DEFINE_KLASS_TRACE_ID;
+#endif
public:
// returns the enclosing klassOop
@@ -313,7 +318,7 @@ class Klass : public Klass_vtbl {
// Can this klass be a primary super? False for interfaces and arrays of
// interfaces. False also for arrays or classes with long super chains.
bool can_be_primary_super() const {
- const juint secondary_offset = secondary_super_cache_offset_in_bytes() + sizeof(oopDesc);
+ const juint secondary_offset = in_bytes(secondary_super_cache_offset());
return super_check_offset() != secondary_offset;
}
virtual bool can_be_primary_super_slow() const;
@@ -323,7 +328,7 @@ class Klass : public Klass_vtbl {
if (!can_be_primary_super()) {
return primary_super_limit();
} else {
- juint d = (super_check_offset() - (primary_supers_offset_in_bytes() + sizeof(oopDesc))) / sizeof(klassOop);
+ juint d = (super_check_offset() - in_bytes(primary_supers_offset())) / sizeof(klassOop);
assert(d < primary_super_limit(), "oob");
assert(_primary_supers[d] == as_klassOop(), "proper init");
return d;
@@ -373,15 +378,15 @@ class Klass : public Klass_vtbl {
virtual void set_alloc_size(juint n) = 0;
// Compiler support
- static int super_offset_in_bytes() { return offset_of(Klass, _super); }
- static int super_check_offset_offset_in_bytes() { return offset_of(Klass, _super_check_offset); }
- static int primary_supers_offset_in_bytes(){ return offset_of(Klass, _primary_supers); }
- static int secondary_super_cache_offset_in_bytes() { return offset_of(Klass, _secondary_super_cache); }
- static int secondary_supers_offset_in_bytes() { return offset_of(Klass, _secondary_supers); }
- static int java_mirror_offset_in_bytes() { return offset_of(Klass, _java_mirror); }
- static int modifier_flags_offset_in_bytes(){ return offset_of(Klass, _modifier_flags); }
- static int layout_helper_offset_in_bytes() { return offset_of(Klass, _layout_helper); }
- static int access_flags_offset_in_bytes() { return offset_of(Klass, _access_flags); }
+ static ByteSize super_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _super)); }
+ static ByteSize super_check_offset_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _super_check_offset)); }
+ static ByteSize primary_supers_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _primary_supers)); }
+ static ByteSize secondary_super_cache_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _secondary_super_cache)); }
+ static ByteSize secondary_supers_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _secondary_supers)); }
+ static ByteSize java_mirror_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _java_mirror)); }
+ static ByteSize modifier_flags_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _modifier_flags)); }
+ static ByteSize layout_helper_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _layout_helper)); }
+ static ByteSize access_flags_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _access_flags)); }
// Unpacking layout_helper:
enum {
@@ -478,7 +483,7 @@ class Klass : public Klass_vtbl {
bool is_subtype_of(klassOop k) const {
juint off = k->klass_part()->super_check_offset();
klassOop sup = *(klassOop*)( (address)as_klassOop() + off );
- const juint secondary_offset = secondary_super_cache_offset_in_bytes() + sizeof(oopDesc);
+ const juint secondary_offset = in_bytes(secondary_super_cache_offset());
if (sup == k) {
return true;
} else if (off != secondary_offset) {
@@ -674,7 +679,7 @@ class Klass : public Klass_vtbl {
// are potential problems in setting the bias pattern for
// JVM-internal oops.
inline void set_prototype_header(markOop header);
- static int prototype_header_offset_in_bytes() { return offset_of(Klass, _prototype_header); }
+ static ByteSize prototype_header_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(Klass, _prototype_header)); }
int biased_lock_revocation_count() const { return (int) _biased_lock_revocation_count; }
// Atomically increments biased_lock_revocation_count and returns updated value
@@ -683,6 +688,9 @@ class Klass : public Klass_vtbl {
jlong last_biased_lock_bulk_revocation_time() { return _last_biased_lock_bulk_revocation_time; }
void set_last_biased_lock_bulk_revocation_time(jlong cur_time) { _last_biased_lock_bulk_revocation_time = cur_time; }
+#ifdef TRACE_DEFINE_KLASS_METHODS
+ TRACE_DEFINE_KLASS_METHODS;
+#endif
// garbage collection support
virtual void follow_weak_klass_links(
diff --git a/hotspot/src/share/vm/oops/klassOop.hpp b/hotspot/src/share/vm/oops/klassOop.hpp
index 25dca1d..f212fc5 100644
--- a/hotspot/src/share/vm/oops/klassOop.hpp
+++ b/hotspot/src/share/vm/oops/klassOop.hpp
@@ -38,14 +38,8 @@
class klassOopDesc : public oopDesc {
public:
- // size operation
- static int header_size() { return sizeof(klassOopDesc)/HeapWordSize; }
-
- // support for code generation
- static int klass_part_offset_in_bytes() { return sizeof(klassOopDesc); }
-
// returns the Klass part containing dispatching behavior
- Klass* klass_part() const { return (Klass*)((address)this + klass_part_offset_in_bytes()); }
+ Klass* klass_part() const { return (Klass*)((address)this + sizeof(klassOopDesc)); }
// Convenience wrapper
inline oop java_mirror() const;
diff --git a/hotspot/src/share/vm/oops/methodKlass.cpp b/hotspot/src/share/vm/oops/methodKlass.cpp
index f8d1510..b2d6235 100644
--- a/hotspot/src/share/vm/oops/methodKlass.cpp
+++ b/hotspot/src/share/vm/oops/methodKlass.cpp
@@ -83,6 +83,7 @@ methodOop methodKlass::allocate(constMethodHandle xconst,
m->set_max_stack(0);
m->set_max_locals(0);
m->set_intrinsic_id(vmIntrinsics::_none);
+ m->set_jfr_towrite(false);
m->set_method_data(NULL);
m->set_interpreter_throwout_count(0);
m->set_vtable_index(methodOopDesc::garbage_vtable_index);
diff --git a/hotspot/src/share/vm/oops/methodOop.hpp b/hotspot/src/share/vm/oops/methodOop.hpp
index e8e73c6..cc9520a 100644
--- a/hotspot/src/share/vm/oops/methodOop.hpp
+++ b/hotspot/src/share/vm/oops/methodOop.hpp
@@ -77,7 +77,7 @@
// | method_size | max_stack |
// | max_locals | size_of_parameters |
// |------------------------------------------------------|
-// | intrinsic_id, (unused) | throwout_count |
+// |intrinsic_id| flags | throwout_count |
// |------------------------------------------------------|
// | num_breakpoints | (unused) |
// |------------------------------------------------------|
@@ -124,6 +124,8 @@ class methodOopDesc : public oopDesc {
u2 _max_locals; // Number of local variables used by this method
u2 _size_of_parameters; // size of the parameter block (receiver + arguments) in words
u1 _intrinsic_id; // vmSymbols::intrinsic_id (0 == _none)
+ u1 _jfr_towrite : 1, // Flags
+ : 7;
u2 _interpreter_throwout_count; // Count of times method was exited via exception while interpreting
u2 _number_of_breakpoints; // fullspeed debugging support
InvocationCounter _invocation_counter; // Incremented before each activation of the method - used to trigger frequency-based optimizations
@@ -225,6 +227,7 @@ class methodOopDesc : public oopDesc {
void clear_number_of_breakpoints() { _number_of_breakpoints = 0; }
// index into instanceKlass methods() array
+ // note: also used by jfr
u2 method_idnum() const { return constMethod()->method_idnum(); }
void set_method_idnum(u2 idnum) { constMethod()->set_method_idnum(idnum); }
@@ -650,6 +653,9 @@ class methodOopDesc : public oopDesc {
void init_intrinsic_id(); // updates from _none if a match
static vmSymbols::SID klass_id_for_intrinsics(klassOop holder);
+ bool jfr_towrite() { return _jfr_towrite; }
+ void set_jfr_towrite(bool towrite) { _jfr_towrite = towrite; }
+
// On-stack replacement support
bool has_osr_nmethod(int level, bool match_level) {
return instanceKlass::cast(method_holder())->lookup_osr_nmethod(this, InvocationEntryBci, level, match_level) != NULL;
diff --git a/hotspot/src/share/vm/oops/objArrayKlass.hpp b/hotspot/src/share/vm/oops/objArrayKlass.hpp
index 023f221..44717ec 100644
--- a/hotspot/src/share/vm/oops/objArrayKlass.hpp
+++ b/hotspot/src/share/vm/oops/objArrayKlass.hpp
@@ -47,7 +47,7 @@ class objArrayKlass : public arrayKlass {
oop* bottom_klass_addr() { return (oop*)&_bottom_klass; }
// Compiler/Interpreter offset
- static int element_klass_offset_in_bytes() { return offset_of(objArrayKlass, _element_klass); }
+ static ByteSize element_klass_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(objArrayKlass, _element_klass)); }
// Dispatched operation
bool can_be_primary_super_slow() const;
diff --git a/hotspot/src/share/vm/oops/objArrayOop.hpp b/hotspot/src/share/vm/oops/objArrayOop.hpp
index 8de8728..a7cf547 100644
--- a/hotspot/src/share/vm/oops/objArrayOop.hpp
+++ b/hotspot/src/share/vm/oops/objArrayOop.hpp
@@ -34,7 +34,7 @@ class objArrayOopDesc : public arrayOopDesc {
friend class objArrayKlass;
friend class Runtime1;
friend class psPromotionManager;
- friend class CSMarkOopClosure;
+ friend class CSetMarkOopClosure;
friend class G1ParScanPartialArrayClosure;
template <class T> T* obj_at_addr(int index) const {
diff --git a/hotspot/src/share/vm/opto/block.cpp b/hotspot/src/share/vm/opto/block.cpp
index 02ef7f9..3e6b7bf 100644
--- a/hotspot/src/share/vm/opto/block.cpp
+++ b/hotspot/src/share/vm/opto/block.cpp
@@ -898,45 +898,41 @@ void PhaseCFG::dump_headers() {
void PhaseCFG::verify( ) const {
#ifdef ASSERT
// Verify sane CFG
- for( uint i = 0; i < _num_blocks; i++ ) {
+ for (uint i = 0; i < _num_blocks; i++) {
Block *b = _blocks[i];
uint cnt = b->_nodes.size();
uint j;
- for( j = 0; j < cnt; j++ ) {
+ for (j = 0; j < cnt; j++) {
Node *n = b->_nodes[j];
assert( _bbs[n->_idx] == b, "" );
- if( j >= 1 && n->is_Mach() &&
- n->as_Mach()->ideal_Opcode() == Op_CreateEx ) {
- assert( j == 1 || b->_nodes[j-1]->is_Phi(),
- "CreateEx must be first instruction in block" );
+ if (j >= 1 && n->is_Mach() &&
+ n->as_Mach()->ideal_Opcode() == Op_CreateEx) {
+ assert(j == 1 || b->_nodes[j-1]->is_Phi(),
+ "CreateEx must be first instruction in block");
}
- for( uint k = 0; k < n->req(); k++ ) {
+ for (uint k = 0; k < n->req(); k++) {
Node *def = n->in(k);
- if( def && def != n ) {
- assert( _bbs[def->_idx] || def->is_Con(),
- "must have block; constants for debug info ok" );
+ if (def && def != n) {
+ assert(_bbs[def->_idx] || def->is_Con(),
+ "must have block; constants for debug info ok");
// Verify that instructions in the block is in correct order.
// Uses must follow their definition if they are at the same block.
// Mostly done to check that MachSpillCopy nodes are placed correctly
// when CreateEx node is moved in build_ifg_physical().
- if( _bbs[def->_idx] == b &&
+ if (_bbs[def->_idx] == b &&
!(b->head()->is_Loop() && n->is_Phi()) &&
// See (+++) comment in reg_split.cpp
- !(n->jvms() != NULL && n->jvms()->is_monitor_use(k)) ) {
+ !(n->jvms() != NULL && n->jvms()->is_monitor_use(k))) {
bool is_loop = false;
if (n->is_Phi()) {
- for( uint l = 1; l < def->req(); l++ ) {
+ for (uint l = 1; l < def->req(); l++) {
if (n == def->in(l)) {
is_loop = true;
break; // Some kind of loop
}
}
}
- assert( is_loop || b->find_node(def) < j, "uses must follow definitions" );
- }
- if( def->is_SafePointScalarObject() ) {
- assert(_bbs[def->_idx] == b, "SafePointScalarObject Node should be at the same block as its SafePoint node");
- assert(_bbs[def->_idx] == _bbs[def->in(0)->_idx], "SafePointScalarObject Node should be at the same block as its control edge");
+ assert(is_loop || b->find_node(def) < j, "uses must follow definitions");
}
}
}
@@ -946,12 +942,11 @@ void PhaseCFG::verify( ) const {
Node *bp = (Node*)b->_nodes[b->_nodes.size()-1]->is_block_proj();
assert( bp, "last instruction must be a block proj" );
assert( bp == b->_nodes[j], "wrong number of successors for this block" );
- if( bp->is_Catch() ) {
- while( b->_nodes[--j]->is_MachProj() ) ;
- assert( b->_nodes[j]->is_MachCall(), "CatchProj must follow call" );
- }
- else if( bp->is_Mach() && bp->as_Mach()->ideal_Opcode() == Op_If ) {
- assert( b->_num_succs == 2, "Conditional branch must have two targets");
+ if (bp->is_Catch()) {
+ while (b->_nodes[--j]->is_MachProj()) ;
+ assert(b->_nodes[j]->is_MachCall(), "CatchProj must follow call");
+ } else if (bp->is_Mach() && bp->as_Mach()->ideal_Opcode() == Op_If) {
+ assert(b->_num_succs == 2, "Conditional branch must have two targets");
}
}
#endif
diff --git a/hotspot/src/share/vm/opto/block.hpp b/hotspot/src/share/vm/opto/block.hpp
index 51869c8..ef5c8d6 100644
--- a/hotspot/src/share/vm/opto/block.hpp
+++ b/hotspot/src/share/vm/opto/block.hpp
@@ -281,6 +281,8 @@ class Block : public CFGElement {
// Find and remove n from block list
void find_remove( const Node *n );
+ // helper function that adds caller save registers to MachProjNode
+ void add_call_kills(MachProjNode *proj, RegMask& regs, const char* save_policy, bool exclude_soe);
// Schedule a call next in the block
uint sched_call(Matcher &matcher, Block_Array &bbs, uint node_cnt, Node_List &worklist, int *ready_cnt, MachCallNode *mcall, VectorSet &next_call);
diff --git a/hotspot/src/share/vm/opto/c2_globals.hpp b/hotspot/src/share/vm/opto/c2_globals.hpp
index 5cb4100..f73dcbd 100644
--- a/hotspot/src/share/vm/opto/c2_globals.hpp
+++ b/hotspot/src/share/vm/opto/c2_globals.hpp
@@ -426,6 +426,9 @@
product(bool, EliminateLocks, true, \
"Coarsen locks when possible") \
\
+ product(bool, EliminateNestedLocks, true, \
+ "Eliminate nested locks of the same object when possible") \
+ \
notproduct(bool, PrintLockStatistics, false, \
"Print precise statistics on the dynamic lock usage") \
\
@@ -456,6 +459,12 @@
product(intx, EliminateAllocationArraySizeLimit, 64, \
"Array size (number of elements) limit for scalar replacement") \
\
+ product(bool, OptimizePtrCompare, true, \
+ "Use escape analysis to optimize pointers compare") \
+ \
+ notproduct(bool, PrintOptimizePtrCompare, false, \
+ "Print information about optimized pointers compare") \
+ \
product(bool, UseOptoBiasInlining, true, \
"Generate biased locking code in C2 ideal graph") \
\
diff --git a/hotspot/src/share/vm/opto/callGenerator.cpp b/hotspot/src/share/vm/opto/callGenerator.cpp
index 5ac3383..6455c81 100644
--- a/hotspot/src/share/vm/opto/callGenerator.cpp
+++ b/hotspot/src/share/vm/opto/callGenerator.cpp
@@ -318,17 +318,17 @@ CallGenerator* CallGenerator::for_direct_call(ciMethod* m, bool separate_io_proj
return new DirectCallGenerator(m, separate_io_proj);
}
-CallGenerator* CallGenerator::for_dynamic_call(ciMethod* m) {
- assert(m->is_method_handle_invoke() || m->is_method_handle_adapter(), "for_dynamic_call mismatch");
- return new DynamicCallGenerator(m);
-}
-
CallGenerator* CallGenerator::for_virtual_call(ciMethod* m, int vtable_index) {
assert(!m->is_static(), "for_virtual_call mismatch");
assert(!m->is_method_handle_invoke(), "should be a direct call");
return new VirtualCallGenerator(m, vtable_index);
}
+CallGenerator* CallGenerator::for_dynamic_call(ciMethod* m) {
+ assert(m->is_method_handle_invoke() || m->is_method_handle_adapter(), "for_dynamic_call mismatch");
+ return new DynamicCallGenerator(m);
+}
+
// Allow inlining decisions to be delayed
class LateInlineCallGenerator : public DirectCallGenerator {
CallGenerator* _inline_cg;
@@ -576,7 +576,9 @@ JVMState* PredictedCallGenerator::generate(JVMState* jvms) {
kit.set_control(slow_ctl);
if (!kit.stopped()) {
slow_jvms = _if_missed->generate(kit.sync_jvms());
- assert(slow_jvms != NULL, "miss path must not fail to generate");
+ if (kit.failing())
+ return NULL; // might happen because of NodeCountInliningCutoff
+ assert(slow_jvms != NULL, "must be");
kit.add_exception_states_from(slow_jvms);
kit.set_map(slow_jvms->map());
if (!kit.stopped())
@@ -682,6 +684,15 @@ CallGenerator* CallGenerator::for_predicted_dynamic_call(ciMethodHandle* predict
}
+CallGenerator* CallGenerator::for_method_handle_call(Node* method_handle, JVMState* jvms,
+ ciMethod* caller, ciMethod* callee, ciCallProfile profile) {
+ assert(callee->is_method_handle_invoke() || callee->is_method_handle_adapter(), "for_method_handle_call mismatch");
+ CallGenerator* cg = CallGenerator::for_method_handle_inline(method_handle, jvms, caller, callee, profile);
+ if (cg != NULL)
+ return cg;
+ return CallGenerator::for_direct_call(callee);
+}
+
CallGenerator* CallGenerator::for_method_handle_inline(Node* method_handle, JVMState* jvms,
ciMethod* caller, ciMethod* callee, ciCallProfile profile) {
if (method_handle->Opcode() == Op_ConP) {
@@ -721,8 +732,8 @@ CallGenerator* CallGenerator::for_method_handle_inline(Node* method_handle, JVMS
// Generate a guard so that each can be inlined. We might want to
// do more inputs at later point but this gets the most common
// case.
- CallGenerator* cg1 = for_method_handle_inline(method_handle->in(1), jvms, caller, callee, profile.rescale(1.0 - prob));
- CallGenerator* cg2 = for_method_handle_inline(method_handle->in(2), jvms, caller, callee, profile.rescale(prob));
+ CallGenerator* cg1 = for_method_handle_call(method_handle->in(1), jvms, caller, callee, profile.rescale(1.0 - prob));
+ CallGenerator* cg2 = for_method_handle_call(method_handle->in(2), jvms, caller, callee, profile.rescale(prob));
if (cg1 != NULL && cg2 != NULL) {
const TypeOopPtr* oop_ptr = method_handle->in(1)->bottom_type()->is_oopptr();
ciObject* const_oop = oop_ptr->const_oop();
@@ -733,6 +744,17 @@ CallGenerator* CallGenerator::for_method_handle_inline(Node* method_handle, JVMS
return NULL;
}
+CallGenerator* CallGenerator::for_invokedynamic_call(JVMState* jvms, ciMethod* caller, ciMethod* callee, ciCallProfile profile) {
+ assert(callee->is_method_handle_invoke() || callee->is_method_handle_adapter(), "for_invokedynamic_call mismatch");
+ // Get the CallSite object.
+ ciBytecodeStream str(caller);
+ str.force_bci(jvms->bci()); // Set the stream to the invokedynamic bci.
+ ciCallSite* call_site = str.get_call_site();
+ CallGenerator* cg = CallGenerator::for_invokedynamic_inline(call_site, jvms, caller, callee, profile);
+ if (cg != NULL)
+ return cg;
+ return CallGenerator::for_dynamic_call(callee);
+}
CallGenerator* CallGenerator::for_invokedynamic_inline(ciCallSite* call_site, JVMState* jvms,
ciMethod* caller, ciMethod* callee, ciCallProfile profile) {
@@ -819,7 +841,9 @@ JVMState* PredictedDynamicCallGenerator::generate(JVMState* jvms) {
kit.set_control(slow_ctl);
if (!kit.stopped()) {
slow_jvms = _if_missed->generate(kit.sync_jvms());
- assert(slow_jvms != NULL, "miss path must not fail to generate");
+ if (kit.failing())
+ return NULL; // might happen because of NodeCountInliningCutoff
+ assert(slow_jvms != NULL, "must be");
kit.add_exception_states_from(slow_jvms);
kit.set_map(slow_jvms->map());
if (!kit.stopped())
diff --git a/hotspot/src/share/vm/opto/callGenerator.hpp b/hotspot/src/share/vm/opto/callGenerator.hpp
index d95ba2b..6247f7a 100644
--- a/hotspot/src/share/vm/opto/callGenerator.hpp
+++ b/hotspot/src/share/vm/opto/callGenerator.hpp
@@ -108,8 +108,11 @@ class CallGenerator : public ResourceObj {
// How to generate vanilla out-of-line call sites:
static CallGenerator* for_direct_call(ciMethod* m, bool separate_io_projs = false); // static, special
- static CallGenerator* for_dynamic_call(ciMethod* m); // invokedynamic
static CallGenerator* for_virtual_call(ciMethod* m, int vtable_index); // virtual, interface
+ static CallGenerator* for_dynamic_call(ciMethod* m); // invokedynamic
+
+ static CallGenerator* for_method_handle_call(Node* method_handle, JVMState* jvms, ciMethod* caller, ciMethod* callee, ciCallProfile profile);
+ static CallGenerator* for_invokedynamic_call( JVMState* jvms, ciMethod* caller, ciMethod* callee, ciCallProfile profile);
static CallGenerator* for_method_handle_inline(Node* method_handle, JVMState* jvms, ciMethod* caller, ciMethod* callee, ciCallProfile profile);
static CallGenerator* for_invokedynamic_inline(ciCallSite* call_site, JVMState* jvms, ciMethod* caller, ciMethod* callee, ciCallProfile profile);
diff --git a/hotspot/src/share/vm/opto/callnode.cpp b/hotspot/src/share/vm/opto/callnode.cpp
index 34ce615..2811264 100644
--- a/hotspot/src/share/vm/opto/callnode.cpp
+++ b/hotspot/src/share/vm/opto/callnode.cpp
@@ -400,10 +400,10 @@ void JVMState::format(PhaseRegAlloc *regalloc, const Node *n, outputStream* st)
Node *box = mcall->monitor_box(this, i);
Node *obj = mcall->monitor_obj(this, i);
if ( OptoReg::is_valid(regalloc->get_reg_first(box)) ) {
- while( !box->is_BoxLock() ) box = box->in(1);
+ box = BoxLockNode::box_node(box);
format_helper( regalloc, st, box, "MON-BOX[", i, &scobjs );
} else {
- OptoReg::Name box_reg = BoxLockNode::stack_slot(box);
+ OptoReg::Name box_reg = BoxLockNode::reg(box);
st->print(" MON-BOX%d=%s+%d",
i,
OptoReg::regname(OptoReg::c_frame_pointer),
@@ -411,8 +411,7 @@ void JVMState::format(PhaseRegAlloc *regalloc, const Node *n, outputStream* st)
}
const char* obj_msg = "MON-OBJ[";
if (EliminateLocks) {
- while( !box->is_BoxLock() ) box = box->in(1);
- if (box->as_BoxLock()->is_eliminated())
+ if (BoxLockNode::box_node(box)->is_eliminated())
obj_msg = "MON-OBJ(LOCK ELIMINATED)[";
}
format_helper( regalloc, st, obj, obj_msg, i, &scobjs );
@@ -1071,8 +1070,11 @@ SafePointScalarObjectNode::SafePointScalarObjectNode(const TypeOopPtr* tp,
init_class_id(Class_SafePointScalarObject);
}
-bool SafePointScalarObjectNode::pinned() const { return true; }
-bool SafePointScalarObjectNode::depends_only_on_test() const { return false; }
+// Do not allow value-numbering for SafePointScalarObject node.
+uint SafePointScalarObjectNode::hash() const { return NO_HASH; }
+uint SafePointScalarObjectNode::cmp( const Node &n ) const {
+ return (&n == this); // Always fail except on self
+}
uint SafePointScalarObjectNode::ideal_reg() const {
return 0; // No matching to machine instruction
@@ -1096,7 +1098,6 @@ SafePointScalarObjectNode::clone(int jvms_adj, Dict* sosn_map) const {
if (cached != NULL) {
return (SafePointScalarObjectNode*)cached;
}
- Compile* C = Compile::current();
SafePointScalarObjectNode* res = (SafePointScalarObjectNode*)Node::clone();
res->_first_index += jvms_adj;
sosn_map->Insert((void*)this, (void*)res);
@@ -1142,6 +1143,8 @@ uint AllocateArrayNode::size_of() const { return sizeof(*this); }
Node* AllocateArrayNode::Ideal(PhaseGVN *phase, bool can_reshape) {
if (remove_dead_region(phase, can_reshape)) return this;
+ // Don't bother trying to transform a dead node
+ if (in(0) && in(0)->is_top()) return NULL;
const Type* type = phase->type(Ideal_length());
if (type->isa_int() && type->is_int()->_hi < 0) {
@@ -1383,8 +1386,9 @@ bool AbstractLockNode::find_matching_unlock(const Node* ctrl, LockNode* lock,
Node *n = ctrl_proj->in(0);
if (n != NULL && n->is_Unlock()) {
UnlockNode *unlock = n->as_Unlock();
- if ((lock->obj_node() == unlock->obj_node()) &&
- (lock->box_node() == unlock->box_node()) && !unlock->is_eliminated()) {
+ if (lock->obj_node()->eqv_uncast(unlock->obj_node()) &&
+ BoxLockNode::same_slot(lock->box_node(), unlock->box_node()) &&
+ !unlock->is_eliminated()) {
lock_ops.append(unlock);
return true;
}
@@ -1427,8 +1431,8 @@ LockNode *AbstractLockNode::find_matching_lock(UnlockNode* unlock) {
}
if (ctrl->is_Lock()) {
LockNode *lock = ctrl->as_Lock();
- if ((lock->obj_node() == unlock->obj_node()) &&
- (lock->box_node() == unlock->box_node())) {
+ if (lock->obj_node()->eqv_uncast(unlock->obj_node()) &&
+ BoxLockNode::same_slot(lock->box_node(), unlock->box_node())) {
lock_result = lock;
}
}
@@ -1458,8 +1462,9 @@ bool AbstractLockNode::find_lock_and_unlock_through_if(Node* node, LockNode* loc
}
if (lock1_node != NULL && lock1_node->is_Lock()) {
LockNode *lock1 = lock1_node->as_Lock();
- if ((lock->obj_node() == lock1->obj_node()) &&
- (lock->box_node() == lock1->box_node()) && !lock1->is_eliminated()) {
+ if (lock->obj_node()->eqv_uncast(lock1->obj_node()) &&
+ BoxLockNode::same_slot(lock->box_node(), lock1->box_node()) &&
+ !lock1->is_eliminated()) {
lock_ops.append(lock1);
return true;
}
@@ -1503,32 +1508,32 @@ bool AbstractLockNode::find_unlocks_for_region(const RegionNode* region, LockNod
void AbstractLockNode::create_lock_counter(JVMState* state) {
_counter = OptoRuntime::new_named_counter(state, NamedCounter::LockCounter);
}
-#endif
-void AbstractLockNode::set_eliminated() {
- _eliminate = true;
-#ifndef PRODUCT
+void AbstractLockNode::set_eliminated_lock_counter() {
if (_counter) {
// Update the counter to indicate that this lock was eliminated.
// The counter update code will stay around even though the
// optimizer will eliminate the lock operation itself.
_counter->set_tag(NamedCounter::EliminatedLockCounter);
}
-#endif
}
+#endif
//=============================================================================
Node *LockNode::Ideal(PhaseGVN *phase, bool can_reshape) {
// perform any generic optimizations first (returns 'this' or NULL)
Node *result = SafePointNode::Ideal(phase, can_reshape);
+ if (result != NULL) return result;
+ // Don't bother trying to transform a dead node
+ if (in(0) && in(0)->is_top()) return NULL;
// Now see if we can optimize away this lock. We don't actually
// remove the locking here, we simply set the _eliminate flag which
// prevents macro expansion from expanding the lock. Since we don't
// modify the graph, the value returned from this function is the
// one computed above.
- if (result == NULL && can_reshape && EliminateLocks && !is_eliminated()) {
+ if (can_reshape && EliminateLocks && !is_non_esc_obj()) {
//
// If we are locking an unescaped object, the lock/unlock is unnecessary
//
@@ -1537,8 +1542,11 @@ Node *LockNode::Ideal(PhaseGVN *phase, bool can_reshape) {
if (cgr != NULL)
es = cgr->escape_state(obj_node());
if (es != PointsToNode::UnknownEscape && es != PointsToNode::GlobalEscape) {
- // Mark it eliminated to update any counters
- this->set_eliminated();
+ assert(!is_eliminated() || is_coarsened(), "sanity");
+ // The lock could be marked eliminated by lock coarsening
+ // code during first IGVN before EA. Replace coarsened flag
+ // to eliminate all associated locks/unlocks.
+ this->set_non_esc_obj();
return result;
}
@@ -1546,7 +1554,7 @@ Node *LockNode::Ideal(PhaseGVN *phase, bool can_reshape) {
// Try lock coarsening
//
PhaseIterGVN* iter = phase->is_IterGVN();
- if (iter != NULL) {
+ if (iter != NULL && !is_eliminated()) {
GrowableArray<AbstractLockNode*> lock_ops;
@@ -1598,11 +1606,10 @@ Node *LockNode::Ideal(PhaseGVN *phase, bool can_reshape) {
for (int i = 0; i < lock_ops.length(); i++) {
AbstractLockNode* lock = lock_ops.at(i);
- // Mark it eliminated to update any counters
- lock->set_eliminated();
+ // Mark it eliminated by coarsening and update any counters
lock->set_coarsened();
}
- } else if (result != NULL && ctrl->is_Region() &&
+ } else if (ctrl->is_Region() &&
iter->_worklist.member(ctrl)) {
// We weren't able to find any opportunities but the region this
// lock is control dependent on hasn't been processed yet so put
@@ -1617,13 +1624,50 @@ Node *LockNode::Ideal(PhaseGVN *phase, bool can_reshape) {
}
//=============================================================================
+bool LockNode::is_nested_lock_region() {
+ BoxLockNode* box = box_node()->as_BoxLock();
+ int stk_slot = box->stack_slot();
+ if (stk_slot <= 0)
+ return false; // External lock or it is not Box (Phi node).
+
+ // Ignore complex cases: merged locks or multiple locks.
+ Node* obj = obj_node();
+ LockNode* unique_lock = NULL;
+ if (!box->is_simple_lock_region(&unique_lock, obj) ||
+ (unique_lock != this)) {
+ return false;
+ }
+
+ // Look for external lock for the same object.
+ SafePointNode* sfn = this->as_SafePoint();
+ JVMState* youngest_jvms = sfn->jvms();
+ int max_depth = youngest_jvms->depth();
+ for (int depth = 1; depth <= max_depth; depth++) {
+ JVMState* jvms = youngest_jvms->of_depth(depth);
+ int num_mon = jvms->nof_monitors();
+ // Loop over monitors
+ for (int idx = 0; idx < num_mon; idx++) {
+ Node* obj_node = sfn->monitor_obj(jvms, idx);
+ BoxLockNode* box_node = sfn->monitor_box(jvms, idx)->as_BoxLock();
+ if ((box_node->stack_slot() < stk_slot) && obj_node->eqv_uncast(obj)) {
+ return true;
+ }
+ }
+ }
+ return false;
+}
+
+//=============================================================================
uint UnlockNode::size_of() const { return sizeof(*this); }
//=============================================================================
Node *UnlockNode::Ideal(PhaseGVN *phase, bool can_reshape) {
// perform any generic optimizations first (returns 'this' or NULL)
- Node * result = SafePointNode::Ideal(phase, can_reshape);
+ Node *result = SafePointNode::Ideal(phase, can_reshape);
+ if (result != NULL) return result;
+ // Don't bother trying to transform a dead node
+ if (in(0) && in(0)->is_top()) return NULL;
// Now see if we can optimize away this unlock. We don't actually
// remove the unlocking here, we simply set the _eliminate flag which
@@ -1631,7 +1675,7 @@ Node *UnlockNode::Ideal(PhaseGVN *phase, bool can_reshape) {
// modify the graph, the value returned from this function is the
// one computed above.
// Escape state is defined after Parse phase.
- if (result == NULL && can_reshape && EliminateLocks && !is_eliminated()) {
+ if (can_reshape && EliminateLocks && !is_non_esc_obj()) {
//
// If we are unlocking an unescaped object, the lock/unlock is unnecessary.
//
@@ -1640,8 +1684,11 @@ Node *UnlockNode::Ideal(PhaseGVN *phase, bool can_reshape) {
if (cgr != NULL)
es = cgr->escape_state(obj_node());
if (es != PointsToNode::UnknownEscape && es != PointsToNode::GlobalEscape) {
- // Mark it eliminated to update any counters
- this->set_eliminated();
+ assert(!is_eliminated() || is_coarsened(), "sanity");
+ // The lock could be marked eliminated by lock coarsening
+ // code during first IGVN before EA. Replace coarsened flag
+ // to eliminate all associated locks/unlocks.
+ this->set_non_esc_obj();
}
}
return result;
diff --git a/hotspot/src/share/vm/opto/callnode.hpp b/hotspot/src/share/vm/opto/callnode.hpp
index 6e81a7e..fa9af0c 100644
--- a/hotspot/src/share/vm/opto/callnode.hpp
+++ b/hotspot/src/share/vm/opto/callnode.hpp
@@ -440,6 +440,10 @@ class SafePointScalarObjectNode: public TypeNode {
// states of the scalarized object fields are collected.
uint _n_fields; // Number of non-static fields of the scalarized object.
DEBUG_ONLY(AllocateNode* _alloc;)
+
+ virtual uint hash() const ; // { return NO_HASH; }
+ virtual uint cmp( const Node &n ) const;
+
public:
SafePointScalarObjectNode(const TypeOopPtr* tp,
#ifdef ASSERT
@@ -454,15 +458,10 @@ public:
uint first_index() const { return _first_index; }
uint n_fields() const { return _n_fields; }
- DEBUG_ONLY(AllocateNode* alloc() const { return _alloc; })
- // SafePointScalarObject should be always pinned to the control edge
- // of the SafePoint node for which it was generated.
- virtual bool pinned() const; // { return true; }
-
- // SafePointScalarObject depends on the SafePoint node
- // for which it was generated.
- virtual bool depends_only_on_test() const; // { return false; }
+#ifdef ASSERT
+ AllocateNode* alloc() const { return _alloc; }
+#endif
virtual uint size_of() const { return sizeof(*this); }
@@ -792,6 +791,10 @@ public:
// are defined in graphKit.cpp, which sets up the bidirectional relation.)
InitializeNode* initialization();
+ // Return the corresponding storestore barrier (or null if none).
+ // Walks out edges to find it...
+ MemBarStoreStoreNode* storestore();
+
// Convenience for initialization->maybe_set_complete(phase)
bool maybe_set_complete(PhaseGVN* phase);
};
@@ -837,8 +840,12 @@ public:
//------------------------------AbstractLockNode-----------------------------------
class AbstractLockNode: public CallNode {
private:
- bool _eliminate; // indicates this lock can be safely eliminated
- bool _coarsened; // indicates this lock was coarsened
+ enum {
+ Regular = 0, // Normal lock
+ NonEscObj, // Lock is used for non escaping object
+ Coarsened, // Lock was coarsened
+ Nested // Nested lock
+ } _kind;
#ifndef PRODUCT
NamedCounter* _counter;
#endif
@@ -855,12 +862,13 @@ protected:
GrowableArray<AbstractLockNode*> &lock_ops);
LockNode *find_matching_lock(UnlockNode* unlock);
+ // Update the counter to indicate that this lock was eliminated.
+ void set_eliminated_lock_counter() PRODUCT_RETURN;
public:
AbstractLockNode(const TypeFunc *tf)
: CallNode(tf, NULL, TypeRawPtr::BOTTOM),
- _coarsened(false),
- _eliminate(false)
+ _kind(Regular)
{
#ifndef PRODUCT
_counter = NULL;
@@ -870,19 +878,23 @@ public:
Node * obj_node() const {return in(TypeFunc::Parms + 0); }
Node * box_node() const {return in(TypeFunc::Parms + 1); }
Node * fastlock_node() const {return in(TypeFunc::Parms + 2); }
+ void set_box_node(Node* box) { set_req(TypeFunc::Parms + 1, box); }
+
const Type *sub(const Type *t1, const Type *t2) const { return TypeInt::CC;}
virtual uint size_of() const { return sizeof(*this); }
- bool is_eliminated() {return _eliminate; }
- // mark node as eliminated and update the counter if there is one
- void set_eliminated();
+ bool is_eliminated() const { return (_kind != Regular); }
+ bool is_non_esc_obj() const { return (_kind == NonEscObj); }
+ bool is_coarsened() const { return (_kind == Coarsened); }
+ bool is_nested() const { return (_kind == Nested); }
- bool is_coarsened() { return _coarsened; }
- void set_coarsened() { _coarsened = true; }
+ void set_non_esc_obj() { _kind = NonEscObj; set_eliminated_lock_counter(); }
+ void set_coarsened() { _kind = Coarsened; set_eliminated_lock_counter(); }
+ void set_nested() { _kind = Nested; set_eliminated_lock_counter(); }
// locking does not modify its arguments
- virtual bool may_modify(const TypePtr *addr_t, PhaseTransform *phase){ return false;}
+ virtual bool may_modify(const TypePtr *addr_t, PhaseTransform *phase){ return false;}
#ifndef PRODUCT
void create_lock_counter(JVMState* s);
@@ -932,6 +944,8 @@ public:
virtual void clone_jvms() {
set_jvms(jvms()->clone_deep(Compile::current()));
}
+
+ bool is_nested_lock_region(); // Is this Lock nested?
};
//------------------------------Unlock---------------------------------------
diff --git a/hotspot/src/share/vm/opto/cfgnode.cpp b/hotspot/src/share/vm/opto/cfgnode.cpp
index c8e45b6..4f01e85 100644
--- a/hotspot/src/share/vm/opto/cfgnode.cpp
+++ b/hotspot/src/share/vm/opto/cfgnode.cpp
@@ -460,8 +460,11 @@ Node *RegionNode::Ideal(PhaseGVN *phase, bool can_reshape) {
// Is it dead loop?
// If it is LoopNopde it had 2 (+1 itself) inputs and
// one of them was cut. The loop is dead if it was EntryContol.
- assert(!this->is_Loop() || cnt_orig == 3, "Loop node should have 3 inputs");
- if (this->is_Loop() && del_it == LoopNode::EntryControl ||
+ // Loop node may have only one input because entry path
+ // is removed in PhaseIdealLoop::Dominators().
+ assert(!this->is_Loop() || cnt_orig <= 3, "Loop node should have 3 or less inputs");
+ if (this->is_Loop() && (del_it == LoopNode::EntryControl ||
+ del_it == 0 && is_unreachable_region(phase)) ||
!this->is_Loop() && has_phis && is_unreachable_region(phase)) {
// Yes, the region will be removed during the next step below.
// Cut the backedge input and remove phis since no data paths left.
@@ -1585,14 +1588,17 @@ Node *PhiNode::Ideal(PhaseGVN *phase, bool can_reshape) {
// Only one not-NULL unique input path is left.
// Determine if this input is backedge of a loop.
// (Skip new phis which have no uses and dead regions).
- if( outcnt() > 0 && r->in(0) != NULL ) {
+ if (outcnt() > 0 && r->in(0) != NULL) {
// First, take the short cut when we know it is a loop and
// the EntryControl data path is dead.
- assert(!r->is_Loop() || r->req() == 3, "Loop node should have 3 inputs");
+ // Loop node may have only one input because entry path
+ // is removed in PhaseIdealLoop::Dominators().
+ assert(!r->is_Loop() || r->req() <= 3, "Loop node should have 3 or less inputs");
+ bool is_loop = (r->is_Loop() && r->req() == 3);
// Then, check if there is a data loop when phi references itself directly
// or through other data nodes.
- if( r->is_Loop() && !phase->eqv_uncast(uin, in(LoopNode::EntryControl)) ||
- !r->is_Loop() && is_unsafe_data_reference(uin) ) {
+ if (is_loop && !uin->eqv_uncast(in(LoopNode::EntryControl)) ||
+ !is_loop && is_unsafe_data_reference(uin)) {
// Break this data loop to avoid creation of a dead loop.
if (can_reshape) {
return top;
diff --git a/hotspot/src/share/vm/opto/chaitin.hpp b/hotspot/src/share/vm/opto/chaitin.hpp
index 999a792..1e6be63 100644
--- a/hotspot/src/share/vm/opto/chaitin.hpp
+++ b/hotspot/src/share/vm/opto/chaitin.hpp
@@ -485,7 +485,11 @@ private:
return yank_if_dead(old, current_block, &value, ®nd);
}
- int yank_if_dead( Node *old, Block *current_block, Node_List *value, Node_List *regnd );
+ int yank_if_dead( Node *old, Block *current_block, Node_List *value, Node_List *regnd ) {
+ return yank_if_dead_recurse(old, old, current_block, value, regnd);
+ }
+ int yank_if_dead_recurse(Node *old, Node *orig_old, Block *current_block,
+ Node_List *value, Node_List *regnd);
int yank( Node *old, Block *current_block, Node_List *value, Node_List *regnd );
int elide_copy( Node *n, int k, Block *current_block, Node_List &value, Node_List ®nd, bool can_change_regs );
int use_prior_register( Node *copy, uint idx, Node *def, Block *current_block, Node_List &value, Node_List ®nd );
diff --git a/hotspot/src/share/vm/opto/classes.hpp b/hotspot/src/share/vm/opto/classes.hpp
index dbece76..19ade90 100644
--- a/hotspot/src/share/vm/opto/classes.hpp
+++ b/hotspot/src/share/vm/opto/classes.hpp
@@ -166,6 +166,7 @@ macro(MemBarCPUOrder)
macro(MemBarRelease)
macro(MemBarReleaseLock)
macro(MemBarVolatile)
+macro(MemBarStoreStore)
macro(MergeMem)
macro(MinI)
macro(ModD)
diff --git a/hotspot/src/share/vm/opto/compile.cpp b/hotspot/src/share/vm/opto/compile.cpp
index 358be62..2b9051c 100644
--- a/hotspot/src/share/vm/opto/compile.cpp
+++ b/hotspot/src/share/vm/opto/compile.cpp
@@ -1282,12 +1282,11 @@ const TypePtr *Compile::flatten_alias_type( const TypePtr *tj ) const {
if( tk ) {
// If we are referencing a field within a Klass, we need
// to assume the worst case of an Object. Both exact and
- // inexact types must flatten to the same alias class.
- // Since the flattened result for a klass is defined to be
- // precisely java.lang.Object, use a constant ptr.
+ // inexact types must flatten to the same alias class so
+ // use NotNull as the PTR.
if ( offset == Type::OffsetBot || (offset >= 0 && (size_t)offset < sizeof(Klass)) ) {
- tj = tk = TypeKlassPtr::make(TypePtr::Constant,
+ tj = tk = TypeKlassPtr::make(TypePtr::NotNull,
TypeKlassPtr::OBJECT->klass(),
offset);
}
@@ -1307,10 +1306,12 @@ const TypePtr *Compile::flatten_alias_type( const TypePtr *tj ) const {
// these 2 disparate memories into the same alias class. Since the
// primary supertype array is read-only, there's no chance of confusion
// where we bypass an array load and an array store.
- uint off2 = offset - Klass::primary_supers_offset_in_bytes();
- if( offset == Type::OffsetBot ||
- off2 < Klass::primary_super_limit()*wordSize ) {
- offset = sizeof(oopDesc) +Klass::secondary_super_cache_offset_in_bytes();
+ int primary_supers_offset = in_bytes(Klass::primary_supers_offset());
+ if (offset == Type::OffsetBot ||
+ (offset >= primary_supers_offset &&
+ offset < (int)(primary_supers_offset + Klass::primary_super_limit() * wordSize)) ||
+ offset == (int)in_bytes(Klass::secondary_super_cache_offset())) {
+ offset = in_bytes(Klass::secondary_super_cache_offset());
tj = tk = TypeKlassPtr::make( TypePtr::NotNull, tk->klass(), offset );
}
}
@@ -1489,13 +1490,13 @@ Compile::AliasType* Compile::find_alias_type(const TypePtr* adr_type, bool no_cr
alias_type(idx)->set_rewritable(false);
}
if (flat->isa_klassptr()) {
- if (flat->offset() == Klass::super_check_offset_offset_in_bytes() + (int)sizeof(oopDesc))
+ if (flat->offset() == in_bytes(Klass::super_check_offset_offset()))
alias_type(idx)->set_rewritable(false);
- if (flat->offset() == Klass::modifier_flags_offset_in_bytes() + (int)sizeof(oopDesc))
+ if (flat->offset() == in_bytes(Klass::modifier_flags_offset()))
alias_type(idx)->set_rewritable(false);
- if (flat->offset() == Klass::access_flags_offset_in_bytes() + (int)sizeof(oopDesc))
+ if (flat->offset() == in_bytes(Klass::access_flags_offset()))
alias_type(idx)->set_rewritable(false);
- if (flat->offset() == Klass::java_mirror_offset_in_bytes() + (int)sizeof(oopDesc))
+ if (flat->offset() == in_bytes(Klass::java_mirror_offset()))
alias_type(idx)->set_rewritable(false);
}
// %%% (We would like to finalize JavaThread::threadObj_offset(),
@@ -1711,11 +1712,22 @@ void Compile::Optimize() {
if (failing()) return;
+ // Optimize out fields loads from scalar replaceable allocations.
igvn.optimize();
print_method("Iter GVN after EA", 2);
if (failing()) return;
+ if (congraph() != NULL && macro_count() > 0) {
+ PhaseMacroExpand mexp(igvn);
+ mexp.eliminate_macro_nodes();
+ igvn.set_delay_transform(false);
+
+ igvn.optimize();
+ print_method("Iter GVN after eliminating allocations and locks", 2);
+
+ if (failing()) return;
+ }
}
// Loop transforms on the ideal graph. Range Check Elimination,
@@ -2510,7 +2522,7 @@ static void final_graph_reshaping_impl( Node *n, Final_Reshape_Counts &frc ) {
break;
}
}
- assert(p != NULL, "must be found");
+ assert(proj != NULL, "must be found");
p->subsume_by(proj);
}
}
@@ -3052,24 +3064,13 @@ bool Compile::Constant::operator==(const Constant& other) {
return false;
}
-// Emit constants grouped in the following order:
-static BasicType type_order[] = {
- T_FLOAT, // 32-bit
- T_OBJECT, // 32 or 64-bit
- T_ADDRESS, // 32 or 64-bit
- T_DOUBLE, // 64-bit
- T_LONG, // 64-bit
- T_VOID, // 32 or 64-bit (jump-tables are at the end of the constant table for code emission reasons)
- T_ILLEGAL
-};
-
static int type_to_size_in_bytes(BasicType t) {
switch (t) {
case T_LONG: return sizeof(jlong );
case T_FLOAT: return sizeof(jfloat );
case T_DOUBLE: return sizeof(jdouble);
// We use T_VOID as marker for jump-table entries (labels) which
- // need an interal word relocation.
+ // need an internal word relocation.
case T_VOID:
case T_ADDRESS:
case T_OBJECT: return sizeof(jobject);
@@ -3079,87 +3080,92 @@ static int type_to_size_in_bytes(BasicType t) {
return -1;
}
+int Compile::ConstantTable::qsort_comparator(Constant* a, Constant* b) {
+ // sort descending
+ if (a->freq() > b->freq()) return -1;
+ if (a->freq() < b->freq()) return 1;
+ return 0;
+}
+
void Compile::ConstantTable::calculate_offsets_and_size() {
- int size = 0;
- for (int t = 0; type_order[t] != T_ILLEGAL; t++) {
- BasicType type = type_order[t];
+ // First, sort the array by frequencies.
+ _constants.sort(qsort_comparator);
- for (int i = 0; i < _constants.length(); i++) {
- Constant con = _constants.at(i);
- if (con.type() != type) continue; // Skip other types.
+#ifdef ASSERT
+ // Make sure all jump-table entries were sorted to the end of the
+ // array (they have a negative frequency).
+ bool found_void = false;
+ for (int i = 0; i < _constants.length(); i++) {
+ Constant con = _constants.at(i);
+ if (con.type() == T_VOID)
+ found_void = true; // jump-tables
+ else
+ assert(!found_void, "wrong sorting");
+ }
+#endif
- // Align size for type.
- int typesize = type_to_size_in_bytes(con.type());
- size = align_size_up(size, typesize);
+ int offset = 0;
+ for (int i = 0; i < _constants.length(); i++) {
+ Constant* con = _constants.adr_at(i);
- // Set offset.
- con.set_offset(size);
- _constants.at_put(i, con);
+ // Align offset for type.
+ int typesize = type_to_size_in_bytes(con->type());
+ offset = align_size_up(offset, typesize);
+ con->set_offset(offset); // set constant's offset
- // Add type size.
- size = size + typesize;
+ if (con->type() == T_VOID) {
+ MachConstantNode* n = (MachConstantNode*) con->get_jobject();
+ offset = offset + typesize * n->outcnt(); // expand jump-table
+ } else {
+ offset = offset + typesize;
}
}
// Align size up to the next section start (which is insts; see
// CodeBuffer::align_at_start).
assert(_size == -1, "already set?");
- _size = align_size_up(size, CodeEntryAlignment);
-
- if (Matcher::constant_table_absolute_addressing) {
- set_table_base_offset(0); // No table base offset required
- } else {
- if (UseRDPCForConstantTableBase) {
- // table base offset is set in MachConstantBaseNode::emit
- } else {
- // When RDPC is not used, the table base is set into the middle of
- // the constant table.
- int half_size = _size / 2;
- assert(half_size * 2 == _size, "sanity");
- set_table_base_offset(-half_size);
- }
- }
+ _size = align_size_up(offset, CodeEntryAlignment);
}
void Compile::ConstantTable::emit(CodeBuffer& cb) {
MacroAssembler _masm(&cb);
- for (int t = 0; type_order[t] != T_ILLEGAL; t++) {
- BasicType type = type_order[t];
-
- for (int i = 0; i < _constants.length(); i++) {
- Constant con = _constants.at(i);
- if (con.type() != type) continue; // Skip other types.
-
- address constant_addr;
- switch (con.type()) {
- case T_LONG: constant_addr = _masm.long_constant( con.get_jlong() ); break;
- case T_FLOAT: constant_addr = _masm.float_constant( con.get_jfloat() ); break;
- case T_DOUBLE: constant_addr = _masm.double_constant(con.get_jdouble()); break;
- case T_OBJECT: {
- jobject obj = con.get_jobject();
- int oop_index = _masm.oop_recorder()->find_index(obj);
- constant_addr = _masm.address_constant((address) obj, oop_Relocation::spec(oop_index));
- break;
- }
- case T_ADDRESS: {
- address addr = (address) con.get_jobject();
- constant_addr = _masm.address_constant(addr);
- break;
- }
- // We use T_VOID as marker for jump-table entries (labels) which
- // need an interal word relocation.
- case T_VOID: {
- // Write a dummy word. The real value is filled in later
- // in fill_jump_table_in_constant_table.
- address addr = (address) con.get_jobject();
- constant_addr = _masm.address_constant(addr);
- break;
- }
- default: ShouldNotReachHere();
+ for (int i = 0; i < _constants.length(); i++) {
+ Constant con = _constants.at(i);
+ address constant_addr;
+ switch (con.type()) {
+ case T_LONG: constant_addr = _masm.long_constant( con.get_jlong() ); break;
+ case T_FLOAT: constant_addr = _masm.float_constant( con.get_jfloat() ); break;
+ case T_DOUBLE: constant_addr = _masm.double_constant(con.get_jdouble()); break;
+ case T_OBJECT: {
+ jobject obj = con.get_jobject();
+ int oop_index = _masm.oop_recorder()->find_index(obj);
+ constant_addr = _masm.address_constant((address) obj, oop_Relocation::spec(oop_index));
+ break;
+ }
+ case T_ADDRESS: {
+ address addr = (address) con.get_jobject();
+ constant_addr = _masm.address_constant(addr);
+ break;
+ }
+ // We use T_VOID as marker for jump-table entries (labels) which
+ // need an internal word relocation.
+ case T_VOID: {
+ MachConstantNode* n = (MachConstantNode*) con.get_jobject();
+ // Fill the jump-table with a dummy word. The real value is
+ // filled in later in fill_jump_table.
+ address dummy = (address) n;
+ constant_addr = _masm.address_constant(dummy);
+ // Expand jump-table
+ for (uint i = 1; i < n->outcnt(); i++) {
+ address temp_addr = _masm.address_constant(dummy + i);
+ assert(temp_addr, "consts section too small");
}
- assert(constant_addr != NULL, "consts section too small");
- assert((constant_addr - _masm.code()->consts()->start()) == con.offset(), err_msg("must be: %d == %d", constant_addr - _masm.code()->consts()->start(), con.offset()));
+ break;
+ }
+ default: ShouldNotReachHere();
}
+ assert(constant_addr, "consts section too small");
+ assert((constant_addr - _masm.code()->consts()->start()) == con.offset(), err_msg("must be: %d == %d", constant_addr - _masm.code()->consts()->start(), con.offset()));
}
}
@@ -3175,19 +3181,21 @@ void Compile::ConstantTable::add(Constant& con) {
if (con.can_be_reused()) {
int idx = _constants.find(con);
if (idx != -1 && _constants.at(idx).can_be_reused()) {
+ _constants.adr_at(idx)->inc_freq(con.freq()); // increase the frequency by the current value
return;
}
}
(void) _constants.append(con);
}
-Compile::Constant Compile::ConstantTable::add(BasicType type, jvalue value) {
- Constant con(type, value);
+Compile::Constant Compile::ConstantTable::add(MachConstantNode* n, BasicType type, jvalue value) {
+ Block* b = Compile::current()->cfg()->_bbs[n->_idx];
+ Constant con(type, value, b->_freq);
add(con);
return con;
}
-Compile::Constant Compile::ConstantTable::add(MachOper* oper) {
+Compile::Constant Compile::ConstantTable::add(MachConstantNode* n, MachOper* oper) {
jvalue value;
BasicType type = oper->type()->basic_type();
switch (type) {
@@ -3198,20 +3206,18 @@ Compile::Constant Compile::ConstantTable::add(MachOper* oper) {
case T_ADDRESS: value.l = (jobject) oper->constant(); break;
default: ShouldNotReachHere();
}
- return add(type, value);
+ return add(n, type, value);
}
-Compile::Constant Compile::ConstantTable::allocate_jump_table(MachConstantNode* n) {
+Compile::Constant Compile::ConstantTable::add_jump_table(MachConstantNode* n) {
jvalue value;
// We can use the node pointer here to identify the right jump-table
// as this method is called from Compile::Fill_buffer right before
// the MachNodes are emitted and the jump-table is filled (means the
// MachNode pointers do not change anymore).
value.l = (jobject) n;
- Constant con(T_VOID, value, false); // Labels of a jump-table cannot be reused.
- for (uint i = 0; i < n->outcnt(); i++) {
- add(con);
- }
+ Constant con(T_VOID, value, next_jump_table_freq(), false); // Labels of a jump-table cannot be reused.
+ add(con);
return con;
}
@@ -3230,9 +3236,9 @@ void Compile::ConstantTable::fill_jump_table(CodeBuffer& cb, MachConstantNode* n
MacroAssembler _masm(&cb);
address* jump_table_base = (address*) (_masm.code()->consts()->start() + offset);
- for (int i = 0; i < labels.length(); i++) {
+ for (uint i = 0; i < n->outcnt(); i++) {
address* constant_addr = &jump_table_base[i];
- assert(*constant_addr == (address) n, "all jump-table entries must contain node pointer");
+ assert(*constant_addr == (((address) n) + i), err_msg("all jump-table entries must contain adjusted node pointer: " INTPTR_FORMAT " == " INTPTR_FORMAT, *constant_addr, (((address) n) + i)));
*constant_addr = cb.consts()->target(*labels.at(i), (address) constant_addr);
cb.consts()->relocate((address) constant_addr, relocInfo::internal_word_type);
}
diff --git a/hotspot/src/share/vm/opto/compile.hpp b/hotspot/src/share/vm/opto/compile.hpp
index 82e33a9..8254aab 100644
--- a/hotspot/src/share/vm/opto/compile.hpp
+++ b/hotspot/src/share/vm/opto/compile.hpp
@@ -150,14 +150,16 @@ class Compile : public Phase {
BasicType _type;
jvalue _value;
int _offset; // offset of this constant (in bytes) relative to the constant table base.
+ float _freq;
bool _can_be_reused; // true (default) if the value can be shared with other users.
public:
- Constant() : _type(T_ILLEGAL), _offset(-1), _can_be_reused(true) { _value.l = 0; }
- Constant(BasicType type, jvalue value, bool can_be_reused = true) :
+ Constant() : _type(T_ILLEGAL), _offset(-1), _freq(0.0f), _can_be_reused(true) { _value.l = 0; }
+ Constant(BasicType type, jvalue value, float freq = 0.0f, bool can_be_reused = true) :
_type(type),
_value(value),
_offset(-1),
+ _freq(freq),
_can_be_reused(can_be_reused)
{}
@@ -173,6 +175,9 @@ class Compile : public Phase {
int offset() const { return _offset; }
void set_offset(int offset) { _offset = offset; }
+ float freq() const { return _freq; }
+ void inc_freq(float freq) { _freq += freq; }
+
bool can_be_reused() const { return _can_be_reused; }
};
@@ -182,41 +187,51 @@ class Compile : public Phase {
GrowableArray<Constant> _constants; // Constants of this table.
int _size; // Size in bytes the emitted constant table takes (including padding).
int _table_base_offset; // Offset of the table base that gets added to the constant offsets.
+ int _nof_jump_tables; // Number of jump-tables in this constant table.
+
+ static int qsort_comparator(Constant* a, Constant* b);
+
+ // We use negative frequencies to keep the order of the
+ // jump-tables in which they were added. Otherwise we get into
+ // trouble with relocation.
+ float next_jump_table_freq() { return -1.0f * (++_nof_jump_tables); }
public:
ConstantTable() :
_size(-1),
- _table_base_offset(-1) // We can use -1 here since the constant table is always bigger than 2 bytes (-(size / 2), see MachConstantBaseNode::emit).
+ _table_base_offset(-1), // We can use -1 here since the constant table is always bigger than 2 bytes (-(size / 2), see MachConstantBaseNode::emit).
+ _nof_jump_tables(0)
{}
- int size() const { assert(_size != -1, "size not yet calculated"); return _size; }
+ int size() const { assert(_size != -1, "not calculated yet"); return _size; }
- void set_table_base_offset(int x) { assert(_table_base_offset == -1, "set only once"); _table_base_offset = x; }
- int table_base_offset() const { assert(_table_base_offset != -1, "table base offset not yet set"); return _table_base_offset; }
+ int calculate_table_base_offset() const; // AD specific
+ void set_table_base_offset(int x) { assert(_table_base_offset == -1 || x == _table_base_offset, "can't change"); _table_base_offset = x; }
+ int table_base_offset() const { assert(_table_base_offset != -1, "not set yet"); return _table_base_offset; }
void emit(CodeBuffer& cb);
// Returns the offset of the last entry (the top) of the constant table.
- int top_offset() const { assert(_constants.top().offset() != -1, "constant not yet bound"); return _constants.top().offset(); }
+ int top_offset() const { assert(_constants.top().offset() != -1, "not bound yet"); return _constants.top().offset(); }
void calculate_offsets_and_size();
int find_offset(Constant& con) const;
void add(Constant& con);
- Constant add(BasicType type, jvalue value);
- Constant add(MachOper* oper);
- Constant add(jfloat f) {
+ Constant add(MachConstantNode* n, BasicType type, jvalue value);
+ Constant add(MachConstantNode* n, MachOper* oper);
+ Constant add(MachConstantNode* n, jfloat f) {
jvalue value; value.f = f;
- return add(T_FLOAT, value);
+ return add(n, T_FLOAT, value);
}
- Constant add(jdouble d) {
+ Constant add(MachConstantNode* n, jdouble d) {
jvalue value; value.d = d;
- return add(T_DOUBLE, value);
+ return add(n, T_DOUBLE, value);
}
- // Jump table
- Constant allocate_jump_table(MachConstantNode* n);
- void fill_jump_table(CodeBuffer& cb, MachConstantNode* n, GrowableArray<Label*> labels) const;
+ // Jump-table
+ Constant add_jump_table(MachConstantNode* n);
+ void fill_jump_table(CodeBuffer& cb, MachConstantNode* n, GrowableArray<Label*> labels) const;
};
private:
diff --git a/hotspot/src/share/vm/opto/doCall.cpp b/hotspot/src/share/vm/opto/doCall.cpp
index b3c405f..9ff9a89 100644
--- a/hotspot/src/share/vm/opto/doCall.cpp
+++ b/hotspot/src/share/vm/opto/doCall.cpp
@@ -62,7 +62,6 @@ void trace_type_profile(ciMethod *method, int depth, int bci, ciMethod *prof_met
CallGenerator* Compile::call_generator(ciMethod* call_method, int vtable_index, bool call_is_virtual,
JVMState* jvms, bool allow_inline,
float prof_factor) {
- CallGenerator* cg;
ciMethod* caller = jvms->method();
int bci = jvms->bci();
Bytecodes::Code bytecode = caller->java_code_at_bci(bci);
@@ -110,7 +109,7 @@ CallGenerator* Compile::call_generator(ciMethod* call_method, int vtable_index,
// We do this before the strict f.p. check below because the
// intrinsics handle strict f.p. correctly.
if (allow_inline) {
- cg = find_intrinsic(call_method, call_is_virtual);
+ CallGenerator* cg = find_intrinsic(call_method, call_is_virtual);
if (cg != NULL) return cg;
}
@@ -121,33 +120,16 @@ CallGenerator* Compile::call_generator(ciMethod* call_method, int vtable_index,
if (call_method->is_method_handle_invoke()) {
if (bytecode != Bytecodes::_invokedynamic) {
GraphKit kit(jvms);
- Node* n = kit.argument(0);
-
- CallGenerator* cg = CallGenerator::for_method_handle_inline(n, jvms, caller, call_method, profile);
- if (cg != NULL) {
- return cg;
- }
- return CallGenerator::for_direct_call(call_method);
+ Node* method_handle = kit.argument(0);
+ return CallGenerator::for_method_handle_call(method_handle, jvms, caller, call_method, profile);
}
else {
- // Get the CallSite object.
- ciMethod* caller_method = jvms->method();
- ciBytecodeStream str(caller_method);
- str.force_bci(jvms->bci()); // Set the stream to the invokedynamic bci.
- ciCallSite* call_site = str.get_call_site();
-
- CallGenerator* cg = CallGenerator::for_invokedynamic_inline(call_site, jvms, caller, call_method, profile);
- if (cg != NULL) {
- return cg;
- }
- // If something failed, generate a normal dynamic call.
- return CallGenerator::for_dynamic_call(call_method);
+ return CallGenerator::for_invokedynamic_call(jvms, caller, call_method, profile);
}
}
// Do not inline strict fp into non-strict code, or the reverse
- bool caller_method_is_strict = jvms->method()->is_strict();
- if( caller_method_is_strict ^ call_method->is_strict() ) {
+ if (caller->is_strict() ^ call_method->is_strict()) {
allow_inline = false;
}
@@ -258,7 +240,7 @@ CallGenerator* Compile::call_generator(ciMethod* call_method, int vtable_index,
}
if (miss_cg != NULL) {
NOT_PRODUCT(trace_type_profile(jvms->method(), jvms->depth() - 1, jvms->bci(), receiver_method, profile.receiver(0), site_count, receiver_count));
- cg = CallGenerator::for_predicted_call(profile.receiver(0), miss_cg, hit_cg, profile.receiver_prob(0));
+ CallGenerator* cg = CallGenerator::for_predicted_call(profile.receiver(0), miss_cg, hit_cg, profile.receiver_prob(0));
if (cg != NULL) return cg;
}
}
diff --git a/hotspot/src/share/vm/opto/escape.cpp b/hotspot/src/share/vm/opto/escape.cpp
index 8ce7f96..514a7ac 100644
--- a/hotspot/src/share/vm/opto/escape.cpp
+++ b/hotspot/src/share/vm/opto/escape.cpp
@@ -119,6 +119,8 @@ ConnectionGraph::ConnectionGraph(Compile * C, PhaseIterGVN *igvn) :
} else {
_noop_null = _oop_null; // Should be initialized
}
+ _pcmp_neq = NULL; // Should be initialized
+ _pcmp_eq = NULL;
}
void ConnectionGraph::add_pointsto_edge(uint from_i, uint to_i) {
@@ -128,6 +130,13 @@ void ConnectionGraph::add_pointsto_edge(uint from_i, uint to_i) {
assert(f->node_type() != PointsToNode::UnknownType && t->node_type() != PointsToNode::UnknownType, "node types must be set");
assert(f->node_type() == PointsToNode::LocalVar || f->node_type() == PointsToNode::Field, "invalid source of PointsTo edge");
assert(t->node_type() == PointsToNode::JavaObject, "invalid destination of PointsTo edge");
+ if (to_i == _phantom_object) { // Quick test for most common object
+ if (f->has_unknown_ptr()) {
+ return;
+ } else {
+ f->set_has_unknown_ptr();
+ }
+ }
add_edge(f, to_i, PointsToNode::PointsToEdge);
}
@@ -163,6 +172,9 @@ int ConnectionGraph::address_offset(Node* adr, PhaseTransform *phase) {
}
void ConnectionGraph::add_field_edge(uint from_i, uint to_i, int offset) {
+ // Don't add fields to NULL pointer.
+ if (is_null_ptr(from_i))
+ return;
PointsToNode *f = ptnode_adr(from_i);
PointsToNode *t = ptnode_adr(to_i);
@@ -177,7 +189,7 @@ void ConnectionGraph::add_field_edge(uint from_i, uint to_i, int offset) {
void ConnectionGraph::set_escape_state(uint ni, PointsToNode::EscapeState es) {
// Don't change non-escaping state of NULL pointer.
- if (ni == _noop_null || ni == _oop_null)
+ if (is_null_ptr(ni))
return;
PointsToNode *npt = ptnode_adr(ni);
PointsToNode::EscapeState old_es = npt->escape_state();
@@ -309,6 +321,9 @@ void ConnectionGraph::remove_deferred(uint ni, GrowableArray<uint>* deferred_edg
visited->set(ni);
PointsToNode *ptn = ptnode_adr(ni);
+ assert(ptn->node_type() == PointsToNode::LocalVar ||
+ ptn->node_type() == PointsToNode::Field, "sanity");
+ assert(ptn->edge_count() != 0, "should have at least phantom_object");
// Mark current edges as visited and move deferred edges to separate array.
for (uint i = 0; i < ptn->edge_count(); ) {
@@ -329,6 +344,7 @@ void ConnectionGraph::remove_deferred(uint ni, GrowableArray<uint>* deferred_edg
uint t = deferred_edges->at(next);
PointsToNode *ptt = ptnode_adr(t);
uint e_cnt = ptt->edge_count();
+ assert(e_cnt != 0, "should have at least phantom_object");
for (uint e = 0; e < e_cnt; e++) {
uint etgt = ptt->edge_target(e);
if (visited->test_set(etgt))
@@ -337,10 +353,6 @@ void ConnectionGraph::remove_deferred(uint ni, GrowableArray<uint>* deferred_edg
PointsToNode::EdgeType et = ptt->edge_type(e);
if (et == PointsToNode::PointsToEdge) {
add_pointsto_edge(ni, etgt);
- if(etgt == _phantom_object) {
- // Special case - field set outside (globally escaping).
- set_escape_state(ni, PointsToNode::GlobalEscape);
- }
} else if (et == PointsToNode::DeferredEdge) {
deferred_edges->append(etgt);
} else {
@@ -348,6 +360,20 @@ void ConnectionGraph::remove_deferred(uint ni, GrowableArray<uint>* deferred_edg
}
}
}
+ if (ptn->edge_count() == 0) {
+ // No pointsto edges found after deferred edges are removed.
+ // For example, in the next case where call is replaced
+ // with uncommon trap and as result array's load references
+ // itself through deferred edges:
+ //
+ // A a = b[i];
+ // if (c!=null) a = c.foo();
+ // b[i] = a;
+ //
+ // Assume the value was set outside this method and
+ // add edge to phantom object.
+ add_pointsto_edge(ni, _phantom_object);
+ }
}
@@ -356,13 +382,25 @@ void ConnectionGraph::remove_deferred(uint ni, GrowableArray<uint>* deferred_edg
// a pointsto edge is added if it is a JavaObject
void ConnectionGraph::add_edge_from_fields(uint adr_i, uint to_i, int offs) {
+ // No fields for NULL pointer.
+ if (is_null_ptr(adr_i)) {
+ return;
+ }
PointsToNode* an = ptnode_adr(adr_i);
PointsToNode* to = ptnode_adr(to_i);
bool deferred = (to->node_type() == PointsToNode::LocalVar);
-
+ bool escaped = (to_i == _phantom_object) && (offs == Type::OffsetTop);
+ if (escaped) {
+ // Values in fields escaped during call.
+ assert(an->escape_state() >= PointsToNode::ArgEscape, "sanity");
+ offs = Type::OffsetBot;
+ }
for (uint fe = 0; fe < an->edge_count(); fe++) {
assert(an->edge_type(fe) == PointsToNode::FieldEdge, "expecting a field edge");
int fi = an->edge_target(fe);
+ if (escaped) {
+ set_escape_state(fi, PointsToNode::GlobalEscape);
+ }
PointsToNode* pf = ptnode_adr(fi);
int po = pf->offset();
if (po == offs || po == Type::OffsetBot || offs == Type::OffsetBot) {
@@ -377,6 +415,15 @@ void ConnectionGraph::add_edge_from_fields(uint adr_i, uint to_i, int offs) {
// Add a deferred edge from node given by "from_i" to any field of adr_i
// whose offset matches "offset".
void ConnectionGraph::add_deferred_edge_to_fields(uint from_i, uint adr_i, int offs) {
+ // No fields for NULL pointer.
+ if (is_null_ptr(adr_i)) {
+ return;
+ }
+ if (adr_i == _phantom_object) {
+ // Add only one edge for unknown object.
+ add_pointsto_edge(from_i, _phantom_object);
+ return;
+ }
PointsToNode* an = ptnode_adr(adr_i);
bool is_alloc = an->_node->is_Allocate();
for (uint fe = 0; fe < an->edge_count(); fe++) {
@@ -392,6 +439,13 @@ void ConnectionGraph::add_deferred_edge_to_fields(uint from_i, uint adr_i, int o
add_deferred_edge(from_i, fi);
}
}
+ // Some fields references (AddP) may still be missing
+ // until Connection Graph construction is complete.
+ // For example, loads from RAW pointers with offset 0
+ // which don't have AddP.
+ // A reference to phantom_object will be added if
+ // a field reference is still missing after completing
+ // Connection Graph (see remove_deferred()).
}
// Helper functions
@@ -1540,8 +1594,9 @@ bool ConnectionGraph::compute_escape() {
GrowableArray<Node*> alloc_worklist;
GrowableArray<Node*> addp_worklist;
+ GrowableArray<Node*> ptr_cmp_worklist;
+ GrowableArray<Node*> storestore_worklist;
PhaseGVN* igvn = _igvn;
- bool has_allocations = false;
// Push all useful nodes onto CG list and set their type.
for( uint next = 0; next < worklist_init.size(); ++next ) {
@@ -1551,11 +1606,8 @@ bool ConnectionGraph::compute_escape() {
// for an escape status. See process_call_result() below.
if (n->is_Allocate() || n->is_CallStaticJava() &&
ptnode_adr(n->_idx)->node_type() == PointsToNode::JavaObject) {
- has_allocations = true;
- if (n->is_Allocate())
- alloc_worklist.append(n);
- }
- if(n->is_AddP()) {
+ alloc_worklist.append(n);
+ } else if(n->is_AddP()) {
// Collect address nodes. Use them during stage 3 below
// to build initial connection graph field edges.
addp_worklist.append(n);
@@ -1563,6 +1615,15 @@ bool ConnectionGraph::compute_escape() {
// Collect all MergeMem nodes to add memory slices for
// scalar replaceable objects in split_unique_types().
_mergemem_worklist.append(n->as_MergeMem());
+ } else if (OptimizePtrCompare && n->is_Cmp() &&
+ (n->Opcode() == Op_CmpP || n->Opcode() == Op_CmpN)) {
+ // Compare pointers nodes
+ ptr_cmp_worklist.append(n);
+ } else if (n->is_MemBarStoreStore()) {
+ // Collect all MemBarStoreStore nodes so that depending on the
+ // escape status of the associated Allocate node some of them
+ // may be eliminated.
+ storestore_worklist.append(n);
}
for (DUIterator_Fast imax, i = n->fast_outs(imax); i < imax; i++) {
Node* m = n->fast_out(i); // Get user
@@ -1570,7 +1631,7 @@ bool ConnectionGraph::compute_escape() {
}
}
- if (!has_allocations) {
+ if (alloc_worklist.length() == 0) {
_collecting = false;
return false; // Nothing to do.
}
@@ -1588,7 +1649,7 @@ bool ConnectionGraph::compute_escape() {
for( uint next = 0; next < addp_length; ++next ) {
Node* n = addp_worklist.at(next);
Node* base = get_addp_base(n);
- if (base->is_Proj())
+ if (base->is_Proj() && base->in(0)->is_Call())
base = base->in(0);
PointsToNode::NodeType nt = ptnode_adr(base->_idx)->node_type();
if (nt == PointsToNode::JavaObject) {
@@ -1653,61 +1714,90 @@ bool ConnectionGraph::compute_escape() {
}
#undef CG_BUILD_ITER_LIMIT
+ // 5. Propagate escaped states.
+ worklist.clear();
+
+ // mark all nodes reachable from GlobalEscape nodes
+ (void)propagate_escape_state(&cg_worklist, &worklist, PointsToNode::GlobalEscape);
+
+ // mark all nodes reachable from ArgEscape nodes
+ bool has_non_escaping_obj = propagate_escape_state(&cg_worklist, &worklist, PointsToNode::ArgEscape);
+
Arena* arena = Thread::current()->resource_area();
VectorSet visited(arena);
- // 5. Find fields initializing values for not escaped allocations
+ // 6. Find fields initializing values for not escaped allocations
uint alloc_length = alloc_worklist.length();
for (uint next = 0; next < alloc_length; ++next) {
Node* n = alloc_worklist.at(next);
- if (ptnode_adr(n->_idx)->escape_state() == PointsToNode::NoEscape) {
- find_init_values(n, &visited, igvn);
+ PointsToNode::EscapeState es = ptnode_adr(n->_idx)->escape_state();
+ if (es == PointsToNode::NoEscape) {
+ has_non_escaping_obj = true;
+ if (n->is_Allocate()) {
+ find_init_values(n, &visited, igvn);
+ // The object allocated by this Allocate node will never be
+ // seen by an other thread. Mark it so that when it is
+ // expanded no MemBarStoreStore is added.
+ n->as_Allocate()->initialization()->set_does_not_escape();
+ }
+ } else if ((es == PointsToNode::ArgEscape) && n->is_Allocate()) {
+ // Same as above. Mark this Allocate node so that when it is
+ // expanded no MemBarStoreStore is added.
+ n->as_Allocate()->initialization()->set_does_not_escape();
}
}
- worklist.clear();
-
- // 6. Remove deferred edges from the graph.
uint cg_length = cg_worklist.length();
+
+ // Skip the rest of code if all objects escaped.
+ if (!has_non_escaping_obj) {
+ cg_length = 0;
+ addp_length = 0;
+ }
+
+ for (uint next = 0; next < cg_length; ++next) {
+ int ni = cg_worklist.at(next);
+ PointsToNode* ptn = ptnode_adr(ni);
+ PointsToNode::NodeType nt = ptn->node_type();
+ if (nt == PointsToNode::LocalVar || nt == PointsToNode::Field) {
+ if (ptn->edge_count() == 0) {
+ // No values were found. Assume the value was set
+ // outside this method - add edge to phantom object.
+ add_pointsto_edge(ni, _phantom_object);
+ }
+ }
+ }
+
+ // 7. Remove deferred edges from the graph.
for (uint next = 0; next < cg_length; ++next) {
int ni = cg_worklist.at(next);
PointsToNode* ptn = ptnode_adr(ni);
PointsToNode::NodeType nt = ptn->node_type();
if (nt == PointsToNode::LocalVar || nt == PointsToNode::Field) {
remove_deferred(ni, &worklist, &visited);
- Node *n = ptn->_node;
}
}
- // 7. Adjust escape state of nonescaping objects.
+ // 8. Adjust escape state of nonescaping objects.
for (uint next = 0; next < addp_length; ++next) {
Node* n = addp_worklist.at(next);
adjust_escape_state(n);
}
- // 8. Propagate escape states.
- worklist.clear();
-
- // mark all nodes reachable from GlobalEscape nodes
- (void)propagate_escape_state(&cg_worklist, &worklist, PointsToNode::GlobalEscape);
-
- // mark all nodes reachable from ArgEscape nodes
- bool has_non_escaping_obj = propagate_escape_state(&cg_worklist, &worklist, PointsToNode::ArgEscape);
-
// push all NoEscape nodes on the worklist
+ worklist.clear();
for( uint next = 0; next < cg_length; ++next ) {
int nk = cg_worklist.at(next);
- if (ptnode_adr(nk)->escape_state() == PointsToNode::NoEscape)
+ if (ptnode_adr(nk)->escape_state() == PointsToNode::NoEscape &&
+ !is_null_ptr(nk))
worklist.push(nk);
}
+
alloc_worklist.clear();
- // mark all nodes reachable from NoEscape nodes
+ // Propagate scalar_replaceable value.
while(worklist.length() > 0) {
uint nk = worklist.pop();
PointsToNode* ptn = ptnode_adr(nk);
- if (ptn->node_type() == PointsToNode::JavaObject &&
- !(nk == _noop_null || nk == _oop_null))
- has_non_escaping_obj = true; // Non Escape
Node* n = ptn->_node;
bool scalar_replaceable = ptn->scalar_replaceable();
if (n->is_Allocate() && scalar_replaceable) {
@@ -1719,6 +1809,8 @@ bool ConnectionGraph::compute_escape() {
uint e_cnt = ptn->edge_count();
for (uint ei = 0; ei < e_cnt; ei++) {
uint npi = ptn->edge_target(ei);
+ if (is_null_ptr(npi))
+ continue;
PointsToNode *np = ptnode_adr(npi);
if (np->escape_state() < PointsToNode::NoEscape) {
set_escape_state(npi, PointsToNode::NoEscape);
@@ -1727,7 +1819,6 @@ bool ConnectionGraph::compute_escape() {
}
worklist.push(npi);
} else if (np->scalar_replaceable() && !scalar_replaceable) {
- // Propagate scalar_replaceable value.
np->set_scalar_replaceable(false);
worklist.push(npi);
}
@@ -1737,9 +1828,11 @@ bool ConnectionGraph::compute_escape() {
_collecting = false;
assert(C->unique() == nodes_size(), "there should be no new ideal nodes during ConnectionGraph build");
- assert(ptnode_adr(_oop_null)->escape_state() == PointsToNode::NoEscape, "sanity");
+ assert(ptnode_adr(_oop_null)->escape_state() == PointsToNode::NoEscape &&
+ ptnode_adr(_oop_null)->edge_count() == 0, "sanity");
if (UseCompressedOops) {
- assert(ptnode_adr(_noop_null)->escape_state() == PointsToNode::NoEscape, "sanity");
+ assert(ptnode_adr(_noop_null)->escape_state() == PointsToNode::NoEscape &&
+ ptnode_adr(_noop_null)->edge_count() == 0, "sanity");
}
if (EliminateLocks && has_non_escaping_obj) {
@@ -1749,18 +1842,67 @@ bool ConnectionGraph::compute_escape() {
Node *n = C->macro_node(i);
if (n->is_AbstractLock()) { // Lock and Unlock nodes
AbstractLockNode* alock = n->as_AbstractLock();
- if (!alock->is_eliminated()) {
+ if (!alock->is_non_esc_obj()) {
PointsToNode::EscapeState es = escape_state(alock->obj_node());
assert(es != PointsToNode::UnknownEscape, "should know");
if (es != PointsToNode::UnknownEscape && es != PointsToNode::GlobalEscape) {
- // Mark it eliminated
- alock->set_eliminated();
+ assert(!alock->is_eliminated() || alock->is_coarsened(), "sanity");
+ // The lock could be marked eliminated by lock coarsening
+ // code during first IGVN before EA. Replace coarsened flag
+ // to eliminate all associated locks/unlocks.
+ alock->set_non_esc_obj();
}
}
}
}
}
+ if (OptimizePtrCompare && has_non_escaping_obj) {
+ // Add ConI(#CC_GT) and ConI(#CC_EQ).
+ _pcmp_neq = igvn->makecon(TypeInt::CC_GT);
+ _pcmp_eq = igvn->makecon(TypeInt::CC_EQ);
+ // Optimize objects compare.
+ while (ptr_cmp_worklist.length() != 0) {
+ Node *n = ptr_cmp_worklist.pop();
+ Node *res = optimize_ptr_compare(n);
+ if (res != NULL) {
+#ifndef PRODUCT
+ if (PrintOptimizePtrCompare) {
+ tty->print_cr("++++ Replaced: %d %s(%d,%d) --> %s", n->_idx, (n->Opcode() == Op_CmpP ? "CmpP" : "CmpN"), n->in(1)->_idx, n->in(2)->_idx, (res == _pcmp_eq ? "EQ" : "NotEQ"));
+ if (Verbose) {
+ n->dump(1);
+ }
+ }
+#endif
+ _igvn->replace_node(n, res);
+ }
+ }
+ // cleanup
+ if (_pcmp_neq->outcnt() == 0)
+ igvn->hash_delete(_pcmp_neq);
+ if (_pcmp_eq->outcnt() == 0)
+ igvn->hash_delete(_pcmp_eq);
+ }
+
+ // For MemBarStoreStore nodes added in library_call.cpp, check
+ // escape status of associated AllocateNode and optimize out
+ // MemBarStoreStore node if the allocated object never escapes.
+ while (storestore_worklist.length() != 0) {
+ Node *n = storestore_worklist.pop();
+ MemBarStoreStoreNode *storestore = n ->as_MemBarStoreStore();
+ Node *alloc = storestore->in(MemBarNode::Precedent)->in(0);
+ assert (alloc->is_Allocate(), "storestore should point to AllocateNode");
+ PointsToNode::EscapeState es = ptnode_adr(alloc->_idx)->escape_state();
+ if (es == PointsToNode::NoEscape || es == PointsToNode::ArgEscape) {
+ MemBarNode* mb = MemBarNode::make(C, Op_MemBarCPUOrder, Compile::AliasIdxBot);
+ mb->init_req(TypeFunc::Memory, storestore->in(TypeFunc::Memory));
+ mb->init_req(TypeFunc::Control, storestore->in(TypeFunc::Control));
+
+ _igvn->register_new_node_with_optimizer(mb);
+ _igvn->replace_node(storestore, mb);
+ }
+ }
+
#ifndef PRODUCT
if (PrintEscapeAnalysis) {
dump(); // Dump ConnectionGraph
@@ -1821,15 +1963,30 @@ void ConnectionGraph::find_init_values(Node* alloc, VectorSet* visited, PhaseTra
// Connection Graph does not record a default initialization by NULL
// captured by Initialize node.
//
+ uint null_idx = UseCompressedOops ? _noop_null : _oop_null;
uint ae_cnt = pta->edge_count();
+ bool visited_bottom_offset = false;
for (uint ei = 0; ei < ae_cnt; ei++) {
uint nidx = pta->edge_target(ei); // Field (AddP)
PointsToNode* ptn = ptnode_adr(nidx);
assert(ptn->_node->is_AddP(), "Should be AddP nodes only");
int offset = ptn->offset();
- if (offset != Type::OffsetBot &&
- offset != oopDesc::klass_offset_in_bytes() &&
- !visited->test_set(offset)) {
+ if (offset == Type::OffsetBot) {
+ if (!visited_bottom_offset) {
+ visited_bottom_offset = true;
+ // Check only oop fields.
+ const Type* adr_type = ptn->_node->as_AddP()->bottom_type();
+ if (!adr_type->isa_aryptr() ||
+ (adr_type->isa_aryptr()->klass() == NULL) ||
+ adr_type->isa_aryptr()->klass()->is_obj_array_klass()) {
+ // OffsetBot is used to reference array's element,
+ // always add reference to NULL since we don't
+ // known which element is referenced.
+ add_edge_from_fields(alloc->_idx, null_idx, offset);
+ }
+ }
+ } else if (offset != oopDesc::klass_offset_in_bytes() &&
+ !visited->test_set(offset)) {
// Check only oop fields.
const Type* adr_type = ptn->_node->as_AddP()->bottom_type();
@@ -1904,7 +2061,6 @@ void ConnectionGraph::find_init_values(Node* alloc, VectorSet* visited, PhaseTra
}
if (value == NULL || value != ptnode_adr(value->_idx)->_node) {
// A field's initializing value was not recorded. Add NULL.
- uint null_idx = UseCompressedOops ? _noop_null : _oop_null;
add_edge_from_fields(alloc->_idx, null_idx, offset);
}
}
@@ -1990,13 +2146,21 @@ bool ConnectionGraph::propagate_escape_state(GrowableArray<int>* cg_worklist,
}
// mark all reachable nodes
while (worklist->length() > 0) {
- PointsToNode* ptn = ptnode_adr(worklist->pop());
- if (ptn->node_type() == PointsToNode::JavaObject) {
+ int pt = worklist->pop();
+ PointsToNode* ptn = ptnode_adr(pt);
+ if (ptn->node_type() == PointsToNode::JavaObject &&
+ !is_null_ptr(pt)) {
has_java_obj = true;
+ if (esc_state > PointsToNode::NoEscape) {
+ // fields values are unknown if object escapes
+ add_edge_from_fields(pt, _phantom_object, Type::OffsetBot);
+ }
}
uint e_cnt = ptn->edge_count();
for (uint ei = 0; ei < e_cnt; ei++) {
uint npi = ptn->edge_target(ei);
+ if (is_null_ptr(npi))
+ continue;
PointsToNode *np = ptnode_adr(npi);
if (np->escape_state() < esc_state) {
set_escape_state(npi, esc_state);
@@ -2008,8 +2172,100 @@ bool ConnectionGraph::propagate_escape_state(GrowableArray<int>* cg_worklist,
return has_java_obj && (esc_state < PointsToNode::GlobalEscape);
}
-void ConnectionGraph::process_call_arguments(CallNode *call, PhaseTransform *phase) {
+// Optimize objects compare.
+Node* ConnectionGraph::optimize_ptr_compare(Node* n) {
+ assert(OptimizePtrCompare, "sanity");
+ // Clone returned Set since PointsTo() returns pointer
+ // to the same structure ConnectionGraph.pt_ptset.
+ VectorSet ptset1 = *PointsTo(n->in(1));
+ VectorSet ptset2 = *PointsTo(n->in(2));
+
+ // Check simple cases first.
+ if (ptset1.Size() == 1) {
+ uint pt1 = ptset1.getelem();
+ PointsToNode* ptn1 = ptnode_adr(pt1);
+ if (ptn1->escape_state() == PointsToNode::NoEscape) {
+ if (ptset2.Size() == 1 && ptset2.getelem() == pt1) {
+ // Comparing the same not escaping object.
+ return _pcmp_eq;
+ }
+ Node* obj = ptn1->_node;
+ // Comparing not escaping allocation.
+ if ((obj->is_Allocate() || obj->is_CallStaticJava()) &&
+ !ptset2.test(pt1)) {
+ return _pcmp_neq; // This includes nullness check.
+ }
+ }
+ } else if (ptset2.Size() == 1) {
+ uint pt2 = ptset2.getelem();
+ PointsToNode* ptn2 = ptnode_adr(pt2);
+ if (ptn2->escape_state() == PointsToNode::NoEscape) {
+ Node* obj = ptn2->_node;
+ // Comparing not escaping allocation.
+ if ((obj->is_Allocate() || obj->is_CallStaticJava()) &&
+ !ptset1.test(pt2)) {
+ return _pcmp_neq; // This includes nullness check.
+ }
+ }
+ }
+
+ if (!ptset1.disjoint(ptset2)) {
+ return NULL; // Sets are not disjoint
+ }
+
+ // Sets are disjoint.
+ bool set1_has_unknown_ptr = ptset1.test(_phantom_object) != 0;
+ bool set2_has_unknown_ptr = ptset2.test(_phantom_object) != 0;
+ bool set1_has_null_ptr = (ptset1.test(_oop_null) | ptset1.test(_noop_null)) != 0;
+ bool set2_has_null_ptr = (ptset2.test(_oop_null) | ptset2.test(_noop_null)) != 0;
+
+ if (set1_has_unknown_ptr && set2_has_null_ptr ||
+ set2_has_unknown_ptr && set1_has_null_ptr) {
+ // Check nullness of unknown object.
+ return NULL;
+ }
+
+ // Disjointness by itself is not sufficient since
+ // alias analysis is not complete for escaped objects.
+ // Disjoint sets are definitely unrelated only when
+ // at least one set has only not escaping objects.
+ if (!set1_has_unknown_ptr && !set1_has_null_ptr) {
+ bool has_only_non_escaping_alloc = true;
+ for (VectorSetI i(&ptset1); i.test(); ++i) {
+ uint pt = i.elem;
+ PointsToNode* ptn = ptnode_adr(pt);
+ Node* obj = ptn->_node;
+ if (ptn->escape_state() != PointsToNode::NoEscape ||
+ !(obj->is_Allocate() || obj->is_CallStaticJava())) {
+ has_only_non_escaping_alloc = false;
+ break;
+ }
+ }
+ if (has_only_non_escaping_alloc) {
+ return _pcmp_neq;
+ }
+ }
+ if (!set2_has_unknown_ptr && !set2_has_null_ptr) {
+ bool has_only_non_escaping_alloc = true;
+ for (VectorSetI i(&ptset2); i.test(); ++i) {
+ uint pt = i.elem;
+ PointsToNode* ptn = ptnode_adr(pt);
+ Node* obj = ptn->_node;
+ if (ptn->escape_state() != PointsToNode::NoEscape ||
+ !(obj->is_Allocate() || obj->is_CallStaticJava())) {
+ has_only_non_escaping_alloc = false;
+ break;
+ }
+ }
+ if (has_only_non_escaping_alloc) {
+ return _pcmp_neq;
+ }
+ }
+ return NULL;
+}
+void ConnectionGraph::process_call_arguments(CallNode *call, PhaseTransform *phase) {
+ bool is_arraycopy = false;
switch (call->Opcode()) {
#ifdef ASSERT
case Op_Allocate:
@@ -2019,25 +2275,44 @@ void ConnectionGraph::process_call_arguments(CallNode *call, PhaseTransform *pha
assert(false, "should be done already");
break;
#endif
- case Op_CallLeaf:
case Op_CallLeafNoFP:
+ is_arraycopy = (call->as_CallLeaf()->_name != NULL &&
+ strstr(call->as_CallLeaf()->_name, "arraycopy") != 0);
+ // fall through
+ case Op_CallLeaf:
{
// Stub calls, objects do not escape but they are not scale replaceable.
// Adjust escape state for outgoing arguments.
const TypeTuple * d = call->tf()->domain();
+ bool src_has_oops = false;
for (uint i = TypeFunc::Parms; i < d->cnt(); i++) {
const Type* at = d->field_at(i);
Node *arg = call->in(i)->uncast();
const Type *aat = phase->type(arg);
+ PointsToNode::EscapeState arg_esc = ptnode_adr(arg->_idx)->escape_state();
if (!arg->is_top() && at->isa_ptr() && aat->isa_ptr() &&
- ptnode_adr(arg->_idx)->escape_state() < PointsToNode::ArgEscape) {
+ (is_arraycopy || arg_esc < PointsToNode::ArgEscape)) {
assert(aat == Type::TOP || aat == TypePtr::NULL_PTR ||
aat->isa_ptr() != NULL, "expecting an Ptr");
+ bool arg_has_oops = aat->isa_oopptr() &&
+ (aat->isa_oopptr()->klass() == NULL || aat->isa_instptr() ||
+ (aat->isa_aryptr() && aat->isa_aryptr()->klass()->is_obj_array_klass()));
+ if (i == TypeFunc::Parms) {
+ src_has_oops = arg_has_oops;
+ }
+ //
+ // src or dst could be j.l.Object when other is basic type array:
+ //
+ // arraycopy(char[],0,Object*,0,size);
+ // arraycopy(Object*,0,char[],0,size);
+ //
+ // Don't add edges from dst's fields in such cases.
+ //
+ bool arg_is_arraycopy_dest = src_has_oops && is_arraycopy &&
+ arg_has_oops && (i > TypeFunc::Parms);
#ifdef ASSERT
- if (!(call->Opcode() == Op_CallLeafNoFP &&
- call->as_CallLeaf()->_name != NULL &&
- (strstr(call->as_CallLeaf()->_name, "arraycopy") != 0) ||
+ if (!(is_arraycopy ||
call->as_CallLeaf()->_name != NULL &&
(strcmp(call->as_CallLeaf()->_name, "g1_wb_pre") == 0 ||
strcmp(call->as_CallLeaf()->_name, "g1_wb_post") == 0 ))
@@ -2046,20 +2321,72 @@ void ConnectionGraph::process_call_arguments(CallNode *call, PhaseTransform *pha
assert(false, "EA: unexpected CallLeaf");
}
#endif
+ // Always process arraycopy's destination object since
+ // we need to add all possible edges to references in
+ // source object.
+ if (arg_esc >= PointsToNode::ArgEscape &&
+ !arg_is_arraycopy_dest) {
+ continue;
+ }
set_escape_state(arg->_idx, PointsToNode::ArgEscape);
+ Node* arg_base = arg;
if (arg->is_AddP()) {
//
// The inline_native_clone() case when the arraycopy stub is called
// after the allocation before Initialize and CheckCastPP nodes.
+ // Or normal arraycopy for object arrays case.
//
// Set AddP's base (Allocate) as not scalar replaceable since
// pointer to the base (with offset) is passed as argument.
//
- arg = get_addp_base(arg);
+ arg_base = get_addp_base(arg);
}
- for( VectorSetI j(PointsTo(arg)); j.test(); ++j ) {
- uint pt = j.elem;
- set_escape_state(pt, PointsToNode::ArgEscape);
+ VectorSet argset = *PointsTo(arg_base); // Clone set
+ for( VectorSetI j(&argset); j.test(); ++j ) {
+ uint pd = j.elem; // Destination object
+ set_escape_state(pd, PointsToNode::ArgEscape);
+
+ if (arg_is_arraycopy_dest) {
+ PointsToNode* ptd = ptnode_adr(pd);
+ // Conservatively reference an unknown object since
+ // not all source's fields/elements may be known.
+ add_edge_from_fields(pd, _phantom_object, Type::OffsetBot);
+
+ Node *src = call->in(TypeFunc::Parms)->uncast();
+ Node* src_base = src;
+ if (src->is_AddP()) {
+ src_base = get_addp_base(src);
+ }
+ // Create edges from destination's fields to
+ // everything known source's fields could point to.
+ for( VectorSetI s(PointsTo(src_base)); s.test(); ++s ) {
+ uint ps = s.elem;
+ bool has_bottom_offset = false;
+ for (uint fd = 0; fd < ptd->edge_count(); fd++) {
+ assert(ptd->edge_type(fd) == PointsToNode::FieldEdge, "expecting a field edge");
+ int fdi = ptd->edge_target(fd);
+ PointsToNode* pfd = ptnode_adr(fdi);
+ int offset = pfd->offset();
+ if (offset == Type::OffsetBot)
+ has_bottom_offset = true;
+ assert(offset != -1, "offset should be set");
+ add_deferred_edge_to_fields(fdi, ps, offset);
+ }
+ // Destination object may not have access (no field edge)
+ // to fields which are accessed in source object.
+ // As result no edges will be created to those source's
+ // fields and escape state of destination object will
+ // not be propagated to those fields.
+ //
+ // Mark source object as global escape except in
+ // the case with Type::OffsetBot field (which is
+ // common case for array elements access) when
+ // edges are created to all source's fields.
+ if (!has_bottom_offset) {
+ set_escape_state(ps, PointsToNode::GlobalEscape);
+ }
+ }
+ }
}
}
}
@@ -2102,14 +2429,16 @@ void ConnectionGraph::process_call_arguments(CallNode *call, PhaseTransform *pha
for( VectorSetI j(PointsTo(arg)); j.test(); ++j ) {
uint pt = j.elem;
if (global_escapes) {
- //The argument global escapes, mark everything it could point to
+ // The argument global escapes, mark everything it could point to
set_escape_state(pt, PointsToNode::GlobalEscape);
+ add_edge_from_fields(pt, _phantom_object, Type::OffsetBot);
} else {
+ set_escape_state(pt, PointsToNode::ArgEscape);
if (fields_escapes) {
- // The argument itself doesn't escape, but any fields might
- add_edge_from_fields(pt, _phantom_object, Type::OffsetBot);
+ // The argument itself doesn't escape, but any fields might.
+ // Use OffsetTop to indicate such case.
+ add_edge_from_fields(pt, _phantom_object, Type::OffsetTop);
}
- set_escape_state(pt, PointsToNode::ArgEscape);
}
}
}
@@ -2135,6 +2464,7 @@ void ConnectionGraph::process_call_arguments(CallNode *call, PhaseTransform *pha
for( VectorSetI j(PointsTo(arg)); j.test(); ++j ) {
uint pt = j.elem;
set_escape_state(pt, PointsToNode::GlobalEscape);
+ add_edge_from_fields(pt, _phantom_object, Type::OffsetBot);
}
}
}
@@ -2235,15 +2565,16 @@ void ConnectionGraph::process_call_result(ProjNode *resproj, PhaseTransform *pha
// it's fields will be marked as NoEscape at least.
set_escape_state(call_idx, PointsToNode::NoEscape);
ptnode_adr(call_idx)->set_scalar_replaceable(false);
+ // Fields values are unknown
+ add_edge_from_fields(call_idx, _phantom_object, Type::OffsetBot);
add_pointsto_edge(resproj_idx, call_idx);
copy_dependencies = true;
- } else if (call_analyzer->is_return_local()) {
+ } else {
// determine whether any arguments are returned
set_escape_state(call_idx, PointsToNode::ArgEscape);
bool ret_arg = false;
for (uint i = TypeFunc::Parms; i < d->cnt(); i++) {
const Type* at = d->field_at(i);
-
if (at->isa_oopptr() != NULL) {
Node *arg = call->in(i)->uncast();
@@ -2259,17 +2590,14 @@ void ConnectionGraph::process_call_result(ProjNode *resproj, PhaseTransform *pha
}
}
}
- if (done && !ret_arg) {
- // Returns unknown object.
- set_escape_state(call_idx, PointsToNode::GlobalEscape);
- add_pointsto_edge(resproj_idx, _phantom_object);
- }
if (done) {
copy_dependencies = true;
+ // is_return_local() is true when only arguments are returned.
+ if (!ret_arg || !call_analyzer->is_return_local()) {
+ // Returns unknown object.
+ add_pointsto_edge(resproj_idx, _phantom_object);
+ }
}
- } else {
- set_escape_state(call_idx, PointsToNode::GlobalEscape);
- add_pointsto_edge(resproj_idx, _phantom_object);
}
if (copy_dependencies)
call_analyzer->copy_dependencies(_compile->dependencies());
@@ -2431,6 +2759,11 @@ void ConnectionGraph::record_for_escape_analysis(Node *n, PhaseTransform *phase)
add_node(n, PointsToNode::JavaObject, PointsToNode::GlobalEscape, false);
break;
}
+ case Op_PartialSubtypeCheck:
+ { // Produces Null or notNull and is used in CmpP.
+ add_node(n, PointsToNode::JavaObject, PointsToNode::ArgEscape, true);
+ break;
+ }
case Op_Phi:
{
const Type *t = n->as_Phi()->type();
@@ -2589,10 +2922,11 @@ void ConnectionGraph::build_connection_graph(Node *n, PhaseTransform *phase) {
case Op_AddP:
{
Node *base = get_addp_base(n);
+ int offset = address_offset(n, phase);
// Create a field edge to this node from everything base could point to.
for( VectorSetI i(PointsTo(base)); i.test(); ++i ) {
uint pt = i.elem;
- add_field_edge(pt, n_idx, address_offset(n, phase));
+ add_field_edge(pt, n_idx, offset);
}
break;
}
@@ -2659,6 +2993,10 @@ void ConnectionGraph::build_connection_graph(Node *n, PhaseTransform *phase) {
int offset = address_offset(adr, phase);
for( VectorSetI i(PointsTo(adr_base)); i.test(); ++i ) {
uint pt = i.elem;
+ if (adr->is_AddP()) {
+ // Add field edge if it is missing.
+ add_field_edge(pt, adr->_idx, offset);
+ }
add_deferred_edge_to_fields(n_idx, pt, offset);
}
break;
@@ -2668,6 +3006,11 @@ void ConnectionGraph::build_connection_graph(Node *n, PhaseTransform *phase) {
assert(false, "Op_Parm");
break;
}
+ case Op_PartialSubtypeCheck:
+ {
+ assert(false, "Op_PartialSubtypeCheck");
+ break;
+ }
case Op_Phi:
{
#ifdef ASSERT
@@ -2745,11 +3088,14 @@ void ConnectionGraph::build_connection_graph(Node *n, PhaseTransform *phase) {
assert(adr->is_AddP(), "expecting an AddP");
Node *adr_base = get_addp_base(adr);
Node *val = n->in(MemNode::ValueIn)->uncast();
+ int offset = address_offset(adr, phase);
// For everything "adr_base" could point to, create a deferred edge
// to "val" from each field with the same offset.
for( VectorSetI i(PointsTo(adr_base)); i.test(); ++i ) {
uint pt = i.elem;
- add_edge_from_fields(pt, val->_idx, address_offset(adr, phase));
+ // Add field edge if it is missing.
+ add_field_edge(pt, adr->_idx, offset);
+ add_edge_from_fields(pt, val->_idx, offset);
}
break;
}
diff --git a/hotspot/src/share/vm/opto/escape.hpp b/hotspot/src/share/vm/opto/escape.hpp
index 9ac2ca1..2d66529 100644
--- a/hotspot/src/share/vm/opto/escape.hpp
+++ b/hotspot/src/share/vm/opto/escape.hpp
@@ -160,6 +160,7 @@ private:
Node* _node; // Ideal node corresponding to this PointsTo node.
int _offset; // Object fields offsets.
bool _scalar_replaceable; // Not escaped object could be replaced with scalar
+ bool _has_unknown_ptr; // Has edge to phantom_object
public:
PointsToNode():
@@ -168,6 +169,7 @@ public:
_edges(NULL),
_node(NULL),
_offset(-1),
+ _has_unknown_ptr(false),
_scalar_replaceable(true) {}
@@ -175,6 +177,7 @@ public:
NodeType node_type() const { return _type;}
int offset() { return _offset;}
bool scalar_replaceable() { return _scalar_replaceable;}
+ bool has_unknown_ptr() { return _has_unknown_ptr;}
void set_offset(int offs) { _offset = offs;}
void set_escape_state(EscapeState state) { _escape = state; }
@@ -183,6 +186,7 @@ public:
_type = ntype;
}
void set_scalar_replaceable(bool v) { _scalar_replaceable = v; }
+ void set_has_unknown_ptr() { _has_unknown_ptr = true; }
// count of outgoing edges
uint edge_count() const { return (_edges == NULL) ? 0 : _edges->length(); }
@@ -236,6 +240,8 @@ private:
// are assumed to point to.
uint _oop_null; // ConP(#NULL)->_idx
uint _noop_null; // ConN(#NULL)->_idx
+ Node* _pcmp_neq; // ConI(#CC_GT)
+ Node* _pcmp_eq; // ConI(#CC_EQ)
Compile * _compile; // Compile object for current compilation
PhaseIterGVN * _igvn; // Value numbering
@@ -248,6 +254,8 @@ private:
}
uint nodes_size() const { return _nodes.length(); }
+ bool is_null_ptr(uint idx) const { return (idx == _noop_null || idx == _oop_null); }
+
// Add node to ConnectionGraph.
void add_node(Node *n, PointsToNode::NodeType nt, PointsToNode::EscapeState es, bool done);
@@ -331,10 +339,9 @@ private:
}
// Notify optimizer that a node has been modified
- // Node: This assumes that escape analysis is run before
- // PhaseIterGVN creation
void record_for_optimizer(Node *n) {
_igvn->_worklist.push(n);
+ _igvn->add_users_to_worklist(n);
}
// Set the escape state of a node
@@ -351,6 +358,9 @@ private:
GrowableArray<uint>* worklist,
PointsToNode::EscapeState esc_state);
+ // Optimize objects compare.
+ Node* optimize_ptr_compare(Node* n);
+
// Compute the escape information
bool compute_escape();
diff --git a/hotspot/src/share/vm/opto/gcm.cpp b/hotspot/src/share/vm/opto/gcm.cpp
index b504ea5..be6850e 100644
--- a/hotspot/src/share/vm/opto/gcm.cpp
+++ b/hotspot/src/share/vm/opto/gcm.cpp
@@ -95,7 +95,7 @@ void PhaseCFG::replace_block_proj_ctrl( Node *n ) {
assert(in0 != NULL, "Only control-dependent");
const Node *p = in0->is_block_proj();
if (p != NULL && p != n) { // Control from a block projection?
- assert(!n->pinned() || n->is_MachConstantBase() || n->is_SafePointScalarObject(), "only pinned MachConstantBase or SafePointScalarObject node is expected here");
+ assert(!n->pinned() || n->is_MachConstantBase(), "only pinned MachConstantBase node is expected here");
// Find trailing Region
Block *pb = _bbs[in0->_idx]; // Block-projection already has basic block
uint j = 0;
diff --git a/hotspot/src/share/vm/opto/graphKit.cpp b/hotspot/src/share/vm/opto/graphKit.cpp
index 4971729..5658960 100644
--- a/hotspot/src/share/vm/opto/graphKit.cpp
+++ b/hotspot/src/share/vm/opto/graphKit.cpp
@@ -2304,9 +2304,9 @@ Node* GraphKit::gen_subtype_check(Node* subklass, Node* superklass) {
// will always succeed. We could leave a dependency behind to ensure this.
// First load the super-klass's check-offset
- Node *p1 = basic_plus_adr( superklass, superklass, sizeof(oopDesc) + Klass::super_check_offset_offset_in_bytes() );
+ Node *p1 = basic_plus_adr( superklass, superklass, in_bytes(Klass::super_check_offset_offset()) );
Node *chk_off = _gvn.transform( new (C, 3) LoadINode( NULL, memory(p1), p1, _gvn.type(p1)->is_ptr() ) );
- int cacheoff_con = sizeof(oopDesc) + Klass::secondary_super_cache_offset_in_bytes();
+ int cacheoff_con = in_bytes(Klass::secondary_super_cache_offset());
bool might_be_cache = (find_int_con(chk_off, cacheoff_con) == cacheoff_con);
// Load from the sub-klass's super-class display list, or a 1-word cache of
@@ -2934,7 +2934,7 @@ Node* GraphKit::get_layout_helper(Node* klass_node, jint& constant_value) {
}
}
constant_value = Klass::_lh_neutral_value; // put in a known value
- Node* lhp = basic_plus_adr(klass_node, klass_node, Klass::layout_helper_offset_in_bytes() + sizeof(oopDesc));
+ Node* lhp = basic_plus_adr(klass_node, klass_node, in_bytes(Klass::layout_helper_offset()));
return make_load(NULL, lhp, TypeInt::INT, T_INT);
}
@@ -3337,6 +3337,19 @@ InitializeNode* AllocateNode::initialization() {
return NULL;
}
+// Trace Allocate -> Proj[Parm] -> MemBarStoreStore
+MemBarStoreStoreNode* AllocateNode::storestore() {
+ ProjNode* rawoop = proj_out(AllocateNode::RawAddress);
+ if (rawoop == NULL) return NULL;
+ for (DUIterator_Fast imax, i = rawoop->fast_outs(imax); i < imax; i++) {
+ Node* storestore = rawoop->fast_out(i);
+ if (storestore->is_MemBarStoreStore()) {
+ return storestore->as_MemBarStoreStore();
+ }
+ }
+ return NULL;
+}
+
//----------------------------- loop predicates ---------------------------
//------------------------------add_predicate_impl----------------------------
diff --git a/hotspot/src/share/vm/opto/idealGraphPrinter.cpp b/hotspot/src/share/vm/opto/idealGraphPrinter.cpp
index a5a0c65..f9f40a3 100644
--- a/hotspot/src/share/vm/opto/idealGraphPrinter.cpp
+++ b/hotspot/src/share/vm/opto/idealGraphPrinter.cpp
@@ -447,6 +447,9 @@ void IdealGraphPrinter::visit_node(Node *n, bool edges, VectorSet* temp_set) {
if (flags & Node::Flag_may_be_short_branch) {
print_prop("may_be_short_branch", "true");
}
+ if (flags & Node::Flag_has_call) {
+ print_prop("has_call", "true");
+ }
if (C->matcher() != NULL) {
if (C->matcher()->is_shared(node)) {
diff --git a/hotspot/src/share/vm/opto/lcm.cpp b/hotspot/src/share/vm/opto/lcm.cpp
index 425e10b..287b6ed 100644
--- a/hotspot/src/share/vm/opto/lcm.cpp
+++ b/hotspot/src/share/vm/opto/lcm.cpp
@@ -548,6 +548,22 @@ void Block::needed_for_next_call(Node *this_call, VectorSet &next_call, Block_Ar
set_next_call(call, next_call, bbs);
}
+//------------------------------add_call_kills-------------------------------------
+void Block::add_call_kills(MachProjNode *proj, RegMask& regs, const char* save_policy, bool exclude_soe) {
+ // Fill in the kill mask for the call
+ for( OptoReg::Name r = OptoReg::Name(0); r < _last_Mach_Reg; r=OptoReg::add(r,1) ) {
+ if( !regs.Member(r) ) { // Not already defined by the call
+ // Save-on-call register?
+ if ((save_policy[r] == 'C') ||
+ (save_policy[r] == 'A') ||
+ ((save_policy[r] == 'E') && exclude_soe)) {
+ proj->_rout.Insert(r);
+ }
+ }
+ }
+}
+
+
//------------------------------sched_call-------------------------------------
uint Block::sched_call( Matcher &matcher, Block_Array &bbs, uint node_cnt, Node_List &worklist, int *ready_cnt, MachCallNode *mcall, VectorSet &next_call ) {
RegMask regs;
@@ -631,17 +647,7 @@ uint Block::sched_call( Matcher &matcher, Block_Array &bbs, uint node_cnt, Node_
proj->_rout.OR(Matcher::method_handle_invoke_SP_save_mask());
}
- // Fill in the kill mask for the call
- for( OptoReg::Name r = OptoReg::Name(0); r < _last_Mach_Reg; r=OptoReg::add(r,1) ) {
- if( !regs.Member(r) ) { // Not already defined by the call
- // Save-on-call register?
- if ((save_policy[r] == 'C') ||
- (save_policy[r] == 'A') ||
- ((save_policy[r] == 'E') && exclude_soe)) {
- proj->_rout.Insert(r);
- }
- }
- }
+ add_call_kills(proj, regs, save_policy, exclude_soe);
return node_cnt;
}
@@ -776,6 +782,7 @@ bool Block::schedule_local(PhaseCFG *cfg, Matcher &matcher, int *ready_cnt, Vect
}
#endif
+ uint max_idx = matcher.C->unique();
// Pull from worklist and schedule
while( worklist.size() ) { // Worklist is not ready
@@ -815,11 +822,28 @@ bool Block::schedule_local(PhaseCFG *cfg, Matcher &matcher, int *ready_cnt, Vect
phi_cnt = sched_call(matcher, cfg->_bbs, phi_cnt, worklist, ready_cnt, mcall, next_call);
continue;
}
+
+ if (n->is_Mach() && n->as_Mach()->has_call()) {
+ RegMask regs;
+ regs.Insert(matcher.c_frame_pointer());
+ regs.OR(n->out_RegMask());
+
+ MachProjNode *proj = new (matcher.C, 1) MachProjNode( n, 1, RegMask::Empty, MachProjNode::fat_proj );
+ cfg->_bbs.map(proj->_idx,this);
+ _nodes.insert(phi_cnt++, proj);
+
+ add_call_kills(proj, regs, matcher._c_reg_save_policy, false);
+ }
+
// Children are now all ready
for (DUIterator_Fast i5max, i5 = n->fast_outs(i5max); i5 < i5max; i5++) {
Node* m = n->fast_out(i5); // Get user
if( cfg->_bbs[m->_idx] != this ) continue;
if( m->is_Phi() ) continue;
+ if (m->_idx > max_idx) { // new node, skip it
+ assert(m->is_MachProj() && n->is_Mach() && n->as_Mach()->has_call(), "unexpected node types");
+ continue;
+ }
if( !--ready_cnt[m->_idx] )
worklist.push(m);
}
diff --git a/hotspot/src/share/vm/opto/library_call.cpp b/hotspot/src/share/vm/opto/library_call.cpp
index d5ad00e..ebc3a2d 100644
--- a/hotspot/src/share/vm/opto/library_call.cpp
+++ b/hotspot/src/share/vm/opto/library_call.cpp
@@ -819,7 +819,7 @@ inline Node* LibraryCallKit::generate_limit_guard(Node* offset,
if (stopped())
return NULL; // already stopped
bool zero_offset = _gvn.type(offset) == TypeInt::ZERO;
- if (zero_offset && _gvn.eqv_uncast(subseq_length, array_length))
+ if (zero_offset && subseq_length->eqv_uncast(array_length))
return NULL; // common case of whole-array copy
Node* last = subseq_length;
if (!zero_offset) // last += offset
@@ -2165,8 +2165,7 @@ void LibraryCallKit::insert_g1_pre_barrier(Node* base_oop, Node* offset, Node* p
IdealKit ideal(this);
#define __ ideal.
- const int reference_type_offset = instanceKlass::reference_type_offset_in_bytes() +
- sizeof(oopDesc);
+ const int reference_type_offset = in_bytes(instanceKlass::reference_type_offset());
Node* referent_off = __ ConX(java_lang_ref_Reference::referent_offset);
@@ -2806,8 +2805,10 @@ bool LibraryCallKit::inline_unsafe_allocate() {
// Note: The argument might still be an illegal value like
// Serializable.class or Object[].class. The runtime will handle it.
// But we must make an explicit check for initialization.
- Node* insp = basic_plus_adr(kls, instanceKlass::init_state_offset_in_bytes() + sizeof(oopDesc));
- Node* inst = make_load(NULL, insp, TypeInt::INT, T_INT);
+ Node* insp = basic_plus_adr(kls, in_bytes(instanceKlass::init_state_offset()));
+ // Use T_BOOLEAN for instanceKlass::_init_state so the compiler
+ // can generate code to load it as unsigned byte.
+ Node* inst = make_load(NULL, insp, TypeInt::UBYTE, T_BOOLEAN);
Node* bits = intcon(instanceKlass::fully_initialized);
Node* test = _gvn.transform( new (C, 3) SubINode(inst, bits) );
// The 'test' is non-zero if we need to take a slow path.
@@ -2954,7 +2955,7 @@ bool LibraryCallKit::inline_native_isInterrupted() {
//---------------------------load_mirror_from_klass----------------------------
// Given a klass oop, load its java mirror (a java.lang.Class oop).
Node* LibraryCallKit::load_mirror_from_klass(Node* klass) {
- Node* p = basic_plus_adr(klass, Klass::java_mirror_offset_in_bytes() + sizeof(oopDesc));
+ Node* p = basic_plus_adr(klass, in_bytes(Klass::java_mirror_offset()));
return make_load(NULL, p, TypeInstPtr::MIRROR, T_OBJECT);
}
@@ -2994,7 +2995,7 @@ Node* LibraryCallKit::load_klass_from_mirror_common(Node* mirror,
Node* LibraryCallKit::generate_access_flags_guard(Node* kls, int modifier_mask, int modifier_bits, RegionNode* region) {
// Branch around if the given klass has the given modifier bit set.
// Like generate_guard, adds a new path onto the region.
- Node* modp = basic_plus_adr(kls, Klass::access_flags_offset_in_bytes() + sizeof(oopDesc));
+ Node* modp = basic_plus_adr(kls, in_bytes(Klass::access_flags_offset()));
Node* mods = make_load(NULL, modp, TypeInt::INT, T_INT);
Node* mask = intcon(modifier_mask);
Node* bits = intcon(modifier_bits);
@@ -3115,7 +3116,7 @@ bool LibraryCallKit::inline_native_Class_query(vmIntrinsics::ID id) {
break;
case vmIntrinsics::_getModifiers:
- p = basic_plus_adr(kls, Klass::modifier_flags_offset_in_bytes() + sizeof(oopDesc));
+ p = basic_plus_adr(kls, in_bytes(Klass::modifier_flags_offset()));
query_value = make_load(NULL, p, TypeInt::INT, T_INT);
break;
@@ -3155,7 +3156,7 @@ bool LibraryCallKit::inline_native_Class_query(vmIntrinsics::ID id) {
// A guard was added. If the guard is taken, it was an array.
phi->add_req(makecon(TypeInstPtr::make(env()->Object_klass()->java_mirror())));
// If we fall through, it's a plain class. Get its _super.
- p = basic_plus_adr(kls, Klass::super_offset_in_bytes() + sizeof(oopDesc));
+ p = basic_plus_adr(kls, in_bytes(Klass::super_offset()));
kls = _gvn.transform( LoadKlassNode::make(_gvn, immutable_memory(), p, TypeRawPtr::BOTTOM, TypeKlassPtr::OBJECT_OR_NULL) );
null_ctl = top();
kls = null_check_oop(kls, &null_ctl);
@@ -3173,7 +3174,7 @@ bool LibraryCallKit::inline_native_Class_query(vmIntrinsics::ID id) {
if (generate_array_guard(kls, region) != NULL) {
// Be sure to pin the oop load to the guard edge just created:
Node* is_array_ctrl = region->in(region->req()-1);
- Node* cma = basic_plus_adr(kls, in_bytes(arrayKlass::component_mirror_offset()) + sizeof(oopDesc));
+ Node* cma = basic_plus_adr(kls, in_bytes(arrayKlass::component_mirror_offset()));
Node* cmo = make_load(is_array_ctrl, cma, TypeInstPtr::MIRROR, T_OBJECT);
phi->add_req(cmo);
}
@@ -3181,7 +3182,7 @@ bool LibraryCallKit::inline_native_Class_query(vmIntrinsics::ID id) {
break;
case vmIntrinsics::_getClassAccessFlags:
- p = basic_plus_adr(kls, Klass::access_flags_offset_in_bytes() + sizeof(oopDesc));
+ p = basic_plus_adr(kls, in_bytes(Klass::access_flags_offset()));
query_value = make_load(NULL, p, TypeInt::INT, T_INT);
break;
@@ -4194,12 +4195,17 @@ void LibraryCallKit::copy_to_clone(Node* obj, Node* alloc_obj, Node* obj_size, b
Node* raw_obj = alloc_obj->in(1);
assert(alloc_obj->is_CheckCastPP() && raw_obj->is_Proj() && raw_obj->in(0)->is_Allocate(), "");
+ AllocateNode* alloc = NULL;
if (ReduceBulkZeroing) {
// We will be completely responsible for initializing this object -
// mark Initialize node as complete.
- AllocateNode* alloc = AllocateNode::Ideal_allocation(alloc_obj, &_gvn);
+ alloc = AllocateNode::Ideal_allocation(alloc_obj, &_gvn);
// The object was just allocated - there should be no any stores!
guarantee(alloc != NULL && alloc->maybe_set_complete(&_gvn), "");
+ // Mark as complete_with_arraycopy so that on AllocateNode
+ // expansion, we know this AllocateNode is initialized by an array
+ // copy and a StoreStore barrier exists after the array copy.
+ alloc->initialization()->set_complete_with_arraycopy();
}
// Copy the fastest available way.
@@ -4261,7 +4267,18 @@ void LibraryCallKit::copy_to_clone(Node* obj, Node* alloc_obj, Node* obj_size, b
}
// Do not let reads from the cloned object float above the arraycopy.
- insert_mem_bar(Op_MemBarCPUOrder);
+ if (alloc != NULL) {
+ // Do not let stores that initialize this object be reordered with
+ // a subsequent store that would make this object accessible by
+ // other threads.
+ // Record what AllocateNode this StoreStore protects so that
+ // escape analysis can go from the MemBarStoreStoreNode to the
+ // AllocateNode and eliminate the MemBarStoreStoreNode if possible
+ // based on the escape status of the AllocateNode.
+ insert_mem_bar(Op_MemBarStoreStore, alloc->proj_out(AllocateNode::RawAddress));
+ } else {
+ insert_mem_bar(Op_MemBarCPUOrder);
+ }
}
//------------------------inline_native_clone----------------------------
@@ -4650,7 +4667,7 @@ LibraryCallKit::generate_arraycopy(const TypePtr* adr_type,
if (ReduceBulkZeroing
&& !ZeroTLAB // pointless if already zeroed
&& basic_elem_type != T_CONFLICT // avoid corner case
- && !_gvn.eqv_uncast(src, dest)
+ && !src->eqv_uncast(dest)
&& ((alloc = tightly_coupled_allocation(dest, slow_region))
!= NULL)
&& _gvn.find_int_con(alloc->in(AllocateNode::ALength), 1) > 0
@@ -4728,7 +4745,7 @@ LibraryCallKit::generate_arraycopy(const TypePtr* adr_type,
// copy_length is 0.
if (!stopped() && dest_uninitialized) {
Node* dest_length = alloc->in(AllocateNode::ALength);
- if (_gvn.eqv_uncast(copy_length, dest_length)
+ if (copy_length->eqv_uncast(dest_length)
|| _gvn.find_int_con(dest_length, 1) <= 0) {
// There is no zeroing to do. No need for a secondary raw memory barrier.
} else {
@@ -4774,7 +4791,7 @@ LibraryCallKit::generate_arraycopy(const TypePtr* adr_type,
// with its attendant messy index arithmetic, and upgrade
// the copy to a more hardware-friendly word size of 64 bits.
Node* tail_ctl = NULL;
- if (!stopped() && !_gvn.eqv_uncast(dest_tail, dest_length)) {
+ if (!stopped() && !dest_tail->eqv_uncast(dest_length)) {
Node* cmp_lt = _gvn.transform( new(C,3) CmpINode(dest_tail, dest_length) );
Node* bol_lt = _gvn.transform( new(C,2) BoolNode(cmp_lt, BoolTest::lt) );
tail_ctl = generate_slow_guard(bol_lt, NULL);
@@ -4857,7 +4874,7 @@ LibraryCallKit::generate_arraycopy(const TypePtr* adr_type,
PreserveJVMState pjvms(this);
set_control(not_subtype_ctrl);
// (At this point we can assume disjoint_bases, since types differ.)
- int ek_offset = objArrayKlass::element_klass_offset_in_bytes() + sizeof(oopDesc);
+ int ek_offset = in_bytes(objArrayKlass::element_klass_offset());
Node* p1 = basic_plus_adr(dest_klass, ek_offset);
Node* n1 = LoadKlassNode::make(_gvn, immutable_memory(), p1, TypeRawPtr::BOTTOM);
Node* dest_elem_klass = _gvn.transform(n1);
@@ -5004,7 +5021,16 @@ LibraryCallKit::generate_arraycopy(const TypePtr* adr_type,
// the membar also.
//
// Do not let reads from the cloned object float above the arraycopy.
- if (InsertMemBarAfterArraycopy || alloc != NULL)
+ if (alloc != NULL) {
+ // Do not let stores that initialize this object be reordered with
+ // a subsequent store that would make this object accessible by
+ // other threads.
+ // Record what AllocateNode this StoreStore protects so that
+ // escape analysis can go from the MemBarStoreStoreNode to the
+ // AllocateNode and eliminate the MemBarStoreStoreNode if possible
+ // based on the escape status of the AllocateNode.
+ insert_mem_bar(Op_MemBarStoreStore, alloc->proj_out(AllocateNode::RawAddress));
+ } else if (InsertMemBarAfterArraycopy)
insert_mem_bar(Op_MemBarCPUOrder);
}
@@ -5308,7 +5334,7 @@ LibraryCallKit::generate_checkcast_arraycopy(const TypePtr* adr_type,
// for the target array. This is an optimistic check. It will
// look in each non-null element's class, at the desired klass's
// super_check_offset, for the desired klass.
- int sco_offset = Klass::super_check_offset_offset_in_bytes() + sizeof(oopDesc);
+ int sco_offset = in_bytes(Klass::super_check_offset_offset());
Node* p3 = basic_plus_adr(dest_elem_klass, sco_offset);
Node* n3 = new(C, 3) LoadINode(NULL, memory(p3), p3, _gvn.type(p3)->is_ptr());
Node* check_offset = ConvI2X(_gvn.transform(n3));
diff --git a/hotspot/src/share/vm/opto/locknode.cpp b/hotspot/src/share/vm/opto/locknode.cpp
index 23a594e..4147ed3 100644
--- a/hotspot/src/share/vm/opto/locknode.cpp
+++ b/hotspot/src/share/vm/opto/locknode.cpp
@@ -49,18 +49,22 @@ BoxLockNode::BoxLockNode( int slot ) : Node( Compile::current()->root() ),
//-----------------------------hash--------------------------------------------
uint BoxLockNode::hash() const {
+ if (EliminateNestedLocks)
+ return NO_HASH; // Each locked region has own BoxLock node
return Node::hash() + _slot + (_is_eliminated ? Compile::current()->fixed_slots() : 0);
}
//------------------------------cmp--------------------------------------------
uint BoxLockNode::cmp( const Node &n ) const {
+ if (EliminateNestedLocks)
+ return (&n == this); // Always fail except on self
const BoxLockNode &bn = (const BoxLockNode &)n;
return bn._slot == _slot && bn._is_eliminated == _is_eliminated;
}
-OptoReg::Name BoxLockNode::stack_slot(Node* box_node) {
- // Chase down the BoxNode
- while (!box_node->is_BoxLock()) {
+BoxLockNode* BoxLockNode::box_node(Node* box) {
+ // Chase down the BoxNode after RA which may spill box nodes.
+ while (!box->is_BoxLock()) {
// if (box_node->is_SpillCopy()) {
// Node *m = box_node->in(1);
// if (m->is_Mach() && m->as_Mach()->ideal_Opcode() == Op_StoreP) {
@@ -68,10 +72,64 @@ OptoReg::Name BoxLockNode::stack_slot(Node* box_node) {
// continue;
// }
// }
- assert(box_node->is_SpillCopy() || box_node->is_Phi(), "Bad spill of Lock.");
- box_node = box_node->in(1);
+ assert(box->is_SpillCopy() || box->is_Phi(), "Bad spill of Lock.");
+ // Only BoxLock nodes with the same stack slot are merged.
+ // So it is enough to trace one path to find the slot value.
+ box = box->in(1);
}
- return box_node->in_RegMask(0).find_first_elem();
+ return box->as_BoxLock();
+}
+
+OptoReg::Name BoxLockNode::reg(Node* box) {
+ return box_node(box)->in_RegMask(0).find_first_elem();
+}
+
+// Is BoxLock node used for one simple lock region (same box and obj)?
+bool BoxLockNode::is_simple_lock_region(LockNode** unique_lock, Node* obj) {
+ LockNode* lock = NULL;
+ bool has_one_lock = false;
+ for (uint i = 0; i < this->outcnt(); i++) {
+ Node* n = this->raw_out(i);
+ assert(!n->is_Phi(), "should not merge BoxLock nodes");
+ if (n->is_AbstractLock()) {
+ AbstractLockNode* alock = n->as_AbstractLock();
+ // Check lock's box since box could be referenced by Lock's debug info.
+ if (alock->box_node() == this) {
+ if (alock->obj_node()->eqv_uncast(obj)) {
+ if ((unique_lock != NULL) && alock->is_Lock()) {
+ if (lock == NULL) {
+ lock = alock->as_Lock();
+ has_one_lock = true;
+ } else if (lock != alock->as_Lock()) {
+ has_one_lock = false;
+ }
+ }
+ } else {
+ return false; // Different objects
+ }
+ }
+ }
+ }
+#ifdef ASSERT
+ // Verify that FastLock and Safepoint reference only this lock region.
+ for (uint i = 0; i < this->outcnt(); i++) {
+ Node* n = this->raw_out(i);
+ if (n->is_FastLock()) {
+ FastLockNode* flock = n->as_FastLock();
+ assert((flock->box_node() == this) && flock->obj_node()->eqv_uncast(obj),"");
+ }
+ // Don't check monitor info in safepoints since the referenced object could
+ // be different from the locked object. It could be Phi node of different
+ // cast nodes which point to this locked object.
+ // We assume that no other objects could be referenced in monitor info
+ // associated with this BoxLock node because all associated locks and
+ // unlocks are reference only this one object.
+ }
+#endif
+ if (unique_lock != NULL && has_one_lock) {
+ *unique_lock = lock;
+ }
+ return true;
}
//=============================================================================
diff --git a/hotspot/src/share/vm/opto/locknode.hpp b/hotspot/src/share/vm/opto/locknode.hpp
index 05630e2..91b99bc 100644
--- a/hotspot/src/share/vm/opto/locknode.hpp
+++ b/hotspot/src/share/vm/opto/locknode.hpp
@@ -49,11 +49,11 @@
//------------------------------BoxLockNode------------------------------------
class BoxLockNode : public Node {
-public:
- const int _slot;
- RegMask _inmask;
- bool _is_eliminated; // indicates this lock was safely eliminated
+ const int _slot; // stack slot
+ RegMask _inmask; // OptoReg corresponding to stack slot
+ bool _is_eliminated; // Associated locks were safely eliminated
+public:
BoxLockNode( int lock );
virtual int Opcode() const;
virtual void emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const;
@@ -66,11 +66,19 @@ public:
virtual const class Type *bottom_type() const { return TypeRawPtr::BOTTOM; }
virtual uint ideal_reg() const { return Op_RegP; }
- static OptoReg::Name stack_slot(Node* box_node);
+ static OptoReg::Name reg(Node* box_node);
+ static BoxLockNode* box_node(Node* box_node);
+ static bool same_slot(Node* box1, Node* box2) {
+ return box1->as_BoxLock()->_slot == box2->as_BoxLock()->_slot;
+ }
+ int stack_slot() const { return _slot; }
- bool is_eliminated() { return _is_eliminated; }
+ bool is_eliminated() const { return _is_eliminated; }
// mark lock as eliminated.
- void set_eliminated() { _is_eliminated = true; }
+ void set_eliminated() { _is_eliminated = true; }
+
+ // Is BoxLock node used for one simple lock region?
+ bool is_simple_lock_region(LockNode** unique_lock, Node* obj);
#ifndef PRODUCT
virtual void format( PhaseRegAlloc *, outputStream *st ) const;
@@ -91,6 +99,7 @@ public:
}
Node* obj_node() const { return in(1); }
Node* box_node() const { return in(2); }
+ void set_box_node(Node* box) { set_req(2, box); }
// FastLock and FastUnlockNode do not hash, we need one for each correspoding
// LockNode/UnLockNode to avoid creating Phi's.
diff --git a/hotspot/src/share/vm/opto/loopnode.cpp b/hotspot/src/share/vm/opto/loopnode.cpp
index 3bd04ad..6c7b8ed 100644
--- a/hotspot/src/share/vm/opto/loopnode.cpp
+++ b/hotspot/src/share/vm/opto/loopnode.cpp
@@ -715,7 +715,6 @@ Node* PhaseIdealLoop::exact_limit( IdealLoopTree *loop ) {
long limit_con = cl->limit()->get_int();
julong trip_cnt = cl->trip_count();
long final_con = init_con + trip_cnt*stride_con;
- final_con -= stride_con;
int final_int = (int)final_con;
// The final value should be in integer range since the loop
// is counted and the limit was checked for overflow.
@@ -1947,7 +1946,7 @@ void PhaseIdealLoop::build_and_optimize(bool do_split_ifs, bool skip_loop_opts)
}
// Nothing to do, so get out
- if( !C->has_loops() && !do_split_ifs && !_verify_me && !_verify_only ) {
+ if( !C->has_loops() && !skip_loop_opts && !do_split_ifs && !_verify_me && !_verify_only ) {
_igvn.optimize(); // Cleanup NeverBranches
return;
}
@@ -3279,16 +3278,7 @@ void PhaseIdealLoop::build_loop_late_post( Node *n ) {
#ifdef ASSERT
if (legal->is_Start() && !early->is_Root()) {
// Bad graph. Print idom path and fail.
- tty->print_cr( "Bad graph detected in build_loop_late");
- tty->print("n: ");n->dump(); tty->cr();
- tty->print("early: ");early->dump(); tty->cr();
- int ct = 0;
- Node *dbg_legal = LCA;
- while(!dbg_legal->is_Start() && ct < 100) {
- tty->print("idom[%d] ",ct); dbg_legal->dump(); tty->cr();
- ct++;
- dbg_legal = idom(dbg_legal);
- }
+ dump_bad_graph(n, early, LCA);
assert(false, "Bad graph detected in build_loop_late");
}
#endif
@@ -3338,6 +3328,88 @@ void PhaseIdealLoop::build_loop_late_post( Node *n ) {
chosen_loop->_body.push(n);// Collect inner loops
}
+#ifdef ASSERT
+void PhaseIdealLoop::dump_bad_graph(Node* n, Node* early, Node* LCA) {
+ tty->print_cr( "Bad graph detected in build_loop_late");
+ tty->print("n: "); n->dump();
+ tty->print("early(n): "); early->dump();
+ if (n->in(0) != NULL && !n->in(0)->is_top() &&
+ n->in(0) != early && !n->in(0)->is_Root()) {
+ tty->print("n->in(0): "); n->in(0)->dump();
+ }
+ for (uint i = 1; i < n->req(); i++) {
+ Node* in1 = n->in(i);
+ if (in1 != NULL && in1 != n && !in1->is_top()) {
+ tty->print("n->in(%d): ", i); in1->dump();
+ Node* in1_early = get_ctrl(in1);
+ tty->print("early(n->in(%d)): ", i); in1_early->dump();
+ if (in1->in(0) != NULL && !in1->in(0)->is_top() &&
+ in1->in(0) != in1_early && !in1->in(0)->is_Root()) {
+ tty->print("n->in(%d)->in(0): ", i); in1->in(0)->dump();
+ }
+ for (uint j = 1; j < in1->req(); j++) {
+ Node* in2 = in1->in(j);
+ if (in2 != NULL && in2 != n && in2 != in1 && !in2->is_top()) {
+ tty->print("n->in(%d)->in(%d): ", i, j); in2->dump();
+ Node* in2_early = get_ctrl(in2);
+ tty->print("early(n->in(%d)->in(%d)): ", i, j); in2_early->dump();
+ if (in2->in(0) != NULL && !in2->in(0)->is_top() &&
+ in2->in(0) != in2_early && !in2->in(0)->is_Root()) {
+ tty->print("n->in(%d)->in(%d)->in(0): ", i, j); in2->in(0)->dump();
+ }
+ }
+ }
+ }
+ }
+ tty->cr();
+ tty->print("LCA(n): "); LCA->dump();
+ for (uint i = 0; i < n->outcnt(); i++) {
+ Node* u1 = n->raw_out(i);
+ if (u1 == n)
+ continue;
+ tty->print("n->out(%d): ", i); u1->dump();
+ if (u1->is_CFG()) {
+ for (uint j = 0; j < u1->outcnt(); j++) {
+ Node* u2 = u1->raw_out(j);
+ if (u2 != u1 && u2 != n && u2->is_CFG()) {
+ tty->print("n->out(%d)->out(%d): ", i, j); u2->dump();
+ }
+ }
+ } else {
+ Node* u1_later = get_ctrl(u1);
+ tty->print("later(n->out(%d)): ", i); u1_later->dump();
+ if (u1->in(0) != NULL && !u1->in(0)->is_top() &&
+ u1->in(0) != u1_later && !u1->in(0)->is_Root()) {
+ tty->print("n->out(%d)->in(0): ", i); u1->in(0)->dump();
+ }
+ for (uint j = 0; j < u1->outcnt(); j++) {
+ Node* u2 = u1->raw_out(j);
+ if (u2 == n || u2 == u1)
+ continue;
+ tty->print("n->out(%d)->out(%d): ", i, j); u2->dump();
+ if (!u2->is_CFG()) {
+ Node* u2_later = get_ctrl(u2);
+ tty->print("later(n->out(%d)->out(%d)): ", i, j); u2_later->dump();
+ if (u2->in(0) != NULL && !u2->in(0)->is_top() &&
+ u2->in(0) != u2_later && !u2->in(0)->is_Root()) {
+ tty->print("n->out(%d)->in(0): ", i); u2->in(0)->dump();
+ }
+ }
+ }
+ }
+ }
+ tty->cr();
+ int ct = 0;
+ Node *dbg_legal = LCA;
+ while(!dbg_legal->is_Start() && ct < 100) {
+ tty->print("idom[%d] ",ct); dbg_legal->dump();
+ ct++;
+ dbg_legal = idom(dbg_legal);
+ }
+ tty->cr();
+}
+#endif
+
#ifndef PRODUCT
//------------------------------dump-------------------------------------------
void PhaseIdealLoop::dump( ) const {
diff --git a/hotspot/src/share/vm/opto/loopnode.hpp b/hotspot/src/share/vm/opto/loopnode.hpp
index 9b4c38a..d2ea556 100644
--- a/hotspot/src/share/vm/opto/loopnode.hpp
+++ b/hotspot/src/share/vm/opto/loopnode.hpp
@@ -1040,6 +1040,10 @@ public:
bool created_loop_node() { return _created_loop_node; }
void register_new_node( Node *n, Node *blk );
+#ifdef ASSERT
+void dump_bad_graph(Node* n, Node* early, Node* LCA);
+#endif
+
#ifndef PRODUCT
void dump( ) const;
void dump( IdealLoopTree *loop, uint rpo_idx, Node_List &rpo_list ) const;
diff --git a/hotspot/src/share/vm/opto/loopopts.cpp b/hotspot/src/share/vm/opto/loopopts.cpp
index 93c1819..e93fb4d 100644
--- a/hotspot/src/share/vm/opto/loopopts.cpp
+++ b/hotspot/src/share/vm/opto/loopopts.cpp
@@ -819,6 +819,8 @@ void PhaseIdealLoop::split_if_with_blocks_post( Node *n ) {
if( iff->is_If() ) { // Classic split-if?
if( iff->in(0) != n_ctrl ) return; // Compare must be in same blk as if
} else if (iff->is_CMove()) { // Trying to split-up a CMOVE
+ // Can't split CMove with different control edge.
+ if (iff->in(0) != NULL && iff->in(0) != n_ctrl ) return;
if( get_ctrl(iff->in(2)) == n_ctrl ||
get_ctrl(iff->in(3)) == n_ctrl )
return; // Inputs not yet split-up
@@ -937,7 +939,7 @@ void PhaseIdealLoop::split_if_with_blocks_post( Node *n ) {
}
bool did_break = (i < imax); // Did we break out of the previous loop?
if (!did_break && n->outcnt() > 1) { // All uses in outer loops!
- Node *late_load_ctrl;
+ Node *late_load_ctrl = NULL;
if (n->is_Load()) {
// If n is a load, get and save the result from get_late_ctrl(),
// to be later used in calculating the control for n's clones.
diff --git a/hotspot/src/share/vm/opto/machnode.cpp b/hotspot/src/share/vm/opto/machnode.cpp
index 95ee4bf..7bc5877 100644
--- a/hotspot/src/share/vm/opto/machnode.cpp
+++ b/hotspot/src/share/vm/opto/machnode.cpp
@@ -480,21 +480,20 @@ void MachTypeNode::dump_spec(outputStream *st) const {
//=============================================================================
int MachConstantNode::constant_offset() {
- int offset = _constant.offset();
// Bind the offset lazily.
- if (offset == -1) {
+ if (_constant.offset() == -1) {
Compile::ConstantTable& constant_table = Compile::current()->constant_table();
- // If called from Compile::scratch_emit_size assume the worst-case
- // for load offsets: half the constant table size.
- // NOTE: Don't return or calculate the actual offset (which might
- // be zero) because that leads to problems with e.g. jumpXtnd on
- // some architectures (cf. add-optimization in SPARC jumpXtnd).
- if (Compile::current()->in_scratch_emit_size())
- return constant_table.size() / 2;
- offset = constant_table.table_base_offset() + constant_table.find_offset(_constant);
- _constant.set_offset(offset);
+ int offset = constant_table.find_offset(_constant);
+ // If called from Compile::scratch_emit_size return the
+ // pre-calculated offset.
+ // NOTE: If the AD file does some table base offset optimizations
+ // later the AD file needs to take care of this fact.
+ if (Compile::current()->in_scratch_emit_size()) {
+ return constant_table.calculate_table_base_offset() + offset;
+ }
+ _constant.set_offset(constant_table.table_base_offset() + offset);
}
- return offset;
+ return _constant.offset();
}
diff --git a/hotspot/src/share/vm/opto/machnode.hpp b/hotspot/src/share/vm/opto/machnode.hpp
index c44c8d0..566e031 100644
--- a/hotspot/src/share/vm/opto/machnode.hpp
+++ b/hotspot/src/share/vm/opto/machnode.hpp
@@ -190,6 +190,9 @@ public:
// Avoid back to back some instructions on some CPUs.
bool avoid_back_to_back() const { return (flags() & Flag_avoid_back_to_back) != 0; }
+ // instruction implemented with a call
+ bool has_call() const { return (flags() & Flag_has_call) != 0; }
+
// First index in _in[] corresponding to operand, or -1 if there is none
int operand_index(uint operand) const;
diff --git a/hotspot/src/share/vm/opto/macro.cpp b/hotspot/src/share/vm/opto/macro.cpp
index b5f6453..adcf8e4 100644
--- a/hotspot/src/share/vm/opto/macro.cpp
+++ b/hotspot/src/share/vm/opto/macro.cpp
@@ -81,7 +81,7 @@ void PhaseMacroExpand::copy_call_debug_info(CallNode *oldcall, CallNode * newcal
uint old_unique = C->unique();
Node* new_in = old_sosn->clone(jvms_adj, sosn_map);
if (old_unique != C->unique()) {
- new_in->set_req(0, newcall->in(0)); // reset control edge
+ new_in->set_req(0, C->root()); // reset control edge
new_in = transform_later(new_in); // Register new node.
}
old_in = new_in;
@@ -565,7 +565,6 @@ bool PhaseMacroExpand::can_eliminate_allocation(AllocateNode *alloc, GrowableArr
if (res == NULL) {
// All users were eliminated.
} else if (!res->is_CheckCastPP()) {
- alloc->_is_scalar_replaceable = false; // don't try again
NOT_PRODUCT(fail_eliminate = "Allocation does not have unique CheckCastPP";)
can_eliminate = false;
} else {
@@ -719,7 +718,7 @@ bool PhaseMacroExpand::scalar_replacement(AllocateNode *alloc, GrowableArray <Sa
alloc,
#endif
first_ind, nfields);
- sobj->init_req(0, sfpt->in(TypeFunc::Control));
+ sobj->init_req(0, C->root());
transform_later(sobj);
// Scan object's fields adding an input to the safepoint for each field.
@@ -762,10 +761,10 @@ bool PhaseMacroExpand::scalar_replacement(AllocateNode *alloc, GrowableArray <Sa
Node *field_val = value_from_mem(mem, basic_elem_type, field_type, field_addr_type, alloc);
if (field_val == NULL) {
- // we weren't able to find a value for this field,
- // give up on eliminating this allocation
- alloc->_is_scalar_replaceable = false; // don't try again
- // remove any extra entries we added to the safepoint
+ // We weren't able to find a value for this field,
+ // give up on eliminating this allocation.
+
+ // Remove any extra entries we added to the safepoint.
uint last = sfpt->req() - 1;
for (int k = 0; k < j; k++) {
sfpt->del_req(last--);
@@ -1089,6 +1088,12 @@ void PhaseMacroExpand::expand_allocate_common(
Node* klass_node = alloc->in(AllocateNode::KlassNode);
Node* initial_slow_test = alloc->in(AllocateNode::InitialTest);
+ Node* storestore = alloc->storestore();
+ if (storestore != NULL) {
+ // Break this link that is no longer useful and confuses register allocation
+ storestore->set_req(MemBarNode::Precedent, top());
+ }
+
assert(ctrl != NULL, "must have control");
// We need a Region and corresponding Phi's to merge the slow-path and fast-path results.
// they will not be used if "always_slow" is set
@@ -1290,10 +1295,66 @@ void PhaseMacroExpand::expand_allocate_common(
0, new_alloc_bytes, T_LONG);
}
+ InitializeNode* init = alloc->initialization();
fast_oop_rawmem = initialize_object(alloc,
fast_oop_ctrl, fast_oop_rawmem, fast_oop,
klass_node, length, size_in_bytes);
+ // If initialization is performed by an array copy, any required
+ // MemBarStoreStore was already added. If the object does not
+ // escape no need for a MemBarStoreStore. Otherwise we need a
+ // MemBarStoreStore so that stores that initialize this object
+ // can't be reordered with a subsequent store that makes this
+ // object accessible by other threads.
+ if (init == NULL || (!init->is_complete_with_arraycopy() && !init->does_not_escape())) {
+ if (init == NULL || init->req() < InitializeNode::RawStores) {
+ // No InitializeNode or no stores captured by zeroing
+ // elimination. Simply add the MemBarStoreStore after object
+ // initialization.
+ MemBarNode* mb = MemBarNode::make(C, Op_MemBarStoreStore, Compile::AliasIdxBot, fast_oop_rawmem);
+ transform_later(mb);
+
+ mb->init_req(TypeFunc::Memory, fast_oop_rawmem);
+ mb->init_req(TypeFunc::Control, fast_oop_ctrl);
+ fast_oop_ctrl = new (C, 1) ProjNode(mb,TypeFunc::Control);
+ transform_later(fast_oop_ctrl);
+ fast_oop_rawmem = new (C, 1) ProjNode(mb,TypeFunc::Memory);
+ transform_later(fast_oop_rawmem);
+ } else {
+ // Add the MemBarStoreStore after the InitializeNode so that
+ // all stores performing the initialization that were moved
+ // before the InitializeNode happen before the storestore
+ // barrier.
+
+ Node* init_ctrl = init->proj_out(TypeFunc::Control);
+ Node* init_mem = init->proj_out(TypeFunc::Memory);
+
+ MemBarNode* mb = MemBarNode::make(C, Op_MemBarStoreStore, Compile::AliasIdxBot);
+ transform_later(mb);
+
+ Node* ctrl = new (C, 1) ProjNode(init,TypeFunc::Control);
+ transform_later(ctrl);
+ Node* mem = new (C, 1) ProjNode(init,TypeFunc::Memory);
+ transform_later(mem);
+
+ // The MemBarStoreStore depends on control and memory coming
+ // from the InitializeNode
+ mb->init_req(TypeFunc::Memory, mem);
+ mb->init_req(TypeFunc::Control, ctrl);
+
+ ctrl = new (C, 1) ProjNode(mb,TypeFunc::Control);
+ transform_later(ctrl);
+ mem = new (C, 1) ProjNode(mb,TypeFunc::Memory);
+ transform_later(mem);
+
+ // All nodes that depended on the InitializeNode for control
+ // and memory must now depend on the MemBarNode that itself
+ // depends on the InitializeNode
+ _igvn.replace_node(init_ctrl, ctrl);
+ _igvn.replace_node(init_mem, mem);
+ }
+ }
+
if (C->env()->dtrace_extended_probes()) {
// Slow-path call
int size = TypeFunc::Parms + 2;
@@ -1327,6 +1388,7 @@ void PhaseMacroExpand::expand_allocate_common(
result_phi_rawmem->init_req(fast_result_path, fast_oop_rawmem);
} else {
slow_region = ctrl;
+ result_phi_i_o = i_o; // Rename it to use in the following code.
}
// Generate slow-path call
@@ -1351,6 +1413,10 @@ void PhaseMacroExpand::expand_allocate_common(
copy_call_debug_info((CallNode *) alloc, call);
if (!always_slow) {
call->set_cnt(PROB_UNLIKELY_MAG(4)); // Same effect as RC_UNCOMMON.
+ } else {
+ // Hook i_o projection to avoid its elimination during allocation
+ // replacement (when only a slow call is generated).
+ call->set_req(TypeFunc::I_O, result_phi_i_o);
}
_igvn.replace_node(alloc, call);
transform_later(call);
@@ -1367,8 +1433,10 @@ void PhaseMacroExpand::expand_allocate_common(
//
extract_call_projections(call);
- // An allocate node has separate memory projections for the uses on the control and i_o paths
- // Replace uses of the control memory projection with result_phi_rawmem (unless we are only generating a slow call)
+ // An allocate node has separate memory projections for the uses on
+ // the control and i_o paths. Replace the control memory projection with
+ // result_phi_rawmem (unless we are only generating a slow call when
+ // both memory projections are combined)
if (!always_slow && _memproj_fallthrough != NULL) {
for (DUIterator_Fast imax, i = _memproj_fallthrough->fast_outs(imax); i < imax; i++) {
Node *use = _memproj_fallthrough->fast_out(i);
@@ -1379,8 +1447,8 @@ void PhaseMacroExpand::expand_allocate_common(
--i;
}
}
- // Now change uses of _memproj_catchall to use _memproj_fallthrough and delete _memproj_catchall so
- // we end up with a call that has only 1 memory projection
+ // Now change uses of _memproj_catchall to use _memproj_fallthrough and delete
+ // _memproj_catchall so we end up with a call that has only 1 memory projection.
if (_memproj_catchall != NULL ) {
if (_memproj_fallthrough == NULL) {
_memproj_fallthrough = new (C, 1) ProjNode(call, TypeFunc::Memory);
@@ -1394,17 +1462,18 @@ void PhaseMacroExpand::expand_allocate_common(
// back up iterator
--i;
}
+ assert(_memproj_catchall->outcnt() == 0, "all uses must be deleted");
+ _igvn.remove_dead_node(_memproj_catchall);
}
- // An allocate node has separate i_o projections for the uses on the control and i_o paths
- // Replace uses of the control i_o projection with result_phi_i_o (unless we are only generating a slow call)
- if (_ioproj_fallthrough == NULL) {
- _ioproj_fallthrough = new (C, 1) ProjNode(call, TypeFunc::I_O);
- transform_later(_ioproj_fallthrough);
- } else if (!always_slow) {
+ // An allocate node has separate i_o projections for the uses on the control
+ // and i_o paths. Always replace the control i_o projection with result i_o
+ // otherwise incoming i_o become dead when only a slow call is generated
+ // (it is different from memory projections where both projections are
+ // combined in such case).
+ if (_ioproj_fallthrough != NULL) {
for (DUIterator_Fast imax, i = _ioproj_fallthrough->fast_outs(imax); i < imax; i++) {
Node *use = _ioproj_fallthrough->fast_out(i);
-
_igvn.hash_delete(use);
imax -= replace_input(use, _ioproj_fallthrough, result_phi_i_o);
_igvn._worklist.push(use);
@@ -1412,9 +1481,13 @@ void PhaseMacroExpand::expand_allocate_common(
--i;
}
}
- // Now change uses of _ioproj_catchall to use _ioproj_fallthrough and delete _ioproj_catchall so
- // we end up with a call that has only 1 control projection
+ // Now change uses of _ioproj_catchall to use _ioproj_fallthrough and delete
+ // _ioproj_catchall so we end up with a call that has only 1 i_o projection.
if (_ioproj_catchall != NULL ) {
+ if (_ioproj_fallthrough == NULL) {
+ _ioproj_fallthrough = new (C, 1) ProjNode(call, TypeFunc::I_O);
+ transform_later(_ioproj_fallthrough);
+ }
for (DUIterator_Fast imax, i = _ioproj_catchall->fast_outs(imax); i < imax; i++) {
Node *use = _ioproj_catchall->fast_out(i);
_igvn.hash_delete(use);
@@ -1423,11 +1496,25 @@ void PhaseMacroExpand::expand_allocate_common(
// back up iterator
--i;
}
+ assert(_ioproj_catchall->outcnt() == 0, "all uses must be deleted");
+ _igvn.remove_dead_node(_ioproj_catchall);
}
// if we generated only a slow call, we are done
- if (always_slow)
+ if (always_slow) {
+ // Now we can unhook i_o.
+ if (result_phi_i_o->outcnt() > 1) {
+ call->set_req(TypeFunc::I_O, top());
+ } else {
+ assert(result_phi_i_o->unique_ctrl_out() == call, "");
+ // Case of new array with negative size known during compilation.
+ // AllocateArrayNode::Ideal() optimization disconnect unreachable
+ // following code since call to runtime will throw exception.
+ // As result there will be no users of i_o after the call.
+ // Leave i_o attached to this call to avoid problems in preceding graph.
+ }
return;
+ }
if (_fallthroughcatchproj != NULL) {
@@ -1471,7 +1558,7 @@ PhaseMacroExpand::initialize_object(AllocateNode* alloc,
Node* mark_node = NULL;
// For now only enable fast locking for non-array types
if (UseBiasedLocking && (length == NULL)) {
- mark_node = make_load(control, rawmem, klass_node, Klass::prototype_header_offset_in_bytes() + sizeof(oopDesc), TypeRawPtr::BOTTOM, T_ADDRESS);
+ mark_node = make_load(control, rawmem, klass_node, in_bytes(Klass::prototype_header_offset()), TypeRawPtr::BOTTOM, T_ADDRESS);
} else {
mark_node = makecon(TypeRawPtr::make((address)markOopDesc::prototype()));
}
@@ -1702,7 +1789,8 @@ void PhaseMacroExpand::expand_allocate_array(AllocateArrayNode *alloc) {
slow_call_address);
}
-//-----------------------mark_eliminated_locking_nodes-----------------------
+//-------------------mark_eliminated_box----------------------------------
+//
// During EA obj may point to several objects but after few ideal graph
// transformations (CCP) it may point to only one non escaping object
// (but still using phi), corresponding locks and unlocks will be marked
@@ -1713,62 +1801,148 @@ void PhaseMacroExpand::expand_allocate_array(AllocateArrayNode *alloc) {
// marked for elimination since new obj has no escape information.
// Mark all associated (same box and obj) lock and unlock nodes for
// elimination if some of them marked already.
-void PhaseMacroExpand::mark_eliminated_locking_nodes(AbstractLockNode *alock) {
- if (!alock->is_eliminated()) {
+void PhaseMacroExpand::mark_eliminated_box(Node* oldbox, Node* obj) {
+ if (oldbox->as_BoxLock()->is_eliminated())
+ return; // This BoxLock node was processed already.
+
+ // New implementation (EliminateNestedLocks) has separate BoxLock
+ // node for each locked region so mark all associated locks/unlocks as
+ // eliminated even if different objects are referenced in one locked region
+ // (for example, OSR compilation of nested loop inside locked scope).
+ if (EliminateNestedLocks ||
+ oldbox->as_BoxLock()->is_simple_lock_region(NULL, obj)) {
+ // Box is used only in one lock region. Mark this box as eliminated.
+ _igvn.hash_delete(oldbox);
+ oldbox->as_BoxLock()->set_eliminated(); // This changes box's hash value
+ _igvn.hash_insert(oldbox);
+
+ for (uint i = 0; i < oldbox->outcnt(); i++) {
+ Node* u = oldbox->raw_out(i);
+ if (u->is_AbstractLock() && !u->as_AbstractLock()->is_non_esc_obj()) {
+ AbstractLockNode* alock = u->as_AbstractLock();
+ // Check lock's box since box could be referenced by Lock's debug info.
+ if (alock->box_node() == oldbox) {
+ // Mark eliminated all related locks and unlocks.
+ alock->set_non_esc_obj();
+ }
+ }
+ }
return;
}
- if (!alock->is_coarsened()) { // Eliminated by EA
- // Create new "eliminated" BoxLock node and use it
- // in monitor debug info for the same object.
- BoxLockNode* oldbox = alock->box_node()->as_BoxLock();
- Node* obj = alock->obj_node();
- if (!oldbox->is_eliminated()) {
- BoxLockNode* newbox = oldbox->clone()->as_BoxLock();
+
+ // Create new "eliminated" BoxLock node and use it in monitor debug info
+ // instead of oldbox for the same object.
+ BoxLockNode* newbox = oldbox->clone()->as_BoxLock();
+
+ // Note: BoxLock node is marked eliminated only here and it is used
+ // to indicate that all associated lock and unlock nodes are marked
+ // for elimination.
+ newbox->set_eliminated();
+ transform_later(newbox);
+
+ // Replace old box node with new box for all users of the same object.
+ for (uint i = 0; i < oldbox->outcnt();) {
+ bool next_edge = true;
+
+ Node* u = oldbox->raw_out(i);
+ if (u->is_AbstractLock()) {
+ AbstractLockNode* alock = u->as_AbstractLock();
+ if (alock->box_node() == oldbox && alock->obj_node()->eqv_uncast(obj)) {
+ // Replace Box and mark eliminated all related locks and unlocks.
+ alock->set_non_esc_obj();
+ _igvn.hash_delete(alock);
+ alock->set_box_node(newbox);
+ _igvn._worklist.push(alock);
+ next_edge = false;
+ }
+ }
+ if (u->is_FastLock() && u->as_FastLock()->obj_node()->eqv_uncast(obj)) {
+ FastLockNode* flock = u->as_FastLock();
+ assert(flock->box_node() == oldbox, "sanity");
+ _igvn.hash_delete(flock);
+ flock->set_box_node(newbox);
+ _igvn._worklist.push(flock);
+ next_edge = false;
+ }
+
+ // Replace old box in monitor debug info.
+ if (u->is_SafePoint() && u->as_SafePoint()->jvms()) {
+ SafePointNode* sfn = u->as_SafePoint();
+ JVMState* youngest_jvms = sfn->jvms();
+ int max_depth = youngest_jvms->depth();
+ for (int depth = 1; depth <= max_depth; depth++) {
+ JVMState* jvms = youngest_jvms->of_depth(depth);
+ int num_mon = jvms->nof_monitors();
+ // Loop over monitors
+ for (int idx = 0; idx < num_mon; idx++) {
+ Node* obj_node = sfn->monitor_obj(jvms, idx);
+ Node* box_node = sfn->monitor_box(jvms, idx);
+ if (box_node == oldbox && obj_node->eqv_uncast(obj)) {
+ int j = jvms->monitor_box_offset(idx);
+ _igvn.hash_delete(u);
+ u->set_req(j, newbox);
+ _igvn._worklist.push(u);
+ next_edge = false;
+ }
+ }
+ }
+ }
+ if (next_edge) i++;
+ }
+}
+
+//-----------------------mark_eliminated_locking_nodes-----------------------
+void PhaseMacroExpand::mark_eliminated_locking_nodes(AbstractLockNode *alock) {
+ if (EliminateNestedLocks) {
+ if (alock->is_nested()) {
+ assert(alock->box_node()->as_BoxLock()->is_eliminated(), "sanity");
+ return;
+ } else if (!alock->is_non_esc_obj()) { // Not eliminated or coarsened
+ // Only Lock node has JVMState needed here.
+ if (alock->jvms() != NULL && alock->as_Lock()->is_nested_lock_region()) {
+ // Mark eliminated related nested locks and unlocks.
+ Node* obj = alock->obj_node();
+ BoxLockNode* box_node = alock->box_node()->as_BoxLock();
+ assert(!box_node->is_eliminated(), "should not be marked yet");
// Note: BoxLock node is marked eliminated only here
// and it is used to indicate that all associated lock
// and unlock nodes are marked for elimination.
- newbox->set_eliminated();
- transform_later(newbox);
- // Replace old box node with new box for all users
- // of the same object.
- for (uint i = 0; i < oldbox->outcnt();) {
-
- bool next_edge = true;
- Node* u = oldbox->raw_out(i);
- if (u->is_AbstractLock() &&
- u->as_AbstractLock()->obj_node() == obj &&
- u->as_AbstractLock()->box_node() == oldbox) {
- // Mark all associated locks and unlocks.
- u->as_AbstractLock()->set_eliminated();
- _igvn.hash_delete(u);
- u->set_req(TypeFunc::Parms + 1, newbox);
- next_edge = false;
+ box_node->set_eliminated(); // Box's hash is always NO_HASH here
+ for (uint i = 0; i < box_node->outcnt(); i++) {
+ Node* u = box_node->raw_out(i);
+ if (u->is_AbstractLock()) {
+ alock = u->as_AbstractLock();
+ if (alock->box_node() == box_node) {
+ // Verify that this Box is referenced only by related locks.
+ assert(alock->obj_node()->eqv_uncast(obj), "");
+ // Mark all related locks and unlocks.
+ alock->set_nested();
+ }
}
- // Replace old box in monitor debug info.
- if (u->is_SafePoint() && u->as_SafePoint()->jvms()) {
- SafePointNode* sfn = u->as_SafePoint();
- JVMState* youngest_jvms = sfn->jvms();
- int max_depth = youngest_jvms->depth();
- for (int depth = 1; depth <= max_depth; depth++) {
- JVMState* jvms = youngest_jvms->of_depth(depth);
- int num_mon = jvms->nof_monitors();
- // Loop over monitors
- for (int idx = 0; idx < num_mon; idx++) {
- Node* obj_node = sfn->monitor_obj(jvms, idx);
- Node* box_node = sfn->monitor_box(jvms, idx);
- if (box_node == oldbox && obj_node == obj) {
- int j = jvms->monitor_box_offset(idx);
- _igvn.hash_delete(u);
- u->set_req(j, newbox);
- next_edge = false;
- }
- } // for (int idx = 0;
- } // for (int depth = 1;
- } // if (u->is_SafePoint()
- if (next_edge) i++;
- } // for (uint i = 0; i < oldbox->outcnt();)
- } // if (!oldbox->is_eliminated())
- } // if (!alock->is_coarsened())
+ }
+ }
+ return;
+ }
+ // Process locks for non escaping object
+ assert(alock->is_non_esc_obj(), "");
+ } // EliminateNestedLocks
+
+ if (alock->is_non_esc_obj()) { // Lock is used for non escaping object
+ // Look for all locks of this object and mark them and
+ // corresponding BoxLock nodes as eliminated.
+ Node* obj = alock->obj_node();
+ for (uint j = 0; j < obj->outcnt(); j++) {
+ Node* o = obj->raw_out(j);
+ if (o->is_AbstractLock() &&
+ o->as_AbstractLock()->obj_node()->eqv_uncast(obj)) {
+ alock = o->as_AbstractLock();
+ Node* box = alock->box_node();
+ // Replace old box node with new eliminated box for all users
+ // of the same object and mark related locks as eliminated.
+ mark_eliminated_box(box, obj);
+ }
+ }
+ }
}
// we have determined that this lock/unlock can be eliminated, we simply
@@ -1783,7 +1957,7 @@ bool PhaseMacroExpand::eliminate_locking_node(AbstractLockNode *alock) {
return false;
}
#ifdef ASSERT
- if (alock->is_Lock() && !alock->is_coarsened()) {
+ if (!alock->is_coarsened()) {
// Check that new "eliminated" BoxLock node is created.
BoxLockNode* oldbox = alock->box_node()->as_BoxLock();
assert(oldbox->is_eliminated(), "should be done already");
@@ -1804,9 +1978,9 @@ bool PhaseMacroExpand::eliminate_locking_node(AbstractLockNode *alock) {
#ifndef PRODUCT
if (PrintEliminateLocks) {
if (alock->is_Lock()) {
- tty->print_cr("++++ Eliminating: %d Lock", alock->_idx);
+ tty->print_cr("++++ Eliminated: %d Lock", alock->_idx);
} else {
- tty->print_cr("++++ Eliminating: %d Unlock", alock->_idx);
+ tty->print_cr("++++ Eliminated: %d Unlock", alock->_idx);
}
}
#endif
@@ -1875,6 +2049,8 @@ void PhaseMacroExpand::expand_lock_node(LockNode *lock) {
Node* box = lock->box_node();
Node* flock = lock->fastlock_node();
+ assert(!box->as_BoxLock()->is_eliminated(), "sanity");
+
// Make the merge point
Node *region;
Node *mem_phi;
@@ -1959,7 +2135,7 @@ void PhaseMacroExpand::expand_lock_node(LockNode *lock) {
#endif
klass_node->init_req(0, ctrl);
}
- Node *proto_node = make_load(ctrl, mem, klass_node, Klass::prototype_header_offset_in_bytes() + sizeof(oopDesc), TypeX_X, TypeX_X->basic_type());
+ Node *proto_node = make_load(ctrl, mem, klass_node, in_bytes(Klass::prototype_header_offset()), TypeX_X, TypeX_X->basic_type());
Node* thread = transform_later(new (C, 1) ThreadLocalNode());
Node* cast_thread = transform_later(new (C, 2) CastP2XNode(ctrl, thread));
@@ -2109,6 +2285,8 @@ void PhaseMacroExpand::expand_unlock_node(UnlockNode *unlock) {
Node* obj = unlock->obj_node();
Node* box = unlock->box_node();
+ assert(!box->as_BoxLock()->is_eliminated(), "sanity");
+
// No need for a null check on unlock
// Make the merge point
@@ -2165,11 +2343,12 @@ void PhaseMacroExpand::expand_unlock_node(UnlockNode *unlock) {
_igvn.replace_node(_memproj_fallthrough, mem_phi);
}
-//------------------------------expand_macro_nodes----------------------
-// Returns true if a failure occurred.
-bool PhaseMacroExpand::expand_macro_nodes() {
+//---------------------------eliminate_macro_nodes----------------------
+// Eliminate scalar replaced allocations and associated locks.
+void PhaseMacroExpand::eliminate_macro_nodes() {
if (C->macro_count() == 0)
- return false;
+ return;
+
// First, attempt to eliminate locks
int cnt = C->macro_count();
for (int i=0; i < cnt; i++) {
@@ -2189,14 +2368,6 @@ bool PhaseMacroExpand::expand_macro_nodes() {
debug_only(int old_macro_count = C->macro_count(););
if (n->is_AbstractLock()) {
success = eliminate_locking_node(n->as_AbstractLock());
- } else if (n->Opcode() == Op_LoopLimit) {
- // Remove it from macro list and put on IGVN worklist to optimize.
- C->remove_macro_node(n);
- _igvn._worklist.push(n);
- success = true;
- } else if (n->Opcode() == Op_Opaque1 || n->Opcode() == Op_Opaque2) {
- _igvn.replace_node(n, n->in(1));
- success = true;
}
assert(success == (C->macro_count() < old_macro_count), "elimination reduces macro count");
progress = progress || success;
@@ -2220,18 +2391,50 @@ bool PhaseMacroExpand::expand_macro_nodes() {
assert(!n->as_AbstractLock()->is_eliminated(), "sanity");
break;
default:
- assert(false, "unknown node type in macro list");
+ assert(n->Opcode() == Op_LoopLimit ||
+ n->Opcode() == Op_Opaque1 ||
+ n->Opcode() == Op_Opaque2, "unknown node type in macro list");
}
assert(success == (C->macro_count() < old_macro_count), "elimination reduces macro count");
progress = progress || success;
}
}
+}
+
+//------------------------------expand_macro_nodes----------------------
+// Returns true if a failure occurred.
+bool PhaseMacroExpand::expand_macro_nodes() {
+ // Last attempt to eliminate macro nodes.
+ eliminate_macro_nodes();
+
// Make sure expansion will not cause node limit to be exceeded.
// Worst case is a macro node gets expanded into about 50 nodes.
// Allow 50% more for optimization.
if (C->check_node_count(C->macro_count() * 75, "out of nodes before macro expansion" ) )
return true;
+ // Eliminate Opaque and LoopLimit nodes. Do it after all loop optimizations.
+ bool progress = true;
+ while (progress) {
+ progress = false;
+ for (int i = C->macro_count(); i > 0; i--) {
+ Node * n = C->macro_node(i-1);
+ bool success = false;
+ debug_only(int old_macro_count = C->macro_count(););
+ if (n->Opcode() == Op_LoopLimit) {
+ // Remove it from macro list and put on IGVN worklist to optimize.
+ C->remove_macro_node(n);
+ _igvn._worklist.push(n);
+ success = true;
+ } else if (n->Opcode() == Op_Opaque1 || n->Opcode() == Op_Opaque2) {
+ _igvn.replace_node(n, n->in(1));
+ success = true;
+ }
+ assert(success == (C->macro_count() < old_macro_count), "elimination reduces macro count");
+ progress = progress || success;
+ }
+ }
+
// expand "macro" nodes
// nodes are removed from the macro list as they are processed
while (C->macro_count() > 0) {
@@ -2265,5 +2468,6 @@ bool PhaseMacroExpand::expand_macro_nodes() {
_igvn.set_delay_transform(false);
_igvn.optimize();
+ if (C->failing()) return true;
return false;
}
diff --git a/hotspot/src/share/vm/opto/macro.hpp b/hotspot/src/share/vm/opto/macro.hpp
index b4c6939..f521e3d 100644
--- a/hotspot/src/share/vm/opto/macro.hpp
+++ b/hotspot/src/share/vm/opto/macro.hpp
@@ -92,6 +92,7 @@ private:
void process_users_of_allocation(AllocateNode *alloc);
void eliminate_card_mark(Node *cm);
+ void mark_eliminated_box(Node* box, Node* obj);
void mark_eliminated_locking_nodes(AbstractLockNode *alock);
bool eliminate_locking_node(AbstractLockNode *alock);
void expand_lock_node(LockNode *lock);
@@ -119,6 +120,7 @@ public:
PhaseMacroExpand(PhaseIterGVN &igvn) : Phase(Macro_Expand), _igvn(igvn) {
_igvn.set_delay_transform(true);
}
+ void eliminate_macro_nodes();
bool expand_macro_nodes();
};
diff --git a/hotspot/src/share/vm/opto/matcher.cpp b/hotspot/src/share/vm/opto/matcher.cpp
index 1200d25..3973856 100644
--- a/hotspot/src/share/vm/opto/matcher.cpp
+++ b/hotspot/src/share/vm/opto/matcher.cpp
@@ -1365,31 +1365,36 @@ static bool match_into_reg( const Node *n, Node *m, Node *control, int i, bool s
const Type *t = m->bottom_type();
- if( t->singleton() ) {
+ if (t->singleton()) {
// Never force constants into registers. Allow them to match as
// constants or registers. Copies of the same value will share
// the same register. See find_shared_node.
return false;
} else { // Not a constant
// Stop recursion if they have different Controls.
- // Slot 0 of constants is not really a Control.
- if( control && m->in(0) && control != m->in(0) ) {
+ Node* m_control = m->in(0);
+ // Control of load's memory can post-dominates load's control.
+ // So use it since load can't float above its memory.
+ Node* mem_control = (m->is_Load()) ? m->in(MemNode::Memory)->in(0) : NULL;
+ if (control && m_control && control != m_control && control != mem_control) {
// Actually, we can live with the most conservative control we
// find, if it post-dominates the others. This allows us to
// pick up load/op/store trees where the load can float a little
// above the store.
Node *x = control;
- const uint max_scan = 6; // Arbitrary scan cutoff
+ const uint max_scan = 6; // Arbitrary scan cutoff
uint j;
- for( j=0; j<max_scan; j++ ) {
- if( x->is_Region() ) // Bail out at merge points
+ for (j=0; j<max_scan; j++) {
+ if (x->is_Region()) // Bail out at merge points
return true;
x = x->in(0);
- if( x == m->in(0) ) // Does 'control' post-dominate
+ if (x == m_control) // Does 'control' post-dominate
break; // m->in(0)? If so, we can use it
+ if (x == mem_control) // Does 'control' post-dominate
+ break; // mem_control? If so, we can use it
}
- if( j == max_scan ) // No post-domination before scan end?
+ if (j == max_scan) // No post-domination before scan end?
return true; // Then break the match tree up
}
if (m->is_DecodeN() && Matcher::narrow_oop_use_complex_address()) {
diff --git a/hotspot/src/share/vm/opto/matcher.hpp b/hotspot/src/share/vm/opto/matcher.hpp
index 3d1a2dc..e6aae28 100644
--- a/hotspot/src/share/vm/opto/matcher.hpp
+++ b/hotspot/src/share/vm/opto/matcher.hpp
@@ -294,7 +294,6 @@ public:
RegMask _return_value_mask;
// Inline Cache Register
static OptoReg::Name inline_cache_reg();
- static const RegMask &inline_cache_reg_mask();
static int inline_cache_reg_encode();
// Register for DIVI projection of divmodI
@@ -324,7 +323,6 @@ public:
// and then expanded into the inline_cache_reg and a method_oop register
static OptoReg::Name interpreter_method_oop_reg();
- static const RegMask &interpreter_method_oop_reg_mask();
static int interpreter_method_oop_reg_encode();
static OptoReg::Name compiler_method_oop_reg();
@@ -333,7 +331,6 @@ public:
// Interpreter's Frame Pointer Register
static OptoReg::Name interpreter_frame_pointer_reg();
- static const RegMask &interpreter_frame_pointer_reg_mask();
// Java-Native calling convention
// (what you use when intercalling between Java and C++ code)
@@ -371,10 +368,6 @@ public:
// registers? True for Intel but false for most RISCs
static const bool clone_shift_expressions;
- // Should constant table entries be accessed with loads using
- // absolute addressing? True for x86 but false for most RISCs.
- static const bool constant_table_absolute_addressing;
-
static bool narrow_oop_use_complex_address();
// Generate implicit null check for narrow oops if it can fold
diff --git a/hotspot/src/share/vm/opto/memnode.cpp b/hotspot/src/share/vm/opto/memnode.cpp
index 5d4afb0..bd14475 100644
--- a/hotspot/src/share/vm/opto/memnode.cpp
+++ b/hotspot/src/share/vm/opto/memnode.cpp
@@ -265,6 +265,13 @@ Node *MemNode::Ideal_common(PhaseGVN *phase, bool can_reshape) {
if( phase->type( mem ) == Type::TOP ) return NodeSentinel; // caller will return NULL
assert( mem != this, "dead loop in MemNode::Ideal" );
+ if (can_reshape && igvn != NULL && igvn->_worklist.member(mem)) {
+ // This memory slice may be dead.
+ // Delay this mem node transformation until the memory is processed.
+ phase->is_IterGVN()->_worklist.push(this);
+ return NodeSentinel; // caller will return NULL
+ }
+
Node *address = in(MemNode::Address);
const Type *t_adr = phase->type( address );
if( t_adr == Type::TOP ) return NodeSentinel; // caller will return NULL
@@ -1466,19 +1473,19 @@ Node *LoadNode::Ideal(PhaseGVN *phase, bool can_reshape) {
const Type*
LoadNode::load_array_final_field(const TypeKlassPtr *tkls,
ciKlass* klass) const {
- if (tkls->offset() == Klass::modifier_flags_offset_in_bytes() + (int)sizeof(oopDesc)) {
+ if (tkls->offset() == in_bytes(Klass::modifier_flags_offset())) {
// The field is Klass::_modifier_flags. Return its (constant) value.
// (Folds up the 2nd indirection in aClassConstant.getModifiers().)
assert(this->Opcode() == Op_LoadI, "must load an int from _modifier_flags");
return TypeInt::make(klass->modifier_flags());
}
- if (tkls->offset() == Klass::access_flags_offset_in_bytes() + (int)sizeof(oopDesc)) {
+ if (tkls->offset() == in_bytes(Klass::access_flags_offset())) {
// The field is Klass::_access_flags. Return its (constant) value.
// (Folds up the 2nd indirection in Reflection.getClassAccessFlags(aClassConstant).)
assert(this->Opcode() == Op_LoadI, "must load an int from _access_flags");
return TypeInt::make(klass->access_flags());
}
- if (tkls->offset() == Klass::layout_helper_offset_in_bytes() + (int)sizeof(oopDesc)) {
+ if (tkls->offset() == in_bytes(Klass::layout_helper_offset())) {
// The field is Klass::_layout_helper. Return its constant value if known.
assert(this->Opcode() == Op_LoadI, "must load an int from _layout_helper");
return TypeInt::make(klass->layout_helper());
@@ -1629,14 +1636,14 @@ const Type *LoadNode::Value( PhaseTransform *phase ) const {
// We are loading a field from a Klass metaobject whose identity
// is known at compile time (the type is "exact" or "precise").
// Check for fields we know are maintained as constants by the VM.
- if (tkls->offset() == Klass::super_check_offset_offset_in_bytes() + (int)sizeof(oopDesc)) {
+ if (tkls->offset() == in_bytes(Klass::super_check_offset_offset())) {
// The field is Klass::_super_check_offset. Return its (constant) value.
// (Folds up type checking code.)
assert(Opcode() == Op_LoadI, "must load an int from _super_check_offset");
return TypeInt::make(klass->super_check_offset());
}
// Compute index into primary_supers array
- juint depth = (tkls->offset() - (Klass::primary_supers_offset_in_bytes() + (int)sizeof(oopDesc))) / sizeof(klassOop);
+ juint depth = (tkls->offset() - in_bytes(Klass::primary_supers_offset())) / sizeof(klassOop);
// Check for overflowing; use unsigned compare to handle the negative case.
if( depth < ciKlass::primary_super_limit() ) {
// The field is an element of Klass::_primary_supers. Return its (constant) value.
@@ -1647,14 +1654,14 @@ const Type *LoadNode::Value( PhaseTransform *phase ) const {
}
const Type* aift = load_array_final_field(tkls, klass);
if (aift != NULL) return aift;
- if (tkls->offset() == in_bytes(arrayKlass::component_mirror_offset()) + (int)sizeof(oopDesc)
+ if (tkls->offset() == in_bytes(arrayKlass::component_mirror_offset())
&& klass->is_array_klass()) {
// The field is arrayKlass::_component_mirror. Return its (constant) value.
// (Folds up aClassConstant.getComponentType, common in Arrays.copyOf.)
assert(Opcode() == Op_LoadP, "must load an oop from _component_mirror");
return TypeInstPtr::make(klass->as_array_klass()->component_mirror());
}
- if (tkls->offset() == Klass::java_mirror_offset_in_bytes() + (int)sizeof(oopDesc)) {
+ if (tkls->offset() == in_bytes(Klass::java_mirror_offset())) {
// The field is Klass::_java_mirror. Return its (constant) value.
// (Folds up the 2nd indirection in anObjConstant.getClass().)
assert(Opcode() == Op_LoadP, "must load an oop from _java_mirror");
@@ -1672,7 +1679,7 @@ const Type *LoadNode::Value( PhaseTransform *phase ) const {
if( inner->is_instance_klass() &&
!inner->as_instance_klass()->flags().is_interface() ) {
// Compute index into primary_supers array
- juint depth = (tkls->offset() - (Klass::primary_supers_offset_in_bytes() + (int)sizeof(oopDesc))) / sizeof(klassOop);
+ juint depth = (tkls->offset() - in_bytes(Klass::primary_supers_offset())) / sizeof(klassOop);
// Check for overflowing; use unsigned compare to handle the negative case.
if( depth < ciKlass::primary_super_limit() &&
depth <= klass->super_depth() ) { // allow self-depth checks to handle self-check case
@@ -1688,7 +1695,7 @@ const Type *LoadNode::Value( PhaseTransform *phase ) const {
// If the type is enough to determine that the thing is not an array,
// we can give the layout_helper a positive interval type.
// This will help short-circuit some reflective code.
- if (tkls->offset() == Klass::layout_helper_offset_in_bytes() + (int)sizeof(oopDesc)
+ if (tkls->offset() == in_bytes(Klass::layout_helper_offset())
&& !klass->is_array_klass() // not directly typed as an array
&& !klass->is_interface() // specifically not Serializable & Cloneable
&& !klass->is_java_lang_Object() // not the supertype of all T[]
@@ -1931,7 +1938,7 @@ const Type *LoadNode::klass_value_common( PhaseTransform *phase ) const {
if( !klass->is_loaded() )
return _type; // Bail out if not loaded
if( klass->is_obj_array_klass() &&
- (uint)tkls->offset() == objArrayKlass::element_klass_offset_in_bytes() + sizeof(oopDesc)) {
+ tkls->offset() == in_bytes(objArrayKlass::element_klass_offset())) {
ciKlass* elem = klass->as_obj_array_klass()->element_klass();
// // Always returning precise element type is incorrect,
// // e.g., element type could be object and array may contain strings
@@ -1942,7 +1949,7 @@ const Type *LoadNode::klass_value_common( PhaseTransform *phase ) const {
return TypeKlassPtr::make(tkls->ptr(), elem, 0/*offset*/);
}
if( klass->is_instance_klass() && tkls->klass_is_exact() &&
- (uint)tkls->offset() == Klass::super_offset_in_bytes() + sizeof(oopDesc)) {
+ tkls->offset() == in_bytes(Klass::super_offset())) {
ciKlass* sup = klass->as_instance_klass()->super();
// The field is Klass::_super. Return its (constant) value.
// (Folds up the 2nd indirection in aClassConstant.getSuperClass().)
@@ -2006,11 +2013,11 @@ Node* LoadNode::klass_identity_common(PhaseTransform *phase ) {
tkls->klass()->is_array_klass())
&& adr2->is_AddP()
) {
- int mirror_field = Klass::java_mirror_offset_in_bytes();
+ int mirror_field = in_bytes(Klass::java_mirror_offset());
if (offset == java_lang_Class::array_klass_offset_in_bytes()) {
mirror_field = in_bytes(arrayKlass::component_mirror_offset());
}
- if (tkls->offset() == mirror_field + (int)sizeof(oopDesc)) {
+ if (tkls->offset() == mirror_field) {
return adr2->in(AddPNode::Base);
}
}
@@ -2194,7 +2201,7 @@ Node *StoreNode::Ideal(PhaseGVN *phase, bool can_reshape) {
// unsafe if I have intervening uses... Also disallowed for StoreCM
// since they must follow each StoreP operation. Redundant StoreCMs
// are eliminated just before matching in final_graph_reshape.
- if (mem->is_Store() && phase->eqv_uncast(mem->in(MemNode::Address), address) &&
+ if (mem->is_Store() && mem->in(MemNode::Address)->eqv_uncast(address) &&
mem->Opcode() != Op_StoreCM) {
// Looking at a dead closed cycle of memory?
assert(mem != mem->in(MemNode::Memory), "dead loop in StoreNode::Ideal");
@@ -2267,16 +2274,16 @@ Node *StoreNode::Identity( PhaseTransform *phase ) {
// Load then Store? Then the Store is useless
if (val->is_Load() &&
- phase->eqv_uncast( val->in(MemNode::Address), adr ) &&
- phase->eqv_uncast( val->in(MemNode::Memory ), mem ) &&
+ val->in(MemNode::Address)->eqv_uncast(adr) &&
+ val->in(MemNode::Memory )->eqv_uncast(mem) &&
val->as_Load()->store_Opcode() == Opcode()) {
return mem;
}
// Two stores in a row of the same value?
if (mem->is_Store() &&
- phase->eqv_uncast( mem->in(MemNode::Address), adr ) &&
- phase->eqv_uncast( mem->in(MemNode::ValueIn), val ) &&
+ mem->in(MemNode::Address)->eqv_uncast(adr) &&
+ mem->in(MemNode::ValueIn)->eqv_uncast(val) &&
mem->Opcode() == Opcode()) {
return mem;
}
@@ -2661,6 +2668,8 @@ uint StrIntrinsicNode::match_edge(uint idx) const {
// control copies
Node *StrIntrinsicNode::Ideal(PhaseGVN *phase, bool can_reshape) {
if (remove_dead_region(phase, can_reshape)) return this;
+ // Don't bother trying to transform a dead node
+ if (in(0) && in(0)->is_top()) return NULL;
if (can_reshape) {
Node* mem = phase->transform(in(MemNode::Memory));
@@ -2675,6 +2684,12 @@ Node *StrIntrinsicNode::Ideal(PhaseGVN *phase, bool can_reshape) {
return NULL;
}
+//------------------------------Value------------------------------------------
+const Type *StrIntrinsicNode::Value( PhaseTransform *phase ) const {
+ if (in(0) && phase->type(in(0)) == Type::TOP) return Type::TOP;
+ return bottom_type();
+}
+
//=============================================================================
MemBarNode::MemBarNode(Compile* C, int alias_idx, Node* precedent)
: MultiNode(TypeFunc::Parms + (precedent == NULL? 0: 1)),
@@ -2706,6 +2721,7 @@ MemBarNode* MemBarNode::make(Compile* C, int opcode, int atp, Node* pn) {
case Op_MemBarVolatile: return new(C, len) MemBarVolatileNode(C, atp, pn);
case Op_MemBarCPUOrder: return new(C, len) MemBarCPUOrderNode(C, atp, pn);
case Op_Initialize: return new(C, len) InitializeNode(C, atp, pn);
+ case Op_MemBarStoreStore: return new(C, len) MemBarStoreStoreNode(C, atp, pn);
default: ShouldNotReachHere(); return NULL;
}
}
@@ -2715,6 +2731,8 @@ MemBarNode* MemBarNode::make(Compile* C, int opcode, int atp, Node* pn) {
// control copies
Node *MemBarNode::Ideal(PhaseGVN *phase, bool can_reshape) {
if (remove_dead_region(phase, can_reshape)) return this;
+ // Don't bother trying to transform a dead node
+ if (in(0) && in(0)->is_top()) return NULL;
// Eliminate volatile MemBars for scalar replaced objects.
if (can_reshape && req() == (Precedent+1) &&
@@ -2853,7 +2871,7 @@ Node *MemBarNode::match( const ProjNode *proj, const Matcher *m ) {
//---------------------------InitializeNode------------------------------------
InitializeNode::InitializeNode(Compile* C, int adr_type, Node* rawoop)
- : _is_complete(Incomplete),
+ : _is_complete(Incomplete), _does_not_escape(false),
MemBarNode(C, adr_type, rawoop)
{
init_class_id(Class_Initialize);
diff --git a/hotspot/src/share/vm/opto/memnode.hpp b/hotspot/src/share/vm/opto/memnode.hpp
index d757b13..f15d498 100644
--- a/hotspot/src/share/vm/opto/memnode.hpp
+++ b/hotspot/src/share/vm/opto/memnode.hpp
@@ -800,6 +800,7 @@ public:
virtual uint match_edge(uint idx) const;
virtual uint ideal_reg() const { return Op_RegI; }
virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
+ virtual const Type *Value(PhaseTransform *phase) const;
};
//------------------------------StrComp-------------------------------------
@@ -917,6 +918,15 @@ public:
virtual int Opcode() const;
};
+class MemBarStoreStoreNode: public MemBarNode {
+public:
+ MemBarStoreStoreNode(Compile* C, int alias_idx, Node* precedent)
+ : MemBarNode(C, alias_idx, precedent) {
+ init_class_id(Class_MemBarStoreStore);
+ }
+ virtual int Opcode() const;
+};
+
// Ordering between a volatile store and a following volatile load.
// Requires multi-CPU visibility?
class MemBarVolatileNode: public MemBarNode {
@@ -949,6 +959,8 @@ class InitializeNode: public MemBarNode {
};
int _is_complete;
+ bool _does_not_escape;
+
public:
enum {
Control = TypeFunc::Control,
@@ -988,6 +1000,9 @@ public:
void set_complete(PhaseGVN* phase);
void set_complete_with_arraycopy() { _is_complete = Complete | WithArraycopy; }
+ bool does_not_escape() { return _does_not_escape; }
+ void set_does_not_escape() { _does_not_escape = true; }
+
#ifdef ASSERT
// ensure all non-degenerate stores are ordered and non-overlapping
bool stores_are_sane(PhaseTransform* phase);
diff --git a/hotspot/src/share/vm/opto/node.cpp b/hotspot/src/share/vm/opto/node.cpp
index 1400e3d..4bd752f 100644
--- a/hotspot/src/share/vm/opto/node.cpp
+++ b/hotspot/src/share/vm/opto/node.cpp
@@ -833,8 +833,20 @@ Node* Node::uncast() const {
//---------------------------uncast_helper-------------------------------------
Node* Node::uncast_helper(const Node* p) {
- uint max_depth = 3;
- for (uint i = 0; i < max_depth; i++) {
+#ifdef ASSERT
+ uint depth_count = 0;
+ const Node* orig_p = p;
+#endif
+
+ while (true) {
+#ifdef ASSERT
+ if (depth_count >= K) {
+ orig_p->dump(4);
+ if (p != orig_p)
+ p->dump(1);
+ }
+ assert(depth_count++ < K, "infinite loop in Node::uncast_helper");
+#endif
if (p == NULL || p->req() != 2) {
break;
} else if (p->is_ConstraintCast()) {
diff --git a/hotspot/src/share/vm/opto/node.hpp b/hotspot/src/share/vm/opto/node.hpp
index 8564a77..5ddae2f 100644
--- a/hotspot/src/share/vm/opto/node.hpp
+++ b/hotspot/src/share/vm/opto/node.hpp
@@ -97,6 +97,7 @@ class MachSpillCopyNode;
class MachTempNode;
class Matcher;
class MemBarNode;
+class MemBarStoreStoreNode;
class MemNode;
class MergeMemNode;
class MultiNode;
@@ -428,6 +429,10 @@ protected:
// Strip away casting. (It is depth-limited.)
Node* uncast() const;
+ // Return whether two Nodes are equivalent, after stripping casting.
+ bool eqv_uncast(const Node* n) const {
+ return (this->uncast() == n->uncast());
+ }
private:
static Node* uncast_helper(const Node* n);
@@ -564,7 +569,8 @@ public:
DEFINE_CLASS_ID(NeverBranch, MultiBranch, 2)
DEFINE_CLASS_ID(Start, Multi, 2)
DEFINE_CLASS_ID(MemBar, Multi, 3)
- DEFINE_CLASS_ID(Initialize, MemBar, 0)
+ DEFINE_CLASS_ID(Initialize, MemBar, 0)
+ DEFINE_CLASS_ID(MemBarStoreStore, MemBar, 1)
DEFINE_CLASS_ID(Mach, Node, 1)
DEFINE_CLASS_ID(MachReturn, Mach, 0)
@@ -641,7 +647,8 @@ public:
Flag_is_dead_loop_safe = Flag_is_cisc_alternate << 1,
Flag_may_be_short_branch = Flag_is_dead_loop_safe << 1,
Flag_avoid_back_to_back = Flag_may_be_short_branch << 1,
- _max_flags = (Flag_avoid_back_to_back << 1) - 1 // allow flags combination
+ Flag_has_call = Flag_avoid_back_to_back << 1,
+ _max_flags = (Flag_has_call << 1) - 1 // allow flags combination
};
private:
@@ -743,6 +750,7 @@ public:
DEFINE_CLASS_QUERY(MachTemp)
DEFINE_CLASS_QUERY(Mem)
DEFINE_CLASS_QUERY(MemBar)
+ DEFINE_CLASS_QUERY(MemBarStoreStore)
DEFINE_CLASS_QUERY(MergeMem)
DEFINE_CLASS_QUERY(Multi)
DEFINE_CLASS_QUERY(MultiBranch)
diff --git a/hotspot/src/share/vm/opto/output.cpp b/hotspot/src/share/vm/opto/output.cpp
index d9317d6..f365353 100644
--- a/hotspot/src/share/vm/opto/output.cpp
+++ b/hotspot/src/share/vm/opto/output.cpp
@@ -924,10 +924,10 @@ void Compile::Process_OopMap_Node(MachNode *mach, int current_offset) {
scval = new ConstantOopWriteValue(tp->is_oopptr()->const_oop()->constant_encoding());
}
- OptoReg::Name box_reg = BoxLockNode::stack_slot(box_node);
+ OptoReg::Name box_reg = BoxLockNode::reg(box_node);
Location basic_lock = Location::new_stk_loc(Location::normal,_regalloc->reg2offset(box_reg));
- while( !box_node->is_BoxLock() ) box_node = box_node->in(1);
- monarray->append(new MonitorValue(scval, basic_lock, box_node->as_BoxLock()->is_eliminated()));
+ bool eliminated = (box_node->is_BoxLock() && box_node->as_BoxLock()->is_eliminated());
+ monarray->append(new MonitorValue(scval, basic_lock, eliminated));
}
// We dump the object pool first, since deoptimization reads it in first.
diff --git a/hotspot/src/share/vm/opto/parse1.cpp b/hotspot/src/share/vm/opto/parse1.cpp
index 06ef91a..99bdf93 100644
--- a/hotspot/src/share/vm/opto/parse1.cpp
+++ b/hotspot/src/share/vm/opto/parse1.cpp
@@ -1604,7 +1604,16 @@ void Parse::merge_common(Parse::Block* target, int pnum) {
continue;
default: // All normal stuff
if (phi == NULL) {
- if (!check_elide_phi || !target->can_elide_SEL_phi(j)) {
+ const JVMState* jvms = map()->jvms();
+ if (EliminateNestedLocks &&
+ jvms->is_mon(j) && jvms->is_monitor_box(j)) {
+ // BoxLock nodes are not commoning.
+ // Use old BoxLock node as merged box.
+ assert(newin->jvms()->is_monitor_box(j), "sanity");
+ // This assert also tests that nodes are BoxLock.
+ assert(BoxLockNode::same_slot(n, m), "sanity");
+ C->gvn_replace_by(n, m);
+ } else if (!check_elide_phi || !target->can_elide_SEL_phi(j)) {
phi = ensure_phi(j, nophi);
}
}
@@ -1911,7 +1920,7 @@ void Parse::call_register_finalizer() {
Node* klass_addr = basic_plus_adr( receiver, receiver, oopDesc::klass_offset_in_bytes() );
Node* klass = _gvn.transform( LoadKlassNode::make(_gvn, immutable_memory(), klass_addr, TypeInstPtr::KLASS) );
- Node* access_flags_addr = basic_plus_adr(klass, klass, Klass::access_flags_offset_in_bytes() + sizeof(oopDesc));
+ Node* access_flags_addr = basic_plus_adr(klass, klass, in_bytes(Klass::access_flags_offset()));
Node* access_flags = make_load(NULL, access_flags_addr, TypeInt::INT, T_INT);
Node* mask = _gvn.transform(new (C, 3) AndINode(access_flags, intcon(JVM_ACC_HAS_FINALIZER)));
diff --git a/hotspot/src/share/vm/opto/parseHelper.cpp b/hotspot/src/share/vm/opto/parseHelper.cpp
index 5a9d7e1..9ebc716 100644
--- a/hotspot/src/share/vm/opto/parseHelper.cpp
+++ b/hotspot/src/share/vm/opto/parseHelper.cpp
@@ -200,7 +200,7 @@ void Parse::array_store_check() {
// Come here for polymorphic array klasses
// Extract the array element class
- int element_klass_offset = objArrayKlass::element_klass_offset_in_bytes() + sizeof(oopDesc);
+ int element_klass_offset = in_bytes(objArrayKlass::element_klass_offset());
Node *p2 = basic_plus_adr(array_klass, array_klass, element_klass_offset);
Node *a_e_klass = _gvn.transform( LoadKlassNode::make(_gvn, immutable_memory(), p2, tak) );
@@ -220,7 +220,7 @@ void Parse::emit_guard_for_new(ciInstanceKlass* klass) {
_gvn.set_type(merge, Type::CONTROL);
Node* kls = makecon(TypeKlassPtr::make(klass));
- Node* init_thread_offset = _gvn.MakeConX(instanceKlass::init_thread_offset_in_bytes() + klassOopDesc::klass_part_offset_in_bytes());
+ Node* init_thread_offset = _gvn.MakeConX(in_bytes(instanceKlass::init_thread_offset()));
Node* adr_node = basic_plus_adr(kls, kls, init_thread_offset);
Node* init_thread = make_load(NULL, adr_node, TypeRawPtr::BOTTOM, T_ADDRESS);
Node *tst = Bool( CmpP( init_thread, cur_thread), BoolTest::eq);
@@ -228,9 +228,11 @@ void Parse::emit_guard_for_new(ciInstanceKlass* klass) {
set_control(IfTrue(iff));
merge->set_req(1, IfFalse(iff));
- Node* init_state_offset = _gvn.MakeConX(instanceKlass::init_state_offset_in_bytes() + klassOopDesc::klass_part_offset_in_bytes());
+ Node* init_state_offset = _gvn.MakeConX(in_bytes(instanceKlass::init_state_offset()));
adr_node = basic_plus_adr(kls, kls, init_state_offset);
- Node* init_state = make_load(NULL, adr_node, TypeInt::INT, T_INT);
+ // Use T_BOOLEAN for instanceKlass::_init_state so the compiler
+ // can generate code to load it as unsigned byte.
+ Node* init_state = make_load(NULL, adr_node, TypeInt::UBYTE, T_BOOLEAN);
Node* being_init = _gvn.intcon(instanceKlass::being_initialized);
tst = Bool( CmpI( init_state, being_init), BoolTest::eq);
iff = create_and_map_if(control(), tst, PROB_ALWAYS, COUNT_UNKNOWN);
diff --git a/hotspot/src/share/vm/opto/phaseX.hpp b/hotspot/src/share/vm/opto/phaseX.hpp
index 162716d..ef5bbb5 100644
--- a/hotspot/src/share/vm/opto/phaseX.hpp
+++ b/hotspot/src/share/vm/opto/phaseX.hpp
@@ -256,11 +256,6 @@ public:
// For pessimistic optimizations this is simply pointer equivalence.
bool eqv(const Node* n1, const Node* n2) const { return n1 == n2; }
- // Return whether two Nodes are equivalent, after stripping casting.
- bool eqv_uncast(const Node* n1, const Node* n2) const {
- return eqv(n1->uncast(), n2->uncast());
- }
-
// For pessimistic passes, the return type must monotonically narrow.
// For optimistic passes, the return type must monotonically widen.
// It is possible to get into a "death march" in either type of pass,
diff --git a/hotspot/src/share/vm/opto/postaloc.cpp b/hotspot/src/share/vm/opto/postaloc.cpp
index 603264a..1a7553b 100644
--- a/hotspot/src/share/vm/opto/postaloc.cpp
+++ b/hotspot/src/share/vm/opto/postaloc.cpp
@@ -89,32 +89,62 @@ int PhaseChaitin::yank( Node *old, Block *current_block, Node_List *value, Node_
return blk_adjust;
}
+#ifdef ASSERT
+static bool expected_yanked_node(Node *old, Node *orig_old) {
+ // This code is expected only next original nodes:
+ // - load from constant table node which may have next data input nodes:
+ // MachConstantBase, Phi, MachTemp, MachSpillCopy
+ // - load constant node which may have next data input nodes:
+ // MachTemp, MachSpillCopy
+ // - MachSpillCopy
+ // - MachProj and Copy dead nodes
+ if (old->is_MachSpillCopy()) {
+ return true;
+ } else if (old->is_Con()) {
+ return true;
+ } else if (old->is_MachProj()) { // Dead kills projection of Con node
+ return (old == orig_old);
+ } else if (old->is_Copy()) { // Dead copy of a callee-save value
+ return (old == orig_old);
+ } else if (old->is_MachTemp()) {
+ return orig_old->is_Con();
+ } else if (old->is_Phi() || old->is_MachConstantBase()) {
+ return (orig_old->is_Con() && orig_old->is_MachConstant());
+ }
+ return false;
+}
+#endif
+
//------------------------------yank_if_dead-----------------------------------
-// Removed an edge from 'old'. Yank if dead. Return adjustment counts to
+// Removed edges from 'old'. Yank if dead. Return adjustment counts to
// iterators in the current block.
-int PhaseChaitin::yank_if_dead( Node *old, Block *current_block, Node_List *value, Node_List *regnd ) {
+int PhaseChaitin::yank_if_dead_recurse(Node *old, Node *orig_old, Block *current_block,
+ Node_List *value, Node_List *regnd) {
int blk_adjust=0;
- while (old->outcnt() == 0 && old != C->top()) {
+ if (old->outcnt() == 0 && old != C->top()) {
+#ifdef ASSERT
+ if (!expected_yanked_node(old, orig_old)) {
+ tty->print_cr("==============================================");
+ tty->print_cr("orig_old:");
+ orig_old->dump();
+ tty->print_cr("old:");
+ old->dump();
+ assert(false, "unexpected yanked node");
+ }
+ if (old->is_Con())
+ orig_old = old; // Reset to satisfy expected nodes checks.
+#endif
blk_adjust += yank(old, current_block, value, regnd);
- Node *tmp = NULL;
for (uint i = 1; i < old->req(); i++) {
- if (old->in(i)->is_MachTemp()) {
- // handle TEMP inputs
- Node* machtmp = old->in(i);
- if (machtmp->outcnt() == 1) {
- assert(machtmp->unique_out() == old, "sanity");
- blk_adjust += yank(machtmp, current_block, value, regnd);
- machtmp->disconnect_inputs(NULL);
- }
- } else {
- assert(tmp == NULL, "can't handle more non MachTemp inputs");
- tmp = old->in(i);
+ Node* n = old->in(i);
+ if (n != NULL) {
+ old->set_req(i, NULL);
+ blk_adjust += yank_if_dead_recurse(n, orig_old, current_block, value, regnd);
}
}
+ // Disconnect control and remove precedence edges if any exist
old->disconnect_inputs(NULL);
- if( !tmp ) break;
- old = tmp;
}
return blk_adjust;
}
diff --git a/hotspot/src/share/vm/opto/subnode.cpp b/hotspot/src/share/vm/opto/subnode.cpp
index a51c576..51212cf 100644
--- a/hotspot/src/share/vm/opto/subnode.cpp
+++ b/hotspot/src/share/vm/opto/subnode.cpp
@@ -91,7 +91,7 @@ const Type *SubNode::Value( PhaseTransform *phase ) const {
// Not correct for SubFnode and AddFNode (must check for infinity)
// Equal? Subtract is zero
- if (phase->eqv_uncast(in1, in2)) return add_id();
+ if (in1->eqv_uncast(in2)) return add_id();
// Either input is BOTTOM ==> the result is the local BOTTOM
if( t1 == Type::BOTTOM || t2 == Type::BOTTOM )
diff --git a/hotspot/src/share/vm/prims/jni.cpp b/hotspot/src/share/vm/prims/jni.cpp
index aef42cb..833f6f1 100644
--- a/hotspot/src/share/vm/prims/jni.cpp
+++ b/hotspot/src/share/vm/prims/jni.cpp
@@ -48,6 +48,7 @@
#include "oops/typeArrayOop.hpp"
#include "prims/jni.h"
#include "prims/jniCheck.hpp"
+#include "prims/jniExport.hpp"
#include "prims/jniFastGetField.hpp"
#include "prims/jvm.h"
#include "prims/jvm_misc.hpp"
@@ -66,6 +67,8 @@
#include "runtime/signature.hpp"
#include "runtime/vm_operations.hpp"
#include "services/runtimeService.hpp"
+#include "trace/tracing.hpp"
+#include "trace/traceEventTypes.hpp"
#include "utilities/defaultStream.hpp"
#include "utilities/dtrace.hpp"
#include "utilities/events.hpp"
@@ -5037,16 +5040,25 @@ _JNI_IMPORT_OR_EXPORT_ jint JNICALL JNI_GetDefaultJavaVMInitArgs(void *args_) {
#ifndef PRODUCT
+#include "gc_interface/collectedHeap.hpp"
#include "utilities/quickSort.hpp"
+#define run_unit_test(unit_test_function_call) \
+ tty->print_cr("Running test: " #unit_test_function_call); \
+ unit_test_function_call
+
void execute_internal_vm_tests() {
if (ExecuteInternalVMTests) {
- assert(QuickSort::test_quick_sort(), "test_quick_sort failed");
- assert(arrayOopDesc::test_max_array_length(), "test_max_array_length failed");
+ tty->print_cr("Running internal VM tests");
+ run_unit_test(arrayOopDesc::test_max_array_length());
+ run_unit_test(CollectedHeap::test_is_in());
+ run_unit_test(QuickSort::test_quick_sort());
tty->print_cr("All internal VM tests passed");
}
}
+#undef run_unit_test
+
#endif
#ifndef USDT2
@@ -5130,6 +5142,11 @@ _JNI_IMPORT_OR_EXPORT_ jint JNICALL JNI_CreateJavaVM(JavaVM **vm, void **penv, v
if (JvmtiExport::should_post_thread_life()) {
JvmtiExport::post_thread_start(thread);
}
+
+ EVENT_BEGIN(TraceEventThreadStart, event);
+ EVENT_COMMIT(event,
+ EVENT_SET(event, javalangthread, java_lang_Thread::thread_id(thread->threadObj())));
+
// Check if we should compile all classes on bootclasspath
NOT_PRODUCT(if (CompileTheWorld) ClassLoader::compile_the_world();)
// Since this is not a JVM_ENTRY we have to set the thread state manually before leaving.
@@ -5328,6 +5345,10 @@ static jint attach_current_thread(JavaVM *vm, void **penv, void *_args, bool dae
JvmtiExport::post_thread_start(thread);
}
+ EVENT_BEGIN(TraceEventThreadStart, event);
+ EVENT_COMMIT(event,
+ EVENT_SET(event, javalangthread, java_lang_Thread::thread_id(thread->threadObj())));
+
*(JNIEnv**)penv = thread->jni_environment();
// Now leaving the VM, so change thread_state. This is normally automatically taken care
@@ -5455,8 +5476,7 @@ jint JNICALL jni_GetEnv(JavaVM *vm, void **penv, jint version) {
return ret;
}
- if (JvmtiExport::is_jvmti_version(version)) {
- ret = JvmtiExport::get_jvmti_interface(vm, penv, version);
+ if (JniExportedInterface::GetExportedInterface(vm, penv, version, &ret)) {
return ret;
}
diff --git a/hotspot/src/share/vm/prims/jniExport.hpp b/hotspot/src/share/vm/prims/jniExport.hpp
new file mode 100644
index 0000000..841b3dc
--- /dev/null
+++ b/hotspot/src/share/vm/prims/jniExport.hpp
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 1997, 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.
+ *
+ * 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.
+ *
+ */
+
+#ifndef SHARE_VM_PRIMS_JNI_EXPORT_HPP
+#define SHARE_VM_PRIMS_JNI_EXPORT_HPP
+
+#include "prims/jni.h"
+#include "prims/jvmtiExport.hpp"
+
+class JniExportedInterface {
+ public:
+ static bool GetExportedInterface(JavaVM* vm, void** penv, jint version, jint* iface) {
+ if (JvmtiExport::is_jvmti_version(version)) {
+ *iface = JvmtiExport::get_jvmti_interface(vm, penv, version);
+ return true;
+ }
+ return false;
+ }
+};
+
+#endif // SHARE_VM_PRIMS_JNI_EXPORT_HPP
diff --git a/hotspot/src/share/vm/prims/jvm.cpp b/hotspot/src/share/vm/prims/jvm.cpp
index 67588ac..6bddc22 100644
--- a/hotspot/src/share/vm/prims/jvm.cpp
+++ b/hotspot/src/share/vm/prims/jvm.cpp
@@ -3526,14 +3526,14 @@ JVM_END
JVM_LEAF(jint, JVM_Recv(jint fd, char *buf, jint nBytes, jint flags))
JVMWrapper2("JVM_Recv (0x%x)", fd);
//%note jvm_r6
- return os::recv(fd, buf, nBytes, flags);
+ return os::recv(fd, buf, (size_t)nBytes, (uint)flags);
JVM_END
JVM_LEAF(jint, JVM_Send(jint fd, char *buf, jint nBytes, jint flags))
JVMWrapper2("JVM_Send (0x%x)", fd);
//%note jvm_r6
- return os::send(fd, buf, nBytes, flags);
+ return os::send(fd, buf, (size_t)nBytes, (uint)flags);
JVM_END
@@ -3554,42 +3554,51 @@ JVM_END
JVM_LEAF(jint, JVM_Connect(jint fd, struct sockaddr *him, jint len))
JVMWrapper2("JVM_Connect (0x%x)", fd);
//%note jvm_r6
- return os::connect(fd, him, len);
+ return os::connect(fd, him, (socklen_t)len);
JVM_END
JVM_LEAF(jint, JVM_Bind(jint fd, struct sockaddr *him, jint len))
JVMWrapper2("JVM_Bind (0x%x)", fd);
//%note jvm_r6
- return os::bind(fd, him, len);
+ return os::bind(fd, him, (socklen_t)len);
JVM_END
JVM_LEAF(jint, JVM_Accept(jint fd, struct sockaddr *him, jint *len))
JVMWrapper2("JVM_Accept (0x%x)", fd);
//%note jvm_r6
- return os::accept(fd, him, (int *)len);
+ socklen_t socklen = (socklen_t)(*len);
+ jint result = os::accept(fd, him, &socklen);
+ *len = (jint)socklen;
+ return result;
JVM_END
JVM_LEAF(jint, JVM_RecvFrom(jint fd, char *buf, int nBytes, int flags, struct sockaddr *from, int *fromlen))
JVMWrapper2("JVM_RecvFrom (0x%x)", fd);
//%note jvm_r6
- return os::recvfrom(fd, buf, nBytes, flags, from, fromlen);
+ socklen_t socklen = (socklen_t)(*fromlen);
+ jint result = os::recvfrom(fd, buf, (size_t)nBytes, (uint)flags, from, &socklen);
+ *fromlen = (int)socklen;
+ return result;
JVM_END
JVM_LEAF(jint, JVM_GetSockName(jint fd, struct sockaddr *him, int *len))
JVMWrapper2("JVM_GetSockName (0x%x)", fd);
//%note jvm_r6
- return os::get_sock_name(fd, him, len);
+ socklen_t socklen = (socklen_t)(*len);
+ jint result = os::get_sock_name(fd, him, &socklen);
+ *len = (int)socklen;
+ return result;
JVM_END
JVM_LEAF(jint, JVM_SendTo(jint fd, char *buf, int len, int flags, struct sockaddr *to, int tolen))
JVMWrapper2("JVM_SendTo (0x%x)", fd);
//%note jvm_r6
- return os::sendto(fd, buf, len, flags, to, tolen);
+ return os::sendto(fd, buf, (size_t)len, (uint)flags, to, (socklen_t)tolen);
JVM_END
@@ -3603,21 +3612,26 @@ JVM_END
JVM_LEAF(jint, JVM_GetSockOpt(jint fd, int level, int optname, char *optval, int *optlen))
JVMWrapper2("JVM_GetSockOpt (0x%x)", fd);
//%note jvm_r6
- return os::get_sock_opt(fd, level, optname, optval, optlen);
+ socklen_t socklen = (socklen_t)(*optlen);
+ jint result = os::get_sock_opt(fd, level, optname, optval, &socklen);
+ *optlen = (int)socklen;
+ return result;
JVM_END
JVM_LEAF(jint, JVM_SetSockOpt(jint fd, int level, int optname, const char *optval, int optlen))
JVMWrapper2("JVM_GetSockOpt (0x%x)", fd);
//%note jvm_r6
- return os::set_sock_opt(fd, level, optname, optval, optlen);
+ return os::set_sock_opt(fd, level, optname, optval, (socklen_t)optlen);
JVM_END
+
JVM_LEAF(int, JVM_GetHostName(char* name, int namelen))
JVMWrapper("JVM_GetHostName");
return os::get_host_name(name, namelen);
JVM_END
+
// Library support ///////////////////////////////////////////////////////////////////////////
JVM_ENTRY_NO_ENV(void*, JVM_LoadLibrary(const char* name))
@@ -3658,6 +3672,7 @@ JVM_LEAF(void*, JVM_FindLibraryEntry(void* handle, const char* name))
return os::dll_lookup(handle, name);
JVM_END
+
// Floating point support ////////////////////////////////////////////////////////////////////
JVM_LEAF(jboolean, JVM_IsNaN(jdouble a))
@@ -3666,7 +3681,6 @@ JVM_LEAF(jboolean, JVM_IsNaN(jdouble a))
JVM_END
-
// JNI version ///////////////////////////////////////////////////////////////////////////////
JVM_LEAF(jboolean, JVM_IsSupportedJNIVersion(jint version))
diff --git a/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp b/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp
index 35ae707..7e2a327 100644
--- a/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp
+++ b/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp
@@ -43,7 +43,7 @@
#ifdef TARGET_ARCH_ppc
# include "bytes_ppc.hpp"
#endif
-// FIXME: add Deprecated, LVT, LVTT attributes
+// FIXME: add Deprecated, LVTT attributes
// FIXME: fix Synthetic attribute
// FIXME: per Serguei, add error return handling for constantPoolOopDesc::copy_cpool_bytes()
@@ -136,8 +136,9 @@ void JvmtiClassFileReconstituter::write_code_attribute(methodHandle method) {
constMethodHandle const_method(thread(), method->constMethod());
u2 line_num_cnt = 0;
int stackmap_len = 0;
+ int local_variable_table_length = 0;
- // compute number and length of attributes -- FIXME: for now no LVT
+ // compute number and length of attributes
int attr_count = 0;
int attr_size = 0;
if (const_method->has_linenumber_table()) {
@@ -170,6 +171,25 @@ void JvmtiClassFileReconstituter::write_code_attribute(methodHandle method) {
attr_size += 2 + 4 + stackmap_len;
}
}
+ if (method->has_localvariable_table()) {
+ local_variable_table_length = method->localvariable_table_length();
+ ++attr_count;
+ if (local_variable_table_length != 0) {
+ // Compute the size of the local variable table attribute (VM stores raw):
+ // LocalVariableTable_attribute {
+ // u2 attribute_name_index;
+ // u4 attribute_length;
+ // u2 local_variable_table_length;
+ // {
+ // u2 start_pc;
+ // u2 length;
+ // u2 name_index;
+ // u2 descriptor_index;
+ // u2 index;
+ // }
+ attr_size += 2 + 4 + 2 + local_variable_table_length * (2 + 2 + 2 + 2 + 2);
+ }
+ }
typeArrayHandle exception_table(thread(), const_method->exception_table());
int exception_table_length = exception_table->length();
@@ -203,8 +223,9 @@ void JvmtiClassFileReconstituter::write_code_attribute(methodHandle method) {
if (stackmap_len != 0) {
write_stackmap_table_attribute(method, stackmap_len);
}
-
- // FIXME: write LVT attribute
+ if (local_variable_table_length != 0) {
+ write_local_variable_table_attribute(method, local_variable_table_length);
+ }
}
// Write Exceptions attribute
@@ -371,6 +392,36 @@ void JvmtiClassFileReconstituter::write_line_number_table_attribute(methodHandle
}
}
+// Write LineNumberTable attribute
+// JVMSpec| LocalVariableTable_attribute {
+// JVMSpec| u2 attribute_name_index;
+// JVMSpec| u4 attribute_length;
+// JVMSpec| u2 local_variable_table_length;
+// JVMSpec| { u2 start_pc;
+// JVMSpec| u2 length;
+// JVMSpec| u2 name_index;
+// JVMSpec| u2 descriptor_index;
+// JVMSpec| u2 index;
+// JVMSpec| } local_variable_table[local_variable_table_length];
+// JVMSpec| }
+void JvmtiClassFileReconstituter::write_local_variable_table_attribute(methodHandle method, u2 num_entries) {
+ write_attribute_name_index("LocalVariableTable");
+ write_u4(2 + num_entries * (2 + 2 + 2 + 2 + 2));
+ write_u2(num_entries);
+
+ assert(method->localvariable_table_length() == num_entries, "just checking");
+
+ LocalVariableTableElement *elem = method->localvariable_table_start();
+ for (int j=0; j<method->localvariable_table_length(); j++) {
+ write_u2(elem->start_bci);
+ write_u2(elem->length);
+ write_u2(elem->name_cp_index);
+ write_u2(elem->descriptor_cp_index);
+ write_u2(elem->slot);
+ elem++;
+ }
+}
+
// Write stack map table attribute
// JSR-202| StackMapTable_attribute {
// JSR-202| u2 attribute_name_index;
diff --git a/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.hpp b/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.hpp
index 60a5ffb..565c6fe 100644
--- a/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.hpp
+++ b/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.hpp
@@ -119,6 +119,7 @@ class JvmtiClassFileReconstituter : public JvmtiConstantPoolReconstituter {
void write_source_debug_extension_attribute();
u2 line_number_table_entries(methodHandle method);
void write_line_number_table_attribute(methodHandle method, u2 num_entries);
+ void write_local_variable_table_attribute(methodHandle method, u2 num_entries);
void write_stackmap_table_attribute(methodHandle method, int stackmap_table_len);
u2 inner_classes_attribute_length();
void write_inner_classes_attribute(int length);
diff --git a/hotspot/src/share/vm/prims/jvmtiEnv.cpp b/hotspot/src/share/vm/prims/jvmtiEnv.cpp
index 6084915..46519bb 100644
--- a/hotspot/src/share/vm/prims/jvmtiEnv.cpp
+++ b/hotspot/src/share/vm/prims/jvmtiEnv.cpp
@@ -267,7 +267,10 @@ JvmtiEnv::RetransformClasses(jint class_count, const jclass* classes) {
instanceKlassHandle ikh(current_thread, k_oop);
if (ikh->get_cached_class_file_bytes() == NULL) {
- // not cached, we need to reconstitute the class file from VM representation
+ // Not cached, we need to reconstitute the class file from the
+ // VM representation. We don't attach the reconstituted class
+ // bytes to the instanceKlass here because they have not been
+ // validated and we're not at a safepoint.
constantPoolHandle constants(current_thread, ikh->constants());
ObjectLocker ol(constants, current_thread); // lock constant pool while we query it
diff --git a/hotspot/src/share/vm/prims/jvmtiExport.cpp b/hotspot/src/share/vm/prims/jvmtiExport.cpp
index 181716d..5325073 100644
--- a/hotspot/src/share/vm/prims/jvmtiExport.cpp
+++ b/hotspot/src/share/vm/prims/jvmtiExport.cpp
@@ -538,8 +538,6 @@ class JvmtiClassFileLoadHookPoster : public StackObj {
_curr_env = NULL;
_cached_length_ptr = cached_length_ptr;
_cached_data_ptr = cached_data_ptr;
- *_cached_length_ptr = 0;
- *_cached_data_ptr = NULL;
_state = _thread->jvmti_thread_state();
if (_state != NULL) {
diff --git a/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp b/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp
index 10a478b..295ed86 100644
--- a/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp
+++ b/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp
@@ -854,8 +854,9 @@ jvmtiError VM_RedefineClasses::load_new_class_versions(TRAPS) {
// RC_TRACE_WITH_THREAD macro has an embedded ResourceMark
RC_TRACE_WITH_THREAD(0x00000001, THREAD,
- ("loading name=%s (avail_mem=" UINT64_FORMAT "K)",
- the_class->external_name(), os::available_memory() >> 10));
+ ("loading name=%s kind=%d (avail_mem=" UINT64_FORMAT "K)",
+ the_class->external_name(), _class_load_kind,
+ os::available_memory() >> 10));
ClassFileStream st((u1*) _class_defs[i].class_bytes,
_class_defs[i].class_byte_count, (char *)"__VM_RedefineClasses__");
@@ -3205,8 +3206,20 @@ void VM_RedefineClasses::redefine_single_class(jclass the_jclass,
// with them was cached on the scratch class, move to the_class.
// Note: we still want to do this if nothing needed caching since it
// should get cleared in the_class too.
- the_class->set_cached_class_file(scratch_class->get_cached_class_file_bytes(),
- scratch_class->get_cached_class_file_len());
+ if (the_class->get_cached_class_file_bytes() == 0) {
+ // the_class doesn't have a cache yet so copy it
+ the_class->set_cached_class_file(
+ scratch_class->get_cached_class_file_bytes(),
+ scratch_class->get_cached_class_file_len());
+ }
+#ifndef PRODUCT
+ else {
+ assert(the_class->get_cached_class_file_bytes() ==
+ scratch_class->get_cached_class_file_bytes(), "cache ptrs must match");
+ assert(the_class->get_cached_class_file_len() ==
+ scratch_class->get_cached_class_file_len(), "cache lens must match");
+ }
+#endif
// Replace inner_classes
typeArrayOop old_inner_classes = the_class->inner_classes();
diff --git a/hotspot/src/share/vm/prims/methodHandles.cpp b/hotspot/src/share/vm/prims/methodHandles.cpp
index d43cb97..552fbe6 100644
--- a/hotspot/src/share/vm/prims/methodHandles.cpp
+++ b/hotspot/src/share/vm/prims/methodHandles.cpp
@@ -194,9 +194,6 @@ bool MethodHandles::spot_check_entry_names() {
// MethodHandles::generate_adapters
//
void MethodHandles::generate_adapters() {
-#ifdef TARGET_ARCH_NYI_6939861
- if (FLAG_IS_DEFAULT(UseRicochetFrames)) UseRicochetFrames = false;
-#endif
if (!EnableInvokeDynamic || SystemDictionary::MethodHandle_klass() == NULL) return;
assert(_adapter_code == NULL, "generate only once");
@@ -230,18 +227,6 @@ void MethodHandlesAdapterGenerator::generate() {
}
-#ifdef TARGET_ARCH_NYI_6939861
-// these defs belong in methodHandles_<arch>.cpp
-frame MethodHandles::ricochet_frame_sender(const frame& fr, RegisterMap *map) {
- ShouldNotCallThis();
- return fr;
-}
-void MethodHandles::ricochet_frame_oops_do(const frame& fr, OopClosure* f, const RegisterMap* reg_map) {
- ShouldNotCallThis();
-}
-#endif //TARGET_ARCH_NYI_6939861
-
-
//------------------------------------------------------------------------------
// MethodHandles::ek_supported
//
@@ -251,28 +236,11 @@ bool MethodHandles::ek_supported(MethodHandles::EntryKind ek) {
case _adapter_unused_13:
return false; // not defined yet
case _adapter_prim_to_ref:
- return UseRicochetFrames && conv_op_supported(java_lang_invoke_AdapterMethodHandle::OP_PRIM_TO_REF);
+ return conv_op_supported(java_lang_invoke_AdapterMethodHandle::OP_PRIM_TO_REF);
case _adapter_collect_args:
- return UseRicochetFrames && conv_op_supported(java_lang_invoke_AdapterMethodHandle::OP_COLLECT_ARGS);
+ return conv_op_supported(java_lang_invoke_AdapterMethodHandle::OP_COLLECT_ARGS);
case _adapter_fold_args:
- return UseRicochetFrames && conv_op_supported(java_lang_invoke_AdapterMethodHandle::OP_FOLD_ARGS);
- case _adapter_opt_return_any:
- return UseRicochetFrames;
-#ifdef TARGET_ARCH_NYI_6939861
- // ports before 6939861 supported only three kinds of spread ops
- case _adapter_spread_args:
- // restrict spreads to three kinds:
- switch (ek) {
- case _adapter_opt_spread_0:
- case _adapter_opt_spread_1:
- case _adapter_opt_spread_more:
- break;
- default:
- return false;
- break;
- }
- break;
-#endif //TARGET_ARCH_NYI_6939861
+ return conv_op_supported(java_lang_invoke_AdapterMethodHandle::OP_FOLD_ARGS);
}
return true;
}
@@ -1988,9 +1956,6 @@ void MethodHandles::verify_AdapterMethodHandle(Handle mh, int argnum, TRAPS) {
case _adapter_prim_to_ref: // boxer MH to use
case _adapter_collect_args: // method handle which collects the args
case _adapter_fold_args: // method handle which collects the args
- if (!UseRicochetFrames) {
- { err = "box/collect/fold operators are not supported"; break; }
- }
if (!java_lang_invoke_MethodHandle::is_instance(argument()))
{ err = "MethodHandle adapter argument required"; break; }
arg_mtype = Handle(THREAD, java_lang_invoke_MethodHandle::type(argument()));
@@ -2370,7 +2335,6 @@ void MethodHandles::init_AdapterMethodHandle(Handle mh, Handle target, int argnu
case _adapter_prim_to_ref:
{
- assert(UseRicochetFrames, "else don't come here");
// vminfo will be the location to insert the return value
vminfo = argslot;
ek_opt = _adapter_opt_collect_ref;
@@ -2436,20 +2400,6 @@ void MethodHandles::init_AdapterMethodHandle(Handle mh, Handle target, int argnu
case _adapter_spread_args:
{
-#ifdef TARGET_ARCH_NYI_6939861
- // ports before 6939861 supported only three kinds of spread ops
- if (!UseRicochetFrames) {
- int array_size = slots_pushed + 1;
- assert(array_size >= 0, "");
- vminfo = array_size;
- switch (array_size) {
- case 0: ek_opt = _adapter_opt_spread_0; break;
- case 1: ek_opt = _adapter_opt_spread_1; break;
- default: ek_opt = _adapter_opt_spread_more; break;
- }
- break;
- }
-#endif //TARGET_ARCH_NYI_6939861
// vminfo will be the required length of the array
int array_size = (slots_pushed + 1) / (type2size[dest] == 2 ? 2 : 1);
vminfo = array_size;
@@ -2494,7 +2444,6 @@ void MethodHandles::init_AdapterMethodHandle(Handle mh, Handle target, int argnu
case _adapter_collect_args:
{
- assert(UseRicochetFrames, "else don't come here");
int elem_slots = argument_slot_count(java_lang_invoke_MethodHandle::type(argument()));
// vminfo will be the location to insert the return value
vminfo = argslot;
@@ -2563,7 +2512,6 @@ void MethodHandles::init_AdapterMethodHandle(Handle mh, Handle target, int argnu
case _adapter_fold_args:
{
- assert(UseRicochetFrames, "else don't come here");
int elem_slots = argument_slot_count(java_lang_invoke_MethodHandle::type(argument()));
// vminfo will be the location to insert the return value
vminfo = argslot + elem_slots;
diff --git a/hotspot/src/share/vm/prims/methodHandles.hpp b/hotspot/src/share/vm/prims/methodHandles.hpp
index f1c44ba..514ba6a 100644
--- a/hotspot/src/share/vm/prims/methodHandles.hpp
+++ b/hotspot/src/share/vm/prims/methodHandles.hpp
@@ -738,46 +738,6 @@ public:
#ifdef TARGET_ARCH_ppc
# include "methodHandles_ppc.hpp"
#endif
-
-#ifdef TARGET_ARCH_NYI_6939861
- // Here are some backward compatible declarations until the 6939861 ports are updated.
- #define _adapter_flyby (_EK_LIMIT + 10)
- #define _adapter_ricochet (_EK_LIMIT + 11)
- #define _adapter_opt_spread_1 _adapter_opt_spread_1_ref
- #define _adapter_opt_spread_more _adapter_opt_spread_ref
- enum {
- _INSERT_NO_MASK = -1,
- _INSERT_REF_MASK = 0,
- _INSERT_INT_MASK = 1,
- _INSERT_LONG_MASK = 3
- };
- static void get_ek_bound_mh_info(EntryKind ek, BasicType& arg_type, int& arg_mask, int& arg_slots) {
- arg_type = ek_bound_mh_arg_type(ek);
- arg_mask = 0;
- arg_slots = type2size[arg_type];;
- }
- static void get_ek_adapter_opt_swap_rot_info(EntryKind ek, int& swap_bytes, int& rotate) {
- int swap_slots = ek_adapter_opt_swap_slots(ek);
- rotate = ek_adapter_opt_swap_mode(ek);
- swap_bytes = swap_slots * Interpreter::stackElementSize;
- }
- static int get_ek_adapter_opt_spread_info(EntryKind ek) {
- return ek_adapter_opt_spread_count(ek);
- }
-
- static void insert_arg_slots(MacroAssembler* _masm,
- RegisterOrConstant arg_slots,
- int arg_mask,
- Register argslot_reg,
- Register temp_reg, Register temp2_reg, Register temp3_reg = noreg);
-
- static void remove_arg_slots(MacroAssembler* _masm,
- RegisterOrConstant arg_slots,
- Register argslot_reg,
- Register temp_reg, Register temp2_reg, Register temp3_reg = noreg);
-
- static void trace_method_handle(MacroAssembler* _masm, const char* adaptername) PRODUCT_RETURN;
-#endif //TARGET_ARCH_NYI_6939861
};
diff --git a/hotspot/src/share/vm/runtime/advancedThresholdPolicy.cpp b/hotspot/src/share/vm/runtime/advancedThresholdPolicy.cpp
index 758bf5c..a7dab0b 100644
--- a/hotspot/src/share/vm/runtime/advancedThresholdPolicy.cpp
+++ b/hotspot/src/share/vm/runtime/advancedThresholdPolicy.cpp
@@ -156,20 +156,19 @@ bool AdvancedThresholdPolicy::is_method_profiled(methodOop method) {
// Called with the queue locked and with at least one element
CompileTask* AdvancedThresholdPolicy::select_task(CompileQueue* compile_queue) {
CompileTask *max_task = NULL;
- methodOop max_method;
+ methodHandle max_method;
jlong t = os::javaTimeMillis();
// Iterate through the queue and find a method with a maximum rate.
for (CompileTask* task = compile_queue->first(); task != NULL;) {
CompileTask* next_task = task->next();
- methodOop method = (methodOop)JNIHandles::resolve(task->method_handle());
- methodDataOop mdo = method->method_data();
- update_rate(t, method);
+ methodHandle method = (methodOop)JNIHandles::resolve(task->method_handle());
+ update_rate(t, method());
if (max_task == NULL) {
max_task = task;
max_method = method;
} else {
// If a method has been stale for some time, remove it from the queue.
- if (is_stale(t, TieredCompileTaskTimeout, method) && !is_old(method)) {
+ if (is_stale(t, TieredCompileTaskTimeout, method()) && !is_old(method())) {
if (PrintTieredEvents) {
print_event(REMOVE_FROM_QUEUE, method, method, task->osr_bci(), (CompLevel)task->comp_level());
}
@@ -181,7 +180,7 @@ CompileTask* AdvancedThresholdPolicy::select_task(CompileQueue* compile_queue) {
}
// Select a method with a higher rate
- if (compare_methods(method, max_method)) {
+ if (compare_methods(method(), max_method())) {
max_task = task;
max_method = method;
}
@@ -190,7 +189,7 @@ CompileTask* AdvancedThresholdPolicy::select_task(CompileQueue* compile_queue) {
}
if (max_task->comp_level() == CompLevel_full_profile && TieredStopAtLevel > CompLevel_full_profile
- && is_method_profiled(max_method)) {
+ && is_method_profiled(max_method())) {
max_task->set_comp_level(CompLevel_limited_profile);
if (PrintTieredEvents) {
print_event(UPDATE_IN_QUEUE, max_method, max_method, max_task->osr_bci(), (CompLevel)max_task->comp_level());
diff --git a/hotspot/src/share/vm/runtime/arguments.cpp b/hotspot/src/share/vm/runtime/arguments.cpp
index f0e1be3..9fd5522 100644
--- a/hotspot/src/share/vm/runtime/arguments.cpp
+++ b/hotspot/src/share/vm/runtime/arguments.cpp
@@ -1024,6 +1024,13 @@ void Arguments::set_mode_flags(Mode mode) {
UseInterpreter = false;
BackgroundCompilation = false;
ClipInlining = false;
+ // Be much more aggressive in tiered mode with -Xcomp and exercise C2 more.
+ // We will first compile a level 3 version (C1 with full profiling), then do one invocation of it and
+ // compile a level 4 (C2) and then continue executing it.
+ if (TieredCompilation) {
+ Tier3InvokeNotifyFreqLog = 0;
+ Tier4InvocationThreshold = 0;
+ }
break;
}
}
@@ -1383,9 +1390,12 @@ void Arguments::set_ergonomics_flags() {
// by ergonomics.
if (MaxHeapSize <= max_heap_for_compressed_oops()) {
#if !defined(COMPILER1) || defined(TIERED)
+// disable UseCompressedOops by default on MacOS X until 7118647 is fixed
+#ifndef __APPLE__
if (FLAG_IS_DEFAULT(UseCompressedOops)) {
FLAG_SET_ERGO(bool, UseCompressedOops, true);
}
+#endif // !__APPLE__
#endif
#ifdef _WIN64
if (UseLargePages && UseCompressedOops) {
@@ -1418,8 +1428,8 @@ void Arguments::set_parallel_gc_flags() {
// If no heap maximum was requested explicitly, use some reasonable fraction
// of the physical memory, up to a maximum of 1GB.
if (UseParallelGC) {
- FLAG_SET_ERGO(uintx, ParallelGCThreads,
- Abstract_VM_Version::parallel_worker_threads());
+ FLAG_SET_DEFAULT(ParallelGCThreads,
+ Abstract_VM_Version::parallel_worker_threads());
// If InitialSurvivorRatio or MinSurvivorRatio were not specified, but the
// SurvivorRatio has been set, reset their default values to SurvivorRatio +
@@ -2363,7 +2373,7 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args,
#ifndef PRODUCT
// -Xprintflags
} else if (match_option(option, "-Xprintflags", &tail)) {
- CommandLineFlags::printFlags();
+ CommandLineFlags::printFlags(tty, false);
vm_exit(0);
#endif
// -D
@@ -3011,13 +3021,13 @@ jint Arguments::parse(const JavaVMInitArgs* args) {
IgnoreUnrecognizedVMOptions = false;
}
if (match_option(option, "-XX:+PrintFlagsInitial", &tail)) {
- CommandLineFlags::printFlags();
+ CommandLineFlags::printFlags(tty, false);
vm_exit(0);
}
#ifndef PRODUCT
if (match_option(option, "-XX:+PrintFlagsWithComments", &tail)) {
- CommandLineFlags::printFlags(true);
+ CommandLineFlags::printFlags(tty, true);
vm_exit(0);
}
#endif
@@ -3193,6 +3203,9 @@ jint Arguments::parse(const JavaVMInitArgs* args) {
if (!UseBiasedLocking || EmitSync != 0) {
UseOptoBiasInlining = false;
}
+ if (!EliminateLocks) {
+ EliminateNestedLocks = false;
+ }
#endif
if (PrintAssembly && FLAG_IS_DEFAULT(DebugNonSafepoints)) {
@@ -3210,7 +3223,7 @@ jint Arguments::parse(const JavaVMInitArgs* args) {
#endif
if (PrintCommandLineFlags) {
- CommandLineFlags::printSetFlags();
+ CommandLineFlags::printSetFlags(tty);
}
// Apply CPU specific policy for the BiasedLocking
diff --git a/hotspot/src/share/vm/runtime/deoptimization.cpp b/hotspot/src/share/vm/runtime/deoptimization.cpp
index 05771c3..44eeee8 100644
--- a/hotspot/src/share/vm/runtime/deoptimization.cpp
+++ b/hotspot/src/share/vm/runtime/deoptimization.cpp
@@ -211,7 +211,7 @@ Deoptimization::UnrollBlock* Deoptimization::fetch_unroll_info_helper(JavaThread
#ifdef COMPILER2
// Reallocate the non-escaping objects and restore their fields. Then
// relock objects if synchronization on them was eliminated.
- if (DoEscapeAnalysis) {
+ if (DoEscapeAnalysis || EliminateNestedLocks) {
if (EliminateAllocations) {
assert (chunk->at(0)->scope() != NULL,"expect only compiled java frames");
GrowableArray<ScopeValue*>* objects = chunk->at(0)->scope()->objects();
diff --git a/hotspot/src/share/vm/runtime/frame.cpp b/hotspot/src/share/vm/runtime/frame.cpp
index c3a0852..7f4a2ac 100644
--- a/hotspot/src/share/vm/runtime/frame.cpp
+++ b/hotspot/src/share/vm/runtime/frame.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -1334,24 +1334,21 @@ void frame::interpreter_frame_verify_monitor(BasicObjectLock* value) const {
void frame::describe(FrameValues& values, int frame_no) {
+ intptr_t* frame_pointer = real_fp();
if (is_entry_frame() || is_compiled_frame() || is_interpreted_frame() || is_native_frame()) {
// Label values common to most frames
values.describe(-1, unextended_sp(), err_msg("unextended_sp for #%d", frame_no));
values.describe(-1, sp(), err_msg("sp for #%d", frame_no));
- if (is_compiled_frame()) {
- values.describe(-1, sp() + _cb->frame_size(), err_msg("computed fp for #%d", frame_no));
- } else {
- values.describe(-1, fp(), err_msg("fp for #%d", frame_no));
- }
+ values.describe(-1, frame_pointer, err_msg("frame pointer for #%d", frame_no));
}
if (is_interpreted_frame()) {
methodOop m = interpreter_frame_method();
int bci = interpreter_frame_bci();
// Label the method and current bci
- values.describe(-1, MAX2(sp(), fp()),
+ values.describe(-1, MAX2(sp(), frame_pointer),
FormatBuffer<1024>("#%d method %s @ %d", frame_no, m->name_and_sig_as_C_string(), bci), 2);
- values.describe(-1, MAX2(sp(), fp()),
+ values.describe(-1, MAX2(sp(), frame_pointer),
err_msg("- %d locals %d max stack", m->max_locals(), m->max_stack()), 1);
if (m->max_locals() > 0) {
intptr_t* l0 = interpreter_frame_local_at(0);
@@ -1383,18 +1380,18 @@ void frame::describe(FrameValues& values, int frame_no) {
}
} else if (is_entry_frame()) {
// For now just label the frame
- values.describe(-1, MAX2(sp(), fp()), err_msg("#%d entry frame", frame_no), 2);
+ values.describe(-1, MAX2(sp(), frame_pointer), err_msg("#%d entry frame", frame_no), 2);
} else if (is_compiled_frame()) {
// For now just label the frame
nmethod* nm = cb()->as_nmethod_or_null();
- values.describe(-1, MAX2(sp(), fp()),
+ values.describe(-1, MAX2(sp(), frame_pointer),
FormatBuffer<1024>("#%d nmethod " INTPTR_FORMAT " for method %s%s", frame_no,
nm, nm->method()->name_and_sig_as_C_string(),
is_deoptimized_frame() ? " (deoptimized" : ""), 2);
} else if (is_native_frame()) {
// For now just label the frame
nmethod* nm = cb()->as_nmethod_or_null();
- values.describe(-1, MAX2(sp(), fp()),
+ values.describe(-1, MAX2(sp(), frame_pointer),
FormatBuffer<1024>("#%d nmethod " INTPTR_FORMAT " for native method %s", frame_no,
nm, nm->method()->name_and_sig_as_C_string()), 2);
}
diff --git a/hotspot/src/share/vm/runtime/frame.hpp b/hotspot/src/share/vm/runtime/frame.hpp
index ec00e3a..02e06d1 100644
--- a/hotspot/src/share/vm/runtime/frame.hpp
+++ b/hotspot/src/share/vm/runtime/frame.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -221,6 +221,15 @@ class frame VALUE_OBJ_CLASS_SPEC {
// returns the stack pointer of the calling frame
intptr_t* sender_sp() const;
+ // Returns the real 'frame pointer' for the current frame.
+ // This is the value expected by the platform ABI when it defines a
+ // frame pointer register. It may differ from the effective value of
+ // the FP register when that register is used in the JVM for other
+ // purposes (like compiled frames on some platforms).
+ // On other platforms, it is defined so that the stack area used by
+ // this frame goes from real_fp() to sp().
+ intptr_t* real_fp() const;
+
// Deoptimization info, if needed (platform dependent).
// Stored in the initial_info field of the unroll info, to be used by
// the platform dependent deoptimization blobs.
diff --git a/hotspot/src/share/vm/runtime/globals.cpp b/hotspot/src/share/vm/runtime/globals.cpp
index efce31a..13ce54f 100644
--- a/hotspot/src/share/vm/runtime/globals.cpp
+++ b/hotspot/src/share/vm/runtime/globals.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -55,10 +55,13 @@ RUNTIME_OS_FLAGS(MATERIALIZE_DEVELOPER_FLAG, MATERIALIZE_PD_DEVELOPER_FLAG, \
MATERIALIZE_PRODUCT_FLAG, MATERIALIZE_PD_PRODUCT_FLAG, \
MATERIALIZE_DIAGNOSTIC_FLAG, MATERIALIZE_NOTPRODUCT_FLAG)
+MATERIALIZE_FLAGS_EXT
+
+
bool Flag::is_unlocker() const {
return strcmp(name, "UnlockDiagnosticVMOptions") == 0 ||
- strcmp(name, "UnlockExperimentalVMOptions") == 0;
-
+ strcmp(name, "UnlockExperimentalVMOptions") == 0 ||
+ is_unlocker_ext();
}
bool Flag::is_unlocked() const {
@@ -74,21 +77,24 @@ bool Flag::is_unlocked() const {
strcmp(kind, "{C2 experimental}") == 0) {
return UnlockExperimentalVMOptions;
} else {
- return true;
+ return is_unlocked_ext();
}
}
bool Flag::is_writeable() const {
- return (strcmp(kind, "{manageable}") == 0 || strcmp(kind, "{product rw}") == 0);
+ return strcmp(kind, "{manageable}") == 0 ||
+ strcmp(kind, "{product rw}") == 0 ||
+ is_writeable_ext();
}
-// All flags except "manageable" are assumed internal flags.
+// All flags except "manageable" are assumed to be internal flags.
// Long term, we need to define a mechanism to specify which flags
// are external/stable and change this function accordingly.
bool Flag::is_external() const {
- return (strcmp(kind, "{manageable}") == 0);
+ return strcmp(kind, "{manageable}") == 0 || is_external_ext();
}
+
// Length of format string (e.g. "%.1234s") for printing ccstr below
#define FORMAT_BUFFER_LEN 16
@@ -241,6 +247,7 @@ static Flag flagTable[] = {
#ifdef SHARK
SHARK_FLAGS(SHARK_DEVELOP_FLAG_STRUCT, SHARK_PD_DEVELOP_FLAG_STRUCT, SHARK_PRODUCT_FLAG_STRUCT, SHARK_PD_PRODUCT_FLAG_STRUCT, SHARK_DIAGNOSTIC_FLAG_STRUCT, SHARK_NOTPRODUCT_FLAG_STRUCT)
#endif
+ FLAGTABLE_EXT
{0, NULL, NULL}
};
@@ -481,7 +488,7 @@ extern "C" {
}
}
-void CommandLineFlags::printSetFlags() {
+void CommandLineFlags::printSetFlags(outputStream* out) {
// Print which flags were set on the command line
// note: this method is called before the thread structure is in place
// which means resource allocation cannot be used.
@@ -500,11 +507,11 @@ void CommandLineFlags::printSetFlags() {
// Print
for (int i = 0; i < length; i++) {
if (array[i]->origin /* naked field! */) {
- array[i]->print_as_flag(tty);
- tty->print(" ");
+ array[i]->print_as_flag(out);
+ out->print(" ");
}
}
- tty->cr();
+ out->cr();
FREE_C_HEAP_ARRAY(Flag*, array);
}
@@ -517,7 +524,7 @@ void CommandLineFlags::verify() {
#endif // PRODUCT
-void CommandLineFlags::printFlags(bool withComments) {
+void CommandLineFlags::printFlags(outputStream* out, bool withComments) {
// Print the flags sorted by name
// note: this method is called before the thread structure is in place
// which means resource allocation cannot be used.
@@ -534,10 +541,10 @@ void CommandLineFlags::printFlags(bool withComments) {
qsort(array, length, sizeof(Flag*), compare_flags);
// Print
- tty->print_cr("[Global flags]");
+ out->print_cr("[Global flags]");
for (int i = 0; i < length; i++) {
if (array[i]->is_unlocked()) {
- array[i]->print_on(tty, withComments);
+ array[i]->print_on(out, withComments);
}
}
FREE_C_HEAP_ARRAY(Flag*, array);
diff --git a/hotspot/src/share/vm/runtime/globals.hpp b/hotspot/src/share/vm/runtime/globals.hpp
index f330d44..88e5938 100644
--- a/hotspot/src/share/vm/runtime/globals.hpp
+++ b/hotspot/src/share/vm/runtime/globals.hpp
@@ -243,6 +243,11 @@ struct Flag {
bool is_writeable() const;
bool is_external() const;
+ bool is_unlocker_ext() const;
+ bool is_unlocked_ext() const;
+ bool is_writeable_ext() const;
+ bool is_external_ext() const;
+
void print_on(outputStream* st, bool withComments = false );
void print_as_flag(outputStream* st);
};
@@ -321,9 +326,9 @@ class CommandLineFlags {
// Returns false if name is not a command line flag.
static bool wasSetOnCmdline(const char* name, bool* value);
- static void printSetFlags();
+ static void printSetFlags(outputStream* out);
- static void printFlags(bool withComments = false );
+ static void printFlags(outputStream* out, bool withComments);
static void verify() PRODUCT_RETURN;
};
@@ -522,6 +527,9 @@ class CommandLineFlags {
product(intx, UseSSE, 99, \
"Highest supported SSE instructions set on x86/x64") \
\
+ product(intx, UseAVX, 99, \
+ "Highest supported AVX instructions set on x86/x64") \
+ \
product(intx, UseVIS, 99, \
"Highest supported VIS instructions set on Sparc") \
\
@@ -887,7 +895,7 @@ class CommandLineFlags {
diagnostic(bool, TraceNMethodInstalls, false, \
"Trace nmethod intallation") \
\
- diagnostic(intx, ScavengeRootsInCode, 1, \
+ diagnostic(intx, ScavengeRootsInCode, 2, \
"0: do not allow scavengable oops in the code cache; " \
"1: allow scavenging from the code cache; " \
"2: emit as many constants as the compiler can see") \
@@ -1416,6 +1424,21 @@ class CommandLineFlags {
product(uintx, ParallelGCThreads, 0, \
"Number of parallel threads parallel gc will use") \
\
+ product(bool, UseDynamicNumberOfGCThreads, false, \
+ "Dynamically choose the number of parallel threads " \
+ "parallel gc will use") \
+ \
+ diagnostic(bool, ForceDynamicNumberOfGCThreads, false, \
+ "Force dynamic selection of the number of" \
+ "parallel threads parallel gc will use to aid debugging") \
+ \
+ product(uintx, HeapSizePerGCThread, ScaleForWordSize(64*M), \
+ "Size of heap (bytes) per GC thread used in calculating the " \
+ "number of GC threads") \
+ \
+ product(bool, TraceDynamicGCThreads, false, \
+ "Trace the dynamic GC thread usage") \
+ \
develop(bool, ParallelOldGCSplitALot, false, \
"Provoke splitting (copying data from a young gen space to" \
"multiple destination spaces)") \
@@ -1533,7 +1556,7 @@ class CommandLineFlags {
product(uintx, ParGCDesiredObjsFromOverflowList, 20, \
"The desired number of objects to claim from the overflow list") \
\
- diagnostic(intx, ParGCStridesPerThread, 2, \
+ diagnostic(uintx, ParGCStridesPerThread, 2, \
"The number of strides per worker thread that we divide up the " \
"card table scanning work into") \
\
@@ -2357,7 +2380,7 @@ class CommandLineFlags {
develop(bool, TraceGCTaskQueue, false, \
"Trace actions of the GC task queues") \
\
- develop(bool, TraceGCTaskThread, false, \
+ diagnostic(bool, TraceGCTaskThread, false, \
"Trace actions of the GC task threads") \
\
product(bool, PrintParallelOldGCPhaseTimes, false, \
@@ -3803,10 +3826,6 @@ class CommandLineFlags {
develop(bool, StressMethodHandleWalk, false, \
"Process all method handles with MethodHandleWalk") \
\
- diagnostic(bool, UseRicochetFrames, true, \
- "use ricochet stack frames for method handle combination, " \
- "if the platform supports them") \
- \
experimental(bool, TrustFinalNonStaticFields, false, \
"trust final non-static declarations for constant folding") \
\
@@ -3907,4 +3926,8 @@ RUNTIME_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT
RUNTIME_OS_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_NOTPRODUCT_FLAG)
+// Extensions
+
+#include "runtime/globals_ext.hpp"
+
#endif // SHARE_VM_RUNTIME_GLOBALS_HPP
diff --git a/hotspot/src/share/vm/runtime/globals_ext.hpp b/hotspot/src/share/vm/runtime/globals_ext.hpp
new file mode 100644
index 0000000..15191df
--- /dev/null
+++ b/hotspot/src/share/vm/runtime/globals_ext.hpp
@@ -0,0 +1,64 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+#ifndef SHARE_VM_RUNTIME_GLOBALS_EXT_HPP
+#define SHARE_VM_RUNTIME_GLOBALS_EXT_HPP
+
+// globals_extension.hpp extension
+
+// Additional CommandLineFlags enum values
+#define COMMANDLINEFLAG_EXT
+
+// Additional CommandLineFlagsWithType enum values
+#define COMMANDLINEFLAGWITHTYPE_EXT
+
+
+// globals.cpp extension
+
+// Additional flag definitions
+#define MATERIALIZE_FLAGS_EXT
+
+// Additional flag descriptors: see flagTable definition
+#define FLAGTABLE_EXT
+
+
+// Default method implementations
+
+inline bool Flag::is_unlocker_ext() const {
+ return false;
+}
+
+inline bool Flag::is_unlocked_ext() const {
+ return true;
+}
+
+inline bool Flag::is_writeable_ext() const {
+ return false;
+}
+
+inline bool Flag::is_external_ext() const {
+ return false;
+}
+
+#endif // SHARE_VM_RUNTIME_GLOBALS_EXT_HPP
diff --git a/hotspot/src/share/vm/runtime/globals_extension.hpp b/hotspot/src/share/vm/runtime/globals_extension.hpp
index c51ede0..a87e781 100644
--- a/hotspot/src/share/vm/runtime/globals_extension.hpp
+++ b/hotspot/src/share/vm/runtime/globals_extension.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -93,6 +93,7 @@ typedef enum {
#ifdef COMPILER2
C2_FLAGS(C2_DEVELOP_FLAG_MEMBER, C2_PD_DEVELOP_FLAG_MEMBER, C2_PRODUCT_FLAG_MEMBER, C2_PD_PRODUCT_FLAG_MEMBER, C2_DIAGNOSTIC_FLAG_MEMBER, C2_EXPERIMENTAL_FLAG_MEMBER, C2_NOTPRODUCT_FLAG_MEMBER)
#endif
+ COMMANDLINEFLAG_EXT
NUM_CommandLineFlag
} CommandLineFlag;
@@ -192,6 +193,7 @@ typedef enum {
C2_EXPERIMENTAL_FLAG_MEMBER_WITH_TYPE,
C2_NOTPRODUCT_FLAG_MEMBER_WITH_TYPE)
#endif
+ COMMANDLINEFLAGWITHTYPE_EXT
NUM_CommandLineFlagWithType
} CommandLineFlagWithType;
diff --git a/hotspot/src/share/vm/runtime/init.cpp b/hotspot/src/share/vm/runtime/init.cpp
index 1f09c36..4176cd8 100644
--- a/hotspot/src/share/vm/runtime/init.cpp
+++ b/hotspot/src/share/vm/runtime/init.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -47,15 +47,16 @@ void bytecodes_init();
void classLoader_init();
void codeCache_init();
void VM_Version_init();
+void os_init_globals(); // depends on VM_Version_init, before universe_init
void stubRoutines_init1();
-jint universe_init(); // dependent on codeCache_init and stubRoutines_init
-void interpreter_init(); // before any methods loaded
-void invocationCounter_init(); // before any methods loaded
+jint universe_init(); // depends on codeCache_init and stubRoutines_init
+void interpreter_init(); // before any methods loaded
+void invocationCounter_init(); // before any methods loaded
void marksweep_init();
void accessFlags_init();
void templateTable_init();
void InterfaceSupport_init();
-void universe2_init(); // dependent on codeCache_init and stubRoutines_init
+void universe2_init(); // dependent on codeCache_init and stubRoutines_init, loads primordial classes
void referenceProcessor_init();
void jni_handles_init();
void vmStructs_init();
@@ -94,8 +95,10 @@ jint init_globals() {
classLoader_init();
codeCache_init();
VM_Version_init();
+ os_init_globals();
stubRoutines_init1();
- jint status = universe_init(); // dependent on codeCache_init and stubRoutines_init
+ jint status = universe_init(); // dependent on codeCache_init and
+ // stubRoutines_init1
if (status != JNI_OK)
return status;
@@ -106,7 +109,7 @@ jint init_globals() {
templateTable_init();
InterfaceSupport_init();
SharedRuntime::generate_stubs();
- universe2_init(); // dependent on codeCache_init and stubRoutines_init
+ universe2_init(); // dependent on codeCache_init and stubRoutines_init1
referenceProcessor_init();
jni_handles_init();
#ifndef VM_STRUCTS_KERNEL
@@ -122,7 +125,7 @@ jint init_globals() {
if (!universe_post_init()) {
return JNI_ERR;
}
- javaClasses_init(); // must happen after vtable initialization
+ javaClasses_init(); // must happen after vtable initialization
stubRoutines_init2(); // note: StubRoutines need 2-phase init
// Although we'd like to, we can't easily do a heap verify
@@ -137,7 +140,7 @@ jint init_globals() {
// All the flags that get adjusted by VM_Version_init and os::init_2
// have been set so dump the flags now.
if (PrintFlagsFinal) {
- CommandLineFlags::printFlags();
+ CommandLineFlags::printFlags(tty, false);
}
return JNI_OK;
diff --git a/hotspot/src/share/vm/runtime/java.cpp b/hotspot/src/share/vm/runtime/java.cpp
index c04bd23..f256e51 100644
--- a/hotspot/src/share/vm/runtime/java.cpp
+++ b/hotspot/src/share/vm/runtime/java.cpp
@@ -57,6 +57,8 @@
#include "runtime/task.hpp"
#include "runtime/timer.hpp"
#include "runtime/vm_operations.hpp"
+#include "trace/tracing.hpp"
+#include "trace/traceEventTypes.hpp"
#include "utilities/dtrace.hpp"
#include "utilities/globalDefinitions.hpp"
#include "utilities/histogram.hpp"
@@ -502,6 +504,11 @@ void before_exit(JavaThread * thread) {
if (JvmtiExport::should_post_thread_life()) {
JvmtiExport::post_thread_end(thread);
}
+
+ EVENT_BEGIN(TraceEventThreadEnd, event);
+ EVENT_COMMIT(event,
+ EVENT_SET(event, javalangthread, java_lang_Thread::thread_id(thread->threadObj())));
+
// Always call even when there are not JVMTI environments yet, since environments
// may be attached late and JVMTI must track phases of VM execution
JvmtiExport::post_vm_death();
diff --git a/hotspot/src/share/vm/runtime/mutex.cpp b/hotspot/src/share/vm/runtime/mutex.cpp
index 80d3d87..dddd27c 100644
--- a/hotspot/src/share/vm/runtime/mutex.cpp
+++ b/hotspot/src/share/vm/runtime/mutex.cpp
@@ -527,7 +527,21 @@ void Monitor::ILock (Thread * Self) {
void Monitor::IUnlock (bool RelaxAssert) {
assert (ILocked(), "invariant") ;
- _LockWord.Bytes[_LSBINDEX] = 0 ; // drop outer lock
+ // Conceptually we need a MEMBAR #storestore|#loadstore barrier or fence immediately
+ // before the store that releases the lock. Crucially, all the stores and loads in the
+ // critical section must be globally visible before the store of 0 into the lock-word
+ // that releases the lock becomes globally visible. That is, memory accesses in the
+ // critical section should not be allowed to bypass or overtake the following ST that
+ // releases the lock. As such, to prevent accesses within the critical section
+ // from "leaking" out, we need a release fence between the critical section and the
+ // store that releases the lock. In practice that release barrier is elided on
+ // platforms with strong memory models such as TSO.
+ //
+ // Note that the OrderAccess::storeload() fence that appears after unlock store
+ // provides for progress conditions and succession and is _not related to exclusion
+ // safety or lock release consistency.
+ OrderAccess::release_store(&_LockWord.Bytes[_LSBINDEX], 0); // drop outer lock
+
OrderAccess::storeload ();
ParkEvent * const w = _OnDeck ;
assert (RelaxAssert || w != Thread::current()->_MutexEvent, "invariant") ;
diff --git a/hotspot/src/share/vm/runtime/mutexLocker.cpp b/hotspot/src/share/vm/runtime/mutexLocker.cpp
index 7653b5b..0a2d879 100644
--- a/hotspot/src/share/vm/runtime/mutexLocker.cpp
+++ b/hotspot/src/share/vm/runtime/mutexLocker.cpp
@@ -132,7 +132,13 @@ Mutex* HotCardCache_lock = NULL;
Monitor* GCTaskManager_lock = NULL;
Mutex* Management_lock = NULL;
-Monitor* Service_lock = NULL;
+Monitor* Service_lock = NULL;
+Mutex* Stacktrace_lock = NULL;
+
+Monitor* JfrQuery_lock = NULL;
+Monitor* JfrMsg_lock = NULL;
+Mutex* JfrBuffer_lock = NULL;
+Mutex* JfrStream_lock = NULL;
#define MAX_NUM_MUTEX 128
static Monitor * _mutex_array[MAX_NUM_MUTEX];
@@ -207,6 +213,7 @@ void mutex_init() {
def(Patching_lock , Mutex , special, true ); // used for safepointing and code patching.
def(ObjAllocPost_lock , Monitor, special, false);
def(Service_lock , Monitor, special, true ); // used for service thread operations
+ def(Stacktrace_lock , Mutex, special, true ); // used for JFR stacktrace database
def(JmethodIdCreation_lock , Mutex , leaf, true ); // used for creating jmethodIDs.
def(SystemDictionary_lock , Monitor, leaf, true ); // lookups done by VM thread
@@ -271,6 +278,11 @@ void mutex_init() {
def(Debug3_lock , Mutex , nonleaf+4, true );
def(ProfileVM_lock , Monitor, nonleaf+4, false); // used for profiling of the VMThread
def(CompileThread_lock , Monitor, nonleaf+5, false );
+
+ def(JfrQuery_lock , Monitor, nonleaf, true); // JFR locks, keep these in consecutive order
+ def(JfrMsg_lock , Monitor, nonleaf+2, true);
+ def(JfrBuffer_lock , Mutex, nonleaf+3, true);
+ def(JfrStream_lock , Mutex, nonleaf+4, true);
}
GCMutexLocker::GCMutexLocker(Monitor * mutex) {
diff --git a/hotspot/src/share/vm/runtime/mutexLocker.hpp b/hotspot/src/share/vm/runtime/mutexLocker.hpp
index 37a3d31..2a6bf36 100644
--- a/hotspot/src/share/vm/runtime/mutexLocker.hpp
+++ b/hotspot/src/share/vm/runtime/mutexLocker.hpp
@@ -135,6 +135,12 @@ extern Mutex* HotCardCache_lock; // protects the hot card cache
extern Mutex* Management_lock; // a lock used to serialize JVM management
extern Monitor* Service_lock; // a lock used for service thread operation
+extern Mutex* Stacktrace_lock; // used to guard access to the stacktrace table
+
+extern Monitor* JfrQuery_lock; // protects JFR use
+extern Monitor* JfrMsg_lock; // protects JFR messaging
+extern Mutex* JfrBuffer_lock; // protects JFR buffer operations
+extern Mutex* JfrStream_lock; // protects JFR stream access
// A MutexLocker provides mutual exclusion with respect to a given mutex
// for the scope which contains the locker. The lock is an OS lock, not
diff --git a/hotspot/src/share/vm/runtime/os.cpp b/hotspot/src/share/vm/runtime/os.cpp
index 753bc6d..bb67a69 100644
--- a/hotspot/src/share/vm/runtime/os.cpp
+++ b/hotspot/src/share/vm/runtime/os.cpp
@@ -82,6 +82,12 @@ julong os::num_frees = 0; // # of calls to free
julong os::free_bytes = 0; // # of bytes freed
#endif
+void os_init_globals() {
+ // Called from init_globals().
+ // See Threads::create_vm() in thread.cpp, and init.cpp.
+ os::init_globals();
+}
+
// Fill in buffer with current local time as an ISO-8601 string.
// E.g., yyyy-mm-ddThh:mm:ss-zzzz.
// Returns buffer, or NULL if it failed.
@@ -1135,6 +1141,7 @@ bool os::set_boot_path(char fileSep, char pathSep) {
"%/lib/jsse.jar:"
"%/lib/jce.jar:"
"%/lib/charsets.jar:"
+ "%/lib/jfr.jar:"
#ifdef __APPLE__
"%/lib/JObjC.jar:"
#endif
diff --git a/hotspot/src/share/vm/runtime/os.hpp b/hotspot/src/share/vm/runtime/os.hpp
index 80d29f7..85a85a3 100644
--- a/hotspot/src/share/vm/runtime/os.hpp
+++ b/hotspot/src/share/vm/runtime/os.hpp
@@ -99,9 +99,11 @@ class os: AllStatic {
}
public:
-
static void init(void); // Called before command line parsing
static jint init_2(void); // Called after command line parsing
+ static void init_globals(void) { // Called from init_globals() in init.cpp
+ init_globals_ext();
+ }
static void init_3(void); // Called at the end of vm init
// File names are case-insensitive on windows only
@@ -256,7 +258,7 @@ class os: AllStatic {
char *addr, size_t bytes, bool read_only,
bool allow_exec);
static bool unmap_memory(char *addr, size_t bytes);
- static void free_memory(char *addr, size_t bytes);
+ static void free_memory(char *addr, size_t bytes, size_t alignment_hint);
static void realign_memory(char *addr, size_t bytes, size_t alignment_hint);
// NUMA-specific interface
@@ -500,6 +502,7 @@ class os: AllStatic {
static void print_location(outputStream* st, intptr_t x, bool verbose = false);
static size_t lasterror(char *buf, size_t len);
+ static int get_last_error();
// Determines whether the calling process is being debugged by a user-mode debugger.
static bool is_debugger_attached();
@@ -584,28 +587,28 @@ class os: AllStatic {
static int socket(int domain, int type, int protocol);
static int socket_close(int fd);
static int socket_shutdown(int fd, int howto);
- static int recv(int fd, char *buf, int nBytes, int flags);
- static int send(int fd, char *buf, int nBytes, int flags);
- static int raw_send(int fd, char *buf, int nBytes, int flags);
+ static int recv(int fd, char* buf, size_t nBytes, uint flags);
+ static int send(int fd, char* buf, size_t nBytes, uint flags);
+ static int raw_send(int fd, char* buf, size_t nBytes, uint flags);
static int timeout(int fd, long timeout);
static int listen(int fd, int count);
- static int connect(int fd, struct sockaddr *him, int len);
- static int bind(int fd, struct sockaddr *him, int len);
- static int accept(int fd, struct sockaddr *him, int *len);
- static int recvfrom(int fd, char *buf, int nbytes, int flags,
- struct sockaddr *from, int *fromlen);
- static int get_sock_name(int fd, struct sockaddr *him, int *len);
- static int sendto(int fd, char *buf, int len, int flags,
- struct sockaddr *to, int tolen);
- static int socket_available(int fd, jint *pbytes);
+ static int connect(int fd, struct sockaddr* him, socklen_t len);
+ static int bind(int fd, struct sockaddr* him, socklen_t len);
+ static int accept(int fd, struct sockaddr* him, socklen_t* len);
+ static int recvfrom(int fd, char* buf, size_t nbytes, uint flags,
+ struct sockaddr* from, socklen_t* fromlen);
+ static int get_sock_name(int fd, struct sockaddr* him, socklen_t* len);
+ static int sendto(int fd, char* buf, size_t len, uint flags,
+ struct sockaddr* to, socklen_t tolen);
+ static int socket_available(int fd, jint* pbytes);
static int get_sock_opt(int fd, int level, int optname,
- char *optval, int* optlen);
+ char* optval, socklen_t* optlen);
static int set_sock_opt(int fd, int level, int optname,
- const char *optval, int optlen);
+ const char* optval, socklen_t optlen);
static int get_host_name(char* name, int namelen);
- static struct hostent* get_host_by_name(char* name);
+ static struct hostent* get_host_by_name(char* name);
// Printing 64 bit integers
static const char* jlong_format_specifier();
@@ -671,6 +674,11 @@ class os: AllStatic {
// rest of line is skipped. Returns number of bytes read or -1 on EOF
static int get_line_chars(int fd, char *buf, const size_t bsize);
+ // Extensions
+#include "runtime/os_ext.hpp"
+
+ public:
+
// Platform dependent stuff
#ifdef TARGET_OS_FAMILY_linux
# include "os_linux.hpp"
@@ -715,7 +723,7 @@ class os: AllStatic {
# include "os_bsd_zero.hpp"
#endif
-
+ public:
// debugging support (mostly used by debug.cpp but also fatal error handler)
static bool find(address pc, outputStream* st = tty); // OS specific function to make sense out of an address
diff --git a/hotspot/src/share/vm/runtime/os_ext.hpp b/hotspot/src/share/vm/runtime/os_ext.hpp
new file mode 100644
index 0000000..6b61052
--- /dev/null
+++ b/hotspot/src/share/vm/runtime/os_ext.hpp
@@ -0,0 +1,34 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+#ifndef SHARE_VM_RUNTIME_OS_EXT_HPP
+#define SHARE_VM_RUNTIME_OS_EXT_HPP
+
+ public:
+ static void init_globals_ext() {} // Run from init_globals().
+ // See os.hpp/cpp and init.cpp.
+
+ private:
+
+#endif // SHARE_VM_RUNTIME_OS_EXT_HPP
diff --git a/hotspot/src/share/vm/runtime/sharedRuntime.cpp b/hotspot/src/share/vm/runtime/sharedRuntime.cpp
index 486c21d..bea5e6b 100644
--- a/hotspot/src/share/vm/runtime/sharedRuntime.cpp
+++ b/hotspot/src/share/vm/runtime/sharedRuntime.cpp
@@ -121,7 +121,6 @@ void SharedRuntime::generate_stubs() {
void SharedRuntime::generate_ricochet_blob() {
if (!EnableInvokeDynamic) return; // leave it as a null
-#ifndef TARGET_ARCH_NYI_6939861
// allocate space for the code
ResourceMark rm;
// setup code generation tools
@@ -142,7 +141,6 @@ void SharedRuntime::generate_ricochet_blob() {
}
_ricochet_blob = RicochetBlob::create(&buffer, bounce_offset, exception_offset, frame_size_in_words);
-#endif
}
diff --git a/hotspot/src/share/vm/runtime/simpleThresholdPolicy.cpp b/hotspot/src/share/vm/runtime/simpleThresholdPolicy.cpp
index d132c0e..232da70 100644
--- a/hotspot/src/share/vm/runtime/simpleThresholdPolicy.cpp
+++ b/hotspot/src/share/vm/runtime/simpleThresholdPolicy.cpp
@@ -30,6 +30,27 @@
#include "runtime/simpleThresholdPolicy.inline.hpp"
#include "code/scopeDesc.hpp"
+
+void SimpleThresholdPolicy::print_counters(const char* prefix, methodHandle mh) {
+ int invocation_count = mh->invocation_count();
+ int backedge_count = mh->backedge_count();
+ methodDataHandle mdh = mh->method_data();
+ int mdo_invocations = 0, mdo_backedges = 0;
+ int mdo_invocations_start = 0, mdo_backedges_start = 0;
+ if (mdh() != NULL) {
+ mdo_invocations = mdh->invocation_count();
+ mdo_backedges = mdh->backedge_count();
+ mdo_invocations_start = mdh->invocation_count_start();
+ mdo_backedges_start = mdh->backedge_count_start();
+ }
+ tty->print(" %stotal: %d,%d %smdo: %d(%d),%d(%d)", prefix,
+ invocation_count, backedge_count, prefix,
+ mdo_invocations, mdo_invocations_start,
+ mdo_backedges, mdo_backedges_start);
+ tty->print(" %smax levels: %d,%d", prefix,
+ mh->highest_comp_level(), mh->highest_osr_comp_level());
+}
+
// Print an event.
void SimpleThresholdPolicy::print_event(EventType type, methodHandle mh, methodHandle imh,
int bci, CompLevel level) {
@@ -38,8 +59,6 @@ void SimpleThresholdPolicy::print_event(EventType type, methodHandle mh, methodH
ttyLocker tty_lock;
tty->print("%lf: [", os::elapsedTime());
- int invocation_count = mh->invocation_count();
- int backedge_count = mh->backedge_count();
switch(type) {
case CALL:
tty->print("call");
@@ -82,23 +101,9 @@ void SimpleThresholdPolicy::print_event(EventType type, methodHandle mh, methodH
print_specific(type, mh, imh, bci, level);
if (type != COMPILE) {
- methodDataHandle mdh = mh->method_data();
- int mdo_invocations = 0, mdo_backedges = 0;
- int mdo_invocations_start = 0, mdo_backedges_start = 0;
- if (mdh() != NULL) {
- mdo_invocations = mdh->invocation_count();
- mdo_backedges = mdh->backedge_count();
- mdo_invocations_start = mdh->invocation_count_start();
- mdo_backedges_start = mdh->backedge_count_start();
- }
- tty->print(" total: %d,%d mdo: %d(%d),%d(%d)",
- invocation_count, backedge_count,
- mdo_invocations, mdo_invocations_start,
- mdo_backedges, mdo_backedges_start);
- tty->print(" max levels: %d,%d",
- mh->highest_comp_level(), mh->highest_osr_comp_level());
+ print_counters("", mh);
if (inlinee_event) {
- tty->print(" inlinee max levels: %d,%d", imh->highest_comp_level(), imh->highest_osr_comp_level());
+ print_counters("inlinee ", imh);
}
tty->print(" compilable: ");
bool need_comma = false;
diff --git a/hotspot/src/share/vm/runtime/simpleThresholdPolicy.hpp b/hotspot/src/share/vm/runtime/simpleThresholdPolicy.hpp
index 5aad121..1cff0c6 100644
--- a/hotspot/src/share/vm/runtime/simpleThresholdPolicy.hpp
+++ b/hotspot/src/share/vm/runtime/simpleThresholdPolicy.hpp
@@ -55,7 +55,7 @@ class SimpleThresholdPolicy : public CompilationPolicy {
// loop_event checks if a method should be OSR compiled at a different
// level.
CompLevel loop_event(methodOop method, CompLevel cur_level);
-
+ void print_counters(const char* prefix, methodHandle mh);
protected:
int c1_count() const { return _c1_count; }
int c2_count() const { return _c2_count; }
diff --git a/hotspot/src/share/vm/runtime/thread.cpp b/hotspot/src/share/vm/runtime/thread.cpp
index a8cbf85..18c04a9 100644
--- a/hotspot/src/share/vm/runtime/thread.cpp
+++ b/hotspot/src/share/vm/runtime/thread.cpp
@@ -73,6 +73,7 @@
#include "services/attachListener.hpp"
#include "services/management.hpp"
#include "services/threadService.hpp"
+#include "trace/traceEventTypes.hpp"
#include "utilities/defaultStream.hpp"
#include "utilities/dtrace.hpp"
#include "utilities/events.hpp"
@@ -232,6 +233,7 @@ Thread::Thread() {
CHECK_UNHANDLED_OOPS_ONLY(_gc_locked_out_count = 0;)
_jvmti_env_iteration_count = 0;
set_allocated_bytes(0);
+ set_trace_buffer(NULL);
_vm_operation_started_count = 0;
_vm_operation_completed_count = 0;
_current_pending_monitor = NULL;
@@ -778,12 +780,12 @@ bool Thread::claim_oops_do_par_case(int strong_roots_parity) {
return true;
} else {
guarantee(res == strong_roots_parity, "Or else what?");
- assert(SharedHeap::heap()->n_par_threads() > 0,
- "Should only fail when parallel.");
+ assert(SharedHeap::heap()->workers()->active_workers() > 0,
+ "Should only fail when parallel.");
return false;
}
}
- assert(SharedHeap::heap()->n_par_threads() > 0,
+ assert(SharedHeap::heap()->workers()->active_workers() > 0,
"Should only fail when parallel.");
return false;
}
@@ -1512,6 +1514,10 @@ void JavaThread::run() {
JvmtiExport::post_thread_start(this);
}
+ EVENT_BEGIN(TraceEventThreadStart, event);
+ EVENT_COMMIT(event,
+ EVENT_SET(event, javalangthread, java_lang_Thread::thread_id(this->threadObj())));
+
// We call another function to do the rest so we are sure that the stack addresses used
// from there will be lower than the stack base just computed
thread_main_inner();
@@ -1641,6 +1647,15 @@ void JavaThread::exit(bool destroy_vm, ExitType exit_type) {
}
}
+ // Called before the java thread exit since we want to read info
+ // from java_lang_Thread object
+ EVENT_BEGIN(TraceEventThreadEnd, event);
+ EVENT_COMMIT(event,
+ EVENT_SET(event, javalangthread, java_lang_Thread::thread_id(this->threadObj())));
+
+ // Call after last event on thread
+ EVENT_THREAD_EXIT(this);
+
// Call Thread.exit(). We try 3 times in case we got another Thread.stop during
// the execution of the method. If that is not enough, then we don't really care. Thread.stop
// is deprecated anyhow.
@@ -3186,6 +3201,11 @@ jint Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) {
return status;
}
+ // Must be run after init_ft which initializes ft_enabled
+ if (TRACE_INITIALIZE() != JNI_OK) {
+ vm_exit_during_initialization("Failed to initialize tracing backend");
+ }
+
// Should be done after the heap is fully created
main_thread->cache_global_variables();
@@ -3423,6 +3443,10 @@ jint Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) {
create_vm_init_libraries();
}
+ if (!TRACE_START()) {
+ vm_exit_during_initialization(Handle(THREAD, PENDING_EXCEPTION));
+ }
+
// Notify JVMTI agents that VM initialization is complete - nop if no agents.
JvmtiExport::post_vm_initialized();
@@ -3939,7 +3963,15 @@ void Threads::possibly_parallel_oops_do(OopClosure* f, CodeBlobClosure* cf) {
// root groups. Overhead should be small enough to use all the time,
// even in sequential code.
SharedHeap* sh = SharedHeap::heap();
- bool is_par = (sh->n_par_threads() > 0);
+ // Cannot yet substitute active_workers for n_par_threads
+ // because of G1CollectedHeap::verify() use of
+ // SharedHeap::process_strong_roots(). n_par_threads == 0 will
+ // turn off parallelism in process_strong_roots while active_workers
+ // is being used for parallelism elsewhere.
+ bool is_par = sh->n_par_threads() > 0;
+ assert(!is_par ||
+ (SharedHeap::heap()->n_par_threads() ==
+ SharedHeap::heap()->workers()->active_workers()), "Mismatch");
int cp = SharedHeap::heap()->strong_roots_parity();
ALL_JAVA_THREADS(p) {
if (p->claim_oops_do(is_par, cp)) {
diff --git a/hotspot/src/share/vm/runtime/thread.hpp b/hotspot/src/share/vm/runtime/thread.hpp
index da13f12..37bbf29 100644
--- a/hotspot/src/share/vm/runtime/thread.hpp
+++ b/hotspot/src/share/vm/runtime/thread.hpp
@@ -41,6 +41,7 @@
#include "runtime/stubRoutines.hpp"
#include "runtime/threadLocalStorage.hpp"
#include "runtime/unhandledOops.hpp"
+#include "trace/tracing.hpp"
#include "utilities/exceptions.hpp"
#include "utilities/top.hpp"
#ifndef SERIALGC
@@ -246,6 +247,8 @@ class Thread: public ThreadShadow {
jlong _allocated_bytes; // Cumulative number of bytes allocated on
// the Java heap
+ TRACE_BUFFER _trace_buffer; // Thread-local buffer for tracing
+
int _vm_operation_started_count; // VM_Operation support
int _vm_operation_completed_count; // VM_Operation support
@@ -414,6 +417,9 @@ class Thread: public ThreadShadow {
return allocated_bytes;
}
+ TRACE_BUFFER trace_buffer() { return _trace_buffer; }
+ void set_trace_buffer(TRACE_BUFFER buf) { _trace_buffer = buf; }
+
// VM operation support
int vm_operation_ticket() { return ++_vm_operation_started_count; }
int vm_operation_completed_count() { return _vm_operation_completed_count; }
diff --git a/hotspot/src/share/vm/runtime/vmStructs.cpp b/hotspot/src/share/vm/runtime/vmStructs.cpp
index 00fe358..eb765f0 100644
--- a/hotspot/src/share/vm/runtime/vmStructs.cpp
+++ b/hotspot/src/share/vm/runtime/vmStructs.cpp
@@ -295,7 +295,7 @@ static inline uint64_t cast_uint64_t(size_t x)
nonstatic_field(instanceKlass, _nof_implementors, int) \
nonstatic_field(instanceKlass, _implementors[0], klassOop) \
nonstatic_field(instanceKlass, _fields, typeArrayOop) \
- nonstatic_field(instanceKlass, _java_fields_count, int) \
+ nonstatic_field(instanceKlass, _java_fields_count, u2) \
nonstatic_field(instanceKlass, _constants, constantPoolOop) \
nonstatic_field(instanceKlass, _class_loader, oop) \
nonstatic_field(instanceKlass, _protection_domain, oop) \
@@ -305,12 +305,12 @@ static inline uint64_t cast_uint64_t(size_t x)
nonstatic_field(instanceKlass, _inner_classes, typeArrayOop) \
nonstatic_field(instanceKlass, _nonstatic_field_size, int) \
nonstatic_field(instanceKlass, _static_field_size, int) \
- nonstatic_field(instanceKlass, _static_oop_field_count, int) \
+ nonstatic_field(instanceKlass, _static_oop_field_count, u2) \
nonstatic_field(instanceKlass, _nonstatic_oop_map_size, int) \
nonstatic_field(instanceKlass, _is_marked_dependent, bool) \
nonstatic_field(instanceKlass, _minor_version, u2) \
nonstatic_field(instanceKlass, _major_version, u2) \
- nonstatic_field(instanceKlass, _init_state, instanceKlass::ClassState) \
+ nonstatic_field(instanceKlass, _init_state, u1) \
nonstatic_field(instanceKlass, _init_thread, Thread*) \
nonstatic_field(instanceKlass, _vtable_len, int) \
nonstatic_field(instanceKlass, _itable_len, int) \
@@ -1362,6 +1362,7 @@ static inline uint64_t cast_uint64_t(size_t x)
/* The compiler thinks this is a different type than */ \
/* unsigned short on Win32 */ \
declare_unsigned_integer_type(u2) \
+ declare_unsigned_integer_type(u1) \
declare_unsigned_integer_type(unsigned) \
\
/*****************************/ \
diff --git a/hotspot/src/share/vm/runtime/vm_operations.hpp b/hotspot/src/share/vm/runtime/vm_operations.hpp
index 77f262f..081c428 100644
--- a/hotspot/src/share/vm/runtime/vm_operations.hpp
+++ b/hotspot/src/share/vm/runtime/vm_operations.hpp
@@ -93,6 +93,7 @@
template(HeapWalkOperation) \
template(HeapIterateOperation) \
template(ReportJavaOutOfMemory) \
+ template(JFRCheckpoint) \
template(Exit) \
class VM_Operation: public CHeapObj {
diff --git a/hotspot/src/share/vm/services/attachListener.cpp b/hotspot/src/share/vm/services/attachListener.cpp
index 71d107d..3753a64 100644
--- a/hotspot/src/share/vm/services/attachListener.cpp
+++ b/hotspot/src/share/vm/services/attachListener.cpp
@@ -34,6 +34,7 @@
#include "runtime/javaCalls.hpp"
#include "runtime/os.hpp"
#include "services/attachListener.hpp"
+#include "services/diagnosticCommand.hpp"
#include "services/heapDumper.hpp"
volatile bool AttachListener::_initialized;
@@ -98,6 +99,7 @@ static jint get_properties(AttachOperation* op, outputStream* out, Symbol* seria
}
// Implementation of "properties" command.
+// See also: PrintSystemPropertiesDCmd class
static jint get_system_properties(AttachOperation* op, outputStream* out) {
return get_properties(op, out, vmSymbols::serializePropertiesToByteArray_name());
}
@@ -126,6 +128,7 @@ static jint data_dump(AttachOperation* op, outputStream* out) {
}
// Implementation of "threaddump" command - essentially a remote ctrl-break
+// See also: ThreadDumpDCmd class
//
static jint thread_dump(AttachOperation* op, outputStream* out) {
bool print_concurrent_locks = false;
@@ -148,8 +151,28 @@ static jint thread_dump(AttachOperation* op, outputStream* out) {
return JNI_OK;
}
+// A jcmd attach operation request was received, which will now
+// dispatch to the diagnostic commands used for serviceability functions.
+static jint jcmd(AttachOperation* op, outputStream* out) {
+ Thread* THREAD = Thread::current();
+ // All the supplied jcmd arguments are stored as a single
+ // string (op->arg(0)). This is parsed by the Dcmd framework.
+ DCmd::parse_and_execute(out, op->arg(0), ' ', THREAD);
+ if (HAS_PENDING_EXCEPTION) {
+ java_lang_Throwable::print(PENDING_EXCEPTION, out);
+ out->cr();
+ CLEAR_PENDING_EXCEPTION;
+ // The exception has been printed on the output stream
+ // If the JVM returns JNI_ERR, the attachAPI throws a generic I/O
+ // exception and the content of the output stream is not processed.
+ // By returning JNI_OK, the exception will be displayed on the client side
+ }
+ return JNI_OK;
+}
+
#ifndef SERVICES_KERNEL // Heap dumping not supported
// Implementation of "dumpheap" command.
+// See also: HeapDumpDCmd class
//
// Input arguments :-
// arg0: Name of the dump file
@@ -192,6 +215,7 @@ jint dump_heap(AttachOperation* op, outputStream* out) {
#endif // SERVICES_KERNEL
// Implementation of "inspectheap" command
+// See also: ClassHistogramDCmd class
//
// Input arguments :-
// arg0: "-live" or "-all"
@@ -335,6 +359,7 @@ static jint set_flag(AttachOperation* op, outputStream* out) {
}
// Implementation of "printflag" command
+// See also: PrintVMFlagsDCmd class
static jint print_flag(AttachOperation* op, outputStream* out) {
const char* name = NULL;
if ((name = op->arg(0)) == NULL) {
@@ -366,6 +391,7 @@ static AttachOperationFunctionInfo funcs[] = {
{ "inspectheap", heap_inspection },
{ "setflag", set_flag },
{ "printflag", print_flag },
+ { "jcmd", jcmd },
{ NULL, NULL }
};
diff --git a/hotspot/src/share/vm/services/diagnosticArgument.cpp b/hotspot/src/share/vm/services/diagnosticArgument.cpp
new file mode 100644
index 0000000..0821c9a
--- /dev/null
+++ b/hotspot/src/share/vm/services/diagnosticArgument.cpp
@@ -0,0 +1,112 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+#include "precompiled.hpp"
+#include "memory/allocation.inline.hpp"
+#include "runtime/thread.hpp"
+#include "services/diagnosticArgument.hpp"
+
+void GenDCmdArgument::read_value(const char* str, size_t len, TRAPS) {
+ if (is_set()) {
+ THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
+ "Duplicates in diagnostic command arguments");
+ }
+ parse_value(str, len, CHECK);
+ set_is_set(true);
+}
+
+template <> void DCmdArgument<jlong>::parse_value(const char* str,
+ size_t len, TRAPS) {
+ if (sscanf(str, INT64_FORMAT, &_value) != 1) {
+ THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
+ "Integer parsing error in diagnostic command arguments");
+ }
+}
+
+template <> void DCmdArgument<jlong>::init_value(TRAPS) {
+ if (has_default()) {
+ this->parse_value(_default_string, strlen(_default_string), THREAD);
+ if (HAS_PENDING_EXCEPTION) {
+ fatal("Default string must be parsable");
+ }
+ } else {
+ set_value(0);
+ }
+}
+
+template <> void DCmdArgument<jlong>::destroy_value() { }
+
+template <> void DCmdArgument<bool>::parse_value(const char* str,
+ size_t len, TRAPS) {
+ if (len == 0) {
+ set_value(true);
+ } else {
+ if (strcasecmp(str, "true") == 0) {
+ set_value(true);
+ } else if (strcasecmp(str, "false") == 0) {
+ set_value(false);
+ } else {
+ THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
+ "Boolean parsing error in diagnostic command arguments");
+ }
+ }
+}
+
+template <> void DCmdArgument<bool>::init_value(TRAPS) {
+ if (has_default()) {
+ this->parse_value(_default_string, strlen(_default_string), THREAD);
+ if (HAS_PENDING_EXCEPTION) {
+ fatal("Default string must be parsable");
+ }
+ } else {
+ set_value(false);
+ }
+}
+
+template <> void DCmdArgument<bool>::destroy_value() { }
+
+template <> void DCmdArgument<char*>::parse_value(const char* str,
+ size_t len, TRAPS) {
+ _value = NEW_C_HEAP_ARRAY(char, len+1);
+ strncpy(_value, str, len);
+ _value[len] = 0;
+}
+
+template <> void DCmdArgument<char*>::init_value(TRAPS) {
+ if (has_default()) {
+ this->parse_value(_default_string, strlen(_default_string), THREAD);
+ if (HAS_PENDING_EXCEPTION) {
+ fatal("Default string must be parsable");
+ }
+ } else {
+ set_value(NULL);
+ }
+}
+
+template <> void DCmdArgument<char*>::destroy_value() {
+ if (_value != NULL) {
+ FREE_C_HEAP_ARRAY(char, _value);
+ set_value(NULL);
+ }
+}
diff --git a/hotspot/src/share/vm/services/diagnosticArgument.hpp b/hotspot/src/share/vm/services/diagnosticArgument.hpp
new file mode 100644
index 0000000..17b8ffe
--- /dev/null
+++ b/hotspot/src/share/vm/services/diagnosticArgument.hpp
@@ -0,0 +1,102 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+#ifndef SHARE_VM_SERVICES_DIAGNOSTICARGUMENT_HPP
+#define SHARE_VM_SERVICES_DIAGNOSTICARGUMENT_HPP
+
+#include "classfile/vmSymbols.hpp"
+#include "memory/allocation.hpp"
+#include "runtime/os.hpp"
+#include "runtime/thread.hpp"
+#include "utilities/exceptions.hpp"
+
+class GenDCmdArgument : public ResourceObj {
+protected:
+ GenDCmdArgument* _next;
+ const char* _name;
+ const char* _description;
+ const char* _type;
+ const char* _default_string;
+ bool _is_set;
+ bool _is_mandatory;
+ GenDCmdArgument(const char* name, const char* description, const char* type,
+ const char* default_string, bool mandatory) {
+ _name = name;
+ _description = description;
+ _type = type;
+ _default_string = default_string;
+ _is_mandatory = mandatory;
+ _is_set = false;
+ };
+public:
+ const char* name() { return _name; }
+ const char* description() { return _description; }
+ const char* type() { return _type; }
+ const char* default_string() { return _default_string; }
+ bool is_set() { return _is_set; }
+ void set_is_set(bool b) { _is_set = b; }
+ bool is_mandatory() { return _is_mandatory; }
+ bool has_value() { return _is_set || _default_string != NULL; }
+ bool has_default() { return _default_string != NULL; }
+ void read_value(const char* str, size_t len, TRAPS);
+ virtual void parse_value(const char* str, size_t len, TRAPS) = 0;
+ virtual void init_value(TRAPS) = 0;
+ virtual void reset(TRAPS) = 0;
+ virtual void cleanup() = 0;
+ void set_next(GenDCmdArgument* arg) {
+ _next = arg;
+ }
+ GenDCmdArgument* next() {
+ return _next;
+ }
+};
+
+template <class ArgType> class DCmdArgument: public GenDCmdArgument {
+private:
+ ArgType _value;
+public:
+ DCmdArgument(const char* name, const char* description, const char* type,
+ bool mandatory) :
+ GenDCmdArgument(name, description, type, NULL, mandatory) { }
+ DCmdArgument(const char* name, const char* description, const char* type,
+ bool mandatory, const char* defaultvalue) :
+ GenDCmdArgument(name, description, type, defaultvalue, mandatory)
+ { }
+ ~DCmdArgument() { destroy_value(); }
+ ArgType value() { return _value;}
+ void set_value(ArgType v) { _value = v; }
+ void reset(TRAPS) {
+ destroy_value();
+ init_value(CHECK);
+ _is_set = false;
+ }
+ void cleanup() {
+ destroy_value();
+ }
+ void parse_value(const char* str, size_t len, TRAPS);
+ void init_value(TRAPS);
+ void destroy_value();
+};
+
+#endif /* SHARE_VM_SERVICES_DIAGNOSTICARGUMENT_HPP */
diff --git a/hotspot/src/share/vm/services/diagnosticCommand.cpp b/hotspot/src/share/vm/services/diagnosticCommand.cpp
new file mode 100644
index 0000000..39c7ce2
--- /dev/null
+++ b/hotspot/src/share/vm/services/diagnosticCommand.cpp
@@ -0,0 +1,319 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+#include "precompiled.hpp"
+#include "gc_implementation/shared/vmGCOperations.hpp"
+#include "runtime/javaCalls.hpp"
+#include "services/diagnosticArgument.hpp"
+#include "services/diagnosticCommand.hpp"
+#include "services/diagnosticFramework.hpp"
+#include "services/heapDumper.hpp"
+#include "services/management.hpp"
+
+HelpDCmd::HelpDCmd(outputStream* output, bool heap) : DCmdWithParser(output, heap),
+ _all("-all", "Show help for all commands", "BOOLEAN", false, "false"),
+ _cmd("command name", "The name of the command for which we want help",
+ "STRING", false) {
+ _dcmdparser.add_dcmd_option(&_all);
+ _dcmdparser.add_dcmd_argument(&_cmd);
+};
+
+void HelpDCmd::execute(TRAPS) {
+ if (_all.value()) {
+ GrowableArray<const char*>* cmd_list = DCmdFactory::DCmd_list();
+ for (int i = 0; i < cmd_list->length(); i++) {
+ DCmdFactory* factory = DCmdFactory::factory(cmd_list->at(i),
+ strlen(cmd_list->at(i)));
+ if (!factory->is_hidden()) {
+ output()->print_cr("%s%s", factory->name(),
+ factory->is_enabled() ? "" : " [disabled]");
+ output()->print_cr("\t%s", factory->description());
+ output()->cr();
+ }
+ factory = factory->next();
+ }
+ } else if (_cmd.has_value()) {
+ DCmd* cmd = NULL;
+ DCmdFactory* factory = DCmdFactory::factory(_cmd.value(),
+ strlen(_cmd.value()));
+ if (factory != NULL) {
+ output()->print_cr("%s%s", factory->name(),
+ factory->is_enabled() ? "" : " [disabled]");
+ output()->print_cr(factory->description());
+ output()->print_cr("\nImpact: %s", factory->impact());
+ output()->cr();
+ cmd = factory->create_resource_instance(output());
+ if (cmd != NULL) {
+ DCmdMark mark(cmd);
+ cmd->print_help(factory->name());
+ }
+ } else {
+ output()->print_cr("Help unavailable : '%s' : No such command", _cmd.value());
+ }
+ } else {
+ output()->print_cr("The following commands are available:");
+ GrowableArray<const char *>* cmd_list = DCmdFactory::DCmd_list();
+ for (int i = 0; i < cmd_list->length(); i++) {
+ DCmdFactory* factory = DCmdFactory::factory(cmd_list->at(i),
+ strlen(cmd_list->at(i)));
+ if (!factory->is_hidden()) {
+ output()->print_cr("%s%s", factory->name(),
+ factory->is_enabled() ? "" : " [disabled]");
+ }
+ factory = factory->_next;
+ }
+ output()->print_cr("\nFor more information about a specific command use 'help <command>'.");
+ }
+}
+
+int HelpDCmd::num_arguments() {
+ ResourceMark rm;
+ HelpDCmd* dcmd = new HelpDCmd(NULL, false);
+ if (dcmd != NULL) {
+ DCmdMark mark(dcmd);
+ return dcmd->_dcmdparser.num_arguments();
+ } else {
+ return 0;
+ }
+}
+
+void VersionDCmd::execute(TRAPS) {
+ output()->print_cr("%s version %s", Abstract_VM_Version::vm_name(),
+ Abstract_VM_Version::vm_release());
+ JDK_Version jdk_version = JDK_Version::current();
+ if (jdk_version.update_version() > 0) {
+ output()->print_cr("JDK %d.%d_%02d", jdk_version.major_version(),
+ jdk_version.minor_version(), jdk_version.update_version());
+ } else {
+ output()->print_cr("JDK %d.%d", jdk_version.major_version(),
+ jdk_version.minor_version());
+ }
+}
+
+PrintVMFlagsDCmd::PrintVMFlagsDCmd(outputStream* output, bool heap) :
+ DCmdWithParser(output, heap),
+ _all("-all", "Print all flags supported by the VM", "BOOLEAN", false, "false") {
+ _dcmdparser.add_dcmd_option(&_all);
+}
+
+void PrintVMFlagsDCmd::execute(TRAPS) {
+ if (_all.value()) {
+ CommandLineFlags::printFlags(output(), true);
+ } else {
+ CommandLineFlags::printSetFlags(output());
+ }
+}
+
+int PrintVMFlagsDCmd::num_arguments() {
+ ResourceMark rm;
+ PrintVMFlagsDCmd* dcmd = new PrintVMFlagsDCmd(NULL, false);
+ if (dcmd != NULL) {
+ DCmdMark mark(dcmd);
+ return dcmd->_dcmdparser.num_arguments();
+ } else {
+ return 0;
+ }
+}
+
+void PrintSystemPropertiesDCmd::execute(TRAPS) {
+ // load sun.misc.VMSupport
+ Symbol* klass = vmSymbols::sun_misc_VMSupport();
+ klassOop k = SystemDictionary::resolve_or_fail(klass, true, CHECK);
+ instanceKlassHandle ik (THREAD, k);
+ if (ik->should_be_initialized()) {
+ ik->initialize(THREAD);
+ }
+ if (HAS_PENDING_EXCEPTION) {
+ java_lang_Throwable::print(PENDING_EXCEPTION, output());
+ output()->cr();
+ CLEAR_PENDING_EXCEPTION;
+ return;
+ }
+
+ // invoke the serializePropertiesToByteArray method
+ JavaValue result(T_OBJECT);
+ JavaCallArguments args;
+
+ Symbol* signature = vmSymbols::serializePropertiesToByteArray_signature();
+ JavaCalls::call_static(&result,
+ ik,
+ vmSymbols::serializePropertiesToByteArray_name(),
+ signature,
+ &args,
+ THREAD);
+ if (HAS_PENDING_EXCEPTION) {
+ java_lang_Throwable::print(PENDING_EXCEPTION, output());
+ output()->cr();
+ CLEAR_PENDING_EXCEPTION;
+ return;
+ }
+
+ // The result should be a [B
+ oop res = (oop)result.get_jobject();
+ assert(res->is_typeArray(), "just checking");
+ assert(typeArrayKlass::cast(res->klass())->element_type() == T_BYTE, "just checking");
+
+ // copy the bytes to the output stream
+ typeArrayOop ba = typeArrayOop(res);
+ jbyte* addr = typeArrayOop(res)->byte_at_addr(0);
+ output()->print_raw((const char*)addr, ba->length());
+}
+
+VMUptimeDCmd::VMUptimeDCmd(outputStream* output, bool heap) :
+ DCmdWithParser(output, heap),
+ _date("-date", "Add a prefix with current date", "BOOLEAN", false, "false") {
+ _dcmdparser.add_dcmd_option(&_date);
+}
+
+void VMUptimeDCmd::execute(TRAPS) {
+ if (_date.value()) {
+ output()->date_stamp(true, "", ": ");
+ }
+ output()->time_stamp().update_to(tty->time_stamp().ticks());
+ output()->stamp();
+ output()->print_cr(" s");
+}
+
+int VMUptimeDCmd::num_arguments() {
+ ResourceMark rm;
+ VMUptimeDCmd* dcmd = new VMUptimeDCmd(NULL, false);
+ if (dcmd != NULL) {
+ DCmdMark mark(dcmd);
+ return dcmd->_dcmdparser.num_arguments();
+ } else {
+ return 0;
+ }
+}
+
+void SystemGCDCmd::execute(TRAPS) {
+ Universe::heap()->collect(GCCause::_java_lang_system_gc);
+}
+
+void RunFinalizationDCmd::execute(TRAPS) {
+ klassOop k = SystemDictionary::resolve_or_fail(vmSymbols::java_lang_System(),
+ true, CHECK);
+ instanceKlassHandle klass(THREAD, k);
+ JavaValue result(T_VOID);
+ JavaCalls::call_static(&result, klass,
+ vmSymbols::run_finalization_name(),
+ vmSymbols::void_method_signature(), CHECK);
+}
+
+#ifndef SERVICES_KERNEL // Heap dumping not supported
+HeapDumpDCmd::HeapDumpDCmd(outputStream* output, bool heap) :
+ DCmdWithParser(output, heap),
+ _filename("filename","Name of the dump file", "STRING",true),
+ _all("-all", "Dump all objects, including unreachable objects",
+ "BOOLEAN", false, "false") {
+ _dcmdparser.add_dcmd_option(&_all);
+ _dcmdparser.add_dcmd_argument(&_filename);
+}
+
+void HeapDumpDCmd::execute(TRAPS) {
+ // Request a full GC before heap dump if _all is false
+ // This helps reduces the amount of unreachable objects in the dump
+ // and makes it easier to browse.
+ HeapDumper dumper(!_all.value() /* request GC if _all is false*/);
+ int res = dumper.dump(_filename.value());
+ if (res == 0) {
+ output()->print_cr("Heap dump file created");
+ } else {
+ // heap dump failed
+ ResourceMark rm;
+ char* error = dumper.error_as_C_string();
+ if (error == NULL) {
+ output()->print_cr("Dump failed - reason unknown");
+ } else {
+ output()->print_cr("%s", error);
+ }
+ }
+}
+
+int HeapDumpDCmd::num_arguments() {
+ ResourceMark rm;
+ HeapDumpDCmd* dcmd = new HeapDumpDCmd(NULL, false);
+ if (dcmd != NULL) {
+ DCmdMark mark(dcmd);
+ return dcmd->_dcmdparser.num_arguments();
+ } else {
+ return 0;
+ }
+}
+#endif // SERVICES_KERNEL
+
+ClassHistogramDCmd::ClassHistogramDCmd(outputStream* output, bool heap) :
+ DCmdWithParser(output, heap),
+ _all("-all", "Inspect all objects, including unreachable objects",
+ "BOOLEAN", false, "false") {
+ _dcmdparser.add_dcmd_option(&_all);
+}
+
+void ClassHistogramDCmd::execute(TRAPS) {
+ VM_GC_HeapInspection heapop(output(),
+ !_all.value() /* request full gc if false */,
+ true /* need_prologue */);
+ VMThread::execute(&heapop);
+}
+
+int ClassHistogramDCmd::num_arguments() {
+ ResourceMark rm;
+ ClassHistogramDCmd* dcmd = new ClassHistogramDCmd(NULL, false);
+ if (dcmd != NULL) {
+ DCmdMark mark(dcmd);
+ return dcmd->_dcmdparser.num_arguments();
+ } else {
+ return 0;
+ }
+}
+
+ThreadDumpDCmd::ThreadDumpDCmd(outputStream* output, bool heap) :
+ DCmdWithParser(output, heap),
+ _locks("-l", "print java.util.concurrent locks", "BOOLEAN", false, "false") {
+ _dcmdparser.add_dcmd_option(&_locks);
+}
+
+void ThreadDumpDCmd::execute(TRAPS) {
+ // thread stacks
+ VM_PrintThreads op1(output(), _locks.value());
+ VMThread::execute(&op1);
+
+ // JNI global handles
+ VM_PrintJNI op2(output());
+ VMThread::execute(&op2);
+
+ // Deadlock detection
+ VM_FindDeadlocks op3(output());
+ VMThread::execute(&op3);
+}
+
+int ThreadDumpDCmd::num_arguments() {
+ ResourceMark rm;
+ ThreadDumpDCmd* dcmd = new ThreadDumpDCmd(NULL, false);
+ if (dcmd != NULL) {
+ DCmdMark mark(dcmd);
+ return dcmd->_dcmdparser.num_arguments();
+ } else {
+ return 0;
+ }
+}
diff --git a/hotspot/src/share/vm/services/diagnosticCommand.hpp b/hotspot/src/share/vm/services/diagnosticCommand.hpp
new file mode 100644
index 0000000..436664a
--- /dev/null
+++ b/hotspot/src/share/vm/services/diagnosticCommand.hpp
@@ -0,0 +1,216 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+#ifndef SHARE_VM_SERVICES_DIAGNOSTICCOMMAND_HPP
+#define SHARE_VM_SERVICES_DIAGNOSTICCOMMAND_HPP
+
+#include "runtime/arguments.hpp"
+#include "classfile/vmSymbols.hpp"
+#include "utilities/ostream.hpp"
+#include "runtime/vm_version.hpp"
+#include "runtime/vmThread.hpp"
+#include "runtime/os.hpp"
+#include "services/diagnosticArgument.hpp"
+#include "services/diagnosticCommand.hpp"
+#include "services/diagnosticFramework.hpp"
+
+class HelpDCmd : public DCmdWithParser {
+protected:
+ DCmdArgument<bool> _all;
+ DCmdArgument<char*> _cmd;
+public:
+ HelpDCmd(outputStream* output, bool heap);
+ static const char* name() { return "help"; }
+ static const char* description() {
+ return "For more information about a specific command use 'help <command>'. "
+ "With no argument this will show a list of available commands. "
+ "'help all' will show help for all commands.";
+ }
+ static const char* impact() { return "Low: "; }
+ static int num_arguments();
+ virtual void execute(TRAPS);
+};
+
+class VersionDCmd : public DCmd {
+public:
+ VersionDCmd(outputStream* output, bool heap) : DCmd(output,heap) { }
+ static const char* name() { return "VM.version"; }
+ static const char* description() {
+ return "Print JVM version information.";
+ }
+ static const char* impact() { return "Low: "; }
+ static int num_arguments() { return 0; }
+ virtual void execute(TRAPS);
+};
+
+class CommandLineDCmd : public DCmd {
+public:
+ CommandLineDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
+ static const char* name() { return "VM.command_line"; }
+ static const char* description() {
+ return "Print the command line used to start this VM instance.";
+ }
+ static const char* impact() { return "Low: "; }
+ static int num_arguments() { return 0; }
+ virtual void execute(TRAPS) {
+ Arguments::print_on(_output);
+ }
+};
+
+// See also: get_system_properties in attachListener.cpp
+class PrintSystemPropertiesDCmd : public DCmd {
+public:
+ PrintSystemPropertiesDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
+ static const char* name() { return "VM.system_properties"; }
+ static const char* description() {
+ return "Print system properties.";
+ }
+ static const char* impact() {
+ return "Low: ";
+ }
+ static int num_arguments() { return 0; }
+ virtual void execute(TRAPS);
+};
+
+// See also: print_flag in attachListener.cpp
+class PrintVMFlagsDCmd : public DCmdWithParser {
+protected:
+ DCmdArgument<bool> _all;
+public:
+ PrintVMFlagsDCmd(outputStream* output, bool heap);
+ static const char* name() { return "VM.flags"; }
+ static const char* description() {
+ return "Print VM flag options and their current values.";
+ }
+ static const char* impact() {
+ return "Low: ";
+ }
+ static int num_arguments();
+ virtual void execute(TRAPS);
+};
+
+class VMUptimeDCmd : public DCmdWithParser {
+protected:
+ DCmdArgument<bool> _date;
+public:
+ VMUptimeDCmd(outputStream* output, bool heap);
+ static const char* name() { return "VM.uptime"; }
+ static const char* description() {
+ return "Print VM uptime.";
+ }
+ static const char* impact() {
+ return "Low: ";
+ }
+ static int num_arguments();
+ virtual void execute(TRAPS);
+};
+
+class SystemGCDCmd : public DCmd {
+public:
+ SystemGCDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
+ static const char* name() { return "GC.run"; }
+ static const char* description() {
+ return "Call java.lang.System.gc().";
+ }
+ static const char* impact() {
+ return "Medium: Depends on Java heap size and content.";
+ }
+ static int num_arguments() { return 0; }
+ virtual void execute(TRAPS);
+};
+
+class RunFinalizationDCmd : public DCmd {
+public:
+ RunFinalizationDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
+ static const char* name() { return "GC.run_finalization"; }
+ static const char* description() {
+ return "Call java.lang.System.runFinalization().";
+ }
+ static const char* impact() {
+ return "Medium: Depends on Java content.";
+ }
+ static int num_arguments() { return 0; }
+ virtual void execute(TRAPS);
+};
+
+#ifndef SERVICES_KERNEL // Heap dumping not supported
+// See also: dump_heap in attachListener.cpp
+class HeapDumpDCmd : public DCmdWithParser {
+protected:
+ DCmdArgument<char*> _filename;
+ DCmdArgument<bool> _all;
+public:
+ HeapDumpDCmd(outputStream* output, bool heap);
+ static const char* name() {
+ return "GC.heap_dump";
+ }
+ static const char* description() {
+ return "Generate a HPROF format dump of the Java heap.";
+ }
+ static const char* impact() {
+ return "High: Depends on Java heap size and content. "
+ "Request a full GC unless the '-all' option is specified.";
+ }
+ static int num_arguments();
+ virtual void execute(TRAPS);
+};
+#endif // SERVICES_KERNEL
+
+// See also: inspeactheap in attachListener.cpp
+class ClassHistogramDCmd : public DCmdWithParser {
+protected:
+ DCmdArgument<bool> _all;
+public:
+ ClassHistogramDCmd(outputStream* output, bool heap);
+ static const char* name() {
+ return "GC.class_histogram";
+ }
+ static const char* description() {
+ return "Provide statistics about the Java heap usage.";
+ }
+ static const char* impact() {
+ return "High: Depends on Java heap size and content.";
+ }
+ static int num_arguments();
+ virtual void execute(TRAPS);
+};
+
+// See also: thread_dump in attachListener.cpp
+class ThreadDumpDCmd : public DCmdWithParser {
+protected:
+ DCmdArgument<bool> _locks;
+public:
+ ThreadDumpDCmd(outputStream* output, bool heap);
+ static const char* name() { return "Thread.print"; }
+ static const char* description() {
+ return "Print all threads with stacktraces.";
+ }
+ static const char* impact() {
+ return "Medium: Depends on the number of threads.";
+ }
+ static int num_arguments();
+ virtual void execute(TRAPS);
+};
+
+#endif // SHARE_VM_SERVICES_DIAGNOSTICCOMMAND_HPP
diff --git a/hotspot/src/share/vm/services/diagnosticFramework.cpp b/hotspot/src/share/vm/services/diagnosticFramework.cpp
new file mode 100644
index 0000000..2de9f81
--- /dev/null
+++ b/hotspot/src/share/vm/services/diagnosticFramework.cpp
@@ -0,0 +1,474 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+#include "precompiled.hpp"
+#include "memory/oopFactory.hpp"
+#include "runtime/javaCalls.hpp"
+#include "runtime/mutexLocker.hpp"
+#include "services/diagnosticArgument.hpp"
+#include "services/diagnosticFramework.hpp"
+#include "services/management.hpp"
+
+CmdLine::CmdLine(const char* line, size_t len, bool no_command_name) {
+ assert(line != NULL, "Command line string should not be NULL");
+ const char* line_end;
+ const char* cmd_end;
+
+ _cmd = line;
+ line_end = &line[len];
+
+ // Skip whitespace in the beginning of the line.
+ while (_cmd < line_end && isspace((int) _cmd[0])) {
+ _cmd++;
+ }
+ cmd_end = _cmd;
+
+ if (no_command_name) {
+ _cmd = NULL;
+ _cmd_len = 0;
+ } else {
+ // Look for end of the command name
+ while (cmd_end < line_end && !isspace((int) cmd_end[0])) {
+ cmd_end++;
+ }
+ _cmd_len = cmd_end - _cmd;
+ }
+ _args = cmd_end;
+ _args_len = line_end - _args;
+}
+
+bool DCmdArgIter::next(TRAPS) {
+ if (_len == 0) return false;
+ // skipping spaces
+ while (_cursor < _len - 1 && isspace(_buffer[_cursor])) {
+ _cursor++;
+ }
+ // handling end of command line
+ if (_cursor >= _len - 1) {
+ _cursor = _len - 1;
+ _key_addr = &_buffer[_len - 1];
+ _key_len = 0;
+ _value_addr = &_buffer[_len - 1];
+ _value_len = 0;
+ return false;
+ }
+ // extracting first item, argument or option name
+ _key_addr = &_buffer[_cursor];
+ while (_cursor <= _len - 1 && _buffer[_cursor] != '=' && _buffer[_cursor] != _delim) {
+ // argument can be surrounded by single or double quotes
+ if (_buffer[_cursor] == '\"' || _buffer[_cursor] == '\'') {
+ _key_addr++;
+ char quote = _buffer[_cursor];
+ while (_cursor < _len - 1) {
+ _cursor++;
+ if (_buffer[_cursor] == quote && _buffer[_cursor - 1] != '\\') {
+ break;
+ }
+ }
+ if (_buffer[_cursor] != quote) {
+ THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(),
+ "Format error in diagnostic command arguments", false);
+ }
+ break;
+ }
+ _cursor++;
+ }
+ _key_len = &_buffer[_cursor] - _key_addr;
+ // check if the argument has the <key>=<value> format
+ if (_cursor <= _len -1 && _buffer[_cursor] == '=') {
+ _cursor++;
+ _value_addr = &_buffer[_cursor];
+ // extract the value
+ while (_cursor <= _len - 1 && _buffer[_cursor] != _delim) {
+ // value can be surrounded by simple or double quotes
+ if (_buffer[_cursor] == '\"' || _buffer[_cursor] == '\'') {
+ _value_addr++;
+ char quote = _buffer[_cursor];
+ while (_cursor < _len - 1) {
+ _cursor++;
+ if (_buffer[_cursor] == quote && _buffer[_cursor - 1] != '\\') {
+ break;
+ }
+ }
+ if (_buffer[_cursor] != quote) {
+ THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(),
+ "Format error in diagnostic command arguments", false);
+ }
+ break;
+ }
+ _cursor++;
+ }
+ _value_len = &_buffer[_cursor] - _value_addr;
+ } else {
+ _value_addr = NULL;
+ _value_len = 0;
+ }
+ return _key_len != 0;
+}
+
+bool DCmdInfo::by_name(void* cmd_name, DCmdInfo* info) {
+ if (info == NULL) return false;
+ return strcmp((const char*)cmd_name, info->name()) == 0;
+}
+
+void DCmdParser::add_dcmd_option(GenDCmdArgument* arg) {
+ assert(arg != NULL, "Sanity");
+ if (_options == NULL) {
+ _options = arg;
+ } else {
+ GenDCmdArgument* o = _options;
+ while (o->next() != NULL) {
+ o = o->next();
+ }
+ o->set_next(arg);
+ }
+ arg->set_next(NULL);
+ Thread* THREAD = Thread::current();
+ arg->init_value(THREAD);
+ if (HAS_PENDING_EXCEPTION) {
+ fatal("Initialization must be successful");
+ }
+}
+
+void DCmdParser::add_dcmd_argument(GenDCmdArgument* arg) {
+ assert(arg != NULL, "Sanity");
+ if (_arguments_list == NULL) {
+ _arguments_list = arg;
+ } else {
+ GenDCmdArgument* a = _arguments_list;
+ while (a->next() != NULL) {
+ a = a->next();
+ }
+ a->set_next(arg);
+ }
+ arg->set_next(NULL);
+ Thread* THREAD = Thread::current();
+ arg->init_value(THREAD);
+ if (HAS_PENDING_EXCEPTION) {
+ fatal("Initialization must be successful");
+ }
+}
+
+void DCmdParser::parse(CmdLine* line, char delim, TRAPS) {
+ GenDCmdArgument* next_argument = _arguments_list;
+ DCmdArgIter iter(line->args_addr(), line->args_len(), delim);
+ bool cont = iter.next(CHECK);
+ while (cont) {
+ GenDCmdArgument* arg = lookup_dcmd_option(iter.key_addr(),
+ iter.key_length());
+ if (arg != NULL) {
+ arg->read_value(iter.value_addr(), iter.value_length(), CHECK);
+ } else {
+ if (next_argument != NULL) {
+ arg = next_argument;
+ arg->read_value(iter.key_addr(), iter.key_length(), CHECK);
+ next_argument = next_argument->next();
+ } else {
+ THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
+ "Unknown argument in diagnostic command");
+ }
+ }
+ cont = iter.next(CHECK);
+ }
+ check(CHECK);
+}
+
+GenDCmdArgument* DCmdParser::lookup_dcmd_option(const char* name, size_t len) {
+ GenDCmdArgument* arg = _options;
+ while (arg != NULL) {
+ if (strlen(arg->name()) == len &&
+ strncmp(name, arg->name(), len) == 0) {
+ return arg;
+ }
+ arg = arg->next();
+ }
+ return NULL;
+}
+
+void DCmdParser::check(TRAPS) {
+ GenDCmdArgument* arg = _arguments_list;
+ while (arg != NULL) {
+ if (arg->is_mandatory() && !arg->has_value()) {
+ THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
+ "Missing argument for diagnostic command");
+ }
+ arg = arg->next();
+ }
+ arg = _options;
+ while (arg != NULL) {
+ if (arg->is_mandatory() && !arg->has_value()) {
+ THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
+ "Missing option for diagnostic command");
+ }
+ arg = arg->next();
+ }
+}
+
+void DCmdParser::print_help(outputStream* out, const char* cmd_name) {
+ out->print("Syntax : %s %s", cmd_name, _options == NULL ? "" : "[options]");
+ GenDCmdArgument* arg = _arguments_list;
+ while (arg != NULL) {
+ if (arg->is_mandatory()) {
+ out->print(" <%s>", arg->name());
+ } else {
+ out->print(" [<%s>]", arg->name());
+ }
+ arg = arg->next();
+ }
+ out->print_cr("");
+ if (_arguments_list != NULL) {
+ out->print_cr("\nArguments:");
+ arg = _arguments_list;
+ while (arg != NULL) {
+ out->print("\t%s : %s %s (%s, ", arg->name(),
+ arg->is_mandatory() ? "" : "[optional]",
+ arg->description(), arg->type());
+ if (arg->has_default()) {
+ out->print(arg->default_string());
+ } else {
+ out->print("no default value");
+ }
+ out->print_cr(")");
+ arg = arg->next();
+ }
+ }
+ if (_options != NULL) {
+ out->print_cr("\nOptions: (options must be specified using the <key> or <key>=<value> syntax)");
+ arg = _options;
+ while (arg != NULL) {
+ out->print("\t%s : %s %s (%s, ", arg->name(),
+ arg->is_mandatory() ? "" : "[optional]",
+ arg->description(), arg->type());
+ if (arg->has_default()) {
+ out->print(arg->default_string());
+ } else {
+ out->print("no default value");
+ }
+ out->print_cr(")");
+ arg = arg->next();
+ }
+ }
+}
+
+void DCmdParser::reset(TRAPS) {
+ GenDCmdArgument* arg = _arguments_list;
+ while (arg != NULL) {
+ arg->reset(CHECK);
+ arg = arg->next();
+ }
+ arg = _options;
+ while (arg != NULL) {
+ arg->reset(CHECK);
+ arg = arg->next();
+ }
+}
+
+void DCmdParser::cleanup() {
+ GenDCmdArgument* arg = _arguments_list;
+ while (arg != NULL) {
+ arg->cleanup();
+ arg = arg->next();
+ }
+ arg = _options;
+ while (arg != NULL) {
+ arg->cleanup();
+ arg = arg->next();
+ }
+}
+
+int DCmdParser::num_arguments() {
+ GenDCmdArgument* arg = _arguments_list;
+ int count = 0;
+ while (arg != NULL) {
+ count++;
+ arg = arg->next();
+ }
+ arg = _options;
+ while (arg != NULL) {
+ count++;
+ arg = arg->next();
+ }
+ return count;
+}
+
+GrowableArray<const char *>* DCmdParser::argument_name_array() {
+ int count = num_arguments();
+ GrowableArray<const char *>* array = new GrowableArray<const char *>(count);
+ GenDCmdArgument* arg = _arguments_list;
+ while (arg != NULL) {
+ array->append(arg->name());
+ arg = arg->next();
+ }
+ arg = _options;
+ while (arg != NULL) {
+ array->append(arg->name());
+ arg = arg->next();
+ }
+ return array;
+}
+
+GrowableArray<DCmdArgumentInfo*>* DCmdParser::argument_info_array() {
+ int count = num_arguments();
+ GrowableArray<DCmdArgumentInfo*>* array = new GrowableArray<DCmdArgumentInfo *>(count);
+ int idx = 0;
+ GenDCmdArgument* arg = _arguments_list;
+ while (arg != NULL) {
+ array->append(new DCmdArgumentInfo(arg->name(), arg->description(),
+ arg->type(), arg->default_string(), arg->is_mandatory(),
+ false, idx));
+ idx++;
+ arg = arg->next();
+ }
+ arg = _options;
+ while (arg != NULL) {
+ array->append(new DCmdArgumentInfo(arg->name(), arg->description(),
+ arg->type(), arg->default_string(), arg->is_mandatory(),
+ true));
+ arg = arg->next();
+ }
+ return array;
+}
+
+DCmdFactory* DCmdFactory::_DCmdFactoryList = NULL;
+
+void DCmd::parse_and_execute(outputStream* out, const char* cmdline,
+ char delim, TRAPS) {
+
+ if (cmdline == NULL) return; // Nothing to do!
+ DCmdIter iter(cmdline, '\n');
+
+ while (iter.has_next()) {
+ CmdLine line = iter.next();
+ if (line.is_stop()) {
+ break;
+ }
+ if (line.is_executable()) {
+ DCmd* command = DCmdFactory::create_local_DCmd(line, out, CHECK);
+ assert(command != NULL, "command error must be handled before this line");
+ DCmdMark mark(command);
+ command->parse(&line, delim, CHECK);
+ command->execute(CHECK);
+ }
+ }
+}
+
+void DCmdWithParser::parse(CmdLine* line, char delim, TRAPS) {
+ _dcmdparser.parse(line, delim, CHECK);
+}
+
+void DCmdWithParser::print_help(const char* name) {
+ _dcmdparser.print_help(output(), name);
+}
+
+void DCmdWithParser::reset(TRAPS) {
+ _dcmdparser.reset(CHECK);
+}
+
+void DCmdWithParser::cleanup() {
+ _dcmdparser.cleanup();
+}
+
+GrowableArray<const char*>* DCmdWithParser::argument_name_array() {
+ return _dcmdparser.argument_name_array();
+}
+
+GrowableArray<DCmdArgumentInfo*>* DCmdWithParser::argument_info_array() {
+ return _dcmdparser.argument_info_array();
+}
+
+Mutex* DCmdFactory::_dcmdFactory_lock = new Mutex(Mutex::leaf, "DCmdFactory", true);
+
+DCmdFactory* DCmdFactory::factory(const char* name, size_t len) {
+ MutexLockerEx ml(_dcmdFactory_lock, Mutex::_no_safepoint_check_flag);
+ DCmdFactory* factory = _DCmdFactoryList;
+ while (factory != NULL) {
+ if (strlen(factory->name()) == len &&
+ strncmp(name, factory->name(), len) == 0) {
+ return factory;
+ }
+ factory = factory->_next;
+ }
+ return NULL;
+}
+
+int DCmdFactory::register_DCmdFactory(DCmdFactory* factory) {
+ MutexLockerEx ml(_dcmdFactory_lock, Mutex::_no_safepoint_check_flag);
+ factory->_next = _DCmdFactoryList;
+ _DCmdFactoryList = factory;
+ return 0; // Actually, there's no checks for duplicates
+}
+
+DCmd* DCmdFactory::create_global_DCmd(CmdLine &line, outputStream* out, TRAPS) {
+ DCmdFactory* f = factory(line.cmd_addr(), line.cmd_len());
+ if (f != NULL) {
+ if (f->is_enabled()) {
+ THROW_MSG_NULL(vmSymbols::java_lang_IllegalArgumentException(),
+ f->disabled_message());
+ }
+ return f->create_Cheap_instance(out);
+ }
+ THROW_MSG_NULL(vmSymbols::java_lang_IllegalArgumentException(),
+ "Unknown diagnostic command");
+}
+
+DCmd* DCmdFactory::create_local_DCmd(CmdLine &line, outputStream* out, TRAPS) {
+ DCmdFactory* f = factory(line.cmd_addr(), line.cmd_len());
+ if (f != NULL) {
+ if (!f->is_enabled()) {
+ THROW_MSG_NULL(vmSymbols::java_lang_IllegalArgumentException(),
+ f->disabled_message());
+ }
+ return f->create_resource_instance(out);
+ }
+ THROW_MSG_NULL(vmSymbols::java_lang_IllegalArgumentException(),
+ "Unknown diagnostic command");
+}
+
+GrowableArray<const char*>* DCmdFactory::DCmd_list() {
+ MutexLockerEx ml(_dcmdFactory_lock, Mutex::_no_safepoint_check_flag);
+ GrowableArray<const char*>* array = new GrowableArray<const char*>();
+ DCmdFactory* factory = _DCmdFactoryList;
+ while (factory != NULL) {
+ if (!factory->is_hidden()) {
+ array->append(factory->name());
+ }
+ factory = factory->next();
+ }
+ return array;
+}
+
+GrowableArray<DCmdInfo*>* DCmdFactory::DCmdInfo_list() {
+ MutexLockerEx ml(_dcmdFactory_lock, Mutex::_no_safepoint_check_flag);
+ GrowableArray<DCmdInfo*>* array = new GrowableArray<DCmdInfo*>();
+ DCmdFactory* factory = _DCmdFactoryList;
+ while (factory != NULL) {
+ if (!factory->is_hidden()) {
+ array->append(new DCmdInfo(factory->name(),
+ factory->description(), factory->impact(),
+ factory->num_arguments(), factory->is_enabled()));
+ }
+ factory = factory->next();
+ }
+ return array;
+}
diff --git a/hotspot/src/share/vm/services/diagnosticFramework.hpp b/hotspot/src/share/vm/services/diagnosticFramework.hpp
new file mode 100644
index 0000000..e3b78bb
--- /dev/null
+++ b/hotspot/src/share/vm/services/diagnosticFramework.hpp
@@ -0,0 +1,390 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+#ifndef SHARE_VM_SERVICES_DIAGNOSTICFRAMEWORK_HPP
+#define SHARE_VM_SERVICES_DIAGNOSTICFRAMEWORK_HPP
+
+#include "classfile/vmSymbols.hpp"
+#include "memory/allocation.hpp"
+#include "runtime/arguments.hpp"
+#include "runtime/os.hpp"
+#include "runtime/vm_version.hpp"
+#include "runtime/vmThread.hpp"
+#include "utilities/ostream.hpp"
+
+
+// CmdLine is the class used to handle a command line containing a single
+// diagnostic command and its arguments. It provides methods to access the
+// command name and the beginning of the arguments. The class is also
+// able to identify commented command lines and the "stop" keyword
+class CmdLine : public StackObj {
+private:
+ const char* _cmd;
+ size_t _cmd_len;
+ const char* _args;
+ size_t _args_len;
+public:
+ CmdLine(const char* line, size_t len, bool no_command_name);
+ const char* args_addr() const { return _args; }
+ size_t args_len() const { return _args_len; }
+ const char* cmd_addr() const { return _cmd; }
+ size_t cmd_len() const { return _cmd_len; }
+ bool is_empty() { return _cmd_len == 0; }
+ bool is_executable() { return is_empty() || _cmd[0] != '#'; }
+ bool is_stop() { return !is_empty() && strncmp("stop", _cmd, _cmd_len) == 0; }
+};
+
+// Iterator class taking a character string in input and returning a CmdLine
+// instance for each command line. The argument delimiter has to be specified.
+class DCmdIter : public StackObj {
+ friend class DCmd;
+private:
+ const char* _str;
+ char _delim;
+ size_t _len;
+ size_t _cursor;
+public:
+
+ DCmdIter(const char* str, char delim) {
+ _str = str;
+ _delim = delim;
+ _len = strlen(str);
+ _cursor = 0;
+ }
+ bool has_next() { return _cursor < _len; }
+ CmdLine next() {
+ assert(_cursor <= _len, "Cannot iterate more");
+ size_t n = _cursor;
+ while (n < _len && _str[n] != _delim) n++;
+ CmdLine line(&(_str[_cursor]), n - _cursor, false);
+ _cursor = n + 1;
+ // The default copy constructor of CmdLine is used to return a CmdLine
+ // instance to the caller.
+ return line;
+ }
+};
+
+// Iterator class to iterate over diagnostic command arguments
+class DCmdArgIter : public ResourceObj {
+ const char* _buffer;
+ size_t _len;
+ size_t _cursor;
+ const char* _key_addr;
+ size_t _key_len;
+ const char* _value_addr;
+ size_t _value_len;
+ char _delim;
+public:
+ DCmdArgIter(const char* buf, size_t len, char delim) {
+ _buffer = buf;
+ _len = len;
+ _delim = delim;
+ _cursor = 0;
+ }
+ bool next(TRAPS);
+ const char* key_addr() { return _key_addr; }
+ size_t key_length() { return _key_len; }
+ const char* value_addr() { return _value_addr; }
+ size_t value_length() { return _value_len; }
+};
+
+// A DCmdInfo instance provides a description of a diagnostic command. It is
+// used to export the description to the JMX interface of the framework.
+class DCmdInfo : public ResourceObj {
+protected:
+ const char* _name;
+ const char* _description;
+ const char* _impact;
+ int _num_arguments;
+ bool _is_enabled;
+public:
+ DCmdInfo(const char* name,
+ const char* description,
+ const char* impact,
+ int num_arguments,
+ bool enabled) {
+ this->_name = name;
+ this->_description = description;
+ this->_impact = impact;
+ this->_num_arguments = num_arguments;
+ this->_is_enabled = enabled;
+ }
+ const char* name() const { return _name; }
+ const char* description() const { return _description; }
+ const char* impact() const { return _impact; }
+ int num_arguments() const { return _num_arguments; }
+ bool is_enabled() const { return _is_enabled; }
+
+ static bool by_name(void* name, DCmdInfo* info);
+};
+
+// A DCmdArgumentInfo instance provides a description of a diagnostic command
+// argument. It is used to export the description to the JMX interface of the
+// framework.
+class DCmdArgumentInfo : public ResourceObj {
+protected:
+ const char* _name;
+ const char* _description;
+ const char* _type;
+ const char* _default_string;
+ bool _mandatory;
+ bool _option;
+ int _position;
+public:
+ DCmdArgumentInfo(const char* name, const char* description, const char* type,
+ const char* default_string, bool mandatory, bool option) {
+ this->_name = name;
+ this->_description = description;
+ this->_type = type;
+ this->_default_string = default_string;
+ this->_option = option;
+ this->_mandatory = mandatory;
+ this->_option = option;
+ this->_position = -1;
+ }
+ DCmdArgumentInfo(const char* name, const char* description, const char* type,
+ const char* default_string, bool mandatory, bool option,
+ int position) {
+ this->_name = name;
+ this->_description = description;
+ this->_type = type;
+ this->_default_string = default_string;
+ this->_option = option;
+ this->_mandatory = mandatory;
+ this->_option = option;
+ this->_position = position;
+ }
+ const char* name() const { return _name; }
+ const char* description() const { return _description; }
+ const char* type() const { return _type; }
+ const char* default_string() const { return _default_string; }
+ bool is_mandatory() const { return _mandatory; }
+ bool is_option() const { return _option; }
+ int position() const { return _position; }
+};
+
+// The DCmdParser class can be used to create an argument parser for a
+// diagnostic command. It is not mandatory to use it to parse arguments.
+class DCmdParser {
+private:
+ GenDCmdArgument* _options;
+ GenDCmdArgument* _arguments_list;
+ char _delim;
+public:
+ DCmdParser() {
+ _options = NULL;
+ _arguments_list = NULL;
+ }
+ void add_dcmd_option(GenDCmdArgument* arg);
+ void add_dcmd_argument(GenDCmdArgument* arg);
+ GenDCmdArgument* lookup_dcmd_option(const char* name, size_t len);
+ GenDCmdArgument* arguments_list() { return _arguments_list; };
+ void check(TRAPS);
+ void parse(CmdLine* line, char delim, TRAPS);
+ void print_help(outputStream* out, const char* cmd_name);
+ void reset(TRAPS);
+ void cleanup();
+ int num_arguments();
+ GrowableArray<const char*>* argument_name_array();
+ GrowableArray<DCmdArgumentInfo*>* argument_info_array();
+};
+
+// The DCmd class is the parent class of all diagnostic commands
+// Diagnostic command instances should not be instantiated directly but
+// created using the associated factory. The factory can be retrieved with
+// the DCmdFactory::getFactory() method.
+// A diagnostic command instance can either be allocated in the resource Area
+// or in the C-heap. Allocation in the resource area is recommended when the
+// current thread is the only one which will access the diagnostic command
+// instance. Allocation in the C-heap is required when the diagnostic command
+// is accessed by several threads (for instance to perform asynchronous
+// execution).
+// To ensure a proper cleanup, it's highly recommended to use a DCmdMark for
+// each diagnostic command instance. In case of a C-heap allocated diagnostic
+// command instance, the DCmdMark must be created in the context of the last
+// thread that will access the instance.
+class DCmd : public ResourceObj {
+protected:
+ outputStream* _output;
+ bool _is_heap_allocated;
+public:
+ DCmd(outputStream* output, bool heap_allocated) {
+ _output = output;
+ _is_heap_allocated = heap_allocated;
+ }
+
+ static const char* name() { return "No Name";}
+ static const char* description() { return "No Help";}
+ static const char* disabled_message() { return "Diagnostic command currently disabled"; }
+ static const char* impact() { return "Low: No impact"; }
+ static int num_arguments() { return 0; }
+ outputStream* output() { return _output; }
+ bool is_heap_allocated() { return _is_heap_allocated; }
+ virtual void print_help(const char* name) {
+ output()->print_cr("Syntax: %s", name);
+ }
+ virtual void parse(CmdLine* line, char delim, TRAPS) {
+ DCmdArgIter iter(line->args_addr(), line->args_len(), delim);
+ bool has_arg = iter.next(CHECK);
+ if (has_arg) {
+ THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
+ "Unknown argument in diagnostic command");
+ }
+ }
+ virtual void execute(TRAPS) { }
+ virtual void reset(TRAPS) { }
+ virtual void cleanup() { }
+
+ // support for the JMX interface
+ virtual GrowableArray<const char*>* argument_name_array() {
+ GrowableArray<const char*>* array = new GrowableArray<const char*>(0);
+ return array;
+ }
+ virtual GrowableArray<DCmdArgumentInfo*>* argument_info_array() {
+ GrowableArray<DCmdArgumentInfo*>* array = new GrowableArray<DCmdArgumentInfo*>(0);
+ return array;
+ }
+
+ // main method to invoke the framework
+ static void parse_and_execute(outputStream* out, const char* cmdline,
+ char delim, TRAPS);
+};
+
+class DCmdWithParser : public DCmd {
+protected:
+ DCmdParser _dcmdparser;
+public:
+ DCmdWithParser (outputStream *output, bool heap=false) : DCmd(output, heap) { }
+ static const char* name() { return "No Name";}
+ static const char* description() { return "No Help";}
+ static const char* disabled_message() { return "Diagnostic command currently disabled"; }
+ static const char* impact() { return "Low: No impact"; }
+ static int num_arguments() { return 0; }
+ virtual void parse(CmdLine *line, char delim, TRAPS);
+ virtual void execute(TRAPS) { }
+ virtual void reset(TRAPS);
+ virtual void cleanup();
+ virtual void print_help(const char* name);
+ virtual GrowableArray<const char*>* argument_name_array();
+ virtual GrowableArray<DCmdArgumentInfo*>* argument_info_array();
+};
+
+class DCmdMark : public StackObj {
+ DCmd* _ref;
+public:
+ DCmdMark(DCmd* cmd) { _ref = cmd; }
+ ~DCmdMark() {
+ if (_ref != NULL) {
+ _ref->cleanup();
+ if (_ref->is_heap_allocated()) {
+ delete _ref;
+ }
+ }
+ }
+};
+
+// Diagnostic commands are not directly instantiated but created with a factory.
+// Each diagnostic command class has its own factory. The DCmdFactory class also
+// manages the status of the diagnostic command (hidden, enabled). A DCmdFactory
+// has to be registered to make the diagnostic command available (see
+// management.cpp)
+class DCmdFactory: public CHeapObj {
+private:
+ static Mutex* _dcmdFactory_lock;
+ // Pointer to the next factory in the singly-linked list of registered
+ // diagnostic commands
+ DCmdFactory* _next;
+ // When disabled, a diagnostic command cannot be executed. Any attempt to
+ // execute it will result in the printing of the disabled message without
+ // instantiating the command.
+ bool _enabled;
+ // When hidden, a diagnostic command doesn't appear in the list of commands
+ // provided by the 'help' command.
+ bool _hidden;
+ int _num_arguments;
+ static DCmdFactory* _DCmdFactoryList;
+public:
+ DCmdFactory(int num_arguments, bool enabled, bool hidden) {
+ _next = NULL;
+ _enabled = enabled;
+ _hidden = hidden;
+ _num_arguments = num_arguments;
+ }
+ bool is_enabled() const { return _enabled; }
+ void set_enabled(bool b) { _enabled = b; }
+ bool is_hidden() const { return _hidden; }
+ void set_hidden(bool b) { _hidden = b; }
+ int num_arguments() { return _num_arguments; }
+ DCmdFactory* next() { return _next; }
+ virtual DCmd* create_Cheap_instance(outputStream* output) = 0;
+ virtual DCmd* create_resource_instance(outputStream* output) = 0;
+ virtual const char* name() const = 0;
+ virtual const char* description() const = 0;
+ virtual const char* impact() const = 0;
+ virtual const char* disabled_message() const = 0;
+ // Register a DCmdFactory to make a diagnostic command available.
+ // Once registered, a diagnostic command must not be unregistered.
+ // To prevent a diagnostic command from being executed, just set the
+ // enabled flag to false.
+ static int register_DCmdFactory(DCmdFactory* factory);
+ static DCmdFactory* factory(const char* cmd, size_t len);
+ // Returns a C-heap allocated diagnostic command for the given command line
+ static DCmd* create_global_DCmd(CmdLine &line, outputStream* out, TRAPS);
+ // Returns a resourceArea allocated diagnostic command for the given command line
+ static DCmd* create_local_DCmd(CmdLine &line, outputStream* out, TRAPS);
+ static GrowableArray<const char*>* DCmd_list();
+ static GrowableArray<DCmdInfo*>* DCmdInfo_list();
+
+ friend class HelpDCmd;
+};
+
+// Template to easily create DCmdFactory instances. See management.cpp
+// where this template is used to create and register factories.
+template <class DCmdClass> class DCmdFactoryImpl : public DCmdFactory {
+public:
+ DCmdFactoryImpl(bool enabled, bool hidden) :
+ DCmdFactory(DCmdClass::num_arguments(), enabled, hidden) { }
+ // Returns a C-heap allocated instance
+ virtual DCmd* create_Cheap_instance(outputStream* output) {
+ return new (ResourceObj::C_HEAP) DCmdClass(output, true);
+ }
+ // Returns a resourceArea allocated instance
+ virtual DCmd* create_resource_instance(outputStream* output) {
+ return new DCmdClass(output, false);
+ }
+ virtual const char* name() const {
+ return DCmdClass::name();
+ }
+ virtual const char* description() const {
+ return DCmdClass::description();
+ }
+ virtual const char* impact() const {
+ return DCmdClass::impact();
+ }
+ virtual const char* disabled_message() const {
+ return DCmdClass::disabled_message();
+ }
+};
+
+#endif // SHARE_VM_SERVICES_DIAGNOSTICFRAMEWORK_HPP
diff --git a/hotspot/src/share/vm/services/jmm.h b/hotspot/src/share/vm/services/jmm.h
index d91d878..2347812 100644
--- a/hotspot/src/share/vm/services/jmm.h
+++ b/hotspot/src/share/vm/services/jmm.h
@@ -48,7 +48,8 @@ enum {
JMM_VERSION_1_0 = 0x20010000,
JMM_VERSION_1_1 = 0x20010100, // JDK 6
JMM_VERSION_1_2 = 0x20010200, // JDK 7
- JMM_VERSION = 0x20010201
+ JMM_VERSION_1_2_1 = 0x20010201, // JDK 7 GA
+ JMM_VERSION = 0x20010202
};
typedef struct {
@@ -188,6 +189,24 @@ typedef struct {
/* -1 indicates gc_ext_attribute_values is not big enough */
} jmmGCStat;
+typedef struct {
+ const char* name;
+ const char* description;
+ const char* impact;
+ int num_arguments;
+ jboolean enabled;
+} dcmdInfo;
+
+typedef struct {
+ const char* name;
+ const char* description;
+ const char* type;
+ const char* default_string;
+ jboolean mandatory;
+ jboolean option;
+ int position;
+} dcmdArgInfo;
+
typedef struct jmmInterface_1_ {
void* reserved1;
void* reserved2;
@@ -296,6 +315,18 @@ typedef struct jmmInterface_1_ {
void (JNICALL *SetGCNotificationEnabled) (JNIEnv *env,
jobject mgr,
jboolean enabled);
+ jobjectArray (JNICALL *GetDiagnosticCommands) (JNIEnv *env);
+ void (JNICALL *GetDiagnosticCommandInfo)
+ (JNIEnv *env,
+ jobjectArray cmds,
+ dcmdInfo *infoArray);
+ void (JNICALL *GetDiagnosticCommandArgumentsInfo)
+ (JNIEnv *env,
+ jstring commandName,
+ dcmdArgInfo *infoArray);
+ jstring (JNICALL *ExecuteDiagnosticCommand)
+ (JNIEnv *env,
+ jstring command);
} JmmInterface;
#ifdef __cplusplus
diff --git a/hotspot/src/share/vm/services/management.cpp b/hotspot/src/share/vm/services/management.cpp
index 9c8116c..680c5d3 100644
--- a/hotspot/src/share/vm/services/management.cpp
+++ b/hotspot/src/share/vm/services/management.cpp
@@ -33,6 +33,7 @@
#include "oops/objArrayKlass.hpp"
#include "oops/oop.inline.hpp"
#include "runtime/arguments.hpp"
+#include "runtime/globals.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/interfaceSupport.hpp"
#include "runtime/javaCalls.hpp"
@@ -40,7 +41,10 @@
#include "runtime/os.hpp"
#include "runtime/serviceThread.hpp"
#include "services/classLoadingService.hpp"
+#include "services/diagnosticCommand.hpp"
+#include "services/diagnosticFramework.hpp"
#include "services/heapDumper.hpp"
+#include "services/jmm.h"
#include "services/lowMemoryDetector.hpp"
#include "services/gcNotifier.hpp"
#include "services/management.hpp"
@@ -113,6 +117,23 @@ void Management::init() {
_optional_support.isSynchronizerUsageSupported = 1;
#endif // SERVICES_KERNEL
_optional_support.isThreadAllocatedMemorySupported = 1;
+
+ // Registration of the diagnostic commands
+ // First boolean argument specifies if the command is enabled
+ // Second boolean argument specifies if the command is hidden
+ DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<HelpDCmd>(true, false));
+ DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<VersionDCmd>(true, false));
+ DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<CommandLineDCmd>(true, false));
+ DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<PrintSystemPropertiesDCmd>(true, false));
+ DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<PrintVMFlagsDCmd>(true, false));
+ DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<VMUptimeDCmd>(true, false));
+ DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<SystemGCDCmd>(true, false));
+ DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<RunFinalizationDCmd>(true, false));
+#ifndef SERVICES_KERNEL // Heap dumping not supported
+ DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<HeapDumpDCmd>(true, false));
+#endif // SERVICES_KERNEL
+ DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<ClassHistogramDCmd>(true, false));
+ DCmdFactory::register_DCmdFactory(new DCmdFactoryImpl<ThreadDumpDCmd>(true, false));
}
void Management::initialize(TRAPS) {
@@ -2107,6 +2128,122 @@ JVM_ENTRY(jint, jmm_DumpHeap0(JNIEnv *env, jstring outputfile, jboolean live))
#endif // SERVICES_KERNEL
JVM_END
+JVM_ENTRY(jobjectArray, jmm_GetDiagnosticCommands(JNIEnv *env))
+ ResourceMark rm(THREAD);
+ GrowableArray<const char *>* dcmd_list = DCmdFactory::DCmd_list();
+ objArrayOop cmd_array_oop = oopFactory::new_objArray(SystemDictionary::String_klass(),
+ dcmd_list->length(), CHECK_NULL);
+ objArrayHandle cmd_array(THREAD, cmd_array_oop);
+ for (int i = 0; i < dcmd_list->length(); i++) {
+ oop cmd_name = java_lang_String::create_oop_from_str(dcmd_list->at(i), CHECK_NULL);
+ cmd_array->obj_at_put(i, cmd_name);
+ }
+ return (jobjectArray) JNIHandles::make_local(env, cmd_array());
+JVM_END
+
+JVM_ENTRY(void, jmm_GetDiagnosticCommandInfo(JNIEnv *env, jobjectArray cmds,
+ dcmdInfo* infoArray))
+ if (cmds == NULL || infoArray == NULL) {
+ THROW(vmSymbols::java_lang_NullPointerException());
+ }
+
+ ResourceMark rm(THREAD);
+
+ objArrayOop ca = objArrayOop(JNIHandles::resolve_non_null(cmds));
+ objArrayHandle cmds_ah(THREAD, ca);
+
+ // Make sure we have a String array
+ klassOop element_klass = objArrayKlass::cast(cmds_ah->klass())->element_klass();
+ if (element_klass != SystemDictionary::String_klass()) {
+ THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
+ "Array element type is not String class");
+ }
+
+ GrowableArray<DCmdInfo *>* info_list = DCmdFactory::DCmdInfo_list();
+
+ int num_cmds = cmds_ah->length();
+ for (int i = 0; i < num_cmds; i++) {
+ oop cmd = cmds_ah->obj_at(i);
+ if (cmd == NULL) {
+ THROW_MSG(vmSymbols::java_lang_NullPointerException(),
+ "Command name cannot be null.");
+ }
+ char* cmd_name = java_lang_String::as_utf8_string(cmd);
+ if (cmd_name == NULL) {
+ THROW_MSG(vmSymbols::java_lang_NullPointerException(),
+ "Command name cannot be null.");
+ }
+ int pos = info_list->find((void*)cmd_name,DCmdInfo::by_name);
+ if (pos == -1) {
+ THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
+ "Unknown diagnostic command");
+ }
+ DCmdInfo* info = info_list->at(pos);
+ infoArray[i].name = info->name();
+ infoArray[i].description = info->description();
+ infoArray[i].impact = info->impact();
+ infoArray[i].num_arguments = info->num_arguments();
+ infoArray[i].enabled = info->is_enabled();
+ }
+JVM_END
+
+JVM_ENTRY(void, jmm_GetDiagnosticCommandArgumentsInfo(JNIEnv *env,
+ jstring command, dcmdArgInfo* infoArray))
+ ResourceMark rm(THREAD);
+ oop cmd = JNIHandles::resolve_external_guard(command);
+ if (cmd == NULL) {
+ THROW_MSG(vmSymbols::java_lang_NullPointerException(),
+ "Command line cannot be null.");
+ }
+ char* cmd_name = java_lang_String::as_utf8_string(cmd);
+ if (cmd_name == NULL) {
+ THROW_MSG(vmSymbols::java_lang_NullPointerException(),
+ "Command line content cannot be null.");
+ }
+ DCmd* dcmd = NULL;
+ DCmdFactory*factory = DCmdFactory::factory(cmd_name, strlen(cmd_name));
+ if (factory != NULL) {
+ dcmd = factory->create_resource_instance(NULL);
+ }
+ if (dcmd == NULL) {
+ THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
+ "Unknown diagnostic command");
+ }
+ DCmdMark mark(dcmd);
+ GrowableArray<DCmdArgumentInfo*>* array = dcmd->argument_info_array();
+ if (array->length() == 0) {
+ return;
+ }
+ for (int i = 0; i < array->length(); i++) {
+ infoArray[i].name = array->at(i)->name();
+ infoArray[i].description = array->at(i)->description();
+ infoArray[i].type = array->at(i)->type();
+ infoArray[i].default_string = array->at(i)->default_string();
+ infoArray[i].mandatory = array->at(i)->is_mandatory();
+ infoArray[i].option = array->at(i)->is_option();
+ infoArray[i].position = array->at(i)->position();
+ }
+ return;
+JVM_END
+
+JVM_ENTRY(jstring, jmm_ExecuteDiagnosticCommand(JNIEnv *env, jstring commandline))
+ ResourceMark rm(THREAD);
+ oop cmd = JNIHandles::resolve_external_guard(commandline);
+ if (cmd == NULL) {
+ THROW_MSG_NULL(vmSymbols::java_lang_NullPointerException(),
+ "Command line cannot be null.");
+ }
+ char* cmdline = java_lang_String::as_utf8_string(cmd);
+ if (cmdline == NULL) {
+ THROW_MSG_NULL(vmSymbols::java_lang_NullPointerException(),
+ "Command line content cannot be null.");
+ }
+ bufferedStream output;
+ DCmd::parse_and_execute(&output, cmdline, ' ', CHECK_NULL);
+ oop result = java_lang_String::create_oop_from_str(output.as_string(), CHECK_NULL);
+ return (jstring) JNIHandles::make_local(env, result);
+JVM_END
+
jlong Management::ticks_to_ms(jlong ticks) {
assert(os::elapsed_frequency() > 0, "Must be non-zero");
return (jlong)(((double)ticks / (double)os::elapsed_frequency())
@@ -2149,7 +2286,11 @@ const struct jmmInterface_1_ jmm_interface = {
jmm_SetVMGlobal,
NULL,
jmm_DumpThreads,
- jmm_SetGCNotificationEnabled
+ jmm_SetGCNotificationEnabled,
+ jmm_GetDiagnosticCommands,
+ jmm_GetDiagnosticCommandInfo,
+ jmm_GetDiagnosticCommandArgumentsInfo,
+ jmm_ExecuteDiagnosticCommand
};
void* Management::get_jmm_interface(int version) {
diff --git a/hotspot/src/share/vm/services/management.hpp b/hotspot/src/share/vm/services/management.hpp
index 9d97988..be1770a 100644
--- a/hotspot/src/share/vm/services/management.hpp
+++ b/hotspot/src/share/vm/services/management.hpp
@@ -76,6 +76,9 @@ public:
_stamp.update();
}
+ static jlong begin_vm_creation_time() {
+ return _begin_vm_creation_time->get_value();
+ }
static jlong vm_init_done_time() {
return _vm_init_done_time->get_value();
}
diff --git a/hotspot/src/share/vm/services/memoryManager.cpp b/hotspot/src/share/vm/services/memoryManager.cpp
index ceb6f4c..4187164 100644
--- a/hotspot/src/share/vm/services/memoryManager.cpp
+++ b/hotspot/src/share/vm/services/memoryManager.cpp
@@ -168,10 +168,8 @@ GCStatInfo::GCStatInfo(int num_pools) {
// initialize the arrays for memory usage
_before_gc_usage_array = (MemoryUsage*) NEW_C_HEAP_ARRAY(MemoryUsage, num_pools);
_after_gc_usage_array = (MemoryUsage*) NEW_C_HEAP_ARRAY(MemoryUsage, num_pools);
- size_t len = num_pools * sizeof(MemoryUsage);
- memset(_before_gc_usage_array, 0, len);
- memset(_after_gc_usage_array, 0, len);
_usage_array_size = num_pools;
+ clear();
}
GCStatInfo::~GCStatInfo() {
@@ -304,12 +302,8 @@ void GCMemoryManager::gc_end(bool recordPostGCUsage,
pool->set_last_collection_usage(usage);
LowMemoryDetector::detect_after_gc_memory(pool);
}
- if(is_notification_enabled()) {
- bool isMajorGC = this == MemoryService::get_major_gc_manager();
- GCNotifier::pushNotification(this, isMajorGC ? "end of major GC" : "end of minor GC",
- GCCause::to_string(cause));
- }
}
+
if (countCollection) {
_num_collections++;
// alternately update two objects making one public when complete
@@ -321,6 +315,12 @@ void GCMemoryManager::gc_end(bool recordPostGCUsage,
// reset the current stat for diagnosability purposes
_current_gc_stat->clear();
}
+
+ if (is_notification_enabled()) {
+ bool isMajorGC = this == MemoryService::get_major_gc_manager();
+ GCNotifier::pushNotification(this, isMajorGC ? "end of major GC" : "end of minor GC",
+ GCCause::to_string(cause));
+ }
}
}
diff --git a/hotspot/src/share/vm/services/threadService.cpp b/hotspot/src/share/vm/services/threadService.cpp
index 09f09f2..5c70fe9 100644
--- a/hotspot/src/share/vm/services/threadService.cpp
+++ b/hotspot/src/share/vm/services/threadService.cpp
@@ -377,7 +377,7 @@ DeadlockCycle* ThreadService::find_deadlocks_at_safepoint(bool concurrent_locks)
}
}
-
+ delete cycle;
return deadlocks;
}
diff --git a/hotspot/src/share/vm/shark/sharkIntrinsics.cpp b/hotspot/src/share/vm/shark/sharkIntrinsics.cpp
index a5d83cf..8efaa43 100644
--- a/hotspot/src/share/vm/shark/sharkIntrinsics.cpp
+++ b/hotspot/src/share/vm/shark/sharkIntrinsics.cpp
@@ -213,17 +213,11 @@ void SharkIntrinsics::do_Object_getClass() {
SharkType::oop_type(),
"klass");
- Value *klass_part = builder()->CreateAddressOfStructEntry(
- klass,
- in_ByteSize(klassOopDesc::klass_part_offset_in_bytes()),
- SharkType::klass_type(),
- "klass_part");
-
state()->push(
SharkValue::create_jobject(
builder()->CreateValueOfStructEntry(
- klass_part,
- in_ByteSize(Klass::java_mirror_offset_in_bytes()),
+ klass,
+ Klass::java_mirror_offset(),
SharkType::oop_type(),
"java_mirror"),
true));
diff --git a/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp b/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp
index 1e236ff..70e30f9 100644
--- a/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp
+++ b/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp
@@ -745,15 +745,9 @@ void SharkTopLevelBlock::call_register_finalizer(Value *receiver) {
SharkType::oop_type(),
"klass");
- Value *klass_part = builder()->CreateAddressOfStructEntry(
- klass,
- in_ByteSize(klassOopDesc::klass_part_offset_in_bytes()),
- SharkType::klass_type(),
- "klass_part");
-
Value *access_flags = builder()->CreateValueOfStructEntry(
- klass_part,
- in_ByteSize(Klass::access_flags_offset_in_bytes()),
+ klass,
+ Klass::access_flags_offset(),
SharkType::jint_type(),
"access_flags");
diff --git a/hotspot/src/share/vm/trace/traceEventTypes.hpp b/hotspot/src/share/vm/trace/traceEventTypes.hpp
new file mode 100644
index 0000000..e7448aa
--- /dev/null
+++ b/hotspot/src/share/vm/trace/traceEventTypes.hpp
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+
+#ifndef SHARE_VM_TRACE_TRACE_EVENT_TYPES_HPP
+#define SHARE_VM_TRACE_TRACE_EVENT_TYPES_HPP
+
+/* Empty, just a placeholder for tracing events */
+
+#endif
diff --git a/hotspot/src/share/vm/trace/traceMacros.hpp b/hotspot/src/share/vm/trace/traceMacros.hpp
new file mode 100644
index 0000000..e925935
--- /dev/null
+++ b/hotspot/src/share/vm/trace/traceMacros.hpp
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 1997, 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.
+ *
+ * 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.
+ *
+ */
+
+#ifndef SHARE_VM_TRACE_TRACE_MACRO_HPP
+#define SHARE_VM_TRACE_TRACE_MACRO_HPP
+
+#define EVENT_BEGIN(type, name)
+#define EVENT_SET(name, field, value)
+#define EVENT_COMMIT(name, ...)
+#define EVENT_STARTED(name, time)
+#define EVENT_ENDED(name, time)
+#define EVENT_THREAD_EXIT(thread)
+
+#define TRACE_ENABLED 0
+
+#define TRACE_INIT_ID(k)
+#define TRACE_BUFFER void*
+
+#define TRACE_START() true
+#define TRACE_INITIALIZE() 0
+
+#endif
diff --git a/hotspot/src/share/vm/trace/tracing.hpp b/hotspot/src/share/vm/trace/tracing.hpp
new file mode 100644
index 0000000..dcf0e5e
--- /dev/null
+++ b/hotspot/src/share/vm/trace/tracing.hpp
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 1997, 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.
+ *
+ * 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.
+ *
+ */
+
+#ifndef SHARE_VM_TRACE_TRACING_HPP
+#define SHARE_VM_TRACE_TRACING_HPP
+
+#include "trace/traceMacros.hpp"
+
+#endif
diff --git a/hotspot/src/share/vm/utilities/decoder.cpp b/hotspot/src/share/vm/utilities/decoder.cpp
index ed156de..712c54c 100644
--- a/hotspot/src/share/vm/utilities/decoder.cpp
+++ b/hotspot/src/share/vm/utilities/decoder.cpp
@@ -24,80 +24,85 @@
#include "precompiled.hpp"
#include "prims/jvm.h"
+#include "runtime/mutexLocker.hpp"
#include "utilities/decoder.hpp"
-Decoder::decoder_status Decoder::_decoder_status = Decoder::no_error;
-bool Decoder::_initialized = false;
-
-#if !defined(_WINDOWS) && !defined(__APPLE__)
+#if defined(_WINDOWS)
+ #include "decoder_windows.hpp"
+#elif defined(__APPLE__)
+ #include "decoder_machO.hpp"
+#else
+ #include "decoder_elf.hpp"
+#endif
-// Implementation of common functionalities among Solaris and Linux
-#include "utilities/elfFile.hpp"
+NullDecoder* Decoder::_decoder = NULL;
+NullDecoder Decoder::_do_nothing_decoder;
+Mutex* Decoder::_decoder_lock = new Mutex(Mutex::safepoint,
+ "DecoderLock");
-ElfFile* Decoder::_opened_elf_files = NULL;
+// _decoder_lock should already acquired before enter this method
+NullDecoder* Decoder::get_decoder() {
+ assert(_decoder_lock != NULL && _decoder_lock->owned_by_self(),
+ "Require DecoderLock to enter");
-bool Decoder::can_decode_C_frame_in_vm() {
- return true;
-}
+ if (_decoder != NULL) {
+ return _decoder;
+ }
-void Decoder::initialize() {
- _initialized = true;
-}
+ // Decoder is a secondary service. Although, it is good to have,
+ // but we can live without it.
+#if defined(_WINDOWS)
+ _decoder = new (std::nothrow) WindowsDecoder();
+#elif defined (__APPLE__)
+ _decoder = new (std::nothrow)MachODecoder();
+#else
+ _decoder = new (std::nothrow)ElfDecoder();
+#endif
-void Decoder::uninitialize() {
- if (_opened_elf_files != NULL) {
- delete _opened_elf_files;
- _opened_elf_files = NULL;
+ if (_decoder == NULL || _decoder->has_error()) {
+ if (_decoder != NULL) {
+ delete _decoder;
+ }
+ _decoder = &_do_nothing_decoder;
}
- _initialized = false;
+ return _decoder;
}
-Decoder::decoder_status Decoder::decode(address addr, const char* filepath, char *buf, int buflen, int *offset) {
- if (_decoder_status != no_error) {
- return _decoder_status;
- }
+bool Decoder::decode(address addr, char* buf, int buflen, int* offset, const char* modulepath) {
+ assert(_decoder_lock != NULL, "Just check");
+ MutexLockerEx locker(_decoder_lock, true);
+ NullDecoder* decoder = get_decoder();
+ assert(decoder != NULL, "null decoder");
- ElfFile* file = get_elf_file(filepath);
- if (_decoder_status != no_error) {
- return _decoder_status;
- }
+ return decoder->decode(addr, buf, buflen, offset, modulepath);
+}
- const char* symbol = file->decode(addr, offset);
- if (file->get_status() == out_of_memory) {
- _decoder_status = out_of_memory;
- return _decoder_status;
- } else if (symbol != NULL) {
- if (!demangle(symbol, buf, buflen)) {
- jio_snprintf(buf, buflen, "%s", symbol);
- }
- return no_error;
- } else {
- return symbol_not_found;
- }
+bool Decoder::demangle(const char* symbol, char* buf, int buflen) {
+ assert(_decoder_lock != NULL, "Just check");
+ MutexLockerEx locker(_decoder_lock, true);
+ NullDecoder* decoder = get_decoder();
+ assert(decoder != NULL, "null decoder");
+ return decoder->demangle(symbol, buf, buflen);
}
-ElfFile* Decoder::get_elf_file(const char* filepath) {
- if (_decoder_status != no_error) {
- return NULL;
- }
- ElfFile* file = _opened_elf_files;
- while (file != NULL) {
- if (file->same_elf_file(filepath)) {
- return file;
- }
- file = file->m_next;
- }
+bool Decoder::can_decode_C_frame_in_vm() {
+ assert(_decoder_lock != NULL, "Just check");
+ MutexLockerEx locker(_decoder_lock, true);
+ NullDecoder* decoder = get_decoder();
+ assert(decoder != NULL, "null decoder");
+ return decoder->can_decode_C_frame_in_vm();
+}
- file = new ElfFile(filepath);
- if (file == NULL) {
- _decoder_status = out_of_memory;
- }
- if (_opened_elf_files != NULL) {
- file->m_next = _opened_elf_files;
+// shutdown real decoder and replace it with
+// _do_nothing_decoder
+void Decoder::shutdown() {
+ assert(_decoder_lock != NULL, "Just check");
+ MutexLockerEx locker(_decoder_lock, true);
+
+ if (_decoder != NULL && _decoder != &_do_nothing_decoder) {
+ delete _decoder;
}
- _opened_elf_files = file;
- return file;
+ _decoder = &_do_nothing_decoder;
}
-#endif
diff --git a/hotspot/src/share/vm/utilities/decoder.hpp b/hotspot/src/share/vm/utilities/decoder.hpp
index 70ffe21..82179a6 100644
--- a/hotspot/src/share/vm/utilities/decoder.hpp
+++ b/hotspot/src/share/vm/utilities/decoder.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -23,83 +23,78 @@
*/
-#ifndef __DECODER_HPP
-#define __DECODER_HPP
+#ifndef SHARE_VM_UTILITIES_DECODER_HPP
+#define SHARE_VM_UTILITIES_DECODER_HPP
#include "memory/allocation.hpp"
+#include "runtime/mutex.hpp"
-#ifdef _WINDOWS
-#include <windows.h>
-#include <imagehlp.h>
-
-// functions needed for decoding symbols
-typedef DWORD (WINAPI *pfn_SymSetOptions)(DWORD);
-typedef BOOL (WINAPI *pfn_SymInitialize)(HANDLE, PCTSTR, BOOL);
-typedef BOOL (WINAPI *pfn_SymGetSymFromAddr64)(HANDLE, DWORD64, PDWORD64, PIMAGEHLP_SYMBOL64);
-typedef DWORD (WINAPI *pfn_UndecorateSymbolName)(const char*, char*, DWORD, DWORD);
-
-#elif defined(__APPLE__)
-
-#else
-
-class ElfFile;
-
-#endif // _WINDOWS
-
-
-class Decoder: public StackObj {
-
- public:
+class NullDecoder: public CHeapObj {
+public:
// status code for decoding native C frame
enum decoder_status {
- no_error, // successfully decoded frames
+ not_available = -10, // real decoder is not available
+ no_error = 0, // successfully decoded frames
out_of_memory, // out of memory
file_invalid, // invalid elf file
file_not_found, // could not found symbol file (on windows), such as jvm.pdb or jvm.map
helper_not_found, // could not load dbghelp.dll (Windows only)
helper_func_error, // decoding functions not found (Windows only)
- helper_init_error, // SymInitialize failed (Windows only)
- symbol_not_found // could not find the symbol
+ helper_init_error // SymInitialize failed (Windows only)
};
- public:
- Decoder() { initialize(); };
- ~Decoder() { uninitialize(); };
+ NullDecoder() {
+ _decoder_status = not_available;
+ }
- static bool can_decode_C_frame_in_vm();
+ ~NullDecoder() {};
+
+ virtual bool decode(address pc, char* buf, int buflen, int* offset,
+ const char* modulepath = NULL) {
+ return false;
+ }
- static void initialize();
- static void uninitialize();
+ virtual bool demangle(const char* symbol, char* buf, int buflen) {
+ return false;
+ }
-#ifdef _WINDOWS
- static decoder_status decode(address addr, char *buf, int buflen, int *offset);
-#else
- static decoder_status decode(address addr, const char* filepath, char *buf, int buflen, int *offset);
-#endif
+ virtual bool can_decode_C_frame_in_vm() const {
+ return false;
+ }
- static bool demangle(const char* symbol, char *buf, int buflen);
+ virtual decoder_status status() const {
+ return _decoder_status;
+ }
- static decoder_status get_status() { return _decoder_status; };
+ virtual bool has_error() const {
+ return is_error(_decoder_status);
+ }
-#if !defined(_WINDOWS) && !defined(__APPLE__)
- private:
- static ElfFile* get_elf_file(const char* filepath);
-#endif // _WINDOWS
+ static bool is_error(decoder_status status) {
+ return (status > 0);
+ }
+
+protected:
+ decoder_status _decoder_status;
+};
+
+
+class Decoder: AllStatic {
+public:
+ static bool decode(address pc, char* buf, int buflen, int* offset, const char* modulepath = NULL);
+ static bool demangle(const char* symbol, char* buf, int buflen);
+ static bool can_decode_C_frame_in_vm();
+ static void shutdown();
+protected:
+ static NullDecoder* get_decoder();
- private:
- static decoder_status _decoder_status;
- static bool _initialized;
+private:
+ static NullDecoder* _decoder;
+ static NullDecoder _do_nothing_decoder;
-#ifdef _WINDOWS
- static HMODULE _dbghelp_handle;
- static bool _can_decode_in_vm;
- static pfn_SymGetSymFromAddr64 _pfnSymGetSymFromAddr64;
- static pfn_UndecorateSymbolName _pfnUndecorateSymbolName;
-#elif __APPLE__
-#else
- static ElfFile* _opened_elf_files;
-#endif // _WINDOWS
+protected:
+ static Mutex* _decoder_lock;
};
-#endif // __DECODER_HPP
+#endif // SHARE_VM_UTILITIES_DECODER_HPP
diff --git a/hotspot/src/share/vm/utilities/decoder_elf.cpp b/hotspot/src/share/vm/utilities/decoder_elf.cpp
new file mode 100644
index 0000000..d5733a8
--- /dev/null
+++ b/hotspot/src/share/vm/utilities/decoder_elf.cpp
@@ -0,0 +1,76 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+#include "precompiled.hpp"
+
+#if !defined(_WINDOWS) && !defined(__APPLE__)
+#include "decoder_elf.hpp"
+
+ElfDecoder::~ElfDecoder() {
+ if (_opened_elf_files != NULL) {
+ delete _opened_elf_files;
+ _opened_elf_files = NULL;
+ }
+}
+
+bool ElfDecoder::decode(address addr, char *buf, int buflen, int* offset, const char* filepath) {
+ assert(filepath, "null file path");
+ assert(buf != NULL && buflen > 0, "Invalid buffer");
+ if (has_error()) return false;
+ ElfFile* file = get_elf_file(filepath);
+ if (file == NULL) {
+ return false;
+ }
+
+ if (!file->decode(addr, buf, buflen, offset)) {
+ return false;
+ }
+ if (buf[0] != '\0') {
+ demangle(buf, buf, buflen);
+ }
+ return true;
+}
+
+ElfFile* ElfDecoder::get_elf_file(const char* filepath) {
+ ElfFile* file;
+
+ file = _opened_elf_files;
+ while (file != NULL) {
+ if (file->same_elf_file(filepath)) {
+ return file;
+ }
+ file = file->next();
+ }
+
+ file = new (std::nothrow)ElfFile(filepath);
+ if (file != NULL) {
+ if (_opened_elf_files != NULL) {
+ file->set_next(_opened_elf_files);
+ }
+ _opened_elf_files = file;
+ }
+
+ return file;
+}
+#endif
diff --git a/hotspot/src/share/vm/utilities/decoder_elf.hpp b/hotspot/src/share/vm/utilities/decoder_elf.hpp
new file mode 100644
index 0000000..f0dff75
--- /dev/null
+++ b/hotspot/src/share/vm/utilities/decoder_elf.hpp
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+#ifndef SHARE_VM_UTILITIES_DECODER_ELF_HPP
+#define SHARE_VM_UTILITIES_DECODER_ELF_HPP
+
+#if !defined(_WINDOWS) && !defined(__APPLE__)
+
+#include "utilities/decoder.hpp"
+#include "utilities/elfFile.hpp"
+
+class ElfDecoder: public NullDecoder {
+
+public:
+ ElfDecoder() {
+ _opened_elf_files = NULL;
+ _decoder_status = no_error;
+ }
+ ~ElfDecoder();
+
+ bool can_decode_C_frame_in_vm() const { return true; }
+
+ bool demangle(const char* symbol, char *buf, int buflen);
+ bool decode(address addr, char *buf, int buflen, int* offset, const char* filepath = NULL);
+
+private:
+ ElfFile* get_elf_file(const char* filepath);
+
+private:
+ ElfFile* _opened_elf_files;
+};
+
+#endif
+#endif // SHARE_VM_UTILITIES_DECODER_ELF_HPP
diff --git a/hotspot/src/share/vm/utilities/elfFile.cpp b/hotspot/src/share/vm/utilities/elfFile.cpp
index 2db1f71..2e4b683 100644
--- a/hotspot/src/share/vm/utilities/elfFile.cpp
+++ b/hotspot/src/share/vm/utilities/elfFile.cpp
@@ -44,7 +44,7 @@ ElfFile::ElfFile(const char* filepath) {
m_string_tables = NULL;
m_symbol_tables = NULL;
m_next = NULL;
- m_status = Decoder::no_error;
+ m_status = NullDecoder::no_error;
int len = strlen(filepath) + 1;
m_filepath = (const char*)os::malloc(len * sizeof(char));
@@ -54,10 +54,10 @@ ElfFile::ElfFile(const char* filepath) {
if (m_file != NULL) {
load_tables();
} else {
- m_status = Decoder::file_not_found;
+ m_status = NullDecoder::file_not_found;
}
} else {
- m_status = Decoder::out_of_memory;
+ m_status = NullDecoder::out_of_memory;
}
}
@@ -96,41 +96,41 @@ bool ElfFile::is_elf_file(Elf_Ehdr& hdr) {
bool ElfFile::load_tables() {
assert(m_file, "file not open");
- assert(m_status == Decoder::no_error, "already in error");
+ assert(!NullDecoder::is_error(m_status), "already in error");
// read elf file header
if (fread(&m_elfHdr, sizeof(m_elfHdr), 1, m_file) != 1) {
- m_status = Decoder::file_invalid;
+ m_status = NullDecoder::file_invalid;
return false;
}
if (!is_elf_file(m_elfHdr)) {
- m_status = Decoder::file_invalid;
+ m_status = NullDecoder::file_invalid;
return false;
}
// walk elf file's section headers, and load string tables
Elf_Shdr shdr;
if (!fseek(m_file, m_elfHdr.e_shoff, SEEK_SET)) {
- if (m_status != Decoder::no_error) return false;
+ if (NullDecoder::is_error(m_status)) return false;
for (int index = 0; index < m_elfHdr.e_shnum; index ++) {
if (fread((void*)&shdr, sizeof(Elf_Shdr), 1, m_file) != 1) {
- m_status = Decoder::file_invalid;
+ m_status = NullDecoder::file_invalid;
return false;
}
// string table
if (shdr.sh_type == SHT_STRTAB) {
ElfStringTable* table = new (std::nothrow) ElfStringTable(m_file, shdr, index);
if (table == NULL) {
- m_status = Decoder::out_of_memory;
+ m_status = NullDecoder::out_of_memory;
return false;
}
add_string_table(table);
} else if (shdr.sh_type == SHT_SYMTAB || shdr.sh_type == SHT_DYNSYM) {
ElfSymbolTable* table = new (std::nothrow) ElfSymbolTable(m_file, shdr);
if (table == NULL) {
- m_status = Decoder::out_of_memory;
+ m_status = NullDecoder::out_of_memory;
return false;
}
add_symbol_table(table);
@@ -140,32 +140,33 @@ bool ElfFile::load_tables() {
return true;
}
-const char* ElfFile::decode(address addr, int* offset) {
+bool ElfFile::decode(address addr, char* buf, int buflen, int* offset) {
// something already went wrong, just give up
- if (m_status != Decoder::no_error) {
- return NULL;
+ if (NullDecoder::is_error(m_status)) {
+ return false;
}
-
ElfSymbolTable* symbol_table = m_symbol_tables;
int string_table_index;
int pos_in_string_table;
int off = INT_MAX;
bool found_symbol = false;
while (symbol_table != NULL) {
- if (Decoder::no_error == symbol_table->lookup(addr, &string_table_index, &pos_in_string_table, &off)) {
+ if (symbol_table->lookup(addr, &string_table_index, &pos_in_string_table, &off)) {
found_symbol = true;
}
symbol_table = symbol_table->m_next;
}
- if (!found_symbol) return NULL;
+ if (!found_symbol) return false;
ElfStringTable* string_table = get_string_table(string_table_index);
+
if (string_table == NULL) {
- m_status = Decoder::file_invalid;
- return NULL;
+ m_status = NullDecoder::file_invalid;
+ return false;
}
if (offset) *offset = off;
- return string_table->string_at(pos_in_string_table);
+
+ return string_table->string_at(pos_in_string_table, buf, buflen);
}
diff --git a/hotspot/src/share/vm/utilities/elfFile.hpp b/hotspot/src/share/vm/utilities/elfFile.hpp
index b40b90a..e6f4ce2 100644
--- a/hotspot/src/share/vm/utilities/elfFile.hpp
+++ b/hotspot/src/share/vm/utilities/elfFile.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef __ELF_FILE_HPP
-#define __ELF_FILE_HPP
+#ifndef SHARE_VM_UTILITIES_ELF_FILE_HPP
+#define SHARE_VM_UTILITIES_ELF_FILE_HPP
#if !defined(_WINDOWS) && !defined(__APPLE__)
@@ -83,12 +83,12 @@ class ElfSymbolTable;
// part of code to be very defensive, and bait out if anything went wrong.
class ElfFile: public CHeapObj {
- friend class Decoder;
+ friend class ElfDecoder;
public:
ElfFile(const char* filepath);
~ElfFile();
- const char* decode(address addr, int* offset);
+ bool decode(address addr, char* buf, int buflen, int* offset);
const char* filepath() {
return m_filepath;
}
@@ -99,7 +99,7 @@ class ElfFile: public CHeapObj {
return (m_filepath && !strcmp(filepath, m_filepath));
}
- Decoder::decoder_status get_status() {
+ NullDecoder::decoder_status get_status() {
return m_status;
}
@@ -119,8 +119,9 @@ class ElfFile: public CHeapObj {
// return a string table at specified section index
ElfStringTable* get_string_table(int index);
- // look up an address and return the nearest symbol
- const char* look_up(Elf_Shdr shdr, address addr, int* offset);
+protected:
+ ElfFile* next() const { return m_next; }
+ void set_next(ElfFile* file) { m_next = file; }
protected:
ElfFile* m_next;
@@ -131,17 +132,17 @@ class ElfFile: public CHeapObj {
FILE* m_file;
// Elf header
- Elf_Ehdr m_elfHdr;
+ Elf_Ehdr m_elfHdr;
// symbol tables
- ElfSymbolTable* m_symbol_tables;
+ ElfSymbolTable* m_symbol_tables;
// string tables
- ElfStringTable* m_string_tables;
+ ElfStringTable* m_string_tables;
- Decoder::decoder_status m_status;
+ NullDecoder::decoder_status m_status;
};
#endif // _WINDOWS
-#endif // __ELF_FILE_HPP
+#endif // SHARE_VM_UTILITIES_ELF_FILE_HPP
diff --git a/hotspot/src/share/vm/utilities/elfStringTable.cpp b/hotspot/src/share/vm/utilities/elfStringTable.cpp
index 905f82b..89286cb 100644
--- a/hotspot/src/share/vm/utilities/elfStringTable.cpp
+++ b/hotspot/src/share/vm/utilities/elfStringTable.cpp
@@ -38,7 +38,7 @@ ElfStringTable::ElfStringTable(FILE* file, Elf_Shdr shdr, int index) {
m_index = index;
m_next = NULL;
m_file = file;
- m_status = Decoder::no_error;
+ m_status = NullDecoder::no_error;
// try to load the string table
long cur_offset = ftell(file);
@@ -48,7 +48,7 @@ ElfStringTable::ElfStringTable(FILE* file, Elf_Shdr shdr, int index) {
if (fseek(file, shdr.sh_offset, SEEK_SET) ||
fread((void*)m_table, shdr.sh_size, 1, file) != 1 ||
fseek(file, cur_offset, SEEK_SET)) {
- m_status = Decoder::file_invalid;
+ m_status = NullDecoder::file_invalid;
os::free((void*)m_table);
m_table = NULL;
}
@@ -67,22 +67,23 @@ ElfStringTable::~ElfStringTable() {
}
}
-const char* ElfStringTable::string_at(int pos) {
- if (m_status != Decoder::no_error) {
- return NULL;
+bool ElfStringTable::string_at(int pos, char* buf, int buflen) {
+ if (NullDecoder::is_error(m_status)) {
+ return false;
}
if (m_table != NULL) {
- return (const char*)(m_table + pos);
+ jio_snprintf(buf, buflen, "%s", (const char*)(m_table + pos));
+ return true;
} else {
long cur_pos = ftell(m_file);
if (cur_pos == -1 ||
fseek(m_file, m_shdr.sh_offset + pos, SEEK_SET) ||
- fread(m_symbol, 1, MAX_SYMBOL_LEN, m_file) <= 0 ||
+ fread(buf, 1, buflen, m_file) <= 0 ||
fseek(m_file, cur_pos, SEEK_SET)) {
- m_status = Decoder::file_invalid;
- return NULL;
+ m_status = NullDecoder::file_invalid;
+ return false;
}
- return (const char*)m_symbol;
+ return true;
}
}
diff --git a/hotspot/src/share/vm/utilities/elfStringTable.hpp b/hotspot/src/share/vm/utilities/elfStringTable.hpp
index a984e3a..96f30b1 100644
--- a/hotspot/src/share/vm/utilities/elfStringTable.hpp
+++ b/hotspot/src/share/vm/utilities/elfStringTable.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef __ELF_STRING_TABLE_HPP
-#define __ELF_STRING_TABLE_HPP
+#ifndef SHARE_VM_UTILITIES_ELF_STRING_TABLE_HPP
+#define SHARE_VM_UTILITIES_ELF_STRING_TABLE_HPP
#if !defined(_WINDOWS) && !defined(__APPLE__)
@@ -35,9 +35,6 @@
// The string table represents a string table section in an elf file.
// Whenever there is enough memory, it will load whole string table as
// one blob. Otherwise, it will load string from file when requested.
-
-#define MAX_SYMBOL_LEN 256
-
class ElfStringTable: CHeapObj {
friend class ElfFile;
public:
@@ -48,10 +45,10 @@ class ElfStringTable: CHeapObj {
int index() { return m_index; };
// get string at specified offset
- const char* string_at(int offset);
+ bool string_at(int offset, char* buf, int buflen);
// get status code
- Decoder::decoder_status get_status() { return m_status; };
+ NullDecoder::decoder_status get_status() { return m_status; };
protected:
ElfStringTable* m_next;
@@ -69,13 +66,10 @@ class ElfStringTable: CHeapObj {
// section header
Elf_Shdr m_shdr;
- // buffer for reading individual string
- char m_symbol[MAX_SYMBOL_LEN];
-
// error code
- Decoder::decoder_status m_status;
+ NullDecoder::decoder_status m_status;
};
-#endif // _WINDOWS
+#endif // _WINDOWS and _APPLE
-#endif // __ELF_STRING_TABLE_HPP
+#endif // SHARE_VM_UTILITIES_ELF_STRING_TABLE_HPP
diff --git a/hotspot/src/share/vm/utilities/elfSymbolTable.cpp b/hotspot/src/share/vm/utilities/elfSymbolTable.cpp
index d160601..3ac9b92 100644
--- a/hotspot/src/share/vm/utilities/elfSymbolTable.cpp
+++ b/hotspot/src/share/vm/utilities/elfSymbolTable.cpp
@@ -34,7 +34,7 @@ ElfSymbolTable::ElfSymbolTable(FILE* file, Elf_Shdr shdr) {
m_symbols = NULL;
m_next = NULL;
m_file = file;
- m_status = Decoder::no_error;
+ m_status = NullDecoder::no_error;
// try to load the string table
long cur_offset = ftell(file);
@@ -45,16 +45,16 @@ ElfSymbolTable::ElfSymbolTable(FILE* file, Elf_Shdr shdr) {
if (fseek(file, shdr.sh_offset, SEEK_SET) ||
fread((void*)m_symbols, shdr.sh_size, 1, file) != 1 ||
fseek(file, cur_offset, SEEK_SET)) {
- m_status = Decoder::file_invalid;
+ m_status = NullDecoder::file_invalid;
os::free(m_symbols);
m_symbols = NULL;
}
}
- if (m_status == Decoder::no_error) {
+ if (!NullDecoder::is_error(m_status)) {
memcpy(&m_shdr, &shdr, sizeof(Elf_Shdr));
}
} else {
- m_status = Decoder::file_invalid;
+ m_status = NullDecoder::file_invalid;
}
}
@@ -68,13 +68,13 @@ ElfSymbolTable::~ElfSymbolTable() {
}
}
-Decoder::decoder_status ElfSymbolTable::lookup(address addr, int* stringtableIndex, int* posIndex, int* offset) {
+bool ElfSymbolTable::lookup(address addr, int* stringtableIndex, int* posIndex, int* offset) {
assert(stringtableIndex, "null string table index pointer");
assert(posIndex, "null string table offset pointer");
assert(offset, "null offset pointer");
- if (m_status != Decoder::no_error) {
- return m_status;
+ if (NullDecoder::is_error(m_status)) {
+ return false;
}
address pc = 0;
@@ -97,8 +97,8 @@ Decoder::decoder_status ElfSymbolTable::lookup(address addr, int* stringtableInd
long cur_pos;
if ((cur_pos = ftell(m_file)) == -1 ||
fseek(m_file, m_shdr.sh_offset, SEEK_SET)) {
- m_status = Decoder::file_invalid;
- return m_status;
+ m_status = NullDecoder::file_invalid;
+ return false;
}
Elf_Sym sym;
@@ -114,13 +114,13 @@ Decoder::decoder_status ElfSymbolTable::lookup(address addr, int* stringtableInd
}
}
} else {
- m_status = Decoder::file_invalid;
- return m_status;
+ m_status = NullDecoder::file_invalid;
+ return false;
}
}
fseek(m_file, cur_pos, SEEK_SET);
}
- return m_status;
+ return true;
}
#endif // _WINDOWS
diff --git a/hotspot/src/share/vm/utilities/elfSymbolTable.hpp b/hotspot/src/share/vm/utilities/elfSymbolTable.hpp
index c8a11fc..a149b99 100644
--- a/hotspot/src/share/vm/utilities/elfSymbolTable.hpp
+++ b/hotspot/src/share/vm/utilities/elfSymbolTable.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -22,8 +22,8 @@
*
*/
-#ifndef __ELF_SYMBOL_TABLE_HPP
-#define __ELF_SYMBOL_TABLE_HPP
+#ifndef SHARE_VM_UTILITIES_ELF_SYMBOL_TABLE_HPP
+#define SHARE_VM_UTILITIES_ELF_SYMBOL_TABLE_HPP
#if !defined(_WINDOWS) && !defined(__APPLE__)
@@ -45,9 +45,9 @@ class ElfSymbolTable: public CHeapObj {
~ElfSymbolTable();
// search the symbol that is nearest to the specified address.
- Decoder::decoder_status lookup(address addr, int* stringtableIndex, int* posIndex, int* offset);
+ bool lookup(address addr, int* stringtableIndex, int* posIndex, int* offset);
- Decoder::decoder_status get_status() { return m_status; };
+ NullDecoder::decoder_status get_status() { return m_status; };
protected:
ElfSymbolTable* m_next;
@@ -62,9 +62,9 @@ class ElfSymbolTable: public CHeapObj {
// section header
Elf_Shdr m_shdr;
- Decoder::decoder_status m_status;
+ NullDecoder::decoder_status m_status;
};
-#endif // _WINDOWS
+#endif // _WINDOWS and _APPLE
-#endif // __ELF_SYMBOL_TABLE_HPP
+#endif // SHARE_VM_UTILITIES_ELF_SYMBOL_TABLE_HPP
diff --git a/hotspot/src/share/vm/utilities/globalDefinitions.hpp b/hotspot/src/share/vm/utilities/globalDefinitions.hpp
index dc7532b..89201f6 100644
--- a/hotspot/src/share/vm/utilities/globalDefinitions.hpp
+++ b/hotspot/src/share/vm/utilities/globalDefinitions.hpp
@@ -175,6 +175,9 @@ const int MILLIUNITS = 1000; // milli units per base unit
const int MICROUNITS = 1000000; // micro units per base unit
const int NANOUNITS = 1000000000; // nano units per base unit
+const jlong NANOSECS_PER_SEC = CONST64(1000000000);
+const jint NANOSECS_PER_MILLISEC = 1000000;
+
inline const char* proper_unit_for_byte_size(size_t s) {
if (s >= 10*M) {
return "M";
@@ -295,6 +298,11 @@ const jushort max_jushort = (jushort)-1; // 0xFFFF largest jushort
const juint max_juint = (juint)-1; // 0xFFFFFFFF largest juint
const julong max_julong = (julong)-1; // 0xFF....FF largest julong
+typedef jbyte s1;
+typedef jshort s2;
+typedef jint s4;
+typedef jlong s8;
+
//----------------------------------------------------------------------------------------------------
// JVM spec restrictions
diff --git a/hotspot/src/share/vm/utilities/ostream.cpp b/hotspot/src/share/vm/utilities/ostream.cpp
index 6066000..2dc63d0 100644
--- a/hotspot/src/share/vm/utilities/ostream.cpp
+++ b/hotspot/src/share/vm/utilities/ostream.cpp
@@ -1021,7 +1021,7 @@ int networkStream::read(char *buf, size_t len) {
void networkStream::flush() {
if (size() != 0) {
- int result = os::raw_send(_socket, (char *)base(), (int)size(), 0);
+ int result = os::raw_send(_socket, (char *)base(), size(), 0);
assert(result != -1, "connection error");
assert(result == (int)size(), "didn't send enough data");
}
diff --git a/hotspot/src/share/vm/utilities/quickSort.cpp b/hotspot/src/share/vm/utilities/quickSort.cpp
index bf68af1..e3cfa1e 100644
--- a/hotspot/src/share/vm/utilities/quickSort.cpp
+++ b/hotspot/src/share/vm/utilities/quickSort.cpp
@@ -93,8 +93,7 @@ bool QuickSort::sort_and_compare(int* arrayToSort, int* expectedResult, int leng
return compare_arrays(arrayToSort, expectedResult, length);
}
-bool QuickSort::test_quick_sort() {
- tty->print_cr("test_quick_sort");
+void QuickSort::test_quick_sort() {
{
int* test_array = NULL;
int* expected_array = NULL;
@@ -214,7 +213,6 @@ bool QuickSort::test_quick_sort() {
delete[] test_array;
delete[] expected_array;
}
- return true;
}
#endif
diff --git a/hotspot/src/share/vm/utilities/quickSort.hpp b/hotspot/src/share/vm/utilities/quickSort.hpp
index 17eaf46..ba131aa 100644
--- a/hotspot/src/share/vm/utilities/quickSort.hpp
+++ b/hotspot/src/share/vm/utilities/quickSort.hpp
@@ -130,7 +130,7 @@ class QuickSort : AllStatic {
static void print_array(const char* prefix, int* array, int length);
static bool compare_arrays(int* actual, int* expected, int length);
template <class C> static bool sort_and_compare(int* arrayToSort, int* expectedResult, int length, C comparator, bool idempotent = false);
- static bool test_quick_sort();
+ static void test_quick_sort();
#endif
};
diff --git a/hotspot/src/share/vm/utilities/vmError.cpp b/hotspot/src/share/vm/utilities/vmError.cpp
index 94ed68e..a212f76 100644
--- a/hotspot/src/share/vm/utilities/vmError.cpp
+++ b/hotspot/src/share/vm/utilities/vmError.cpp
@@ -571,8 +571,6 @@ void VMError::report(outputStream* st) {
if (fr.pc()) {
st->print_cr("Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)");
- // initialize decoder to decode C frames
- Decoder decoder;
int count = 0;
while (count++ < StackPrintLimit) {
diff --git a/hotspot/src/share/vm/utilities/workgroup.cpp b/hotspot/src/share/vm/utilities/workgroup.cpp
index e53d78d..0ef1f83 100644
--- a/hotspot/src/share/vm/utilities/workgroup.cpp
+++ b/hotspot/src/share/vm/utilities/workgroup.cpp
@@ -53,15 +53,14 @@ AbstractWorkGang::AbstractWorkGang(const char* name,
}
WorkGang::WorkGang(const char* name,
- int workers,
+ uint workers,
bool are_GC_task_threads,
bool are_ConcurrentGC_threads) :
AbstractWorkGang(name, are_GC_task_threads, are_ConcurrentGC_threads) {
- // Save arguments.
_total_workers = workers;
}
-GangWorker* WorkGang::allocate_worker(int which) {
+GangWorker* WorkGang::allocate_worker(uint which) {
GangWorker* new_worker = new GangWorker(this, which);
return new_worker;
}
@@ -89,7 +88,7 @@ bool WorkGang::initialize_workers() {
} else {
worker_type = os::pgc_thread;
}
- for (int worker = 0; worker < total_workers(); worker += 1) {
+ for (uint worker = 0; worker < total_workers(); worker += 1) {
GangWorker* new_worker = allocate_worker(worker);
assert(new_worker != NULL, "Failed to allocate GangWorker");
_gang_workers[worker] = new_worker;
@@ -109,14 +108,14 @@ AbstractWorkGang::~AbstractWorkGang() {
tty->print_cr("Destructing work gang %s", name());
}
stop(); // stop all the workers
- for (int worker = 0; worker < total_workers(); worker += 1) {
+ for (uint worker = 0; worker < total_workers(); worker += 1) {
delete gang_worker(worker);
}
delete gang_workers();
delete monitor();
}
-GangWorker* AbstractWorkGang::gang_worker(int i) const {
+GangWorker* AbstractWorkGang::gang_worker(uint i) const {
// Array index bounds checking.
GangWorker* result = NULL;
assert(gang_workers() != NULL, "No workers for indexing");
@@ -127,6 +126,12 @@ GangWorker* AbstractWorkGang::gang_worker(int i) const {
}
void WorkGang::run_task(AbstractGangTask* task) {
+ run_task(task, total_workers());
+}
+
+void WorkGang::run_task(AbstractGangTask* task, uint no_of_parallel_workers) {
+ task->set_for_termination(no_of_parallel_workers);
+
// This thread is executed by the VM thread which does not block
// on ordinary MutexLocker's.
MutexLockerEx ml(monitor(), Mutex::_no_safepoint_check_flag);
@@ -143,22 +148,32 @@ void WorkGang::run_task(AbstractGangTask* task) {
// Tell the workers to get to work.
monitor()->notify_all();
// Wait for them to be finished
- while (finished_workers() < total_workers()) {
+ while (finished_workers() < no_of_parallel_workers) {
if (TraceWorkGang) {
tty->print_cr("Waiting in work gang %s: %d/%d finished sequence %d",
- name(), finished_workers(), total_workers(),
+ name(), finished_workers(), no_of_parallel_workers,
_sequence_number);
}
monitor()->wait(/* no_safepoint_check */ true);
}
_task = NULL;
if (TraceWorkGang) {
- tty->print_cr("/nFinished work gang %s: %d/%d sequence %d",
- name(), finished_workers(), total_workers(),
+ tty->print_cr("\nFinished work gang %s: %d/%d sequence %d",
+ name(), finished_workers(), no_of_parallel_workers,
_sequence_number);
+ Thread* me = Thread::current();
+ tty->print_cr(" T: 0x%x VM_thread: %d", me, me->is_VM_thread());
}
}
+void FlexibleWorkGang::run_task(AbstractGangTask* task) {
+ // If active_workers() is passed, _finished_workers
+ // must only be incremented for workers that find non_null
+ // work (as opposed to all those that just check that the
+ // task is not null).
+ WorkGang::run_task(task, (uint) active_workers());
+}
+
void AbstractWorkGang::stop() {
// Tell all workers to terminate, then wait for them to become inactive.
MutexLockerEx ml(monitor(), Mutex::_no_safepoint_check_flag);
@@ -168,10 +183,10 @@ void AbstractWorkGang::stop() {
_task = NULL;
_terminate = true;
monitor()->notify_all();
- while (finished_workers() < total_workers()) {
+ while (finished_workers() < active_workers()) {
if (TraceWorkGang) {
tty->print_cr("Waiting in work gang %s: %d/%d finished",
- name(), finished_workers(), total_workers());
+ name(), finished_workers(), active_workers());
}
monitor()->wait(/* no_safepoint_check */ true);
}
@@ -275,10 +290,12 @@ void GangWorker::loop() {
// Check for new work.
if ((data.task() != NULL) &&
(data.sequence_number() != previous_sequence_number)) {
- gang()->internal_note_start();
- gang_monitor->notify_all();
- part = gang()->started_workers() - 1;
- break;
+ if (gang()->needs_more_workers()) {
+ gang()->internal_note_start();
+ gang_monitor->notify_all();
+ part = gang()->started_workers() - 1;
+ break;
+ }
}
// Nothing to do.
gang_monitor->wait(/* no_safepoint_check */ true);
@@ -350,6 +367,9 @@ const char* AbstractGangTask::name() const {
#endif /* PRODUCT */
+// FlexibleWorkGang
+
+
// *** WorkGangBarrierSync
WorkGangBarrierSync::WorkGangBarrierSync()
@@ -357,12 +377,12 @@ WorkGangBarrierSync::WorkGangBarrierSync()
_n_workers(0), _n_completed(0), _should_reset(false) {
}
-WorkGangBarrierSync::WorkGangBarrierSync(int n_workers, const char* name)
+WorkGangBarrierSync::WorkGangBarrierSync(uint n_workers, const char* name)
: _monitor(Mutex::safepoint, name, true),
_n_workers(n_workers), _n_completed(0), _should_reset(false) {
}
-void WorkGangBarrierSync::set_n_workers(int n_workers) {
+void WorkGangBarrierSync::set_n_workers(uint n_workers) {
_n_workers = n_workers;
_n_completed = 0;
_should_reset = false;
@@ -399,9 +419,9 @@ void WorkGangBarrierSync::enter() {
// SubTasksDone functions.
-SubTasksDone::SubTasksDone(int n) :
+SubTasksDone::SubTasksDone(uint n) :
_n_tasks(n), _n_threads(1), _tasks(NULL) {
- _tasks = NEW_C_HEAP_ARRAY(jint, n);
+ _tasks = NEW_C_HEAP_ARRAY(uint, n);
guarantee(_tasks != NULL, "alloc failure");
clear();
}
@@ -410,16 +430,14 @@ bool SubTasksDone::valid() {
return _tasks != NULL;
}
-void SubTasksDone::set_n_threads(int t) {
-#ifdef ASSERT
+void SubTasksDone::set_n_threads(uint t) {
assert(_claimed == 0 || _threads_completed == _n_threads,
"should not be called while tasks are being processed!");
-#endif
_n_threads = (t == 0 ? 1 : t);
}
void SubTasksDone::clear() {
- for (int i = 0; i < _n_tasks; i++) {
+ for (uint i = 0; i < _n_tasks; i++) {
_tasks[i] = 0;
}
_threads_completed = 0;
@@ -428,9 +446,9 @@ void SubTasksDone::clear() {
#endif
}
-bool SubTasksDone::is_task_claimed(int t) {
+bool SubTasksDone::is_task_claimed(uint t) {
assert(0 <= t && t < _n_tasks, "bad task id.");
- jint old = _tasks[t];
+ uint old = _tasks[t];
if (old == 0) {
old = Atomic::cmpxchg(1, &_tasks[t], 0);
}
@@ -439,7 +457,7 @@ bool SubTasksDone::is_task_claimed(int t) {
#ifdef ASSERT
if (!res) {
assert(_claimed < _n_tasks, "Too many tasks claimed; missing clear?");
- Atomic::inc(&_claimed);
+ Atomic::inc((volatile jint*) &_claimed);
}
#endif
return res;
@@ -453,7 +471,7 @@ void SubTasksDone::all_tasks_completed() {
observed = Atomic::cmpxchg(old+1, &_threads_completed, old);
} while (observed != old);
// If this was the last thread checking in, clear the tasks.
- if (observed+1 == _n_threads) clear();
+ if (observed+1 == (jint)_n_threads) clear();
}
@@ -472,12 +490,12 @@ bool SequentialSubTasksDone::valid() {
return _n_threads > 0;
}
-bool SequentialSubTasksDone::is_task_claimed(int& t) {
- jint* n_claimed_ptr = &_n_claimed;
+bool SequentialSubTasksDone::is_task_claimed(uint& t) {
+ uint* n_claimed_ptr = &_n_claimed;
t = *n_claimed_ptr;
while (t < _n_tasks) {
jint res = Atomic::cmpxchg(t+1, n_claimed_ptr, t);
- if (res == t) {
+ if (res == (jint)t) {
return false;
}
t = *n_claimed_ptr;
@@ -486,10 +504,10 @@ bool SequentialSubTasksDone::is_task_claimed(int& t) {
}
bool SequentialSubTasksDone::all_tasks_completed() {
- jint* n_completed_ptr = &_n_completed;
- jint complete = *n_completed_ptr;
+ uint* n_completed_ptr = &_n_completed;
+ uint complete = *n_completed_ptr;
while (true) {
- jint res = Atomic::cmpxchg(complete+1, n_completed_ptr, complete);
+ uint res = Atomic::cmpxchg(complete+1, n_completed_ptr, complete);
if (res == complete) {
break;
}
diff --git a/hotspot/src/share/vm/utilities/workgroup.hpp b/hotspot/src/share/vm/utilities/workgroup.hpp
index 8e9effe..7fc0ddf 100644
--- a/hotspot/src/share/vm/utilities/workgroup.hpp
+++ b/hotspot/src/share/vm/utilities/workgroup.hpp
@@ -68,7 +68,7 @@ class AbstractGangTask VALUE_OBJ_CLASS_SPEC {
public:
// The abstract work method.
// The argument tells you which member of the gang you are.
- virtual void work(int i) = 0;
+ virtual void work(uint worker_id) = 0;
// This method configures the task for proper termination.
// Some tasks do not have any requirements on termination
@@ -96,11 +96,14 @@ private:
protected:
// Constructor and desctructor: only construct subclasses.
- AbstractGangTask(const char* name) {
+ AbstractGangTask(const char* name)
+ {
NOT_PRODUCT(_name = name);
_counter = 0;
}
virtual ~AbstractGangTask() { }
+
+public:
};
class AbstractGangTaskWOopQueues : public AbstractGangTask {
@@ -116,6 +119,7 @@ class AbstractGangTaskWOopQueues : public AbstractGangTask {
OopTaskQueueSet* queues() { return _queues; }
};
+
// Class AbstractWorkGang:
// An abstract class representing a gang of workers.
// You subclass this to supply an implementation of run_task().
@@ -130,6 +134,8 @@ public:
virtual void run_task(AbstractGangTask* task) = 0;
// Stop and terminate all workers.
virtual void stop();
+ // Return true if more workers should be applied to the task.
+ virtual bool needs_more_workers() const { return true; }
public:
// Debugging.
const char* name() const;
@@ -143,7 +149,7 @@ protected:
// and notifies of changes in it.
Monitor* _monitor;
// The count of the number of workers in the gang.
- int _total_workers;
+ uint _total_workers;
// Whether the workers should terminate.
bool _terminate;
// The array of worker threads for this gang.
@@ -154,18 +160,18 @@ protected:
// A sequence number for the current task.
int _sequence_number;
// The number of started workers.
- int _started_workers;
+ uint _started_workers;
// The number of finished workers.
- int _finished_workers;
+ uint _finished_workers;
public:
// Accessors for fields
Monitor* monitor() const {
return _monitor;
}
- int total_workers() const {
+ uint total_workers() const {
return _total_workers;
}
- virtual int active_workers() const {
+ virtual uint active_workers() const {
return _total_workers;
}
bool terminate() const {
@@ -180,10 +186,10 @@ public:
int sequence_number() const {
return _sequence_number;
}
- int started_workers() const {
+ uint started_workers() const {
return _started_workers;
}
- int finished_workers() const {
+ uint finished_workers() const {
return _finished_workers;
}
bool are_GC_task_threads() const {
@@ -197,7 +203,7 @@ public:
return (task() == NULL);
}
// Return the Ith gang worker.
- GangWorker* gang_worker(int i) const;
+ GangWorker* gang_worker(uint i) const;
void threads_do(ThreadClosure* tc) const;
@@ -249,13 +255,13 @@ public:
class WorkGang: public AbstractWorkGang {
public:
// Constructor
- WorkGang(const char* name, int workers,
+ WorkGang(const char* name, uint workers,
bool are_GC_task_threads, bool are_ConcurrentGC_threads);
// Run a task, returns when the task is done (or terminated).
virtual void run_task(AbstractGangTask* task);
void run_task(AbstractGangTask* task, uint no_of_parallel_workers);
// Allocate a worker and return a pointer to it.
- virtual GangWorker* allocate_worker(int which);
+ virtual GangWorker* allocate_worker(uint which);
// Initialize workers in the gang. Return true if initialization
// succeeded. The type of the worker can be overridden in a derived
// class with the appropriate implementation of allocate_worker().
@@ -287,20 +293,62 @@ public:
AbstractWorkGang* gang() const { return _gang; }
};
+// Dynamic number of worker threads
+//
+// This type of work gang is used to run different numbers of
+// worker threads at different times. The
+// number of workers run for a task is "_active_workers"
+// instead of "_total_workers" in a WorkGang. The method
+// "needs_more_workers()" returns true until "_active_workers"
+// have been started and returns false afterwards. The
+// implementation of "needs_more_workers()" in WorkGang always
+// returns true so that all workers are started. The method
+// "loop()" in GangWorker was modified to ask "needs_more_workers()"
+// in its loop to decide if it should start working on a task.
+// A worker in "loop()" waits for notification on the WorkGang
+// monitor and execution of each worker as it checks for work
+// is serialized via the same monitor. The "needs_more_workers()"
+// call is serialized and additionally the calculation for the
+// "part" (effectively the worker id for executing the task) is
+// serialized to give each worker a unique "part". Workers that
+// are not needed for this tasks (i.e., "_active_workers" have
+// been started before it, continue to wait for work.
+
class FlexibleWorkGang: public WorkGang {
+ // The currently active workers in this gang.
+ // This is a number that is dynamically adjusted
+ // and checked in the run_task() method at each invocation.
+ // As described above _active_workers determines the number
+ // of threads started on a task. It must also be used to
+ // determine completion.
+
protected:
- int _active_workers;
+ uint _active_workers;
public:
// Constructor and destructor.
- FlexibleWorkGang(const char* name, int workers,
+ // Initialize active_workers to a minimum value. Setting it to
+ // the parameter "workers" will initialize it to a maximum
+ // value which is not desirable.
+ FlexibleWorkGang(const char* name, uint workers,
bool are_GC_task_threads,
bool are_ConcurrentGC_threads) :
- WorkGang(name, workers, are_GC_task_threads, are_ConcurrentGC_threads) {
- _active_workers = ParallelGCThreads;
- };
+ WorkGang(name, workers, are_GC_task_threads, are_ConcurrentGC_threads),
+ _active_workers(UseDynamicNumberOfGCThreads ? 1U : ParallelGCThreads) {}
// Accessors for fields
- virtual int active_workers() const { return _active_workers; }
- void set_active_workers(int v) { _active_workers = v; }
+ virtual uint active_workers() const { return _active_workers; }
+ void set_active_workers(uint v) {
+ assert(v <= _total_workers,
+ "Trying to set more workers active than there are");
+ _active_workers = MIN2(v, _total_workers);
+ assert(v != 0, "Trying to set active workers to 0");
+ _active_workers = MAX2(1U, _active_workers);
+ assert(UseDynamicNumberOfGCThreads || _active_workers == _total_workers,
+ "Unless dynamic should use total workers");
+ }
+ virtual void run_task(AbstractGangTask* task);
+ virtual bool needs_more_workers() const {
+ return _started_workers < _active_workers;
+ }
};
// Work gangs in garbage collectors: 2009-06-10
@@ -322,13 +370,13 @@ class FlexibleWorkGang: public WorkGang {
class WorkGangBarrierSync : public StackObj {
protected:
Monitor _monitor;
- int _n_workers;
- int _n_completed;
+ uint _n_workers;
+ uint _n_completed;
bool _should_reset;
Monitor* monitor() { return &_monitor; }
- int n_workers() { return _n_workers; }
- int n_completed() { return _n_completed; }
+ uint n_workers() { return _n_workers; }
+ uint n_completed() { return _n_completed; }
bool should_reset() { return _should_reset; }
void zero_completed() { _n_completed = 0; }
@@ -338,11 +386,11 @@ protected:
public:
WorkGangBarrierSync();
- WorkGangBarrierSync(int n_workers, const char* name);
+ WorkGangBarrierSync(uint n_workers, const char* name);
// Set the number of workers that will use the barrier.
// Must be called before any of the workers start running.
- void set_n_workers(int n_workers);
+ void set_n_workers(uint n_workers);
// Enter the barrier. A worker that enters the barrier will
// not be allowed to leave until all other threads have
@@ -354,13 +402,18 @@ public:
// subtasks will be identified by integer indices, usually elements of an
// enumeration type.
-class SubTasksDone: public CHeapObj {
- jint* _tasks;
- int _n_tasks;
- int _n_threads;
- jint _threads_completed;
+class SubTasksDone : public CHeapObj {
+ uint* _tasks;
+ uint _n_tasks;
+ // _n_threads is used to determine when a sub task is done.
+ // It does not control how many threads will execute the subtask
+ // but must be initialized to the number that do execute the task
+ // in order to correctly decide when the subtask is done (all the
+ // threads working on the task have finished).
+ uint _n_threads;
+ uint _threads_completed;
#ifdef ASSERT
- volatile jint _claimed;
+ volatile uint _claimed;
#endif
// Set all tasks to unclaimed.
@@ -370,19 +423,19 @@ public:
// Initializes "this" to a state in which there are "n" tasks to be
// processed, none of the which are originally claimed. The number of
// threads doing the tasks is initialized 1.
- SubTasksDone(int n);
+ SubTasksDone(uint n);
// True iff the object is in a valid state.
bool valid();
// Get/set the number of parallel threads doing the tasks to "t". Can only
// be called before tasks start or after they are complete.
- int n_threads() { return _n_threads; }
- void set_n_threads(int t);
+ uint n_threads() { return _n_threads; }
+ void set_n_threads(uint t);
// Returns "false" if the task "t" is unclaimed, and ensures that task is
// claimed. The task "t" is required to be within the range of "this".
- bool is_task_claimed(int t);
+ bool is_task_claimed(uint t);
// The calling thread asserts that it has attempted to claim all the
// tasks that it will try to claim. Every thread in the parallel task
@@ -403,12 +456,12 @@ public:
class SequentialSubTasksDone : public StackObj {
protected:
- jint _n_tasks; // Total number of tasks available.
- jint _n_claimed; // Number of tasks claimed.
+ uint _n_tasks; // Total number of tasks available.
+ uint _n_claimed; // Number of tasks claimed.
// _n_threads is used to determine when a sub task is done.
// See comments on SubTasksDone::_n_threads
- jint _n_threads; // Total number of parallel threads.
- jint _n_completed; // Number of completed threads.
+ uint _n_threads; // Total number of parallel threads.
+ uint _n_completed; // Number of completed threads.
void clear();
@@ -422,26 +475,26 @@ public:
bool valid();
// number of tasks
- jint n_tasks() const { return _n_tasks; }
+ uint n_tasks() const { return _n_tasks; }
// Get/set the number of parallel threads doing the tasks to t.
// Should be called before the task starts but it is safe
// to call this once a task is running provided that all
// threads agree on the number of threads.
- int n_threads() { return _n_threads; }
- void set_n_threads(int t) { _n_threads = t; }
+ uint n_threads() { return _n_threads; }
+ void set_n_threads(uint t) { _n_threads = t; }
// Set the number of tasks to be claimed to t. As above,
// should be called before the tasks start but it is safe
// to call this once a task is running provided all threads
// agree on the number of tasks.
- void set_n_tasks(int t) { _n_tasks = t; }
+ void set_n_tasks(uint t) { _n_tasks = t; }
// Returns false if the next task in the sequence is unclaimed,
// and ensures that it is claimed. Will set t to be the index
// of the claimed task in the sequence. Will return true if
// the task cannot be claimed and there are none left to claim.
- bool is_task_claimed(int& t);
+ bool is_task_claimed(uint& t);
// The calling thread asserts that it has attempted to claim
// all the tasks it possibly can in the sequence. Every thread
diff --git a/hotspot/src/share/vm/utilities/yieldingWorkgroup.cpp b/hotspot/src/share/vm/utilities/yieldingWorkgroup.cpp
index 075b4cb..7e59423 100644
--- a/hotspot/src/share/vm/utilities/yieldingWorkgroup.cpp
+++ b/hotspot/src/share/vm/utilities/yieldingWorkgroup.cpp
@@ -33,11 +33,11 @@ class GangWorker;
class WorkData;
YieldingFlexibleWorkGang::YieldingFlexibleWorkGang(
- const char* name, int workers, bool are_GC_task_threads) :
+ const char* name, uint workers, bool are_GC_task_threads) :
FlexibleWorkGang(name, workers, are_GC_task_threads, false),
_yielded_workers(0) {}
-GangWorker* YieldingFlexibleWorkGang::allocate_worker(int which) {
+GangWorker* YieldingFlexibleWorkGang::allocate_worker(uint which) {
YieldingFlexibleGangWorker* new_member =
new YieldingFlexibleGangWorker(this, which);
return (YieldingFlexibleGangWorker*) new_member;
@@ -120,12 +120,12 @@ void YieldingFlexibleWorkGang::start_task(YieldingFlexibleGangTask* new_task) {
new_task->set_gang(this); // Establish 2-way binding to support yielding
_sequence_number++;
- int requested_size = new_task->requested_size();
+ uint requested_size = new_task->requested_size();
assert(requested_size >= 0, "Should be non-negative");
if (requested_size != 0) {
_active_workers = MIN2(requested_size, total_workers());
} else {
- _active_workers = total_workers();
+ _active_workers = active_workers();
}
new_task->set_actual_size(_active_workers);
new_task->set_for_termination(_active_workers);
@@ -148,22 +148,22 @@ void YieldingFlexibleWorkGang::wait_for_gang() {
for (Status status = yielding_task()->status();
status != COMPLETED && status != YIELDED && status != ABORTED;
status = yielding_task()->status()) {
- assert(started_workers() <= total_workers(), "invariant");
- assert(finished_workers() <= total_workers(), "invariant");
- assert(yielded_workers() <= total_workers(), "invariant");
+ assert(started_workers() <= active_workers(), "invariant");
+ assert(finished_workers() <= active_workers(), "invariant");
+ assert(yielded_workers() <= active_workers(), "invariant");
monitor()->wait(Mutex::_no_safepoint_check_flag);
}
switch (yielding_task()->status()) {
case COMPLETED:
case ABORTED: {
- assert(finished_workers() == total_workers(), "Inconsistent status");
+ assert(finished_workers() == active_workers(), "Inconsistent status");
assert(yielded_workers() == 0, "Invariant");
reset(); // for next task; gang<->task binding released
break;
}
case YIELDED: {
assert(yielded_workers() > 0, "Invariant");
- assert(yielded_workers() + finished_workers() == total_workers(),
+ assert(yielded_workers() + finished_workers() == active_workers(),
"Inconsistent counts");
break;
}
@@ -182,7 +182,6 @@ void YieldingFlexibleWorkGang::continue_task(
MutexLockerEx ml(monitor(), Mutex::_no_safepoint_check_flag);
assert(task() != NULL && task() == gang_task, "Incorrect usage");
- // assert(_active_workers == total_workers(), "For now");
assert(_started_workers == _active_workers, "Precondition");
assert(_yielded_workers > 0 && yielding_task()->status() == YIELDED,
"Else why are we calling continue_task()");
@@ -202,7 +201,7 @@ void YieldingFlexibleWorkGang::reset() {
void YieldingFlexibleWorkGang::yield() {
assert(task() != NULL, "Inconsistency; should have task binding");
MutexLockerEx ml(monitor(), Mutex::_no_safepoint_check_flag);
- assert(yielded_workers() < total_workers(), "Consistency check");
+ assert(yielded_workers() < active_workers(), "Consistency check");
if (yielding_task()->status() == ABORTING) {
// Do not yield; we need to abort as soon as possible
// XXX NOTE: This can cause a performance pathology in the
@@ -213,7 +212,7 @@ void YieldingFlexibleWorkGang::yield() {
// us to return at each potential yield point.
return;
}
- if (++_yielded_workers + finished_workers() == total_workers()) {
+ if (++_yielded_workers + finished_workers() == active_workers()) {
yielding_task()->set_status(YIELDED);
monitor()->notify_all();
} else {
diff --git a/hotspot/src/share/vm/utilities/yieldingWorkgroup.hpp b/hotspot/src/share/vm/utilities/yieldingWorkgroup.hpp
index a3171c8..a39f822 100644
--- a/hotspot/src/share/vm/utilities/yieldingWorkgroup.hpp
+++ b/hotspot/src/share/vm/utilities/yieldingWorkgroup.hpp
@@ -71,7 +71,7 @@ public:
// The abstract work method.
// The argument tells you which member of the gang you are.
- virtual void work(int i) = 0;
+ virtual void work(uint worker_id) = 0;
int requested_size() const { return _requested_size; }
int actual_size() const { return _actual_size; }
@@ -128,7 +128,7 @@ protected:
public:
// The abstract work method.
// The argument tells you which member of the gang you are.
- virtual void work(int i) = 0;
+ virtual void work(uint worker_id) = 0;
// Subclasses should call the parent's yield() method
// after having done any work specific to the subclass.
@@ -159,7 +159,7 @@ class YieldingFlexibleWorkGang: public FlexibleWorkGang {
// Here's the public interface to this class.
public:
// Constructor and destructor.
- YieldingFlexibleWorkGang(const char* name, int workers,
+ YieldingFlexibleWorkGang(const char* name, uint workers,
bool are_GC_task_threads);
YieldingFlexibleGangTask* yielding_task() const {
@@ -168,7 +168,7 @@ public:
return (YieldingFlexibleGangTask*)task();
}
// Allocate a worker and return a pointer to it.
- GangWorker* allocate_worker(int which);
+ GangWorker* allocate_worker(uint which);
// Run a task; returns when the task is done, or the workers yield,
// or the task is aborted, or the work gang is terminated via stop().
@@ -199,18 +199,12 @@ public:
void abort();
private:
- int _active_workers;
- int _yielded_workers;
+ uint _yielded_workers;
void wait_for_gang();
public:
// Accessors for fields
- int active_workers() const {
- return _active_workers;
- }
-
- // Accessors for fields
- int yielded_workers() const {
+ uint yielded_workers() const {
return _yielded_workers;
}
diff --git a/hotspot/test/compiler/6792161/Test6792161.java b/hotspot/test/compiler/6792161/Test6792161.java
index 0f99d85..ac3843c 100644
--- a/hotspot/test/compiler/6792161/Test6792161.java
+++ b/hotspot/test/compiler/6792161/Test6792161.java
@@ -27,7 +27,7 @@
* @bug 6792161
* @summary assert("No dead instructions after post-alloc")
*
- * @run main/othervm -Xcomp -XX:MaxInlineSize=120 Test6792161
+ * @run main/othervm/timeout=300 -Xcomp -XX:MaxInlineSize=120 Test6792161
*/
import java.lang.reflect.Constructor;
diff --git a/hotspot/test/compiler/7110586/Test7110586.java b/hotspot/test/compiler/7110586/Test7110586.java
new file mode 100644
index 0000000..e40c903
--- /dev/null
+++ b/hotspot/test/compiler/7110586/Test7110586.java
@@ -0,0 +1,132 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+
+/**
+ * @test
+ * @bug 7110586
+ * @summary C2 generates icorrect results
+ *
+ * @run main/othervm -Xbatch Test7110586
+ */
+
+public class Test7110586 {
+ static int test1() {
+ int i = 0;
+ for ( ; i < 11; i+=1) {}
+ return i;
+ }
+ static int test2() {
+ int i = 0;
+ for ( ; i < 11; i+=2) {}
+ return i;
+ }
+ static int test3() {
+ int i = 0;
+ for ( ; i < 11; i+=3) {}
+ return i;
+ }
+ static int test11() {
+ int i = 0;
+ for ( ; i < 11; i+=11) {}
+ return i;
+ }
+
+ static int testm1() {
+ int i = 0;
+ for ( ; i > -11; i-=1) {}
+ return i;
+ }
+ static int testm2() {
+ int i = 0;
+ for ( ; i > -11; i-=2) {}
+ return i;
+ }
+ static int testm3() {
+ int i = 0;
+ for ( ; i > -11; i-=3) {}
+ return i;
+ }
+ static int testm11() {
+ int i = 0;
+ for ( ; i > -11; i-=11) {}
+ return i;
+ }
+
+ public static void main(String args[]) {
+ int x1 = 0;
+ int x2 = 0;
+ int x3 = 0;
+ int x11 = 0;
+ int m1 = 0;
+ int m2 = 0;
+ int m3 = 0;
+ int m11 = 0;
+ for (int i=0; i<10000; i++) {
+ x1 = test1();
+ x2 = test2();
+ x3 = test3();
+ x11 = test11();
+ m1 = testm1();
+ m2 = testm2();
+ m3 = testm3();
+ m11 = testm11();
+ }
+ boolean failed = false;
+ if (x1 != 11) {
+ System.out.println("ERROR (incr = +1): " + x1 + " != 11");
+ failed = true;
+ }
+ if (x2 != 12) {
+ System.out.println("ERROR (incr = +2): " + x2 + " != 12");
+ failed = true;
+ }
+ if (x3 != 12) {
+ System.out.println("ERROR (incr = +3): " + x3 + " != 12");
+ failed = true;
+ }
+ if (x11 != 11) {
+ System.out.println("ERROR (incr = +11): " + x11 + " != 11");
+ failed = true;
+ }
+ if (m1 != -11) {
+ System.out.println("ERROR (incr = -1): " + m1 + " != -11");
+ failed = true;
+ }
+ if (m2 != -12) {
+ System.out.println("ERROR (incr = -2): " + m2 + " != -12");
+ failed = true;
+ }
+ if (m3 != -12) {
+ System.out.println("ERROR (incr = -3): " + m3 + " != -12");
+ failed = true;
+ }
+ if (m11 != -11) {
+ System.out.println("ERROR (incr = -11): " + m11 + " != -11");
+ failed = true;
+ }
+ if (failed) {
+ System.exit(97);
+ }
+ }
+}
diff --git a/hotspot/test/compiler/7116216/LargeFrame.java b/hotspot/test/compiler/7116216/LargeFrame.java
new file mode 100644
index 0000000..eb39b06
--- /dev/null
+++ b/hotspot/test/compiler/7116216/LargeFrame.java
@@ -0,0 +1,1329 @@
+/*
+ * 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.
+ *
+ * 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.
+ *
+ */
+
+public class LargeFrame {
+
+ public static void method_with_many_locals(Object r1, int r2, int r3, int r4, int r5, int r6, int r7, Object r8) {
+ int i00 = 0, i01 = 0, i02 = 0, i03 = 0, i04 = 0, i05 = 0, i06 = 0, i07 = 0, i08 = 0, i09 = 0;
+ int i10 = 0, i11 = 0, i12 = 0, i13 = 0, i14 = 0, i15 = 0, i16 = 0, i17 = 0, i18 = 0, i19 = 0;
+ int i20 = 0, i21 = 0, i22 = 0, i23 = 0, i24 = 0, i25 = 0, i26 = 0, i27 = 0, i28 = 0, i29 = 0;
+ int i30 = 0, i31 = 0, i32 = 0, i33 = 0, i34 = 0, i35 = 0, i36 = 0, i37 = 0, i38 = 0, i39 = 0;
+ int i40 = 0, i41 = 0, i42 = 0, i43 = 0, i44 = 0, i45 = 0, i46 = 0, i47 = 0, i48 = 0, i49 = 0;
+ int i50 = 0, i51 = 0, i52 = 0, i53 = 0, i54 = 0, i55 = 0, i56 = 0, i57 = 0, i58 = 0, i59 = 0;
+ int i60 = 0, i61 = 0, i62 = 0, i63 = 0, i64 = 0, i65 = 0, i66 = 0, i67 = 0, i68 = 0, i69 = 0;
+ int i70 = 0, i71 = 0, i72 = 0, i73 = 0, i74 = 0, i75 = 0, i76 = 0, i77 = 0, i78 = 0, i79 = 0;
+ int i80 = 0, i81 = 0, i82 = 0, i83 = 0, i84 = 0, i85 = 0, i86 = 0, i87 = 0, i88 = 0, i89 = 0;
+ int i90 = 0, i91 = 0, i92 = 0, i93 = 0, i94 = 0, i95 = 0, i96 = 0, i97 = 0, i98 = 0, i99 = 0;
+ int i100 = 0, i101 = 0, i102 = 0, i103 = 0, i104 = 0, i105 = 0, i106 = 0, i107 = 0, i108 = 0, i109 = 0;
+ int i110 = 0, i111 = 0, i112 = 0, i113 = 0, i114 = 0, i115 = 0, i116 = 0, i117 = 0, i118 = 0, i119 = 0;
+ int i120 = 0, i121 = 0, i122 = 0, i123 = 0, i124 = 0, i125 = 0, i126 = 0, i127 = 0, i128 = 0, i129 = 0;
+ int i130 = 0, i131 = 0, i132 = 0, i133 = 0, i134 = 0, i135 = 0, i136 = 0, i137 = 0, i138 = 0, i139 = 0;
+ int i140 = 0, i141 = 0, i142 = 0, i143 = 0, i144 = 0, i145 = 0, i146 = 0, i147 = 0, i148 = 0, i149 = 0;
+ int i150 = 0, i151 = 0, i152 = 0, i153 = 0, i154 = 0, i155 = 0, i156 = 0, i157 = 0, i158 = 0, i159 = 0;
+ int i160 = 0, i161 = 0, i162 = 0, i163 = 0, i164 = 0, i165 = 0, i166 = 0, i167 = 0, i168 = 0, i169 = 0;
+ int i170 = 0, i171 = 0, i172 = 0, i173 = 0, i174 = 0, i175 = 0, i176 = 0, i177 = 0, i178 = 0, i179 = 0;
+ int i180 = 0, i181 = 0, i182 = 0, i183 = 0, i184 = 0, i185 = 0, i186 = 0, i187 = 0, i188 = 0, i189 = 0;
+ int i190 = 0, i191 = 0, i192 = 0, i193 = 0, i194 = 0, i195 = 0, i196 = 0, i197 = 0, i198 = 0, i199 = 0;
+ int i200 = 0, i201 = 0, i202 = 0, i203 = 0, i204 = 0, i205 = 0, i206 = 0, i207 = 0, i208 = 0, i209 = 0;
+ int i210 = 0, i211 = 0, i212 = 0, i213 = 0, i214 = 0, i215 = 0, i216 = 0, i217 = 0, i218 = 0, i219 = 0;
+ int i220 = 0, i221 = 0, i222 = 0, i223 = 0, i224 = 0, i225 = 0, i226 = 0, i227 = 0, i228 = 0, i229 = 0;
+ int i230 = 0, i231 = 0, i232 = 0, i233 = 0, i234 = 0, i235 = 0, i236 = 0, i237 = 0, i238 = 0, i239 = 0;
+ int i240 = 0, i241 = 0, i242 = 0, i243 = 0, i244 = 0, i245 = 0, i246 = 0, i247 = 0, i248 = 0, i249 = 0;
+ int i250 = 0, i251 = 0, i252 = 0, i253 = 0, i254 = 0, i255 = 0, i256 = 0, i257 = 0, i258 = 0, i259 = 0;
+ int i260 = 0, i261 = 0, i262 = 0, i263 = 0, i264 = 0, i265 = 0, i266 = 0, i267 = 0, i268 = 0, i269 = 0;
+ int i270 = 0, i271 = 0, i272 = 0, i273 = 0, i274 = 0, i275 = 0, i276 = 0, i277 = 0, i278 = 0, i279 = 0;
+ int i280 = 0, i281 = 0, i282 = 0, i283 = 0, i284 = 0, i285 = 0, i286 = 0, i287 = 0, i288 = 0, i289 = 0;
+ int i290 = 0, i291 = 0, i292 = 0, i293 = 0, i294 = 0, i295 = 0, i296 = 0, i297 = 0, i298 = 0, i299 = 0;
+ int i300 = 0, i301 = 0, i302 = 0, i303 = 0, i304 = 0, i305 = 0, i306 = 0, i307 = 0, i308 = 0, i309 = 0;
+ int i310 = 0, i311 = 0, i312 = 0, i313 = 0, i314 = 0, i315 = 0, i316 = 0, i317 = 0, i318 = 0, i319 = 0;
+ int i320 = 0, i321 = 0, i322 = 0, i323 = 0, i324 = 0, i325 = 0, i326 = 0, i327 = 0, i328 = 0, i329 = 0;
+ int i330 = 0, i331 = 0, i332 = 0, i333 = 0, i334 = 0, i335 = 0, i336 = 0, i337 = 0, i338 = 0, i339 = 0;
+ int i340 = 0, i341 = 0, i342 = 0, i343 = 0, i344 = 0, i345 = 0, i346 = 0, i347 = 0, i348 = 0, i349 = 0;
+ int i350 = 0, i351 = 0, i352 = 0, i353 = 0, i354 = 0, i355 = 0, i356 = 0, i357 = 0, i358 = 0, i359 = 0;
+ int i360 = 0, i361 = 0, i362 = 0, i363 = 0, i364 = 0, i365 = 0, i366 = 0, i367 = 0, i368 = 0, i369 = 0;
+ int i370 = 0, i371 = 0, i372 = 0, i373 = 0, i374 = 0, i375 = 0, i376 = 0, i377 = 0, i378 = 0, i379 = 0;
+ int i380 = 0, i381 = 0, i382 = 0, i383 = 0, i384 = 0, i385 = 0, i386 = 0, i387 = 0, i388 = 0, i389 = 0;
+ int i390 = 0, i391 = 0, i392 = 0, i393 = 0, i394 = 0, i395 = 0, i396 = 0, i397 = 0, i398 = 0, i399 = 0;
+ int i400 = 0, i401 = 0, i402 = 0, i403 = 0, i404 = 0, i405 = 0, i406 = 0, i407 = 0, i408 = 0, i409 = 0;
+ int i410 = 0, i411 = 0, i412 = 0, i413 = 0, i414 = 0, i415 = 0, i416 = 0, i417 = 0, i418 = 0, i419 = 0;
+ int i420 = 0, i421 = 0, i422 = 0, i423 = 0, i424 = 0, i425 = 0, i426 = 0, i427 = 0, i428 = 0, i429 = 0;
+ int i430 = 0, i431 = 0, i432 = 0, i433 = 0, i434 = 0, i435 = 0, i436 = 0, i437 = 0, i438 = 0, i439 = 0;
+ int i440 = 0, i441 = 0, i442 = 0, i443 = 0, i444 = 0, i445 = 0, i446 = 0, i447 = 0, i448 = 0, i449 = 0;
+ int i450 = 0, i451 = 0, i452 = 0, i453 = 0, i454 = 0, i455 = 0, i456 = 0, i457 = 0, i458 = 0, i459 = 0;
+ int i460 = 0, i461 = 0, i462 = 0, i463 = 0, i464 = 0, i465 = 0, i466 = 0, i467 = 0, i468 = 0, i469 = 0;
+ int i470 = 0, i471 = 0, i472 = 0, i473 = 0, i474 = 0, i475 = 0, i476 = 0, i477 = 0, i478 = 0, i479 = 0;
+ int i480 = 0, i481 = 0, i482 = 0, i483 = 0, i484 = 0, i485 = 0, i486 = 0, i487 = 0, i488 = 0, i489 = 0;
+ int i490 = 0, i491 = 0, i492 = 0, i493 = 0, i494 = 0, i495 = 0, i496 = 0, i497 = 0, i498 = 0, i499 = 0;
+ int i500 = 0, i501 = 0, i502 = 0, i503 = 0, i504 = 0, i505 = 0, i506 = 0, i507 = 0, i508 = 0, i509 = 0;
+ int i510 = 0, i511 = 0, i512 = 0, i513 = 0, i514 = 0, i515 = 0, i516 = 0, i517 = 0, i518 = 0, i519 = 0;
+ int i520 = 0, i521 = 0, i522 = 0, i523 = 0, i524 = 0, i525 = 0, i526 = 0, i527 = 0, i528 = 0, i529 = 0;
+ int i530 = 0, i531 = 0, i532 = 0, i533 = 0, i534 = 0, i535 = 0, i536 = 0, i537 = 0, i538 = 0, i539 = 0;
+ int i540 = 0, i541 = 0, i542 = 0, i543 = 0, i544 = 0, i545 = 0, i546 = 0, i547 = 0, i548 = 0, i549 = 0;
+ int i550 = 0, i551 = 0, i552 = 0, i553 = 0, i554 = 0, i555 = 0, i556 = 0, i557 = 0, i558 = 0, i559 = 0;
+ int i560 = 0, i561 = 0, i562 = 0, i563 = 0, i564 = 0, i565 = 0, i566 = 0, i567 = 0, i568 = 0, i569 = 0;
+ int i570 = 0, i571 = 0, i572 = 0, i573 = 0, i574 = 0, i575 = 0, i576 = 0, i577 = 0, i578 = 0, i579 = 0;
+ int i580 = 0, i581 = 0, i582 = 0, i583 = 0, i584 = 0, i585 = 0, i586 = 0, i587 = 0, i588 = 0, i589 = 0;
+ int i590 = 0, i591 = 0, i592 = 0, i593 = 0, i594 = 0, i595 = 0, i596 = 0, i597 = 0, i598 = 0, i599 = 0;
+ int i600 = 0, i601 = 0, i602 = 0, i603 = 0, i604 = 0, i605 = 0, i606 = 0, i607 = 0, i608 = 0, i609 = 0;
+ int i610 = 0, i611 = 0, i612 = 0, i613 = 0, i614 = 0, i615 = 0, i616 = 0, i617 = 0, i618 = 0, i619 = 0;
+ int i620 = 0, i621 = 0, i622 = 0, i623 = 0, i624 = 0, i625 = 0, i626 = 0, i627 = 0, i628 = 0, i629 = 0;
+ int i630 = 0, i631 = 0, i632 = 0, i633 = 0, i634 = 0, i635 = 0, i636 = 0, i637 = 0, i638 = 0, i639 = 0;
+ int i640 = 0, i641 = 0, i642 = 0, i643 = 0, i644 = 0, i645 = 0, i646 = 0, i647 = 0, i648 = 0, i649 = 0;
+ int i650 = 0, i651 = 0, i652 = 0, i653 = 0, i654 = 0, i655 = 0, i656 = 0, i657 = 0, i658 = 0, i659 = 0;
+ int i660 = 0, i661 = 0, i662 = 0, i663 = 0, i664 = 0, i665 = 0, i666 = 0, i667 = 0, i668 = 0, i669 = 0;
+ int i670 = 0, i671 = 0, i672 = 0, i673 = 0, i674 = 0, i675 = 0, i676 = 0, i677 = 0, i678 = 0, i679 = 0;
+ int i680 = 0, i681 = 0, i682 = 0, i683 = 0, i684 = 0, i685 = 0, i686 = 0, i687 = 0, i688 = 0, i689 = 0;
+ int i690 = 0, i691 = 0, i692 = 0, i693 = 0, i694 = 0, i695 = 0, i696 = 0, i697 = 0, i698 = 0, i699 = 0;
+ int i700 = 0, i701 = 0, i702 = 0, i703 = 0, i704 = 0, i705 = 0, i706 = 0, i707 = 0, i708 = 0, i709 = 0;
+ int i710 = 0, i711 = 0, i712 = 0, i713 = 0, i714 = 0, i715 = 0, i716 = 0, i717 = 0, i718 = 0, i719 = 0;
+ int i720 = 0, i721 = 0, i722 = 0, i723 = 0, i724 = 0, i725 = 0, i726 = 0, i727 = 0, i728 = 0, i729 = 0;
+ int i730 = 0, i731 = 0, i732 = 0, i733 = 0, i734 = 0, i735 = 0, i736 = 0, i737 = 0, i738 = 0, i739 = 0;
+ int i740 = 0, i741 = 0, i742 = 0, i743 = 0, i744 = 0, i745 = 0, i746 = 0, i747 = 0, i748 = 0, i749 = 0;
+ int i750 = 0, i751 = 0, i752 = 0, i753 = 0, i754 = 0, i755 = 0, i756 = 0, i757 = 0, i758 = 0, i759 = 0;
+ int i760 = 0, i761 = 0, i762 = 0, i763 = 0, i764 = 0, i765 = 0, i766 = 0, i767 = 0, i768 = 0, i769 = 0;
+ int i770 = 0, i771 = 0, i772 = 0, i773 = 0, i774 = 0, i775 = 0, i776 = 0, i777 = 0, i778 = 0, i779 = 0;
+ int i780 = 0, i781 = 0, i782 = 0, i783 = 0, i784 = 0, i785 = 0, i786 = 0, i787 = 0, i788 = 0, i789 = 0;
+ int i790 = 0, i791 = 0, i792 = 0, i793 = 0, i794 = 0, i795 = 0, i796 = 0, i797 = 0, i798 = 0, i799 = 0;
+ int i800 = 0, i801 = 0, i802 = 0, i803 = 0, i804 = 0, i805 = 0, i806 = 0, i807 = 0, i808 = 0, i809 = 0;
+ int i810 = 0, i811 = 0, i812 = 0, i813 = 0, i814 = 0, i815 = 0, i816 = 0, i817 = 0, i818 = 0, i819 = 0;
+ int i820 = 0, i821 = 0, i822 = 0, i823 = 0, i824 = 0, i825 = 0, i826 = 0, i827 = 0, i828 = 0, i829 = 0;
+ int i830 = 0, i831 = 0, i832 = 0, i833 = 0, i834 = 0, i835 = 0, i836 = 0, i837 = 0, i838 = 0, i839 = 0;
+ int i840 = 0, i841 = 0, i842 = 0, i843 = 0, i844 = 0, i845 = 0, i846 = 0, i847 = 0, i848 = 0, i849 = 0;
+ int i850 = 0, i851 = 0, i852 = 0, i853 = 0, i854 = 0, i855 = 0, i856 = 0, i857 = 0, i858 = 0, i859 = 0;
+ int i860 = 0, i861 = 0, i862 = 0, i863 = 0, i864 = 0, i865 = 0, i866 = 0, i867 = 0, i868 = 0, i869 = 0;
+ int i870 = 0, i871 = 0, i872 = 0, i873 = 0, i874 = 0, i875 = 0, i876 = 0, i877 = 0, i878 = 0, i879 = 0;
+ int i880 = 0, i881 = 0, i882 = 0, i883 = 0, i884 = 0, i885 = 0, i886 = 0, i887 = 0, i888 = 0, i889 = 0;
+ int i890 = 0, i891 = 0, i892 = 0, i893 = 0, i894 = 0, i895 = 0, i896 = 0, i897 = 0, i898 = 0, i899 = 0;
+ int i900 = 0, i901 = 0, i902 = 0, i903 = 0, i904 = 0, i905 = 0, i906 = 0, i907 = 0, i908 = 0, i909 = 0;
+ int i910 = 0, i911 = 0, i912 = 0, i913 = 0, i914 = 0, i915 = 0, i916 = 0, i917 = 0, i918 = 0, i919 = 0;
+ int i920 = 0, i921 = 0, i922 = 0, i923 = 0, i924 = 0, i925 = 0, i926 = 0, i927 = 0, i928 = 0, i929 = 0;
+ int i930 = 0, i931 = 0, i932 = 0, i933 = 0, i934 = 0, i935 = 0, i936 = 0, i937 = 0, i938 = 0, i939 = 0;
+ int i940 = 0, i941 = 0, i942 = 0, i943 = 0, i944 = 0, i945 = 0, i946 = 0, i947 = 0, i948 = 0, i949 = 0;
+ int i950 = 0, i951 = 0, i952 = 0, i953 = 0, i954 = 0, i955 = 0, i956 = 0, i957 = 0, i958 = 0, i959 = 0;
+ int i960 = 0, i961 = 0, i962 = 0, i963 = 0, i964 = 0, i965 = 0, i966 = 0, i967 = 0, i968 = 0, i969 = 0;
+ int i970 = 0, i971 = 0, i972 = 0, i973 = 0, i974 = 0, i975 = 0, i976 = 0, i977 = 0, i978 = 0, i979 = 0;
+ int i980 = 0, i981 = 0, i982 = 0, i983 = 0, i984 = 0, i985 = 0, i986 = 0, i987 = 0, i988 = 0, i989 = 0;
+ int i990 = 0, i991 = 0, i992 = 0, i993 = 0, i994 = 0, i995 = 0, i996 = 0, i997 = 0, i998 = 0, i999 = 0;
+ int i1000 = 0, i1001 = 0, i1002 = 0, i1003 = 0, i1004 = 0, i1005 = 0, i1006 = 0, i1007 = 0, i1008 = 0, i1009 = 0;
+ int i1010 = 0, i1011 = 0, i1012 = 0, i1013 = 0, i1014 = 0, i1015 = 0, i1016 = 0, i1017 = 0, i1018 = 0, i1019 = 0;
+ int i1020 = 0, i1021 = 0, i1022 = 0, i1023 = 0, i1024 = 0, i1025 = 0, i1026 = 0, i1027 = 0, i1028 = 0, i1029 = 0;
+ int i1030 = 0, i1031 = 0, i1032 = 0, i1033 = 0, i1034 = 0, i1035 = 0, i1036 = 0, i1037 = 0, i1038 = 0, i1039 = 0;
+ int i1040 = 0, i1041 = 0, i1042 = 0, i1043 = 0, i1044 = 0, i1045 = 0, i1046 = 0, i1047 = 0, i1048 = 0, i1049 = 0;
+ int i1050 = 0, i1051 = 0, i1052 = 0, i1053 = 0, i1054 = 0, i1055 = 0, i1056 = 0, i1057 = 0, i1058 = 0, i1059 = 0;
+ int i1060 = 0, i1061 = 0, i1062 = 0, i1063 = 0, i1064 = 0, i1065 = 0, i1066 = 0, i1067 = 0, i1068 = 0, i1069 = 0;
+ int i1070 = 0, i1071 = 0, i1072 = 0, i1073 = 0, i1074 = 0, i1075 = 0, i1076 = 0, i1077 = 0, i1078 = 0, i1079 = 0;
+ int i1080 = 0, i1081 = 0, i1082 = 0, i1083 = 0, i1084 = 0, i1085 = 0, i1086 = 0, i1087 = 0, i1088 = 0, i1089 = 0;
+ int i1090 = 0, i1091 = 0, i1092 = 0, i1093 = 0, i1094 = 0, i1095 = 0, i1096 = 0, i1097 = 0, i1098 = 0, i1099 = 0;
+ int i1100 = 0, i1101 = 0, i1102 = 0, i1103 = 0, i1104 = 0, i1105 = 0, i1106 = 0, i1107 = 0, i1108 = 0, i1109 = 0;
+ int i1110 = 0, i1111 = 0, i1112 = 0, i1113 = 0, i1114 = 0, i1115 = 0, i1116 = 0, i1117 = 0, i1118 = 0, i1119 = 0;
+ int i1120 = 0, i1121 = 0, i1122 = 0, i1123 = 0, i1124 = 0, i1125 = 0, i1126 = 0, i1127 = 0, i1128 = 0, i1129 = 0;
+ int i1130 = 0, i1131 = 0, i1132 = 0, i1133 = 0, i1134 = 0, i1135 = 0, i1136 = 0, i1137 = 0, i1138 = 0, i1139 = 0;
+ int i1140 = 0, i1141 = 0, i1142 = 0, i1143 = 0, i1144 = 0, i1145 = 0, i1146 = 0, i1147 = 0, i1148 = 0, i1149 = 0;
+ int i1150 = 0, i1151 = 0, i1152 = 0, i1153 = 0, i1154 = 0, i1155 = 0, i1156 = 0, i1157 = 0, i1158 = 0, i1159 = 0;
+ int i1160 = 0, i1161 = 0, i1162 = 0, i1163 = 0, i1164 = 0, i1165 = 0, i1166 = 0, i1167 = 0, i1168 = 0, i1169 = 0;
+ int i1170 = 0, i1171 = 0, i1172 = 0, i1173 = 0, i1174 = 0, i1175 = 0, i1176 = 0, i1177 = 0, i1178 = 0, i1179 = 0;
+ int i1180 = 0, i1181 = 0, i1182 = 0, i1183 = 0, i1184 = 0, i1185 = 0, i1186 = 0, i1187 = 0, i1188 = 0, i1189 = 0;
+ int i1190 = 0, i1191 = 0, i1192 = 0, i1193 = 0, i1194 = 0, i1195 = 0, i1196 = 0, i1197 = 0, i1198 = 0, i1199 = 0;
+ int i1200 = 0, i1201 = 0, i1202 = 0, i1203 = 0, i1204 = 0, i1205 = 0, i1206 = 0, i1207 = 0, i1208 = 0, i1209 = 0;
+ int i1210 = 0, i1211 = 0, i1212 = 0, i1213 = 0, i1214 = 0, i1215 = 0, i1216 = 0, i1217 = 0, i1218 = 0, i1219 = 0;
+ int i1220 = 0, i1221 = 0, i1222 = 0, i1223 = 0, i1224 = 0, i1225 = 0, i1226 = 0, i1227 = 0, i1228 = 0, i1229 = 0;
+ int i1230 = 0, i1231 = 0, i1232 = 0, i1233 = 0, i1234 = 0, i1235 = 0, i1236 = 0, i1237 = 0, i1238 = 0, i1239 = 0;
+ int i1240 = 0, i1241 = 0, i1242 = 0, i1243 = 0, i1244 = 0, i1245 = 0, i1246 = 0, i1247 = 0, i1248 = 0, i1249 = 0;
+ int i1250 = 0, i1251 = 0, i1252 = 0, i1253 = 0, i1254 = 0, i1255 = 0, i1256 = 0, i1257 = 0, i1258 = 0, i1259 = 0;
+ int i1260 = 0, i1261 = 0, i1262 = 0, i1263 = 0, i1264 = 0, i1265 = 0, i1266 = 0, i1267 = 0, i1268 = 0, i1269 = 0;
+ int i1270 = 0, i1271 = 0, i1272 = 0, i1273 = 0, i1274 = 0, i1275 = 0, i1276 = 0, i1277 = 0, i1278 = 0, i1279 = 0;
+ int i1280 = 0, i1281 = 0, i1282 = 0, i1283 = 0, i1284 = 0, i1285 = 0, i1286 = 0, i1287 = 0, i1288 = 0, i1289 = 0;
+ int i1290 = 0, i1291 = 0, i1292 = 0, i1293 = 0, i1294 = 0, i1295 = 0, i1296 = 0, i1297 = 0, i1298 = 0, i1299 = 0;
+ int i1300 = 0, i1301 = 0, i1302 = 0, i1303 = 0, i1304 = 0, i1305 = 0, i1306 = 0, i1307 = 0, i1308 = 0, i1309 = 0;
+ int i1310 = 0, i1311 = 0, i1312 = 0, i1313 = 0, i1314 = 0, i1315 = 0, i1316 = 0, i1317 = 0, i1318 = 0, i1319 = 0;
+ int i1320 = 0, i1321 = 0, i1322 = 0, i1323 = 0, i1324 = 0, i1325 = 0, i1326 = 0, i1327 = 0, i1328 = 0, i1329 = 0;
+ int i1330 = 0, i1331 = 0, i1332 = 0, i1333 = 0, i1334 = 0, i1335 = 0, i1336 = 0, i1337 = 0, i1338 = 0, i1339 = 0;
+ int i1340 = 0, i1341 = 0, i1342 = 0, i1343 = 0, i1344 = 0, i1345 = 0, i1346 = 0, i1347 = 0, i1348 = 0, i1349 = 0;
+ int i1350 = 0, i1351 = 0, i1352 = 0, i1353 = 0, i1354 = 0, i1355 = 0, i1356 = 0, i1357 = 0, i1358 = 0, i1359 = 0;
+ int i1360 = 0, i1361 = 0, i1362 = 0, i1363 = 0, i1364 = 0, i1365 = 0, i1366 = 0, i1367 = 0, i1368 = 0, i1369 = 0;
+ int i1370 = 0, i1371 = 0, i1372 = 0, i1373 = 0, i1374 = 0, i1375 = 0, i1376 = 0, i1377 = 0, i1378 = 0, i1379 = 0;
+ int i1380 = 0, i1381 = 0, i1382 = 0, i1383 = 0, i1384 = 0, i1385 = 0, i1386 = 0, i1387 = 0, i1388 = 0, i1389 = 0;
+ int i1390 = 0, i1391 = 0, i1392 = 0, i1393 = 0, i1394 = 0, i1395 = 0, i1396 = 0, i1397 = 0, i1398 = 0, i1399 = 0;
+ int i1400 = 0, i1401 = 0, i1402 = 0, i1403 = 0, i1404 = 0, i1405 = 0, i1406 = 0, i1407 = 0, i1408 = 0, i1409 = 0;
+ int i1410 = 0, i1411 = 0, i1412 = 0, i1413 = 0, i1414 = 0, i1415 = 0, i1416 = 0, i1417 = 0, i1418 = 0, i1419 = 0;
+ int i1420 = 0, i1421 = 0, i1422 = 0, i1423 = 0, i1424 = 0, i1425 = 0, i1426 = 0, i1427 = 0, i1428 = 0, i1429 = 0;
+ int i1430 = 0, i1431 = 0, i1432 = 0, i1433 = 0, i1434 = 0, i1435 = 0, i1436 = 0, i1437 = 0, i1438 = 0, i1439 = 0;
+ int i1440 = 0, i1441 = 0, i1442 = 0, i1443 = 0, i1444 = 0, i1445 = 0, i1446 = 0, i1447 = 0, i1448 = 0, i1449 = 0;
+ int i1450 = 0, i1451 = 0, i1452 = 0, i1453 = 0, i1454 = 0, i1455 = 0, i1456 = 0, i1457 = 0, i1458 = 0, i1459 = 0;
+ int i1460 = 0, i1461 = 0, i1462 = 0, i1463 = 0, i1464 = 0, i1465 = 0, i1466 = 0, i1467 = 0, i1468 = 0, i1469 = 0;
+ int i1470 = 0, i1471 = 0, i1472 = 0, i1473 = 0, i1474 = 0, i1475 = 0, i1476 = 0, i1477 = 0, i1478 = 0, i1479 = 0;
+ int i1480 = 0, i1481 = 0, i1482 = 0, i1483 = 0, i1484 = 0, i1485 = 0, i1486 = 0, i1487 = 0, i1488 = 0, i1489 = 0;
+ int i1490 = 0, i1491 = 0, i1492 = 0, i1493 = 0, i1494 = 0, i1495 = 0, i1496 = 0, i1497 = 0, i1498 = 0, i1499 = 0;
+ int i1500 = 0, i1501 = 0, i1502 = 0, i1503 = 0, i1504 = 0, i1505 = 0, i1506 = 0, i1507 = 0, i1508 = 0, i1509 = 0;
+ int i1510 = 0, i1511 = 0, i1512 = 0, i1513 = 0, i1514 = 0, i1515 = 0, i1516 = 0, i1517 = 0, i1518 = 0, i1519 = 0;
+ int i1520 = 0, i1521 = 0, i1522 = 0, i1523 = 0, i1524 = 0, i1525 = 0, i1526 = 0, i1527 = 0, i1528 = 0, i1529 = 0;
+ int i1530 = 0, i1531 = 0, i1532 = 0, i1533 = 0, i1534 = 0, i1535 = 0, i1536 = 0, i1537 = 0, i1538 = 0, i1539 = 0;
+ int i1540 = 0, i1541 = 0, i1542 = 0, i1543 = 0, i1544 = 0, i1545 = 0, i1546 = 0, i1547 = 0, i1548 = 0, i1549 = 0;
+ int i1550 = 0, i1551 = 0, i1552 = 0, i1553 = 0, i1554 = 0, i1555 = 0, i1556 = 0, i1557 = 0, i1558 = 0, i1559 = 0;
+ int i1560 = 0, i1561 = 0, i1562 = 0, i1563 = 0, i1564 = 0, i1565 = 0, i1566 = 0, i1567 = 0, i1568 = 0, i1569 = 0;
+ int i1570 = 0, i1571 = 0, i1572 = 0, i1573 = 0, i1574 = 0, i1575 = 0, i1576 = 0, i1577 = 0, i1578 = 0, i1579 = 0;
+ int i1580 = 0, i1581 = 0, i1582 = 0, i1583 = 0, i1584 = 0, i1585 = 0, i1586 = 0, i1587 = 0, i1588 = 0, i1589 = 0;
+ int i1590 = 0, i1591 = 0, i1592 = 0, i1593 = 0, i1594 = 0, i1595 = 0, i1596 = 0, i1597 = 0, i1598 = 0, i1599 = 0;
+ int i1600 = 0, i1601 = 0, i1602 = 0, i1603 = 0, i1604 = 0, i1605 = 0, i1606 = 0, i1607 = 0, i1608 = 0, i1609 = 0;
+ int i1610 = 0, i1611 = 0, i1612 = 0, i1613 = 0, i1614 = 0, i1615 = 0, i1616 = 0, i1617 = 0, i1618 = 0, i1619 = 0;
+ int i1620 = 0, i1621 = 0, i1622 = 0, i1623 = 0, i1624 = 0, i1625 = 0, i1626 = 0, i1627 = 0, i1628 = 0, i1629 = 0;
+ int i1630 = 0, i1631 = 0, i1632 = 0, i1633 = 0, i1634 = 0, i1635 = 0, i1636 = 0, i1637 = 0, i1638 = 0, i1639 = 0;
+ int i1640 = 0, i1641 = 0, i1642 = 0, i1643 = 0, i1644 = 0, i1645 = 0, i1646 = 0, i1647 = 0, i1648 = 0, i1649 = 0;
+ int i1650 = 0, i1651 = 0, i1652 = 0, i1653 = 0, i1654 = 0, i1655 = 0, i1656 = 0, i1657 = 0, i1658 = 0, i1659 = 0;
+ int i1660 = 0, i1661 = 0, i1662 = 0, i1663 = 0, i1664 = 0, i1665 = 0, i1666 = 0, i1667 = 0, i1668 = 0, i1669 = 0;
+ int i1670 = 0, i1671 = 0, i1672 = 0, i1673 = 0, i1674 = 0, i1675 = 0, i1676 = 0, i1677 = 0, i1678 = 0, i1679 = 0;
+ int i1680 = 0, i1681 = 0, i1682 = 0, i1683 = 0, i1684 = 0, i1685 = 0, i1686 = 0, i1687 = 0, i1688 = 0, i1689 = 0;
+ int i1690 = 0, i1691 = 0, i1692 = 0, i1693 = 0, i1694 = 0, i1695 = 0, i1696 = 0, i1697 = 0, i1698 = 0, i1699 = 0;
+ int i1700 = 0, i1701 = 0, i1702 = 0, i1703 = 0, i1704 = 0, i1705 = 0, i1706 = 0, i1707 = 0, i1708 = 0, i1709 = 0;
+ int i1710 = 0, i1711 = 0, i1712 = 0, i1713 = 0, i1714 = 0, i1715 = 0, i1716 = 0, i1717 = 0, i1718 = 0, i1719 = 0;
+ int i1720 = 0, i1721 = 0, i1722 = 0, i1723 = 0, i1724 = 0, i1725 = 0, i1726 = 0, i1727 = 0, i1728 = 0, i1729 = 0;
+ int i1730 = 0, i1731 = 0, i1732 = 0, i1733 = 0, i1734 = 0, i1735 = 0, i1736 = 0, i1737 = 0, i1738 = 0, i1739 = 0;
+ int i1740 = 0, i1741 = 0, i1742 = 0, i1743 = 0, i1744 = 0, i1745 = 0, i1746 = 0, i1747 = 0, i1748 = 0, i1749 = 0;
+ int i1750 = 0, i1751 = 0, i1752 = 0, i1753 = 0, i1754 = 0, i1755 = 0, i1756 = 0, i1757 = 0, i1758 = 0, i1759 = 0;
+ int i1760 = 0, i1761 = 0, i1762 = 0, i1763 = 0, i1764 = 0, i1765 = 0, i1766 = 0, i1767 = 0, i1768 = 0, i1769 = 0;
+ int i1770 = 0, i1771 = 0, i1772 = 0, i1773 = 0, i1774 = 0, i1775 = 0, i1776 = 0, i1777 = 0, i1778 = 0, i1779 = 0;
+ int i1780 = 0, i1781 = 0, i1782 = 0, i1783 = 0, i1784 = 0, i1785 = 0, i1786 = 0, i1787 = 0, i1788 = 0, i1789 = 0;
+ int i1790 = 0, i1791 = 0, i1792 = 0, i1793 = 0, i1794 = 0, i1795 = 0, i1796 = 0, i1797 = 0, i1798 = 0, i1799 = 0;
+ int i1800 = 0, i1801 = 0, i1802 = 0, i1803 = 0, i1804 = 0, i1805 = 0, i1806 = 0, i1807 = 0, i1808 = 0, i1809 = 0;
+ int i1810 = 0, i1811 = 0, i1812 = 0, i1813 = 0, i1814 = 0, i1815 = 0, i1816 = 0, i1817 = 0, i1818 = 0, i1819 = 0;
+ int i1820 = 0, i1821 = 0, i1822 = 0, i1823 = 0, i1824 = 0, i1825 = 0, i1826 = 0, i1827 = 0, i1828 = 0, i1829 = 0;
+ int i1830 = 0, i1831 = 0, i1832 = 0, i1833 = 0, i1834 = 0, i1835 = 0, i1836 = 0, i1837 = 0, i1838 = 0, i1839 = 0;
+ int i1840 = 0, i1841 = 0, i1842 = 0, i1843 = 0, i1844 = 0, i1845 = 0, i1846 = 0, i1847 = 0, i1848 = 0, i1849 = 0;
+ int i1850 = 0, i1851 = 0, i1852 = 0, i1853 = 0, i1854 = 0, i1855 = 0, i1856 = 0, i1857 = 0, i1858 = 0, i1859 = 0;
+ int i1860 = 0, i1861 = 0, i1862 = 0, i1863 = 0, i1864 = 0, i1865 = 0, i1866 = 0, i1867 = 0, i1868 = 0, i1869 = 0;
+ int i1870 = 0, i1871 = 0, i1872 = 0, i1873 = 0, i1874 = 0, i1875 = 0, i1876 = 0, i1877 = 0, i1878 = 0, i1879 = 0;
+ int i1880 = 0, i1881 = 0, i1882 = 0, i1883 = 0, i1884 = 0, i1885 = 0, i1886 = 0, i1887 = 0, i1888 = 0, i1889 = 0;
+ int i1890 = 0, i1891 = 0, i1892 = 0, i1893 = 0, i1894 = 0, i1895 = 0, i1896 = 0, i1897 = 0, i1898 = 0, i1899 = 0;
+ int i1900 = 0, i1901 = 0, i1902 = 0, i1903 = 0, i1904 = 0, i1905 = 0, i1906 = 0, i1907 = 0, i1908 = 0, i1909 = 0;
+ int i1910 = 0, i1911 = 0, i1912 = 0, i1913 = 0, i1914 = 0, i1915 = 0, i1916 = 0, i1917 = 0, i1918 = 0, i1919 = 0;
+ int i1920 = 0, i1921 = 0, i1922 = 0, i1923 = 0, i1924 = 0, i1925 = 0, i1926 = 0, i1927 = 0, i1928 = 0, i1929 = 0;
+ int i1930 = 0, i1931 = 0, i1932 = 0, i1933 = 0, i1934 = 0, i1935 = 0, i1936 = 0, i1937 = 0, i1938 = 0, i1939 = 0;
+ int i1940 = 0, i1941 = 0, i1942 = 0, i1943 = 0, i1944 = 0, i1945 = 0, i1946 = 0, i1947 = 0, i1948 = 0, i1949 = 0;
+ int i1950 = 0, i1951 = 0, i1952 = 0, i1953 = 0, i1954 = 0, i1955 = 0, i1956 = 0, i1957 = 0, i1958 = 0, i1959 = 0;
+ int i1960 = 0, i1961 = 0, i1962 = 0, i1963 = 0, i1964 = 0, i1965 = 0, i1966 = 0, i1967 = 0, i1968 = 0, i1969 = 0;
+ int i1970 = 0, i1971 = 0, i1972 = 0, i1973 = 0, i1974 = 0, i1975 = 0, i1976 = 0, i1977 = 0, i1978 = 0, i1979 = 0;
+ int i1980 = 0, i1981 = 0, i1982 = 0, i1983 = 0, i1984 = 0, i1985 = 0, i1986 = 0, i1987 = 0, i1988 = 0, i1989 = 0;
+ int i1990 = 0, i1991 = 0, i1992 = 0, i1993 = 0, i1994 = 0, i1995 = 0, i1996 = 0, i1997 = 0, i1998 = 0, i1999 = 0;
+ int i2000 = 0, i2001 = 0, i2002 = 0, i2003 = 0, i2004 = 0, i2005 = 0, i2006 = 0, i2007 = 0, i2008 = 0, i2009 = 0;
+ int i2010 = 0, i2011 = 0, i2012 = 0, i2013 = 0, i2014 = 0, i2015 = 0, i2016 = 0, i2017 = 0, i2018 = 0, i2019 = 0;
+ int i2020 = 0, i2021 = 0, i2022 = 0, i2023 = 0, i2024 = 0, i2025 = 0, i2026 = 0, i2027 = 0, i2028 = 0, i2029 = 0;
+ int i2030 = 0, i2031 = 0, i2032 = 0, i2033 = 0, i2034 = 0, i2035 = 0, i2036 = 0, i2037 = 0, i2038 = 0, i2039 = 0;
+ int i2040 = 0, i2041 = 0, i2042 = 0, i2043 = 0, i2044 = 0, i2045 = 0, i2046 = 0, i2047 = 0, i2048 = 0, i2049 = 0;
+ int i2050 = 0, i2051 = 0, i2052 = 0, i2053 = 0, i2054 = 0, i2055 = 0, i2056 = 0, i2057 = 0, i2058 = 0, i2059 = 0;
+ int i2060 = 0, i2061 = 0, i2062 = 0, i2063 = 0, i2064 = 0, i2065 = 0, i2066 = 0, i2067 = 0, i2068 = 0, i2069 = 0;
+ int i2070 = 0, i2071 = 0, i2072 = 0, i2073 = 0, i2074 = 0, i2075 = 0, i2076 = 0, i2077 = 0, i2078 = 0, i2079 = 0;
+ int i2080 = 0, i2081 = 0, i2082 = 0, i2083 = 0, i2084 = 0, i2085 = 0, i2086 = 0, i2087 = 0, i2088 = 0, i2089 = 0;
+ int i2090 = 0, i2091 = 0, i2092 = 0, i2093 = 0, i2094 = 0, i2095 = 0, i2096 = 0, i2097 = 0, i2098 = 0, i2099 = 0;
+ int i2100 = 0, i2101 = 0, i2102 = 0, i2103 = 0, i2104 = 0, i2105 = 0, i2106 = 0, i2107 = 0, i2108 = 0, i2109 = 0;
+ int i2110 = 0, i2111 = 0, i2112 = 0, i2113 = 0, i2114 = 0, i2115 = 0, i2116 = 0, i2117 = 0, i2118 = 0, i2119 = 0;
+ int i2120 = 0, i2121 = 0, i2122 = 0, i2123 = 0, i2124 = 0, i2125 = 0, i2126 = 0, i2127 = 0, i2128 = 0, i2129 = 0;
+ int i2130 = 0, i2131 = 0, i2132 = 0, i2133 = 0, i2134 = 0, i2135 = 0, i2136 = 0, i2137 = 0, i2138 = 0, i2139 = 0;
+ int i2140 = 0, i2141 = 0, i2142 = 0, i2143 = 0, i2144 = 0, i2145 = 0, i2146 = 0, i2147 = 0, i2148 = 0, i2149 = 0;
+ int i2150 = 0, i2151 = 0, i2152 = 0, i2153 = 0, i2154 = 0, i2155 = 0, i2156 = 0, i2157 = 0, i2158 = 0, i2159 = 0;
+ int i2160 = 0, i2161 = 0, i2162 = 0, i2163 = 0, i2164 = 0, i2165 = 0, i2166 = 0, i2167 = 0, i2168 = 0, i2169 = 0;
+ int i2170 = 0, i2171 = 0, i2172 = 0, i2173 = 0, i2174 = 0, i2175 = 0, i2176 = 0, i2177 = 0, i2178 = 0, i2179 = 0;
+ int i2180 = 0, i2181 = 0, i2182 = 0, i2183 = 0, i2184 = 0, i2185 = 0, i2186 = 0, i2187 = 0, i2188 = 0, i2189 = 0;
+ int i2190 = 0, i2191 = 0, i2192 = 0, i2193 = 0, i2194 = 0, i2195 = 0, i2196 = 0, i2197 = 0, i2198 = 0, i2199 = 0;
+ int i2200 = 0, i2201 = 0, i2202 = 0, i2203 = 0, i2204 = 0, i2205 = 0, i2206 = 0, i2207 = 0, i2208 = 0, i2209 = 0;
+ int i2210 = 0, i2211 = 0, i2212 = 0, i2213 = 0, i2214 = 0, i2215 = 0, i2216 = 0, i2217 = 0, i2218 = 0, i2219 = 0;
+ int i2220 = 0, i2221 = 0, i2222 = 0, i2223 = 0, i2224 = 0, i2225 = 0, i2226 = 0, i2227 = 0, i2228 = 0, i2229 = 0;
+ int i2230 = 0, i2231 = 0, i2232 = 0, i2233 = 0, i2234 = 0, i2235 = 0, i2236 = 0, i2237 = 0, i2238 = 0, i2239 = 0;
+ int i2240 = 0, i2241 = 0, i2242 = 0, i2243 = 0, i2244 = 0, i2245 = 0, i2246 = 0, i2247 = 0, i2248 = 0, i2249 = 0;
+ int i2250 = 0, i2251 = 0, i2252 = 0, i2253 = 0, i2254 = 0, i2255 = 0, i2256 = 0, i2257 = 0, i2258 = 0, i2259 = 0;
+ int i2260 = 0, i2261 = 0, i2262 = 0, i2263 = 0, i2264 = 0, i2265 = 0, i2266 = 0, i2267 = 0, i2268 = 0, i2269 = 0;
+ int i2270 = 0, i2271 = 0, i2272 = 0, i2273 = 0, i2274 = 0, i2275 = 0, i2276 = 0, i2277 = 0, i2278 = 0, i2279 = 0;
+ int i2280 = 0, i2281 = 0, i2282 = 0, i2283 = 0, i2284 = 0, i2285 = 0, i2286 = 0, i2287 = 0, i2288 = 0, i2289 = 0;
+ int i2290 = 0, i2291 = 0, i2292 = 0, i2293 = 0, i2294 = 0, i2295 = 0, i2296 = 0, i2297 = 0, i2298 = 0, i2299 = 0;
+ int i2300 = 0, i2301 = 0, i2302 = 0, i2303 = 0, i2304 = 0, i2305 = 0, i2306 = 0, i2307 = 0, i2308 = 0, i2309 = 0;
+ int i2310 = 0, i2311 = 0, i2312 = 0, i2313 = 0, i2314 = 0, i2315 = 0, i2316 = 0, i2317 = 0, i2318 = 0, i2319 = 0;
+ int i2320 = 0, i2321 = 0, i2322 = 0, i2323 = 0, i2324 = 0, i2325 = 0, i2326 = 0, i2327 = 0, i2328 = 0, i2329 = 0;
+ int i2330 = 0, i2331 = 0, i2332 = 0, i2333 = 0, i2334 = 0, i2335 = 0, i2336 = 0, i2337 = 0, i2338 = 0, i2339 = 0;
+ int i2340 = 0, i2341 = 0, i2342 = 0, i2343 = 0, i2344 = 0, i2345 = 0, i2346 = 0, i2347 = 0, i2348 = 0, i2349 = 0;
+ int i2350 = 0, i2351 = 0, i2352 = 0, i2353 = 0, i2354 = 0, i2355 = 0, i2356 = 0, i2357 = 0, i2358 = 0, i2359 = 0;
+ int i2360 = 0, i2361 = 0, i2362 = 0, i2363 = 0, i2364 = 0, i2365 = 0, i2366 = 0, i2367 = 0, i2368 = 0, i2369 = 0;
+ int i2370 = 0, i2371 = 0, i2372 = 0, i2373 = 0, i2374 = 0, i2375 = 0, i2376 = 0, i2377 = 0, i2378 = 0, i2379 = 0;
+ int i2380 = 0, i2381 = 0, i2382 = 0, i2383 = 0, i2384 = 0, i2385 = 0, i2386 = 0, i2387 = 0, i2388 = 0, i2389 = 0;
+ int i2390 = 0, i2391 = 0, i2392 = 0, i2393 = 0, i2394 = 0, i2395 = 0, i2396 = 0, i2397 = 0, i2398 = 0, i2399 = 0;
+ int i2400 = 0, i2401 = 0, i2402 = 0, i2403 = 0, i2404 = 0, i2405 = 0, i2406 = 0, i2407 = 0, i2408 = 0, i2409 = 0;
+ int i2410 = 0, i2411 = 0, i2412 = 0, i2413 = 0, i2414 = 0, i2415 = 0, i2416 = 0, i2417 = 0, i2418 = 0, i2419 = 0;
+ int i2420 = 0, i2421 = 0, i2422 = 0, i2423 = 0, i2424 = 0, i2425 = 0, i2426 = 0, i2427 = 0, i2428 = 0, i2429 = 0;
+ int i2430 = 0, i2431 = 0, i2432 = 0, i2433 = 0, i2434 = 0, i2435 = 0, i2436 = 0, i2437 = 0, i2438 = 0, i2439 = 0;
+ int i2440 = 0, i2441 = 0, i2442 = 0, i2443 = 0, i2444 = 0, i2445 = 0, i2446 = 0, i2447 = 0, i2448 = 0, i2449 = 0;
+ int i2450 = 0, i2451 = 0, i2452 = 0, i2453 = 0, i2454 = 0, i2455 = 0, i2456 = 0, i2457 = 0, i2458 = 0, i2459 = 0;
+ int i2460 = 0, i2461 = 0, i2462 = 0, i2463 = 0, i2464 = 0, i2465 = 0, i2466 = 0, i2467 = 0, i2468 = 0, i2469 = 0;
+ int i2470 = 0, i2471 = 0, i2472 = 0, i2473 = 0, i2474 = 0, i2475 = 0, i2476 = 0, i2477 = 0, i2478 = 0, i2479 = 0;
+ int i2480 = 0, i2481 = 0, i2482 = 0, i2483 = 0, i2484 = 0, i2485 = 0, i2486 = 0, i2487 = 0, i2488 = 0, i2489 = 0;
+ int i2490 = 0, i2491 = 0, i2492 = 0, i2493 = 0, i2494 = 0, i2495 = 0, i2496 = 0, i2497 = 0, i2498 = 0, i2499 = 0;
+ int i2500 = 0, i2501 = 0, i2502 = 0, i2503 = 0, i2504 = 0, i2505 = 0, i2506 = 0, i2507 = 0, i2508 = 0, i2509 = 0;
+ int i2510 = 0, i2511 = 0, i2512 = 0, i2513 = 0, i2514 = 0, i2515 = 0, i2516 = 0, i2517 = 0, i2518 = 0, i2519 = 0;
+ int i2520 = 0, i2521 = 0, i2522 = 0, i2523 = 0, i2524 = 0, i2525 = 0, i2526 = 0, i2527 = 0, i2528 = 0, i2529 = 0;
+ int i2530 = 0, i2531 = 0, i2532 = 0, i2533 = 0, i2534 = 0, i2535 = 0, i2536 = 0, i2537 = 0, i2538 = 0, i2539 = 0;
+ int i2540 = 0, i2541 = 0, i2542 = 0, i2543 = 0, i2544 = 0, i2545 = 0, i2546 = 0, i2547 = 0, i2548 = 0, i2549 = 0;
+ int i2550 = 0, i2551 = 0, i2552 = 0, i2553 = 0, i2554 = 0, i2555 = 0, i2556 = 0, i2557 = 0, i2558 = 0, i2559 = 0;
+ int i2560 = 0, i2561 = 0, i2562 = 0, i2563 = 0, i2564 = 0, i2565 = 0, i2566 = 0, i2567 = 0, i2568 = 0, i2569 = 0;
+ int i2570 = 0, i2571 = 0, i2572 = 0, i2573 = 0, i2574 = 0, i2575 = 0, i2576 = 0, i2577 = 0, i2578 = 0, i2579 = 0;
+ int i2580 = 0, i2581 = 0, i2582 = 0, i2583 = 0, i2584 = 0, i2585 = 0, i2586 = 0, i2587 = 0, i2588 = 0, i2589 = 0;
+ int i2590 = 0, i2591 = 0, i2592 = 0, i2593 = 0, i2594 = 0, i2595 = 0, i2596 = 0, i2597 = 0, i2598 = 0, i2599 = 0;
+ int i2600 = 0, i2601 = 0, i2602 = 0, i2603 = 0, i2604 = 0, i2605 = 0, i2606 = 0, i2607 = 0, i2608 = 0, i2609 = 0;
+ int i2610 = 0, i2611 = 0, i2612 = 0, i2613 = 0, i2614 = 0, i2615 = 0, i2616 = 0, i2617 = 0, i2618 = 0, i2619 = 0;
+ int i2620 = 0, i2621 = 0, i2622 = 0, i2623 = 0, i2624 = 0, i2625 = 0, i2626 = 0, i2627 = 0, i2628 = 0, i2629 = 0;
+ int i2630 = 0, i2631 = 0, i2632 = 0, i2633 = 0, i2634 = 0, i2635 = 0, i2636 = 0, i2637 = 0, i2638 = 0, i2639 = 0;
+ int i2640 = 0, i2641 = 0, i2642 = 0, i2643 = 0, i2644 = 0, i2645 = 0, i2646 = 0, i2647 = 0, i2648 = 0, i2649 = 0;
+ int i2650 = 0, i2651 = 0, i2652 = 0, i2653 = 0, i2654 = 0, i2655 = 0, i2656 = 0, i2657 = 0, i2658 = 0, i2659 = 0;
+ int i2660 = 0, i2661 = 0, i2662 = 0, i2663 = 0, i2664 = 0, i2665 = 0, i2666 = 0, i2667 = 0, i2668 = 0, i2669 = 0;
+ int i2670 = 0, i2671 = 0, i2672 = 0, i2673 = 0, i2674 = 0, i2675 = 0, i2676 = 0, i2677 = 0, i2678 = 0, i2679 = 0;
+ int i2680 = 0, i2681 = 0, i2682 = 0, i2683 = 0, i2684 = 0, i2685 = 0, i2686 = 0, i2687 = 0, i2688 = 0, i2689 = 0;
+ int i2690 = 0, i2691 = 0, i2692 = 0, i2693 = 0, i2694 = 0, i2695 = 0, i2696 = 0, i2697 = 0, i2698 = 0, i2699 = 0;
+ int i2700 = 0, i2701 = 0, i2702 = 0, i2703 = 0, i2704 = 0, i2705 = 0, i2706 = 0, i2707 = 0, i2708 = 0, i2709 = 0;
+ int i2710 = 0, i2711 = 0, i2712 = 0, i2713 = 0, i2714 = 0, i2715 = 0, i2716 = 0, i2717 = 0, i2718 = 0, i2719 = 0;
+ int i2720 = 0, i2721 = 0, i2722 = 0, i2723 = 0, i2724 = 0, i2725 = 0, i2726 = 0, i2727 = 0, i2728 = 0, i2729 = 0;
+ int i2730 = 0, i2731 = 0, i2732 = 0, i2733 = 0, i2734 = 0, i2735 = 0, i2736 = 0, i2737 = 0, i2738 = 0, i2739 = 0;
+ int i2740 = 0, i2741 = 0, i2742 = 0, i2743 = 0, i2744 = 0, i2745 = 0, i2746 = 0, i2747 = 0, i2748 = 0, i2749 = 0;
+ int i2750 = 0, i2751 = 0, i2752 = 0, i2753 = 0, i2754 = 0, i2755 = 0, i2756 = 0, i2757 = 0, i2758 = 0, i2759 = 0;
+ int i2760 = 0, i2761 = 0, i2762 = 0, i2763 = 0, i2764 = 0, i2765 = 0, i2766 = 0, i2767 = 0, i2768 = 0, i2769 = 0;
+ int i2770 = 0, i2771 = 0, i2772 = 0, i2773 = 0, i2774 = 0, i2775 = 0, i2776 = 0, i2777 = 0, i2778 = 0, i2779 = 0;
+ int i2780 = 0, i2781 = 0, i2782 = 0, i2783 = 0, i2784 = 0, i2785 = 0, i2786 = 0, i2787 = 0, i2788 = 0, i2789 = 0;
+ int i2790 = 0, i2791 = 0, i2792 = 0, i2793 = 0, i2794 = 0, i2795 = 0, i2796 = 0, i2797 = 0, i2798 = 0, i2799 = 0;
+ int i2800 = 0, i2801 = 0, i2802 = 0, i2803 = 0, i2804 = 0, i2805 = 0, i2806 = 0, i2807 = 0, i2808 = 0, i2809 = 0;
+ int i2810 = 0, i2811 = 0, i2812 = 0, i2813 = 0, i2814 = 0, i2815 = 0, i2816 = 0, i2817 = 0, i2818 = 0, i2819 = 0;
+ int i2820 = 0, i2821 = 0, i2822 = 0, i2823 = 0, i2824 = 0, i2825 = 0, i2826 = 0, i2827 = 0, i2828 = 0, i2829 = 0;
+ int i2830 = 0, i2831 = 0, i2832 = 0, i2833 = 0, i2834 = 0, i2835 = 0, i2836 = 0, i2837 = 0, i2838 = 0, i2839 = 0;
+ int i2840 = 0, i2841 = 0, i2842 = 0, i2843 = 0, i2844 = 0, i2845 = 0, i2846 = 0, i2847 = 0, i2848 = 0, i2849 = 0;
+ int i2850 = 0, i2851 = 0, i2852 = 0, i2853 = 0, i2854 = 0, i2855 = 0, i2856 = 0, i2857 = 0, i2858 = 0, i2859 = 0;
+ int i2860 = 0, i2861 = 0, i2862 = 0, i2863 = 0, i2864 = 0, i2865 = 0, i2866 = 0, i2867 = 0, i2868 = 0, i2869 = 0;
+ int i2870 = 0, i2871 = 0, i2872 = 0, i2873 = 0, i2874 = 0, i2875 = 0, i2876 = 0, i2877 = 0, i2878 = 0, i2879 = 0;
+ int i2880 = 0, i2881 = 0, i2882 = 0, i2883 = 0, i2884 = 0, i2885 = 0, i2886 = 0, i2887 = 0, i2888 = 0, i2889 = 0;
+ int i2890 = 0, i2891 = 0, i2892 = 0, i2893 = 0, i2894 = 0, i2895 = 0, i2896 = 0, i2897 = 0, i2898 = 0, i2899 = 0;
+ int i2900 = 0, i2901 = 0, i2902 = 0, i2903 = 0, i2904 = 0, i2905 = 0, i2906 = 0, i2907 = 0, i2908 = 0, i2909 = 0;
+ int i2910 = 0, i2911 = 0, i2912 = 0, i2913 = 0, i2914 = 0, i2915 = 0, i2916 = 0, i2917 = 0, i2918 = 0, i2919 = 0;
+ int i2920 = 0, i2921 = 0, i2922 = 0, i2923 = 0, i2924 = 0, i2925 = 0, i2926 = 0, i2927 = 0, i2928 = 0, i2929 = 0;
+ int i2930 = 0, i2931 = 0, i2932 = 0, i2933 = 0, i2934 = 0, i2935 = 0, i2936 = 0, i2937 = 0, i2938 = 0, i2939 = 0;
+ int i2940 = 0, i2941 = 0, i2942 = 0, i2943 = 0, i2944 = 0, i2945 = 0, i2946 = 0, i2947 = 0, i2948 = 0, i2949 = 0;
+ int i2950 = 0, i2951 = 0, i2952 = 0, i2953 = 0, i2954 = 0, i2955 = 0, i2956 = 0, i2957 = 0, i2958 = 0, i2959 = 0;
+ int i2960 = 0, i2961 = 0, i2962 = 0, i2963 = 0, i2964 = 0, i2965 = 0, i2966 = 0, i2967 = 0, i2968 = 0, i2969 = 0;
+ int i2970 = 0, i2971 = 0, i2972 = 0, i2973 = 0, i2974 = 0, i2975 = 0, i2976 = 0, i2977 = 0, i2978 = 0, i2979 = 0;
+ int i2980 = 0, i2981 = 0, i2982 = 0, i2983 = 0, i2984 = 0, i2985 = 0, i2986 = 0, i2987 = 0, i2988 = 0, i2989 = 0;
+ int i2990 = 0, i2991 = 0, i2992 = 0, i2993 = 0, i2994 = 0, i2995 = 0, i2996 = 0, i2997 = 0, i2998 = 0, i2999 = 0;
+ int i3000 = 0, i3001 = 0, i3002 = 0, i3003 = 0, i3004 = 0, i3005 = 0, i3006 = 0, i3007 = 0, i3008 = 0, i3009 = 0;
+ int i3010 = 0, i3011 = 0, i3012 = 0, i3013 = 0, i3014 = 0, i3015 = 0, i3016 = 0, i3017 = 0, i3018 = 0, i3019 = 0;
+ int i3020 = 0, i3021 = 0, i3022 = 0, i3023 = 0, i3024 = 0, i3025 = 0, i3026 = 0, i3027 = 0, i3028 = 0, i3029 = 0;
+ int i3030 = 0, i3031 = 0, i3032 = 0, i3033 = 0, i3034 = 0, i3035 = 0, i3036 = 0, i3037 = 0, i3038 = 0, i3039 = 0;
+ int i3040 = 0, i3041 = 0, i3042 = 0, i3043 = 0, i3044 = 0, i3045 = 0, i3046 = 0, i3047 = 0, i3048 = 0, i3049 = 0;
+ int i3050 = 0, i3051 = 0, i3052 = 0, i3053 = 0, i3054 = 0, i3055 = 0, i3056 = 0, i3057 = 0, i3058 = 0, i3059 = 0;
+ int i3060 = 0, i3061 = 0, i3062 = 0, i3063 = 0, i3064 = 0, i3065 = 0, i3066 = 0, i3067 = 0, i3068 = 0, i3069 = 0;
+ int i3070 = 0, i3071 = 0, i3072 = 0, i3073 = 0, i3074 = 0, i3075 = 0, i3076 = 0, i3077 = 0, i3078 = 0, i3079 = 0;
+ int i3080 = 0, i3081 = 0, i3082 = 0, i3083 = 0, i3084 = 0, i3085 = 0, i3086 = 0, i3087 = 0, i3088 = 0, i3089 = 0;
+ int i3090 = 0, i3091 = 0, i3092 = 0, i3093 = 0, i3094 = 0, i3095 = 0, i3096 = 0, i3097 = 0, i3098 = 0, i3099 = 0;
+ int i3100 = 0, i3101 = 0, i3102 = 0, i3103 = 0, i3104 = 0, i3105 = 0, i3106 = 0, i3107 = 0, i3108 = 0, i3109 = 0;
+ int i3110 = 0, i3111 = 0, i3112 = 0, i3113 = 0, i3114 = 0, i3115 = 0, i3116 = 0, i3117 = 0, i3118 = 0, i3119 = 0;
+ int i3120 = 0, i3121 = 0, i3122 = 0, i3123 = 0, i3124 = 0, i3125 = 0, i3126 = 0, i3127 = 0, i3128 = 0, i3129 = 0;
+ int i3130 = 0, i3131 = 0, i3132 = 0, i3133 = 0, i3134 = 0, i3135 = 0, i3136 = 0, i3137 = 0, i3138 = 0, i3139 = 0;
+ int i3140 = 0, i3141 = 0, i3142 = 0, i3143 = 0, i3144 = 0, i3145 = 0, i3146 = 0, i3147 = 0, i3148 = 0, i3149 = 0;
+ int i3150 = 0, i3151 = 0, i3152 = 0, i3153 = 0, i3154 = 0, i3155 = 0, i3156 = 0, i3157 = 0, i3158 = 0, i3159 = 0;
+ int i3160 = 0, i3161 = 0, i3162 = 0, i3163 = 0, i3164 = 0, i3165 = 0, i3166 = 0, i3167 = 0, i3168 = 0, i3169 = 0;
+ int i3170 = 0, i3171 = 0, i3172 = 0, i3173 = 0, i3174 = 0, i3175 = 0, i3176 = 0, i3177 = 0, i3178 = 0, i3179 = 0;
+ int i3180 = 0, i3181 = 0, i3182 = 0, i3183 = 0, i3184 = 0, i3185 = 0, i3186 = 0, i3187 = 0, i3188 = 0, i3189 = 0;
+ int i3190 = 0, i3191 = 0, i3192 = 0, i3193 = 0, i3194 = 0, i3195 = 0, i3196 = 0, i3197 = 0, i3198 = 0, i3199 = 0;
+ int i3200 = 0, i3201 = 0, i3202 = 0, i3203 = 0, i3204 = 0, i3205 = 0, i3206 = 0, i3207 = 0, i3208 = 0, i3209 = 0;
+ int i3210 = 0, i3211 = 0, i3212 = 0, i3213 = 0, i3214 = 0, i3215 = 0, i3216 = 0, i3217 = 0, i3218 = 0, i3219 = 0;
+ int i3220 = 0, i3221 = 0, i3222 = 0, i3223 = 0, i3224 = 0, i3225 = 0, i3226 = 0, i3227 = 0, i3228 = 0, i3229 = 0;
+ int i3230 = 0, i3231 = 0, i3232 = 0, i3233 = 0, i3234 = 0, i3235 = 0, i3236 = 0, i3237 = 0, i3238 = 0, i3239 = 0;
+ int i3240 = 0, i3241 = 0, i3242 = 0, i3243 = 0, i3244 = 0, i3245 = 0, i3246 = 0, i3247 = 0, i3248 = 0, i3249 = 0;
+ int i3250 = 0, i3251 = 0, i3252 = 0, i3253 = 0, i3254 = 0, i3255 = 0, i3256 = 0, i3257 = 0, i3258 = 0, i3259 = 0;
+ int i3260 = 0, i3261 = 0, i3262 = 0, i3263 = 0, i3264 = 0, i3265 = 0, i3266 = 0, i3267 = 0, i3268 = 0, i3269 = 0;
+ int i3270 = 0, i3271 = 0, i3272 = 0, i3273 = 0, i3274 = 0, i3275 = 0, i3276 = 0, i3277 = 0, i3278 = 0, i3279 = 0;
+ int i3280 = 0, i3281 = 0, i3282 = 0, i3283 = 0, i3284 = 0, i3285 = 0, i3286 = 0, i3287 = 0, i3288 = 0, i3289 = 0;
+ int i3290 = 0, i3291 = 0, i3292 = 0, i3293 = 0, i3294 = 0, i3295 = 0, i3296 = 0, i3297 = 0, i3298 = 0, i3299 = 0;
+ int i3300 = 0, i3301 = 0, i3302 = 0, i3303 = 0, i3304 = 0, i3305 = 0, i3306 = 0, i3307 = 0, i3308 = 0, i3309 = 0;
+ int i3310 = 0, i3311 = 0, i3312 = 0, i3313 = 0, i3314 = 0, i3315 = 0, i3316 = 0, i3317 = 0, i3318 = 0, i3319 = 0;
+ int i3320 = 0, i3321 = 0, i3322 = 0, i3323 = 0, i3324 = 0, i3325 = 0, i3326 = 0, i3327 = 0, i3328 = 0, i3329 = 0;
+ int i3330 = 0, i3331 = 0, i3332 = 0, i3333 = 0, i3334 = 0, i3335 = 0, i3336 = 0, i3337 = 0, i3338 = 0, i3339 = 0;
+ int i3340 = 0, i3341 = 0, i3342 = 0, i3343 = 0, i3344 = 0, i3345 = 0, i3346 = 0, i3347 = 0, i3348 = 0, i3349 = 0;
+ int i3350 = 0, i3351 = 0, i3352 = 0, i3353 = 0, i3354 = 0, i3355 = 0, i3356 = 0, i3357 = 0, i3358 = 0, i3359 = 0;
+ int i3360 = 0, i3361 = 0, i3362 = 0, i3363 = 0, i3364 = 0, i3365 = 0, i3366 = 0, i3367 = 0, i3368 = 0, i3369 = 0;
+ int i3370 = 0, i3371 = 0, i3372 = 0, i3373 = 0, i3374 = 0, i3375 = 0, i3376 = 0, i3377 = 0, i3378 = 0, i3379 = 0;
+ int i3380 = 0, i3381 = 0, i3382 = 0, i3383 = 0, i3384 = 0, i3385 = 0, i3386 = 0, i3387 = 0, i3388 = 0, i3389 = 0;
+ int i3390 = 0, i3391 = 0, i3392 = 0, i3393 = 0, i3394 = 0, i3395 = 0, i3396 = 0, i3397 = 0, i3398 = 0, i3399 = 0;
+ int i3400 = 0, i3401 = 0, i3402 = 0, i3403 = 0, i3404 = 0, i3405 = 0, i3406 = 0, i3407 = 0, i3408 = 0, i3409 = 0;
+ int i3410 = 0, i3411 = 0, i3412 = 0, i3413 = 0, i3414 = 0, i3415 = 0, i3416 = 0, i3417 = 0, i3418 = 0, i3419 = 0;
+ int i3420 = 0, i3421 = 0, i3422 = 0, i3423 = 0, i3424 = 0, i3425 = 0, i3426 = 0, i3427 = 0, i3428 = 0, i3429 = 0;
+ int i3430 = 0, i3431 = 0, i3432 = 0, i3433 = 0, i3434 = 0, i3435 = 0, i3436 = 0, i3437 = 0, i3438 = 0, i3439 = 0;
+ int i3440 = 0, i3441 = 0, i3442 = 0, i3443 = 0, i3444 = 0, i3445 = 0, i3446 = 0, i3447 = 0, i3448 = 0, i3449 = 0;
+ int i3450 = 0, i3451 = 0, i3452 = 0, i3453 = 0, i3454 = 0, i3455 = 0, i3456 = 0, i3457 = 0, i3458 = 0, i3459 = 0;
+ int i3460 = 0, i3461 = 0, i3462 = 0, i3463 = 0, i3464 = 0, i3465 = 0, i3466 = 0, i3467 = 0, i3468 = 0, i3469 = 0;
+ int i3470 = 0, i3471 = 0, i3472 = 0, i3473 = 0, i3474 = 0, i3475 = 0, i3476 = 0, i3477 = 0, i3478 = 0, i3479 = 0;
+ int i3480 = 0, i3481 = 0, i3482 = 0, i3483 = 0, i3484 = 0, i3485 = 0, i3486 = 0, i3487 = 0, i3488 = 0, i3489 = 0;
+ int i3490 = 0, i3491 = 0, i3492 = 0, i3493 = 0, i3494 = 0, i3495 = 0, i3496 = 0, i3497 = 0, i3498 = 0, i3499 = 0;
+ int i3500 = 0, i3501 = 0, i3502 = 0, i3503 = 0, i3504 = 0, i3505 = 0, i3506 = 0, i3507 = 0, i3508 = 0, i3509 = 0;
+ int i3510 = 0, i3511 = 0, i3512 = 0, i3513 = 0, i3514 = 0, i3515 = 0, i3516 = 0, i3517 = 0, i3518 = 0, i3519 = 0;
+ int i3520 = 0, i3521 = 0, i3522 = 0, i3523 = 0, i3524 = 0, i3525 = 0, i3526 = 0, i3527 = 0, i3528 = 0, i3529 = 0;
+ int i3530 = 0, i3531 = 0, i3532 = 0, i3533 = 0, i3534 = 0, i3535 = 0, i3536 = 0, i3537 = 0, i3538 = 0, i3539 = 0;
+ int i3540 = 0, i3541 = 0, i3542 = 0, i3543 = 0, i3544 = 0, i3545 = 0, i3546 = 0, i3547 = 0, i3548 = 0, i3549 = 0;
+ int i3550 = 0, i3551 = 0, i3552 = 0, i3553 = 0, i3554 = 0, i3555 = 0, i3556 = 0, i3557 = 0, i3558 = 0, i3559 = 0;
+ int i3560 = 0, i3561 = 0, i3562 = 0, i3563 = 0, i3564 = 0, i3565 = 0, i3566 = 0, i3567 = 0, i3568 = 0, i3569 = 0;
+ int i3570 = 0, i3571 = 0, i3572 = 0, i3573 = 0, i3574 = 0, i3575 = 0, i3576 = 0, i3577 = 0, i3578 = 0, i3579 = 0;
+ int i3580 = 0, i3581 = 0, i3582 = 0, i3583 = 0, i3584 = 0, i3585 = 0, i3586 = 0, i3587 = 0, i3588 = 0, i3589 = 0;
+ int i3590 = 0, i3591 = 0, i3592 = 0, i3593 = 0, i3594 = 0, i3595 = 0, i3596 = 0, i3597 = 0, i3598 = 0, i3599 = 0;
+ int i3600 = 0, i3601 = 0, i3602 = 0, i3603 = 0, i3604 = 0, i3605 = 0, i3606 = 0, i3607 = 0, i3608 = 0, i3609 = 0;
+ int i3610 = 0, i3611 = 0, i3612 = 0, i3613 = 0, i3614 = 0, i3615 = 0, i3616 = 0, i3617 = 0, i3618 = 0, i3619 = 0;
+ int i3620 = 0, i3621 = 0, i3622 = 0, i3623 = 0, i3624 = 0, i3625 = 0, i3626 = 0, i3627 = 0, i3628 = 0, i3629 = 0;
+ int i3630 = 0, i3631 = 0, i3632 = 0, i3633 = 0, i3634 = 0, i3635 = 0, i3636 = 0, i3637 = 0, i3638 = 0, i3639 = 0;
+ int i3640 = 0, i3641 = 0, i3642 = 0, i3643 = 0, i3644 = 0, i3645 = 0, i3646 = 0, i3647 = 0, i3648 = 0, i3649 = 0;
+ int i3650 = 0, i3651 = 0, i3652 = 0, i3653 = 0, i3654 = 0, i3655 = 0, i3656 = 0, i3657 = 0, i3658 = 0, i3659 = 0;
+ int i3660 = 0, i3661 = 0, i3662 = 0, i3663 = 0, i3664 = 0, i3665 = 0, i3666 = 0, i3667 = 0, i3668 = 0, i3669 = 0;
+ int i3670 = 0, i3671 = 0, i3672 = 0, i3673 = 0, i3674 = 0, i3675 = 0, i3676 = 0, i3677 = 0, i3678 = 0, i3679 = 0;
+ int i3680 = 0, i3681 = 0, i3682 = 0, i3683 = 0, i3684 = 0, i3685 = 0, i3686 = 0, i3687 = 0, i3688 = 0, i3689 = 0;
+ int i3690 = 0, i3691 = 0, i3692 = 0, i3693 = 0, i3694 = 0, i3695 = 0, i3696 = 0, i3697 = 0, i3698 = 0, i3699 = 0;
+ int i3700 = 0, i3701 = 0, i3702 = 0, i3703 = 0, i3704 = 0, i3705 = 0, i3706 = 0, i3707 = 0, i3708 = 0, i3709 = 0;
+ int i3710 = 0, i3711 = 0, i3712 = 0, i3713 = 0, i3714 = 0, i3715 = 0, i3716 = 0, i3717 = 0, i3718 = 0, i3719 = 0;
+ int i3720 = 0, i3721 = 0, i3722 = 0, i3723 = 0, i3724 = 0, i3725 = 0, i3726 = 0, i3727 = 0, i3728 = 0, i3729 = 0;
+ int i3730 = 0, i3731 = 0, i3732 = 0, i3733 = 0, i3734 = 0, i3735 = 0, i3736 = 0, i3737 = 0, i3738 = 0, i3739 = 0;
+ int i3740 = 0, i3741 = 0, i3742 = 0, i3743 = 0, i3744 = 0, i3745 = 0, i3746 = 0, i3747 = 0, i3748 = 0, i3749 = 0;
+ int i3750 = 0, i3751 = 0, i3752 = 0, i3753 = 0, i3754 = 0, i3755 = 0, i3756 = 0, i3757 = 0, i3758 = 0, i3759 = 0;
+ int i3760 = 0, i3761 = 0, i3762 = 0, i3763 = 0, i3764 = 0, i3765 = 0, i3766 = 0, i3767 = 0, i3768 = 0, i3769 = 0;
+ int i3770 = 0, i3771 = 0, i3772 = 0, i3773 = 0, i3774 = 0, i3775 = 0, i3776 = 0, i3777 = 0, i3778 = 0, i3779 = 0;
+ int i3780 = 0, i3781 = 0, i3782 = 0, i3783 = 0, i3784 = 0, i3785 = 0, i3786 = 0, i3787 = 0, i3788 = 0, i3789 = 0;
+ int i3790 = 0, i3791 = 0, i3792 = 0, i3793 = 0, i3794 = 0, i3795 = 0, i3796 = 0, i3797 = 0, i3798 = 0, i3799 = 0;
+ int i3800 = 0, i3801 = 0, i3802 = 0, i3803 = 0, i3804 = 0, i3805 = 0, i3806 = 0, i3807 = 0, i3808 = 0, i3809 = 0;
+ int i3810 = 0, i3811 = 0, i3812 = 0, i3813 = 0, i3814 = 0, i3815 = 0, i3816 = 0, i3817 = 0, i3818 = 0, i3819 = 0;
+ int i3820 = 0, i3821 = 0, i3822 = 0, i3823 = 0, i3824 = 0, i3825 = 0, i3826 = 0, i3827 = 0, i3828 = 0, i3829 = 0;
+ int i3830 = 0, i3831 = 0, i3832 = 0, i3833 = 0, i3834 = 0, i3835 = 0, i3836 = 0, i3837 = 0, i3838 = 0, i3839 = 0;
+ int i3840 = 0, i3841 = 0, i3842 = 0, i3843 = 0, i3844 = 0, i3845 = 0, i3846 = 0, i3847 = 0, i3848 = 0, i3849 = 0;
+ int i3850 = 0, i3851 = 0, i3852 = 0, i3853 = 0, i3854 = 0, i3855 = 0, i3856 = 0, i3857 = 0, i3858 = 0, i3859 = 0;
+ int i3860 = 0, i3861 = 0, i3862 = 0, i3863 = 0, i3864 = 0, i3865 = 0, i3866 = 0, i3867 = 0, i3868 = 0, i3869 = 0;
+ int i3870 = 0, i3871 = 0, i3872 = 0, i3873 = 0, i3874 = 0, i3875 = 0, i3876 = 0, i3877 = 0, i3878 = 0, i3879 = 0;
+ int i3880 = 0, i3881 = 0, i3882 = 0, i3883 = 0, i3884 = 0, i3885 = 0, i3886 = 0, i3887 = 0, i3888 = 0, i3889 = 0;
+ int i3890 = 0, i3891 = 0, i3892 = 0, i3893 = 0, i3894 = 0, i3895 = 0, i3896 = 0, i3897 = 0, i3898 = 0, i3899 = 0;
+ int i3900 = 0, i3901 = 0, i3902 = 0, i3903 = 0, i3904 = 0, i3905 = 0, i3906 = 0, i3907 = 0, i3908 = 0, i3909 = 0;
+ int i3910 = 0, i3911 = 0, i3912 = 0, i3913 = 0, i3914 = 0, i3915 = 0, i3916 = 0, i3917 = 0, i3918 = 0, i3919 = 0;
+ int i3920 = 0, i3921 = 0, i3922 = 0, i3923 = 0, i3924 = 0, i3925 = 0, i3926 = 0, i3927 = 0, i3928 = 0, i3929 = 0;
+ int i3930 = 0, i3931 = 0, i3932 = 0, i3933 = 0, i3934 = 0, i3935 = 0, i3936 = 0, i3937 = 0, i3938 = 0, i3939 = 0;
+ int i3940 = 0, i3941 = 0, i3942 = 0, i3943 = 0, i3944 = 0, i3945 = 0, i3946 = 0, i3947 = 0, i3948 = 0, i3949 = 0;
+ int i3950 = 0, i3951 = 0, i3952 = 0, i3953 = 0, i3954 = 0, i3955 = 0, i3956 = 0, i3957 = 0, i3958 = 0, i3959 = 0;
+ int i3960 = 0, i3961 = 0, i3962 = 0, i3963 = 0, i3964 = 0, i3965 = 0, i3966 = 0, i3967 = 0, i3968 = 0, i3969 = 0;
+ int i3970 = 0, i3971 = 0, i3972 = 0, i3973 = 0, i3974 = 0, i3975 = 0, i3976 = 0, i3977 = 0, i3978 = 0, i3979 = 0;
+ int i3980 = 0, i3981 = 0, i3982 = 0, i3983 = 0, i3984 = 0, i3985 = 0, i3986 = 0, i3987 = 0, i3988 = 0, i3989 = 0;
+ int i3990 = 0, i3991 = 0, i3992 = 0, i3993 = 0, i3994 = 0, i3995 = 0, i3996 = 0, i3997 = 0, i3998 = 0, i3999 = 0;
+ int i4000 = 0, i4001 = 0, i4002 = 0, i4003 = 0, i4004 = 0, i4005 = 0, i4006 = 0, i4007 = 0, i4008 = 0, i4009 = 0;
+ int i4010 = 0, i4011 = 0, i4012 = 0, i4013 = 0, i4014 = 0, i4015 = 0, i4016 = 0, i4017 = 0, i4018 = 0, i4019 = 0;
+ int i4020 = 0, i4021 = 0, i4022 = 0, i4023 = 0, i4024 = 0, i4025 = 0, i4026 = 0, i4027 = 0, i4028 = 0, i4029 = 0;
+ int i4030 = 0, i4031 = 0, i4032 = 0, i4033 = 0, i4034 = 0, i4035 = 0, i4036 = 0, i4037 = 0, i4038 = 0, i4039 = 0;
+ int i4040 = 0, i4041 = 0, i4042 = 0, i4043 = 0, i4044 = 0, i4045 = 0, i4046 = 0, i4047 = 0, i4048 = 0, i4049 = 0;
+ int i4050 = 0, i4051 = 0, i4052 = 0, i4053 = 0, i4054 = 0, i4055 = 0, i4056 = 0, i4057 = 0, i4058 = 0, i4059 = 0;
+ int i4060 = 0, i4061 = 0, i4062 = 0, i4063 = 0, i4064 = 0, i4065 = 0, i4066 = 0, i4067 = 0, i4068 = 0, i4069 = 0;
+ int i4070 = 0, i4071 = 0, i4072 = 0, i4073 = 0, i4074 = 0, i4075 = 0, i4076 = 0, i4077 = 0, i4078 = 0, i4079 = 0;
+ int i4080 = 0, i4081 = 0, i4082 = 0, i4083 = 0, i4084 = 0, i4085 = 0, i4086 = 0, i4087 = 0, i4088 = 0, i4089 = 0;
+ int i4090 = 0, i4091 = 0, i4092 = 0, i4093 = 0, i4094 = 0, i4095 = 0, i4096 = 0, i4097 = 0, i4098 = 0, i4099 = 0;
+ int i4100 = 0, i4101 = 0, i4102 = 0, i4103 = 0, i4104 = 0, i4105 = 0, i4106 = 0, i4107 = 0, i4108 = 0, i4109 = 0;
+ int i4110 = 0, i4111 = 0, i4112 = 0, i4113 = 0, i4114 = 0, i4115 = 0, i4116 = 0, i4117 = 0, i4118 = 0, i4119 = 0;
+ int i4120 = 0, i4121 = 0, i4122 = 0, i4123 = 0, i4124 = 0, i4125 = 0, i4126 = 0, i4127 = 0, i4128 = 0, i4129 = 0;
+ int i4130 = 0, i4131 = 0, i4132 = 0, i4133 = 0, i4134 = 0, i4135 = 0, i4136 = 0, i4137 = 0, i4138 = 0, i4139 = 0;
+ int i4140 = 0, i4141 = 0, i4142 = 0, i4143 = 0, i4144 = 0, i4145 = 0, i4146 = 0, i4147 = 0, i4148 = 0, i4149 = 0;
+ int i4150 = 0, i4151 = 0, i4152 = 0, i4153 = 0, i4154 = 0, i4155 = 0, i4156 = 0, i4157 = 0, i4158 = 0, i4159 = 0;
+ int i4160 = 0, i4161 = 0, i4162 = 0, i4163 = 0, i4164 = 0, i4165 = 0, i4166 = 0, i4167 = 0, i4168 = 0, i4169 = 0;
+ int i4170 = 0, i4171 = 0, i4172 = 0, i4173 = 0, i4174 = 0, i4175 = 0, i4176 = 0, i4177 = 0, i4178 = 0, i4179 = 0;
+ int i4180 = 0, i4181 = 0, i4182 = 0, i4183 = 0, i4184 = 0, i4185 = 0, i4186 = 0, i4187 = 0, i4188 = 0, i4189 = 0;
+ int i4190 = 0, i4191 = 0, i4192 = 0, i4193 = 0, i4194 = 0, i4195 = 0, i4196 = 0, i4197 = 0, i4198 = 0, i4199 = 0;
+ int i4200 = 0, i4201 = 0, i4202 = 0, i4203 = 0, i4204 = 0, i4205 = 0, i4206 = 0, i4207 = 0, i4208 = 0, i4209 = 0;
+ int i4210 = 0, i4211 = 0, i4212 = 0, i4213 = 0, i4214 = 0, i4215 = 0, i4216 = 0, i4217 = 0, i4218 = 0, i4219 = 0;
+ int i4220 = 0, i4221 = 0, i4222 = 0, i4223 = 0, i4224 = 0, i4225 = 0, i4226 = 0, i4227 = 0, i4228 = 0, i4229 = 0;
+ int i4230 = 0, i4231 = 0, i4232 = 0, i4233 = 0, i4234 = 0, i4235 = 0, i4236 = 0, i4237 = 0, i4238 = 0, i4239 = 0;
+ int i4240 = 0, i4241 = 0, i4242 = 0, i4243 = 0, i4244 = 0, i4245 = 0, i4246 = 0, i4247 = 0, i4248 = 0, i4249 = 0;
+ int i4250 = 0, i4251 = 0, i4252 = 0, i4253 = 0, i4254 = 0, i4255 = 0, i4256 = 0, i4257 = 0, i4258 = 0, i4259 = 0;
+ int i4260 = 0, i4261 = 0, i4262 = 0, i4263 = 0, i4264 = 0, i4265 = 0, i4266 = 0, i4267 = 0, i4268 = 0, i4269 = 0;
+ int i4270 = 0, i4271 = 0, i4272 = 0, i4273 = 0, i4274 = 0, i4275 = 0, i4276 = 0, i4277 = 0, i4278 = 0, i4279 = 0;
+ int i4280 = 0, i4281 = 0, i4282 = 0, i4283 = 0, i4284 = 0, i4285 = 0, i4286 = 0, i4287 = 0, i4288 = 0, i4289 = 0;
+ int i4290 = 0, i4291 = 0, i4292 = 0, i4293 = 0, i4294 = 0, i4295 = 0, i4296 = 0, i4297 = 0, i4298 = 0, i4299 = 0;
+ int i4300 = 0, i4301 = 0, i4302 = 0, i4303 = 0, i4304 = 0, i4305 = 0, i4306 = 0, i4307 = 0, i4308 = 0, i4309 = 0;
+ int i4310 = 0, i4311 = 0, i4312 = 0, i4313 = 0, i4314 = 0, i4315 = 0, i4316 = 0, i4317 = 0, i4318 = 0, i4319 = 0;
+ int i4320 = 0, i4321 = 0, i4322 = 0, i4323 = 0, i4324 = 0, i4325 = 0, i4326 = 0, i4327 = 0, i4328 = 0, i4329 = 0;
+ int i4330 = 0, i4331 = 0, i4332 = 0, i4333 = 0, i4334 = 0, i4335 = 0, i4336 = 0, i4337 = 0, i4338 = 0, i4339 = 0;
+ int i4340 = 0, i4341 = 0, i4342 = 0, i4343 = 0, i4344 = 0, i4345 = 0, i4346 = 0, i4347 = 0, i4348 = 0, i4349 = 0;
+ int i4350 = 0, i4351 = 0, i4352 = 0, i4353 = 0, i4354 = 0, i4355 = 0, i4356 = 0, i4357 = 0, i4358 = 0, i4359 = 0;
+ int i4360 = 0, i4361 = 0, i4362 = 0, i4363 = 0, i4364 = 0, i4365 = 0, i4366 = 0, i4367 = 0, i4368 = 0, i4369 = 0;
+ int i4370 = 0, i4371 = 0, i4372 = 0, i4373 = 0, i4374 = 0, i4375 = 0, i4376 = 0, i4377 = 0, i4378 = 0, i4379 = 0;
+ int i4380 = 0, i4381 = 0, i4382 = 0, i4383 = 0, i4384 = 0, i4385 = 0, i4386 = 0, i4387 = 0, i4388 = 0, i4389 = 0;
+ int i4390 = 0, i4391 = 0, i4392 = 0, i4393 = 0, i4394 = 0, i4395 = 0, i4396 = 0, i4397 = 0, i4398 = 0, i4399 = 0;
+ int i4400 = 0, i4401 = 0, i4402 = 0, i4403 = 0, i4404 = 0, i4405 = 0, i4406 = 0, i4407 = 0, i4408 = 0, i4409 = 0;
+ int i4410 = 0, i4411 = 0, i4412 = 0, i4413 = 0, i4414 = 0, i4415 = 0, i4416 = 0, i4417 = 0, i4418 = 0, i4419 = 0;
+ int i4420 = 0, i4421 = 0, i4422 = 0, i4423 = 0, i4424 = 0, i4425 = 0, i4426 = 0, i4427 = 0, i4428 = 0, i4429 = 0;
+ int i4430 = 0, i4431 = 0, i4432 = 0, i4433 = 0, i4434 = 0, i4435 = 0, i4436 = 0, i4437 = 0, i4438 = 0, i4439 = 0;
+ int i4440 = 0, i4441 = 0, i4442 = 0, i4443 = 0, i4444 = 0, i4445 = 0, i4446 = 0, i4447 = 0, i4448 = 0, i4449 = 0;
+ int i4450 = 0, i4451 = 0, i4452 = 0, i4453 = 0, i4454 = 0, i4455 = 0, i4456 = 0, i4457 = 0, i4458 = 0, i4459 = 0;
+ int i4460 = 0, i4461 = 0, i4462 = 0, i4463 = 0, i4464 = 0, i4465 = 0, i4466 = 0, i4467 = 0, i4468 = 0, i4469 = 0;
+ int i4470 = 0, i4471 = 0, i4472 = 0, i4473 = 0, i4474 = 0, i4475 = 0, i4476 = 0, i4477 = 0, i4478 = 0, i4479 = 0;
+ int i4480 = 0, i4481 = 0, i4482 = 0, i4483 = 0, i4484 = 0, i4485 = 0, i4486 = 0, i4487 = 0, i4488 = 0, i4489 = 0;
+ int i4490 = 0, i4491 = 0, i4492 = 0, i4493 = 0, i4494 = 0, i4495 = 0, i4496 = 0, i4497 = 0, i4498 = 0, i4499 = 0;
+ int i4500 = 0, i4501 = 0, i4502 = 0, i4503 = 0, i4504 = 0, i4505 = 0, i4506 = 0, i4507 = 0, i4508 = 0, i4509 = 0;
+ int i4510 = 0, i4511 = 0, i4512 = 0, i4513 = 0, i4514 = 0, i4515 = 0, i4516 = 0, i4517 = 0, i4518 = 0, i4519 = 0;
+ int i4520 = 0, i4521 = 0, i4522 = 0, i4523 = 0, i4524 = 0, i4525 = 0, i4526 = 0, i4527 = 0, i4528 = 0, i4529 = 0;
+ int i4530 = 0, i4531 = 0, i4532 = 0, i4533 = 0, i4534 = 0, i4535 = 0, i4536 = 0, i4537 = 0, i4538 = 0, i4539 = 0;
+ int i4540 = 0, i4541 = 0, i4542 = 0, i4543 = 0, i4544 = 0, i4545 = 0, i4546 = 0, i4547 = 0, i4548 = 0, i4549 = 0;
+ int i4550 = 0, i4551 = 0, i4552 = 0, i4553 = 0, i4554 = 0, i4555 = 0, i4556 = 0, i4557 = 0, i4558 = 0, i4559 = 0;
+ int i4560 = 0, i4561 = 0, i4562 = 0, i4563 = 0, i4564 = 0, i4565 = 0, i4566 = 0, i4567 = 0, i4568 = 0, i4569 = 0;
+ int i4570 = 0, i4571 = 0, i4572 = 0, i4573 = 0, i4574 = 0, i4575 = 0, i4576 = 0, i4577 = 0, i4578 = 0, i4579 = 0;
+ int i4580 = 0, i4581 = 0, i4582 = 0, i4583 = 0, i4584 = 0, i4585 = 0, i4586 = 0, i4587 = 0, i4588 = 0, i4589 = 0;
+ int i4590 = 0, i4591 = 0, i4592 = 0, i4593 = 0, i4594 = 0, i4595 = 0, i4596 = 0, i4597 = 0, i4598 = 0, i4599 = 0;
+ int i4600 = 0, i4601 = 0, i4602 = 0, i4603 = 0, i4604 = 0, i4605 = 0, i4606 = 0, i4607 = 0, i4608 = 0, i4609 = 0;
+ int i4610 = 0, i4611 = 0, i4612 = 0, i4613 = 0, i4614 = 0, i4615 = 0, i4616 = 0, i4617 = 0, i4618 = 0, i4619 = 0;
+ int i4620 = 0, i4621 = 0, i4622 = 0, i4623 = 0, i4624 = 0, i4625 = 0, i4626 = 0, i4627 = 0, i4628 = 0, i4629 = 0;
+ int i4630 = 0, i4631 = 0, i4632 = 0, i4633 = 0, i4634 = 0, i4635 = 0, i4636 = 0, i4637 = 0, i4638 = 0, i4639 = 0;
+ int i4640 = 0, i4641 = 0, i4642 = 0, i4643 = 0, i4644 = 0, i4645 = 0, i4646 = 0, i4647 = 0, i4648 = 0, i4649 = 0;
+ int i4650 = 0, i4651 = 0, i4652 = 0, i4653 = 0, i4654 = 0, i4655 = 0, i4656 = 0, i4657 = 0, i4658 = 0, i4659 = 0;
+ int i4660 = 0, i4661 = 0, i4662 = 0, i4663 = 0, i4664 = 0, i4665 = 0, i4666 = 0, i4667 = 0, i4668 = 0, i4669 = 0;
+ int i4670 = 0, i4671 = 0, i4672 = 0, i4673 = 0, i4674 = 0, i4675 = 0, i4676 = 0, i4677 = 0, i4678 = 0, i4679 = 0;
+ int i4680 = 0, i4681 = 0, i4682 = 0, i4683 = 0, i4684 = 0, i4685 = 0, i4686 = 0, i4687 = 0, i4688 = 0, i4689 = 0;
+ int i4690 = 0, i4691 = 0, i4692 = 0, i4693 = 0, i4694 = 0, i4695 = 0, i4696 = 0, i4697 = 0, i4698 = 0, i4699 = 0;
+ int i4700 = 0, i4701 = 0, i4702 = 0, i4703 = 0, i4704 = 0, i4705 = 0, i4706 = 0, i4707 = 0, i4708 = 0, i4709 = 0;
+ int i4710 = 0, i4711 = 0, i4712 = 0, i4713 = 0, i4714 = 0, i4715 = 0, i4716 = 0, i4717 = 0, i4718 = 0, i4719 = 0;
+ int i4720 = 0, i4721 = 0, i4722 = 0, i4723 = 0, i4724 = 0, i4725 = 0, i4726 = 0, i4727 = 0, i4728 = 0, i4729 = 0;
+ int i4730 = 0, i4731 = 0, i4732 = 0, i4733 = 0, i4734 = 0, i4735 = 0, i4736 = 0, i4737 = 0, i4738 = 0, i4739 = 0;
+ int i4740 = 0, i4741 = 0, i4742 = 0, i4743 = 0, i4744 = 0, i4745 = 0, i4746 = 0, i4747 = 0, i4748 = 0, i4749 = 0;
+ int i4750 = 0, i4751 = 0, i4752 = 0, i4753 = 0, i4754 = 0, i4755 = 0, i4756 = 0, i4757 = 0, i4758 = 0, i4759 = 0;
+ int i4760 = 0, i4761 = 0, i4762 = 0, i4763 = 0, i4764 = 0, i4765 = 0, i4766 = 0, i4767 = 0, i4768 = 0, i4769 = 0;
+ int i4770 = 0, i4771 = 0, i4772 = 0, i4773 = 0, i4774 = 0, i4775 = 0, i4776 = 0, i4777 = 0, i4778 = 0, i4779 = 0;
+ int i4780 = 0, i4781 = 0, i4782 = 0, i4783 = 0, i4784 = 0, i4785 = 0, i4786 = 0, i4787 = 0, i4788 = 0, i4789 = 0;
+ int i4790 = 0, i4791 = 0, i4792 = 0, i4793 = 0, i4794 = 0, i4795 = 0, i4796 = 0, i4797 = 0, i4798 = 0, i4799 = 0;
+ int i4800 = 0, i4801 = 0, i4802 = 0, i4803 = 0, i4804 = 0, i4805 = 0, i4806 = 0, i4807 = 0, i4808 = 0, i4809 = 0;
+ int i4810 = 0, i4811 = 0, i4812 = 0, i4813 = 0, i4814 = 0, i4815 = 0, i4816 = 0, i4817 = 0, i4818 = 0, i4819 = 0;
+ int i4820 = 0, i4821 = 0, i4822 = 0, i4823 = 0, i4824 = 0, i4825 = 0, i4826 = 0, i4827 = 0, i4828 = 0, i4829 = 0;
+ int i4830 = 0, i4831 = 0, i4832 = 0, i4833 = 0, i4834 = 0, i4835 = 0, i4836 = 0, i4837 = 0, i4838 = 0, i4839 = 0;
+ int i4840 = 0, i4841 = 0, i4842 = 0, i4843 = 0, i4844 = 0, i4845 = 0, i4846 = 0, i4847 = 0, i4848 = 0, i4849 = 0;
+ int i4850 = 0, i4851 = 0, i4852 = 0, i4853 = 0, i4854 = 0, i4855 = 0, i4856 = 0, i4857 = 0, i4858 = 0, i4859 = 0;
+ int i4860 = 0, i4861 = 0, i4862 = 0, i4863 = 0, i4864 = 0, i4865 = 0, i4866 = 0, i4867 = 0, i4868 = 0, i4869 = 0;
+ int i4870 = 0, i4871 = 0, i4872 = 0, i4873 = 0, i4874 = 0, i4875 = 0, i4876 = 0, i4877 = 0, i4878 = 0, i4879 = 0;
+ int i4880 = 0, i4881 = 0, i4882 = 0, i4883 = 0, i4884 = 0, i4885 = 0, i4886 = 0, i4887 = 0, i4888 = 0, i4889 = 0;
+ int i4890 = 0, i4891 = 0, i4892 = 0, i4893 = 0, i4894 = 0, i4895 = 0, i4896 = 0, i4897 = 0, i4898 = 0, i4899 = 0;
+ int i4900 = 0, i4901 = 0, i4902 = 0, i4903 = 0, i4904 = 0, i4905 = 0, i4906 = 0, i4907 = 0, i4908 = 0, i4909 = 0;
+ int i4910 = 0, i4911 = 0, i4912 = 0, i4913 = 0, i4914 = 0, i4915 = 0, i4916 = 0, i4917 = 0, i4918 = 0, i4919 = 0;
+ int i4920 = 0, i4921 = 0, i4922 = 0, i4923 = 0, i4924 = 0, i4925 = 0, i4926 = 0, i4927 = 0, i4928 = 0, i4929 = 0;
+ int i4930 = 0, i4931 = 0, i4932 = 0, i4933 = 0, i4934 = 0, i4935 = 0, i4936 = 0, i4937 = 0, i4938 = 0, i4939 = 0;
+ int i4940 = 0, i4941 = 0, i4942 = 0, i4943 = 0, i4944 = 0, i4945 = 0, i4946 = 0, i4947 = 0, i4948 = 0, i4949 = 0;
+ int i4950 = 0, i4951 = 0, i4952 = 0, i4953 = 0, i4954 = 0, i4955 = 0, i4956 = 0, i4957 = 0, i4958 = 0, i4959 = 0;
+ int i4960 = 0, i4961 = 0, i4962 = 0, i4963 = 0, i4964 = 0, i4965 = 0, i4966 = 0, i4967 = 0, i4968 = 0, i4969 = 0;
+ int i4970 = 0, i4971 = 0, i4972 = 0, i4973 = 0, i4974 = 0, i4975 = 0, i4976 = 0, i4977 = 0, i4978 = 0, i4979 = 0;
+ int i4980 = 0, i4981 = 0, i4982 = 0, i4983 = 0, i4984 = 0, i4985 = 0, i4986 = 0, i4987 = 0, i4988 = 0, i4989 = 0;
+ int i4990 = 0, i4991 = 0, i4992 = 0, i4993 = 0, i4994 = 0, i4995 = 0, i4996 = 0, i4997 = 0, i4998 = 0, i4999 = 0;
+ int i5000 = 0, i5001 = 0, i5002 = 0, i5003 = 0, i5004 = 0, i5005 = 0, i5006 = 0, i5007 = 0, i5008 = 0, i5009 = 0;
+ int i5010 = 0, i5011 = 0, i5012 = 0, i5013 = 0, i5014 = 0, i5015 = 0, i5016 = 0, i5017 = 0, i5018 = 0, i5019 = 0;
+ int i5020 = 0, i5021 = 0, i5022 = 0, i5023 = 0, i5024 = 0, i5025 = 0, i5026 = 0, i5027 = 0, i5028 = 0, i5029 = 0;
+ int i5030 = 0, i5031 = 0, i5032 = 0, i5033 = 0, i5034 = 0, i5035 = 0, i5036 = 0, i5037 = 0, i5038 = 0, i5039 = 0;
+ int i5040 = 0, i5041 = 0, i5042 = 0, i5043 = 0, i5044 = 0, i5045 = 0, i5046 = 0, i5047 = 0, i5048 = 0, i5049 = 0;
+ int i5050 = 0, i5051 = 0, i5052 = 0, i5053 = 0, i5054 = 0, i5055 = 0, i5056 = 0, i5057 = 0, i5058 = 0, i5059 = 0;
+ int i5060 = 0, i5061 = 0, i5062 = 0, i5063 = 0, i5064 = 0, i5065 = 0, i5066 = 0, i5067 = 0, i5068 = 0, i5069 = 0;
+ int i5070 = 0, i5071 = 0, i5072 = 0, i5073 = 0, i5074 = 0, i5075 = 0, i5076 = 0, i5077 = 0, i5078 = 0, i5079 = 0;
+ int i5080 = 0, i5081 = 0, i5082 = 0, i5083 = 0, i5084 = 0, i5085 = 0, i5086 = 0, i5087 = 0, i5088 = 0, i5089 = 0;
+ int i5090 = 0, i5091 = 0, i5092 = 0, i5093 = 0, i5094 = 0, i5095 = 0, i5096 = 0, i5097 = 0, i5098 = 0, i5099 = 0;
+ int i5100 = 0, i5101 = 0, i5102 = 0, i5103 = 0, i5104 = 0, i5105 = 0, i5106 = 0, i5107 = 0, i5108 = 0, i5109 = 0;
+ int i5110 = 0, i5111 = 0, i5112 = 0, i5113 = 0, i5114 = 0, i5115 = 0, i5116 = 0, i5117 = 0, i5118 = 0, i5119 = 0;
+ int i5120 = 0, i5121 = 0, i5122 = 0, i5123 = 0, i5124 = 0, i5125 = 0, i5126 = 0, i5127 = 0, i5128 = 0, i5129 = 0;
+ int i5130 = 0, i5131 = 0, i5132 = 0, i5133 = 0, i5134 = 0, i5135 = 0, i5136 = 0, i5137 = 0, i5138 = 0, i5139 = 0;
+ int i5140 = 0, i5141 = 0, i5142 = 0, i5143 = 0, i5144 = 0, i5145 = 0, i5146 = 0, i5147 = 0, i5148 = 0, i5149 = 0;
+ int i5150 = 0, i5151 = 0, i5152 = 0, i5153 = 0, i5154 = 0, i5155 = 0, i5156 = 0, i5157 = 0, i5158 = 0, i5159 = 0;
+ int i5160 = 0, i5161 = 0, i5162 = 0, i5163 = 0, i5164 = 0, i5165 = 0, i5166 = 0, i5167 = 0, i5168 = 0, i5169 = 0;
+ int i5170 = 0, i5171 = 0, i5172 = 0, i5173 = 0, i5174 = 0, i5175 = 0, i5176 = 0, i5177 = 0, i5178 = 0, i5179 = 0;
+ int i5180 = 0, i5181 = 0, i5182 = 0, i5183 = 0, i5184 = 0, i5185 = 0, i5186 = 0, i5187 = 0, i5188 = 0, i5189 = 0;
+ int i5190 = 0, i5191 = 0, i5192 = 0, i5193 = 0, i5194 = 0, i5195 = 0, i5196 = 0, i5197 = 0, i5198 = 0, i5199 = 0;
+ int i5200 = 0, i5201 = 0, i5202 = 0, i5203 = 0, i5204 = 0, i5205 = 0, i5206 = 0, i5207 = 0, i5208 = 0, i5209 = 0;
+ int i5210 = 0, i5211 = 0, i5212 = 0, i5213 = 0, i5214 = 0, i5215 = 0, i5216 = 0, i5217 = 0, i5218 = 0, i5219 = 0;
+ int i5220 = 0, i5221 = 0, i5222 = 0, i5223 = 0, i5224 = 0, i5225 = 0, i5226 = 0, i5227 = 0, i5228 = 0, i5229 = 0;
+ int i5230 = 0, i5231 = 0, i5232 = 0, i5233 = 0, i5234 = 0, i5235 = 0, i5236 = 0, i5237 = 0, i5238 = 0, i5239 = 0;
+ int i5240 = 0, i5241 = 0, i5242 = 0, i5243 = 0, i5244 = 0, i5245 = 0, i5246 = 0, i5247 = 0, i5248 = 0, i5249 = 0;
+ int i5250 = 0, i5251 = 0, i5252 = 0, i5253 = 0, i5254 = 0, i5255 = 0, i5256 = 0, i5257 = 0, i5258 = 0, i5259 = 0;
+ int i5260 = 0, i5261 = 0, i5262 = 0, i5263 = 0, i5264 = 0, i5265 = 0, i5266 = 0, i5267 = 0, i5268 = 0, i5269 = 0;
+ int i5270 = 0, i5271 = 0, i5272 = 0, i5273 = 0, i5274 = 0, i5275 = 0, i5276 = 0, i5277 = 0, i5278 = 0, i5279 = 0;
+ int i5280 = 0, i5281 = 0, i5282 = 0, i5283 = 0, i5284 = 0, i5285 = 0, i5286 = 0, i5287 = 0, i5288 = 0, i5289 = 0;
+ int i5290 = 0, i5291 = 0, i5292 = 0, i5293 = 0, i5294 = 0, i5295 = 0, i5296 = 0, i5297 = 0, i5298 = 0, i5299 = 0;
+ int i5300 = 0, i5301 = 0, i5302 = 0, i5303 = 0, i5304 = 0, i5305 = 0, i5306 = 0, i5307 = 0, i5308 = 0, i5309 = 0;
+ int i5310 = 0, i5311 = 0, i5312 = 0, i5313 = 0, i5314 = 0, i5315 = 0, i5316 = 0, i5317 = 0, i5318 = 0, i5319 = 0;
+ int i5320 = 0, i5321 = 0, i5322 = 0, i5323 = 0, i5324 = 0, i5325 = 0, i5326 = 0, i5327 = 0, i5328 = 0, i5329 = 0;
+ int i5330 = 0, i5331 = 0, i5332 = 0, i5333 = 0, i5334 = 0, i5335 = 0, i5336 = 0, i5337 = 0, i5338 = 0, i5339 = 0;
+ int i5340 = 0, i5341 = 0, i5342 = 0, i5343 = 0, i5344 = 0, i5345 = 0, i5346 = 0, i5347 = 0, i5348 = 0, i5349 = 0;
+ int i5350 = 0, i5351 = 0, i5352 = 0, i5353 = 0, i5354 = 0, i5355 = 0, i5356 = 0, i5357 = 0, i5358 = 0, i5359 = 0;
+ int i5360 = 0, i5361 = 0, i5362 = 0, i5363 = 0, i5364 = 0, i5365 = 0, i5366 = 0, i5367 = 0, i5368 = 0, i5369 = 0;
+ int i5370 = 0, i5371 = 0, i5372 = 0, i5373 = 0, i5374 = 0, i5375 = 0, i5376 = 0, i5377 = 0, i5378 = 0, i5379 = 0;
+ int i5380 = 0, i5381 = 0, i5382 = 0, i5383 = 0, i5384 = 0, i5385 = 0, i5386 = 0, i5387 = 0, i5388 = 0, i5389 = 0;
+ int i5390 = 0, i5391 = 0, i5392 = 0, i5393 = 0, i5394 = 0, i5395 = 0, i5396 = 0, i5397 = 0, i5398 = 0, i5399 = 0;
+ int i5400 = 0, i5401 = 0, i5402 = 0, i5403 = 0, i5404 = 0, i5405 = 0, i5406 = 0, i5407 = 0, i5408 = 0, i5409 = 0;
+ int i5410 = 0, i5411 = 0, i5412 = 0, i5413 = 0, i5414 = 0, i5415 = 0, i5416 = 0, i5417 = 0, i5418 = 0, i5419 = 0;
+ int i5420 = 0, i5421 = 0, i5422 = 0, i5423 = 0, i5424 = 0, i5425 = 0, i5426 = 0, i5427 = 0, i5428 = 0, i5429 = 0;
+ int i5430 = 0, i5431 = 0, i5432 = 0, i5433 = 0, i5434 = 0, i5435 = 0, i5436 = 0, i5437 = 0, i5438 = 0, i5439 = 0;
+ int i5440 = 0, i5441 = 0, i5442 = 0, i5443 = 0, i5444 = 0, i5445 = 0, i5446 = 0, i5447 = 0, i5448 = 0, i5449 = 0;
+ int i5450 = 0, i5451 = 0, i5452 = 0, i5453 = 0, i5454 = 0, i5455 = 0, i5456 = 0, i5457 = 0, i5458 = 0, i5459 = 0;
+ int i5460 = 0, i5461 = 0, i5462 = 0, i5463 = 0, i5464 = 0, i5465 = 0, i5466 = 0, i5467 = 0, i5468 = 0, i5469 = 0;
+ int i5470 = 0, i5471 = 0, i5472 = 0, i5473 = 0, i5474 = 0, i5475 = 0, i5476 = 0, i5477 = 0, i5478 = 0, i5479 = 0;
+ int i5480 = 0, i5481 = 0, i5482 = 0, i5483 = 0, i5484 = 0, i5485 = 0, i5486 = 0, i5487 = 0, i5488 = 0, i5489 = 0;
+ int i5490 = 0, i5491 = 0, i5492 = 0, i5493 = 0, i5494 = 0, i5495 = 0, i5496 = 0, i5497 = 0, i5498 = 0, i5499 = 0;
+ int i5500 = 0, i5501 = 0, i5502 = 0, i5503 = 0, i5504 = 0, i5505 = 0, i5506 = 0, i5507 = 0, i5508 = 0, i5509 = 0;
+ int i5510 = 0, i5511 = 0, i5512 = 0, i5513 = 0, i5514 = 0, i5515 = 0, i5516 = 0, i5517 = 0, i5518 = 0, i5519 = 0;
+ int i5520 = 0, i5521 = 0, i5522 = 0, i5523 = 0, i5524 = 0, i5525 = 0, i5526 = 0, i5527 = 0, i5528 = 0, i5529 = 0;
+ int i5530 = 0, i5531 = 0, i5532 = 0, i5533 = 0, i5534 = 0, i5535 = 0, i5536 = 0, i5537 = 0, i5538 = 0, i5539 = 0;
+ int i5540 = 0, i5541 = 0, i5542 = 0, i5543 = 0, i5544 = 0, i5545 = 0, i5546 = 0, i5547 = 0, i5548 = 0, i5549 = 0;
+ int i5550 = 0, i5551 = 0, i5552 = 0, i5553 = 0, i5554 = 0, i5555 = 0, i5556 = 0, i5557 = 0, i5558 = 0, i5559 = 0;
+ int i5560 = 0, i5561 = 0, i5562 = 0, i5563 = 0, i5564 = 0, i5565 = 0, i5566 = 0, i5567 = 0, i5568 = 0, i5569 = 0;
+ int i5570 = 0, i5571 = 0, i5572 = 0, i5573 = 0, i5574 = 0, i5575 = 0, i5576 = 0, i5577 = 0, i5578 = 0, i5579 = 0;
+ int i5580 = 0, i5581 = 0, i5582 = 0, i5583 = 0, i5584 = 0, i5585 = 0, i5586 = 0, i5587 = 0, i5588 = 0, i5589 = 0;
+ int i5590 = 0, i5591 = 0, i5592 = 0, i5593 = 0, i5594 = 0, i5595 = 0, i5596 = 0, i5597 = 0, i5598 = 0, i5599 = 0;
+ int i5600 = 0, i5601 = 0, i5602 = 0, i5603 = 0, i5604 = 0, i5605 = 0, i5606 = 0, i5607 = 0, i5608 = 0, i5609 = 0;
+ int i5610 = 0, i5611 = 0, i5612 = 0, i5613 = 0, i5614 = 0, i5615 = 0, i5616 = 0, i5617 = 0, i5618 = 0, i5619 = 0;
+ int i5620 = 0, i5621 = 0, i5622 = 0, i5623 = 0, i5624 = 0, i5625 = 0, i5626 = 0, i5627 = 0, i5628 = 0, i5629 = 0;
+ int i5630 = 0, i5631 = 0, i5632 = 0, i5633 = 0, i5634 = 0, i5635 = 0, i5636 = 0, i5637 = 0, i5638 = 0, i5639 = 0;
+ int i5640 = 0, i5641 = 0, i5642 = 0, i5643 = 0, i5644 = 0, i5645 = 0, i5646 = 0, i5647 = 0, i5648 = 0, i5649 = 0;
+ int i5650 = 0, i5651 = 0, i5652 = 0, i5653 = 0, i5654 = 0, i5655 = 0, i5656 = 0, i5657 = 0, i5658 = 0, i5659 = 0;
+ int i5660 = 0, i5661 = 0, i5662 = 0, i5663 = 0, i5664 = 0, i5665 = 0, i5666 = 0, i5667 = 0, i5668 = 0, i5669 = 0;
+ int i5670 = 0, i5671 = 0, i5672 = 0, i5673 = 0, i5674 = 0, i5675 = 0, i5676 = 0, i5677 = 0, i5678 = 0, i5679 = 0;
+ int i5680 = 0, i5681 = 0, i5682 = 0, i5683 = 0, i5684 = 0, i5685 = 0, i5686 = 0, i5687 = 0, i5688 = 0, i5689 = 0;
+ int i5690 = 0, i5691 = 0, i5692 = 0, i5693 = 0, i5694 = 0, i5695 = 0, i5696 = 0, i5697 = 0, i5698 = 0, i5699 = 0;
+ int i5700 = 0, i5701 = 0, i5702 = 0, i5703 = 0, i5704 = 0, i5705 = 0, i5706 = 0, i5707 = 0, i5708 = 0, i5709 = 0;
+ int i5710 = 0, i5711 = 0, i5712 = 0, i5713 = 0, i5714 = 0, i5715 = 0, i5716 = 0, i5717 = 0, i5718 = 0, i5719 = 0;
+ int i5720 = 0, i5721 = 0, i5722 = 0, i5723 = 0, i5724 = 0, i5725 = 0, i5726 = 0, i5727 = 0, i5728 = 0, i5729 = 0;
+ int i5730 = 0, i5731 = 0, i5732 = 0, i5733 = 0, i5734 = 0, i5735 = 0, i5736 = 0, i5737 = 0, i5738 = 0, i5739 = 0;
+ int i5740 = 0, i5741 = 0, i5742 = 0, i5743 = 0, i5744 = 0, i5745 = 0, i5746 = 0, i5747 = 0, i5748 = 0, i5749 = 0;
+ int i5750 = 0, i5751 = 0, i5752 = 0, i5753 = 0, i5754 = 0, i5755 = 0, i5756 = 0, i5757 = 0, i5758 = 0, i5759 = 0;
+ int i5760 = 0, i5761 = 0, i5762 = 0, i5763 = 0, i5764 = 0, i5765 = 0, i5766 = 0, i5767 = 0, i5768 = 0, i5769 = 0;
+ int i5770 = 0, i5771 = 0, i5772 = 0, i5773 = 0, i5774 = 0, i5775 = 0, i5776 = 0, i5777 = 0, i5778 = 0, i5779 = 0;
+ int i5780 = 0, i5781 = 0, i5782 = 0, i5783 = 0, i5784 = 0, i5785 = 0, i5786 = 0, i5787 = 0, i5788 = 0, i5789 = 0;
+ int i5790 = 0, i5791 = 0, i5792 = 0, i5793 = 0, i5794 = 0, i5795 = 0, i5796 = 0, i5797 = 0, i5798 = 0, i5799 = 0;
+ int i5800 = 0, i5801 = 0, i5802 = 0, i5803 = 0, i5804 = 0, i5805 = 0, i5806 = 0, i5807 = 0, i5808 = 0, i5809 = 0;
+ int i5810 = 0, i5811 = 0, i5812 = 0, i5813 = 0, i5814 = 0, i5815 = 0, i5816 = 0, i5817 = 0, i5818 = 0, i5819 = 0;
+ int i5820 = 0, i5821 = 0, i5822 = 0, i5823 = 0, i5824 = 0, i5825 = 0, i5826 = 0, i5827 = 0, i5828 = 0, i5829 = 0;
+ int i5830 = 0, i5831 = 0, i5832 = 0, i5833 = 0, i5834 = 0, i5835 = 0, i5836 = 0, i5837 = 0, i5838 = 0, i5839 = 0;
+ int i5840 = 0, i5841 = 0, i5842 = 0, i5843 = 0, i5844 = 0, i5845 = 0, i5846 = 0, i5847 = 0, i5848 = 0, i5849 = 0;
+ int i5850 = 0, i5851 = 0, i5852 = 0, i5853 = 0, i5854 = 0, i5855 = 0, i5856 = 0, i5857 = 0, i5858 = 0, i5859 = 0;
+ int i5860 = 0, i5861 = 0, i5862 = 0, i5863 = 0, i5864 = 0, i5865 = 0, i5866 = 0, i5867 = 0, i5868 = 0, i5869 = 0;
+ int i5870 = 0, i5871 = 0, i5872 = 0, i5873 = 0, i5874 = 0, i5875 = 0, i5876 = 0, i5877 = 0, i5878 = 0, i5879 = 0;
+ int i5880 = 0, i5881 = 0, i5882 = 0, i5883 = 0, i5884 = 0, i5885 = 0, i5886 = 0, i5887 = 0, i5888 = 0, i5889 = 0;
+ int i5890 = 0, i5891 = 0, i5892 = 0, i5893 = 0, i5894 = 0, i5895 = 0, i5896 = 0, i5897 = 0, i5898 = 0, i5899 = 0;
+ int i5900 = 0, i5901 = 0, i5902 = 0, i5903 = 0, i5904 = 0, i5905 = 0, i5906 = 0, i5907 = 0, i5908 = 0, i5909 = 0;
+ int i5910 = 0, i5911 = 0, i5912 = 0, i5913 = 0, i5914 = 0, i5915 = 0, i5916 = 0, i5917 = 0, i5918 = 0, i5919 = 0;
+ int i5920 = 0, i5921 = 0, i5922 = 0, i5923 = 0, i5924 = 0, i5925 = 0, i5926 = 0, i5927 = 0, i5928 = 0, i5929 = 0;
+ int i5930 = 0, i5931 = 0, i5932 = 0, i5933 = 0, i5934 = 0, i5935 = 0, i5936 = 0, i5937 = 0, i5938 = 0, i5939 = 0;
+ int i5940 = 0, i5941 = 0, i5942 = 0, i5943 = 0, i5944 = 0, i5945 = 0, i5946 = 0, i5947 = 0, i5948 = 0, i5949 = 0;
+ int i5950 = 0, i5951 = 0, i5952 = 0, i5953 = 0, i5954 = 0, i5955 = 0, i5956 = 0, i5957 = 0, i5958 = 0, i5959 = 0;
+ int i5960 = 0, i5961 = 0, i5962 = 0, i5963 = 0, i5964 = 0, i5965 = 0, i5966 = 0, i5967 = 0, i5968 = 0, i5969 = 0;
+ int i5970 = 0, i5971 = 0, i5972 = 0, i5973 = 0, i5974 = 0, i5975 = 0, i5976 = 0, i5977 = 0, i5978 = 0, i5979 = 0;
+ int i5980 = 0, i5981 = 0, i5982 = 0, i5983 = 0, i5984 = 0, i5985 = 0, i5986 = 0, i5987 = 0, i5988 = 0, i5989 = 0;
+ int i5990 = 0, i5991 = 0, i5992 = 0, i5993 = 0, i5994 = 0, i5995 = 0, i5996 = 0, i5997 = 0, i5998 = 0, i5999 = 0;
+ int i6000 = 0, i6001 = 0, i6002 = 0, i6003 = 0, i6004 = 0, i6005 = 0, i6006 = 0, i6007 = 0, i6008 = 0, i6009 = 0;
+ int i6010 = 0, i6011 = 0, i6012 = 0, i6013 = 0, i6014 = 0, i6015 = 0, i6016 = 0, i6017 = 0, i6018 = 0, i6019 = 0;
+ int i6020 = 0, i6021 = 0, i6022 = 0, i6023 = 0, i6024 = 0, i6025 = 0, i6026 = 0, i6027 = 0, i6028 = 0, i6029 = 0;
+ int i6030 = 0, i6031 = 0, i6032 = 0, i6033 = 0, i6034 = 0, i6035 = 0, i6036 = 0, i6037 = 0, i6038 = 0, i6039 = 0;
+ int i6040 = 0, i6041 = 0, i6042 = 0, i6043 = 0, i6044 = 0, i6045 = 0, i6046 = 0, i6047 = 0, i6048 = 0, i6049 = 0;
+ int i6050 = 0, i6051 = 0, i6052 = 0, i6053 = 0, i6054 = 0, i6055 = 0, i6056 = 0, i6057 = 0, i6058 = 0, i6059 = 0;
+ int i6060 = 0, i6061 = 0, i6062 = 0, i6063 = 0, i6064 = 0, i6065 = 0, i6066 = 0, i6067 = 0, i6068 = 0, i6069 = 0;
+ int i6070 = 0, i6071 = 0, i6072 = 0, i6073 = 0, i6074 = 0, i6075 = 0, i6076 = 0, i6077 = 0, i6078 = 0, i6079 = 0;
+ int i6080 = 0, i6081 = 0, i6082 = 0, i6083 = 0, i6084 = 0, i6085 = 0, i6086 = 0, i6087 = 0, i6088 = 0, i6089 = 0;
+ int i6090 = 0, i6091 = 0, i6092 = 0, i6093 = 0, i6094 = 0, i6095 = 0, i6096 = 0, i6097 = 0, i6098 = 0, i6099 = 0;
+ int i6100 = 0, i6101 = 0, i6102 = 0, i6103 = 0, i6104 = 0, i6105 = 0, i6106 = 0, i6107 = 0, i6108 = 0, i6109 = 0;
+ int i6110 = 0, i6111 = 0, i6112 = 0, i6113 = 0, i6114 = 0, i6115 = 0, i6116 = 0, i6117 = 0, i6118 = 0, i6119 = 0;
+ int i6120 = 0, i6121 = 0, i6122 = 0, i6123 = 0, i6124 = 0, i6125 = 0, i6126 = 0, i6127 = 0, i6128 = 0, i6129 = 0;
+ int i6130 = 0, i6131 = 0, i6132 = 0, i6133 = 0, i6134 = 0, i6135 = 0, i6136 = 0, i6137 = 0, i6138 = 0, i6139 = 0;
+ int i6140 = 0, i6141 = 0, i6142 = 0, i6143 = 0, i6144 = 0, i6145 = 0, i6146 = 0, i6147 = 0, i6148 = 0, i6149 = 0;
+ int i6150 = 0, i6151 = 0, i6152 = 0, i6153 = 0, i6154 = 0, i6155 = 0, i6156 = 0, i6157 = 0, i6158 = 0, i6159 = 0;
+ int i6160 = 0, i6161 = 0, i6162 = 0, i6163 = 0, i6164 = 0, i6165 = 0, i6166 = 0, i6167 = 0, i6168 = 0, i6169 = 0;
+ int i6170 = 0, i6171 = 0, i6172 = 0, i6173 = 0, i6174 = 0, i6175 = 0, i6176 = 0, i6177 = 0, i6178 = 0, i6179 = 0;
+ int i6180 = 0, i6181 = 0, i6182 = 0, i6183 = 0, i6184 = 0, i6185 = 0, i6186 = 0, i6187 = 0, i6188 = 0, i6189 = 0;
+ int i6190 = 0, i6191 = 0, i6192 = 0, i6193 = 0, i6194 = 0, i6195 = 0, i6196 = 0, i6197 = 0, i6198 = 0, i6199 = 0;
+ int i6200 = 0, i6201 = 0, i6202 = 0, i6203 = 0, i6204 = 0, i6205 = 0, i6206 = 0, i6207 = 0, i6208 = 0, i6209 = 0;
+ int i6210 = 0, i6211 = 0, i6212 = 0, i6213 = 0, i6214 = 0, i6215 = 0, i6216 = 0, i6217 = 0, i6218 = 0, i6219 = 0;
+ int i6220 = 0, i6221 = 0, i6222 = 0, i6223 = 0, i6224 = 0, i6225 = 0, i6226 = 0, i6227 = 0, i6228 = 0, i6229 = 0;
+ int i6230 = 0, i6231 = 0, i6232 = 0, i6233 = 0, i6234 = 0, i6235 = 0, i6236 = 0, i6237 = 0, i6238 = 0, i6239 = 0;
+ int i6240 = 0, i6241 = 0, i6242 = 0, i6243 = 0, i6244 = 0, i6245 = 0, i6246 = 0, i6247 = 0, i6248 = 0, i6249 = 0;
+ int i6250 = 0, i6251 = 0, i6252 = 0, i6253 = 0, i6254 = 0, i6255 = 0, i6256 = 0, i6257 = 0, i6258 = 0, i6259 = 0;
+ int i6260 = 0, i6261 = 0, i6262 = 0, i6263 = 0, i6264 = 0, i6265 = 0, i6266 = 0, i6267 = 0, i6268 = 0, i6269 = 0;
+ int i6270 = 0, i6271 = 0, i6272 = 0, i6273 = 0, i6274 = 0, i6275 = 0, i6276 = 0, i6277 = 0, i6278 = 0, i6279 = 0;
+ int i6280 = 0, i6281 = 0, i6282 = 0, i6283 = 0, i6284 = 0, i6285 = 0, i6286 = 0, i6287 = 0, i6288 = 0, i6289 = 0;
+ int i6290 = 0, i6291 = 0, i6292 = 0, i6293 = 0, i6294 = 0, i6295 = 0, i6296 = 0, i6297 = 0, i6298 = 0, i6299 = 0;
+ int i6300 = 0, i6301 = 0, i6302 = 0, i6303 = 0, i6304 = 0, i6305 = 0, i6306 = 0, i6307 = 0, i6308 = 0, i6309 = 0;
+ int i6310 = 0, i6311 = 0, i6312 = 0, i6313 = 0, i6314 = 0, i6315 = 0, i6316 = 0, i6317 = 0, i6318 = 0, i6319 = 0;
+ int i6320 = 0, i6321 = 0, i6322 = 0, i6323 = 0, i6324 = 0, i6325 = 0, i6326 = 0, i6327 = 0, i6328 = 0, i6329 = 0;
+ int i6330 = 0, i6331 = 0, i6332 = 0, i6333 = 0, i6334 = 0, i6335 = 0, i6336 = 0, i6337 = 0, i6338 = 0, i6339 = 0;
+ int i6340 = 0, i6341 = 0, i6342 = 0, i6343 = 0, i6344 = 0, i6345 = 0, i6346 = 0, i6347 = 0, i6348 = 0, i6349 = 0;
+ int i6350 = 0, i6351 = 0, i6352 = 0, i6353 = 0, i6354 = 0, i6355 = 0, i6356 = 0, i6357 = 0, i6358 = 0, i6359 = 0;
+ int i6360 = 0, i6361 = 0, i6362 = 0, i6363 = 0, i6364 = 0, i6365 = 0, i6366 = 0, i6367 = 0, i6368 = 0, i6369 = 0;
+ int i6370 = 0, i6371 = 0, i6372 = 0, i6373 = 0, i6374 = 0, i6375 = 0, i6376 = 0, i6377 = 0, i6378 = 0, i6379 = 0;
+ int i6380 = 0, i6381 = 0, i6382 = 0, i6383 = 0, i6384 = 0, i6385 = 0, i6386 = 0, i6387 = 0, i6388 = 0, i6389 = 0;
+ int i6390 = 0, i6391 = 0, i6392 = 0, i6393 = 0, i6394 = 0, i6395 = 0, i6396 = 0, i6397 = 0, i6398 = 0, i6399 = 0;
+ int i6400 = 0, i6401 = 0, i6402 = 0, i6403 = 0, i6404 = 0, i6405 = 0, i6406 = 0, i6407 = 0, i6408 = 0, i6409 = 0;
+ int i6410 = 0, i6411 = 0, i6412 = 0, i6413 = 0, i6414 = 0, i6415 = 0, i6416 = 0, i6417 = 0, i6418 = 0, i6419 = 0;
+ int i6420 = 0, i6421 = 0, i6422 = 0, i6423 = 0, i6424 = 0, i6425 = 0, i6426 = 0, i6427 = 0, i6428 = 0, i6429 = 0;
+ int i6430 = 0, i6431 = 0, i6432 = 0, i6433 = 0, i6434 = 0, i6435 = 0, i6436 = 0, i6437 = 0, i6438 = 0, i6439 = 0;
+ int i6440 = 0, i6441 = 0, i6442 = 0, i6443 = 0, i6444 = 0, i6445 = 0, i6446 = 0, i6447 = 0, i6448 = 0, i6449 = 0;
+ int i6450 = 0, i6451 = 0, i6452 = 0, i6453 = 0, i6454 = 0, i6455 = 0, i6456 = 0, i6457 = 0, i6458 = 0, i6459 = 0;
+ int i6460 = 0, i6461 = 0, i6462 = 0, i6463 = 0, i6464 = 0, i6465 = 0, i6466 = 0, i6467 = 0, i6468 = 0, i6469 = 0;
+ int i6470 = 0, i6471 = 0, i6472 = 0, i6473 = 0, i6474 = 0, i6475 = 0, i6476 = 0, i6477 = 0, i6478 = 0, i6479 = 0;
+ int i6480 = 0, i6481 = 0, i6482 = 0, i6483 = 0, i6484 = 0, i6485 = 0, i6486 = 0, i6487 = 0, i6488 = 0, i6489 = 0;
+ int i6490 = 0, i6491 = 0, i6492 = 0, i6493 = 0, i6494 = 0, i6495 = 0, i6496 = 0, i6497 = 0, i6498 = 0, i6499 = 0;
+ int i6500 = 0, i6501 = 0, i6502 = 0, i6503 = 0, i6504 = 0, i6505 = 0, i6506 = 0, i6507 = 0, i6508 = 0, i6509 = 0;
+ int i6510 = 0, i6511 = 0, i6512 = 0, i6513 = 0, i6514 = 0, i6515 = 0, i6516 = 0, i6517 = 0, i6518 = 0, i6519 = 0;
+ int i6520 = 0, i6521 = 0, i6522 = 0, i6523 = 0, i6524 = 0, i6525 = 0, i6526 = 0, i6527 = 0, i6528 = 0, i6529 = 0;
+ int i6530 = 0, i6531 = 0, i6532 = 0, i6533 = 0, i6534 = 0, i6535 = 0, i6536 = 0, i6537 = 0, i6538 = 0, i6539 = 0;
+ int i6540 = 0, i6541 = 0, i6542 = 0, i6543 = 0, i6544 = 0, i6545 = 0, i6546 = 0, i6547 = 0, i6548 = 0, i6549 = 0;
+ int i6550 = 0, i6551 = 0, i6552 = 0, i6553 = 0, i6554 = 0, i6555 = 0, i6556 = 0, i6557 = 0, i6558 = 0, i6559 = 0;
+ int i6560 = 0, i6561 = 0, i6562 = 0, i6563 = 0, i6564 = 0, i6565 = 0, i6566 = 0, i6567 = 0, i6568 = 0, i6569 = 0;
+ int i6570 = 0, i6571 = 0, i6572 = 0, i6573 = 0, i6574 = 0, i6575 = 0, i6576 = 0, i6577 = 0, i6578 = 0, i6579 = 0;
+ int i6580 = 0, i6581 = 0, i6582 = 0, i6583 = 0, i6584 = 0, i6585 = 0, i6586 = 0, i6587 = 0, i6588 = 0, i6589 = 0;
+ int i6590 = 0, i6591 = 0, i6592 = 0, i6593 = 0, i6594 = 0, i6595 = 0, i6596 = 0, i6597 = 0, i6598 = 0, i6599 = 0;
+ int i6600 = 0, i6601 = 0, i6602 = 0, i6603 = 0, i6604 = 0, i6605 = 0, i6606 = 0, i6607 = 0, i6608 = 0, i6609 = 0;
+ int i6610 = 0, i6611 = 0, i6612 = 0, i6613 = 0, i6614 = 0, i6615 = 0, i6616 = 0, i6617 = 0, i6618 = 0, i6619 = 0;
+ int i6620 = 0, i6621 = 0, i6622 = 0, i6623 = 0, i6624 = 0, i6625 = 0, i6626 = 0, i6627 = 0, i6628 = 0, i6629 = 0;
+ int i6630 = 0, i6631 = 0, i6632 = 0, i6633 = 0, i6634 = 0, i6635 = 0, i6636 = 0, i6637 = 0, i6638 = 0, i6639 = 0;
+ int i6640 = 0, i6641 = 0, i6642 = 0, i6643 = 0, i6644 = 0, i6645 = 0, i6646 = 0, i6647 = 0, i6648 = 0, i6649 = 0;
+ int i6650 = 0, i6651 = 0, i6652 = 0, i6653 = 0, i6654 = 0, i6655 = 0, i6656 = 0, i6657 = 0, i6658 = 0, i6659 = 0;
+ int i6660 = 0, i6661 = 0, i6662 = 0, i6663 = 0, i6664 = 0, i6665 = 0, i6666 = 0, i6667 = 0, i6668 = 0, i6669 = 0;
+ int i6670 = 0, i6671 = 0, i6672 = 0, i6673 = 0, i6674 = 0, i6675 = 0, i6676 = 0, i6677 = 0, i6678 = 0, i6679 = 0;
+ int i6680 = 0, i6681 = 0, i6682 = 0, i6683 = 0, i6684 = 0, i6685 = 0, i6686 = 0, i6687 = 0, i6688 = 0, i6689 = 0;
+ int i6690 = 0, i6691 = 0, i6692 = 0, i6693 = 0, i6694 = 0, i6695 = 0, i6696 = 0, i6697 = 0, i6698 = 0, i6699 = 0;
+ int i6700 = 0, i6701 = 0, i6702 = 0, i6703 = 0, i6704 = 0, i6705 = 0, i6706 = 0, i6707 = 0, i6708 = 0, i6709 = 0;
+ int i6710 = 0, i6711 = 0, i6712 = 0, i6713 = 0, i6714 = 0, i6715 = 0, i6716 = 0, i6717 = 0, i6718 = 0, i6719 = 0;
+ int i6720 = 0, i6721 = 0, i6722 = 0, i6723 = 0, i6724 = 0, i6725 = 0, i6726 = 0, i6727 = 0, i6728 = 0, i6729 = 0;
+ int i6730 = 0, i6731 = 0, i6732 = 0, i6733 = 0, i6734 = 0, i6735 = 0, i6736 = 0, i6737 = 0, i6738 = 0, i6739 = 0;
+ int i6740 = 0, i6741 = 0, i6742 = 0, i6743 = 0, i6744 = 0, i6745 = 0, i6746 = 0, i6747 = 0, i6748 = 0, i6749 = 0;
+ int i6750 = 0, i6751 = 0, i6752 = 0, i6753 = 0, i6754 = 0, i6755 = 0, i6756 = 0, i6757 = 0, i6758 = 0, i6759 = 0;
+ int i6760 = 0, i6761 = 0, i6762 = 0, i6763 = 0, i6764 = 0, i6765 = 0, i6766 = 0, i6767 = 0, i6768 = 0, i6769 = 0;
+ int i6770 = 0, i6771 = 0, i6772 = 0, i6773 = 0, i6774 = 0, i6775 = 0, i6776 = 0, i6777 = 0, i6778 = 0, i6779 = 0;
+ int i6780 = 0, i6781 = 0, i6782 = 0, i6783 = 0, i6784 = 0, i6785 = 0, i6786 = 0, i6787 = 0, i6788 = 0, i6789 = 0;
+ int i6790 = 0, i6791 = 0, i6792 = 0, i6793 = 0, i6794 = 0, i6795 = 0, i6796 = 0, i6797 = 0, i6798 = 0, i6799 = 0;
+ int i6800 = 0, i6801 = 0, i6802 = 0, i6803 = 0, i6804 = 0, i6805 = 0, i6806 = 0, i6807 = 0, i6808 = 0, i6809 = 0;
+ int i6810 = 0, i6811 = 0, i6812 = 0, i6813 = 0, i6814 = 0, i6815 = 0, i6816 = 0, i6817 = 0, i6818 = 0, i6819 = 0;
+ int i6820 = 0, i6821 = 0, i6822 = 0, i6823 = 0, i6824 = 0, i6825 = 0, i6826 = 0, i6827 = 0, i6828 = 0, i6829 = 0;
+ int i6830 = 0, i6831 = 0, i6832 = 0, i6833 = 0, i6834 = 0, i6835 = 0, i6836 = 0, i6837 = 0, i6838 = 0, i6839 = 0;
+ int i6840 = 0, i6841 = 0, i6842 = 0, i6843 = 0, i6844 = 0, i6845 = 0, i6846 = 0, i6847 = 0, i6848 = 0, i6849 = 0;
+ int i6850 = 0, i6851 = 0, i6852 = 0, i6853 = 0, i6854 = 0, i6855 = 0, i6856 = 0, i6857 = 0, i6858 = 0, i6859 = 0;
+ int i6860 = 0, i6861 = 0, i6862 = 0, i6863 = 0, i6864 = 0, i6865 = 0, i6866 = 0, i6867 = 0, i6868 = 0, i6869 = 0;
+ int i6870 = 0, i6871 = 0, i6872 = 0, i6873 = 0, i6874 = 0, i6875 = 0, i6876 = 0, i6877 = 0, i6878 = 0, i6879 = 0;
+ int i6880 = 0, i6881 = 0, i6882 = 0, i6883 = 0, i6884 = 0, i6885 = 0, i6886 = 0, i6887 = 0, i6888 = 0, i6889 = 0;
+ int i6890 = 0, i6891 = 0, i6892 = 0, i6893 = 0, i6894 = 0, i6895 = 0, i6896 = 0, i6897 = 0, i6898 = 0, i6899 = 0;
+ int i6900 = 0, i6901 = 0, i6902 = 0, i6903 = 0, i6904 = 0, i6905 = 0, i6906 = 0, i6907 = 0, i6908 = 0, i6909 = 0;
+ int i6910 = 0, i6911 = 0, i6912 = 0, i6913 = 0, i6914 = 0, i6915 = 0, i6916 = 0, i6917 = 0, i6918 = 0, i6919 = 0;
+ int i6920 = 0, i6921 = 0, i6922 = 0, i6923 = 0, i6924 = 0, i6925 = 0, i6926 = 0, i6927 = 0, i6928 = 0, i6929 = 0;
+ int i6930 = 0, i6931 = 0, i6932 = 0, i6933 = 0, i6934 = 0, i6935 = 0, i6936 = 0, i6937 = 0, i6938 = 0, i6939 = 0;
+ int i6940 = 0, i6941 = 0, i6942 = 0, i6943 = 0, i6944 = 0, i6945 = 0, i6946 = 0, i6947 = 0, i6948 = 0, i6949 = 0;
+ int i6950 = 0, i6951 = 0, i6952 = 0, i6953 = 0, i6954 = 0, i6955 = 0, i6956 = 0, i6957 = 0, i6958 = 0, i6959 = 0;
+ int i6960 = 0, i6961 = 0, i6962 = 0, i6963 = 0, i6964 = 0, i6965 = 0, i6966 = 0, i6967 = 0, i6968 = 0, i6969 = 0;
+ int i6970 = 0, i6971 = 0, i6972 = 0, i6973 = 0, i6974 = 0, i6975 = 0, i6976 = 0, i6977 = 0, i6978 = 0, i6979 = 0;
+ int i6980 = 0, i6981 = 0, i6982 = 0, i6983 = 0, i6984 = 0, i6985 = 0, i6986 = 0, i6987 = 0, i6988 = 0, i6989 = 0;
+ int i6990 = 0, i6991 = 0, i6992 = 0, i6993 = 0, i6994 = 0, i6995 = 0, i6996 = 0, i6997 = 0, i6998 = 0, i6999 = 0;
+ int i7000 = 0, i7001 = 0, i7002 = 0, i7003 = 0, i7004 = 0, i7005 = 0, i7006 = 0, i7007 = 0, i7008 = 0, i7009 = 0;
+ int i7010 = 0, i7011 = 0, i7012 = 0, i7013 = 0, i7014 = 0, i7015 = 0, i7016 = 0, i7017 = 0, i7018 = 0, i7019 = 0;
+ int i7020 = 0, i7021 = 0, i7022 = 0, i7023 = 0, i7024 = 0, i7025 = 0, i7026 = 0, i7027 = 0, i7028 = 0, i7029 = 0;
+ int i7030 = 0, i7031 = 0, i7032 = 0, i7033 = 0, i7034 = 0, i7035 = 0, i7036 = 0, i7037 = 0, i7038 = 0, i7039 = 0;
+ int i7040 = 0, i7041 = 0, i7042 = 0, i7043 = 0, i7044 = 0, i7045 = 0, i7046 = 0, i7047 = 0, i7048 = 0, i7049 = 0;
+ int i7050 = 0, i7051 = 0, i7052 = 0, i7053 = 0, i7054 = 0, i7055 = 0, i7056 = 0, i7057 = 0, i7058 = 0, i7059 = 0;
+ int i7060 = 0, i7061 = 0, i7062 = 0, i7063 = 0, i7064 = 0, i7065 = 0, i7066 = 0, i7067 = 0, i7068 = 0, i7069 = 0;
+ int i7070 = 0, i7071 = 0, i7072 = 0, i7073 = 0, i7074 = 0, i7075 = 0, i7076 = 0, i7077 = 0, i7078 = 0, i7079 = 0;
+ int i7080 = 0, i7081 = 0, i7082 = 0, i7083 = 0, i7084 = 0, i7085 = 0, i7086 = 0, i7087 = 0, i7088 = 0, i7089 = 0;
+ int i7090 = 0, i7091 = 0, i7092 = 0, i7093 = 0, i7094 = 0, i7095 = 0, i7096 = 0, i7097 = 0, i7098 = 0, i7099 = 0;
+ int i7100 = 0, i7101 = 0, i7102 = 0, i7103 = 0, i7104 = 0, i7105 = 0, i7106 = 0, i7107 = 0, i7108 = 0, i7109 = 0;
+ int i7110 = 0, i7111 = 0, i7112 = 0, i7113 = 0, i7114 = 0, i7115 = 0, i7116 = 0, i7117 = 0, i7118 = 0, i7119 = 0;
+ int i7120 = 0, i7121 = 0, i7122 = 0, i7123 = 0, i7124 = 0, i7125 = 0, i7126 = 0, i7127 = 0, i7128 = 0, i7129 = 0;
+ int i7130 = 0, i7131 = 0, i7132 = 0, i7133 = 0, i7134 = 0, i7135 = 0, i7136 = 0, i7137 = 0, i7138 = 0, i7139 = 0;
+ int i7140 = 0, i7141 = 0, i7142 = 0, i7143 = 0, i7144 = 0, i7145 = 0, i7146 = 0, i7147 = 0, i7148 = 0, i7149 = 0;
+ int i7150 = 0, i7151 = 0, i7152 = 0, i7153 = 0, i7154 = 0, i7155 = 0, i7156 = 0, i7157 = 0, i7158 = 0, i7159 = 0;
+ int i7160 = 0, i7161 = 0, i7162 = 0, i7163 = 0, i7164 = 0, i7165 = 0, i7166 = 0, i7167 = 0, i7168 = 0, i7169 = 0;
+ int i7170 = 0, i7171 = 0, i7172 = 0, i7173 = 0, i7174 = 0, i7175 = 0, i7176 = 0, i7177 = 0, i7178 = 0, i7179 = 0;
+ int i7180 = 0, i7181 = 0, i7182 = 0, i7183 = 0, i7184 = 0, i7185 = 0, i7186 = 0, i7187 = 0, i7188 = 0, i7189 = 0;
+ int i7190 = 0, i7191 = 0, i7192 = 0, i7193 = 0, i7194 = 0, i7195 = 0, i7196 = 0, i7197 = 0, i7198 = 0, i7199 = 0;
+ int i7200 = 0, i7201 = 0, i7202 = 0, i7203 = 0, i7204 = 0, i7205 = 0, i7206 = 0, i7207 = 0, i7208 = 0, i7209 = 0;
+ int i7210 = 0, i7211 = 0, i7212 = 0, i7213 = 0, i7214 = 0, i7215 = 0, i7216 = 0, i7217 = 0, i7218 = 0, i7219 = 0;
+ int i7220 = 0, i7221 = 0, i7222 = 0, i7223 = 0, i7224 = 0, i7225 = 0, i7226 = 0, i7227 = 0, i7228 = 0, i7229 = 0;
+ int i7230 = 0, i7231 = 0, i7232 = 0, i7233 = 0, i7234 = 0, i7235 = 0, i7236 = 0, i7237 = 0, i7238 = 0, i7239 = 0;
+ int i7240 = 0, i7241 = 0, i7242 = 0, i7243 = 0, i7244 = 0, i7245 = 0, i7246 = 0, i7247 = 0, i7248 = 0, i7249 = 0;
+ int i7250 = 0, i7251 = 0, i7252 = 0, i7253 = 0, i7254 = 0, i7255 = 0, i7256 = 0, i7257 = 0, i7258 = 0, i7259 = 0;
+ int i7260 = 0, i7261 = 0, i7262 = 0, i7263 = 0, i7264 = 0, i7265 = 0, i7266 = 0, i7267 = 0, i7268 = 0, i7269 = 0;
+ int i7270 = 0, i7271 = 0, i7272 = 0, i7273 = 0, i7274 = 0, i7275 = 0, i7276 = 0, i7277 = 0, i7278 = 0, i7279 = 0;
+ int i7280 = 0, i7281 = 0, i7282 = 0, i7283 = 0, i7284 = 0, i7285 = 0, i7286 = 0, i7287 = 0, i7288 = 0, i7289 = 0;
+ int i7290 = 0, i7291 = 0, i7292 = 0, i7293 = 0, i7294 = 0, i7295 = 0, i7296 = 0, i7297 = 0, i7298 = 0, i7299 = 0;
+ int i7300 = 0, i7301 = 0, i7302 = 0, i7303 = 0, i7304 = 0, i7305 = 0, i7306 = 0, i7307 = 0, i7308 = 0, i7309 = 0;
+ int i7310 = 0, i7311 = 0, i7312 = 0, i7313 = 0, i7314 = 0, i7315 = 0, i7316 = 0, i7317 = 0, i7318 = 0, i7319 = 0;
+ int i7320 = 0, i7321 = 0, i7322 = 0, i7323 = 0, i7324 = 0, i7325 = 0, i7326 = 0, i7327 = 0, i7328 = 0, i7329 = 0;
+ int i7330 = 0, i7331 = 0, i7332 = 0, i7333 = 0, i7334 = 0, i7335 = 0, i7336 = 0, i7337 = 0, i7338 = 0, i7339 = 0;
+ int i7340 = 0, i7341 = 0, i7342 = 0, i7343 = 0, i7344 = 0, i7345 = 0, i7346 = 0, i7347 = 0, i7348 = 0, i7349 = 0;
+ int i7350 = 0, i7351 = 0, i7352 = 0, i7353 = 0, i7354 = 0, i7355 = 0, i7356 = 0, i7357 = 0, i7358 = 0, i7359 = 0;
+ int i7360 = 0, i7361 = 0, i7362 = 0, i7363 = 0, i7364 = 0, i7365 = 0, i7366 = 0, i7367 = 0, i7368 = 0, i7369 = 0;
+ int i7370 = 0, i7371 = 0, i7372 = 0, i7373 = 0, i7374 = 0, i7375 = 0, i7376 = 0, i7377 = 0, i7378 = 0, i7379 = 0;
+ int i7380 = 0, i7381 = 0, i7382 = 0, i7383 = 0, i7384 = 0, i7385 = 0, i7386 = 0, i7387 = 0, i7388 = 0, i7389 = 0;
+ int i7390 = 0, i7391 = 0, i7392 = 0, i7393 = 0, i7394 = 0, i7395 = 0, i7396 = 0, i7397 = 0, i7398 = 0, i7399 = 0;
+ int i7400 = 0, i7401 = 0, i7402 = 0, i7403 = 0, i7404 = 0, i7405 = 0, i7406 = 0, i7407 = 0, i7408 = 0, i7409 = 0;
+ int i7410 = 0, i7411 = 0, i7412 = 0, i7413 = 0, i7414 = 0, i7415 = 0, i7416 = 0, i7417 = 0, i7418 = 0, i7419 = 0;
+ int i7420 = 0, i7421 = 0, i7422 = 0, i7423 = 0, i7424 = 0, i7425 = 0, i7426 = 0, i7427 = 0, i7428 = 0, i7429 = 0;
+ int i7430 = 0, i7431 = 0, i7432 = 0, i7433 = 0, i7434 = 0, i7435 = 0, i7436 = 0, i7437 = 0, i7438 = 0, i7439 = 0;
+ int i7440 = 0, i7441 = 0, i7442 = 0, i7443 = 0, i7444 = 0, i7445 = 0, i7446 = 0, i7447 = 0, i7448 = 0, i7449 = 0;
+ int i7450 = 0, i7451 = 0, i7452 = 0, i7453 = 0, i7454 = 0, i7455 = 0, i7456 = 0, i7457 = 0, i7458 = 0, i7459 = 0;
+ int i7460 = 0, i7461 = 0, i7462 = 0, i7463 = 0, i7464 = 0, i7465 = 0, i7466 = 0, i7467 = 0, i7468 = 0, i7469 = 0;
+ int i7470 = 0, i7471 = 0, i7472 = 0, i7473 = 0, i7474 = 0, i7475 = 0, i7476 = 0, i7477 = 0, i7478 = 0, i7479 = 0;
+ int i7480 = 0, i7481 = 0, i7482 = 0, i7483 = 0, i7484 = 0, i7485 = 0, i7486 = 0, i7487 = 0, i7488 = 0, i7489 = 0;
+ int i7490 = 0, i7491 = 0, i7492 = 0, i7493 = 0, i7494 = 0, i7495 = 0, i7496 = 0, i7497 = 0, i7498 = 0, i7499 = 0;
+ int i7500 = 0, i7501 = 0, i7502 = 0, i7503 = 0, i7504 = 0, i7505 = 0, i7506 = 0, i7507 = 0, i7508 = 0, i7509 = 0;
+ int i7510 = 0, i7511 = 0, i7512 = 0, i7513 = 0, i7514 = 0, i7515 = 0, i7516 = 0, i7517 = 0, i7518 = 0, i7519 = 0;
+ int i7520 = 0, i7521 = 0, i7522 = 0, i7523 = 0, i7524 = 0, i7525 = 0, i7526 = 0, i7527 = 0, i7528 = 0, i7529 = 0;
+ int i7530 = 0, i7531 = 0, i7532 = 0, i7533 = 0, i7534 = 0, i7535 = 0, i7536 = 0, i7537 = 0, i7538 = 0, i7539 = 0;
+ int i7540 = 0, i7541 = 0, i7542 = 0, i7543 = 0, i7544 = 0, i7545 = 0, i7546 = 0, i7547 = 0, i7548 = 0, i7549 = 0;
+ int i7550 = 0, i7551 = 0, i7552 = 0, i7553 = 0, i7554 = 0, i7555 = 0, i7556 = 0, i7557 = 0, i7558 = 0, i7559 = 0;
+ int i7560 = 0, i7561 = 0, i7562 = 0, i7563 = 0, i7564 = 0, i7565 = 0, i7566 = 0, i7567 = 0, i7568 = 0, i7569 = 0;
+ int i7570 = 0, i7571 = 0, i7572 = 0, i7573 = 0, i7574 = 0, i7575 = 0, i7576 = 0, i7577 = 0, i7578 = 0, i7579 = 0;
+ int i7580 = 0, i7581 = 0, i7582 = 0, i7583 = 0, i7584 = 0, i7585 = 0, i7586 = 0, i7587 = 0, i7588 = 0, i7589 = 0;
+ int i7590 = 0, i7591 = 0, i7592 = 0, i7593 = 0, i7594 = 0, i7595 = 0, i7596 = 0, i7597 = 0, i7598 = 0, i7599 = 0;
+ int i7600 = 0, i7601 = 0, i7602 = 0, i7603 = 0, i7604 = 0, i7605 = 0, i7606 = 0, i7607 = 0, i7608 = 0, i7609 = 0;
+ int i7610 = 0, i7611 = 0, i7612 = 0, i7613 = 0, i7614 = 0, i7615 = 0, i7616 = 0, i7617 = 0, i7618 = 0, i7619 = 0;
+ int i7620 = 0, i7621 = 0, i7622 = 0, i7623 = 0, i7624 = 0, i7625 = 0, i7626 = 0, i7627 = 0, i7628 = 0, i7629 = 0;
+ int i7630 = 0, i7631 = 0, i7632 = 0, i7633 = 0, i7634 = 0, i7635 = 0, i7636 = 0, i7637 = 0, i7638 = 0, i7639 = 0;
+ int i7640 = 0, i7641 = 0, i7642 = 0, i7643 = 0, i7644 = 0, i7645 = 0, i7646 = 0, i7647 = 0, i7648 = 0, i7649 = 0;
+ int i7650 = 0, i7651 = 0, i7652 = 0, i7653 = 0, i7654 = 0, i7655 = 0, i7656 = 0, i7657 = 0, i7658 = 0, i7659 = 0;
+ int i7660 = 0, i7661 = 0, i7662 = 0, i7663 = 0, i7664 = 0, i7665 = 0, i7666 = 0, i7667 = 0, i7668 = 0, i7669 = 0;
+ int i7670 = 0, i7671 = 0, i7672 = 0, i7673 = 0, i7674 = 0, i7675 = 0, i7676 = 0, i7677 = 0, i7678 = 0, i7679 = 0;
+ int i7680 = 0, i7681 = 0, i7682 = 0, i7683 = 0, i7684 = 0, i7685 = 0, i7686 = 0, i7687 = 0, i7688 = 0, i7689 = 0;
+ int i7690 = 0, i7691 = 0, i7692 = 0, i7693 = 0, i7694 = 0, i7695 = 0, i7696 = 0, i7697 = 0, i7698 = 0, i7699 = 0;
+ int i7700 = 0, i7701 = 0, i7702 = 0, i7703 = 0, i7704 = 0, i7705 = 0, i7706 = 0, i7707 = 0, i7708 = 0, i7709 = 0;
+ int i7710 = 0, i7711 = 0, i7712 = 0, i7713 = 0, i7714 = 0, i7715 = 0, i7716 = 0, i7717 = 0, i7718 = 0, i7719 = 0;
+ int i7720 = 0, i7721 = 0, i7722 = 0, i7723 = 0, i7724 = 0, i7725 = 0, i7726 = 0, i7727 = 0, i7728 = 0, i7729 = 0;
+ int i7730 = 0, i7731 = 0, i7732 = 0, i7733 = 0, i7734 = 0, i7735 = 0, i7736 = 0, i7737 = 0, i7738 = 0, i7739 = 0;
+ int i7740 = 0, i7741 = 0, i7742 = 0, i7743 = 0, i7744 = 0, i7745 = 0, i7746 = 0, i7747 = 0, i7748 = 0, i7749 = 0;
+ int i7750 = 0, i7751 = 0, i7752 = 0, i7753 = 0, i7754 = 0, i7755 = 0, i7756 = 0, i7757 = 0, i7758 = 0, i7759 = 0;
+ int i7760 = 0, i7761 = 0, i7762 = 0, i7763 = 0, i7764 = 0, i7765 = 0, i7766 = 0, i7767 = 0, i7768 = 0, i7769 = 0;
+ int i7770 = 0, i7771 = 0, i7772 = 0, i7773 = 0, i7774 = 0, i7775 = 0, i7776 = 0, i7777 = 0, i7778 = 0, i7779 = 0;
+ int i7780 = 0, i7781 = 0, i7782 = 0, i7783 = 0, i7784 = 0, i7785 = 0, i7786 = 0, i7787 = 0, i7788 = 0, i7789 = 0;
+ int i7790 = 0, i7791 = 0, i7792 = 0, i7793 = 0, i7794 = 0, i7795 = 0, i7796 = 0, i7797 = 0, i7798 = 0, i7799 = 0;
+ int i7800 = 0, i7801 = 0, i7802 = 0, i7803 = 0, i7804 = 0, i7805 = 0, i7806 = 0, i7807 = 0, i7808 = 0, i7809 = 0;
+ int i7810 = 0, i7811 = 0, i7812 = 0, i7813 = 0, i7814 = 0, i7815 = 0, i7816 = 0, i7817 = 0, i7818 = 0, i7819 = 0;
+ int i7820 = 0, i7821 = 0, i7822 = 0, i7823 = 0, i7824 = 0, i7825 = 0, i7826 = 0, i7827 = 0, i7828 = 0, i7829 = 0;
+ int i7830 = 0, i7831 = 0, i7832 = 0, i7833 = 0, i7834 = 0, i7835 = 0, i7836 = 0, i7837 = 0, i7838 = 0, i7839 = 0;
+ int i7840 = 0, i7841 = 0, i7842 = 0, i7843 = 0, i7844 = 0, i7845 = 0, i7846 = 0, i7847 = 0, i7848 = 0, i7849 = 0;
+ int i7850 = 0, i7851 = 0, i7852 = 0, i7853 = 0, i7854 = 0, i7855 = 0, i7856 = 0, i7857 = 0, i7858 = 0, i7859 = 0;
+ int i7860 = 0, i7861 = 0, i7862 = 0, i7863 = 0, i7864 = 0, i7865 = 0, i7866 = 0, i7867 = 0, i7868 = 0, i7869 = 0;
+ int i7870 = 0, i7871 = 0, i7872 = 0, i7873 = 0, i7874 = 0, i7875 = 0, i7876 = 0, i7877 = 0, i7878 = 0, i7879 = 0;
+ int i7880 = 0, i7881 = 0, i7882 = 0, i7883 = 0, i7884 = 0, i7885 = 0, i7886 = 0, i7887 = 0, i7888 = 0, i7889 = 0;
+ int i7890 = 0, i7891 = 0, i7892 = 0, i7893 = 0, i7894 = 0, i7895 = 0, i7896 = 0, i7897 = 0, i7898 = 0, i7899 = 0;
+ int i7900 = 0, i7901 = 0, i7902 = 0, i7903 = 0, i7904 = 0, i7905 = 0, i7906 = 0, i7907 = 0, i7908 = 0, i7909 = 0;
+ int i7910 = 0, i7911 = 0, i7912 = 0, i7913 = 0, i7914 = 0, i7915 = 0, i7916 = 0, i7917 = 0, i7918 = 0, i7919 = 0;
+ int i7920 = 0, i7921 = 0, i7922 = 0, i7923 = 0, i7924 = 0, i7925 = 0, i7926 = 0, i7927 = 0, i7928 = 0, i7929 = 0;
+ int i7930 = 0, i7931 = 0, i7932 = 0, i7933 = 0, i7934 = 0, i7935 = 0, i7936 = 0, i7937 = 0, i7938 = 0, i7939 = 0;
+ int i7940 = 0, i7941 = 0, i7942 = 0, i7943 = 0, i7944 = 0, i7945 = 0, i7946 = 0, i7947 = 0, i7948 = 0, i7949 = 0;
+ int i7950 = 0, i7951 = 0, i7952 = 0, i7953 = 0, i7954 = 0, i7955 = 0, i7956 = 0, i7957 = 0, i7958 = 0, i7959 = 0;
+ int i7960 = 0, i7961 = 0, i7962 = 0, i7963 = 0, i7964 = 0, i7965 = 0, i7966 = 0, i7967 = 0, i7968 = 0, i7969 = 0;
+ int i7970 = 0, i7971 = 0, i7972 = 0, i7973 = 0, i7974 = 0, i7975 = 0, i7976 = 0, i7977 = 0, i7978 = 0, i7979 = 0;
+ int i7980 = 0, i7981 = 0, i7982 = 0, i7983 = 0, i7984 = 0, i7985 = 0, i7986 = 0, i7987 = 0, i7988 = 0, i7989 = 0;
+ int i7990 = 0, i7991 = 0, i7992 = 0, i7993 = 0, i7994 = 0, i7995 = 0, i7996 = 0, i7997 = 0, i7998 = 0, i7999 = 0;
+ int i8000 = 0, i8001 = 0, i8002 = 0, i8003 = 0, i8004 = 0, i8005 = 0, i8006 = 0, i8007 = 0, i8008 = 0, i8009 = 0;
+ int i8010 = 0, i8011 = 0, i8012 = 0, i8013 = 0, i8014 = 0, i8015 = 0, i8016 = 0, i8017 = 0, i8018 = 0, i8019 = 0;
+ int i8020 = 0, i8021 = 0, i8022 = 0, i8023 = 0, i8024 = 0, i8025 = 0, i8026 = 0, i8027 = 0, i8028 = 0, i8029 = 0;
+ int i8030 = 0, i8031 = 0, i8032 = 0, i8033 = 0, i8034 = 0, i8035 = 0, i8036 = 0, i8037 = 0, i8038 = 0, i8039 = 0;
+ int i8040 = 0, i8041 = 0, i8042 = 0, i8043 = 0, i8044 = 0, i8045 = 0, i8046 = 0, i8047 = 0, i8048 = 0, i8049 = 0;
+ int i8050 = 0, i8051 = 0, i8052 = 0, i8053 = 0, i8054 = 0, i8055 = 0, i8056 = 0, i8057 = 0, i8058 = 0, i8059 = 0;
+ int i8060 = 0, i8061 = 0, i8062 = 0, i8063 = 0, i8064 = 0, i8065 = 0, i8066 = 0, i8067 = 0, i8068 = 0, i8069 = 0;
+ int i8070 = 0, i8071 = 0, i8072 = 0, i8073 = 0, i8074 = 0, i8075 = 0, i8076 = 0, i8077 = 0, i8078 = 0, i8079 = 0;
+ int i8080 = 0, i8081 = 0, i8082 = 0, i8083 = 0, i8084 = 0, i8085 = 0, i8086 = 0, i8087 = 0, i8088 = 0, i8089 = 0;
+ int i8090 = 0, i8091 = 0, i8092 = 0, i8093 = 0, i8094 = 0, i8095 = 0, i8096 = 0, i8097 = 0, i8098 = 0, i8099 = 0;
+ int i8100 = 0, i8101 = 0, i8102 = 0, i8103 = 0, i8104 = 0, i8105 = 0, i8106 = 0, i8107 = 0, i8108 = 0, i8109 = 0;
+ int i8110 = 0, i8111 = 0, i8112 = 0, i8113 = 0, i8114 = 0, i8115 = 0, i8116 = 0, i8117 = 0, i8118 = 0, i8119 = 0;
+ int i8120 = 0, i8121 = 0, i8122 = 0, i8123 = 0, i8124 = 0, i8125 = 0, i8126 = 0, i8127 = 0, i8128 = 0, i8129 = 0;
+ int i8130 = 0, i8131 = 0, i8132 = 0, i8133 = 0, i8134 = 0, i8135 = 0, i8136 = 0, i8137 = 0, i8138 = 0, i8139 = 0;
+ int i8140 = 0, i8141 = 0, i8142 = 0, i8143 = 0, i8144 = 0, i8145 = 0, i8146 = 0, i8147 = 0, i8148 = 0, i8149 = 0;
+ int i8150 = 0, i8151 = 0, i8152 = 0, i8153 = 0, i8154 = 0, i8155 = 0, i8156 = 0, i8157 = 0, i8158 = 0, i8159 = 0;
+ int i8160 = 0, i8161 = 0, i8162 = 0, i8163 = 0, i8164 = 0, i8165 = 0, i8166 = 0, i8167 = 0, i8168 = 0, i8169 = 0;
+ int i8170 = 0, i8171 = 0, i8172 = 0, i8173 = 0, i8174 = 0, i8175 = 0, i8176 = 0, i8177 = 0, i8178 = 0, i8179 = 0;
+ int i8180 = 0, i8181 = 0, i8182 = 0, i8183 = 0, i8184 = 0, i8185 = 0, i8186 = 0, i8187 = 0, i8188 = 0, i8189 = 0;
+ int i8190 = 0, i8191 = 0, i8192 = 0, i8193 = 0, i8194 = 0, i8195 = 0, i8196 = 0, i8197 = 0, i8198 = 0, i8199 = 0;
+ int i8200 = 0, i8201 = 0, i8202 = 0, i8203 = 0, i8204 = 0, i8205 = 0, i8206 = 0, i8207 = 0, i8208 = 0, i8209 = 0;
+ int i8210 = 0, i8211 = 0, i8212 = 0, i8213 = 0, i8214 = 0, i8215 = 0, i8216 = 0, i8217 = 0, i8218 = 0, i8219 = 0;
+ int i8220 = 0, i8221 = 0, i8222 = 0, i8223 = 0, i8224 = 0, i8225 = 0, i8226 = 0, i8227 = 0, i8228 = 0, i8229 = 0;
+ int i8230 = 0, i8231 = 0, i8232 = 0, i8233 = 0, i8234 = 0, i8235 = 0, i8236 = 0, i8237 = 0, i8238 = 0, i8239 = 0;
+ int i8240 = 0, i8241 = 0, i8242 = 0, i8243 = 0, i8244 = 0, i8245 = 0, i8246 = 0, i8247 = 0, i8248 = 0, i8249 = 0;
+ int i8250 = 0, i8251 = 0, i8252 = 0, i8253 = 0, i8254 = 0, i8255 = 0, i8256 = 0, i8257 = 0, i8258 = 0, i8259 = 0;
+ int i8260 = 0, i8261 = 0, i8262 = 0, i8263 = 0, i8264 = 0, i8265 = 0, i8266 = 0, i8267 = 0, i8268 = 0, i8269 = 0;
+ int i8270 = 0, i8271 = 0, i8272 = 0, i8273 = 0, i8274 = 0, i8275 = 0, i8276 = 0, i8277 = 0, i8278 = 0, i8279 = 0;
+ int i8280 = 0, i8281 = 0, i8282 = 0, i8283 = 0, i8284 = 0, i8285 = 0, i8286 = 0, i8287 = 0, i8288 = 0, i8289 = 0;
+ int i8290 = 0, i8291 = 0, i8292 = 0, i8293 = 0, i8294 = 0, i8295 = 0, i8296 = 0, i8297 = 0, i8298 = 0, i8299 = 0;
+ int i8300 = 0, i8301 = 0, i8302 = 0, i8303 = 0, i8304 = 0, i8305 = 0, i8306 = 0, i8307 = 0, i8308 = 0, i8309 = 0;
+ int i8310 = 0, i8311 = 0, i8312 = 0, i8313 = 0, i8314 = 0, i8315 = 0, i8316 = 0, i8317 = 0, i8318 = 0, i8319 = 0;
+ int i8320 = 0, i8321 = 0, i8322 = 0, i8323 = 0, i8324 = 0, i8325 = 0, i8326 = 0, i8327 = 0, i8328 = 0, i8329 = 0;
+ int i8330 = 0, i8331 = 0, i8332 = 0, i8333 = 0, i8334 = 0, i8335 = 0, i8336 = 0, i8337 = 0, i8338 = 0, i8339 = 0;
+ int i8340 = 0, i8341 = 0, i8342 = 0, i8343 = 0, i8344 = 0, i8345 = 0, i8346 = 0, i8347 = 0, i8348 = 0, i8349 = 0;
+ int i8350 = 0, i8351 = 0, i8352 = 0, i8353 = 0, i8354 = 0, i8355 = 0, i8356 = 0, i8357 = 0, i8358 = 0, i8359 = 0;
+ int i8360 = 0, i8361 = 0, i8362 = 0, i8363 = 0, i8364 = 0, i8365 = 0, i8366 = 0, i8367 = 0, i8368 = 0, i8369 = 0;
+ int i8370 = 0, i8371 = 0, i8372 = 0, i8373 = 0, i8374 = 0, i8375 = 0, i8376 = 0, i8377 = 0, i8378 = 0, i8379 = 0;
+ int i8380 = 0, i8381 = 0, i8382 = 0, i8383 = 0, i8384 = 0, i8385 = 0, i8386 = 0, i8387 = 0, i8388 = 0, i8389 = 0;
+ int i8390 = 0, i8391 = 0, i8392 = 0, i8393 = 0, i8394 = 0, i8395 = 0, i8396 = 0, i8397 = 0, i8398 = 0, i8399 = 0;
+ int i8400 = 0, i8401 = 0, i8402 = 0, i8403 = 0, i8404 = 0, i8405 = 0, i8406 = 0, i8407 = 0, i8408 = 0, i8409 = 0;
+ int i8410 = 0, i8411 = 0, i8412 = 0, i8413 = 0, i8414 = 0, i8415 = 0, i8416 = 0, i8417 = 0, i8418 = 0, i8419 = 0;
+ int i8420 = 0, i8421 = 0, i8422 = 0, i8423 = 0, i8424 = 0, i8425 = 0, i8426 = 0, i8427 = 0, i8428 = 0, i8429 = 0;
+ int i8430 = 0, i8431 = 0, i8432 = 0, i8433 = 0, i8434 = 0, i8435 = 0, i8436 = 0, i8437 = 0, i8438 = 0, i8439 = 0;
+ int i8440 = 0, i8441 = 0, i8442 = 0, i8443 = 0, i8444 = 0, i8445 = 0, i8446 = 0, i8447 = 0, i8448 = 0, i8449 = 0;
+ int i8450 = 0, i8451 = 0, i8452 = 0, i8453 = 0, i8454 = 0, i8455 = 0, i8456 = 0, i8457 = 0, i8458 = 0, i8459 = 0;
+ int i8460 = 0, i8461 = 0, i8462 = 0, i8463 = 0, i8464 = 0, i8465 = 0, i8466 = 0, i8467 = 0, i8468 = 0, i8469 = 0;
+ int i8470 = 0, i8471 = 0, i8472 = 0, i8473 = 0, i8474 = 0, i8475 = 0, i8476 = 0, i8477 = 0, i8478 = 0, i8479 = 0;
+ int i8480 = 0, i8481 = 0, i8482 = 0, i8483 = 0, i8484 = 0, i8485 = 0, i8486 = 0, i8487 = 0, i8488 = 0, i8489 = 0;
+ int i8490 = 0, i8491 = 0, i8492 = 0, i8493 = 0, i8494 = 0, i8495 = 0, i8496 = 0, i8497 = 0, i8498 = 0, i8499 = 0;
+ int i8500 = 0, i8501 = 0, i8502 = 0, i8503 = 0, i8504 = 0, i8505 = 0, i8506 = 0, i8507 = 0, i8508 = 0, i8509 = 0;
+ int i8510 = 0, i8511 = 0, i8512 = 0, i8513 = 0, i8514 = 0, i8515 = 0, i8516 = 0, i8517 = 0, i8518 = 0, i8519 = 0;
+ int i8520 = 0, i8521 = 0, i8522 = 0, i8523 = 0, i8524 = 0, i8525 = 0, i8526 = 0, i8527 = 0, i8528 = 0, i8529 = 0;
+ int i8530 = 0, i8531 = 0, i8532 = 0, i8533 = 0, i8534 = 0, i8535 = 0, i8536 = 0, i8537 = 0, i8538 = 0, i8539 = 0;
+ int i8540 = 0, i8541 = 0, i8542 = 0, i8543 = 0, i8544 = 0, i8545 = 0, i8546 = 0, i8547 = 0, i8548 = 0, i8549 = 0;
+ int i8550 = 0, i8551 = 0, i8552 = 0, i8553 = 0, i8554 = 0, i8555 = 0, i8556 = 0, i8557 = 0, i8558 = 0, i8559 = 0;
+ int i8560 = 0, i8561 = 0, i8562 = 0, i8563 = 0, i8564 = 0, i8565 = 0, i8566 = 0, i8567 = 0, i8568 = 0, i8569 = 0;
+ int i8570 = 0, i8571 = 0, i8572 = 0, i8573 = 0, i8574 = 0, i8575 = 0, i8576 = 0, i8577 = 0, i8578 = 0, i8579 = 0;
+ int i8580 = 0, i8581 = 0, i8582 = 0, i8583 = 0, i8584 = 0, i8585 = 0, i8586 = 0, i8587 = 0, i8588 = 0, i8589 = 0;
+ int i8590 = 0, i8591 = 0, i8592 = 0, i8593 = 0, i8594 = 0, i8595 = 0, i8596 = 0, i8597 = 0, i8598 = 0, i8599 = 0;
+ int i8600 = 0, i8601 = 0, i8602 = 0, i8603 = 0, i8604 = 0, i8605 = 0, i8606 = 0, i8607 = 0, i8608 = 0, i8609 = 0;
+ int i8610 = 0, i8611 = 0, i8612 = 0, i8613 = 0, i8614 = 0, i8615 = 0, i8616 = 0, i8617 = 0, i8618 = 0, i8619 = 0;
+ int i8620 = 0, i8621 = 0, i8622 = 0, i8623 = 0, i8624 = 0, i8625 = 0, i8626 = 0, i8627 = 0, i8628 = 0, i8629 = 0;
+ int i8630 = 0, i8631 = 0, i8632 = 0, i8633 = 0, i8634 = 0, i8635 = 0, i8636 = 0, i8637 = 0, i8638 = 0, i8639 = 0;
+ int i8640 = 0, i8641 = 0, i8642 = 0, i8643 = 0, i8644 = 0, i8645 = 0, i8646 = 0, i8647 = 0, i8648 = 0, i8649 = 0;
+ int i8650 = 0, i8651 = 0, i8652 = 0, i8653 = 0, i8654 = 0, i8655 = 0, i8656 = 0, i8657 = 0, i8658 = 0, i8659 = 0;
+ int i8660 = 0, i8661 = 0, i8662 = 0, i8663 = 0, i8664 = 0, i8665 = 0, i8666 = 0, i8667 = 0, i8668 = 0, i8669 = 0;
+ int i8670 = 0, i8671 = 0, i8672 = 0, i8673 = 0, i8674 = 0, i8675 = 0, i8676 = 0, i8677 = 0, i8678 = 0, i8679 = 0;
+ int i8680 = 0, i8681 = 0, i8682 = 0, i8683 = 0, i8684 = 0, i8685 = 0, i8686 = 0, i8687 = 0, i8688 = 0, i8689 = 0;
+ int i8690 = 0, i8691 = 0, i8692 = 0, i8693 = 0, i8694 = 0, i8695 = 0, i8696 = 0, i8697 = 0, i8698 = 0, i8699 = 0;
+ int i8700 = 0, i8701 = 0, i8702 = 0, i8703 = 0, i8704 = 0, i8705 = 0, i8706 = 0, i8707 = 0, i8708 = 0, i8709 = 0;
+ int i8710 = 0, i8711 = 0, i8712 = 0, i8713 = 0, i8714 = 0, i8715 = 0, i8716 = 0, i8717 = 0, i8718 = 0, i8719 = 0;
+ int i8720 = 0, i8721 = 0, i8722 = 0, i8723 = 0, i8724 = 0, i8725 = 0, i8726 = 0, i8727 = 0, i8728 = 0, i8729 = 0;
+ int i8730 = 0, i8731 = 0, i8732 = 0, i8733 = 0, i8734 = 0, i8735 = 0, i8736 = 0, i8737 = 0, i8738 = 0, i8739 = 0;
+ int i8740 = 0, i8741 = 0, i8742 = 0, i8743 = 0, i8744 = 0, i8745 = 0, i8746 = 0, i8747 = 0, i8748 = 0, i8749 = 0;
+ int i8750 = 0, i8751 = 0, i8752 = 0, i8753 = 0, i8754 = 0, i8755 = 0, i8756 = 0, i8757 = 0, i8758 = 0, i8759 = 0;
+ int i8760 = 0, i8761 = 0, i8762 = 0, i8763 = 0, i8764 = 0, i8765 = 0, i8766 = 0, i8767 = 0, i8768 = 0, i8769 = 0;
+ int i8770 = 0, i8771 = 0, i8772 = 0, i8773 = 0, i8774 = 0, i8775 = 0, i8776 = 0, i8777 = 0, i8778 = 0, i8779 = 0;
+ int i8780 = 0, i8781 = 0, i8782 = 0, i8783 = 0, i8784 = 0, i8785 = 0, i8786 = 0, i8787 = 0, i8788 = 0, i8789 = 0;
+ int i8790 = 0, i8791 = 0, i8792 = 0, i8793 = 0, i8794 = 0, i8795 = 0, i8796 = 0, i8797 = 0, i8798 = 0, i8799 = 0;
+ int i8800 = 0, i8801 = 0, i8802 = 0, i8803 = 0, i8804 = 0, i8805 = 0, i8806 = 0, i8807 = 0, i8808 = 0, i8809 = 0;
+ int i8810 = 0, i8811 = 0, i8812 = 0, i8813 = 0, i8814 = 0, i8815 = 0, i8816 = 0, i8817 = 0, i8818 = 0, i8819 = 0;
+ int i8820 = 0, i8821 = 0, i8822 = 0, i8823 = 0, i8824 = 0, i8825 = 0, i8826 = 0, i8827 = 0, i8828 = 0, i8829 = 0;
+ int i8830 = 0, i8831 = 0, i8832 = 0, i8833 = 0, i8834 = 0, i8835 = 0, i8836 = 0, i8837 = 0, i8838 = 0, i8839 = 0;
+ int i8840 = 0, i8841 = 0, i8842 = 0, i8843 = 0, i8844 = 0, i8845 = 0, i8846 = 0, i8847 = 0, i8848 = 0, i8849 = 0;
+ int i8850 = 0, i8851 = 0, i8852 = 0, i8853 = 0, i8854 = 0, i8855 = 0, i8856 = 0, i8857 = 0, i8858 = 0, i8859 = 0;
+ int i8860 = 0, i8861 = 0, i8862 = 0, i8863 = 0, i8864 = 0, i8865 = 0, i8866 = 0, i8867 = 0, i8868 = 0, i8869 = 0;
+ int i8870 = 0, i8871 = 0, i8872 = 0, i8873 = 0, i8874 = 0, i8875 = 0, i8876 = 0, i8877 = 0, i8878 = 0, i8879 = 0;
+ int i8880 = 0, i8881 = 0, i8882 = 0, i8883 = 0, i8884 = 0, i8885 = 0, i8886 = 0, i8887 = 0, i8888 = 0, i8889 = 0;
+ int i8890 = 0, i8891 = 0, i8892 = 0, i8893 = 0, i8894 = 0, i8895 = 0, i8896 = 0, i8897 = 0, i8898 = 0, i8899 = 0;
+ int i8900 = 0, i8901 = 0, i8902 = 0, i8903 = 0, i8904 = 0, i8905 = 0, i8906 = 0, i8907 = 0, i8908 = 0, i8909 = 0;
+ int i8910 = 0, i8911 = 0, i8912 = 0, i8913 = 0, i8914 = 0, i8915 = 0, i8916 = 0, i8917 = 0, i8918 = 0, i8919 = 0;
+ int i8920 = 0, i8921 = 0, i8922 = 0, i8923 = 0, i8924 = 0, i8925 = 0, i8926 = 0, i8927 = 0, i8928 = 0, i8929 = 0;
+ int i8930 = 0, i8931 = 0, i8932 = 0, i8933 = 0, i8934 = 0, i8935 = 0, i8936 = 0, i8937 = 0, i8938 = 0, i8939 = 0;
+ int i8940 = 0, i8941 = 0, i8942 = 0, i8943 = 0, i8944 = 0, i8945 = 0, i8946 = 0, i8947 = 0, i8948 = 0, i8949 = 0;
+ int i8950 = 0, i8951 = 0, i8952 = 0, i8953 = 0, i8954 = 0, i8955 = 0, i8956 = 0, i8957 = 0, i8958 = 0, i8959 = 0;
+ int i8960 = 0, i8961 = 0, i8962 = 0, i8963 = 0, i8964 = 0, i8965 = 0, i8966 = 0, i8967 = 0, i8968 = 0, i8969 = 0;
+ int i8970 = 0, i8971 = 0, i8972 = 0, i8973 = 0, i8974 = 0, i8975 = 0, i8976 = 0, i8977 = 0, i8978 = 0, i8979 = 0;
+ int i8980 = 0, i8981 = 0, i8982 = 0, i8983 = 0, i8984 = 0, i8985 = 0, i8986 = 0, i8987 = 0, i8988 = 0, i8989 = 0;
+ int i8990 = 0, i8991 = 0, i8992 = 0, i8993 = 0, i8994 = 0, i8995 = 0, i8996 = 0, i8997 = 0, i8998 = 0, i8999 = 0;
+ int i9000 = 0, i9001 = 0, i9002 = 0, i9003 = 0, i9004 = 0, i9005 = 0, i9006 = 0, i9007 = 0, i9008 = 0, i9009 = 0;
+ int i9010 = 0, i9011 = 0, i9012 = 0, i9013 = 0, i9014 = 0, i9015 = 0, i9016 = 0, i9017 = 0, i9018 = 0, i9019 = 0;
+ int i9020 = 0, i9021 = 0, i9022 = 0, i9023 = 0, i9024 = 0, i9025 = 0, i9026 = 0, i9027 = 0, i9028 = 0, i9029 = 0;
+ int i9030 = 0, i9031 = 0, i9032 = 0, i9033 = 0, i9034 = 0, i9035 = 0, i9036 = 0, i9037 = 0, i9038 = 0, i9039 = 0;
+ int i9040 = 0, i9041 = 0, i9042 = 0, i9043 = 0, i9044 = 0, i9045 = 0, i9046 = 0, i9047 = 0, i9048 = 0, i9049 = 0;
+ int i9050 = 0, i9051 = 0, i9052 = 0, i9053 = 0, i9054 = 0, i9055 = 0, i9056 = 0, i9057 = 0, i9058 = 0, i9059 = 0;
+ int i9060 = 0, i9061 = 0, i9062 = 0, i9063 = 0, i9064 = 0, i9065 = 0, i9066 = 0, i9067 = 0, i9068 = 0, i9069 = 0;
+ int i9070 = 0, i9071 = 0, i9072 = 0, i9073 = 0, i9074 = 0, i9075 = 0, i9076 = 0, i9077 = 0, i9078 = 0, i9079 = 0;
+ int i9080 = 0, i9081 = 0, i9082 = 0, i9083 = 0, i9084 = 0, i9085 = 0, i9086 = 0, i9087 = 0, i9088 = 0, i9089 = 0;
+ int i9090 = 0, i9091 = 0, i9092 = 0, i9093 = 0, i9094 = 0, i9095 = 0, i9096 = 0, i9097 = 0, i9098 = 0, i9099 = 0;
+ int i9100 = 0, i9101 = 0, i9102 = 0, i9103 = 0, i9104 = 0, i9105 = 0, i9106 = 0, i9107 = 0, i9108 = 0, i9109 = 0;
+ int i9110 = 0, i9111 = 0, i9112 = 0, i9113 = 0, i9114 = 0, i9115 = 0, i9116 = 0, i9117 = 0, i9118 = 0, i9119 = 0;
+ int i9120 = 0, i9121 = 0, i9122 = 0, i9123 = 0, i9124 = 0, i9125 = 0, i9126 = 0, i9127 = 0, i9128 = 0, i9129 = 0;
+ int i9130 = 0, i9131 = 0, i9132 = 0, i9133 = 0, i9134 = 0, i9135 = 0, i9136 = 0, i9137 = 0, i9138 = 0, i9139 = 0;
+ int i9140 = 0, i9141 = 0, i9142 = 0, i9143 = 0, i9144 = 0, i9145 = 0, i9146 = 0, i9147 = 0, i9148 = 0, i9149 = 0;
+ int i9150 = 0, i9151 = 0, i9152 = 0, i9153 = 0, i9154 = 0, i9155 = 0, i9156 = 0, i9157 = 0, i9158 = 0, i9159 = 0;
+ int i9160 = 0, i9161 = 0, i9162 = 0, i9163 = 0, i9164 = 0, i9165 = 0, i9166 = 0, i9167 = 0, i9168 = 0, i9169 = 0;
+ int i9170 = 0, i9171 = 0, i9172 = 0, i9173 = 0, i9174 = 0, i9175 = 0, i9176 = 0, i9177 = 0, i9178 = 0, i9179 = 0;
+ int i9180 = 0, i9181 = 0, i9182 = 0, i9183 = 0, i9184 = 0, i9185 = 0, i9186 = 0, i9187 = 0, i9188 = 0, i9189 = 0;
+ int i9190 = 0, i9191 = 0, i9192 = 0, i9193 = 0, i9194 = 0, i9195 = 0, i9196 = 0, i9197 = 0, i9198 = 0, i9199 = 0;
+ int i9200 = 0, i9201 = 0, i9202 = 0, i9203 = 0, i9204 = 0, i9205 = 0, i9206 = 0, i9207 = 0, i9208 = 0, i9209 = 0;
+ int i9210 = 0, i9211 = 0, i9212 = 0, i9213 = 0, i9214 = 0, i9215 = 0, i9216 = 0, i9217 = 0, i9218 = 0, i9219 = 0;
+ int i9220 = 0, i9221 = 0, i9222 = 0, i9223 = 0, i9224 = 0, i9225 = 0, i9226 = 0, i9227 = 0, i9228 = 0, i9229 = 0;
+ int i9230 = 0, i9231 = 0, i9232 = 0, i9233 = 0, i9234 = 0, i9235 = 0, i9236 = 0, i9237 = 0, i9238 = 0, i9239 = 0;
+ int i9240 = 0, i9241 = 0, i9242 = 0, i9243 = 0, i9244 = 0, i9245 = 0, i9246 = 0, i9247 = 0, i9248 = 0, i9249 = 0;
+ int i9250 = 0, i9251 = 0, i9252 = 0, i9253 = 0, i9254 = 0, i9255 = 0, i9256 = 0, i9257 = 0, i9258 = 0, i9259 = 0;
+ int i9260 = 0, i9261 = 0, i9262 = 0, i9263 = 0, i9264 = 0, i9265 = 0, i9266 = 0, i9267 = 0, i9268 = 0, i9269 = 0;
+ int i9270 = 0, i9271 = 0, i9272 = 0, i9273 = 0, i9274 = 0, i9275 = 0, i9276 = 0, i9277 = 0, i9278 = 0, i9279 = 0;
+ int i9280 = 0, i9281 = 0, i9282 = 0, i9283 = 0, i9284 = 0, i9285 = 0, i9286 = 0, i9287 = 0, i9288 = 0, i9289 = 0;
+ int i9290 = 0, i9291 = 0, i9292 = 0, i9293 = 0, i9294 = 0, i9295 = 0, i9296 = 0, i9297 = 0, i9298 = 0, i9299 = 0;
+ int i9300 = 0, i9301 = 0, i9302 = 0, i9303 = 0, i9304 = 0, i9305 = 0, i9306 = 0, i9307 = 0, i9308 = 0, i9309 = 0;
+ int i9310 = 0, i9311 = 0, i9312 = 0, i9313 = 0, i9314 = 0, i9315 = 0, i9316 = 0, i9317 = 0, i9318 = 0, i9319 = 0;
+ int i9320 = 0, i9321 = 0, i9322 = 0, i9323 = 0, i9324 = 0, i9325 = 0, i9326 = 0, i9327 = 0, i9328 = 0, i9329 = 0;
+ int i9330 = 0, i9331 = 0, i9332 = 0, i9333 = 0, i9334 = 0, i9335 = 0, i9336 = 0, i9337 = 0, i9338 = 0, i9339 = 0;
+ int i9340 = 0, i9341 = 0, i9342 = 0, i9343 = 0, i9344 = 0, i9345 = 0, i9346 = 0, i9347 = 0, i9348 = 0, i9349 = 0;
+ int i9350 = 0, i9351 = 0, i9352 = 0, i9353 = 0, i9354 = 0, i9355 = 0, i9356 = 0, i9357 = 0, i9358 = 0, i9359 = 0;
+ int i9360 = 0, i9361 = 0, i9362 = 0, i9363 = 0, i9364 = 0, i9365 = 0, i9366 = 0, i9367 = 0, i9368 = 0, i9369 = 0;
+ int i9370 = 0, i9371 = 0, i9372 = 0, i9373 = 0, i9374 = 0, i9375 = 0, i9376 = 0, i9377 = 0, i9378 = 0, i9379 = 0;
+ int i9380 = 0, i9381 = 0, i9382 = 0, i9383 = 0, i9384 = 0, i9385 = 0, i9386 = 0, i9387 = 0, i9388 = 0, i9389 = 0;
+ int i9390 = 0, i9391 = 0, i9392 = 0, i9393 = 0, i9394 = 0, i9395 = 0, i9396 = 0, i9397 = 0, i9398 = 0, i9399 = 0;
+ int i9400 = 0, i9401 = 0, i9402 = 0, i9403 = 0, i9404 = 0, i9405 = 0, i9406 = 0, i9407 = 0, i9408 = 0, i9409 = 0;
+ int i9410 = 0, i9411 = 0, i9412 = 0, i9413 = 0, i9414 = 0, i9415 = 0, i9416 = 0, i9417 = 0, i9418 = 0, i9419 = 0;
+ int i9420 = 0, i9421 = 0, i9422 = 0, i9423 = 0, i9424 = 0, i9425 = 0, i9426 = 0, i9427 = 0, i9428 = 0, i9429 = 0;
+ int i9430 = 0, i9431 = 0, i9432 = 0, i9433 = 0, i9434 = 0, i9435 = 0, i9436 = 0, i9437 = 0, i9438 = 0, i9439 = 0;
+ int i9440 = 0, i9441 = 0, i9442 = 0, i9443 = 0, i9444 = 0, i9445 = 0, i9446 = 0, i9447 = 0, i9448 = 0, i9449 = 0;
+ int i9450 = 0, i9451 = 0, i9452 = 0, i9453 = 0, i9454 = 0, i9455 = 0, i9456 = 0, i9457 = 0, i9458 = 0, i9459 = 0;
+ int i9460 = 0, i9461 = 0, i9462 = 0, i9463 = 0, i9464 = 0, i9465 = 0, i9466 = 0, i9467 = 0, i9468 = 0, i9469 = 0;
+ int i9470 = 0, i9471 = 0, i9472 = 0, i9473 = 0, i9474 = 0, i9475 = 0, i9476 = 0, i9477 = 0, i9478 = 0, i9479 = 0;
+ int i9480 = 0, i9481 = 0, i9482 = 0, i9483 = 0, i9484 = 0, i9485 = 0, i9486 = 0, i9487 = 0, i9488 = 0, i9489 = 0;
+ int i9490 = 0, i9491 = 0, i9492 = 0, i9493 = 0, i9494 = 0, i9495 = 0, i9496 = 0, i9497 = 0, i9498 = 0, i9499 = 0;
+ int i9500 = 0, i9501 = 0, i9502 = 0, i9503 = 0, i9504 = 0, i9505 = 0, i9506 = 0, i9507 = 0, i9508 = 0, i9509 = 0;
+ int i9510 = 0, i9511 = 0, i9512 = 0, i9513 = 0, i9514 = 0, i9515 = 0, i9516 = 0, i9517 = 0, i9518 = 0, i9519 = 0;
+ int i9520 = 0, i9521 = 0, i9522 = 0, i9523 = 0, i9524 = 0, i9525 = 0, i9526 = 0, i9527 = 0, i9528 = 0, i9529 = 0;
+ int i9530 = 0, i9531 = 0, i9532 = 0, i9533 = 0, i9534 = 0, i9535 = 0, i9536 = 0, i9537 = 0, i9538 = 0, i9539 = 0;
+ int i9540 = 0, i9541 = 0, i9542 = 0, i9543 = 0, i9544 = 0, i9545 = 0, i9546 = 0, i9547 = 0, i9548 = 0, i9549 = 0;
+ int i9550 = 0, i9551 = 0, i9552 = 0, i9553 = 0, i9554 = 0, i9555 = 0, i9556 = 0, i9557 = 0, i9558 = 0, i9559 = 0;
+ int i9560 = 0, i9561 = 0, i9562 = 0, i9563 = 0, i9564 = 0, i9565 = 0, i9566 = 0, i9567 = 0, i9568 = 0, i9569 = 0;
+ int i9570 = 0, i9571 = 0, i9572 = 0, i9573 = 0, i9574 = 0, i9575 = 0, i9576 = 0, i9577 = 0, i9578 = 0, i9579 = 0;
+ int i9580 = 0, i9581 = 0, i9582 = 0, i9583 = 0, i9584 = 0, i9585 = 0, i9586 = 0, i9587 = 0, i9588 = 0, i9589 = 0;
+ int i9590 = 0, i9591 = 0, i9592 = 0, i9593 = 0, i9594 = 0, i9595 = 0, i9596 = 0, i9597 = 0, i9598 = 0, i9599 = 0;
+ int i9600 = 0, i9601 = 0, i9602 = 0, i9603 = 0, i9604 = 0, i9605 = 0, i9606 = 0, i9607 = 0, i9608 = 0, i9609 = 0;
+ int i9610 = 0, i9611 = 0, i9612 = 0, i9613 = 0, i9614 = 0, i9615 = 0, i9616 = 0, i9617 = 0, i9618 = 0, i9619 = 0;
+ int i9620 = 0, i9621 = 0, i9622 = 0, i9623 = 0, i9624 = 0, i9625 = 0, i9626 = 0, i9627 = 0, i9628 = 0, i9629 = 0;
+ int i9630 = 0, i9631 = 0, i9632 = 0, i9633 = 0, i9634 = 0, i9635 = 0, i9636 = 0, i9637 = 0, i9638 = 0, i9639 = 0;
+ int i9640 = 0, i9641 = 0, i9642 = 0, i9643 = 0, i9644 = 0, i9645 = 0, i9646 = 0, i9647 = 0, i9648 = 0, i9649 = 0;
+ int i9650 = 0, i9651 = 0, i9652 = 0, i9653 = 0, i9654 = 0, i9655 = 0, i9656 = 0, i9657 = 0, i9658 = 0, i9659 = 0;
+ int i9660 = 0, i9661 = 0, i9662 = 0, i9663 = 0, i9664 = 0, i9665 = 0, i9666 = 0, i9667 = 0, i9668 = 0, i9669 = 0;
+ int i9670 = 0, i9671 = 0, i9672 = 0, i9673 = 0, i9674 = 0, i9675 = 0, i9676 = 0, i9677 = 0, i9678 = 0, i9679 = 0;
+ int i9680 = 0, i9681 = 0, i9682 = 0, i9683 = 0, i9684 = 0, i9685 = 0, i9686 = 0, i9687 = 0, i9688 = 0, i9689 = 0;
+ int i9690 = 0, i9691 = 0, i9692 = 0, i9693 = 0, i9694 = 0, i9695 = 0, i9696 = 0, i9697 = 0, i9698 = 0, i9699 = 0;
+ int i9700 = 0, i9701 = 0, i9702 = 0, i9703 = 0, i9704 = 0, i9705 = 0, i9706 = 0, i9707 = 0, i9708 = 0, i9709 = 0;
+ int i9710 = 0, i9711 = 0, i9712 = 0, i9713 = 0, i9714 = 0, i9715 = 0, i9716 = 0, i9717 = 0, i9718 = 0, i9719 = 0;
+ int i9720 = 0, i9721 = 0, i9722 = 0, i9723 = 0, i9724 = 0, i9725 = 0, i9726 = 0, i9727 = 0, i9728 = 0, i9729 = 0;
+ int i9730 = 0, i9731 = 0, i9732 = 0, i9733 = 0, i9734 = 0, i9735 = 0, i9736 = 0, i9737 = 0, i9738 = 0, i9739 = 0;
+ int i9740 = 0, i9741 = 0, i9742 = 0, i9743 = 0, i9744 = 0, i9745 = 0, i9746 = 0, i9747 = 0, i9748 = 0, i9749 = 0;
+ int i9750 = 0, i9751 = 0, i9752 = 0, i9753 = 0, i9754 = 0, i9755 = 0, i9756 = 0, i9757 = 0, i9758 = 0, i9759 = 0;
+ int i9760 = 0, i9761 = 0, i9762 = 0, i9763 = 0, i9764 = 0, i9765 = 0, i9766 = 0, i9767 = 0, i9768 = 0, i9769 = 0;
+ int i9770 = 0, i9771 = 0, i9772 = 0, i9773 = 0, i9774 = 0, i9775 = 0, i9776 = 0, i9777 = 0, i9778 = 0, i9779 = 0;
+ int i9780 = 0, i9781 = 0, i9782 = 0, i9783 = 0, i9784 = 0, i9785 = 0, i9786 = 0, i9787 = 0, i9788 = 0, i9789 = 0;
+ int i9790 = 0, i9791 = 0, i9792 = 0, i9793 = 0, i9794 = 0, i9795 = 0, i9796 = 0, i9797 = 0, i9798 = 0, i9799 = 0;
+ int i9800 = 0, i9801 = 0, i9802 = 0, i9803 = 0, i9804 = 0, i9805 = 0, i9806 = 0, i9807 = 0, i9808 = 0, i9809 = 0;
+ int i9810 = 0, i9811 = 0, i9812 = 0, i9813 = 0, i9814 = 0, i9815 = 0, i9816 = 0, i9817 = 0, i9818 = 0, i9819 = 0;
+ int i9820 = 0, i9821 = 0, i9822 = 0, i9823 = 0, i9824 = 0, i9825 = 0, i9826 = 0, i9827 = 0, i9828 = 0, i9829 = 0;
+ int i9830 = 0, i9831 = 0, i9832 = 0, i9833 = 0, i9834 = 0, i9835 = 0, i9836 = 0, i9837 = 0, i9838 = 0, i9839 = 0;
+ int i9840 = 0, i9841 = 0, i9842 = 0, i9843 = 0, i9844 = 0, i9845 = 0, i9846 = 0, i9847 = 0, i9848 = 0, i9849 = 0;
+ int i9850 = 0, i9851 = 0, i9852 = 0, i9853 = 0, i9854 = 0, i9855 = 0, i9856 = 0, i9857 = 0, i9858 = 0, i9859 = 0;
+ int i9860 = 0, i9861 = 0, i9862 = 0, i9863 = 0, i9864 = 0, i9865 = 0, i9866 = 0, i9867 = 0, i9868 = 0, i9869 = 0;
+ int i9870 = 0, i9871 = 0, i9872 = 0, i9873 = 0, i9874 = 0, i9875 = 0, i9876 = 0, i9877 = 0, i9878 = 0, i9879 = 0;
+ int i9880 = 0, i9881 = 0, i9882 = 0, i9883 = 0, i9884 = 0, i9885 = 0, i9886 = 0, i9887 = 0, i9888 = 0, i9889 = 0;
+ int i9890 = 0, i9891 = 0, i9892 = 0, i9893 = 0, i9894 = 0, i9895 = 0, i9896 = 0, i9897 = 0, i9898 = 0, i9899 = 0;
+ int i9900 = 0, i9901 = 0, i9902 = 0, i9903 = 0, i9904 = 0, i9905 = 0, i9906 = 0, i9907 = 0, i9908 = 0, i9909 = 0;
+ int i9910 = 0, i9911 = 0, i9912 = 0, i9913 = 0, i9914 = 0, i9915 = 0, i9916 = 0, i9917 = 0, i9918 = 0, i9919 = 0;
+ int i9920 = 0, i9921 = 0, i9922 = 0, i9923 = 0, i9924 = 0, i9925 = 0, i9926 = 0, i9927 = 0, i9928 = 0, i9929 = 0;
+ int i9930 = 0, i9931 = 0, i9932 = 0, i9933 = 0, i9934 = 0, i9935 = 0, i9936 = 0, i9937 = 0, i9938 = 0, i9939 = 0;
+ int i9940 = 0, i9941 = 0, i9942 = 0, i9943 = 0, i9944 = 0, i9945 = 0, i9946 = 0, i9947 = 0, i9948 = 0, i9949 = 0;
+ int i9950 = 0, i9951 = 0, i9952 = 0, i9953 = 0, i9954 = 0, i9955 = 0, i9956 = 0, i9957 = 0, i9958 = 0, i9959 = 0;
+ int i9960 = 0, i9961 = 0, i9962 = 0, i9963 = 0, i9964 = 0, i9965 = 0, i9966 = 0, i9967 = 0, i9968 = 0, i9969 = 0;
+ int i9970 = 0, i9971 = 0, i9972 = 0, i9973 = 0, i9974 = 0, i9975 = 0, i9976 = 0, i9977 = 0, i9978 = 0, i9979 = 0;
+ int i9980 = 0, i9981 = 0, i9982 = 0, i9983 = 0, i9984 = 0, i9985 = 0, i9986 = 0, i9987 = 0, i9988 = 0, i9989 = 0;
+ int i9990 = 0, i9991 = 0, i9992 = 0, i9993 = 0, i9994 = 0, i9995 = 0, i9996 = 0, i9997 = 0, i9998 = 0, i9999 = 0;
+ int i10000 = 0, i10001 = 0, i10002 = 0, i10003 = 0, i10004 = 0, i10005 = 0, i10006 = 0, i10007 = 0, i10008 = 0, i10009 = 0;
+ int i10010 = 0, i10011 = 0, i10012 = 0, i10013 = 0, i10014 = 0, i10015 = 0, i10016 = 0, i10017 = 0, i10018 = 0, i10019 = 0;
+ int i10020 = 0, i10021 = 0, i10022 = 0, i10023 = 0, i10024 = 0, i10025 = 0, i10026 = 0, i10027 = 0, i10028 = 0, i10029 = 0;
+ int i10030 = 0, i10031 = 0, i10032 = 0, i10033 = 0, i10034 = 0, i10035 = 0, i10036 = 0, i10037 = 0, i10038 = 0, i10039 = 0;
+ int i10040 = 0, i10041 = 0, i10042 = 0, i10043 = 0, i10044 = 0, i10045 = 0, i10046 = 0, i10047 = 0, i10048 = 0, i10049 = 0;
+ int i10050 = 0, i10051 = 0, i10052 = 0, i10053 = 0, i10054 = 0, i10055 = 0, i10056 = 0, i10057 = 0, i10058 = 0, i10059 = 0;
+ int i10060 = 0, i10061 = 0, i10062 = 0, i10063 = 0, i10064 = 0, i10065 = 0, i10066 = 0, i10067 = 0, i10068 = 0, i10069 = 0;
+ int i10070 = 0, i10071 = 0, i10072 = 0, i10073 = 0, i10074 = 0, i10075 = 0, i10076 = 0, i10077 = 0, i10078 = 0, i10079 = 0;
+ int i10080 = 0, i10081 = 0, i10082 = 0, i10083 = 0, i10084 = 0, i10085 = 0, i10086 = 0, i10087 = 0, i10088 = 0, i10089 = 0;
+ int i10090 = 0, i10091 = 0, i10092 = 0, i10093 = 0, i10094 = 0, i10095 = 0, i10096 = 0, i10097 = 0, i10098 = 0, i10099 = 0;
+ int i10100 = 0, i10101 = 0, i10102 = 0, i10103 = 0, i10104 = 0, i10105 = 0, i10106 = 0, i10107 = 0, i10108 = 0, i10109 = 0;
+ int i10110 = 0, i10111 = 0, i10112 = 0, i10113 = 0, i10114 = 0, i10115 = 0, i10116 = 0, i10117 = 0, i10118 = 0, i10119 = 0;
+ int i10120 = 0, i10121 = 0, i10122 = 0, i10123 = 0, i10124 = 0, i10125 = 0, i10126 = 0, i10127 = 0, i10128 = 0, i10129 = 0;
+ int i10130 = 0, i10131 = 0, i10132 = 0, i10133 = 0, i10134 = 0, i10135 = 0, i10136 = 0, i10137 = 0, i10138 = 0, i10139 = 0;
+ int i10140 = 0, i10141 = 0, i10142 = 0, i10143 = 0, i10144 = 0, i10145 = 0, i10146 = 0, i10147 = 0, i10148 = 0, i10149 = 0;
+ int i10150 = 0, i10151 = 0, i10152 = 0, i10153 = 0, i10154 = 0, i10155 = 0, i10156 = 0, i10157 = 0, i10158 = 0, i10159 = 0;
+ int i10160 = 0, i10161 = 0, i10162 = 0, i10163 = 0, i10164 = 0, i10165 = 0, i10166 = 0, i10167 = 0, i10168 = 0, i10169 = 0;
+ int i10170 = 0, i10171 = 0, i10172 = 0, i10173 = 0, i10174 = 0, i10175 = 0, i10176 = 0, i10177 = 0, i10178 = 0, i10179 = 0;
+ int i10180 = 0, i10181 = 0, i10182 = 0, i10183 = 0, i10184 = 0, i10185 = 0, i10186 = 0, i10187 = 0, i10188 = 0, i10189 = 0;
+ int i10190 = 0, i10191 = 0, i10192 = 0, i10193 = 0, i10194 = 0, i10195 = 0, i10196 = 0, i10197 = 0, i10198 = 0, i10199 = 0;
+ int i10200 = 0, i10201 = 0, i10202 = 0, i10203 = 0, i10204 = 0, i10205 = 0, i10206 = 0, i10207 = 0, i10208 = 0, i10209 = 0;
+ int i10210 = 0, i10211 = 0, i10212 = 0, i10213 = 0, i10214 = 0, i10215 = 0, i10216 = 0, i10217 = 0, i10218 = 0, i10219 = 0;
+ int i10220 = 0, i10221 = 0, i10222 = 0, i10223 = 0, i10224 = 0, i10225 = 0, i10226 = 0, i10227 = 0, i10228 = 0, i10229 = 0;
+ int i10230 = 0, i10231 = 0, i10232 = 0, i10233 = 0, i10234 = 0, i10235 = 0, i10236 = 0, i10237 = 0, i10238 = 0, i10239 = 0;
+ int i10240 = 0, i10241 = 0, i10242 = 0, i10243 = 0, i10244 = 0, i10245 = 0, i10246 = 0, i10247 = 0, i10248 = 0, i10249 = 0;
+ int i10250 = 0, i10251 = 0, i10252 = 0, i10253 = 0, i10254 = 0, i10255 = 0, i10256 = 0, i10257 = 0, i10258 = 0, i10259 = 0;
+ int i10260 = 0, i10261 = 0, i10262 = 0, i10263 = 0, i10264 = 0, i10265 = 0, i10266 = 0, i10267 = 0, i10268 = 0, i10269 = 0;
+ int i10270 = 0, i10271 = 0, i10272 = 0, i10273 = 0, i10274 = 0, i10275 = 0, i10276 = 0, i10277 = 0, i10278 = 0, i10279 = 0;
+ int i10280 = 0, i10281 = 0, i10282 = 0, i10283 = 0, i10284 = 0, i10285 = 0, i10286 = 0, i10287 = 0, i10288 = 0, i10289 = 0;
+ int i10290 = 0, i10291 = 0, i10292 = 0, i10293 = 0, i10294 = 0, i10295 = 0, i10296 = 0, i10297 = 0, i10298 = 0, i10299 = 0;
+ int i10300 = 0, i10301 = 0, i10302 = 0, i10303 = 0, i10304 = 0, i10305 = 0, i10306 = 0, i10307 = 0, i10308 = 0, i10309 = 0;
+ int i10310 = 0, i10311 = 0, i10312 = 0, i10313 = 0, i10314 = 0, i10315 = 0, i10316 = 0, i10317 = 0, i10318 = 0, i10319 = 0;
+ int i10320 = 0, i10321 = 0, i10322 = 0, i10323 = 0, i10324 = 0, i10325 = 0, i10326 = 0, i10327 = 0, i10328 = 0, i10329 = 0;
+ int i10330 = 0, i10331 = 0, i10332 = 0, i10333 = 0, i10334 = 0, i10335 = 0, i10336 = 0, i10337 = 0, i10338 = 0, i10339 = 0;
+ int i10340 = 0, i10341 = 0, i10342 = 0, i10343 = 0, i10344 = 0, i10345 = 0, i10346 = 0, i10347 = 0, i10348 = 0, i10349 = 0;
+ int i10350 = 0, i10351 = 0, i10352 = 0, i10353 = 0, i10354 = 0, i10355 = 0, i10356 = 0, i10357 = 0, i10358 = 0, i10359 = 0;
+ int i10360 = 0, i10361 = 0, i10362 = 0, i10363 = 0, i10364 = 0, i10365 = 0, i10366 = 0, i10367 = 0, i10368 = 0, i10369 = 0;
+ int i10370 = 0, i10371 = 0, i10372 = 0, i10373 = 0, i10374 = 0, i10375 = 0, i10376 = 0, i10377 = 0, i10378 = 0, i10379 = 0;
+ int i10380 = 0, i10381 = 0, i10382 = 0, i10383 = 0, i10384 = 0, i10385 = 0, i10386 = 0, i10387 = 0, i10388 = 0, i10389 = 0;
+ int i10390 = 0, i10391 = 0, i10392 = 0, i10393 = 0, i10394 = 0, i10395 = 0, i10396 = 0, i10397 = 0, i10398 = 0, i10399 = 0;
+ int i10400 = 0, i10401 = 0, i10402 = 0, i10403 = 0, i10404 = 0, i10405 = 0, i10406 = 0, i10407 = 0, i10408 = 0, i10409 = 0;
+ int i10410 = 0, i10411 = 0, i10412 = 0, i10413 = 0, i10414 = 0, i10415 = 0, i10416 = 0, i10417 = 0, i10418 = 0, i10419 = 0;
+ int i10420 = 0, i10421 = 0, i10422 = 0, i10423 = 0, i10424 = 0, i10425 = 0, i10426 = 0, i10427 = 0, i10428 = 0, i10429 = 0;
+ int i10430 = 0, i10431 = 0, i10432 = 0, i10433 = 0, i10434 = 0, i10435 = 0, i10436 = 0, i10437 = 0, i10438 = 0, i10439 = 0;
+ int i10440 = 0, i10441 = 0, i10442 = 0, i10443 = 0, i10444 = 0, i10445 = 0, i10446 = 0, i10447 = 0, i10448 = 0, i10449 = 0;
+ int i10450 = 0, i10451 = 0, i10452 = 0, i10453 = 0, i10454 = 0, i10455 = 0, i10456 = 0, i10457 = 0, i10458 = 0, i10459 = 0;
+ int i10460 = 0, i10461 = 0, i10462 = 0, i10463 = 0, i10464 = 0, i10465 = 0, i10466 = 0, i10467 = 0, i10468 = 0, i10469 = 0;
+ int i10470 = 0, i10471 = 0, i10472 = 0, i10473 = 0, i10474 = 0, i10475 = 0, i10476 = 0, i10477 = 0, i10478 = 0, i10479 = 0;
+ int i10480 = 0, i10481 = 0, i10482 = 0, i10483 = 0, i10484 = 0, i10485 = 0, i10486 = 0, i10487 = 0, i10488 = 0, i10489 = 0;
+ int i10490 = 0, i10491 = 0, i10492 = 0, i10493 = 0, i10494 = 0, i10495 = 0, i10496 = 0, i10497 = 0, i10498 = 0, i10499 = 0;
+ int i10500 = 0, i10501 = 0, i10502 = 0, i10503 = 0, i10504 = 0, i10505 = 0, i10506 = 0, i10507 = 0, i10508 = 0, i10509 = 0;
+ int i10510 = 0, i10511 = 0, i10512 = 0, i10513 = 0, i10514 = 0, i10515 = 0, i10516 = 0, i10517 = 0, i10518 = 0, i10519 = 0;
+ int i10520 = 0, i10521 = 0, i10522 = 0, i10523 = 0, i10524 = 0, i10525 = 0, i10526 = 0, i10527 = 0, i10528 = 0, i10529 = 0;
+ int i10530 = 0, i10531 = 0, i10532 = 0, i10533 = 0, i10534 = 0, i10535 = 0, i10536 = 0, i10537 = 0, i10538 = 0, i10539 = 0;
+ int i10540 = 0, i10541 = 0, i10542 = 0, i10543 = 0, i10544 = 0, i10545 = 0, i10546 = 0, i10547 = 0, i10548 = 0, i10549 = 0;
+ int i10550 = 0, i10551 = 0, i10552 = 0, i10553 = 0, i10554 = 0, i10555 = 0, i10556 = 0, i10557 = 0, i10558 = 0, i10559 = 0;
+ int i10560 = 0, i10561 = 0, i10562 = 0, i10563 = 0, i10564 = 0, i10565 = 0, i10566 = 0, i10567 = 0, i10568 = 0, i10569 = 0;
+ int i10570 = 0, i10571 = 0, i10572 = 0, i10573 = 0, i10574 = 0, i10575 = 0, i10576 = 0, i10577 = 0, i10578 = 0, i10579 = 0;
+ int i10580 = 0, i10581 = 0, i10582 = 0, i10583 = 0, i10584 = 0, i10585 = 0, i10586 = 0, i10587 = 0, i10588 = 0, i10589 = 0;
+ int i10590 = 0, i10591 = 0, i10592 = 0, i10593 = 0, i10594 = 0, i10595 = 0, i10596 = 0, i10597 = 0, i10598 = 0, i10599 = 0;
+ int i10600 = 0, i10601 = 0, i10602 = 0, i10603 = 0, i10604 = 0, i10605 = 0, i10606 = 0, i10607 = 0, i10608 = 0, i10609 = 0;
+ int i10610 = 0, i10611 = 0, i10612 = 0, i10613 = 0, i10614 = 0, i10615 = 0, i10616 = 0, i10617 = 0, i10618 = 0, i10619 = 0;
+ int i10620 = 0, i10621 = 0, i10622 = 0, i10623 = 0, i10624 = 0, i10625 = 0, i10626 = 0, i10627 = 0, i10628 = 0, i10629 = 0;
+ int i10630 = 0, i10631 = 0, i10632 = 0, i10633 = 0, i10634 = 0, i10635 = 0, i10636 = 0, i10637 = 0, i10638 = 0, i10639 = 0;
+ int i10640 = 0, i10641 = 0, i10642 = 0, i10643 = 0, i10644 = 0, i10645 = 0, i10646 = 0, i10647 = 0, i10648 = 0, i10649 = 0;
+ int i10650 = 0, i10651 = 0, i10652 = 0, i10653 = 0, i10654 = 0, i10655 = 0, i10656 = 0, i10657 = 0, i10658 = 0, i10659 = 0;
+ int i10660 = 0, i10661 = 0, i10662 = 0, i10663 = 0, i10664 = 0, i10665 = 0, i10666 = 0, i10667 = 0, i10668 = 0, i10669 = 0;
+ int i10670 = 0, i10671 = 0, i10672 = 0, i10673 = 0, i10674 = 0, i10675 = 0, i10676 = 0, i10677 = 0, i10678 = 0, i10679 = 0;
+ int i10680 = 0, i10681 = 0, i10682 = 0, i10683 = 0, i10684 = 0, i10685 = 0, i10686 = 0, i10687 = 0, i10688 = 0, i10689 = 0;
+ int i10690 = 0, i10691 = 0, i10692 = 0, i10693 = 0, i10694 = 0, i10695 = 0, i10696 = 0, i10697 = 0, i10698 = 0, i10699 = 0;
+ int i10700 = 0, i10701 = 0, i10702 = 0, i10703 = 0, i10704 = 0, i10705 = 0, i10706 = 0, i10707 = 0, i10708 = 0, i10709 = 0;
+ int i10710 = 0, i10711 = 0, i10712 = 0, i10713 = 0, i10714 = 0, i10715 = 0, i10716 = 0, i10717 = 0, i10718 = 0, i10719 = 0;
+ int i10720 = 0, i10721 = 0, i10722 = 0, i10723 = 0, i10724 = 0, i10725 = 0, i10726 = 0, i10727 = 0, i10728 = 0, i10729 = 0;
+ int i10730 = 0, i10731 = 0, i10732 = 0, i10733 = 0, i10734 = 0, i10735 = 0, i10736 = 0, i10737 = 0, i10738 = 0, i10739 = 0;
+ int i10740 = 0, i10741 = 0, i10742 = 0, i10743 = 0, i10744 = 0, i10745 = 0, i10746 = 0, i10747 = 0, i10748 = 0, i10749 = 0;
+ int i10750 = 0, i10751 = 0, i10752 = 0, i10753 = 0, i10754 = 0, i10755 = 0, i10756 = 0, i10757 = 0, i10758 = 0, i10759 = 0;
+ int i10760 = 0, i10761 = 0, i10762 = 0, i10763 = 0, i10764 = 0, i10765 = 0, i10766 = 0, i10767 = 0, i10768 = 0, i10769 = 0;
+ int i10770 = 0, i10771 = 0, i10772 = 0, i10773 = 0, i10774 = 0, i10775 = 0, i10776 = 0, i10777 = 0, i10778 = 0, i10779 = 0;
+ int i10780 = 0, i10781 = 0, i10782 = 0, i10783 = 0, i10784 = 0, i10785 = 0, i10786 = 0, i10787 = 0, i10788 = 0, i10789 = 0;
+ int i10790 = 0, i10791 = 0, i10792 = 0, i10793 = 0, i10794 = 0, i10795 = 0, i10796 = 0, i10797 = 0, i10798 = 0, i10799 = 0;
+ int i10800 = 0, i10801 = 0, i10802 = 0, i10803 = 0, i10804 = 0, i10805 = 0, i10806 = 0, i10807 = 0, i10808 = 0, i10809 = 0;
+ int i10810 = 0, i10811 = 0, i10812 = 0, i10813 = 0, i10814 = 0, i10815 = 0, i10816 = 0, i10817 = 0, i10818 = 0, i10819 = 0;
+ int i10820 = 0, i10821 = 0, i10822 = 0, i10823 = 0, i10824 = 0, i10825 = 0, i10826 = 0, i10827 = 0, i10828 = 0, i10829 = 0;
+ int i10830 = 0, i10831 = 0, i10832 = 0, i10833 = 0, i10834 = 0, i10835 = 0, i10836 = 0, i10837 = 0, i10838 = 0, i10839 = 0;
+ int i10840 = 0, i10841 = 0, i10842 = 0, i10843 = 0, i10844 = 0, i10845 = 0, i10846 = 0, i10847 = 0, i10848 = 0, i10849 = 0;
+ int i10850 = 0, i10851 = 0, i10852 = 0, i10853 = 0, i10854 = 0, i10855 = 0, i10856 = 0, i10857 = 0, i10858 = 0, i10859 = 0;
+ int i10860 = 0, i10861 = 0, i10862 = 0, i10863 = 0, i10864 = 0, i10865 = 0, i10866 = 0, i10867 = 0, i10868 = 0, i10869 = 0;
+ int i10870 = 0, i10871 = 0, i10872 = 0, i10873 = 0, i10874 = 0, i10875 = 0, i10876 = 0, i10877 = 0, i10878 = 0, i10879 = 0;
+ int i10880 = 0, i10881 = 0, i10882 = 0, i10883 = 0, i10884 = 0, i10885 = 0, i10886 = 0, i10887 = 0, i10888 = 0, i10889 = 0;
+ int i10890 = 0, i10891 = 0, i10892 = 0, i10893 = 0, i10894 = 0, i10895 = 0, i10896 = 0, i10897 = 0, i10898 = 0, i10899 = 0;
+ int i10900 = 0, i10901 = 0, i10902 = 0, i10903 = 0, i10904 = 0, i10905 = 0, i10906 = 0, i10907 = 0, i10908 = 0, i10909 = 0;
+ int i10910 = 0, i10911 = 0, i10912 = 0, i10913 = 0, i10914 = 0, i10915 = 0, i10916 = 0, i10917 = 0, i10918 = 0, i10919 = 0;
+ int i10920 = 0, i10921 = 0, i10922 = 0, i10923 = 0, i10924 = 0, i10925 = 0, i10926 = 0, i10927 = 0, i10928 = 0, i10929 = 0;
+ int i10930 = 0, i10931 = 0, i10932 = 0, i10933 = 0, i10934 = 0, i10935 = 0, i10936 = 0, i10937 = 0, i10938 = 0, i10939 = 0;
+ int i10940 = 0, i10941 = 0, i10942 = 0, i10943 = 0, i10944 = 0, i10945 = 0, i10946 = 0, i10947 = 0, i10948 = 0, i10949 = 0;
+ int i10950 = 0, i10951 = 0, i10952 = 0, i10953 = 0, i10954 = 0, i10955 = 0, i10956 = 0, i10957 = 0, i10958 = 0, i10959 = 0;
+ int i10960 = 0, i10961 = 0, i10962 = 0, i10963 = 0, i10964 = 0, i10965 = 0, i10966 = 0, i10967 = 0, i10968 = 0, i10969 = 0;
+ int i10970 = 0, i10971 = 0, i10972 = 0, i10973 = 0, i10974 = 0, i10975 = 0, i10976 = 0, i10977 = 0, i10978 = 0, i10979 = 0;
+ int i10980 = 0, i10981 = 0, i10982 = 0, i10983 = 0, i10984 = 0, i10985 = 0, i10986 = 0, i10987 = 0, i10988 = 0, i10989 = 0;
+ int i10990 = 0, i10991 = 0, i10992 = 0, i10993 = 0, i10994 = 0, i10995 = 0, i10996 = 0, i10997 = 0, i10998 = 0, i10999 = 0;
+ int i11000 = 0, i11001 = 0, i11002 = 0, i11003 = 0, i11004 = 0, i11005 = 0, i11006 = 0, i11007 = 0, i11008 = 0, i11009 = 0;
+ int i11010 = 0, i11011 = 0, i11012 = 0, i11013 = 0, i11014 = 0, i11015 = 0, i11016 = 0, i11017 = 0, i11018 = 0, i11019 = 0;
+ int i11020 = 0, i11021 = 0, i11022 = 0, i11023 = 0, i11024 = 0, i11025 = 0, i11026 = 0, i11027 = 0, i11028 = 0, i11029 = 0;
+ int i11030 = 0, i11031 = 0, i11032 = 0, i11033 = 0, i11034 = 0, i11035 = 0, i11036 = 0, i11037 = 0, i11038 = 0, i11039 = 0;
+ int i11040 = 0, i11041 = 0, i11042 = 0, i11043 = 0, i11044 = 0, i11045 = 0, i11046 = 0, i11047 = 0, i11048 = 0, i11049 = 0;
+ int i11050 = 0, i11051 = 0, i11052 = 0, i11053 = 0, i11054 = 0, i11055 = 0, i11056 = 0, i11057 = 0, i11058 = 0, i11059 = 0;
+ int i11060 = 0, i11061 = 0, i11062 = 0, i11063 = 0, i11064 = 0, i11065 = 0, i11066 = 0, i11067 = 0, i11068 = 0, i11069 = 0;
+ int i11070 = 0, i11071 = 0, i11072 = 0, i11073 = 0, i11074 = 0, i11075 = 0, i11076 = 0, i11077 = 0, i11078 = 0, i11079 = 0;
+ int i11080 = 0, i11081 = 0, i11082 = 0, i11083 = 0, i11084 = 0, i11085 = 0, i11086 = 0, i11087 = 0, i11088 = 0, i11089 = 0;
+ int i11090 = 0, i11091 = 0, i11092 = 0, i11093 = 0, i11094 = 0, i11095 = 0, i11096 = 0, i11097 = 0, i11098 = 0, i11099 = 0;
+ int i11100 = 0, i11101 = 0, i11102 = 0, i11103 = 0, i11104 = 0, i11105 = 0, i11106 = 0, i11107 = 0, i11108 = 0, i11109 = 0;
+ int i11110 = 0, i11111 = 0, i11112 = 0, i11113 = 0, i11114 = 0, i11115 = 0, i11116 = 0, i11117 = 0, i11118 = 0, i11119 = 0;
+ int i11120 = 0, i11121 = 0, i11122 = 0, i11123 = 0, i11124 = 0, i11125 = 0, i11126 = 0, i11127 = 0, i11128 = 0, i11129 = 0;
+ int i11130 = 0, i11131 = 0, i11132 = 0, i11133 = 0, i11134 = 0, i11135 = 0, i11136 = 0, i11137 = 0, i11138 = 0, i11139 = 0;
+ int i11140 = 0, i11141 = 0, i11142 = 0, i11143 = 0, i11144 = 0, i11145 = 0, i11146 = 0, i11147 = 0, i11148 = 0, i11149 = 0;
+ int i11150 = 0, i11151 = 0, i11152 = 0, i11153 = 0, i11154 = 0, i11155 = 0, i11156 = 0, i11157 = 0, i11158 = 0, i11159 = 0;
+ int i11160 = 0, i11161 = 0, i11162 = 0, i11163 = 0, i11164 = 0, i11165 = 0, i11166 = 0, i11167 = 0, i11168 = 0, i11169 = 0;
+ int i11170 = 0, i11171 = 0, i11172 = 0, i11173 = 0, i11174 = 0, i11175 = 0, i11176 = 0, i11177 = 0, i11178 = 0, i11179 = 0;
+ int i11180 = 0, i11181 = 0, i11182 = 0, i11183 = 0, i11184 = 0, i11185 = 0, i11186 = 0, i11187 = 0, i11188 = 0, i11189 = 0;
+ int i11190 = 0, i11191 = 0, i11192 = 0, i11193 = 0, i11194 = 0, i11195 = 0, i11196 = 0, i11197 = 0, i11198 = 0, i11199 = 0;
+ int i11200 = 0, i11201 = 0, i11202 = 0, i11203 = 0, i11204 = 0, i11205 = 0, i11206 = 0, i11207 = 0, i11208 = 0, i11209 = 0;
+ int i11210 = 0, i11211 = 0, i11212 = 0, i11213 = 0, i11214 = 0, i11215 = 0, i11216 = 0, i11217 = 0, i11218 = 0, i11219 = 0;
+ int i11220 = 0, i11221 = 0, i11222 = 0, i11223 = 0, i11224 = 0, i11225 = 0, i11226 = 0, i11227 = 0, i11228 = 0, i11229 = 0;
+ int i11230 = 0, i11231 = 0, i11232 = 0, i11233 = 0, i11234 = 0, i11235 = 0, i11236 = 0, i11237 = 0, i11238 = 0, i11239 = 0;
+ int i11240 = 0, i11241 = 0, i11242 = 0, i11243 = 0, i11244 = 0, i11245 = 0, i11246 = 0, i11247 = 0, i11248 = 0, i11249 = 0;
+ int i11250 = 0, i11251 = 0, i11252 = 0, i11253 = 0, i11254 = 0, i11255 = 0, i11256 = 0, i11257 = 0, i11258 = 0, i11259 = 0;
+ int i11260 = 0, i11261 = 0, i11262 = 0, i11263 = 0, i11264 = 0, i11265 = 0, i11266 = 0, i11267 = 0, i11268 = 0, i11269 = 0;
+ int i11270 = 0, i11271 = 0, i11272 = 0, i11273 = 0, i11274 = 0, i11275 = 0, i11276 = 0, i11277 = 0, i11278 = 0, i11279 = 0;
+ int i11280 = 0, i11281 = 0, i11282 = 0, i11283 = 0, i11284 = 0, i11285 = 0, i11286 = 0, i11287 = 0, i11288 = 0, i11289 = 0;
+ int i11290 = 0, i11291 = 0, i11292 = 0, i11293 = 0, i11294 = 0, i11295 = 0, i11296 = 0, i11297 = 0, i11298 = 0, i11299 = 0;
+ int i11300 = 0, i11301 = 0, i11302 = 0, i11303 = 0, i11304 = 0, i11305 = 0, i11306 = 0, i11307 = 0, i11308 = 0, i11309 = 0;
+ int i11310 = 0, i11311 = 0, i11312 = 0, i11313 = 0, i11314 = 0, i11315 = 0, i11316 = 0, i11317 = 0, i11318 = 0, i11319 = 0;
+ int i11320 = 0, i11321 = 0, i11322 = 0, i11323 = 0, i11324 = 0, i11325 = 0, i11326 = 0, i11327 = 0, i11328 = 0, i11329 = 0;
+ int i11330 = 0, i11331 = 0, i11332 = 0, i11333 = 0, i11334 = 0, i11335 = 0, i11336 = 0, i11337 = 0, i11338 = 0, i11339 = 0;
+ int i11340 = 0, i11341 = 0, i11342 = 0, i11343 = 0, i11344 = 0, i11345 = 0, i11346 = 0, i11347 = 0, i11348 = 0, i11349 = 0;
+ int i11350 = 0, i11351 = 0, i11352 = 0, i11353 = 0, i11354 = 0, i11355 = 0, i11356 = 0, i11357 = 0, i11358 = 0, i11359 = 0;
+ int i11360 = 0, i11361 = 0, i11362 = 0, i11363 = 0, i11364 = 0, i11365 = 0, i11366 = 0, i11367 = 0, i11368 = 0, i11369 = 0;
+ int i11370 = 0, i11371 = 0, i11372 = 0, i11373 = 0, i11374 = 0, i11375 = 0, i11376 = 0, i11377 = 0, i11378 = 0, i11379 = 0;
+ int i11380 = 0, i11381 = 0, i11382 = 0, i11383 = 0, i11384 = 0, i11385 = 0, i11386 = 0, i11387 = 0, i11388 = 0, i11389 = 0;
+ int i11390 = 0, i11391 = 0, i11392 = 0, i11393 = 0, i11394 = 0, i11395 = 0, i11396 = 0, i11397 = 0, i11398 = 0, i11399 = 0;
+ int i11400 = 0, i11401 = 0, i11402 = 0, i11403 = 0, i11404 = 0, i11405 = 0, i11406 = 0, i11407 = 0, i11408 = 0, i11409 = 0;
+ int i11410 = 0, i11411 = 0, i11412 = 0, i11413 = 0, i11414 = 0, i11415 = 0, i11416 = 0, i11417 = 0, i11418 = 0, i11419 = 0;
+ int i11420 = 0, i11421 = 0, i11422 = 0, i11423 = 0, i11424 = 0, i11425 = 0, i11426 = 0, i11427 = 0, i11428 = 0, i11429 = 0;
+ int i11430 = 0, i11431 = 0, i11432 = 0, i11433 = 0, i11434 = 0, i11435 = 0, i11436 = 0, i11437 = 0, i11438 = 0, i11439 = 0;
+ int i11440 = 0, i11441 = 0, i11442 = 0, i11443 = 0, i11444 = 0, i11445 = 0, i11446 = 0, i11447 = 0, i11448 = 0, i11449 = 0;
+ int i11450 = 0, i11451 = 0, i11452 = 0, i11453 = 0, i11454 = 0, i11455 = 0, i11456 = 0, i11457 = 0, i11458 = 0, i11459 = 0;
+ int i11460 = 0, i11461 = 0, i11462 = 0, i11463 = 0, i11464 = 0, i11465 = 0, i11466 = 0, i11467 = 0, i11468 = 0, i11469 = 0;
+ int i11470 = 0, i11471 = 0, i11472 = 0, i11473 = 0, i11474 = 0, i11475 = 0, i11476 = 0, i11477 = 0, i11478 = 0, i11479 = 0;
+ int i11480 = 0, i11481 = 0, i11482 = 0, i11483 = 0, i11484 = 0, i11485 = 0, i11486 = 0, i11487 = 0, i11488 = 0, i11489 = 0;
+ int i11490 = 0, i11491 = 0, i11492 = 0, i11493 = 0, i11494 = 0, i11495 = 0, i11496 = 0, i11497 = 0, i11498 = 0, i11499 = 0;
+ int i11500 = 0, i11501 = 0, i11502 = 0, i11503 = 0, i11504 = 0, i11505 = 0, i11506 = 0, i11507 = 0, i11508 = 0, i11509 = 0;
+ int i11510 = 0, i11511 = 0, i11512 = 0, i11513 = 0, i11514 = 0, i11515 = 0, i11516 = 0, i11517 = 0, i11518 = 0, i11519 = 0;
+ int i11520 = 0, i11521 = 0, i11522 = 0, i11523 = 0, i11524 = 0, i11525 = 0, i11526 = 0, i11527 = 0, i11528 = 0, i11529 = 0;
+ int i11530 = 0, i11531 = 0, i11532 = 0, i11533 = 0, i11534 = 0, i11535 = 0, i11536 = 0, i11537 = 0, i11538 = 0, i11539 = 0;
+ int i11540 = 0, i11541 = 0, i11542 = 0, i11543 = 0, i11544 = 0, i11545 = 0, i11546 = 0, i11547 = 0, i11548 = 0, i11549 = 0;
+ int i11550 = 0, i11551 = 0, i11552 = 0, i11553 = 0, i11554 = 0, i11555 = 0, i11556 = 0, i11557 = 0, i11558 = 0, i11559 = 0;
+ int i11560 = 0, i11561 = 0, i11562 = 0, i11563 = 0, i11564 = 0, i11565 = 0, i11566 = 0, i11567 = 0, i11568 = 0, i11569 = 0;
+ int i11570 = 0, i11571 = 0, i11572 = 0, i11573 = 0, i11574 = 0, i11575 = 0, i11576 = 0, i11577 = 0, i11578 = 0, i11579 = 0;
+ int i11580 = 0, i11581 = 0, i11582 = 0, i11583 = 0, i11584 = 0, i11585 = 0, i11586 = 0, i11587 = 0, i11588 = 0, i11589 = 0;
+ int i11590 = 0, i11591 = 0, i11592 = 0, i11593 = 0, i11594 = 0, i11595 = 0, i11596 = 0, i11597 = 0, i11598 = 0, i11599 = 0;
+ int i11600 = 0, i11601 = 0, i11602 = 0, i11603 = 0, i11604 = 0, i11605 = 0, i11606 = 0, i11607 = 0, i11608 = 0, i11609 = 0;
+ int i11610 = 0, i11611 = 0, i11612 = 0, i11613 = 0, i11614 = 0, i11615 = 0, i11616 = 0, i11617 = 0, i11618 = 0, i11619 = 0;
+ int i11620 = 0, i11621 = 0, i11622 = 0, i11623 = 0, i11624 = 0, i11625 = 0, i11626 = 0, i11627 = 0, i11628 = 0, i11629 = 0;
+ int i11630 = 0, i11631 = 0, i11632 = 0, i11633 = 0, i11634 = 0, i11635 = 0, i11636 = 0, i11637 = 0, i11638 = 0, i11639 = 0;
+ int i11640 = 0, i11641 = 0, i11642 = 0, i11643 = 0, i11644 = 0, i11645 = 0, i11646 = 0, i11647 = 0, i11648 = 0, i11649 = 0;
+ int i11650 = 0, i11651 = 0, i11652 = 0, i11653 = 0, i11654 = 0, i11655 = 0, i11656 = 0, i11657 = 0, i11658 = 0, i11659 = 0;
+ int i11660 = 0, i11661 = 0, i11662 = 0, i11663 = 0, i11664 = 0, i11665 = 0, i11666 = 0, i11667 = 0, i11668 = 0, i11669 = 0;
+ int i11670 = 0, i11671 = 0, i11672 = 0, i11673 = 0, i11674 = 0, i11675 = 0, i11676 = 0, i11677 = 0, i11678 = 0, i11679 = 0;
+ int i11680 = 0, i11681 = 0, i11682 = 0, i11683 = 0, i11684 = 0, i11685 = 0, i11686 = 0, i11687 = 0, i11688 = 0, i11689 = 0;
+ int i11690 = 0, i11691 = 0, i11692 = 0, i11693 = 0, i11694 = 0, i11695 = 0, i11696 = 0, i11697 = 0, i11698 = 0, i11699 = 0;
+ int i11700 = 0, i11701 = 0, i11702 = 0, i11703 = 0, i11704 = 0, i11705 = 0, i11706 = 0, i11707 = 0, i11708 = 0, i11709 = 0;
+ int i11710 = 0, i11711 = 0, i11712 = 0, i11713 = 0, i11714 = 0, i11715 = 0, i11716 = 0, i11717 = 0, i11718 = 0, i11719 = 0;
+ int i11720 = 0, i11721 = 0, i11722 = 0, i11723 = 0, i11724 = 0, i11725 = 0, i11726 = 0, i11727 = 0, i11728 = 0, i11729 = 0;
+ int i11730 = 0, i11731 = 0, i11732 = 0, i11733 = 0, i11734 = 0, i11735 = 0, i11736 = 0, i11737 = 0, i11738 = 0, i11739 = 0;
+ int i11740 = 0, i11741 = 0, i11742 = 0, i11743 = 0, i11744 = 0, i11745 = 0, i11746 = 0, i11747 = 0, i11748 = 0, i11749 = 0;
+ int i11750 = 0, i11751 = 0, i11752 = 0, i11753 = 0, i11754 = 0, i11755 = 0, i11756 = 0, i11757 = 0, i11758 = 0, i11759 = 0;
+ int i11760 = 0, i11761 = 0, i11762 = 0, i11763 = 0, i11764 = 0, i11765 = 0, i11766 = 0, i11767 = 0, i11768 = 0, i11769 = 0;
+ int i11770 = 0, i11771 = 0, i11772 = 0, i11773 = 0, i11774 = 0, i11775 = 0, i11776 = 0, i11777 = 0, i11778 = 0, i11779 = 0;
+ int i11780 = 0, i11781 = 0, i11782 = 0, i11783 = 0, i11784 = 0, i11785 = 0, i11786 = 0, i11787 = 0, i11788 = 0, i11789 = 0;
+ int i11790 = 0, i11791 = 0, i11792 = 0, i11793 = 0, i11794 = 0, i11795 = 0, i11796 = 0, i11797 = 0, i11798 = 0, i11799 = 0;
+ int i11800 = 0, i11801 = 0, i11802 = 0, i11803 = 0, i11804 = 0, i11805 = 0, i11806 = 0, i11807 = 0, i11808 = 0, i11809 = 0;
+ int i11810 = 0, i11811 = 0, i11812 = 0, i11813 = 0, i11814 = 0, i11815 = 0, i11816 = 0, i11817 = 0, i11818 = 0, i11819 = 0;
+ int i11820 = 0, i11821 = 0, i11822 = 0, i11823 = 0, i11824 = 0, i11825 = 0, i11826 = 0, i11827 = 0, i11828 = 0, i11829 = 0;
+ int i11830 = 0, i11831 = 0, i11832 = 0, i11833 = 0, i11834 = 0, i11835 = 0, i11836 = 0, i11837 = 0, i11838 = 0, i11839 = 0;
+ int i11840 = 0, i11841 = 0, i11842 = 0, i11843 = 0, i11844 = 0, i11845 = 0, i11846 = 0, i11847 = 0, i11848 = 0, i11849 = 0;
+ int i11850 = 0, i11851 = 0, i11852 = 0, i11853 = 0, i11854 = 0, i11855 = 0, i11856 = 0, i11857 = 0, i11858 = 0, i11859 = 0;
+ int i11860 = 0, i11861 = 0, i11862 = 0, i11863 = 0, i11864 = 0, i11865 = 0, i11866 = 0, i11867 = 0, i11868 = 0, i11869 = 0;
+ int i11870 = 0, i11871 = 0, i11872 = 0, i11873 = 0, i11874 = 0, i11875 = 0, i11876 = 0, i11877 = 0, i11878 = 0, i11879 = 0;
+ int i11880 = 0, i11881 = 0, i11882 = 0, i11883 = 0, i11884 = 0, i11885 = 0, i11886 = 0, i11887 = 0, i11888 = 0, i11889 = 0;
+ int i11890 = 0, i11891 = 0, i11892 = 0, i11893 = 0, i11894 = 0, i11895 = 0, i11896 = 0, i11897 = 0, i11898 = 0, i11899 = 0;
+ int i11900 = 0, i11901 = 0, i11902 = 0, i11903 = 0, i11904 = 0, i11905 = 0, i11906 = 0, i11907 = 0, i11908 = 0, i11909 = 0;
+ int i11910 = 0, i11911 = 0, i11912 = 0, i11913 = 0, i11914 = 0, i11915 = 0, i11916 = 0, i11917 = 0, i11918 = 0, i11919 = 0;
+ int i11920 = 0, i11921 = 0, i11922 = 0, i11923 = 0, i11924 = 0, i11925 = 0, i11926 = 0, i11927 = 0, i11928 = 0, i11929 = 0;
+ int i11930 = 0, i11931 = 0, i11932 = 0, i11933 = 0, i11934 = 0, i11935 = 0, i11936 = 0, i11937 = 0, i11938 = 0, i11939 = 0;
+ int i11940 = 0, i11941 = 0, i11942 = 0, i11943 = 0, i11944 = 0, i11945 = 0, i11946 = 0, i11947 = 0, i11948 = 0, i11949 = 0;
+ int i11950 = 0, i11951 = 0, i11952 = 0, i11953 = 0, i11954 = 0, i11955 = 0, i11956 = 0, i11957 = 0, i11958 = 0, i11959 = 0;
+ int i11960 = 0, i11961 = 0, i11962 = 0, i11963 = 0, i11964 = 0, i11965 = 0, i11966 = 0, i11967 = 0, i11968 = 0, i11969 = 0;
+ int i11970 = 0, i11971 = 0, i11972 = 0, i11973 = 0, i11974 = 0, i11975 = 0, i11976 = 0, i11977 = 0, i11978 = 0, i11979 = 0;
+ int i11980 = 0, i11981 = 0, i11982 = 0, i11983 = 0, i11984 = 0, i11985 = 0, i11986 = 0, i11987 = 0, i11988 = 0, i11989 = 0;
+ int i11990 = 0, i11991 = 0, i11992 = 0, i11993 = 0, i11994 = 0, i11995 = 0, i11996 = 0, i11997 = 0, i11998 = 0, i11999 = 0;
+ int i12000 = 0, i12001 = 0, i12002 = 0, i12003 = 0, i12004 = 0, i12005 = 0, i12006 = 0, i12007 = 0, i12008 = 0, i12009 = 0;
+ int i12010 = 0, i12011 = 0, i12012 = 0, i12013 = 0, i12014 = 0, i12015 = 0, i12016 = 0, i12017 = 0, i12018 = 0, i12019 = 0;
+ int i12020 = 0, i12021 = 0, i12022 = 0, i12023 = 0, i12024 = 0, i12025 = 0, i12026 = 0, i12027 = 0, i12028 = 0, i12029 = 0;
+ int i12030 = 0, i12031 = 0, i12032 = 0, i12033 = 0, i12034 = 0, i12035 = 0, i12036 = 0, i12037 = 0, i12038 = 0, i12039 = 0;
+ int i12040 = 0, i12041 = 0, i12042 = 0, i12043 = 0, i12044 = 0, i12045 = 0, i12046 = 0, i12047 = 0, i12048 = 0, i12049 = 0;
+ int i12050 = 0, i12051 = 0, i12052 = 0, i12053 = 0, i12054 = 0, i12055 = 0, i12056 = 0, i12057 = 0, i12058 = 0, i12059 = 0;
+ int i12060 = 0, i12061 = 0, i12062 = 0, i12063 = 0, i12064 = 0, i12065 = 0, i12066 = 0, i12067 = 0, i12068 = 0, i12069 = 0;
+ int i12070 = 0, i12071 = 0, i12072 = 0, i12073 = 0, i12074 = 0, i12075 = 0, i12076 = 0, i12077 = 0, i12078 = 0, i12079 = 0;
+ int i12080 = 0, i12081 = 0, i12082 = 0, i12083 = 0, i12084 = 0, i12085 = 0, i12086 = 0, i12087 = 0, i12088 = 0, i12089 = 0;
+ int i12090 = 0, i12091 = 0, i12092 = 0, i12093 = 0, i12094 = 0, i12095 = 0, i12096 = 0, i12097 = 0, i12098 = 0, i12099 = 0;
+ int i12100 = 0, i12101 = 0, i12102 = 0, i12103 = 0, i12104 = 0, i12105 = 0, i12106 = 0, i12107 = 0, i12108 = 0, i12109 = 0;
+ int i12110 = 0, i12111 = 0, i12112 = 0, i12113 = 0, i12114 = 0, i12115 = 0, i12116 = 0, i12117 = 0, i12118 = 0, i12119 = 0;
+ int i12120 = 0, i12121 = 0, i12122 = 0, i12123 = 0, i12124 = 0, i12125 = 0, i12126 = 0, i12127 = 0, i12128 = 0, i12129 = 0;
+ int i12130 = 0, i12131 = 0, i12132 = 0, i12133 = 0, i12134 = 0, i12135 = 0, i12136 = 0, i12137 = 0, i12138 = 0, i12139 = 0;
+ int i12140 = 0, i12141 = 0, i12142 = 0, i12143 = 0, i12144 = 0, i12145 = 0, i12146 = 0, i12147 = 0, i12148 = 0, i12149 = 0;
+ int i12150 = 0, i12151 = 0, i12152 = 0, i12153 = 0, i12154 = 0, i12155 = 0, i12156 = 0, i12157 = 0, i12158 = 0, i12159 = 0;
+ int i12160 = 0, i12161 = 0, i12162 = 0, i12163 = 0, i12164 = 0, i12165 = 0, i12166 = 0, i12167 = 0, i12168 = 0, i12169 = 0;
+ int i12170 = 0, i12171 = 0, i12172 = 0, i12173 = 0, i12174 = 0, i12175 = 0, i12176 = 0, i12177 = 0, i12178 = 0, i12179 = 0;
+ int i12180 = 0, i12181 = 0, i12182 = 0, i12183 = 0, i12184 = 0, i12185 = 0, i12186 = 0, i12187 = 0, i12188 = 0, i12189 = 0;
+ int i12190 = 0, i12191 = 0, i12192 = 0, i12193 = 0, i12194 = 0, i12195 = 0, i12196 = 0, i12197 = 0, i12198 = 0, i12199 = 0;
+ int i12200 = 0, i12201 = 0, i12202 = 0, i12203 = 0, i12204 = 0, i12205 = 0, i12206 = 0, i12207 = 0, i12208 = 0, i12209 = 0;
+ int i12210 = 0, i12211 = 0, i12212 = 0, i12213 = 0, i12214 = 0, i12215 = 0, i12216 = 0, i12217 = 0, i12218 = 0, i12219 = 0;
+ int i12220 = 0, i12221 = 0, i12222 = 0, i12223 = 0, i12224 = 0, i12225 = 0, i12226 = 0, i12227 = 0, i12228 = 0, i12229 = 0;
+ int i12230 = 0, i12231 = 0, i12232 = 0, i12233 = 0, i12234 = 0, i12235 = 0, i12236 = 0, i12237 = 0, i12238 = 0, i12239 = 0;
+ int i12240 = 0, i12241 = 0, i12242 = 0, i12243 = 0, i12244 = 0, i12245 = 0, i12246 = 0, i12247 = 0, i12248 = 0, i12249 = 0;
+ int i12250 = 0, i12251 = 0, i12252 = 0, i12253 = 0, i12254 = 0, i12255 = 0, i12256 = 0, i12257 = 0, i12258 = 0, i12259 = 0;
+ int i12260 = 0, i12261 = 0, i12262 = 0, i12263 = 0, i12264 = 0, i12265 = 0, i12266 = 0, i12267 = 0, i12268 = 0, i12269 = 0;
+ int i12270 = 0, i12271 = 0, i12272 = 0, i12273 = 0, i12274 = 0, i12275 = 0, i12276 = 0, i12277 = 0, i12278 = 0, i12279 = 0;
+ int i12280 = 0, i12281 = 0, i12282 = 0, i12283 = 0, i12284 = 0, i12285 = 0, i12286 = 0, i12287 = 0, i12288 = 0, i12289 = 0;
+ int i12290 = 0, i12291 = 0, i12292 = 0, i12293 = 0, i12294 = 0, i12295 = 0, i12296 = 0, i12297 = 0, i12298 = 0, i12299 = 0;
+ int i12300 = 0, i12301 = 0, i12302 = 0, i12303 = 0, i12304 = 0, i12305 = 0, i12306 = 0, i12307 = 0, i12308 = 0, i12309 = 0;
+ int i12310 = 0, i12311 = 0, i12312 = 0, i12313 = 0, i12314 = 0, i12315 = 0, i12316 = 0, i12317 = 0, i12318 = 0, i12319 = 0;
+ int i12320 = 0, i12321 = 0, i12322 = 0, i12323 = 0, i12324 = 0, i12325 = 0, i12326 = 0, i12327 = 0, i12328 = 0, i12329 = 0;
+ int i12330 = 0, i12331 = 0, i12332 = 0, i12333 = 0, i12334 = 0, i12335 = 0, i12336 = 0, i12337 = 0, i12338 = 0, i12339 = 0;
+ int i12340 = 0, i12341 = 0, i12342 = 0, i12343 = 0, i12344 = 0, i12345 = 0, i12346 = 0, i12347 = 0, i12348 = 0, i12349 = 0;
+ int i12350 = 0, i12351 = 0, i12352 = 0, i12353 = 0, i12354 = 0, i12355 = 0, i12356 = 0, i12357 = 0, i12358 = 0, i12359 = 0;
+ int i12360 = 0, i12361 = 0, i12362 = 0, i12363 = 0, i12364 = 0, i12365 = 0, i12366 = 0, i12367 = 0, i12368 = 0, i12369 = 0;
+ int i12370 = 0, i12371 = 0, i12372 = 0, i12373 = 0, i12374 = 0, i12375 = 0, i12376 = 0, i12377 = 0, i12378 = 0, i12379 = 0;
+ int i12380 = 0, i12381 = 0, i12382 = 0, i12383 = 0, i12384 = 0, i12385 = 0, i12386 = 0, i12387 = 0, i12388 = 0, i12389 = 0;
+ int i12390 = 0, i12391 = 0, i12392 = 0, i12393 = 0, i12394 = 0, i12395 = 0, i12396 = 0, i12397 = 0, i12398 = 0, i12399 = 0;
+ int i12400 = 0, i12401 = 0, i12402 = 0, i12403 = 0, i12404 = 0, i12405 = 0, i12406 = 0, i12407 = 0, i12408 = 0, i12409 = 0;
+ int i12410 = 0, i12411 = 0, i12412 = 0, i12413 = 0, i12414 = 0, i12415 = 0, i12416 = 0, i12417 = 0, i12418 = 0, i12419 = 0;
+ int i12420 = 0, i12421 = 0, i12422 = 0, i12423 = 0, i12424 = 0, i12425 = 0, i12426 = 0, i12427 = 0, i12428 = 0, i12429 = 0;
+ int i12430 = 0, i12431 = 0, i12432 = 0, i12433 = 0, i12434 = 0, i12435 = 0, i12436 = 0, i12437 = 0, i12438 = 0, i12439 = 0;
+ int i12440 = 0, i12441 = 0, i12442 = 0, i12443 = 0, i12444 = 0, i12445 = 0, i12446 = 0, i12447 = 0, i12448 = 0, i12449 = 0;
+ int i12450 = 0, i12451 = 0, i12452 = 0, i12453 = 0, i12454 = 0, i12455 = 0, i12456 = 0, i12457 = 0, i12458 = 0, i12459 = 0;
+ int i12460 = 0, i12461 = 0, i12462 = 0, i12463 = 0, i12464 = 0, i12465 = 0, i12466 = 0, i12467 = 0, i12468 = 0, i12469 = 0;
+ int i12470 = 0, i12471 = 0, i12472 = 0, i12473 = 0, i12474 = 0, i12475 = 0, i12476 = 0, i12477 = 0, i12478 = 0, i12479 = 0;
+ int i12480 = 0, i12481 = 0, i12482 = 0, i12483 = 0, i12484 = 0, i12485 = 0, i12486 = 0, i12487 = 0, i12488 = 0, i12489 = 0;
+ int i12490 = 0, i12491 = 0, i12492 = 0, i12493 = 0, i12494 = 0, i12495 = 0, i12496 = 0, i12497 = 0, i12498 = 0, i12499 = 0;
+ int i12500 = 0, i12501 = 0, i12502 = 0, i12503 = 0, i12504 = 0, i12505 = 0, i12506 = 0, i12507 = 0, i12508 = 0, i12509 = 0;
+ int i12510 = 0, i12511 = 0, i12512 = 0, i12513 = 0, i12514 = 0, i12515 = 0, i12516 = 0, i12517 = 0, i12518 = 0, i12519 = 0;
+ int i12520 = 0, i12521 = 0, i12522 = 0, i12523 = 0, i12524 = 0, i12525 = 0, i12526 = 0, i12527 = 0, i12528 = 0, i12529 = 0;
+ int i12530 = 0, i12531 = 0, i12532 = 0, i12533 = 0, i12534 = 0, i12535 = 0, i12536 = 0, i12537 = 0, i12538 = 0, i12539 = 0;
+ int i12540 = 0, i12541 = 0, i12542 = 0, i12543 = 0, i12544 = 0, i12545 = 0, i12546 = 0, i12547 = 0, i12548 = 0, i12549 = 0;
+ int i12550 = 0, i12551 = 0, i12552 = 0, i12553 = 0, i12554 = 0, i12555 = 0, i12556 = 0, i12557 = 0, i12558 = 0, i12559 = 0;
+ int i12560 = 0, i12561 = 0, i12562 = 0, i12563 = 0, i12564 = 0, i12565 = 0, i12566 = 0, i12567 = 0, i12568 = 0, i12569 = 0;
+ int i12570 = 0, i12571 = 0, i12572 = 0, i12573 = 0, i12574 = 0, i12575 = 0, i12576 = 0, i12577 = 0, i12578 = 0, i12579 = 0;
+ int i12580 = 0, i12581 = 0, i12582 = 0, i12583 = 0, i12584 = 0, i12585 = 0, i12586 = 0, i12587 = 0, i12588 = 0, i12589 = 0;
+ int i12590 = 0, i12591 = 0, i12592 = 0, i12593 = 0, i12594 = 0, i12595 = 0, i12596 = 0, i12597 = 0, i12598 = 0, i12599 = 0;
+ int i12600 = 0, i12601 = 0, i12602 = 0, i12603 = 0, i12604 = 0, i12605 = 0, i12606 = 0, i12607 = 0, i12608 = 0, i12609 = 0;
+ int i12610 = 0, i12611 = 0, i12612 = 0, i12613 = 0, i12614 = 0, i12615 = 0, i12616 = 0, i12617 = 0, i12618 = 0, i12619 = 0;
+ int i12620 = 0, i12621 = 0, i12622 = 0, i12623 = 0, i12624 = 0, i12625 = 0, i12626 = 0, i12627 = 0, i12628 = 0, i12629 = 0;
+ int i12630 = 0, i12631 = 0, i12632 = 0, i12633 = 0, i12634 = 0, i12635 = 0, i12636 = 0, i12637 = 0, i12638 = 0, i12639 = 0;
+ int i12640 = 0, i12641 = 0, i12642 = 0, i12643 = 0, i12644 = 0, i12645 = 0, i12646 = 0, i12647 = 0, i12648 = 0, i12649 = 0;
+ int i12650 = 0, i12651 = 0, i12652 = 0, i12653 = 0, i12654 = 0, i12655 = 0, i12656 = 0, i12657 = 0, i12658 = 0, i12659 = 0;
+ int i12660 = 0, i12661 = 0, i12662 = 0, i12663 = 0, i12664 = 0, i12665 = 0, i12666 = 0, i12667 = 0, i12668 = 0, i12669 = 0;
+ int i12670 = 0, i12671 = 0, i12672 = 0, i12673 = 0, i12674 = 0, i12675 = 0, i12676 = 0, i12677 = 0, i12678 = 0, i12679 = 0;
+ int i12680 = 0, i12681 = 0, i12682 = 0, i12683 = 0, i12684 = 0, i12685 = 0, i12686 = 0, i12687 = 0, i12688 = 0, i12689 = 0;
+ int i12690 = 0, i12691 = 0, i12692 = 0, i12693 = 0, i12694 = 0, i12695 = 0, i12696 = 0, i12697 = 0, i12698 = 0, i12699 = 0;
+ int i12700 = 0, i12701 = 0, i12702 = 0, i12703 = 0, i12704 = 0, i12705 = 0, i12706 = 0, i12707 = 0, i12708 = 0, i12709 = 0;
+ int i12710 = 0, i12711 = 0, i12712 = 0, i12713 = 0, i12714 = 0, i12715 = 0, i12716 = 0, i12717 = 0, i12718 = 0, i12719 = 0;
+ int i12720 = 0, i12721 = 0, i12722 = 0, i12723 = 0, i12724 = 0, i12725 = 0, i12726 = 0, i12727 = 0, i12728 = 0, i12729 = 0;
+ int i12730 = 0, i12731 = 0, i12732 = 0, i12733 = 0, i12734 = 0, i12735 = 0, i12736 = 0, i12737 = 0, i12738 = 0, i12739 = 0;
+ int i12740 = 0, i12741 = 0, i12742 = 0, i12743 = 0, i12744 = 0, i12745 = 0, i12746 = 0, i12747 = 0, i12748 = 0, i12749 = 0;
+ int i12750 = 0, i12751 = 0, i12752 = 0, i12753 = 0, i12754 = 0, i12755 = 0, i12756 = 0, i12757 = 0, i12758 = 0, i12759 = 0;
+ int i12760 = 0, i12761 = 0, i12762 = 0, i12763 = 0, i12764 = 0, i12765 = 0, i12766 = 0, i12767 = 0, i12768 = 0, i12769 = 0;
+ int i12770 = 0, i12771 = 0, i12772 = 0, i12773 = 0, i12774 = 0, i12775 = 0, i12776 = 0, i12777 = 0, i12778 = 0, i12779 = 0;
+ int i12780 = 0, i12781 = 0, i12782 = 0, i12783 = 0, i12784 = 0, i12785 = 0, i12786 = 0, i12787 = 0, i12788 = 0, i12789 = 0;
+ int i12790 = 0, i12791 = 0, i12792 = 0, i12793 = 0, i12794 = 0, i12795 = 0, i12796 = 0, i12797 = 0, i12798 = 0, i12799 = 0;
+ int i12800 = 0, i12801 = 0, i12802 = 0, i12803 = 0, i12804 = 0, i12805 = 0, i12806 = 0, i12807 = 0, i12808 = 0, i12809 = 0;
+ int i12810 = 0, i12811 = 0, i12812 = 0, i12813 = 0, i12814 = 0, i12815 = 0, i12816 = 0, i12817 = 0, i12818 = 0, i12819 = 0;
+ int i12820 = 0, i12821 = 0, i12822 = 0, i12823 = 0, i12824 = 0, i12825 = 0, i12826 = 0, i12827 = 0, i12828 = 0, i12829 = 0;
+ int i12830 = 0, i12831 = 0, i12832 = 0, i12833 = 0, i12834 = 0, i12835 = 0, i12836 = 0, i12837 = 0, i12838 = 0, i12839 = 0;
+ int i12840 = 0, i12841 = 0, i12842 = 0, i12843 = 0, i12844 = 0, i12845 = 0, i12846 = 0, i12847 = 0, i12848 = 0, i12849 = 0;
+ int i12850 = 0, i12851 = 0, i12852 = 0, i12853 = 0, i12854 = 0, i12855 = 0, i12856 = 0, i12857 = 0, i12858 = 0, i12859 = 0;
+ int i12860 = 0, i12861 = 0, i12862 = 0, i12863 = 0, i12864 = 0, i12865 = 0, i12866 = 0, i12867 = 0, i12868 = 0, i12869 = 0;
+ int i12870 = 0, i12871 = 0, i12872 = 0, i12873 = 0, i12874 = 0, i12875 = 0, i12876 = 0, i12877 = 0, i12878 = 0, i12879 = 0;
+ int i12880 = 0, i12881 = 0, i12882 = 0, i12883 = 0, i12884 = 0, i12885 = 0, i12886 = 0, i12887 = 0, i12888 = 0, i12889 = 0;
+ int i12890 = 0, i12891 = 0, i12892 = 0, i12893 = 0, i12894 = 0, i12895 = 0, i12896 = 0, i12897 = 0, i12898 = 0, i12899 = 0;
+ int i12900 = 0, i12901 = 0, i12902 = 0, i12903 = 0, i12904 = 0, i12905 = 0, i12906 = 0, i12907 = 0, i12908 = 0, i12909 = 0;
+ int i12910 = 0, i12911 = 0, i12912 = 0, i12913 = 0, i12914 = 0, i12915 = 0, i12916 = 0, i12917 = 0, i12918 = 0, i12919 = 0;
+ int i12920 = 0, i12921 = 0, i12922 = 0, i12923 = 0, i12924 = 0, i12925 = 0, i12926 = 0, i12927 = 0, i12928 = 0, i12929 = 0;
+ int i12930 = 0, i12931 = 0, i12932 = 0, i12933 = 0, i12934 = 0, i12935 = 0, i12936 = 0, i12937 = 0, i12938 = 0, i12939 = 0;
+ int i12940 = 0, i12941 = 0, i12942 = 0, i12943 = 0, i12944 = 0, i12945 = 0, i12946 = 0, i12947 = 0, i12948 = 0, i12949 = 0;
+ int i12950 = 0, i12951 = 0, i12952 = 0, i12953 = 0, i12954 = 0, i12955 = 0, i12956 = 0, i12957 = 0, i12958 = 0, i12959 = 0;
+ int i12960 = 0, i12961 = 0, i12962 = 0, i12963 = 0, i12964 = 0, i12965 = 0, i12966 = 0, i12967 = 0, i12968 = 0, i12969 = 0;
+ int i12970 = 0, i12971 = 0, i12972 = 0, i12973 = 0, i12974 = 0, i12975 = 0, i12976 = 0, i12977 = 0, i12978 = 0, i12979 = 0;
+ int i12980 = 0, i12981 = 0, i12982 = 0, i12983 = 0, i12984 = 0, i12985 = 0, i12986 = 0, i12987 = 0, i12988 = 0, i12989 = 0;
+ int i12990 = 0, i12991 = 0, i12992 = 0, i12993 = 0, i12994 = 0, i12995 = 0, i12996 = 0, i12997 = 0, i12998 = 0, i12999 = 0;
+ }
+}
diff --git a/hotspot/test/compiler/7116216/StackOverflow.java b/hotspot/test/compiler/7116216/StackOverflow.java
new file mode 100644
index 0000000..d77658a
--- /dev/null
+++ b/hotspot/test/compiler/7116216/StackOverflow.java
@@ -0,0 +1,64 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+
+/**
+ * @test
+ * @bug 7116216
+ * @summary The vm crashes when GC happens during throwing a StackOverflow exception
+ *
+ * @run main/othervm -Xcomp -Xbatch StackOverflow
+ */
+
+public class StackOverflow {
+ static String stackOverflow_largeFrame_liveOopForGC;
+
+ public static int stackOverflow_largeFrame(int call_count, String liveOopForGC) {
+ try {
+ int return_count = stackOverflow_largeFrame(++call_count, liveOopForGC);
+ if (return_count == 0) {
+ try {
+ LargeFrame.method_with_many_locals(liveOopForGC, 2,3,4,5,6,7,liveOopForGC);
+ } catch (StackOverflowError e2) {
+ // access liveOopForGC to make it a live variable
+ stackOverflow_largeFrame_liveOopForGC = liveOopForGC;
+ }
+ }
+ return return_count - 1;
+ } catch (StackOverflowError e) {
+ // Return a value that is large enough such that no unrecoverable
+ // stack overflow will occur afterwards, but that is small enough
+ // such that calling LargeFrame.method_with_many_locals() will
+ // cause a StackOverflowError.
+ // Don't use a call here because we're out of stack space anyway!
+ int tmp = call_count / 2;
+ return (tmp < 100 ? tmp : 100);
+ }
+ }
+ public static void main(String args[]) {
+ LargeFrame.method_with_many_locals(new Object(), 2,3,4,5,6,7,new Object());
+
+ stackOverflow_largeFrame(0, "this is a live oop to test GC");
+ System.out.println("finished ok!");
+ }
+}
diff --git a/hotspot/test/compiler/7123108/Test7123108.java b/hotspot/test/compiler/7123108/Test7123108.java
new file mode 100644
index 0000000..66d3a01
--- /dev/null
+++ b/hotspot/test/compiler/7123108/Test7123108.java
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+
+/**
+ * @test
+ * @bug 7123108
+ * @summary C1 crashes with assert(if_state != NULL) failed: states do not match up
+ *
+ * @run main/othervm -Xcomp Test7123108
+ */
+
+public class Test7123108 {
+
+ static class Test_Class_0 {
+ final static byte var_2 = 67;
+ byte var_3;
+ }
+
+ Object var_25 = "kgfpyhcms";
+ static long var_27 = 6899666748616086528L;
+
+ static float func_1()
+ {
+ return 0.0F;
+ }
+
+ private void test()
+ {
+ "dlwq".charAt(((short)'x' > var_27 | func_1() <= (((Test_Class_0)var_25).var_3) ? true : true) ? Test_Class_0.var_2 & (short)-1.1173839E38F : 'Y');
+ }
+
+ public static void main(String[] args)
+ {
+ Test7123108 t = new Test7123108();
+ try {
+ t.test();
+ } catch (Throwable e) { }
+ }
+}
diff --git a/hotspot/test/compiler/7125879/Test7125879.java b/hotspot/test/compiler/7125879/Test7125879.java
new file mode 100644
index 0000000..729aac6
--- /dev/null
+++ b/hotspot/test/compiler/7125879/Test7125879.java
@@ -0,0 +1,51 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+
+/**
+ * @test
+ * @bug 7125879
+ * @summary assert(proj != NULL) failed: must be found
+ *
+ * @run main/othervm -Xcomp Test7125879
+ */
+
+public class Test7125879 {
+ String var_1 = "abc";
+
+ public Test7125879() {
+ var_1 = var_1.replaceAll("d", "e") + var_1;
+ }
+
+ public static void main(String[] args) {
+ Test7125879 t = new Test7125879();
+ try {
+ t.test();
+ } catch(Throwable e) { }
+ }
+
+ private void test() {
+ new Test7125879().var_1 = ((Test7125879)(new Object[-1])[0]).var_1;
+ }
+}
+
diff --git a/jaxp/.hg/cache/branchheads b/jaxp/.hg/cache/branchheads
index 616779d..6b4d82b 100644
--- a/jaxp/.hg/cache/branchheads
+++ b/jaxp/.hg/cache/branchheads
@@ -1,2 +1,2 @@
-2c65e16432b366631ffe11021c9d3798708ae4d0 283
-2c65e16432b366631ffe11021c9d3798708ae4d0 default
+8539c5fcf83429b6144abe378ceddf894cc9c469 300
+8539c5fcf83429b6144abe378ceddf894cc9c469 default
diff --git a/jaxp/.hg/dirstate b/jaxp/.hg/dirstate
index a4dd829..f88de23 100644
Binary files a/jaxp/.hg/dirstate and b/jaxp/.hg/dirstate differ
diff --git a/jaxp/.hg/store/00changelog.i b/jaxp/.hg/store/00changelog.i
index d5bbadb..6946ac7 100644
Binary files a/jaxp/.hg/store/00changelog.i and b/jaxp/.hg/store/00changelog.i differ
diff --git a/jaxp/.hg/store/00manifest.i b/jaxp/.hg/store/00manifest.i
index 24d9d03..53c7dec 100644
Binary files a/jaxp/.hg/store/00manifest.i and b/jaxp/.hg/store/00manifest.i differ
diff --git a/jaxp/.hg/store/data/build.properties.i b/jaxp/.hg/store/data/build.properties.i
index b1cc3b2..bd7e83b 100644
Binary files a/jaxp/.hg/store/data/build.properties.i and b/jaxp/.hg/store/data/build.properties.i differ
diff --git a/jaxp/.hg/store/data/build.xml.i b/jaxp/.hg/store/data/build.xml.i
index dcde605..8011e4e 100644
Binary files a/jaxp/.hg/store/data/build.xml.i and b/jaxp/.hg/store/data/build.xml.i differ
diff --git a/jaxp/.hg/store/data/make/_makefile.i b/jaxp/.hg/store/data/make/_makefile.i
index 9c583f2..1c5198e 100644
Binary files a/jaxp/.hg/store/data/make/_makefile.i and b/jaxp/.hg/store/data/make/_makefile.i differ
diff --git a/jaxp/.hg/store/data/make/jprt.properties.i b/jaxp/.hg/store/data/make/jprt.properties.i
index d9d7ee5..7e3f6c5 100644
Binary files a/jaxp/.hg/store/data/make/jprt.properties.i and b/jaxp/.hg/store/data/make/jprt.properties.i differ
diff --git a/jaxp/.hg/store/data/~2ehgtags.i b/jaxp/.hg/store/data/~2ehgtags.i
index 2b41291..b561d74 100644
Binary files a/jaxp/.hg/store/data/~2ehgtags.i and b/jaxp/.hg/store/data/~2ehgtags.i differ
diff --git a/jaxp/.hg/store/undo b/jaxp/.hg/store/undo
index 3394600..d0db201 100644
Binary files a/jaxp/.hg/store/undo and b/jaxp/.hg/store/undo differ
diff --git a/jaxp/.hg/undo.desc b/jaxp/.hg/undo.desc
index 137cf46..bbf2709 100644
--- a/jaxp/.hg/undo.desc
+++ b/jaxp/.hg/undo.desc
@@ -1,3 +1,3 @@
-272
+284
pull
http://hg.openjdk.java.net/jigsaw/jigsaw/jaxp
diff --git a/jaxp/.hg/undo.dirstate b/jaxp/.hg/undo.dirstate
index e7067b5..a4dd829 100644
Binary files a/jaxp/.hg/undo.dirstate and b/jaxp/.hg/undo.dirstate differ
diff --git a/jaxp/.hgtags b/jaxp/.hgtags
index 343fe31..3e4a174 100644
--- a/jaxp/.hgtags
+++ b/jaxp/.hgtags
@@ -142,3 +142,12 @@ d1b7a4f6dd2065fdeafbcdfd9dcc0072da8c6881 jdk8-b11
ca977d167697a561c04894187fc1c4d927582ffa jdk8-b12
bcc739229f6384786c7ac0b52c1822c85674dcf1 jdk8-b13
9d0c9d638757cb09de18933b946fa04b4f3fb94f jdk8-b14
+804f666d6d44e33caac12ad8da3d2780ac44ef72 jdk8-b15
+09eb517404b059607aca30cdd1af83ffc57eafeb jdk8-b17
+09eb517404b059607aca30cdd1af83ffc57eafeb jdk8-b16
+ebec6a7e8d4e481d205a2109ddeea8121d76db7f jdk8-b18
+dffeb62b1a7fc8b316bf58fe5479323f3661894e jdk8-b19
+f052abb8f37444ba77858913887d0d92795dd6b8 jdk8-b20
+d41eeadf5c1344b88c5051a997aec9e1ad7ce1db jdk8-b21
+cf9d6ec44f891236ad18451021d6dcd57dc82f7b jdk8-b22
+95102fd334183d15dc98a95dd0d749527b6c7300 jdk8-b23
diff --git a/jaxp/build.properties b/jaxp/build.properties
index 8ec3620..a468f81 100644
--- a/jaxp/build.properties
+++ b/jaxp/build.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 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,7 +25,7 @@
# Base locations where bundles are located
slashjava=/java
-drops.dir=${slashjava}/devtools/share/jdk7-drops
+drops.dir=${slashjava}/devtools/share/jdk8-drops
# This is the JDK used to build and run the bootstrap version of javac.
# The bootstrap javac is used to compile both boostrap versions of the
diff --git a/jaxp/build.xml b/jaxp/build.xml
index 3c4fda2..9a5897b 100644
--- a/jaxp/build.xml
+++ b/jaxp/build.xml
@@ -43,14 +43,6 @@
Run 'make help' for help using the Makefile.
</description>
- <!-- Mac is special, need to downgrade these before build.properties. -->
- <condition property="javac.source" value="1.5">
- <os family="mac"/>
- </condition>
- <condition property="javac.target" value="1.5">
- <os family="mac"/>
- </condition>
-
<!-- Project build properties. -->
<property file="build.properties"/>
diff --git a/jaxp/make/Makefile b/jaxp/make/Makefile
index 55076a0..b2574d7 100644
--- a/jaxp/make/Makefile
+++ b/jaxp/make/Makefile
@@ -99,9 +99,9 @@ ifdef ALT_DROPS_DIR
DROPS_DIR = $(ALT_DROPS_DIR)
else
ifdef ALT_JDK_DEVTOOLS_DIR
- DROPS_DIR = $(ALT_JDK_DEVTOOLS_DIR)/share/jdk7-drops
+ DROPS_DIR = $(ALT_JDK_DEVTOOLS_DIR)/share/jdk8-drops
else
- DROPS_DIR = $(_SLASHJAVA)/devtools/share/jdk7-drops
+ DROPS_DIR = $(_SLASHJAVA)/devtools/share/jdk8-drops
endif
endif
diff --git a/jaxp/make/jprt.properties b/jaxp/make/jprt.properties
index cb67b3c..360b6b2 100644
--- a/jaxp/make/jprt.properties
+++ b/jaxp/make/jprt.properties
@@ -25,21 +25,21 @@
# Properties for jprt
-# The release to build
+# Locked down to jdk8
jprt.tools.default.release=jdk8
# The different build flavors we want, we override here so we just get these 2
jprt.build.flavors=product,fastdebug
# Standard list of jprt build targets for this source tree
-jprt.build.targets= \
- solaris_sparc_5.10-{product|fastdebug}, \
- solaris_sparcv9_5.10-{product|fastdebug}, \
- solaris_i586_5.10-{product|fastdebug}, \
- solaris_x64_5.10-{product|fastdebug}, \
- linux_i586_2.6-{product|fastdebug}, \
- linux_x64_2.6-{product|fastdebug}, \
- windows_i586_5.1-{product|fastdebug}, \
+jprt.build.targets= \
+ solaris_sparc_5.10-{product|fastdebug}, \
+ solaris_sparcv9_5.10-{product|fastdebug}, \
+ solaris_i586_5.10-{product|fastdebug}, \
+ solaris_x64_5.10-{product|fastdebug}, \
+ linux_i586_2.6-{product|fastdebug}, \
+ linux_x64_2.6-{product|fastdebug}, \
+ windows_i586_5.1-{product|fastdebug}, \
windows_x64_5.2-{product|fastdebug}
# Directories to be excluded from the source bundles
diff --git a/jaxws/.hg/cache/branchheads b/jaxws/.hg/cache/branchheads
index 2b3295a..9cf4913 100644
--- a/jaxws/.hg/cache/branchheads
+++ b/jaxws/.hg/cache/branchheads
@@ -1,2 +1,2 @@
-59f5ae0f3ff1610dd97ab5e948e3fbd01ea483ae 280
-59f5ae0f3ff1610dd97ab5e948e3fbd01ea483ae default
+00b537933ea2af483fdcac5a1b00f92b9f8f3185 299
+00b537933ea2af483fdcac5a1b00f92b9f8f3185 default
diff --git a/jaxws/.hg/dirstate b/jaxws/.hg/dirstate
index c2a405a..560adef 100644
Binary files a/jaxws/.hg/dirstate and b/jaxws/.hg/dirstate differ
diff --git a/jaxws/.hg/store/00changelog.d b/jaxws/.hg/store/00changelog.d
index 6968c2d..d4bb269 100644
Binary files a/jaxws/.hg/store/00changelog.d and b/jaxws/.hg/store/00changelog.d differ
diff --git a/jaxws/.hg/store/00changelog.i b/jaxws/.hg/store/00changelog.i
index 81f4fc1..c0f3d2d 100644
Binary files a/jaxws/.hg/store/00changelog.i and b/jaxws/.hg/store/00changelog.i differ
diff --git a/jaxws/.hg/store/00manifest.d b/jaxws/.hg/store/00manifest.d
index 45c898a..e461dd8 100644
Binary files a/jaxws/.hg/store/00manifest.d and b/jaxws/.hg/store/00manifest.d differ
diff --git a/jaxws/.hg/store/00manifest.i b/jaxws/.hg/store/00manifest.i
index d2a6d5a..f544a5c 100644
Binary files a/jaxws/.hg/store/00manifest.i and b/jaxws/.hg/store/00manifest.i differ
diff --git a/jaxws/.hg/store/data/build-defs.xml.i b/jaxws/.hg/store/data/build-defs.xml.i
index b499f1f..d7fdf40 100644
Binary files a/jaxws/.hg/store/data/build-defs.xml.i and b/jaxws/.hg/store/data/build-defs.xml.i differ
diff --git a/jaxws/.hg/store/data/build.properties.i b/jaxws/.hg/store/data/build.properties.i
index 2c7ab5a..e03890d 100644
Binary files a/jaxws/.hg/store/data/build.properties.i and b/jaxws/.hg/store/data/build.properties.i differ
diff --git a/jaxws/.hg/store/data/build.xml.i b/jaxws/.hg/store/data/build.xml.i
index d6ae4c5..5047504 100644
Binary files a/jaxws/.hg/store/data/build.xml.i and b/jaxws/.hg/store/data/build.xml.i differ
diff --git a/jaxws/.hg/store/data/make/_makefile.i b/jaxws/.hg/store/data/make/_makefile.i
index 6f465dd..dfcf851 100644
Binary files a/jaxws/.hg/store/data/make/_makefile.i and b/jaxws/.hg/store/data/make/_makefile.i differ
diff --git a/jaxws/.hg/store/data/make/jprt.properties.i b/jaxws/.hg/store/data/make/jprt.properties.i
index a4883c8..0e5dbac 100644
Binary files a/jaxws/.hg/store/data/make/jprt.properties.i and b/jaxws/.hg/store/data/make/jprt.properties.i differ
diff --git a/jaxws/.hg/store/data/~2ehgtags.i b/jaxws/.hg/store/data/~2ehgtags.i
index 825a11b..d0b3917 100644
Binary files a/jaxws/.hg/store/data/~2ehgtags.i and b/jaxws/.hg/store/data/~2ehgtags.i differ
diff --git a/jaxws/.hg/store/undo b/jaxws/.hg/store/undo
index 0a19dc0..7226784 100644
Binary files a/jaxws/.hg/store/undo and b/jaxws/.hg/store/undo differ
diff --git a/jaxws/.hg/undo.desc b/jaxws/.hg/undo.desc
index 4a14a1f..bc313aa 100644
--- a/jaxws/.hg/undo.desc
+++ b/jaxws/.hg/undo.desc
@@ -1,3 +1,3 @@
-267
+281
pull
http://hg.openjdk.java.net/jigsaw/jigsaw/jaxws
diff --git a/jaxws/.hg/undo.dirstate b/jaxws/.hg/undo.dirstate
index 25bb203..c2a405a 100644
Binary files a/jaxws/.hg/undo.dirstate and b/jaxws/.hg/undo.dirstate differ
diff --git a/jaxws/.hgtags b/jaxws/.hgtags
index be29238..0e44950 100644
--- a/jaxws/.hgtags
+++ b/jaxws/.hgtags
@@ -142,3 +142,12 @@ a12ab897a249feb7859a6e6cd84b49411f4c06ac jdk8-b11
e6eed2ff5d5f62bdc815beb5276d23347600c760 jdk8-b12
adf2a6b5fde14090beb9ebc40c4114132ddee731 jdk8-b13
54c4bf4b83ecc191351747d5d28da849d34c0243 jdk8-b14
+c9ab96ff23d52d85d5dcce1f9c0fd7a3de418c74 jdk8-b15
+3d45ab79643d5b4cc7e050ae2d9c08b4d89d665e jdk8-b17
+3d45ab79643d5b4cc7e050ae2d9c08b4d89d665e jdk8-b16
+54928c8850f5498670dd43d6c9299f36de1a6746 jdk8-b18
+b73b733214aa43648d69a2da51e6b48fda902a2d jdk8-b19
+2b2818e3386f4510c390f6aea90d77e1c6a5bf9e jdk8-b20
+c266cab0e3fff05f2048c23046c14d60f7102175 jdk8-b21
+8d3df89b0f2d3c603b2edb0f5e24af1245397cc6 jdk8-b22
+25ce7a0004874273f6aeda14e7c3538cba34bdf1 jdk8-b23
diff --git a/jaxws/build-defs.xml b/jaxws/build-defs.xml
index f0a19e7..27bf721 100644
--- a/jaxws/build-defs.xml
+++ b/jaxws/build-defs.xml
@@ -96,6 +96,10 @@
</replaceregexp>
<mkdir dir="${build.classes.dir}/META-INF/services"/>
+ <copy todir="${build.classes.dir}/META-INF"
+ file="${secondary.src.dir}/META-INF/mailcap.default"/>
+ <copy todir="${build.classes.dir}/META-INF"
+ file="${secondary.src.dir}/META-INF/mimetypes.default"/>
<copy todir="${build.classes.dir}/META-INF/services"
file="${primary.src.dir}/com/sun/tools/etc/META-INF/services/com.sun.mirror.apt.AnnotationProcessorFactory"/>
<copy todir="${build.classes.dir}/META-INF/services"
@@ -118,6 +122,7 @@
<!-- Set up source to use drop.dir. -->
<target name="-use-drop" depends="-set-props">
<property name="primary.src.dir" value="${jaxws_src.src.dir}"/>
+ <property name="secondary.src.dir" value="${jaf_src.src.dir}"/>
<path id="src.dir.id">
<pathelement path="${primary.src.dir}"/>
<pathelement path="${jaf_src.src.dir}"/>
diff --git a/jaxws/build.properties b/jaxws/build.properties
index 8ec3620..a468f81 100644
--- a/jaxws/build.properties
+++ b/jaxws/build.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 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,7 +25,7 @@
# Base locations where bundles are located
slashjava=/java
-drops.dir=${slashjava}/devtools/share/jdk7-drops
+drops.dir=${slashjava}/devtools/share/jdk8-drops
# This is the JDK used to build and run the bootstrap version of javac.
# The bootstrap javac is used to compile both boostrap versions of the
diff --git a/jaxws/build.xml b/jaxws/build.xml
index 9eddf09..818c939 100644
--- a/jaxws/build.xml
+++ b/jaxws/build.xml
@@ -43,14 +43,6 @@
Run 'make help' for help using the Makefile.
</description>
- <!-- Mac is special, need to downgrade these before build.properties. -->
- <condition property="javac.source" value="1.5">
- <os family="mac"/>
- </condition>
- <condition property="javac.target" value="1.5">
- <os family="mac"/>
- </condition>
-
<!-- Project build properties. -->
<property file="build.properties"/>
diff --git a/jaxws/make/Makefile b/jaxws/make/Makefile
index 55076a0..b2574d7 100644
--- a/jaxws/make/Makefile
+++ b/jaxws/make/Makefile
@@ -99,9 +99,9 @@ ifdef ALT_DROPS_DIR
DROPS_DIR = $(ALT_DROPS_DIR)
else
ifdef ALT_JDK_DEVTOOLS_DIR
- DROPS_DIR = $(ALT_JDK_DEVTOOLS_DIR)/share/jdk7-drops
+ DROPS_DIR = $(ALT_JDK_DEVTOOLS_DIR)/share/jdk8-drops
else
- DROPS_DIR = $(_SLASHJAVA)/devtools/share/jdk7-drops
+ DROPS_DIR = $(_SLASHJAVA)/devtools/share/jdk8-drops
endif
endif
diff --git a/jaxws/make/jprt.properties b/jaxws/make/jprt.properties
index cb67b3c..360b6b2 100644
--- a/jaxws/make/jprt.properties
+++ b/jaxws/make/jprt.properties
@@ -25,21 +25,21 @@
# Properties for jprt
-# The release to build
+# Locked down to jdk8
jprt.tools.default.release=jdk8
# The different build flavors we want, we override here so we just get these 2
jprt.build.flavors=product,fastdebug
# Standard list of jprt build targets for this source tree
-jprt.build.targets= \
- solaris_sparc_5.10-{product|fastdebug}, \
- solaris_sparcv9_5.10-{product|fastdebug}, \
- solaris_i586_5.10-{product|fastdebug}, \
- solaris_x64_5.10-{product|fastdebug}, \
- linux_i586_2.6-{product|fastdebug}, \
- linux_x64_2.6-{product|fastdebug}, \
- windows_i586_5.1-{product|fastdebug}, \
+jprt.build.targets= \
+ solaris_sparc_5.10-{product|fastdebug}, \
+ solaris_sparcv9_5.10-{product|fastdebug}, \
+ solaris_i586_5.10-{product|fastdebug}, \
+ solaris_x64_5.10-{product|fastdebug}, \
+ linux_i586_2.6-{product|fastdebug}, \
+ linux_x64_2.6-{product|fastdebug}, \
+ windows_i586_5.1-{product|fastdebug}, \
windows_x64_5.2-{product|fastdebug}
# Directories to be excluded from the source bundles
diff --git a/jdk/.hg/cache/branchheads b/jdk/.hg/cache/branchheads
index d45d294..4f97b9e 100644
--- a/jdk/.hg/cache/branchheads
+++ b/jdk/.hg/cache/branchheads
@@ -1,2 +1,2 @@
-71a6e9559cbb543a0e4f464eece40b680f196fa3 5003
-71a6e9559cbb543a0e4f464eece40b680f196fa3 default
+9aa5af75699e4927bb0a25f26e32cc46db27b188 5215
+9aa5af75699e4927bb0a25f26e32cc46db27b188 default
diff --git a/jdk/.hg/dirstate b/jdk/.hg/dirstate
index a4ac688..35efc3e 100644
Binary files a/jdk/.hg/dirstate and b/jdk/.hg/dirstate differ
diff --git a/jdk/.hg/store/00changelog.d b/jdk/.hg/store/00changelog.d
index c187def..7423a46 100644
Binary files a/jdk/.hg/store/00changelog.d and b/jdk/.hg/store/00changelog.d differ
diff --git a/jdk/.hg/store/00changelog.i b/jdk/.hg/store/00changelog.i
index 9cf9297..3316dfa 100644
Binary files a/jdk/.hg/store/00changelog.i and b/jdk/.hg/store/00changelog.i differ
diff --git a/jdk/.hg/store/00manifest.d b/jdk/.hg/store/00manifest.d
index e405fd8..f377bd2 100644
Binary files a/jdk/.hg/store/00manifest.d and b/jdk/.hg/store/00manifest.d differ
diff --git a/jdk/.hg/store/00manifest.i b/jdk/.hg/store/00manifest.i
index cd85a83..d7292b9 100644
Binary files a/jdk/.hg/store/00manifest.i and b/jdk/.hg/store/00manifest.i differ
diff --git a/jdk/.hg/store/data/make/com/oracle/_makefile.i b/jdk/.hg/store/data/make/com/oracle/_makefile.i
index 586a5e2..b14b6e1 100644
Binary files a/jdk/.hg/store/data/make/com/oracle/_makefile.i and b/jdk/.hg/store/data/make/com/oracle/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/com/oracle/net/_makefile.i b/jdk/.hg/store/data/make/com/oracle/net/_makefile.i
index 0524a66..db7fc8a 100644
Binary files a/jdk/.hg/store/data/make/com/oracle/net/_makefile.i and b/jdk/.hg/store/data/make/com/oracle/net/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/com/oracle/nio/_makefile.i b/jdk/.hg/store/data/make/com/oracle/nio/_makefile.i
new file mode 100644
index 0000000..42a63b3
Binary files /dev/null and b/jdk/.hg/store/data/make/com/oracle/nio/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/com/oracle/security/ucrypto/_f_i_l_e_s__c.gmk.i b/jdk/.hg/store/data/make/com/oracle/security/ucrypto/_f_i_l_e_s__c.gmk.i
new file mode 100644
index 0000000..0215db7
Binary files /dev/null and b/jdk/.hg/store/data/make/com/oracle/security/ucrypto/_f_i_l_e_s__c.gmk.i differ
diff --git a/jdk/.hg/store/data/make/com/oracle/security/ucrypto/_makefile.i b/jdk/.hg/store/data/make/com/oracle/security/ucrypto/_makefile.i
new file mode 100644
index 0000000..c8fce44
Binary files /dev/null and b/jdk/.hg/store/data/make/com/oracle/security/ucrypto/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/com/oracle/security/ucrypto/mapfile-vers.i b/jdk/.hg/store/data/make/com/oracle/security/ucrypto/mapfile-vers.i
new file mode 100644
index 0000000..2c38217
Binary files /dev/null and b/jdk/.hg/store/data/make/com/oracle/security/ucrypto/mapfile-vers.i differ
diff --git a/jdk/.hg/store/data/make/com/oracle/util/_makefile.i b/jdk/.hg/store/data/make/com/oracle/util/_makefile.i
new file mode 100644
index 0000000..4dd7035
Binary files /dev/null and b/jdk/.hg/store/data/make/com/oracle/util/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/com/sun/demo/jvmti/hprof/_makefile.i b/jdk/.hg/store/data/make/com/sun/demo/jvmti/hprof/_makefile.i
index 1bae3b3..416d777 100644
Binary files a/jdk/.hg/store/data/make/com/sun/demo/jvmti/hprof/_makefile.i and b/jdk/.hg/store/data/make/com/sun/demo/jvmti/hprof/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/com/sun/java/browser/net/_makefile.i b/jdk/.hg/store/data/make/com/sun/java/browser/net/_makefile.i
index 5477c1a..b719474 100644
Binary files a/jdk/.hg/store/data/make/com/sun/java/browser/net/_makefile.i and b/jdk/.hg/store/data/make/com/sun/java/browser/net/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/com/sun/tools/_makefile.i b/jdk/.hg/store/data/make/com/sun/tools/_makefile.i
index 5c64948..d80efa2 100644
Binary files a/jdk/.hg/store/data/make/com/sun/tools/_makefile.i and b/jdk/.hg/store/data/make/com/sun/tools/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/com/sun/tools/attach/_makefile.i b/jdk/.hg/store/data/make/com/sun/tools/attach/_makefile.i
index 1e11078..90ce780 100644
Binary files a/jdk/.hg/store/data/make/com/sun/tools/attach/_makefile.i and b/jdk/.hg/store/data/make/com/sun/tools/attach/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/com/sun/tracing/_makefile.i b/jdk/.hg/store/data/make/com/sun/tracing/_makefile.i
index 1455509..b46a3b6 100644
Binary files a/jdk/.hg/store/data/make/com/sun/tracing/_makefile.i and b/jdk/.hg/store/data/make/com/sun/tracing/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/com/sun/tracing/dtrace/_makefile.i b/jdk/.hg/store/data/make/com/sun/tracing/dtrace/_makefile.i
index 825668b..229c638 100644
Binary files a/jdk/.hg/store/data/make/com/sun/tracing/dtrace/_makefile.i and b/jdk/.hg/store/data/make/com/sun/tracing/dtrace/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/common/_defs-embedded.gmk.i b/jdk/.hg/store/data/make/common/_defs-embedded.gmk.i
index 03933e2..ab84a51 100644
Binary files a/jdk/.hg/store/data/make/common/_defs-embedded.gmk.i and b/jdk/.hg/store/data/make/common/_defs-embedded.gmk.i differ
diff --git a/jdk/.hg/store/data/make/common/_defs-linux.gmk.i b/jdk/.hg/store/data/make/common/_defs-linux.gmk.i
index 7396ecb..b8b5634 100644
Binary files a/jdk/.hg/store/data/make/common/_defs-linux.gmk.i and b/jdk/.hg/store/data/make/common/_defs-linux.gmk.i differ
diff --git a/jdk/.hg/store/data/make/common/_defs-solaris.gmk.i b/jdk/.hg/store/data/make/common/_defs-solaris.gmk.i
index ece4e46..4bba868 100644
Binary files a/jdk/.hg/store/data/make/common/_defs-solaris.gmk.i and b/jdk/.hg/store/data/make/common/_defs-solaris.gmk.i differ
diff --git a/jdk/.hg/store/data/make/common/_defs-windows.gmk.i b/jdk/.hg/store/data/make/common/_defs-windows.gmk.i
index 3650ebe..54cc494 100644
Binary files a/jdk/.hg/store/data/make/common/_defs-windows.gmk.i and b/jdk/.hg/store/data/make/common/_defs-windows.gmk.i differ
diff --git a/jdk/.hg/store/data/make/common/_defs.gmk.i b/jdk/.hg/store/data/make/common/_defs.gmk.i
index 52b5894..c1f1ee1 100644
Binary files a/jdk/.hg/store/data/make/common/_defs.gmk.i and b/jdk/.hg/store/data/make/common/_defs.gmk.i differ
diff --git a/jdk/.hg/store/data/make/common/_demo.gmk.i b/jdk/.hg/store/data/make/common/_demo.gmk.i
index a9ff488..aa1ba73 100644
Binary files a/jdk/.hg/store/data/make/common/_demo.gmk.i and b/jdk/.hg/store/data/make/common/_demo.gmk.i differ
diff --git a/jdk/.hg/store/data/make/common/_release.gmk.i b/jdk/.hg/store/data/make/common/_release.gmk.i
index 39b6640..26f1f0f 100644
Binary files a/jdk/.hg/store/data/make/common/_release.gmk.i and b/jdk/.hg/store/data/make/common/_release.gmk.i differ
diff --git a/jdk/.hg/store/data/make/common/_rules.gmk.i b/jdk/.hg/store/data/make/common/_rules.gmk.i
index b65d2de..f246a7b 100644
Binary files a/jdk/.hg/store/data/make/common/_rules.gmk.i and b/jdk/.hg/store/data/make/common/_rules.gmk.i differ
diff --git a/jdk/.hg/store/data/make/common/shared/_defs-control.gmk.i b/jdk/.hg/store/data/make/common/shared/_defs-control.gmk.i
index f571ec6..b67a6be 100644
Binary files a/jdk/.hg/store/data/make/common/shared/_defs-control.gmk.i and b/jdk/.hg/store/data/make/common/shared/_defs-control.gmk.i differ
diff --git a/jdk/.hg/store/data/make/common/shared/_platform.gmk.i b/jdk/.hg/store/data/make/common/shared/_platform.gmk.i
index facfd31..5884483 100644
Binary files a/jdk/.hg/store/data/make/common/shared/_platform.gmk.i and b/jdk/.hg/store/data/make/common/shared/_platform.gmk.i differ
diff --git a/jdk/.hg/store/data/make/common/shared/_sanity.gmk.i b/jdk/.hg/store/data/make/common/shared/_sanity.gmk.i
index ddb3f94..0a1138d 100644
Binary files a/jdk/.hg/store/data/make/common/shared/_sanity.gmk.i and b/jdk/.hg/store/data/make/common/shared/_sanity.gmk.i differ
diff --git a/jdk/.hg/store/data/make/java/instrument/_makefile.i b/jdk/.hg/store/data/make/java/instrument/_makefile.i
index 55cd614..ba70c9a 100644
Binary files a/jdk/.hg/store/data/make/java/instrument/_makefile.i and b/jdk/.hg/store/data/make/java/instrument/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/java/management/mapfile-vers.i b/jdk/.hg/store/data/make/java/management/mapfile-vers.i
index 37aa6f5..97749a6 100644
Binary files a/jdk/.hg/store/data/make/java/management/mapfile-vers.i and b/jdk/.hg/store/data/make/java/management/mapfile-vers.i differ
diff --git a/jdk/.hg/store/data/make/java/rmi/_makefile.i b/jdk/.hg/store/data/make/java/rmi/_makefile.i
index 977694c..6472bb3 100644
Binary files a/jdk/.hg/store/data/make/java/rmi/_makefile.i and b/jdk/.hg/store/data/make/java/rmi/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/java/text/base/_makefile.i b/jdk/.hg/store/data/make/java/text/base/_makefile.i
index 81e5ac3..d2d51da 100644
Binary files a/jdk/.hg/store/data/make/java/text/base/_makefile.i and b/jdk/.hg/store/data/make/java/text/base/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/java/text/bidi/_makefile.i b/jdk/.hg/store/data/make/java/text/bidi/_makefile.i
index 1c323d1..3dc2a52 100644
Binary files a/jdk/.hg/store/data/make/java/text/bidi/_makefile.i and b/jdk/.hg/store/data/make/java/text/bidi/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/java/util/_makefile.i b/jdk/.hg/store/data/make/java/util/_makefile.i
index 3308369..0afec77 100644
Binary files a/jdk/.hg/store/data/make/java/util/_makefile.i and b/jdk/.hg/store/data/make/java/util/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/java/zip/_f_i_l_e_s__c.gmk.i b/jdk/.hg/store/data/make/java/zip/_f_i_l_e_s__c.gmk.i
index 0f43429..ffc3715 100644
Binary files a/jdk/.hg/store/data/make/java/zip/_f_i_l_e_s__c.gmk.i and b/jdk/.hg/store/data/make/java/zip/_f_i_l_e_s__c.gmk.i differ
diff --git a/jdk/.hg/store/data/make/java/zip/mapfile-vers.i b/jdk/.hg/store/data/make/java/zip/mapfile-vers.i
index 752f45b..91b4564 100644
Binary files a/jdk/.hg/store/data/make/java/zip/mapfile-vers.i and b/jdk/.hg/store/data/make/java/zip/mapfile-vers.i differ
diff --git a/jdk/.hg/store/data/make/javax/accessibility/_makefile.i b/jdk/.hg/store/data/make/javax/accessibility/_makefile.i
index 7b92ada..33b956b 100644
Binary files a/jdk/.hg/store/data/make/javax/accessibility/_makefile.i and b/jdk/.hg/store/data/make/javax/accessibility/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/javax/others/_makefile.i b/jdk/.hg/store/data/make/javax/others/_makefile.i
index 822f9af..6ba41dd 100644
Binary files a/jdk/.hg/store/data/make/javax/others/_makefile.i and b/jdk/.hg/store/data/make/javax/others/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/javax/security/_makefile.i b/jdk/.hg/store/data/make/javax/security/_makefile.i
index 1331388..9176fb6 100644
Binary files a/jdk/.hg/store/data/make/javax/security/_makefile.i and b/jdk/.hg/store/data/make/javax/security/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/javax/sound/jsoundalsa/_makefile.i b/jdk/.hg/store/data/make/javax/sound/jsoundalsa/_makefile.i
index c051924..3dc5f05 100644
Binary files a/jdk/.hg/store/data/make/javax/sound/jsoundalsa/_makefile.i and b/jdk/.hg/store/data/make/javax/sound/jsoundalsa/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/jpda/tty/_makefile.i b/jdk/.hg/store/data/make/jpda/tty/_makefile.i
index e67ab69..d469c74 100644
Binary files a/jdk/.hg/store/data/make/jpda/tty/_makefile.i and b/jdk/.hg/store/data/make/jpda/tty/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/jprt.properties.i b/jdk/.hg/store/data/make/jprt.properties.i
index 8f57110..902b9b1 100644
Binary files a/jdk/.hg/store/data/make/jprt.properties.i and b/jdk/.hg/store/data/make/jprt.properties.i differ
diff --git a/jdk/.hg/store/data/make/launchers/_makefile.i b/jdk/.hg/store/data/make/launchers/_makefile.i
index 92df672..0e9c6eb 100644
Binary files a/jdk/.hg/store/data/make/launchers/_makefile.i and b/jdk/.hg/store/data/make/launchers/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/modules/modules.config.i b/jdk/.hg/store/data/make/modules/modules.config.i
index 2595c7f..a19fd20 100644
Binary files a/jdk/.hg/store/data/make/modules/modules.config.i and b/jdk/.hg/store/data/make/modules/modules.config.i differ
diff --git a/jdk/.hg/store/data/make/modules/modules.group.i b/jdk/.hg/store/data/make/modules/modules.group.i
index 4c66917..0cac9e7 100644
Binary files a/jdk/.hg/store/data/make/modules/modules.group.i and b/jdk/.hg/store/data/make/modules/modules.group.i differ
diff --git a/jdk/.hg/store/data/make/sun/awt/_f_i_l_e_s__c__unix.gmk.i b/jdk/.hg/store/data/make/sun/awt/_f_i_l_e_s__c__unix.gmk.i
index f7366c2..d089309 100644
Binary files a/jdk/.hg/store/data/make/sun/awt/_f_i_l_e_s__c__unix.gmk.i and b/jdk/.hg/store/data/make/sun/awt/_f_i_l_e_s__c__unix.gmk.i differ
diff --git a/jdk/.hg/store/data/make/sun/awt/_f_i_l_e_s__export__unix.gmk.i b/jdk/.hg/store/data/make/sun/awt/_f_i_l_e_s__export__unix.gmk.i
index d90a11d..c63a5fa 100644
Binary files a/jdk/.hg/store/data/make/sun/awt/_f_i_l_e_s__export__unix.gmk.i and b/jdk/.hg/store/data/make/sun/awt/_f_i_l_e_s__export__unix.gmk.i differ
diff --git a/jdk/.hg/store/data/make/sun/awt/_makefile.i b/jdk/.hg/store/data/make/sun/awt/_makefile.i
index 1f05674..8a7723c 100644
Binary files a/jdk/.hg/store/data/make/sun/awt/_makefile.i and b/jdk/.hg/store/data/make/sun/awt/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/sun/awt/mapfile-mawt-vers.i b/jdk/.hg/store/data/make/sun/awt/mapfile-mawt-vers.i
index fe1bbf1..37d533b 100644
Binary files a/jdk/.hg/store/data/make/sun/awt/mapfile-mawt-vers.i and b/jdk/.hg/store/data/make/sun/awt/mapfile-mawt-vers.i differ
diff --git a/jdk/.hg/store/data/make/sun/awt/mapfile-vers-linux.i b/jdk/.hg/store/data/make/sun/awt/mapfile-vers-linux.i
index 71b4bee..f610b4e 100644
Binary files a/jdk/.hg/store/data/make/sun/awt/mapfile-vers-linux.i and b/jdk/.hg/store/data/make/sun/awt/mapfile-vers-linux.i differ
diff --git a/jdk/.hg/store/data/make/sun/awt/mawt.gmk.i b/jdk/.hg/store/data/make/sun/awt/mawt.gmk.i
index 1ad503d..4d21cdc 100644
Binary files a/jdk/.hg/store/data/make/sun/awt/mawt.gmk.i and b/jdk/.hg/store/data/make/sun/awt/mawt.gmk.i differ
diff --git a/jdk/.hg/store/data/make/sun/launcher/_makefile.i b/jdk/.hg/store/data/make/sun/launcher/_makefile.i
index c63f4b1..32d29f7 100644
Binary files a/jdk/.hg/store/data/make/sun/launcher/_makefile.i and b/jdk/.hg/store/data/make/sun/launcher/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/sun/security/pkcs11/mapfile-vers.i b/jdk/.hg/store/data/make/sun/security/pkcs11/mapfile-vers.i
index f4c8f3b..865ea77 100644
Binary files a/jdk/.hg/store/data/make/sun/security/pkcs11/mapfile-vers.i and b/jdk/.hg/store/data/make/sun/security/pkcs11/mapfile-vers.i differ
diff --git a/jdk/.hg/store/data/make/sun/serialver/_makefile.i b/jdk/.hg/store/data/make/sun/serialver/_makefile.i
index 49a93d2..d55a7f2 100644
Binary files a/jdk/.hg/store/data/make/sun/serialver/_makefile.i and b/jdk/.hg/store/data/make/sun/serialver/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/sun/splashscreen/_f_i_l_e_s__c.gmk.i b/jdk/.hg/store/data/make/sun/splashscreen/_f_i_l_e_s__c.gmk.i
index 33ee600..943caa1 100644
Binary files a/jdk/.hg/store/data/make/sun/splashscreen/_f_i_l_e_s__c.gmk.i and b/jdk/.hg/store/data/make/sun/splashscreen/_f_i_l_e_s__c.gmk.i differ
diff --git a/jdk/.hg/store/data/make/sun/text/_makefile.i b/jdk/.hg/store/data/make/sun/text/_makefile.i
index 694843c..4e65d2d 100644
Binary files a/jdk/.hg/store/data/make/sun/text/_makefile.i and b/jdk/.hg/store/data/make/sun/text/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/sun/tools/_makefile.i b/jdk/.hg/store/data/make/sun/tools/_makefile.i
index 21f1d83..e146097 100644
Binary files a/jdk/.hg/store/data/make/sun/tools/_makefile.i and b/jdk/.hg/store/data/make/sun/tools/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/sun/util/_makefile.i b/jdk/.hg/store/data/make/sun/util/_makefile.i
index 9b675dd..fea8f00 100644
Binary files a/jdk/.hg/store/data/make/sun/util/_makefile.i and b/jdk/.hg/store/data/make/sun/util/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/sun/xawt/mapfile-vers.i b/jdk/.hg/store/data/make/sun/xawt/mapfile-vers.i
index 2de4224..f3db84d 100644
Binary files a/jdk/.hg/store/data/make/sun/xawt/mapfile-vers.i and b/jdk/.hg/store/data/make/sun/xawt/mapfile-vers.i differ
diff --git a/jdk/.hg/store/data/make/tools/freetypecheck/_makefile.i b/jdk/.hg/store/data/make/tools/freetypecheck/_makefile.i
index 687988f..4b3d6bf 100644
Binary files a/jdk/.hg/store/data/make/tools/freetypecheck/_makefile.i and b/jdk/.hg/store/data/make/tools/freetypecheck/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_array_region_type_node.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_array_region_type_node.java.i
index aa06f08..a902cff 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_array_region_type_node.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_array_region_type_node.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_out_node.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_out_node.java.i
index 07e1113..1a26060 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_out_node.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_out_node.java.i differ
diff --git a/jdk/.hg/store/data/src/linux/doc/man/jcmd.1.i b/jdk/.hg/store/data/src/linux/doc/man/jcmd.1.i
new file mode 100644
index 0000000..b1f65d1
Binary files /dev/null and b/jdk/.hg/store/data/src/linux/doc/man/jcmd.1.i differ
diff --git a/jdk/.hg/store/data/src/share/bin/java.c.i b/jdk/.hg/store/data/src/share/bin/java.c.i
index 85382e4..658364d 100644
Binary files a/jdk/.hg/store/data/src/share/bin/java.c.i and b/jdk/.hg/store/data/src/share/bin/java.c.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/beans/_type_resolver.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/beans/_type_resolver.java.i
index 4bc6d9f..ca80f7b 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/beans/_type_resolver.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/beans/_type_resolver.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/beans/finder/_abstract_finder.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/beans/finder/_abstract_finder.java.i
index eb39890..34503fd 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/beans/finder/_abstract_finder.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/beans/finder/_abstract_finder.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/beans/finder/_constructor_finder.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/beans/finder/_constructor_finder.java.i
index d2a15da..2ab2a22 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/beans/finder/_constructor_finder.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/beans/finder/_constructor_finder.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/beans/finder/_method_finder.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/beans/finder/_method_finder.java.i
index de2af3d..e968350 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/beans/finder/_method_finder.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/beans/finder/_method_finder.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/swing/_painter.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/swing/_painter.java.i
index 65a4818..0d3d626 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/swing/_painter.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/swing/_painter.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_absent_information_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_absent_information_exception.java.i
index 8bc0bdc..13885e8 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_absent_information_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_absent_information_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_class_not_loaded_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_class_not_loaded_exception.java.i
index fd11d76..92a3893 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_class_not_loaded_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_class_not_loaded_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_class_not_prepared_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_class_not_prepared_exception.java.i
index 28c7b61..247b426 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_class_not_prepared_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_class_not_prepared_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_incompatible_thread_state_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_incompatible_thread_state_exception.java.i
index 51a875f..48fc02e 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_incompatible_thread_state_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_incompatible_thread_state_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_inconsistent_debug_info_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_inconsistent_debug_info_exception.java.i
index 97f29a5..02f1948 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_inconsistent_debug_info_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_inconsistent_debug_info_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_internal_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_internal_exception.java.i
index 393ea10..469a6b9 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_internal_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_internal_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invalid_code_index_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invalid_code_index_exception.java.i
index eec7a90..a26b8b2 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invalid_code_index_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invalid_code_index_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invalid_line_number_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invalid_line_number_exception.java.i
index 4121353..c3b4a94 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invalid_line_number_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invalid_line_number_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invalid_stack_frame_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invalid_stack_frame_exception.java.i
index 2f53eaf..5527016 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invalid_stack_frame_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invalid_stack_frame_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invalid_type_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invalid_type_exception.java.i
index 8aaf3f7..ca8f0c3 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invalid_type_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invalid_type_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invocation_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invocation_exception.java.i
index f132a60..42abf11 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invocation_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_invocation_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_j_d_i_permission.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_j_d_i_permission.java.i
index 019a5db..da8cb9b 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_j_d_i_permission.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_j_d_i_permission.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_native_method_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_native_method_exception.java.i
index 124cf3a..131e0de 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_native_method_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_native_method_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_object_collected_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_object_collected_exception.java.i
index f45cdb3..b27d6a5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_object_collected_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_object_collected_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_v_m_cannot_be_modified_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_v_m_cannot_be_modified_exception.java.i
index 62bc845..6c6dff8 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_v_m_cannot_be_modified_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_v_m_cannot_be_modified_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_v_m_disconnected_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_v_m_disconnected_exception.java.i
index e955d2b..4d4aeee 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_v_m_disconnected_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_v_m_disconnected_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_v_m_mismatch_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_v_m_mismatch_exception.java.i
index 2e85d21..90c3254 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_v_m_mismatch_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_v_m_mismatch_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_v_m_out_of_memory_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_v_m_out_of_memory_exception.java.i
index 5f250e3..a2da649 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_v_m_out_of_memory_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/_v_m_out_of_memory_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/connect/_illegal_connector_arguments_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/connect/_illegal_connector_arguments_exception.java.i
index 8b8cb8e..db59119 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/connect/_illegal_connector_arguments_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/connect/_illegal_connector_arguments_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/connect/_transport_timeout_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/connect/_transport_timeout_exception.java.i
index 2c9e26b..4c1e361 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/connect/_transport_timeout_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/connect/_transport_timeout_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/connect/_v_m_start_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/connect/_v_m_start_exception.java.i
index bd772c2..ea573f8 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/connect/_v_m_start_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/connect/_v_m_start_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/connect/spi/_closed_connection_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/connect/spi/_closed_connection_exception.java.i
index e2bf10b..fb38a49 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/connect/spi/_closed_connection_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/connect/spi/_closed_connection_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/request/_duplicate_request_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/request/_duplicate_request_exception.java.i
index 55249fb..20f17eb 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/request/_duplicate_request_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/request/_duplicate_request_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/request/_invalid_request_state_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/request/_invalid_request_state_exception.java.i
index f4cec38..44b06f1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jdi/request/_invalid_request_state_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jdi/request/_invalid_request_state_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/management/_diagnostic_command_argument_info.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/management/_diagnostic_command_argument_info.java.i
new file mode 100644
index 0000000..5ac42e4
Binary files /dev/null and b/jdk/.hg/store/data/src/share/classes/com/sun/management/_diagnostic_command_argument_info.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/management/_diagnostic_command_info.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/management/_diagnostic_command_info.java.i
new file mode 100644
index 0000000..b0565b6
Binary files /dev/null and b/jdk/.hg/store/data/src/share/classes/com/sun/management/_diagnostic_command_info.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/management/_hot_spot_diagnostic_m_x_bean.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/management/_hot_spot_diagnostic_m_x_bean.java.i
index e5bfefa..e566ec7 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/management/_hot_spot_diagnostic_m_x_bean.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/management/_hot_spot_diagnostic_m_x_bean.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/media/sound/_j_s_security_manager.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/media/sound/_j_s_security_manager.java.i
index c7d330f..99e2814 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/media/sound/_j_s_security_manager.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/media/sound/_j_s_security_manager.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/net/httpserver/spi/_http_server_provider.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/net/httpserver/spi/_http_server_provider.java.i
index 04b6f42..eb41ac5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/net/httpserver/spi/_http_server_provider.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/net/httpserver/spi/_http_server_provider.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_cached_row_set_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_cached_row_set_impl.java.i
index 75a8f83..8d35a52 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_cached_row_set_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_cached_row_set_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_filtered_row_set_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_filtered_row_set_impl.java.i
index 731a640..58c1910 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_filtered_row_set_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_filtered_row_set_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_jdbc_row_set_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_jdbc_row_set_impl.java.i
index 48662e0..d9b4411 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_jdbc_row_set_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_jdbc_row_set_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_jdbc_row_set_resource_bundle.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_jdbc_row_set_resource_bundle.java.i
index d32152b..f1c4400 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_jdbc_row_set_resource_bundle.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_jdbc_row_set_resource_bundle.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_join_row_set_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_join_row_set_impl.java.i
index 4b65766..d1670ed 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_join_row_set_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_join_row_set_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_web_row_set_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_web_row_set_impl.java.i
index d6c2cfa..0b713bd 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_web_row_set_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/_web_row_set_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_cached_row_set_reader.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_cached_row_set_reader.java.i
index 55f94dc..b11db9a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_cached_row_set_reader.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_cached_row_set_reader.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_cached_row_set_writer.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_cached_row_set_writer.java.i
index 5cd02c6..fa8ff89 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_cached_row_set_writer.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_cached_row_set_writer.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_row.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_row.java.i
index 6b6352c..7392117 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_row.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_row.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_sync_resolver_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_sync_resolver_impl.java.i
index 06f53e3..3095807 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_sync_resolver_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_sync_resolver_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_web_row_set_xml_writer.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_web_row_set_xml_writer.java.i
index 7b3da04..b88379f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_web_row_set_xml_writer.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_web_row_set_xml_writer.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_xml_reader_content_handler.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_xml_reader_content_handler.java.i
index d9288ce..c68d8d0 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_xml_reader_content_handler.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/rowset/internal/_xml_reader_content_handler.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_array_reference_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_array_reference_impl.java.i
index b45eaaf..85a2400 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_array_reference_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_array_reference_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_array_type_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_array_type_impl.java.i
index 4a6de0b..1ad2308 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_array_type_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_array_type_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_boolean_value_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_boolean_value_impl.java.i
index fa54ca1..b7c4895 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_boolean_value_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_boolean_value_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_char_value_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_char_value_impl.java.i
index c605c5e..fb3dcb5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_char_value_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_char_value_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_class_loader_reference_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_class_loader_reference_impl.java.i
index 5492f1e..e59281f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_class_loader_reference_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_class_loader_reference_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_class_type_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_class_type_impl.java.i
index de8c13d..45be9dd 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_class_type_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_class_type_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_concrete_method_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_concrete_method_impl.java.i
index 6837788..fbe3458 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_concrete_method_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_concrete_method_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_connector_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_connector_impl.java.i
index 35bb377..c931ce8 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_connector_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_connector_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_double_value_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_double_value_impl.java.i
index 47c7e61..281be3e 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_double_value_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_double_value_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_event_request_manager_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_event_request_manager_impl.java.i
index 17cad5e..39b0cf5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_event_request_manager_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_event_request_manager_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_event_set_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_event_set_impl.java.i
index 47ff832..44dd668 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_event_set_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_event_set_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_float_value_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_float_value_impl.java.i
index cbdc1d3..f655949 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_float_value_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_float_value_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_generic_attaching_connector.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_generic_attaching_connector.java.i
index e1c203e..681ed39 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_generic_attaching_connector.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_generic_attaching_connector.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_integer_value_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_integer_value_impl.java.i
index 2e68c42..4f173fa 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_integer_value_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_integer_value_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_interface_type_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_interface_type_impl.java.i
index ee4210d..b4f2329 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_interface_type_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_interface_type_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_internal_event_handler.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_internal_event_handler.java.i
index 90cd045..582695b 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_internal_event_handler.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_internal_event_handler.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_j_d_w_p_exception.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_j_d_w_p_exception.java.i
index 230c5c7..dc7addc 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_j_d_w_p_exception.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_j_d_w_p_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_long_value_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_long_value_impl.java.i
index a7e4f0f..0bedee3 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_long_value_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_long_value_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_method_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_method_impl.java.i
index 7580b02..cc57b6c 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_method_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_method_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_mirror_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_mirror_impl.java.i
index ee6d16e..f8f227b 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_mirror_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_mirror_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_object_reference_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_object_reference_impl.java.i
index b5c29a6..29cdf92 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_object_reference_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_object_reference_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_process_attaching_connector.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_process_attaching_connector.java.i
index 4fbf306..8f35ccb 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_process_attaching_connector.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_process_attaching_connector.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_raw_command_line_launcher.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_raw_command_line_launcher.java.i
index b56b3e3..af5aac0 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_raw_command_line_launcher.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_raw_command_line_launcher.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_reference_type_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_reference_type_impl.java.i
index d77e7a2..35b0185 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_reference_type_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_reference_type_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_short_value_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_short_value_impl.java.i
index 4f575af..9465511 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_short_value_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_short_value_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_sun_command_line_launcher.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_sun_command_line_launcher.java.i
index 0be3fe9..ddfbc1b 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_sun_command_line_launcher.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_sun_command_line_launcher.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_target_v_m.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_target_v_m.java.i
index 6018416..670386a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_target_v_m.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_target_v_m.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_thread_action.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_thread_action.java.i
index 816c723..4368455 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_thread_action.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_thread_action.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_thread_group_reference_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_thread_group_reference_impl.java.i
index a578d3b..1abda32 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_thread_group_reference_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_thread_group_reference_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_thread_reference_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_thread_reference_impl.java.i
index 1827990..2a7d5a1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_thread_reference_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_thread_reference_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_v_m_action.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_v_m_action.java.i
index 25da749..ddf5c6a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_v_m_action.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_v_m_action.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_v_m_state.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_v_m_state.java.i
index 4423857..e84174e 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_v_m_state.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_v_m_state.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_virtual_machine_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_virtual_machine_impl.java.i
index e641141..ea81a28 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_virtual_machine_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/tools/jdi/_virtual_machine_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/applet/_applet.java.i b/jdk/.hg/store/data/src/share/classes/java/applet/_applet.java.i
index f22e857..99f00a2 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/applet/_applet.java.i and b/jdk/.hg/store/data/src/share/classes/java/applet/_applet.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/awt/_a_w_t_event.java.i b/jdk/.hg/store/data/src/share/classes/java/awt/_a_w_t_event.java.i
index cacf6d0..49482e3 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/awt/_a_w_t_event.java.i and b/jdk/.hg/store/data/src/share/classes/java/awt/_a_w_t_event.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/awt/_a_w_t_event_multicaster.java.i b/jdk/.hg/store/data/src/share/classes/java/awt/_a_w_t_event_multicaster.java.i
index 38f561b..f4a9f00 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/awt/_a_w_t_event_multicaster.java.i and b/jdk/.hg/store/data/src/share/classes/java/awt/_a_w_t_event_multicaster.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/awt/_a_w_t_key_stroke.java.i b/jdk/.hg/store/data/src/share/classes/java/awt/_a_w_t_key_stroke.java.i
index 6d32342..bb1f35e 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/awt/_a_w_t_key_stroke.java.i and b/jdk/.hg/store/data/src/share/classes/java/awt/_a_w_t_key_stroke.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/awt/_component.java.i b/jdk/.hg/store/data/src/share/classes/java/awt/_component.java.i
index c35c6fc..560f5b6 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/awt/_component.java.i and b/jdk/.hg/store/data/src/share/classes/java/awt/_component.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/awt/_container.java.i b/jdk/.hg/store/data/src/share/classes/java/awt/_container.java.i
index 9545217..fa90172 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/awt/_container.java.i and b/jdk/.hg/store/data/src/share/classes/java/awt/_container.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/awt/_font.java.i b/jdk/.hg/store/data/src/share/classes/java/awt/_font.java.i
index 74b45c1..0a2e876 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/awt/_font.java.i and b/jdk/.hg/store/data/src/share/classes/java/awt/_font.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/awt/_toolkit.java.i b/jdk/.hg/store/data/src/share/classes/java/awt/_toolkit.java.i
index 50727c7..fe79296 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/awt/_toolkit.java.i and b/jdk/.hg/store/data/src/share/classes/java/awt/_toolkit.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/awt/font/_styled_paragraph.java.i b/jdk/.hg/store/data/src/share/classes/java/awt/font/_styled_paragraph.java.i
index 3669799..adca043 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/awt/font/_styled_paragraph.java.i and b/jdk/.hg/store/data/src/share/classes/java/awt/font/_styled_paragraph.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/awt/font/_text_attribute.java.i b/jdk/.hg/store/data/src/share/classes/java/awt/font/_text_attribute.java.i
index 31cccbc..5aca7a2 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/awt/font/_text_attribute.java.i and b/jdk/.hg/store/data/src/share/classes/java/awt/font/_text_attribute.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/awt/font/_text_layout.java.i b/jdk/.hg/store/data/src/share/classes/java/awt/font/_text_layout.java.i
index 844c366..b976836 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/awt/font/_text_layout.java.i and b/jdk/.hg/store/data/src/share/classes/java/awt/font/_text_layout.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/awt/font/_text_line.java.i b/jdk/.hg/store/data/src/share/classes/java/awt/font/_text_line.java.i
index 5257f85..7903784 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/awt/font/_text_line.java.i and b/jdk/.hg/store/data/src/share/classes/java/awt/font/_text_line.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/awt/font/_text_measurer.java.i b/jdk/.hg/store/data/src/share/classes/java/awt/font/_text_measurer.java.i
index 186a340..899aa5a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/awt/font/_text_measurer.java.i and b/jdk/.hg/store/data/src/share/classes/java/awt/font/_text_measurer.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/awt/geom/_path2_d.java.i b/jdk/.hg/store/data/src/share/classes/java/awt/geom/_path2_d.java.i
index 88488f8..311ce1f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/awt/geom/_path2_d.java.i and b/jdk/.hg/store/data/src/share/classes/java/awt/geom/_path2_d.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/awt/im/_input_method_highlight.java.i b/jdk/.hg/store/data/src/share/classes/java/awt/im/_input_method_highlight.java.i
index a138400..b524aac 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/awt/im/_input_method_highlight.java.i and b/jdk/.hg/store/data/src/share/classes/java/awt/im/_input_method_highlight.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/awt/image/_color_model.java.i b/jdk/.hg/store/data/src/share/classes/java/awt/image/_color_model.java.i
index f6552de..aecbf2f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/awt/image/_color_model.java.i and b/jdk/.hg/store/data/src/share/classes/java/awt/image/_color_model.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_bean_descriptor.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_bean_descriptor.java.i
index ac9be59..8029ef3 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_bean_descriptor.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_bean_descriptor.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_beans.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_beans.java.i
index a7bf693..7ff58c1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_beans.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_beans.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_change_listener_map.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_change_listener_map.java.i
index 0025154..6031c27 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_change_listener_map.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_change_listener_map.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_default_persistence_delegate.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_default_persistence_delegate.java.i
index 0b04eb9..050a1c4 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_default_persistence_delegate.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_default_persistence_delegate.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_encoder.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_encoder.java.i
index a5a7caf..4e90861 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_encoder.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_encoder.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_event_handler.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_event_handler.java.i
index d2746b1..6c65c72 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_event_handler.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_event_handler.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_event_set_descriptor.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_event_set_descriptor.java.i
index ab71e5b..de03196 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_event_set_descriptor.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_event_set_descriptor.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_feature_descriptor.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_feature_descriptor.java.i
index 30cb05a..2ed6924 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_feature_descriptor.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_feature_descriptor.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_indexed_property_descriptor.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_indexed_property_descriptor.java.i
index a302390..e7b86c2 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_indexed_property_descriptor.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_indexed_property_descriptor.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_introspector.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_introspector.java.i
index 0144a25..605cf26 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_introspector.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_introspector.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_meta_data.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_meta_data.java.i
index 59a9bae..2db4b14 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_meta_data.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_meta_data.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_method_descriptor.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_method_descriptor.java.i
index e4fe317..8e827d1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_method_descriptor.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_method_descriptor.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_name_generator.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_name_generator.java.i
index b2d7780..27ee698 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_name_generator.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_name_generator.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_persistence_delegate.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_persistence_delegate.java.i
index 286fbae..57d1d45 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_persistence_delegate.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_persistence_delegate.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_property_change_event.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_property_change_event.java.i
index fd1371e..f50f072 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_property_change_event.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_property_change_event.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_property_change_support.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_property_change_support.java.i
index cbbf022..30ae4f6 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_property_change_support.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_property_change_support.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_property_descriptor.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_property_descriptor.java.i
index d3cbb23..6241cdd 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_property_descriptor.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_property_descriptor.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_property_editor_manager.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_property_editor_manager.java.i
index dd4e744..d3cc7b0 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_property_editor_manager.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_property_editor_manager.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_property_editor_support.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_property_editor_support.java.i
index d41bf6a..6b64ad5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_property_editor_support.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_property_editor_support.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_reflection_utils.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_reflection_utils.java.i
index 95cc13c..9247dd4 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_reflection_utils.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_reflection_utils.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_simple_bean_info.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_simple_bean_info.java.i
index 3fd75d3..79f1b6b 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_simple_bean_info.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_simple_bean_info.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_statement.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_statement.java.i
index 03be1c7..f10945a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_statement.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_statement.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_thread_group_context.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_thread_group_context.java.i
new file mode 100644
index 0000000..a5137d9
Binary files /dev/null and b/jdk/.hg/store/data/src/share/classes/java/beans/_thread_group_context.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_vetoable_change_support.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_vetoable_change_support.java.i
index 7d8ccc0..f149ba1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_vetoable_change_support.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_vetoable_change_support.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/_x_m_l_encoder.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/_x_m_l_encoder.java.i
index eaf2d66..2ca0c5e 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/_x_m_l_encoder.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/_x_m_l_encoder.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/beancontext/_bean_context.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/beancontext/_bean_context.java.i
index 56da88d..b4c5468 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/beancontext/_bean_context.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/beancontext/_bean_context.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/beans/beancontext/_bean_context_membership_event.java.i b/jdk/.hg/store/data/src/share/classes/java/beans/beancontext/_bean_context_membership_event.java.i
index ba01239..6470f8c 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/beans/beancontext/_bean_context_membership_event.java.i and b/jdk/.hg/store/data/src/share/classes/java/beans/beancontext/_bean_context_membership_event.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/io/_expiring_cache.java.i b/jdk/.hg/store/data/src/share/classes/java/io/_expiring_cache.java.i
index 0a2d638..71723e1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/io/_expiring_cache.java.i and b/jdk/.hg/store/data/src/share/classes/java/io/_expiring_cache.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/io/_file.java.i b/jdk/.hg/store/data/src/share/classes/java/io/_file.java.i
index cfee33b..6a2f9d2 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/io/_file.java.i and b/jdk/.hg/store/data/src/share/classes/java/io/_file.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/io/_file_input_stream.java.i b/jdk/.hg/store/data/src/share/classes/java/io/_file_input_stream.java.i
index 1352e89..8503687 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/io/_file_input_stream.java.i and b/jdk/.hg/store/data/src/share/classes/java/io/_file_input_stream.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/io/_file_output_stream.java.i b/jdk/.hg/store/data/src/share/classes/java/io/_file_output_stream.java.i
index 92edfd3..6c9afe5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/io/_file_output_stream.java.i and b/jdk/.hg/store/data/src/share/classes/java/io/_file_output_stream.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/io/_line_number_input_stream.java.i b/jdk/.hg/store/data/src/share/classes/java/io/_line_number_input_stream.java.i
index e198af5..a4cdff4 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/io/_line_number_input_stream.java.i and b/jdk/.hg/store/data/src/share/classes/java/io/_line_number_input_stream.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/io/_line_number_reader.java.i b/jdk/.hg/store/data/src/share/classes/java/io/_line_number_reader.java.i
index 64a89f6..ea9c2f1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/io/_line_number_reader.java.i and b/jdk/.hg/store/data/src/share/classes/java/io/_line_number_reader.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/io/_object_input_stream.java.i b/jdk/.hg/store/data/src/share/classes/java/io/_object_input_stream.java.i
index 31756be..d638a6d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/io/_object_input_stream.java.i and b/jdk/.hg/store/data/src/share/classes/java/io/_object_input_stream.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/io/_object_output_stream.java.i b/jdk/.hg/store/data/src/share/classes/java/io/_object_output_stream.java.i
index f904fdb..d7298dc 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/io/_object_output_stream.java.i and b/jdk/.hg/store/data/src/share/classes/java/io/_object_output_stream.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/io/_object_stream_class.java.i b/jdk/.hg/store/data/src/share/classes/java/io/_object_stream_class.java.i
index 62b9e9d..998e1ea 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/io/_object_stream_class.java.i and b/jdk/.hg/store/data/src/share/classes/java/io/_object_stream_class.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/io/_random_access_file.java.i b/jdk/.hg/store/data/src/share/classes/java/io/_random_access_file.java.i
index e986f22..2101499 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/io/_random_access_file.java.i and b/jdk/.hg/store/data/src/share/classes/java/io/_random_access_file.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/io/_sequence_input_stream.java.i b/jdk/.hg/store/data/src/share/classes/java/io/_sequence_input_stream.java.i
index d49ba24..9b038bd 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/io/_sequence_input_stream.java.i and b/jdk/.hg/store/data/src/share/classes/java/io/_sequence_input_stream.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/io/_writer.java.i b/jdk/.hg/store/data/src/share/classes/java/io/_writer.java.i
index 78a1f5f..3d1bdcf 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/io/_writer.java.i and b/jdk/.hg/store/data/src/share/classes/java/io/_writer.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_assertion_error.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_assertion_error.java.i
index 6b4bc65..b5fd3fa 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_assertion_error.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_assertion_error.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_boolean.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_boolean.java.i
index 048fdd9..d09c4ba 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_boolean.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_boolean.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_byte.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_byte.java.i
index a4f1cbd..5edb08a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_byte.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_byte.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_character.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_character.java.i
index 760e9e1..106d53a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_character.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_character.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_character_name.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_character_name.java.i
index c1c5b1d..454a0d1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_character_name.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_character_name.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_class.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_class.java.i
index 49f8c5e..28f1b1c 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_class.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_class.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_class_loader.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_class_loader.java.i
index dc8881a..17297de 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_class_loader.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_class_loader.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_class_value.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_class_value.java.i
index 24042cf..9c63d1b 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_class_value.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_class_value.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_conditional_special_casing.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_conditional_special_casing.java.i
index 7401f8f..c2f2a92 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_conditional_special_casing.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_conditional_special_casing.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_double.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_double.java.i
index 326bcb5..8531415 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_double.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_double.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_enum.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_enum.java.i
index dedc57c..17f12aa 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_enum.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_enum.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_enum_constant_not_present_exception.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_enum_constant_not_present_exception.java.i
index b9d03a8..3343f28 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_enum_constant_not_present_exception.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_enum_constant_not_present_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_float.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_float.java.i
index db4342e..a9779d5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_float.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_float.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_integer.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_integer.java.i
index df591ba..27c7753 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_integer.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_integer.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_long.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_long.java.i
index f28a625..19fe608 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_long.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_long.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_math.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_math.java.i
index e2dd546..56aeb81 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_math.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_math.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_object.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_object.java.i
index 5688060..7e08702 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_object.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_object.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_package.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_package.java.i
index 2e7a756..e236a18 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_package.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_package.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_runtime.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_runtime.java.i
index 9819f03..69fbabb 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_runtime.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_runtime.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_security_manager.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_security_manager.java.i
index c37ed9a..3edbeea 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_security_manager.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_security_manager.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_short.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_short.java.i
index 4807884..cff96e8 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_short.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_short.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_strict_math.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_strict_math.java.i
index e90016f..6efe43d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_strict_math.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_strict_math.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_string.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_string.java.i
index 83d4e1e..b760d1e 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_string.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_string.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_system.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_system.java.i
index bbd701f..b7e195f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_system.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_system.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_thread.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_thread.java.i
index aabccf8..bc349db 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_thread.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_thread.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_thread_group.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_thread_group.java.i
index 58afc9f..0ef69ef 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_thread_group.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_thread_group.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_thread_local.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_thread_local.java.i
index 48556ed..e815a63 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_thread_local.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_thread_local.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_throwable.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_throwable.java.i
index f720eff..89b48ac 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_throwable.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_throwable.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_void.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_void.java.i
index 87b3bbe..059d8b3 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_void.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_void.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/instrument/_class_definition.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/instrument/_class_definition.java.i
index 5d16095..f65b245 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/instrument/_class_definition.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/instrument/_class_definition.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_adapter_method_handle.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_adapter_method_handle.java.i
index 2d3dc48..40c9cc4 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_adapter_method_handle.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_adapter_method_handle.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_member_name.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_member_name.java.i
index b3d9690..db190ba 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_member_name.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_member_name.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_method_handle.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_method_handle.java.i
index 89cc51e..b9ac8e5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_method_handle.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_method_handle.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_method_handle_impl.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_method_handle_impl.java.i
index 15fa261..d381823 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_method_handle_impl.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_method_handle_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_method_handle_proxies.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_method_handle_proxies.java.i
index 0503571..c4753fe 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_method_handle_proxies.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_method_handle_proxies.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_method_handles.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_method_handles.java.i
index 773cb01..0619b31 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_method_handles.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/invoke/_method_handles.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/management/_management_factory.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/management/_management_factory.java.i
index 19e1eab..c7e9348 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/management/_management_factory.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/management/_management_factory.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/management/_platform_component.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/management/_platform_component.java.i
index 499999e..6b2c72a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/management/_platform_component.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/management/_platform_component.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/net/_content_handler.java.i b/jdk/.hg/store/data/src/share/classes/java/net/_content_handler.java.i
index 55b1e2e..5f36ff0 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/net/_content_handler.java.i and b/jdk/.hg/store/data/src/share/classes/java/net/_content_handler.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/net/_http_cookie.java.i b/jdk/.hg/store/data/src/share/classes/java/net/_http_cookie.java.i
index a6e572f..ab37e3f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/net/_http_cookie.java.i and b/jdk/.hg/store/data/src/share/classes/java/net/_http_cookie.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/net/_inet_address.java.i b/jdk/.hg/store/data/src/share/classes/java/net/_inet_address.java.i
index 26c2651..eb442f4 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/net/_inet_address.java.i and b/jdk/.hg/store/data/src/share/classes/java/net/_inet_address.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/nio/file/_file_tree_walker.java.i b/jdk/.hg/store/data/src/share/classes/java/nio/file/_file_tree_walker.java.i
index 258873f..6f8dc53 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/nio/file/_file_tree_walker.java.i and b/jdk/.hg/store/data/src/share/classes/java/nio/file/_file_tree_walker.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/nio/file/_files.java.i b/jdk/.hg/store/data/src/share/classes/java/nio/file/_files.java.i
index 3e55a3a..112e980 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/nio/file/_files.java.i and b/jdk/.hg/store/data/src/share/classes/java/nio/file/_files.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/nio/file/_path.java.i b/jdk/.hg/store/data/src/share/classes/java/nio/file/_path.java.i
index b45ceeb..49d7d4d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/nio/file/_path.java.i and b/jdk/.hg/store/data/src/share/classes/java/nio/file/_path.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/nio/file/attribute/_acl_entry.java.i b/jdk/.hg/store/data/src/share/classes/java/nio/file/attribute/_acl_entry.java.i
index ae9216c..57edb30 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/nio/file/attribute/_acl_entry.java.i and b/jdk/.hg/store/data/src/share/classes/java/nio/file/attribute/_acl_entry.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/nio/file/spi/_file_system_provider.java.i b/jdk/.hg/store/data/src/share/classes/java/nio/file/spi/_file_system_provider.java.i
index c5a34f4..5dd0273 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/nio/file/spi/_file_system_provider.java.i and b/jdk/.hg/store/data/src/share/classes/java/nio/file/spi/_file_system_provider.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/rmi/_marshalled_object.java.i b/jdk/.hg/store/data/src/share/classes/java/rmi/_marshalled_object.java.i
index e5b440e..aa08e4f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/rmi/_marshalled_object.java.i and b/jdk/.hg/store/data/src/share/classes/java/rmi/_marshalled_object.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/rmi/dgc/_v_m_i_d.java.i b/jdk/.hg/store/data/src/share/classes/java/rmi/dgc/_v_m_i_d.java.i
index 54dfb44..aafc45f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/rmi/dgc/_v_m_i_d.java.i and b/jdk/.hg/store/data/src/share/classes/java/rmi/dgc/_v_m_i_d.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/rmi/server/_log_stream.java.i b/jdk/.hg/store/data/src/share/classes/java/rmi/server/_log_stream.java.i
index 7dbd204..1fa8e96 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/rmi/server/_log_stream.java.i and b/jdk/.hg/store/data/src/share/classes/java/rmi/server/_log_stream.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/rmi/server/_remote_object.java.i b/jdk/.hg/store/data/src/share/classes/java/rmi/server/_remote_object.java.i
index 9fa31a2..f4d4b67 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/rmi/server/_remote_object.java.i and b/jdk/.hg/store/data/src/share/classes/java/rmi/server/_remote_object.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/security/_policy.java.i b/jdk/.hg/store/data/src/share/classes/java/security/_policy.java.i
index 0d09415..526886f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/security/_policy.java.i and b/jdk/.hg/store/data/src/share/classes/java/security/_policy.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/sql/_date.java.i b/jdk/.hg/store/data/src/share/classes/java/sql/_date.java.i
index 3ab6503..546ab57 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/sql/_date.java.i and b/jdk/.hg/store/data/src/share/classes/java/sql/_date.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/sql/_driver_manager.java.i b/jdk/.hg/store/data/src/share/classes/java/sql/_driver_manager.java.i
index 93f154c..30dad08 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/sql/_driver_manager.java.i and b/jdk/.hg/store/data/src/share/classes/java/sql/_driver_manager.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/sql/_prepared_statement.java.i b/jdk/.hg/store/data/src/share/classes/java/sql/_prepared_statement.java.i
index 96dbd4c..f14eee9 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/sql/_prepared_statement.java.i and b/jdk/.hg/store/data/src/share/classes/java/sql/_prepared_statement.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/sql/_statement.java.i b/jdk/.hg/store/data/src/share/classes/java/sql/_statement.java.i
index ea5a8f8..275715d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/sql/_statement.java.i and b/jdk/.hg/store/data/src/share/classes/java/sql/_statement.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/sql/_time.java.i b/jdk/.hg/store/data/src/share/classes/java/sql/_time.java.i
index 959cce6..b8a84f1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/sql/_time.java.i and b/jdk/.hg/store/data/src/share/classes/java/sql/_time.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/sql/_timestamp.java.i b/jdk/.hg/store/data/src/share/classes/java/sql/_timestamp.java.i
index 55cd264..35cfcc1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/sql/_timestamp.java.i and b/jdk/.hg/store/data/src/share/classes/java/sql/_timestamp.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/_currency.java.i b/jdk/.hg/store/data/src/share/classes/java/util/_currency.java.i
index a30c0ef..79bab5a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/_currency.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/_currency.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/_date.java.i b/jdk/.hg/store/data/src/share/classes/java/util/_date.java.i
index e5a28d0..ddb4ed3 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/_date.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/_date.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/_formatter.java.i b/jdk/.hg/store/data/src/share/classes/java/util/_formatter.java.i
index b2d9862..713559d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/_formatter.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/_formatter.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/_gregorian_calendar.java.i b/jdk/.hg/store/data/src/share/classes/java/util/_gregorian_calendar.java.i
index 7873ade..cdbfed1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/_gregorian_calendar.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/_gregorian_calendar.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/_japanese_imperial_calendar.java.i b/jdk/.hg/store/data/src/share/classes/java/util/_japanese_imperial_calendar.java.i
index 14a9e43..ba9e92f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/_japanese_imperial_calendar.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/_japanese_imperial_calendar.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/_locale.java.i b/jdk/.hg/store/data/src/share/classes/java/util/_locale.java.i
index 923bf3e..8dcc717 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/_locale.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/_locale.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/_property_permission.java.i b/jdk/.hg/store/data/src/share/classes/java/util/_property_permission.java.i
index acc8fbf..8a3acaa 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/_property_permission.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/_property_permission.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/_resource_bundle.java.i b/jdk/.hg/store/data/src/share/classes/java/util/_resource_bundle.java.i
index b0049e7..919f02e 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/_resource_bundle.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/_resource_bundle.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_array_blocking_queue.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_array_blocking_queue.java.i
index e6180f2..820e847 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_array_blocking_queue.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_array_blocking_queue.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_hash_map.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_hash_map.java.i
index e929fe6..3413d59 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_hash_map.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_hash_map.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_linked_deque.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_linked_deque.java.i
index 1d5cc71..745a191 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_linked_deque.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_linked_deque.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_linked_queue.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_linked_queue.java.i
index 2a6e639..7a67e42 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_linked_queue.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_linked_queue.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_skip_list_map.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_skip_list_map.java.i
index 24c24e1..d1aa903 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_skip_list_map.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_skip_list_map.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_skip_list_set.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_skip_list_set.java.i
index 31adabe..68f696a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_skip_list_set.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_concurrent_skip_list_set.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_copy_on_write_array_list.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_copy_on_write_array_list.java.i
index 0d95692..0423229 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_copy_on_write_array_list.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_copy_on_write_array_list.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_delay_queue.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_delay_queue.java.i
index 74f34b3..70176ed 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_delay_queue.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_delay_queue.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_exchanger.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_exchanger.java.i
index d2d95b0..b1d8abb 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_exchanger.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_exchanger.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_fork_join_pool.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_fork_join_pool.java.i
index 581dd61..575923f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_fork_join_pool.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_fork_join_pool.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_fork_join_task.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_fork_join_task.java.i
index 03e1245..3b82f8f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_fork_join_task.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_fork_join_task.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_fork_join_worker_thread.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_fork_join_worker_thread.java.i
index 359e8e1..b5bef62 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_fork_join_worker_thread.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_fork_join_worker_thread.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_linked_blocking_deque.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_linked_blocking_deque.java.i
index faa7af2..c5480fe 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_linked_blocking_deque.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_linked_blocking_deque.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_linked_blocking_queue.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_linked_blocking_queue.java.i
index 7efde79..0a3602e 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_linked_blocking_queue.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_linked_blocking_queue.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_linked_transfer_queue.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_linked_transfer_queue.java.i
index cf5d84d..710213d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_linked_transfer_queue.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_linked_transfer_queue.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_phaser.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_phaser.java.i
index 7f4ed65..7a9339a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_phaser.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_phaser.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_priority_blocking_queue.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_priority_blocking_queue.java.i
index 4359954..75411e2 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_priority_blocking_queue.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_priority_blocking_queue.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_scheduled_thread_pool_executor.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_scheduled_thread_pool_executor.java.i
index a3fb5ed..288c531 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_scheduled_thread_pool_executor.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_scheduled_thread_pool_executor.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_synchronous_queue.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_synchronous_queue.java.i
index 132d09a..e2eee37 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_synchronous_queue.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/_synchronous_queue.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_boolean.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_boolean.java.i
index 4ce48e5..5022427 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_boolean.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_boolean.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_integer.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_integer.java.i
index 1c77660..703bfda 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_integer.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_integer.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_integer_array.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_integer_array.java.i
index b7229cc..3296609 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_integer_array.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_integer_array.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_integer_field_updater.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_integer_field_updater.java.i
index bb3991e..0993ab1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_integer_field_updater.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_integer_field_updater.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_long.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_long.java.i
index 914ff42..bf9cf85 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_long.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_long.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_long_array.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_long_array.java.i
index 6438f52..76adcc0 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_long_array.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_long_array.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_long_field_updater.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_long_field_updater.java.i
index 83489e4..f4c768b 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_long_field_updater.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_long_field_updater.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_reference.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_reference.java.i
index d4a7891..c8adbeb 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_reference.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_reference.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_reference_array.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_reference_array.java.i
index 076ebcb..62bf793 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_reference_array.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_reference_array.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_reference_field_updater.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_reference_field_updater.java.i
index b55577b..b31d4a1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_reference_field_updater.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_reference_field_updater.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_stamped_reference.java.i b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_stamped_reference.java.i
index 44a80e3..a1563e6 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_stamped_reference.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/concurrent/atomic/_atomic_stamped_reference.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/jar/_attributes.java.i b/jdk/.hg/store/data/src/share/classes/java/util/jar/_attributes.java.i
index 0133398..6faa302 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/jar/_attributes.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/jar/_attributes.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/jar/_jar_file.java.i b/jdk/.hg/store/data/src/share/classes/java/util/jar/_jar_file.java.i
index 3bd797d..bfbde1e 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/jar/_jar_file.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/jar/_jar_file.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/jar/_jar_verifier.java.i b/jdk/.hg/store/data/src/share/classes/java/util/jar/_jar_verifier.java.i
index 2344bf2..08b40ab 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/jar/_jar_verifier.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/jar/_jar_verifier.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/jar/_java_util_jar_access_impl.java.i b/jdk/.hg/store/data/src/share/classes/java/util/jar/_java_util_jar_access_impl.java.i
index 1d03b22..9417b66 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/jar/_java_util_jar_access_impl.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/jar/_java_util_jar_access_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/jar/_manifest.java.i b/jdk/.hg/store/data/src/share/classes/java/util/jar/_manifest.java.i
index 454491c..76b8853 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/jar/_manifest.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/jar/_manifest.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/logging/_log_manager.java.i b/jdk/.hg/store/data/src/share/classes/java/util/logging/_log_manager.java.i
index cba1b1f..635b838 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/logging/_log_manager.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/logging/_log_manager.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/prefs/_preferences.java.i b/jdk/.hg/store/data/src/share/classes/java/util/prefs/_preferences.java.i
index 7afbb3f..09880cc 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/prefs/_preferences.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/prefs/_preferences.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/prefs/_xml_support.java.i b/jdk/.hg/store/data/src/share/classes/java/util/prefs/_xml_support.java.i
index 7ae0373..f469564 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/prefs/_xml_support.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/prefs/_xml_support.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/regex/_pattern.java.i b/jdk/.hg/store/data/src/share/classes/java/util/regex/_pattern.java.i
index 55fa17a..0aba5dc 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/regex/_pattern.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/regex/_pattern.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/zip/_adler32.java.i b/jdk/.hg/store/data/src/share/classes/java/util/zip/_adler32.java.i
index 47c867c..04e17fe 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/zip/_adler32.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/zip/_adler32.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/zip/_c_r_c32.java.i b/jdk/.hg/store/data/src/share/classes/java/util/zip/_c_r_c32.java.i
index 021da8f..3d84781 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/zip/_c_r_c32.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/zip/_c_r_c32.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/util/zip/_zip_entry.java.i b/jdk/.hg/store/data/src/share/classes/java/util/zip/_zip_entry.java.i
index 5df1950..76a489f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/util/zip/_zip_entry.java.i and b/jdk/.hg/store/data/src/share/classes/java/util/zip/_zip_entry.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/script/_script_engine_manager.java.i b/jdk/.hg/store/data/src/share/classes/javax/script/_script_engine_manager.java.i
index ab3f927..cdace54 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/script/_script_engine_manager.java.i and b/jdk/.hg/store/data/src/share/classes/javax/script/_script_engine_manager.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/script/_script_exception.java.i b/jdk/.hg/store/data/src/share/classes/javax/script/_script_exception.java.i
index efd3398..40f46cf 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/script/_script_exception.java.i and b/jdk/.hg/store/data/src/share/classes/javax/script/_script_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/security/auth/kerberos/_service_permission.java.i b/jdk/.hg/store/data/src/share/classes/javax/security/auth/kerberos/_service_permission.java.i
index cd00a73..5c4f821 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/security/auth/kerberos/_service_permission.java.i and b/jdk/.hg/store/data/src/share/classes/javax/security/auth/kerberos/_service_permission.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/sql/_statement_event.java.i b/jdk/.hg/store/data/src/share/classes/javax/sql/_statement_event.java.i
index 8a02058..1e602e8 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/sql/_statement_event.java.i and b/jdk/.hg/store/data/src/share/classes/javax/sql/_statement_event.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/_base_row_set.java.i b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/_base_row_set.java.i
index 89a45b2..502be35 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/_base_row_set.java.i and b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/_base_row_set.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/_row_set_meta_data_impl.java.i b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/_row_set_meta_data_impl.java.i
index 1599493..7a9f798 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/_row_set_meta_data_impl.java.i and b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/_row_set_meta_data_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/_row_set_provider.java.i b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/_row_set_provider.java.i
index 0ce8aee..267f296 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/_row_set_provider.java.i and b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/_row_set_provider.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_s_q_l_input_impl.java.i b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_s_q_l_input_impl.java.i
index ec9239d..24f286e 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_s_q_l_input_impl.java.i and b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_s_q_l_input_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_s_q_l_output_impl.java.i b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_s_q_l_output_impl.java.i
index e392c88..e618ae2 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_s_q_l_output_impl.java.i and b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_s_q_l_output_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_array.java.i b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_array.java.i
index 89f2156..d15fdf4 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_array.java.i and b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_array.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_blob.java.i b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_blob.java.i
index 054b4fa..ba9e04a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_blob.java.i and b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_blob.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_java_object.java.i b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_java_object.java.i
index 1d69162..fd90518 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_java_object.java.i and b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_java_object.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_ref.java.i b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_ref.java.i
index e3af18d..5401526 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_ref.java.i and b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_ref.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_struct.java.i b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_struct.java.i
index 31eb818..6b378e4 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_struct.java.i and b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/serial/_serial_struct.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/spi/_sync_factory.java.i b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/spi/_sync_factory.java.i
index 894b8bd..269d0e8 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/spi/_sync_factory.java.i and b/jdk/.hg/store/data/src/share/classes/javax/sql/rowset/spi/_sync_factory.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_abstract_button.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_abstract_button.java.i
index b18f018..1fe72a2 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_abstract_button.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_abstract_button.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_action_map.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_action_map.java.i
index 97b07e6..5ca587f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_action_map.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_action_map.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_action_property_change_listener.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_action_property_change_listener.java.i
index d479961..2d4e9d7 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_action_property_change_listener.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_action_property_change_listener.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_ancestor_notifier.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_ancestor_notifier.java.i
index 46234fd..337af59 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_ancestor_notifier.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_ancestor_notifier.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_array_table.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_array_table.java.i
index 98b47db..c748c97 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_array_table.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_array_table.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_box.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_box.java.i
index e94612c..0ab7a1f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_box.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_box.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_box_layout.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_box_layout.java.i
index 2a5389d..6d1ebd4 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_box_layout.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_box_layout.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_button_group.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_button_group.java.i
index dafbdf4..77d138b 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_button_group.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_button_group.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_component_input_map.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_component_input_map.java.i
index 2bf15f0..f49db65 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_component_input_map.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_component_input_map.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_input_map.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_input_map.java.i
index 3625eb4..a29aa9a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_input_map.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_input_map.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_button.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_button.java.i
index a67a172..53f151f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_button.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_button.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_component.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_component.java.i
index d043c1b..0c151e5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_component.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_component.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_label.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_label.java.i
index 0cd2f10..17c3591 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_label.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_label.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_layered_pane.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_layered_pane.java.i
index 42e3a0b..c903e21 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_layered_pane.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_layered_pane.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_menu.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_menu.java.i
index bbb3c01..b912ceb 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_menu.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_menu.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_menu_bar.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_menu_bar.java.i
index 0a665dc..a4689d5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_menu_bar.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_menu_bar.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_menu_item.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_menu_item.java.i
index b2e95ab..6ab28ac 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_menu_item.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_menu_item.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_popup_menu.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_popup_menu.java.i
index 7501f70..f70a8b5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_popup_menu.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_popup_menu.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_root_pane.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_root_pane.java.i
index 8c603dd..6a191e6 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_root_pane.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_root_pane.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_separator.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_separator.java.i
index b1b4af7..7fe5ea1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_separator.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_separator.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_tool_tip.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_tool_tip.java.i
index 06071b6..28ccbd3 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_tool_tip.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_tool_tip.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_tree.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_tree.java.i
index 0a7cc81..9f63218 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_tree.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_tree.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_window.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_window.java.i
index f2a1957..8e74564 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_j_window.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_j_window.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_menu_selection_manager.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_menu_selection_manager.java.i
index c34dfb0..c78d56c 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_menu_selection_manager.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_menu_selection_manager.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_popup.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_popup.java.i
index 450b68a..b045ec0 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_popup.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_popup.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_repaint_manager.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_repaint_manager.java.i
index deaaa76..b5fbf13 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_repaint_manager.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_repaint_manager.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_timer.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_timer.java.i
index ed3d662..55af5e0 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_timer.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_timer.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/border/_abstract_border.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/border/_abstract_border.java.i
index 56b18c3..c102b25 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/border/_abstract_border.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/border/_abstract_border.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/border/_compound_border.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/border/_compound_border.java.i
index ffc951b..d2dce17 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/border/_compound_border.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/border/_compound_border.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/border/_empty_border.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/border/_empty_border.java.i
index d8e332a..7123e17 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/border/_empty_border.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/border/_empty_border.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/border/_matte_border.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/border/_matte_border.java.i
index e79d2f3..fb51777 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/border/_matte_border.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/border/_matte_border.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/border/_titled_border.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/border/_titled_border.java.i
index b741760..3142ac3 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/border/_titled_border.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/border/_titled_border.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/event/_ancestor_event.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/event/_ancestor_event.java.i
index 9f7ac02..cd881a9 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/event/_ancestor_event.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/event/_ancestor_event.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/event/_change_event.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/event/_change_event.java.i
index 374565e..319e68c 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/event/_change_event.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/event/_change_event.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/event/_event_listener_list.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/event/_event_listener_list.java.i
index c1b2044..ef58469 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/event/_event_listener_list.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/event/_event_listener_list.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/event/_list_data_event.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/event/_list_data_event.java.i
index dad8ada..5db5f87 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/event/_list_data_event.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/event/_list_data_event.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/event/_menu_drag_mouse_event.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/event/_menu_drag_mouse_event.java.i
index 8dde2f0..e0851f2 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/event/_menu_drag_mouse_event.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/event/_menu_drag_mouse_event.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/event/_menu_event.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/event/_menu_event.java.i
index 3bdeb5f..ff15d1d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/event/_menu_event.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/event/_menu_event.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/event/_menu_key_event.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/event/_menu_key_event.java.i
index 85d11aa..45d4093 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/event/_menu_key_event.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/event/_menu_key_event.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/event/_popup_menu_event.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/event/_popup_menu_event.java.i
index 709d689..2942256 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/event/_popup_menu_event.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/event/_popup_menu_event.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/_component_u_i.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/_component_u_i.java.i
index 822462d..d439350 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/_component_u_i.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/_component_u_i.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/basic/_basic_tree_u_i.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/basic/_basic_tree_u_i.java.i
index ba6b200..64bf3d8 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/basic/_basic_tree_u_i.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/basic/_basic_tree_u_i.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/text/_bad_location_exception.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/text/_bad_location_exception.java.i
index 5d27d07..4ef8ac2 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/text/_bad_location_exception.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/text/_bad_location_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/text/_default_caret.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/text/_default_caret.java.i
index f0a7c60..af977bb 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/text/_default_caret.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/text/_default_caret.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/tree/_default_tree_selection_model.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/tree/_default_tree_selection_model.java.i
index bb311b6..b2bd6c9 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/tree/_default_tree_selection_model.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/tree/_default_tree_selection_model.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/_node_set_data.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/_node_set_data.java.i
index 31ab942..3079e60 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/_node_set_data.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/_node_set_data.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dom/_d_o_m_crypto_context.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dom/_d_o_m_crypto_context.java.i
index 4baa500..a469b8e 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dom/_d_o_m_crypto_context.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dom/_d_o_m_crypto_context.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_manifest.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_manifest.java.i
index f57c084..4147aa5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_manifest.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_manifest.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_reference.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_reference.java.i
index 5dff900..c733269 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_reference.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_reference.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_signature_properties.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_signature_properties.java.i
index b388af3..0252ded 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_signature_properties.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_signature_properties.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_signature_property.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_signature_property.java.i
index 10d7b74..b257c45 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_signature_property.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_signature_property.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_signed_info.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_signed_info.java.i
index c098135..1fd7696 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_signed_info.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_signed_info.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_transform_service.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_transform_service.java.i
index 6d1efc0..40179f3 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_transform_service.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_transform_service.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_x_m_l_object.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_x_m_l_object.java.i
index 3725042..56035a5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_x_m_l_object.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_x_m_l_object.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_x_m_l_signature.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_x_m_l_signature.java.i
index 00d2afb..e7e03b8 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_x_m_l_signature.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_x_m_l_signature.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_x_m_l_signature_factory.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_x_m_l_signature_factory.java.i
index fa55e92..37df34b 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_x_m_l_signature_factory.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/_x_m_l_signature_factory.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_key_info.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_key_info.java.i
index d3e9172..fa21bea 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_key_info.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_key_info.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_key_info_factory.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_key_info_factory.java.i
index 43d680f..25fdc9d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_key_info_factory.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_key_info_factory.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_p_g_p_data.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_p_g_p_data.java.i
index 070546c..db83932 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_p_g_p_data.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_p_g_p_data.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_retrieval_method.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_retrieval_method.java.i
index 019d771..686c94d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_retrieval_method.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_retrieval_method.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_x509_data.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_x509_data.java.i
index 6745c1e..ec57380 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_x509_data.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/keyinfo/_x509_data.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/spec/_exc_c14_n_parameter_spec.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/spec/_exc_c14_n_parameter_spec.java.i
index 1ce7f01..1207520 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/spec/_exc_c14_n_parameter_spec.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/spec/_exc_c14_n_parameter_spec.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/spec/_x_path_filter2_parameter_spec.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/spec/_x_path_filter2_parameter_spec.java.i
index 3ba6f11..6563984 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/spec/_x_path_filter2_parameter_spec.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/spec/_x_path_filter2_parameter_spec.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/spec/_x_path_filter_parameter_spec.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/spec/_x_path_filter_parameter_spec.java.i
index 5981415..daab1a5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/spec/_x_path_filter_parameter_spec.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/spec/_x_path_filter_parameter_spec.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/spec/_x_path_type.java.i b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/spec/_x_path_type.java.i
index d1fc684..38d98cf 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/spec/_x_path_type.java.i and b/jdk/.hg/store/data/src/share/classes/javax/xml/crypto/dsig/spec/_x_path_type.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/_a_w_t_auto_shutdown.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/_a_w_t_auto_shutdown.java.i
index 98cf315..cce35de 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/_a_w_t_auto_shutdown.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/_a_w_t_auto_shutdown.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/_app_context.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/_app_context.java.i
index cbec7ce..d56111d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/_app_context.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/_app_context.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/_caused_focus_event.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/_caused_focus_event.java.i
index bfbb347..7aa5212 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/_caused_focus_event.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/_caused_focus_event.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/_debug_settings.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/_debug_settings.java.i
index ddde6f1..dd8cfb2 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/_debug_settings.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/_debug_settings.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/_embedded_frame.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/_embedded_frame.java.i
index 7c1364c..c2ec478 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/_embedded_frame.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/_embedded_frame.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/_event_listener_aggregate.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/_event_listener_aggregate.java.i
index ed4af61..0a11685 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/_event_listener_aggregate.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/_event_listener_aggregate.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/_headless_toolkit.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/_headless_toolkit.java.i
index d51b43c..288cc53 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/_headless_toolkit.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/_headless_toolkit.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/_keyboard_focus_manager_peer_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/_keyboard_focus_manager_peer_impl.java.i
index 557d8bc..74ee272 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/_keyboard_focus_manager_peer_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/_keyboard_focus_manager_peer_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/_modality_event.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/_modality_event.java.i
index 60287b9..0d079fa 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/_modality_event.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/_modality_event.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/_paint_event_dispatcher.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/_paint_event_dispatcher.java.i
index 718d15d..08b95e5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/_paint_event_dispatcher.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/_paint_event_dispatcher.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/_peer_event.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/_peer_event.java.i
index 97ef72c..729d7e7 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/_peer_event.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/_peer_event.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/_sun_display_changer.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/_sun_display_changer.java.i
index 659b149..6f3b2c0 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/_sun_display_changer.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/_sun_display_changer.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/_sun_graphics_callback.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/_sun_graphics_callback.java.i
index 757f537..d81db6d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/_sun_graphics_callback.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/_sun_graphics_callback.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/_sun_toolkit.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/_sun_toolkit.java.i
index 3c7cd5c..423f151 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/_sun_toolkit.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/_sun_toolkit.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/_ungrab_event.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/_ungrab_event.java.i
index d758fc2..fbfe05a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/_ungrab_event.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/_ungrab_event.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/datatransfer/_data_transferer.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/datatransfer/_data_transferer.java.i
index e685757..8e49f84 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/datatransfer/_data_transferer.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/datatransfer/_data_transferer.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/dnd/_sun_drag_source_context_peer.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/dnd/_sun_drag_source_context_peer.java.i
index d79ab83..3ef5c32 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/dnd/_sun_drag_source_context_peer.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/dnd/_sun_drag_source_context_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/im/_composition_area.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/im/_composition_area.java.i
index 35e6264..6c1cf9f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/im/_composition_area.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/im/_composition_area.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/im/_composition_area_handler.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/im/_composition_area_handler.java.i
index 7a3f794..0f5eabb 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/im/_composition_area_handler.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/im/_composition_area_handler.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/im/_input_context.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/im/_input_context.java.i
index 330607a..e267467 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/im/_input_context.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/im/_input_context.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/im/_input_method_context.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/im/_input_method_context.java.i
index 4e82700..3141baf 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/im/_input_method_context.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/im/_input_method_context.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/im/_input_method_j_frame.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/im/_input_method_j_frame.java.i
index a313519..62279b3 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/im/_input_method_j_frame.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/im/_input_method_j_frame.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/im/_input_method_manager.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/im/_input_method_manager.java.i
index cf1054b..86dd216 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/im/_input_method_manager.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/im/_input_method_manager.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/im/_simple_input_method_window.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/im/_simple_input_method_window.java.i
index 44819fc..480863b 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/im/_simple_input_method_window.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/im/_simple_input_method_window.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/image/_buf_img_surface_data.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/image/_buf_img_surface_data.java.i
index 3391d01..abb7ea0 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/image/_buf_img_surface_data.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/image/_buf_img_surface_data.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/instrument/_instrumentation_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/instrument/_instrumentation_impl.java.i
index 2bc5460..04a5a06 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/instrument/_instrumentation_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/instrument/_instrumentation_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/instrument/_transformer_manager.java.i b/jdk/.hg/store/data/src/share/classes/sun/instrument/_transformer_manager.java.i
index 5520349..b205619 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/instrument/_transformer_manager.java.i and b/jdk/.hg/store/data/src/share/classes/sun/instrument/_transformer_manager.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/invoke/util/_value_conversions.java.i b/jdk/.hg/store/data/src/share/classes/sun/invoke/util/_value_conversions.java.i
index 508398f..d6c2c9c 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/invoke/util/_value_conversions.java.i and b/jdk/.hg/store/data/src/share/classes/sun/invoke/util/_value_conversions.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/invoke/util/_wrapper.java.i b/jdk/.hg/store/data/src/share/classes/sun/invoke/util/_wrapper.java.i
index 80c6b6b..a1f5eba 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/invoke/util/_wrapper.java.i and b/jdk/.hg/store/data/src/share/classes/sun/invoke/util/_wrapper.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/java2d/_sun_graphics2_d.java.i b/jdk/.hg/store/data/src/share/classes/sun/java2d/_sun_graphics2_d.java.i
index 30fefd9..1f77b0a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/java2d/_sun_graphics2_d.java.i and b/jdk/.hg/store/data/src/share/classes/sun/java2d/_sun_graphics2_d.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/java2d/_surface_data.java.i b/jdk/.hg/store/data/src/share/classes/sun/java2d/_surface_data.java.i
index 893c302..21c1317 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/java2d/_surface_data.java.i and b/jdk/.hg/store/data/src/share/classes/sun/java2d/_surface_data.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/java2d/_surface_data_proxy.java.i b/jdk/.hg/store/data/src/share/classes/sun/java2d/_surface_data_proxy.java.i
index cacd214..4bb9c9d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/java2d/_surface_data_proxy.java.i and b/jdk/.hg/store/data/src/share/classes/sun/java2d/_surface_data_proxy.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/java2d/loops/_graphics_primitive.java.i b/jdk/.hg/store/data/src/share/classes/sun/java2d/loops/_graphics_primitive.java.i
index 1edd6f4..f70dec8 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/java2d/loops/_graphics_primitive.java.i and b/jdk/.hg/store/data/src/share/classes/sun/java2d/loops/_graphics_primitive.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/java2d/loops/_surface_type.java.i b/jdk/.hg/store/data/src/share/classes/sun/java2d/loops/_surface_type.java.i
index 6455afd..17b9705 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/java2d/loops/_surface_type.java.i and b/jdk/.hg/store/data/src/share/classes/sun/java2d/loops/_surface_type.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/java2d/opengl/_o_g_l_buf_img_ops.java.i b/jdk/.hg/store/data/src/share/classes/sun/java2d/opengl/_o_g_l_buf_img_ops.java.i
index e39efd6..297497c 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/java2d/opengl/_o_g_l_buf_img_ops.java.i and b/jdk/.hg/store/data/src/share/classes/sun/java2d/opengl/_o_g_l_buf_img_ops.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/java2d/opengl/_o_g_l_draw_image.java.i b/jdk/.hg/store/data/src/share/classes/sun/java2d/opengl/_o_g_l_draw_image.java.i
index 61ef9d4..c6ca167 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/java2d/opengl/_o_g_l_draw_image.java.i and b/jdk/.hg/store/data/src/share/classes/sun/java2d/opengl/_o_g_l_draw_image.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/java2d/opengl/_o_g_l_paints.java.i b/jdk/.hg/store/data/src/share/classes/sun/java2d/opengl/_o_g_l_paints.java.i
index 54d7fdb..57981fa 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/java2d/opengl/_o_g_l_paints.java.i and b/jdk/.hg/store/data/src/share/classes/sun/java2d/opengl/_o_g_l_paints.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/java2d/opengl/_o_g_l_surface_data.java.i b/jdk/.hg/store/data/src/share/classes/sun/java2d/opengl/_o_g_l_surface_data.java.i
index b1fe7b4..54699c8 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/java2d/opengl/_o_g_l_surface_data.java.i and b/jdk/.hg/store/data/src/share/classes/sun/java2d/opengl/_o_g_l_surface_data.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_a_a_shape_pipe.java.i b/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_a_a_shape_pipe.java.i
index 001ba1d..58c1e01 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_a_a_shape_pipe.java.i and b/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_a_a_shape_pipe.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_buffered_paints.java.i b/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_buffered_paints.java.i
index c2c9bd6..ec24d1a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_buffered_paints.java.i and b/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_buffered_paints.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_buffered_render_pipe.java.i b/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_buffered_render_pipe.java.i
index f2fa23a..fb901f3 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_buffered_render_pipe.java.i and b/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_buffered_render_pipe.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_draw_image.java.i b/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_draw_image.java.i
index 3c1eef2..fe76220 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_draw_image.java.i and b/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_draw_image.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_glyph_list_pipe.java.i b/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_glyph_list_pipe.java.i
index a4e28a2..b7be37c 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_glyph_list_pipe.java.i and b/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_glyph_list_pipe.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_loop_pipe.java.i b/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_loop_pipe.java.i
index b4ca777..42cfe20 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_loop_pipe.java.i and b/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_loop_pipe.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_rendering_engine.java.i b/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_rendering_engine.java.i
index 867e02a..701fafd 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_rendering_engine.java.i and b/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_rendering_engine.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/launcher/_launcher_helper.java.i b/jdk/.hg/store/data/src/share/classes/sun/launcher/_launcher_helper.java.i
index dd24a99..b905e0b 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/launcher/_launcher_helper.java.i and b/jdk/.hg/store/data/src/share/classes/sun/launcher/_launcher_helper.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/_agent.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/_agent.java.i
index db8feac..bd62e07 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/_agent.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/_agent.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/_connector_address_link.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/_connector_address_link.java.i
index 5f17de5..eb6fc17 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/_connector_address_link.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/_connector_address_link.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/_flag.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/_flag.java.i
index 723a05f..3ce3b76 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/_flag.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/_flag.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/_garbage_collection_notif_info_composite_data.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/_garbage_collection_notif_info_composite_data.java.i
index 647a290..60e58d4 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/_garbage_collection_notif_info_composite_data.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/_garbage_collection_notif_info_composite_data.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/_garbage_collector_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/_garbage_collector_impl.java.i
index b24068f..70b94f7 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/_garbage_collector_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/_garbage_collector_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/_gc_info_builder.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/_gc_info_builder.java.i
index 9eb3122..9c9681d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/_gc_info_builder.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/_gc_info_builder.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/_gc_info_composite_data.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/_gc_info_composite_data.java.i
index 62a425f..c5ad279 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/_gc_info_composite_data.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/_gc_info_composite_data.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/_hot_spot_diagnostic.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/_hot_spot_diagnostic.java.i
index 384e6ef..e28abc1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/_hot_spot_diagnostic.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/_hot_spot_diagnostic.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/_hotspot_compilation.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/_hotspot_compilation.java.i
index 6be7e16..9ec7648 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/_hotspot_compilation.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/_hotspot_compilation.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/_hotspot_thread.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/_hotspot_thread.java.i
index bf77f71..0605be5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/_hotspot_thread.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/_hotspot_thread.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/_lazy_composite_data.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/_lazy_composite_data.java.i
index 757e13e..91db11c 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/_lazy_composite_data.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/_lazy_composite_data.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/_management_factory_helper.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/_management_factory_helper.java.i
index 63ea2b3..c03b65f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/_management_factory_helper.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/_management_factory_helper.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/_mapped_m_x_bean_type.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/_mapped_m_x_bean_type.java.i
index b5bf4e4..76826de 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/_mapped_m_x_bean_type.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/_mapped_m_x_bean_type.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/_monitor_info_composite_data.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/_monitor_info_composite_data.java.i
index 8a078dd..8d3cab4 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/_monitor_info_composite_data.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/_monitor_info_composite_data.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/_notification_emitter_support.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/_notification_emitter_support.java.i
index cc320e2..edbbed0 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/_notification_emitter_support.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/_notification_emitter_support.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/_runtime_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/_runtime_impl.java.i
index 92615c0..d8cc8bd 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/_runtime_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/_runtime_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/_thread_info_composite_data.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/_thread_info_composite_data.java.i
index 010e813..80b2bb9 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/_thread_info_composite_data.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/_thread_info_composite_data.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/counter/perf/_perf_instrumentation.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/counter/perf/_perf_instrumentation.java.i
index f38847a..a68db9c 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/counter/perf/_perf_instrumentation.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/counter/perf/_perf_instrumentation.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/jmxremote/_connector_bootstrap.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/jmxremote/_connector_bootstrap.java.i
index b0eec1d..539aa70 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/jmxremote/_connector_bootstrap.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/jmxremote/_connector_bootstrap.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/_adaptor_bootstrap.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/_adaptor_bootstrap.java.i
index 3a3a8e8..f16fe34 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/_adaptor_bootstrap.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/_adaptor_bootstrap.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_j_v_m___m_a_n_a_g_e_m_e_n_t___m_i_b___i_m_p_l.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_j_v_m___m_a_n_a_g_e_m_e_n_t___m_i_b___i_m_p_l.java.i
index da91cd2..f8e5939 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_j_v_m___m_a_n_a_g_e_m_e_n_t___m_i_b___i_m_p_l.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_j_v_m___m_a_n_a_g_e_m_e_n_t___m_i_b___i_m_p_l.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_mem_g_c_table_meta_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_mem_g_c_table_meta_impl.java.i
index 9d6ab50..e6cc9a0 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_mem_g_c_table_meta_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_mem_g_c_table_meta_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_mem_manager_table_meta_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_mem_manager_table_meta_impl.java.i
index 86cb95b..a5422e1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_mem_manager_table_meta_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_mem_manager_table_meta_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_mem_mgr_pool_rel_table_meta_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_mem_mgr_pool_rel_table_meta_impl.java.i
index 6e1040b..5f18d3f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_mem_mgr_pool_rel_table_meta_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_mem_mgr_pool_rel_table_meta_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_mem_pool_table_meta_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_mem_pool_table_meta_impl.java.i
index e5c5ccc..59b9e32 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_mem_pool_table_meta_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_mem_pool_table_meta_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_memory_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_memory_impl.java.i
index f8c82ec..f5afb93 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_memory_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_memory_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_memory_meta_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_memory_meta_impl.java.i
index b13d317..c48be49 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_memory_meta_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_memory_meta_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_o_s_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_o_s_impl.java.i
index 534d623..da8b812 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_o_s_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_o_s_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_boot_class_path_entry_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_boot_class_path_entry_impl.java.i
index ea3be94..ea421fa 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_boot_class_path_entry_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_boot_class_path_entry_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_boot_class_path_table_meta_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_boot_class_path_table_meta_impl.java.i
index 06b003e..dc02921 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_boot_class_path_table_meta_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_boot_class_path_table_meta_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_class_path_entry_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_class_path_entry_impl.java.i
index 63927b7..3c4c998 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_class_path_entry_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_class_path_entry_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_class_path_table_meta_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_class_path_table_meta_impl.java.i
index c0f82e6..9c7eed7 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_class_path_table_meta_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_class_path_table_meta_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_input_args_entry_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_input_args_entry_impl.java.i
index b1917aa..6d4ae30 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_input_args_entry_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_input_args_entry_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_input_args_table_meta_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_input_args_table_meta_impl.java.i
index 33e1606..3a67465 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_input_args_table_meta_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_input_args_table_meta_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_library_path_entry_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_library_path_entry_impl.java.i
index db21286..3a604ca 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_library_path_entry_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_library_path_entry_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_library_path_table_meta_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_library_path_table_meta_impl.java.i
index 1ba1794..8f114d4 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_library_path_table_meta_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_r_t_library_path_table_meta_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_runtime_meta_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_runtime_meta_impl.java.i
index a1fc115..7cc0d41 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_runtime_meta_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_runtime_meta_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_thread_instance_entry_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_thread_instance_entry_impl.java.i
index 266ee55..11a97ae 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_thread_instance_entry_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_thread_instance_entry_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_thread_instance_table_meta_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_thread_instance_table_meta_impl.java.i
index 3eece70..669ae83 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_thread_instance_table_meta_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_thread_instance_table_meta_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_threading_meta_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_threading_meta_impl.java.i
index 3d51988..e9d9bb8 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_threading_meta_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvminstr/_jvm_threading_meta_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_classes_verbose_level.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_classes_verbose_level.java.i
index 9c95e36..782d057 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_classes_verbose_level.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_classes_verbose_level.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_j_i_t_compiler_time_monitoring.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_j_i_t_compiler_time_monitoring.java.i
index c8bdfa0..8f0f805 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_j_i_t_compiler_time_monitoring.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_j_i_t_compiler_time_monitoring.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_manager_state.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_manager_state.java.i
index c1fbec8..9d00c97 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_manager_state.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_manager_state.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_pool_collect_threshd_support.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_pool_collect_threshd_support.java.i
index a7f7a8a..656bcbd 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_pool_collect_threshd_support.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_pool_collect_threshd_support.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_pool_state.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_pool_state.java.i
index 8c8a3d8..2feb741 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_pool_state.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_pool_state.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_pool_threshd_support.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_pool_threshd_support.java.i
index e3bf5d3..9ca44f8 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_pool_threshd_support.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_pool_threshd_support.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_pool_type.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_pool_type.java.i
index c203273..c522bbb 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_pool_type.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_mem_pool_type.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_memory_g_c_call.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_memory_g_c_call.java.i
index e33ecc4..f8f5544 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_memory_g_c_call.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_memory_g_c_call.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_memory_g_c_verbose_level.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_memory_g_c_verbose_level.java.i
index ed08d95..050ab4b 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_memory_g_c_verbose_level.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_memory_g_c_verbose_level.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_r_t_boot_class_path_support.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_r_t_boot_class_path_support.java.i
index 22a70aa..7a0510a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_r_t_boot_class_path_support.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_r_t_boot_class_path_support.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_thread_contention_monitoring.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_thread_contention_monitoring.java.i
index c0e8aeb..a51f1ff 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_thread_contention_monitoring.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_thread_contention_monitoring.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_thread_cpu_time_monitoring.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_thread_cpu_time_monitoring.java.i
index d5167d5..7facc64 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_thread_cpu_time_monitoring.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_enum_jvm_thread_cpu_time_monitoring.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_j_v_m___m_a_n_a_g_e_m_e_n_t___m_i_b.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_j_v_m___m_a_n_a_g_e_m_e_n_t___m_i_b.java.i
index 2b22a1b..829c583 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_j_v_m___m_a_n_a_g_e_m_e_n_t___m_i_b.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_j_v_m___m_a_n_a_g_e_m_e_n_t___m_i_b.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_j_v_m___m_a_n_a_g_e_m_e_n_t___m_i_b_oid_table.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_j_v_m___m_a_n_a_g_e_m_e_n_t___m_i_b_oid_table.java.i
index 550ab7f..2c2b2e4 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_j_v_m___m_a_n_a_g_e_m_e_n_t___m_i_b_oid_table.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_j_v_m___m_a_n_a_g_e_m_e_n_t___m_i_b_oid_table.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_class_loading_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_class_loading_meta.java.i
index ec45f9c..3e1d56d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_class_loading_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_class_loading_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_compilation_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_compilation_meta.java.i
index c156947..c9e1162 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_compilation_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_compilation_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_g_c_entry_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_g_c_entry_meta.java.i
index cc1f9b1..5686d2c 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_g_c_entry_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_g_c_entry_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_g_c_table_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_g_c_table_meta.java.i
index 89adf03..cfbd94f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_g_c_table_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_g_c_table_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_manager_entry_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_manager_entry_meta.java.i
index 09193f9..6613ba0 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_manager_entry_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_manager_entry_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_manager_table_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_manager_table_meta.java.i
index d646ea1..c998151 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_manager_table_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_manager_table_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_mgr_pool_rel_entry_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_mgr_pool_rel_entry_meta.java.i
index 39fc015..9853b39 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_mgr_pool_rel_entry_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_mgr_pool_rel_entry_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_mgr_pool_rel_table_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_mgr_pool_rel_table_meta.java.i
index b6c483b..8c34735 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_mgr_pool_rel_table_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_mgr_pool_rel_table_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_pool_entry_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_pool_entry_meta.java.i
index 99e087b..3439eab 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_pool_entry_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_pool_entry_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_pool_table_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_pool_table_meta.java.i
index a70b398..f99cb71 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_pool_table_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_mem_pool_table_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_o_s_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_o_s_meta.java.i
index 126c2be..a41f4af 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_o_s_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_o_s_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_boot_class_path_entry_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_boot_class_path_entry_meta.java.i
index bd5380a..0198e17 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_boot_class_path_entry_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_boot_class_path_entry_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_boot_class_path_table_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_boot_class_path_table_meta.java.i
index e961f17..9f15763 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_boot_class_path_table_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_boot_class_path_table_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_class_path_entry_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_class_path_entry_meta.java.i
index 34c5252..af0c296 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_class_path_entry_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_class_path_entry_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_class_path_table_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_class_path_table_meta.java.i
index 587b3ac..14017cb 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_class_path_table_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_class_path_table_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_input_args_entry_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_input_args_entry_meta.java.i
index 7242193..8aba696 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_input_args_entry_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_input_args_entry_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_input_args_table_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_input_args_table_meta.java.i
index fc55cb9..099bb63 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_input_args_table_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_input_args_table_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_library_path_entry_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_library_path_entry_meta.java.i
index 4ef1d7d..b94cea0 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_library_path_entry_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_library_path_entry_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_library_path_table_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_library_path_table_meta.java.i
index c05e049..80b0d6a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_library_path_table_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_r_t_library_path_table_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_runtime_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_runtime_meta.java.i
index 4ee1724..ceacff0 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_runtime_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_runtime_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_thread_instance_entry_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_thread_instance_entry_meta.java.i
index c8e9692..fb14488 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_thread_instance_entry_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_thread_instance_entry_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_thread_instance_table_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_thread_instance_table_meta.java.i
index 2782111..cdea7ac 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_thread_instance_table_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_thread_instance_table_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_threading_meta.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_threading_meta.java.i
index a391725..996cf86 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_threading_meta.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/jvmmib/_jvm_threading_meta.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/util/_mib_logger.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/util/_mib_logger.java.i
index 44a5a97..522898f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/util/_mib_logger.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/util/_mib_logger.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/util/_snmp_list_table_cache.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/util/_snmp_list_table_cache.java.i
index c0cd7cb..b89572f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/util/_snmp_list_table_cache.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/util/_snmp_list_table_cache.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/util/_snmp_named_list_table_cache.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/util/_snmp_named_list_table_cache.java.i
index 1be8ab2..0ab9cdd 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/util/_snmp_named_list_table_cache.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/util/_snmp_named_list_table_cache.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/util/_snmp_table_cache.java.i b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/util/_snmp_table_cache.java.i
index 6aced12..a50ce75 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/management/snmp/util/_snmp_table_cache.java.i and b/jdk/.hg/store/data/src/share/classes/sun/management/snmp/util/_snmp_table_cache.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_b_a_s_e64_decoder.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_b_a_s_e64_decoder.java.i
index f1d568e..5c80833 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_b_a_s_e64_decoder.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_b_a_s_e64_decoder.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_c_e_format_exception.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_c_e_format_exception.java.i
index 3d745ba..324928c 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_c_e_format_exception.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_c_e_format_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_c_e_stream_exhausted.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_c_e_stream_exhausted.java.i
index 7efe586..b6a97d7 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_c_e_stream_exhausted.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_c_e_stream_exhausted.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_class_loader_util.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_class_loader_util.java.i
index d7a2a7a..16ba8ee 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_class_loader_util.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_class_loader_util.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_compound_enumeration.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_compound_enumeration.java.i
index 02449af..719a699 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_compound_enumeration.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_compound_enumeration.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_extension_dependency.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_extension_dependency.java.i
index a0a10d6..c4943f1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_extension_dependency.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_extension_dependency.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_extension_installation_exception.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_extension_installation_exception.java.i
index c900266..a1bfe58 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_extension_installation_exception.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_extension_installation_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_floating_decimal.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_floating_decimal.java.i
index 5154f59..5f700dc 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_floating_decimal.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_floating_decimal.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_formatted_floating_decimal.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_formatted_floating_decimal.java.i
index 303120a..420fdc5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_formatted_floating_decimal.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_formatted_floating_decimal.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_invalid_jar_index_exception.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_invalid_jar_index_exception.java.i
index 7252668..e23ebca 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_invalid_jar_index_exception.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_invalid_jar_index_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_jar_index.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_jar_index.java.i
index 4088e8f..6e8e77f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_jar_index.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_jar_index.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_java_lang_access.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_java_lang_access.java.i
index 35b1879..afe6a8b 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_java_lang_access.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_java_lang_access.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_java_net_http_cookie_access.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_java_net_http_cookie_access.java.i
new file mode 100644
index 0000000..8229650
Binary files /dev/null and b/jdk/.hg/store/data/src/share/classes/sun/misc/_java_net_http_cookie_access.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_java_util_jar_access.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_java_util_jar_access.java.i
index 5e1985f..17ce587 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_java_util_jar_access.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_java_util_jar_access.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_l_r_u_cache.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_l_r_u_cache.java.i
index 225393c..65a1d96 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_l_r_u_cache.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_l_r_u_cache.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_launcher.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_launcher.java.i
index 62eadbd..da02ac4 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_launcher.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_launcher.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_proxy_generator.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_proxy_generator.java.i
index da443c7..61f8bec 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_proxy_generator.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_proxy_generator.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_queue.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_queue.java.i
index 8069ecd..38d3ac9 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_queue.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_queue.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_request_processor.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_request_processor.java.i
index f991c10..0d9ed4c 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_request_processor.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_request_processor.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_service.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_service.java.i
index 6520001..04e570e 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_service.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_service.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_service_configuration_error.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_service_configuration_error.java.i
index 45c04e6..52f28d4 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_service_configuration_error.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_service_configuration_error.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_shared_secrets.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_shared_secrets.java.i
index 92ee959..de7e82d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_shared_secrets.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_shared_secrets.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_signal.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_signal.java.i
index 22b37ea..cad5d9f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_signal.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_signal.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_u_r_l_class_path.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_u_r_l_class_path.java.i
index 654c185..4a5bd4a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_u_r_l_class_path.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_u_r_l_class_path.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_unsafe.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_unsafe.java.i
index 71788f7..ad34a29 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_unsafe.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_unsafe.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/misc/_v_m.java.i b/jdk/.hg/store/data/src/share/classes/sun/misc/_v_m.java.i
index caa7197..039e309 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/misc/_v_m.java.i and b/jdk/.hg/store/data/src/share/classes/sun/misc/_v_m.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/net/_registered_domain.java.i b/jdk/.hg/store/data/src/share/classes/sun/net/_registered_domain.java.i
index b8f303d..a5d8dbc 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/net/_registered_domain.java.i and b/jdk/.hg/store/data/src/share/classes/sun/net/_registered_domain.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/net/ftp/_ftp_client_provider.java.i b/jdk/.hg/store/data/src/share/classes/sun/net/ftp/_ftp_client_provider.java.i
index 6214123..e3b3d21 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/net/ftp/_ftp_client_provider.java.i and b/jdk/.hg/store/data/src/share/classes/sun/net/ftp/_ftp_client_provider.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/net/httpserver/_server_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/net/httpserver/_server_impl.java.i
index 49b6bc3..a986bf6 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/net/httpserver/_server_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/net/httpserver/_server_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/gif.java.i b/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/gif.java.i
index 2a401cf..4b61979 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/gif.java.i and b/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/gif.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/jpeg.java.i b/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/jpeg.java.i
index 374ef88..aa03ec0 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/jpeg.java.i and b/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/jpeg.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/png.java.i b/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/png.java.i
index 11338aa..e432168 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/png.java.i and b/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/png.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/x__xbitmap.java.i b/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/x__xbitmap.java.i
index dc85dda..9b4b4b8 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/x__xbitmap.java.i and b/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/x__xbitmap.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/x__xpixmap.java.i b/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/x__xpixmap.java.i
index 1c11f1a..963abbf 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/x__xpixmap.java.i and b/jdk/.hg/store/data/src/share/classes/sun/net/www/content/image/x__xpixmap.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/net/www/http/_http_client.java.i b/jdk/.hg/store/data/src/share/classes/sun/net/www/http/_http_client.java.i
index b98eaed..576734b 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/net/www/http/_http_client.java.i and b/jdk/.hg/store/data/src/share/classes/sun/net/www/http/_http_client.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/net/www/protocol/http/_http_u_r_l_connection.java.i b/jdk/.hg/store/data/src/share/classes/sun/net/www/protocol/http/_http_u_r_l_connection.java.i
index 0593029..682dee4 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/net/www/protocol/http/_http_u_r_l_connection.java.i and b/jdk/.hg/store/data/src/share/classes/sun/net/www/protocol/http/_http_u_r_l_connection.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/net/www/protocol/https/_https_client.java.i b/jdk/.hg/store/data/src/share/classes/sun/net/www/protocol/https/_https_client.java.i
index 940ce8e..da51405 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/net/www/protocol/https/_https_client.java.i and b/jdk/.hg/store/data/src/share/classes/sun/net/www/protocol/https/_https_client.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/net/www/protocol/jar/_handler.java.i b/jdk/.hg/store/data/src/share/classes/sun/net/www/protocol/jar/_handler.java.i
index 4908081..1681b28 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/net/www/protocol/jar/_handler.java.i and b/jdk/.hg/store/data/src/share/classes/sun/net/www/protocol/jar/_handler.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_socket_adaptor.java.i b/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_socket_adaptor.java.i
index 099b77e..8aca89e 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_socket_adaptor.java.i and b/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_socket_adaptor.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/rmi/registry/_registry_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/rmi/registry/_registry_impl.java.i
index c9932b2..77a5d02 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/rmi/registry/_registry_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/rmi/registry/_registry_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/rmi/server/_loader_handler.java.i b/jdk/.hg/store/data/src/share/classes/sun/rmi/server/_loader_handler.java.i
index 39300ad..72a8ea0 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/rmi/server/_loader_handler.java.i and b/jdk/.hg/store/data/src/share/classes/sun/rmi/server/_loader_handler.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/_kerberos_time.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/_kerberos_time.java.i
index 280aa27..c185f1f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/_kerberos_time.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/_kerberos_time.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/ccache/_c_cache_input_stream.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/ccache/_c_cache_input_stream.java.i
index ee45465..e862422 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/ccache/_c_cache_input_stream.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/ccache/_c_cache_input_stream.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/ccache/_credentials.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/ccache/_credentials.java.i
index 130c3d3..267d7b3 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/ccache/_credentials.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/ccache/_credentials.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/rcache/_cache_table.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/rcache/_cache_table.java.i
index bc615b5..1e7fef4 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/rcache/_cache_table.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/rcache/_cache_table.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/rcache/_replay_cache.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/rcache/_replay_cache.java.i
index 56200f5..c3d3667 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/rcache/_replay_cache.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/krb5/internal/rcache/_replay_cache.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_cipher.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_cipher.java.i
index df5f330..72b848f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_cipher.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_cipher.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_digest.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_digest.java.i
index 7c6c2f9..6534569 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_digest.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_digest.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_key.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_key.java.i
index d224b61..958654d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_key.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_key.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_r_s_a_cipher.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_r_s_a_cipher.java.i
index c010bea..0d51ddb 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_r_s_a_cipher.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_r_s_a_cipher.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_signature.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_signature.java.i
index 6eec047..52afca1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_signature.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_p11_signature.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_sun_p_k_c_s11.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_sun_p_k_c_s11.java.i
index 4f31841..808071b 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_sun_p_k_c_s11.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/_sun_p_k_c_s11.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/wrapper/_p_k_c_s11.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/wrapper/_p_k_c_s11.java.i
index a1920f6..9c23813 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/wrapper/_p_k_c_s11.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/pkcs11/wrapper/_p_k_c_s11.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/provider/certpath/ssl/_s_s_l_server_cert_store.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/provider/certpath/ssl/_s_s_l_server_cert_store.java.i
index e2f2037..21097b0 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/provider/certpath/ssl/_s_s_l_server_cert_store.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/provider/certpath/ssl/_s_s_l_server_cert_store.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_client_handshaker.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_client_handshaker.java.i
index 5a9bb46..2bbe3b9 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_client_handshaker.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_client_handshaker.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_s_s_l_context_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_s_s_l_context_impl.java.i
index fd45f5f..672c55c 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_s_s_l_context_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_s_s_l_context_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_s_s_l_socket_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_s_s_l_socket_impl.java.i
index 7d9142c..0961ca2 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_s_s_l_socket_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_s_s_l_socket_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_server_handshaker.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_server_handshaker.java.i
index dffb81a..aa46e5e 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_server_handshaker.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_server_handshaker.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_signature_and_hash_algorithm.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_signature_and_hash_algorithm.java.i
index 06cec01..d4e3596 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_signature_and_hash_algorithm.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_signature_and_hash_algorithm.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/tools/_cert_and_key_gen.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/tools/_cert_and_key_gen.java.i
index e0abc4e..87d97f8 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/tools/_cert_and_key_gen.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/tools/_cert_and_key_gen.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/tools/_key_tool.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/tools/_key_tool.java.i
index 6a9e1f5..fbb242e 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/tools/_key_tool.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/tools/_key_tool.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/util/_disabled_algorithm_constraints.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/util/_disabled_algorithm_constraints.java.i
index 3f9e218..6bbf6b5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/util/_disabled_algorithm_constraints.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/util/_disabled_algorithm_constraints.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/util/_key_length.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/util/_key_length.java.i
new file mode 100644
index 0000000..6d6b86b
Binary files /dev/null and b/jdk/.hg/store/data/src/share/classes/sun/security/util/_key_length.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/util/_length.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/util/_length.java.i
new file mode 100644
index 0000000..0d292e4
Binary files /dev/null and b/jdk/.hg/store/data/src/share/classes/sun/security/util/_length.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/text/_compact_byte_array.java.i b/jdk/.hg/store/data/src/share/classes/sun/text/_compact_byte_array.java.i
index 70d90b6..5595db8 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/text/_compact_byte_array.java.i and b/jdk/.hg/store/data/src/share/classes/sun/text/_compact_byte_array.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/text/_int_hashtable.java.i b/jdk/.hg/store/data/src/share/classes/sun/text/_int_hashtable.java.i
index 177b71c..39212c3 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/text/_int_hashtable.java.i and b/jdk/.hg/store/data/src/share/classes/sun/text/_int_hashtable.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/text/bidi/_bidi_base.java.i b/jdk/.hg/store/data/src/share/classes/sun/text/bidi/_bidi_base.java.i
index d3f4f97..3c97ff1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/text/bidi/_bidi_base.java.i and b/jdk/.hg/store/data/src/share/classes/sun/text/bidi/_bidi_base.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_i_c_u_data.java.i b/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_i_c_u_data.java.i
index e3d2aea..93047e6 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_i_c_u_data.java.i and b/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_i_c_u_data.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_normalizer_base.java.i b/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_normalizer_base.java.i
index 08ef004..a2ddccf 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_normalizer_base.java.i and b/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_normalizer_base.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_normalizer_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_normalizer_impl.java.i
index 13699c7..041e4cc 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_normalizer_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_normalizer_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_symbol_table.java.i b/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_symbol_table.java.i
index f279e58..4f39f50 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_symbol_table.java.i and b/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_symbol_table.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_unicode_set.java.i b/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_unicode_set.java.i
index 65fc81e..9f370b2 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_unicode_set.java.i and b/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_unicode_set.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_unicode_set_iterator.java.i b/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_unicode_set_iterator.java.i
index 3c5b73f..636f709 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_unicode_set_iterator.java.i and b/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_unicode_set_iterator.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_version_info.java.i b/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_version_info.java.i
index 0b8972f..4a1f839 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_version_info.java.i and b/jdk/.hg/store/data/src/share/classes/sun/text/normalizer/_version_info.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/text/resources/_format_data__bg.java.i b/jdk/.hg/store/data/src/share/classes/sun/text/resources/_format_data__bg.java.i
index ccb80da..9bf42ca 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/text/resources/_format_data__bg.java.i and b/jdk/.hg/store/data/src/share/classes/sun/text/resources/_format_data__bg.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/tools/attach/_hot_spot_attach_provider.java.i b/jdk/.hg/store/data/src/share/classes/sun/tools/attach/_hot_spot_attach_provider.java.i
index f3db0d1..9a3cd5a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/tools/attach/_hot_spot_attach_provider.java.i and b/jdk/.hg/store/data/src/share/classes/sun/tools/attach/_hot_spot_attach_provider.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/tools/attach/_hot_spot_virtual_machine.java.i b/jdk/.hg/store/data/src/share/classes/sun/tools/attach/_hot_spot_virtual_machine.java.i
index c6ec3cd..09c7849 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/tools/attach/_hot_spot_virtual_machine.java.i and b/jdk/.hg/store/data/src/share/classes/sun/tools/attach/_hot_spot_virtual_machine.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/tools/jcmd/_arguments.java.i b/jdk/.hg/store/data/src/share/classes/sun/tools/jcmd/_arguments.java.i
new file mode 100644
index 0000000..726e3fd
Binary files /dev/null and b/jdk/.hg/store/data/src/share/classes/sun/tools/jcmd/_arguments.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/tools/jcmd/_j_cmd.java.i b/jdk/.hg/store/data/src/share/classes/sun/tools/jcmd/_j_cmd.java.i
new file mode 100644
index 0000000..8faf8c6
Binary files /dev/null and b/jdk/.hg/store/data/src/share/classes/sun/tools/jcmd/_j_cmd.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/tools/jinfo/_j_info.java.i b/jdk/.hg/store/data/src/share/classes/sun/tools/jinfo/_j_info.java.i
index 29a58c9..d7c104a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/tools/jinfo/_j_info.java.i and b/jdk/.hg/store/data/src/share/classes/sun/tools/jinfo/_j_info.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/tools/jmap/_j_map.java.i b/jdk/.hg/store/data/src/share/classes/sun/tools/jmap/_j_map.java.i
index fc6e0e7..182b516 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/tools/jmap/_j_map.java.i and b/jdk/.hg/store/data/src/share/classes/sun/tools/jmap/_j_map.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/tools/jps/_jps.java.i b/jdk/.hg/store/data/src/share/classes/sun/tools/jps/_jps.java.i
index d7e8b71..2c69959 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/tools/jps/_jps.java.i and b/jdk/.hg/store/data/src/share/classes/sun/tools/jps/_jps.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/tools/jstack/_j_stack.java.i b/jdk/.hg/store/data/src/share/classes/sun/tools/jstack/_j_stack.java.i
index 710bb94..beaa72d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/tools/jstack/_j_stack.java.i and b/jdk/.hg/store/data/src/share/classes/sun/tools/jstack/_j_stack.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/tools/serialver/_serial_ver.java.i b/jdk/.hg/store/data/src/share/classes/sun/tools/serialver/_serial_ver.java.i
index b09ce60..49bbd98 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/tools/serialver/_serial_ver.java.i and b/jdk/.hg/store/data/src/share/classes/sun/tools/serialver/_serial_ver.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/util/_locale_service_provider_pool.java.i b/jdk/.hg/store/data/src/share/classes/sun/util/_locale_service_provider_pool.java.i
index 7b49ded..dc1f4de 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/util/_locale_service_provider_pool.java.i and b/jdk/.hg/store/data/src/share/classes/sun/util/_locale_service_provider_pool.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_base_calendar.java.i b/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_base_calendar.java.i
index 4cee880..33e0250 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_base_calendar.java.i and b/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_base_calendar.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_calendar_system.java.i b/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_calendar_system.java.i
index 2c87199..89af11a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_calendar_system.java.i and b/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_calendar_system.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_local_gregorian_calendar.java.i b/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_local_gregorian_calendar.java.i
index d8e6125..f110767 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_local_gregorian_calendar.java.i and b/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_local_gregorian_calendar.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_zone_info.java.i b/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_zone_info.java.i
index 2ebfb01..c77c3e3 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_zone_info.java.i and b/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_zone_info.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_zone_info_file.java.i b/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_zone_info_file.java.i
index b2b0b84..3d3e801 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_zone_info_file.java.i and b/jdk/.hg/store/data/src/share/classes/sun/util/calendar/_zone_info_file.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/util/resources/_locale_data.java.i b/jdk/.hg/store/data/src/share/classes/sun/util/resources/_locale_data.java.i
index 6e443d0..eb457f9 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/util/resources/_locale_data.java.i and b/jdk/.hg/store/data/src/share/classes/sun/util/resources/_locale_data.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/util/resources/_open_list_resource_bundle.java.i b/jdk/.hg/store/data/src/share/classes/sun/util/resources/_open_list_resource_bundle.java.i
index 8799860..4b44d79 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/util/resources/_open_list_resource_bundle.java.i and b/jdk/.hg/store/data/src/share/classes/sun/util/resources/_open_list_resource_bundle.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/util/resources/_time_zone_names_bundle.java.i b/jdk/.hg/store/data/src/share/classes/sun/util/resources/_time_zone_names_bundle.java.i
index afc1e07..79fc90e 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/util/resources/_time_zone_names_bundle.java.i and b/jdk/.hg/store/data/src/share/classes/sun/util/resources/_time_zone_names_bundle.java.i differ
diff --git a/jdk/.hg/store/data/src/share/instrument/_j_p_l_i_s_agent.c.i b/jdk/.hg/store/data/src/share/instrument/_j_p_l_i_s_agent.c.i
index e81dd5c..12a012b 100644
Binary files a/jdk/.hg/store/data/src/share/instrument/_j_p_l_i_s_agent.c.i and b/jdk/.hg/store/data/src/share/instrument/_j_p_l_i_s_agent.c.i differ
diff --git a/jdk/.hg/store/data/src/share/javavm/export/jmm.h.i b/jdk/.hg/store/data/src/share/javavm/export/jmm.h.i
index 3356339..fac2fa8 100644
Binary files a/jdk/.hg/store/data/src/share/javavm/export/jmm.h.i and b/jdk/.hg/store/data/src/share/javavm/export/jmm.h.i differ
diff --git a/jdk/.hg/store/data/src/share/lib/security/java.security-solaris.i b/jdk/.hg/store/data/src/share/lib/security/java.security-solaris.i
index ff47000..93edf96 100644
Binary files a/jdk/.hg/store/data/src/share/lib/security/java.security-solaris.i and b/jdk/.hg/store/data/src/share/lib/security/java.security-solaris.i differ
diff --git a/jdk/.hg/store/data/src/share/lib/security/sunpkcs11-solaris.cfg.i b/jdk/.hg/store/data/src/share/lib/security/sunpkcs11-solaris.cfg.i
index de38dc6..8246415 100644
Binary files a/jdk/.hg/store/data/src/share/lib/security/sunpkcs11-solaris.cfg.i and b/jdk/.hg/store/data/src/share/lib/security/sunpkcs11-solaris.cfg.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/io/io__util.c.i b/jdk/.hg/store/data/src/share/native/java/io/io__util.c.i
index 4afec4c..5131753 100644
Binary files a/jdk/.hg/store/data/src/share/native/java/io/io__util.c.i and b/jdk/.hg/store/data/src/share/native/java/io/io__util.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/_adler32.c.i b/jdk/.hg/store/data/src/share/native/java/util/zip/_adler32.c.i
index d8f1cb7..421d73b 100644
Binary files a/jdk/.hg/store/data/src/share/native/java/util/zip/_adler32.c.i and b/jdk/.hg/store/data/src/share/native/java/util/zip/_adler32.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/_c_r_c32.c.i b/jdk/.hg/store/data/src/share/native/java/util/zip/_c_r_c32.c.i
index 4707912..e74c0db 100644
Binary files a/jdk/.hg/store/data/src/share/native/java/util/zip/_c_r_c32.c.i and b/jdk/.hg/store/data/src/share/native/java/util/zip/_c_r_c32.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/_change_log.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/_change_log.i
new file mode 100644
index 0000000..54525e0
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/_change_log.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/_r_e_a_d_m_e.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/_r_e_a_d_m_e.i
new file mode 100644
index 0000000..8d2768c
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/_r_e_a_d_m_e.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/compress.c.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/compress.c.i
new file mode 100644
index 0000000..9f4a743
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/compress.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/crc32.h.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/crc32.h.i
new file mode 100644
index 0000000..da868f0
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/crc32.h.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/deflate.c.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/deflate.c.i
new file mode 100644
index 0000000..39aabf1
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/deflate.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/deflate.h.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/deflate.h.i
new file mode 100644
index 0000000..c07dec5
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/deflate.h.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/gzclose.c.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/gzclose.c.i
new file mode 100644
index 0000000..e11e8d1
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/gzclose.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/gzguts.h.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/gzguts.h.i
new file mode 100644
index 0000000..dd5edf8
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/gzguts.h.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/gzlib.c.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/gzlib.c.i
new file mode 100644
index 0000000..86d81bd
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/gzlib.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/gzread.c.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/gzread.c.i
new file mode 100644
index 0000000..334c1d6
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/gzread.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/gzwrite.c.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/gzwrite.c.i
new file mode 100644
index 0000000..22d6f0a
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/gzwrite.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/infback.c.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/infback.c.i
new file mode 100644
index 0000000..74a1fe3
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/infback.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inffast.c.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inffast.c.i
new file mode 100644
index 0000000..699f148
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inffast.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inffast.h.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inffast.h.i
new file mode 100644
index 0000000..feb0177
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inffast.h.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inffixed.h.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inffixed.h.i
new file mode 100644
index 0000000..e09ae00
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inffixed.h.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inflate.c.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inflate.c.i
new file mode 100644
index 0000000..8c28937
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inflate.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inflate.h.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inflate.h.i
new file mode 100644
index 0000000..3960b13
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inflate.h.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inftrees.c.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inftrees.c.i
new file mode 100644
index 0000000..650c8e6
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inftrees.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inftrees.h.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inftrees.h.i
new file mode 100644
index 0000000..b4f0c8c
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/inftrees.h.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/patches/_change_log__java.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/patches/_change_log__java.i
new file mode 100644
index 0000000..11c7981
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/patches/_change_log__java.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/trees.c.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/trees.c.i
new file mode 100644
index 0000000..092ec04
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/trees.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/trees.h.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/trees.h.i
new file mode 100644
index 0000000..fbd1a5d
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/trees.h.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/uncompr.c.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/uncompr.c.i
new file mode 100644
index 0000000..3c98b75
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/uncompr.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/zadler32.c.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/zadler32.c.i
new file mode 100644
index 0000000..6b1cf2b
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/zadler32.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/zconf.h.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/zconf.h.i
new file mode 100644
index 0000000..3866157
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/zconf.h.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/zcrc32.c.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/zcrc32.c.i
new file mode 100644
index 0000000..d52da11
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/zcrc32.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/zlib.h.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/zlib.h.i
new file mode 100644
index 0000000..90579d8
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/zlib.h.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/zutil.c.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/zutil.c.i
new file mode 100644
index 0000000..8286643
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/zutil.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/zutil.h.i b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/zutil.h.i
new file mode 100644
index 0000000..cf66bac
Binary files /dev/null and b/jdk/.hg/store/data/src/share/native/java/util/zip/zlib-1.2.5/zutil.h.i differ
diff --git a/jdk/.hg/store/data/src/share/native/sun/awt/medialib/mlib__types.h.i b/jdk/.hg/store/data/src/share/native/sun/awt/medialib/mlib__types.h.i
index 5194e91..fb49a69 100644
Binary files a/jdk/.hg/store/data/src/share/native/sun/awt/medialib/mlib__types.h.i and b/jdk/.hg/store/data/src/share/native/sun/awt/medialib/mlib__types.h.i differ
diff --git a/jdk/.hg/store/data/src/share/native/sun/management/_hot_spot_diagnostic.c.i b/jdk/.hg/store/data/src/share/native/sun/management/_hot_spot_diagnostic.c.i
index 933b842..989d052 100644
Binary files a/jdk/.hg/store/data/src/share/native/sun/management/_hot_spot_diagnostic.c.i and b/jdk/.hg/store/data/src/share/native/sun/management/_hot_spot_diagnostic.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/sun/security/pkcs11/wrapper/p11__convert.c.i b/jdk/.hg/store/data/src/share/native/sun/security/pkcs11/wrapper/p11__convert.c.i
index 5bca16e..b28b94b 100644
Binary files a/jdk/.hg/store/data/src/share/native/sun/security/pkcs11/wrapper/p11__convert.c.i and b/jdk/.hg/store/data/src/share/native/sun/security/pkcs11/wrapper/p11__convert.c.i differ
diff --git a/jdk/.hg/store/data/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h.i b/jdk/.hg/store/data/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h.i
index 1cd66f4..12c796e 100644
Binary files a/jdk/.hg/store/data/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h.i and b/jdk/.hg/store/data/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/java/io/_file_descriptor.java.i b/jdk/.hg/store/data/src/solaris/classes/java/io/_file_descriptor.java.i
index ed34a02..7238e27 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/java/io/_file_descriptor.java.i and b/jdk/.hg/store/data/src/solaris/classes/java/io/_file_descriptor.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/java/lang/_process_environment.java.i b/jdk/.hg/store/data/src/solaris/classes/java/lang/_process_environment.java.i
index dfb3df6..068d124 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/java/lang/_process_environment.java.i and b/jdk/.hg/store/data/src/solaris/classes/java/lang/_process_environment.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_gtk_file_dialog_peer.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_gtk_file_dialog_peer.java.i
index 2d0bdf4..25f0214 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_gtk_file_dialog_peer.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_gtk_file_dialog_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_list_helper.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_list_helper.java.i
index 5cb71a8..c72b33b 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_list_helper.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_list_helper.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_clipboard.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_clipboard.java.i
index 7facc23..9ec1f5a 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_clipboard.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_clipboard.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_embed_canvas_peer.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_embed_canvas_peer.java.i
index 0761621..72da6de 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_embed_canvas_peer.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_embed_canvas_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_embed_child_proxy_peer.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_embed_child_proxy_peer.java.i
index 4c46153..f03de62 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_embed_child_proxy_peer.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_embed_child_proxy_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_toolkit.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_toolkit.java.i
index 80a7c3b..c1e467c 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_toolkit.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_toolkit.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_window_peer.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_window_peer.java.i
index a5652e8..8da0c3e 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_window_peer.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_window_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11_graphics_device.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11_graphics_device.java.i
index 8bf5925..5ed97ee 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11_graphics_device.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11_graphics_device.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/motif/_m_font_configuration.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/motif/_m_font_configuration.java.i
index 41d0a41..9053ae6 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/motif/_m_font_configuration.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/motif/_m_font_configuration.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/java2d/x11/_x11_renderer.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/java2d/x11/_x11_renderer.java.i
index cbddd80..cb2a15e 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/java2d/x11/_x11_renderer.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/java2d/x11/_x11_renderer.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/java2d/x11/_x11_surface_data.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/java2d/x11/_x11_surface_data.java.i
index 1c60f2c..20640e1 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/java2d/x11/_x11_surface_data.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/java2d/x11/_x11_surface_data.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/java2d/xr/_x_r_composite_manager.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/java2d/xr/_x_r_composite_manager.java.i
index cb4115b..1f840a8 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/java2d/xr/_x_r_composite_manager.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/java2d/xr/_x_r_composite_manager.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/nio/fs/_unix_channel_factory.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/nio/fs/_unix_channel_factory.java.i
index dde490e..b70a651 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/nio/fs/_unix_channel_factory.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/nio/fs/_unix_channel_factory.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/nio/fs/_unix_file_system_provider.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/nio/fs/_unix_file_system_provider.java.i
index 2fc292b..4e32093 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/nio/fs/_unix_file_system_provider.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/nio/fs/_unix_file_system_provider.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/nio/fs/_unix_native_dispatcher.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/nio/fs/_unix_native_dispatcher.java.i
index d77ede3..372f4b3 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/nio/fs/_unix_native_dispatcher.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/nio/fs/_unix_native_dispatcher.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/nio/fs/_unix_path.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/nio/fs/_unix_path.java.i
index 13ca01c..c96c15e 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/nio/fs/_unix_path.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/nio/fs/_unix_path.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/doc/sun/man/man1/jcmd.1.i b/jdk/.hg/store/data/src/solaris/doc/sun/man/man1/jcmd.1.i
new file mode 100644
index 0000000..b1f65d1
Binary files /dev/null and b/jdk/.hg/store/data/src/solaris/doc/sun/man/man1/jcmd.1.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/java/net/_inet4_address_impl.c.i b/jdk/.hg/store/data/src/solaris/native/java/net/_inet4_address_impl.c.i
index a528d40..126c514 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/java/net/_inet4_address_impl.c.i and b/jdk/.hg/store/data/src/solaris/native/java/net/_inet4_address_impl.c.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/java/net/_inet6_address_impl.c.i b/jdk/.hg/store/data/src/solaris/native/java/net/_inet6_address_impl.c.i
index c0f529a..7a7cc27 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/java/net/_inet6_address_impl.c.i and b/jdk/.hg/store/data/src/solaris/native/java/net/_inet6_address_impl.c.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/java/net/_network_interface.c.i b/jdk/.hg/store/data/src/solaris/native/java/net/_network_interface.c.i
index cf2e4cf..a34c50c 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/java/net/_network_interface.c.i and b/jdk/.hg/store/data/src/solaris/native/java/net/_network_interface.c.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/java/net/net__util__md.c.i b/jdk/.hg/store/data/src/solaris/native/java/net/net__util__md.c.i
index a2c5de6..fc4ced7 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/java/net/net__util__md.c.i and b/jdk/.hg/store/data/src/solaris/native/java/net/net__util__md.c.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/java/net/net__util__md.h.i b/jdk/.hg/store/data/src/solaris/native/java/net/net__util__md.h.i
index 9d3fd0c..0224600 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/java/net/net__util__md.h.i and b/jdk/.hg/store/data/src/solaris/native/java/net/net__util__md.h.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/awt/_headless_toolkit.c.i b/jdk/.hg/store/data/src/solaris/native/sun/awt/_headless_toolkit.c.i
new file mode 100644
index 0000000..c8c6f70
Binary files /dev/null and b/jdk/.hg/store/data/src/solaris/native/sun/awt/_headless_toolkit.c.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt.h.i b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt.h.i
index 8f36545..65754c7 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt.h.i and b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt.h.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___a_w_t_event.c.i b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___a_w_t_event.c.i
index b0aecd8..efdccce 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___a_w_t_event.c.i and b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___a_w_t_event.c.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___component.h.i b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___component.h.i
index 2c77bb5..299c884 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___component.h.i and b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___component.h.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___drawing_surface.c.i b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___drawing_surface.c.i
index 8411730..b40893c 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___drawing_surface.c.i and b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___drawing_surface.c.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___font.c.i b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___font.c.i
index 2f64d93..fefb4d1 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___font.c.i and b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___font.c.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___font.h.i b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___font.h.i
index f94549f..a2ce738 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___font.h.i and b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___font.h.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___graphics_env.c.i b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___graphics_env.c.i
index 15892d5..e63d72f 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___graphics_env.c.i and b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___graphics_env.c.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___input_method.c.i b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___input_method.c.i
index 3d9810e..2505a4d 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___input_method.c.i and b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___input_method.c.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___robot.c.i b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___robot.c.i
index fd34604..46c4a42 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___robot.c.i and b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt___robot.c.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt__p.h.i b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt__p.h.i
index 11460f8..df0a27e 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt__p.h.i and b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt__p.h.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt__util.c.i b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt__util.c.i
index dea8175..6738537 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt__util.c.i and b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt__util.c.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt__util.h.i b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt__util.h.i
index 8cacb45..f0e73c0 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/awt/awt__util.h.i and b/jdk/.hg/store/data/src/solaris/native/sun/awt/awt__util.h.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/awt/canvas.h.i b/jdk/.hg/store/data/src/solaris/native/sun/awt/canvas.h.i
index 9f016d1..250541f 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/awt/canvas.h.i and b/jdk/.hg/store/data/src/solaris/native/sun/awt/canvas.h.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/awt/multi__font.c.i b/jdk/.hg/store/data/src/solaris/native/sun/awt/multi__font.c.i
index 5c374ef..11dc721 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/awt/multi__font.c.i and b/jdk/.hg/store/data/src/solaris/native/sun/awt/multi__font.c.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/awt/multi__font.h.i b/jdk/.hg/store/data/src/solaris/native/sun/awt/multi__font.h.i
index 6bfa7df..da50962 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/awt/multi__font.h.i and b/jdk/.hg/store/data/src/solaris/native/sun/awt/multi__font.h.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/java2d/opengl/_g_l_x_surface_data.c.i b/jdk/.hg/store/data/src/solaris/native/sun/java2d/opengl/_g_l_x_surface_data.c.i
index 8182509..d11ac47 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/java2d/opengl/_g_l_x_surface_data.c.i and b/jdk/.hg/store/data/src/solaris/native/sun/java2d/opengl/_g_l_x_surface_data.c.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/java2d/opengl/_g_l_x_surface_data.h.i b/jdk/.hg/store/data/src/solaris/native/sun/java2d/opengl/_g_l_x_surface_data.h.i
index 2a67dfa..4ea6417 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/java2d/opengl/_g_l_x_surface_data.h.i and b/jdk/.hg/store/data/src/solaris/native/sun/java2d/opengl/_g_l_x_surface_data.h.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/java2d/x11/_x11_surface_data.c.i b/jdk/.hg/store/data/src/solaris/native/sun/java2d/x11/_x11_surface_data.c.i
index 8868319..8bbcbd8 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/java2d/x11/_x11_surface_data.c.i and b/jdk/.hg/store/data/src/solaris/native/sun/java2d/x11/_x11_surface_data.c.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/java2d/x11/_x11_surface_data.h.i b/jdk/.hg/store/data/src/solaris/native/sun/java2d/x11/_x11_surface_data.h.i
index dcb3186..60371b6 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/java2d/x11/_x11_surface_data.h.i and b/jdk/.hg/store/data/src/solaris/native/sun/java2d/x11/_x11_surface_data.h.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/nio/fs/_unix_native_dispatcher.c.i b/jdk/.hg/store/data/src/solaris/native/sun/nio/fs/_unix_native_dispatcher.c.i
index 4f03c6c..f708b2c 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/nio/fs/_unix_native_dispatcher.c.i and b/jdk/.hg/store/data/src/solaris/native/sun/nio/fs/_unix_native_dispatcher.c.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/nio/fs/gen_unix_constants.c.i b/jdk/.hg/store/data/src/solaris/native/sun/nio/fs/gen_unix_constants.c.i
index d9fefe2..a2aab46 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/nio/fs/gen_unix_constants.c.i and b/jdk/.hg/store/data/src/solaris/native/sun/nio/fs/gen_unix_constants.c.i differ
diff --git a/jdk/.hg/store/data/src/solaris/native/sun/xawt/_x_toolkit.c.i b/jdk/.hg/store/data/src/solaris/native/sun/xawt/_x_toolkit.c.i
index 0f16100..65f59c7 100644
Binary files a/jdk/.hg/store/data/src/solaris/native/sun/xawt/_x_toolkit.c.i and b/jdk/.hg/store/data/src/solaris/native/sun/xawt/_x_toolkit.c.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/java/io/_file_descriptor.java.i b/jdk/.hg/store/data/src/windows/classes/java/io/_file_descriptor.java.i
index 991956c..db0b8ac 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/java/io/_file_descriptor.java.i and b/jdk/.hg/store/data/src/windows/classes/java/io/_file_descriptor.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/java/lang/_process_environment.java.i b/jdk/.hg/store/data/src/windows/classes/java/lang/_process_environment.java.i
index 71911fb..d791b0e 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/java/lang/_process_environment.java.i and b/jdk/.hg/store/data/src/windows/classes/java/lang/_process_environment.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/java/net/_plain_socket_impl.java.i b/jdk/.hg/store/data/src/windows/classes/java/net/_plain_socket_impl.java.i
index d3bd292..b798266 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/java/net/_plain_socket_impl.java.i and b/jdk/.hg/store/data/src/windows/classes/java/net/_plain_socket_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_translucent_window_painter.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_translucent_window_painter.java.i
index b824128..a0bfce3 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_translucent_window_painter.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_translucent_window_painter.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_buffer_strategy.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_buffer_strategy.java.i
index 2e0aa51..87b34d3 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_buffer_strategy.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_buffer_strategy.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_choice_peer.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_choice_peer.java.i
index 7e37206..69cfc67 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_choice_peer.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_choice_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_clipboard.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_clipboard.java.i
index 1e49c0d..37ed2ce 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_clipboard.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_clipboard.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_component_peer.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_component_peer.java.i
index 21c0017..48f698d 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_component_peer.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_component_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_data_transferer.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_data_transferer.java.i
index 3f19d13..39bfe41 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_data_transferer.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_data_transferer.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_desktop_properties.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_desktop_properties.java.i
index c3924b2..03547e2 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_desktop_properties.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_desktop_properties.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_dialog_peer.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_dialog_peer.java.i
index 2fcb090..9ced85a 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_dialog_peer.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_dialog_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_embedded_frame.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_embedded_frame.java.i
index 46042ca..2f625f7 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_embedded_frame.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_embedded_frame.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_file_dialog_peer.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_file_dialog_peer.java.i
index 22c52ac..3642e67 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_file_dialog_peer.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_file_dialog_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_frame_peer.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_frame_peer.java.i
index 4f6becb..1e896ea 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_frame_peer.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_frame_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_input_method.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_input_method.java.i
index bcf80a8..07ec968 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_input_method.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_input_method.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_menu_item_peer.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_menu_item_peer.java.i
index 427d77c..f7aa636 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_menu_item_peer.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_menu_item_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_page_dialog.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_page_dialog.java.i
index e48c3ea..db83c1b 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_page_dialog.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_page_dialog.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_page_dialog_peer.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_page_dialog_peer.java.i
index 764f030..8dddcf7 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_page_dialog_peer.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_page_dialog_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_print_dialog.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_print_dialog.java.i
index ef3ba42..fddc45d 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_print_dialog.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_print_dialog.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_print_dialog_peer.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_print_dialog_peer.java.i
index b4d2952..bf917ee 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_print_dialog_peer.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_print_dialog_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_toolkit.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_toolkit.java.i
index aa7057c..eed0faa 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_toolkit.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_toolkit.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_window_peer.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_window_peer.java.i
index 5ce5ea2..6412234 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_window_peer.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_window_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/security/krb5/internal/tools/_klist.java.i b/jdk/.hg/store/data/src/windows/classes/sun/security/krb5/internal/tools/_klist.java.i
index 0b26402..45d8126 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/security/krb5/internal/tools/_klist.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/security/krb5/internal/tools/_klist.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/security/mscapi/_key.java.i b/jdk/.hg/store/data/src/windows/classes/sun/security/mscapi/_key.java.i
index ea8ba16..eb3b563 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/security/mscapi/_key.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/security/mscapi/_key.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/security/mscapi/_r_s_a_cipher.java.i b/jdk/.hg/store/data/src/windows/classes/sun/security/mscapi/_r_s_a_cipher.java.i
index 7201f32..cc179d7 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/security/mscapi/_r_s_a_cipher.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/security/mscapi/_r_s_a_cipher.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/security/mscapi/_r_s_a_signature.java.i b/jdk/.hg/store/data/src/windows/classes/sun/security/mscapi/_r_s_a_signature.java.i
index 7623110..add1a00 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/security/mscapi/_r_s_a_signature.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/security/mscapi/_r_s_a_signature.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/lib/tzmappings.i b/jdk/.hg/store/data/src/windows/lib/tzmappings.i
index 3db2bbe..e51d38a 100644
Binary files a/jdk/.hg/store/data/src/windows/lib/tzmappings.i and b/jdk/.hg/store/data/src/windows/lib/tzmappings.i differ
diff --git a/jdk/.hg/store/data/src/windows/native/java/io/io__util__md.c.i b/jdk/.hg/store/data/src/windows/native/java/io/io__util__md.c.i
index 7c656a4..972a2f4 100644
Binary files a/jdk/.hg/store/data/src/windows/native/java/io/io__util__md.c.i and b/jdk/.hg/store/data/src/windows/native/java/io/io__util__md.c.i differ
diff --git a/jdk/.hg/store/data/src/windows/native/java/io/io__util__md.h.i b/jdk/.hg/store/data/src/windows/native/java/io/io__util__md.h.i
index 0495f2d..f255eca 100644
Binary files a/jdk/.hg/store/data/src/windows/native/java/io/io__util__md.h.i and b/jdk/.hg/store/data/src/windows/native/java/io/io__util__md.h.i differ
diff --git a/jdk/.hg/store/data/test/_makefile.i b/jdk/.hg/store/data/test/_makefile.i
index 0073108..3ca8dbe 100644
Binary files a/jdk/.hg/store/data/test/_makefile.i and b/jdk/.hg/store/data/test/_makefile.i differ
diff --git a/jdk/.hg/store/data/test/_problem_list.txt.i b/jdk/.hg/store/data/test/_problem_list.txt.i
index eee0c46..8cbd78b 100644
Binary files a/jdk/.hg/store/data/test/_problem_list.txt.i and b/jdk/.hg/store/data/test/_problem_list.txt.i differ
diff --git a/jdk/.hg/store/data/test/com/oracle/security/ucrypto/_test_a_e_s.java.i b/jdk/.hg/store/data/test/com/oracle/security/ucrypto/_test_a_e_s.java.i
new file mode 100644
index 0000000..7f4c1d5
Binary files /dev/null and b/jdk/.hg/store/data/test/com/oracle/security/ucrypto/_test_a_e_s.java.i differ
diff --git a/jdk/.hg/store/data/test/com/oracle/security/ucrypto/_test_digest.java.i b/jdk/.hg/store/data/test/com/oracle/security/ucrypto/_test_digest.java.i
new file mode 100644
index 0000000..f5906fe
Binary files /dev/null and b/jdk/.hg/store/data/test/com/oracle/security/ucrypto/_test_digest.java.i differ
diff --git a/jdk/.hg/store/data/test/com/oracle/security/ucrypto/_test_r_s_a.java.i b/jdk/.hg/store/data/test/com/oracle/security/ucrypto/_test_r_s_a.java.i
new file mode 100644
index 0000000..a1ef386
Binary files /dev/null and b/jdk/.hg/store/data/test/com/oracle/security/ucrypto/_test_r_s_a.java.i differ
diff --git a/jdk/.hg/store/data/test/com/oracle/security/ucrypto/_ucrypto_test.java.i b/jdk/.hg/store/data/test/com/oracle/security/ucrypto/_ucrypto_test.java.i
new file mode 100644
index 0000000..db50ad8
Binary files /dev/null and b/jdk/.hg/store/data/test/com/oracle/security/ucrypto/_ucrypto_test.java.i differ
diff --git a/jdk/.hg/store/data/test/com/sun/management/_hot_spot_diagnostic_m_x_bean/_execute_diagnostic_command.java.i b/jdk/.hg/store/data/test/com/sun/management/_hot_spot_diagnostic_m_x_bean/_execute_diagnostic_command.java.i
new file mode 100644
index 0000000..a12a4d4
Binary files /dev/null and b/jdk/.hg/store/data/test/com/sun/management/_hot_spot_diagnostic_m_x_bean/_execute_diagnostic_command.java.i differ
diff --git a/jdk/.hg/store/data/test/com/sun/management/_hot_spot_diagnostic_m_x_bean/_get_diagnostic_command_info.java.i b/jdk/.hg/store/data/test/com/sun/management/_hot_spot_diagnostic_m_x_bean/_get_diagnostic_command_info.java.i
new file mode 100644
index 0000000..6ba554f
Binary files /dev/null and b/jdk/.hg/store/data/test/com/sun/management/_hot_spot_diagnostic_m_x_bean/_get_diagnostic_command_info.java.i differ
diff --git a/jdk/.hg/store/data/test/com/sun/management/_hot_spot_diagnostic_m_x_bean/_get_diagnostic_commands.java.i b/jdk/.hg/store/data/test/com/sun/management/_hot_spot_diagnostic_m_x_bean/_get_diagnostic_commands.java.i
new file mode 100644
index 0000000..342a3b4
Binary files /dev/null and b/jdk/.hg/store/data/test/com/sun/management/_hot_spot_diagnostic_m_x_bean/_get_diagnostic_commands.java.i differ
diff --git a/jdk/.hg/store/data/test/java/awt/_event_queue/_main_app_context/_main_app_context.java.i b/jdk/.hg/store/data/test/java/awt/_event_queue/_main_app_context/_main_app_context.java.i
new file mode 100644
index 0000000..d3b07f9
Binary files /dev/null and b/jdk/.hg/store/data/test/java/awt/_event_queue/_main_app_context/_main_app_context.java.i differ
diff --git a/jdk/.hg/store/data/test/java/awt/print/_paint_set_enabled_deadlock/_paint_set_enabled_deadlock.java.i b/jdk/.hg/store/data/test/java/awt/print/_paint_set_enabled_deadlock/_paint_set_enabled_deadlock.java.i
new file mode 100644
index 0000000..133626c
Binary files /dev/null and b/jdk/.hg/store/data/test/java/awt/print/_paint_set_enabled_deadlock/_paint_set_enabled_deadlock.java.i differ
diff --git a/jdk/.hg/store/data/test/java/beans/_beans/6669869/_test_design_time.java.i b/jdk/.hg/store/data/test/java/beans/_beans/6669869/_test_design_time.java.i
index 798b636..8d66a27 100644
Binary files a/jdk/.hg/store/data/test/java/beans/_beans/6669869/_test_design_time.java.i and b/jdk/.hg/store/data/test/java/beans/_beans/6669869/_test_design_time.java.i differ
diff --git a/jdk/.hg/store/data/test/java/beans/_beans/6669869/_test_gui_available.java.i b/jdk/.hg/store/data/test/java/beans/_beans/6669869/_test_gui_available.java.i
index 75599f3..b0f3246 100644
Binary files a/jdk/.hg/store/data/test/java/beans/_beans/6669869/_test_gui_available.java.i and b/jdk/.hg/store/data/test/java/beans/_beans/6669869/_test_gui_available.java.i differ
diff --git a/jdk/.hg/store/data/test/java/beans/_introspector/6380849/_test_bean_info.java.i b/jdk/.hg/store/data/test/java/beans/_introspector/6380849/_test_bean_info.java.i
index 8a692ef..88a47a1 100644
Binary files a/jdk/.hg/store/data/test/java/beans/_introspector/6380849/_test_bean_info.java.i and b/jdk/.hg/store/data/test/java/beans/_introspector/6380849/_test_bean_info.java.i differ
diff --git a/jdk/.hg/store/data/test/java/beans/_introspector/7064279/_test7064279.java.i b/jdk/.hg/store/data/test/java/beans/_introspector/7064279/_test7064279.java.i
new file mode 100644
index 0000000..b0ad462
Binary files /dev/null and b/jdk/.hg/store/data/test/java/beans/_introspector/7064279/_test7064279.java.i differ
diff --git a/jdk/.hg/store/data/test/java/beans/_introspector/7064279/test.jar.i b/jdk/.hg/store/data/test/java/beans/_introspector/7064279/test.jar.i
new file mode 100644
index 0000000..717035a
Binary files /dev/null and b/jdk/.hg/store/data/test/java/beans/_introspector/7064279/test.jar.i differ
diff --git a/jdk/.hg/store/data/test/java/beans/_introspector/_test6660539.java.i b/jdk/.hg/store/data/test/java/beans/_introspector/_test6660539.java.i
index 68c770c..d6e386b 100644
Binary files a/jdk/.hg/store/data/test/java/beans/_introspector/_test6660539.java.i and b/jdk/.hg/store/data/test/java/beans/_introspector/_test6660539.java.i differ
diff --git a/jdk/.hg/store/data/test/java/beans/_introspector/_test_type_resolver.java.i b/jdk/.hg/store/data/test/java/beans/_introspector/_test_type_resolver.java.i
index 088b2bd..921325f 100644
Binary files a/jdk/.hg/store/data/test/java/beans/_introspector/_test_type_resolver.java.i and b/jdk/.hg/store/data/test/java/beans/_introspector/_test_type_resolver.java.i differ
diff --git a/jdk/.hg/store/data/test/java/beans/_property_change_support/_test7087429.java.i b/jdk/.hg/store/data/test/java/beans/_property_change_support/_test7087429.java.i
new file mode 100644
index 0000000..0849268
Binary files /dev/null and b/jdk/.hg/store/data/test/java/beans/_property_change_support/_test7087429.java.i differ
diff --git a/jdk/.hg/store/data/test/java/beans/_property_editor/6380849/_test_property_editor.java.i b/jdk/.hg/store/data/test/java/beans/_property_editor/6380849/_test_property_editor.java.i
index f21f18b..34d713b 100644
Binary files a/jdk/.hg/store/data/test/java/beans/_property_editor/6380849/_test_property_editor.java.i and b/jdk/.hg/store/data/test/java/beans/_property_editor/6380849/_test_property_editor.java.i differ
diff --git a/jdk/.hg/store/data/test/java/beans/_property_editor/_test7087876.java.i b/jdk/.hg/store/data/test/java/beans/_property_editor/_test7087876.java.i
new file mode 100644
index 0000000..f09ad74
Binary files /dev/null and b/jdk/.hg/store/data/test/java/beans/_property_editor/_test7087876.java.i differ
diff --git a/jdk/.hg/store/data/test/java/beans/_x_m_l_encoder/_test7092744.java.i b/jdk/.hg/store/data/test/java/beans/_x_m_l_encoder/_test7092744.java.i
new file mode 100644
index 0000000..b997bcc
Binary files /dev/null and b/jdk/.hg/store/data/test/java/beans/_x_m_l_encoder/_test7092744.java.i differ
diff --git a/jdk/.hg/store/data/test/java/io/_file_descriptor/_sharing.java.i b/jdk/.hg/store/data/test/java/io/_file_descriptor/_sharing.java.i
new file mode 100644
index 0000000..9814b25
Binary files /dev/null and b/jdk/.hg/store/data/test/java/io/_file_descriptor/_sharing.java.i differ
diff --git a/jdk/.hg/store/data/test/java/io/_file_input_stream/_large_file_available.java.i b/jdk/.hg/store/data/test/java/io/_file_input_stream/_large_file_available.java.i
index 7f9c533..0ae8122 100644
Binary files a/jdk/.hg/store/data/test/java/io/_file_input_stream/_large_file_available.java.i and b/jdk/.hg/store/data/test/java/io/_file_input_stream/_large_file_available.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/_runtime/exec/_streams_survive_destroy.java.i b/jdk/.hg/store/data/test/java/lang/_runtime/exec/_streams_survive_destroy.java.i
index d42026c..f133501 100644
Binary files a/jdk/.hg/store/data/test/java/lang/_runtime/exec/_streams_survive_destroy.java.i and b/jdk/.hg/store/data/test/java/lang/_runtime/exec/_streams_survive_destroy.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/_string/_case_insensitive_comparator.java.i b/jdk/.hg/store/data/test/java/lang/_string/_case_insensitive_comparator.java.i
new file mode 100644
index 0000000..d9339ad
Binary files /dev/null and b/jdk/.hg/store/data/test/java/lang/_string/_case_insensitive_comparator.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/_thread_group/_null_thread_name.java.i b/jdk/.hg/store/data/test/java/lang/_thread_group/_null_thread_name.java.i
index 72d9909..b6497d0 100644
Binary files a/jdk/.hg/store/data/test/java/lang/_thread_group/_null_thread_name.java.i and b/jdk/.hg/store/data/test/java/lang/_thread_group/_null_thread_name.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/_thread_group/_stop.java.i b/jdk/.hg/store/data/test/java/lang/_thread_group/_stop.java.i
index 0fc9b41..98d3763 100644
Binary files a/jdk/.hg/store/data/test/java/lang/_thread_group/_stop.java.i and b/jdk/.hg/store/data/test/java/lang/_thread_group/_stop.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/instrument/_big_class.java.i b/jdk/.hg/store/data/test/java/lang/instrument/_big_class.java.i
new file mode 100644
index 0000000..eff78e8
Binary files /dev/null and b/jdk/.hg/store/data/test/java/lang/instrument/_big_class.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/instrument/_make_j_a_r4.sh.i b/jdk/.hg/store/data/test/java/lang/instrument/_make_j_a_r4.sh.i
new file mode 100644
index 0000000..911aba7
Binary files /dev/null and b/jdk/.hg/store/data/test/java/lang/instrument/_make_j_a_r4.sh.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/instrument/_redefine_big_class.sh.i b/jdk/.hg/store/data/test/java/lang/instrument/_redefine_big_class.sh.i
new file mode 100644
index 0000000..38d109a
Binary files /dev/null and b/jdk/.hg/store/data/test/java/lang/instrument/_redefine_big_class.sh.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/instrument/_redefine_big_class_agent.java.i b/jdk/.hg/store/data/test/java/lang/instrument/_redefine_big_class_agent.java.i
new file mode 100644
index 0000000..3c2b74c
Binary files /dev/null and b/jdk/.hg/store/data/test/java/lang/instrument/_redefine_big_class_agent.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/instrument/_redefine_big_class_app.java.i b/jdk/.hg/store/data/test/java/lang/instrument/_redefine_big_class_app.java.i
new file mode 100644
index 0000000..b65bd75
Binary files /dev/null and b/jdk/.hg/store/data/test/java/lang/instrument/_redefine_big_class_app.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/instrument/_retransform_big_class.sh.i b/jdk/.hg/store/data/test/java/lang/instrument/_retransform_big_class.sh.i
new file mode 100644
index 0000000..2060e40
Binary files /dev/null and b/jdk/.hg/store/data/test/java/lang/instrument/_retransform_big_class.sh.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/instrument/_retransform_big_class_agent.java.i b/jdk/.hg/store/data/test/java/lang/instrument/_retransform_big_class_agent.java.i
new file mode 100644
index 0000000..c60535a
Binary files /dev/null and b/jdk/.hg/store/data/test/java/lang/instrument/_retransform_big_class_agent.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/instrument/_retransform_big_class_app.java.i b/jdk/.hg/store/data/test/java/lang/instrument/_retransform_big_class_app.java.i
new file mode 100644
index 0000000..9765b23
Binary files /dev/null and b/jdk/.hg/store/data/test/java/lang/instrument/_retransform_big_class_app.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/invoke/_call_site_test.java.i b/jdk/.hg/store/data/test/java/lang/invoke/_call_site_test.java.i
index 33feadc..25652b2 100644
Binary files a/jdk/.hg/store/data/test/java/lang/invoke/_call_site_test.java.i and b/jdk/.hg/store/data/test/java/lang/invoke/_call_site_test.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/invoke/_class_value_test.java.i b/jdk/.hg/store/data/test/java/lang/invoke/_class_value_test.java.i
index b05e821..76b5797 100644
Binary files a/jdk/.hg/store/data/test/java/lang/invoke/_class_value_test.java.i and b/jdk/.hg/store/data/test/java/lang/invoke/_class_value_test.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/invoke/_invoke_generic_test.java.i b/jdk/.hg/store/data/test/java/lang/invoke/_invoke_generic_test.java.i
index 7b8b08e..9f1c4a0 100644
Binary files a/jdk/.hg/store/data/test/java/lang/invoke/_invoke_generic_test.java.i and b/jdk/.hg/store/data/test/java/lang/invoke/_invoke_generic_test.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/invoke/_java_doc_examples_test.java.i b/jdk/.hg/store/data/test/java/lang/invoke/_java_doc_examples_test.java.i
index 52b0817..2af9537 100644
Binary files a/jdk/.hg/store/data/test/java/lang/invoke/_java_doc_examples_test.java.i and b/jdk/.hg/store/data/test/java/lang/invoke/_java_doc_examples_test.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/invoke/_method_handles_test.java.i b/jdk/.hg/store/data/test/java/lang/invoke/_method_handles_test.java.i
index 32dbbd4..07ae3e1 100644
Binary files a/jdk/.hg/store/data/test/java/lang/invoke/_method_handles_test.java.i and b/jdk/.hg/store/data/test/java/lang/invoke/_method_handles_test.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/invoke/_method_type_test.java.i b/jdk/.hg/store/data/test/java/lang/invoke/_method_type_test.java.i
index e4cd7a0..36975a5 100644
Binary files a/jdk/.hg/store/data/test/java/lang/invoke/_method_type_test.java.i and b/jdk/.hg/store/data/test/java/lang/invoke/_method_type_test.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/invoke/_permute_args_test.java.i b/jdk/.hg/store/data/test/java/lang/invoke/_permute_args_test.java.i
index e2edf5e..8654b1b 100644
Binary files a/jdk/.hg/store/data/test/java/lang/invoke/_permute_args_test.java.i and b/jdk/.hg/store/data/test/java/lang/invoke/_permute_args_test.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/invoke/_ricochet_test.java.i b/jdk/.hg/store/data/test/java/lang/invoke/_ricochet_test.java.i
index eafa931..6cc930e 100644
Binary files a/jdk/.hg/store/data/test/java/lang/invoke/_ricochet_test.java.i and b/jdk/.hg/store/data/test/java/lang/invoke/_ricochet_test.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/invoke/_throw_exceptions_test.java.i b/jdk/.hg/store/data/test/java/lang/invoke/_throw_exceptions_test.java.i
index 3a7c1fd..2164c9a 100644
Binary files a/jdk/.hg/store/data/test/java/lang/invoke/_throw_exceptions_test.java.i and b/jdk/.hg/store/data/test/java/lang/invoke/_throw_exceptions_test.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/management/_platform_logging_m_x_bean/_logging_m_x_bean_test.java.i b/jdk/.hg/store/data/test/java/lang/management/_platform_logging_m_x_bean/_logging_m_x_bean_test.java.i
index 7c415be..1c424ca 100644
Binary files a/jdk/.hg/store/data/test/java/lang/management/_platform_logging_m_x_bean/_logging_m_x_bean_test.java.i and b/jdk/.hg/store/data/test/java/lang/management/_platform_logging_m_x_bean/_logging_m_x_bean_test.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/management/_platform_logging_m_x_bean/_platform_logging_m_x_bean_test.java.i b/jdk/.hg/store/data/test/java/lang/management/_platform_logging_m_x_bean/_platform_logging_m_x_bean_test.java.i
index 26feaa3..8c52567 100644
Binary files a/jdk/.hg/store/data/test/java/lang/management/_platform_logging_m_x_bean/_platform_logging_m_x_bean_test.java.i and b/jdk/.hg/store/data/test/java/lang/management/_platform_logging_m_x_bean/_platform_logging_m_x_bean_test.java.i differ
diff --git a/jdk/.hg/store/data/test/java/net/_http_u_r_l_connection/_unmodifiable_maps.java.i b/jdk/.hg/store/data/test/java/net/_http_u_r_l_connection/_unmodifiable_maps.java.i
new file mode 100644
index 0000000..b464c17
Binary files /dev/null and b/jdk/.hg/store/data/test/java/net/_http_u_r_l_connection/_unmodifiable_maps.java.i differ
diff --git a/jdk/.hg/store/data/test/java/nio/channels/_asynchronous_socket_channel/_basic.java.i b/jdk/.hg/store/data/test/java/nio/channels/_asynchronous_socket_channel/_basic.java.i
index ffedc9a..6d2e240 100644
Binary files a/jdk/.hg/store/data/test/java/nio/channels/_asynchronous_socket_channel/_basic.java.i and b/jdk/.hg/store/data/test/java/nio/channels/_asynchronous_socket_channel/_basic.java.i differ
diff --git a/jdk/.hg/store/data/test/java/nio/file/_files/_custom_options.java.i b/jdk/.hg/store/data/test/java/nio/file/_files/_custom_options.java.i
new file mode 100644
index 0000000..1e91a44
Binary files /dev/null and b/jdk/.hg/store/data/test/java/nio/file/_files/_custom_options.java.i differ
diff --git a/jdk/.hg/store/data/test/java/nio/file/attribute/_acl_entry/_empty_set.java.i b/jdk/.hg/store/data/test/java/nio/file/attribute/_acl_entry/_empty_set.java.i
new file mode 100644
index 0000000..043821b
Binary files /dev/null and b/jdk/.hg/store/data/test/java/nio/file/attribute/_acl_entry/_empty_set.java.i differ
diff --git a/jdk/.hg/store/data/test/java/rmi/registry/read_test/read_test.java.i b/jdk/.hg/store/data/test/java/rmi/registry/read_test/read_test.java.i
new file mode 100644
index 0000000..ce11711
Binary files /dev/null and b/jdk/.hg/store/data/test/java/rmi/registry/read_test/read_test.java.i differ
diff --git a/jdk/.hg/store/data/test/java/rmi/registry/read_test/read_test.sh.i b/jdk/.hg/store/data/test/java/rmi/registry/read_test/read_test.sh.i
new file mode 100644
index 0000000..01dc7d9
Binary files /dev/null and b/jdk/.hg/store/data/test/java/rmi/registry/read_test/read_test.sh.i differ
diff --git a/jdk/.hg/store/data/test/java/rmi/registry/read_test/test_pkg/_client.java.i b/jdk/.hg/store/data/test/java/rmi/registry/read_test/test_pkg/_client.java.i
new file mode 100644
index 0000000..fdc7897
Binary files /dev/null and b/jdk/.hg/store/data/test/java/rmi/registry/read_test/test_pkg/_client.java.i differ
diff --git a/jdk/.hg/store/data/test/java/rmi/registry/read_test/test_pkg/_hello.java.i b/jdk/.hg/store/data/test/java/rmi/registry/read_test/test_pkg/_hello.java.i
new file mode 100644
index 0000000..63e9b5b
Binary files /dev/null and b/jdk/.hg/store/data/test/java/rmi/registry/read_test/test_pkg/_hello.java.i differ
diff --git a/jdk/.hg/store/data/test/java/rmi/registry/read_test/test_pkg/_server.java.i b/jdk/.hg/store/data/test/java/rmi/registry/read_test/test_pkg/_server.java.i
new file mode 100644
index 0000000..84e2706
Binary files /dev/null and b/jdk/.hg/store/data/test/java/rmi/registry/read_test/test_pkg/_server.java.i differ
diff --git a/jdk/.hg/store/data/test/java/security/_provider/_default_p_k_c_s11.java.i b/jdk/.hg/store/data/test/java/security/_provider/_default_p_k_c_s11.java.i
index 24b97dd..92241b8 100644
Binary files a/jdk/.hg/store/data/test/java/security/_provider/_default_p_k_c_s11.java.i and b/jdk/.hg/store/data/test/java/security/_provider/_default_p_k_c_s11.java.i differ
diff --git a/jdk/.hg/store/data/test/java/util/_collections/_empty_iterator.java.i b/jdk/.hg/store/data/test/java/util/_collections/_empty_iterator.java.i
index 2ebe782..0ef1748 100644
Binary files a/jdk/.hg/store/data/test/java/util/_collections/_empty_iterator.java.i and b/jdk/.hg/store/data/test/java/util/_collections/_empty_iterator.java.i differ
diff --git a/jdk/.hg/store/data/test/java/util/_missing_format_argument_exception/_get_format_specifier.java.i b/jdk/.hg/store/data/test/java/util/_missing_format_argument_exception/_get_format_specifier.java.i
new file mode 100644
index 0000000..532b7d5
Binary files /dev/null and b/jdk/.hg/store/data/test/java/util/_missing_format_argument_exception/_get_format_specifier.java.i differ
diff --git a/jdk/.hg/store/data/test/java/util/_timer/_args.java.i b/jdk/.hg/store/data/test/java/util/_timer/_args.java.i
index 590c8d6..c24cfca 100644
Binary files a/jdk/.hg/store/data/test/java/util/_timer/_args.java.i and b/jdk/.hg/store/data/test/java/util/_timer/_args.java.i differ
diff --git a/jdk/.hg/store/data/test/java/util/_timer/_kill_thread.java.i b/jdk/.hg/store/data/test/java/util/_timer/_kill_thread.java.i
index 9618362..dd034b7 100644
Binary files a/jdk/.hg/store/data/test/java/util/_timer/_kill_thread.java.i and b/jdk/.hg/store/data/test/java/util/_timer/_kill_thread.java.i differ
diff --git a/jdk/.hg/store/data/test/java/util/regex/_reg_ex_test.java.i b/jdk/.hg/store/data/test/java/util/regex/_reg_ex_test.java.i
index 168883b..c064864 100644
Binary files a/jdk/.hg/store/data/test/java/util/regex/_reg_ex_test.java.i and b/jdk/.hg/store/data/test/java/util/regex/_reg_ex_test.java.i differ
diff --git a/jdk/.hg/store/data/test/java/util/zip/_de_inflate.java.i b/jdk/.hg/store/data/test/java/util/zip/_de_inflate.java.i
new file mode 100644
index 0000000..13925f5
Binary files /dev/null and b/jdk/.hg/store/data/test/java/util/zip/_de_inflate.java.i differ
diff --git a/jdk/.hg/store/data/test/java/util/zip/_time_checksum.java.i b/jdk/.hg/store/data/test/java/util/zip/_time_checksum.java.i
new file mode 100644
index 0000000..a909432
Binary files /dev/null and b/jdk/.hg/store/data/test/java/util/zip/_time_checksum.java.i differ
diff --git a/jdk/.hg/store/data/test/java/util/zip/_zip_file/_clear_stale_zip_file_input_streams.java.i b/jdk/.hg/store/data/test/java/util/zip/_zip_file/_clear_stale_zip_file_input_streams.java.i
index 22e7590..547c1c1 100644
Binary files a/jdk/.hg/store/data/test/java/util/zip/_zip_file/_clear_stale_zip_file_input_streams.java.i and b/jdk/.hg/store/data/test/java/util/zip/_zip_file/_clear_stale_zip_file_input_streams.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/crypto/_cipher/_get_max_allowed.java.i b/jdk/.hg/store/data/test/javax/crypto/_cipher/_get_max_allowed.java.i
index 77b82a8..87a1032 100644
Binary files a/jdk/.hg/store/data/test/javax/crypto/_cipher/_get_max_allowed.java.i and b/jdk/.hg/store/data/test/javax/crypto/_cipher/_get_max_allowed.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/security/auth/x500/_x500_principal/_name_format.java.i b/jdk/.hg/store/data/test/javax/security/auth/x500/_x500_principal/_name_format.java.i
new file mode 100644
index 0000000..8cc39c4
Binary files /dev/null and b/jdk/.hg/store/data/test/javax/security/auth/x500/_x500_principal/_name_format.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/swing/_j_scroll_bar/4708809/bug4708809.java.i b/jdk/.hg/store/data/test/javax/swing/_j_scroll_bar/4708809/bug4708809.java.i
new file mode 100644
index 0000000..7b9eed1
Binary files /dev/null and b/jdk/.hg/store/data/test/javax/swing/_j_scroll_bar/4708809/bug4708809.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/swing/_j_scroll_bar/4865918/bug4865918.java.i b/jdk/.hg/store/data/test/javax/swing/_j_scroll_bar/4865918/bug4865918.java.i
new file mode 100644
index 0000000..c049910
Binary files /dev/null and b/jdk/.hg/store/data/test/javax/swing/_j_scroll_bar/4865918/bug4865918.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/swing/_j_split_pane/4885629/bug4885629.java.i b/jdk/.hg/store/data/test/javax/swing/_j_split_pane/4885629/bug4885629.java.i
new file mode 100644
index 0000000..676570f
Binary files /dev/null and b/jdk/.hg/store/data/test/javax/swing/_j_split_pane/4885629/bug4885629.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/swing/_j_tabbed_pane/4624207/bug4624207.java.i b/jdk/.hg/store/data/test/javax/swing/_j_tabbed_pane/4624207/bug4624207.java.i
new file mode 100644
index 0000000..0a9c9da
Binary files /dev/null and b/jdk/.hg/store/data/test/javax/swing/_j_tabbed_pane/4624207/bug4624207.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/swing/_j_tabbed_pane/6416920/bug6416920.java.i b/jdk/.hg/store/data/test/javax/swing/_j_tabbed_pane/6416920/bug6416920.java.i
new file mode 100644
index 0000000..61f8d90
Binary files /dev/null and b/jdk/.hg/store/data/test/javax/swing/_j_tabbed_pane/6416920/bug6416920.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/swing/_j_table/6263446/bug6263446.java.i b/jdk/.hg/store/data/test/javax/swing/_j_table/6263446/bug6263446.java.i
new file mode 100644
index 0000000..5eda5f7
Binary files /dev/null and b/jdk/.hg/store/data/test/javax/swing/_j_table/6263446/bug6263446.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/swing/_j_text_area/4697612/bug4697612.java.i b/jdk/.hg/store/data/test/javax/swing/_j_text_area/4697612/bug4697612.java.i
new file mode 100644
index 0000000..efa042c
Binary files /dev/null and b/jdk/.hg/store/data/test/javax/swing/_j_text_area/4697612/bug4697612.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/swing/_j_text_area/4697612/bug4697612.txt.i b/jdk/.hg/store/data/test/javax/swing/_j_text_area/4697612/bug4697612.txt.i
new file mode 100644
index 0000000..8608b22
Binary files /dev/null and b/jdk/.hg/store/data/test/javax/swing/_j_text_area/4697612/bug4697612.txt.i differ
diff --git a/jdk/.hg/store/data/test/javax/swing/_j_tree/6505523/bug6505523.java.i b/jdk/.hg/store/data/test/javax/swing/_j_tree/6505523/bug6505523.java.i
new file mode 100644
index 0000000..a686282
Binary files /dev/null and b/jdk/.hg/store/data/test/javax/swing/_j_tree/6505523/bug6505523.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/swing/_popup_factory/6276087/_non_opaque_popup_menu_test.java.i b/jdk/.hg/store/data/test/javax/swing/_popup_factory/6276087/_non_opaque_popup_menu_test.java.i
new file mode 100644
index 0000000..ad6d2a8
Binary files /dev/null and b/jdk/.hg/store/data/test/javax/swing/_popup_factory/6276087/_non_opaque_popup_menu_test.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/swing/plaf/metal/_metal_look_and_feel/5073047/bug5073047.java.i b/jdk/.hg/store/data/test/javax/swing/plaf/metal/_metal_look_and_feel/5073047/bug5073047.java.i
new file mode 100644
index 0000000..1345977
Binary files /dev/null and b/jdk/.hg/store/data/test/javax/swing/plaf/metal/_metal_look_and_feel/5073047/bug5073047.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/swing/regtesthelpers/_util.java.i b/jdk/.hg/store/data/test/javax/swing/regtesthelpers/_util.java.i
index 7f50c64..c6a3f9a 100644
Binary files a/jdk/.hg/store/data/test/javax/swing/regtesthelpers/_util.java.i and b/jdk/.hg/store/data/test/javax/swing/regtesthelpers/_util.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/swing/text/_default_caret/6938583/bug6938583.java.i b/jdk/.hg/store/data/test/javax/swing/text/_default_caret/6938583/bug6938583.java.i
new file mode 100644
index 0000000..f0eda7b
Binary files /dev/null and b/jdk/.hg/store/data/test/javax/swing/text/_default_caret/6938583/bug6938583.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/swing/text/_default_editor_kit/4278839/bug4278839.java.i b/jdk/.hg/store/data/test/javax/swing/text/_default_editor_kit/4278839/bug4278839.java.i
new file mode 100644
index 0000000..fa97aeb
Binary files /dev/null and b/jdk/.hg/store/data/test/javax/swing/text/_default_editor_kit/4278839/bug4278839.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/swing/text/_j_text_component/5074573/bug5074573.java.i b/jdk/.hg/store/data/test/javax/swing/text/_j_text_component/5074573/bug5074573.java.i
new file mode 100644
index 0000000..370db42
Binary files /dev/null and b/jdk/.hg/store/data/test/javax/swing/text/_j_text_component/5074573/bug5074573.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/swing/text/html/_h_t_m_l_editor_kit/5043626/bug5043626.java.i b/jdk/.hg/store/data/test/javax/swing/text/html/_h_t_m_l_editor_kit/5043626/bug5043626.java.i
new file mode 100644
index 0000000..a70cbf8
Binary files /dev/null and b/jdk/.hg/store/data/test/javax/swing/text/html/_h_t_m_l_editor_kit/5043626/bug5043626.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/invoke/util/_value_conversions_test.java.i b/jdk/.hg/store/data/test/sun/invoke/util/_value_conversions_test.java.i
index 8965970..2c6735d 100644
Binary files a/jdk/.hg/store/data/test/sun/invoke/util/_value_conversions_test.java.i and b/jdk/.hg/store/data/test/sun/invoke/util/_value_conversions_test.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/misc/_jar_index/meta_inf_filenames/_basic.java.i b/jdk/.hg/store/data/test/sun/misc/_jar_index/meta_inf_filenames/_basic.java.i
index 0cca176..09dfe90 100644
Binary files a/jdk/.hg/store/data/test/sun/misc/_jar_index/meta_inf_filenames/_basic.java.i and b/jdk/.hg/store/data/test/sun/misc/_jar_index/meta_inf_filenames/_basic.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/net/www/http/_http_client/_cookie_http_client_test.java.i b/jdk/.hg/store/data/test/sun/net/www/http/_http_client/_cookie_http_client_test.java.i
new file mode 100644
index 0000000..cd5446b
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/net/www/http/_http_client/_cookie_http_client_test.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/net/www/protocol/http/_http_only.java.i b/jdk/.hg/store/data/test/sun/net/www/protocol/http/_http_only.java.i
new file mode 100644
index 0000000..d2b6780
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/net/www/protocol/http/_http_only.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/krb5/auto/_context.java.i b/jdk/.hg/store/data/test/sun/security/krb5/auto/_context.java.i
index aca6638..5e8c59d 100644
Binary files a/jdk/.hg/store/data/test/sun/security/krb5/auto/_context.java.i and b/jdk/.hg/store/data/test/sun/security/krb5/auto/_context.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/krb5/auto/_cross_realm.java.i b/jdk/.hg/store/data/test/sun/security/krb5/auto/_cross_realm.java.i
index ba1546d..f23846d 100644
Binary files a/jdk/.hg/store/data/test/sun/security/krb5/auto/_cross_realm.java.i and b/jdk/.hg/store/data/test/sun/security/krb5/auto/_cross_realm.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/krb5/auto/_http_negotiate_server.java.i b/jdk/.hg/store/data/test/sun/security/krb5/auto/_http_negotiate_server.java.i
index 63e8d49..c7671ee 100644
Binary files a/jdk/.hg/store/data/test/sun/security/krb5/auto/_http_negotiate_server.java.i and b/jdk/.hg/store/data/test/sun/security/krb5/auto/_http_negotiate_server.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/krb5/auto/_k_d_c.java.i b/jdk/.hg/store/data/test/sun/security/krb5/auto/_k_d_c.java.i
index 81cc178..fb98d00 100644
Binary files a/jdk/.hg/store/data/test/sun/security/krb5/auto/_k_d_c.java.i and b/jdk/.hg/store/data/test/sun/security/krb5/auto/_k_d_c.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/krb5/auto/_ok_as_delegate_x_realm.java.i b/jdk/.hg/store/data/test/sun/security/krb5/auto/_ok_as_delegate_x_realm.java.i
index 3c03430..3fa3d93 100644
Binary files a/jdk/.hg/store/data/test/sun/security/krb5/auto/_ok_as_delegate_x_realm.java.i and b/jdk/.hg/store/data/test/sun/security/krb5/auto/_ok_as_delegate_x_realm.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/krb5/auto/_one_k_d_c.java.i b/jdk/.hg/store/data/test/sun/security/krb5/auto/_one_k_d_c.java.i
index c34f023..fa710c3 100644
Binary files a/jdk/.hg/store/data/test/sun/security/krb5/auto/_one_k_d_c.java.i and b/jdk/.hg/store/data/test/sun/security/krb5/auto/_one_k_d_c.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/krb5/auto/_replay_cache.java.i b/jdk/.hg/store/data/test/sun/security/krb5/auto/_replay_cache.java.i
new file mode 100644
index 0000000..03ca288
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/security/krb5/auto/_replay_cache.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/krb5/auto/_s_s_l.java.i b/jdk/.hg/store/data/test/sun/security/krb5/auto/_s_s_l.java.i
index 4f6b857..e806af0 100644
Binary files a/jdk/.hg/store/data/test/sun/security/krb5/auto/_s_s_l.java.i and b/jdk/.hg/store/data/test/sun/security/krb5/auto/_s_s_l.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/krb5/auto/_tcp_timeout.java.i b/jdk/.hg/store/data/test/sun/security/krb5/auto/_tcp_timeout.java.i
index d8b7cf1..ae0d150 100644
Binary files a/jdk/.hg/store/data/test/sun/security/krb5/auto/_tcp_timeout.java.i and b/jdk/.hg/store/data/test/sun/security/krb5/auto/_tcp_timeout.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/krb5/auto/_w83.java.i b/jdk/.hg/store/data/test/sun/security/krb5/auto/_w83.java.i
index 1e680e1..a8d293a 100644
Binary files a/jdk/.hg/store/data/test/sun/security/krb5/auto/_w83.java.i and b/jdk/.hg/store/data/test/sun/security/krb5/auto/_w83.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/mscapi/_short_r_s_a_key1024.sh.i b/jdk/.hg/store/data/test/sun/security/mscapi/_short_r_s_a_key1024.sh.i
new file mode 100644
index 0000000..7884c84
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/security/mscapi/_short_r_s_a_key1024.sh.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/mscapi/_short_r_s_a_key512.sh.i b/jdk/.hg/store/data/test/sun/security/mscapi/_short_r_s_a_key512.sh.i
new file mode 100644
index 0000000..ef3eabb
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/security/mscapi/_short_r_s_a_key512.sh.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/mscapi/_short_r_s_a_key768.sh.i b/jdk/.hg/store/data/test/sun/security/mscapi/_short_r_s_a_key768.sh.i
new file mode 100644
index 0000000..c1bc4fe
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/security/mscapi/_short_r_s_a_key768.sh.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/mscapi/_short_r_s_a_key_within_t_l_s.java.i b/jdk/.hg/store/data/test/sun/security/mscapi/_short_r_s_a_key_within_t_l_s.java.i
new file mode 100644
index 0000000..89c9bc3
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/security/mscapi/_short_r_s_a_key_within_t_l_s.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/pkcs11/_key_store/_client_auth.java.i b/jdk/.hg/store/data/test/sun/security/pkcs11/_key_store/_client_auth.java.i
index 1cb5795..031cbbf 100644
Binary files a/jdk/.hg/store/data/test/sun/security/pkcs11/_key_store/_client_auth.java.i and b/jdk/.hg/store/data/test/sun/security/pkcs11/_key_store/_client_auth.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/pkcs11/_key_store/_client_auth.sh.i b/jdk/.hg/store/data/test/sun/security/pkcs11/_key_store/_client_auth.sh.i
index 8a8b6a3..aded2fe 100644
Binary files a/jdk/.hg/store/data/test/sun/security/pkcs11/_key_store/_client_auth.sh.i and b/jdk/.hg/store/data/test/sun/security/pkcs11/_key_store/_client_auth.sh.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/pkcs11/_message_digest/_test_cloning.java.i b/jdk/.hg/store/data/test/sun/security/pkcs11/_message_digest/_test_cloning.java.i
new file mode 100644
index 0000000..7485b49
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/security/pkcs11/_message_digest/_test_cloning.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/_s_s_l_context_impl/_m_d2_in_trust_anchor.java.i b/jdk/.hg/store/data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/_s_s_l_context_impl/_m_d2_in_trust_anchor.java.i
new file mode 100644
index 0000000..852912d
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/_s_s_l_context_impl/_m_d2_in_trust_anchor.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/_s_s_l_context_impl/_trust_trusted_cert.java.i b/jdk/.hg/store/data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/_s_s_l_context_impl/_trust_trusted_cert.java.i
new file mode 100644
index 0000000..f56ec92
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/_s_s_l_context_impl/_trust_trusted_cert.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/ssl/javax/net/ssl/_new_a_p_is/_s_s_l_engine_result/_deserialize.java.i b/jdk/.hg/store/data/test/sun/security/ssl/javax/net/ssl/_new_a_p_is/_s_s_l_engine_result/_deserialize.java.i
index f50de30..c7de0d6 100644
Binary files a/jdk/.hg/store/data/test/sun/security/ssl/javax/net/ssl/_new_a_p_is/_s_s_l_engine_result/_deserialize.java.i and b/jdk/.hg/store/data/test/sun/security/ssl/javax/net/ssl/_new_a_p_is/_s_s_l_engine_result/_deserialize.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/ssl/javax/net/ssl/_s_s_l_context_version.java.i b/jdk/.hg/store/data/test/sun/security/ssl/javax/net/ssl/_s_s_l_context_version.java.i
index f34f544..2de747c 100644
Binary files a/jdk/.hg/store/data/test/sun/security/ssl/javax/net/ssl/_s_s_l_context_version.java.i and b/jdk/.hg/store/data/test/sun/security/ssl/javax/net/ssl/_s_s_l_context_version.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/ssl/javax/net/ssl/_t_l_sv12/_short_r_s_a_key512.java.i b/jdk/.hg/store/data/test/sun/security/ssl/javax/net/ssl/_t_l_sv12/_short_r_s_a_key512.java.i
new file mode 100644
index 0000000..e2fef75
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/security/ssl/javax/net/ssl/_t_l_sv12/_short_r_s_a_key512.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/ssl/sun/net/www/protocol/https/_https_u_r_l_connection/_cookie_https_client_test.java.i b/jdk/.hg/store/data/test/sun/security/ssl/sun/net/www/protocol/https/_https_u_r_l_connection/_cookie_https_client_test.java.i
new file mode 100644
index 0000000..eb25845
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/security/ssl/sun/net/www/protocol/https/_https_u_r_l_connection/_cookie_https_client_test.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/text/resources/_locale_data.i b/jdk/.hg/store/data/test/sun/text/resources/_locale_data.i
index 3f6cda9..ef84fda 100644
Binary files a/jdk/.hg/store/data/test/sun/text/resources/_locale_data.i and b/jdk/.hg/store/data/test/sun/text/resources/_locale_data.i differ
diff --git a/jdk/.hg/store/data/test/sun/text/resources/_locale_data_test.java.i b/jdk/.hg/store/data/test/sun/text/resources/_locale_data_test.java.i
index 910d7fe..c464af4 100644
Binary files a/jdk/.hg/store/data/test/sun/text/resources/_locale_data_test.java.i and b/jdk/.hg/store/data/test/sun/text/resources/_locale_data_test.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/tools/common/_common_setup.sh.i b/jdk/.hg/store/data/test/sun/tools/common/_common_setup.sh.i
index 6e306f9..d5e28a6 100644
Binary files a/jdk/.hg/store/data/test/sun/tools/common/_common_setup.sh.i and b/jdk/.hg/store/data/test/sun/tools/common/_common_setup.sh.i differ
diff --git a/jdk/.hg/store/data/test/sun/tools/jcmd/dcmd-script.txt.i b/jdk/.hg/store/data/test/sun/tools/jcmd/dcmd-script.txt.i
new file mode 100644
index 0000000..ff6704d
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/tools/jcmd/dcmd-script.txt.i differ
diff --git a/jdk/.hg/store/data/test/sun/tools/jcmd/help__help.out.i b/jdk/.hg/store/data/test/sun/tools/jcmd/help__help.out.i
new file mode 100644
index 0000000..af403f8
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/tools/jcmd/help__help.out.i differ
diff --git a/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd-_defaults.sh.i b/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd-_defaults.sh.i
new file mode 100644
index 0000000..70d3665
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd-_defaults.sh.i differ
diff --git a/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd-f.sh.i b/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd-f.sh.i
new file mode 100644
index 0000000..eff4729
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd-f.sh.i differ
diff --git a/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd-help-help.sh.i b/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd-help-help.sh.i
new file mode 100644
index 0000000..7321b24
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd-help-help.sh.i differ
diff --git a/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd-help.sh.i b/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd-help.sh.i
new file mode 100644
index 0000000..81d5a36
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd-help.sh.i differ
diff --git a/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd-pid.sh.i b/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd-pid.sh.i
new file mode 100644
index 0000000..cf80fba
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd-pid.sh.i differ
diff --git a/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd___output1.awk.i b/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd___output1.awk.i
new file mode 100644
index 0000000..2e0d5b5
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd___output1.awk.i differ
diff --git a/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd__pid___output1.awk.i b/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd__pid___output1.awk.i
new file mode 100644
index 0000000..6a346f7
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd__pid___output1.awk.i differ
diff --git a/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd__pid___output2.awk.i b/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd__pid___output2.awk.i
new file mode 100644
index 0000000..f167eb3
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/tools/jcmd/jcmd__pid___output2.awk.i differ
diff --git a/jdk/.hg/store/data/test/sun/tools/jcmd/usage.out.i b/jdk/.hg/store/data/test/sun/tools/jcmd/usage.out.i
new file mode 100644
index 0000000..1ecd070
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/tools/jcmd/usage.out.i differ
diff --git a/jdk/.hg/store/data/test/tools/launcher/_default_locale_test.java.i b/jdk/.hg/store/data/test/tools/launcher/_default_locale_test.java.i
index 2635989..99eab81 100644
Binary files a/jdk/.hg/store/data/test/tools/launcher/_default_locale_test.java.i and b/jdk/.hg/store/data/test/tools/launcher/_default_locale_test.java.i differ
diff --git a/jdk/.hg/store/data/test/tools/launcher/_default_locale_test_run.java.i b/jdk/.hg/store/data/test/tools/launcher/_default_locale_test_run.java.i
new file mode 100644
index 0000000..89a3e5f
Binary files /dev/null and b/jdk/.hg/store/data/test/tools/launcher/_default_locale_test_run.java.i differ
diff --git a/jdk/.hg/store/data/test/tools/launcher/_i18_n_jar_test.java.i b/jdk/.hg/store/data/test/tools/launcher/_i18_n_jar_test.java.i
new file mode 100644
index 0000000..ca74772
Binary files /dev/null and b/jdk/.hg/store/data/test/tools/launcher/_i18_n_jar_test.java.i differ
diff --git a/jdk/.hg/store/data/test/tools/launcher/_settings.java.i b/jdk/.hg/store/data/test/tools/launcher/_settings.java.i
index 438eff6..fde5058 100644
Binary files a/jdk/.hg/store/data/test/tools/launcher/_settings.java.i and b/jdk/.hg/store/data/test/tools/launcher/_settings.java.i differ
diff --git a/jdk/.hg/store/data/test/tools/launcher/_test_helper.java.i b/jdk/.hg/store/data/test/tools/launcher/_test_helper.java.i
index 45d7cc8..b249eab 100644
Binary files a/jdk/.hg/store/data/test/tools/launcher/_test_helper.java.i and b/jdk/.hg/store/data/test/tools/launcher/_test_helper.java.i differ
diff --git a/jdk/.hg/store/data/~2ehgtags.i b/jdk/.hg/store/data/~2ehgtags.i
index b86ae45..16b280f 100644
Binary files a/jdk/.hg/store/data/~2ehgtags.i and b/jdk/.hg/store/data/~2ehgtags.i differ
diff --git a/jdk/.hg/store/fncache b/jdk/.hg/store/fncache
index dd2dd7d..5e1d1a9 100644
--- a/jdk/.hg/store/fncache
+++ b/jdk/.hg/store/fncache
@@ -1,35 +1,38 @@
data/test/java/rmi/activation/Activatable/shutdownGracefully/ShutdownGracefully_Stub.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_cs_CZ.properties.i
data/test/sun/rmi/rmic/newrmic/equivalence/NotActivatableServerImpl.java.i
-data/test/java/lang/instrument/AInstrumentationTestCase.java.i
+data/test/java/nio/channels/FileChannel/Position.java.i
data/src/share/classes/com/sun/tools/jdi/StratumLineInfo.java.i
data/test/java/util/logging/LoggingNIOChange.java.i
data/src/share/classes/sun/nio/cs/KOI8_U.java.i
data/test/java/awt/FontClass/X11FontPathCrashTest.java.i
data/src/share/classes/sun/nio/fs/Util.java.i
data/test/javax/management/remote/mandatory/notif/NotSerializableNotifTest.java.i
+data/test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/Echo.java.i
data/src/share/native/common/verify_stub.c.i
data/src/solaris/doc/sun/man/man1/tnameserv.1.i
data/src/share/classes/com/sun/tools/example/debug/event/ThreadStartEventSet.java.i
-data/src/windows/classes/sun/nio/fs/WindowsUriSupport.java.i
+data/src/share/classes/sun/awt/EventQueueItem.java.i
data/src/share/classes/java/nio/file/FileSystemAlreadyExistsException.java.i
data/test/java/util/TimeZone/DaylightTimeTest.java.i
-data/make/com/sun/java/browser/Makefile.i
+data/test/sun/security/pkcs11/Provider/ConfigShortPath.java.i
+data/src/share/classes/java/nio/file/attribute/FileTime.java.i
data/test/javax/script/E4XErrorTest.java.i
-data/src/share/classes/java/util/TreeMap.java.i
data/src/share/classes/sun/misc/Launcher.java.i
+data/make/tools/CharsetMapping/IBM870.c2b.i
data/src/share/classes/java/lang/module/ServiceDependence.java.i
+data/src/share/classes/sun/reflect/generics/tree/IntSignature.java.i
data/test/java/rmi/transport/readTimeout/TestImpl.java.i
-data/src/share/classes/sun/util/resources/CurrencyNames_ro_RO.properties.i
-data/src/share/classes/javax/swing/plaf/basic/BasicButtonUI.java.i
+data/test/sun/security/tools/policytool/UsePolicy.sh.i
+data/src/share/classes/sun/management/manifest.i
data/test/java/beans/Statement/Test4530962.java.i
data/test/java/awt/event/MouseEvent/AWTPanelSmoothWheel/AWTPanelSmoothWheel.java.i
data/src/share/classes/com/sun/tools/example/debug/gui/OutputSink.java.i
data/src/share/sample/vm/clr-jvm/invoked.java.i
-data/src/share/classes/sun/tools/tree/AssignShiftRightExpression.java.i
+data/src/windows/classes/com/sun/security/auth/module/README.i
data/src/share/classes/java/security/Permission.java.i
data/make/javax/swing/beaninfo/FILES.gmk.i
-data/src/share/instrument/JarFacade.c.i
+data/src/solaris/native/sun/awt/awt_motif21.c.i
data/test/sun/security/tools/keytool/SecretKeyKS.jks.i
data/test/java/rmi/server/RemoteObject/unrecognizedRefType/UnrecognizedRefType.java.i
data/test/com/sun/jdi/Solaris32AndSolaris64Test.sh.i
@@ -45,27 +48,27 @@ data/test/java/lang/Long/BitTwiddle.java.i
data/src/share/classes/java/io/OutputStream.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_es.properties.i
data/test/java/util/PluggableLocale/DecimalFormatSymbolsProviderTest.sh.i
+data/test/java/rmi/registry/readTest/readTest.sh.i
data/src/share/classes/java/rmi/Naming.java.i
data/make/java/nio/genCharsetProvider.sh.i
-data/src/share/classes/com/sun/media/sound/ModelStandardTransform.java.i
data/test/sun/net/InetAddress/nameservice/dns/cname.sh.i
data/test/java/io/pathNames/win32/bug6344646.java.i
-data/src/share/native/sun/java2d/opengl/OGLBufImgOps.c.i
+data/src/share/native/java/util/zip/zlib-1.2.5/trees.h.i
data/test/javax/swing/MultiUIDefaults/4331767/bug4331767.java.i
data/test/sun/security/x509/AlgorithmId/SHA256withECDSA.java.i
data/src/share/classes/com/sun/tools/jdi/LockObject.java.i
data/src/share/native/sun/font/layout/ThaiShaping.h.i
data/test/com/sun/jdi/LocalVariableEqual.java.i
data/test/com/sun/jdi/GetLocalVariables2Test.java.i
-data/src/share/classes/sun/font/FontFamily.java.i
-data/src/share/classes/javax/naming/ldap/UnsolicitedNotification.java.i
+data/src/share/classes/sun/net/www/protocol/http/InMemoryCookieStore.java.i
data/src/share/demo/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/EditableAtEndDocument.java.i
data/test/tools/launcher/lib/i386/lib32/liblibrary.so.i
data/src/share/classes/com/sun/tools/example/debug/gui/GUI.java.i
data/test/sun/security/pkcs11/nss/lib/solaris-sparcv9/libsoftokn3.so.i
data/test/java/util/regex/POSIX_ASCII.java.i
data/src/share/classes/javax/swing/text/LabelView.java.i
-data/src/windows/native/sun/windows/awt_Win32GraphicsDevice.h.i
+data/src/share/classes/java/io/ObjectInput.java.i
+data/test/java/awt/Menu/NullMenuLabelTest/NullMenuLabelTest.java.i
data/src/share/classes/sun/tools/tree/BinaryEqualityExpression.java.i
data/test/javax/swing/regtesthelpers/Util.java.i
data/src/share/sample/jmx/jmx-scandir/src/etc/management.properties.i
@@ -79,16 +82,17 @@ data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/ArgCheck.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_sv_SE.properties.i
data/src/share/classes/sun/io/CharToByteCp1253.java.i
data/make/netbeans/world/build.xml.i
+data/src/share/classes/org/openjdk/jigsaw/BaseContext.java.i
data/make/java/logging/Makefile.i
data/test/java/lang/management/MemoryMXBean/CollectionUsageThresholdSerialGC.sh.i
-data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMTrapItem.java.i
-data/src/share/classes/sun/awt/EventQueueItem.java.i
+data/test/java/beans/VetoableChangeSupport/1.6.0.ser.i
+data/src/windows/classes/sun/nio/fs/WindowsUriSupport.java.i
data/test/org/openjdk/jigsaw/cli/tsa-cert.pem.i
data/src/share/classes/sun/java2d/loops/MaskFill.java.i
+data/src/share/classes/sun/tools/javac/resources/javac.properties.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/EncryptionElementProxy.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicTextAreaUI.java.i
-data/src/share/classes/sun/text/resources/CollationData_cs.java.i
-data/src/share/classes/sun/management/Util.java.i
+data/test/demo/jvmti/hprof/CpuTimesDefineClassTest.java.i
data/src/share/classes/com/sun/media/sound/ModelConnectionBlock.java.i
data/src/share/classes/java/lang/doc-files/iota.gif.i
data/src/share/classes/java/util/Collections.java.i
@@ -98,46 +102,47 @@ data/src/share/classes/javax/swing/text/html/HiddenTagView.java.i
data/src/share/classes/sun/nio/ch/FileChannelImpl.java.i
data/src/share/classes/javax/net/package.html.i
data/make/tools/CharsetMapping/HKSCS_XP.map.i
-data/src/share/classes/sun/io/ByteToCharCp1147.java.i
+data/src/share/classes/sun/security/rsa/RSACore.java.i
+data/test/java/net/MulticastSocket/Test.java.i
data/src/share/classes/sun/net/www/protocol/gopher/Handler.java.i
data/test/java/net/URLClassLoader/HttpTest.java.i
-data/test/java/io/InputStreamReader/GrowAfterEOF.java.i
+data/src/share/native/sun/java2d/SurfaceData.c.i
data/test/demo/jvmti/hprof/HeapSitesTest.java.i
data/src/share/classes/javax/xml/crypto/dsig/spec/package.html.i
data/test/sun/net/www/protocol/file/FileURLTest.java.i
data/src/share/classes/java/security/InvalidAlgorithmParameterException.java.i
-data/src/solaris/bin/ergo_i586.c.i
+data/test/sun/security/ssl/javax/net/ssl/NewAPIs/HttpsURLConnectionLocalCertificateChain.java.i
data/src/share/classes/sun/tools/jstat/OutputFormatter.java.i
data/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java.i
data/src/share/classes/java/awt/event/AdjustmentEvent.java.i
data/src/share/sample/nio/server/DispatcherN.java.i
+data/src/share/native/sun/java2d/loops/FillParallelogram.c.i
data/src/share/classes/sun/print/PrinterGraphicsConfig.java.i
-data/test/com/sun/security/auth/callback/DialogCallbackHandler/Default.java.i
data/src/share/classes/com/sun/security/ntlm/Server.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIS16S32Func.c.i
data/src/share/classes/sun/io/CharToByteCp1254.java.i
data/src/windows/native/sun/awt_common/awt_makecube.cpp.i
data/make/tools/reorder/tools/util-sparcv9.il.i
-data/src/share/classes/sun/reflect/ConstructorAccessor.java.i
data/src/share/classes/sun/security/provider/certpath/SunCertPathBuilder.java.i
+data/src/share/classes/sun/nio/ch/IOVecWrapper.java.i
+data/test/javax/management/remote/mandatory/loading/DefaultProviderTest.java.i
data/src/share/classes/java/awt/doc-files/Button-1.gif.i
data/src/solaris/instrument/EncodingSupport_md.c.i
data/src/solaris/doc/sun/man/man1/ja/javap.1.i
data/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCMUtils.c.i
-data/src/share/native/sun/font/layout/GlyphPositionAdjustments.cpp.i
+data/src/windows/classes/sun/awt/windows/WTrayIconPeer.java.i
data/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties.i
data/test/java/util/logging/LoggingMXBeanTest.java.i
data/test/java/io/Serializable/nestedReplace/NestedReplace.java.i
data/src/share/classes/com/sun/tracing/ProviderName.java.i
data/src/share/classes/javax/sql/RowSetInternal.java.i
-data/test/com/sun/crypto/provider/Cipher/DES/inputData/plain0.txt.i
-data/test/com/sun/security/auth/module/KeyStoreLoginModule/OptionTest.storePass.i
+data/src/share/classes/sun/text/resources/FormatData_hr_HR.java.i
data/test/java/security/KeyRep/DESede.pre.1.5.key.i
data/test/java/lang/module/module-info.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/EllipseShape.java.i
data/src/share/classes/java/util/concurrent/atomic/AtomicStampedReference.java.i
-data/src/share/classes/com/sun/jdi/Mirror.java.i
-data/make/tools/classanalyzer/src/com/sun/classanalyzer/ConstantPoolAnalyzer.java.i
+data/src/share/classes/sun/tools/asm/StringExpressionConstantData.java.i
+data/test/java/nio/channels/DatagramChannel/ChangingAddress.java.i
data/src/share/classes/com/sun/tracing/dtrace/FunctionName.java.i
data/test/java/io/FileOutputStream/ManyFiles.java.i
data/src/share/classes/java/awt/GradientPaint.java.i
@@ -151,18 +156,17 @@ data/src/share/classes/com/sun/media/sound/MidiDeviceTransmitterEnvelope.java.i
data/src/share/classes/com/sun/jmx/mbeanserver/GetPropertyAction.java.i
data/test/sun/tools/jps/jps-q_Output1.awk.i
data/src/solaris/classes/sun/print/IPPPrintService.java.i
-data/src/share/native/sun/java2d/loops/ByteBinary4Bit.c.i
-data/src/share/classes/java/net/Socket.java.i
+data/src/share/classes/sun/tools/jconsole/resources/mbeanserverdelegate.gif.i
+data/test/java/net/URLClassLoader/closetest/CloseTest.java.i
data/src/share/classes/sun/io/ByteToCharCp858.java.i
data/src/share/classes/sun/awt/shell/DefaultShellFolder.java.i
data/src/share/classes/javax/swing/text/html/CSS.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/DefaultsGenerator.java.i
data/test/java/rmi/reliability/benchmark/bench/serial/ShortArrays.java.i
data/src/share/classes/java/lang/instrument/Instrumentation.java.i
-data/make/tools/CharsetMapping/IBM500.c2b.i
+data/src/share/classes/sun/io/CharToByteCp964.java.i
data/test/javax/management/namespace/JMXNamespacesTest.java.i
-data/src/share/classes/java/util/prefs/NodeChangeEvent.java.i
-data/src/share/classes/sun/net/httpserver/HttpConnection.java.i
+data/src/share/transport/shmem/shmemBase.h.i
data/src/share/classes/java/lang/Package.java.i
data/make/tools/src/build/tools/fontchecker/FontChecker.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifSeparatorUI.java.i
@@ -176,53 +180,54 @@ data/src/share/classes/sun/security/ssl/krb5/Krb5ProxyImpl.java.i
data/src/share/demo/jvmti/versionCheck/README.txt.i
data/src/share/classes/sun/text/bidi/BidiBase.java.i
data/src/share/classes/java/util/zip/InflaterOutputStream.java.i
-data/make/mkdemo/applets/SimpleGraph/Makefile.i
data/src/share/classes/java/awt/PaintContext.java.i
data/src/share/classes/java/awt/GridBagLayoutInfo.java.i
-data/src/share/classes/java/nio/Direct-X-Buffer.java.i
data/src/share/classes/sun/rmi/rmic/Util.java.i
data/test/com/sun/jdi/JITDebug.sh.i
data/src/share/classes/javax/sql/rowset/spi/package.html.i
+data/src/share/classes/sun/awt/image/BytePackedRaster.java.i
+data/src/share/back/ClassLoaderReferenceImpl.h.i
data/src/share/classes/java/net/ProtocolException.java.i
data/test/java/awt/Mixing/OpaqueTest.java.i
data/src/share/classes/javax/swing/text/html/Option.java.i
data/src/share/classes/com/sun/tools/attach/AgentLoadException.java.i
-data/test/java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html.i
data/src/share/classes/javax/swing/colorchooser/ColorModelHSL.java.i
data/src/windows/classes/sun/awt/windows/awtLocalization_pt_BR.properties.i
data/test/java/rmi/activation/Activatable/downloadParameterClass/rmid.security.policy.i
data/src/share/classes/java/lang/invoke/MemberName.java.i
-data/test/com/sun/crypto/provider/Cipher/DES/inputData/plain1.txt.i
data/src/share/classes/com/sun/rowset/internal/Row.java.i
data/src/share/classes/java/beans/PropertyChangeListenerProxy.java.i
data/test/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.java.i
-data/test/com/sun/jndi/ldap/ReadTimeoutTest.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ClientTimeout.java.i
data/src/share/classes/com/sun/management/ThreadMXBean.java.i
-data/test/java/io/Serializable/ClassCastExceptionDetail/Read.java.i
data/src/share/native/sun/java2d/loops/IntRgbx.h.i
data/make/tools/swing-beans/beaninfo/images/JSplitPaneMono16.gif.i
data/make/javax/crypto/policy/unlimited/UNLIMITED.i
data/src/share/classes/java/util/concurrent/atomic/AtomicMarkableReference.java.i
data/src/share/classes/sun/util/resources/TimeZoneNames_es.java.i
data/test/java/lang/invoke/PermuteArgsTest.java.i
+data/test/com/sun/crypto/provider/TLS/prfdata.txt.i
data/src/share/classes/sun/nio/fs/NativeBuffer.java.i
data/src/share/native/sun/security/ec/mpprime.h.i
data/src/solaris/classes/sun/awt/motif/MListPeer.java.i
-data/test/sun/security/krb5/runNameEquals.sh.i
-data/make/tools/classanalyzer/src/com/sun/classanalyzer/ModuleConfig.java.i
-data/test/java/util/concurrent/ExecutorCompletionService/LoopHelpers.java.i
+data/make/tools/winver/Makefile.i
+data/src/share/classes/sun/security/action/GetBooleanAction.java.i
+data/test/java/lang/instrument/ExampleForClassPath.java.i
+data/test/java/io/Serializable/proxy/replace/ReadResolve.java.i
data/test/java/util/jar/JarInputStream/signed.jar.i
data/test/java/util/BitSet/ImportExport.java.i
data/src/share/classes/com/sun/tools/example/debug/event/LocationTriggerEventSet.java.i
data/test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh.i
data/src/share/native/com/sun/java/util/jar/pack/bands.h.i
-data/test/java/lang/Boolean/Factory.java.i
+data/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c.i
+data/test/java/nio/channels/Selector/ConnectWrite.java.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpS32S32Func.c.i
data/src/share/classes/sun/tools/jstat/HeaderClosure.java.i
data/src/share/classes/sun/util/resources/CalendarData_ru.properties.i
+data/test/java/io/Serializable/superclassDataLoss/run.sh.i
data/test/java/security/Signature/SignWithOutputBuffer.java.i
data/test/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.html.i
data/make/tools/CharsetMapping/IBM037.map.i
-data/test/com/sun/net/httpserver/bugs/B6744329.java.i
data/src/share/classes/com/sun/tools/example/debug/tty/AccessWatchpointSpec.java.i
data/make/tools/hasher_classes/Makefile.i
data/make/jpda/back/Makefile.i
@@ -248,77 +253,83 @@ data/test/java/io/File/ListSpace.java.i
data/test/javax/management/relation/RelationNotificationSeqNoTest.java.i
data/make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemMono16.gif.i
data/src/share/classes/com/sun/jmx/snmp/internal/SnmpMsgProcessingSubSystem.java.i
-data/src/share/classes/javax/management/event/FetchingEventForwarder.java.i
+data/src/share/classes/javax/sound/midi/Patch.java.i
data/test/sun/tools/jstat/jstatPrintCompilationOutput1.sh.i
+data/test/javax/swing/text/JTextComponent/5074573/bug5074573.java.i
data/src/solaris/native/sun/awt/awt_List.c.i
data/test/javax/management/proxy/NotificationEmitterProxy.java.i
-data/src/share/classes/sun/rmi/transport/Transport.java.i
+data/src/share/classes/sun/text/resources/FormatData_ja_JP_JP.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsPopupWindow.java.i
data/src/solaris/native/sun/awt/canvas.c.i
data/src/share/classes/javax/swing/plaf/metal/DefaultMetalTheme.java.i
data/src/share/sample/vm/jvm-clr/invokerExp.h.i
-data/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorTypeException.java.i
-data/test/java/rmi/activation/Activatable/restartService/RestartService.java.i
+data/test/sun/rmi/transport/tcp/disableMultiplexing/DisableMultiplexing_Stub.java.i
+data/src/share/classes/java/lang/Float.java.i
data/make/sun/headless/reorder-sparc.i
-data/src/share/native/sun/font/layout/TibetanLayoutEngine.h.i
+data/test/java/text/Bidi/Bug7041232.java.i
+data/make/sun/awt/mapfile-mawt-vers.i
data/src/share/classes/sun/security/krb5/KrbApReq.java.i
data/test/java/nio/file/etc/Exceptions.java.i
data/test/sun/nio/cs/OLD/IBM939_OLD.java.i
-data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/LayerContainer.java.i
data/test/sun/security/krb5/auto/KDC.java.i
data/make/templates/bsd-header.i
data/src/share/classes/com/sun/jdi/Locatable.java.i
data/test/sun/security/provider/PolicyFile/SomeExtensionClass.java.i
data/src/share/classes/com/sun/tools/hat/internal/parser/ReadBuffer.java.i
-data/src/share/classes/sun/security/x509/CRLReasonCodeExtension.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifTextPaneUI.java.i
-data/src/share/classes/sun/tools/jconsole/manifest.i
+data/src/share/native/sun/security/pkcs11/wrapper/pkcs-11v2-20a3.h.i
data/src/share/classes/javax/swing/GroupLayout.java.i
data/src/share/classes/sun/security/internal/spec/TlsPrfParameterSpec.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsButtonUI.java.i
data/src/share/classes/com/sun/inputmethods/internal/thaiim/ThaiInputMethod.java.i
+data/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java.i
data/make/tools/src/build/tools/jdwpgen/ArrayTypeNode.java.i
data/src/share/classes/sun/nio/ch/IOStatus.java.i
data/test/java/nio/channels/FileChannel/Args.java.i
data/src/share/classes/com/sun/security/auth/SolarisNumericUserPrincipal.java.i
data/make/javax/sound/mapfile-vers.i
data/src/share/classes/java/lang/annotation/Inherited.java.i
-data/test/java/lang/Class/forName/classes/3.class.i
-data/make/tools/jarsplit/Makefile.i
data/test/javax/management/loading/ArrayClassTest.java.i
-data/src/share/classes/javax/management/MXBean.java.i
+data/test/sun/security/util/DerOutputStream/LocaleInTime.java.i
+data/test/sun/rmi/runtime/Log/6409194/logging.properties.i
data/make/com/sun/org/apache/xml/Makefile.i
data/src/share/classes/java/lang/reflect/ReflectAccess.java.i
-data/make/tools/CharsetMapping/IBM970.map.i
+data/test/java/security/Provider/SupportsParameter.java.i
data/src/share/classes/java/security/SecureRandom.java.i
data/test/com/sun/jdi/EvalArgs.sh.i
data/test/java/io/etc/FailingFlushAndClose.java.i
data/test/java/security/cert/CertificateFactory/openssl/pem.i
data/src/share/classes/sun/security/validator/SimpleValidator.java.i
+data/make/com/oracle/nio/Makefile.i
data/src/share/native/sun/security/ec/secitem.c.i
-data/src/share/classes/java/util/concurrent/ForkJoinTask.java.i
+data/src/share/classes/com/sun/jmx/mbeanserver/DescriptorCache.java.i
data/src/share/classes/javax/management/timer/TimerNotification.java.i
data/src/share/classes/sun/text/resources/FormatData_es_BO.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_ar_MA.properties.i
data/make/javax/crypto/policy/limited/default_local.policy.i
data/src/share/native/java/lang/ResourceBundle.c.i
+data/test/sun/java2d/pisces/Test7036754.java.i
data/src/share/classes/javax/print/attribute/AttributeSet.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/SignerOutputStream.java.i
-data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputImageTests.java.i
+data/src/share/native/sun/awt/medialib/mlib.h.i
data/src/share/classes/sun/text/resources/CollationData_it.java.i
data/src/share/classes/java/lang/invoke/MethodHandleNatives.java.i
data/test/sun/rmi/server/MarshalOutputStream/marshalForeignStub/MarshalForeignStub_Stub.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageConvVersion.c.i
-data/test/demo/jvmti/hprof/HeapDumpTest.java.i
+data/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java.i
data/src/share/classes/sun/misc/resources/Messages_pt_BR.java.i
data/src/share/classes/javax/crypto/interfaces/package.html.i
-data/src/share/classes/java/sql/DataTruncation.java.i
+data/test/sun/security/pkcs11/nss/lib/solaris-sparc/libfreebl_hybrid_3.chk.i
+data/src/share/classes/javax/management/NotificationFilterSupport.java.i
data/src/share/classes/sun/text/ComposedCharIter.java.i
+data/test/java/net/Socket/AccurateTimeout.java.i
data/test/java/net/ipv6tests/B6521014.java.i
+data/test/sun/security/mscapi/ShortRSAKeyWithinTLS.java.i
data/src/share/classes/sun/launcher/resources/launcher_es.properties.i
data/test/java/awt/keyboard/EqualKeyCode/EqualKeyCode.java.i
data/src/share/classes/sun/security/jca/ProviderList.java.i
-data/src/share/classes/java/lang/TypeNotPresentException.java.i
+data/src/share/classes/sun/security/pkcs10/PKCS10Attributes.java.i
+data/test/java/util/AbstractMap/SimpleEntries.java.i
data/test/org/openjdk/jigsaw/hello-native.sh.i
data/test/sun/security/provider/PolicyParser/ExtDirs2.policy.i
data/test/java/util/ResourceBundle/Bug4168625Getter.java.i
@@ -332,7 +343,6 @@ data/src/share/classes/com/sun/imageio/plugins/gif/GIFStreamMetadataFormatResour
data/src/share/classes/com/sun/tools/example/debug/bdi/ReferenceTypeSpec.java.i
data/src/share/classes/java/util/concurrent/locks/AbstractOwnableSynchronizer.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_hi_IN.properties.i
-data/test/javax/swing/JTabbedPane/6670274/bug6670274.java.i
data/test/java/awt/Multiscreen/LocationRelativeToTest/LocationRelativeToTest.java.i
data/make/com/sun/security/auth/module/FILES_java.gmk.i
data/test/java/net/ipv6tests/ScopeTests.java.i
@@ -347,13 +357,15 @@ data/src/windows/native/java/io/FileInputStream_md.c.i
data/test/com/sun/jndi/ldap/InvalidLdapFilters.java.i
data/make/tools/src/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java.i
data/src/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java.i
-data/src/share/classes/sun/tools/tree/PreIncExpression.java.i
+data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java.i
+data/test/javax/xml/crypto/dsig/data/signature.xml.i
data/src/share/classes/com/sun/tools/example/debug/bdi/InputListener.java.i
data/test/java/lang/invoke/6998541/Test6998541.java.i
-data/src/share/classes/javax/print/attribute/standard/Sides.java.i
+data/src/share/native/sun/awt/image/jpeg/jdhuff.h.i
data/test/java/lang/StringCoding/locales.txt.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppInputStream/ReadZeroBytes.java.i
data/test/sun/rmi/rmic/newrmic/equivalence/AppleUser.java.i
+data/test/java/awt/dnd/ImageDecoratedDnD/DnDTarget.java.i
data/src/share/classes/sun/management/snmp/jvminstr/JvmThreadingMetaImpl.java.i
data/test/sun/security/pkcs11/nss/lib/solaris-sparcv9/libplds4.so.i
data/src/share/classes/sun/tools/jar/JarVerifierStream.java.i
@@ -368,27 +380,25 @@ data/make/mkdemo/jni/Poller/Makefile.i
data/src/share/native/sun/awt/image/jpeg/jerror.h.i
data/src/share/classes/sun/tools/tree/MethodExpression.java.i
data/test/java/io/PipedWriter/WriteAfterReaderClose.java.i
-data/test/java/nio/charset/spi/charsetProvider.sp.i
data/src/share/classes/sun/nio/cs/ext/JIS_X_0208_Solaris_Encoder.java.i
data/src/share/classes/com/sun/tools/jdi/ClassObjectReferenceImpl.java.i
+data/test/java/util/ResourceBundle/Control/BadControlsTest.java.i
data/src/share/classes/sun/font/FontManagerForSGE.java.i
data/src/share/classes/overview-core.html.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedType.java.i
-data/test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/UseCustomSocketFactory.java.i
data/test/javax/imageio/plugins/jpeg/ReadingInterruptionTest.java.i
-data/src/share/classes/com/sun/jndi/toolkit/dir/ContainmentFilter.java.i
+data/test/javax/management/ObjectInstance/MBeanInfoFailTest.java.i
data/test/sun/security/x509/GeneralName/Encode.java.i
data/test/java/beans/Introspector/4168475/infos/ComponentBeanInfo.java.i
data/test/java/rmi/MarshalledObject/compare/makeAnnotatedRef.i
data/src/share/native/sun/awt/image/dither.h.i
data/src/share/classes/com/sun/tools/hat/internal/util/Misc.java.i
-data/make/tools/swing-beans/beaninfo/images/JFileChooserColor16.gif.i
-data/src/windows/native/sun/jkernel/DownloadHelper.h.i
+data/test/sun/net/www/httptest/AbstractCallback.java.i
data/make/com/sun/security/auth/module/mapfile-vers.i
-data/make/tools/swing-beans/beaninfo/SwingBeanInfoBase.java.i
+data/src/share/classes/sun/java2d/pipe/Region.java.i
data/src/share/classes/java/sql/SQLException.java.i
data/src/windows/native/sun/windows/awt_Palette.h.i
-data/src/share/classes/sun/management/counter/perf/ByteArrayCounterSnapshot.java.i
+data/test/com/sun/tools/attach/RedefineAgent.java.i
+data/test/com/sun/jndi/cosnaming/CNNameParser.java.i
data/src/share/classes/javax/naming/directory/Attributes.java.i
data/test/com/sun/jdi/NativeInstanceFilter.java.i
data/test/java/io/Serializable/enum/missingConstant/Write.java.i
@@ -396,61 +406,58 @@ data/src/share/classes/java/lang/management/OperatingSystemMXBean.java.i
data/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_Util.h.i
data/src/share/classes/java/security/cert/CertPathValidatorResult.java.i
data/test/sun/management/jmxremote/bootstrap/ssl/truststore.i
+data/src/share/classes/javax/imageio/ImageWriter.java.i
data/src/share/classes/javax/xml/crypto/dsig/XMLObject.java.i
-data/test/com/sun/jdi/FieldWatchpoints.java.i
-data/src/solaris/classes/sun/awt/X11GraphicsConfig.java.i
data/src/linux/doc/man/ja/java.1.i
+data/src/share/classes/sun/nio/cs/ISO_8859_13.java.i
data/src/share/back/outStream.h.i
data/test/java/rmi/activation/Activatable/inactiveGroup/group.security.policy.i
data/src/share/classes/javax/swing/plaf/basic/icons/image-failed.png.i
data/src/share/classes/com/sun/jdi/FloatValue.java.i
-data/test/javax/sound/midi/Gervill/ModelDestination/SetTransform.java.i
+data/test/sun/security/provider/PolicyParser/ExtDirsA.java.i
data/test/java/nio/channels/Channels/ReadByte.java.i
data/src/share/classes/sun/net/www/http/ChunkedOutputStream.java.i
data/make/sun/image/vis/Makefile.i
+data/src/share/classes/sun/nio/cs/ext/IBM1148.java.i
data/src/share/classes/java/security/interfaces/RSAPrivateKey.java.i
data/src/share/classes/java/rmi/activation/ActivationMonitor.java.i
-data/src/share/classes/java/math/BigDecimal.java.i
+data/src/share/classes/javax/swing/plaf/synth/SynthConstants.java.i
data/src/share/classes/org/relaxng/datatype/helpers/StreamingValidatorImpl.java.i
data/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java.i
data/src/share/native/java/lang/fdlibm/src/e_remainder.c.i
data/src/share/classes/javax/print/attribute/standard/Destination.java.i
-data/make/tools/CharsetMapping/IBM933.map.i
+data/test/com/sun/tools/attach/BadAgent.java.i
data/src/share/classes/sun/nio/fs/PollingWatchService.java.i
data/src/share/native/sun/awt/libpng/pngwrite.c.i
-data/test/javax/xml/crypto/dsig/data/certs/lugh.crt.i
data/src/share/classes/javax/management/ManagedOperation.java.i
+data/test/java/util/ServiceLoader/FooService.java.i
data/src/share/classes/sun/security/x509/X509CRLImpl.java.i
data/src/share/demo/jfc/TransparentRuler/README.txt.i
data/src/share/classes/sun/audio/AudioStreamSequence.java.i
data/src/share/classes/sun/text/resources/FormatData_ar_EG.java.i
data/test/java/lang/StringBuffer/Substring.java.i
data/src/share/classes/java/nio/file/attribute/FileOwnerAttributeView.java.i
-data/src/share/classes/com/sun/jmx/remote/internal/package.html.i
-data/src/share/classes/java/util/AbstractSet.java.i
-data/src/share/native/sun/java2d/loops/DrawParallelogram.c.i
+data/test/javax/management/remote/mandatory/passwordAccessFile/access.properties.i
+data/src/share/classes/sun/io/ByteToCharMacCyrillic.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIFont.java.i
data/test/sun/management/jmxremote/bootstrap/solaris-sparc/launcher.i
data/src/share/back/StackFrameImpl.c.i
data/src/share/classes/java/util/concurrent/BlockingQueue.java.i
data/src/share/doc/stub/java/rmi/activation/ActivationGroup_Stub.java.i
data/src/share/classes/sun/tools/jstat/DescendingMonitorComparator.java.i
-data/src/solaris/classes/sun/nio/ch/NativeThread.java.i
data/src/linux/doc/man/ja/rmid.1.i
data/test/com/sun/crypto/provider/Cipher/PBE/PBEKeyTest.java.i
data/src/solaris/native/sun/awt/awt_Event.c.i
data/test/javax/imageio/plugins/gif/EncodeSubImageTest.java.i
-data/test/java/rmi/testlibrary/ActivationLibrary.java.i
data/src/share/classes/sun/rmi/server/InactiveGroupException.java.i
data/src/share/classes/javax/imageio/IIOImage.java.i
data/src/share/classes/sun/nio/ch/DevPollSelectorProvider.java.i
data/src/share/lib/security/java.security-windows.i
-data/test/java/awt/Modal/NpeOnClose/NpeOnCloseTest.java.i
data/src/share/classes/sun/tools/asm/TryData.java.i
data/make/modules/tools/src/com/sun/classanalyzer/DependencyConfig.java.i
data/src/share/classes/javax/swing/AbstractButton.java.i
data/test/java/util/zip/ZipFile/LargeZipFile.java.i
-data/test/java/io/Reader/OpsAfterClose.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_fr_CA.properties.i
data/test/java/lang/management/ManagementFactory/GetPlatformMXBeans.java.i
data/src/share/classes/sun/java2d/loops/BlitBg.java.i
data/test/java/awt/Mixing/HWDisappear.java.i
@@ -458,18 +465,20 @@ data/src/share/classes/sun/util/resources/LocaleNames_tr.properties.i
data/src/share/classes/java/awt/image/BufferedImageFilter.java.i
data/src/share/classes/java/net/CacheResponse.java.i
data/src/share/classes/sun/text/resources/CollationData_ar.java.i
-data/src/share/classes/sun/tools/tree/Statement.java.i
+data/test/java/util/BitSet/StickySize.java.i
data/test/javax/swing/JFileChooser/6713352/bug6713352.java.i
data/src/solaris/classes/sun/awt/X11/XIconWindow.java.i
-data/src/share/classes/java/net/Inet4Address.java.i
-data/src/solaris/doc/sun/man/man1/pack200.1.i
+data/test/sun/net/www/protocol/http/ChunkedErrorStream.java.i
+data/src/share/classes/sun/util/calendar/ImmutableGregorianDate.java.i
data/src/share/classes/com/sun/tools/jdi/EventQueueImpl.java.i
data/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.html.i
-data/src/share/classes/sun/util/locale/LocaleObjectCache.java.i
+data/make/tools/src/build/tools/javazic/RuleRec.java.i
+data/src/solaris/native/sun/awt/awt_Plugin.h.i
data/make/tools/swing-beans/beaninfo/images/JDialogMono16.gif.i
-data/src/share/instrument/PathCharsValidator.c.i
+data/test/java/awt/event/MouseEvent/MouseWheelEventAbsoluteCoordsTest/MouseWheelEventAbsoluteCoordsTest.html.i
+data/src/share/native/java/lang/fdlibm/src/w_sinh.c.i
data/src/share/classes/sun/misc/resources/Messages_ko.java.i
-data/make/netbeans/README.i
+data/test/javax/management/eventService/ReconnectableConnectorTest.java.i
data/src/share/classes/javax/swing/ActionMap.java.i
data/src/solaris/classes/sun/awt/X11/XButtonPeer.java.i
data/src/share/classes/javax/management/Notification.java.i
@@ -478,8 +487,10 @@ data/make/sun/font/reorder-sparc.i
data/src/share/classes/sun/java2d/loops/DrawPolygons.java.i
data/src/share/classes/sun/security/krb5/KrbAsRep.java.i
data/src/share/classes/com/sun/rowset/internal/WebRowSetXmlReader.java.i
-data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/file/package.html.i
+data/test/java/text/Format/DateFormat/Bug6683975.java.i
data/src/solaris/native/java/io/FileOutputStream_md.c.i
+data/test/java/awt/Graphics2D/DrawString/RotTransText.java.i
+data/test/javax/script/RhinoExceptionTest.java.i
data/src/share/classes/javax/imageio/IIOParamController.java.i
data/src/share/classes/java/lang/InheritableThreadLocal.java.i
data/src/share/classes/javax/security/auth/Subject.java.i
@@ -492,9 +503,10 @@ data/src/share/classes/sun/reflect/generics/scope/ConstructorScope.java.i
data/src/share/classes/javax/management/relation/RelationTypeNotFoundException.java.i
data/make/sun/tracing/dtrace/Makefile.i
data/src/share/classes/sun/reflect/UnsafeShortFieldAccessorImpl.java.i
-data/make/mkdemo/jvmti/mtrace/Makefile.i
+data/src/share/classes/sun/management/snmp/jvmmib/JvmOSMBean.java.i
data/src/share/classes/sun/io/ByteToCharMacHebrew.java.i
-data/src/solaris/classes/sun/awt/X11/XKeySymConstants.java.i
+data/src/windows/native/sun/windows/awt_DataTransferer.cpp.i
+data/src/share/native/sun/java2d/cmm/lcms/cmsvirt.c.i
data/src/share/native/sun/java2d/loops/FourByteAbgrPre.c.i
data/src/share/classes/sun/security/krb5/internal/Ticket.java.i
data/src/solaris/native/sun/awt/wsutils.h.i
@@ -505,34 +517,38 @@ data/src/share/native/sun/awt/utility/rect.c.i
data/test/java/io/InputStreamReader/ReadOffset.java.i
data/src/share/classes/java/dyn/SwitchPoint.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageAffine_BL_S16.c.i
-data/src/share/classes/sun/print/CustomMediaTray.java.i
+data/src/share/classes/sun/tools/jconsole/Plotter.java.i
+data/src/share/classes/java/nio/channels/ReadableByteChannel.java.i
data/src/share/classes/java/awt/FontMetrics.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/icons/Inform.gif.i
data/src/share/classes/com/sun/crypto/provider/CipherWithWrappingSpi.java.i
-data/test/java/security/cert/CertPath/Serialize.java.i
+data/src/share/classes/sun/text/resources/FormatData_en.java.i
+data/test/java/security/KeyRep/SerialDSAPubKey.policy.i
+data/test/java/rmi/server/Unreferenced/marshalledObjectGet/MarshalledObjectGet_Stub.java.i
data/src/share/classes/javax/swing/plaf/metal/icons/ocean/upFolder.gif.i
-data/src/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java.i
-data/src/share/classes/com/sun/beans/decoder/DoubleElementHandler.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmClassLoadingMBean.java.i
+data/test/java/beans/PropertyEditor/TestByteTypeValue.java.i
data/src/share/classes/sun/management/HotspotMemory.java.i
data/test/javax/management/remote/mandatory/connectorServer/ForwarderChainTest.java.i
data/src/share/classes/sun/tools/tree/NotEqualExpression.java.i
data/src/share/classes/java/util/zip/Checksum.java.i
data/test/java/lang/Class/asSubclass/BasicUnit.java.i
+data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/LocalEventTimer.java.i
data/src/share/classes/sun/security/x509/CertParseError.java.i
data/src/windows/classes/sun/awt/windows/WCheckboxMenuItemPeer.java.i
data/src/share/classes/javax/swing/JMenu.java.i
+data/make/tools/swing-beans/beaninfo/images/JPasswordFieldMono32.gif.i
data/src/share/native/sun/font/layout/CoverageTables.h.i
data/src/share/classes/javax/swing/JTable.java.i
data/src/share/demo/jfc/Metalworks/ContrastMetalTheme.java.i
data/src/windows/hpi/include/threads_md.h.i
data/src/share/classes/sun/io/CharToByteISO8859_13.java.i
-data/src/share/classes/com/sun/media/sound/AuFileWriter.java.i
+data/src/share/classes/com/sun/crypto/provider/DESedeKey.java.i
data/src/share/classes/com/sun/beans/decoder/TrueElementHandler.java.i
data/src/share/classes/sun/io/CharToByteCp1098.java.i
-data/src/solaris/classes/sun/nio/fs/SolarisFileStore.java.i
+data/test/sun/tools/jstat/gcOldCapacityOutput1.awk.i
data/test/java/beans/XMLEncoder/javax_swing_border_SoftBevelBorder.java.i
-data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputImageTests.java.i
+data/src/share/native/java/util/zip/zlib-1.2.5/zutil.h.i
data/test/sun/rmi/rmic/minimizeWrapperInstances/Test.java.i
data/test/java/io/Serializable/subclass/AbstractObjectInputStream.java.i
data/src/share/classes/sun/io/CharToByteASCII.java.i
@@ -540,16 +556,16 @@ data/test/java/lang/Class/getMethod/Exceptions.java.i
data/test/java/dyn/JavaDocExamples.java.i
data/src/share/classes/sun/text/normalizer/CharTrie.java.i
data/make/tools/swing-beans/beaninfo/images/JTableColor16.gif.i
-data/make/tools/classanalyzer/src/com/sun/classanalyzer/Dependence.java.i
+data/src/share/classes/com/sun/imageio/plugins/common/iio-plugin.properties.i
data/src/share/classes/java/security/cert/CertPathBuilderResult.java.i
-data/src/linux/doc/man/DO_NOT_EDIT--GENERATED_FILES.i
+data/src/share/classes/sun/io/CharToByteCp1381.java.i
data/src/share/classes/javax/imageio/stream/MemoryCacheImageOutputStream.java.i
data/src/share/classes/sun/util/resources/LocaleData.java.i
+data/src/share/classes/sun/rmi/log/ReliableLog.java.i
+data/make/modules/bootmodule.roots.i
data/test/tools/pack200/pack200-verifier/data/golden.jar.d
data/src/share/classes/javax/swing/text/InternationalFormatter.java.i
-data/src/share/native/sun/awt/libpng/pngwtran.c.i
-data/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java.i
-data/test/java/io/BufferedInputStream/CountUpdate.java.i
+data/test/javax/sound/midi/Gervill/ModelPerformer/SetVelTo.java.i
data/test/javax/management/remote/mandatory/connection/GetConnectionTest.java.i
data/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_it.properties.i
data/test/sun/misc/Hello.class.i
@@ -560,7 +576,6 @@ data/test/java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.java.i
data/test/java/nio/file/Path/Misc.java.i
data/src/windows/classes/sun/java2d/windows/GDIBlitLoops.java.i
data/src/share/native/com/sun/java/util/jar/pack/constants.h.i
-data/src/windows/native/sun/windows/awt_Cursor.cpp.i
data/test/sun/java2d/GdiRendering/InsetClipping.java.i
data/make/sun/javazic/tzdata/northamerica.i
data/src/share/classes/javax/sound/sampled/LineUnavailableException.java.i
@@ -568,49 +583,51 @@ data/test/java/util/PriorityQueue/PriorityQueueSort.java.i
data/src/share/native/sun/awt/image/jpeg/jdinput.c.i
data/src/share/classes/java/security/Security.java.i
data/src/share/classes/sun/nio/cs/ext/DBCS_ONLY_IBM_EBCDIC_Decoder.java.i
-data/make/tools/README.txt.i
-data/src/share/native/sun/java2d/loops/AnyInt.c.i
+data/test/java/awt/Graphics2D/DrawString/AlphaSurfaceText.java.i
data/src/share/classes/sun/text/resources/FormatData_in.java.i
data/test/java/rmi/server/UnicastRemoteObject/unexportObject/Ping.java.i
data/src/share/classes/sun/security/jgss/spnego/SpNegoMechFactory.java.i
data/src/share/classes/com/sun/tools/jconsole/JConsoleContext.java.i
data/src/share/classes/javax/swing/BoundedRangeModel.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/internal/Reflection.java.i
-data/src/share/classes/javax/naming/ldap/UnsolicitedNotificationEvent.java.i
+data/test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/CompressInputStream.java.i
data/src/share/classes/javax/print/attribute/standard/Chromaticity.java.i
data/src/share/classes/com/sun/rowset/JdbcRowSetResourceBundle.java.i
data/src/share/classes/sun/awt/WindowAccessor.java.i
data/src/share/classes/sun/rmi/transport/proxy/RMIDirectSocketFactory.java.i
data/src/share/classes/sun/font/FontManagerNativeLibrary.java.i
data/src/share/classes/com/sun/security/auth/login/ConfigFile.java.i
+data/src/solaris/native/sun/awt/awt_Label.c.i
data/src/share/classes/java/nio/Bits.java.i
data/src/share/classes/sun/dyn/empty/Empty.java.i
-data/src/share/classes/sun/security/krb5/KrbKdcReq.java.i
+data/test/sun/nio/cs/LatinCharReplacementTWTest.java.i
data/src/share/classes/javax/swing/text/SegmentCache.java.i
data/test/java/lang/Runtime/exec/LotsOfDestroys.java.i
+data/test/java/rmi/activation/Activatable/restartLatecomer/rmid.security.policy.i
data/make/java/nio/genBuffer.sh.i
-data/src/share/classes/com/sun/nio/sctp/InvalidStreamException.java.i
+data/test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommandInfo.java.i
+data/src/solaris/classes/sun/awt/X11/XMouseInfoPeer.java.i
data/src/windows/native/java/net/NetworkInterface_winXP.c.i
data/test/java/nio/file/Files/TemporaryFiles.java.i
data/src/share/classes/java/rmi/registry/package.html.i
data/src/share/demo/applets/MoleculeViewer/Matrix3D.java.i
-data/test/java/beans/PropertyEditor/TestFloatTypeJava.java.i
data/src/share/classes/sun/tools/tree/Vset.java.i
data/test/java/util/concurrent/locks/ReentrantLock/SimpleReentrantLockLoops.java.i
data/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c.i
-data/src/share/native/sun/font/layout/GlyphDefinitionTables.h.i
+data/src/share/classes/sun/security/ssl/X509TrustManagerImpl.java.i
data/src/share/classes/sun/java2d/loops/XORComposite.java.i
data/src/share/classes/javax/swing/DefaultBoundedRangeModel.java.i
data/test/java/util/concurrent/ConcurrentLinkedQueue/LoopHelpers.java.i
data/test/javax/management/monitor/RuntimeExceptionTest.java.i
-data/src/share/classes/com/sun/jdi/request/MonitorWaitedRequest.java.i
-data/make/modules/tools/src/com/sun/classanalyzer/CheckDeps.java.i
-data/src/share/classes/sun/text/resources/CollationData_bg.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_sk_SK.properties.i
+data/test/java/nio/file/attribute/PosixFileAttributeView/Basic.java.i
data/test/sun/security/krb5/ktab/KeyString.java.i
data/src/share/classes/javax/crypto/Cipher.java.i
data/src/share/classes/sun/net/ConnectionResetException.java.i
+data/src/share/native/com/sun/java/util/jar/pack/bytes.cpp.i
data/src/solaris/native/sun/awt/awt_MenuBar.h.i
data/src/share/classes/sun/tools/java/ScannerInputReader.java.i
+data/src/share/classes/javax/swing/plaf/basic/icons/image-delayed.png.i
data/src/windows/native/sun/windows/awt_AWTEvent.cpp.i
data/src/share/classes/sun/swing/StringUIClientPropertyKey.java.i
data/src/share/classes/javax/swing/plaf/nimbus/AbstractRegionPainter.java.i
@@ -619,8 +636,8 @@ data/src/share/classes/java/lang/doc-files/capupsil.gif.i
data/src/share/native/sun/security/ec/impl/oid.c.i
data/test/sun/net/www/protocol/http/SetChunkedStreamingMode.java.i
data/src/share/bin/wildcard.h.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/EngineEnforceUseClientMode.java.i
data/src/share/classes/sun/nio/cs/ext/META-INF/services/java.nio.charset.spi.CharsetProvider.i
-data/src/share/classes/sun/tools/jconsole/inspector/IconManager.java.i
data/src/share/classes/java/rmi/RemoteException.java.i
data/src/share/classes/com/sun/tools/example/debug/tty/ModificationWatchpointSpec.java.i
data/src/share/native/sun/awt/image/jpeg/jmemnobs.c.i
@@ -631,29 +648,30 @@ data/src/share/classes/com/sun/jdi/VMOutOfMemoryException.java.i
data/test/com/sun/jdi/TwoThreadsTest.java.i
data/test/java/net/Authenticator/AuthNPETest.java.i
data/src/share/classes/java/awt/WaitDispatchSupport.java.i
-data/src/share/classes/javax/swing/text/rtf/charsets/cpg850.txt.i
+data/ASSEMBLY_EXCEPTION.i
data/src/share/classes/javax/net/ssl/X509ExtendedTrustManager.java.i
-data/test/sun/net/www/protocol/http/WebGet.java.i
+data/test/java/awt/event/MouseWheelEvent/DisabledComponent/DisabledComponent.java.i
data/src/solaris/classes/sun/awt/X11/WindowDimensions.java.i
-data/src/share/classes/javax/accessibility/Accessible.java.i
+data/src/share/classes/com/sun/tools/script/shell/Main.java.i
data/test/java/util/zip/LargeZip.java.i
-data/make/tools/src/build/tools/generatecharacter/CharacterScript.java.i
data/test/java/io/Reader/SkipInput.txt.i
data/make/tools/CharsetMapping/MS950.nr.i
data/src/share/classes/javax/swing/plaf/metal/icons/Inform.gif.i
+data/test/java/rmi/reliability/juicer/OrangeEchoImpl.java.i
data/src/share/classes/javax/xml/crypto/dsig/SignatureProperty.java.i
data/src/solaris/sample/dtrace/hotspot/gc_time_stat.d.i
+data/test/java/beans/XMLEncoder/java_util_Collections_SynchronizedSet.java.i
data/test/java/io/Serializable/PutField/Read.java.i
data/src/share/classes/sun/awt/FontDescriptor.java.i
-data/test/javax/crypto/Cipher/ByteBuffers.java.i
data/src/share/native/sun/awt/libpng/pnggccrd.c.i
data/src/solaris/native/sun/java2d/loops/mlib_ImageZoom.h.i
data/src/solaris/classes/sun/awt/X11/XIconInfo.java.i
data/test/java/lang/instrument/PremainClass/InheritAgent0001.java.i
data/src/share/classes/sun/security/krb5/internal/crypto/Aes128.java.i
-data/src/windows/native/sun/jkernel/graphics/bullet.bmp.i
+data/src/share/classes/com/sun/java/swing/plaf/motif/MotifLabelUI.java.i
data/test/sun/tools/native2ascii/N2A_4636448.i
data/src/share/native/java/lang/fdlibm/src/e_fmod.c.i
+data/src/share/classes/java/util/logging/ErrorManager.java.i
data/test/com/sun/management/UnixOperatingSystemMXBean/GetMaxFileDescriptorCount.sh.i
data/src/share/classes/sun/tracing/NullProviderFactory.java.i
data/src/solaris/classes/sun/nio/cs/ext/COMPOUND_TEXT.java.i
@@ -661,25 +679,24 @@ data/src/share/classes/java/awt/image/MultiPixelPackedSampleModel.java.i
data/src/share/classes/java/awt/event/TextListener.java.i
data/src/share/classes/com/sun/media/sound/MidiInDevice.java.i
data/src/solaris/classes/sun/nio/cs/ext/COMPOUND_TEXT_Decoder.java.i
+data/test/javax/swing/GroupLayout/6613904/bug6613904.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_en.properties.i
data/src/share/classes/sun/nio/cs/ext/IBM875.java.i
-data/src/share/classes/sun/security/pkcs/PKCS10Attributes.java.i
+data/src/share/classes/sun/nio/ch/Secrets.java.i
data/src/share/demo/jfc/Metalworks/README.txt.i
data/make/tools/classanalyzer/src/com/sun/classanalyzer/ClassAnalyzer.java.i
-data/src/share/native/sun/awt/image/gif/gifdecoder.c.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/TestRender1.java.i
data/src/solaris/native/sun/nio/ch/DatagramChannelImpl.c.i
data/test/javax/swing/JTextArea/6940863/bug6940863.java.i
data/src/share/classes/sun/security/pkcs11/P11KeyAgreement.java.i
data/make/tools/swing-beans/beaninfo/images/JAppletMono32.gif.i
data/src/linux/doc/man/ja/javap.1.i
-data/src/share/classes/sun/misc/Cache.java.i
+data/src/share/classes/sun/misc/resources/Messages_it.java.i
data/test/com/sun/net/httpserver/LogFilter.java.i
data/src/share/demo/jfc/Metalworks/MetalworksInBox.java.i
data/src/share/classes/sun/instrument/TransformerManager.java.i
-data/make/tools/swing-beans/beaninfo/images/JPopupMenuMono16.gif.i
+data/src/share/classes/javax/swing/JComponent.java.i
data/src/share/classes/java/text/Normalizer.java.i
-data/src/share/classes/sun/misc/resources/Messages_fr.java.i
data/test/sun/java2d/SunGraphics2D/PolyVertTest.java.i
data/src/share/native/sun/java2d/cmm/lcms/LCMS.c.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsEditorPaneUI.java.i
@@ -688,48 +705,43 @@ data/test/javax/management/ObjectName/ApplyWildcardTest.java.i
data/src/share/classes/javax/swing/tree/ExpandVetoException.java.i
data/test/java/lang/Thread/MainThreadTest.java.i
data/src/share/demo/jfc/Notepad/ElementTreePanel.java.i
-data/src/share/classes/javax/swing/plaf/metal/MetalToggleButtonUI.java.i
+data/src/share/classes/com/sun/imageio/plugins/gif/GIFMetadata.java.i
data/src/share/classes/sun/nio/cs/ext/IBM860.java.i
data/test/sun/security/pkcs11/nss/lib/solaris-i586/libfreebl3.so.i
data/src/share/demo/jvmti/hprof/hprof_table.c.i
data/src/share/classes/com/sun/jmx/event/EventConnection.java.i
data/src/share/back/outStream.c.i
data/test/sun/security/ssl/sun/net/www/protocol/https/NewImpl/JavaxHostnameVerifier.java.i
-data/src/share/classes/com/sun/jmx/mbeanserver/NotificationMBeanSupport.java.i
data/test/javax/management/Introspector/FeatureOrderTest.java.i
data/test/java/util/concurrent/TimeUnit/Basic.java.i
+data/test/sun/java2d/cmm/ColorConvertOp/LRGB555.png.i
data/src/share/classes/sun/security/pkcs11/P11Digest.java.i
data/src/share/classes/java/sql/Time.java.i
-data/test/java/io/Serializable/defaulted/GetFieldWrite.java.i
+data/test/java/nio/channels/FileChannel/Transfers.java.i
data/src/share/classes/com/sun/jmx/snmp/agent/SnmpTableSupport.java.i
data/src/solaris/classes/sun/awt/motif/X11FontMetrics.java.i
-data/test/sun/security/pkcs11/KeyStore/ClientAuthData/truststore.i
+data/test/java/awt/Dialog/DialogOverflowSizeTest/DialogSizeOverflowTest.java.i
data/test/java/rmi/activation/Activatable/createPrivateActivable/security.policy.i
data/src/share/classes/sun/rmi/rmic/Constants.java.i
-data/src/share/classes/sun/text/resources/FormatData_es_NI.java.i
-data/src/share/classes/org/openjdk/jigsaw/Hi.java.i
-data/src/share/classes/com/sun/java/swing/plaf/motif/MotifTextAreaUI.java.i
+data/src/windows/native/sun/jkernel/DownloadDialog.h.i
data/make/sun/jpeg/Makefile.i
-data/src/share/classes/sun/security/krb5/internal/crypto/dk/ArcFourCrypto.java.i
-data/test/javax/management/loading/DocumentRootTest.java.i
+data/src/share/classes/sun/security/pkcs11/wrapper/Constants.java.i
data/src/share/classes/sun/nio/ch/NativeThreadSet.java.i
data/src/share/classes/java/util/zip/ZipConstants.java.i
data/src/share/classes/javax/swing/plaf/nimbus/StateImpl.template.i
-data/src/share/classes/sun/security/provider/certpath/ldap/LDAPCertStoreHelper.java.i
-data/src/share/classes/com/sun/imageio/plugins/common/I18N.java.i
+data/test/sun/net/www/protocol/jar/getcontenttype.sh.i
data/test/org/openjdk/jigsaw/cli/ModuleFileTest.java.i
data/test/java/net/URLClassLoader/closetest/README.i
-data/src/solaris/classes/sun/awt/X11/XDragSourceProtocol.java.i
+data/test/javax/management/namespace/SourceNamespaceTest.java.i
data/test/sun/security/pkcs11/ec/certs/sunlabscerts.pem.i
data/src/solaris/native/sun/awt/awt_DataTransferer.c.i
-data/test/java/beans/XMLEncoder/java_util_HashMap.java.i
data/src/share/native/sun/font/layout/IndicLayoutEngine.h.i
data/src/share/classes/sun/security/krb5/internal/KerberosTime.java.i
data/src/share/classes/java/nio/file/StandardWatchEventKind.java.i
data/test/java/security/cert/X509Certificate/EmptySubject.java.i
data/src/share/classes/javax/swing/event/MouseInputAdapter.java.i
data/src/share/classes/java/nio/file/attribute/GroupPrincipal.java.i
-data/src/share/classes/com/sun/media/sound/FastSysexMessage.java.i
+data/test/java/lang/management/MemoryMXBean/LowMemoryTestConcMarkSweepGC.sh.i
data/test/java/beans/XMLEncoder/java_util_JumboEnumSet.java.i
data/make/tools/CharsetMapping/IBM875.nr.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmCompilationMeta.java.i
@@ -739,53 +751,47 @@ data/src/share/classes/javax/crypto/AEADBadTagException.java.i
data/src/share/classes/com/sun/jmx/mbeanserver/ModifiableClassLoaderRepository.java.i
data/src/share/classes/javax/print/PrintServiceLookup.java.i
data/src/share/classes/sun/net/www/content/audio/basic.java.i
+data/test/sun/net/InetAddress/nameservice/dns/CanonicalName.java.i
data/make/sun/image/generic/mapfile-vers.i
-data/src/share/classes/sun/awt/TracedEventQueue.java.i
+data/test/sun/management/windows/revokeall.c.i
data/src/share/native/sun/java2d/cmm/lcms/cmscam97.c.i
data/src/share/classes/sun/text/resources/FormatData_ar_LY.java.i
data/src/share/classes/javax/swing/plaf/ActionMapUIResource.java.i
data/src/share/classes/java/util/regex/Pattern.java.i
+data/test/java/util/prefs/PrefsSpi.sh.i
data/src/share/classes/org/jcp/xml/dsig/internal/DigesterOutputStream.java.i
data/src/share/classes/com/sun/crypto/provider/RC2Cipher.java.i
data/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormat.java.i
data/src/share/classes/sun/util/calendar/BaseCalendar.java.i
-data/test/sun/text/resources/Format/Bug4807540.java.i
data/test/sun/net/www/http/HttpClient/IsKeepingAlive.policy.i
data/src/solaris/native/sun/java2d/loops/mlib_ImageLogic_proto.h.i
+data/test/java/nio/channels/ServerSocketChannel/Basic.java.i
data/src/share/classes/com/sun/jmx/remote/internal/ServerCommunicatorAdmin.java.i
data/src/share/classes/javax/security/sasl/SaslClientFactory.java.i
-data/src/share/classes/com/sun/imageio/plugins/gif/GIFWritableImageMetadata.java.i
data/src/share/classes/com/sun/jdi/request/ExceptionRequest.java.i
-data/test/java/lang/Throwable/LegacyChainedExceptionSerialization.java.i
data/test/sun/security/util/DerInputBuffer/Allow.policy.i
-data/src/share/classes/sun/security/x509/DNSName.java.i
data/test/java/util/ResourceBundle/Control/StressOut_ja.properties.i
data/make/common/Classes.gmk.i
-data/test/java/net/URL/OpenStream.java.i
-data/make/tools/src/build/tools/jdwpgen/BooleanTypeNode.java.i
data/src/share/native/sun/security/ec/ecp_224.c.i
-data/src/share/classes/sun/io/CharToByteCp277.java.i
-data/src/share/classes/java/security/CryptoPrimitive.java.i
+data/src/share/classes/sun/rmi/server/resources/rmid_zh_CN.properties.i
data/src/share/classes/javax/imageio/stream/FileImageOutputStream.java.i
data/src/solaris/native/sun/java2d/loops/vis_ByteGray_Mask.c.i
data/src/share/classes/com/sun/media/sound/SoftAudioProcessor.java.i
-data/test/java/nio/channels/Selector/LotsOfUpdates.java.i
data/test/java/rmi/activation/CommandEnvironment/Doctor.java.i
+data/test/java/rmi/Naming/RmiIsNoScheme.java.i
data/test/java/util/PluggableLocale/LocaleNameProviderTest.java.i
-data/src/share/classes/java/awt/peer/MenuItemPeer.java.i
data/src/share/classes/java/awt/image/ImageFilter.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/DropShadowEffect.java.i
data/src/share/classes/java/net/SocketOutputStream.java.i
-data/src/share/classes/com/sun/jdi/Value.java.i
data/test/java/util/ResourceBundle/Test4318520RB_de.properties.i
data/src/share/classes/sun/print/PSPrinterJob.java.i
+data/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/security.policy.i
+data/src/share/classes/java/text/CollationKey.java.i
data/test/tools/pack200/Utils.java.i
-data/test/java/lang/ThreadLocal/TLRemoveTest.java.i
-data/src/share/native/sun/awt/medialib/mlib_ImageAffine_BC_F32.c.i
-data/test/java/beans/Statement/Test6788531.java.i
-data/test/java/rmi/reliability/benchmark/bench/rmi/LongCalls.java.i
+data/test/java/nio/file/Files/walkFileTree/walk_file_tree.sh.i
+data/test/java/lang/Class/IsSynthetic.java.i
data/src/share/classes/java/beans/beancontext/BeanContextServiceRevokedEvent.java.i
-data/test/java/awt/TrayIcon/CtorTest/CtorTest.java.i
+data/src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java.i
data/src/share/classes/sun/rmi/transport/proxy/HttpReceiveSocket.java.i
data/src/share/classes/com/sun/jmx/event/EventBuffer.java.i
data/src/share/classes/com/sun/media/sound/MidiDeviceReceiver.java.i
@@ -800,18 +806,15 @@ data/src/share/classes/java/lang/StringCoding.java.i
data/src/share/classes/sun/security/util/Resources.java.i
data/make/org/openjdk/jigsaw/Makefile.i
data/src/share/classes/java/sql/SQLRecoverableException.java.i
-data/src/share/classes/sun/audio/AudioData.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageAffineIndex_BC.c.i
data/test/java/awt/Frame/DynamicLayout/DynamicLayout.java.i
data/src/share/classes/sun/security/acl/AclImpl.java.i
-data/src/share/classes/java/awt/datatransfer/FlavorEvent.java.i
-data/src/share/classes/javax/crypto/CryptoPermissions.java.i
+data/test/java/util/concurrent/LinkedBlockingQueue/OfferRemoveLoops.java.i
data/src/share/sample/jmx/jmx-scandir/src/etc/testconfig.xml.i
-data/src/share/native/sun/java2d/loops/IntArgbPre.c.i
+data/src/share/native/sun/font/layout/GDEFMarkFilter.cpp.i
data/src/windows/classes/sun/java2d/WindowsSurfaceManagerFactory.java.i
data/src/share/classes/java/net/NetPermission.java.i
-data/test/java/beans/EventHandler/Test6277246.java.i
-data/test/java/lang/management/CompositeData/ThreadInfoCompositeData.java.i
+data/src/share/classes/com/sun/jmx/snmp/IPAcl/AclImpl.java.i
data/src/share/native/sun/security/ec/mplogic.c.i
data/src/share/classes/java/lang/Math.java.i
data/src/share/classes/java/net/StandardSocketOptions.java.i
@@ -820,52 +823,52 @@ data/src/share/classes/com/sun/security/ntlm/Version.java.i
data/test/javax/management/Introspector/ClassLeakTest.java.i
data/make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemColor16.gif.i
data/src/share/classes/javax/imageio/package.html.i
-data/test/sun/security/pkcs11/rsa/TestCACerts.java.i
data/src/windows/classes/sun/nio/fs/WindowsConstants.java.i
data/src/share/classes/java/awt/Menu.java.i
data/src/share/classes/javax/print/attribute/standard/CopiesSupported.java.i
data/src/share/classes/com/sun/tools/jdi/ConcreteMethodImpl.java.i
data/test/sun/security/pkcs11/nss/lib/solaris-i586/libplc4.so.i
data/src/share/classes/javax/sql/PooledConnection.java.i
-data/make/com/sun/security/auth/FILES_java.gmk.i
-data/src/share/demo/nbproject/management/FullThreadDump/nbproject/netbeans-targets.xml.i
+data/test/java/beans/XMLEncoder/javax_swing_plaf_BorderUIResource_CompoundBorderUIResource.java.i
data/make/tools/CharsetMapping/MacIceland.map.i
-data/src/share/classes/javax/swing/event/RowSorterEvent.java.i
+data/src/share/classes/javax/swing/text/TabSet.java.i
data/src/share/classes/sun/io/CharToByteCp1250.java.i
-data/test/javax/management/eventService/SharingThreadTest.java.i
data/test/java/net/MulticastSocket/NoLoopbackPackets.java.i
-data/src/share/classes/javax/swing/plaf/synth/doc-files/componentProperties.html.i
-data/src/share/classes/javax/net/ssl/TrustManagerFactory.java.i
-data/src/windows/native/sun/java2d/d3d/D3DRuntimeTest.cpp.i
+data/test/java/awt/Modal/LWModalTest/LWModalTest.java.i
+data/test/org/openjdk/jigsaw/cli/TimestampTest.java.i
data/src/share/classes/java/nio/Direct-X-Buffer.java.template.i
-data/src/share/classes/sun/print/resources/orientRevLandscape.png.i
+data/src/share/classes/javax/swing/plaf/synth/SynthOptionPaneUI.java.i
data/test/javax/swing/JInternalFrame/6647340/bug6647340.java.i
-data/src/share/classes/com/sun/security/auth/LdapPrincipal.java.i
+data/make/sun/font/reorder-i586.i
data/src/share/classes/javax/naming/ldap/ExtendedResponse.java.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageCopy_f.h.i
data/src/share/classes/java/awt/GridBagLayout.java.i
-data/src/solaris/native/sun/java2d/loops/vis_AlphaMacros.h.i
data/src/share/native/sun/java2d/opengl/J2D_GL/gl.h.i
data/src/share/classes/java/util/ComparableTimSort.java.i
data/src/share/classes/sun/security/util/Resources_zh_CN.java.i
-data/src/share/classes/sun/tools/jstat/ExpressionResolver.java.i
+data/src/share/classes/javax/swing/plaf/basic/BasicDesktopIconUI.java.i
+data/src/share/classes/javax/swing/Painter.java.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstruments.java.i
data/src/share/demo/jfc/Font2DTest/FontPanel.java.i
-data/test/java/nio/channels/SocketChannel/UnboundSocketTests.java.i
data/src/share/classes/com/sun/security/auth/NTSid.java.i
-data/make/sun/image/vis/FILES_c.gmk.i
+data/src/share/demo/jvmti/hprof/hprof_event.c.i
data/src/share/native/sun/awt/libpng/pngvcrd.c.i
-data/test/java/nio/charset/spi/FooProvider.java.i
data/test/java/nio/file/Path/PathOps.java.i
-data/test/java/util/Locale/data/deflocale.sol10.i
-data/src/solaris/native/java/lang/UNIXProcess_md.c.i
+data/src/share/classes/sun/security/provider/certpath/ConstraintsChecker.java.i
+data/test/java/rmi/activation/rmidViaInheritedChannel/RmidViaInheritedChannel.java.i
+data/test/java/io/Serializable/subclass/Test.java.i
data/src/share/classes/sun/management/snmp/jvmmib/EnumJvmJITCompilerTimeMonitoring.java.i
data/src/share/native/java/util/zip/zlib-1.1.3/inffast.c.i
data/test/javax/management/remote/mandatory/subjectDelegation/policy32.i
+data/src/share/classes/org/openjdk/jigsaw/cli/Repositor.java.i
+data/test/com/sun/crypto/provider/Cipher/CTR/CounterMode.java.i
+data/src/share/classes/sun/security/jgss/krb5/MicToken.java.i
data/test/javax/management/remote/mandatory/subjectDelegation/policy16.i
data/test/sun/management/jmxremote/bootstrap/TestManager.java.i
-data/src/share/classes/javax/swing/table/TableColumnModel.java.i
+data/make/tools/src/build/tools/jdwpgen/ClassObjectTypeNode.java.i
data/src/share/classes/java/util/XMLUtils.java.i
data/src/share/classes/java/net/SocksSocketImpl.java.i
+data/src/windows/classes/sun/java2d/d3d/D3DContext.java.i
data/src/share/classes/java/util/zip/InflaterInputStream.java.i
data/src/share/classes/javax/imageio/plugins/bmp/package.html.i
data/src/share/classes/sun/management/counter/perf/PerfStringCounter.java.i
@@ -877,7 +880,7 @@ data/src/share/classes/com/sun/media/sound/MidiOutDeviceProvider.java.i
data/test/javax/security/auth/login/LoginContext/ModuleSubject.java.i
data/src/share/classes/java/security/SignedObject.java.i
data/src/share/classes/java/sql/ResultSetMetaData.java.i
-data/src/share/demo/applets/WireFrame/example4.html.i
+data/test/java/nio/channels/Channels/ReadOffset.java.i
data/src/share/classes/sun/font/CompositeFontDescriptor.java.i
data/test/java/awt/xembed/server/TestXEmbedServer.java.i
data/src/windows/classes/sun/security/mscapi/RSAPublicKey.java.i
@@ -885,7 +888,7 @@ data/make/tools/CharsetMapping/TIS_620.map.i
data/src/share/native/sun/font/layout/DefaultCharMapper.h.i
data/src/share/classes/sun/security/pkcs11/P11Key.java.i
data/src/share/classes/sun/text/resources/FormatData_el_CY.java.i
-data/src/share/classes/javax/security/auth/callback/CallbackHandler.java.i
+data/src/share/classes/sun/text/normalizer/UCharacterProperty.java.i
data/test/java/rmi/reliability/benchmark/bench/serial/RepeatObjs.java.i
data/src/share/classes/com/sun/media/sound/Platform.java.i
data/src/share/classes/sun/misc/MetaIndex.java.i
@@ -893,44 +896,37 @@ data/test/java/nio/charset/coders/BashCache.java.i
data/src/share/classes/java/rmi/server/ServerCloneException.java.i
data/src/windows/native/sun/windows/awt_dlls.cpp.i
data/src/share/classes/com/sun/beans/finder/PropertyEditorFinder.java.i
-data/src/share/classes/javax/security/auth/callback/NameCallback.java.i
data/src/share/classes/java/net/InterfaceAddress.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/icons/HomeFolder.gif.i
data/test/com/sun/management/GarbageCollectorMXBean/GarbageCollectionNotificationTest.java.i
-data/src/share/classes/sun/util/resources/TimeZoneNames.java.i
data/src/share/classes/sun/security/jgss/GSSExceptionImpl.java.i
data/src/share/demo/nbproject/jfc/FileChooserDemo/nbproject/jdk.xml.i
data/test/sun/nio/cs/ISO2022JP.trailEsc.i
data/make/tools/CharsetMapping/IBM1381.c2b.i
data/src/share/classes/sun/io/CharToByteCp33722.java.i
data/src/share/demo/jvmti/hprof/hprof_tls.h.i
-data/test/tools/launcher/unresolvedExceptions.sh.i
-data/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/Open.java.i
data/src/share/classes/java/awt/geom/CubicIterator.java.i
data/make/mksample/jmx/jmx-scandir/Makefile.i
-data/src/share/classes/sun/io/CharToByteCp1047.java.i
+data/test/java/util/AbstractList/CheckForComodification.java.i
data/src/share/classes/java/lang/ref/Reference.java.i
-data/src/share/classes/java/lang/ClassCircularityError.java.i
-data/test/tools/pack200/TimeStamp.java.i
+data/src/share/native/sun/security/ec/mp_gf2m-priv.h.i
+data/test/sun/jvmstat/testlibrary/utils.sh.i
data/src/share/classes/javax/swing/event/TreeSelectionEvent.java.i
data/make/tools/CharsetMapping/SingleByte-X.java.template.i
data/src/share/classes/javax/swing/event/ListDataEvent.java.i
-data/src/share/classes/javax/swing/plaf/FileChooserUI.java.i
data/src/share/classes/sun/text/normalizer/Replaceable.java.i
+data/test/java/nio/file/Files/CustomOptions.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/ParserTokenManager.java.i
-data/src/windows/hpi/export/hpi_md.h.i
+data/src/share/classes/sun/security/util/KeyLength.java.i
data/test/sun/rmi/rmic/RMIGenerator/packagedir/RmicMeImpl.java.i
data/src/share/classes/java/awt/CheckboxMenuItem.java.i
data/src/share/demo/nbproject/management/MemoryMonitor/build.properties.i
data/test/java/beans/PropertyEditor/TestLongTypeJava.java.i
-data/test/java/lang/Math/WorstCaseTests.java.i
-data/test/java/net/SocketInputStream/SocketClosedException.java.i
data/make/netbeans/swing/README.i
-data/test/java/lang/ThreadGroup/NullThreadName.java.i
+data/test/tools/launcher/lib/sparc/lib32/lib32/liblibrary.so.i
data/make/tools/swing-beans/beaninfo/images/JSpinnerMono16.gif.i
data/test/javax/management/Introspector/IdenticalMBeanInfoTest.java.i
-data/src/windows/native/common/jlong_md.h.i
-data/src/share/classes/sun/net/www/ApplicationLaunchException.java.i
+data/src/solaris/classes/sun/print/services/javax.print.PrintServiceLookup.i
data/test/tools/launcher/libraryCaller.c.i
data/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_pt_BR.properties.i
data/make/java/npt/Makefile.i
@@ -940,11 +936,13 @@ data/src/share/classes/java/awt/font/LayoutPath.java.i
data/test/com/sun/management/OperatingSystemMXBean/GetFreeSwapSpaceSize.java.i
data/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java.i
data/test/java/beans/XMLEncoder/Test4935607.java.i
-data/src/share/classes/com/sun/tools/example/debug/event/JDIAdapter.java.i
data/src/share/classes/sun/net/www/protocol/http/AuthCacheValue.java.i
data/src/share/native/sun/java2d/loops/ByteBinary2Bit.h.i
data/src/solaris/classes/sun/java2d/jules/IdleTileCache.java.i
+data/src/share/classes/sun/java2d/pipe/hw/ExtendedBufferCapabilities.java.i
data/src/share/classes/javax/swing/plaf/metal/sounds/FrameClose.wav.i
+data/src/share/native/java/util/zip/zlib-1.2.5/inffast.c.i
+data/src/share/classes/javax/swing/border/LineBorder.java.i
data/src/share/classes/sun/print/DialogOwner.java.i
data/src/share/classes/javax/management/monitor/Monitor.java.i
data/src/share/native/java/lang/fdlibm/src/s_nextafter.c.i
@@ -953,13 +951,12 @@ data/test/javax/swing/JTable/6788484/bug6788484.java.i
data/test/java/net/Socket/CloseAvailable.java.i
data/src/share/classes/com/sun/tracing/dtrace/ArgsAttributes.java.i
data/test/java/security/cert/CertPathValidator/nameConstraintsRFC822/steve2tom.cer.i
-data/src/share/classes/javax/crypto/BadPaddingException.java.i
data/test/java/io/Serializable/subclass/XObjectOutputStream.java.i
data/src/share/classes/sun/util/resources/LocaleNames_iw.properties.i
data/src/share/classes/com/sun/tools/example/debug/tty/WatchpointSpec.java.i
data/src/share/classes/com/sun/java/browser/dom/DOMServiceProvider.java.i
data/src/solaris/classes/sun/java2d/xr/GrowableRectArray.java.i
-data/src/share/classes/com/sun/jmx/snmp/agent/SnmpStandardObjectServer.java.i
+data/test/java/rmi/server/RMIClassLoader/loadProxyClasses/NonpublicInterface1.java.i
data/src/share/classes/sun/security/pkcs11/wrapper/PKCS11RuntimeException.java.i
data/test/sun/nio/cs/EucJpLinuxDecoderRecoveryTest.java.i
data/src/share/classes/sun/nio/ch/FileDispatcher.java.i
@@ -967,10 +964,12 @@ data/src/share/classes/com/sun/tools/hat/internal/model/JavaThing.java.i
data/src/share/classes/sun/nio/cs/ext/MacDingbat.java.i
data/src/share/classes/java/util/concurrent/ArrayBlockingQueue.java.i
data/src/share/classes/sun/security/krb5/internal/ASReq.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java.i
-data/make/netbeans/common/share-sources.ent.i
+data/src/share/native/java/util/zip/zlib-1.2.5/deflate.c.i
+data/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Available.java.i
+data/src/share/demo/jvmti/hprof/hprof_reference.h.i
data/make/tools/sharing/README.txt.i
-data/src/share/classes/java/lang/annotation/package-info.java.i
+data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/file/MonitoredHostProvider.java.i
+data/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllNotesOff.java.i
data/src/share/classes/javax/naming/ldap/Rfc2253Parser.java.i
data/test/javax/sound/midi/Gervill/SimpleSoundbank/SetDescription.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalToolBarUI.java.i
@@ -983,14 +982,15 @@ data/make/tools/CharsetMapping/IBM1112.nr.i
data/test/com/sun/servicetag/JavaServiceTagTest.java.i
data/make/modules/tools/build.xml.i
data/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_fr.properties.i
-data/src/share/classes/java/io/PushbackReader.java.i
+data/src/share/classes/sun/beans/editors/FontEditor.java.i
data/src/windows/native/sun/windows/awt_Canvas.cpp.i
-data/src/share/native/sun/java2d/loops/AnyShort.h.i
-data/src/share/classes/java/io/PrintStream.java.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/icons/Question.gif.i
+data/test/java/net/URLDecoder/B6463990.java.i
+data/src/share/classes/sun/security/util/Length.java.i
data/test/sun/misc/URLClassPath/FileLoaderTest.java.i
data/make/tools/CharsetMapping/IBM857.map.i
data/src/share/classes/java/awt/event/AWTEventListener.java.i
-data/test/com/sun/management/HotSpotDiagnosticMXBean/DumpHeap.sh.i
+data/make/javax/imageio/Makefile.i
data/test/java/io/File/IsAbsolute.java.i
data/src/share/classes/com/sun/jmx/snmp/EnumRowStatus.java.i
data/src/share/classes/sun/management/resources/agent_pt_BR.properties.i
@@ -1008,17 +1008,14 @@ data/test/java/util/ResourceBundle/TestResource_fr.java.i
data/src/share/classes/sun/text/resources/CollationData_ja.java.i
data/test/sun/security/pkcs11/KeyStore/BasicData/README.i
data/src/share/native/sun/font/layout/CoverageTables.cpp.i
-data/src/share/classes/sun/reflect/UnsafeQualifiedStaticShortFieldAccessorImpl.java.i
data/src/share/classes/com/sun/crypto/provider/AESConstants.java.i
-data/src/share/classes/sun/instrument/InstrumentationImpl.java.i
-data/src/windows/native/sun/java2d/windows/ddrawUtils.h.i
data/test/java/beans/XMLEncoder/AbstractTest.java.i
data/src/solaris/sample/dtrace/helpers/dtrace_helper.d.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/package.html.i
data/src/share/classes/com/sun/media/sound/SoftMixingSourceDataLine.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthUI.java.i
-data/src/share/classes/javax/swing/table/package.html.i
data/test/javax/management/modelmbean/RequiredModelMBeanSetAttributeTest.java.i
+data/test/java/security/cert/CertPathValidator/indirectCRL/CircularCRLOneLevelRevoked.java.i
data/make/mkdemo/applets/GraphLayout/Makefile.i
data/make/tools/swing-beans/beaninfo/images/JFileChooserColor32.gif.i
data/test/java/awt/print/PrinterJob/PageRanges.java.i
@@ -1028,9 +1025,8 @@ data/src/share/classes/java/util/logging/PlatformLoggingMXBean.java.i
data/test/java/rmi/reliability/benchmark/bench/serial/ByteArrays.java.i
data/make/tools/swing-beans/beaninfo/images/JMenuItemMono32.gif.i
data/src/share/classes/sun/security/ec/ECKeyFactory.java.i
-data/test/java/io/Serializable/class/run.sh.i
-data/src/share/classes/javax/swing/table/TableModel.java.i
-data/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java.i
+data/test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticOptions.java.i
+data/test/java/security/BasicPermission/SerialVersion.1.2.1.i
data/test/java/net/URLConnection/olympus.jpg.i
data/src/share/classes/java/security/cert/X509CRLSelector.java.i
data/src/share/classes/sun/swing/SwingAccessor.java.i
@@ -1038,17 +1034,14 @@ data/src/share/demo/nbproject/jfc/FileChooserDemo/build.properties.i
data/src/share/classes/com/sun/beans/finder/InstanceFinder.java.i
data/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyFrom.java.i
data/src/share/classes/sun/io/ByteToCharGB18030.java.i
-data/src/share/classes/com/sun/media/sound/Printer.java.i
-data/make/sun/rmi/rmi/mapfile-vers.i
-data/src/share/classes/sun/rmi/rmic/newrmic/Resources.java.i
-data/src/share/classes/sun/security/ssl/Krb5Proxy.java.i
data/src/share/classes/sun/io/CharToByteJIS0208.java.i
-data/src/share/classes/javax/xml/crypto/dsig/spec/TransformParameterSpec.java.i
data/make/sun/splashscreen/FILES_c.gmk.i
data/src/solaris/native/sun/jdga/jdgadevice.h.i
+data/src/share/classes/com/sun/jmx/event/ReceiverBuffer.java.i
data/test/java/util/Locale/LocaleTest.java.i
data/test/javax/security/auth/login/LoginContext/ModuleSubjectModule.java.i
data/src/share/classes/com/sun/jndi/dns/NameNode.java.i
+data/test/java/io/PipedReader/Ready.java.i
data/src/share/classes/javax/naming/NameNotFoundException.java.i
data/src/share/classes/com/sun/beans/finder/FieldFinder.java.i
data/src/share/classes/com/sun/tools/jdi/ObsoleteMethodImpl.java.i
@@ -1060,11 +1053,10 @@ data/src/share/native/sun/java2d/loops/Ushort555Rgbx.h.i
data/make/tools/CharsetMapping/IBM285.nr.i
data/src/windows/native/sun/nio/ch/DatagramChannelImpl.c.i
data/make/jpda/transport/shmem/Makefile.i
-data/src/share/demo/jvmti/hprof/hprof_init.h.i
data/src/share/classes/sun/util/locale/UnicodeLocaleExtension.java.i
-data/make/jprt.config.i
data/src/share/classes/com/sun/tools/example/debug/event/ClassUnloadEventSet.java.i
data/make/sun/javazic/tzdata/backward.i
+data/make/sun/security/smartcardio/mapfile-vers.i
data/src/solaris/classes/sun/tools/attach/SolarisAttachProvider.java.i
data/src/share/classes/java/lang/Throwable.java.i
data/test/sun/tools/jstatd/all.policy.i
@@ -1074,12 +1066,12 @@ data/src/share/classes/java/nio/file/TempFileHelper.java.i
data/src/share/classes/javax/management/openmbean/package.html.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/signature/ObjectContainer.java.i
data/src/share/sample/scripting/scriptpad/src/scripts/memmonitor.js.i
-data/test/javax/script/VersionTest.java.i
data/src/share/classes/sun/awt/im/InputMethodLocator.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformBase64Decode.java.i
+data/src/windows/classes/sun/nio/ch/DatagramDispatcher.java.i
+data/src/share/classes/javax/sql/rowset/spi/SyncResolver.java.i
+data/test/java/rmi/registry/readTest/testPkg/Hello.java.i
data/src/share/classes/sun/text/resources/FormatData_da_DK.java.i
data/src/share/classes/java/awt/dnd/InvalidDnDOperationException.java.i
-data/test/java/security/cert/PolicyNode/speech2eve.i
data/src/share/classes/com/sun/tools/example/debug/tty/BreakpointSpec.java.i
data/src/solaris/native/sun/awt/awt_GraphicsEnv.h.i
data/test/java/util/zip/3GBZipFiles.sh.i
@@ -1088,6 +1080,7 @@ data/test/sun/security/ssl/javax/net/ssl/NewAPIs/KeyManagerTrustManager.java.i
data/src/share/classes/javax/sound/sampled/Control.java.i
data/make/tools/swing-beans/beaninfo/images/JTabbedPaneColor32.gif.i
data/test/javax/sound/midi/Gervill/SoftLanczosResampler/Interpolate.java.i
+data/test/sun/security/ec/keystore.i
data/src/share/classes/javax/xml/crypto/AlgorithmMethod.java.i
data/src/windows/native/sun/windows/awt_DnDDS.cpp.i
data/test/sun/rmi/rmic/RMIGenerator/packagedir/RmicMeInterface.java.i
@@ -1100,18 +1093,15 @@ data/src/share/classes/sun/io/CharacterEncoding.java.i
data/src/share/classes/javax/swing/JList.java.i
data/test/java/security/Security/ClassLoaderDeadlock/provider/HashProvider.java.i
data/src/share/classes/sun/reflect/generics/visitor/Reifier.java.i
-data/src/share/classes/java/awt/ScrollPane.java.i
+data/src/solaris/classes/sun/awt/motif/MRobotPeer.java.i
data/make/tools/swing-beans/beaninfo/images/JProgressBarMono32.gif.i
data/test/java/lang/instrument/ManifestTest.sh.i
data/src/share/classes/java/util/Iterator.java.i
-data/src/share/classes/javax/naming/ldap/StartTlsRequest.java.i
-data/make/java/java/reorder-i586.i
data/src/share/classes/java/rmi/registry/Registry.java.i
data/src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java.i
data/src/share/classes/com/sun/imageio/plugins/common/StandardMetadataFormat.java.i
-data/make/tools/classanalyzer/src/com/sun/classanalyzer/Module.java.i
+data/test/java/security/spec/ECCBasic.java.i
data/src/share/classes/java/net/InMemoryCookieStore.java.i
-data/src/share/classes/sun/text/resources/FormatData_lv_LV.java.i
data/src/share/classes/sun/print/resources/serviceui_sv.properties.i
data/src/share/classes/javax/swing/event/TableColumnModelEvent.java.i
data/src/share/classes/com/sun/imageio/plugins/common/StandardMetadataFormatResources.java.i
@@ -1119,11 +1109,11 @@ data/src/share/classes/javax/security/auth/Policy.java.i
data/src/share/classes/sun/security/jca/GetInstance.java.i
data/test/javax/sound/midi/Gervill/ModelStandardTransform/SetDirection.java.i
data/make/tools/CharsetMapping/IBM1146.map.i
-data/test/java/security/cert/CertPathValidator/nameConstraints/NameConstraintsWithoutRID.java.i
+data/src/windows/native/sun/windows/awt_Scrollbar.h.i
data/src/solaris/native/sun/awt/awt_Mlib.c.i
data/src/windows/native/sun/java2d/d3d/D3DPipelineManager.h.i
-data/src/share/classes/sun/security/provider/certpath/OCSPResponse.java.i
-data/src/share/classes/com/sun/beans/finder/ConstructorFinder.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/TruncateArray.java.i
+data/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream2.java.i
data/src/share/native/java/lang/fdlibm/src/s_isnan.c.i
data/test/java/lang/Class/getEnclosingClass/make_src.sh.i
data/src/share/classes/javax/swing/plaf/multi/MultiLabelUI.java.i
@@ -1132,8 +1122,7 @@ data/make/java/redist/sajdi/Makefile.i
data/src/share/classes/javax/xml/crypto/dsig/TransformService.java.i
data/src/share/classes/java/lang/reflect/AccessibleObject.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_no_NO.properties.i
-data/src/share/classes/sun/io/ByteToCharHKSCS_2001.java.i
-data/make/tools/GenerateCharacter/CharacterData02.java.template.i
+data/test/java/io/PushbackInputStream/Available.java.i
data/test/javax/crypto/KeyGenerator/TestGetInstance.java.i
data/test/com/sun/crypto/provider/TLS/Utils.java.i
data/src/share/classes/sun/security/krb5/internal/PAData.java.i
@@ -1151,60 +1140,58 @@ data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIIco
data/test/java/util/Arrays/FloatDoubleOrder.java.i
data/src/share/classes/javax/sql/RowSetEvent.java.i
data/src/share/classes/sun/awt/UngrabEvent.java.i
-data/src/share/classes/javax/script/Invocable.java.i
+data/src/share/classes/sun/io/CharToByteCp930.java.i
data/src/share/classes/sun/reflect/ByteVector.java.i
-data/make/tools/swing-beans/beaninfo/images/JButtonMono16.gif.i
data/src/share/classes/java/sql/SQLXML.java.i
data/test/com/sun/management/OperatingSystemMXBean/GetSystemCpuLoad.java.i
-data/make/tools/CharsetMapping/MS1250.map.i
+data/make/sun/awt/FILES_export_windows.gmk.i
+data/test/java/util/jar/JarInputStream/EmptyJar.java.i
data/test/java/io/PipedOutputStream/ClosedWrite.java.i
data/src/solaris/classes/sun/awt/X11/security-icon-bw24.png.i
data/src/share/classes/sun/util/resources/CalendarData_ko.properties.i
data/src/share/classes/java/util/zip/ZStreamRef.java.i
data/src/share/classes/sun/io/ByteToCharISO8859_13.java.i
-data/src/share/classes/sun/nio/cs/MS1257.java.i
+data/test/java/util/concurrent/CopyOnWriteArrayList/EqualsRace.java.i
data/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntInt.java.i
data/src/share/classes/java/beans/beancontext/BeanContext.java.i
data/make/tools/swing-beans/beaninfo/images/JFrameColor16.gif.i
data/src/linux/doc/man/jdb.1.i
-data/test/java/security/UnresolvedPermission/DebugPermissionBad.java.i
+data/test/com/sun/crypto/provider/Cipher/DES/inputData/plain2.txt.i
data/src/solaris/native/sun/java2d/loops/vis_Interp.c.i
data/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java.i
-data/test/java/security/cert/CertPathValidator/indirectCRL/CircularCRLTwoLevel.java.i
data/test/java/lang/instrument/FromShutdownHook.java.i
data/src/share/classes/javax/sql/rowset/RowSetWarning.java.i
+data/src/share/classes/org/openjdk/jigsaw/ModuleFileFormat.java.i
data/test/java/util/PluggableLocale/providersrc/BreakIteratorProviderImpl.java.i
data/make/javax/swing/plaf/nimbus/Makefile.i
-data/test/java/rmi/server/RMIClassLoader/spi/TestProvider2.java.i
+data/test/sun/nio/cs/TestIBMBugs.java.i
data/src/share/classes/sun/nio/cs/ISO_8859_1.java.i
data/src/share/demo/management/VerboseGC/VerboseGC.java.i
-data/src/share/classes/sun/io/ByteToCharCp874.java.i
-data/src/share/classes/org/openjdk/internal/joptsimple/OptionParserState.java.i
+data/test/com/sun/jdi/sde/MangleTest.java.i
+data/src/share/classes/sun/text/resources/FormatData_es_CO.java.i
data/test/java/beans/XMLEncoder/java_awt_Cursor.java.i
-data/src/share/classes/com/sun/beans/decoder/FloatElementHandler.java.i
data/make/tools/swing-beans/GenDocletBeanInfo.java.i
data/test/sun/security/tools/jarsigner/passtype.sh.i
data/src/share/classes/sun/management/HotspotRuntimeMBean.java.i
data/src/share/classes/sun/net/www/protocol/https/DelegateHttpsURLConnection.java.i
data/test/sun/security/tools/policytool/Alias.sh.i
+data/test/sun/security/provider/PolicyFile/Alias.policy.i
+data/src/share/classes/com/sun/rowset/CachedRowSetImpl.java.i
data/test/sun/security/krb5/auto/KerberosHashEqualsTest.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverXPointer.java.i
data/src/share/classes/javax/management/modelmbean/ModelMBeanInfo.java.i
data/src/solaris/native/sun/awt/awt_Font.h.i
-data/test/java/beans/XMLDecoder/spec/TestClass.java.i
-data/src/share/classes/javax/security/sasl/RealmChoiceCallback.java.i
data/make/tools/src/build/tools/jarreorder/JarReorder.java.i
-data/src/share/classes/java/lang/StringBuffer.java.i
data/src/share/classes/org/openjdk/jigsaw/cli/Command.java.i
data/test/java/util/concurrent/ThreadPoolExecutor/ConfigChanges.java.i
data/test/java/rmi/transport/dgcDeadLock/DGCDeadLock.java.i
data/test/tools/launcher/6842838/CreateBadJar.java.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsDesktopIconUI.java.i
+data/src/share/classes/com/sun/beans/decoder/PropertyElementHandler.java.i
data/src/share/classes/com/sun/tools/hat/internal/parser/PositionInputStream.java.i
-data/src/share/classes/sun/security/rsa/SunRsaSign.java.i
data/src/share/classes/sun/rmi/server/resources/rmid_de.properties.i
data/test/java/nio/channels/DatagramChannel/ConnectedSend.java.i
data/src/share/classes/java/io/PushbackInputStream.java.i
-data/test/java/io/File/WinMaxPath.java.i
+data/test/sun/nio/cs/OLD/MS950_OLD.java.i
data/src/share/classes/java/security/acl/NotOwnerException.java.i
data/src/share/classes/com/sun/tracing/dtrace/StabilityLevel.java.i
data/src/share/classes/sun/io/CharToByteMacCyrillic.java.i
@@ -1212,34 +1199,39 @@ data/src/share/classes/javax/swing/RootPaneContainer.java.i
data/test/javax/management/mxbean/OverloadTest.java.i
data/src/share/classes/java/awt/MenuShortcut.java.i
data/make/java/java/Makefile.i
+data/test/java/net/BindException/Test.java.i
data/src/share/native/sun/java2d/loops/AnyShort.c.i
+data/src/share/classes/javax/naming/directory/BasicAttribute.java.i
data/src/share/classes/sun/rmi/server/UnicastRef2.java.i
data/src/share/classes/javax/swing/colorchooser/ColorChooserPanel.java.i
data/src/share/classes/sun/awt/image/ShortBandedRaster.java.i
-data/src/share/native/sun/font/layout/MarkToLigaturePosnSubtables.cpp.i
+data/src/share/native/sun/font/layout/LEGlyphStorage.cpp.i
data/src/windows/native/sun/windows/WPrinterJob.cpp.i
-data/src/share/classes/sun/text/resources/FormatData_ar_KW.java.i
+data/src/share/classes/sun/util/resources/LocaleNames_no_NO_NY.properties.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/BadTSProvider.java.i
data/src/share/classes/com/sun/jdi/event/AccessWatchpointEvent.java.i
data/make/tools/src/build/tools/generatebreakiteratordata/CharacterCategory.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyName.java.i
+data/src/share/classes/sun/nio/cs/ext/JIS_X_0201.java.i
data/src/share/classes/sun/nio/cs/ext/JIS_X_0212_MS5022X_Decoder.java.i
data/src/share/classes/javax/management/loading/PrivateMLet.java.i
data/src/share/classes/javax/swing/InternalFrameFocusTraversalPolicy.java.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/rmi/PerfDataBuffer.java.i
data/test/java/rmi/reliability/benchmark/bench/rmi/ShortCalls.java.i
data/src/share/native/sun/awt/image/jpeg/jcprepct.c.i
-data/src/share/classes/javax/security/auth/login/Configuration.java.i
+data/test/sun/security/provider/PolicyFile/SelfExpansion.java.i
data/test/com/sun/jdi/JITDebug.java.i
-data/src/windows/native/sun/windows/awt_PrintJob.cpp.i
+data/test/java/util/logging/ParentLoggersTest.java.i
data/src/share/classes/javax/management/AttributeNotFoundException.java.i
data/make/tools/src/build/tools/jdwpgen/InterfaceTypeNode.java.i
-data/src/share/classes/java/lang/management/MemoryPoolMXBean.java.i
+data/src/share/classes/javax/print/CancelablePrintJob.java.i
data/src/share/classes/javax/print/attribute/PrintJobAttributeSet.java.i
-data/src/share/classes/javax/swing/event/MenuEvent.java.i
+data/test/java/beans/Introspector/Test4634390.java.i
+data/test/java/beans/Beans/6669869/TestDesignTime.java.i
data/src/share/native/sun/java2d/loops/DrawPolygons.c.i
+data/test/javax/sound/midi/Gervill/SoftPointResampler/Interpolate.java.i
data/src/share/classes/javax/sql/rowset/webrowset.xsd.i
-data/test/java/lang/management/MemoryMXBean/Pending.java.i
+data/test/sun/nio/cs/OLD/GBK_OLD.java.i
data/src/share/classes/java/awt/color/ICC_ProfileGray.java.i
data/src/share/native/sun/awt/medialib/mlib_c_ImageAffine_BL_U16.c.i
data/test/java/awt/TextArea/TextAreaCursorTest/HoveringAndDraggingTest.java.i
@@ -1248,18 +1240,20 @@ data/src/share/classes/java/security/cert/CertPathBuilderSpi.java.i
data/src/share/classes/javax/print/attribute/standard/DateTimeAtProcessing.java.i
data/src/share/classes/sun/reflect/UnsafeQualifiedLongFieldAccessorImpl.java.i
data/test/sun/security/pkcs11/Secmod/anchor.cer.i
+data/test/sun/security/krb5/auto/ReplayCache.java.i
data/src/share/classes/sun/util/resources/CalendarData_bg.properties.i
+data/src/solaris/classes/sun/awt/X11/XWarningWindow.java.i
data/test/sun/tools/jstat/jstatSnap1.sh.i
data/src/share/classes/sun/text/normalizer/UBiDiProps.java.i
data/src/share/native/com/sun/java/util/jar/pack/bytes.h.i
+data/src/share/classes/sun/text/normalizer/Trie.java.i
data/src/share/classes/java/awt/dnd/DragGestureEvent.java.i
data/src/share/instrument/JPLISAssert.h.i
data/test/sun/security/pkcs11/Secmod/JksSetPrivateKey.java.i
data/src/share/classes/java/awt/image/LookupTable.java.i
-data/src/share/classes/javax/management/JMException.java.i
-data/src/share/classes/javax/management/StandardEmitterMBean.java.i
+data/test/java/beans/XMLEncoder/Test5023559.java.i
data/test/java/beans/XMLEncoder/6777487/TestCheckedRandomAccessList.java.i
-data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/StateTest.java.i
+data/test/org/openjdk/jigsaw/security.sh.i
data/src/share/classes/java/awt/font/CharArrayIterator.java.i
data/src/windows/native/sun/windows/awt_Container.h.i
data/test/javax/xml/crypto/dsig/data/signature-x509-crt-crl.xml.i
@@ -1267,10 +1261,7 @@ data/test/sun/security/provider/PolicyFile/AliasExpansion.policy.i
data/test/java/nio/channels/SocketChannel/VectorParams.java.i
data/src/share/classes/sun/nio/cs/ext/IBM937.java.d
data/src/share/classes/com/sun/tools/jdi/ThreadAction.java.i
-data/test/java/security/Security/signedfirst/Dyn.sh.i
-data/test/java/util/PluggableLocale/CollatorProviderTest.sh.i
data/src/share/classes/sun/net/httpserver/AuthFilter.java.i
-data/src/solaris/classes/sun/nio/ch/Port.java.i
data/test/java/util/Currency/CurrencyTest.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_et_EE.properties.i
data/test/java/net/URL/normal_http_urls.i
@@ -1281,53 +1272,55 @@ data/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.prop
data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/UtfHelpper.java.i
data/src/share/classes/java/lang/ref/Finalizer.java.i
data/src/share/native/com/sun/media/sound/Utilities.c.i
-data/src/share/classes/sun/security/ssl/ServerHandshaker.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifPasswordFieldUI.java.i
data/make/tools/src/build/tools/compilefontconfig/CompileFontConfig.java.i
-data/make/tools/winver/Makefile.i
-data/src/share/classes/sun/util/resources/CurrencyNames_es_PE.properties.i
+data/test/sun/security/krb5/runNameEquals.sh.i
+data/src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java.i
data/make/tools/CharsetMapping/KOI8_U.map.i
data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/ClassMapper.java.i
data/src/windows/native/sun/windows/awt_DCHolder.h.i
data/src/share/classes/sun/io/ByteToCharCp863.java.i
+data/make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemMono32.gif.i
data/test/javax/sound/midi/Gervill/SoftCubicResampler/Interpolate.java.i
data/make/java/fdlibm/FILES_c.gmk.i
-data/src/share/classes/com/sun/java/swing/plaf/gtk/icons/image-delayed.png.i
+data/src/share/classes/sun/security/util/DerOutputStream.java.i
data/src/share/classes/sun/security/x509/InhibitAnyPolicyExtension.java.i
-data/src/share/classes/com/sun/jmx/snmp/SnmpEngineParameters.java.i
+data/src/share/classes/sun/security/pkcs11/wrapper/CK_RSA_PKCS_OAEP_PARAMS.java.i
data/src/share/classes/java/util/concurrent/ConcurrentMap.java.i
data/src/share/classes/sun/security/pkcs11/SunPKCS11.java.i
data/test/sun/nio/cs/ZeroedByteArrayEUCTWTest.java.i
-data/test/java/io/Serializable/proxy/replace/ReadResolve.java.i
+data/test/java/util/concurrent/ExecutorCompletionService/LoopHelpers.java.i
data/test/sun/security/provider/SeedGenerator/SeedGeneratorChoice.java.i
+data/src/share/classes/sun/io/ByteToCharISO8859_5.java.i
data/src/share/native/sun/java2d/loops/GlyphImageRef.h.i
data/test/java/lang/Thread/ThreadStateTest.java.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/GTKConstants.java.i
data/src/share/classes/com/sun/tools/jdi/LinkedHashMap.java.i
-data/src/share/classes/java/sql/SQLPermission.java.i
data/src/share/classes/com/sun/jdi/event/StepEvent.java.i
data/src/share/demo/jfc/Metalworks/DemoMetalTheme.java.i
data/src/share/classes/java/util/concurrent/RunnableFuture.java.i
data/src/share/classes/sun/beans/editors/StringEditor.java.i
data/src/windows/native/sun/windows/awt_Clipboard.cpp.i
data/test/sun/tools/jstatd/jstatdExternalRegistry.sh.i
+data/src/share/demo/jfc/Metalworks/Metalworks.java.i
+data/test/sun/security/provider/certpath/DisabledAlgorithms/generate.sh.i
data/test/javax/management/remote/mandatory/notif/AddRemoveTest.java.i
data/src/share/classes/javax/management/event/FetchingEventRelay.java.i
data/test/java/awt/datatransfer/DragUnicodeBetweenJVMTest/AbsoluteComponentCenterCalculator.java.i
data/src/share/classes/com/sun/tools/example/trace/Trace.java.i
data/src/share/classes/javax/print/attribute/standard/NumberUp.java.i
-data/test/java/rmi/activation/Activatable/checkActivateRef/security.policy.i
data/src/share/classes/sun/java2d/loops/SurfaceType.java.i
data/src/share/classes/javax/management/MBeanServerPermission.java.i
+data/src/share/native/sun/security/ec/impl/ecp.h.i
data/src/share/classes/sun/nio/ch/CompletedFuture.java.i
data/src/share/native/sun/security/pkcs11/wrapper/p11_sessmgmt.c.i
data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressIPIdentities.java.i
data/test/java/lang/instrument/appendToClassLoaderSearch/BasicTest.java.i
data/src/share/classes/java/io/Externalizable.java.i
-data/test/java/awt/print/Dialog/DialogType.java.i
data/src/share/classes/com/sun/jndi/ldap/DefaultResponseControlFactory.java.i
data/src/share/classes/sun/awt/ComponentFactory.java.i
-data/src/share/classes/javax/swing/plaf/metal/icons/Question.gif.i
+data/test/java/nio/channels/SocketChannel/OutOfBand.java.i
+data/test/java/util/zip/Bounds.java.i
data/test/java/nio/channels/Selector/HelperSlowToDie.java.i
data/src/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java.i
data/src/share/native/java/lang/fdlibm/src/w_gamma_r.c.i
@@ -1340,20 +1333,22 @@ data/make/mkdemo/applets/JumpingBox/Makefile.i
data/src/share/native/sun/awt/image/cvutils/img_ordgray.h.i
data/src/share/native/sun/java2d/loops/Ushort555Rgb.c.i
data/make/LICENSE.i
+data/src/windows/classes/com/sun/tools/jdi/SharedMemoryAttachingConnector.java.i
+data/src/share/demo/management/VerboseGC/README.txt.i
data/src/share/classes/java/util/zip/CheckedInputStream.java.i
data/test/sun/security/tools/policytool/Alias.java.i
data/src/share/classes/java/lang/Double.java.i
data/src/share/classes/com/sun/jdi/IntegerValue.java.i
data/src/share/classes/sun/misc/IOUtils.java.i
data/test/java/security/Security/SynchronizedAccess.java.i
-data/src/share/classes/java/text/RuleBasedCollator.java.i
-data/test/java/rmi/server/useCustomRef/UseCustomRef.java.i
+data/src/share/classes/javax/swing/text/JTextComponent.java.i
+data/test/sun/security/pkcs11/ec/TestECDH.java.i
data/test/javax/security/auth/login/Configuration/GetInstanceProvider.java.i
data/src/share/classes/javax/sql/rowset/package.html.i
data/test/java/util/zip/StreamConstructor.java.i
data/src/share/classes/java/nio/Direct-X-Buffer-bin.java.template.i
data/test/java/util/Locale/serialized/java6locale_ja_JP_JP.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpS32S32Func.c.i
+data/test/java/lang/Boolean/Factory.java.i
data/src/share/classes/sun/management/counter/Counter.java.i
data/src/share/classes/com/sun/java/swing/plaf/nimbus/AbstractRegionPainter.java.i
data/test/sun/management/jmxremote/bootstrap/JvmstatCountersTest.java.i
@@ -1361,14 +1356,14 @@ data/test/java/lang/annotation/loaderLeak/Main.java.i
data/test/javax/management/remote/mandatory/notif/DiffHBTest.java.i
data/src/share/classes/com/sun/jmx/remote/security/JMXPluggableAuthenticator.java.i
data/src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipDirectoryStream.java.i
-data/src/share/classes/java/awt/dnd/DropTargetDragEvent.java.i
data/test/java/beans/PropertyEditor/TestDoubleClassJava.java.i
data/src/share/classes/com/sun/tools/hat/internal/model/JavaHeapObject.java.i
data/src/share/classes/com/sun/jndi/cosnaming/OrbReuseTracker.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifTextFieldUI.java.i
+data/make/mkdemo/jvmti/gctest/Makefile.i
data/make/mkdemo/jvmti/Makefile.i
data/make/tools/swing-beans/beaninfo/images/JRadioButtonColor16.gif.i
-data/src/share/demo/jfc/FileChooserDemo/resources/images/jpgIcon.jpg.i
+data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressDNSIdentities.java.i
data/src/share/classes/com/sun/media/sound/EmergencySoundbank.java.i
data/src/share/classes/sun/io/ByteToCharCp1124.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SocketCreation/SocketCreation.java.i
@@ -1381,16 +1376,15 @@ data/src/share/classes/javax/sql/CommonDataSource.java.i
data/src/share/classes/javax/net/ssl/SSLKeyException.java.i
data/src/linux/doc/man/ja/tnameserv.1.i
data/test/javax/naming/Name/j2se13-name.ser.i
+data/test/java/rmi/server/RMIClassLoader/spi/security.policy.i
+data/test/sun/misc/JarIndex/metaInfFilenames/jarB/META-INF/JAVA2.DS.i
data/src/share/classes/javax/sound/sampled/CompoundControl.java.i
data/make/tools/swing-beans/beaninfo/images/JEditorPaneMono32.gif.i
data/test/java/beans/PropertyEditor/TestBooleanTypeJava.java.i
-data/src/share/classes/javax/swing/JRadioButtonMenuItem.java.i
data/src/share/classes/java/net/ConnectException.java.i
-data/src/share/classes/java/util/UUID.java.i
data/src/share/classes/com/sun/accessibility/internal/resources/accessibility.properties.i
data/src/windows/native/sun/windows/CmdIDList.h.i
-data/src/share/classes/com/sun/media/sound/SoftPointResampler.java.i
-data/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java.i
+data/test/sun/security/pkcs11/SecureRandom/Basic.java.i
data/src/share/classes/java/security/cert/CRLSelector.java.i
data/src/share/classes/sun/io/ByteToCharISO8859_8.java.i
data/src/share/classes/java/lang/StrictMath.java.i
@@ -1400,14 +1394,16 @@ data/make/tools/CharsetMapping/IBM297.c2b.i
data/src/share/classes/java/nio/charset/spi/CharsetProvider.java.i
data/src/share/classes/sun/util/resources/CalendarData_uk.properties.i
data/src/share/classes/javax/sql/rowset/spi/SyncProvider.java.i
+data/src/windows/native/sun/windows/ThemeReader.cpp.i
data/src/share/classes/javax/naming/ContextNotEmptyException.java.i
-data/src/share/classes/java/nio/file/WatchKey.java.i
data/src/solaris/classes/sun/java2d/xr/XRBackendNative.java.i
data/test/com/sun/nio/sctp/SctpServerChannel/Util.java.i
data/src/share/classes/javax/swing/plaf/synth/DefaultSynthStyleFactory.java.i
+data/test/sun/tools/jstat/jstatLineCounts3.sh.i
data/test/sun/security/tools/policytool/UpdatePermissions.html.i
data/src/share/classes/sun/font/GraphicComponent.java.i
data/test/java/lang/Class/getEnclosingClass/EnclosingClassTest.java.i
+data/test/javax/security/auth/login/LoginContext/ResetConfigModule.java.i
data/test/java/nio/channels/SocketChannel/SocketInheritance.java.i
data/test/java/rmi/registry/emptyName/EmptyName.java.i
data/src/share/classes/javax/naming/directory/InvalidAttributeIdentifierException.java.i
@@ -1416,24 +1412,23 @@ data/src/share/classes/javax/crypto/package.html.i
data/src/share/classes/com/sun/jdi/event/MethodEntryEvent.java.i
data/src/windows/bin/ia64/jvm.cfg.i
data/src/share/classes/java/util/TimSort.java.i
-data/make/tools/CharsetMapping/IBM939.c2b.i
data/src/share/classes/com/sun/media/sound/SoftMixingDataLine.java.i
data/src/share/classes/sun/awt/SunDisplayChanger.java.i
data/src/share/demo/java2d/J2DBench/src/j2dbench/Node.java.i
data/src/share/classes/com/sun/tools/jconsole/JConsolePlugin.java.i
-data/src/share/classes/sun/nio/cs/UTF_16BE.java.i
+data/src/share/back/eventHandler.h.i
data/src/solaris/demo/jni/Poller/README.txt.i
data/test/com/sun/nio/sctp/MessageInfoTests.java.i
data/src/share/native/com/sun/media/sound/MidiInDeviceProvider.c.i
data/src/share/native/sun/awt/image/cvutils/img_colors.c.i
data/test/sun/net/www/protocol/jar/jarbug/src/test/TestBug4361044.java.i
-data/test/java/lang/management/ThreadMXBean/ThreadExecutionSynchronizer.java.i
+data/make/altclasses/Makefile.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/ParserTreeConstants.java.i
data/test/com/sun/org/apache/xml/internal/security/signature-enveloping-hmac-sha1.xml.i
data/src/share/classes/com/sun/tools/example/debug/bdi/MethodNotFoundException.java.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java.i
data/src/share/classes/java/util/concurrent/ConcurrentLinkedDeque.java.i
data/src/share/classes/java/awt/doc-files/modal-example4.gif.i
-data/src/share/classes/sun/util/resources/CurrencyNames_ar_TN.properties.i
data/src/share/classes/sun/io/CharToByteCp1046.java.i
data/src/share/classes/java/nio/file/attribute/package-info.java.i
data/src/share/native/sun/awt/image/jpeg/jcomapi.c.i
@@ -1441,12 +1436,12 @@ data/src/share/classes/java/beans/PropertyChangeEvent.java.i
data/src/share/native/sun/awt/image/cvutils/img_ordclrsgn.h.i
data/src/share/classes/com/sun/jdi/event/MonitorWaitEvent.java.i
data/test/java/util/Formatter/BasicShortObject.java.i
-data/test/sun/security/pkcs11/nss/lib/solaris-amd64/libplc4.so.i
-data/test/java/util/Timer/DelayOverflow.java.i
+data/test/java/io/BufferedInputStream/CountUpdate.java.i
data/test/org/openjdk/jigsaw/optional-reexport.sh.i
-data/src/share/classes/sun/font/SunFontManager.java.i
-data/test/sun/nio/cs/OLD/DBCS_IBM_EBCDIC_Decoder.java.i
-data/src/linux/doc/man/ja/javadoc.1.d
+data/src/solaris/native/sun/awt/awt_Button.c.i
+data/src/share/classes/sun/text/resources/FormatData_ko_KR.java.i
+data/src/share/classes/java/awt/GraphicsEnvironment.java.i
+data/src/share/classes/sun/jkernel/Mutex.java.i
data/src/share/classes/sun/security/provider/certpath/OCSPChecker.java.i
data/src/solaris/native/sun/awt/X11Color.c.i
data/src/share/classes/java/util/logging/MemoryHandler.java.i
@@ -1455,14 +1450,16 @@ data/test/javax/management/modelmbean/ModelMBeanInfoSupport/policy.i
data/src/share/classes/sun/security/util/AuthResources_zh_CN.java.i
data/test/java/util/Formatter/Basic-X.java.template.i
data/src/share/classes/sun/util/resources/LocaleNames_es_US.properties.i
+data/make/netbeans/common/closed-share-view.ent.i
data/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_sv.properties.i
-data/src/linux/doc/man/ja/javadoc.1.i
+data/src/share/classes/sun/util/resources/LocaleNames_in.properties.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpU16S16Func.c.i
+data/test/javax/swing/text/DefaultCaret/6938583/bug6938583.java.i
data/make/tools/swing-beans/beaninfo/images/BoxMono32.gif.i
-data/src/share/classes/javax/imageio/metadata/package.html.i
data/src/share/classes/com/sun/tools/hat/internal/model/ReachableExcludes.java.i
data/src/share/classes/sun/misc/ExtensionDependency.java.i
data/src/share/classes/com/sun/jndi/ldap/sasl/SaslInputStream.java.i
+data/src/share/demo/applets/MoleculeViewer/XYZApp.java.i
data/make/tools/swing-beans/beaninfo/images/JScrollBarMono16.gif.i
data/test/java/util/TimeZone/TimeZoneDatePermissionCheck.sh.i
data/src/windows/native/sun/windows/DllUtil.cpp.i
@@ -1478,16 +1475,15 @@ data/test/sun/security/pkcs11/nss/lib/solaris-sparc/libnspr4.so.d
data/src/share/classes/sun/invoke/WrapperInstance.java.i
data/src/share/demo/jvmti/versionCheck/sample.makefile.txt.i
data/test/java/io/File/ListRoots.java.i
-data/src/share/native/java/util/zip/zlib-1.2.3/zadler32.c.i
-data/src/share/classes/java/util/MissingResourceException.java.i
-data/src/share/classes/sun/applet/AppletPanel.java.i
+data/test/sun/tools/jps/jps-l_Output1.awk.i
+data/test/java/lang/instrument/RedefineMethodAddInvokeAgent.java.i
+data/src/share/classes/sun/security/util/BigInt.java.i
data/test/javax/management/loading/LibraryLoader/LibraryLoaderTest.java.i
data/src/share/native/java/util/zip/zlib-1.2.3/infback.c.i
data/src/share/classes/java/lang/management/ThreadMXBean.java.i
data/src/share/classes/sun/tools/asm/CatchData.java.i
data/test/java/util/Collection/BiggernYours.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/resource/config.xml.i
-data/src/share/classes/sun/java2d/FontSupport.java.i
data/src/share/classes/javax/swing/SpinnerModel.java.i
data/src/share/classes/com/sun/jmx/snmp/Enumerated.java.i
data/test/sun/security/krb5/auto/PrincipalNameEquals.java.i
@@ -1495,13 +1491,13 @@ data/test/java/security/Security/signedfirst/keystore.jks.i
data/src/share/classes/sun/rmi/rmic/Generator.java.i
data/src/share/classes/com/sun/jndi/ldap/LdapClient.java.i
data/src/share/classes/java/io/ObjectOutputStream.java.i
-data/src/share/classes/javax/swing/border/EtchedBorder.java.i
+data/src/share/classes/javax/swing/text/AsyncBoxView.java.i
data/src/share/demo/applets/WireFrame/example1.html.i
data/make/sunw/Makefile.i
data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/LargePacket.java.i
data/test/javax/management/namespace/NamespaceController.java.i
data/make/mkdemo/jfc/FileChooserDemo/Makefile.i
-data/src/share/classes/sun/util/resources/TimeZoneNames_de.java.i
+data/test/java/rmi/activation/ActivationSystem/activeGroup/security.policy.i
data/src/share/classes/java/text/StringCharacterIterator.java.i
data/src/share/classes/sun/util/resources/CalendarData_da.properties.i
data/test/java/lang/StringBuffer/SBBasher.java.i
@@ -1509,21 +1505,24 @@ data/src/share/classes/sun/misc/UCDecoder.java.i
data/src/share/classes/sun/io/CharToByteISO2022JP.java.i
data/test/java/security/cert/CertPathValidator/nameConstraints/generate.sh.i
data/src/share/classes/java/io/FileNotFoundException.java.i
+data/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties.i
data/test/com/sun/org/apache/xml/internal/security/utils/UnsyncByteArrayOutputStream/BufferOverflowTest.java.i
data/src/solaris/demo/jni/Poller/SimpleServer.java.i
+data/src/share/native/sun/font/layout/LookupTables.h.i
data/src/share/classes/javax/xml/crypto/dsig/XMLSignContext.java.i
data/test/javax/management/loading/LibraryLoader/jar_src/UseNativeLibMBean.java.i
+data/src/solaris/bin/sparcv9/jvm.cfg.i
data/src/share/classes/sun/swing/plaf/synth/DefaultSynthStyle.java.i
data/test/java/lang/instrument/appendToClassLoaderSearch/A.2.i
data/test/java/rmi/server/Unreferenced/leaseCheckInterval/SelfTerminator.java.i
-data/src/share/classes/sun/text/normalizer/ICUBinary.java.i
+data/src/share/classes/org/openjdk/internal/joptsimple/OptionSpecBuilder.java.i
data/src/share/classes/com/sun/media/sound/EventDispatcher.java.i
+data/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java.i
data/src/windows/native/sun/jkernel/kernel.h.i
data/src/share/classes/sun/swing/table/DefaultTableCellHeaderRenderer.java.i
data/test/java/security/Security/NoInstalledProviders.java.i
data/test/java/io/charStreams/IntGenerator.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/Matte.java.i
-data/src/share/classes/com/sun/jmx/snmp/agent/SnmpGenericMetaServer.java.i
data/test/java/beans/XMLEncoder/java_util_EnumMap.java.i
data/make/tools/CharsetMapping/IBM273.nr.i
data/src/share/classes/javax/imageio/spi/ImageWriterSpi.java.i
@@ -1534,7 +1533,7 @@ data/src/share/classes/com/sun/jmx/snmp/SnmpPduRequestType.java.i
data/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGStreamMetadataFormatResources.java.i
data/src/share/classes/sun/util/resources/LocaleNames_cs.properties.i
data/src/share/classes/javax/security/auth/kerberos/package.html.i
-data/src/solaris/native/sun/awt/sun_awt_X11_GtkFileDialogPeer.h.i
+data/src/share/classes/com/sun/imageio/plugins/common/PaletteBuilder.java.i
data/src/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.java.i
data/src/share/classes/sun/invoke/util/BytecodeName.java.i
data/src/share/classes/java/security/UnresolvedPermission.java.i
@@ -1544,13 +1543,11 @@ data/src/windows/classes/sun/nio/fs/WindowsPathParser.java.i
data/make/common/internal/Defs-langtools.gmk.i
data/test/sun/security/tools/keytool/importreadall.sh.i
data/make/tools/swing-beans/beaninfo/images/JSplitPaneColor32.gif.i
-data/test/java/beans/XMLEncoder/java_util_Collections_SynchronizedList.java.i
data/make/tools/freetypecheck/freetypecheck.c.i
-data/src/share/native/sun/awt/medialib/mlib_ImageColormap.h.i
+data/test/java/net/URLConnection/HandleContentTypeWithAttrs.java.i
data/src/share/classes/com/sun/jdi/event/ExceptionEvent.java.i
-data/test/java/security/KeyPairGenerator/SolarisShortDSA.java.i
data/make/java/nio/reorder-i586.i
-data/make/tools/CharsetMapping/SingleByte-X.java.i
+data/test/java/util/TreeMap/NullPermissiveComparator.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/Canvas.java.i
data/test/java/util/PluggableLocale/providersrc/NumberFormatProviderImpl.java.i
data/test/sun/security/provider/PolicyFile/getinstance/NoArgPermission.java.i
@@ -1558,8 +1555,8 @@ data/make/mkdemo/Makefile.i
data/test/java/beans/XMLEncoder/4741757/TestFieldAccess.java.i
data/test/java/rmi/server/RMIClassLoader/loadProxyClasses/security.policy.i
data/src/share/classes/com/sun/tools/jdi/AbstractLauncher.java.i
-data/src/share/classes/sun/awt/geom/Order2.java.i
-data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/BlendingMode.java.i
+data/test/javax/management/eventService/SharingThreadTest.java.i
+data/src/share/classes/sun/text/resources/FormatData_el.java.i
data/src/share/classes/com/sun/tools/hat/internal/model/JavaInt.java.i
data/make/tools/classanalyzer/src/com/sun/classanalyzer/CodeAttributeParser.java.i
data/test/java/beans/PropertyEditor/TestLongClassValue.java.i
@@ -1569,63 +1566,70 @@ data/test/java/rmi/activation/CommandEnvironment/rmid.security.policy.i
data/test/java/lang/instrument/BootClassPath/AgentSupport.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_de.properties.i
data/src/share/classes/com/sun/media/sound/SF2Region.java.i
-data/test/sun/tools/jstat/lineCounts4.awk.i
data/test/java/security/cert/CertPath/cert_file.i
data/src/share/classes/sun/awt/DesktopBrowse.java.i
data/test/java/io/PipedReader/Constructors.java.i
data/src/share/native/sun/security/ec/secoidt.h.i
data/src/share/sample/nio/chatserver/MessageReader.java.i
-data/test/javax/print/applet/applet4/Applet4PrintServiceLookup.java.i
+data/test/java/security/CodeSigner/Serialize.java.i
+data/src/share/classes/sun/misc/CRC16.java.i
data/src/share/back/eventFilterRestricted.h.i
+data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/PainterGenerator.java.i
data/src/share/classes/sun/nio/ch/Util.java.i
data/test/sun/security/pkcs11/nss/lib/linux-i586/libnssckbi.so.i
-data/src/share/classes/sun/text/resources/FormatData_zh_SG.java.i
+data/test/java/util/Collections/Ser.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsMenuItemUIAccessor.java.i
data/test/java/security/UnresolvedPermission/Debug.policy.i
data/src/windows/classes/sun/awt/windows/WScrollbarPeer.java.i
-data/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ko.properties.i
+data/src/share/classes/sun/io/CharToByteCp277.java.i
data/src/share/classes/java/rmi/server/SkeletonMismatchException.java.i
data/src/share/classes/javax/management/MBeanFeatureInfo.java.i
+data/src/share/native/sun/java2d/loops/Ushort555Rgb.h.i
data/src/windows/native/sun/java2d/windows/WindowsFlags.cpp.i
-data/src/share/classes/javax/swing/table/AbstractTableModel.java.i
+data/test/java/nio/channels/Selector/KeysReady.java.i
data/src/share/classes/java/security/KeyPairGeneratorSpi.java.i
+data/test/sun/security/pkcs11/ec/pkcs12/sect193r1server-rsa1024ca.p12.i
data/test/sun/security/util/DerInputBuffer/DerInputBufferEqualsHashCode.java.i
data/src/share/classes/java/rmi/UnmarshalException.java.i
+data/src/share/classes/java/awt/image/DataBufferByte.java.i
+data/test/java/util/Locale/bug6277243.java.i
data/src/share/classes/javax/management/PersistentMBean.java.i
data/src/share/classes/com/sun/jmx/remote/internal/ArrayQueue.java.i
data/src/share/classes/com/sun/beans/decoder/ObjectElementHandler.java.i
-data/test/javax/security/auth/login/Configuration/GetInstanceConfigSpi.java.i
-data/src/share/classes/com/sun/java/swing/plaf/motif/MotifTabbedPaneUI.java.i
data/test/java/io/PrintStream/ClearErrorStream.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/ClassConverter.java.i
data/src/share/classes/sun/io/CharToByteISO2022CN_CNS.java.i
-data/src/solaris/classes/sun/awt/X11/XCustomCursor.java.i
data/src/share/native/sun/security/pkcs11/j2secmod.c.i
data/test/java/math/BigDecimal/IntegralDivisionTests.java.i
data/src/share/native/sun/font/layout/Lookups.cpp.i
+data/src/share/classes/com/sun/tools/hat/internal/server/ReachableQuery.java.i
+data/src/share/classes/sun/security/action/PutAllAction.java.i
data/src/windows/native/sun/windows/awt_Panel.cpp.i
+data/src/share/native/sun/security/ec/impl/ec_naf.c.i
data/src/share/classes/java/lang/Enum.java.i
data/src/share/classes/java/text/NumberFormat.java.i
data/test/java/text/Bidi/BidiSurrogateTest.java.i
data/make/com/sun/nio/sctp/Makefile.i
data/src/share/classes/javax/swing/text/html/parser/TagStack.java.i
data/test/java/net/DatagramSocket/PortUnreachable.java.i
-data/src/share/classes/java/awt/peer/TrayIconPeer.java.i
+data/test/com/sun/net/httpserver/Test13.java.i
+data/test/java/util/EnumSet/EnumSetBash.java.i
data/test/org/openjdk/jigsaw/hello-jar.sh.i
data/src/solaris/doc/sun/man/man1/javaws.1.i
data/test/java/lang/Class/TypeCheckMicroBenchmark.java.i
-data/test/com/sun/awt/Translucency/TranslucentJAppletTest/TranslucentJAppletTest.java.i
-data/src/solaris/native/java/net/linux_close.c.i
+data/src/share/classes/sun/io/ByteToCharCp852.java.i
+data/test/sun/misc/Cleaner/ExitOnThrow.java.i
data/src/share/classes/sun/io/ByteToCharISO8859_4.java.i
data/test/java/awt/TextField/ScrollSelectionTest/ScrollSelectionTest.java.i
data/src/share/classes/com/sun/tools/example/debug/bdi/EvaluationException.java.i
+data/make/sun/security/jgss/Makefile.i
data/src/share/native/sun/java2d/Disposer.c.i
-data/src/share/classes/sun/security/x509/CertificateValidity.java.i
+data/src/share/classes/sun/text/CompactByteArray.java.i
data/src/share/classes/com/sun/net/httpserver/HttpsServer.java.i
data/src/share/classes/java/nio/file/attribute/AttributeView.java.i
data/test/java/net/URLConnection/Responses.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiViewportUI.java.i
-data/src/solaris/classes/sun/java2d/xr/XRBackend.java.i
+data/test/com/sun/servicetag/FindServiceTags.java.i
data/src/share/bin/main.c.i
data/make/tools/CharsetMapping/IBM930.map.i
data/src/share/classes/java/awt/SequencedEvent.java.i
@@ -1634,7 +1638,7 @@ data/src/share/classes/sun/tools/java/ParserActions.java.i
data/test/javax/management/Introspector/AnnotationSecurityTest.java.i
data/test/java/io/BufferedReader/SkipNegative.java.i
data/src/share/classes/java/awt/RadialGradientPaintContext.java.i
-data/src/share/classes/java/util/concurrent/atomic/AtomicLong.java.i
+data/src/windows/native/sun/windows/awt_Scrollbar.cpp.i
data/test/javax/sound/midi/Gervill/SoftTuning/Load9.java.i
data/src/windows/classes/sun/nio/fs/WindowsFileAttributes.java.i
data/src/share/classes/sun/security/krb5/internal/EncTGSRepPart.java.i
@@ -1643,27 +1647,24 @@ data/src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java.i
data/src/share/classes/sun/reflect/generics/tree/ShortSignature.java.i
data/src/share/classes/com/sun/media/sound/DLSModulator.java.i
data/test/javax/management/remote/mandatory/passwordAuthenticator/jmxremote.login.i
-data/src/share/classes/sun/security/krb5/internal/LastReq.java.i
-data/src/share/classes/java/util/concurrent/FutureTask.java.i
+data/test/tools/jar/ChangeDir.java.i
+data/src/share/classes/javax/swing/InputVerifier.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTabbedPaneUI.java.i
data/src/share/classes/java/security/KeyRep.java.i
data/test/java/lang/Runtime/exec/BadEnvp.java.i
data/src/share/classes/javax/swing/SpinnerNumberModel.java.i
-data/src/share/classes/org/openjdk/jigsaw/cli/Commands.java.i
data/make/modules/tools/src/com/sun/classanalyzer/ClassFileParser.java.i
data/src/share/classes/com/sun/pept/Delegate.java.i
data/src/share/classes/javax/swing/plaf/basic/LazyActionMap.java.i
data/test/java/rmi/activation/Activatable/inactiveGroup/ActivateMe.java.i
-data/src/share/classes/javax/print/FlavorException.java.i
+data/src/share/classes/sun/security/tools/KeyStoreUtil.java.i
data/src/share/classes/sun/security/action/OpenFileInputStreamAction.java.i
data/test/sun/security/tools/keytool/CloneKeyAskPassword.jks.i
data/src/share/classes/java/awt/PrintGraphics.java.i
data/test/java/util/concurrent/Phaser/FickleRegister.java.i
data/test/java/net/URLConnection/contentHandler/UserContentHandler.java.i
-data/test/lib/security/cacerts/VerifyCACerts.java.i
data/test/java/io/LineNumberReader/Read.java.i
data/src/share/classes/sun/tools/tree/AssignRemainderExpression.java.i
-data/test/java/lang/Runtime/exec/setcwd.sh.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifDesktopIconUI.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedKey.java.i
data/src/windows/classes/sun/security/mscapi/RSACipher.java.i
@@ -1675,12 +1676,11 @@ data/test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/UseCustomSo
data/test/sun/rmi/server/MarshalOutputStream/marshalForeignStub/security.policy.i
data/src/share/classes/java/lang/invoke/MethodHandles.java.i
data/src/share/sample/jmx/jmx-scandir/nbproject/project.xml.i
-data/make/tools/swing-beans/beaninfo/images/JToolBarColor16.gif.i
+data/src/share/instrument/Reentrancy.h.i
data/src/share/classes/javax/swing/text/html/AccessibleHTML.java.i
data/src/share/classes/javax/swing/text/StyledDocument.java.i
data/src/share/classes/javax/swing/text/GapContent.java.i
data/src/share/classes/sun/rmi/transport/proxy/HttpSendInputStream.java.i
-data/src/share/classes/java/awt/JobAttributes.java.i
data/src/share/classes/javax/crypto/spec/PSource.java.i
data/src/share/classes/java/beans/ChangeListenerMap.java.i
data/test/java/rmi/dgc/dgcAckFailure/DGCAckFailure_Stub.java.i
@@ -1688,36 +1688,37 @@ data/src/share/classes/com/sun/jarsigner/ContentSignerParameters.java.i
data/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java.i
data/make/com/sun/tools/Makefile.i
data/test/java/io/Serializable/unshared/Write.java.i
-data/test/java/net/URLClassLoader/getresourceasstream/test.sh.i
+data/test/java/rmi/activation/Activatable/nonExistentActivatable/group.security.policy.i
data/test/java/awt/Component/Revalidate/Revalidate.java.i
-data/src/share/classes/sun/security/x509/CertificateSerialNumber.java.i
-data/src/solaris/classes/sun/nio/ch/SctpSendFailed.java.i
+data/test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh.i
data/src/linux/doc/man/jmap.1.i
-data/src/share/classes/sun/tools/jar/JarException.java.i
+data/test/sun/java2d/XRenderBlitsTest.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java.i
+data/src/share/classes/com/sun/beans/decoder/NullElementHandler.java.i
data/test/java/net/Authenticator/BasicTest3.java.i
data/src/share/classes/sun/text/resources/CollationData_hi.java.i
data/src/share/classes/java/awt/dnd/DropTargetDropEvent.java.i
-data/src/solaris/native/sun/nio/fs/genUnixConstants.c.i
data/src/share/classes/sun/text/resources/FormatData_en_ZA.java.i
data/test/javax/swing/JSlider/6923305/bug6923305.java.i
data/src/windows/native/sun/windows/Devices.cpp.i
+data/src/share/classes/javax/sound/midi/spi/MidiFileWriter.java.i
data/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java.i
data/make/tools/src/build/tools/jdwpgen/ThreadGroupObjectTypeNode.java.i
+data/test/sun/net/www/protocol/jar/jarbug/src/test/RunAllTests.java.i
data/test/sun/nio/cs/SurrogateGB18030Test.java.i
data/src/share/classes/java/util/spi/CurrencyNameProvider.java.i
+data/src/solaris/native/sun/java2d/loops/vis_ByteGray_FromRgb.c.i
data/src/solaris/native/sun/java2d/loops/vis_FourByteAbgr.c.i
data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.java.i
data/src/solaris/classes/sun/awt/motif/MPopupMenuPeer.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageChannelInsert_1.c.i
-data/src/linux/doc/man/jsadebugd.1.i
+data/test/javax/security/auth/Subject/Serial.java.i
data/src/share/classes/javax/swing/JTextPane.java.i
-data/src/share/classes/com/sun/imageio/plugins/common/BogusColorSpace.java.i
+data/src/share/classes/sun/text/resources/FormatData_es_HN.java.i
data/src/share/classes/javax/security/auth/AuthPermission.java.i
-data/make/netbeans/common/windows-sources.ent.i
-data/src/share/classes/sun/jkernel/StandaloneByteArrayAccess.java.i
+data/src/share/classes/java/lang/InstantiationException.java.i
data/src/share/classes/sun/io/ByteToCharKOI8_R.java.i
-data/test/java/lang/Runtime/exec/StreamsSurviveDestroy.java.i
+data/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest.java.i
data/test/java/lang/reflect/DefaultAccessibility.java.i
data/src/share/classes/java/rmi/RMISecurityManager.java.i
data/test/java/awt/regtesthelpers/AbstractPolicyTest.java.i
@@ -1727,17 +1728,15 @@ data/src/share/classes/sun/awt/image/VSyncedBSManager.java.i
data/test/java/nio/channels/SocketChannel/LocalAddress.java.i
data/src/share/native/sun/awt/image/awt_parseImage.h.i
data/test/java/nio/channels/Selector/LotsOfChannels.java.i
-data/src/share/classes/java/io/InputStreamReader.java.i
-data/src/share/classes/sun/tools/javac/CompilerMember.java.i
+data/test/sun/text/resources/Collator/Bug4848897.java.i
data/src/share/classes/sun/nio/fs/AbstractPoller.java.i
data/src/share/classes/com/sun/jmx/snmp/agent/SnmpTableCallbackHandler.java.i
-data/test/javax/print/LookupServices.java.i
data/test/com/sun/management/OperatingSystemMXBean/TestTotalSwap.sh.i
-data/src/share/classes/javax/management/event/EventConsumer.java.i
data/src/share/classes/java/beans/beancontext/BeanContextChildSupport.java.i
data/src/share/classes/sun/misc/SoftCache.java.i
data/src/share/classes/sun/security/pkcs11/P11DSAKeyFactory.java.i
-data/src/share/classes/java/nio/file/CopyMoveHelper.java.i
+data/src/share/classes/sun/awt/image/OffScreenImageSource.java.i
+data/test/java/lang/instrument/basicAgent.mf.i
data/src/share/classes/sun/rmi/rmic/newrmic/IndentingWriter.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifCheckBoxMenuItemUI.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/Transforms.java.i
@@ -1746,18 +1745,20 @@ data/src/share/classes/java/awt/dnd/DragSource.java.i
data/test/sun/nio/cs/FindOneCharEncoderBugs.java.i
data/src/share/classes/sun/tools/tree/CompoundStatement.java.i
data/src/share/classes/java/security/acl/AclEntry.java.i
-data/src/share/classes/java/awt/event/MouseMotionAdapter.java.i
+data/test/com/sun/jdi/ClassesByName2Test.java.i
+data/src/share/classes/sun/util/resources/LocaleNames_ru.properties.i
data/make/org/ietf/jgss/Makefile.i
data/src/share/classes/com/sun/jmx/mbeanserver/Repository.java.i
data/make/javax/sql/Makefile.i
data/src/windows/native/sun/jkernel/kernel_zh.rc.i
data/src/share/native/sun/font/layout/SegmentArrayProcessor.h.i
data/src/share/classes/sun/util/resources/CurrencyNames_ar_DZ.properties.i
-data/src/share/classes/javax/swing/plaf/synth/SynthCheckBoxUI.java.i
-data/test/javax/management/openmbean/EqualsTest.java.i
+data/src/share/native/sun/awt/image/cvutils/img_output8.h.i
+data/src/share/classes/sun/net/www/protocol/http/AuthScheme.java.i
data/src/share/classes/java/util/concurrent/RecursiveTask.java.i
data/test/com/sun/java/swing/plaf/gtk/Test6963870.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/resource/schema/xmldsig-core-schema.xsd.i
+data/src/share/classes/sun/security/krb5/internal/SeqNumber.java.i
data/test/java/awt/Focus/RequestFocusAndHideTest/RequestFocusAndHideTest.java.i
data/src/share/classes/sun/io/ByteToCharCp1142.java.i
data/src/share/classes/javax/swing/colorchooser/ValueFormatter.java.i
@@ -1767,31 +1768,33 @@ data/src/share/native/sun/font/bidi/jbidi.h.i
data/src/share/native/java/lang/fdlibm/src/w_log.c.i
data/src/share/classes/sun/swing/DefaultLookup.java.i
data/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReaderResources.java.i
+data/src/share/native/sun/java2d/pipe/ShapeSpanIterator.c.i
+data/test/java/net/InetAddress/Simple1NameServiceDescriptor.java.i
data/src/share/classes/java/net/URLEncoder.java.i
data/test/java/lang/Runtime/exec/LotsOfOutput.java.i
-data/src/share/classes/javax/xml/crypto/KeySelector.java.i
+data/src/share/native/sun/java2d/loops/AnyByte.c.i
+data/test/java/lang/instrument/RedefineClassWithNativeMethod.sh.i
data/src/share/classes/sun/awt/im/InputMethodJFrame.java.i
data/test/com/sun/security/auth/callback/TextCallbackHandler/Password.java.i
data/src/solaris/native/sun/java2d/opengl/J2D_GL/glxext.h.i
data/src/share/classes/java/security/cert/CertificateParsingException.java.i
+data/test/java/util/ResourceBundle/RestrictedBundleTest.html.i
data/test/java/util/concurrent/BlockingQueue/SingleProducerMultipleConsumerLoops.java.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/IsSoundbankSupported.java.i
data/src/share/classes/javax/accessibility/AccessibleAction.java.i
+data/test/java/awt/EventQueue/SecondaryLoopTest/SecondaryLoopTest.java.i
data/make/tools/src/build/tools/javazic/Time.java.i
data/src/share/classes/sun/io/ByteToCharCp861.java.i
data/src/share/classes/sun/tools/tree/DoubleExpression.java.i
data/test/java/net/InetAddress/ptr/Lookup.java.i
data/src/share/native/sun/security/ec/ecl-curve.h.i
-data/test/java/rmi/transport/reuseDefaultPort/ReuseDefaultPort.java.i
-data/src/solaris/classes/sun/awt/X11/XHorizontalScrollbar.java.i
+data/test/sun/nio/cs/TestEUC_TW.java.i
data/make/sun/javazic/tzdata/southamerica.i
-data/src/share/classes/java/security/spec/ECParameterSpec.java.i
-data/src/solaris/classes/sun/nio/fs/LinuxNativeDispatcher.java.i
+data/test/org/openjdk/jigsaw/cli/ModuleFormatTest01.sh.i
data/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c.i
data/src/share/classes/java/lang/annotation/AnnotationFormatError.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/SSLSocketImplThrowsWrongExceptions.java.i
data/test/com/sun/jdi/JdbArgTest.sh.i
-data/src/share/classes/sun/rmi/registry/resources/rmiregistry.properties.i
data/src/share/classes/sun/nio/cs/IBM858.java.i
data/test/sun/tools/common/SleeperApplication.java.i
data/make/tools/CharsetMapping/IBM280.c2b.i
@@ -1799,56 +1802,48 @@ data/src/share/classes/sun/swing/AccumulativeRunnable.java.i
data/src/share/classes/com/sun/tools/example/debug/bdi/BreakpointSpec.java.i
data/test/java/util/TreeMap/SubMapClear.java.i
data/src/share/classes/java/io/SyncFailedException.java.i
-data/src/share/classes/sun/management/resources/agent_it.properties.i
+data/test/java/nio/channels/AsynchronousChannelGroup/AsExecutor.java.i
data/src/share/demo/nbproject/management/JTop/nbproject/netbeans-targets.xml.i
data/src/share/classes/sun/awt/image/BufImgSurfaceManager.java.i
data/test/java/net/URLClassLoader/sealing/manifest.i
data/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java.i
-data/test/java/net/URLConnection/ResendPostBody.java.i
+data/test/java/awt/Modal/ModalInternalFrameTest/ModalInternalFrameTest.java.i
data/src/windows/classes/sun/nio/fs/WindowsUserPrincipals.java.i
data/src/share/classes/sun/text/resources/FormatData_fr_CH.java.i
data/src/share/classes/java/security/acl/package.html.i
data/src/solaris/classes/sun/awt/motif/MScrollbarPeer.java.i
data/make/sun/serialver/Makefile.i
data/test/tools/launcher/ClassPathWildCard.sh.i
-data/src/share/test/pack200/pack.conf.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/resource/schema/xmldsig-core-schema.rng.i
data/test/javax/management/interop/MBeanExceptionInteropTest.java.i
-data/src/share/classes/java/util/concurrent/AbstractExecutorService.java.i
data/test/java/awt/Window/GrabSequence/GrabSequence.java.i
-data/src/share/classes/javax/management/openmbean/TabularType.java.i
+data/src/share/demo/scripting/jconsole-plugin/src/scripts/verbose.js.i
data/src/share/classes/java/awt/TrayIcon.java.i
data/test/com/sun/jdi/NotAField.sh.i
data/test/java/net/URLEncoder/DecodeNonEncoded.java.i
-data/src/share/classes/sun/util/locale/LanguageTag.java.i
-data/src/share/classes/sun/rmi/transport/tcp/MultiplexInputStream.java.i
+data/test/java/util/jar/JarFile/TurkCert.java.i
data/make/tools/CharsetMapping/IBM866.map.i
data/make/mkdemo/management/Makefile.i
-data/test/sun/security/mscapi/AccessKeyStore.sh.i
data/test/java/net/ProxySelector/ProxyTest.java.i
data/test/java/security/Security/ClassLoaderDeadlock/Deadlock2.sh.i
-data/test/javax/management/MBeanInfo/TooManyFooTest.java.i
data/src/share/classes/sun/awt/shell/ShellFolderColumnInfo.java.i
data/test/java/util/concurrent/BlockingQueue/OfferDrainToLoops.java.i
data/make/sun/native2ascii/Makefile.i
data/src/solaris/hpi/native_threads/src/mutex_md.c.i
-data/src/share/classes/sun/util/resources/CurrencyNames_de.properties.i
data/src/share/classes/javax/swing/text/Highlighter.java.i
data/test/java/io/Serializable/oldTests/ValidateClass.java.i
data/test/java/io/Serializable/resolveClass/consTest/run.sh.i
data/src/windows/classes/sun/awt/windows/WPrintDialog.java.i
-data/src/share/classes/javax/swing/plaf/synth/doc-files/synthFileFormat.html.i
+data/src/share/classes/sun/text/normalizer/Utility.java.i
+data/test/java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.java.i
data/src/share/classes/java/util/concurrent/LinkedBlockingQueue.java.i
data/src/share/classes/java/net/URLDecoder.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpS32S16Func.c.i
data/src/share/classes/sun/security/ssl/SSLEngineImpl.java.i
-data/src/share/demo/jvmti/heapViewer/sample.makefile.txt.i
data/test/java/util/concurrent/ScheduledThreadPoolExecutor/BasicCancelTest.java.i
data/test/java/nio/channels/Selector/SelectAndCancel.java.i
data/src/share/classes/sun/util/resources/LocaleNames_is.properties.i
data/src/share/classes/java/lang/Error.java.i
-data/src/share/classes/sun/text/resources/FormatData_sr_ME.java.i
-data/make/sun/security/smartcardio/Makefile.i
data/src/share/classes/java/rmi/server/RemoteObject.java.i
data/src/share/classes/javax/swing/plaf/basic/DesktopIconMover.java.i
data/test/sun/security/pkcs11/nss/lib/solaris-sparc/libsoftokn3.so.d
@@ -1856,14 +1851,11 @@ data/src/share/classes/sun/beans/infos/ComponentBeanInfo.java.i
data/test/sun/security/pkcs11/nss/lib/solaris-sparc/libsoftokn3.so.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments2.java.i
data/src/share/classes/java/util/FormattableFlags.java.i
-data/src/share/classes/sun/nio/cs/ext/IBM949C.java.i
-data/src/share/demo/jfc/TableExample/TableExample.java.i
+data/test/java/nio/file/attribute/AclEntry/EmptySet.java.i
data/src/windows/native/sun/windows/awt_Pen.cpp.i
data/src/share/classes/sun/security/x509/NameConstraintsExtension.java.i
-data/make/tools/CharsetMapping/IBM942.c2b.i
-data/src/share/classes/java/security/spec/ECField.java.i
+data/test/java/io/Serializable/badSubstByReplace/BadSubstByReplace.java.i
data/test/java/io/Serializable/evolution/AddedExternField/run.sh.i
-data/src/share/classes/sun/io/ByteToCharCp33722.java.i
data/src/share/native/sun/java2d/loops/FillPath.c.i
data/src/share/classes/com/sun/jndi/url/iiop/iiopURLContext.java.i
data/src/share/lib/colorname.properties.i
@@ -1877,65 +1869,59 @@ data/src/share/classes/com/sun/crypto/provider/BlowfishKeyGenerator.java.i
data/make/com/sun/Makefile.i
data/src/share/classes/javax/swing/plaf/basic/BasicPopupMenuUI.java.i
data/test/javax/swing/SwingWorker/6880336/NestedWorkers.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ServerHandshaker/GetPeerHost.java.i
data/src/share/classes/com/sun/java/util/jar/pack/intrinsic.properties.i
data/src/share/classes/javax/swing/tree/package.html.i
-data/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java.i
+data/src/share/classes/javax/print/attribute/standard/JobHoldUntil.java.i
data/test/java/rmi/server/RMIClassLoader/loadProxyClasses/PublicInterface1.java.i
data/make/tools/swing-beans/beaninfo/images/JProgressBarColor32.gif.i
data/test/java/net/URLConnection/jars/test.jar.i
-data/src/solaris/classes/sun/awt/motif/X11DropTargetContextPeer.java.i
+data/src/share/classes/javax/naming/LinkRef.java.i
data/test/javax/management/namespace/WombatMBean.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalBumps.java.i
data/make/netbeans/common/sample-sources.ent.i
data/src/share/classes/javax/swing/LookAndFeel.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath.java.i
-data/test/sun/security/pkcs11/Provider/Login.java.i
+data/test/sun/security/provider/PolicyParser/ExpansionErrorMisleading.java.i
data/src/share/classes/sun/beans/editors/EnumEditor.java.i
-data/src/windows/native/sun/windows/awt_Win32GraphicsConfig.h.i
+data/test/java/beans/Beans/Test4080522.java.i
data/test/com/sun/net/httpserver/Test7.java.i
data/make/tools/CharsetMapping/IBM277.map.i
data/test/java/net/InetAddress/BadDottedIPAddress.java.i
-data/src/share/classes/java/security/AlgorithmParametersSpi.java.i
data/make/sun/pisces/Makefile.i
data/test/sun/nio/cs/OLD/MS949_OLD.java.i
data/test/com/sun/nio/sctp/SctpChannel/SocketOptionTests.java.i
data/src/share/classes/sun/misc/ASCIICaseInsensitiveComparator.java.i
data/src/share/classes/java/security/BasicPermission.java.i
-data/src/share/classes/sun/print/RasterPrinterJob.java.i
data/test/java/security/KeyStore/EntryMethods.java.i
-data/test/java/io/Serializable/oldTests/ArrayFields.java.i
+data/test/java/util/concurrent/FutureTask/Customized.java.i
data/src/share/classes/sun/font/ExtendedTextSourceLabel.java.i
data/src/share/classes/com/sun/tools/hat/internal/server/AllClassesQuery.java.i
data/test/java/util/logging/LoggerSubclass.java.i
-data/src/linux/doc/man/policytool.1.i
+data/src/share/classes/org/openjdk/jigsaw/LibraryPool.java.i
data/make/tools/CharsetMapping/IBM1383.nr.i
data/src/share/classes/sun/misc/resources/Messages_de.java.i
data/src/share/native/sun/font/layout/ArabicShaping.h.i
+data/test/java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.java.i
data/src/share/classes/sun/management/counter/perf/LongArrayCounterSnapshot.java.i
data/src/share/classes/javax/security/auth/Destroyable.java.i
-data/test/sun/security/pkcs11/nss/lib/solaris-amd64/libnssckbi.so.i
+data/test/sun/net/www/http/ChunkedInputStream/test.txt.d
data/src/share/classes/com/sun/jmx/namespace/JMXNamespaceUtils.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicPanelUI.java.i
data/src/share/classes/sun/dyn/util/BytecodeName.java.i
-data/make/netbeans/jmx/build.properties.i
data/src/share/classes/sun/misc/FloatingDecimal.java.i
data/src/share/classes/javax/print/attribute/standard/NumberUpSupported.java.i
-data/src/solaris/hpi/native_threads/include/condvar_md.h.i
data/src/share/classes/java/beans/MethodDescriptor.java.i
data/src/share/classes/sun/nio/cs/ext/MS932_0213.java.i
-data/src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java.i
-data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java.i
+data/test/java/nio/channels/FileChannel/TransferToNonWritable.java.i
data/test/java/io/Serializable/checkModifiers/CheckModifiers.java.i
-data/test/javax/management/remote/mandatory/connectorServer/StandardForwardersTest.java.i
data/test/java/lang/reflect/TypeVariable/TestAnnotatedElement.java.i
data/src/share/classes/sun/security/x509/UniqueIdentity.java.i
data/src/share/classes/java/awt/doc-files/Label-1.gif.i
data/src/share/classes/sun/security/util/Resources_pt_BR.java.i
-data/test/java/awt/event/KeyEvent/CorrectTime/CorrectTime.java.i
+data/test/java/lang/instrument/BootClassPath/Setup.java.i
data/test/javax/security/auth/x500/X500Principal/InvalidConstructorInput.java.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceivers.java.i
-data/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java.i
+data/test/java/beans/PropertyEditor/TestEnumSubclassJava.java.i
data/src/share/classes/sun/nio/cs/ext/IBM863.java.i
data/src/share/classes/sun/dyn/anon/ConstantPoolParser.java.i
data/make/tools/CharsetMapping/IBM1147.c2b.i
@@ -1944,16 +1930,17 @@ data/src/share/classes/java/lang/ExceptionInInitializerError.java.i
data/src/share/classes/com/sun/crypto/provider/TlsPrfGenerator.java.i
data/src/share/classes/sun/security/provider/DSA.java.i
data/test/javax/sound/midi/Gervill/AudioFloatInputStream/Close.java.i
-data/src/share/classes/javax/imageio/stream/FileCacheImageInputStream.java.i
+data/src/share/native/sun/font/layout/MorphStateTables.h.i
data/test/java/awt/Toolkit/RealSync/RealSyncOnEDT.java.i
data/src/share/classes/sun/nio/ch/ChannelInputStream.java.i
-data/src/share/classes/sun/io/CharToByteCp285.java.i
+data/src/share/classes/sun/nio/cs/SingleByteDecoder.java.i
data/test/java/lang/Throwable/StackTraceSerialization.java.i
+data/test/javax/management/eventService/EventClientExecutorTest.java.i
data/test/java/beans/PropertyEditor/TestBooleanType.java.i
data/test/java/nio/channels/FileChannel/ClosedByInterrupt.java.i
data/test/java/rmi/reliability/benchmark/bench/rmi/BenchServerImpl.java.i
data/src/solaris/hpi/native_threads/src/interrupt_md.c.i
-data/src/share/classes/sun/jvmstat/perfdata/monitor/v1_0/PerfDataBufferPrologue.java.i
+data/test/java/nio/charset/Charset/EmptyCharsetName.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineBadBufferArrayAccess.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthPainter.java.i
data/test/java/nio/file/DirectoryStream/DriveLetter.java.i
@@ -1961,10 +1948,10 @@ data/test/java/lang/instrument/PremainClass/InheritAgent1101.java.i
data/src/share/native/sun/font/layout/ArabicShaping.cpp.i
data/test/javax/management/Introspector/ObjectNameTemplateTest.java.i
data/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java.i
-data/src/share/classes/com/sun/java/browser/dom/DOMService.java.i
-data/test/java/util/zip/ZipFile/ClearStaleZipFileInputStreams.java.i
+data/test/java/util/ResourceBundle/Bug4177489_Resource_jf_JF.properties.i
+data/test/java/rmi/reliability/juicer/Apple.java.i
data/test/java/util/prefs/RemoveUnregedListener.java.i
-data/src/share/demo/jfc/CodePointIM/CodePointInputMethod.java.i
+data/test/com/sun/jdi/redefine/RedefineSubTarg.java.i
data/src/share/classes/com/sun/jmx/snmp/internal/SnmpAccessControlSubSystem.java.i
data/test/java/awt/Mixing/LWComboBox.java.i
data/src/share/classes/java/security/cert/X509Extension.java.i
@@ -1973,10 +1960,10 @@ data/src/share/classes/sun/nio/ch/AbstractPollArrayWrapper.java.i
data/make/modules/modules.group.i
data/make/jpda/jdwp/Makefile.i
data/src/share/classes/java/security/cert/CertPathValidatorException.java.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/icons/TreeLeaf.gif.i
data/src/share/classes/java/lang/instrument/ClassDefinition.java.i
data/src/share/classes/com/sun/media/sound/ModelTransform.java.i
data/src/share/native/sun/font/bidi/utypes.h.i
+data/src/share/instrument/JPLISAgent.h.i
data/test/java/lang/instrument/SingleTransformerTest.java.i
data/test/java/io/Serializable/serialver/classpath/run.sh.i
data/src/share/classes/java/security/spec/ECPublicKeySpec.java.i
@@ -1988,7 +1975,7 @@ data/test/java/awt/PrintJob/Security/policy.i
data/make/tools/src/build/tools/jdwpgen/MethodTypeNode.java.i
data/src/share/classes/com/sun/tools/example/debug/event/ClassPrepareEventSet.java.i
data/src/share/classes/sun/security/x509/KeyUsageExtension.java.i
-data/src/share/native/sun/java2d/cmm/lcms/cmsintrp.c.i
+data/test/java/lang/management/MemoryMXBean/CollectionUsageThresholdParallelGC.sh.i
data/test/java/awt/Focus/ShowFrameCheckForegroundTest/ShowFrameCheckForegroundTest.java.i
data/src/share/classes/sun/tools/java/Imports.java.i
data/test/com/sun/crypto/provider/Cipher/DES/inputData/plain8.txt.i
@@ -1998,68 +1985,69 @@ data/test/com/sun/jdi/ThreadGroupTest.java.i
data/src/share/classes/java/util/jar/JarException.java.i
data/src/share/classes/sun/misc/BootClassLoaderHook.java.i
data/test/java/beans/XMLEncoder/6777487/TestEnumSet.java.i
-data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMBase64Transform.java.i
data/src/share/classes/javax/management/remote/SubjectDelegationPermission.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/GeneratorUtils.java.i
data/src/share/classes/sun/reflect/UnsafeObjectFieldAccessorImpl.java.i
data/test/sun/tools/jps/jps_Output1.awk.i
data/src/share/native/java/util/zip/zlib-1.2.3/patches/ChangeLog_java.i
-data/src/share/native/sun/java2d/loops/IntArgbBm.c.i
-data/test/javax/security/auth/login/Configuration/GetInstanceSecurity.grantedPolicy.i
+data/src/share/native/sun/security/ec/impl/ecl_curve.c.i
data/test/com/sun/servicetag/UpdateServiceTagTest.java.i
data/src/share/classes/java/awt/LinearGradientPaint.java.i
data/src/share/classes/com/sun/media/sound/ModelInstrument.java.i
data/test/sun/security/pkcs11/nss/lib/solaris-sparc/libfreebl_hybrid_3.so.d
data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14N11.java.i
-data/src/share/classes/sun/security/x509/CertificateIssuerName.java.i
+data/test/javax/swing/JTextArea/4697612/bug4697612.java.i
data/src/share/classes/sun/io/CharToByteMS950.java.i
-data/src/share/classes/java/awt/peer/MenuBarPeer.java.i
data/src/share/classes/sun/tools/jconsole/resources/expand-winlf.png.i
data/src/share/classes/javax/xml/crypto/dsig/DigestMethod.java.i
data/src/share/classes/sun/tools/tree/AssignShiftLeftExpression.java.i
-data/src/solaris/classes/sun/awt/motif/MInputMethodDescriptor.java.i
data/src/share/classes/java/text/AttributedString.java.i
-data/src/share/classes/com/sun/tracing/dtrace/Attributes.java.i
+data/test/sun/security/pkcs11/nss/lib/solaris-sparc/libfreebl_hybrid_3.so.i
data/test/sun/nio/cs/TestMS5022X.java.i
-data/src/share/classes/sun/text/resources/FormatData_fi.java.i
+data/src/share/classes/java/beans/Introspector.java.i
data/test/java/rmi/activation/Activatable/unregisterInactive/ActivateMe.java.i
+data/test/sun/rmi/rmic/newrmic/equivalence/batch.sh.i
data/src/windows/native/sun/java2d/windows/dxInit.h.i
data/src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java.i
data/src/share/classes/javax/swing/table/DefaultTableModel.java.i
data/src/share/classes/java/lang/invoke/MethodTypeForm.java.i
-data/src/share/classes/javax/xml/crypto/dsig/SignedInfo.java.i
+data/test/javax/imageio/EmptyFileTest.java.i
+data/test/java/net/Socket/InheritTimeout.java.i
data/test/java/io/File/DeleteOnExitLong.java.i
data/make/sun/jconsole/Makefile.i
data/src/share/classes/com/sun/net/httpserver/HttpPrincipal.java.i
data/src/share/classes/sun/java2d/pipe/DrawImage.java.i
data/src/solaris/native/sun/awt/awt_TopLevel.c.i
-data/src/share/classes/sun/awt/GlobalCursorManager.java.i
+data/src/solaris/doc/sun/man/man1/ja/jdb.1.i
data/src/share/classes/sun/security/timestamp/Timestamper.java.i
+data/src/windows/native/sun/java2d/d3d/D3DResourceManager.h.i
data/test/java/io/readBytes/ReadBytesBounds.java.i
-data/src/windows/classes/sun/awt/windows/awtLocalization_ja.properties.i
+data/src/share/classes/javax/sound/midi/spi/package.html.i
data/test/java/util/concurrent/locks/ReentrantReadWriteLock/RWMap.java.i
data/test/javax/security/auth/kerberos/KerberosHashEqualsTest.java.i
data/src/share/classes/sun/tools/asm/ConstantPoolData.java.i
data/src/share/classes/com/sun/jndi/cosnaming/jndiprovider.properties.i
-data/src/share/classes/javax/swing/text/html/HRuleView.java.i
+data/src/share/classes/java/nio/channels/ScatteringByteChannel.java.i
data/src/share/classes/com/sun/jndi/ldap/jndiprovider.properties.i
data/src/share/classes/java/nio/file/ProviderNotFoundException.java.i
data/src/share/classes/java/awt/image/BufferStrategy.java.i
+data/test/java/security/BasicPermission/EqualsImplies.java.i
+data/test/sun/management/HotspotRuntimeMBean/GetSafepointCount.java.i
data/src/share/classes/java/lang/management/ClassLoadingMXBean.java.i
-data/test/java/net/URLClassLoader/closetest/test2/com/foo/TestClass1.java.i
+data/test/java/io/BufferedReader/Ready.java.i
data/src/share/classes/com/sun/jmx/namespace/HandlerInterceptor.java.i
data/test/tools/launcher/UnicodeTest.sh.i
-data/src/share/classes/javax/swing/FocusManager.java.i
data/src/share/classes/javax/swing/plaf/nimbus/Defaults.template.i
data/src/share/classes/com/sun/crypto/provider/SslMacCore.java.i
data/test/java/io/Serializable/skipWriteObject/Read.java.i
-data/src/share/lib/audio/soundbank.gm.i
+data/src/share/classes/javax/management/remote/JMXConnectorFactory.java.i
data/test/java/rmi/activation/Activatable/createPrivateActivable/CreatePrivateActivatable.java.i
+data/src/share/classes/javax/print/attribute/standard/NumberOfDocuments.java.i
data/src/share/classes/java/applet/AudioClip.java.i
-data/src/share/classes/sun/awt/CausedFocusEvent.java.i
+data/src/solaris/classes/sun/nio/ch/PipeImpl.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/SnmpAcl.java.i
data/test/java/io/DataInputStream/OpsAfterClose.java.i
-data/src/share/classes/sun/io/ByteToCharSJIS.java.i
+data/test/java/lang/instrument/PremainClass/InheritAgent0101.java.i
data/src/share/demo/nbproject/management/VerboseGC/nbproject/project.xml.i
data/test/java/net/URLDecoder/URLDecoderArgs.java.i
data/src/share/classes/java/awt/datatransfer/MimeTypeParameterList.java.i
@@ -2071,48 +2059,51 @@ data/src/share/classes/sun/tools/tree/IntegerExpression.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java.i
data/src/windows/native/java/net/TwoStacksPlainSocketImpl.c.i
data/src/share/classes/sun/text/resources/FormatData_ja_JP.java.i
-data/src/share/classes/javax/naming/ldap/ControlFactory.java.i
+data/src/solaris/native/com/sun/media/sound/PLATFORM_API_SolarisOS_PCM.c.i
data/src/share/classes/com/sun/jmx/remote/protocol/iiop/ProxyInputStream.java.i
-data/test/java/nio/channels/DatagramChannel/EmptyBuffer.java.i
data/src/share/classes/java/beans/Transient.java.i
+data/test/javax/management/mxbean/PreRegisterNameTest.java.i
data/src/share/classes/java/io/FilterReader.java.i
data/test/java/awt/image/mlib/mlib.security.policy.i
data/src/share/classes/java/security/AlgorithmParameters.java.i
data/test/sun/security/ec/TestEC.java.i
-data/src/solaris/doc/sun/man/man1/jdb.1.i
-data/test/javax/swing/JSlider/4987336/box.gif.i
+data/test/javax/xml/crypto/dsig/data/certs/crl.i
data/test/sun/text/resources/Format/Bug4810032.java.i
data/src/share/demo/jfc/CodePointIM/README.html.i
-data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/Gradient.java.i
+data/make/tools/GenerateCharacter/CharacterDataLatin1.java.template.i
data/src/share/classes/java/security/cert/Certificate.java.i
+data/src/windows/classes/sun/awt/Win32GraphicsConfig.java.i
data/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadata.java.i
data/test/java/nio/channels/AsynchronousChannelGroup/PrivilegedThreadFactory.java.i
data/test/javax/swing/JColorChooser/Test4759306.java.i
data/test/sun/java2d/cmm/ColorConvertOp/MTSafetyTest.java.i
-data/src/share/classes/sun/security/smartcardio/PCSC.java.i
+data/src/share/classes/sun/text/resources/FormatData_no_NO_NY.java.i
data/test/sun/security/provider/PolicyFile/Comparator.Combined.Policy.i
data/src/share/classes/java/lang/NoSuchMethodError.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureDSA.java.i
data/src/share/demo/applets/BarChart/BarChart.java.i
data/src/share/bin/manifest_info.h.i
-data/src/share/classes/sun/management/snmp/util/SnmpCachedData.java.i
+data/test/java/io/FileInputStream/OpsAfterClose.java.i
data/test/sun/security/mscapi/RSAEncryptDecrypt.java.i
data/test/javax/management/namespace/NullDomainObjectNameTest.java.i
data/test/java/util/prefs/ExportNode.java.i
data/src/share/classes/java/awt/event/ContainerListener.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/PKIXExtendedTM.java.i
data/src/solaris/classes/sun/awt/X11/XCanvasPeer.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthTextAreaUI.java.i
data/test/com/sun/jdi/DataModelTest.java.i
-data/src/share/classes/sun/nio/cs/ext/MS932DB.java.i
+data/test/java/util/concurrent/ExecutorCompletionService/ExecutorCompletionServiceLoops.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/InputRecord/ProxyTunnelServer.java.i
+data/test/java/rmi/reliability/benchmark/bench/Benchmark.java.i
data/test/java/net/InetAddress/B6246242.java.i
+data/test/java/rmi/reliability/benchmark/bench/rmi/FloatArrayCalls.java.i
data/src/share/native/sun/font/layout/MarkToBasePosnSubtables.cpp.i
-data/test/java/awt/font/NumericShaper/EqualsTest.java.i
data/test/java/rmi/transport/acceptLoop/CloseServerSocketOnTermination.java.i
data/src/share/classes/sun/security/internal/spec/TlsKeyMaterialParameterSpec.java.i
data/src/solaris/doc/sun/man/man1/servertool.1.i
data/src/share/classes/javax/management/openmbean/MXBeanMappingFactory.java.i
data/test/java/net/NetworkInterface/NetParamsTest.java.i
-data/test/sun/net/TelnetTest.java.i
+data/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java.i
data/src/share/classes/javax/swing/plaf/metal/icons/ocean/hardDrive.gif.i
data/test/java/beans/Introspector/Test4619792.java.i
data/src/share/classes/sun/management/LockDataConverter.java.i
@@ -2122,15 +2113,14 @@ data/test/javax/management/remote/mandatory/subjectDelegation/policy12.i
data/src/share/native/java/util/zip/zlib-1.1.3/zcrc32.c.i
data/make/tools/swing-beans/beaninfo/images/JTextPaneColor16.gif.i
data/test/tools/launcher/lib/sparc/lib64/liblibrary.so.i
-data/src/share/sample/nio/server/RequestServicer.java.i
+data/test/java/net/ServerSocket/AcceptCauseFileDescriptorLeak.sh.i
+data/src/share/classes/com/sun/tools/example/debug/event/LocatableEventSet.java.i
data/src/share/classes/java/util/ListResourceBundle.java.i
data/src/share/classes/javax/naming/spi/ObjectFactoryBuilder.java.i
data/src/share/classes/java/awt/ImageCapabilities.java.i
-data/src/share/classes/sun/tools/serialver/serialver_ja.properties.i
data/test/java/awt/datatransfer/DragUnicodeBetweenJVMTest/NextFramePositionCalculator.java.i
data/src/share/classes/javax/swing/plaf/ScrollPaneUI.java.i
-data/src/share/classes/javax/management/relation/RelationType.java.i
-data/test/java/util/jar/JarFile/TurkCert.java.i
+data/src/share/classes/sun/java2d/opengl/OGLGraphicsConfig.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiSeparatorUI.java.i
data/src/share/transport/shmem/shmemBase.c.i
data/test/javax/management/eventService/EventDelegateSecurityTest.java.i
@@ -2141,20 +2131,19 @@ data/src/share/classes/sun/text/resources/FormatData_tr_TR.java.i
data/make/tools/CharsetMapping/MS950.map.i
data/src/solaris/classes/sun/awt/X11/XlibUtil.java.i
data/src/share/classes/java/lang/CharacterName.java.i
-data/make/sun/cmm/lcms/mapfile-vers.i
-data/src/share/classes/com/sun/media/sound/DLSRegion.java.i
+data/src/share/native/sun/font/layout/LEStandalone.h.i
+data/test/sun/security/validator/certreplace.sh.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsDesktopManager.java.i
data/src/share/classes/com/sun/tracing/Probe.java.i
-data/make/launchers/Makefile.launcher.i
+data/src/share/classes/java/net/JarURLConnection.java.i
data/src/share/classes/sun/jvmstat/monitor/AbstractMonitor.java.i
data/src/share/classes/com/sun/crypto/provider/DHPublicKey.java.i
data/src/share/classes/java/net/ContentHandlerFactory.java.i
+data/test/java/util/concurrent/BlockingQueue/Interrupt.java.i
data/src/share/classes/javax/management/relation/InvalidRelationServiceException.java.i
-data/src/share/classes/com/sun/jmx/event/EventParams.java.i
-data/test/java/rmi/reliability/scripts/create_benchmark_jars.ksh.i
data/src/share/demo/applets/Clock/Clock.java.i
data/src/share/classes/java/awt/image/LookupOp.java.i
-data/make/com/sun/org/Makefile.i
+data/src/share/classes/javax/swing/plaf/basic/BasicComboBoxEditor.java.i
data/src/share/classes/java/awt/Color.java.i
data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/DNSIdentities.java.i
data/src/share/demo/applets/MoleculeViewer/example3.html.i
@@ -2163,7 +2152,7 @@ data/test/javax/swing/border/Test4856008.java.i
data/test/java/net/MulticastSocket/Reuse.java.i
data/src/share/classes/sun/io/CharToByteCp855.java.i
data/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestination.java.i
-data/src/share/classes/javax/print/attribute/standard/MediaSize.java.i
+data/src/share/classes/javax/swing/DebugGraphics.java.i
data/src/share/classes/javax/swing/colorchooser/DefaultHSBChooserPanel.java.i
data/make/tools/CharsetMapping/IBM939.map.i
data/src/share/classes/sunw/util/EventObject.java.i
@@ -2172,14 +2161,13 @@ data/src/share/classes/javax/sql/rowset/RowSetProvider.java.i
data/test/java/util/concurrent/locks/ReentrantLock/CancelledLockLoops.java.i
data/src/share/classes/java/nio/file/NoSuchFileException.java.i
data/src/share/classes/sun/java2d/opengl/OGLMaskFill.java.i
-data/make/jdk_generic_profile.sh.i
-data/src/share/classes/javax/print/ServiceUI.java.i
+data/src/share/classes/javax/swing/ListCellRenderer.java.i
data/src/share/classes/java/nio/file/StandardOpenOption.java.i
data/test/com/sun/security/sasl/gsskerb/gsseg_jaas.conf.i
data/src/share/classes/com/sun/media/sound/DLSSampleLoop.java.i
data/src/share/native/java/lang/fdlibm/src/e_log10.c.i
data/src/share/classes/javax/management/ServiceNotFoundException.java.i
-data/test/javax/management/MBeanServer/PostRegisterDeadlockTest.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyValue.java.i
data/test/java/util/Formatter/BasicInt.java.i
data/src/windows/back/path_md.h.i
data/test/java/security/testlibrary/ProvidersSnapshot.java.i
@@ -2187,9 +2175,9 @@ data/src/share/classes/com/sun/tools/hat/internal/model/ReachableExcludesImpl.ja
data/src/share/demo/java2d/J2DBench/src/j2dbench/Modifier.java.i
data/test/java/rmi/activation/ActivationSystem/stubClassesPermitted/CanCreateStubs.java.i
data/test/javax/swing/JMenuItem/6883341/bug6883341.java.i
-data/src/share/classes/sun/io/ByteToCharCp1258.java.i
data/src/share/classes/sun/tools/jconsole/inspector/XTreeRenderer.java.i
data/make/tools/swing-beans/beaninfo/images/JSliderColor16.gif.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/TrustTrustedCert.java.i
data/src/solaris/classes/java/lang/Terminator.java.i
data/test/sun/net/www/protocol/http/6550798/test.java.i
data/test/java/lang/StrictMath/CubeRootTests.java.i
@@ -2205,32 +2193,34 @@ data/src/share/classes/com/sun/security/sasl/CramMD5Base.java.i
data/src/share/classes/sun/security/ssl/krb5/KerberosPreMasterSecret.java.i
data/test/javax/management/ObjectName/NullEmptyKeyValueTest.java.i
data/src/share/classes/javax/imageio/metadata/IIOInvalidTreeException.java.i
-data/make/mksample/nbproject/Makefile.i
data/src/share/classes/com/sun/jndi/ldap/NameClassPairWithControls.java.i
data/src/share/classes/sun/io/ByteToCharTIS620.java.i
-data/src/share/classes/java/nio/Buffer.java.i
+data/src/share/classes/sun/net/httpserver/ServerImpl.java.i
+data/test/javax/sound/midi/Gervill/SF2SoundbankReader/ding.sf2.i
data/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibOid.java.i
data/src/share/native/java/util/zip/zlib-1.2.3/trees.c.i
data/test/java/rmi/activation/ActivateFailedException/activateFails/ActivateMe.java.i
-data/src/share/classes/sun/font/TextLabelFactory.java.i
data/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java.i
data/make/tools/src/build/tools/jdwpgen/TypeNode.java.i
-data/test/java/util/ResourceBundle/Control/StressOut_ja_JP.properties.i
data/test/java/nio/channels/spi/AsynchronousChannelProvider/META-INF/services/java.nio.channels.spi.AsynchronousChannelProvider.i
-data/src/share/classes/javax/management/relation/RelationNotification.java.i
+data/test/java/awt/Dialog/NonResizableDialogSysMenuResize/NonResizableDialogSysMenuResize.java.i
+data/src/share/back/util.c.i
+data/test/java/security/cert/pkix/policyChanges/ca.cer.i
+data/test/java/nio/charset/spi/Test.java.i
data/src/share/classes/com/sun/jmx/mbeanserver/ObjectInputStreamWithLoader.java.i
data/make/mkdemo/jfc/SwingSet2/Makefile.i
data/test/sun/security/tools/keytool/p11-nss.txt.i
+data/make/tools/swing-beans/beaninfo/images/JPopupMenuColor32.gif.i
data/src/share/classes/sun/security/provider/certpath/ldap/LDAPCertStore.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthDesktopPaneUI.java.i
-data/src/share/classes/javax/print/attribute/standard/DateTimeAtCreation.java.i
-data/src/share/classes/java/awt/color/ICC_ColorSpace.java.i
+data/src/solaris/native/sun/awt/awt_ScrollPane.c.i
data/src/share/classes/java/nio/file/attribute/Attributes.java.i
+data/src/share/classes/sun/net/www/content/text/plain.java.i
data/src/share/classes/sun/management/snmp/util/SnmpTableCache.java.i
data/src/share/classes/javax/naming/spi/DirStateFactory.java.i
-data/make/tools/CharsetMapping/ISO_8859_2.map.i
+data/src/share/classes/sun/security/krb5/internal/TGSRep.java.i
data/src/share/classes/javax/net/ssl/KeyManager.java.i
-data/src/share/classes/javax/print/attribute/standard/ReferenceUriSchemesSupported.java.i
+data/test/java/security/Security/ClassLoaderDeadlock/CreateSerialized.java.i
data/src/share/classes/sun/io/ByteToCharCp930.java.i
data/src/share/classes/sun/misc/FpUtils.java.i
data/src/share/classes/com/sun/media/sound/services/windows-ia64/javax.sound.sampled.spi.MixerProvider.i
@@ -2241,16 +2231,17 @@ data/test/sun/nio/cs/FindCanEncodeBugs.java.i
data/test/sun/security/pkcs11/Secmod/nsscrypto.cfg.i
data/test/javax/swing/Security/6657138/ComponentTest.java.i
data/test/com/sun/crypto/provider/KeyGenerator/Test4628062.java.i
+data/test/sun/security/ssl/sun/net/www/httpstest/ClosedChannelList.java.i
data/test/java/security/Security/ClassLoaderDeadlock/Deadlock2.java.i
data/src/share/classes/java/dyn/CallSite.java.i
data/src/share/classes/com/sun/security/auth/SolarisNumericGroupPrincipal.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/PGPData.java.i
data/src/share/classes/sun/text/resources/FormatData_sv_SE.java.i
data/src/share/classes/javax/swing/plaf/nimbus/TableScrollPaneCorner.java.i
-data/test/java/util/PluggableLocale/providersrc/CollatorProviderImpl.java.i
data/make/tools/src/build/tools/jdwpgen/FieldTypeNode.java.i
data/src/share/classes/com/sun/jmx/snmp/daemon/SnmpAdaptorServerMBean.java.i
-data/test/java/dyn/ClassValueTest.java.i
+data/test/java/awt/regtesthelpers/Sysout.java.i
+data/test/java/beans/Introspector/Test6311051.java.i
data/make/javax/others/Makefile.i
data/src/share/classes/com/sun/script/javascript/META-INF/services/javax.script.ScriptEngineFactory.i
data/make/modules/image.boot.ls.i
@@ -2258,91 +2249,86 @@ data/test/javax/management/remote/mandatory/connection/FailedConnectionTest.java
data/src/share/classes/sun/security/util/ResourcesMgr.java.i
data/test/sun/security/tools/jarsigner/concise_jarsigner.sh.i
data/test/java/beans/PropertyEditor/TestShortClassNull.java.i
-data/src/share/classes/java/awt/image/CropImageFilter.java.i
data/src/share/classes/javax/naming/directory/InvalidAttributesException.java.i
-data/test/java/lang/ClassLoader/findSystemClass/Loadee.java.i
+data/src/share/classes/javax/swing/plaf/metal/icons/Warn.gif.i
data/make/sun/jconsole/FILES.gmk.i
data/test/java/nio/file/Files/META-INF/services/java.nio.file.spi.FileTypeDetector.i
data/src/share/classes/sun/java2d/opengl/OGLBlitLoops.java.i
data/src/share/classes/java/beans/PropertyVetoException.java.i
+data/test/java/io/LineNumberReader/SkipInput.txt.i
data/src/share/classes/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java.i
data/src/solaris/doc/sun/man/man1/ja/rmid.1.i
data/src/share/classes/sun/applet/AppletViewerPanel.java.i
data/src/share/classes/sun/management/snmp/jvminstr/JvmClassLoadingImpl.java.i
data/src/share/classes/java/awt/SentEvent.java.i
+data/src/share/classes/com/sun/net/httpserver/spi/package-info.java.i
data/src/share/native/sun/awt/image/cvutils/img_nodither.h.i
data/test/sun/security/pkcs11/KeyStore/BasicData/pk2.cert.i
+data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments2.java.i
data/make/tools/classanalyzer/src/com/sun/classanalyzer/Klass.java.i
data/test/sun/nio/cs/OLD/DoubleByteEncoder.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/ComTrustManagerFactoryImpl.java.i
data/src/share/classes/java/awt/AWTException.java.i
data/test/java/lang/Class/getMethods/NonPublicStaticInitializer.java.i
-data/src/share/classes/java/security/cert/CertStoreParameters.java.i
+data/src/solaris/back/util_md.h.i
+data/test/javax/management/remote/mandatory/subjectDelegation/policy35.i
data/src/share/classes/sun/print/resources/orientPortrait.png.i
-data/src/solaris/native/sun/awt/cursor.c.i
-data/src/share/classes/sun/management/snmp/jvmmib/JvmOSMeta.java.i
+data/src/share/classes/sun/management/snmp/util/SnmpTableHandler.java.i
data/src/share/classes/com/sun/jmx/interceptor/SingleMBeanForwarder.java.i
data/src/share/classes/sun/print/SunPrinterJobService.java.i
data/src/share/sample/nio/chatserver/ClientReader.java.i
data/src/share/back/error_messages.c.i
-data/make/modules/jdk.boot.ls.i
-data/src/share/classes/javax/swing/plaf/basic/BasicDesktopPaneUI.java.i
-data/src/share/classes/com/sun/nio/sctp/AssociationChangeNotification.java.i
-data/src/share/classes/sun/security/ec/ECDSASignature.java.i
+data/src/share/classes/javax/swing/DefaultListModel.java.i
+data/test/java/util/ResourceBundle/Bug6190861Data_en_US.properties.i
data/src/share/classes/javax/xml/crypto/dom/DOMURIReference.java.i
data/src/share/classes/com/sun/pept/presentation/Stub.java.i
data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/Arrays.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/icons/UpFolder.gif.i
data/src/share/classes/java/nio/file/ClosedDirectoryStreamException.java.i
data/make/tools/reorder/tests/Sleep.java.i
-data/src/share/classes/com/sun/jdi/request/MonitorWaitRequest.java.i
+data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/ProxyTunnelServer.java.i
data/src/share/classes/com/sun/jndi/dns/DnsNameParser.java.i
-data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/HasUIStyle.java.i
+data/src/share/classes/javax/swing/table/package.html.i
data/src/share/classes/com/sun/tools/example/debug/bdi/AmbiguousMethodException.java.i
data/src/share/classes/java/util/prefs/BackingStoreException.java.i
-data/src/share/classes/com/sun/jmx/interceptor/DispatchInterceptor.java.i
+data/src/share/demo/nbproject/scripting/jconsole-plugin/nbproject/jdk.xml.i
data/test/java/util/Timer/NameConstructors.java.i
data/src/share/classes/com/sun/inputmethods/internal/indicim/java.awt.im.spi.InputMethodDescriptor.i
-data/src/windows/classes/sun/awt/windows/WTextComponentPeer.java.i
data/test/sun/security/tools/policytool/UsePolicy.java.i
data/src/share/native/sun/font/layout/ArabicLayoutEngine.h.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsToolBarUI.java.i
-data/src/windows/classes/sun/nio/ch/PipeImpl.java.i
-data/make/tools/swing-beans/beaninfo/images/JMenuMono16.gif.i
+data/make/tools/src/build/tools/javazic/Gen.java.i
data/src/share/classes/com/sun/tools/jdi/MonitorInfoImpl.java.i
data/test/java/awt/dnd/ImageDecoratedDnD/DnDSource.java.i
data/src/windows/native/sun/windows/awt_MMStub.cpp.i
-data/test/java/io/PrintStream/FailingConstructors.java.i
+data/test/java/rmi/testlibrary/TestFailedException.java.i
data/src/share/classes/com/sun/tools/example/debug/tty/TTYResources.java.i
data/src/share/classes/sun/text/resources/FormatData_es_EC.java.i
-data/src/share/classes/javax/imageio/spi/PartiallyOrderedSet.java.i
data/test/java/beans/PropertyEditor/TestFontClassJava.java.i
data/test/sun/java2d/pipe/MutableColorTest/MutableColorTest.java.i
data/src/share/sample/scripting/scriptpad/src/scripts/mail.js.i
data/src/share/classes/sun/text/resources/FormatData_be_BY.java.i
data/src/share/classes/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java.i
-data/src/share/classes/java/beans/DesignMode.java.i
+data/test/java/lang/Character/PropertyValueAliases.txt.i
data/src/share/classes/com/sun/jmx/snmp/agent/package.html.i
+data/src/solaris/native/common/jlong_md.h.i
data/src/share/classes/javax/sound/sampled/TargetDataLine.java.i
data/src/share/classes/sun/security/krb5/internal/EncTicketPart.java.i
-data/src/share/classes/javax/swing/doc-files/groupLayout.sequential.vertical.gif.i
+data/test/sun/security/pkcs11/fips/ImportKeyStore.java.i
data/test/java/util/ResourceBundle/Bug4257318.java.i
data/test/sun/net/www/protocol/http/B6296310.java.i
-data/src/share/classes/javax/swing/plaf/nimbus/DropShadowEffect.java.i
+data/src/share/classes/sun/text/resources/FormatData_uk.java.i
data/src/share/instrument/EncodingSupport.h.i
data/src/share/classes/org/openjdk/jigsaw/JigsawVersion.java.i
data/test/java/awt/Window/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form.i
data/src/share/classes/com/sun/java/util/jar/pack/Histogram.java.i
-data/test/javax/crypto/NullCipher/TestWithoutInit.java.i
+data/test/sun/tools/jconsole/ImmutableResourceTest.sh.i
data/test/java/io/Serializable/evolution/AddedField/WriteAddedField.java.i
data/test/sun/java2d/cmm/ColorConvertOp/ColCvtAlpha.java.i
data/make/tools/CharsetMapping/Big5.nr.i
data/src/share/classes/com/sun/jndi/ldap/LdapReferralContext.java.i
-data/src/solaris/native/sun/nio/ch/SctpNet.c.i
data/src/windows/native/sun/java2d/windows/Win32SurfaceData.cpp.i
data/test/java/rmi/activation/Activatable/checkRegisterInLog/security.policy.i
data/src/share/back/ArrayTypeImpl.h.i
-data/src/share/classes/sun/io/ByteToCharCp1143.java.i
data/src/share/native/sun/java2d/loops/ByteGray.h.i
data/make/tools/CharsetMapping/IBM852.map.i
data/src/share/classes/java/io/Flushable.java.i
@@ -2356,13 +2342,11 @@ data/src/share/classes/java/lang/Appendable.java.i
data/src/share/classes/javax/management/ListenerNotFoundException.java.i
data/src/share/demo/jvmti/java_crw_demo/java_crw_demo.c.i
data/src/share/classes/sun/util/resources/CalendarData_fr_CA.properties.i
-data/src/share/native/sun/security/ec/impl/ec2_aff.c.i
data/src/share/demo/jvmti/waiters/Thread.hpp.i
data/test/java/beans/XMLEncoder/6380849/TestPersistenceDelegate.java.i
-data/src/share/classes/com/sun/jndi/url/rmi/rmiURLContextFactory.java.i
data/make/netbeans/common/architectures/arch-sparc.properties.i
-data/src/solaris/native/sun/awt/awt_InputMethod.c.i
-data/make/templates/gpl-cp-header.i
+data/src/share/classes/sun/security/util/ByteArrayTagOrder.java.i
+data/src/solaris/classes/sun/awt/X11/XWINProtocol.java.i
data/test/java/nio/charset/coders/CheckSJISMappingProp.sh.i
data/make/mkdemo/management/VerboseGC/Makefile.i
data/make/netbeans/common/demo-view.ent.i
@@ -2374,13 +2358,12 @@ data/test/java/lang/module/ModuleAnnotationTest.java.i
data/make/sun/javazic/tzdata_jdk/jdk11_full_backward.i
data/src/share/classes/java/awt/geom/Path2D.java.i
data/src/share/classes/com/sun/crypto/provider/DESedeParameters.java.i
-data/src/share/classes/javax/swing/plaf/metal/icons/ocean/minimize.gif.i
data/src/solaris/classes/com/sun/security/auth/module/README.i
data/src/share/classes/sun/print/ServiceNotifier.java.i
data/test/javax/swing/JLayer/SerializationTest/SerializationTest.java.i
data/make/sun/jpeg/reorder-sparcv9.i
data/test/com/sun/net/httpserver/bugs/B6526158.java.i
-data/test/java/awt/FontClass/CreateFont/fileaccess/FontFile.java.i
+data/src/share/classes/sun/text/resources/FormatData_et_EE.java.i
data/src/solaris/native/java/net/NetworkInterface.c.i
data/src/share/classes/sun/rmi/transport/DGCClient.java.i
data/src/share/classes/javax/swing/text/SimpleAttributeSet.java.i
@@ -2392,31 +2375,32 @@ data/src/share/classes/javax/naming/AuthenticationException.java.i
data/src/share/classes/javax/crypto/JarVerifier.java.i
data/test/demo/jvmti/mtrace/TraceJFrame.java.i
data/src/share/sample/scripting/scriptpad/src/scripts/memory.sh.i
-data/make/tools/GenerateCharacter/Character.c.template.i
data/make/tools/src/build/tools/jdwpgen/ReplyNode.java.i
data/test/java/net/Inet6Address/serialize/serial-bge0.ser.i
data/test/javax/sound/midi/Gervill/SoftReceiver/GetMidiDevice.java.i
data/make/tools/src/build/tools/hasher/Hasher.java.i
data/src/share/classes/com/sun/net/ssl/internal/ssl/Provider.java.i
-data/src/share/classes/javax/management/openmbean/InvalidKeyException.java.i
data/test/java/rmi/server/UnicastRemoteObject/changeHostName/ChangeHostName.java.i
data/src/share/classes/sun/awt/im/InputMethodWindow.java.i
data/src/share/classes/javax/security/auth/login/package.html.i
data/test/sun/rmi/rmic/newrmic/equivalence/Callback.java.i
data/src/share/classes/com/sun/crypto/provider/ISO10126Padding.java.i
-data/src/share/classes/java/security/cert/X509CertSelector.java.i
-data/test/java/awt/Toolkit/Headless/AWTEventListener/AWTListener.java.i
+data/test/java/lang/Runtime/exec/Space.java.i
data/test/java/lang/ClassLoader/Assert.sh.i
+data/src/share/native/sun/font/layout/ICUFeatures.h.i
data/test/sun/security/krb5/MicroTime.java.i
data/src/share/classes/sun/net/www/content/image/gif.java.i
+data/src/linux/doc/man/jcmd.1.i
data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/RetryHttps.java.i
-data/test/sun/security/provider/PolicyFile/GrantAllPermToExtWhenNoPolicy.sh.i
+data/test/java/beans/XMLEncoder/java_util_Collections_CheckedSortedSet.java.i
data/make/mkdemo/applets/Fractal/Makefile.i
data/src/share/classes/java/lang/reflect/Field.java.i
data/src/share/classes/java/security/spec/InvalidParameterSpecException.java.i
-data/test/com/sun/crypto/provider/Cipher/DES/inputData/plain10.txt.i
+data/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest2.java.i
+data/test/java/util/ServiceLoader/Basic.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509SubjectName.java.i
-data/make/tools/src/build/tools/charsetmapping/Utils.java.i
+data/src/windows/native/sun/windows/awt_Win32GraphicsDevice.cpp.i
+data/src/share/native/sun/awt/image/jpeg/jmemsys.h.i
data/test/java/rmi/activation/Activatable/restartService/ActivateMe.java.i
data/src/share/classes/java/rmi/ServerException.java.i
data/src/windows/native/sun/java2d/d3d/D3DMaskCache.cpp.i
@@ -2424,24 +2408,29 @@ data/src/share/classes/sun/java2d/pipe/AlphaColorPipe.java.i
data/src/share/native/com/sun/media/sound/Platform.c.i
data/test/java/lang/Runtime/exec/SetCwd.java.i
data/src/share/classes/java/util/IdentityHashMap.java.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_it.properties.i
data/src/share/classes/sun/security/pkcs11/SessionManager.java.i
data/src/share/native/sun/tracing/dtrace/jvm_symbols.h.i
data/src/windows/native/sun/nio/ch/DatagramDispatcher.c.i
data/test/java/nio/ByteOrder/NativeOrder.java.i
data/src/share/classes/sun/tools/tree/AndExpression.java.i
+data/src/share/classes/com/sun/jmx/snmp/agent/SnmpTableEntryFactory.java.i
data/src/share/classes/com/sun/tools/example/debug/gui/ContextListener.java.i
data/make/tools/CharsetMapping/IBM948.c2b.i
data/src/share/classes/javax/swing/text/GlyphPainter1.java.i
data/test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.java.i
+data/test/com/sun/security/sasl/digest/Privacy.java.i
data/test/javax/script/JavaScriptScopeTest.java.i
data/make/com/sun/security/auth/module/FILES_c_windows.gmk.i
data/test/java/rmi/activation/Activatable/restartCrashedService/rmid.security.policy.i
data/test/sun/security/pkcs11/SampleTest.java.i
+data/test/javax/management/remote/mandatory/connection/CloseFailedClientTest.java.i
data/src/share/classes/sun/security/x509/OtherName.java.i
data/make/java/hpi/native/mapfile-vers.i
+data/src/solaris/classes/sun/java2d/SurfaceManagerFactory.java.i
data/test/java/net/URLConnection/6212146/Test.java.i
data/test/java/beans/XMLEncoder/java_lang_Class.java.i
-data/src/share/classes/com/sun/tools/jdi/SocketTransportService.java.i
+data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/LocalMonitoredVm.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalComboBoxUI.java.i
data/src/share/classes/sun/jvmstat/monitor/event/HostListener.java.i
data/test/sun/java2d/cmm/ColorConvertOp/SRGB.png.i
@@ -2449,6 +2438,7 @@ data/src/share/classes/java/lang/management/LockInfo.java.i
data/src/share/classes/com/sun/tools/jdi/EventRequestManagerImpl.java.i
data/test/java/io/Serializable/clearHandleTable/ClearHandleTable.java.i
data/test/javax/security/auth/PrivateCredentialPermission/CanonError.java.i
+data/src/windows/bin/i586/jvm.cfg.i
data/src/share/native/sun/security/ec/impl/ecl.h.i
data/src/share/classes/sun/font/PhysicalFont.java.i
data/src/share/classes/sun/java2d/pipe/BufferedMaskFill.java.i
@@ -2456,6 +2446,7 @@ data/src/share/sample/scripting/scriptpad/src/scripts/insertfile.js.i
data/test/java/lang/Runtime/exec/Duped.java.i
data/src/share/demo/applets/SortDemo/SortAlgorithm.java.i
data/test/java/util/PluggableLocale/providersrc/java.text.spi.DateFormatSymbolsProvider.i
+data/src/solaris/classes/sun/font/NativeGlyphMapper.java.i
data/src/share/classes/sun/util/resources/LocaleNames_en_PH.properties.i
data/test/java/awt/Frame/ShownOnPack/ShownOnPack.java.i
data/make/mkdemo/applets/Makefile.i
@@ -2474,10 +2465,12 @@ data/src/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java.i
data/test/java/nio/file/Files/SBC.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/MultipleArgumentsForOptionException.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsSplitPaneUI.java.i
-data/test/java/util/ResourceBundle/Control/StressOut_ko.properties.i
+data/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArrayIntInt.java.i
data/test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup.java.i
+data/src/share/classes/com/sun/jmx/snmp/InetAddressAcl.java.i
data/src/share/classes/javax/xml/crypto/dsig/XMLSignature.java.i
data/make/mkdemo/applets/SortDemo/Makefile.i
+data/src/windows/native/sun/windows/awt_Frame.h.i
data/src/share/classes/java/util/jar/JarFile.java.i
data/src/share/classes/sun/nio/cs/ext/IBM1142.java.i
data/src/linux/doc/man/ja/javah.1.i
@@ -2488,26 +2481,28 @@ data/src/share/classes/java/util/prefs/Base64.java.i
data/test/java/io/Serializable/oldTests/ArraysOfArrays.java.i
data/test/java/net/Socket/LingerTest.java.i
data/make/java/instrument/mapfile-vers.i
+data/src/solaris/doc/sun/man/man1/jstack.1.i
data/test/java/lang/HashCode.java.i
data/src/share/classes/com/sun/nio/sctp/SctpStandardSocketOption.java.i
data/src/share/classes/javax/management/package.html.i
data/src/share/classes/sun/security/krb5/KrbAppMessage.java.i
data/src/share/classes/java/net/Inet6AddressImpl.java.i
-data/test/java/util/Locale/Bug4184873_yi.i
data/test/javax/sound/midi/Gervill/SoftLowFrequencyOscillator/TestProcessControlLogic.java.i
data/src/share/classes/sun/util/calendar/JulianCalendar.java.i
-data/src/solaris/classes/sun/nio/ch/SctpPeerAddrChange.java.i
+data/test/com/sun/crypto/provider/TLS/TestPremaster.java.i
+data/test/java/net/URL/Protocol.java.i
data/src/share/classes/javax/imageio/event/package.html.i
-data/src/share/classes/javax/management/event/EventRelay.java.i
+data/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive.java.i
data/src/share/classes/java/nio/channels/SelectableChannel.java.i
+data/make/tools/classanalyzer/src/com/sun/classanalyzer/ShowRefs.java.i
data/make/tools/swing-beans/beaninfo/images/JMenuItemColor16.gif.i
data/test/org/openjdk/jigsaw/resolver.sh.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_es.properties.i
data/test/java/awt/List/SetBackgroundTest/SetBackgroundTest.java.i
data/src/share/classes/com/sun/imageio/stream/CloseableDisposerRecord.java.i
-data/src/share/classes/sun/io/ByteToCharCp933.java.i
+data/test/java/io/pathNames/win32/SJIS.java.i
data/test/java/io/Serializable/skippedObjCNFException/Read.java.i
-data/src/share/classes/javax/management/remote/rmi/RMIConnection.java.i
+data/src/solaris/native/sun/awt/awt_Window.h.i
data/src/solaris/native/sun/awt/awt_p.h.i
data/src/windows/native/sun/java2d/windows/DDRenderer.cpp.i
data/src/share/classes/sun/util/logging/resources/logging_zh_CN.properties.i
@@ -2515,7 +2510,7 @@ data/src/windows/native/sun/windows/awt_TextArea.cpp.i
data/src/share/classes/javax/swing/plaf/metal/package.html.i
data/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibTable.java.i
data/test/java/rmi/registry/classPathCodebase/ClassPathCodebase.java.i
-data/test/javax/swing/GroupLayout/7071166/bug7071166.java.i
+data/test/java/beans/Introspector/Test6277246.java.i
data/src/share/classes/sun/tools/tree/ConvertExpression.java.i
data/test/sun/net/www/protocol/http/B5017051.java.i
data/test/java/net/URLConnection/GetContentType.java.i
@@ -2523,7 +2518,6 @@ data/test/java/rmi/activation/ActivateFailedException/activateFails/ShutdownThre
data/test/java/nio/Buffer/CharAt.java.i
data/make/jpda/transport/socket/Makefile.i
data/src/share/classes/sun/tools/tree/CastExpression.java.i
-data/src/share/native/common/check_version.c.i
data/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_zh_TW.properties.i
data/src/share/classes/java/security/PrivateKey.java.i
data/src/share/native/sun/font/layout/CharSubstitutionFilter.h.i
@@ -2532,13 +2526,14 @@ data/src/share/classes/javax/swing/GrayFilter.java.i
data/src/share/classes/com/sun/tracing/dtrace/DependencyClass.java.i
data/make/tools/compile_properties/Makefile.i
data/src/share/classes/sun/tools/tree/LengthExpression.java.i
+data/src/share/classes/sun/jvmstat/perfdata/monitor/v1_0/PerfDataBufferPrologue.java.i
data/src/linux/doc/man/ja/jhat.1.i
data/test/java/rmi/server/useCustomRef/UseCustomRef_Skel.java.i
data/src/share/classes/sun/reflect/UnsafeBooleanFieldAccessorImpl.java.i
data/src/share/classes/javax/script/ScriptException.java.i
-data/src/share/classes/java/awt/image/renderable/RenderContext.java.i
+data/test/java/awt/font/StyledMetrics/BoldSpace.java.i
data/make/sun/javazic/tzdata/iso3166.tab.i
-data/src/share/classes/sun/io/ByteToCharCp935.java.i
+data/src/share/classes/sun/misc/JavaIOAccess.java.i
data/src/solaris/native/java/io/FileInputStream_md.c.i
data/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.properties.i
data/test/com/sun/crypto/provider/Cipher/RC2ArcFour/CipherKAT.java.i
@@ -2551,24 +2546,29 @@ data/test/java/io/Serializable/packageAccess/run.sh.i
data/src/share/classes/com/sun/media/sound/SoftChannel.java.i
data/src/share/classes/java/util/zip/ZipError.java.i
data/test/javax/swing/border/Test4129681.java.i
+data/src/share/classes/java/nio/Heap-X-Buffer.java.i
data/test/java/net/InetAddress/GetLoopbackAddress.java.i
-data/src/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java.i
+data/src/share/classes/sun/util/locale/AsciiUtil.java.i
data/src/solaris/classes/sun/java2d/xr/DirtyRegion.java.i
data/test/javax/management/monitor/ThreadPoolTest.java.i
data/src/share/native/sun/security/ec/impl/mp_gf2m-priv.h.i
data/test/javax/management/loading/mlet2.html.i
data/test/com/sun/security/sasl/digest/CheckNegotiatedQOPs.java.i
+data/test/sun/security/provider/PolicyFile/Comparator.java.i
data/test/java/awt/GraphicsEnvironment/LoadLock/GE_init6.java.i
+data/src/share/classes/sun/util/resources/LocaleNames_zh.properties.i
data/src/share/classes/java/text/MergeCollation.java.i
-data/src/share/classes/com/sun/tools/example/debug/tty/Commands.java.i
-data/src/share/classes/java/sql/Types.java.i
+data/test/com/sun/security/sasl/util/CheckAccess.java.i
+data/src/share/classes/sun/reflect/ClassFileAssembler.java.i
data/src/share/native/sun/awt/image/jpeg/jdmerge.c.i
data/test/com/sun/security/sasl/digest/Integrity.java.i
data/src/share/classes/sun/invoke/util/VerifyAccess.java.i
-data/make/com/sun/jndi/dns/Makefile.i
+data/test/java/util/PluggableLocale/TimeZoneNameProviderTest.java.i
data/src/share/classes/sun/net/www/content/audio/x_wav.java.i
+data/test/sun/tools/jcmd/jcmd-f.sh.i
data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPIdentities.java.i
data/src/share/classes/sun/text/resources/FormatData_es_UY.java.i
+data/test/javax/swing/border/Test6625450.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicMenuUI.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/DesktopProperty.java.i
data/test/com/sun/security/auth/module/KeyStoreLoginModule/OptionTest.java.i
@@ -2580,55 +2580,51 @@ data/src/share/native/java/lang/fdlibm/src/e_hypot.c.i
data/src/share/classes/sun/security/krb5/internal/crypto/ArcFourHmac.java.i
data/src/share/classes/java/util/logging/LogRecord.java.i
data/src/windows/native/sun/windows/awt_Object.cpp.i
-data/src/share/classes/sun/security/provider/certpath/X509CertificatePair.java.i
-data/src/share/classes/javax/swing/text/TabExpander.java.i
data/src/share/classes/java/lang/management/BufferPoolMXBean.java.i
data/src/share/classes/javax/xml/crypto/dsig/XMLSignatureFactory.java.i
data/src/solaris/native/sun/awt/img_util_md.h.i
-data/test/java/util/regex/POSIX_Unicode.java.i
data/src/share/native/sun/awt/medialib/mlib_ImageAffine.h.i
data/src/solaris/doc/sun/man/man1/ja/jmap.1.i
-data/test/javax/management/ImplementationVersion/ImplVersionReader.java.i
+data/make/modules/jdk.awt.ls.i
data/test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshalOnStopThread.java.i
-data/test/org/openjdk/jigsaw/cli/signer-prikey.pem.i
-data/src/share/classes/sun/tools/tree/NewInstanceExpression.java.i
+data/test/sun/rmi/server/MarshalOutputStream/marshalForeignStub/MarshalForeignStub.java.i
+data/src/windows/classes/sun/java2d/windows/Win32OffScreenSurfaceData.java.i
data/src/share/classes/javax/print/attribute/standard/JobKOctetsProcessed.java.i
data/test/java/util/List/LockStep.java.i
data/src/share/classes/sun/nio/cs/ext/IBM865.java.i
data/src/share/classes/com/sun/jndi/ldap/pool/ConnectionDesc.java.i
-data/src/share/classes/com/sun/jndi/ldap/LdapCtx.java.i
-data/test/java/nio/channels/Channels/Write.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_it_IT.properties.i
data/src/share/classes/javax/swing/plaf/synth/SynthSeparatorUI.java.i
data/make/tools/GenerateCharacter/CharacterData00.java.template.i
-data/src/share/classes/sun/net/www/protocol/http/spnego/NegotiatorImpl.java.i
+data/src/share/classes/sun/reflect/FieldAccessorImpl.java.i
data/src/share/classes/java/io/StringWriter.java.i
-data/src/share/classes/sun/management/CompilationImpl.java.i
-data/src/share/classes/java/lang/module/ViewDependence.java.i
-data/src/share/classes/sun/tools/tree/WhileStatement.java.i
+data/test/javax/crypto/JceSecurity/MyProvider.java.i
data/src/share/classes/javax/management/Impact.java.i
data/src/share/classes/javax/management/remote/rmi/NoCallStackClassLoader.java.i
data/src/share/classes/sun/java2d/loops/Blit.java.i
data/test/java/nio/channels/AsynchronousFileChannel/LotsOfWrites.java.i
data/make/tools/src/build/tools/fontchecker/FontFileFilter.java.i
-data/src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageWriter.java.i
+data/test/javax/imageio/plugins/png/ItxtUtf8Test.java.i
data/src/solaris/classes/sun/security/provider/NativePRNG.java.i
data/src/share/classes/sun/awt/WindowClosingSupport.java.i
-data/test/java/util/PluggableLocale/providersrc/java.text.spi.NumberFormatProvider.i
data/src/solaris/native/sun/awt/multiVis.c.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/ShadowEffect.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageCopy_blk.s.i
data/src/share/classes/java/lang/ThreadLocal.java.i
data/src/share/classes/sun/tools/tree/CatchStatement.java.i
data/src/share/classes/sun/awt/image/WritableRasterNative.java.i
-data/src/windows/native/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.c.i
+data/test/java/util/concurrent/BlockingQueue/MultipleProducersSingleConsumerLoops.java.i
+data/test/javax/crypto/Cipher/TestCipherMode.java.i
data/test/java/io/Serializable/oldTests/SerializeWithException.java.i
+data/src/linux/doc/man/orbd.1.i
data/src/share/classes/sun/text/resources/FormatData_en_MT.java.i
+data/test/java/rmi/activation/Activatable/shutdownGracefully/ShutdownGracefully.java.i
data/src/share/classes/com/sun/jndi/toolkit/url/GenericURLDirContext.java.i
data/src/share/classes/sun/text/resources/FormatData_es_US.java.i
data/test/java/security/KeyRep/DES.pre.1.5.key.i
data/src/share/classes/sun/text/resources/CollationData_iw.java.i
data/test/java/beans/VetoableChangeSupport/TestSerialization.java.i
-data/src/share/classes/java/nio/file/StandardCopyOption.java.i
+data/make/tools/swing-beans/beaninfo/images/JDialogColor16.gif.i
data/src/share/classes/java/util/logging/ConsoleHandler.java.i
data/src/share/classes/java/net/URLConnection.java.i
data/test/java/util/zip/ZipFile/ReadZip.java.i
@@ -2636,16 +2632,18 @@ data/src/share/classes/javax/swing/plaf/metal/icons/Error.gif.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315ExclOmitComments.java.i
data/src/share/classes/sun/awt/image/PixelConverter.java.i
data/make/tools/src/build/tools/jdwpgen/AltNode.java.i
-data/src/share/classes/javax/accessibility/AccessibleEditableText.java.i
data/src/share/classes/sun/tools/jconsole/inspector/XMBeanNotifications.java.i
data/test/java/rmi/reliability/benchmark/bench/serial/ExternObjTrees.java.i
data/test/javax/management/monitor/AttributeArbitraryDataTypeTest.java.i
data/test/java/lang/Class/Cast.java.i
+data/src/share/classes/com/sun/jdi/InvalidTypeException.java.i
+data/src/share/classes/java/lang/NoSuchFieldException.java.i
data/test/com/sun/crypto/provider/Cipher/AES/TestKATForECB_VK.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/OptionParser.java.i
data/src/share/classes/java/net/PortUnreachableException.java.i
data/src/share/classes/sun/io/CharToByteCp280.java.i
data/test/java/lang/StringBuffer/Replace.java.i
+data/src/share/demo/applets/SortDemo/BubbleSortAlgorithm.java.i
data/src/share/classes/com/sun/jndi/dns/DnsContext.java.i
data/test/javax/naming/ldap/LdapName/TrailingSpaceTest.java.i
data/src/share/classes/com/sun/media/sound/PortMixer.java.i
@@ -2656,14 +2654,16 @@ data/src/share/classes/sun/security/pkcs/ContentInfo.java.i
data/src/share/classes/java/rmi/activation/ActivateFailedException.java.i
data/src/share/classes/com/sun/jmx/snmp/defaults/DefaultPaths.java.i
data/src/share/classes/sun/nio/cs/StreamDecoder.java.i
+data/test/java/io/Serializable/longString/LongString.java.i
data/src/solaris/doc/sun/man/man1/javah.1.i
-data/src/share/classes/sun/io/ByteToCharCp1123.java.i
-data/src/share/classes/sun/text/resources/CollationData_fr.java.i
+data/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_4.java.i
data/make/tools/swing-beans/beaninfo/images/JTreeColor16.gif.i
data/src/share/classes/javax/xml/crypto/URIReference.java.i
data/test/java/util/EnumSet/Range.java.i
data/src/solaris/doc/sun/man/man1/ja/orbd.1.i
data/src/share/classes/java/io/Reader.java.i
+data/test/sun/security/validator/samedn.sh.i
+data/src/share/native/sun/security/ec/impl/mp_gf2m.h.i
data/test/java/rmi/reliability/benchmark/bench/serial/ProxyArrays.java.i
data/src/solaris/doc/sun/man/man1/ja/idlj.1.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/resource/config.dtd.i
@@ -2672,7 +2672,7 @@ data/test/java/lang/instrument/MakeJAR2.sh.i
data/test/java/rmi/activation/CommandEnvironment/Retireable.java.i
data/src/windows/classes/sun/nio/fs/DefaultFileTypeDetector.java.i
data/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibRequestImpl.java.i
-data/make/com/sun/crypto/provider/Makefile.i
+data/src/solaris/classes/sun/awt/X11/Native.java.i
data/test/java/lang/instrument/PremainClass/ZeroArgPremainAgent.sh.i
data/src/share/classes/sun/io/ByteToCharEUC_CN.java.i
data/src/share/classes/sun/text/resources/FormatData_ro_RO.java.i
@@ -2680,85 +2680,88 @@ data/test/java/lang/ProcessBuilder/FeelingLucky.java.i
data/src/share/native/java/util/zip/zlib-1.2.3/trees.h.i
data/src/share/classes/java/security/spec/ECPrivateKeySpec.java.i
data/make/tools/CharsetMapping/IBM1364.c2b.i
-data/src/share/classes/com/sun/jmx/snmp/internal/SnmpSecurityModel.java.i
+data/make/tools/CharsetMapping/ISO_8859_2.map.i
data/src/share/classes/sun/util/resources/CurrencyNames_de_DE.properties.i
-data/src/share/classes/com/sun/net/ssl/X509KeyManager.java.i
+data/test/java/rmi/server/Unreferenced/leaseCheckInterval/LeaseCheckInterval_Stub.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsToggleButtonUI.java.i
-data/src/share/classes/sun/font/GlyphDisposedListener.java.i
data/src/share/classes/com/sun/media/sound/SoftChannelProxy.java.i
-data/src/share/classes/sun/nio/ch/Interruptible.java.i
data/src/share/classes/sun/nio/cs/ext/SJIS.java.i
data/src/share/demo/jfc/Font2DTest/RangeMenu.java.i
-data/src/solaris/native/sun/nio/ch/PollArrayWrapper.c.i
-data/src/share/classes/com/sun/tools/example/doc/index.html.i
+data/test/java/security/SecureRandom/sha1prng-old.bin.i
+data/test/java/net/MulticastSocket/B6427403.java.i
data/src/share/native/sun/awt/medialib/mlib_ImageAffine_NN.c.i
-data/src/share/classes/com/sun/jmx/snmp/internal/SnmpModel.java.i
+data/src/share/classes/javax/sql/package.html.i
data/make/tools/CharsetMapping/IBM935.map.i
-data/src/windows/native/sun/jkernel/graphics/masthead.bmp.i
+data/test/java/nio/file/Files/walkFileTree/grantAll.policy.i
data/test/sun/net/www/ParseUtil_6274990.java.i
data/src/share/classes/javax/imageio/metadata/doc-files/jpeg_metadata.html.i
data/src/share/classes/com/sun/tools/hat/internal/model/HackJavaValue.java.i
data/test/com/sun/crypto/provider/Cipher/UTIL/StrongOrUnlimited.java.i
data/test/java/io/File/EmptyPath.java.i
-data/src/share/classes/java/security/AlgorithmParameterGenerator.java.i
+data/src/share/classes/javax/swing/plaf/nimbus/ImageCache.java.i
data/test/java/lang/Class/getEnclosingClass/common/TestMe.java.i
data/test/java/rmi/transport/checkFQDN/CheckFQDNClient.java.i
data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/EchoService.java.i
data/test/sun/nio/cs/TestTrailingEscapesISO2022JP.java.i
data/src/share/classes/java/awt/SecondaryLoop.java.i
data/src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java.i
-data/src/share/classes/java/awt/font/GlyphJustificationInfo.java.i
+data/test/sun/security/rsa/TestCACerts.java.i
data/test/java/awt/GridBagLayout/GridBagLayoutIpadXYTest/GridBagLayoutIpadXYTest.html.i
data/src/share/classes/java/nio/channels/spi/AbstractSelectableChannel.java.i
data/src/share/classes/javax/naming/ldap/BasicControl.java.i
data/src/share/classes/sun/tools/tree/NotExpression.java.i
-data/test/sun/nio/cs/FindASCIIRangeCodingBugs.java.i
+data/src/share/classes/sun/io/CharToByteMacCentralEurope.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmRTBootClassPathEntryMeta.java.i
data/src/share/classes/javax/swing/ViewportLayout.java.i
-data/src/share/native/sun/security/ec/impl/ecdecode.c.i
-data/test/java/net/DatagramSocketImpl/CheckDiscard.java.i
data/src/linux/doc/man/serialver.1.i
data/src/windows/native/sun/windows/awt_DesktopProperties.cpp.i
data/test/java/lang/management/ThreadMXBean/ThreadCounts.java.i
-data/src/share/native/sun/java2d/opengl/OGLMaskFill.c.i
+data/src/share/native/sun/font/layout/LESwaps.h.i
+data/test/java/util/Collections/T5078378.java.i
data/src/share/classes/sun/management/snmp/jvminstr/JvmMemoryImpl.java.i
data/test/java/io/Serializable/fieldTypeString/Write.java.i
data/src/share/classes/com/sun/tools/hat/internal/model/JavaObjectRef.java.i
data/src/share/classes/java/beans/NameGenerator.java.i
data/src/windows/classes/sun/nio/ch/FileDispatcher.java.i
data/src/share/classes/javax/management/MBeanServerConnection.java.i
-data/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java.i
data/src/share/sample/nio/server/N1.java.i
data/src/solaris/classes/sun/java2d/pisces/META-INF/services/sun.java2d.pipe.RenderingEngine.i
data/src/windows/native/sun/windows/initIDs.cpp.i
data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/MiscTests.java.i
data/make/tools/CharsetMapping/ISO_8859_4.map.i
-data/make/tools/src/build/tools/jdwpgen/AbstractTypeListNode.java.i
+data/test/sun/util/resources/TimeZone/Bug4858517.java.i
data/src/share/classes/sun/misc/SignalHandler.java.i
+data/src/share/native/sun/security/pkcs11/wrapper/pkcs11.h.i
+data/test/java/io/File/FileMethods.java.i
data/test/java/io/Serializable/skipWriteObject/Write.java.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/rmi/MonitoredHostProvider.java.i
data/src/share/classes/javax/xml/crypto/dsig/spec/XPathFilterParameterSpec.java.i
+data/make/tools/CharsetMapping/IBM277.nr.i
data/src/share/classes/sun/print/PrintJobFlavorException.java.i
data/src/solaris/native/sun/java2d/x11/XRBackendNative.c.i
data/test/java/util/Vector/SyncLastIndexOf.java.i
data/src/share/classes/sun/nio/cs/ext/MacThai.java.i
data/src/share/classes/java/net/InetAddressImpl.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/TransformationException.java.i
-data/test/java/rmi/activation/Activatable/createPrivateActivable/group.security.policy.i
+data/src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_TW.properties.i
+data/src/share/classes/java/beans/ThreadGroupContext.java.i
data/make/common/Defs.gmk.i
data/test/sun/security/x509/X500Name/EmailKeyword.java.i
-data/test/sun/security/pkcs11/fips/certs/ca.cer.i
+data/src/share/classes/java/awt/doc-files/RadialGradientPaint-4.png.i
+data/test/java/awt/image/ImagingOpsNoExceptionsTest/ImagingOpsNoExceptionsTest.java.i
data/src/share/classes/sun/tools/tree/BinaryArithmeticExpression.java.i
data/src/share/classes/com/sun/media/sound/ModelMappedInstrument.java.i
data/test/com/sun/jdi/RedefineCrossEvent.java.i
data/test/java/security/UnresolvedPermission/Debug.java.i
data/src/share/native/sun/font/layout/ScriptAndLanguageTags.h.i
+data/test/java/util/EnumSet/SmallEnumIteratorRemoveResilience.java.i
data/test/java/awt/font/TextLayout/VisibleAdvance.java.i
data/src/share/classes/javax/naming/Reference.java.i
+data/src/share/native/java/util/zip/zlib-1.2.5/infback.c.i
data/src/share/classes/sun/reflect/UnsafeQualifiedStaticIntegerFieldAccessorImpl.java.i
data/src/share/classes/javax/swing/event/InternalFrameListener.java.i
data/test/java/nio/file/attribute/DosFileAttributeView/Basic.java.i
data/src/share/classes/sun/tools/jconsole/MemoryTab.java.i
+data/src/windows/classes/sun/awt/windows/WMenuPeer.java.i
data/make/tools/CharsetMapping/IBM838.nr.i
data/src/solaris/doc/sun/man/man1/jconsole.1.i
data/test/java/beans/PropertyEditor/TestLongType.java.i
@@ -2768,70 +2771,70 @@ data/src/share/classes/javax/print/attribute/standard/JobImpressionsSupported.ja
data/test/com/sun/crypto/provider/TLS/keymatdata.txt.i
data/src/share/classes/com/sun/jdi/connect/spi/ClosedConnectionException.java.i
data/src/share/classes/com/sun/tools/jdi/resources/jdi.properties.i
-data/src/share/classes/com/sun/jndi/dns/ResourceRecord.java.i
+data/test/javax/print/applet/applet2/Applet2PrintServiceLookup.java.i
data/src/share/classes/javax/swing/plaf/metal/icons/ocean/warning.png.i
data/test/sun/nio/cs/OLD/IBM937_OLD.java.i
data/test/sun/nio/cs/OLD/IBM937_OLD.java.d
data/test/java/util/EnumSet/ComplementOf.java.i
data/src/share/classes/sun/text/resources/FormatData_en_SG.java.i
-data/src/share/demo/jfc/Metalworks/BigContrastMetalTheme.java.i
-data/src/solaris/native/sun/awt/awt_PopupMenu.h.i
+data/test/com/sun/jndi/ldap/NoWaitForReplyTest.java.i
data/test/java/beans/XMLEncoder/java_util_Collections_UnmodifiableList.java.i
data/src/share/classes/sun/security/validator/PKIXValidator.java.i
data/src/share/classes/sun/misc/Version-template.java.i
data/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibSubRequest.java.i
-data/test/java/nio/file/WatchService/LotsOfEvents.java.i
+data/src/share/sample/nio/file/DiskUsage.java.i
data/make/sun/security/tools/Makefile.i
data/make/tools/jdwpgen/Makefile.i
data/src/share/classes/java/nio/channels/SelectionKey.java.i
data/src/share/classes/java/beans/beancontext/BeanContextServiceProvider.java.i
data/make/com/sun/inputmethods/indicim/Makefile.i
-data/src/share/classes/org/openjdk/jigsaw/FilePaths.java.i
data/test/sun/security/ssl/templates/SSLSocketTemplate.java.i
data/test/javax/crypto/spec/RC2ParameterSpec/RC2AlgorithmParameters.java.i
-data/src/share/classes/com/sun/jndi/ldap/ext/StartTlsResponseImpl.java.i
+data/src/share/classes/javax/management/loading/MLetMBean.java.i
+data/test/java/io/SequenceInputStream/ConstructorNull.java.i
data/test/sun/security/pkcs11/KeyStore/ProviderLoader.java.i
data/src/share/classes/com/sun/crypto/provider/OAEPParameters.java.i
+data/test/tools/pack200/T7007157.java.i
data/src/solaris/native/sun/awt/awt_dnd_dt.c.i
-data/src/solaris/classes/sun/awt/motif/MFontConfiguration.java.i
+data/src/solaris/native/java/io/FileSystem_md.c.i
data/test/java/beans/PropertyEditor/TestIntegerClass.java.i
data/test/sun/util/resources/TimeZone/Bug6317929.java.i
-data/test/java/awt/Robot/CtorTest/CtorTest.java.i
data/src/share/classes/java/nio/BufferPoolMXBean.java.i
data/src/share/back/MethodImpl.c.i
-data/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh.i
-data/src/share/classes/java/sql/ClientInfoStatus.java.i
+data/src/share/classes/sun/security/x509/CertificateExtensions.java.i
+data/src/share/classes/sun/security/krb5/internal/Authenticator.java.i
data/make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemColor32.gif.i
data/src/share/classes/javax/naming/InvalidNameException.java.i
data/src/share/native/java/io/io_util.c.i
data/test/java/lang/Integer/ValueOf.java.i
data/test/com/sun/jdi/redefineMethod/RedefineSubTarg.java.i
-data/test/java/beans/Statement/Test6224433.java.i
-data/test/java/io/StringWriter/NegativeBufferSize.java.i
data/src/share/classes/sun/misc/URLClassPath.java.i
+data/test/sun/tools/jconsole/ResourceCheckTest.java.i
data/src/share/classes/java/awt/Event.java.i
data/src/share/classes/javax/management/MBeanRegistration.java.i
+data/test/java/io/Serializable/sanityCheck/SanityCheck.java.i
data/src/share/classes/com/sun/jdi/VMCannotBeModifiedException.java.i
data/src/share/classes/sun/io/CharToByteCp866.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifFileChooserUI.java.i
data/test/java/util/concurrent/ConcurrentLinkedQueue/ConcurrentQueueLoops.java.i
data/test/java/io/PushbackInputStream/Skip.java.i
-data/make/sun/security/jgss/wrapper/mapfile-vers.i
+data/src/share/classes/javax/imageio/plugins/jpeg/package.html.i
data/test/javax/crypto/spec/RC2ParameterSpec/RC2ParameterSpecEquals.java.i
data/test/java/security/testlibrary/Providers.java.i
data/test/sun/security/pkcs11/Provider/ConfigQuotedString-nss.txt.i
data/src/share/classes/java/awt/KeyboardFocusManager.java.i
data/src/solaris/native/sun/security/jgss/wrapper/NativeFunc.h.i
data/src/share/classes/com/sun/jmx/snmp/SnmpEngineFactory.java.i
-data/src/share/classes/java/io/OutputStreamWriter.java.i
-data/test/java/net/URLConnection/DisconnectAfterEOF.java.i
+data/test/java/lang/ClassLoader/defineClass/DefineClassByteBuffer.java.i
data/test/sun/net/www/protocol/http/B6369510.java.i
data/src/share/classes/sun/security/jgss/GSSUtil.java.i
-data/src/share/classes/com/sun/jndi/ldap/BindingWithControls.java.i
+data/src/share/classes/sun/nio/ch/ThreadPool.java.i
+data/src/share/classes/com/sun/tools/hat/internal/model/ReachableObjects.java.i
data/src/solaris/classes/sun/print/CUPSPrinter.java.i
data/src/share/demo/applets/MoleculeViewer/example1.html.i
data/src/solaris/native/sun/awt/gtk2_interface.c.i
-data/src/share/classes/com/sun/media/sound/ModelByteBufferWavetable.java.i
+data/make/tools/src/build/tools/javazic/RuleDay.java.i
+data/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java.i
data/test/java/security/Signature/ByteBuffers.java.i
data/src/solaris/classes/sun/awt/X11/XTrayIconPeer.java.i
data/test/com/sun/jdi/FinalLocalsTest.java.i
@@ -2847,19 +2850,18 @@ data/src/solaris/native/sun/nio/ch/SctpChannelImpl.c.i
data/make/tools/reorder/tools/MaxTime.java.i
data/src/share/native/sun/awt/libpng/pngpriv.h.i
data/test/java/lang/StringBuffer/AppendSB.java.i
-data/src/share/classes/sun/reflect/generics/tree/Tree.java.i
-data/src/share/classes/com/sun/jmx/snmp/SnmpCounter64.java.i
+data/test/java/util/Formatter/Basic-X.java.i
+data/src/share/classes/java/rmi/activation/ActivationGroupID.java.i
data/src/share/classes/java/awt/event/MouseAdapter.java.i
data/src/share/classes/java/security/CodeSigner.java.i
data/test/java/lang/instrument/PremainClass/InheritAgent0010.java.i
-data/src/linux/doc/man/ja/xjc.1.i
+data/src/share/classes/javax/swing/JFrame.java.i
data/src/share/classes/sun/tools/tree/DoStatement.java.i
data/src/share/classes/com/sun/jdi/connect/spi/Connection.java.i
data/test/javax/management/remote/mandatory/connection/ReconnectTest.java.i
data/src/share/classes/sun/tools/tree/CaseStatement.java.i
data/make/README.html.i
data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/TemplateWriter.java.i
-data/src/share/classes/sun/management/snmp/jvmmib/JvmMemPoolTableMeta.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_es_NI.properties.i
data/src/share/classes/sun/security/jgss/SunProvider.java.i
data/test/java/beans/Introspector/Test4619536.java.i
@@ -2873,46 +2875,49 @@ data/test/demo/jvmti/hprof/CpuTimesTest.java.i
data/test/javax/xml/crypto/dsig/X509KeySelector.java.i
data/src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java.i
data/test/java/io/Serializable/6559775/SerialRace.java.i
+data/test/java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.java.i
data/src/solaris/classes/sun/java2d/xr/GrowablePointArray.java.i
data/src/share/classes/javax/management/openmbean/OpenMBeanOperationInfoSupport.java.i
data/test/javax/print/applet/applet4/Applet4PrintService.java.i
data/src/share/classes/sun/security/x509/README.i
-data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMInformInterestedHost.java.i
+data/src/share/classes/javax/management/BadAttributeValueExpException.java.i
+data/src/share/classes/javax/management/StandardMBean.java.i
data/src/share/classes/sun/io/CharToByteISO8859_9.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java.i
data/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLong.java.i
data/src/share/classes/sun/io/UnknownCharacterException.java.i
data/src/share/classes/java/util/zip/ZipConstants64.java.i
data/src/solaris/npt/npt_md.h.i
-data/src/share/classes/sun/swing/plaf/synth/SynthUI.java.i
data/src/share/classes/java/beans/ParameterDescriptor.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalTitlePane.java.i
data/test/java/util/Locale/data/deflocale.winvista.i
+data/test/java/nio/channels/FileChannel/Transfer.java.i
data/test/java/rmi/transport/pinLastArguments/PinLastArguments.java.i
data/test/demo/jvmti/mtrace/JFrameCreateTime.java.i
data/src/share/demo/nbproject/management/JTop/nbproject/file-targets.xml.i
data/test/java/lang/instrument/redefineAgent.mf.i
-data/make/com/sun/java/pack/mapfile-vers.i
data/make/modules/image.tools.ls.i
-data/src/share/modules/jdk.awt/module-info.java.i
+data/test/java/rmi/reliability/benchmark/bench/serial/Chars.java.i
+data/src/share/sample/README.i
data/test/com/sun/crypto/provider/Cipher/AES/TestKATForECB_VT.java.i
+data/test/sun/nio/cs/OLD/IBM970_OLD.java.i
data/src/share/classes/java/net/ProxySelector.java.i
data/test/java/util/AbstractList/FailFastIterator.java.i
-data/src/share/classes/javax/swing/text/rtf/RTFParser.java.i
+data/src/windows/classes/sun/net/www/protocol/jar/JarFileFactory.java.i
data/src/share/classes/javax/swing/undo/CannotRedoException.java.i
data/src/share/classes/com/sun/jdi/VirtualMachineManager.java.i
data/src/share/classes/javax/management/MBeanServerBuilder.java.i
+data/src/share/native/sun/awt/medialib/mlib_ImageConv_D64nw.c.i
data/src/share/classes/sun/security/provider/certpath/SunCertPathBuilderParameters.java.i
data/src/share/classes/sun/security/x509/EDIPartyName.java.i
data/src/share/classes/com/sun/rowset/internal/CachedRowSetReader.java.i
data/src/share/classes/com/sun/rowset/providers/package.html.i
data/test/java/rmi/server/UnicastRemoteObject/changeHostName/ChangeHostName_Stub.java.i
-data/src/share/native/sun/font/layout/LigatureSubstProc.cpp.i
-data/make/java/main/java/mapfile-sparc.i
+data/test/com/sun/jdi/sde/FilterMangleTest.java.i
data/src/share/classes/sun/util/resources/LocaleNames_zh_SG.properties.i
data/test/javax/swing/JComboBox/7031551/bug7031551.java.i
data/src/share/classes/com/sun/jmx/snmp/internal/SnmpIncomingRequest.java.i
-data/src/share/classes/sun/io/CharToByteCp834.java.i
+data/src/share/classes/sun/util/resources/TimeZoneNamesBundle.java.i
data/src/share/classes/sun/dyn/util/package-info.java.i
data/test/java/lang/InheritableThreadLocal/Basic.java.i
data/src/share/classes/java/util/Deque.java.i
@@ -2929,30 +2934,33 @@ data/src/share/classes/com/sun/java/util/jar/pack/Driver.java.i
data/test/javax/security/auth/PrivateCredentialPermission/Serial.policy.i
data/test/java/rmi/reliability/scripts/run_juicer.ksh.i
data/make/tools/CharsetMapping/MacSymbol.map.i
+data/test/com/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider.i
data/test/com/sun/jdi/SDENullTest.java.i
data/src/share/demo/jvmti/hprof/hprof_stack.c.i
-data/test/java/net/Socket/reset/Test.java.i
data/src/share/native/sun/awt/medialib/mlib_types.h.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/resource/schema/xenc-schema.xsd.i
data/src/share/classes/sun/io/CharToByteCp862.java.i
-data/make/tools/CharsetMapping/IBM1143.map.i
+data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/MyX509KeyManager.java.i
data/test/com/sun/crypto/provider/Cipher/AES/Test4626070.java.i
data/src/solaris/classes/sun/awt/motif/AWTLockAccess.java.i
data/make/tools/swing-beans/beaninfo/images/JTextAreaMono32.gif.i
-data/test/sun/text/resources/Format/Bug4395196.java.i
+data/src/share/native/sun/awt/medialib/mlib_ImageConv2x2_f.c.i
data/src/share/classes/sun/io/ByteToCharPCK.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIU16U8Func.c.i
-data/src/share/classes/sun/io/ByteToCharCp856.java.i
+data/src/share/demo/jfc/Font2DTest/resources/TextResources_ko.properties.i
+data/test/java/security/cert/pkix/policyChanges/TestPolicy.java.i
data/src/share/native/sun/awt/image/jpeg/jdcoefct.c.i
+data/test/java/util/Locale/bug4123285.html.i
data/test/java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak_Stub.java.i
data/src/solaris/classes/sun/awt/motif/MEmbeddedFramePeer.java.i
+data/src/share/classes/java/awt/print/PrinterGraphics.java.i
+data/src/share/classes/sun/util/resources/CalendarData_iw.properties.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/Texture.java.i
data/make/tools/src/build/tools/jdwpgen/Node.java.i
data/src/share/classes/javax/swing/plaf/IconUIResource.java.i
data/src/share/classes/java/security/PrivilegedActionException.java.i
data/src/share/classes/sun/text/resources/FormatData_es_AR.java.i
data/make/tools/CharsetMapping/IBM1047.map.i
-data/test/java/io/Serializable/InvalidClassException/noargctor/Serialize/SamePackageCtor.java.i
data/src/solaris/native/sun/awt/awt_dnd.c.i
data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/NoAuthClientAuth.java.i
data/test/com/sun/jdi/RedefineChangeClassOrder.sh.i
@@ -2960,29 +2968,27 @@ data/src/share/native/sun/awt/medialib/mlib_c_ImageAffineIndex_BL.c.i
data/src/share/native/java/net/DatagramPacket.c.i
data/test/java/beans/XMLDecoder/spec/TestDouble.java.i
data/make/java/verify/reorder-i586.i
-data/src/share/classes/com/sun/jdi/event/EventQueue.java.i
-data/src/share/classes/java/awt/datatransfer/FlavorMap.java.i
-data/src/share/classes/sun/text/resources/FormatData_sq.java.i
+data/test/java/awt/Window/OwnedWindowsLeak/OwnedWindowsLeak.java.i
data/src/share/classes/java/net/NoRouteToHostException.java.i
data/src/share/classes/java/dyn/ClassValue.java.i
+data/src/share/classes/sun/tools/java/CompilerError.java.i
data/src/share/classes/com/sun/tools/hat/internal/model/JavaLong.java.i
data/src/share/classes/sun/tools/jps/Arguments.java.i
data/src/solaris/native/sun/java2d/loops/mlib_v_ImageLogic.h.i
data/src/share/classes/com/sun/jmx/remote/internal/ArrayNotificationBuffer.java.i
data/src/share/native/sun/awt/splashscreen/splashscreen_impl.c.i
data/src/share/native/sun/font/layout/SingleSubstitutionSubtables.cpp.i
-data/src/share/native/sun/font/layout/CanonShaping.cpp.i
-data/src/share/classes/com/sun/tools/example/debug/event/JDIListener.java.i
+data/src/solaris/native/sun/nio/ch/SocketChannelImpl.c.i
data/src/share/classes/com/sun/media/sound/ModelChannelMixer.java.i
-data/make/sun/font/Makefile.i
+data/src/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java.i
data/test/java/awt/im/6396526/IMLookAndFeel.java.i
data/src/windows/native/java/net/NetworkInterface.c.i
-data/src/share/classes/sun/jvmstat/monitor/remote/package.html.i
-data/test/java/util/ResourceBundle/Test4300693RB.java.i
+data/src/share/sample/nio/server/README.txt.i
data/test/java/beans/XMLEncoder/javax_swing_plaf_BorderUIResource_TitledBorderUIResource.java.i
data/src/solaris/classes/sun/awt/motif/MPanelPeer.java.i
data/src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java.i
data/src/share/classes/java/lang/Integer.java.i
+data/make/tools/classanalyzer/src/com/sun/classanalyzer/ModuleInfo.java.i
data/test/java/lang/Throwable/ChainedExceptions.java.i
data/test/java/io/Serializable/InvalidClassException/noargctor/NonSerialize/PrivateCtor.java.i
data/test/com/sun/crypto/provider/Cipher/PBE/PKCS12CipherKAT.java.i
@@ -2990,83 +2996,80 @@ data/src/share/classes/com/sun/pept/ept/ContactInfoListIterator.java.i
data/src/share/classes/com/sun/jmx/snmp/internal/SnmpOutgoingRequest.java.i
data/src/share/classes/sun/management/counter/LongCounter.java.i
data/src/share/classes/com/sun/java/util/jar/pack/ClassWriter.java.i
-data/test/java/rmi/server/RMIClassLoader/noSecurityManager/NoSecurityManager.java.i
data/src/share/classes/sun/text/resources/FormatData_ar_YE.java.i
data/src/share/classes/javax/net/ssl/SSLParameters.java.i
data/src/share/classes/sun/java2d/pipe/BufferedPaints.java.i
-data/test/java/lang/instrument/ilib/ClassDump.java.i
+data/test/java/util/Locale/data/deflocale.rhel4.i
data/make/tools/CharsetMapping/Makefile.i
data/make/java/text/Makefile.i
data/test/java/lang/instrument/BootClassPath/BootClassPathTest.sh.i
data/src/share/classes/java/util/EventListener.java.i
-data/src/share/classes/java/lang/reflect/UndeclaredThrowableException.java.i
-data/src/share/classes/sun/awt/WindowClosingListener.java.i
+data/make/modules/update_module.sh.i
+data/test/com/sun/jdi/BreakpointWithFullGC.sh.i
+data/src/share/classes/com/sun/jmx/snmp/IPAcl/ASCII_CharStream.java.i
+data/src/share/classes/sun/management/snmp/jvminstr/JvmRTBootClassPathTableMetaImpl.java.i
+data/src/share/classes/sun/java2d/StateTrackableDelegate.java.i
data/test/java/net/Socket/asyncClose/Socket_getOutputStream_write.java.i
data/src/share/classes/sun/security/util/Resources_fr.java.i
data/test/com/sun/jdi/RequestReflectionTest.java.i
data/src/share/classes/java/util/Objects.java.i
-data/src/share/classes/java/lang/instrument/package.html.i
data/src/share/classes/sun/text/Normalizer.java.i
data/src/share/classes/sun/security/x509/CertificateX509Key.java.i
data/test/sun/security/pkcs11/nss/lib/solaris-sparc/libplds4.so.i
data/src/share/classes/javax/swing/Renderer.java.i
data/test/java/nio/channels/AsynchronousChannelGroup/Basic.java.i
data/src/share/native/sun/font/layout/AnchorTables.h.i
-data/src/share/classes/java/security/cert/CertStore.java.i
data/test/sun/java2d/DirectX/AccelPaintsTest/AccelPaintsTest.java.i
data/src/share/classes/javax/swing/text/html/parser/html32.bdtd.i
+data/test/java/security/cert/CertPathValidator/nameConstraints/NameConstraintsWithUnexpectedRID.java.i
data/test/java/util/jar/JarFile/Constructor.java.i
data/test/java/lang/StringBuffer/Trim.java.i
data/test/org/openjdk/jigsaw/cli/signer-cert.pem.i
data/src/share/classes/sun/tools/tree/FieldUpdater.java.i
-data/make/java/jli/Makefile.i
data/src/share/classes/sun/io/ByteToCharCp943C.java.i
-data/src/share/classes/sun/security/provider/IdentityDatabase.java.i
+data/test/java/rmi/reliability/scripts/run_serialbench.ksh.i
data/src/share/classes/com/sun/jmx/snmp/agent/SnmpEntryOid.java.i
data/src/share/classes/com/sun/crypto/provider/SunJCE.java.i
data/test/javax/management/monitor/DerivedGaugeMonitorTest.java.i
+data/src/share/classes/java/security/Guard.java.i
data/test/javax/management/eventService/SubscribeTest.java.i
data/test/java/nio/channels/AsynchronousServerSocketChannel/java.policy.allow.i
data/make/tools/swing-beans/beaninfo/images/JTextFieldMono32.gif.i
data/src/share/classes/java/awt/Dialog.java.i
data/test/sun/tools/jstat/jstatGcCapacityOutput1.sh.i
-data/test/javax/sound/midi/Gervill/ModelSource/SetIdentifier.java.i
data/test/javax/management/loading/mlet3.html.i
data/make/tools/swing-beans/beaninfo/images/JComponentColor16.gif.i
data/test/com/sun/crypto/provider/Mac/HmacSaltLengths.java.i
data/src/share/classes/sun/text/resources/FormatData_iw.java.i
-data/test/java/dyn/indify/Indify.java.i
+data/src/share/classes/sun/util/calendar/CalendarSystem.java.i
data/test/java/io/File/GetAbsolutePath.java.i
data/src/share/classes/javax/naming/directory/SchemaViolationException.java.i
data/make/tools/swing-beans/beaninfo/images/JOptionPaneColor32.gif.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java.i
-data/src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java.i
-data/test/javax/swing/JColorChooser/Test4887836.java.i
-data/test/java/rmi/MarshalledObject/compare/annotatedRef.i
+data/test/javax/management/remote/mandatory/subjectDelegation/policy34.i
+data/src/share/native/sun/awt/debug/debug_assert.c.i
data/src/share/classes/sun/security/x509/DistributionPointName.java.i
data/src/share/native/sun/font/layout/IndicClassTables.cpp.i
data/src/solaris/native/sun/awt/HPkeysym.h.i
-data/src/share/classes/java/lang/doc-files/theta.gif.i
data/test/java/util/ResourceBundle/FakeTestResource.java.i
data/test/java/lang/ProcessBuilder/SecurityManagerClinit.java.i
data/src/share/demo/jfc/Font2DTest/Font2DTest.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_es_CR.properties.i
-data/test/javax/management/remote/mandatory/notif/DeadListenerTest.java.i
data/test/java/util/zip/ZipFile/Constructor.java.i
data/src/share/classes/sun/security/provider/certpath/LDAPCertStore.java.i
data/src/share/classes/java/awt/LinearGradientPaintContext.java.i
-data/test/java/rmi/activation/Activatable/extLoadedImpl/security.policy.i
+data/src/share/classes/sun/tools/jcmd/JCmd.java.i
data/src/share/classes/sun/security/provider/PolicyParser.java.i
data/src/share/classes/sun/nio/cs/ext/IBM1145.java.i
-data/src/share/classes/java/lang/invoke/InvokeGeneric.java.i
+data/test/java/beans/XMLDecoder/spec/TestVar.java.i
data/test/java/security/UnresolvedPermission/AccessorMethods.ca.i
data/src/share/classes/com/sun/jdi/event/ModificationWatchpointEvent.java.i
+data/test/tools/pack200/pack200-verifier/src/xmlkit/ClassSyntax.java.i
data/test/javax/management/namespace/MXBeanRefTest.java.i
data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/ExtendedKeyEngine.java.i
-data/src/share/classes/javax/swing/text/rtf/RTFGenerator.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpS32U8Func.c.i
data/src/solaris/native/com/sun/management/LinuxOperatingSystem.c.i
-data/src/share/classes/com/sun/beans/decoder/MethodElementHandler.java.i
+data/src/share/classes/javax/sql/ConnectionEvent.java.i
data/src/share/classes/javax/security/auth/spi/LoginModule.java.i
data/test/javax/sound/midi/Gervill/SoftAudioBuffer/Get.java.i
data/src/share/classes/javax/sound/sampled/SourceDataLine.java.i
@@ -3085,7 +3088,7 @@ data/test/java/nio/channels/AsynchronousFileChannel/MyThreadFactory.java.i
data/src/share/classes/javax/swing/filechooser/FileNameExtensionFilter.java.i
data/test/java/nio/channels/SocketChannel/AdaptSocket.java.i
data/src/share/classes/sun/security/krb5/internal/TGSReq.java.i
-data/test/java/net/URL/Protocol.java.i
+data/src/share/classes/java/util/zip/ZipInputStream.java.i
data/src/share/classes/java/awt/AWTKeyStroke.java.i
data/src/share/classes/javax/xml/crypto/KeySelectorException.java.i
data/make/tools/CharsetMapping/IBM1025.nr.i
@@ -3093,20 +3096,17 @@ data/src/share/classes/javax/swing/plaf/synth/SynthLabelUI.java.i
data/src/share/classes/javax/management/event/ListenerInfo.java.i
data/test/com/sun/security/sasl/digest/NoQuoteParams.java.i
data/test/java/rmi/activation/Activatable/extLoadedImpl/ExtLoadedImpl.java.i
-data/src/share/classes/java/beans/MetaData.java.i
+data/test/javax/swing/plaf/metal/MetalLookAndFeel/5073047/bug5073047.java.i
data/src/windows/native/sun/java2d/d3d/D3DTextRenderer_md.cpp.i
-data/src/share/classes/javax/swing/SpinnerListModel.java.i
-data/src/share/classes/sun/security/x509/SubjectKeyIdentifierExtension.java.i
+data/src/solaris/native/sun/awt/awt_Checkbox.c.i
data/test/sun/rmi/rmic/newrmic/equivalence/MyObjectImpl.java.i
data/test/javax/management/Introspector/AnnotationTest.java.i
data/src/share/classes/sun/management/resources/agent_fr.properties.i
-data/src/share/classes/java/rmi/dgc/Lease.java.i
data/src/share/classes/java/lang/reflect/Method.java.i
data/test/com/sun/net/httpserver/Test14.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicPasswordFieldUI.java.i
data/make/tools/CharsetMapping/IBM1123.c2b.i
-data/src/share/classes/javax/crypto/spec/DHParameterSpec.java.i
-data/src/share/classes/java/security/cert/CertificateRevokedException.java.i
+data/test/javax/management/remote/mandatory/connection/IdleTimeoutTest.java.i
data/test/java/lang/reflect/Generics/TestN1.java.i
data/test/java/util/LinkedHashSet/Basic.java.i
data/make/sun/image/generic/FILES_c.gmk.i
@@ -3119,24 +3119,20 @@ data/src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java.i
data/src/share/classes/javax/security/auth/kerberos/KeyTab.java.i
data/src/share/classes/sun/security/krb5/KrbAsReqBuilder.java.i
data/test/java/net/InetAddress/policy.file.i
-data/src/share/classes/java/util/concurrent/ThreadFactory.java.i
+data/test/java/util/logging/LoggingDeadlock.java.i
data/src/solaris/classes/sun/tools/attach/LinuxVirtualMachine.java.i
data/test/javax/xml/crypto/dsig/data/certs/badb.crt.i
data/src/share/native/sun/awt/image/jpeg/jccoefct.c.i
data/src/share/classes/sun/nio/cs/ext/IBM1097.java.i
data/make/tools/src/build/tools/jdwpgen/ClassLoaderObjectTypeNode.java.i
-data/src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java.i
-data/src/share/classes/sun/io/ByteToCharCp964.java.i
-data/src/share/classes/com/sun/jmx/snmp/agent/SnmpTableEntryNotification.java.i
+data/test/java/awt/image/ConvolveOp/EdgeNoOpCrash.java.i
data/src/share/classes/sun/net/ftp/FtpDirParser.java.i
data/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java.i
data/src/share/classes/javax/sound/sampled/LineEvent.java.i
data/src/share/classes/java/util/UnknownFormatFlagsException.java.i
data/src/solaris/native/java/net/SocketInputStream.c.i
data/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java.i
-data/test/java/lang/reflect/Generics/TestC2.java.i
-data/test/java/util/PluggableLocale/providersrc/java.util.spi.CurrencyNameProvider.i
-data/src/share/classes/sun/util/resources/CalendarData_fi.properties.i
+data/make/java/text/FILES_java.gmk.i
data/src/share/classes/java/io/FileFilter.java.i
data/test/javax/swing/border/Test6910490.java.i
data/src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c.i
@@ -3144,22 +3140,21 @@ data/src/share/classes/sun/text/resources/FormatData_es.java.i
data/src/share/native/sun/awt/medialib/mlib_c_ImageConv.h.i
data/src/share/native/java/lang/Package.c.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/Effect.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/FuncHereContext.java.i
data/test/sun/tools/jrunscript/jrunscriptTest.sh.i
data/src/share/classes/sun/management/snmp/util/SnmpLoadedClassData.java.i
-data/src/share/classes/com/sun/security/auth/SubjectCodeSource.java.i
+data/make/com/sun/java/browser/dom/Makefile.i
data/src/share/classes/java/text/ParseException.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalLabelUI.java.i
data/src/share/classes/java/util/concurrent/RunnableScheduledFuture.java.i
-data/src/share/classes/java/awt/TextComponent.java.i
-data/test/java/lang/management/PlatformLoggingMXBean/PlatformLoggingMXBeanTest.java.i
-data/src/solaris/native/sun/awt/awt_LoadLibrary.c.i
+data/test/sun/security/pkcs11/nss/lib/solaris-sparcv9/libnss3.so.d
data/test/javax/swing/plaf/synth/Test6933784.java.i
data/src/share/classes/sun/io/CharToByteCp737.java.i
-data/test/sun/rmi/rmic/newrmic/equivalence/ComputeServer.java.i
+data/test/java/rmi/dgc/dgcImplInsulation/security.policy.i
data/test/java/awt/event/KeyEvent/KeyTyped/CtrlASCII.html.i
+data/test/java/lang/instrument/PremainClass/DummyMain.java.i
data/test/java/util/Currency/ValidateISO4217.java.i
-data/test/java/io/InputStream/OpsAfterClose.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_iw_IL.properties.i
+data/test/sun/net/InetAddress/nameservice/CacheTest.java.i
data/src/share/native/sun/awt/debug/debug_trace.c.i
data/src/share/classes/sun/rmi/server/Activation.java.i
data/src/share/classes/java/io/FileReader.java.i
@@ -3168,7 +3163,7 @@ data/make/tools/src/build/tools/generatecharacter/Utility.java.i
data/src/share/classes/com/sun/crypto/provider/PBKDF2HmacSHA1Factory.java.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/expresso.mid.i
data/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBoolean.java.i
-data/src/share/classes/java/text/Bidi.java.i
+data/src/share/demo/jvmti/hprof/hprof_tls.c.i
data/src/share/classes/sun/reflect/UnsafeQualifiedStaticCharacterFieldAccessorImpl.java.i
data/src/share/classes/sun/java2d/loops/RenderLoops.java.i
data/src/share/classes/com/sun/jmx/namespace/serial/package.html.i
@@ -3176,26 +3171,25 @@ data/test/sun/tools/common/CommonSetup.sh.i
data/test/java/util/Locale/HashCodeTest.java.i
data/test/java/net/Socks/SocksProxyVersion.java.i
data/test/java/beans/VetoableChangeSupport/TestMethods.java.i
-data/src/share/classes/sun/applet/Main.java.i
+data/test/java/net/URI/RelativeEncoding.java.i
+data/src/share/classes/sun/security/util/AuthResources_ja.java.i
data/test/java/util/PriorityQueue/NoNulls.java.i
data/src/share/classes/sun/misc/ExtensionInfo.java.i
data/src/share/classes/javax/swing/JScrollBar.java.i
data/test/java/lang/ref/ReferenceEnqueuePending.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifEditorPaneUI.java.i
-data/src/share/classes/sun/awt/resources/awt_ja.properties.i
+data/test/java/util/HashMap/ToString.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsGraphicsUtils.java.i
-data/test/java/beans/Introspector/Test4144543.java.i
+data/test/java/util/Locale/Bug4152725.java.i
data/src/share/classes/sun/reflect/generics/tree/VoidDescriptor.java.i
data/src/share/native/sun/java2d/loops/ScaledBlit.c.i
data/src/solaris/native/sun/nio/ch/DevPollArrayWrapper.c.i
-data/src/share/classes/sun/text/resources/CollationData_de.java.i
+data/test/java/net/ipv6tests/TcpTest.java.i
data/make/tools/src/build/tools/jdwpgen/SelectNode.java.i
data/src/share/classes/java/util/GregorianCalendar.java.i
data/src/share/classes/sun/text/resources/FormatData_de_AT.java.i
-data/src/share/classes/javax/swing/text/html/ObjectView.java.i
data/src/share/classes/com/sun/media/sound/SoftEnvelopeGenerator.java.i
data/src/share/classes/com/sun/jdi/PrimitiveValue.java.i
-data/src/share/classes/sun/java2d/InvalidPipeException.java.i
data/src/share/classes/java/security/cert/CertPathParameters.java.i
data/src/share/classes/sun/tools/java/MemberDefinition.java.i
data/test/java/lang/Appendable/Basic.java.i
@@ -3208,7 +3202,7 @@ data/src/share/classes/java/awt/Graphics.java.i
data/src/share/classes/sun/nio/cs/ext/MS936.java.i
data/test/sun/security/tools/jarsigner/TimestampCheck.java.i
data/src/share/classes/sun/tracing/ProviderSkeleton.java.i
-data/src/share/classes/java/dyn/package-info.java.i
+data/src/windows/native/sun/windows/awt_PrintControl.h.i
data/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGStreamMetadataFormat.java.i
data/test/javax/swing/text/html/Test4783068.java.i
data/test/tools/launcher/Arrrghs.sh.i
@@ -3220,7 +3214,6 @@ data/test/java/io/Serializable/serialver/nested/run.sh.i
data/src/share/classes/javax/swing/text/doc-files/Document-structure.gif.i
data/src/share/classes/java/security/KeyStore.java.i
data/src/share/classes/javax/management/relation/InvalidRelationIdException.java.i
-data/src/share/classes/com/sun/jndi/ldap/LdapResult.java.i
data/src/share/classes/com/sun/jdi/LongValue.java.i
data/src/share/classes/sun/net/www/content/audio/aiff.java.i
data/test/java/rmi/reliability/benchmark/bench/rmi/LongArrayCalls.java.i
@@ -3228,7 +3221,7 @@ data/test/java/awt/EventQueue/PushPopDeadlock2/PushPopTest.java.i
data/src/share/classes/java/net/SecureCacheResponse.java.i
data/src/share/classes/com/sun/imageio/plugins/gif/GIFImageReaderSpi.java.i
data/test/java/beans/XMLEncoder/java_lang_String.java.i
-data/make/tools/src/build/tools/generatenimbus/SynthModel.java.i
+data/test/java/lang/instrument/PremainClass/InheritAgent1011.java.i
data/test/java/beans/XMLEncoder/java_util_Collections_SynchronizedRandomAccessList.java.i
data/make/tools/CharsetMapping/IBM871.map.i
data/test/java/util/concurrent/ThreadPoolExecutor/SelfInterrupt.java.i
@@ -3236,8 +3229,8 @@ data/test/java/lang/ThreadLocal/ThreadId.java.i
data/src/share/back/ThreadReferenceImpl.h.i
data/test/org/openjdk/jigsaw/eg/com/foo/bar/Main.java.i
data/src/share/classes/java/lang/reflect/GenericDeclaration.java.i
-data/test/com/sun/servicetag/servicetag4.properties.i
data/test/javax/management/remote/mandatory/connection/DaemonRMIExporterTest.java.i
+data/src/share/classes/sun/security/krb5/internal/HostAddress.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RetrievalMethodResolver.java.i
data/test/java/beans/PropertyEditor/6380849/FirstBean.java.i
data/test/java/io/BufferedReader/Fill.java.i
@@ -3248,43 +3241,44 @@ data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UISta
data/src/share/classes/com/sun/media/sound/SF2SoundbankReader.java.i
data/src/solaris/sample/dtrace/hotspot/object_allocation_stat.d.i
data/make/tools/dtdbuilder/dtds/HTMLspecial.sgml.i
+data/src/share/classes/sun/rmi/transport/DGCAckHandler.java.i
data/src/share/classes/sun/nio/cs/ext/IBM277.java.i
-data/src/share/back/stepControl.h.i
+data/test/java/lang/management/ThreadMXBean/Semaphore.java.i
data/src/share/classes/sun/management/snmp/jvminstr/JvmRTBootClassPathEntryImpl.java.i
-data/src/share/classes/sun/util/resources/CalendarData_th.properties.i
-data/src/share/classes/sun/security/provider/certpath/AdjacencyList.java.i
+data/test/javax/sound/midi/Gervill/ModelPerformer/SetConnectionBlocks.java.i
data/test/java/awt/xembed/server/JavaClient.java.i
+data/src/share/native/sun/awt/image/DataBufferNative.c.i
data/test/java/nio/Buffer/LimitDirectMemory.java.i
data/src/windows/classes/sun/awt/windows/WDataTransferer.java.i
+data/src/share/classes/java/awt/peer/LabelPeer.java.i
data/test/java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java.i
data/test/com/sun/jdi/RedefineClearBreakpoint.sh.i
data/make/jprt.gmk.i
-data/src/share/classes/javax/management/loading/MLetObjectInputStream.java.i
+data/src/share/native/sun/management/MemoryImpl.c.i
+data/test/java/io/Serializable/cloneArray/CloneArray.java.i
data/test/java/util/zip/ZipFile/ManyEntries.java.i
-data/src/share/native/sun/security/jgss/wrapper/GSSLibStub.c.i
data/src/share/classes/java/util/concurrent/Delayed.java.i
+data/src/share/classes/com/sun/jmx/snmp/daemon/CommunicatorServerMBean.java.i
data/test/java/awt/Multiscreen/WindowGCChangeTest/WindowGCChangeTest.html.i
data/test/sun/java2d/cmm/ColorConvertOp/ImageFactory.java.i
data/src/share/classes/javax/naming/CompoundName.java.i
-data/make/tools/CharsetMapping/IBM1144.c2b.i
+data/src/share/classes/java/sql/Clob.java.i
data/src/share/classes/javax/script/ScriptEngineManager.java.i
data/test/javax/swing/JFileChooser/4150029/bug4150029.java.i
data/make/tools/classanalyzer/src/com/sun/classanalyzer/Modularizer.java.i
data/src/share/native/sun/management/GcInfoBuilder.c.i
data/src/solaris/classes/sun/awt/X11/security-icon-yellow16.png.i
data/src/share/classes/com/sun/crypto/provider/EncryptedPrivateKeyInfo.java.i
-data/src/share/classes/javax/xml/crypto/dsig/spec/HMACParameterSpec.java.i
+data/test/java/util/ResourceBundle/Test4318520.java.i
data/src/share/classes/com/sun/jmx/snmp/BerException.java.i
data/src/windows/classes/sun/nio/fs/WindowsPathType.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/Canonicalizer.java.i
+data/test/java/rmi/activation/ActivationSystem/unregisterGroup/security.policy.i
data/src/share/classes/com/sun/tools/hat/internal/model/JavaObjectArray.java.i
data/test/sun/security/tools/jarsigner/samename.sh.i
data/test/java/awt/image/mlib/MlibOpsTest.java.i
data/src/linux/doc/man/ja/apt.1.i
-data/src/share/classes/sun/util/resources/CurrencyNames_is_IS.properties.i
data/src/share/classes/com/sun/tools/hat/internal/server/AllRootsQuery.java.i
data/make/tools/CharsetMapping/IBM1122.nr.i
-data/test/java/lang/management/ManagementFactory/StateTestMBean.java.i
data/src/share/classes/javax/swing/text/StateInvariantError.java.i
data/src/share/classes/com/sun/nio/file/ExtendedOpenOption.java.i
data/test/java/util/Formatter/BasicDateTime.java.i
@@ -3304,16 +3298,17 @@ data/src/share/native/sun/font/layout/SubstitutionLookups.h.i
data/src/share/classes/javax/swing/border/package.html.i
data/src/share/classes/sun/awt/image/ByteArrayImageSource.java.i
data/src/share/classes/sun/reflect/generics/tree/Signature.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/JavaxTrustManagerFactoryImpl.java.i
+data/src/share/classes/java/lang/invoke/MethodHandleStatics.java.i
+data/test/java/lang/instrument/TransformMethodTest.java.i
+data/test/java/nio/file/WatchService/grantDirOnly.policy.i
data/src/share/classes/java/net/SocketOption.java.i
data/src/share/classes/java/awt/image/WritableRenderedImage.java.i
data/src/share/classes/sun/java2d/pipe/SpanIterator.java.i
data/test/java/awt/FontClass/BigMetrics.java.i
data/src/share/classes/org/openjdk/jigsaw/Platform.java.i
+data/src/share/native/sun/java2d/cmm/lcms/lcms2.h.i
data/src/share/classes/javax/naming/directory/InvalidAttributeValueException.java.i
data/src/share/classes/sun/util/resources/LocaleNames_sr_Latn.properties.i
-data/src/share/classes/sun/management/HotspotClassLoading.java.i
-data/src/share/native/sun/font/layout/MPreFixups.cpp.i
data/src/share/classes/sun/reflect/generics/tree/TypeArgument.java.i
data/src/share/classes/sun/net/www/content/audio/x_aiff.java.i
data/test/java/beans/Beans/Test4343723.java.i
@@ -3328,6 +3323,7 @@ data/src/solaris/native/java/net/SocketOutputStream.c.i
data/src/solaris/native/sun/java2d/x11/X11PMBlitLoops.c.i
data/test/java/security/cert/pkix/nameConstraintsMinMax/sun2labs2.cer.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolver.java.i
+data/test/java/util/prefs/ExportSubtree.java.i
data/src/share/native/sun/awt/libpng/pngtrans.c.i
data/src/share/classes/sun/tracing/dtrace/DTraceProviderFactory.java.i
data/src/solaris/native/sun/awt/awt_MenuComponent.h.i
@@ -3339,28 +3335,30 @@ data/.hgignore.i
data/src/share/classes/sun/text/resources/FormatData_fr_CA.java.i
data/test/java/security/PermissionCollection/Concurrent.java.i
data/src/share/native/sun/font/layout/ValueRecords.cpp.i
+data/make/tools/src/build/tools/javazic/Zoneinfo.java.i
data/src/share/classes/org/ietf/jgss/GSSManager.java.i
+data/test/java/io/Serializable/corruptedUTFConsumption/CorruptedUTFConsumption.java.i
data/test/java/nio/channels/Pipe/PipeChannel.java.i
data/src/share/classes/com/sun/jmx/snmp/SnmpUnknownModelException.java.i
+data/src/share/demo/java2d/J2DBench/src/j2dbench/report/HTMLSeriesReporter.java.i
data/test/java/util/TreeMap/HeadTailTypeError.java.i
data/src/share/classes/java/lang/invoke/FromGeneric.java.i
data/test/java/rmi/activation/Activatable/shutdownGracefully/rmid.security.policy.i
-data/src/share/classes/sun/awt/image/BufferedImageDevice.java.i
+data/src/windows/native/java/io/dirent_md.c.i
data/src/share/classes/sun/tools/tree/InstanceOfExpression.java.i
data/test/java/io/charStreams/RandomLineSource.java.i
data/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal.properties.i
+data/test/java/nio/MappedByteBuffer/Truncate.java.i
data/test/java/rmi/activation/Activatable/checkRegisterInLog/ActivateMe.java.i
data/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java.i
data/src/share/classes/sun/security/krb5/internal/EncKrbCredPart.java.i
data/src/share/classes/sun/security/util/Resources_ja.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/icons/TreeClosed.gif.i
data/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java.i
-data/test/com/sun/crypto/provider/Cipher/DES/KeyWrapping.java.i
-data/src/share/native/sun/awt/splashscreen/splashscreen_gfx.h.i
data/src/share/classes/sun/text/resources/CollationData_zh_HK.java.i
+data/test/javax/swing/JInternalFrame/6726866/bug6726866.java.i
data/src/share/classes/javax/naming/Referenceable.java.i
-data/test/javax/management/remote/mandatory/connection/RMIExitTest.java.i
-data/src/share/classes/javax/sql/rowset/JdbcRowSet.java.i
+data/test/java/beans/Beans/6669869/TestGuiAvailable.java.i
data/test/sun/nio/cs/OLD/SimpleEUCDecoder.java.i
data/src/share/classes/java/rmi/NoSuchObjectException.java.i
data/test/java/util/regex/SupplementaryTestCases.txt.i
@@ -3368,18 +3366,16 @@ data/test/javax/management/remote/mandatory/passwordAuthenticator/RMIAltAuthTest
data/test/java/util/Collections/BigBinarySearch.java.i
data/src/share/classes/javax/print/attribute/standard/PresentationDirection.java.i
data/src/share/classes/javax/xml/crypto/dsig/spec/XPathFilter2ParameterSpec.java.i
-data/src/solaris/native/sun/java2d/loops/vis_ThreeByteBgr.c.i
+data/test/java/rmi/server/RMIClassLoader/loadProxyClasses/LoadProxyClasses.java.i
data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLCtxAccessToSessCtx.java.i
-data/src/share/classes/sun/tools/asm/NameAndTypeData.java.i
data/src/share/classes/java/nio/Heap-X-Buffer.java.template.i
-data/src/share/classes/java/awt/doc-files/CheckboxGroup-1.gif.i
-data/test/java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.java.i
+data/src/share/classes/sun/security/x509/GeneralNameInterface.java.i
data/src/share/classes/javax/sound/midi/package.html.i
data/src/share/classes/javax/management/modelmbean/ModelMBean.java.i
+data/src/share/native/sun/security/pkcs11/wrapper/pkcs11f.h.i
data/src/share/classes/javax/swing/Box.java.i
data/test/java/util/Locale/data/deflocale.sol10.fmtasdefault.i
data/src/share/native/java/lang/fdlibm/src/s_modf.c.i
-data/src/solaris/native/sun/java2d/loops/vis_AlphaMaskBlit.c.i
data/test/java/util/Locale/Bug4184873Test.java.i
data/make/tools/src/build/tools/fontchecker/FontCheckerConstants.java.i
data/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java.i
@@ -3387,17 +3383,17 @@ data/test/sun/tools/jps/jps-m_Output1.awk.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/ControlPoint.java.i
data/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/SetLoopType.java.i
data/src/windows/classes/sun/nio/fs/RegistryFileTypeDetector.java.i
-data/test/java/security/Provider/SupportsParameter.java.i
+data/make/tools/CharsetMapping/IBM970.map.i
data/test/java/awt/event/OtherEvents/UngrabID/UngrabID.java.i
data/src/share/classes/javax/swing/plaf/synth/doc-files/synth.dtd.i
data/src/share/classes/sun/print/resources/orientRevPortrait.png.i
data/src/share/classes/sun/util/resources/CalendarData_es.properties.i
data/src/share/classes/sun/util/resources/CurrencyNames_es_US.properties.i
data/test/sun/security/pkcs11/nss/p11-nss.txt.i
-data/make/java/util/FILES_java.gmk.i
+data/test/demo/jvmti/hprof/HeapAllTest.java.i
data/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal_mono.java.i
-data/src/share/demo/jfc/Font2DTest/resources/TextResources_ko.properties.i
data/test/java/io/Serializable/recursiveClassDescLookup/Test.java.i
+data/src/share/classes/com/sun/media/sound/RIFFReader.java.i
data/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java.i
data/test/javax/management/standardmbean/FindMethodTest.java.i
data/src/share/classes/com/sun/jmx/namespace/serial/DefaultRewritingProcessor.java.i
@@ -3405,21 +3401,20 @@ data/make/tools/CharsetMapping/MS874.map.i
data/test/com/sun/security/auth/login/ConfigFile/Override.bad.config.i
data/src/share/classes/com/sun/security/auth/module/NTLoginModule.java.i
data/src/share/classes/javax/xml/crypto/dsig/keyinfo/X509IssuerSerial.java.i
-data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSubTreeData.java.i
data/src/share/classes/javax/management/relation/RelationService.java.i
data/src/share/classes/java/util/regex/UnicodeProp.java.i
-data/src/share/classes/javax/naming/ldap/ManageReferralControl.java.i
+data/test/java/security/cert/pkix/policyChanges/ee.cer.i
data/src/share/classes/java/security/InvalidKeyException.java.i
data/test/javax/print/applet/applet3/Applet3.java.i
data/src/share/classes/java/util/concurrent/locks/Condition.java.i
-data/src/share/classes/sun/management/MethodInfo.java.i
data/src/share/classes/javax/sql/RowSetListener.java.i
data/src/linux/doc/man/ja/policytool.1.i
data/test/java/net/InetAddress/B4762344.java.i
+data/src/share/classes/javax/net/ssl/SSLSessionBindingListener.java.i
data/test/com/sun/jdi/ArrayLengthDumpTest.sh.i
data/test/sun/security/smartcardio/TestPresent.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_es_CO.properties.i
-data/src/share/classes/sun/util/resources/CurrencyNames_es_GT.properties.i
+data/src/share/classes/java/nio/file/FileRef.java.i
data/test/com/sun/org/apache/xml/internal/security/transforms/MyTransform.java.i
data/test/java/util/ServiceLoader/FooProvider3.java.i
data/src/share/native/sun/awt/image/jpeg/jdmaster.c.i
@@ -3431,16 +3426,18 @@ data/src/share/classes/sun/tools/tree/GreaterOrEqualExpression.java.i
data/make/tools/generate_nimbus/Makefile.i
data/test/sun/management/jmxremote/bootstrap/jmxremote_test06_ok.password.in.i
data/src/share/classes/javax/print/event/PrintJobAttributeListener.java.i
-data/src/share/classes/sun/io/CharToByteCp1381.java.i
+data/src/linux/doc/man/DO_NOT_EDIT--GENERATED_FILES.i
+data/src/share/classes/sun/util/resources/CalendarData_ro.properties.i
data/test/sun/management/jmxremote/bootstrap/TestLogger.java.i
-data/src/windows/native/sun/jkernel/kernel_en.rc.i
+data/src/share/classes/sun/util/resources/LocaleNames_nl.properties.i
data/src/share/classes/java/awt/image/DirectColorModel.java.i
data/src/share/classes/java/security/spec/X509EncodedKeySpec.java.i
data/src/share/classes/javax/management/openmbean/SimpleType.java.i
+data/test/javax/management/remote/mandatory/version/ImplVersionCommand.java.i
data/src/share/classes/com/sun/tools/hat/internal/model/Root.java.i
data/test/java/security/KeyRep/HmacMD5.pre.1.5.key.i
-data/src/share/classes/java/awt/event/WindowFocusListener.java.i
-data/test/java/net/SocketPermission/Wildcard.java.i
+data/test/sun/tools/jconsole/ResourceCheckTest.sh.i
+data/src/share/classes/com/sun/tracing/dtrace/Attributes.java.i
data/src/share/classes/java/io/TempFileHelper.java.i
data/src/windows/native/sun/windows/awt_CustomPaletteDef.h.i
data/src/share/classes/java/awt/event/HierarchyEvent.java.i
@@ -3454,10 +3451,9 @@ data/src/solaris/classes/java/io/UnixFileSystem.java.i
data/src/share/classes/java/util/Hashtable.java.i
data/test/java/lang/Double/Extrema.java.i
data/test/java/io/Serializable/proxy/skipMissing/Handler.java.i
-data/src/share/classes/sun/font/FontLineMetrics.java.i
-data/test/java/io/Serializable/evolution/RenamePackage/run.sh.i
+data/test/sun/invoke/util/ValueConversionsTest.java.i
data/test/javax/crypto/EncryptedPrivateKeyInfo/GetKeySpecInvalidEncoding.java.i
-data/test/java/net/Socket/setReuseAddress/Basic.java.i
+data/test/javax/sound/midi/Gervill/ModelIdentifier/EqualsObject.java.i
data/src/share/native/sun/awt/image/jpeg/jdphuff.c.i
data/make/modules/tools/src/com/sun/classanalyzer/ModuleConfig.java.i
data/test/sun/security/krb5/etype/ETypeOrder.java.i
@@ -3466,9 +3462,8 @@ data/src/solaris/classes/sun/nio/ch/SctpShutdown.java.i
data/src/share/classes/java/dyn/MethodHandleNatives.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/exceptions/XMLSecurityRuntimeException.java.i
data/src/share/classes/com/sun/jmx/remote/util/CacheMap.java.i
-data/test/java/lang/String/Exceptions.java.i
data/test/java/awt/Focus/FocusTraversalPolicy/LayoutFTPTest.java.i
-data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver2.java.i
+data/test/com/oracle/security/ucrypto/TestDigest.java.i
data/src/share/classes/javax/swing/text/TextAction.java.i
data/src/share/classes/com/sun/jndi/rmi/registry/RegistryContext.java.i
data/src/share/classes/javax/swing/UIManager.java.i
@@ -3476,12 +3471,10 @@ data/test/java/rmi/activation/Activatable/nonExistentActivatable/NonExistentActi
data/test/sun/security/x509/AVA/DomainComponentEncoding.java.i
data/make/sun/image/generic/Makefile.i
data/test/java/net/URI/URItoURLTest.java.i
-data/src/share/classes/sun/security/krb5/internal/ccache/CCacheOutputStream.java.i
data/src/windows/classes/sun/java2d/d3d/D3DBlitLoops.java.i
-data/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java.i
+data/src/share/classes/java/awt/Shape.java.i
data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/B6226610.java.i
data/src/share/native/sun/font/layout/Lookups.h.i
-data/test/java/io/Serializable/cloneArray/CloneArray.java.i
data/test/javax/management/MBeanServer/InstanceNotFoundExceptionTest.java.i
data/test/java/util/Formatter/BasicLongObject.java.i
data/src/share/classes/sun/nio/cs/ext/JIS_X_0212_Encoder.java.i
@@ -3493,16 +3486,17 @@ data/make/tools/CharsetMapping/MS949.map.i
data/src/share/classes/javax/management/openmbean/MXBeanMappingClass.java.i
data/test/java/io/DataOutputStream/CounterOverflow.java.i
data/src/share/classes/com/sun/media/sound/SoftPerformer.java.i
-data/src/share/classes/java/awt/event/ComponentEvent.java.i
+data/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/CompressOutputStream.java.i
data/src/share/native/sun/font/layout/AttachmentPosnSubtables.h.i
data/src/share/native/sun/java2d/loops/Any4Byte.c.i
-data/test/java/beans/XMLEncoder/java_awt_MenuShortcut.java.i
+data/src/share/classes/javax/swing/text/LayoutQueue.java.i
data/src/share/classes/com/sun/java/util/jar/pack/DriverResource.java.i
data/src/share/classes/javax/xml/crypto/dsig/XMLValidateContext.java.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorStatus.java.i
-data/src/share/classes/com/sun/tools/jdi/JNITypeParser.java.i
-data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/FontMapper.java.i
+data/test/sun/security/provider/certpath/ReverseBuilder/prjM2mgrM.i
+data/test/tools/pack200/pack200-verifier/data/README.i
data/test/java/util/Formatter/BasicFloatObject.java.i
+data/test/java/io/NegativeInitSize.java.i
data/src/share/classes/sun/java2d/cmm/PCMM.java.i
data/src/share/classes/java/rmi/ConnectIOException.java.i
data/test/sun/security/pkcs11/nss/lib/linux-i586/libplc4.so.i
@@ -3510,7 +3504,8 @@ data/src/windows/classes/java/lang/ProcessEnvironment.java.i
data/src/share/classes/javax/print/attribute/HashDocAttributeSet.java.i
data/src/share/native/sun/java2d/opengl/OGLBlitLoops.c.i
data/make/tools/swing-beans/beaninfo/images/JMenuBarColor16.gif.i
-data/make/mkdemo/jfc/Notepad/Makefile.i
+data/test/com/sun/servicetag/DeleteServiceTag.java.i
+data/src/windows/classes/sun/nio/ch/SctpChannelImpl.java.i
data/src/share/classes/sun/security/provider/SystemIdentity.java.i
data/test/javax/management/remote/mandatory/connection/ConnectionTest.java.i
data/src/share/classes/sun/io/ByteToCharCp1252.java.i
@@ -3520,61 +3515,58 @@ data/test/java/math/BigDecimal/Constructor.java.i
data/make/sun/font/FILES_c.gmk.i
data/test/java/rmi/server/RMIClassLoader/useCodebaseOnly/UseCodebaseOnly.java.i
data/src/share/classes/org/openjdk/jigsaw/Context.java.i
-data/src/share/classes/javax/print/attribute/standard/JobKOctets.java.i
-data/test/java/awt/event/MouseEvent/AcceptExtraButton/AcceptExtraButton.java.i
+data/test/sun/security/pkcs11/tls/masterdata.txt.i
data/src/share/classes/sun/io/ByteToCharEUC.java.i
data/test/sun/tools/jstat/jstatLineCounts2.sh.i
data/test/com/sun/nio/sctp/SctpChannel/Send.java.i
data/test/java/io/Serializable/userRWObjError/UserRWObjError.java.i
data/src/solaris/native/sun/nio/ch/FileDispatcher.c.i
+data/test/java/nio/file/TestUtil.java.i
data/src/share/classes/com/sun/tools/example/debug/gui/TypeScriptOutputListener.java.i
data/test/java/awt/Component/UpdatingBootTime/UpdatingBootTime.html.i
-data/src/share/demo/nbproject/management/VerboseGC/nbproject/file-targets.xml.i
-data/test/sun/java2d/DirectX/IAEforEmptyFrameTest/IAEforEmptyFrameTest.java.i
data/src/share/classes/java/security/IdentityScope.java.i
data/src/share/classes/sun/net/httpserver/SSLStreams.java.i
data/src/share/classes/java/security/cert/CRLException.java.i
-data/src/share/classes/com/sun/media/sound/SoftAudioBuffer.java.i
+data/test/com/sun/crypto/provider/Cipher/DES/DoFinalReturnLen.java.i
data/src/share/classes/sun/rmi/registry/resources/rmiregistry_pt_BR.properties.i
data/test/sun/security/tools/keytool/emptysubject.sh.i
-data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/BezierControlPoint.java.i
-data/src/share/classes/com/sun/jdi/event/VMStartEvent.java.i
+data/src/share/classes/sun/tools/tree/NewArrayExpression.java.i
+data/src/solaris/hpi/native_threads/include/porting.h.i
data/src/share/classes/sun/security/ssl/ECDHCrypt.java.i
data/test/java/net/Socket/SoTimeout.java.i
data/src/share/classes/java/nio/channels/package.html.i
data/src/share/classes/sun/misc/FloatConsts.java.i
-data/test/sun/tools/jps/jps-Vvml_Output1.awk.i
data/src/share/demo/nio/zipfs/README.txt.i
data/src/share/sample/jmx/jmx-scandir/nbproject/jdk.xml.i
data/src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_CN.properties.i
-data/test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/CompressInputStream.java.i
+data/src/share/lib/images/cursors/win32_MoveDrop32x32.gif.i
+data/src/share/classes/javax/naming/ldap/UnsolicitedNotificationEvent.java.i
data/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java.i
data/src/solaris/native/sun/awt/robot_common.c.i
data/src/share/native/sun/font/layout/ScriptAndLanguageTags.cpp.i
+data/test/sun/security/pkcs11/KeyStore/BasicData/pk1.cert.i
data/src/share/demo/jvmti/hprof/hprof_blocks.c.i
data/src/share/classes/com/sun/jmx/snmp/tasks/package.html.i
data/test/javax/management/remote/mandatory/loading/MissingClassTest.java.i
data/src/share/native/java/lang/fdlibm/src/s_sin.c.i
data/src/share/classes/java/io/EOFException.java.i
data/src/share/classes/com/sun/jmx/remote/util/ClassLogger.java.i
-data/src/share/classes/sun/nio/cs/ext/JIS_X_0208_Encoder.java.i
+data/src/share/classes/com/sun/tools/hat/internal/oql/OQLQuery.java.i
data/test/java/nio/channels/SocketChannel/Shutdown.java.i
data/test/java/lang/instrument/PremainClass/CreateFiles.java.i
data/src/solaris/native/sun/java2d/loops/vis_DrawLine.c.i
data/test/sun/security/krb5/OptionPADataInKDCReq.java.i
data/test/javax/crypto/CryptoPermission/LowercasePermCheck.java.i
-data/src/share/classes/com/sun/servicetag/SunConnection.java.i
data/test/java/beans/PropertyEditor/TestFontClassValue.java.i
data/src/share/classes/com/sun/tools/hat/internal/parser/Reader.java.i
data/test/java/security/cert/X509Certificate/emptyIssuerCert.i
-data/src/share/classes/sun/security/jgss/wrapper/Krb5Util.java.i
+data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/Basics.java.i
data/test/java/lang/reflect/Proxy/returnTypes/Test.java.i
data/src/share/classes/sun/nio/cs/ext/IBM280.java.i
data/src/share/classes/sun/text/resources/CollationData_mk.java.i
data/src/share/classes/sun/security/pkcs/PKCS10Attribute.java.i
data/src/share/classes/sun/nio/cs/UnicodeEncoder.java.i
-data/src/share/classes/sun/nio/cs/ext/Big5_HKSCS_2001.java.i
data/src/share/classes/javax/print/event/PrintServiceAttributeListener.java.i
data/test/java/beans/PropertyEditor/TestEnumClassValue.java.i
data/src/share/classes/org/openjdk/jigsaw/FileHeader.java.i
@@ -3582,36 +3574,34 @@ data/src/share/native/sun/font/layout/GlyphSubstitutionTables.cpp.i
data/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows.properties.i
data/src/share/classes/com/sun/tools/jdi/FloatValueImpl.java.i
data/src/share/classes/sun/tools/jstat/Token.java.i
-data/src/share/classes/java/net/CookieStore.java.i
data/make/tools/src/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java.i
data/src/share/classes/com/sun/jdi/request/WatchpointRequest.java.i
data/src/windows/back/exec_md.c.i
data/src/solaris/doc/sun/man/man1/wsgen.1.i
data/src/share/classes/sun/text/resources/FormatData_de_DE.java.i
+data/src/share/classes/java/awt/image/ImageConsumer.java.i
data/test/sun/security/x509/Extensions/BCNull.java.i
data/test/javax/crypto/EncryptedPrivateKeyInfo/GetKeySpecException.java.i
-data/src/share/classes/sun/security/provider/DSAPrivateKey.java.i
data/src/share/classes/com/sun/tools/hat/internal/util/VectorSorter.java.i
-data/src/share/classes/javax/management/namespace/MBeanServerConnectionWrapper.java.i
data/test/java/beans/XMLEncoder/java_util_Collections_SingletonSet.java.i
data/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_pt_BR.properties.i
data/test/java/nio/channels/AsynchronousSocketChannel/DieBeforeComplete.java.i
data/test/java/util/Formatter/BasicLong.java.i
data/src/share/native/sun/security/ec/impl/ecp_jac.c.i
-data/test/sun/security/pkcs11/nss/lib/windows-i586/libplds4.dll.i
+data/test/javax/sound/midi/Gervill/RiffReaderWriter/WriteOutputStream.java.i
data/src/share/classes/sun/security/krb5/KrbCred.java.i
-data/src/solaris/classes/sun/awt/XSettings.java.i
-data/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.html.i
-data/src/solaris/classes/sun/java2d/xr/GrowableIntArray.java.i
+data/src/windows/native/sun/windows/awt_Desktop.cpp.i
+data/src/solaris/classes/sun/nio/fs/UnixMountEntry.java.i
data/src/solaris/hpi/src/interrupt.c.i
data/src/share/native/sun/java2d/loops/BlitBg.c.i
data/src/share/native/java/util/zip/zlib-1.1.3/trees.h.i
data/test/java/rmi/server/RMIClassLoader/spi/Foo.java.i
data/test/java/io/DataInputStream/SkipBytes.java.i
data/src/share/classes/sun/font/EAttribute.java.i
+data/src/share/classes/com/sun/jmx/snmp/IPAcl/OwnerImpl.java.i
+data/test/sun/nio/cs/OLD/X11KSC5601_OLD.java.i
data/src/share/classes/javax/crypto/JceSecurity.java.i
data/make/mkdemo/jfc/Stylepad/Makefile.i
-data/src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java.i
data/src/share/classes/sun/io/CharToByteCp942.java.i
data/src/share/classes/sun/reflect/UnsafeStaticLongFieldAccessorImpl.java.i
data/make/tools/CharsetMapping/MS1253.map.i
@@ -3620,58 +3610,64 @@ data/src/share/classes/com/sun/jndi/toolkit/ctx/StringHeadTail.java.i
data/test/javax/swing/text/html/HRuleView/Test5062055.java.i
data/src/share/classes/java/lang/invoke/CallSite.java.i
data/src/share/classes/sun/java2d/pipe/hw/ContextCapabilities.java.i
+data/test/sun/misc/JarIndex/metaInfFilenames/jarB/b/B.java.i
data/src/share/classes/com/sun/jndi/ldap/ManageReferralControl.java.i
data/src/windows/native/sun/nio/ch/ServerSocketChannelImpl.c.i
data/src/share/classes/com/sun/jmx/snmp/SnmpUsmKeyHandler.java.i
-data/make/java/management/FILES_c.gmk.i
+data/test/java/rmi/server/RemoteObject/notExtending/NotExtending_Stub.java.i
data/test/java/util/zip/ReadLoc.java.i
data/make/java/zip/FILES_java.gmk.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifInternalFrameUI.java.i
-data/src/share/classes/com/sun/jmx/namespace/RoutingServerProxy.java.i
+data/test/sun/misc/JarIndex/metaInfFilenames/jarC/META-INF/fonts.mf.i
data/make/tools/swing-beans/beaninfo/images/JTextAreaColor16.gif.i
-data/make/jpda/Makefile.i
+data/src/share/classes/com/sun/jndi/ldap/NamingEventNotifier.java.i
data/make/common/shared/Defs-control.gmk.i
data/src/share/classes/sun/util/resources/CurrencyNames_ar_QA.properties.i
-data/make/java/zip/reorder-sparc.i
+data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMDigestMethod.java.i
+data/src/share/classes/org/relaxng/datatype/DatatypeException.java.i
data/src/share/classes/java/security/package.html.i
-data/src/share/classes/javax/xml/crypto/dsig/dom/DOMSignContext.java.i
+data/test/java/lang/instrument/RedefineBigClass.sh.i
data/src/share/classes/javax/security/cert/X509Certificate.java.i
data/src/share/classes/sun/awt/util/IdentityArrayList.java.i
data/src/share/classes/java/awt/image/ComponentSampleModel.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/HelperNodeList.java.i
data/src/share/classes/sun/text/resources/FormatData_is.java.i
-data/src/share/classes/com/sun/tools/jdi/CharTypeImpl.java.i
data/src/share/demo/jfc/SampleTree/SampleData.java.i
data/test/java/net/NetworkInterface/Test.java.i
+data/test/java/io/Reader/SkipNegative.java.i
data/test/java/nio/Buffer/CopyDirectFloatMemory.java.i
data/src/share/classes/org/openjdk/jigsaw/Resolution.java.i
+data/test/tools/launcher/I18NJarTest.java.i
data/make/com/sun/security/auth/module/FILES_export_solaris.gmk.i
data/src/share/native/sun/font/layout/IndicReordering.h.i
+data/src/share/classes/sun/nio/cs/ext/IBM420.java.i
data/src/share/classes/javax/xml/crypto/NoSuchMechanismException.java.i
data/src/share/classes/com/sun/crypto/provider/CipherFeedback.java.i
data/src/share/classes/sun/text/resources/CollationData_tr.java.i
-data/test/java/net/URL/ParseAuthority.java.i
+data/test/java/util/Collections/CheckedIdentityMap.java.i
+data/test/sun/security/pkcs11/nss/lib/solaris-i586/libnss3.so.d
data/make/sun/jkernel/FILES_c_windows.gmk.i
-data/src/share/classes/org/openjdk/jigsaw/RemoteRepository.java.i
+data/test/java/nio/Buffer/CopyDirectByteMemory.java.i
data/src/windows/classes/sun/nio/fs/WindowsFileSystem.java.i
data/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Skip.java.i
+data/test/java/io/Serializable/available/Available.java.i
data/make/java/management/Exportedfiles.gmk.i
+data/src/share/classes/javax/swing/tree/TreeSelectionModel.java.i
data/src/share/classes/sun/nio/cs/ext/MS50220.java.i
data/src/share/classes/java/util/concurrent/RecursiveAction.java.i
data/src/solaris/classes/sun/awt/motif/MToolkit.java.i
-data/src/share/classes/sun/net/www/protocol/http/ntlm/NTLMAuthenticationCallback.java.i
data/src/solaris/native/sun/awt/awt_dnd_ds.c.i
-data/src/share/classes/com/sun/tools/jdi/CharValueImpl.java.i
data/make/launchers/Makefile.i
data/src/share/demo/jvmti/hprof/debug_malloc.h.i
data/src/share/classes/com/sun/tools/hat/internal/server/RootStackQuery.java.i
+data/src/windows/classes/sun/awt/windows/WCheckboxPeer.java.i
data/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_fr.properties.i
data/src/share/classes/java/rmi/server/RemoteStub.java.i
-data/test/java/nio/charset/coders/ResetISO2022JP.java.i
+data/src/share/classes/com/sun/crypto/provider/PBEWithMD5AndTripleDESCipher.java.i
data/test/java/nio/channels/AsynchronousSocketChannel/StressLoopback.java.i
-data/src/share/classes/javax/accessibility/AccessibleExtendedText.java.i
data/src/share/classes/com/sun/jdi/NativeMethodException.java.i
data/test/java/net/URL/RelativeURLTest.java.i
+data/src/solaris/classes/sun/awt/X11/XWM.java.i
data/src/share/classes/java/sql/ResultSet.java.i
data/src/windows/classes/sun/awt/windows/WPanelPeer.java.i
data/src/share/demo/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/ScriptShellPanel.java.i
@@ -3679,36 +3675,36 @@ data/test/sun/jvmstat/monitor/HostIdentifier/HostIdentifierCreate.java.i
data/src/share/classes/java/util/zip/Inflater.java.i
data/src/share/classes/javax/swing/text/rtf/AbstractFilter.java.i
data/test/java/util/ResourceBundle/Control/PackagePrivateRB.java.i
-data/test/java/security/cert/CertPathBuilder/GetInstance.java.i
data/src/share/classes/java/security/cert/CertificateFactorySpi.java.i
data/src/share/native/sun/java2d/Trace.c.i
data/src/share/classes/java/lang/StackTraceElement.java.i
+data/test/java/net/URLConnection/GetFileNameMap.java.i
data/src/share/classes/sun/io/ByteToCharCp1250.java.i
+data/test/java/awt/dnd/Button2DragTest/Button2DragTest.java.i
data/test/sun/security/pkcs11/nss/lib/windows-i586/libplc4.dll.i
-data/src/share/classes/sun/net/httpserver/HttpExchangeImpl.java.i
+data/make/netbeans/j2se/nbproject/project.xml.i
data/src/share/classes/java/beans/FeatureDescriptor.java.i
data/src/share/classes/javax/sound/sampled/spi/AudioFileWriter.java.i
data/test/java/rmi/activation/Activatable/inactiveGroup/rmid.security.policy.i
data/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java.i
data/src/share/classes/javax/imageio/plugins/jpeg/JPEGHuffmanTable.java.i
data/src/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties.i
+data/test/java/util/concurrent/ThreadPoolExecutor/CoreThreadTimeOut.java.i
data/src/share/javavm/export/jvmti.h.i
-data/test/java/awt/PrintJob/EdgeTest/EdgeTest.java.i
-data/make/tools/src/build/tools/javazic/GenDoc.java.i
+data/test/javax/swing/Security/6657138/bug6657138.java.i
+data/src/share/classes/com/sun/crypto/provider/HmacSHA1.java.i
data/src/share/classes/com/sun/media/sound/WaveFloatFileWriter.java.i
data/src/share/classes/sun/text/resources/FormatData_es_VE.java.i
-data/src/share/classes/javax/management/DefaultLoaderRepository.java.i
+data/test/sun/tools/jps/jps-lm_Output1.awk.i
data/src/share/native/sun/security/ec/ecp_256.c.i
data/make/netbeans/jdwpgen/nbproject/build-impl.xml.i
data/test/javax/swing/ToolTipManager/Test6657026.java.i
data/src/share/lib/security/sunpkcs11-solaris.cfg.i
-data/src/share/classes/sun/security/x509/GeneralSubtrees.java.i
data/src/share/classes/com/sun/java/util/jar/pack/Utils.java.i
data/test/sun/security/tools/keytool/i18n.html.i
data/test/java/beans/Introspector/6976577/test/Accessor.java.i
data/src/share/classes/com/sun/tools/example/trace/StreamRedirectThread.java.i
data/src/share/classes/com/sun/rowset/internal/BaseRow.java.i
-data/src/share/classes/sun/jkernel/BackgroundDownloader.java.i
data/src/share/classes/org/openjdk/jigsaw/RepositoryCatalog.java.i
data/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibGroup.java.i
data/test/javax/management/monitor/MBeanServerBuilderImpl.java.i
@@ -3720,9 +3716,11 @@ data/src/share/classes/com/sun/tools/jdi/GenericListeningConnector.java.i
data/test/tools/launcher/SolarisRunpath.sh.i
data/make/com/sun/demo/jvmti/hprof/Makefile.i
data/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.html.i
-data/src/share/classes/com/sun/imageio/plugins/common/BitFile.java.i
+data/test/sun/security/ssl/javax/net/ssl/TLSv12/ShortRSAKey512.java.i
+data/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java.i
data/make/tools/CharsetMapping/IBM1112.c2b.i
data/src/solaris/classes/sun/java2d/xr/XRDrawImage.java.i
+data/src/solaris/classes/sun/awt/X11/XContentWindow.java.i
data/test/javax/management/mxbean/customtypes/CustomMXBean.java.i
data/test/javax/swing/JComboBox/4743225/bug4743225.java.i
data/test/sun/security/tools/policytool/i18n.html.i
@@ -3730,12 +3728,11 @@ data/src/share/classes/sun/security/timestamp/TimestampToken.java.i
data/make/javax/sound/jsoundhs/FILES.gmk.i
data/test/java/rmi/activation/ActivateFailedException/activateFails/rmid.security.policy.i
data/make/tools/classanalyzer/src/com/sun/classanalyzer/ResolutionInfo.java.i
-data/src/share/classes/sun/io/CharToByteUnicodeBigUnmarked.java.i
+data/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java.i
data/src/share/lib/images/cursors/motif_CopyNoDrop32x32.gif.i
data/src/share/demo/scripting/jconsole-plugin/README.txt.i
data/make/tools/reorder/tools/util-sparc.il.i
data/test/sun/security/pkcs11/nss/lib/linux-i586/libsoftokn3.so.d
-data/test/java/beans/PropertyEditor/TestByteType.java.i
data/src/share/demo/nbproject/jfc/TransparentRuler/nbproject/netbeans-targets.xml.i
data/src/share/classes/com/sun/imageio/plugins/common/InputStreamAdapter.java.i
data/test/sun/security/pkcs11/nss/lib/linux-i586/libsoftokn3.so.i
@@ -3749,135 +3746,139 @@ data/src/windows/native/sun/windows/Devices.h.i
data/test/java/util/Collection/HotPotatoes.java.i
data/test/com/sun/nio/sctp/SctpChannel/Shutdown.java.i
data/src/solaris/native/sun/awt/awt_wm.h.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509CRL.java.i
-data/src/share/classes/java/awt/event/FocusAdapter.java.i
+data/src/share/native/sun/java2d/opengl/OGLBlitLoops.h.i
+data/src/windows/classes/sun/awt/windows/WScrollPanePeer.java.i
data/test/javax/script/Test3.java.i
data/make/tools/CharsetMapping/MS1256.map.i
data/src/linux/doc/man/ja/idlj.1.i
data/src/share/classes/java/nio/file/NotDirectoryException.java.i
-data/src/share/classes/javax/swing/text/DefaultFormatter.java.i
+data/src/share/sample/scripting/scriptpad/nbproject/netbeans-targets.xml.i
data/test/java/beans/PropertyEditor/MemoryClassLoader.java.i
data/src/share/classes/com/sun/accessibility/internal/resources/accessibility_it.properties.i
-data/src/share/back/invoker.h.i
+data/test/sun/tools/jcmd/jcmd_pid_Output2.awk.i
data/src/share/classes/java/net/InetSocketAddress.java.i
data/test/sun/security/acl/PermissionImpl/PermissionEqualsHashCode.java.i
data/test/com/sun/jdi/sde/SourceDebugExtensionTarg.java.i
data/src/share/demo/jvmti/hprof/hprof_event.h.i
data/src/share/classes/com/sun/jmx/namespace/serial/IdentityProcessor.java.i
+data/test/sun/tools/jps/jps-Vvml_Output2.awk.i
data/test/javax/security/auth/login/Configuration/GetInstance.bad.configURI.i
data/src/share/classes/sun/tools/tree/IntExpression.java.i
+data/test/java/rmi/registry/readTest/testPkg/Client.java.i
data/test/demo/jvmti/hprof/UseAllBytecodes.java.i
data/src/share/classes/sun/security/x509/CertificateSubjectName.java.i
+data/src/share/classes/javax/swing/ProgressMonitorInputStream.java.i
data/src/share/native/java/lang/fdlibm/src/e_atanh.c.i
-data/src/share/classes/java/util/ServiceLoader.java.i
data/src/solaris/classes/sun/awt/X11/XDropTargetProtocolListener.java.i
-data/src/share/classes/sun/reflect/generics/scope/ClassScope.java.i
+data/test/java/net/Authenticator/B6870935.java.i
data/src/share/native/java/util/zip/zlib-1.1.3/infcodes.h.i
data/src/share/classes/java/nio/channels/NetworkChannel.java.i
-data/src/share/classes/sun/nio/cs/IBM852.java.i
+data/test/java/beans/XMLEncoder/java_sql_Timestamp.java.i
data/src/share/native/java/lang/Compiler.c.i
data/src/solaris/native/sun/font/X11TextRenderer.c.i
data/src/share/classes/com/sun/imageio/spi/FileImageInputStreamSpi.java.i
data/test/java/util/concurrent/atomic/Lazy.java.i
+data/test/java/net/URLConnection/Connect.java.i
data/src/share/classes/javax/swing/text/FieldView.java.i
data/src/share/classes/com/sun/security/auth/UnixPrincipal.java.i
-data/src/share/classes/sun/invoke/util/ValueConversions.java.i
-data/test/java/security/KeyRep/SerialOld.policy.i
-data/test/java/lang/instrument/appendToClassLoaderSearch/Application.java.i
+data/test/java/net/B6499348.java.i
+data/src/share/classes/javax/management/BinaryRelQueryExp.java.i
data/src/share/demo/jvmti/hprof/hprof_util.c.i
-data/make/tools/swing-nimbus/classes/org/jdesktop/beans/AbstractBean.java.i
data/src/share/classes/java/awt/image/MemoryImageSource.java.i
data/make/tools/CharsetMapping/IBM1026.nr.i
data/src/share/classes/java/awt/font/TextHitInfo.java.i
-data/test/javax/swing/plaf/nimbus/ColorCustomizationTest.java.i
+data/test/com/sun/crypto/provider/Cipher/DES/inputData/plain0.txt.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/v2_0/PerfDataBufferPrologue.java.i
data/test/javax/crypto/spec/IvParameterSpec/NullIV.java.i
+data/src/share/classes/sun/io/CharToByteCp1144.java.i
data/src/share/classes/sun/nio/ch/SelectorProviderImpl.java.i
data/test/java/util/Locale/LocaleCategory.java.i
data/src/share/classes/com/sun/media/sound/AutoClosingClip.java.i
-data/src/share/classes/sun/security/x509/GeneralNameInterface.java.i
data/test/java/rmi/server/RMIClassLoader/delegateBeforePermissionCheck/DelegateBeforePermissionCheck.java.i
data/src/share/classes/sun/awt/EventQueueDelegate.java.i
data/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.html.i
data/src/share/classes/sun/net/RegisteredDomain.java.i
data/src/share/classes/sun/nio/cs/ext/TIS_620.java.i
-data/src/share/classes/java/nio/channels/AsynchronousChannel.java.i
data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirAgent.java.i
+data/src/share/classes/java/util/concurrent/ForkJoinPool.java.i
data/src/share/classes/sun/nio/cs/ext/IBM922.java.i
data/src/solaris/classes/sun/awt/X11/security-icon-bw32.png.i
data/src/share/classes/sun/java2d/pipe/RegionSpanIterator.java.i
data/test/javax/swing/MultiUIDefaults/4300666/bug4300666.java.i
data/make/tools/src/build/tools/addjsum/AddJsum.java.i
-data/src/share/classes/sun/jvmstat/perfdata/monitor/v2_0/PerfDataBuffer.java.i
data/src/linux/doc/man/ja/jvisualvm.1.i
data/src/share/demo/zipfs.i
data/test/java/net/ProxySelector/B6737819.java.i
data/src/share/classes/javax/net/ssl/HandshakeCompletedEvent.java.i
-data/src/solaris/native/sun/java2d/loops/vis_FourByteAbgrPre.c.i
+data/test/javax/swing/JFileChooser/4847375/bug4847375.java.i
data/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_sv.properties.i
data/src/share/classes/javax/security/auth/kerberos/KerberosTicket.java.i
-data/src/solaris/classes/sun/font/FcFontConfiguration.java.i
+data/test/com/sun/security/auth/login/ConfigFile/PropertyExpansion.policy.i
data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirClient.java.i
data/test/java/util/concurrent/LinkedBlockingQueue/LastElement.java.i
data/src/share/classes/java/util/jar/Attributes.java.i
-data/test/javax/management/namespace/NamespaceControllerMBean.java.i
-data/src/share/classes/sun/nio/cs/ext/IBM1122.java.i
+data/test/sun/text/resources/Format/Bug4762201.java.i
+data/test/javax/swing/border/Test4243289.html.i
+data/src/windows/native/sun/windows/awt.h.i
data/src/share/classes/java/awt/image/SinglePixelPackedSampleModel.java.i
data/test/com/sun/crypto/provider/Cipher/AES/TestISO10126Padding.java.i
data/test/java/security/cert/CertPathBuilder/targetConstraints/anchor.cer.i
-data/test/java/beans/PropertyEditor/TestEnumSubclass.java.i
+data/src/solaris/doc/sun/man/man1/ja/apt.1.i
data/test/sun/security/pkcs11/Cipher/TestSymmCiphersNoPad.java.i
data/src/windows/native/java/io/FileDescriptor_md.c.i
data/src/share/classes/sun/security/pkcs/EncryptedPrivateKeyInfo.java.i
data/src/share/classes/sun/java2d/pipe/PixelToShapeConverter.java.i
-data/src/share/classes/com/sun/servicetag/resources/register_ja.html.i
+data/src/share/classes/javax/swing/DelegatingDefaultFocusManager.java.i
data/src/share/classes/java/io/Writer.java.i
data/test/sun/tools/jstat/jstatClassOutput1.sh.i
data/src/solaris/native/sun/awt/awt_Menu.c.i
data/src/share/classes/java/awt/Cursor.java.i
data/src/share/classes/java/net/URLClassLoader.java.i
-data/src/share/classes/sun/util/resources/TimeZoneNamesBundle.java.i
+data/src/share/classes/sun/io/CharToByteCp834.java.i
data/src/solaris/hpi/native_threads/src/sys_api_td.c.i
data/test/java/io/Serializable/parents/OriginalClass.java.i
data/src/share/npt/npt.h.i
+data/test/java/nio/charset/Charset/default.sh.i
data/src/share/classes/java/net/SocketImpl.java.i
data/src/share/classes/sun/security/jgss/krb5/MessageToken.java.i
data/src/solaris/classes/sun/font/XRTextRenderer.java.i
data/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageReaderSpi.java.i
-data/src/share/classes/java/nio/file/FileVisitor.java.i
+data/test/java/rmi/server/serverStackTrace/ServerStackTrace.java.i
data/test/java/awt/font/TextLayout/KernCrash.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicTextPaneUI.java.i
data/src/share/classes/java/awt/font/TransformAttribute.java.i
-data/src/solaris/classes/sun/nio/fs/UnixFileStore.java.i
+data/test/sun/security/krb5/auto/BadKdc.java.i
data/src/share/classes/sun/io/CharToByteCp838.java.i
data/src/share/classes/java/awt/GraphicsDevice.java.i
-data/make/tools/CharsetMapping/IBM1025.c2b.i
data/src/share/classes/org/openjdk/jigsaw/SimpleLibrary.java.i
data/src/windows/classes/sun/print/services/javax.print.PrintServiceLookup.i
data/test/javax/print/attribute/autosense/PrintAutoSenseData.java.i
-data/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_de.properties.i
+data/test/java/security/Security/signedfirst/exp.jar.i
data/src/share/classes/java/util/zip/ZipFile.java.i
data/src/share/classes/java/security/cert/PolicyNode.java.i
data/src/share/classes/java/lang/IllegalAccessException.java.i
-data/src/share/classes/sun/management/snmp/util/SnmpListTableCache.java.i
+data/test/java/rmi/activation/rmidViaInheritedChannel/rmid.security.policy.i
+data/src/share/lib/images/cursors/win32_MoveNoDrop32x32.gif.i
data/src/share/classes/com/sun/jmx/event/DaemonThreadFactory.java.i
data/src/share/classes/sun/io/CharToByteEUC_KR.java.i
data/test/java/io/Serializable/classDescHooks/ExternLoopback.java.i
data/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java.i
+data/src/share/native/sun/awt/medialib/mlib_c_ImageConvClearEdge.c.i
data/src/share/classes/sun/net/www/protocol/http/DigestAuthentication.java.i
data/make/tools/CharsetMapping/ISO_8859_7.map.i
-data/src/share/classes/sun/java2d/cmm/CMSManager.java.i
+data/src/share/classes/com/sun/rowset/RowSetFactoryImpl.java.i
data/src/share/classes/javax/sql/rowset/BaseRowSet.java.i
data/test/javax/imageio/plugins/shared/BitDepth.java.i
-data/test/java/awt/im/InputContext/InputContextTest.java.i
-data/src/share/classes/sun/net/ftp/FtpDirEntry.java.i
+data/src/share/classes/sun/tools/tree/AssignUnsignedShiftRightExpression.java.i
data/src/share/classes/javax/swing/SwingWorker.java.i
data/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopStart.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifMenuMouseMotionListener.java.i
data/test/java/rmi/activation/Activatable/forceLogSnapshot/ForceLogSnapshot_Stub.java.i
data/make/tools/classanalyzer/src/com/sun/classanalyzer/CheckDeps.java.i
data/src/share/classes/javax/print/attribute/standard/ColorSupported.java.i
-data/src/share/native/sun/font/layout/MorphTables.h.i
+data/src/share/classes/sun/text/resources/FormatData_de_CH.java.i
+data/test/java/io/Serializable/NoClassDefFoundErrorTrap/NoClassDefFoundErrorTrap.java.i
+data/make/tools/src/build/tools/javazic/Main.java.i
data/src/share/native/sun/font/layout/LEGlyphStorage.h.i
data/src/share/classes/sun/tools/tree/SuperExpression.java.i
data/test/java/util/Locale/data/deflocale.exe.i
@@ -3885,27 +3886,26 @@ data/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemoryGCVerboseLevel.ja
data/src/share/classes/javax/swing/doc-files/SizeSequence-1.gif.i
data/test/java/beans/PropertyEditor/TestLongTypeNull.java.i
data/test/com/sun/jdi/RedefineStep.sh.i
-data/src/share/classes/com/sun/media/sound/SoftResamplerStreamer.java.i
-data/src/windows/native/java/io/FileSystem_md.c.i
+data/src/solaris/classes/sun/nio/ch/PollArrayWrapper.java.i
data/src/share/classes/java/security/spec/PKCS8EncodedKeySpec.java.i
data/src/share/classes/com/sun/jdi/event/ThreadDeathEvent.java.i
data/test/com/sun/jdi/VMDeathLastTest.java.i
-data/test/javax/management/loading/MLetCLR/MLetCommand.java.i
data/test/java/nio/Buffer/CopyDirectShortMemory.java.i
data/test/javax/management/Introspector/ResourceInjectionTest.java.i
+data/src/share/classes/sun/print/PrintJob2D.java.i
data/make/tools/classanalyzer/build.xml.i
data/make/netbeans/common/architectures/arch-amd64.properties.i
data/src/share/classes/javax/swing/plaf/nimbus/ToolBarSeparatorPainter.java.i
+data/src/share/demo/java2d/J2DBench/resources/textdata/greek.ut8.txt.i
data/src/share/classes/sun/management/MemoryManagerImpl.java.i
data/src/share/classes/com/sun/servicetag/Util.java.i
data/src/share/classes/java/awt/EventQueue.java.i
-data/test/java/awt/TextArea/TextAreaCursorTest/HoveringAndDraggingTest.html.i
+data/src/windows/classes/java/net/DefaultDatagramSocketImplFactory.java.i
data/src/share/native/sun/java2d/loops/FourByteAbgr.h.i
data/src/share/classes/sun/awt/geom/Curve.java.i
data/src/share/classes/java/awt/event/KeyEvent.java.i
data/make/tools/swing-beans/beaninfo/images/JInternalFrameMono32.gif.i
data/src/solaris/classes/sun/font/X11TextRenderer.java.i
-data/src/share/classes/sun/security/action/LoadLibraryAction.java.i
data/test/java/lang/management/MemoryMXBean/LowMemoryTest.java.i
data/src/share/classes/javax/swing/filechooser/FileView.java.i
data/src/share/classes/javax/management/InstanceAlreadyExistsException.java.i
@@ -3913,7 +3913,7 @@ data/src/share/classes/com/sun/tools/jdi/TargetVM.java.i
data/test/java/util/logging/AnonLoggerWeakRefLeak.sh.i
data/src/share/classes/com/sun/net/httpserver/HttpsParameters.java.i
data/src/share/classes/java/text/MessageFormat.java.i
-data/src/share/classes/com/sun/jdi/ShortType.java.i
+data/src/share/classes/java/sql/ParameterMetaData.java.i
data/make/java/sun_nio/FILES_java.gmk.i
data/src/share/classes/javax/sql/rowset/WebRowSet.java.i
data/src/share/classes/com/sun/media/sound/SoftChorus.java.i
@@ -3923,7 +3923,6 @@ data/src/share/classes/sun/net/www/protocol/http/AuthCacheImpl.java.i
data/test/java/io/RandomAccessFile/ReadLine.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java.i
data/src/share/classes/sun/print/SunPageSelection.java.i
-data/test/sun/security/pkcs11/Provider/ConfigQuotedString.sh.i
data/src/share/classes/com/sun/tools/extcheck/Main.java.i
data/test/sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.java.i
data/src/share/classes/javax/xml/crypto/NodeSetData.java.i
@@ -3936,33 +3935,35 @@ data/src/share/classes/javax/swing/DropMode.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthToggleButtonUI.java.i
data/make/tools/swing-beans/beaninfo/images/JDesktopPaneMono16.gif.i
data/make/tools/classanalyzer/src/com/sun/classanalyzer/Platform.java.i
-data/test/sun/security/validator/certreplace.sh.i
+data/make/tools/swing-beans/beaninfo/images/JScrollBarColor32.gif.i
+data/src/share/native/java/util/zip/zlib-1.2.5/gzclose.c.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIU8U16Func.c.i
data/test/sun/security/mscapi/KeytoolChangeAlias.sh.i
-data/src/share/classes/javax/swing/plaf/synth/SynthBorder.java.i
+data/make/tools/CharsetMapping/IBM1144.c2b.i
data/test/java/lang/module/_ModuleId.java.i
data/src/share/classes/javax/print/event/PrintJobAttributeEvent.java.i
data/test/javax/management/context/LocalizableTest.java.i
data/src/share/classes/sun/dyn/BoundMethodHandle.java.i
+data/make/javax/print/Makefile.i
data/test/com/sun/crypto/provider/Cipher/AES/Test4513830.java.i
-data/test/java/util/concurrent/Exchanger/LoopHelpers.java.i
-data/src/share/classes/java/io/DataInputStream.java.i
+data/test/sun/security/provider/PolicyFile/TrustedCert.keystore.i
data/test/java/io/FileDescriptor/Finalize.java.i
data/test/java/rmi/activation/Activatable/nestedActivate/NestedActivate_Stub.java.i
-data/src/share/classes/sun/net/TelnetProtocolException.java.i
-data/test/java/nio/file/Files/SkipSiblings.java.i
-data/src/share/classes/sun/reflect/ByteVectorFactory.java.i
+data/test/javax/management/descriptor/UnionTest.java.i
data/make/tools/CharsetMapping/IBM1140.c2b.i
-data/src/share/classes/sun/util/resources/CurrencyNames_sr_ME.properties.i
+data/src/share/classes/sun/security/provider/certpath/ForwardState.java.i
+data/src/share/classes/com/sun/java/swing/plaf/motif/MotifMenuMouseListener.java.i
data/test/java/beans/Introspector/Test6723447.java.i
data/test/javax/management/remote/mandatory/notif/ServerNotifs.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathTransform.java.i
+data/test/java/rmi/transport/readTimeout/ReadTimeoutTest.java.i
data/src/share/classes/sun/rmi/server/UnicastServerRef.java.i
data/test/java/util/zip/GZIP/Accordion.java.i
data/src/share/classes/sun/tools/jconsole/MBeansTab.java.i
data/src/share/classes/java/awt/image/ColorConvertOp.java.i
data/src/share/classes/sun/io/ByteToCharCp775.java.i
-data/src/share/classes/sun/reflect/generics/reflectiveObjects/NotImplementedException.java.i
data/make/common/internal/ImportComponents.gmk.i
+data/src/share/classes/sun/nio/ch/PollSelectorProvider.java.i
data/test/java/rmi/transport/dgcDeadLock/TestImpl.java.i
data/src/share/classes/javax/net/ssl/X509TrustManager.java.i
data/make/sun/rmi/rmid/Makefile.i
@@ -3972,34 +3973,34 @@ data/src/share/classes/com/sun/security/auth/jaas-overview.html.i
data/test/javax/swing/UIDefaults/6795356/TableTest.java.i
data/src/share/classes/com/sun/tools/example/debug/tty/SourceMapper.java.i
data/src/share/native/sun/awt/medialib/mlib_c_ImageBlendTable.c.i
-data/src/share/classes/java/lang/RuntimePermission.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignature.java.i
data/test/javax/management/remote/mandatory/notif/EmptyDomainNotificationTest.java.i
-data/src/windows/resource/version.rc.i
data/test/javax/security/auth/PrivateCredentialPermission/Equals.java.i
-data/src/share/classes/sun/security/pkcs11/wrapper/CK_CREATEMUTEX.java.i
+data/test/javax/swing/DataTransfer/6456844/bug6456844.java.i
data/test/sun/security/ec/pkcs12/secp256r1server-secp384r1ca.p12.i
data/test/sun/security/util/HostnameMatcher/cert3.crt.i
-data/src/share/classes/sun/awt/image/BufImgVolatileSurfaceManager.java.i
+data/src/share/classes/sun/util/LocaleDataMetaInfo-XLocales.java.template.i
data/src/share/classes/com/sun/jmx/mbeanserver/ConvertingMethod.java.i
data/src/share/classes/sun/print/PrinterGraphicsDevice.java.i
+data/test/javax/security/auth/login/LoginContext/DefaultHandlerImpl.java.i
data/test/java/util/ResourceBundle/TestResource_de.java.i
data/src/share/classes/java/util/logging/Formatter.java.i
data/src/solaris/native/sun/awt/robot_common.h.i
data/src/share/classes/javax/swing/text/FlowView.java.i
data/test/java/net/URL/GetContent.java.i
data/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipUtils.java.i
-data/src/solaris/bin/jexec.c.i
+data/src/windows/native/sun/java2d/windows/dxCapabilities.cpp.i
data/src/share/classes/sun/util/resources/TimeZoneNames_fr.java.i
-data/src/share/classes/javax/management/loading/MLetParser.java.i
+data/src/share/sample/vm/jvm-clr/invoker.h.i
data/src/share/classes/sun/util/resources/CurrencyNames_ar_SY.properties.i
data/src/share/classes/java/util/concurrent/ForkJoinWorkerThread.java.i
+data/src/share/classes/javax/swing/plaf/multi/MultiTreeUI.java.i
data/src/share/classes/com/sun/media/sound/InvalidFormatException.java.i
data/src/share/classes/com/sun/media/sound/RIFFWriter.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherValue.java.i
-data/src/share/classes/sun/text/normalizer/UCharacterIterator.java.i
+data/test/java/net/URLConnection/xml/xml1.i
data/src/share/classes/sun/net/www/http/Hurryable.java.i
-data/src/share/classes/com/sun/java/swing/plaf/motif/MotifLabelUI.java.i
+data/src/windows/native/sun/jkernel/graphics/bullet.bmp.i
data/src/share/classes/com/sun/tools/jdi/StringReferenceImpl.java.i
data/make/tools/CharsetMapping/IBM862.map.i
data/src/share/classes/sun/audio/AudioDataStream.java.i
@@ -4009,6 +4010,7 @@ data/test/java/io/charStreams/CharGenerator.java.i
data/test/com/sun/net/httpserver/bugs/HeadTest.java.i
data/test/java/net/Authenticator/B4759514.java.i
data/src/share/classes/com/sun/jdi/connect/TransportTimeoutException.java.i
+data/test/sun/nio/cs/TestStringCoding.java.i
data/make/tools/CharsetMapping/IBM1145.map.i
data/src/share/sample/scripting/scriptpad/src/resources/mm.js.i
data/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriterResources.java.i
@@ -4017,67 +4019,63 @@ data/test/sun/security/util/DerValue/Indefinite.java.i
data/test/java/util/PluggableLocale/DateFormatProviderTest.sh.i
data/test/sun/net/InetAddress/nameservice/deadlock/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor.i
data/test/java/beans/PropertyEditor/TestBooleanTypeNull.java.i
-data/src/share/classes/sun/io/ByteToCharMacTurkish.java.i
+data/src/windows/classes/sun/security/krb5/internal/tools/KinitOptions.java.i
data/src/share/classes/sun/audio/AudioSecurityExceptionAction.java.i
data/src/solaris/native/sun/java2d/loops/java2d_Mlib.h.i
-data/make/java/nio/addNotices.sh.i
+data/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java.i
data/test/java/io/Serializable/subclass/XObjectInputStream.java.i
data/test/java/security/BasicPermission/PermClass.java.i
data/src/share/classes/com/sun/tools/example/debug/bdi/MalformedMemberNameException.java.i
+data/test/javax/swing/JOptionPane/6464022/bug6464022.java.i
data/src/share/classes/org/openjdk/jigsaw/IdentityHashSet.java.i
data/test/java/io/Serializable/stopCustomDeserialization/Write.java.i
-data/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c.i
+data/src/share/classes/com/sun/media/sound/AudioFloatConverter.java.i
data/src/share/classes/sun/java2d/pisces/PiscesMath.java.i
data/test/java/util/zip/ZipEntry/Constructor.java.i
-data/src/share/classes/javax/management/event/NotificationManager.java.i
data/src/share/classes/javax/xml/crypto/dom/DOMCryptoContext.java.i
data/src/windows/native/sun/java2d/d3d/D3DPipeline.h.i
data/src/share/classes/sun/io/CharToByteMS949.java.i
data/src/share/native/sun/security/ec/ecdecode.c.i
data/test/javax/management/mxbean/ExceptionDiagnosisTest.java.i
-data/src/share/classes/com/sun/tools/jdi/ConnectorImpl.java.i
+data/test/java/io/PipedInputStream/CloseAndAvailableRC.java.i
data/src/share/classes/javax/management/remote/rmi/RMIConnector.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppInputStream/ReadBlocksClose.java.i
+data/src/share/classes/java/awt/ModalEventFilter.java.i
data/src/share/classes/java/awt/dnd/DnDEventMulticaster.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/RetrievalMethod.java.i
-data/test/java/util/PluggableLocale/DateFormatSymbolsProviderTest.sh.i
+data/src/share/native/sun/awt/medialib/mlib_sys.c.i
data/src/share/classes/sun/security/validator/ValidatorException.java.i
data/src/share/classes/javax/print/attribute/standard/JobPriority.java.i
data/make/tools/auto_multi/Makefile.i
data/test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh.i
-data/src/share/classes/java/nio/X-Buffer-bin.java.template.i
+data/test/sun/java2d/pisces/Renderer/Test7019861.java.i
data/src/share/classes/javax/imageio/spi/ImageTranscoderSpi.java.i
data/test/javax/xml/crypto/dsig/ValidationTests.java.i
data/test/java/net/URLConnection/6212146/test.jar.i
-data/src/share/classes/javax/xml/crypto/dsig/keyinfo/package.html.i
data/test/sun/security/krb5/auto/DupEtypes.java.i
data/test/java/security/Provider/GetInstance.java.i
data/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties.i
data/test/java/beans/PropertyEditor/TestByteClass.java.i
data/make/sun/awt/make.depend.i
-data/src/share/classes/sun/font/ExtendedTextLabel.java.i
+data/test/java/awt/Dialog/MakeWindowAlwaysOnTop/MakeWindowAlwaysOnTop.java.i
data/test/java/net/URLClassLoader/closetest/GetResourceAsStream.java.i
-data/src/share/classes/javax/swing/event/DocumentListener.java.i
data/test/javax/swing/border/Test4252164.html.i
-data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMEnvelopedTransform.java.i
+data/test/sun/security/pkcs11/ec/TestKeyFactory.java.i
data/test/com/sun/nio/sctp/SctpChannel/CommUp.java.i
data/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadataFormatResources.java.i
data/src/share/classes/java/security/spec/DSAParameterSpec.java.i
data/src/share/classes/sun/font/TextRecord.java.i
+data/src/share/classes/sun/security/util/ByteArrayLexOrder.java.i
data/test/java/lang/reflect/Constructor/Equals.java.i
-data/test/java/rmi/server/clientStackTrace/ClientStackTrace.java.i
data/src/solaris/classes/sun/awt/motif/MInputMethod.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/Algorithm.java.i
data/src/share/classes/java/rmi/activation/ActivationDesc.java.i
data/test/sun/security/smartcardio/TestControl.java.i
data/src/share/classes/java/beans/beancontext/BeanContextSupport.java.i
data/src/share/native/sun/java2d/cmm/lcms/cmscgats.c.i
-data/src/share/classes/java/lang/doc-files/captheta.gif.i
data/src/share/classes/sun/net/httpserver/StreamClosedException.java.i
data/test/sun/net/www/protocol/jar/resource.jar.i
data/test/java/util/PluggableLocale/TimeZoneNameProviderTest.sh.i
data/src/share/classes/com/sun/jdi/ShortValue.java.i
-data/src/share/classes/sun/nio/ch/Secrets.java.i
+data/src/share/classes/sun/security/pkcs/PKCS10Attributes.java.i
data/src/windows/native/sun/java2d/d3d/D3DBlitLoops.cpp.i
data/src/share/classes/sun/security/krb5/internal/ktab/KeyTabConstants.java.i
data/src/share/classes/java/beans/PropertyChangeListener.java.i
@@ -4085,40 +4083,39 @@ data/src/share/classes/sun/nio/cs/ext/IBM868.java.i
data/src/share/classes/sun/print/PSStreamPrintService.java.i
data/test/java/nio/file/spi/TestProvider.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/HelpFormatter.java.i
+data/test/java/rmi/transport/checkFQDN/CheckFQDN_Stub.java.i
data/test/java/rmi/activation/Activatable/checkActivateRef/CheckActivateRef_Stub.java.i
data/test/sun/security/provider/PolicyParser/TokenStore.java.i
data/make/tools/src/build/tools/automulti/AutoMulti.java.i
data/src/solaris/native/sun/java2d/loops/vis_IntRgb.c.i
-data/src/solaris/native/com/sun/security/auth/module/Unix.c.i
data/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_zh_CN.properties.i
-data/src/share/classes/sun/reflect/generics/reflectiveObjects/GenericArrayTypeImpl.java.i
+data/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.html.i
data/src/share/classes/java/io/StreamTokenizer.java.i
data/src/share/classes/sun/io/ByteToCharCp278.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11_WithComments.java.i
-data/src/share/classes/sun/tools/jconsole/InternalDialog.java.i
+data/src/share/native/java/lang/fdlibm/src/s_tan.c.i
data/src/share/classes/com/sun/jdi/doc-files/signature.html.i
-data/src/share/classes/sun/io/ByteToCharCp1146.java.i
data/src/share/native/java/lang/Double.c.i
data/test/sun/security/tools/jarsigner/JarSigning.keystore.i
data/src/share/classes/java/util/concurrent/ScheduledExecutorService.java.i
data/src/share/classes/java/util/PropertyResourceBundle.java.i
data/src/share/classes/java/awt/MenuContainer.java.i
-data/src/share/classes/com/sun/rowset/internal/XmlErrorHandler.java.i
+data/test/tools/pack200/TestExceptions.java.i
data/src/share/classes/com/sun/jndi/cosnaming/ExceptionMapper.java.i
data/src/share/classes/sun/nio/cs/ext/JIS_X_0208_Solaris_Decoder.java.i
data/make/tools/CharsetMapping/IBM838.c2b.i
data/src/share/classes/java/awt/image/RescaleOp.java.i
data/src/share/classes/com/sun/media/sound/services/javax.sound.midi.spi.MidiDeviceProvider.i
data/src/share/classes/com/sun/script/util/BindingsBase.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyValue.java.i
+data/test/java/rmi/reliability/benchmark/bench/Harness.java.i
data/test/java/util/Formatter/genBasic.sh.i
data/test/java/lang/management/MemoryMXBean/LowMemoryTest2.sh.i
data/test/java/nio/file/Path/temporary_files.sh.i
data/src/share/classes/java/io/BufferedInputStream.java.i
data/src/share/demo/jvmti/hprof/debug_malloc.c.i
+data/test/javax/management/MBeanServer/PreRegisterTest.java.i
data/src/share/classes/com/sun/imageio/spi/RAFImageInputStreamSpi.java.i
-data/src/windows/native/sun/font/fontpath.c.i
-data/src/share/classes/javax/sound/sampled/FloatControl.java.i
+data/src/windows/classes/sun/security/mscapi/Key.java.i
data/src/solaris/classes/sun/awt/X11/security-icon-interim32.png.i
data/src/share/classes/javax/swing/plaf/FontUIResource.java.i
data/test/java/awt/Modal/WsDisabledStyle/OverBlocker/OverBlocker.java.i
@@ -4128,7 +4125,6 @@ data/test/java/nio/Buffer/BasicInt.java.i
data/test/java/io/Serializable/InvalidClassException/noargctor/Serialize/SubclassAcrossPackage.java.i
data/test/java/lang/module/module-info-reader.sh.i
data/test/java/net/URLClassLoader/B5077773.sh.i
-data/src/share/classes/sun/util/resources/LocaleNamesBundle.java.i
data/src/share/classes/java/beans/BeanInfo.java.i
data/test/java/beans/XMLDecoder/spec/TestObject.java.i
data/test/sun/nio/cs/TestStringCodingUTF8.java.i
@@ -4137,23 +4133,19 @@ data/src/share/classes/com/sun/jndi/ldap/ClientId.java.i
data/src/share/classes/java/net/SocketOptions.java.i
data/src/share/classes/sun/security/internal/spec/TlsMasterSecretParameterSpec.java.i
data/src/share/classes/javax/naming/NoPermissionException.java.i
-data/src/share/classes/sun/applet/AppletIllegalArgumentException.java.i
data/src/share/classes/sun/java2d/loops/DrawGlyphList.java.i
data/src/share/classes/sun/net/www/HeaderParser.java.i
data/src/share/classes/sun/tools/jstat/OptionOutputFormatter.java.i
-data/src/share/classes/com/sun/security/auth/SolarisPrincipal.java.i
+data/test/java/io/Serializable/6966692/Victim.java.i
data/test/java/rmi/activation/Activatable/forceLogSnapshot/ForceLogSnapshot_Skel.java.i
data/src/share/classes/com/sun/jdi/connect/Transport.java.i
data/test/java/util/StringTokenizer/Supplementary.java.i
-data/test/javax/management/remote/mandatory/URLTest.java.i
data/src/share/classes/sun/management/HotspotMemoryMBean.java.i
-data/src/windows/native/java/io/Win32FileSystem_md.c.i
-data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMAclItem.java.i
+data/test/java/dyn/InvokeGenericTest.java.i
data/src/share/classes/com/sun/jdi/MonitorInfo.java.i
data/test/java/io/Serializable/misplacedArrayClassDesc/MisplacedArrayClassDesc.java.i
-data/src/share/classes/java/lang/reflect/ParameterizedType.java.i
data/test/javax/sound/midi/Gervill/SoftChannel/AllSoundOff.java.i
-data/src/share/classes/com/sun/media/sound/AudioFloatConverter.java.i
+data/src/share/classes/sun/tools/tree/WhileStatement.java.i
data/test/javax/imageio/plugins/png/ShortHistogramTest.java.i
data/make/tools/src/build/tools/jdwpgen/ObjectTypeNode.java.i
data/src/share/classes/sun/tools/jconsole/Formatter.java.i
@@ -4162,87 +4154,87 @@ data/src/share/classes/com/sun/jndi/url/iiop/iiopURLContextFactory.java.i
data/test/java/rmi/activation/Activatable/nestedActivate/group.security.policy.i
data/src/share/classes/sun/net/www/http/HttpCaptureInputStream.java.i
data/test/sun/security/util/Debug/MultiOptions.java.i
+data/src/share/back/debugLoop.h.i
data/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/CompressConstants.java.i
+data/test/java/lang/management/MemoryMXBean/LowMemoryTestSerialGC.sh.i
data/src/share/classes/java/lang/InternalError.java.i
data/src/share/classes/org/openjdk/jigsaw/ContextSet.java.i
-data/src/share/classes/com/sun/jmx/namespace/DomainInterceptor.java.i
-data/src/share/classes/com/sun/inputmethods/internal/indicim/IndicInputMethodImpl.java.i
+data/src/share/classes/sun/dyn/util/BytecodeSignature.java.i
data/test/sun/net/www/protocol/mailto/HandlerParse.java.i
data/make/tools/swing-beans/beaninfo/images/JViewportMono32.gif.i
data/src/share/classes/sun/net/spi/nameservice/dns/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor.i
data/test/sun/security/pkcs11/KeyStore/BasicData/p11-solaris.txt.i
+data/src/share/classes/com/sun/net/ssl/internal/www/protocol/https/Handler.java.i
data/make/tools/src/build/tools/jdwpgen/ErrorSetNode.java.i
data/src/share/classes/com/sun/jdi/request/MethodExitRequest.java.i
data/test/java/awt/grab/GrabOnUnfocusableToplevel/GrabOnUnfocusableToplevel.java.i
data/make/tools/swing-beans/beaninfo/images/JFormattedTextFieldMono32.gif.i
data/src/share/classes/java/awt/geom/Line2D.java.i
data/src/share/classes/sun/management/snmp/jvminstr/JvmRTInputArgsTableMetaImpl.java.i
-data/src/share/classes/com/sun/inputmethods/internal/thaiim/ThaiInputMethodDescriptor.java.i
+data/src/share/classes/java/awt/peer/TextAreaPeer.java.i
data/src/share/classes/javax/swing/event/MenuDragMouseEvent.java.i
data/src/share/classes/com/sun/java/util/jar/pack/Coding.java.i
data/src/share/classes/javax/imageio/spi/ServiceRegistry.java.i
data/test/java/util/concurrent/SynchronousQueue/Fairness.java.i
data/test/sun/security/pkcs11/nss/lib/solaris-i586/libfreebl3.so.d
-data/src/share/native/sun/awt/libpng/pnginfo.h.i
+data/src/share/classes/com/sun/tools/example/debug/expr/Token.java.i
data/src/share/bin/emessages.h.i
data/test/java/util/Hashtable/SelfRef.java.i
data/test/java/util/regex/BMPTestCases.txt.i
data/test/com/sun/servicetag/newer-registry-version.xml.i
data/src/share/classes/java/beans/VetoableChangeListener.java.i
-data/src/share/classes/java/util/concurrent/locks/ReadWriteLock.java.i
-data/src/share/classes/sun/java2d/pipe/PixelToParallelogramConverter.java.i
-data/src/share/classes/sun/io/CharToByteCp870.java.i
-data/src/share/classes/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java.i
+data/make/mkdemo/applets/GraphicsTest/Makefile.i
+data/src/share/native/sun/security/ec/ec.h.i
data/src/share/classes/sun/io/ByteToCharMS874.java.i
data/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntInt.java.i
-data/make/mkdemo/jvmti/versionCheck/Makefile.i
-data/src/share/classes/javax/swing/plaf/ComponentInputMapUIResource.java.i
+data/src/share/classes/javax/print/attribute/standard/PrintQuality.java.i
+data/src/share/classes/java/sql/SQLTransactionRollbackException.java.i
+data/test/sun/tools/jcmd/dcmd-script.txt.i
data/src/share/native/sun/misc/MessageUtils.c.i
+data/src/share/classes/javax/swing/text/TabableView.java.i
data/src/solaris/native/sun/awt/awt_wm.c.i
-data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/DoubleBean.java.i
data/src/share/classes/com/sun/beans/decoder/DocumentHandler.java.i
data/src/share/classes/sun/nio/ch/MembershipKeyImpl.java.i
-data/test/java/net/URLClassLoader/sealing/Makefile.i
-data/test/sun/nio/cs/NIOJISAutoDetectTest.java.i
+data/src/windows/native/java/net/SocketInputStream.c.i
data/test/javax/management/openmbean/BadConstraintTest.java.i
data/src/share/classes/sun/awt/resources/awt_de.properties.i
data/test/java/net/SocketPermission/B4414825.java.i
data/src/share/demo/management/index.html.i
data/src/share/classes/sun/util/locale/InternalLocaleBuilder.java.i
data/src/share/classes/sun/util/resources/LocaleNames_es.properties.i
+data/test/java/io/charStreams/LineNumbers.java.i
data/test/java/rmi/server/RemoteObject/notExtending/NotExtending_Skel.java.i
-data/src/share/sample/jmx/jmx-scandir/docfiles/scandir-result.jpg.i
-data/src/share/classes/java/awt/MenuBar.java.i
-data/test/java/awt/Window/AlwaysOnTop/AlwaysOnTopEvenOfWindow.java.i
+data/make/java/nio/mxbean/Makefile.i
+data/test/sun/security/provider/PolicyFile/SelfWildcard.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_ko.properties.i
data/src/share/demo/jvmti/hprof/hprof_md.h.i
-data/src/share/classes/sun/awt/image/ShortInterleavedRaster.java.i
+data/src/share/classes/sun/text/resources/CollationData_sk.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_ru_RU.properties.i
data/src/share/classes/java/awt/Robot.java.i
+data/src/solaris/native/java/io/canonicalize_md.c.i
data/test/java/beans/Introspector/Test5063390.java.i
-data/src/share/classes/java/lang/ClassLoader.java.i
data/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth.properties.i
data/test/java/rmi/server/Unreferenced/unreferencedContext/UnreferencedContext_Stub.java.i
data/src/share/classes/sun/tools/java/BinaryCode.java.i
data/test/java/util/PluggableLocale/CollatorProviderTest.java.i
-data/src/share/classes/javax/accessibility/AccessibleContext.java.i
+data/src/share/classes/javax/swing/plaf/synth/SynthMenuBarUI.java.i
data/src/share/classes/sun/tools/jconsole/inspector/XObject.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/util/KeyValuePair.java.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java.i
data/test/javax/management/modelmbean/DescriptorSupportSerialTest.java.i
data/test/javax/swing/JFileChooser/7036025/bug7036025.java.i
data/src/share/native/sun/awt/libpng/pngset.c.i
+data/src/share/classes/sun/swing/text/TextComponentPrintable.java.i
data/src/share/classes/sun/text/normalizer/ICUData.java.i
data/src/share/classes/javax/swing/text/html/parser/TagElement.java.i
-data/src/share/classes/java/awt/image/BufferedImageOp.java.i
+data/src/share/classes/sun/tools/jconsole/inspector/XTextField.java.i
data/src/share/classes/sun/nio/cs/ext/IBM1098.java.i
-data/make/java/zip/mapfile-vers.i
-data/src/share/classes/sun/nio/cs/SingleByteEncoder.java.i
+data/make/tools/CharsetMapping/GBK.map.i
+data/test/java/util/Random/NextIntPowerOfTwoMod.java.i
data/src/share/classes/javax/sound/sampled/AudioFormat.java.i
-data/src/share/classes/javax/swing/plaf/DesktopPaneUI.java.i
data/make/jpda/transport/Makefile.i
data/src/share/classes/sun/util/resources/CurrencyNames_es_ES.properties.i
data/test/com/sun/security/auth/login/ConfigFile/Override.good.config.i
-data/src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java.i
data/src/share/demo/nbproject/management/FullThreadDump/nbproject/jdk.xml.i
data/make/tools/swing-beans/beaninfo/images/JSeparatorColor32.gif.i
data/src/share/demo/jvmti/hprof/hprof_util.h.i
@@ -4254,7 +4246,10 @@ data/src/share/classes/sun/rmi/log/LogInputStream.java.i
data/test/javax/swing/JFileChooser/6798062/bug6798062.html.i
data/src/share/classes/sun/util/resources/CurrencyNames_sr_BA.properties.i
data/src/share/classes/javax/print/attribute/standard/PrinterStateReasons.java.i
+data/src/share/classes/sun/text/resources/FormatData_lt_LT.java.i
+data/test/java/beans/XMLEncoder/javax_swing_border_EtchedBorder.java.i
data/test/javax/swing/JTable/6768387/bug6768387.java.i
+data/test/java/util/EnumSet/RetainAll.java.i
data/test/java/lang/ClassLoader/getdotresource.sh.i
data/test/sun/util/logging/SourceClassName.java.i
data/src/share/classes/javax/print/event/PrintJobAdapter.java.i
@@ -4269,18 +4264,18 @@ data/src/share/classes/sun/util/resources/LocaleNames_en_MT.properties.i
data/src/share/classes/javax/swing/plaf/metal/MetalSeparatorUI.java.i
data/test/java/nio/channels/DatagramChannel/MulticastSendReceiveTests.java.i
data/make/netbeans/common/architectures/arch-x86.properties.i
-data/src/share/classes/java/io/package.html.i
data/src/share/classes/java/util/logging/LoggingPermission.java.i
data/src/share/classes/sun/tools/jconsole/VMPanel.java.i
data/test/java/rmi/server/RMIClassLoader/delegateToContextLoader/security.policy.i
data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanManager.java.i
data/test/java/awt/print/PrinterJob/PageFormatChange.java.i
data/test/javax/security/auth/login/LoginContext/ConfigConstructorNoPerm.policy.i
-data/src/share/classes/sun/awt/SunHints.java.i
data/make/tools/CharsetMapping/IBM937.nr.i
data/test/java/awt/print/Dialog/DialogOrient.java.i
data/test/sun/tools/jrunscript/repl.out.i
+data/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConcave.java.i
data/src/share/classes/java/io/Closeable.java.i
+data/test/javax/swing/RepaintManager/7013453/bug7013453.java.i
data/test/java/security/AccessController/PreserveCombiner.java.i
data/src/share/classes/sun/io/ByteToCharCp1257.java.i
data/src/share/classes/sun/reflect/MagicAccessorImpl.java.i
@@ -4289,18 +4284,20 @@ data/src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Base.java.i
data/test/java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.html.i
data/src/share/classes/javax/sql/rowset/serial/SerialBlob.java.i
data/test/java/security/cert/CertPathBuilder/provider.policy.i
-data/src/share/classes/com/sun/jndi/ldap/LdapReferralException.java.i
+data/src/share/native/sun/font/layout/ThaiLayoutEngine.cpp.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMTrapCommunity.java.i
data/test/javax/sound/midi/Gervill/SoftChannel/LocalControl.java.i
-data/test/java/io/StreamTokenizer/ReadAhead.java.i
+data/test/sun/net/www/http/HttpClient/StreamingRetry.java.i
data/test/javax/management/remote/mandatory/util/MapNullValuesTest.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/icons/TreeOpen.gif.i
+data/test/sun/net/www/http/HttpClient/ProxyTest.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_sv.properties.i
data/src/share/classes/sun/text/resources/FormatData_zh_TW.java.i
-data/src/share/classes/sun/management/snmp/jvminstr/JvmOSImpl.java.i
+data/test/java/util/PluggableLocale/ProviderTest.java.i
data/test/java/beans/XMLEncoder/java_util_Collections_SingletonMap.java.i
-data/src/windows/classes/sun/java2d/windows/WinVolatileSurfaceManager.java.i
-data/test/java/awt/Dialog/MakeWindowAlwaysOnTop/MakeWindowAlwaysOnTop.java.i
-data/src/share/classes/javax/swing/plaf/metal/icons/ocean/floppy.gif.i
+data/test/java/beans/XMLEncoder/Test6531597.java.i
+data/src/share/classes/sun/font/ExtendedTextLabel.java.i
+data/src/share/demo/jvmti/heapViewer/README.txt.i
data/test/java/beans/PropertyEditor/TestStringClassValue.java.i
data/test/sun/management/HotspotClassLoadingMBean/GetClassLoadingTime.java.i
data/src/share/classes/javax/management/InQueryExp.java.i
@@ -4312,74 +4309,75 @@ data/src/share/back/standardHandlers.c.i
data/src/share/classes/java/math/RoundingMode.java.i
data/src/share/classes/sun/beans/editors/NumberEditor.java.i
data/src/solaris/native/sun/nio/ch/IOUtil.c.i
-data/src/solaris/native/sun/awt/awt_Scrollbar.c.i
+data/src/share/classes/sun/security/krb5/internal/KrbApErrException.java.i
data/test/java/rmi/reliability/juicer/AppleUserImpl.java.i
data/src/share/classes/java/net/CacheRequest.java.i
data/src/share/classes/javax/imageio/spi/DigraphNode.java.i
+data/test/com/sun/jdi/PrivateTransportTest.sh.i
data/src/share/native/sun/awt/debug/debug_util.h.i
+data/src/share/classes/sun/security/krb5/internal/ccache/Credentials.java.i
+data/test/com/sun/tools/attach/badagent.mf.i
data/src/share/classes/java/io/ObjectStreamField.java.i
data/src/share/classes/sun/net/httpserver/SelectorCache.java.i
-data/src/share/classes/javax/swing/text/html/HTMLFrameHyperlinkEvent.java.i
+data/src/share/classes/javax/naming/CannotProceedException.java.i
data/test/java/util/PluggableLocale/providersrc/FooDateFormat.java.i
-data/src/share/classes/sun/reflect/generics/tree/BaseType.java.i
+data/test/javax/swing/JTextArea/4697612/bug4697612.txt.i
data/src/share/demo/java2d/J2DBench/src/j2dbench/report/J2DAnalyzer.java.i
-data/src/share/classes/sun/awt/image/FileImageSource.java.i
+data/src/share/classes/com/sun/java/swing/plaf/motif/MotifIconFactory.java.i
data/make/java/zip/reorder-sparcv9.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_TW.properties.i
data/src/share/classes/javax/management/namespace/JMXNamespaces.java.i
data/src/share/classes/com/sun/servicetag/resources/product_registration.xsd.i
data/test/java/math/BigDecimal/ScaleByPowerOfTenTests.java.i
+data/src/share/native/java/util/zip/zlib-1.1.3/zutil.h.i
data/src/share/native/sun/font/layout/OpenTypeUtilities.cpp.i
data/src/share/classes/sun/tools/jconsole/inspector/XTextFieldEditor.java.i
data/src/share/classes/java/beans/PropertyEditor.java.i
+data/test/java/lang/invoke/InvokeDynamicPrintArgs.java.i
data/src/windows/native/sun/java2d/windows/Win32OffScreenSurfaceData.cpp.i
-data/src/share/classes/sun/security/util/DerEncoder.java.i
data/test/sun/tools/jrunscript/jrunscript-cpTest.sh.i
data/src/share/classes/javax/swing/plaf/nimbus/ImageScalingHelper.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIIcon.java.i
-data/test/java/rmi/reliability/benchmark/runRmiBench.sh.i
data/src/linux/doc/man/ja/jsadebugd.1.i
data/test/java/beans/XMLEncoder/Test4880633.java.i
-data/src/share/classes/sun/nio/cs/ext/IBM285.java.i
data/src/share/classes/java/awt/LayoutManager.java.i
data/test/java/io/Serializable/InvalidClassException/noargctor/Test.java.i
data/src/share/classes/com/sun/tools/example/debug/bdi/SessionListener.java.i
data/src/share/classes/java/lang/invoke/InvokeDynamic.java.i
-data/make/tools/CharsetMapping/IBM285.c2b.i
-data/src/share/classes/java/util/IllegalFormatPrecisionException.java.i
+data/src/share/classes/java/nio/file/spi/FileSystemProvider.java.i
data/src/share/classes/sun/tools/java/Parser.java.i
data/test/javax/xml/crypto/dsig/data/certs/ca.crt.i
data/src/share/classes/javax/swing/text/rtf/charsets/ansi.txt.i
-data/src/share/classes/sun/text/resources/FormatData_de.java.i
+data/src/share/classes/java/awt/Choice.java.i
data/test/java/util/Formatter/BasicByte.java.i
data/test/java/awt/Component/UpdatingBootTime/UpdatingBootTime.java.i
data/src/share/demo/applets/CardTest/example1.html.i
data/test/java/util/zip/StoredCRC.java.i
+data/src/solaris/classes/sun/java2d/jules/JulesShapePipe.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIInsets.java.i
-data/src/share/classes/javax/swing/text/NavigationFilter.java.i
data/src/share/classes/com/sun/jmx/mbeanserver/StandardMBeanIntrospector.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/ProxyTunnelServer.java.i
+data/test/com/sun/crypto/provider/Mac/MacClone.java.i
+data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/PixelTests.java.i
+data/test/java/nio/channels/FileChannel/MapTest.java.i
data/src/solaris/hpi/native_threads/src/threads_md.c.i
data/src/windows/classes/sun/nio/ch/FileKey.java.i
data/src/solaris/native/sun/nio/ch/EPoll.c.i
data/src/share/classes/sun/management/ManagementFactoryHelper.java.i
data/src/share/classes/com/sun/jmx/mbeanserver/StandardMBeanSupport.java.i
-data/test/java/lang/ThreadLocal/MemoryLeak.java.i
data/src/share/classes/sun/nio/ch/Reflect.java.i
data/src/share/classes/java/awt/image/ColorModel.java.i
-data/test/java/rmi/activation/ActivationSystem/unregisterGroup/rmid.security.policy.i
+data/test/java/security/cert/CertificateFactory/ReturnStream.java.i
+data/src/share/classes/sun/security/x509/SerialNumber.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/NoArgumentOptionSpec.java.i
data/src/share/classes/com/sun/security/sasl/digest/FactoryImpl.java.i
data/src/share/classes/java/sql/SQLClientInfoException.java.i
data/test/java/util/ResourceBundle/Bug6572242.java.i
data/test/sun/security/provider/certpath/ReverseBuilder/mgrM2prjM.i
data/test/java/security/cert/X509Certificate/certextkeyusage.i
-data/src/share/classes/javax/swing/border/MatteBorder.java.i
data/make/java/java/FILES_c.gmk.i
data/src/share/classes/com/sun/net/httpserver/HttpServer.java.i
data/src/share/classes/sun/font/GlyphList.java.i
data/make/netbeans/jarzip/nbproject/project.xml.i
-data/src/share/classes/sun/reflect/UnsafeByteFieldAccessorImpl.java.i
data/test/java/rmi/activation/ActivationSystem/stubClassesPermitted/group.security.policy.i
data/src/share/classes/sun/tools/asm/Label.java.i
data/src/share/classes/java/security/KeyFactory.java.i
@@ -4388,22 +4386,24 @@ data/test/sun/security/krb5/auto/LifeTimeInSeconds.java.i
data/src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h.i
data/src/share/demo/jvmti/mtrace/Mtrace.java.i
data/src/share/demo/jvmti/hprof/manual.html.i
+data/src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties.i
data/test/java/net/NetworkInterface/IndexTest.java.i
data/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion.java.i
data/test/jprt.config.i
-data/test/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh.i
+data/src/share/classes/java/sql/Date.java.i
data/src/share/native/common/check_format.c.i
data/src/share/classes/javax/crypto/NoSuchPaddingException.java.i
data/src/share/classes/sun/print/ProxyGraphics2D.java.i
data/test/sun/net/InetAddress/nameservice/deadlock/ThrowingNameService.java.i
data/make/tools/CharsetMapping/MacCroatian.map.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315ExclWithComments.java.i
-data/src/share/classes/sun/text/resources/FormatData_ca.java.i
+data/src/share/classes/java/security/cert/CertificateException.java.i
+data/src/share/native/sun/font/layout/ShapingTypeData.cpp.i
data/test/com/sun/security/auth/module/LdapLoginModule/CheckOptions.java.i
data/src/share/classes/sun/tools/tree/ShiftRightExpression.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmRTBootClassPathTableMeta.java.i
-data/src/share/classes/com/sun/jmx/snmp/internal/SnmpModelLcd.java.i
+data/src/share/classes/java/lang/annotation/AnnotationTypeMismatchException.java.i
data/test/java/rmi/activation/Activatable/inactiveGroup/InactiveGroup.java.i
+data/src/share/classes/javax/crypto/ExemptionMechanismSpi.java.i
data/src/windows/native/sun/windows/awt_PrintDialog.h.i
data/src/share/classes/com/sun/security/jgss/InquireType.java.i
data/test/sun/rmi/rmic/minimizeWrapperInstances/P.java.i
@@ -4411,29 +4411,28 @@ data/src/share/classes/com/sun/tools/jdi/FieldImpl.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_fr_LU.properties.i
data/src/share/classes/javax/management/NotificationInfo.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsSplitPaneDivider.java.i
-data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/PaintModel.java.i
-data/test/java/net/InetAddress/HashSpread.java.i
-data/test/sun/security/util/Resources/Format.config.i
-data/src/share/classes/java/lang/invoke/MutableCallSite.java.i
+data/src/share/classes/sun/awt/image/VolatileSurfaceManager.java.i
+data/test/java/rmi/activation/Activatable/restartLatecomer/RestartLatecomer_Stub.java.i
+data/src/share/classes/sun/tools/tree/AssignDivideExpression.java.i
data/test/java/util/ResourceBundle/Control/MissingResourceCauseTest.sh.i
data/src/share/classes/java/awt/doc-files/GridBagLayout-1.gif.i
data/src/share/classes/java/lang/management/MemoryNotificationInfo.java.i
data/test/com/sun/net/httpserver/bugs/B6361557.java.i
data/src/windows/classes/com/sun/tools/jdi/SharedMemoryListeningConnector.java.i
data/src/solaris/native/sun/awt/utility/rect.h.i
-data/src/share/classes/com/sun/java/util/jar/pack/Code.java.i
data/test/sun/security/pkcs11/nss/lib/windows-i586/nssckbi.dll.i
data/test/javax/swing/JSlider/6848475/bug6848475.java.i
data/src/share/classes/com/sun/tools/example/debug/gui/ThreadTreeTool.java.i
data/src/solaris/doc/sun/man/man1/jhat.1.i
data/src/share/classes/java/awt/peer/FramePeer.java.i
-data/test/sun/security/smartcardio/Utils.java.i
data/test/java/rmi/server/RemoteObject/toStub/ToStub_Stub.java.i
data/src/share/classes/sun/reflect/FieldAccessor.java.i
+data/test/java/beans/XMLDecoder/spec/TestNull.java.i
data/src/share/classes/sun/java2d/SurfaceManagerFactory.java.i
+data/src/share/classes/sun/beans/editors/ByteEditor.java.i
data/src/solaris/native/sun/nio/ch/EPollArrayWrapper.c.i
+data/src/solaris/native/sun/java2d/loops/vis_IntBgr.c.i
data/src/share/classes/sun/security/krb5/internal/crypto/NullEType.java.i
-data/src/share/classes/com/sun/rowset/WebRowSetImpl.java.i
data/test/java/lang/management/ThreadMXBean/SynchronizationStatistics.java.i
data/test/java/beans/XMLDecoder/Test6338070.java.i
data/test/javax/swing/JFileChooser/6524424/bug6524424.html.i
@@ -4443,6 +4442,7 @@ data/src/share/classes/com/sun/tools/jdi/SocketListeningConnector.java.i
data/test/java/security/Security/removing/RemoveProviderByIdentity.java.i
data/src/solaris/bin/i586/jvm.cfg.i
data/src/share/classes/java/awt/event/InputMethodEvent.java.i
+data/test/tools/pack200/Pack200Props.java.i
data/src/share/classes/com/sun/crypto/provider/CipherBlockChaining.java.i
data/test/java/beans/beancontext/Test4328406.java.i
data/test/java/util/PluggableLocale/providersrc/Makefile.i
@@ -4452,15 +4452,15 @@ data/src/share/classes/javax/crypto/spec/DESedeKeySpec.java.i
data/src/share/classes/java/net/IDN.java.i
data/src/share/classes/sun/font/SunLayoutEngine.java.i
data/src/share/classes/sun/security/provider/certpath/BasicChecker.java.i
-data/src/share/classes/sun/awt/image/ImageWatched.java.i
data/make/sun/javazic/tzdata/factory.i
data/src/share/classes/java/security/DigestException.java.i
data/src/share/classes/java/awt/peer/TextFieldPeer.java.i
data/src/share/sample/scripting/scriptpad/src/resources/gui.js.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSessionContextImpl/Timeout.java.i
data/src/share/classes/javax/management/NotificationListener.java.i
data/src/share/classes/sun/io/CharToByteMacDingbat.java.i
+data/src/share/native/sun/awt/medialib/mlib_c_ImageAffine_BC.c.i
data/test/java/lang/reflect/Proxy/Boxing.java.i
-data/src/linux/doc/man/servertool.1.i
data/test/sun/security/x509/AVA/EmailAddressEncoding.java.i
data/src/solaris/hpi/native_threads/include/mutex_md.h.i
data/make/tools/src/build/tools/generatecharacter/PropList.java.i
@@ -4468,17 +4468,21 @@ data/test/sun/tools/jrunscript/dash-e.out.i
data/src/solaris/classes/sun/awt/X11/XEmbedHelper.java.i
data/src/share/classes/sun/io/CharToByteBig5.java.i
data/test/java/lang/instrument/appendToClassLoaderSearch/CircularityErrorTest.sh.i
+data/src/share/demo/nbproject/management/VerboseGC/nbproject/netbeans-targets.xml.i
+data/src/solaris/native/sun/java2d/x11/X11SurfaceData.h.i
data/src/share/classes/java/util/concurrent/CyclicBarrier.java.i
data/src/share/classes/sun/security/krb5/internal/rcache/AuthTime.java.i
+data/src/share/classes/sun/rmi/server/Dispatcher.java.i
data/src/share/native/sun/security/ec/impl/mplogic.c.i
data/src/share/classes/sun/print/resources/tumble.png.i
data/src/share/classes/java/awt/Button.java.i
data/src/solaris/classes/sun/java2d/xr/XRUtils.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsRootPaneUI.java.i
-data/src/share/classes/com/sun/tools/example/debug/gui/SourceTreeTool.java.i
-data/test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/Compress.java.i
+data/src/share/classes/sun/java2d/pisces/Dasher.java.i
+data/test/javax/sound/midi/Gervill/SoftTuning/Load4.java.i
data/test/javax/imageio/CachePremissionsTest/rw.policy.i
data/src/share/classes/sun/tools/java/ClassNotFound.java.i
+data/src/share/classes/sun/print/PSStreamPrintJob.java.i
data/src/share/classes/java/net/Inet6Address.java.i
data/src/share/classes/com/sun/pept/presentation/TargetFinder.java.i
data/src/solaris/classes/sun/awt/motif/MTextAreaPeer.java.i
@@ -4487,35 +4491,35 @@ data/src/share/classes/javax/swing/text/rtf/RTFEditorKit.java.i
data/src/share/classes/javax/naming/directory/AttributeModificationException.java.i
data/test/javax/xml/crypto/dsig/data/certs/balor.crt.i
data/test/javax/print/applet/applet1/Applet1PrintServiceLookup.java.i
+data/test/java/awt/Window/PropertyChangeListenerLockSerialization/PropertyChangeListenerLockSerialization.java.i
data/test/com/sun/management/UnixOperatingSystemMXBean/GetOpenFileDescriptorCount.java.i
-data/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.html.i
+data/src/share/classes/sun/reflect/generics/reflectiveObjects/GenericArrayTypeImpl.java.i
data/src/share/native/sun/security/pkcs11/wrapper/p11_crypt.c.i
-data/make/tools/classanalyzer/Makefile.i
data/make/java/management/Makefile.i
data/test/sun/management/HotspotRuntimeMBean/GetTotalSafepointTime.java.i
-data/src/share/classes/com/sun/crypto/provider/DESCrypt.java.i
+data/src/share/native/sun/java2d/loops/FourByteAbgr.c.i
data/src/share/classes/com/sun/net/httpserver/HttpsConfigurator.java.i
data/src/share/classes/sun/java2d/HeadlessGraphicsEnvironment.java.i
data/src/share/classes/com/sun/tools/example/debug/bdi/Session.java.i
-data/src/share/classes/java/lang/annotation/Documented.java.i
+data/src/share/back/log_messages.c.i
data/src/share/classes/sun/security/jgss/spnego/SpNegoCredElement.java.i
data/test/javax/management/monitor/CounterMonitorDeadlockTest.java.i
-data/make/docs/Makefile.i
-data/src/share/classes/sun/util/resources/CurrencyNames_en_CA.properties.i
+data/src/share/classes/javax/print/attribute/standard/DialogTypeSelection.java.i
data/src/share/classes/javax/naming/CompositeName.java.i
data/test/java/io/File/isDirectory/Applet.java.i
-data/src/linux/doc/man/ja/serialver.1.i
-data/src/share/classes/com/sun/security/sasl/digest/DigestMD5Server.java.i
+data/src/share/classes/javax/swing/table/TableCellRenderer.java.i
data/test/java/beans/PropertyEditor/6380849/SecondBean.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifCheckBoxUI.java.i
data/test/java/lang/instrument/NullRedefineClassesTests.java.i
data/test/java/beans/Introspector/Test6422403.java.i
-data/test/java/beans/PropertyEditor/Test6397609.java.i
+data/test/sun/security/provider/PolicyParser/p002.policy.i
data/test/java/util/AbstractMap/Equals.java.i
data/src/share/classes/com/sun/media/sound/SF2Modulator.java.i
data/make/tools/manifest.mf.i
data/test/sun/net/www/http/HttpClient/B6726695.java.i
+data/src/share/native/sun/java2d/opengl/OGLContext.c.i
data/test/javax/sound/midi/Gervill/AudioFloatConverter/GetFormat.java.i
+data/test/sun/security/tools/keytool/newhelp.sh.i
data/src/share/classes/javax/swing/JCheckBox.java.i
data/src/share/classes/java/nio/channels/spi/AsynchronousChannelProvider.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMEnterprise.java.i
@@ -4524,39 +4528,37 @@ data/src/share/classes/com/sun/java/browser/dom/DOMUnsupportedException.java.i
data/src/share/classes/java/lang/management/PlatformLoggingMXBean.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiFileChooserUI.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_bg_BG.properties.i
+data/test/com/sun/security/auth/module/LdapLoginModule/CheckConfigs.policy.i
data/src/share/classes/javax/swing/JDialog.java.i
data/src/share/classes/javax/swing/text/html/parser/AttributeList.java.i
-data/src/share/classes/sun/management/snmp/jvminstr/JvmRuntimeImpl.java.i
data/src/share/classes/javax/print/attribute/standard/JobImpressions.java.i
data/src/solaris/native/sun/awt/awt_Cursor.c.i
data/src/solaris/classes/sun/awt/X11/XMouseDragGestureRecognizer.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_ar_AE.properties.i
-data/src/share/classes/com/sun/jdi/request/ThreadStartRequest.java.i
-data/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Multiple.java.i
+data/src/share/classes/com/sun/pept/ept/EPTFactory.java.i
data/test/tools/pack200/pack200-verifier/src/sun/tools/pack/verify/JarFileCompare.java.i
data/test/sun/security/krb5/TimeInCCache.java.i
data/src/share/back/FieldImpl.c.i
-data/src/share/classes/com/sun/servicetag/resources/Putback-Notes.txt.i
-data/src/share/classes/sun/util/logging/resources/logging_zh_TW.properties.i
data/src/share/classes/com/sun/pept/protocol/MessageDispatcher.java.i
data/src/share/classes/sun/security/util/AuthResources_it.java.i
data/test/javax/management/loading/LibraryLoader/UseNativeLib0.html.i
-data/src/share/classes/sun/io/CharToByteCp857.java.i
data/src/share/classes/com/sun/accessibility/internal/resources/accessibility_fr.properties.i
-data/src/share/classes/sun/tools/tree/FinallyStatement.java.i
+data/src/share/classes/sun/text/resources/FormatData_bg_BG.java.i
data/src/linux/doc/man/ja/extcheck.1.i
data/src/share/classes/sun/net/ProgressMonitor.java.i
+data/test/java/beans/Performance/TestPropertyChangeSupport.java.i
data/src/share/classes/com/sun/imageio/plugins/jpeg/COMMarkerSegment.java.i
data/test/java/lang/reflect/Generics/TestBadSignatures.java.i
data/src/share/classes/sun/java2d/pipe/GlyphListPipe.java.i
data/src/share/classes/sun/util/resources/LocaleNames_vi.properties.i
-data/src/share/classes/java/io/StreamCorruptedException.java.i
+data/src/solaris/classes/sun/awt/UNIXToolkit.java.i
data/make/com/sun/nio/sctp/FILES_java.gmk.i
-data/src/share/classes/java/awt/doc-files/modal-example3.gif.i
+data/test/org/openjdk/jigsaw/cli/signed-modular-jar.sh.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIS32U16Func.c.i
data/src/share/classes/com/sun/beans/decoder/LongElementHandler.java.i
data/test/com/sun/net/httpserver/testkeys.i
data/make/java/rmi/Makefile.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsSeparatorUI.java.i
+data/test/java/io/Serializable/enum/missingConstant/Read.java.i
data/test/java/nio/channels/Pipe/NonBlocking.java.i
data/src/share/classes/javax/sound/sampled/EnumControl.java.i
data/test/java/util/Locale/bug6312358.java.i
@@ -4565,7 +4567,7 @@ data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitter.java.i
data/src/windows/classes/sun/nio/fs/WindowsLinkSupport.java.i
data/test/java/util/PluggableLocale/fooprovider.jar.i
data/src/share/classes/sun/text/normalizer/RuleCharacterIterator.java.i
-data/src/share/classes/sun/text/resources/CollationData_ko.java.i
+data/test/javax/management/Introspector/NotCompliantCauseTest.java.i
data/src/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_TW.properties.i
data/src/share/native/sun/java2d/opengl/OGLTextRenderer.c.i
data/test/org/openjdk/jigsaw/cli/ModuleFormatHeaderHashTest.java.i
@@ -4579,18 +4581,18 @@ data/src/share/classes/java/awt/FontFormatException.java.i
data/src/share/classes/javax/imageio/ImageTypeSpecifier.java.i
data/test/java/net/URLClassLoader/closetest/test2/com/foo/Resource2.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIU16U16Func.c.i
-data/src/share/classes/java/awt/peer/FileDialogPeer.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiDesktopIconUI.java.i
data/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java.i
data/test/java/io/File/CompareTo.java.i
data/src/share/classes/sun/security/x509/NetscapeCertTypeExtension.java.i
+data/test/org/openjdk/jigsaw/hello.sh.i
data/src/share/classes/sun/awt/image/BufferedImageGraphicsConfig.java.i
data/src/share/classes/sun/security/jgss/GSSToken.java.i
data/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java.i
data/test/javax/swing/plaf/nimbus/Test6741426.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/AclEntryImpl.java.i
-data/src/share/back/ClassObjectReferenceImpl.h.i
-data/test/java/rmi/reliability/benchmark/bench/Harness.java.i
+data/src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipCoder.java.i
+data/test/java/lang/instrument/RetransformBigClass.sh.i
data/make/tools/winver/src/StdAfx.cpp.i
data/test/javax/swing/text/WrappedPlainView/6857057/StubLeafElement.java.i
data/test/java/awt/font/LineBreakMeasurer/FRCTest.java.i
@@ -4598,21 +4600,18 @@ data/test/java/rmi/activation/checkusage/CheckUsage.java.i
data/make/javax/sound/jsoundalsa/mapfile-vers.i
data/src/share/classes/org/relaxng/datatype/DatatypeBuilder.java.i
data/src/linux/doc/man/rmid.1.i
-data/src/share/classes/com/sun/jndi/ldap/SimpleClientId.java.i
data/src/share/classes/javax/sql/RowSetWriter.java.i
data/test/java/nio/file/Files/PrintFileTree.java.i
data/test/sun/security/krb5/auto/NoInitNoKeytab.java.i
data/src/share/classes/javax/swing/text/DefaultEditorKit.java.i
data/test/sun/security/tools/keytool/AltProviderPath.sh.i
-data/src/share/classes/java/awt/peer/package.html.i
data/src/share/classes/sun/net/www/MessageHeader.java.i
-data/src/share/classes/javax/swing/plaf/basic/BasicTextUI.java.i
-data/src/share/demo/nbproject/jfc/TransparentRuler/build.xml.i
+data/src/solaris/native/sun/security/smartcardio/MUSCLE/COPYING.i
data/test/com/sun/jdi/Exit0.java.i
data/test/java/nio/charset/coders/Surrogates.java.i
data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanManagerMXBean.java.i
data/src/share/classes/sun/util/resources/LocaleNames_ar.properties.i
-data/src/solaris/native/sun/awt/medialib/vis_32.il.i
+data/test/javax/sound/midi/Gervill/SoftProvider/GetDevice.java.i
data/test/java/io/Writer/Append.java.i
data/test/sun/misc/URLClassPath/testclasses.jar.i
data/src/share/bin/splashscreen.h.i
@@ -4624,33 +4623,37 @@ data/src/share/classes/sun/reflect/generics/tree/LongSignature.java.i
data/test/javax/security/auth/login/LoginContext/ModuleSubject.config.i
data/src/share/classes/sun/jvmstat/monitor/MonitoredVm.java.i
data/test/java/beans/Statement/Test4653179.java.i
-data/src/share/classes/sun/print/PSPathGraphics.java.i
+data/test/javax/script/Test7.java.i
+data/src/share/classes/com/sun/jndi/ldap/LdapClientFactory.java.i
data/test/java/io/OutputStreamWriter/WriteAfterClose.java.i
data/src/windows/native/sun/windows/Hashtable.cpp.i
data/src/share/classes/sun/io/ByteToCharCp1256.java.i
data/src/share/classes/java/security/cert/CRLReason.java.i
-data/make/common/Mapfile-vers.gmk.i
+data/test/sun/security/pkcs11/Secmod/TrustAnchors.java.i
data/src/share/classes/sun/security/acl/GroupImpl.java.i
data/src/share/classes/com/sun/tools/hat/internal/model/JavaBoolean.java.i
data/src/share/native/sun/font/layout/ScriptAndLanguage.h.i
-data/src/share/classes/sun/util/resources/CalendarData_in_ID.properties.i
+data/src/share/native/sun/awt/image/cvutils/img_input8.h.i
+data/src/share/classes/java/security/PublicKey.java.i
data/make/tools/CharsetMapping/MS932.c2b.i
data/src/solaris/bin/sparc/jvm.cfg.i
data/src/share/classes/sun/text/resources/FormatData.java.i
+data/test/javax/security/auth/PrivateCredentialPermission/Subset.policy.i
data/src/share/classes/sun/misc/JavaSecurityAccess.java.i
+data/src/share/classes/sun/text/CollatorUtilities.java.i
+data/src/share/modules/jdk.swing/module-info.java.i
data/src/windows/native/sun/nio/ch/IOUtil.c.i
-data/src/share/native/sun/java2d/loops/ImageData.h.i
+data/test/java/security/cert/CertPathValidator/indirectCRL/generate.sh.i
data/src/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java.i
data/src/share/classes/javax/swing/text/html/FormSubmitEvent.java.i
data/src/share/demo/jfc/Font2DTest/resources/TextResources.properties.i
-data/src/share/classes/sun/misc/RegexpTarget.java.i
+data/src/share/native/java/util/zip/zlib-1.2.5/trees.c.i
data/test/com/sun/jdi/AcceptTimeout.java.i
data/src/share/classes/javax/swing/text/View.java.i
-data/src/share/classes/com/sun/jmx/snmp/SnmpPduFactoryBER.java.i
+data/src/share/classes/com/sun/jmx/snmp/defaults/SnmpProperties.java.i
data/test/com/sun/management/GarbageCollectorMXBean/GarbageCollectionNotificationContentTest.java.i
data/src/share/native/sun/security/ec/impl/ecl_gf.c.i
-data/src/share/classes/com/sun/tools/hat/internal/model/StackTrace.java.i
-data/src/solaris/classes/sun/awt/X11/XScrollPanePeer.java.i
+data/test/java/rmi/activation/Activatable/nestedActivate/rmid.security.policy.i
data/src/share/classes/java/lang/management/MemoryMXBean.java.i
data/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkSupported.java.i
data/src/share/classes/sun/nio/cs/ext/IBM933.java.i
@@ -4658,17 +4661,17 @@ data/src/share/classes/sun/awt/image/IntegerInterleavedRaster.java.i
data/src/share/classes/sun/launcher/resources/launcher_de.properties.i
data/test/demo/jvmti/minst/MinstTest.java.i
data/src/share/classes/sun/nio/ch/AsynchronousFileChannelImpl.java.i
+data/src/share/classes/javax/print/attribute/standard/JobMediaSheetsSupported.java.i
data/make/javax/sound/jsoundhs/mapfile-vers.i
-data/src/share/classes/sun/misc/DoubleConsts.java.i
data/src/share/classes/java/util/PropertyPermission.java.i
data/src/windows/classes/sun/awt/windows/WFramePeer.java.i
data/src/share/classes/com/sun/security/sasl/util/PolicyUtils.java.i
-data/src/share/classes/com/sun/beans/decoder/ClassElementHandler.java.i
data/src/share/classes/sun/java2d/DisposerTarget.java.i
data/make/tools/CharsetMapping/IBM922.map.i
data/src/share/classes/sun/text/resources/FormatData_tr.java.i
data/test/java/io/LineNumberInputStream/SkipEOL.java.i
data/src/share/classes/sun/nio/cs/ext/MacTurkish.java.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageConv.h.i
data/src/share/classes/sun/text/resources/FormatData_nl_NL.java.i
data/src/share/classes/sun/dyn/WrapperInstance.java.i
data/src/share/classes/com/sun/jmx/mbeanserver/NotifySupport.java.i
@@ -4679,11 +4682,9 @@ data/src/solaris/native/sun/java2d/loops/mlib_v_ImageConstLogic.h.i
data/src/share/classes/sun/text/resources/FormatData_sr_Latn_ME.java.i
data/test/java/io/Serializable/maskSyntheticModifier/run.sh.i
data/src/share/classes/sun/io/CharToByteEUC_JP_Solaris.java.i
-data/test/java/awt/FullScreen/TranslucentWindow/TranslucentWindow.java.i
data/src/share/classes/javax/management/MBean.java.i
data/src/share/classes/sun/print/PSStreamPrinterFactory.java.i
-data/test/java/rmi/activation/Activatable/forceLogSnapshot/group.security.policy.i
-data/src/share/demo/jvmti/agent_util/agent_util.c.i
+data/test/java/util/Collections/EmptyIterator.java.i
data/src/share/classes/java/sql/SQLTransientConnectionException.java.i
data/test/com/sun/nio/sctp/SctpMultiChannel/Util.java.i
data/src/solaris/classes/sun/font/NativeStrike.java.i
@@ -4694,10 +4695,10 @@ data/test/java/lang/Class/forName/classes/semicolon.class.i
data/make/tools/swing-beans/beaninfo/images/JTextFieldMono16.gif.i
data/src/share/demo/nbproject/scripting/jconsole-plugin/nbproject/file-targets.xml.i
data/test/tools/launcher/UnicodeTest.java.i
+data/src/solaris/native/sun/awt/HeadlessToolkit.c.i
data/src/share/classes/sun/io/ByteToCharCp1047.java.i
data/test/javax/sound/midi/Gervill/SoftChannel/ResetAllControllers.java.i
data/src/share/classes/java/awt/TextArea.java.i
-data/src/share/native/common/jni_util.h.i
data/test/java/lang/instrument/RetransformApp.java.i
data/src/share/back/StringReferenceImpl.h.i
data/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_it.properties.i
@@ -4715,9 +4716,7 @@ data/src/share/classes/sun/security/krb5/internal/APRep.java.i
data/src/share/classes/sun/security/acl/PermissionImpl.java.i
data/src/share/classes/com/sun/jmx/snmp/SnmpUnknownAccContrModelException.java.i
data/test/java/util/Collections/BinarySearchNullComparator.java.i
-data/src/share/classes/javax/security/auth/login/CredentialNotFoundException.java.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/GTKEngine.java.i
-data/src/share/classes/java/awt/im/spi/InputMethod.java.i
data/test/sun/security/pkcs11/sslecc/JSSEClient.java.i
data/src/share/classes/javax/swing/JSpinner.java.i
data/src/solaris/native/sun/awt/awt_MToolkit.c.i
@@ -4726,74 +4725,68 @@ data/src/share/classes/java/net/Proxy.java.i
data/src/share/classes/com/sun/tools/hat/resources/oqlhelp.html.i
data/test/sun/security/pkcs11/KeyStore/loader.jar.i
data/src/share/classes/sun/tools/tree/EqualExpression.java.i
-data/src/share/classes/com/sun/jdi/request/MonitorContendedEnterRequest.java.i
+data/src/share/native/sun/font/layout/MirroredCharData.cpp.i
data/src/share/back/VirtualMachineImpl.c.i
data/src/share/classes/sun/font/CompositeGlyphMapper.java.i
data/test/java/awt/Focus/DeiconifiedFrameLoosesFocus/DeiconifiedFrameLoosesFocus.java.i
data/src/share/classes/org/openjdk/jigsaw/ConfigurationException.java.i
data/test/java/rmi/dgc/retryDirtyCalls/RetryDirtyCalls_Stub.java.i
-data/src/share/classes/javax/sound/midi/spi/MidiFileReader.java.i
-data/make/tools/swing-beans/beaninfo/images/JRootPaneColor16.gif.i
+data/src/share/classes/sun/security/x509/RFC822Name.java.i
data/test/java/beans/PropertyEditor/TestDoubleTypeValue.java.i
data/src/share/classes/java/sql/SQLDataException.java.i
data/test/javax/management/namespace/JMXNamespaceSecurityTest.java.i
data/src/share/classes/javax/naming/ldap/PagedResultsControl.java.i
data/test/sun/security/pkcs11/nss/lib/solaris-sparc/libsoftokn3.chk.i
+data/src/share/classes/sun/jvmstat/monitor/event/VmStatusChangeEvent.java.i
data/src/share/classes/javax/crypto/EncryptedPrivateKeyInfo.java.i
-data/test/java/lang/Runtime/exec/ArgWithSpaceAndFinalBackslash.java.i
-data/src/share/classes/java/lang/invoke/Invokers.java.i
+data/test/sun/management/jmxremote/bootstrap/jmxremote_ssltest11_ok.ssl.in.i
+data/test/sun/management/HotspotClassLoadingMBean/GetMethodDataSize.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppInputStream/ReadHandshake.java.i
data/test/sun/tools/jps/jps-V_2.sh.i
data/test/java/rmi/server/RemoteObject/verifyRemoteEquals/VerifyRemoteEquals.java.i
-data/src/share/classes/javax/sound/sampled/Clip.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiColorChooserUI.java.i
data/src/share/classes/java/io/PipedInputStream.java.i
data/src/share/classes/sun/nio/cs/ext/MS950.java.i
data/make/modules/tools/src/com/sun/classanalyzer/CodeAttributeParser.java.i
data/test/java/lang/annotation/Missing/C.java.i
-data/src/share/classes/java/sql/Savepoint.java.i
+data/src/share/demo/nbproject/management/VerboseGC/nbproject/file-targets.xml.i
data/src/share/classes/sun/tools/java/MethodSet.java.i
data/src/share/classes/javax/print/ServiceUIFactory.java.i
data/src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java.i
data/src/windows/native/sun/jkernel/kernel_zh_TW.rc.i
-data/make/sun/font/mapfile-vers.openjdk.i
-data/src/windows/native/sun/security/smartcardio/pcsc_md.h.i
+data/src/share/demo/java2d/J2DBench/src/j2dbench/Test.java.i
+data/test/sun/rmi/rmic/defaultStubVersion/run.sh.i
data/src/share/classes/javax/security/auth/login/AccountExpiredException.java.i
-data/test/java/lang/Double/ParseHexFloatingPoint.java.i
data/src/solaris/native/sun/nio/ch/SolarisEventPort.c.i
data/test/java/lang/Class/getDeclaredMethod/Exceptions.java.i
data/src/share/classes/java/lang/reflect/GenericArrayType.java.i
data/make/sun/javazic/javatz/java_us_ids.txt.i
-data/src/share/classes/sun/security/ssl/DHClientKeyExchange.java.i
data/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c.i
data/src/share/classes/sun/management/ThreadInfoCompositeData.java.i
data/src/windows/classes/sun/nio/ch/WindowsSelectorProvider.java.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxReceivers.java.i
-data/src/solaris/doc/sun/man/man1/ja/appletviewer.1.i
+data/src/share/classes/sun/nio/cs/ext/GB18030.java.i
data/test/javax/management/remote/mandatory/notif/UnexpectedNotifTest.java.i
data/src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipUtils.java.i
data/src/share/classes/sun/management/HotSpotDiagnostic.java.i
-data/src/share/classes/com/sun/net/ssl/SSLPermission.java.i
-data/src/share/classes/com/sun/security/jgss/jgss-overview.html.i
data/make/tools/swing-beans/beaninfo/images/JOptionPaneColor16.gif.i
data/src/share/demo/jvmti/mtrace/mtrace.c.i
data/src/share/classes/sun/tools/tree/OrExpression.java.i
-data/src/linux/doc/man/ja/jps.1.i
data/src/share/demo/nbproject/management/FullThreadDump/build.properties.i
data/test/com/sun/management/OperatingSystemMXBean/GetTotalPhysicalMemorySize.java.i
data/src/share/classes/java/awt/im/InputContext.java.i
data/src/share/classes/java/text/package.html.i
data/src/solaris/native/java/util/FileSystemPreferences.c.i
data/src/share/classes/sun/net/www/MimeEntry.java.i
-data/src/share/classes/javax/swing/colorchooser/DefaultSwatchChooserPanel.java.i
-data/src/share/classes/sun/nio/cs/US_ASCII.java.i
+data/test/sun/security/pkcs11/MessageDigest/ReinitDigest.java.i
+data/src/share/classes/sun/security/pkcs11/wrapper/Functions.java.i
data/test/javax/naming/spi/DirectoryManager/GetContDirCtx.java.i
data/test/java/rmi/reliability/benchmark/bench/serial/ReplaceTrees.java.i
-data/test/java/beans/PropertyChangeSupport/TestMethods.java.i
+data/test/java/io/Serializable/backRefCNFException/Write.java.i
data/src/share/classes/sun/java2d/pipe/BufferedContext.java.i
data/src/share/classes/javax/swing/SwingHeavyWeight.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicFormattedTextFieldUI.java.i
-data/src/share/classes/javax/crypto/spec/package.html.i
+data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SessionTimeOutTests.java.i
data/test/sun/security/pkcs11/Cipher/TestSymmCiphers.java.i
data/src/share/classes/sun/rmi/rmic/newrmic/jrmp/RemoteClass.java.i
data/src/share/native/java/util/zip/zlib-1.1.3/infblock.h.i
@@ -4805,13 +4798,14 @@ data/src/share/classes/javax/naming/NoInitialContextException.java.i
data/src/share/classes/com/sun/jdi/DoubleType.java.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMicrosecondPosition.java.i
data/src/share/classes/javax/swing/ButtonGroup.java.i
+data/test/java/beans/XMLEncoder/java_util_Collections_EmptySet.java.i
data/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ko.properties.i
data/src/windows/classes/sun/awt/windows/WComponentPeer.java.i
-data/src/share/classes/sun/management/CompilerThreadStat.java.i
+data/src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java.i
data/make/tools/swing-beans/beaninfo/images/JComboBoxColor16.gif.i
data/src/share/classes/javax/swing/text/html/parser/ResourceLoader.java.i
data/src/share/classes/javax/swing/plaf/TableHeaderUI.java.i
-data/test/com/sun/crypto/provider/Cipher/RSA/TestOAEPWithParams.java.i
+data/src/windows/classes/sun/awt/windows/ThemeReader.java.i
data/src/windows/classes/sun/awt/windows/WFileDialogPeer.java.i
data/README.i
data/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntIntInt.java.i
@@ -4826,13 +4820,13 @@ data/test/java/rmi/Naming/legalRegistryNames/LegalRegistryNames.java.i
data/src/share/classes/com/sun/jdi/InternalException.java.i
data/src/share/classes/sun/text/normalizer/TrieIterator.java.i
data/src/share/classes/javax/management/MBeanException.java.i
+data/test/sun/tools/jstat/jstatGcNewCapacityOutput1.sh.i
data/test/sun/tools/jhat/minimal.bin.i
data/src/share/classes/java/awt/doc-files/BorderLayout-1.gif.i
data/src/share/classes/java/io/SequenceInputStream.java.i
data/src/share/demo/jvmti/gctest/gctest.c.i
data/test/java/lang/Class/getModifiers/StripACC_SUPER.java.i
data/test/javax/sound/midi/Gervill/SoftTuning/GetName.java.i
-data/src/windows/npt/utf_md.h.i
data/test/java/net/URL/B4148751.java.i
data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ResultLogManagerMXBean.java.i
data/src/share/native/sun/management/management.h.i
@@ -4841,8 +4835,9 @@ data/src/share/classes/sun/security/util/Resources_de.java.i
data/make/tools/CharsetMapping/MacHebrew.map.i
data/src/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpU8S32Func.c.i
+data/test/java/lang/management/ThreadMXBean/ThreadBlockedCount.java.i
+data/src/share/classes/sun/security/pkcs11/P11ECDHKeyAgreement.java.i
data/make/tools/UnicodeData/UnicodeData.txt.i
-data/src/share/classes/sun/util/resources/CurrencyNames_nl_BE.properties.i
data/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java.i
data/make/tools/UnicodeData/UnicodeData.txt.d
data/src/share/classes/java/util/concurrent/ConcurrentHashMap.java.i
@@ -4865,25 +4860,29 @@ data/src/share/classes/javax/swing/plaf/synth/SynthInternalFrameUI.java.i
data/src/share/classes/com/sun/jndi/ldap/Obj.java.i
data/test/java/rmi/activation/Activatable/lookupActivationSystem/LookupActivationSystem.java.i
data/src/share/native/sun/awt/image/cvutils/img_dcm.h.i
+data/test/java/net/URLConnection/GetLastModified.java.i
+data/src/share/demo/nbproject/jfc/Metalworks/build.properties.i
data/test/java/nio/file/Files/probeContentType/ForceLoad.java.i
data/src/share/classes/javax/swing/plaf/metal/icons/ocean/menu.gif.i
data/src/share/classes/sun/tools/java/ClassFile.java.i
+data/src/share/classes/javax/swing/colorchooser/SlidingSpinner.java.i
data/test/javax/sound/midi/Gervill/RiffReaderWriter/Close.java.i
data/src/share/classes/javax/swing/doc-files/groupLayout.3.gif.i
+data/test/javax/swing/JTable/6263446/bug6263446.java.i
data/src/share/demo/jvmti/waiters/Monitor.hpp.i
data/src/share/native/sun/awt/image/awt_parseImage.c.i
data/src/share/classes/javax/xml/crypto/dsig/TransformException.java.i
data/test/java/net/URLClassLoader/sealing/checksealed.sh.i
data/src/share/classes/javax/management/monitor/CounterMonitor.java.i
data/test/javax/management/context/localizable/MBeanDescriptions_fr.java.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/icons/Error.gif.i
+data/src/share/classes/javax/print/attribute/PrintServiceAttributeSet.java.i
data/make/netbeans/jmx/nbproject/project.xml.i
data/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBoolean.java.i
+data/src/share/classes/sun/reflect/misc/MethodUtil.java.i
data/src/share/native/sun/font/layout/HangulLayoutEngine.cpp.i
data/src/linux/doc/man/rmiregistry.1.i
data/test/com/sun/jdi/MethodEntryExitEvents.java.i
data/src/share/classes/sun/security/smartcardio/ChannelImpl.java.i
-data/make/tools/src/build/tools/dtdbuilder/README.txt.i
data/src/share/classes/sun/security/util/AuthResources_fr.java.i
data/make/tools/CharsetMapping/MacCyrillic.map.i
data/src/windows/lib/flavormap.properties.i
@@ -4891,10 +4890,9 @@ data/src/share/classes/sun/io/ByteToCharMacSymbol.java.i
data/src/solaris/doc/sun/man/man1/wsimport.1.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/GTKIconFactory.java.i
data/src/windows/classes/sun/java2d/d3d/D3DBufImgOps.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transforms.java.i
data/test/com/sun/jdi/redefineMethod/RedefineSetUp.sh.i
data/src/share/classes/sun/tools/tree/ThrowStatement.java.i
-data/src/solaris/doc/sun/man/man1/ja/native2ascii.1.i
+data/src/share/classes/javax/net/ssl/SSLException.java.i
data/src/share/classes/java/util/Date.java.i
data/src/share/classes/com/sun/script/util/BindingsImpl.java.i
data/make/com/sun/org/apache/Makefile.i
@@ -4905,37 +4903,38 @@ data/test/sun/management/windows/revokeall.exe.i
data/src/share/classes/com/sun/imageio/plugins/wbmp/WBMPMetadataFormat.java.i
data/src/share/classes/javax/management/RuntimeMBeanException.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextFieldUI.java.i
+data/test/com/sun/jdi/connect/spi/GeneratedConnectors.java.i
data/src/share/classes/java/net/StandardProtocolFamily.java.i
data/src/share/classes/java/io/WriteAbortedException.java.i
data/src/share/native/sun/java2d/loops/UshortIndexed.c.i
data/src/share/classes/java/io/ObjectInputStream.java.i
+data/test/sun/tools/jcmd/jcmd_pid_Output1.awk.i
data/test/java/net/Inet6Address/B6206527.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/OptionalArgumentOptionSpec.java.i
data/src/share/classes/javax/crypto/CipherSpi.java.i
data/test/java/beans/XMLEncoder/javax_swing_BoxLayout.java.i
data/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java.i
data/test/java/beans/XMLEncoder/java_awt_geom_AffineTransform.java.i
-data/test/java/net/Socket/asyncClose/BrokenPipe.java.i
data/make/sun/jkernel/Makefile.i
data/src/share/classes/java/util/zip/Deflater.java.i
data/src/share/classes/sun/io/ByteToCharCp950.java.i
-data/src/share/classes/javax/swing/InputMap.java.i
-data/src/share/classes/com/sun/jndi/dns/DnsClient.java.i
-data/src/share/classes/sun/net/dns/ResolverConfiguration.java.i
-data/src/share/classes/com/sun/inputmethods/internal/indicim/DevanagariInputMethodDescriptor.java.i
+data/src/share/classes/sun/jvmstat/monitor/VmIdentifier.java.i
+data/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_2.java.i
+data/test/java/util/ResourceBundle/Test4318520RB_en.properties.i
data/make/tools/swing-beans/beaninfo/images/JPasswordFieldColor32.gif.i
-data/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubRequestHandler.java.i
+data/src/share/native/java/util/zip/zlib-1.2.5/gzguts.h.i
+data/test/sun/security/pkcs11/ec/pkcs12/secp256r1server-secp384r1ca.p12.i
+data/src/share/classes/java/nio/channels/MembershipKey.java.i
data/make/mksample/webservices/Makefile.i
-data/src/share/classes/sun/dyn/util/BytecodeSignature.java.i
+data/src/share/classes/com/sun/jmx/namespace/DomainInterceptor.java.i
data/src/windows/native/sun/java2d/opengl/WGLSurfaceData.h.i
data/src/share/classes/javax/swing/text/html/package.html.i
data/src/share/native/sun/awt/medialib/mlib_c_ImageLookUp_f.c.i
-data/src/share/native/java/util/zip/zlib-1.1.3/ChangeLog.i
+data/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankUrl.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/PrincipalImpl.java.i
data/src/share/classes/javax/management/relation/RoleInfoNotFoundException.java.i
data/src/share/classes/com/sun/imageio/plugins/bmp/BMPMetadataFormat.java.i
-data/src/share/classes/sun/misc/resources/Messages_zh_CN.java.i
-data/src/share/classes/sun/management/MemoryPoolImpl.java.i
+data/src/share/demo/java2d/J2DBench/src/j2dbench/Result.java.i
data/src/share/back/FrameID.h.i
data/test/java/lang/Runtime/exec/ExecEmptyString.java.i
data/test/java/beans/XMLDecoder/spec/TestBoolean.java.i
@@ -4943,17 +4942,17 @@ data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMStructure.java.i
data/src/solaris/classes/sun/java2d/jules/JulesRenderingEngine.java.i
data/src/share/classes/javax/management/remote/rmi/package.html.i
data/src/share/classes/com/sun/tools/example/debug/tty/EventRequestSpec.java.i
-data/test/java/awt/Focus/FocusEmbeddedFrameTest/FocusEmbeddedFrameTest.java.i
+data/test/sun/net/www/http/HttpClient/ProxyFromCache.java.i
data/test/sun/tools/jhat/jmap.bin.d
+data/src/share/native/sun/java2d/opengl/OGLMaskBlit.c.i
data/test/java/net/URLConnection/GetResponseCode.java.i
-data/src/share/classes/sun/java2d/pipe/hw/BufferedContextProvider.java.i
data/src/share/classes/java/beans/Customizer.java.i
data/test/java/lang/ref/EnqueueNullRef.java.i
data/src/solaris/native/sun/awt/awt_xembed.h.i
-data/src/share/classes/javax/swing/text/html/ListView.java.i
data/src/share/classes/java/rmi/activation/ActivationInstantiator.java.i
data/src/share/classes/javax/naming/LimitExceededException.java.i
data/test/java/security/cert/CertPathValidator/OCSP/AIACheck.java.i
+data/src/share/classes/java/awt/dnd/DropTargetEvent.java.i
data/src/share/classes/javax/accessibility/AccessibleRelation.java.i
data/test/com/sun/jdi/PopAndInvokeTest.java.i
data/src/share/native/com/sun/java/util/jar/pack/utils.h.i
@@ -4963,29 +4962,32 @@ data/src/share/native/sun/awt/medialib/mlib_image_types.h.i
data/src/share/classes/sun/java2d/StateTrackable.java.i
data/src/share/classes/javax/swing/text/html/IsindexView.java.i
data/test/java/beans/PropertyEditor/TestIntegerClassJava.java.i
-data/make/tools/swing-beans/beaninfo/images/JFrameColor32.gif.i
+data/test/sun/security/pkcs11/nss/lib/windows-i586/libnspr4.dll.i
data/test/sun/misc/Encode/GetBytes.java.i
data/src/share/classes/java/lang/invoke/SpreadGeneric.java.i
data/src/share/classes/javax/management/relation/RelationException.java.i
-data/src/share/classes/sun/io/CharToByteCp437.java.i
+data/src/windows/native/sun/windows/awt_ole.h.i
data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/FileMatch.java.i
-data/src/solaris/classes/sun/java2d/xr/XIDGenerator.java.i
+data/src/windows/native/sun/jkernel/graphics/cautionshield32.bmp.i
+data/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.java.i
data/src/share/classes/java/awt/dnd/DragSourceEvent.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthToolBarUI.java.i
-data/test/java/util/concurrent/locks/Lock/FlakyMutex.java.i
-data/src/share/classes/com/sun/jmx/snmp/SnmpEngineId.java.i
-data/test/java/lang/reflect/Proxy/Basic1.java.i
+data/test/sun/nio/cs/OLD/DBCS_IBM_ASCII_Encoder.java.i
+data/test/java/util/concurrent/ConcurrentHashMap/MapLoops.java.i
data/src/share/classes/sun/net/httpserver/Event.java.i
+data/test/java/rmi/transport/checkLeaseInfoLeak/security.policy.i
data/src/share/native/java/lang/fdlibm/src/s_lib_version.c.i
data/src/share/classes/javax/swing/plaf/basic/BasicRootPaneUI.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/TMSchema.java.i
data/src/solaris/native/java/io/FileDescriptor_md.c.i
data/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParserTokenManager.java.i
+data/test/javax/management/ObjectName/ComparatorTest.java.i
data/test/java/util/Collections/NCopies.java.i
-data/src/share/classes/javax/imageio/ImageReadParam.java.i
+data/make/tools/CharsetMapping/IBM297.map.i
data/src/share/classes/sun/security/pkcs11/wrapper/CK_MECHANISM.java.i
data/make/tools/sharing/classlist.linux.i
-data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/NullTest.java.i
+data/src/windows/native/sun/java2d/d3d/D3DContext.h.i
+data/test/sun/tools/jstat/classOutput1.awk.i
data/src/share/classes/java/lang/management/ThreadInfo.java.i
data/src/share/classes/sun/io/CharToByteMS874.java.i
data/src/share/native/sun/font/layout/MarkArrays.cpp.i
@@ -4993,24 +4995,24 @@ data/make/mkdemo/jfc/CodePointIM/Makefile.i
data/src/share/classes/sun/reflect/generics/tree/FieldTypeSignature.java.i
data/make/mkdemo/scripting/Makefile.i
data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/SynthModel.jibx.xml.i
-data/src/share/classes/sun/net/ftp/impl/DefaultFtpClientProvider.java.i
data/src/share/classes/sun/text/resources/FormatData_zh.java.i
data/test/com/sun/crypto/provider/KeyAgreement/DHGenSharedSecret.java.i
data/src/share/classes/com/sun/tools/example/debug/event/VMStartEventSet.java.i
data/test/java/io/OutputStreamWriter/TestWrite.java.i
data/test/java/io/Serializable/NPEProvoker/NPEProvoker.java.i
+data/src/share/native/sun/font/layout/ContextualSubstSubtables.h.i
data/test/java/io/Serializable/evolution/AddedExternField/WriteAddedField.java.i
data/src/share/classes/sun/reflect/MethodAccessorImpl.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java.i
data/src/share/classes/sun/misc/MessageUtils.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/AttrCompare.java.i
-data/src/share/classes/sun/security/jgss/krb5/WrapToken.java.i
-data/src/share/classes/java/awt/peer/TextAreaPeer.java.i
+data/src/share/classes/com/sun/inputmethods/internal/thaiim/ThaiInputMethodDescriptor.java.i
data/src/share/classes/sun/security/x509/PKIXExtensions.java.i
data/test/java/net/URL/UppercaseScheme.java.i
-data/src/share/classes/javax/swing/text/rtf/charsets/NeXT.txt.i
+data/src/share/demo/jvmti/agent_util/agent_util.c.i
data/src/windows/native/java/net/DualStackPlainSocketImpl.c.i
data/src/share/classes/javax/print/attribute/SupportedValuesAttribute.java.i
+data/src/windows/native/sun/nio/ch/SocketChannelImpl.c.i
data/make/java/nio/Makefile.i
data/test/java/rmi/activation/ActivationSystem/stubClassesPermitted/rmid.security.policy.i
data/src/windows/native/sun/java2d/windows/dxCapabilities.h.i
@@ -5026,29 +5028,27 @@ data/test/java/io/Reader/ReadParams.java.i
data/src/share/classes/sun/awt/NativeLibLoader.java.i
data/src/windows/native/java/io/canonicalize_md.c.i
data/src/share/classes/com/sun/media/sound/PCMtoPCMCodec.java.i
+data/src/share/classes/sun/tools/jconsole/VMInternalFrame.java.i
data/src/share/classes/com/sun/nio/sctp/MessageInfo.java.i
data/src/solaris/doc/sun/man/man1/ja/servertool.1.i
data/src/share/classes/sun/tools/jconsole/SheetDialog.java.i
data/src/share/classes/sun/security/ssl/JsseJce.java.i
data/src/solaris/doc/sun/man/man1/jstatd.1.i
+data/test/com/sun/management/ThreadMXBean/ThreadAllocatedMemoryArray.java.i
data/src/share/classes/java/awt/doc-files/Choice-1.gif.i
data/src/share/classes/sun/io/ByteToCharMS950.java.i
data/src/share/classes/sun/java2d/loops/MaskBlit.java.i
data/test/java/nio/channels/FileChannel/Release.java.i
data/src/share/classes/javax/management/DescriptorFields.java.i
-data/src/share/classes/sun/util/locale/LocaleUtils.java.i
-data/src/share/classes/java/beans/beancontext/BeanContextContainerProxy.java.i
+data/test/sun/java2d/DirectX/IAEforEmptyFrameTest/IAEforEmptyFrameTest.java.i
+data/src/share/classes/sun/text/normalizer/ReplaceableString.java.i
data/src/share/demo/java2d/J2DBench/resources/textdata/arabic.ut8.txt.i
data/src/share/native/sun/awt/medialib/mlib_SysMath.h.i
data/src/share/classes/javax/imageio/event/IIOReadProgressListener.java.i
-data/test/java/net/URLConnection/GetXmlContentType.java.i
data/test/sun/security/pkcs11/nss/lib/solaris-amd64/libnspr4.so.i
data/src/share/classes/sun/reflect/generics/factory/CoreReflectionFactory.java.i
data/make/tools/CharsetMapping/IBM1149.c2b.i
data/src/share/native/sun/awt/image/imageInitIDs.c.i
-data/src/share/classes/javax/print/attribute/standard/OrientationRequested.java.i
-data/src/share/classes/java/awt/event/ItemEvent.java.i
-data/test/java/nio/charset/Charset/EmptyCharsetName.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/AlternativeLongOptionSpec.java.i
data/test/java/util/Collections/EmptySortedSet.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsPopupMenuUI.java.i
@@ -5057,9 +5057,9 @@ data/make/tools/CharsetMapping/IBM874.map.i
data/test/org/openjdk/jigsaw/ConfigurationBuilder.java.i
data/src/share/native/com/sun/media/sound/DirectAudioDeviceProvider.c.i
data/src/share/native/sun/security/ec/ecl.c.i
+data/test/java/util/Collections/AsLifoQueue.java.i
data/test/sun/java2d/pipe/RegionOps.java.i
-data/src/share/classes/javax/swing/plaf/synth/SynthOptionPaneUI.java.i
-data/src/share/classes/java/lang/IllegalStateException.java.i
+data/src/share/classes/sun/print/resources/orientRevLandscape.png.i
data/src/share/classes/com/sun/imageio/plugins/jpeg/SOSMarkerSegment.java.i
data/src/share/classes/sun/io/CharToByteCp863.java.i
data/make/sun/cmm/Makefile.i
@@ -5071,7 +5071,7 @@ data/test/sun/security/ec/pkcs12/sect193r1server-rsa1024ca.p12.i
data/src/share/classes/javax/management/Attribute.java.i
data/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntInt.java.i
data/test/sun/nio/cs/Test6392804.java.i
-data/src/share/classes/com/sun/jmx/namespace/serial/RoutingOnlyProcessor.java.i
+data/src/share/classes/java/util/spi/LocaleServiceProvider.java.i
data/test/java/rmi/testlibrary/StreamPipe.java.i
data/src/share/classes/javax/management/loading/DefaultLoaderRepository.java.i
data/make/tools/src/build/tools/jdwpgen/AbstractSimpleTypeNode.java.i
@@ -5079,68 +5079,71 @@ data/src/share/classes/java/awt/GridBagConstraints.java.i
data/test/javax/crypto/Cipher/InOutBuffers.java.i
data/src/solaris/native/sun/java2d/loops/mlib_v_ImageClear_f.h.i
data/make/tools/src/build/tools/generatecharacter/SpecialCaseMap.java.i
-data/src/share/classes/com/sun/imageio/spi/FileImageOutputStreamSpi.java.i
+data/test/java/lang/String/Split.java.i
data/src/share/sample/jmx/jmx-scandir/docfiles/remote-connection-failed.jpg.i
data/src/share/classes/java/security/Signature.java.i
data/src/share/classes/sun/text/resources/FormatData_sv.java.i
data/make/modules/Makefile.i
-data/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive.java.i
data/test/javax/swing/JComboBox/6607130/bug6607130.java.i
data/src/share/classes/com/sun/jdi/Bootstrap.java.i
-data/src/share/classes/sun/rmi/transport/WeakRef.java.i
+data/src/share/classes/javax/security/auth/RefreshFailedException.java.i
data/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal.java.i
-data/test/javax/management/mxbean/JMXServiceURLTest.java.i
+data/src/share/classes/sun/io/ByteToCharCp874.java.i
data/make/tools/dir_diff/Makefile.i
-data/src/share/native/sun/font/layout/KernTable.h.i
data/src/share/classes/com/sun/tools/example/debug/bdi/EventRequestSpec.java.i
data/src/share/classes/com/sun/pept/ept/ContactInfoList.java.i
data/src/share/classes/java/util/AbstractQueue.java.i
data/test/java/io/Serializable/readObjectNoData/Read.java.i
-data/src/share/classes/sun/io/CharToByteMacRomania.java.i
-data/src/share/classes/javax/print/attribute/standard/PrintQuality.java.i
+data/test/java/util/ResourceBundle/Bug4083270Test.properties.i
+data/make/mkdemo/jvmti/versionCheck/Makefile.i
data/src/share/classes/sun/nio/fs/MimeType.java.i
data/src/share/classes/sun/net/www/http/KeepAliveStream.java.i
+data/test/sun/security/krb5/auto/ok-as-delegate-xrealm.sh.i
data/src/share/classes/javax/swing/text/html/EditableView.java.i
-data/src/share/classes/javax/management/DescriptorAccess.java.i
-data/src/share/classes/java/sql/SQLTransactionRollbackException.java.i
+data/src/share/classes/javax/swing/plaf/ComponentInputMapUIResource.java.i
data/src/share/classes/sun/launcher/LauncherHelper.java.i
data/test/java/lang/instrument/StressGetObjectSizeApp.java.i
data/src/share/classes/javax/swing/text/GlyphView.java.i
data/test/java/beans/PropertyChangeSupport/1.6.0.ser.i
-data/src/share/classes/javax/swing/plaf/metal/MetalCheckBoxIcon.java.i
+data/src/share/classes/com/sun/jmx/event/EventParams.java.i
data/src/share/classes/java/util/package.html.i
data/src/share/classes/sun/jkernel/BundleCheck.java.i
data/src/share/native/sun/awt/image/cvutils/img_alpha.h.i
-data/src/share/classes/com/sun/jndi/ldap/LdapURL.java.i
-data/src/share/classes/com/sun/media/sound/ModelOscillator.java.i
-data/src/share/classes/javax/swing/JCheckBoxMenuItem.java.i
-data/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java.i
+data/test/com/sun/crypto/provider/Cipher/DES/inputData/plain5.txt.i
+data/test/java/text/Format/MessageFormat/Bug7003643.java.i
+data/src/share/native/sun/awt/image/jpeg/jcinit.c.i
+data/src/share/classes/com/sun/jmx/defaults/ServiceName.java.i
+data/test/javax/script/ProviderTest.sh.i
data/src/share/classes/com/sun/servicetag/Registry.java.i
data/src/share/classes/com/sun/tools/jdi/META-INF/services/com.sun.jdi.connect.spi.TransportService.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14NExclusiveWithComments.java.i
-data/src/solaris/classes/sun/awt/X11/XFontPeer.java.i
-data/src/share/classes/javax/swing/Painter.java.i
+data/src/share/classes/sun/tools/jstat/ExpressionResolver.java.i
+data/src/share/classes/sun/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl.java.i
data/src/share/classes/javax/swing/plaf/ViewportUI.java.i
+data/test/java/io/Serializable/packageAccess/C.java.i
data/test/com/sun/jndi/dns/CheckAccess.java.i
data/src/share/classes/com/sun/imageio/plugins/gif/GIFImageWriterSpi.java.i
-data/src/share/classes/javax/imageio/stream/ImageOutputStream.java.i
data/src/share/classes/java/security/PrivilegedAction.java.i
data/src/share/classes/sun/nio/fs/NativeBuffers.java.i
+data/src/share/classes/com/sun/tools/jdi/PrimitiveValueImpl.java.i
data/src/windows/native/sun/jkernel/graphics/warningmasthead.bmp.i
data/src/share/classes/com/sun/nio/sctp/package-info.java.i
-data/test/java/awt/event/MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMouseEventAbsoluteCoordsTest.html.i
+data/src/share/classes/com/sun/jmx/snmp/SnmpBadSecurityLevelException.java.i
+data/src/share/classes/java/awt/BufferCapabilities.java.i
+data/test/org/openjdk/jigsaw/repocat.sh.i
data/make/sun/jawt/make.depend.i
data/test/java/util/ResourceBundle/Control/XmlRB.xml.i
data/src/share/classes/sun/management/snmp/util/MibLogger.java.i
+data/test/java/lang/Math/CubeRootTests.java.i
data/test/java/nio/channels/Selector/Alias.java.i
-data/src/share/classes/sun/nio/cs/ext/DBCS_IBM_EBCDIC_Decoder.java.i
+data/test/com/oracle/net/Sanity.java.i
data/test/java/awt/Focus/AutoRequestFocusTest/TestHelper.java.i
data/src/share/classes/sun/misc/JavaLangAccess.java.i
data/make/javax/security/Makefile.i
data/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java.i
data/make/mkdemo/jfc/TableExample/Makefile.i
-data/src/share/classes/sun/jvmstat/monitor/MonitoredVmUtil.java.i
data/test/com/sun/jdi/JdbReadTwiceTest.sh.i
+data/test/com/sun/jdi/RedefineImplementor.sh.i
data/src/share/native/java/lang/StrictMath.c.i
data/src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c.i
data/make/common/Sanity.gmk.i
@@ -5153,22 +5156,23 @@ data/test/java/net/URL/B6529759.java.i
data/test/com/sun/jdi/sde/Mangle.sde.i
data/src/windows/classes/sun/nio/ch/SinkChannelImpl.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_de.properties.i
+data/src/share/classes/javax/management/ClientContext.java.i
data/src/share/classes/java/math/MutableBigInteger.java.i
data/src/share/classes/java/lang/ConditionalSpecialCasing.java.i
+data/src/windows/native/sun/jkernel/stdafx.h.i
data/src/share/classes/javax/xml/crypto/XMLStructure.java.i
data/test/sun/security/tools/policytool/i18n.java.i
data/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetAttenuation.java.i
data/src/solaris/hpi/export/path_md.h.i
-data/src/share/classes/org/openjdk/jigsaw/package-info.java.i
+data/src/share/demo/nbproject/jfc/Metalworks/nbproject/jdk.xml.i
data/src/share/classes/javax/print/attribute/standard/JobPrioritySupported.java.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ja.properties.i
data/src/share/classes/java/lang/Number.java.i
data/src/share/native/sun/font/layout/MarkToMarkPosnSubtables.h.i
-data/src/share/classes/sun/text/resources/FormatData_th_TH.java.i
data/test/javax/print/applet/AppletPrintLookup.html.i
data/src/share/classes/com/sun/jmx/event/EventClientFactory.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsProgressBarUI.java.i
-data/src/share/classes/sun/security/provider/certpath/ConstraintsChecker.java.i
+data/test/java/util/Locale/data/deflocale.sol10.i
data/src/share/classes/java/util/EventListenerProxy.java.i
data/src/share/classes/sun/rmi/rmic/newrmic/Generator.java.i
data/test/sun/rmi/log/ReliableLog/Recovery.java.i
@@ -5193,11 +5197,11 @@ data/test/sun/nio/cs/SurrogateTestEUCTW.plane5.surrogates.i
data/src/share/classes/sun/security/jgss/krb5/MessageToken_v2.java.i
data/test/javax/swing/JColorChooser/Test4234761.java.i
data/make/java/util/Makefile.i
-data/make/sun/security/pkcs11/mapfile-vers.i
+data/test/java/lang/instrument/IsModifiableClassAgent.java.i
data/src/windows/resource/java.manifest.i
data/src/share/classes/sun/text/resources/FormatData_sr.java.i
-data/src/share/classes/sun/rmi/log/LogOutputStream.java.i
-data/src/share/classes/javax/swing/border/StrokeBorder.java.i
+data/test/java/util/ResourceBundle/ReferencesTestBundle.properties.i
+data/test/javax/sound/midi/Sequencer/SequencerImplicitSynthOpen.java.i
data/src/share/classes/java/security/InvalidParameterException.java.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/AbstractPerfDataBufferPrologue.java.i
data/src/share/classes/javax/net/ssl/KeyStoreBuilderParameters.java.i
@@ -5208,25 +5212,24 @@ data/test/java/beans/PropertyEditor/TestIntegerClassValue.java.i
data/test/tools/launcher/UglyPrintVersion.java.i
data/test/java/lang/System/finalization/FinThreads.java.i
data/test/java/util/ResourceBundle/Bug4165815Test.java.i
-data/src/share/classes/sun/util/resources/CurrencyNames_ko.properties.i
+data/test/java/awt/Window/AlwaysOnTop/AlwaysOnTopEvenOfWindow.java.i
data/src/share/classes/sun/net/www/protocol/jar/JarURLConnection.java.i
-data/src/share/classes/java/nio/channels/MulticastChannel.java.i
+data/src/share/classes/sun/text/resources/FormatData_ar_IQ.java.i
data/src/share/classes/com/sun/jmx/remote/internal/ProxyInputStream.java.i
+data/test/java/beans/PropertyEditor/TestShortTypeValue.java.i
data/test/java/lang/RuntimePermission/ExitVM.java.i
data/src/share/classes/javax/management/modelmbean/ModelMBeanConstructorInfo.java.i
-data/src/share/demo/nbproject/management/MemoryMonitor/nbproject/jdk.xml.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementCheckerImpl.java.i
+data/src/share/classes/sun/io/ByteToCharEUC2.java.i
data/src/share/classes/sun/security/provider/certpath/CrlRevocationChecker.java.i
data/src/share/classes/java/sql/SQLInvalidAuthorizationSpecException.java.i
-data/src/share/classes/com/sun/media/sound/services/javax.sound.midi.spi.MidiFileWriter.i
-data/src/share/classes/com/sun/jndi/rmi/registry/RegistryContextFactory.java.i
+data/src/share/classes/sun/java2d/pipe/SolidTextRenderer.java.i
data/src/share/classes/sun/dyn/MemberName.java.i
-data/test/sun/security/pkcs11/nss/lib/solaris-sparc/libfreebl_hybrid_3.so.i
+data/test/java/io/Serializable/duplicateSerialFields/Setup.java.i
data/src/share/native/java/lang/fdlibm/src/w_asin.c.i
-data/src/share/classes/com/sun/tools/jdi/LongValueImpl.java.i
-data/src/share/classes/sun/text/resources/CollationData_sk.java.i
+data/make/sun/tracing/dtrace/mapfile-vers.i
+data/src/share/classes/sun/awt/image/ShortInterleavedRaster.java.i
data/test/javax/management/descriptor/EqualsHashCodeTest.java.i
-data/src/share/classes/com/sun/rowset/internal/XmlResolver.java.i
+data/make/sun/rmi/rmi/Makefile.i
data/test/java/io/Serializable/illegalHandle/tooHighHandle.ser.i
data/test/java/nio/channels/DatagramChannel/Connect.java.i
data/src/share/demo/jfc/Metalworks/MetalworksHelp.java.i
@@ -5238,15 +5241,15 @@ data/test/sun/net/www/protocol/http/6550798/TestCache.java.i
data/src/share/classes/sun/nio/cs/ext/IBM869.java.i
data/src/solaris/doc/sun/man/man1/ja/policytool.1.i
data/src/share/classes/java/awt/image/renderable/ParameterBlock.java.i
+data/test/javax/crypto/spec/DESKeySpec/CheckParity.java.i
data/src/share/classes/sun/nio/ch/ServerSocketAdaptor.java.i
data/test/sun/security/mscapi/SignUsingSHA2withRSA.java.i
-data/test/java/lang/ref/ReferenceEnqueue.java.i
-data/src/share/classes/sun/nio/cs/ext/JISAutoDetect.java.i
+data/src/windows/classes/sun/awt/windows/awtLocalization_ko.properties.i
data/src/share/classes/sun/net/www/content/image/x_xbitmap.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_es_AR.properties.i
+data/test/javax/script/Test4.js.i
data/src/share/classes/sun/text/resources/FormatData_sr_RS.java.i
data/test/java/beans/VetoableChangeSupport/Test4425885.java.i
-data/src/share/classes/sun/tracing/dtrace/DTraceProbe.java.i
data/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java.i
data/src/share/classes/sun/tools/jar/ModuleInfo.java.i
data/src/share/classes/sun/awt/Graphics2Delegate.java.i
@@ -5262,7 +5265,7 @@ data/test/java/beans/XMLEncoder/4741757/TestSecurityManager.java.i
data/test/java/net/URLClassLoader/closetest/test1/com/foo/Resource2.i
data/src/share/native/sun/font/layout/LookupTables.cpp.i
data/test/java/lang/invoke/InvokeGenericTest.java.i
-data/make/sun/rmi/oldtools/FILES_java.gmk.i
+data/src/share/classes/sun/net/NetProperties.java.i
data/src/share/classes/sun/nio/cs/ext/IBM970.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/DigesterOutputStream.java.i
data/src/share/classes/sun/nio/cs/ext/JIS_X_0208_MS932_Decoder.java.i
@@ -5273,47 +5276,45 @@ data/make/tools/classanalyzer/src/com/sun/classanalyzer/ModuleBuilder.java.i
data/src/share/classes/java/nio/charset/UnmappableCharacterException.java.i
data/src/share/classes/com/sun/media/sound/SF2Sample.java.i
data/src/windows/classes/sun/security/mscapi/KeyStore.java.i
-data/src/share/classes/javax/swing/plaf/synth/SynthMenuBarUI.java.i
+data/test/sun/net/idn/TestData.java.i
+data/src/share/classes/javax/accessibility/AccessibleContext.java.i
data/src/share/classes/com/sun/jmx/namespace/ObjectNameRouter.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedData.java.i
data/test/org/openjdk/jigsaw/_RemoteRepositoryList.java.i
-data/src/share/classes/com/sun/java/swing/plaf/motif/MotifRadioButtonMenuItemUI.java.i
+data/test/sun/security/provider/certpath/speech2speech.i
data/src/share/classes/com/sun/media/sound/AuFileReader.java.i
data/test/sun/net/www/protocol/jar/B4957695.java.i
data/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOff.java.i
data/src/share/native/sun/font/layout/DeviceTables.cpp.i
data/src/share/classes/sun/dyn/anon/InvalidConstantPoolFormatException.java.i
data/make/tools/classanalyzer/src/com/sun/classanalyzer/PlatformModuleBuilder.java.i
-data/src/share/classes/java/util/StringTokenizer.java.i
+data/src/solaris/classes/sun/awt/motif/X11JIS0208.java.i
data/src/share/classes/sun/nio/cs/ext/IBM297.java.i
data/test/java/rmi/activation/Activatable/restartLatecomer/group.security.policy.i
data/src/share/classes/sun/security/krb5/internal/ccache/CCacheInputStream.java.i
data/test/javax/swing/text/html/parser/Parser/7003777/bug7003777.java.i
data/src/share/classes/sun/nio/cs/ext/IBM1124.java.i
data/src/share/classes/sun/io/ByteToCharCp1006.java.i
-data/src/share/classes/sun/util/CoreResourceBundleControl-XLocales.java.template.i
+data/test/sun/security/pkcs11/nss/lib/solaris-amd64/libnssckbi.so.i
data/src/share/classes/sun/jvmstat/monitor/ByteArrayMonitor.java.i
-data/test/javax/naming/ldap/LdapName/LdapParserTests.java.i
+data/test/com/sun/jdi/sde/MangleStepTest.java.i
data/src/share/lib/images/cursors/motif_LinkNoDrop32x32.gif.i
data/make/com/sun/net/ssl/Makefile.i
data/test/sun/net/www/protocol/http/UserAuth.java.i
-data/make/tools/GenerateCharacter/Makefile.i
+data/test/javax/security/auth/Subject/Synch.java.i
data/src/share/classes/sun/nio/cs/ext/MSISO2022JP.java.i
data/src/share/classes/java/util/IllegalFormatFlagsException.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIStyle.java.i
-data/src/share/native/sun/font/layout/LigatureSubstitution.h.i
data/src/share/classes/sun/security/krb5/internal/ccache/MemoryCredentialsCache.java.i
data/src/solaris/classes/sun/awt/motif/MToolkitThreadBlockedHandler.java.i
data/src/share/classes/sun/tools/asm/ClassConstantData.java.i
data/src/windows/lib/plugin.properties.i
-data/src/share/sample/nio/server/Content.java.i
data/src/share/classes/java/io/IOError.java.i
data/src/share/classes/javax/security/sasl/RealmCallback.java.i
data/src/share/native/sun/awt/image/BufImgSurfaceData.c.i
data/src/share/classes/javax/swing/JApplet.java.i
data/src/share/classes/javax/swing/text/html/CommentView.java.i
data/src/solaris/classes/sun/awt/motif/X11Clipboard.java.i
-data/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriterSpi.java.i
data/src/share/classes/javax/net/ssl/HandshakeCompletedListener.java.i
data/src/share/classes/sun/reflect/generics/repository/ClassRepository.java.i
data/test/java/net/Socket/ProxyCons.java.i
@@ -5322,11 +5323,11 @@ data/test/sun/security/pkcs11/Cipher/TestPKCS5PaddingError.java.i
data/src/share/classes/javax/naming/ldap/Rdn.java.i
data/make/tools/UnicodeData/Scripts.txt.i
data/src/solaris/native/sun/font/X11FontScaler.h.i
-data/src/share/classes/javax/sound/sampled/UnsupportedAudioFileException.java.i
+data/test/java/util/jar/JarFile/SorryClosed.java.i
data/test/java/lang/Math/Log1pTests.java.i
data/src/share/classes/javax/print/attribute/standard/DateTimeAtCompleted.java.i
data/src/share/native/sun/awt/libpng/pngwutil.c.i
-data/src/share/classes/sun/management/snmp/jvminstr/JvmRTClassPathTableMetaImpl.java.i
+data/src/share/classes/org/ietf/jgss/GSSCredential.java.i
data/test/java/rmi/activation/Activatable/extLoadedImpl/group.security.policy.i
data/src/share/classes/sun/reflect/generics/tree/ByteSignature.java.i
data/src/share/classes/javax/management/openmbean/OpenMBeanParameterInfoSupport.java.i
@@ -5336,12 +5337,11 @@ data/test/javax/management/remote/mandatory/subjectDelegation/policy13.i
data/src/share/classes/java/rmi/StubNotFoundException.java.i
data/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByte.java.i
data/src/share/classes/java/security/AccessControlContext.java.i
-data/make/modules/tools/src/com/sun/classanalyzer/AnnotationParser.java.i
-data/src/share/classes/javax/swing/text/Document.java.i
-data/src/share/classes/sun/tools/jconsole/inspector/XTextField.java.i
+data/src/share/classes/sun/java2d/loops/GeneralRenderer.java.i
+data/src/share/classes/sun/tools/java/Scanner.java.i
+data/src/share/classes/java/awt/image/BufferedImageOp.java.i
data/src/share/classes/java/beans/beancontext/BeanContextServicesSupport.java.i
-data/src/share/classes/sun/tools/util/ModifierFilter.java.i
-data/src/share/classes/sun/nio/cs/ISO_8859_2.java.i
+data/test/java/math/BigInteger/CompareToTests.java.i
data/test/java/rmi/server/RMIClassLoader/spi/java.rmi.server.RMIClassLoaderSpi.i
data/src/share/classes/com/sun/script/javascript/ExternalScriptable.java.i
data/src/share/classes/sun/security/ssl/CipherSuiteList.java.i
@@ -5349,13 +5349,14 @@ data/src/share/classes/com/sun/media/sound/JDK13Services.java.i
data/src/share/classes/sun/nio/cs/ext/SimpleEUCEncoder.java.i
data/test/java/lang/reflect/Generics/getAnnotationTest.java.i
data/src/share/classes/sun/tools/jar/resources/jar_sv.properties.i
+data/src/share/classes/sun/java2d/cmm/ColorTransform.java.i
data/test/java/nio/channels/spi/AsynchronousChannelProvider/custom_provider.sh.i
-data/make/tools/CharsetMapping/GBK.map.i
-data/src/share/classes/javax/swing/plaf/nimbus/ImageCache.java.i
+data/src/share/classes/sun/security/provider/VerificationProvider.java.i
+data/make/java/zip/mapfile-vers.i
data/src/share/classes/java/awt/image/ShortLookupTable.java.i
data/src/windows/native/java/net/InetAddressImplFactory.c.i
data/src/share/native/sun/awt/medialib/mlib_c_ImageThresh1.h.i
-data/src/share/classes/java/io/Bits.java.i
+data/src/share/classes/javax/security/auth/login/LoginException.java.i
data/test/java/awt/Multiscreen/WindowGCChangeTest/WindowGCChangeTest.java.i
data/test/sun/security/mscapi/access.policy.i
data/test/java/nio/charset/coders/BashStreams.java.i
@@ -5372,16 +5373,18 @@ data/src/share/classes/javax/crypto/CryptoPolicyParser.java.i
data/src/share/classes/javax/swing/plaf/nimbus/State.java.i
data/make/jpda/bdi/Makefile.i
data/test/java/util/AbstractMap/ToString.java.i
-data/src/share/classes/sun/net/www/protocol/http/HttpAuthenticator.java.i
+data/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstruments.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmMemGCEntryMBean.java.i
-data/test/java/util/AbstractSequentialList/AddAll.java.i
+data/test/sun/security/pkcs11/KeyStore/ClientAuthData/server.keystore.i
+data/src/share/classes/sun/management/snmp/jvmmib/JvmThreadingMeta.java.i
+data/test/java/math/BigDecimal/ZeroScalingTests.java.i
data/src/share/classes/com/sun/tools/jdi/ThreadListener.java.i
-data/src/share/classes/com/sun/media/sound/AbstractMidiDevice.java.i
data/src/share/classes/com/sun/crypto/provider/CipherCore.java.i
-data/src/share/classes/com/sun/media/sound/SF2LayerRegion.java.i
-data/src/share/native/sun/awt/medialib/mlib_ImageAffine_BL_S32.c.i
-data/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.c.i
+data/src/share/classes/javax/crypto/spec/DHPrivateKeySpec.java.i
+data/test/com/oracle/security/ucrypto/TestRSA.java.i
+data/test/java/beans/XMLEncoder/java_awt_Point.java.i
data/make/tools/swing-beans/beaninfo/images/JCheckBoxColor16.gif.i
+data/test/sun/net/www/http/HttpClient/IsKeepingAlive.java.i
data/test/java/beans/PropertyEditor/TestColorClassJava.java.i
data/src/solaris/back/exec_md.c.i
data/test/javax/naming/ldap/LdapName/NameTests.java.i
@@ -5393,8 +5396,9 @@ data/src/share/classes/java/dyn/Invokers.java.i
data/src/share/classes/sun/security/krb5/Asn1Exception.java.i
data/src/share/classes/com/sun/crypto/provider/DESCipher.java.i
data/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/OpenStream.java.i
+data/src/share/classes/sun/rmi/registry/RegistryImpl.java.i
data/make/java/awt/Makefile.i
-data/src/share/classes/java/io/InputStream.java.i
+data/make/tools/CharsetMapping/IBM1147.map.i
data/test/sun/security/pkcs11/Secmod/GetPrivateKey.java.i
data/make/java/nio/mapfile-solaris.i
data/test/sun/security/ec/p12passwords.txt.i
@@ -5403,32 +5407,33 @@ data/src/share/classes/sun/nio/cs/ext/EUC_CN.java.i
data/src/windows/native/sun/windows/awt_Rectangle.cpp.i
data/src/share/classes/sun/security/pkcs11/P11KeyStore.java.i
data/test/com/sun/jdi/OnThrowTarget.java.i
-data/src/share/classes/com/sun/tools/example/debug/bdi/ParseException.java.i
+data/test/com/sun/tools/attach/PermissionTests.sh.i
data/src/share/classes/com/sun/jdi/DoubleValue.java.i
data/src/share/classes/javax/swing/TablePrintable.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/package.html.i
data/make/tools/CharsetMapping/IBM937.map.i
-data/src/share/demo/jvmti/hprof/hprof_io.c.i
-data/src/share/classes/java/security/AlgorithmConstraints.java.i
-data/src/share/classes/sun/tools/jstat/OptionFinder.java.i
+data/test/java/util/ResourceBundle/Test4314141B_fr_CH.properties.i
+data/src/solaris/classes/sun/awt/X11/XToolkit.java.i
data/src/share/classes/javax/naming/ldap/StartTlsResponse.java.i
-data/test/sun/java2d/SunGraphics2D/DrawImageBilinear.java.i
+data/src/share/classes/com/sun/security/auth/module/NTSystem.java.i
data/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.java.i
data/src/solaris/native/sun/net/sdp/SdpSupport.c.i
+data/src/share/classes/java/math/SignedMutableBigInteger.java.i
data/make/tools/CharsetMapping/IBM875.c2b.i
data/src/share/classes/sun/nio/ch/Groupable.java.i
data/test/javax/management/mxbean/StandardMBeanOverrideTest.java.i
-data/src/share/classes/java/net/CookiePolicy.java.i
data/make/jpda/transport/shmem/mapfile-vers.i
data/src/share/classes/com/sun/media/sound/ModelInstrumentComparator.java.i
data/test/java/security/cert/X509Certificate/emptySubjectCert.i
data/make/sun/org/mozilla/javascript/Makefile.i
data/src/windows/native/sun/nio/ch/Iocp.c.i
-data/src/share/classes/java/awt/dnd/DropTargetAdapter.java.i
+data/src/share/classes/sun/security/krb5/Credentials.java.i
data/test/javax/script/Test1.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/icons/DesktopIcon.gif.i
data/src/share/classes/javax/swing/event/AncestorListener.java.i
-data/src/share/classes/com/sun/tools/example/debug/tty/MalformedMemberNameException.java.i
+data/src/share/classes/java/lang/doc-files/capsigma.gif.i
+data/test/javax/management/MBeanServer/PostExceptionTest.java.i
+data/make/tools/swing-beans/beaninfo/images/JPanelColor16.gif.i
+data/src/solaris/doc/sun/man/man1/idlj.1.i
data/src/share/classes/com/sun/media/sound/AudioFileSoundbankReader.java.i
data/src/windows/hpi/include/monitor_md.h.i
data/src/share/native/sun/security/jgss/wrapper/NativeUtil.h.i
@@ -5439,11 +5444,10 @@ data/src/share/classes/javax/print/attribute/standard/MediaName.java.i
data/test/com/sun/tools/attach/Shutdown.java.i
data/src/share/classes/java/beans/IntrospectionException.java.i
data/src/share/classes/sun/tools/tree/UnsignedShiftRightExpression.java.i
-data/src/windows/native/sun/windows/awt_MMStub.h.i
-data/src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_de.properties.i
+data/test/sun/net/InetAddress/nameservice/chaining/Providers.java.i
data/test/javax/sound/midi/Gervill/SoftReceiver/Send_Controller.java.i
+data/src/share/classes/java/rmi/server/RMIClientSocketFactory.java.i
data/src/share/classes/java/awt/image/BandedSampleModel.java.i
-data/test/sun/security/pkcs11/ec/pkcs12/secp256r1server-secp384r1ca.p12.i
data/src/share/demo/scripting/jconsole-plugin/src/scripts/heapdump.js.i
data/test/sun/net/www/http/KeepAliveStream/KeepAliveStreamClose.java.i
data/src/share/classes/sun/security/ssl/EngineArgs.java.i
@@ -5451,19 +5455,18 @@ data/src/share/classes/sun/util/resources/TimeZoneNames_ja.java.i
data/src/share/classes/sun/rmi/transport/ObjectTable.java.i
data/make/tools/swing-beans/beaninfo/images/JAppletColor16.gif.i
data/src/share/classes/sun/swing/plaf/synth/Paint9Painter.java.i
+data/src/share/classes/sun/java2d/pipe/OutlineTextRenderer.java.i
data/src/share/classes/sun/util/resources/CalendarData_it.properties.i
data/test/org/openjdk/jigsaw/TrivialWebServer.java.i
+data/test/java/security/cert/CertPathValidator/trustAnchor/ValidateNC.java.i
data/src/share/classes/sun/text/resources/CollationData_el.java.i
-data/test/java/security/UnresolvedPermission/AccessorMethods.signer1.i
+data/test/java/nio/file/Files/walkFileTree/MaxDepth.java.i
data/src/share/classes/java/lang/AutoCloseable.java.i
data/test/java/nio/channels/Selector/WakeupEmpty.java.i
data/src/share/native/sun/java2d/loops/LineUtils.h.i
data/test/java/beans/XMLEncoder/java_lang_Character.java.i
-data/src/share/classes/com/sun/jdi/ThreadGroupReference.java.i
-data/test/java/lang/management/MemoryMXBean/PendingAllGC.sh.i
-data/src/share/classes/java/awt/MenuItem.java.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpU8S16Func.c.i
-data/src/share/classes/sun/tools/jstat/Arguments.java.i
+data/src/share/classes/sun/util/resources/CalendarData_en_IE.properties.i
+data/test/javax/swing/JFileChooser/6520101/bug6520101.java.i
data/test/java/io/DataInputStream/ReadLinePushback.java.i
data/src/share/classes/javax/swing/plaf/synth/Region.java.i
data/src/share/classes/sun/misc/Unsafe.java.i
@@ -5472,7 +5475,7 @@ data/test/java/awt/font/TextLayout/TextLayoutBounds.java.i
data/src/share/classes/sun/net/ProgressListener.java.i
data/src/share/classes/java/text/BreakIterator.java.i
data/src/share/classes/sun/nio/cs/ThreadLocalCoders.java.i
-data/src/share/classes/sun/rmi/rmic/newrmic/jrmp/Constants.java.i
+data/test/javax/sound/midi/Gervill/SoftReceiver/Send_ProgramChange.java.i
data/src/share/classes/sun/management/ClassLoadingImpl.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/AsyncSSLSocketClose.java.i
data/src/share/classes/sun/net/www/http/HttpCaptureOutputStream.java.i
@@ -5489,14 +5492,17 @@ data/src/share/classes/sun/launcher/LauncherHelp.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiToolBarUI.java.i
data/src/share/demo/nbproject/management/JTop/build.properties.i
data/test/java/security/Policy/Dynamic/DynamicPolicy.java.i
+data/src/solaris/native/sun/awt/awt_DrawingSurface.h.i
+data/src/share/classes/sun/text/resources/FormatData_nl.java.i
data/src/share/classes/java/util/zip/ZipCoder.java.i
data/test/javax/script/Test5.js.i
data/test/java/awt/Insets/CombinedTestApp1.java.i
data/src/share/classes/sun/security/krb5/internal/crypto/HmacSha1Aes128CksumType.java.i
+data/test/java/beans/XMLEncoder/Test6256805.java.i
data/src/solaris/native/sun/security/smartcardio/pcsc_md.h.i
-data/src/share/classes/sun/swing/AccessibleMethod.java.i
data/src/share/classes/javax/security/auth/kerberos/KeyImpl.java.i
data/make/sun/jkernel/FILES_java.gmk.i
+data/src/windows/native/sun/windows/awt_Checkbox.h.i
data/src/share/classes/sun/dyn/FilterGeneric.java.i
data/src/share/native/java/lang/fdlibm/src/s_signgam.c.i
data/src/share/classes/java/nio/file/DirectoryNotEmptyException.java.i
@@ -5504,6 +5510,7 @@ data/src/share/classes/javax/accessibility/AccessibleTextSequence.java.i
data/src/solaris/classes/sun/awt/X11/XAbstractMenuItem.java.i
data/src/share/classes/sun/management/snmp/jvminstr/README.i
data/src/solaris/classes/java/util/prefs/FileSystemPreferencesFactory.java.i
+data/src/share/classes/javax/smartcardio/CardPermission.java.i
data/src/share/native/java/lang/fdlibm/src/w_pow.c.i
data/src/share/classes/sun/misc/Queue.java.i
data/src/share/classes/sun/tools/tree/UplevelReference.java.i
@@ -5517,34 +5524,33 @@ data/src/share/classes/sun/management/RuntimeImpl.java.i
data/test/java/lang/System/Versions.java.i
data/src/share/classes/javax/xml/crypto/dsig/Transform.java.i
data/test/java/awt/Robot/ManualInstructions/ManualInstructions.java.i
+data/src/share/native/sun/security/ec/ec.c.i
data/src/share/classes/sun/io/CharToByteCp950.java.i
data/make/tools/swing-beans/beaninfo/images/JLabelColor32.gif.i
data/test/sun/security/pkcs11/nss/db/cert8.db.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/C14nHelper.java.i
-data/test/java/io/BufferedInputStream/SkipTest.java.i
data/src/share/classes/sun/nio/cs/UTF_16LE_BOM.java.i
data/src/share/classes/com/sun/servicetag/resources/javase_7_swordfish.properties.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureBaseRSA.java.i
data/src/share/native/java/util/zip/zlib-1.1.3/compress.c.i
+data/test/com/sun/jdi/ConnectedVMs.java.i
data/src/share/sample/nio/chatserver/ChatServer.java.i
-data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.java.i
+data/src/share/classes/sun/management/snmp/jvmmib/JvmClassLoadingMeta.java.i
data/make/sun/font/mapfile-vers.i
data/src/share/classes/com/sun/jdi/ThreadReference.java.i
+data/src/share/classes/sun/security/x509/X500Name.java.i
data/src/share/classes/sun/text/resources/CollationData_fi.java.i
-data/src/share/classes/sun/nio/ch/Invoker.java.i
data/src/share/native/sun/font/layout/GlyphPosnLookupProc.cpp.i
data/test/sun/net/www/protocol/http/Finalizer.java.i
data/test/ProblemList.txt.i
-data/test/javax/management/remote/mandatory/socketFactories/RMIClientFactory.java.i
-data/src/share/classes/java/awt/IllegalComponentStateException.java.i
+data/src/share/native/java/lang/fdlibm/src/s_rint.c.i
data/src/share/classes/java/net/Authenticator.java.i
data/test/java/nio/file/Files/walkFileTree/TerminateWalk.java.i
data/test/java/lang/ClassLoader/deadlock/SupAlice.java.i
-data/src/share/sample/nio/server/ChannelIOSecure.java.i
-data/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Open.java.i
-data/test/java/awt/Focus/IconifiedFrameFocusChangeTest/IconifiedFrameFocusChangeTest.java.i
-data/test/java/util/ResourceBundle/Test4314141B_fr_CH.properties.i
-data/src/share/classes/sun/text/resources/FormatData_vi_VN.java.i
+data/test/java/awt/FullScreen/NoResizeEventOnDMChangeTest/NoResizeEventOnDMChangeTest.java.i
+data/test/java/util/Timer/KillThread.java.i
+data/src/share/classes/sun/reflect/generics/scope/ClassScope.java.i
+data/src/share/classes/java/net/Inet4Address.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalToolTipUI.java.i
data/src/linux/doc/man/keytool.1.i
data/test/javax/swing/JSlider/6587742/bug6587742.java.i
@@ -5554,7 +5560,9 @@ data/test/javax/sound/midi/Gervill/AudioFloatInputStream/Skip.java.i
data/test/java/util/ResourceBundle/Bug4168625Class.java.i
data/test/java/rmi/reliability/benchmark/bench/rmi/ByteCalls.java.i
data/src/share/classes/sun/management/snmp/jvminstr/JvmMemMgrPoolRelEntryImpl.java.i
+data/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java.i
data/src/solaris/instrument/FileSystemSupport_md.h.i
+data/make/sun/font/t2k/mapfile-vers.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509KeyManager/NullCases.java.i
data/src/share/classes/javax/imageio/plugins/jpeg/JPEGQTable.java.i
data/test/java/util/ResourceBundle/Bug6190861.java.i
@@ -5564,8 +5572,8 @@ data/test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.j
data/src/share/classes/java/net/doc-files/net-properties.html.i
data/src/windows/classes/sun/security/krb5/internal/tools/Ktab.java.i
data/src/solaris/native/sun/java2d/loops/vis_UshortGray.c.i
-data/test/java/io/Serializable/evolution/RenamePackage/extension/ExtendedObjectInputStream.java.i
-data/src/windows/classes/sun/awt/windows/WDefaultFontCharset.java.i
+data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java.i
+data/test/javax/management/MBeanInfo/MBeanInfoEqualsTest.java.i
data/test/sun/security/pkcs11/KeyStore/ClientAuth.java.i
data/src/solaris/native/java/io/RandomAccessFile_md.c.i
data/src/share/classes/sun/nio/cs/ext/MacCyrillic.java.i
@@ -5581,37 +5589,40 @@ data/src/share/classes/javax/swing/event/PopupMenuEvent.java.i
data/make/sun/headless/Makefile.i
data/src/share/classes/com/sun/tools/example/debug/bdi/AccessWatchpointSpec.java.i
data/test/sun/net/www/httptest/ClosedChannelList.java.i
-data/src/share/classes/org/jcp/xml/dsig/internal/dom/XMLDSigRI.java.i
+data/test/javax/management/MBeanServer/DynamicWrapperMBeanTest.java.i
+data/src/share/javavm/export/jdwpTransport.h.i
data/test/javax/management/remote/mandatory/threads/NoServerTimeoutTest.java.i
data/test/javax/management/openmbean/ConstraintTest.java.i
data/src/windows/lib/content-types.properties.i
data/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransform.java.i
data/test/java/lang/management/ManagementFactory/ProxyTypeMapping.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/package.html.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/icons/FloppyDrive.gif.i
data/src/share/classes/com/sun/jdi/request/ClassUnloadRequest.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/XPathContainer.java.i
data/test/demo/jvmti/HeapUser.java.i
data/make/common/shared/Sanity.gmk.i
data/src/share/back/bag.h.i
data/src/share/classes/sun/nio/ch/DirectBuffer.java.i
-data/src/share/classes/javax/management/namespace/VirtualEventManager.java.i
-data/src/share/classes/java/rmi/UnknownHostException.java.i
+data/test/java/beans/Introspector/Test5102804.java.i
+data/test/javax/management/ImplementationVersion/ImplVersionCommand.java.i
+data/test/java/beans/Introspector/Test4498236.java.i
data/src/share/classes/javax/naming/spi/InitialContextFactoryBuilder.java.i
+data/test/sun/nio/cs/TestISCII91.java.i
data/src/share/classes/sun/misc/VMSupport.java.i
-data/src/windows/classes/sun/awt/Win32GraphicsConfig.java.i
+data/test/javax/management/remote/mandatory/connectorServer/StandardForwardersTest.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_en_IN.properties.i
data/make/tools/CharsetMapping/EUC_KR.map.i
data/src/share/classes/sun/jkernel/ByteArrayToFromHexDigits.java.i
data/src/solaris/classes/sun/awt/X11/XToolkitThreadBlockedHandler.java.i
data/src/share/classes/sun/management/counter/Variability.java.i
-data/src/share/classes/java/lang/module/package-info.java.i
-data/src/linux/doc/man/javaws.1.i
+data/src/share/back/standardHandlers.h.i
+data/src/windows/native/sun/jkernel/DownloadHelper.h.i
data/src/share/classes/com/sun/crypto/provider/BlockCipherParamsCore.java.i
data/src/share/native/java/util/zip/ZipFile.c.i
-data/src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties.i
data/src/share/classes/javax/swing/undo/StateEditable.java.i
data/test/sun/net/www/protocol/jar/bar.jar.i
-data/make/sun/jar/Makefile.i
-data/src/solaris/bin/arm/jvm.cfg.i
+data/make/tools/CharsetMapping/IBM420.c2b.i
+data/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java.i
data/test/com/sun/jdi/MethodCallsReflection.java.i
data/src/share/native/sun/font/layout/IndicRearrangement.h.i
data/src/share/classes/java/nio/channels/ServerSocketChannel.java.i
@@ -5620,12 +5631,11 @@ data/test/com/sun/jdi/VarargsTest.java.i
data/make/tools/classanalyzer/src/com/sun/classanalyzer/ClassPath.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalInternalFrameTitlePane.java.i
data/test/javax/crypto/Cipher/GetMaxAllowed.java.i
-data/src/share/classes/java/util/jar/Manifest.java.i
data/src/share/classes/sun/io/CharToByteCp935.java.i
data/test/sun/security/pkcs11/Provider/Login.policy.i
data/src/share/classes/sun/management/snmp/jvminstr/NotificationTarget.java.i
data/src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_sv.properties.i
-data/make/tools/CharsetMapping/MS1254.map.i
+data/src/share/demo/nio/zipfs/Demo.java.i
data/test/java/rmi/activation/Activatable/inactiveGroup/InactiveGroup_Stub.java.i
data/test/java/lang/Math/RoundTests.java.i
data/src/share/instrument/JPLISAssert.c.i
@@ -5648,7 +5658,7 @@ data/test/com/sun/jdi/RedefineTTYLineNumber.sh.i
data/src/share/classes/javax/naming/ldap/Control.java.i
data/src/share/classes/javax/sound/midi/ShortMessage.java.i
data/src/share/classes/sun/tools/jconsole/resources/disconnected24.png.i
-data/src/share/native/sun/java2d/loops/ByteIndexed.c.i
+data/test/javax/print/applet/applet2/Applet2.java.i
data/src/share/classes/sun/java2d/loops/FontInfo.java.i
data/test/java/beans/XMLEncoder/6777487/TestBox.java.i
data/src/share/classes/sun/misc/RegexpPool.java.i
@@ -5665,41 +5675,40 @@ data/src/share/demo/applets/MoleculeViewer/models/buckminsterfullerine.xyz.i
data/src/share/classes/javax/swing/undo/CannotUndoException.java.i
data/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java.i
data/src/share/classes/com/sun/jmx/mbeanserver/PerInterface.java.i
-data/src/share/classes/com/sun/jndi/rmi/registry/ReferenceWrapper.java.i
data/src/share/classes/java/dyn/MethodTypeForm.java.i
data/src/share/classes/javax/naming/ldap/SortKey.java.i
-data/src/share/classes/com/sun/jmx/snmp/SnmpUnknownMsgProcModelException.java.i
-data/make/tools/swing-beans/beaninfo/images/JEditorPaneColor32.gif.i
+data/src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java.i
+data/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c.i
+data/src/share/classes/javax/sql/RowSetMetaData.java.i
data/src/share/classes/sun/security/x509/AccessDescription.java.i
-data/src/share/native/sun/awt/libpng/pngdebug.h.i
data/src/share/classes/com/sun/jdi/connect/AttachingConnector.java.i
data/src/share/classes/java/security/DigestInputStream.java.i
data/src/share/classes/java/net/MalformedURLException.java.i
data/src/share/classes/com/sun/jndi/ldap/SearchResultWithControls.java.i
-data/src/solaris/classes/sun/nio/fs/UnixException.java.i
+data/test/com/sun/management/OperatingSystemMXBean/GetTotalSwapSpaceSize.java.i
data/src/windows/classes/sun/security/mscapi/SunMSCAPI.java.i
+data/test/javax/swing/JTree/6505523/bug6505523.java.i
data/test/java/util/PluggableLocale/providersrc/Utils.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java.i
data/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java.i
data/src/share/classes/java/lang/invoke/ToGeneric.java.i
+data/src/solaris/classes/sun/awt/X11/generator/functions.txt.i
data/src/share/classes/java/security/cert/LDAPCertStoreParameters.java.i
data/src/share/classes/javax/print/event/PrintJobListener.java.i
-data/make/tools/UnicodeData/PropList.txt.i
+data/test/javax/print/attribute/SidesPageRangesTest.java.i
data/test/java/rmi/transport/runtimeThreadInheritanceLeak/RuntimeThreadInheritanceLeak_Stub.java.i
data/test/sun/pisces/StrokeShapeTest.java.i
-data/make/sun/font/reorder-sparcv9.i
+data/test/java/nio/channels/FileChannel/ReleaseOnCloseDeadlock.java.i
data/src/share/classes/java/lang/module/ModuleId.java.i
-data/src/share/classes/sun/nio/cs/ext/ISO_8859_3.java.i
data/test/java/lang/Class/forName/classes/hyphen.class.i
-data/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties.i
+data/src/share/classes/java/text/RuleBasedBreakIterator.java.i
data/test/java/io/Serializable/auditStreamSubclass/AuditStreamSubclass.java.i
-data/src/share/classes/java/lang/annotation/IncompleteAnnotationException.java.i
data/src/share/classes/com/sun/jmx/snmp/daemon/package.html.i
data/src/solaris/native/com/sun/media/sound/PLATFORM_API_SolarisOS_Utils.c.i
data/make/tools/swing-beans/GenSwingBeanInfo.java.i
data/test/java/beans/VetoableChangeSupport/Test6630275.java.i
data/test/javax/management/namespace/LeadingSeparatorsTest.java.i
-data/src/solaris/classes/sun/net/www/protocol/http/NTLMAuthentication.java.i
+data/src/share/native/sun/security/ec/impl/secoidt.h.i
data/test/org/openjdk/jigsaw/cli/tsa-prikey.pem.i
data/src/solaris/classes/sun/awt/X11/XEventDispatcher.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_ar_IQ.properties.i
@@ -5713,15 +5722,16 @@ data/src/share/classes/java/lang/UnsupportedClassVersionError.java.i
data/src/linux/doc/man/native2ascii.1.i
data/src/windows/classes/sun/nio/fs/WindowsFileStore.java.i
data/test/java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency.java.i
+data/src/solaris/native/sun/tools/attach/LinuxVirtualMachine.c.i
data/src/share/classes/sun/reflect/generics/tree/CharSignature.java.i
data/src/share/classes/com/sun/jndi/dns/DnsName.java.i
data/make/common/shared/Sanity-Settings.gmk.i
-data/src/share/classes/java/lang/ArrayStoreException.java.i
data/test/java/rmi/server/useCustomRef/security.policy.i
data/src/share/classes/com/sun/java/browser/net/ProxyService.java.i
data/src/share/classes/sun/tools/jconsole/inspector/XOperations.java.i
+data/src/share/classes/sun/tools/jconsole/Version.java.template.i
data/src/share/classes/java/nio/file/attribute/DosFileAttributes.java.i
-data/src/share/classes/java/sql/DatabaseMetaData.java.i
+data/make/sun/headless/reorder-i586.i
data/src/share/classes/java/security/cert/CertificateExpiredException.java.i
data/src/share/classes/javax/management/modelmbean/InvalidTargetObjectTypeException.java.i
data/src/solaris/classes/sun/awt/X11/XDropTargetContextPeer.java.i
@@ -5729,34 +5739,35 @@ data/test/java/io/BufferedReader/BigMark.java.i
data/test/java/beans/PropertyEditor/TestBooleanTypeValue.java.i
data/test/java/lang/Enum/ValueOf.java.i
data/src/share/classes/sun/misc/resources/Messages_es.java.i
-data/test/sun/net/www/protocol/jar/B5105410.sh.i
+data/test/javax/sound/midi/Gervill/SoftTuning/Load7.java.i
data/src/share/classes/java/dyn/DirectMethodHandle.java.i
data/src/windows/native/sun/security/smartcardio/pcsc_md.c.i
data/test/sun/security/pkcs11/rsa/TestKeyPairGenerator.java.i
-data/test/java/util/TreeMap/NullPermissiveComparator.java.i
-data/test/java/io/Serializable/unnamedPackageSwitch/A.java.i
data/src/share/demo/nbproject/jfc/Font2DTest/build.xml.i
data/test/java/net/URLConnection/UnknownContentType.java.i
data/test/sun/security/tools/keytool/autotest.sh.i
data/src/share/classes/sun/nio/cs/IBM850.java.i
data/src/solaris/native/sun/nio/fs/genSolarisConstants.c.i
-data/src/share/classes/sun/awt/ModalityListener.java.i
-data/test/java/io/Serializable/defaultDataEnd/DefaultDataEnd.java.i
+data/test/javax/management/remote/mandatory/connection/AddressableTest.java.i
+data/src/solaris/classes/sun/awt/motif/MScrollPanePeer.java.i
+data/src/windows/classes/sun/awt/windows/WFontMetrics.java.i
data/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/SSLSessionNulls.java.i
data/src/share/classes/java/awt/image/Kernel.java.i
data/src/windows/native/java/lang/ProcessEnvironment_md.c.i
+data/src/share/classes/sun/util/resources/LocaleNames_et.properties.i
data/src/share/classes/sun/security/smartcardio/SunPCSC.java.i
+data/test/java/beans/PropertyChangeSupport/Test7087429.java.i
data/src/share/classes/java/sql/SQLNonTransientConnectionException.java.i
-data/test/java/rmi/server/Unreferenced/unreferencedContext/UnreferencedContext.java.i
-data/src/share/back/ClassLoaderReferenceImpl.h.i
+data/test/com/sun/jndi/ldap/ReadTimeoutTest.java.i
data/src/share/classes/javax/print/SimpleDoc.java.i
data/src/share/classes/sun/net/www/http/KeepAliveStreamCleaner.java.i
data/test/vm/verifier/VerifyStackForExceptionHandlers.java.i
data/test/javax/sound/midi/Gervill/SoftReceiver/Send_ResetAllControllers.java.i
data/src/share/classes/javax/sql/rowset/sqlxml.xsd.i
-data/test/java/io/LineNumberReader/SkipInput.txt.i
+data/src/share/classes/sun/nio/cs/ext/Big5_HKSCS_2001.java.i
data/test/tools/pack200/pack200-verifier/src/xmlkit/InstructionSyntax.java.i
-data/src/share/classes/com/sun/tools/example/debug/event/AbstractEventSet.java.i
+data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/ImageTests.java.i
+data/src/share/classes/javax/management/remote/JMXProviderException.java.i
data/src/linux/doc/man/javac.1.i
data/make/tools/src/build/tools/jdwpgen/IntTypeNode.java.i
data/src/share/classes/com/sun/tools/example/debug/bdi/NoThreadException.java.i
@@ -5765,38 +5776,41 @@ data/test/java/io/Serializable/class/SerialA.java.i
data/test/java/nio/channels/SocketChannel/VectorIO.java.i
data/src/share/classes/sun/security/pkcs/ParsingException.java.i
data/test/sun/net/idn/nfsmxs.spp.i
-data/test/java/beans/PropertyEditor/TestLongClassJava.java.i
-data/make/tools/CharsetMapping/IBM860.map.i
+data/make/tools/src/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java.i
+data/test/sun/tools/jcmd/usage.out.i
data/test/java/nio/channels/DatagramChannel/NoSender.java.i
data/src/share/classes/javax/swing/text/TableView.java.i
+data/src/share/classes/javax/swing/LayoutStyle.java.i
data/src/share/classes/sun/security/x509/CertificatePolicyId.java.i
-data/src/share/classes/sun/io/CharToByteCp858.java.i
+data/test/java/io/PrintWriter/FailingConstructors.java.i
data/test/sun/tools/jstatd/jstatdServerName.sh.i
data/src/share/classes/javax/crypto/MacSpi.java.i
data/src/share/classes/javax/imageio/plugins/bmp/BMPImageWriteParam.java.i
data/src/share/classes/sun/security/ssl/krb5/KerberosClientKeyExchangeImpl.java.i
-data/test/javax/swing/JList/6823603/bug6823603.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/CloseSocket.java.i
+data/test/sun/security/provider/PolicyFile/GrantAllPermToExtWhenNoPolicy.sh.i
+data/test/javax/crypto/Mac/NullMacSpi.java.i
data/test/java/lang/management/OperatingSystemMXBean/TestSystemLoadAvg.sh.i
-data/make/com/sun/tools/attach/FILES_java.gmk.i
data/src/share/classes/sun/misc/RequestProcessor.java.i
data/test/sun/pisces/ThinLineTest.java.i
data/src/share/classes/java/lang/invoke/VolatileCallSite.java.i
-data/src/share/classes/javax/naming/spi/ContinuationDirContext.java.i
data/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java.i
data/src/share/demo/jvmti/hprof/sample.makefile.txt.i
-data/test/java/beans/XMLEncoder/java_util_Collections_CheckedList.java.i
+data/src/share/classes/com/sun/beans/decoder/FalseElementHandler.java.i
data/test/tools/launcher/i18nTest.sh.i
+data/test/java/lang/instrument/PremainClass/InheritAgent0011.java.i
data/test/java/nio/Buffer/SwapMicroBenchmark.java.i
data/test/java/nio/file/WatchService/OverflowEventIsLoner.java.i
+data/src/share/classes/javax/swing/text/rtf/package.html.i
data/src/windows/native/sun/windows/awt_KeyEvent.h.i
data/src/share/native/java/util/zip/zlib-1.1.3/doc/algorithm.doc.i
data/src/share/classes/sun/reflect/generics/tree/MethodTypeSignature.java.i
+data/make/tools/src/build/tools/javazic/Mappings.java.i
+data/src/share/classes/sun/text/resources/FormatData_ko.java.i
data/make/tools/CharsetMapping/IBM918.c2b.i
data/test/java/net/InetAddress/IPv4Formats.java.i
data/test/javax/management/namespace/NullObjectNameTest.java.i
data/src/share/classes/sun/tools/tree/BinaryCompareExpression.java.i
-data/src/share/classes/javax/print/URIException.java.i
+data/src/share/classes/sun/font/NullFontScaler.java.i
data/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/EchoImpl.java.i
data/src/solaris/classes/sun/awt/X11/XFramePeer.java.i
data/src/share/classes/javax/print/attribute/standard/MediaPrintableArea.java.i
@@ -5804,26 +5818,22 @@ data/src/share/classes/javax/naming/ldap/LdapName.java.i
data/src/share/classes/javax/crypto/IllegalBlockSizeException.java.i
data/make/mkdemo/jvmti/hprof/Makefile.i
data/src/share/classes/javax/swing/DefaultSingleSelectionModel.java.i
-data/src/share/classes/com/sun/tools/jdi/NonConcreteMethodImpl.java.i
-data/src/share/classes/java/security/SecureRandomSpi.java.i
data/src/share/classes/sun/net/util/URLUtil.java.i
data/src/share/classes/javax/naming/ServiceUnavailableException.java.i
data/src/share/transport/shmem/sysShmem.h.i
-data/src/share/classes/com/sun/tools/hat/internal/server/InstancesQuery.java.i
-data/test/java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java.i
data/src/share/classes/sun/io/ByteToCharCp921.java.i
data/src/share/classes/sun/security/jgss/krb5/InitialToken.java.i
-data/test/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmRuntimeMeta.java.i
data/test/sun/security/ssl/sun/net/www/protocol/https/NewImpl/ComHostnameVerifier.java.i
+data/src/share/classes/javax/xml/crypto/URIDereferencer.java.i
data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/DirectoryScanner.java.i
data/src/share/classes/java/security/KeyPairGenerator.java.i
+data/src/share/classes/javax/naming/directory/InvalidSearchControlsException.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/ParserConstants.java.i
data/src/share/classes/sun/tools/jconsole/resources/mbean.gif.i
data/test/sun/security/krb5/etype/WeakCrypto.java.i
-data/test/sun/net/www/protocol/jar/foo.jar.i
data/src/share/classes/com/sun/net/ssl/KeyManagerFactory.java.i
-data/src/windows/classes/sun/security/mscapi/RSAKeyPairGenerator.java.i
+data/test/java/security/SecureRandom/GetAlgorithm.java.i
data/src/share/classes/com/sun/jmx/snmp/package.html.i
data/test/javax/swing/MultiUIDefaults/4300666/bug4300666.html.i
data/src/share/native/sun/security/ec/impl/mpi-config.h.i
@@ -5832,6 +5842,7 @@ data/test/sun/net/www/http/HttpClient/GetProxyPort.java.i
data/test/sun/security/provider/PolicyFile/SelfWildcard.policy.i
data/test/sun/tools/jps/jps-Defaults.sh.i
data/src/share/classes/com/sun/tools/hat/build.xml.i
+data/src/windows/classes/java/io/FileDescriptor.java.i
data/test/java/lang/management/MemoryMXBean/MemoryManagementParallelGC.sh.i
data/src/share/classes/javax/swing/plaf/basic/CenterLayout.java.i
data/make/mksample/dtrace/Makefile.i
@@ -5839,19 +5850,19 @@ data/src/share/classes/sun/nio/cs/ext/IBM1146.java.i
data/src/share/classes/com/sun/jmx/snmp/internal/SnmpMsgProcessingModel.java.i
data/src/share/classes/javax/print/DocFlavor.java.i
data/src/solaris/classes/sun/nio/fs/DefaultFileTypeDetector.java.i
-data/src/solaris/bin/java-rmi.cgi.sh.i
data/src/share/classes/com/sun/accessibility/internal/resources/accessibility_ko.properties.i
data/test/java/beans/XMLDecoder/spec/TestFalse.java.i
data/test/java/lang/reflect/Field/Set.java.i
data/test/sun/java2d/loops/Bug7049339.java.i
data/src/share/demo/jvmti/hprof/hprof.h.i
data/src/share/classes/sun/security/smartcardio/TerminalImpl.java.i
-data/src/share/classes/java/awt/peer/FontPeer.java.i
-data/make/tools/swing-beans/SwingBeanInfo.template.i
+data/test/java/io/pathNames/win32/BadDriveLetter.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_be_BY.properties.i
+data/test/com/sun/net/httpserver/bugs/FixedLengthInputStream.java.i
data/src/solaris/native/sun/java2d/loops/vis_AlphaMaskFill.c.i
data/src/share/classes/sun/util/resources/CurrencyNames_en_AU.properties.i
data/test/java/util/EnumMap/EnumMapBash.java.i
-data/src/share/classes/sun/misc/Resource.java.i
+data/src/share/classes/com/sun/beans/decoder/ClassElementHandler.java.i
data/src/share/native/sun/java2d/loops/Blit.c.i
data/src/share/classes/java/io/OptionalDataException.java.i
data/test/javax/swing/JFormattedTextField/Test6462562.java.i
@@ -5864,30 +5875,27 @@ data/test/com/sun/net/httpserver/Test3.java.i
data/src/share/classes/sun/security/x509/SubjectAlternativeNameExtension.java.i
data/test/java/awt/Mixing/MixingOnDialog.java.i
data/src/share/classes/com/sun/tools/example/debug/gui/LaunchTool.java.i
-data/src/share/classes/sun/applet/AppletResourceLoader.java.i
+data/src/share/classes/java/awt/event/ItemEvent.java.i
data/src/share/classes/java/text/PatternEntry.java.i
-data/src/share/native/sun/awt/image/jpeg/imageioJPEG.c.i
+data/test/java/awt/font/TextLayout/TestSinhalaChar.java.i
+data/src/share/classes/sun/java2d/pipe/LoopBasedPipe.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverLocalFilesystem.java.i
data/src/solaris/doc/sun/man/man1/java.1.i
-data/test/java/io/charStreams/LineSink.java.i
data/test/java/lang/ClassLoader/defineClass/TestClass.java.i
-data/src/share/classes/sun/text/resources/FormatData_it_CH.java.i
data/test/java/security/cert/CertPathBuilder/StubProvider.java.i
data/src/share/classes/sun/rmi/registry/resources/rmiregistry_it.properties.i
data/src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java.i
data/src/solaris/classes/sun/awt/X11/XEmbedChildProxy.java.i
-data/test/java/nio/channels/FileChannel/ReadToLimit.java.i
+data/test/javax/swing/JLayer/6872503/bug6872503.java.i
data/make/sun/net/Makefile.i
data/test/java/lang/reflect/Generics/HashCodeTest.java.i
-data/src/windows/native/sun/java2d/d3d/D3DGraphicsDevice.cpp.i
-data/src/share/classes/javax/naming/event/package.html.i
-data/make/sun/cmm/lcms/Makefile.i
+data/src/share/classes/org/jcp/xml/dsig/internal/MacOutputStream.java.i
+data/test/sun/security/pkcs11/nss/lib/solaris-amd64/libnss3.so.i
data/test/javax/management/remote/mandatory/subjectDelegation/jmxremote.password.i
data/test/java/lang/System/IHashCode.java.i
data/test/sun/security/pkcs11/KeyStore/BasicData/pk2.key.i
data/test/java/rmi/activation/Activatable/checkRegisterInLog/rmid.security.policy.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/spi/ProviderInit.java.i
-data/src/solaris/native/sun/nio/ch/UnixAsynchronousSocketChannelImpl.c.i
+data/make/tools/GenerateCharacter/Character.c.template.i
data/src/share/classes/com/sun/tools/example/debug/tty/LineNotFoundException.java.i
data/test/java/beans/XMLEncoder/6777487/TestCheckedSortedSet.java.i
data/src/share/classes/sun/tools/tree/ThisExpression.java.i
@@ -5898,49 +5906,49 @@ data/make/java/jvm/Makefile.i
data/src/solaris/native/sun/awt/awt_XmDnD.h.i
data/src/share/classes/com/sun/java/swing/plaf/windows/icons/TreeOpen.gif.i
data/make/tools/swing-beans/beaninfo/images/JMenuMono32.gif.i
-data/src/share/classes/javax/swing/text/html/BlockView.java.i
data/src/share/classes/sun/rmi/runtime/Log.java.i
data/test/java/net/Socket/IDNTest.java.i
data/src/share/native/common/jni_util.c.i
data/src/solaris/native/sun/security/smartcardio/pcsc_md.c.i
data/test/java/awt/Mouse/MouseModifiersUnitTest/ModifierPermutation.java.i
-data/make/tools/src/build/tools/charsetmapping/DBCS.java.i
-data/test/java/util/ResourceBundle/Control/Chinese_zh.properties.i
+data/test/com/sun/security/auth/login/ConfigFile/Override.props.i
+data/test/java/util/zip/FlaterTest.java.i
data/src/share/classes/sun/text/resources/FormatData_mt_MT.java.i
-data/test/javax/management/generified/ListTypeCheckTest.java.i
data/test/com/sun/nio/sctp/SctpServerChannel/Accept.java.i
data/test/java/util/zip/ZipFile/FinalizeZipFile.java.i
data/src/share/classes/javax/swing/tree/TreeCellRenderer.java.i
data/test/java/util/ResourceBundle/Bug6356571.properties.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/CountedTimerTaskUtils.java.i
+data/src/solaris/demo/jigsaw/basic/run.sh.i
data/src/solaris/native/java/io/io_util_md.c.i
data/src/share/demo/nbproject/scripting/jconsole-plugin/build.properties.i
-data/src/share/classes/sun/io/ByteToCharUnicodeBigUnmarked.java.i
data/make/mkdemo/jvmti/mapfile-vers.i
data/src/share/classes/javax/swing/text/ViewFactory.java.i
data/test/sun/security/ssl/sanity/interop/JSSEClient.java.i
data/test/java/lang/ThreadGroup/Suspend.java.i
data/src/share/classes/javax/swing/text/html/parser/ContentModel.java.i
data/src/windows/native/sun/java2d/d3d/D3DBufImgOps.cpp.i
+data/test/java/io/FilterOutputStream/BoundsCheck.java.i
data/test/java/io/Serializable/ClassCastExceptionDetail/Write.java.i
data/src/share/classes/javax/crypto/KeyGeneratorSpi.java.i
data/src/share/classes/sun/security/pkcs11/P11KeyFactory.java.i
data/test/javax/management/Introspector/SqeDescriptorKey.java.i
data/src/share/classes/java/lang/CharacterData.java.i
+data/test/java/util/zip/ZipFile/crash.jar.i
data/src/share/classes/sun/io/CharToByteCp037.java.i
data/make/tools/swing-beans/beaninfo/images/JTreeColor32.gif.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsRadioButtonUI.java.i
+data/src/windows/classes/sun/java2d/d3d/D3DDrawImage.java.i
data/test/java/net/URL/Constructor.java.i
data/make/sun/awt/CondenseRules.awk.i
data/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifier.java.i
data/src/share/classes/sun/io/ByteToCharJohab.java.i
data/test/sun/security/provider/PolicyParser/ExtDirsChange.java.i
data/src/share/classes/com/sun/jmx/snmp/UserAcl.java.i
-data/test/java/io/File/SetLastModified.java.i
+data/src/windows/native/sun/nio/ch/FileDispatcher.c.i
data/src/share/classes/com/sun/naming/internal/VersionHelper12.java.i
data/src/solaris/classes/sun/font/XRGlyphCacheEntry.java.i
data/src/share/native/sun/font/bidi/uchardir.c.i
-data/test/com/sun/management/HotSpotDiagnosticMXBean/DumpHeap.java.i
+data/test/java/net/URLConnection/ChunkedEncoding.java.i
data/make/mksample/nio/server/Makefile.i
data/test/java/nio/channels/DatagramChannel/Receive.java.i
data/src/share/classes/javax/print/attribute/standard/NumberOfInterveningJobs.java.i
@@ -5952,8 +5960,10 @@ data/src/solaris/sample/dtrace/hotspot_jni/hotspot_jni_calls_stat.d.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/MgmtData.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JVM_MANAGEMENT_MIB.java.i
data/test/java/net/Socket/LinkLocal.java.i
+data/make/common/shared/Defs-windows.gmk.i
+data/test/java/awt/GraphicsEnvironment/PreferLocaleFonts.java.i
data/make/sun/rmi/rmic/Makefile.i
-data/src/solaris/classes/java/net/DefaultDatagramSocketImplFactory.java.i
+data/test/java/util/concurrent/locks/ReentrantLock/LoopHelpers.java.i
data/make/common/internal/Resources.gmk.i
data/src/share/classes/org/openjdk/jigsaw/Linker.java.i
data/test/sun/net/InetAddress/nameservice/chaining/Simple2NameServiceDescriptor.java.i
@@ -5962,21 +5972,17 @@ data/src/solaris/classes/sun/java2d/xr/XRMaskBlit.java.i
data/test/sun/nio/cs/OLD/DBCS_IBM_EBCDIC_Encoder.java.i
data/src/share/classes/sun/io/ByteToCharCp939.java.i
data/make/sun/usagetracker/Makefile.i
-data/make/tools/reorder/tests/LoadJFrame.java.i
data/test/javax/security/auth/login/Configuration/GetInstance.configURI.i
-data/test/javax/swing/text/html/TableView/7030332/sample2.png.i
data/test/com/sun/jdi/EarlyReturnTest.java.i
data/test/sun/management/HotspotClassLoadingMBean/GetLoadedClassSize.java.i
-data/src/share/classes/java/awt/RenderingHints.java.i
+data/src/share/bin/version_comp.c.i
data/make/com/sun/image/Makefile.i
-data/src/share/demo/jvmti/hprof/hprof_class.c.i
+data/src/share/lib/calendars.properties.i
data/src/share/classes/java/util/concurrent/Exchanger.java.i
-data/test/java/io/File/WinSpecialFiles.java.i
+data/src/share/native/sun/misc/VMSupport.c.i
data/test/java/io/ByteArrayInputStream/Skip.java.i
-data/src/share/classes/java/nio/file/FileSystem.java.i
data/src/share/classes/java/util/ArrayList.java.i
data/src/share/native/sun/awt/splashscreen/splashscreen_impl.h.i
-data/src/share/classes/sun/util/logging/resources/logging_ja.properties.i
data/src/share/classes/java/nio/file/attribute/PosixFileAttributes.java.i
data/test/sun/management/jmxremote/bootstrap/jmxremote_ssltest14_ko.ssl.in.i
data/src/share/classes/sun/rmi/transport/proxy/RMIHttpToCGISocketFactory.java.i
@@ -5985,24 +5991,27 @@ data/src/share/classes/javax/management/timer/Timer.java.i
data/src/solaris/hpi/src/linker_md.c.i
data/test/sun/security/x509/equalNames/AltNamesEqualsTest.java.i
data/make/tools/CharsetMapping/IBM424.map.i
+data/src/share/native/java/lang/fdlibm/src/w_j1.c.i
+data/src/share/classes/java/sql/Driver.java.i
data/src/share/classes/java/nio/channels/AsynchronousSocketChannel.java.i
data/test/sun/tools/jstat/jstatGcCauseOutput1.sh.i
data/src/solaris/doc/sun/man/man1/ja/jrunscript.1.i
data/src/share/classes/javax/print/attribute/standard/Fidelity.java.i
-data/test/java/net/URLConnection/ChunkedEncoding.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifScrollPaneUI.java.i
data/test/java/nio/channels/SocketChannel/Connect.java.i
-data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIDefault.java.i
data/src/solaris/native/sun/awt/awt_KeyboardFocusManager.h.i
data/make/common/shared/Defs-linux.gmk.i
data/src/share/native/com/sun/java/util/jar/pack/coding.cpp.i
data/src/share/classes/javax/sql/rowset/rowset.properties.i
-data/src/share/classes/com/sun/beans/decoder/AccessorElementHandler.java.i
+data/src/share/demo/java2d/J2DBench/resources/images/photo.jpg.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageConv_8nw.c.i
data/src/share/classes/org/openjdk/jigsaw/ModuleFile.java.i
data/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties.i
-data/src/share/classes/java/dyn/BootstrapMethod.java.i
+data/test/javax/sound/sampled/AudioFormat/Matches_NOT_SPECIFIED.java.i
+data/src/share/classes/sun/security/provider/ConfigSpiFile.java.i
data/src/windows/native/java/net/icmp.h.i
data/test/java/net/InetSocketAddress/B4849451.java.i
+data/src/share/classes/java/awt/event/WindowStateListener.java.i
data/src/share/classes/javax/crypto/spec/DESKeySpec.java.i
data/src/share/classes/com/sun/tools/example/debug/gui/CurrentFrameChangedEvent.java.i
data/test/java/awt/Mixing/OverlappingButtons.java.i
@@ -6011,25 +6020,23 @@ data/src/share/classes/javax/naming/event/EventContext.java.i
data/test/java/util/PluggableLocale/ClasspathTest.java.i
data/test/javax/management/remote/mandatory/provider/provider/JMXConnectorProviderImpl.java.i
data/test/java/net/URL/share_file_urls.i
-data/src/share/classes/sun/rmi/rmic/RemoteClass.java.i
+data/src/share/demo/nbproject/jfc/Font2DTest/nbproject/netbeans-targets.xml.i
+data/src/share/classes/sun/misc/JavaUtilJarAccess.java.i
+data/src/share/native/sun/java2d/cmm/lcms/icc34.h.i
data/test/javax/security/auth/login/Configuration/Synchronize.java.i
data/src/share/classes/java/nio/channels/FileLock.java.i
-data/src/share/native/java/lang/fdlibm/src/s_frexp.c.i
data/src/share/classes/sun/security/provider/certpath/Builder.java.i
data/test/sun/security/tools/keytool/console.sh.i
data/test/javax/swing/JPopupMenu/6675802/bug6675802.java.i
data/src/share/back/stream.h.i
+data/make/tools/swing-beans/beaninfo/images/JLayeredPaneColor16.gif.i
data/src/share/native/java/util/zip/zlib-1.1.3/inftrees.c.i
-data/src/share/classes/com/sun/media/sound/WaveFileReader.java.i
-data/test/java/lang/Character/PropList.txt.i
data/test/sun/management/jmxremote/bootstrap/jmxremote_test04_ok.access.in.i
data/src/share/classes/java/lang/ref/package.html.i
data/src/share/classes/java/awt/doc-files/TextArea-1.gif.i
+data/test/java/security/cert/pkix/nameConstraintsMinMax/labs2isrg2.cer.i
data/src/share/classes/com/sun/media/sound/SoftInstrument.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11.java.i
-data/test/java/beans/EventHandler/Test6277266.java.i
-data/test/java/security/cert/CertPathBuilder/targetConstraints/BuildOddSel.java.i
-data/src/share/sample/nio/server/ChannelIO.java.i
data/test/sun/security/pkcs11/rsa/KeyWrap.java.i
data/make/tools/swing-beans/beaninfo/images/JToolBarColor32.gif.i
data/src/share/classes/sun/net/httpserver/ExchangeImpl.java.i
@@ -6040,22 +6047,21 @@ data/src/share/demo/jvmti/hprof/hprof_site.h.i
data/test/javax/swing/plaf/synth/SynthToolBarUI/6739756/bug6739756.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalComboBoxEditor.java.i
data/src/windows/classes/sun/security/krb5/internal/tools/Klist.java.i
-data/src/share/bin/parse_manifest.c.i
+data/test/sun/security/pkcs11/KeyGenerator/TestKeyGenerator.java.i
data/src/share/classes/com/sun/jmx/snmp/SnmpUnknownModelLcdException.java.i
data/src/share/classes/javax/sql/rowset/spi/SyncProviderException.java.i
data/test/java/net/URLClassLoader/closetest/test2/com/foo/TestClass.java.i
data/src/share/classes/java/util/prefs/InvalidPreferencesFormatException.java.i
data/src/share/classes/sun/management/counter/perf/PerfInstrumentation.java.i
-data/src/share/classes/javax/print/attribute/standard/JobHoldUntil.java.i
+data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java.i
data/test/javax/print/applet/applet1/META-INF/services/javax.print.PrintServiceLookup.i
data/src/windows/classes/sun/java2d/opengl/WGLSurfaceData.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiPopupMenuUI.java.i
data/src/share/classes/sun/text/resources/FormatData_en_CA.java.i
data/make/com/sun/tools/attach/Exportedfiles.gmk.i
data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngineResult/Deserialize.java.i
-data/test/javax/swing/JLabel/6501991/bug6501991.java.i
+data/test/javax/swing/plaf/metal/MetalSliderUI/Test6657026.java.i
data/src/share/classes/sun/launcher/resources/launcher_fr.properties.i
-data/src/share/classes/com/sun/beans/decoder/FieldElementHandler.java.i
data/src/share/classes/java/rmi/server/ServerRef.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/icons/Error.gif.i
data/src/share/classes/com/sun/tools/example/doc/javadt.html.i
@@ -6066,7 +6072,7 @@ data/test/java/io/Serializable/subclassGC/SubclassGC.java.i
data/src/share/classes/java/util/List.java.i
data/src/share/classes/javax/swing/text/PasswordView.java.i
data/test/java/lang/management/CompositeData/MemoryNotifInfoCompositeData.java.i
-data/make/com/sun/demo/jvmti/Makefile.i
+data/test/sun/pisces/JoinMiterTest.java.i
data/src/share/classes/com/sun/tracing/ProviderFactory.java.i
data/src/share/classes/sun/security/jgss/spnego/NegTokenInit.java.i
data/src/share/classes/sun/nio/cs/KOI8_R.java.i
@@ -6074,19 +6080,20 @@ data/test/java/io/Serializable/arraySuidConflict/Foo.java.i
data/src/share/native/sun/java2d/loops/Any3Byte.h.i
data/test/java/awt/font/TextLayout/CombiningPerf.java.i
data/src/share/classes/javax/print/attribute/standard/OutputDeviceAssigned.java.i
-data/src/share/classes/sun/io/CharToByteCp424.java.i
+data/test/java/util/Collections/AddAll.java.i
data/src/windows/classes/sun/java2d/d3d/D3DVolatileSurfaceManager.java.i
data/src/share/classes/java/util/zip/package.html.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifMenuItemUI.java.i
data/src/share/classes/java/nio/channels/spi/package.html.i
data/test/java/security/KeyRep/HmacSHA1.pre.1.5.key.i
data/test/java/rmi/activation/Activatable/elucidateNoSuchMethod/ElucidateNoSuchMethod.java.i
-data/src/share/classes/com/sun/media/sound/ModelStandardDirector.java.i
+data/test/java/util/concurrent/DelayQueue/Stress.java.i
data/src/share/native/sun/font/layout/SubtableProcessor.h.i
data/src/share/classes/java/lang/invoke/AdapterMethodHandle.java.i
data/test/javax/management/context/ContextForwarderTest.java.i
-data/src/share/classes/sun/util/resources/CurrencyNames_sr_Latn_BA.properties.i
-data/src/share/native/sun/awt/medialib/mlib_ImageLookUp_Bit.c.i
+data/test/java/lang/invoke/ClassValueTest.java.i
+data/src/share/back/ThreadGroupReferenceImpl.h.i
+data/src/share/native/sun/java2d/loops/AlphaMacros.c.i
data/test/sun/rmi/runtime/Log/4504153/Test4504153.java.i
data/src/share/back/log_messages.h.i
data/test/java/rmi/activation/log/LogTest.java.i
@@ -6095,55 +6102,61 @@ data/src/share/classes/com/sun/nio/file/ExtendedCopyOption.java.i
data/src/share/classes/com/sun/media/sound/SoftMixingClip.java.i
data/test/javax/imageio/stream/StreamCloserLeak/run_test.sh.i
data/test/javax/crypto/spec/RC5ParameterSpec/RC5ParameterSpecEquals.java.i
-data/test/java/util/Locale/Bug4316602.java.i
+data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver2.java.i
data/src/share/classes/java/awt/image/ImagingOpException.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/EffectUtils.java.i
-data/src/share/native/java/util/zip/zlib-1.1.3/deflate.h.i
+data/src/share/classes/com/sun/security/sasl/ClientFactoryImpl.java.i
data/src/share/classes/java/nio/file/attribute/UserPrincipalNotFoundException.java.i
data/src/share/classes/javax/print/attribute/IntegerSyntax.java.i
-data/src/share/classes/sun/io/CharToByteISO8859_7.java.i
+data/test/javax/swing/JComponent/4337267/bug4337267.java.i
data/src/share/demo/applets/MoleculeViewer/models/water.xyz.i
-data/src/share/classes/sun/nio/cs/ext/SJIS_0213.java.i
+data/test/java/lang/reflect/Method/invoke/IllegalAccessInInvoke.java.i
data/src/share/demo/nbproject/jfc/TableExample/build.properties.i
-data/src/share/classes/sun/awt/im/CompositionArea.java.i
+data/test/sun/management/jmxremote/bootstrap/management_test02_ok.properties.in.i
+data/test/com/sun/security/auth/login/ConfigFile/PropertyExpansion.java.i
data/test/java/util/ResourceBundle/Control/ExpirationTest.sh.i
data/test/java/lang/instrument/AppendToClassPathSetUp.sh.i
data/test/java/io/Reader/Skip.java.i
data/src/share/classes/com/sun/tools/jdi/TypeImpl.java.i
data/src/share/demo/management/MemoryMonitor/README.txt.i
+data/test/java/rmi/registry/interfaceHash/InterfaceHash.java.i
data/src/share/classes/java/awt/image/RenderedImage.java.i
data/test/java/security/cert/CertPathBuilder/StubProviderImpl.java.i
data/make/tools/swing-beans/beaninfo/images/JRadioButtonMono32.gif.i
-data/src/share/classes/com/sun/jndi/ldap/sasl/SaslOutputStream.java.i
+data/src/share/demo/jfc/Metalworks/KhakiMetalTheme.java.i
data/src/share/classes/sun/nio/cs/ext/IBM964.java.d
data/src/share/native/sun/java2d/pipe/BufferedMaskBlit.c.i
data/test/java/nio/file/spi/SetDefaultProvider.java.i
-data/src/share/native/java/lang/Throwable.c.i
data/src/share/classes/sun/management/HotspotCompilationMBean.java.i
-data/src/share/classes/javax/swing/event/UndoableEditListener.java.i
+data/test/java/rmi/reliability/juicer/OrangeEcho.java.i
data/src/share/classes/com/sun/jndi/toolkit/url/Uri.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/Traffic.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java.i
+data/src/linux/doc/man/jarsigner.1.i
data/src/share/classes/javax/swing/text/GlyphPainter2.java.i
data/make/modules/ld.jdk.swing.i
data/test/java/nio/charset/RemovingSunIO/TestUnmappableForLength.java.i
data/src/share/classes/javax/swing/DefaultListCellRenderer.java.i
data/src/share/classes/com/sun/net/httpserver/Authenticator.java.i
-data/src/share/classes/javax/imageio/spi/IIORegistry.java.i
+data/test/sun/security/ssl/sanity/ciphersuites/CheckCipherSuites.java.i
data/src/solaris/native/sun/nio/ch/Sctp.h.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/utils/HasUIDefaults.java.i
data/src/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/OptionSpec.java.i
+data/src/share/classes/java/util/concurrent/CopyOnWriteArraySet.java.i
+data/test/java/net/URL/TestRFC2732.java.i
+data/test/sun/tools/jrunscript/jrunscript-argsTest.sh.i
data/src/share/classes/sun/security/krb5/internal/ccache/CredentialsCache.java.i
data/src/share/classes/sun/io/ByteToCharCp866.java.i
data/src/share/classes/sun/security/rsa/RSAPrivateKeyImpl.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmRuntimeMBean.java.i
-data/make/templates/gpl-header.i
+data/test/java/util/Arrays/CopyMethods.java.i
data/make/tools/spp/Makefile.i
data/src/share/classes/sun/io/ByteToCharMacDingbat.java.i
data/src/share/classes/sun/security/jgss/krb5/Krb5InitCredential.java.i
data/src/windows/classes/sun/io/Win32ErrorMode.java.i
data/src/share/classes/javax/sound/midi/Instrument.java.i
-data/test/sun/security/provider/PolicyFile/AliasExpansion.java.i
+data/test/java/rmi/reliability/juicer/Orange.java.i
data/src/solaris/native/sun/java2d/loops/mlib_ImageCopy.h.i
data/test/javax/management/Introspector/AnnotatedNotificationInfoTest.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiOptionPaneUI.java.i
@@ -6151,14 +6164,18 @@ data/src/share/classes/sun/text/resources/FormatData_es_MX.java.i
data/src/solaris/native/sun/awt/VDrawingArea.h.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageChannelInsert.h.i
data/src/solaris/native/sun/java2d/loops/vis_IntArgbPre_Mask.c.i
+data/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java.i
data/test/sun/net/InetAddress/nameservice/SimpleNameServiceDescriptor.java.i
data/test/java/nio/channels/Selector/WakeupOverflow.java.i
data/src/share/classes/sun/management/resources/agent_sv.properties.i
-data/src/share/classes/sun/awt/image/ToolkitImage.java.i
-data/src/share/classes/com/sun/tools/hat/internal/server/OQLQuery.java.i
+data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/rmi/RemoteMonitoredVm.java.i
+data/test/sun/security/krb5/auto/OkAsDelegate.java.i
data/test/sun/security/pkcs11/fips/truststore.i
data/test/java/rmi/activation/Activatable/unregisterInactive/security.policy.i
+data/src/solaris/classes/sun/print/AttributeClass.java.i
data/test/java/lang/ProcessBuilder/BigFork.java.i
+data/src/share/classes/javax/print/attribute/TextSyntax.java.i
+data/src/share/classes/sun/management/snmp/jvmmib/JvmRTClassPathEntryMeta.java.i
data/src/share/classes/sun/font/Decoration.java.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDefaultSoundbank.java.i
data/src/share/classes/com/sun/imageio/plugins/png/PNGImageReader.java.i
@@ -6171,21 +6188,19 @@ data/src/share/classes/javax/swing/text/EditorKit.java.i
data/src/share/classes/sun/security/pkcs11/wrapper/CK_SLOT_INFO.java.i
data/src/share/native/sun/security/ec/impl/ecp_192.c.i
data/src/share/classes/sun/security/x509/CertificateIssuerExtension.java.i
-data/src/share/classes/java/awt/PopupMenu.java.i
-data/src/share/classes/sun/io/CharToByteCp964.java.i
+data/test/java/io/Serializable/primitiveClasses/PrimitiveClasses.java.i
data/src/share/classes/sun/text/resources/FormatData_hi_IN.java.i
data/src/share/classes/java/awt/dnd/DragGestureRecognizer.java.i
-data/src/share/classes/sun/io/CharToByteCp860.java.i
+data/src/share/classes/sun/util/resources/LocaleNames_en_SG.properties.i
data/src/share/classes/java/util/TimeZone.java.i
data/src/share/native/sun/java2d/loops/Ushort4444Argb.c.i
data/make/modules/tools/src/com/sun/classanalyzer/Klass.java.i
data/src/solaris/classes/java/util/prefs/FileSystemPreferences.java.i
data/src/share/classes/java/beans/EventHandler.java.i
-data/test/java/util/Hashtable/HashCode.java.i
+data/test/java/util/ServiceLoader/FooProvider2.java.i
data/src/windows/native/java/lang/java_props_md.c.i
data/test/java/rmi/reliability/benchmark/bench/serial/Shorts.java.i
-data/src/windows/native/sun/windows/awt_dlls.h.i
-data/src/share/classes/sun/tools/tree/AssignExpression.java.i
+data/test/sun/misc/Version/Version.java.i
data/make/com/sun/jndi/toolkit/Makefile.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheTransform.java.i
data/test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.html.i
@@ -6193,20 +6208,19 @@ data/test/java/io/Serializable/proxy/replace/Test.java.i
data/src/share/classes/com/sun/net/ssl/HttpsURLConnection.java.i
data/test/javax/management/descriptor/DescriptorConstructorTest.java.i
data/src/share/classes/javax/swing/plaf/metal/sounds/OptionPaneWarning.wav.i
-data/src/share/classes/com/sun/media/sound/DLSInfo.java.i
+data/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstrument.java.i
data/src/share/classes/java/awt/print/Pageable.java.i
-data/test/java/rmi/reliability/benchmark/bench/rmi/FloatArrayCalls.java.i
+data/src/share/classes/javax/security/auth/login/CredentialNotFoundException.java.i
data/src/share/classes/sun/tools/tree/BinaryBitExpression.java.i
data/src/share/native/sun/awt/medialib/mlib_ImageConv.h.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/ContentHandlerAlreadyRegisteredException.java.i
data/src/share/classes/sun/reflect/UnsafeStaticObjectFieldAccessorImpl.java.i
-data/src/share/classes/java/nio/ByteBufferAs-X-Buffer.java.template.i
data/src/linux/doc/man/ja/native2ascii.1.i
data/src/share/demo/jfc/SwingApplet/README.txt.i
data/test/sun/util/resources/TimeZone/Bug6377794.java.i
data/src/windows/classes/sun/java2d/d3d/D3DMaskBlit.java.i
data/test/sun/misc/ClassLoaderUtil/test.jar.i
-data/make/tools/CharsetMapping/IBM935.c2b.i
+data/test/sun/nio/cs/TestUTF8.java.i
data/src/solaris/classes/sun/awt/X11/XLayerProtocol.java.i
data/src/share/classes/com/sun/jndi/ldap/ReferralEnumeration.java.i
data/test/java/lang/instrument/RemoveTransformerTest.java.i
@@ -6214,7 +6228,6 @@ data/make/tools/classanalyzer/nbproject/project.properties.i
data/src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java.i
data/test/sun/security/krb5/auto/TcpTimeout.java.i
data/src/share/classes/javax/naming/ldap/UnsolicitedNotificationListener.java.i
-data/make/tools/src/build/tools/jdwpgen/ReferenceIDTypeNode.java.i
data/src/share/demo/jfc/FileChooserDemo/resources/images/gifIcon.gif.i
data/test/sun/management/jmxremote/bootstrap/linux-i586/launcher.i
data/src/share/classes/sun/nio/cs/ext/JIS_X_0212_Solaris_Decoder.java.i
@@ -6224,22 +6237,20 @@ data/src/share/classes/sun/reflect/generics/tree/BooleanSignature.java.i
data/test/sun/security/pkcs11/tls/TestMasterSecret.java.i
data/test/tools/pack200/pack200-verifier/src/xmlkit/XMLKit.java.i
data/src/share/classes/sun/text/normalizer/UTF16.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementChecker.java.i
-data/src/share/classes/java/text/Collator.java.i
+data/src/share/classes/javax/swing/JSlider.java.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageChannelExtract.h.i
data/src/share/classes/sun/security/x509/CRLNumberExtension.java.i
data/test/org/openjdk/jigsaw/cli/ca-cert.pem.i
data/test/java/util/Random/DistinctSeeds.java.i
data/test/com/oracle/net/sanity.sh.i
data/test/java/security/Provider/Equals.java.i
-data/test/java/rmi/Naming/legalRegistryNames/Legal.java.i
data/src/share/classes/sun/net/www/protocol/jar/URLJarFileCallBack.java.i
-data/src/share/classes/javax/imageio/plugins/jpeg/JPEGImageReadParam.java.i
+data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/MyX509ExtendedKeyManager.java.i
data/src/share/classes/sun/reflect/generics/repository/FieldRepository.java.i
data/test/java/lang/ClassLoader/deadlock/Bob.java.i
data/src/share/classes/sun/awt/image/IntegerComponentRaster.java.i
data/test/java/lang/management/ManagementFactory/MBeanServerMXBeanUnsupportedTest.java.i
data/src/share/classes/sun/applet/resources/MsgAppletViewer_es.java.i
-data/src/share/classes/java/util/concurrent/atomic/package-info.java.i
data/src/share/classes/sun/security/krb5/internal/crypto/DesCbcCrcEType.java.i
data/src/share/native/sun/font/layout/MultipleSubstSubtables.h.i
data/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties.i
@@ -6247,17 +6258,17 @@ data/make/tools/dtdbuilder/dtds/html32.dtd.i
data/src/share/classes/javax/naming/spi/InitialContextFactory.java.i
data/test/java/lang/instrument/PremainClass/InheritAgent1110.java.i
data/test/java/io/File/isDirectory/Applet.html.i
-data/test/java/util/Locale/serialized/java6locale__US.i
+data/test/java/io/Serializable/concurrentClassDescLookup/ConcurrentClassDescLookup.java.i
data/src/share/classes/com/sun/tools/example/debug/gui/SourceModel.java.i
data/test/javax/script/Test6.js.i
data/src/share/classes/com/sun/tools/hat/internal/model/JavaField.java.i
-data/test/java/nio/channels/FileChannel/Read.java.i
+data/src/share/demo/scripting/jconsole-plugin/src/resources/jconsole.js.i
data/src/share/native/sun/font/layout/KhmerLayoutEngine.cpp.i
data/src/share/classes/javax/swing/plaf/metal/sounds/PopupMenuPopup.wav.i
data/src/share/native/java/lang/fdlibm/src/s_ceil.c.i
data/make/mksample/nio/chatserver/Makefile.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/IgnoreAllErrorHandler.java.i
-data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMInformCommunity.java.i
+data/test/java/beans/Introspector/TestTypeResolver.java.i
data/src/share/classes/com/sun/jndi/ldap/LdapNameParser.java.i
data/test/java/util/Collections/WrappedNull.java.i
data/test/java/beans/XMLDecoder/spec/AbstractTest.java.i
@@ -6270,10 +6281,10 @@ data/test/javax/xml/crypto/dsig/data/sign-spec.xml.i
data/src/share/classes/sun/print/resources/orientLandscape.png.i
data/src/share/classes/java/security/ProtectionDomain.java.i
data/src/share/classes/com/sun/tools/jdi/IntegerTypeImpl.java.i
-data/test/java/io/Serializable/maskSyntheticModifier/Foo.java.i
-data/test/java/security/Policy/Dynamic/setpolicy.jp.i
+data/test/java/nio/channels/SocketChannel/ConnectState.java.i
data/src/share/classes/sun/security/internal/spec/TlsKeyMaterialSpec.java.i
data/src/solaris/native/sun/awt/awt_MenuComponent.c.i
+data/src/share/classes/java/text/BreakDictionary.java.i
data/make/sun/audio/Makefile.i
data/test/sun/security/provider/DSA/TestKeyPairGenerator.java.i
data/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_Ports.c.i
@@ -6282,17 +6293,18 @@ data/src/windows/native/sun/windows/awt_DnDDS.h.i
data/src/share/back/eventHelper.c.i
data/test/java/net/Socket/ShutdownInput.java.i
data/src/share/classes/com/sun/media/sound/MidiInDeviceProvider.java.i
-data/src/share/classes/sun/util/resources/LocaleNames_lt.properties.i
data/src/share/classes/sun/nio/cs/ext/ISCII91.java.i
data/src/share/classes/sun/nio/fs/AbstractFileStoreSpaceAttributeView.java.i
data/src/share/classes/javax/script/ScriptEngine.java.i
data/make/tools/CharsetMapping/IBM1098.map.i
data/src/share/native/sun/font/layout/ContextualGlyphSubstProc.h.i
-data/src/solaris/classes/sun/awt/X11/XWindowAttributesData.java.i
+data/src/share/classes/sun/misc/resources/Messages_fr.java.i
data/src/share/native/java/util/zip/zlib-1.2.3/zlib.h.i
data/src/linux/doc/man/unpack200.1.i
data/.jcheck/conf.i
+data/src/share/classes/javax/swing/text/doc-files/Document-coord.gif.i
data/src/share/classes/com/sun/tools/script/shell/init.js.i
+data/test/java/net/Socket/FDClose.java.i
data/make/java/main/Makefile.i
data/src/share/back/FieldImpl.h.i
data/src/share/classes/javax/sound/midi/MidiDevice.java.i
@@ -6300,43 +6312,44 @@ data/test/com/sun/security/auth/callback/TextCallbackHandler/NPE.java.i
data/src/share/native/java/lang/fdlibm/src/w_acosh.c.i
data/test/java/util/PluggableLocale/providersrc/CurrencyNameProviderImpl.java.i
data/src/share/classes/sun/util/resources/LocaleNames_zh_TW.properties.i
-data/make/tools/CharsetMapping/HKSCS2008.c2b.i
-data/src/share/classes/sun/text/resources/FormatData_de_LU.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/package.html.i
+data/src/share/native/sun/security/ec/ec2_233.c.i
+data/src/share/native/sun/awt/medialib/mlib_ImageConvMxN.c.i
data/src/share/native/common/jdk_util.h.i
+data/src/share/classes/com/sun/security/sasl/digest/SecurityCtx.java.i
data/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Disable.java.i
+data/test/javax/management/modelmbean/ExoticTargetTypeTest.java.i
data/src/share/classes/javax/swing/SortOrder.java.i
-data/src/solaris/native/sun/awt/awt_KeyboardFocusManager.c.i
data/src/share/classes/sun/launcher/resources/launcher_ko.properties.i
+data/test/java/nio/channels/spi/AsynchronousChannelProvider/Provider2.java.i
data/make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemColor16.gif.i
data/src/share/demo/nbproject/jfc/SampleTree/nbproject/project.xml.i
data/test/sun/security/pkcs11/MessageDigest/DigestKAT.java.i
+data/src/share/classes/org/openjdk/jigsaw/cli/Librarian.java.i
data/src/share/classes/sun/text/resources/FormatData_bg.java.i
data/make/java/text/bidi/Makefile.i
data/src/share/classes/java/lang/Class.java.i
data/src/share/classes/com/sun/jdi/connect/IllegalConnectorArgumentsException.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthCheckBoxMenuItemUI.java.i
-data/src/share/demo/jvmti/hprof/hprof_reference.h.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SubjectNameResolver.java.i
-data/make/java/java/mapfile-vers.i
+data/src/share/native/sun/nio/ch/nio.h.i
+data/src/share/native/sun/font/layout/SinglePositioningSubtables.cpp.i
data/src/share/classes/java/rmi/dgc/DGC.java.i
data/test/sun/security/pkcs11/KeyStore/SecretKeysBasic.sh.i
data/src/share/classes/javax/swing/plaf/multi/MultiSliderUI.java.i
data/test/java/awt/xembed/server/TesterClient.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicEditorPaneUI.java.i
data/test/java/awt/geom/CubicCurve2D/IntersectsTest.java.i
-data/src/share/classes/com/sun/tools/example/debug/bdi/MethodBreakpointSpec.java.i
-data/src/share/classes/sun/reflect/generics/tree/BottomSignature.java.i
+data/src/share/classes/sun/text/resources/FormatData_sk_SK.java.i
data/test/java/io/Serializable/evolution/AddedSuperClass/ReadAddedSuperClass2.java.i
data/test/com/sun/jdi/ExceptionEvents.java.i
data/test/java/lang/instrument/BufferClassLoader.java.i
data/src/share/classes/sun/io/ByteToCharCp1251.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifBorders.java.i
-data/make/tools/CharsetMapping/IBM970.c2b.i
+data/src/share/native/java/util/zip/zip_util.c.i
data/make/tools/CharsetMapping/sjis0213.map.i
data/make/tools/GenerateCharacter/CharacterData0E.java.template.i
data/test/com/sun/management/HotSpotDiagnosticMXBean/GetVMOption.java.i
data/src/share/classes/sun/util/logging/resources/logging_pt_BR.properties.i
+data/test/java/util/TimeZone/OldIDMappingTest.sh.i
data/make/mkdemo/jpda/Makefile.i
data/test/java/beans/PropertyEditor/TestLongClassNull.java.i
data/test/java/nio/channels/Selector/SelectAfterRead.java.i
@@ -6345,7 +6358,7 @@ data/test/javax/swing/JEditorPane/4492274/bug4492274.java.i
data/test/sun/java2d/cmm/ProfileOp/ReadProfileTest.java.i
data/src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java.i
data/src/share/classes/sun/reflect/UnsafeIntegerFieldAccessorImpl.java.i
-data/test/com/sun/jdi/ShutdownDebuggee.java.i
+data/test/javax/management/descriptor/ImmutableArrayFieldTest.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/Base64.java.i
data/src/share/classes/com/sun/tools/hat/internal/server/ClassQuery.java.i
data/test/java/util/regex/TestCases.txt.i
@@ -6357,62 +6370,65 @@ data/test/sun/security/krb5/auto/MaxRetries.java.i
data/src/share/classes/sun/security/krb5/internal/ktab/KeyTabInputStream.java.i
data/src/share/classes/java/awt/doc-files/FontMetrics-1.gif.i
data/test/java/rmi/server/RMIClassLoader/spi/ServiceConfiguration.java.i
+data/src/share/classes/sun/awt/FocusingTextField.java.i
data/src/share/classes/com/sun/jdi/VoidValue.java.i
-data/src/share/classes/com/sun/imageio/stream/StreamCloser.java.i
data/src/share/classes/java/lang/ArrayIndexOutOfBoundsException.java.i
data/src/share/native/sun/awt/image/cvutils/img_opaque.h.i
data/src/share/native/java/util/zip/Inflater.c.i
data/test/java/awt/FullScreen/BufferStrategyExceptionTest/BufferStrategyExceptionTest.java.i
-data/test/java/net/URLClassLoader/getresourceasstream/Test.java.i
data/test/javax/management/monitor/ReflectionExceptionTest.java.i
data/src/share/classes/sun/reflect/generics/repository/AbstractRepository.java.i
-data/src/share/classes/java/lang/IllegalMonitorStateException.java.i
+data/make/tools/src/build/tools/automulti/README.txt.i
data/make/java/main/java/mapfile-i586.i
data/test/java/util/Currency/tablea1.txt.i
data/src/share/native/sun/security/ec/impl/ecp_256.c.i
data/src/share/classes/javax/sql/StatementEventListener.java.i
data/test/sun/security/provider/PolicyFile/Comparator.Comparator.Policy.i
-data/src/share/native/java/lang/fdlibm/src/e_lgamma_r.c.i
+data/src/share/native/java/lang/fdlibm/src/e_asin.c.i
data/src/share/classes/javax/print/attribute/standard/JobKOctetsSupported.java.i
-data/src/share/classes/sun/tools/jconsole/inspector/XTree.java.i
+data/test/sun/java2d/DirectX/TransformedPaintTest/TransformedPaintTest.java.i
data/test/java/net/URLClassLoader/closetest/serverRoot/Test.java.i
data/make/tools/swing-beans/beaninfo/images/JDesktopPaneColor16.gif.i
data/test/java/util/EnumSet/BogusEnumSet.java.i
data/src/share/classes/java/security/spec/MGF1ParameterSpec.java.i
-data/src/share/classes/com/sun/security/auth/module/UnixSystem.java.i
-data/src/share/classes/javax/smartcardio/package.html.i
-data/src/share/native/java/lang/fdlibm/src/w_hypot.c.i
+data/make/sun/launcher/Makefile.i
+data/test/sun/net/www/protocol/jar/jarbug/src/jar1/GetResource.java.i
+data/test/java/rmi/server/UnicastRemoteObject/unexportObject/UnexportLeak.java.i
+data/src/solaris/classes/sun/awt/X11/XInputMethod.java.i
data/test/java/lang/ClassLoader/deadlock/Alice.java.i
data/test/javax/xml/crypto/dsig/data/signature-x509-sn.xml.i
data/test/javax/sound/midi/Gervill/SoftLinearResampler/Interpolate.java.i
data/test/java/io/StringReader/Skip.java.i
data/test/java/io/PrintStream/OversynchronizedTest.java.i
-data/src/share/classes/javax/swing/plaf/synth/SynthSplitPaneDivider.java.i
+data/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/Open.java.i
data/src/share/classes/sun/management/counter/perf/PerfDataType.java.i
+data/src/share/classes/sun/text/normalizer/NormalizerBase.java.i
data/src/share/classes/java/lang/ClassNotFoundException.java.i
data/test/javax/print/attribute/SupportedPrintableAreas.java.i
+data/src/share/classes/javax/management/modelmbean/package.html.i
data/test/java/nio/Buffer/CopyDirectDoubleMemory.java.i
data/test/com/sun/jdi/CatchCaughtTest.sh.i
data/src/windows/classes/sun/print/services/javax.print.StreamPrintServiceFactory.i
-data/src/share/classes/javax/swing/text/TabStop.java.i
+data/test/java/net/URL/SpecifyHandler.java.i
+data/test/sun/security/provider/PolicyFile/GrantAllPermToExtWhenNoPolicy.java.i
data/src/share/classes/java/nio/channels/CompletionHandler.java.i
data/src/share/classes/sun/awt/VerticalBagLayout.java.i
-data/test/javax/swing/JFileChooser/6868611/bug6868611.java.i
+data/src/share/classes/javax/net/ssl/TrustManagerFactory.java.i
data/src/share/classes/com/sun/script/util/InterfaceImplementor.java.i
data/test/java/lang/Class/forName/classes/comma.class.i
data/src/share/classes/javax/management/modelmbean/ModelMBeanInfoSupport.java.i
+data/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn.java.i
data/test/java/rmi/server/RemoteServer/SetLogNull.java.i
data/test/java/lang/management/MemoryMXBean/MemoryTestAllGC.sh.i
data/src/solaris/native/java/nio/MappedByteBuffer.c.i
data/src/share/classes/sun/tools/tree/LessOrEqualExpression.java.i
-data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java.i
data/src/share/classes/com/sun/tools/jdi/InternalEventHandler.java.i
data/test/com/sun/crypto/provider/Mac/HmacMD5.java.i
data/src/share/native/java/lang/fdlibm/src/e_jn.c.i
data/src/linux/doc/man/ja/wsgen.1.i
data/test/java/beans/XMLEncoder/java_awt_Component.java.i
data/src/share/native/java/util/zip/zlib-1.2.3/patches/inflate.c.diff.i
-data/src/share/classes/com/sun/jmx/snmp/agent/SnmpErrorHandlerAgent.java.i
+data/src/share/classes/sun/jvmstat/monitor/remote/RemoteVm.java.i
data/src/share/sample/nio/file/Chmod.java.i
data/src/share/classes/sun/rmi/server/resources/rmid_it.properties.i
data/src/share/back/inStream.h.i
@@ -6422,36 +6438,37 @@ data/test/java/lang/StringBuffer/GetCharsSrcEndLarger.java.i
data/test/sun/pisces/DashStrokeTest.java.i
data/test/com/sun/jdi/MethodExitReturnValuesTest.java.i
data/src/share/classes/com/sun/crypto/provider/Padding.java.i
-data/src/share/classes/java/security/interfaces/DSAParams.java.i
+data/src/share/native/sun/awt/medialib/mlib_ImageCheck.h.i
data/src/share/native/sun/java2d/loops/IntBgr.c.i
data/src/share/demo/applets/DrawTest/DrawTest.java.i
data/src/share/classes/java/awt/dnd/SerializationTester.java.i
-data/test/java/nio/charset/CharsetEncoder/CanEncode.java.i
data/src/share/classes/java/rmi/ConnectException.java.i
data/make/sun/javazic/tzdata/europe.i
data/src/share/classes/javax/swing/SortingFocusTraversalPolicy.java.i
data/test/javax/management/loading/LibraryLoader/native.jar.i
-data/src/solaris/lib/flavormap.properties.i
data/src/share/back/vm_interface.h.i
-data/src/share/classes/sun/security/x509/CertificateAlgorithmId.java.i
+data/src/share/classes/sun/misc/PerformanceLogger.java.i
data/src/share/demo/jfc/TransparentRuler/transparentruler/Ruler.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthGraphicsUtils.java.i
data/src/solaris/native/sun/tools/attach/SolarisVirtualMachine.c.i
data/src/share/classes/java/awt/package.html.i
-data/src/share/classes/javax/swing/plaf/TreeUI.java.i
+data/test/org/openjdk/jigsaw/cli/prikey.pem.i
+data/test/java/awt/FontClass/CreateFont/DeleteFont.sh.i
data/src/share/classes/javax/management/OrQueryExp.java.i
data/src/share/classes/com/sun/script/javascript/JSAdapter.java.i
data/test/java/util/TreeMap/ContainsValue.java.i
-data/test/java/nio/file/WatchService/grantDirOnly.policy.i
+data/src/share/classes/javax/swing/text/html/parser/DTDConstants.java.i
data/test/java/io/SystemInAvailable.java.i
data/src/share/classes/com/sun/tools/example/doc/jdb.html.i
+data/src/share/classes/com/sun/media/sound/MidiDeviceReceiverEnvelope.java.i
data/test/java/security/cert/CertificateFactory/openssl/open.i
data/src/share/classes/sun/nio/cs/ext/EUC_JP.java.i
data/src/share/classes/java/util/logging/Level.java.i
data/src/share/classes/sun/reflect/NativeConstructorAccessorImpl.java.i
data/src/share/classes/java/awt/geom/IllegalPathStateException.java.i
+data/src/share/classes/com/sun/media/sound/AbstractLine.java.i
data/test/java/util/ResourceBundle/Test4314141B_es_ES.java.i
-data/src/share/classes/org/openjdk/internal/joptsimple/internal/ValueConverter.java.i
+data/test/java/io/Serializable/badSerialPersistentField/BadSerialPersistentField.java.i
data/test/java/lang/ClassLoader/deadlock/Starter.java.i
data/test/java/math/BigInteger/UnicodeConstructor.java.i
data/test/javax/management/namespace/LazyDomainTest.java.i
@@ -6459,10 +6476,9 @@ data/src/share/classes/javax/naming/StringRefAddr.java.i
data/test/javax/swing/text/Utilities/bug7045593.java.i
data/make/sun/security/util/Makefile.i
data/src/share/demo/jvmti/hprof/hprof_ioname.c.i
-data/test/java/awt/Mouse/MouseModifiersUnitTest/ExtraButtonDrag.java.i
+data/test/sun/net/www/protocol/jar/B5105410.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/OriginServer.java.i
data/src/share/classes/com/sun/java/browser/net/ProxyServiceProvider.java.i
-data/test/java/util/jar/JarEntry/test.jar.i
data/test/java/util/ResourceBundle/Bug4168625Resource.java.i
data/test/java/nio/MappedByteBuffer/ZeroMap.java.i
data/src/windows/native/sun/windows/awt_Palette.cpp.i
@@ -6490,54 +6506,54 @@ data/test/java/awt/FileDialog/RegexpFilterTest/RegexpFilterTest.html.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/AbstractPerfDataBuffer.java.i
data/src/share/classes/javax/accessibility/AccessibleExtendedComponent.java.i
data/test/sun/security/pkcs11/fips/ClientJSSEServerJSSE.java.i
+data/test/javax/sound/midi/Gervill/AudioFloatInputStream/Available.java.i
data/src/solaris/classes/sun/awt/X11/XDropTargetProtocol.java.i
data/src/share/classes/java/util/Observable.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_en_ZA.properties.i
data/src/share/classes/sun/security/provider/certpath/AdaptableX509CertSelector.java.i
-data/test/java/nio/channels/AsynchronousChannelGroup/BadProperties.java.i
+data/src/share/native/sun/security/ec/impl/ec2_aff.c.i
data/test/java/lang/Short/Decode.java.i
data/src/share/classes/java/awt/peer/SystemTrayPeer.java.i
data/test/javax/management/remote/mandatory/loading/SingleClassLoader.java.i
data/src/share/classes/javax/crypto/spec/PBEParameterSpec.java.i
-data/test/com/sun/crypto/provider/Cipher/PBE/DecryptWithoutParameters.java.i
+data/test/sun/net/idn/nfscss.spp.i
data/test/java/io/Serializable/evolution/AddedField/run.i
data/test/java/net/URL/TestIPv6Addresses.java.i
-data/test/javax/management/remote/mandatory/connectorServer/ConnectorStopDeadlockTest.java.i
-data/src/share/classes/sun/io/ByteToCharDBCS_ASCII.java.i
+data/test/java/lang/Character/Scripts.txt.i
data/src/share/classes/javax/swing/plaf/metal/sounds/FrameMaximize.wav.i
data/make/netbeans/common/java-data-no-native.ent.i
data/src/share/native/sun/awt/giflib/gifalloc.c.i
data/src/share/classes/sun/awt/image/GifImageDecoder.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/utils/HasPath.java.i
-data/src/windows/native/com/sun/management/OperatingSystem_md.c.i
data/src/share/demo/java2d/J2DBench/src/j2dbench/Destinations.java.i
data/src/share/native/sun/awt/image/cvutils/img_output24.h.i
data/src/share/classes/sun/io/ByteToCharMacRoman.java.i
data/src/share/classes/com/sun/crypto/provider/ai.java.i
-data/src/share/classes/sun/reflect/generics/repository/GenericDeclRepository.java.i
+data/src/share/classes/java/awt/MultipleGradientPaint.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_ar_BH.properties.i
data/src/share/classes/sun/io/CharToByteCp284.java.i
-data/test/java/net/Socket/asyncClose/DatagramSocket_receive.java.i
+data/src/windows/classes/sun/nio/ch/PipeImpl.java.i
data/test/java/io/Serializable/enum/basic/Test.java.i
data/src/windows/classes/sun/security/mscapi/PRNG.java.i
data/test/java/lang/Class/getEnclosingClass/T4992170.java.i
data/src/share/classes/sun/io/CharToByteCp1256.java.i
-data/test/java/text/BreakIterator/ExceptionTest.java.i
+data/src/share/classes/java/text/spi/NumberFormatProvider.java.i
+data/src/share/classes/java/awt/image/BufferedImage.java.i
data/src/share/classes/sun/net/www/protocol/file/FileURLConnection.java.i
data/src/solaris/back/proc_md.h.i
-data/src/share/classes/sun/util/resources/CalendarData_es_US.properties.i
+data/test/java/awt/Focus/CloseDialogActivateOwnerTest/CloseDialogActivateOwnerTest.java.i
data/src/share/classes/javax/swing/text/Position.java.i
data/src/solaris/classes/sun/nio/ch/SctpSocketDispatcher.java.i
-data/src/share/classes/sun/net/httpserver/HttpContextImpl.java.i
+data/src/share/classes/sun/java2d/pipe/hw/BufferedContextProvider.java.i
data/src/share/classes/javax/swing/plaf/synth/ParsedSynthStyle.java.i
data/src/share/classes/sun/security/ssl/KerberosPreMasterSecret.java.i
data/src/share/classes/java/security/Identity.java.i
data/make/tools/src/build/tools/jdwpgen/TaggedObjectTypeNode.java.i
data/test/java/io/readBytes/MemoryLeak.java.i
-data/make/sun/motif12/reorder-i586.i
data/src/solaris/classes/java/io/FileDescriptor.java.i
data/test/java/io/Serializable/defaulted/GetFieldRead.java.i
data/test/java/util/Currency/PropertiesTest.java.i
-data/src/share/classes/sun/reflect/UnsafeQualifiedObjectFieldAccessorImpl.java.i
+data/test/com/sun/jdi/ExclusiveBind.java.i
data/src/share/classes/java/awt/geom/RoundRectIterator.java.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/PerfByteArrayMonitor.java.i
data/test/javax/security/auth/x500/X500Principal/OIDMap.java.i
@@ -6548,7 +6564,7 @@ data/src/share/classes/javax/crypto/spec/SecretKeySpec.java.i
data/src/share/classes/org/openjdk/jigsaw/ModuleFileWriter.java.i
data/src/share/demo/nbproject/jfc/FileChooserDemo/nbproject/file-targets.xml.i
data/src/share/classes/sun/jkernel/StandaloneMessageDigest.java.i
-data/src/windows/native/sun/windows/awt_KeyEvent.cpp.i
+data/src/share/classes/com/sun/beans/decoder/FieldElementHandler.java.i
data/src/share/native/sun/awt/libpng/png.c.i
data/test/java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java.i
data/src/share/classes/sun/nio/cs/ext/IBM921.java.i
@@ -6556,33 +6572,32 @@ data/src/share/classes/java/nio/file/ClosedFileSystemException.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/icons/image-failed.png.i
data/src/solaris/classes/sun/awt/motif/X11Johab.java.i
data/src/share/classes/javax/swing/text/Style.java.i
-data/make/mkdemo/management/MemoryMonitor/Makefile.i
data/test/java/net/Socks/SocksServer.java.i
data/test/sun/security/smartcardio/apdu.log.i
data/src/share/classes/java/util/logging/Logger.java.i
data/src/share/classes/sun/audio/AudioDevice.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalScrollButton.java.i
-data/src/share/classes/javax/swing/JLayeredPane.java.i
+data/src/share/classes/javax/management/AttributeChangeNotification.java.i
data/src/share/classes/java/util/Currency.java.i
+data/src/share/classes/javax/accessibility/AccessibleRole.java.i
data/src/share/classes/sun/security/pkcs11/P11Cipher.java.i
-data/test/java/awt/font/FontNames/LocaleFamilyNames.java.i
+data/src/share/classes/javax/swing/event/MenuEvent.java.i
data/src/share/classes/sun/text/resources/FormatData_ar_SY.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_sl_SI.properties.i
data/src/share/classes/com/sun/jmx/mbeanserver/ClassLoaderRepositorySupport.java.i
+data/src/share/classes/sun/tools/jinfo/JInfo.java.i
data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/CheckStatus.java.i
data/src/share/classes/javax/swing/colorchooser/DefaultRGBChooserPanel.java.i
data/src/share/native/java/lang/fdlibm/src/e_rem_pio2.c.i
data/src/share/native/sun/security/ec/impl/ecl-exp.h.i
data/src/share/classes/com/sun/jndi/dns/DnsUrl.java.i
-data/src/share/classes/sun/tools/tree/Context.java.i
-data/src/share/classes/sun/security/util/Resources_ko.java.i
-data/test/java/rmi/registry/checkusage/CheckUsage.java.i
+data/test/java/nio/channels/Selector/TemporarySelector.java.i
+data/test/java/util/Formatter/Basic.sh.i
+data/src/share/classes/sun/jvmstat/monitor/MonitoredVmUtil.java.i
data/src/share/classes/sun/dyn/Invokers.java.i
data/src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java.i
-data/src/share/classes/sun/io/CharToByteCp1025.java.i
data/src/share/classes/javax/swing/plaf/UIResource.java.i
data/src/share/classes/sun/management/counter/AbstractCounter.java.i
-data/src/share/classes/com/sun/jmx/snmp/IPAcl/README.update.i
data/make/sun/javazic/javatz/java_11_ids.txt.i
data/test/java/lang/instrument/BootClassPath/Cleanup.java.i
data/src/share/demo/jvmti/compiledMethodLoad/sample.makefile.txt.i
@@ -6591,27 +6606,28 @@ data/test/com/sun/jdi/TargetAdapter.java.i
data/test/javax/script/Test1.js.i
data/test/com/sun/tools/attach/ProviderTests.sh.i
data/src/share/classes/java/io/DataOutputStream.java.i
+data/src/share/lib/images/cursors/motif_MoveDrop32x32.gif.i
data/src/share/classes/com/sun/nio/sctp/IllegalUnbindException.java.i
data/src/share/classes/java/security/KeyPair.java.i
data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/TunnelProxy.java.i
data/src/share/classes/javax/swing/doc-files/groupLayout.sequential.gif.i
-data/make/common/Rules-SCCS.gmk.i
+data/src/solaris/classes/sun/nio/ch/PollSelectorImpl.java.i
data/src/share/classes/sun/tools/jmap/JMap.java.i
data/src/share/classes/com/sun/tools/example/debug/bdi/WatchpointSpec.java.i
-data/test/javax/security/auth/login/LoginContext/ConfigConstructorNoPerm.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/UnsyncBufferedOutputStream.java.i
data/make/tools/CharsetMapping/IBM278.c2b.i
-data/src/solaris/native/sun/awt/awt_motif21.c.i
+data/src/share/instrument/JarFacade.c.i
data/make/java/management/mapfile-vers.i
+data/test/java/nio/file/Files/walkFileTree/WalkWithSecurity.java.i
data/src/share/classes/javax/management/StringValueExp.java.i
data/src/share/classes/sun/tools/jconsole/Worker.java.i
data/src/share/classes/javax/swing/colorchooser/DefaultPreviewPanel.java.i
data/src/share/back/JDWP.h.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java.i
-data/test/java/awt/Menu/NullMenuLabelTest/NullMenuLabelTest.java.i
-data/test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorIntermediate.java.i
+data/src/windows/native/sun/windows/awt_Win32GraphicsDevice.h.i
data/src/share/classes/javax/imageio/spi/package.html.i
data/src/share/classes/sun/management/snmp/util/JvmContextFactory.java.i
-data/test/demo/jvmti/hprof/CpuTimesDefineClassTest.java.i
+data/src/share/classes/sun/management/Util.java.i
data/src/share/classes/com/sun/jndi/ldap/pool/Connections.java.i
data/test/java/util/jar/JarFile/bogus-signerinfo-attr.jar.i
data/src/share/classes/javax/swing/plaf/synth/SynthRadioButtonUI.java.i
@@ -6621,8 +6637,10 @@ data/test/sun/security/pkcs11/KeyStore/BasicData/p11-nss.txt.i
data/src/share/classes/javax/swing/text/doc-files/View-flexibility.jpg.i
data/test/com/sun/management/ThreadMXBean/ThreadCpuTimeArray.java.i
data/src/share/classes/javax/swing/event/MouseInputListener.java.i
-data/test/com/sun/net/httpserver/bugs/6725892/Test.java.i
+data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIState.java.i
data/src/solaris/doc/sun/man/man1/jps.1.i
+data/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java.i
+data/src/share/classes/sun/management/Agent.java.i
data/src/share/classes/javax/print/attribute/standard/SheetCollate.java.i
data/test/sun/security/pkcs11/Provider/Absolute.cfg.i
data/test/sun/management/jmxremote/bootstrap/RmiRegistrySslTest.java.i
@@ -6633,118 +6651,123 @@ data/test/java/lang/reflect/Method/Equals.java.i
data/test/java/nio/charset/Charset/Contains.java.i
data/src/share/classes/java/awt/Insets.java.i
data/test/com/sun/jdi/AccessSpecifierTest.java.i
-data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextTests.java.i
+data/src/share/classes/sun/swing/plaf/synth/SynthUI.java.i
+data/test/java/rmi/reliability/benchmark/bench/rmi/config.i
data/src/share/classes/sun/tools/asm/Cover.java.i
data/src/share/classes/java/dyn/Switcher.java.i
data/src/share/classes/javax/sql/rowset/spi/SyncFactory.java.i
data/src/share/classes/java/awt/FocusTraversalPolicy.java.i
+data/src/share/classes/com/sun/media/sound/SoftLinearResampler.java.i
data/test/java/lang/reflect/Proxy/NullClassLoader.java.i
data/test/java/nio/channels/AsynchronousFileChannel/Basic.java.i
-data/src/share/classes/java/util/jar/JarOutputStream.java.i
+data/test/javax/naming/spi/DirectoryManager/DummyContext.java.i
data/src/share/classes/sun/nio/cs/ext/IBM1381.java.i
data/src/share/classes/com/sun/jmx/namespace/serial/JMXNamespaceContext.java.i
-data/src/share/native/sun/security/pkcs11/wrapper/pkcs-11v2-20a3.h.i
+data/src/share/classes/sun/tools/jconsole/manifest.i
data/src/solaris/hpi/native_threads/src/threads_solaris.c.i
data/test/com/sun/jdi/CountEvent.java.i
data/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkReset.java.i
-data/src/share/classes/com/sun/jmx/mbeanserver/DescriptorCache.java.i
-data/test/javax/swing/plaf/synth/7032791/bug7032791.java.i
-data/src/share/native/sun/awt/medialib/mlib.h.i
+data/src/share/classes/sun/reflect/MethodAccessor.java.i
+data/src/share/classes/java/util/concurrent/ForkJoinTask.java.i
+data/src/share/native/sun/java2d/loops/IntDcm.h.i
+data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputImageTests.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/ProxyAuthTest.java.i
-data/test/sun/security/pkcs11/nss/lib/solaris-sparc/libfreebl_hybrid_3.chk.i
+data/src/share/classes/java/sql/DataTruncation.java.i
data/src/share/classes/com/sun/naming/internal/FactoryEnumeration.java.i
data/src/solaris/classes/sun/awt/motif/MInputMethodControl.java.i
data/src/share/native/sun/awt/image/cvutils/img_input8_32.h.i
-data/make/tools/swing-beans/beaninfo/images/JToggleButtonColor32.gif.i
+data/src/share/classes/com/sun/tools/hat/internal/model/ReferenceChain.java.i
data/src/share/classes/sun/java2d/pipe/AATextRenderer.java.i
-data/test/java/awt/font/TextLayout/TestTibetan.java.i
+data/test/java/net/CookieHandler/NullUriCookieTest.java.i
data/src/share/native/sun/security/ec/impl/ecl.c.i
data/test/sun/management/jmxremote/bootstrap/TestApplication.java.i
data/src/windows/classes/sun/nio/ch/SocketDispatcher.java.i
data/src/share/classes/javax/xml/crypto/dsig/spec/DigestMethodParameterSpec.java.i
data/test/java/util/TimSort/ArrayBuilder.java.i
+data/src/share/classes/sun/applet/AppletEvent.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/CanonicalizerSpi.java.i
+data/test/java/lang/instrument/RedefineSetUp.sh.i
data/src/share/classes/sun/io/ByteToCharCp870.java.i
+data/src/share/classes/java/awt/font/ShapeGraphicAttribute.java.i
data/test/java/io/PushbackReader/Skip.java.i
data/src/share/classes/sun/util/resources/TimeZoneNames_zh_HK.java.i
-data/test/com/sun/jndi/cosnaming/CNNameParser.java.i
+data/src/share/classes/sun/management/counter/perf/ByteArrayCounterSnapshot.java.i
data/src/share/classes/sun/management/counter/perf/PerfLongArrayCounter.java.i
data/src/share/classes/sun/util/logging/LoggingProxy.java.i
+data/test/java/lang/ClassLoader/Assert.java.i
data/make/tools/CharsetMapping/IBM933.c2b.i
data/test/java/lang/reflect/Proxy/CharType.java.i
-data/test/javax/management/remote/mandatory/passwordAccessFile/access.properties.i
+data/src/share/classes/com/sun/jmx/remote/internal/package.html.i
data/test/sun/net/www/httptest/HttpTransaction.java.i
data/src/share/classes/com/sun/tools/example/debug/expr/LValue.java.i
-data/src/share/classes/sun/nio/cs/ext/IBM424.java.i
-data/src/share/classes/sun/util/resources/CurrencyNames_fr_CA.properties.i
+data/test/org/openjdk/jigsaw/remrepo.sh.i
+data/test/java/io/Reader/OpsAfterClose.java.i
data/test/sun/text/resources/Format/Bug4685470.java.i
data/src/share/classes/java/dyn/MutableCallSite.java.i
-data/src/linux/doc/man/jinfo.1.i
-data/test/java/text/Format/DateFormat/Bug6683975.java.i
+data/src/solaris/doc/sun/man/man1/native2ascii.1.i
+data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/file/package.html.i
data/test/java/beans/Introspector/Test4168833.java.i
-data/test/sun/management/jmxremote/bootstrap/management_ssltest13_ko.properties.in.i
-data/src/share/classes/java/awt/AlphaComposite.java.i
+data/test/java/lang/Class/getEnclosingMethod/EnclosingMethodTests.java.i
data/test/java/util/Locale/LocaleTestFmwk.java.i
data/src/share/classes/sun/misc/resources/Messages_ja.java.i
data/src/share/classes/java/lang/doc-files/chi.gif.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/signature/NodeFilter.java.i
data/test/sun/security/pkcs11/Secmod/AddPrivateKey.java.i
+data/test/java/net/URLConnection/xml/xml3.i
data/test/javax/rmi/ssl/SocketFactoryTest.java.i
-data/test/javax/management/MBeanServer/PostRegisterDeadlockTest2.java.i
-data/make/tools/CharsetMapping/IBM930.nr.i
data/src/solaris/sample/dtrace/hotspot/hotspot_calls_tree.d.i
-data/make/netbeans/common/standard-bindings.ent.i
-data/test/javax/sound/midi/Gervill/ModelPerformer/SetVelTo.java.i
+data/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java.i
data/src/share/classes/sun/security/rsa/SunRsaSignEntries.java.i
data/src/share/classes/com/sun/jndi/ldap/Connection.java.i
-data/src/share/native/sun/font/layout/MarkToBasePosnSubtables.h.i
+data/src/share/native/sun/security/ec/ecp_521.c.i
data/src/share/classes/sun/security/provider/Sun.java.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/icons/ListView.gif.i
data/src/windows/native/sun/windows/ObjectList.cpp.i
data/src/share/classes/sun/security/jgss/krb5/Krb5Context.java.i
data/test/sun/management/HotspotClassLoadingMBean/ClassToLoad0.java.i
data/test/java/beans/XMLEncoder/javax_swing_DefaultCellEditor.java.i
-data/src/share/classes/javax/management/Query.java.i
+data/src/share/lib/security/java.policy.i
data/test/javax/management/descriptor/SerializedInfo.java.i
-data/test/java/awt/Toolkit/AutoShutdown/ShowExitTest/ShowExitTest.sh.i
-data/test/javax/management/modelmbean/AddAttributeChangeNotificationListenerTest.java.i
-data/src/share/classes/com/sun/tools/script/shell/Main.java.i
-data/test/sun/security/pkcs/EncryptedPrivateKeyInfo/EncryptedPKInfoEqualsHashCode.java.i
+data/test/java/util/EnumSet/AllOf.java.i
+data/src/share/classes/javax/accessibility/Accessible.java.i
+data/make/com/oracle/security/ucrypto/FILES_c.gmk.i
+data/src/share/classes/sun/font/CoreMetrics.java.i
data/test/java/nio/channels/SocketChannel/Open.java.i
data/make/tools/classanalyzer/src/com/sun/classanalyzer/JigsawModuleBuilder.java.i
data/test/javax/management/descriptor/DefaultDescriptorTest.java.i
-data/src/share/classes/java/awt/geom/QuadIterator.java.i
-data/src/share/classes/com/sun/imageio/plugins/gif/GIFMetadata.java.i
-data/src/share/classes/com/sun/java/browser/net/ProxyInfo.java.i
+data/src/share/classes/sun/security/acl/OwnerImpl.java.i
+data/src/share/classes/javax/swing/plaf/metal/MetalToggleButtonUI.java.i
data/src/share/classes/sun/print/PeekGraphics.java.i
data/test/javax/management/mxbean/customtypes/CustomLongMXBean.java.i
data/test/com/sun/org/apache/xml/internal/security/signature-enveloping-hmac-sha1-trunclen-0-attack.xml.i
-data/src/windows/native/sun/jkernel/DownloadDialog.h.i
+data/src/share/classes/sun/text/resources/FormatData_es_NI.java.i
data/src/windows/native/sun/java2d/d3d/D3DMaskFill.h.i
-data/test/javax/management/namespace/SourceNamespaceTest.java.i
+data/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java.i
+data/src/solaris/classes/sun/awt/X11/XDragSourceProtocol.java.i
data/src/share/classes/com/sun/tools/example/debug/bdi/ThreadInfo.java.i
-data/src/share/classes/com/sun/media/sound/services/javax.sound.sampled.spi.AudioFileWriter.i
-data/make/tools/swing-beans/beaninfo/images/JRootPaneMono32.gif.i
+data/test/tools/pack200/pack200-verifier/src/sun/tools/pack/verify/Main.java.i
+data/test/sun/security/tools/keytool/file-in-help.sh.i
+data/test/java/rmi/reliability/benchmark/bench/rmi/manifest.i
data/src/share/classes/sun/dyn/MethodTypeImpl.java.i
data/test/javax/print/applet/applet2/Applet2PrintService.java.i
-data/src/share/classes/sun/text/resources/FormatData_ga_IE.java.i
-data/src/share/classes/sun/rmi/server/resources/rmid_zh_CN.properties.i
+data/src/share/classes/java/security/CryptoPrimitive.java.i
data/test/java/util/WeakHashMap/Iteration.java.i
data/src/share/classes/com/sun/imageio/plugins/gif/GIFImageMetadataFormatResources.java.i
data/src/share/classes/com/sun/java/browser/dom/DOMAccessor.java.i
-data/test/java/nio/file/Files/walkFileTree/walk_file_tree.sh.i
+data/test/java/lang/ThreadLocal/TLRemoveTest.java.i
data/test/java/io/pathNames/win32/DriveOnly.java.i
-data/make/com/sun/security/sasl/Makefile.i
+data/src/share/classes/com/sun/jdi/request/MonitorContendedEnteredRequest.java.i
data/test/com/sun/net/httpserver/Test9a.java.i
-data/src/share/demo/jvmti/gctest/README.txt.i
+data/test/java/beans/XMLEncoder/javax_swing_plaf_BorderUIResource_MatteBorderUIResource.java.i
data/src/share/classes/sun/security/x509/CertException.java.i
data/src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties.i
data/test/sun/management/jmxremote/bootstrap/management_test05_ko.properties.in.i
-data/src/share/classes/com/sun/pept/presentation/MessageStruct.java.i
data/src/solaris/npt/utf_md.c.i
data/test/javax/management/Introspector/DescribedMXBean.java.i
data/src/share/classes/com/sun/rowset/internal/InsertRow.java.i
-data/make/tools/CharsetMapping/IBM937.c2b.i
-data/make/netbeans/awt2d/nbproject/project.xml.i
-data/test/java/util/LinkedList/Clone.java.i
+data/src/share/native/java/lang/fdlibm/src/e_pow.c.i
+data/src/share/classes/sun/text/resources/FormatData_sr_CS.java.i
+data/test/java/util/zip/ZipFile/ManyZipFiles.java.i
data/src/share/classes/org/relaxng/datatype/DatatypeLibraryFactory.java.i
data/test/sun/rmi/rmic/newrmic/equivalence/Server.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_in_ID.properties.i
@@ -6753,142 +6776,142 @@ data/src/share/classes/sun/management/VMOptionCompositeData.java.i
data/src/windows/instrument/EncodingSupport_md.c.i
data/test/java/io/InputStream/ReadParams.java.i
data/test/java/net/ProxySelector/B6563259.java.i
-data/test/tools/launcher/lib/sparc/lib32/lib32/liblibrary.so.i
+data/test/java/lang/ThreadGroup/NullThreadName.java.i
data/test/java/nio/channels/Selector/SelectorLimit.java.i
data/src/windows/native/java/net/Inet4AddressImpl.c.i
-data/test/javax/print/applet/applet2/META-INF/services/javax.print.PrintServiceLookup.i
-data/test/java/beans/XMLEncoder/EnumPrivate.java.i
data/src/share/classes/java/awt/FileDialog.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ResourceResolverSpi.java.i
-data/src/share/classes/java/security/URIParameter.java.i
data/test/java/beans/PropertyEditor/TestShortClassValue.java.i
-data/test/java/rmi/server/RMIClassLoader/loadProxyClasses/NonpublicInterface1.java.i
+data/src/share/classes/com/sun/jmx/snmp/agent/SnmpStandardObjectServer.java.i
data/make/sun/javazic/javatz/fullset.txt.i
+data/src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.c.i
data/src/share/classes/java/lang/ThreadDeath.java.i
data/src/share/classes/com/sun/tracing/package-info.java.i
data/test/sun/tools/jmap/Basic.sh.i
data/src/share/classes/java/lang/Runnable.java.i
data/make/tools/CharsetMapping/ISO_8859_9.map.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.policy.i
data/test/java/lang/Class/forName/InvalidNameWithSlash.java.i
data/src/share/classes/com/sun/java/util/jar/pack/Constants.java.i
-data/test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticOptions.java.i
+data/test/java/io/Serializable/class/run.sh.i
+data/test/java/util/Locale/serialized/java6locale_ROOT.i
data/src/solaris/hpi/src/system_md.c.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageConvCopyEdge.c.i
data/src/share/classes/java/awt/Window.java.i
data/src/share/classes/sun/security/provider/DSAPublicKeyImpl.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/package.html.i
-data/src/share/classes/com/sun/jarsigner/ContentSigner.java.i
+data/test/java/nio/channels/FileChannel/AtomicAppend.java.i
data/src/share/classes/java/lang/String.java.i
data/test/sun/tools/native2ascii/resources/ImmutableResourceTest.java.i
data/test/java/lang/instrument/RedefineMethodAddInvoke.sh.i
-data/src/share/classes/javax/swing/event/MenuListener.java.i
data/test/javax/sound/midi/Gervill/RiffReaderWriter/GetFilePointer.java.i
data/src/share/native/sun/java2d/loops/ProcessPath.h.i
data/src/share/classes/sun/misc/REException.java.i
data/test/java/rmi/transport/checkLeaseInfoLeak/LeaseLeakClient.java.i
data/src/share/classes/com/sun/jmx/remote/security/MBeanServerAccessController.java.i
data/test/sun/security/provider/KeyStore/CaseSensitiveAliases.java.i
-data/test/java/util/jar/JarInputStream/EmptyJar.java.i
-data/src/share/lib/security/java.security-solaris.i
+data/make/tools/CharsetMapping/MS1250.map.i
data/src/share/classes/javax/accessibility/AccessibleTableModelChange.java.i
data/src/share/classes/sun/awt/SunToolkit.java.i
-data/src/share/classes/sun/text/resources/FormatData_es_CO.java.i
+data/src/share/classes/org/openjdk/internal/joptsimple/OptionParserState.java.i
data/src/share/classes/java/lang/doc-files/javalang.doc.anc40.gif.i
data/test/javax/crypto/EncryptedPrivateKeyInfo/GetKeySpecException2.java.i
data/src/share/classes/java/nio/X-Buffer.java.template.i
data/test/java/text/Bidi/Bug6665028.java.i
-data/src/share/classes/com/sun/tools/example/debug/tty/ThreadGroupIterator.java.i
+data/src/share/classes/javax/swing/tree/VariableHeightLayoutCache.java.i
+data/test/sun/security/provider/PolicyParser/ExtDirsB.java.i
data/test/sun/nio/cs/TestJIS0212Decoder.java.i
data/src/share/classes/sun/util/resources/CalendarData_sk.properties.i
-data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/MonitoredHostProvider.java.i
data/src/share/classes/sun/net/ProgressSource.java.i
-data/test/java/util/logging/ParentLoggersTest.java.i
+data/src/windows/native/sun/windows/awt_PrintJob.cpp.i
data/src/share/classes/sun/management/snmp/jvminstr/NotificationTargetImpl.java.i
data/make/tools/swing-beans/beaninfo/images/JTabbedPaneMono16.gif.i
+data/src/share/classes/javax/swing/event/ListDataListener.java.i
data/src/share/classes/java/awt/image/PackedColorModel.java.i
data/src/solaris/doc/sun/man/man1/ja/java.1.i
+data/test/javax/sound/midi/Gervill/SimpleSoundbank/AddResource.java.i
data/src/windows/classes/sun/tools/attach/WindowsVirtualMachine.java.i
data/test/java/beans/VetoableChangeSupport/1.5.0_10.ser.i
data/src/share/classes/sun/management/GarbageCollectorImpl.java.i
-data/src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_es_PE.properties.i
data/src/share/native/sun/font/layout/TibetanLayoutEngine.cpp.i
data/src/share/native/sun/security/ec/ec2.h.i
-data/src/share/demo/nbproject/jfc/TableExample/nbproject/netbeans-targets.xml.i
+data/src/windows/native/sun/windows/awt_Panel.h.i
data/test/java/util/concurrent/BlockingQueue/LastElement.java.i
+data/src/share/classes/sun/java2d/SunGraphics2D.java.i
data/test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/ShutdownMonitor.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/UnsyncByteArrayOutputStream.java.i
-data/test/java/nio/channels/SocketChannel/OutOfBand.java.i
+data/src/share/classes/javax/swing/plaf/metal/icons/Question.gif.i
data/src/linux/doc/man/jvisualvm.1.i
data/test/sun/security/krb5/auto/BadKdc1.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmMemPoolEntryMBean.java.i
data/src/share/classes/sun/nio/cs/ext/IBM1147.java.i
-data/src/share/classes/javax/swing/text/JTextComponent.java.i
+data/src/share/classes/java/text/RuleBasedCollator.java.i
data/make/tools/src/build/tools/jdwpgen/AbstractGroupNode.java.i
-data/test/sun/security/jgss/CtorTests2.java.i
-data/src/share/classes/sun/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_ar_TN.properties.i
+data/src/share/classes/com/sun/security/jgss/jgss-overview.html.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifSliderUI.java.i
-data/src/share/classes/javax/imageio/ImageWriteParam.java.i
-data/test/java/rmi/activation/Activatable/checkActivateRef/ActivateMe.java.i
-data/make/tools/swing-beans/beaninfo/images/JFrameMono16.gif.i
+data/src/share/classes/sun/nio/cs/UTF_32LE.java.i
+data/src/share/classes/sun/text/resources/FormatData_fi.java.i
data/test/java/awt/Mouse/MaximizedFrameTest/MaximizedFrameTest.html.i
data/test/java/nio/file/Files/CheckPermissions.java.i
data/test/java/awt/im/JTextFieldTest.java.i
+data/src/share/classes/sun/security/krb5/internal/AuthContext.java.i
data/src/share/classes/java/nio/channels/spi/AbstractInterruptibleChannel.java.i
data/src/share/classes/javax/crypto/KeyAgreementSpi.java.i
data/src/share/classes/sun/tools/jconsole/BorderedComponent.java.i
+data/src/share/classes/java/beans/AppletInitializer.java.i
data/test/java/awt/event/InputEvent/ButtonArraysEquality/ButtonArraysEquality.java.i
data/src/share/classes/java/nio/charset/CoderResult.java.i
data/src/solaris/hpi/export/io_md.h.i
data/test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup_Stub.java.i
-data/src/share/native/sun/font/layout/ArabicLayoutEngine.cpp.i
-data/src/share/classes/java/awt/GraphicsEnvironment.java.i
+data/test/sun/nio/cs/OLD/DBCS_IBM_EBCDIC_Decoder.java.i
data/test/java/rmi/activation/ActivationSystem/unregisterGroup/CallbackInterface.java.i
data/test/java/security/UnresolvedPermission/Equals.java.i
-data/src/share/classes/java/lang/management/package.html.i
+data/test/com/sun/crypto/provider/Cipher/KeyWrap/NISTWrapKAT.java.i
data/make/tools/CharsetMapping/MS932.nr.i
data/src/share/classes/sun/security/x509/InvalidityDateExtension.java.i
data/src/share/classes/java/text/RBTableBuilder.java.i
data/src/share/classes/com/sun/jmx/remote/security/MBeanServerFileAccessController.java.i
-data/src/share/classes/sun/awt/image/ImageFetcher.java.i
-data/src/share/classes/sun/security/tools/JarSignerResources_ja.java.i
+data/test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh.i
+data/test/java/rmi/registry/readTest/readTest.java.i
+data/src/share/classes/com/sun/naming/internal/NamedWeakReference.java.i
data/src/windows/native/sun/windows/awt_FileDialog.cpp.i
data/src/share/classes/com/sun/rowset/RowSetResourceBundle.properties.i
-data/src/share/classes/com/sun/imageio/plugins/common/PaletteBuilder.java.i
+data/src/solaris/native/sun/awt/sun_awt_X11_GtkFileDialogPeer.h.i
data/src/windows/native/java/net/SocketOutputStream.c.i
data/src/share/classes/sun/security/krb5/internal/KRBError.java.i
-data/src/share/classes/sun/security/util/ByteArrayLexOrder.java.i
+data/src/share/classes/com/sun/jarsigner/ContentSigner.java.i
data/src/share/classes/sun/util/resources/LocaleNames_be.properties.i
-data/src/share/classes/com/sun/jmx/remote/util/ClassLoaderWithRepository.java.i
+data/test/java/rmi/activation/Activatable/elucidateNoSuchMethod/rmid.security.policy.i
+data/test/sun/management/jmxremote/bootstrap/jmxremote_ssltest12_ok.ssl.in.i
data/src/share/classes/java/net/SocksConsts.java.i
data/test/com/sun/jdi/WatchFramePop.sh.i
-data/make/mkdemo/applets/SpreadSheet/Makefile.i
-data/src/share/classes/javax/management/remote/JMXPrincipal.java.i
+data/src/solaris/classes/sun/awt/X11/XException.java.i
data/test/sun/tools/jstat/gcNewOutput1.awk.i
data/src/share/classes/com/sun/net/ssl/X509TrustManager.java.i
data/make/tools/src/build/tools/charsetmapping/SBCS.java.i
-data/test/com/sun/net/httpserver/Test13.java.i
-data/test/sun/misc/Cleaner/ExitOnThrow.java.i
+data/src/share/classes/java/awt/peer/TrayIconPeer.java.i
+data/src/solaris/native/java/net/linux_close.c.i
data/src/solaris/sample/dtrace/README.txt.i
-data/test/com/sun/servicetag/FindServiceTags.java.i
-data/src/share/classes/sun/io/CharToByteUnicodeBig.java.i
+data/src/solaris/classes/sun/java2d/xr/XRBackend.java.i
+data/test/java/util/PluggableLocale/providersrc/CollatorProviderImpl.java.i
data/src/share/classes/sun/audio/NativeAudioStream.java.i
-data/src/share/native/sun/awt/image/cvutils/README.i
-data/src/share/classes/sun/security/tools/KeyStoreUtil.java.i
+data/src/share/classes/javax/print/FlavorException.java.i
data/test/sun/security/pkcs11/KeyStore/Basic.java.i
data/src/share/classes/javax/naming/directory/Attribute.java.i
data/test/java/awt/event/KeyEvent/KeyTyped/CtrlASCII.java.i
-data/src/share/instrument/Reentrancy.h.i
-data/test/java/beans/XMLEncoder/6777487/TestCheckedCollection.java.i
-data/src/share/demo/nbproject/jfc/SwingApplet/nbproject/netbeans-targets.xml.i
+data/make/tools/swing-beans/beaninfo/images/JToolBarColor16.gif.i
+data/test/sun/net/www/protocol/http/UserCookie.java.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/GTKColorChooserPanel.java.i
-data/test/sun/java2d/XRenderBlitsTest.java.i
+data/src/share/classes/sun/tools/jar/JarException.java.i
data/test/sun/nio/cs/TestSJIS0213.java.i
-data/src/share/classes/sun/util/resources/CalendarData_vi.properties.i
-data/src/share/classes/java/lang/InstantiationException.java.i
+data/src/share/classes/sun/text/resources/FormatData_fr_BE.java.i
+data/make/netbeans/common/windows-sources.ent.i
data/test/java/lang/ClassLoader/findSystemClass/Loadee.resource.i
data/src/windows/classes/sun/java2d/windows/Win32SurfaceData.java.i
data/src/share/classes/sun/security/jgss/wrapper/GSSNameElement.java.i
-data/src/share/classes/sun/awt/image/OffScreenImageSource.java.i
+data/src/share/classes/java/nio/file/CopyMoveHelper.java.i
data/src/share/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/ScanDirConfigTest.java.i
data/src/share/native/sun/font/layout/LEInsertionList.cpp.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/SingleCertificateResolver.java.i
@@ -6898,240 +6921,241 @@ data/src/solaris/doc/sun/man/man1/ja/xjc.1.i
data/src/share/classes/java/nio/file/FileAction.java.i
data/src/share/classes/sun/tools/jar/resources/jar_zh_CN.properties.i
data/test/java/io/Serializable/classDescHooks/Foo.ser.i
-data/src/share/classes/com/sun/security/jgss/GSSUtil.java.i
+data/src/share/native/sun/font/layout/StateTableProcessor.cpp.i
data/make/netbeans/swing/build.xml.i
-data/src/share/classes/javax/swing/event/ListDataListener.java.i
+data/src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java.i
data/test/java/util/TimeZone/ListTimeZones.java.i
data/src/solaris/native/sun/awt/awt_DrawingSurface.c.i
data/src/share/classes/java/text/CharacterIteratorFieldDelegate.java.i
-data/src/share/demo/scripting/jconsole-plugin/src/scripts/verbose.js.i
-data/src/solaris/classes/sun/awt/X11/UnsafeXDisposerRecord.java.i
-data/src/share/classes/sun/text/normalizer/Utility.java.i
+data/src/share/classes/javax/management/openmbean/TabularType.java.i
+data/test/com/sun/crypto/provider/Cipher/RSA/TestOAEP_KAT.java.i
+data/src/share/classes/javax/swing/plaf/synth/doc-files/synthFileFormat.html.i
data/test/tools/launcher/UnicodeTest.jar.i
data/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Enable.java.i
data/src/windows/classes/sun/awt/windows/WCanvasPeer.java.i
data/test/java/io/pathNames/General.java.i
-data/test/java/net/ipv6tests/UdpTest.java.i
+data/src/share/classes/com/sun/java/util/jar/pack/Package.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_es.properties.i
data/src/share/classes/sun/security/krb5/ServiceName.java.i
-data/src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java.i
-data/test/java/beans/Beans/Test4080522.java.i
-data/test/java/beans/PropertyEditor/TestIntegerClassNull.java.i
+data/test/sun/tools/jstat/jstatSnap2.sh.i
+data/src/windows/native/sun/windows/awt_Win32GraphicsConfig.h.i
+data/test/sun/security/x509/AVA/AVAEqualsHashCode.java.i
data/src/share/classes/sun/util/LocaleServiceProviderPool.java.i
-data/test/java/util/concurrent/FutureTask/Customized.java.i
+data/test/java/net/Inet6Address/IPv6Numeric.java.i
+data/test/java/io/Serializable/oldTests/ArrayFields.java.i
data/test/sun/net/www/protocol/http/StreamingOutputStream.java.i
data/src/share/classes/javax/net/ssl/KeyManagerFactory.java.i
-data/src/share/demo/java2d/J2DBench/src/j2dbench/report/IIOComparator.java.i
-data/src/share/classes/java/util/NavigableSet.java.i
data/src/share/classes/sun/management/snmp/jvminstr/JvmRTLibraryPathTableMetaImpl.java.i
data/src/share/native/sun/awt/image/cvutils/img_fscolor.h.i
-data/src/share/native/sun/font/layout/HanLayoutEngine.cpp.i
+data/test/java/util/MissingFormatArgumentException/GetFormatSpecifier.java.i
+data/test/java/util/Timer/DelayOverflow.java.i
data/src/share/classes/com/sun/management/GarbageCollectionNotificationInfo.java.i
data/src/share/classes/com/sun/jmx/mbeanserver/MXBeanMapping.java.i
data/src/share/classes/sun/management/LockDataConverterMXBean.java.i
data/test/java/net/InetAddress/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor.i
data/test/javax/swing/JTable/Test6888156.java.i
+data/test/javax/swing/JTabbedPane/4624207/bug4624207.java.i
data/test/java/io/File/SymLinks.java.i
data/test/java/nio/channels/ServerSocketChannel/AcceptAddress.java.i
data/src/share/classes/com/sun/media/sound/services/javax.sound.midi.spi.SoundbankReader.i
data/test/java/util/ResourceBundle/RB4353454_en.properties.i
data/test/java/security/Security/ClassLoaderDeadlock/Deadlock.jar.i
-data/src/solaris/doc/sun/man/man1/ja/jdb.1.i
+data/src/share/classes/sun/awt/GlobalCursorManager.java.i
+data/test/tools/pack200/MemoryAllocatorTest.java.i
data/src/share/native/sun/misc/GC.c.i
data/test/sun/net/InetAddress/nameservice/B6442088.java.i
+data/test/java/lang/management/ManagementFactory/PlatformMBeanServerTest.java.i
data/src/share/classes/sun/nio/cs/ext/DBCS_IBM_ASCII_Encoder.java.i
data/src/share/classes/sun/net/www/content/audio/wav.java.i
data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputStreamTests.java.i
-data/src/solaris/native/sun/awt/awt_Component.h.i
+data/test/java/io/RandomAccessFile/skipBytes/input.txt.i
data/src/windows/classes/sun/java2d/SurfaceManagerFactory.java.i
-data/src/share/native/sun/java2d/cmm/lcms/cmspack.c.i
data/src/share/classes/javax/imageio/stream/ImageOutputStreamImpl.java.i
data/make/mkdemo/applets/ArcTest/Makefile.i
data/test/java/beans/PropertyEditor/TestEnumClass.java.i
-data/src/share/classes/sun/text/resources/FormatData_no_NO_NY.java.i
+data/src/share/classes/sun/security/smartcardio/PCSC.java.i
data/src/share/classes/com/sun/jdi/Type.java.i
-data/test/java/io/FileInputStream/OpsAfterClose.java.i
-data/src/share/classes/sun/management/snmp/jvmmib/JvmRTLibraryPathEntryMeta.java.i
+data/src/share/classes/sun/management/snmp/util/SnmpCachedData.java.i
+data/src/share/native/com/sun/media/sound/Utilities.h.i
data/src/share/classes/sun/security/krb5/internal/KrbErrException.java.i
-data/test/java/util/concurrent/ExecutorCompletionService/ExecutorCompletionServiceLoops.java.i
+data/src/share/classes/sun/nio/cs/ext/MS932DB.java.i
data/src/windows/native/sun/awt/utility/rect.h.i
data/src/share/lib/management/snmp.acl.template.i
data/src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java.i
data/src/share/classes/java/io/NotActiveException.java.i
-data/make/com/sun/tools/attach/FILES_c.gmk.i
+data/test/javax/management/remote/mandatory/passwordAccessFile/NonJMXPrincipalsTest.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/InputRecord/ClientHelloRead.java.i
-data/src/share/classes/java/lang/reflect/InvocationHandler.java.i
-data/src/share/classes/java/security/GuardedObject.java.i
+data/src/share/classes/sun/misc/Compare.java.i
+data/test/tools/launcher/VerifyExceptions.java.i
+data/test/sun/management/jmxremote/bootstrap/jmxremote_ssltest13_ok.ssl.in.i
data/test/java/security/Permission/NullName.java.i
-data/src/share/classes/sun/tools/jstat/resources/jstat_unsupported_options.i
+data/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Set8BitExtensionBuffer.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIProperty.java.i
-data/src/share/classes/javax/swing/DebugGraphics.java.i
+data/src/share/classes/javax/print/attribute/standard/MediaSize.java.i
data/src/share/classes/javax/naming/PartialResultException.java.i
data/test/TEST.ROOT.i
data/src/share/classes/sun/security/pkcs/PKCS10.java.i
data/test/com/sun/jdi/JDIScaffold.java.i
data/test/java/util/zip/Available.java.i
data/src/share/classes/sun/io/CharToByteEUC_TW.java.i
-data/src/share/classes/sun/rmi/server/ActivatableRef.java.i
+data/src/windows/classes/sun/awt/windows/WEmbeddedFrame.java.i
data/test/com/sun/jdi/ProcessAttachDebugger.java.i
data/src/share/classes/sun/io/CharToByteISO8859_15.java.i
data/test/com/sun/net/httpserver/Test6a.java.i
+data/src/share/native/sun/font/DrawGlyphList.c.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIS16U16Func.c.i
-data/src/share/classes/sun/print/ProxyGraphics.java.i
data/test/java/beans/PropertyEditor/TestIntegerType.java.i
-data/src/windows/lib/tzmappings.i
+data/src/share/classes/javax/management/InstanceOfQueryExp.java.i
+data/src/share/classes/com/sun/jmx/snmp/SnmpScopedPduRequest.java.i
data/src/share/classes/com/sun/nio/sctp/ShutdownNotification.java.i
data/src/share/classes/javax/sound/sampled/Mixer.java.i
-data/src/share/classes/sun/awt/ScrollPaneWheelScroller.java.i
-data/src/solaris/back/util_md.h.i
+data/src/share/classes/java/security/cert/CertStoreParameters.java.i
data/test/java/io/pathNames/win32/RenameDelete.java.i
data/test/java/lang/ref/Basic.java.i
data/test/java/awt/Focus/NonFocusableWindowTest/NoEventsTest.java.i
data/src/share/native/sun/java2d/opengl/OGLRenderQueue.h.i
-data/make/tools/src/build/tools/javazic/Gen.java.i
+data/make/tools/swing-beans/beaninfo/images/JMenuMono16.gif.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/InputRecord/OriginServer.java.i
data/src/share/classes/com/sun/crypto/provider/PBEWithMD5AndDESCipher.java.i
-data/src/windows/native/sun/java2d/d3d/D3DRuntimeTest.h.i
data/test/javax/swing/JInternalFrame/Test6325652.java.i
data/test/javax/xml/crypto/dsig/data/certs/test.jks.i
data/make/javax/accessibility/Makefile.i
data/src/share/classes/java/security/spec/KeySpec.java.i
data/test/java/util/PluggableLocale/CurrencyNameProviderTest.java.i
+data/src/share/classes/sun/jvmstat/monitor/StringMonitor.java.i
+data/src/share/classes/sun/print/ServiceDialog.java.i
data/make/tools/winver/src/StdAfx.h.i
-data/src/share/classes/sun/font/CompositeFont.java.i
data/test/sun/net/InetAddress/nameservice/deadlock/ThrowingNameServiceDescriptor.java.i
+data/src/share/classes/sun/nio/cs/ext/JIS_X_0212_Solaris_Encoder.java.i
data/src/solaris/classes/sun/awt/X11/XScrollbarClient.java.i
-data/test/java/lang/Runtime/exec/Space.java.i
+data/src/share/classes/java/security/cert/X509CertSelector.java.i
data/test/java/security/AccessControlContext/CheckNullPermission.java.i
-data/src/share/native/sun/awt/image/jpeg/jmemsys.h.i
+data/make/tools/src/build/tools/charsetmapping/Utils.java.i
data/src/solaris/lib/images/cursors/cursors.properties.i
data/src/share/classes/java/net/UnknownHostException.java.i
-data/src/share/demo/scripting/jconsole-plugin/src/resources/jconsole.js.i
+data/test/java/rmi/transport/reuseDefaultPort/ReuseDefaultPort.java.i
data/src/share/classes/sun/io/ByteToCharMacCentralEurope.java.i
data/src/share/classes/java/rmi/AlreadyBoundException.java.i
data/src/share/classes/javax/swing/plaf/nimbus/ShadowEffect.java.i
data/src/windows/native/sun/jkernel/kernel_es.rc.i
+data/test/com/sun/security/sasl/pw.properties.i
data/test/java/io/charStreams/UTF16.java.i
data/test/sun/java2d/pipe/hw/RSLContextInvalidationTest/RSLContextInvalidationTest.java.i
data/make/tools/swing-beans/beaninfo/images/JDialogMono32.gif.i
-data/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArrayIntInt.java.i
-data/src/share/demo/applets/SortDemo/example1.html.i
+data/test/java/util/ResourceBundle/Control/StressOut_ko.properties.i
+data/test/java/rmi/reliability/benchmark/bench/serial/Doubles.java.i
+data/test/java/nio/channels/Selector/ReadAfterConnect.java.i
data/test/sun/security/pkcs11/nss/lib/linux-amd64/libnssckbi.so.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/EmptyExtensionData.java.i
data/test/java/util/logging/LoggerResourceBundleRace.java.i
data/test/sun/security/ssl/javax/net/ssl/Fix5070632.java.i
-data/src/share/classes/com/sun/jndi/ldap/LdapSchemaCtx.java.i
+data/src/share/classes/sun/util/logging/resources/logging_de.properties.i
data/src/share/classes/com/sun/jndi/ldap/LdapPoolManager.java.i
data/src/share/classes/com/sun/media/sound/WaveFloatFileReader.java.i
-data/src/share/classes/sun/util/locale/AsciiUtil.java.i
-data/src/share/classes/sun/reflect/ClassFileAssembler.java.i
-data/src/share/classes/com/sun/jmx/mbeanserver/Util.java.i
-data/test/javax/sound/midi/Gervill/ModelSource/SetTransform.java.i
+data/src/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java.i
+data/src/share/classes/java/sql/Types.java.i
+data/test/java/io/File/WinDeviceName.java.i
+data/src/share/classes/java/awt/AWTEventMulticaster.java.i
data/test/javax/management/openmbean/ArrayTypeTest.java.i
data/src/share/classes/java/util/InputMismatchException.java.i
-data/src/share/classes/sun/util/resources/CurrencyNames_it_IT.properties.i
-data/src/share/classes/sun/reflect/FieldAccessorImpl.java.i
+data/src/share/classes/com/sun/jndi/ldap/LdapCtx.java.i
+data/src/share/classes/sun/net/www/protocol/http/spnego/NegotiatorImpl.java.i
data/test/sun/rmi/rmic/newrmic/equivalence/Apple.java.i
data/test/java/util/zip/ZipFile/ReadAfterClose.java.i
data/src/windows/native/sun/windows/awt_ole.cpp.i
data/make/tools/classanalyzer/src/com/sun/classanalyzer/ClassListReader.java.i
data/test/java/net/Socket/Timeout.java.i
-data/make/tools/swing-beans/beaninfo/images/JDialogColor16.gif.i
-data/src/solaris/native/sun/jdga/dgalock.c.i
-data/src/share/classes/sun/security/provider/PolicySpiFile.java.i
+data/src/share/classes/java/nio/file/StandardCopyOption.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsComboBoxUI.java.i
data/src/share/classes/com/sun/jndi/url/corbaname/corbanameURLContextFactory.java.i
data/src/share/classes/sun/management/snmp/jvminstr/JvmRTLibraryPathEntryImpl.java.i
data/src/share/classes/java/security/interfaces/RSAKey.java.i
data/src/share/classes/java/nio/StringCharBuffer.java.i
-data/src/solaris/classes/sun/awt/X11/Native.java.i
-data/test/java/rmi/server/Unreferenced/leaseCheckInterval/LeaseCheckInterval_Stub.java.i
-data/test/sun/text/resources/LocaleData.i
-data/src/share/classes/javax/sql/package.html.i
+data/make/com/sun/crypto/provider/Makefile.i
+data/src/share/classes/com/sun/net/ssl/X509KeyManager.java.i
+data/test/sun/text/resources/LocaleData.i
+data/src/share/classes/com/sun/jmx/snmp/internal/SnmpModel.java.i
data/test/sun/security/mscapi/PublicKeyInterop.sh.i
data/src/share/classes/sun/security/krb5/internal/crypto/RsaMd5DesCksumType.java.i
data/test/sun/java2d/DirectX/SwingOnScreenScrollingTest/SwingOnScreenScrollingTest.java.i
-data/src/share/classes/sun/io/CharToByteMacCentralEurope.java.i
-data/test/java/util/Collections/T5078378.java.i
+data/test/sun/nio/cs/FindASCIIRangeCodingBugs.java.i
+data/src/share/native/sun/java2d/opengl/OGLMaskFill.c.i
data/src/share/classes/javax/security/sasl/SaslServer.java.i
data/test/java/nio/channels/FileChannel/Force.java.i
-data/src/share/classes/sun/text/resources/CollationData_es.java.i
+data/src/share/classes/javax/sound/midi/Track.java.i
data/test/org/openjdk/jigsaw/cli/keystore.jks.i
-data/make/tools/CharsetMapping/IBM921.map.i
+data/src/share/classes/java/awt/CardLayout.java.i
data/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyTo.java.i
data/src/share/classes/java/rmi/server/RemoteObjectInvocationHandler.java.i
data/make/netbeans/j2se/build.properties.i
-data/src/share/demo/nbproject/project.xml.i
+data/src/share/native/java/util/zip/zlib-1.1.3/inffast.h.i
data/src/share/classes/java/awt/geom/Point2D.java.i
data/src/share/native/com/sun/media/sound/DirectAudio.h.i
-data/test/java/awt/Frame/ShapeNotSetSometimes/ShapeNotSetSometimes.java.i
-data/src/solaris/doc/sun/man/man1/ja/jhat.1.i
+data/test/java/rmi/activation/Activatable/unregisterInactive/UnregisterInactive_Stub.java.i
+data/test/java/beans/Performance/TestVetoableChangeSupport.java.i
data/src/share/classes/com/sun/media/sound/FastShortMessage.java.i
data/src/share/classes/java/security/cert/X509CRL.java.i
data/src/share/classes/java/rmi/server/LogStream.java.i
-data/src/share/classes/javax/imageio/plugins/jpeg/package.html.i
+data/make/sun/security/jgss/wrapper/mapfile-vers.i
data/src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileSystem.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifOptionPaneUI.java.i
-data/src/share/demo/jvmti/heapViewer/heapViewer.c.i
data/test/java/beans/VetoableChangeSupport/Test4092906.java.i
-data/src/share/classes/java/rmi/activation/ActivationGroupID.java.i
-data/src/share/classes/javax/swing/JFrame.java.i
+data/src/share/classes/com/sun/jmx/snmp/SnmpCounter64.java.i
+data/src/linux/doc/man/ja/xjc.1.i
data/make/sun/rmi/registry/Makefile.i
data/test/java/security/cert/CertPathValidator/targetConstraints/sun2labs1.cer.i
data/test/java/util/Formatter/BasicByteObject.java.i
-data/src/share/classes/javax/management/StandardMBean.java.i
+data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMInformInterestedHost.java.i
data/src/share/classes/sun/text/resources/FormatData_en_US.java.i
data/src/share/classes/javax/swing/plaf/metal/icons/ocean/file.gif.i
data/src/share/demo/jvmti/java_crw_demo/sample.makefile.txt.i
+data/test/com/sun/jdi/ArrayRangeTest.java.i
+data/src/share/classes/com/sun/jdi/Field.java.i
data/src/share/demo/applets/WireFrame/models/cube.obj.i
data/test/java/awt/Focus/NonFocusableWindowTest/Test.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmMemoryMBean.java.i
-data/make/tools/CharsetMapping/MacDingbat.map.i
data/test/java/io/Serializable/GetField/Write.java.i
data/src/share/classes/javax/management/NotificationFilter.java.i
data/src/share/classes/sun/print/resources/serviceui_fr.properties.i
data/make/tools/CharsetMapping/MacThai.map.i
-data/src/share/sample/nio/server/README.txt.i
+data/test/java/util/ResourceBundle/Test4300693RB.java.i
data/test/java/io/Serializable/proxy/replace/Resolved.java.i
data/src/solaris/classes/sun/awt/X11FontManager.java.i
-data/test/java/util/Locale/data/deflocale.rhel4.i
-data/src/share/classes/javax/swing/colorchooser/SlidingSpinner.java.i
-data/src/share/native/java/lang/fdlibm/src/s_cbrt.c.i
+data/test/java/lang/instrument/ilib/ClassDump.java.i
+data/src/share/classes/com/sun/tools/jdi/ConnectorImpl.java.i
data/src/share/classes/sun/java2d/opengl/OGLRenderer.java.i
data/src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java.i
data/test/javax/sound/midi/Gervill/SoftReceiver/Close.java.i
data/test/sun/net/www/protocol/jar/foo2.jar.i
data/test/javax/sound/midi/Gervill/ModelIdentifier/SetInstance.java.i
-data/test/javax/management/remote/mandatory/subjectDelegation/policy34.i
+data/test/java/security/KeyRep/RSA.pre.1.5.key.i
+data/src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java.i
data/test/java/util/ResourceBundle/Bug6287579.java.i
data/test/javax/management/modelmbean/ModelMBeanInfoSupport/logging.properties.i
-data/src/share/classes/javax/sql/ConnectionEvent.java.i
+data/src/share/classes/com/sun/beans/decoder/MethodElementHandler.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageAffine_BL_S16.h.i
data/test/java/util/TimeZone/TimeZoneDatePermissionCheck.java.i
-data/src/share/demo/jvmti/waiters/waiters.cpp.i
data/test/javax/swing/JComboBox/6632953/bug6632953.java.i
data/src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java.i
data/test/java/nio/charset/Charset/NullCharsetName.java.i
-data/make/modules/tools/src/com/sun/classanalyzer/Module.java.i
+data/make/tools/CharsetMapping/MacGreek.map.i
+data/src/share/classes/sun/jvmstat/monitor/event/MonitorStatusChangeEvent.java.i
data/test/java/rmi/reliability/benchmark/bench/TextReporter.java.i
-data/src/share/classes/java/text/DontCareFieldPosition.java.i
data/src/solaris/classes/sun/awt/X11/XMenuBarPeer.java.i
-data/make/java/net/Makefile.i
-data/src/share/classes/sun/util/resources/CalendarData_zh.properties.i
+data/test/sun/rmi/log/ReliableLog/LogAlignmentTest.java.i
+data/test/java/lang/StackTraceElement/PublicConstructor.java.i
data/src/share/classes/java/security/cert/PKIXCertPathChecker.java.i
data/make/java/hpi/hpi_common.gmk.i
data/test/javax/swing/SwingWorker/6432565/bug6432565.java.i
-data/test/java/awt/Graphics2D/DrawString/EmptyAttrString.java.i
-data/test/java/util/Locale/Bug4152725.java.i
-data/test/java/net/ipv6tests/TcpTest.java.i
+data/test/java/beans/Introspector/Test4144543.java.i
+data/src/share/classes/sun/text/resources/CollationData_de.java.i
data/src/share/classes/javax/crypto/CryptoPermission.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/InvalidCanonicalizerException.java.i
+data/src/share/classes/com/sun/crypto/provider/DESKeyGenerator.java.i
data/src/windows/native/sun/java2d/d3d/D3DVertexCacher.h.i
data/src/share/classes/sun/awt/SunGraphicsCallback.java.i
-data/src/share/classes/javax/swing/plaf/basic/BasicToolTipUI.java.i
-data/src/share/classes/javax/naming/InitialContext.java.i
-data/src/solaris/sample/dtrace/hotspot/class_loading_stat.d.i
-data/make/tools/CharsetMapping/EUC_CN.map.i
-data/test/sun/net/sdp/ProbeIB.java.i
+data/src/solaris/native/sun/awt/Xrandr.h.i
+data/test/javax/management/remote/mandatory/connection/RMIConnectionIdTest.java.i
+data/test/java/util/WeakHashMap/ZeroInitCap.java.i
data/test/sun/security/ssl/javax/net/ssl/TLSv11/GenericStreamCipher.java.i
data/src/share/demo/nbproject/jfc/SwingApplet/build.properties.i
data/src/share/native/java/lang/fdlibm/src/e_scalb.c.i
@@ -7142,92 +7166,90 @@ data/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_CN.propertie
data/test/java/nio/file/WatchService/grantDirAndTree.policy.i
data/test/java/beans/PropertyEditor/TestShortType.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AgreementMethod.java.i
-data/src/share/classes/sun/nio/cs/ext/IBM864.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifMenuUI.java.i
data/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties.i
-data/src/share/native/sun/management/GarbageCollectorImpl.c.i
+data/test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorEndEntity.java.i
data/make/sun/cmm/lcms/FILES_c_unix.gmk.i
data/src/share/classes/java/awt/image/renderable/RenderedImageFactory.java.i
+data/test/sun/security/ssl/javax/net/ssl/NewAPIs/CheckMyTrustedKeystore.java.i
data/make/netbeans/common/jtreg-sources.ent.i
data/src/share/classes/sun/nio/cs/HistoricallyNamedCharset.java.i
data/test/java/net/URL/RestoreURL.java.i
data/src/share/classes/com/sun/jdi/LocalVariable.java.i
data/src/share/classes/sun/text/resources/FormatData_ro.java.i
data/test/java/awt/Graphics2D/DrawString/DrawStrSuper.java.i
-data/src/share/classes/sun/tools/jconsole/Version.java.template.i
-data/src/share/classes/java/lang/NoSuchFieldException.java.i
+data/src/share/native/sun/java2d/loops/IntArgbBm.c.i
+data/test/java/lang/management/ThreadMXBean/ThreadExecutionSynchronizer.java.i
+data/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TSFrame.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_ar_KW.properties.i
+data/src/share/native/sun/awt/image/jpeg/jpeglib.h.i
data/test/javax/management/MBeanServerFactory/NamedMBeanServerTest.java.i
-data/test/demo/jvmti/hprof/HeapAllTest.java.i
+data/make/java/util/FILES_java.gmk.i
data/src/share/classes/com/sun/crypto/provider/DESedeWrapCipher.java.i
data/make/sun/jpeg/FILES_c.gmk.i
data/src/solaris/classes/sun/awt/X11GraphicsDevice.java.i
data/src/share/classes/sun/java2d/loops/GraphicsPrimitiveMgr.java.i
data/test/java/beans/XMLEncoder/javax_swing_border_StrokeBorder.java.i
data/src/share/classes/com/sun/beans/decoder/JavaElementHandler.java.i
-data/test/javax/management/openmbean/MBeanFeatureInfoSerialStore.java.i
data/src/share/native/sun/security/ec/impl/mp_gf2m.c.i
data/test/java/lang/String/RegionMatches.java.i
data/src/share/classes/com/sun/crypto/provider/BlowfishCipher.java.i
-data/test/sun/invoke/util/ValueConversionsTest.java.i
+data/src/share/native/java/lang/Shutdown.c.i
+data/test/java/io/Serializable/evolution/RenamePackage/run.sh.i
+data/test/java/lang/management/RuntimeMXBean/TestInputArgument.sh.i
data/src/share/classes/sun/java2d/opengl/OGLSurfaceData.java.i
data/test/java/math/BigInteger/TestValueExact.java.i
-data/src/share/classes/java/awt/Shape.java.i
-data/src/share/classes/java/nio/charset/CoderMalfunctionError.java.i
-data/src/share/classes/javax/swing/text/LayoutQueue.java.i
-data/src/share/classes/sun/tools/tree/BreakStatement.java.i
+data/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java.i
+data/test/java/beans/XMLEncoder/java_awt_MenuShortcut.java.i
data/src/share/classes/java/rmi/activation/package.html.i
data/test/java/security/BasicPermission/MixedBasicPermissions.java.i
-data/test/sun/security/pkcs11/tls/masterdata.txt.i
-data/src/share/classes/com/sun/tracing/dtrace/ProviderAttributes.java.i
+data/src/share/classes/javax/print/attribute/standard/JobKOctets.java.i
+data/src/share/classes/sun/io/CharToByteJIS0208_Solaris.java.i
data/test/sun/tools/jstat/lineCounts3.awk.i
-data/test/com/sun/crypto/provider/Cipher/DES/DoFinalReturnLen.java.i
-data/src/share/classes/sun/tools/tree/NewArrayExpression.java.i
-data/make/mkdemo/jvmti/heapViewer/Makefile.i
+data/src/share/classes/com/sun/media/sound/SoftAudioBuffer.java.i
+data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/BezierControlPoint.java.i
+data/src/share/classes/sun/applet/AppletImageRef.java.i
data/src/share/classes/com/sun/jdi/VirtualMachine.java.i
-data/src/share/native/sun/java2d/cmm/lcms/lcms2.h.i
-data/src/share/classes/sun/text/resources/FormatData_fr_BE.java.i
-data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/Basics.java.i
-data/test/com/sun/crypto/provider/TLS/TestPRF12.java.i
+data/src/share/classes/sun/nio/cs/ext/JIS_X_0208_Encoder.java.i
+data/src/share/classes/com/sun/servicetag/SunConnection.java.i
+data/src/share/classes/sun/security/jgss/wrapper/Krb5Util.java.i
+data/src/share/native/sun/java2d/loops/IntArgbBm.h.i
data/src/share/classes/sun/io/ByteToCharMS936.java.i
data/src/share/classes/javax/swing/text/AttributeSet.java.i
data/src/share/classes/sun/misc/Regexp.java.i
data/test/javax/management/MBeanServer/MBeanExceptionTest.java.i
-data/src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames.properties.i
data/test/java/awt/font/Threads/FontThread.java.i
data/src/share/classes/java/util/logging/Filter.java.i
-data/src/share/classes/com/sun/jndi/ldap/NamingEventNotifier.java.i
+data/make/jpda/Makefile.i
data/src/windows/native/sun/java2d/d3d/D3DContext.cpp.i
-data/src/share/classes/sun/util/resources/LocaleNames_pl.properties.i
data/make/sun/jdga/mapfile-vers.i
data/src/share/classes/javax/swing/text/StyledEditorKit.java.i
data/make/tools/CharsetMapping/MacUkraine.map.i
-data/src/share/classes/javax/print/Doc.java.i
-data/src/share/classes/java/io/InterruptedIOException.java.i
data/src/share/classes/javax/management/openmbean/ArrayType.java.i
data/test/javax/sound/midi/Gervill/SimpleInstrument/SetName.java.i
-data/src/share/classes/sun/security/x509/AuthorityKeyIdentifierExtension.java.i
-data/src/share/classes/sun/jvmstat/monitor/StringMonitor.java.i
+data/test/sun/security/mscapi/ShortRSAKey512.sh.i
+data/make/tools/src/build/tools/javazic/GenDoc.java.i
data/src/share/classes/sun/security/ssl/ProtocolVersion.java.i
-data/src/share/classes/sun/io/CharToByteCp1145.java.i
-data/src/share/classes/com/sun/jdi/request/EventRequest.java.i
-data/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java.i
+data/src/share/classes/com/sun/imageio/plugins/common/BitFile.java.i
+data/test/java/util/Locale/Bug4184873_id.i
data/make/netbeans/j2se/README.i
-data/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java.i
+data/src/share/classes/sun/io/CharToByteUnicodeBigUnmarked.java.i
data/test/java/io/Serializable/survivePrematureClose/SurvivePrematureClose.java.i
data/make/tools/CharsetMapping/ISO_8859_5.map.i
-data/src/share/classes/java/util/zip/CRC32.java.i
+data/src/solaris/native/common/jdk_util_md.h.i
data/test/java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.html.i
+data/src/solaris/classes/sun/awt/fontconfigs/solaris.fontconfig.5.9.properties.i
data/src/share/classes/java/nio/charset/CodingErrorAction.java.i
+data/src/share/classes/sun/awt/CharsetString.java.i
data/src/share/classes/sun/security/krb5/internal/crypto/crc32.java.i
-data/test/javax/management/descriptor/ImmutableDescriptorSerialTest.java.i
data/src/share/classes/com/sun/crypto/provider/OutputFeedback.java.i
data/test/java/awt/List/ScrollOutside/ScrollOut.java.i
+data/test/java/rmi/reliability/benchmark/bench/rmi/ByteArrayCalls.java.i
data/make/tools/CharsetMapping/IBM1142.c2b.i
data/src/windows/native/sun/windows/awt_DrawingSurface.h.i
-data/src/share/classes/java/security/spec/ECFieldF2m.java.i
+data/src/share/classes/sun/misc/JarIndex.java.i
data/src/share/native/java/lang/fdlibm/src/e_atan2.c.i
-data/src/windows/native/sun/windows/awt.h.i
+data/src/share/classes/sun/nio/cs/ext/IBM1122.java.i
data/make/tools/CharsetMapping/IBM280.nr.i
data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ResultLogConfig.java.i
data/src/share/classes/java/nio/charset/spi/package.html.i
@@ -7237,14 +7259,16 @@ data/src/windows/classes/sun/nio/ch/Iocp.java.i
data/src/share/classes/com/sun/jmx/snmp/ThreadContext.java.i
data/src/share/classes/java/security/Certificate.java.i
data/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java.i
-data/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllNotesOff.java.i
+data/src/share/classes/com/sun/media/sound/SoftResamplerStreamer.java.i
data/test/java/nio/file/Path/delete_on_close.sh.i
data/src/share/classes/javax/naming/spi/package.html.i
-data/src/windows/classes/java/net/DefaultDatagramSocketImplFactory.java.i
+data/test/java/awt/TextArea/TextAreaCursorTest/HoveringAndDraggingTest.html.i
data/test/com/sun/jdi/sde/onion/pickle/Mangle.java.i
data/src/share/native/sun/awt/medialib/mlib_image_blend_proto.h.i
-data/src/share/classes/java/sql/ParameterMetaData.java.i
+data/src/share/classes/com/sun/jdi/ShortType.java.i
+data/test/java/lang/reflect/Method/InheritedInterfaceMethods.java.i
data/src/share/native/sun/java2d/cmm/lcms/cmsio1.c.i
+data/src/share/classes/sun/applet/AppletViewerFactory.java.i
data/test/javax/security/auth/kerberos/ServicePermissionTest.java.i
data/src/share/classes/sun/rmi/rmic/resources/rmic_ja.properties.i
data/test/java/io/Serializable/classDescFlagConflict/Foo.java.i
@@ -7253,54 +7277,53 @@ data/src/share/classes/sun/font/PhysicalStrike.java.i
data/src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java.i
data/src/share/classes/sun/jkernel/DownloadManager.java.i
data/src/share/native/java/net/Inet6Address.c.i
-data/src/share/classes/sun/font/FontUtilities.java.i
-data/test/java/beans/Introspector/memory/SimpleClassLoader.java.i
+data/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.java.i
data/src/share/classes/com/sun/tools/example/debug/bdi/LineNotFoundException.java.i
data/test/java/nio/channels/DatagramChannel/SRTest.java.i
data/src/solaris/doc/sun/man/man1/jvisualvm.1.i
-data/src/share/classes/javax/swing/BoxLayout.java.i
-data/src/windows/classes/sun/security/krb5/internal/tools/KinitOptions.java.i
-data/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java.i
-data/src/share/classes/com/sun/imageio/stream/StreamFinalizer.java.i
+data/src/share/classes/javax/security/auth/callback/NameCallback.java.i
+data/src/share/classes/sun/io/ByteToCharMacTurkish.java.i
+data/make/java/nio/addNotices.sh.i
+data/test/java/awt/event/MouseEvent/AWTPanelSmoothWheel/AWTPanelSmoothWheel.html.i
data/src/share/classes/java/security/spec/AlgorithmParameterSpec.java.i
-data/src/share/native/sun/awt/medialib/mlib_sys.c.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/RetrievalMethod.java.i
data/src/share/classes/java/io/LineNumberReader.java.i
-data/test/sun/util/resources/Locale/Bug4965260.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/ServerIdentityTest.java.i
data/make/tools/CharsetMapping/IBM500.nr.i
data/test/java/util/zip/DeflateIn_InflateOut.java.i
data/test/sun/security/provider/PolicyFile/CanonPath.java.i
data/src/share/classes/java/security/MessageDigestSpi.java.i
data/test/sun/security/provider/SecureRandom/SelfSeed.java.i
data/src/share/classes/sun/font/CreatedFontTracker.java.i
-data/src/share/native/java/lang/fdlibm/src/s_tan.c.i
+data/test/sun/security/provider/certpath/DisabledAlgorithms/CPBuilder.java.i
+data/src/share/classes/sun/tools/jconsole/InternalDialog.java.i
data/test/javax/management/notification/BroadcasterSupportDeadlockTest.java.i
data/src/share/native/sun/awt/debug/debug_mem.c.i
-data/src/share/classes/sun/io/CharToByteJIS0212.java.i
+data/test/java/net/Socket/TestClose.java.i
data/src/share/classes/sun/management/snmp/jvmmib/EnumJvmThreadCpuTimeMonitoring.java.i
+data/test/java/awt/PrintJob/PrintCheckboxTest/PrintCheckboxManualTest.java.i
data/src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/signature/ReferenceNotInitializedException.java.i
data/src/solaris/classes/sun/awt/X11/XMenuPeer.java.i
data/src/share/classes/sun/security/jgss/spi/GSSCredentialSpi.java.i
data/src/share/classes/sun/tools/tree/AssignMultiplyExpression.java.i
data/src/share/native/sun/java2d/loops/TransformHelper.c.i
-data/src/share/demo/jvmti/hprof/hprof_frame.c.i
data/test/com/sun/jdi/connect/spi/ListConnectors.java.i
data/test/sun/java2d/cmm/ColorConvertOp/SRGB555.png.i
-data/test/java/lang/instrument/IsModifiableClassApp.java.i
-data/src/share/classes/com/sun/jmx/snmp/agent/SnmpUserDataFactory.java.i
+data/src/share/classes/sun/nio/cs/Unicode.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsBorders.java.i
-data/src/windows/native/java/net/SocketInputStream.c.i
+data/test/sun/nio/cs/NIOJISAutoDetectTest.java.i
data/src/share/classes/com/sun/tracing/dtrace/NameAttributes.java.i
data/src/share/classes/java/security/SignatureSpi.java.i
-data/src/share/classes/sun/java2d/pisces/META-INF/services/sun.java2d.pipe.RenderingEngine.i
-data/src/share/classes/com/sun/media/sound/ModelOscillatorStream.java.i
+data/test/com/sun/jdi/connect/spi/DebugUsingCustomConnector.java.i
+data/src/share/classes/javax/sound/sampled/AudioFileFormat.java.i
data/src/share/classes/javax/rmi/ssl/SslRMIClientSocketFactory.java.i
data/src/share/classes/com/sun/security/auth/callback/TextCallbackHandler.java.i
data/src/share/native/sun/awt/image/jpeg/jfdctfst.c.i
data/src/share/classes/javax/management/InvalidAttributeValueException.java.i
+data/test/javax/management/remote/mandatory/provider/META-INF/services/javax.management.remote.JMXConnectorProvider.i
data/src/share/classes/javax/print/attribute/standard/package.html.i
-data/src/share/classes/java/lang/reflect/package-info.java.i
-data/test/java/security/cert/CertificateFactory/SlowStream.java.i
+data/make/mksample/jmx/Makefile.i
data/test/java/awt/Focus/FrameJumpingToMouse/FrameJumpingToMouse.java.i
data/src/share/classes/com/sun/java/util/jar/pack/Fixups.java.i
data/test/java/awt/regtesthelpers/process/ProcessCommunicator.java.i
@@ -7308,11 +7331,9 @@ data/src/share/native/java/util/zip/zip_util.h.i
data/src/share/classes/javax/smartcardio/TerminalFactory.java.i
data/src/share/classes/java/security/AllPermission.java.i
data/src/share/classes/java/lang/management/RuntimeMXBean.java.i
-data/src/share/classes/javax/security/auth/login/AccountLockedException.java.i
data/src/windows/native/sun/net/www/protocol/http/NTLMAuthSequence.c.i
data/src/share/back/StackFrameImpl.h.i
data/src/share/classes/com/sun/beans/decoder/ShortElementHandler.java.i
-data/src/solaris/classes/sun/awt/X11/XWrapperBase.java.i
data/src/share/classes/com/sun/media/sound/SoftAudioPusher.java.i
data/make/tools/classanalyzer/nbproject/project.xml.i
data/src/share/classes/sun/tools/jconsole/MaximizableInternalFrame.java.i
@@ -7321,56 +7342,61 @@ data/make/tools/swing-beans/beaninfo/images/JFrameMono32.gif.i
data/src/share/classes/java/awt/datatransfer/DataFlavor.java.i
data/test/java/util/Collections/ReplaceAll.java.i
data/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReaderSpi.java.i
-data/src/share/classes/sun/nio/cs/ext/MS950_HKSCS_XP.java.i
+data/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_Util.c.i
+data/test/java/lang/Class/forName/classes/right-square.class.i
data/test/com/sun/jdi/MonitorFrameInfo.java.i
-data/test/java/security/BasicPermission/SerialVersion.1.2.1.i
+data/test/java/nio/channels/SocketChannel/Open.sh.i
data/src/share/classes/sun/java2d/pipe/hw/AccelDeviceEventListener.java.i
data/test/sun/security/tools/keytool/KeyToolTest.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageChannelExtract_43.c.i
data/src/share/classes/sun/reflect/AccessorGenerator.java.i
-data/src/share/classes/javax/print/event/PrintEvent.java.i
+data/src/share/classes/com/sun/media/sound/DirectAudioDeviceProvider.java.i
data/test/sun/net/www/http/HttpClient/OpenServer.policy.i
data/src/share/native/java/util/zip/zlib-1.2.3/zconf.h.i
data/test/com/sun/jdi/ZZZcleanup.sh.i
-data/src/share/classes/com/sun/beans/decoder/ValueObjectImpl.java.i
+data/test/java/lang/reflect/Proxy/returnTypes/GetCloneable.java.i
data/src/share/classes/javax/swing/text/html/HTML.java.i
data/make/java/zip/FILES_c.gmk.i
data/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java.i
data/src/solaris/classes/sun/awt/X11/XConstants.java.i
-data/src/share/classes/sun/java2d/pisces/Dasher.java.i
-data/src/solaris/classes/sun/awt/X11/InfoWindow.java.i
-data/src/share/classes/javax/print/attribute/standard/DialogTypeSelection.java.i
-data/src/share/classes/javax/swing/table/TableCellRenderer.java.i
-data/src/share/classes/sun/nio/ch/SctpMessageInfoImpl.java.i
+data/src/share/classes/com/sun/tools/example/debug/gui/SourceTreeTool.java.i
+data/src/share/classes/sun/dyn/package-info.java.i
+data/test/java/lang/Runtime/exec/ConcurrentRead.java.i
+data/make/docs/Makefile.i
+data/src/linux/doc/man/ja/serialver.1.i
data/src/share/classes/javax/swing/event/HyperlinkListener.java.i
+data/test/java/lang/invoke/ThrowExceptionsTest.java.i
data/src/solaris/doc/sun/man/man1/ja/javah.1.i
data/src/share/classes/java/util/EmptyStackException.java.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIS32U16Func.c.i
-data/test/java/io/Serializable/enum/missingConstant/Read.java.i
+data/src/share/classes/java/awt/doc-files/modal-example3.gif.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsSeparatorUI.java.i
data/src/share/classes/javax/print/PrintService.java.i
-data/src/share/demo/nbproject/management/VerboseGC/nbproject/netbeans-targets.xml.i
-data/test/java/beans/XMLEncoder/java_util_Collections_SynchronizedSortedMap.java.i
-data/test/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.html.i
+data/src/share/classes/sun/security/provider/certpath/X509CertificatePair.java.i
+data/test/java/io/File/Create.java.i
+data/src/share/classes/com/sun/jndi/ldap/SimpleClientId.java.i
data/make/tools/swing-beans/beaninfo/images/JColorChooserColor32.gif.i
-data/src/solaris/native/sun/security/smartcardio/MUSCLE/COPYING.i
+data/src/share/demo/nbproject/jfc/TransparentRuler/build.xml.i
data/src/share/classes/com/sun/beans/finder/MethodFinder.java.i
+data/src/share/classes/sun/reflect/UnsafeStaticCharacterFieldAccessorImpl.java.i
data/src/share/classes/java/nio/file/attribute/FileStoreSpaceAttributes.java.i
data/src/share/classes/sun/management/ThreadImpl.java.i
-data/src/share/classes/sun/tools/java/BinaryMember.java.i
data/src/share/native/sun/font/layout/OpenTypeLayoutEngine.h.i
data/test/java/net/ResponseCache/file2.1.i
-data/src/share/classes/com/sun/tools/example/debug/bdi/NoSessionException.java.i
+data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/StateTestService.java.i
+data/test/java/beans/PropertyEditor/TestStringClassNull.java.i
data/src/share/classes/sun/tools/jconsole/ThreadTab.java.i
-data/test/java/net/URLConnection/RedirectLimit.java.i
+data/src/share/classes/sun/rmi/server/resources/rmid_es.properties.i
data/make/mkdemo/jfc/Java2D/Makefile.i
-data/test/java/awt/Multiscreen/WPanelPeerPerf/WPanelPeerPerf.java.i
+data/src/share/classes/sun/tools/jstat/SyntaxException.java.i
data/test/sun/java2d/cmm/ColorConvertOp/ColorSpaceCvtCrashTest/ColorSpaceCvtCrashTest.java.i
data/test/java/math/BigInteger/ExtremeShiftingTests.java.i
data/src/share/demo/applets/MoleculeViewer/models/benzene.xyz.i
-data/src/share/classes/sun/util/resources/CurrencyNames_ko_KR.properties.i
-data/test/sun/management/jmxremote/bootstrap/LocalManagementTest.sh.i
+data/src/share/native/java/lang/fdlibm/src/w_acos.c.i
+data/src/solaris/classes/sun/awt/X11/java-icon32.png.i
+data/src/share/classes/com/sun/media/sound/SimpleSoundbank.java.i
data/src/share/classes/com/sun/jndi/ldap/LdapRequest.java.i
data/src/share/classes/java/awt/font/TextLayout.java.i
+data/src/share/classes/sun/util/LocaleDataMetaInfo-XLocales.java.i
data/src/solaris/native/sun/awt/splashscreen/splashscreen_sys.c.i
data/src/share/classes/java/io/Serializable.java.i
data/test/java/util/ResourceBundle/Control/ExpirationTest.java.i
@@ -7379,59 +7405,59 @@ data/test/java/util/concurrent/ScheduledThreadPoolExecutor/ZeroCorePoolSize.java
data/test/sun/java2d/DirectX/InfiniteValidationLoopTest/InfiniteValidationLoopTest.java.i
data/src/share/classes/sun/awt/resources/awt_zh_CN.properties.i
data/src/share/classes/sun/text/resources/FormatData_es_DO.java.i
+data/test/java/beans/XMLEncoder/java_sql_Time.java.i
data/src/share/classes/java/rmi/MarshalException.java.i
-data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SessionTimeOutTests.java.i
-data/src/share/demo/java2d/J2DBench/src/j2dbench/TestEnvironment.java.i
+data/src/share/classes/javax/crypto/spec/package.html.i
data/src/share/classes/java/util/ServiceConfigurationError.java.i
-data/src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java.i
+data/src/share/classes/sun/management/CompilerThreadStat.java.i
data/src/share/classes/sun/io/CharToByteCp1122.java.i
data/src/share/classes/sun/net/www/protocol/https/Handler.java.i
data/make/tools/swing-beans/beaninfo/images/BorderColor16.gif.i
+data/src/share/classes/javax/imageio/spi/ImageReaderSpi.java.i
data/src/share/classes/sun/security/pkcs11/Session.java.i
data/src/share/classes/sun/security/krb5/internal/crypto/Des.java.i
data/test/com/sun/crypto/provider/KeyAgreement/DHGenSecretKey.java.i
-data/test/java/util/zip/pkware123456789012345.zip.i
+data/test/java/lang/ThreadLocal/Basic.java.i
data/src/windows/native/java/io/WinNTFileSystem_md.c.i
-data/src/share/classes/javax/security/auth/callback/ConfirmationCallback.java.i
+data/src/share/classes/javax/swing/DefaultDesktopManager.java.i
data/test/java/rmi/server/serverStackTrace/Impl1_Stub.java.i
-data/src/share/classes/com/sun/security/sasl/CramMD5Server.java.i
data/src/share/classes/sun/net/www/protocol/http/NegotiateCallbackHandler.java.i
data/test/java/util/concurrent/locks/ReentrantReadWriteLock/Bug6571733.java.i
data/test/java/net/URLConnection/ZeroContentLength.java.i
data/test/javax/swing/JColorChooser/Test6559154.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14N.java.i
-data/src/share/classes/org/openjdk/internal/joptsimple/UnrecognizedOptionException.java.i
+data/test/sun/security/mscapi/KeyStoreCompatibilityMode.java.i
+data/test/javax/script/ProviderTest.java.i
data/src/share/classes/java/io/StringReader.java.i
-data/src/share/back/eventFilter.c.i
data/src/share/classes/sun/io/ByteToCharJIS0201.java.i
data/test/com/sun/jdi/RepStep.java.i
-data/src/share/classes/sun/jvmstat/monitor/VmIdentifier.java.i
+data/src/share/classes/javax/swing/InputMap.java.i
data/src/share/classes/javax/management/MBeanAttributeInfo.java.i
data/src/windows/classes/sun/nio/ch/FileDispatcherImpl.java.i
data/src/share/native/sun/awt/image/jpeg/jdtrans.c.i
-data/src/share/demo/java2d/J2DBench/src/j2dbench/Result.java.i
+data/src/share/classes/sun/misc/resources/Messages_zh_CN.java.i
data/src/share/classes/javax/sql/DataSource.java.i
data/src/share/classes/javax/swing/text/doc-files/paragraph.gif.i
data/src/share/classes/javax/net/ssl/ManagerFactoryParameters.java.i
data/src/share/classes/sun/awt/image/ImageFetchable.java.i
-data/src/windows/native/sun/windows/awt_ole.h.i
-data/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.java.i
-data/test/sun/nio/cs/OLD/DBCS_IBM_ASCII_Encoder.java.i
+data/src/share/classes/sun/io/CharToByteCp437.java.i
+data/src/solaris/classes/sun/java2d/xr/XIDGenerator.java.i
+data/src/share/classes/com/sun/jmx/snmp/SnmpEngineId.java.i
data/test/sun/security/provider/certpath/CertId/interCA.der.i
-data/make/tools/CharsetMapping/IBM297.map.i
+data/src/share/classes/javax/imageio/ImageReadParam.java.i
data/src/share/classes/com/sun/imageio/plugins/common/SubImageInputStream.java.i
data/test/javax/sound/midi/Gervill/ModelIdentifier/SetVariable.java.i
data/test/java/net/URLClassLoader/closetest/test1/com/foo/TestClass.java.i
data/test/java/beans/XMLDecoder/spec/TestJava.java.i
data/src/share/classes/com/sun/tools/jconsole/package.html.i
-data/test/sun/nio/cs/OLD/X11GB2312_OLD.java.i
+data/src/share/classes/com/sun/media/sound/AiffFileWriter.java.i
data/test/java/lang/management/GarbageCollectorMXBean/GcInfoCompositeType.java.i
data/test/sun/security/pkcs11/PKCS11Test.java.i
data/make/sun/text/FILES_java.gmk.i
data/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDSource.java.i
data/test/javax/management/eventService/PublishTest.java.i
-data/test/java/io/Serializable/subclass/Allow.policy.i
+data/src/windows/native/sun/windows/awt_Brush.cpp.i
data/src/share/classes/sun/io/ByteToCharCp1383.java.i
+data/test/java/awt/Component/isLightweightCrash/StubPeerCrash.java.i
data/test/sun/misc/Cleaner/exitOnThrow.sh.i
data/test/com/sun/jdi/ModificationWatchpoints.java.i
data/test/java/lang/management/ManagementFactory/StateTest.java.i
@@ -7440,6 +7466,7 @@ data/src/solaris/javavm/include/typedefs_md.h.i
data/src/share/classes/com/sun/beans/decoder/VoidElementHandler.java.i
data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/Util.java.i
data/test/sun/nio/cs/OLD/IBM942C_OLD.java.i
+data/src/share/classes/com/sun/management/DiagnosticCommandArgumentInfo.java.i
data/test/java/nio/channels/SocketChannel/AsyncCloseChannel.java.i
data/make/java/verify/reorder-sparcv9.i
data/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c.i
@@ -7448,48 +7475,51 @@ data/src/share/classes/com/sun/jndi/ldap/LdapAttribute.java.i
data/src/share/classes/com/sun/nio/sctp/Association.java.i
data/test/sun/security/tools/jarsigner/AlgOptions.jar.i
data/test/java/lang/Runtime/shutdown/ShutdownHooks.java.i
-data/src/share/demo/nbproject/jfc/Metalworks/nbproject/jdk.xml.i
+data/src/share/classes/org/openjdk/jigsaw/package-info.java.i
data/test/sun/security/pkcs11/rsa/TestKeyFactory.java.i
data/test/java/beans/PropertyChangeSupport/TestEquals.java.i
+data/src/share/native/sun/awt/image/jpeg/jidctfst.c.i
data/src/solaris/classes/sun/awt/X11/XAWTLookAndFeel.java.i
+data/src/share/sample/scripting/scriptpad/nbproject/file-targets.xml.i
data/test/javax/management/ObjectName/ValueOfTest.java.i
-data/src/share/classes/sun/text/resources/FormatData_ar_IQ.java.i
-data/test/java/lang/instrument/RedefineMethodAddInvokeTarget_1.java.i
-data/make/netbeans/common/shared.xml.i
-data/make/sun/tracing/dtrace/mapfile-vers.i
-data/make/sun/rmi/rmi/Makefile.i
-data/make/docs/CORE_PKGS.gmk.i
+data/src/share/classes/java/nio/channels/MulticastChannel.java.i
+data/src/share/classes/com/sun/tools/jdi/LongValueImpl.java.i
+data/src/share/classes/com/sun/rowset/internal/XmlResolver.java.i
+data/src/share/classes/javax/print/attribute/standard/PDLOverrideSupported.java.i
data/test/java/nio/charset/Charset/RegisteredCharsets.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/jibxhelpers/DimensionMapper.java.i
-data/src/windows/classes/sun/awt/windows/awtLocalization_ko.properties.i
+data/src/share/classes/sun/nio/cs/ext/JISAutoDetect.java.i
data/test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshalOnStopThread_Stub.java.i
data/src/share/classes/javax/sql/ConnectionPoolDataSource.java.i
data/src/share/native/sun/security/ec/impl/mpi.h.i
-data/src/share/classes/sun/net/NetProperties.java.i
+data/make/sun/rmi/oldtools/FILES_java.gmk.i
data/src/share/classes/java/awt/event/HierarchyBoundsListener.java.i
data/make/java/redist/Makefile.i
data/src/share/demo/applets/SortDemo/SortItem.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/exceptions/package.html.i
-data/test/javax/security/auth/Subject/Synch.java.i
-data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMTransform.java.i
+data/make/tools/GenerateCharacter/Makefile.i
+data/test/java/io/DataInputStream/ReadFully.java.i
+data/test/java/rmi/activation/ActivateFailedException/activateFails/group.security.policy.i
data/test/java/io/Serializable/illegalHandle/Test.java.i
-data/src/share/classes/org/ietf/jgss/GSSCredential.java.i
+data/src/share/classes/sun/management/snmp/jvminstr/JvmRTClassPathTableMetaImpl.java.i
data/test/javax/management/notification/NotifInfoTest.java.i
data/test/java/security/KeyRep/RSA.1.5.key.i
-data/test/java/math/BigInteger/CompareToTests.java.i
+data/src/share/classes/sun/nio/cs/ISO_8859_2.java.i
+data/test/javax/sound/midi/Gervill/SoftReceiver/Send_PolyPressure.java.i
data/src/share/classes/javax/swing/text/Segment.java.i
+data/test/sun/nio/cs/ISCIITest.java.i
+data/test/java/nio/file/Path/FileAttributes.java.i
+data/test/sun/util/calendar/Bug6653944.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/Token.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java.i
data/test/com/sun/net/httpserver/bugs/B6529200.java.i
-data/src/share/classes/javax/crypto/spec/DHPrivateKeySpec.java.i
+data/src/share/classes/com/sun/media/sound/SF2LayerRegion.java.i
data/src/share/classes/javax/swing/plaf/metal/icons/sortDown.png.i
-data/test/com/sun/tools/attach/PermissionTests.sh.i
-data/make/tools/CharsetMapping/IBM1383.map.i
+data/src/share/classes/com/sun/tools/example/debug/bdi/ParseException.java.i
+data/test/java/rmi/activation/ActivationSystem/modifyDescriptor/security.policy.i
data/src/share/native/java/lang/fdlibm/src/s_finite.c.i
-data/src/share/classes/com/sun/tracing/ProbeName.java.i
-data/src/solaris/native/sun/java2d/loops/mlib_v_ImageXor.c.i
+data/src/share/classes/javax/print/event/package.html.i
data/src/share/demo/jfc/TableExample/JDBCAdapter.java.i
-data/src/share/classes/com/sun/jndi/ldap/sasl/LdapSasl.java.i
data/src/share/classes/javax/swing/BorderFactory.java.i
data/src/solaris/classes/sun/awt/X11/XPopupMenuPeer.java.i
data/make/common/Defs-windows.gmk.i
@@ -7499,26 +7529,29 @@ data/make/tools/src/build/tools/dtdbuilder/DTDParser.java.i
data/src/share/classes/sun/io/CharToByteMS950_HKSCS.java.i
data/src/share/classes/com/sun/jdi/PathSearchingVirtualMachine.java.i
data/src/share/native/sun/java2d/loops/ByteIndexed.h.i
-data/src/share/classes/sun/util/resources/CalendarData_en_IE.properties.i
+data/src/share/classes/java/awt/MenuItem.java.i
data/test/java/nio/channels/SocketChannel/Write.java.i
data/make/tools/CharsetMapping/IBM1097.map.i
-data/test/javax/sound/midi/Gervill/SoftReceiver/Send_ProgramChange.java.i
+data/src/share/classes/sun/rmi/rmic/newrmic/jrmp/Constants.java.i
+data/test/java/rmi/activation/Activatable/restartCrashedService/security.policy.i
data/src/share/classes/sun/nio/cs/ext/IBM284.java.i
data/src/share/native/sun/font/layout/SubstitutionLookups.cpp.i
data/test/com/sun/jdi/sde/TemperatureTable.sde.i
data/src/share/classes/java/awt/MultipleGradientPaintContext.java.i
data/test/sun/security/x509/AVA/BadName.java.i
data/src/share/classes/javax/naming/Name.java.i
-data/test/java/util/concurrent/ThreadPoolExecutor/ThrowingTasks.java.i
+data/test/sun/management/windows/README.i
data/src/share/demo/jvmti/hprof/hprof_monitor.h.i
-data/src/share/demo/java2d/J2DBench/README.i
-data/src/share/classes/javax/swing/text/rtf/RTFAttributes.java.i
+data/test/org/openjdk/jigsaw/ModuleInfoBuilder.java.i
+data/test/java/lang/Throwable/LocalizedMessage.java.i
data/src/share/classes/javax/swing/JTextArea.java.i
+data/test/com/sun/jdi/RefTypes.java.i
+data/src/share/classes/sun/io/CharToByteMacTurkish.java.i
data/src/share/classes/sun/applet/resources/MsgAppletViewer.java.i
data/test/java/beans/Introspector/4520754/FooBar.java.i
-data/src/share/classes/sun/security/provider/certpath/X509CertPath.java.i
+data/src/share/native/sun/awt/libpng/pngwio.c.i
data/src/share/classes/sun/java2d/DisposerRecord.java.i
-data/src/share/classes/java/rmi/package.html.i
+data/src/share/classes/com/sun/java/swing/plaf/motif/icons/image-delayed.png.i
data/test/javax/swing/JPopupMenu/6495920/bug6495920.java.i
data/src/share/demo/jvmti/compiledMethodLoad/compiledMethodLoad.c.i
data/test/com/sun/servicetag/TestLoadFromXML.java.i
@@ -7530,22 +7563,23 @@ data/src/share/classes/javax/swing/plaf/basic/BasicSpinnerUI.java.i
data/test/java/nio/channels/DatagramChannel/IsBound.java.i
data/test/java/awt/Component/F10TopToplevel/F10TopToplevel.html.i
data/src/share/classes/javax/security/auth/login/LoginContext.java.i
-data/make/tools/CharsetMapping/IBM420.c2b.i
-data/test/java/util/Vector/LastIndexOf.java.i
+data/make/sun/jar/Makefile.i
+data/src/share/classes/javax/swing/event/PopupMenuListener.java.i
data/src/share/classes/sun/security/ssl/SSLServerSocketFactoryImpl.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMPGPData.java.i
data/test/java/beans/XMLEncoder/java_util_Collections_UnmodifiableSortedMap.java.i
data/src/share/classes/sun/util/resources/CalendarData_sv.properties.i
-data/test/com/sun/jdi/SuspendNoFlagTest.sh.i
+data/make/tools/CharsetMapping/IBM856.map.i
data/test/java/security/AccessControlContext/FailureDebugOption.java.i
-data/src/share/classes/com/sun/management/UnixOperatingSystemMXBean.java.i
+data/src/share/classes/sun/tools/jconsole/LocalVirtualMachine.java.i
+data/src/share/classes/sun/dyn/ToGeneric.java.i
data/src/solaris/classes/sun/awt/X11/XDataTransferer.java.i
data/test/com/sun/crypto/provider/Cipher/PBE/PBEParametersTest.java.i
data/src/share/classes/sun/nio/ch/AsynchronousChannelGroupImpl.java.i
data/test/com/sun/management/OperatingSystemMXBean/GetFreePhysicalMemorySize.java.i
data/make/org/ietf/jgss/FILES_java.gmk.i
-data/src/share/classes/sun/security/krb5/internal/UDPClient.java.i
-data/test/java/nio/channels/FileChannel/ReleaseOnCloseDeadlock.java.i
+data/src/share/classes/com/sun/java/swing/plaf/motif/MotifDesktopPaneUI.java.i
+data/make/sun/font/reorder-sparcv9.i
data/src/solaris/classes/sun/awt/X11/XSystemTrayPeer.java.i
data/test/javax/security/auth/SubjectDomainCombiner/Regression.policy.i
data/test/sun/nio/cs/OLD/X11GBK_OLD.java.i
@@ -7556,17 +7590,15 @@ data/src/share/classes/sun/awt/AWTAutoShutdown.java.i
data/src/share/native/sun/awt/medialib/mlib_ImageConvClearEdge_Fp.c.i
data/test/java/security/cert/CertPathValidator/nameConstraintsRFC822/jane2steve.cer.i
data/test/java/beans/Introspector/Test4896879.java.i
-data/src/share/classes/com/sun/media/sound/JSSecurityManager.java.i
-data/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form.i
-data/test/com/sun/jdi/PopSynchronousTest.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_en_US.properties.i
+data/test/javax/management/query/CustomQueryTest.java.i
data/src/share/classes/sun/java2d/opengl/OGLDrawImage.java.i
+data/test/sun/tools/jstat/lineCounts2.awk.i
data/test/com/sun/net/httpserver/Test11.java.i
data/test/sun/security/provider/PolicyParser/BogusGrants.java.i
-data/src/share/native/sun/font/layout/LELanguages.h.i
-data/test/com/sun/crypto/provider/TLS/prfdata.txt.i
-data/src/share/classes/sun/io/ByteToCharCp1097.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509CertificateResolver.java.i
-data/src/windows/native/sun/java2d/d3d/D3DPaints.cpp.i
+data/src/share/demo/applets/SortDemo/example1.html.i
+data/test/java/awt/Focus/NonFocusableWindowTest/NonfocusableOwnerTest.java.i
+data/test/javax/management/mxbean/CustomTypeTest.java.i
data/test/java/util/Locale/data/deflocale.jds3.i
data/src/share/classes/sun/security/jgss/krb5/Krb5AcceptCredential.java.i
data/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUI.java.i
@@ -7577,50 +7609,53 @@ data/test/java/rmi/transport/pinClientSocketFactory/PinClientSocketFactory.java.
data/src/share/classes/java/rmi/RMISecurityException.java.i
data/src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Client.java.i
data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirConfigMXBean.java.i
-data/src/share/classes/sun/util/resources/CurrencyNames_be_BY.properties.i
+data/make/tools/swing-beans/SwingBeanInfo.template.i
+data/test/sun/tools/jcmd/jcmd-help-help.sh.i
data/make/tools/swing-beans/beaninfo/images/JRootPaneColor32.gif.i
-data/test/java/io/Serializable/available/Available.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transforms.java.i
data/test/javax/management/remote/mandatory/subjectDelegation/policy31.i
data/test/sun/security/tools/jarsigner/checkusage.sh.i
-data/src/share/classes/sun/java2d/Surface.java.i
+data/src/share/native/sun/awt/libpng/pngrutil.c.i
data/test/java/lang/Double/NaNInfinityParsing.java.i
-data/test/java/awt/Component/isLightweightCrash/StubPeerCrash.java.i
+data/src/share/classes/com/sun/jmx/namespace/serial/RoutingOnlyProcessor.java.i
data/test/java/security/ProtectionDomain/Recursion.java.i
-data/src/share/classes/javax/management/event/EventReceiver.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ClientHandshaker/RSAExport.java.i
data/test/java/net/MulticastSocket/TestDefaults.java.i
-data/src/share/classes/sun/rmi/rmic/IndentingWriter.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/GoodProvider.java.i
data/test/com/sun/security/auth/login/ConfigFile/IllegalURL.java.i
-data/src/share/classes/sun/security/util/DerInputBuffer.java.i
+data/test/tools/jar/JarEntryTime.java.i
+data/test/java/lang/String/IndexOfEmptyInEmpty.java.i
data/test/com/sun/security/auth/module/KeyStoreLoginModule/OptionTest.keystore.i
-data/src/linux/doc/man/schemagen.1.i
-data/src/windows/native/sun/nio/ch/FileDispatcher.c.i
+data/src/share/classes/java/util/concurrent/CancellationException.java.i
+data/test/java/io/File/SetLastModified.java.i
data/src/share/classes/sun/print/BackgroundServiceLookup.java.i
-data/make/netbeans/common/file-view.ent.i
+data/test/com/sun/java/swing/plaf/gtk/Test6635110.java.i
data/test/javax/xml/crypto/dsig/data/signature-x509-crt.xml.i
-data/test/java/util/concurrent/locks/ReentrantLock/LoopHelpers.java.i
+data/src/solaris/classes/java/net/DefaultDatagramSocketImplFactory.java.i
data/src/windows/classes/sun/font/NativeFont.java.i
+data/test/javax/xml/crypto/dsig/data/signature-external-b64-dsa.xml.i
data/src/share/classes/javax/management/namespace/JMXNamespaceMBean.java.i
data/test/java/nio/channels/SocketChannel/CloseRegisteredChannel.java.i
data/make/tools/swing-beans/beaninfo/images/JColorChooserColor16.gif.i
data/test/java/security/ProtectionDomain/CheckWhatYouGet.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppOutputStream/NoExceptionOnClose.java.i
-data/test/sun/security/krb5/NegativeNonce.java.i
-data/src/share/classes/java/nio/file/WatchEvent.java.i
+data/test/java/awt/PrintJob/Text/StringWidth.java.i
data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputTests.java.i
+data/src/share/classes/com/sun/java/swing/plaf/motif/MotifMenuBarUI.java.i
data/src/solaris/classes/sun/awt/motif/MGlobalCursorManager.java.i
data/make/sun/jpeg/reorder-i586.i
-data/src/share/native/sun/security/ec/mp_gf2m.h.i
data/make/com/sun/jndi/rmi/Makefile.i
data/test/java/math/BigDecimal/EqualsTests.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmRTClassPathTableMeta.java.i
+data/test/java/security/Security/removing/RemoveStaticProvider.java.i
data/test/sun/management/jmxremote/bootstrap/CustomLauncherTest.sh.i
data/src/share/classes/sun/util/resources/LocaleNames_pt_BR.properties.i
data/src/solaris/classes/sun/awt/motif/MChoicePeer.java.i
-data/test/sun/pisces/JoinMiterTest.java.i
-data/test/java/lang/System/Available.java.i
-data/test/java/util/Collections/AddAll.java.i
+data/make/com/sun/demo/jvmti/Makefile.i
+data/test/javax/xml/crypto/dsig/data/envelope.xml.i
+data/src/share/classes/sun/io/CharToByteCp424.java.i
data/test/java/io/Serializable/oldTests/ArrayTest.java.i
-data/src/share/native/sun/java2d/loops/AlphaMacros.c.i
+data/src/share/native/sun/awt/medialib/mlib_ImageLookUp_Bit.c.i
data/test/javax/management/security/AvoidGetMBeanInfoCallsTest.java.i
data/src/share/classes/sun/security/util/AuthResources_zh_TW.java.i
data/src/share/native/org/openjdk/jigsaw/BootLoader.c.i
@@ -7628,335 +7663,357 @@ data/src/share/demo/jfc/Font2DTest/resources/resource.data.i
data/src/share/classes/sun/net/TelnetOutputStream.java.i
data/src/share/classes/sun/net/www/protocol/netdoc/Handler.java.i
data/test/java/rmi/reliability/benchmark/bench/rmi/RemoteObjArrayCalls.java.i
-data/test/sun/security/ssl/sanity/ciphersuites/CheckCipherSuites.java.i
+data/src/share/classes/javax/imageio/spi/IIORegistry.java.i
data/src/share/classes/java/util/jar/JarInputStream.java.i
-data/test/java/io/Serializable/oldTests/WritePrimitive.java.i
data/src/share/demo/jvmti/hprof/hprof_frame.h.i
-data/test/sun/security/krb5/auto/OkAsDelegate.java.i
+data/src/share/classes/com/sun/tools/hat/internal/server/OQLQuery.java.i
data/src/share/classes/javax/imageio/spi/ImageOutputStreamSpi.java.i
data/test/java/text/BreakIterator/MirroredBreakIterator.java.i
+data/test/java/io/FileDescriptor/Sharing.java.i
data/src/solaris/classes/sun/awt/windows/ThemeReader.java.i
-data/src/share/classes/sun/util/resources/LocaleNames_en_SG.properties.i
-data/test/com/sun/jdi/connect/spi/NullTransportService.java.i
+data/src/share/classes/sun/io/CharToByteCp860.java.i
+data/src/solaris/classes/sun/management/FileSystemImpl.java.i
data/src/share/sample/scripting/scriptpad/src/resources/Main.js.i
-data/test/sun/nio/cs/StrCodingBenchmark.java.i
+data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/DirectoryScannerConfig.java.i
data/test/sun/management/jmxremote/bootstrap/management_ssltest08_ko.properties.in.i
-data/test/sun/nio/cs/TestUTF8.java.i
+data/make/tools/CharsetMapping/IBM935.c2b.i
data/test/javax/naming/ldap/LdapName/CompareToEqualsTests.java.i
data/src/share/classes/java/awt/doc-files/AWTThreadIssues.html.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageChannelExtract.h.i
-data/make/modules/modules.config.i
+data/src/share/classes/java/text/Collator.java.i
+data/src/solaris/classes/sun/awt/motif/MWindowPeer.java.i
data/test/java/rmi/activation/ActivationSystem/modifyDescriptor/ModifyDescriptor_Stub.java.i
data/src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileSystemProvider.java.i
data/src/share/classes/sun/security/ssl/AppOutputStream.java.i
data/test/com/sun/jdi/LineNumberOnBraceTest.java.i
data/test/sun/security/provider/certpath/ReverseBuilder/prjMcrl.i
+data/test/javax/management/remote/mandatory/notif/RMINotifTest.java.i
data/test/sun/tools/jhat/jmap.bin.i
data/test/javax/management/mxbean/GenericArrayTypeTest.java.i
data/src/share/classes/sun/awt/im/InputMethodPopupMenu.java.i
data/make/sun/rmi/oldtools/Makefile.i
data/src/share/classes/java/awt/TexturePaintContext.java.i
data/test/java/nio/charset/coders/Util.java.i
-data/src/share/classes/com/sun/jmx/snmp/SnmpGauge.java.i
-data/src/share/native/sun/nio/ch/nio.h.i
+data/test/java/io/File/GetParent.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SubjectNameResolver.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifTreeUI.java.i
data/test/demo/jvmti/gctest/Gctest.java.i
-data/src/share/native/sun/awt/medialib/mlib_ImageConv_D64nw.c.i
+data/test/javax/management/descriptor/ImmutableDescriptorSerialTest.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/icons/JavaCup32.png.i
data/src/share/classes/sun/swing/SwingUtilities2.java.i
-data/test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/KeepAliveDuringCall_Stub.java.i
-data/test/java/security/cert/CertPathValidator/nameConstraints/NameConstraintsWithUnexpectedRID.java.i
+data/src/share/native/java/util/zip/zlib-1.2.5/gzread.c.i
+data/src/windows/native/sun/java2d/windows/RegistryKey.h.i
+data/src/share/native/sun/awt/libpng/pngdebug.h.i
data/src/share/classes/com/sun/jmx/snmp/internal/SnmpSecuritySubSystem.java.i
data/src/share/classes/javax/xml/crypto/dsig/Reference.java.i
-data/test/sun/java2d/DirectX/TransformedPaintTest/TransformedPaintTest.java.i
+data/src/share/classes/sun/tools/jconsole/inspector/XTree.java.i
data/test/tools/pack200/pack200-verifier/src/xmlkit/ClassWriter.java.i
data/test/tools/launcher/ExecutionEnvironment.java.i
-data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsSocketFacTest.java.i
-data/test/java/net/URL/SpecifyHandler.java.i
+data/make/tools/swing-beans/beaninfo/images/JPopupMenuMono32.gif.i
+data/src/share/classes/sun/net/NetworkServer.java.i
+data/src/share/classes/javax/swing/text/TabStop.java.i
data/test/org/openjdk/jigsaw/_PublishedRepository.java.i
data/test/sun/security/provider/certpath/ReverseBuilder/mgrMcrl.i
data/src/linux/doc/man/ja/appletviewer.1.i
data/src/share/classes/javax/swing/undo/doc-files/UndoManager-1.gif.i
data/test/java/awt/Focus/FrameMinimizeTest/FrameMinimizeTest.java.i
-data/test/java/net/ServerSocket/AcceptCauseFileDescriptorLeak.java.i
+data/test/java/nio/charset/CharsetEncoder/CanEncode.java.i
data/test/java/lang/Integer/BitTwiddle.java.i
data/make/com/sun/nio/sctp/FILES_c.gmk.i
-data/test/sun/net/www/protocol/jar/B5105410.java.i
+data/test/java/awt/Mouse/MouseModifiersUnitTest/ExtraButtonDrag.java.i
data/test/java/io/Serializable/resolveClass/deserializeButton/Test.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiSplitPaneUI.java.i
data/src/share/classes/com/sun/jmx/mbeanserver/PerThreadGroupPool.java.i
data/test/sun/security/krb5/auto/IgnoreChannelBinding.java.i
-data/src/share/classes/sun/reflect/UnsafeStaticCharacterFieldAccessorImpl.java.i
+data/src/windows/classes/java/net/PlainSocketImpl.java.i
+data/make/tools/classanalyzer/src/com/sun/classanalyzer/Dependence.java.i
data/test/java/awt/Focus/ChoiceFocus/ChoiceFocus.java.i
data/make/com/sun/net/httpserver/Makefile.i
-data/test/java/lang/Character/Scripts.txt.i
-data/src/share/classes/sun/util/resources/CurrencyNames_ar_BH.properties.i
+data/src/share/classes/sun/io/ByteToCharDBCS_ASCII.java.i
+data/src/share/classes/sun/reflect/generics/repository/GenericDeclRepository.java.i
data/src/share/sample/scripting/scriptpad/src/scripts/memory.bat.i
-data/test/java/awt/Focus/CloseDialogActivateOwnerTest/CloseDialogActivateOwnerTest.java.i
+data/src/share/classes/sun/util/resources/CalendarData_es_US.properties.i
data/test/sun/nio/cs/X11CNS11643P1.java.i
data/test/java/lang/annotation/package-info.java.i
-data/test/com/sun/jdi/ExclusiveBind.java.i
+data/src/share/classes/sun/reflect/UnsafeQualifiedObjectFieldAccessorImpl.java.i
data/test/com/sun/management/ThreadMXBean/ThreadAllocatedMemory.java.i
-data/src/share/classes/java/util/Queue.java.i
-data/src/windows/resource/icons/awt.ico.i
+data/src/share/classes/javax/swing/event/EventListenerList.java.i
data/test/java/io/Serializable/defaultReadObjectCNFException/DefaultReadObjectCNFException.java.i
data/test/com/sun/jdi/EarlyReturnNegativeTest.java.i
-data/src/share/classes/javax/management/AttributeChangeNotification.java.i
+data/src/share/classes/sun/misc/SharedSecrets.java.i
+data/src/share/classes/javax/swing/JLayeredPane.java.i
data/test/sun/security/util/HostnameMatcher/cert1.crt.i
data/src/share/classes/sun/security/ssl/HandshakeOutStream.java.i
data/test/java/util/prefs/RemoveReadOnlyNode.java.i
+data/src/windows/native/java/net/net_util_md.h.i
data/test/java/lang/management/ManagementFactory/ValidateOpenTypes.java.i
data/src/share/classes/javax/swing/plaf/TableUI.java.i
+data/src/share/sample/jmx/jmx-scandir/index.html.i
data/src/linux/doc/man/jar.1.i
+data/make/sun/nio/Makefile.i
data/src/share/classes/sun/security/krb5/internal/KDCReqBody.java.i
data/src/share/classes/java/awt/color/ICC_Profile.java.i
data/src/solaris/native/sun/java2d/loops/vis_SrcOverMaskFill.c.i
data/src/share/classes/com/sun/tools/jdi/DoubleValueImpl.java.i
data/make/tools/GenerateCharacter/CharacterData01.java.template.i
-data/src/share/native/sun/java2d/loops/IntDcm.h.i
-data/test/com/sun/crypto/provider/Cipher/CTR/CounterMode.java.i
-data/test/java/net/CookieHandler/NullUriCookieTest.java.i
+data/src/share/classes/java/util/jar/Pack200.java.i
+data/test/javax/swing/plaf/synth/7032791/bug7032791.java.i
+data/test/javax/sound/midi/Gervill/ModelSource/SetTransform.java.i
+data/test/java/awt/font/TextLayout/TestTibetan.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_zh_CN.properties.i
-data/src/share/classes/javax/swing/text/TextLayoutStrategy.java.i
-data/src/share/classes/com/sun/management/package.html.i
-data/test/org/openjdk/jigsaw/remrepo.sh.i
-data/src/solaris/doc/sun/man/man1/native2ascii.1.i
-data/test/java/lang/Class/getEnclosingMethod/EnclosingMethodTests.java.i
+data/src/share/classes/sun/nio/cs/ext/IBM424.java.i
+data/src/linux/doc/man/jinfo.1.i
+data/src/share/classes/java/awt/AlphaComposite.java.i
data/src/share/classes/com/sun/crypto/provider/CounterMode.java.i
data/src/share/classes/sun/net/www/MimeTable.java.i
-data/src/share/classes/javax/swing/undo/CompoundEdit.java.i
-data/src/share/classes/sun/font/CoreMetrics.java.i
-data/src/share/classes/sun/security/acl/OwnerImpl.java.i
-data/src/share/classes/sun/java2d/loops/CustomComponent.java.i
+data/test/sun/security/krb5/ParseConfig.java.i
+data/test/sun/security/pkcs/EncryptedPrivateKeyInfo/EncryptedPKInfoEqualsHashCode.java.i
+data/src/share/classes/java/awt/geom/QuadIterator.java.i
+data/make/tools/CharsetMapping/IBM933.map.i
data/test/sun/tools/jps/vmflags.i
-data/test/java/beans/XMLEncoder/javax_swing_plaf_BorderUIResource_MatteBorderUIResource.java.i
+data/src/share/demo/jvmti/gctest/README.txt.i
data/src/share/native/sun/awt/medialib/mlib_ImageClipping.c.i
data/make/tools/CharsetMapping/IBM948.map.i
+data/src/share/classes/javax/print/attribute/Attribute.java.i
data/src/share/classes/sun/tools/tree/DeclarationStatement.java.i
-data/test/java/rmi/activation/rmidViaInheritedChannel/rmid.security.policy.i
+data/src/solaris/demo/jni/Poller/PollingServer.java.i
data/src/share/classes/javax/management/QueryParser.java.i
data/test/sun/rmi/rmic/newrmic/equivalence/CountInterface.java.i
-data/src/share/classes/javax/swing/AbstractListModel.java.i
-data/test/java/beans/PropertyEditor/TestDoubleClassValue.java.i
+data/src/share/classes/sun/text/resources/FormatData_sl.java.i
data/test/java/lang/ClassLoader/GetDotResource.java.i
data/src/share/classes/com/sun/media/sound/SoftResampler.java.i
-data/test/sun/management/jmxremote/bootstrap/management_test06_ok.properties.in.i
-data/src/share/classes/javax/swing/tree/VariableHeightLayoutCache.java.i
+data/src/share/classes/com/sun/tools/example/debug/tty/ThreadGroupIterator.java.i
data/src/share/classes/sun/misc/Service.java.i
data/test/sun/nio/cs/StrCodingBenchmarkUTF8.java.i
data/src/share/native/sun/java2d/cmm/lcms/cmsopt.c.i
data/src/share/classes/sun/misc/JavaNetAccess.java.i
-data/test/java/rmi/reliability/benchmark/bench/rmi/BooleanCalls.java.i
-data/test/sun/security/ssl/etc/unknown_keystore.i
+data/make/modules/tools/src/com/sun/classanalyzer/BootAnalyzer.java.i
data/src/share/classes/sun/nio/ch/SocketAdaptor.java.i
data/src/share/demo/nbproject/jfc/SampleTree/nbproject/jdk.xml.i
-data/test/java/util/PluggableLocale/BreakIteratorProviderTest.sh.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/signature/SignedInfo.java.i
data/test/javax/management/modelmbean/DefaultDescriptorFieldTest.java.i
data/src/share/demo/nbproject/scripting/jconsole-plugin/build.xml.i
data/test/sun/security/krb5/auto/Context.java.i
data/test/java/net/Inet6Address/B6214234.java.i
data/src/share/demo/nbproject/jfc/FileChooserDemo/build.xml.i
data/src/share/classes/javax/swing/text/package.html.i
-data/src/share/classes/javax/script/ScriptContext.java.i
-data/src/share/native/sun/font/layout/StateTableProcessor.cpp.i
+data/test/sun/security/pkcs11/KeyStore/BasicData/ca.key.i
+data/src/share/classes/com/sun/security/jgss/GSSUtil.java.i
data/src/share/classes/javax/security/auth/callback/ChoiceCallback.java.i
data/src/share/classes/com/sun/security/jgss/ExtendedGSSContext.java.i
data/src/share/classes/java/text/spi/package.html.i
data/src/share/classes/sun/security/tools/TimestampedSigner.java.i
-data/src/windows/classes/sun/awt/windows/WScrollPanePeer.java.i
-data/src/share/classes/java/util/SortedSet.java.i
-data/test/java/io/RandomAccessFile/skipBytes/input.txt.i
+data/test/sun/security/provider/PolicyFile/nullDomain.java.i
+data/src/share/classes/com/sun/media/sound/SoftLimiter.java.i
+data/src/solaris/native/sun/awt/awt_Component.h.i
data/test/java/io/Serializable/evolution/AddedSuperClass/WriteAddedSuperClass.java.i
-data/src/share/native/com/sun/media/sound/Utilities.h.i
+data/src/share/classes/sun/management/snmp/jvmmib/JvmRTLibraryPathEntryMeta.java.i
data/src/share/classes/sun/util/resources/CalendarData_ar.properties.i
+data/test/java/lang/Double/ToHexString.java.i
data/src/share/classes/java/util/regex/MatchResult.java.i
data/test/sun/security/krb5/ServiceNameClone.java.i
+data/test/java/rmi/reliability/benchmark/bench/rmi/DoubleCalls.java.i
data/test/java/nio/Buffer/Basic-X.java.i
+data/test/com/oracle/security/ucrypto/UcryptoTest.java.i
data/make/com/sun/rowset/Makefile.i
data/src/solaris/classes/sun/awt/motif/MFramePeer.java.i
+data/src/share/classes/sun/dyn/util/VerifyAccess.java.i
data/src/solaris/classes/sun/print/UnixPrintService.java.i
data/src/share/native/sun/font/layout/OpenTypeLayoutEngine.cpp.i
-data/make/common/shared/Compiler.gmk.i
data/src/share/classes/sun/util/resources/LocaleNames_hi.properties.i
-data/src/share/classes/javax/swing/text/doc-files/Document-remove.gif.i
-data/src/share/classes/sun/rmi/server/resources/rmid_sv.properties.i
+data/test/java/lang/System/SecurityRace.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_ar_LB.properties.i
data/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java.i
data/src/share/classes/sun/security/jgss/krb5/AcceptSecContextToken.java.i
-data/make/tools/CharsetMapping/IBM949.map.i
-data/src/share/classes/java/awt/CardLayout.java.i
+data/src/share/classes/com/sun/tools/example/debug/gui/JDBToolBar.java.i
+data/make/tools/CharsetMapping/IBM921.map.i
data/src/share/native/sun/java2d/loops/AlphaMath.h.i
data/test/java/security/Policy/GetInstance/GetInstance.java.i
-data/src/share/classes/sun/io/ByteToCharJIS0212_Solaris.java.i
+data/test/java/io/Serializable/superclassDataLoss/B.java.i
data/src/share/classes/sun/tools/jconsole/resources/disconnected16.png.i
data/src/solaris/classes/sun/java2d/jules/JulesTile.java.i
data/test/sun/net/www/http/KeepAliveCache/KeepAliveTimerThread.java.i
data/test/java/net/NetworkInterface/Equals.java.i
data/src/share/native/sun/awt/splashscreen/java_awt_SplashScreen.c.i
data/src/share/classes/sun/io/ByteToCharMacUkraine.java.i
-data/src/share/classes/com/sun/media/sound/AudioFloatInputStream.java.i
+data/src/share/classes/sun/io/CharToByteHKSCS.java.i
data/test/java/net/ProxySelector/SystemProxies.java.i
-data/src/share/classes/sun/jvmstat/monitor/event/MonitorStatusChangeEvent.java.i
+data/make/modules/tools/src/com/sun/classanalyzer/Module.java.i
data/src/share/classes/javax/management/monitor/GaugeMonitor.java.i
data/src/share/demo/jfc/Notepad/resources/open.gif.i
data/src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageConvClearEdge.c.i
-data/src/share/classes/javax/net/ssl/SSLContext.java.i
+data/src/share/classes/sun/security/tools/CertAndKeyGen.java.i
+data/src/share/classes/javax/sound/midi/MidiFileFormat.java.i
data/test/sun/security/provider/PolicyFile/getinstance/TwoArgPermission.java.i
-data/src/share/classes/sun/io/CharToByteJIS0208_Solaris.java.i
+data/src/share/classes/com/sun/tracing/dtrace/ProviderAttributes.java.i
data/test/sun/net/InetAddress/nameservice/simple/SimpleNameServiceDescriptor.java.i
data/src/windows/native/sun/jkernel/kernel_de.rc.i
-data/src/share/classes/java/io/UTFDataFormatException.java.i
+data/src/share/native/sun/font/layout/LigatureSubstitution.h.i
data/test/java/util/Map/LockStep.java.i
+data/src/share/classes/javax/swing/undo/UndoableEditSupport.java.i
data/src/share/native/java/util/zip/zlib-1.2.3/patches/crc32.c.diff.i
-data/test/com/sun/security/auth/login/ConfigFile/EmptyOption.java.i
-data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/font/Typeface.java.i
-data/src/share/classes/sun/security/krb5/Realm.java.i
-data/src/share/classes/sun/misc/JarIndex.java.i
-data/make/tools/CharsetMapping/IBM864.map.i
-data/src/share/classes/sun/security/ssl/MAC.java.i
+data/test/java/beans/PropertyEditor/TestFloatType.java.i
+data/src/share/classes/java/security/spec/ECFieldF2m.java.i
+data/src/windows/native/sun/windows/security_warning_bw.ico.i
+data/src/share/classes/javax/swing/plaf/nimbus/OuterGlowEffect.java.i
+data/test/tools/launcher/unresolvedExceptions.sh.i
data/test/demo/zipfs/PathOps.java.i
data/src/windows/classes/sun/awt/windows/WColor.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/ServerIdentityTest.java.i
+data/test/sun/util/resources/Locale/Bug4965260.java.i
+data/test/sun/rmi/rmic/newrmic/equivalence/OrangeEchoImpl.java.i
data/test/com/sun/net/httpserver/TestLogging.java.i
-data/test/java/net/Socket/TestClose.java.i
+data/src/share/classes/sun/io/CharToByteJIS0212.java.i
data/test/org/openjdk/jigsaw/install-files.sh.i
-data/src/windows/native/sun/windows/awt_Insets.cpp.i
+data/test/java/lang/instrument/RedefineBigClassApp.java.i
+data/test/javax/management/remote/mandatory/passwordAuthenticator/RMIPasswdAuthTest.java.i
+data/make/mkdemo/jvmti/heapTracker/Makefile.i
data/src/share/classes/sun/awt/image/ShortComponentRaster.java.i
-data/src/share/classes/java/dyn/ToGeneric.java.i
+data/src/share/classes/com/sun/jndi/ldap/LdapEntry.java.i
+data/test/demo/jvmti/hprof/HelloWorld.java.i
data/test/sun/net/www/ParseUtil_4922813.java.i
data/src/share/classes/sun/io/ByteToCharMS949.java.i
data/src/solaris/classes/sun/java2d/jules/TrapezoidList.java.i
data/src/share/classes/sun/jkernel/Bundle.java.i
data/test/java/lang/Math/Log10Tests.java.i
-data/src/windows/native/sun/windows/awt_Cursor.h.i
-data/test/javax/swing/Security/6657138/bug6657138.java.i
+data/src/share/classes/java/security/AuthProvider.java.i
+data/test/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.html.i
data/src/share/classes/sun/jvmstat/monitor/event/HostEvent.java.i
-data/test/javax/swing/text/html/parser/Parser/6990651/bug6990651.java.i
-data/src/share/native/java/lang/fdlibm/src/w_acos.c.i
+data/test/java/net/URLConnection/RedirectLimit.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_ko_KR.properties.i
data/test/sun/security/ssl/javax/net/ssl/NewAPIs/testEnabledProtocols.java.i
data/src/share/classes/java/lang/module/VersionQuery.java.i
data/src/share/classes/java/lang/module/Version.java.i
-data/src/share/classes/java/beans/Introspector.java.i
-data/test/javax/script/ProviderTest.java.i
+data/src/share/classes/sun/font/GlyphDisposedListener.java.i
+data/src/share/classes/org/openjdk/internal/joptsimple/UnrecognizedOptionException.java.i
data/src/share/classes/javax/print/attribute/package.html.i
data/test/java/rmi/activation/ActivateFailedException/activateFails/ActivateFails.java.i
data/src/share/classes/sun/tools/jconsole/MemoryPoolProxy.java.i
+data/test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJobHeadless.java.i
+data/src/share/classes/sun/security/pkcs12/MacData.java.i
data/test/sun/security/pkcs11/nss/lib/windows-i586/nss3.dll.i
data/src/share/classes/sun/security/x509/certAttributes.html.i
data/test/javax/swing/text/GlyphView/6539700/bug6539700.java.i
data/src/share/classes/sun/text/resources/FormatData_sr_Latn_RS.java.i
data/src/share/classes/sun/reflect/UnsafeQualifiedDoubleFieldAccessorImpl.java.i
-data/src/share/classes/sun/security/pkcs11/JarVerifier.java.i
data/src/share/classes/com/sun/media/sound/SimpleInstrument.java.i
-data/src/linux/doc/man/jstatd.1.i
+data/test/java/beans/XMLDecoder/spec/TestNew.java.i
+data/src/share/classes/sun/management/snmp/jvminstr/JvmMemManagerEntryImpl.java.i
data/src/share/classes/java/awt/image/AreaAveragingScaleFilter.java.i
-data/test/javax/swing/JColorChooser/Test4461329.java.i
+data/make/tools/buildmetaindex/Makefile.i
data/src/share/classes/sun/invoke/anon/ConstantPoolParser.java.i
data/src/share/classes/sun/tools/jconsole/inspector/XSheet.java.i
data/src/share/classes/com/sun/media/sound/SoftLinearResampler2.java.i
-data/make/tools/src/build/tools/javazic/BackEnd.java.i
+data/src/share/native/sun/font/layout/MorphTables.cpp.i
data/test/java/net/InetAddress/B6296240.java.i
-data/test/sun/management/windows/README.i
+data/test/java/util/concurrent/ThreadPoolExecutor/ThrowingTasks.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInput.java.i
data/src/share/classes/com/sun/tools/example/debug/gui/SourceListener.java.i
data/src/share/classes/com/sun/tools/example/debug/gui/TypeScriptWriter.java.i
-data/make/tools/CharsetMapping/IBM856.map.i
+data/test/com/sun/jdi/SuspendNoFlagTest.sh.i
+data/test/java/lang/Class/forName/classes/Z.class.i
data/src/solaris/native/sun/nio/fs/LinuxWatchService.c.i
data/src/solaris/doc/sun/man/man1/orbd.1.i
data/src/share/native/sun/font/bidi/ubidiln.c.i
+data/make/tools/CharsetMapping/IBM1144.map.i
data/test/tools/launcher/TestHelper.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java.i
data/src/share/classes/sun/text/resources/FormatData_pl_PL.java.i
-data/test/java/awt/PrintJob/Text/StringWidth.java.i
+data/src/share/classes/java/nio/file/WatchEvent.java.i
data/src/share/native/sun/security/ec/impl/ecp_384.c.i
-data/test/javax/xml/crypto/dsig/data/envelope.xml.i
-data/src/share/native/sun/awt/image/jpeg/jdcolor.c.i
+data/test/java/lang/System/Available.java.i
data/test/com/sun/security/auth/login/ConfigFile/InnerClassConfig.java.i
data/src/share/native/java/util/zip/zlib-1.1.3/uncompr.c.i
-data/src/solaris/classes/sun/awt/motif/MWindowPeer.java.i
+data/make/modules/modules.config.i
data/src/share/classes/com/sun/tools/jdi/ValueContainer.java.i
data/src/share/classes/sun/text/normalizer/NormalizerImpl.java.i
-data/src/share/classes/sun/text/resources/FormatData_fr_LU.java.i
+data/test/java/util/concurrent/locks/ReentrantLock/TimeoutLockLoops.java.i
data/test/sun/security/ssl/sanity/pluggability/MySSLSocketFacImpl.java.i
+data/test/java/io/Reader/NullLock.java.i
data/test/sun/security/krb5/auto/BadKdc2.java.i
data/src/share/sample/vm/jvm-clr/invoked.cs.i
data/src/windows/native/sun/windows/security_warning.ico.i
-data/make/netbeans/common/share-view.ent.i
+data/test/com/sun/net/httpserver/bugs/B6433018.java.i
data/src/share/classes/javax/swing/Popup.java.i
-data/src/share/classes/javax/swing/event/EventListenerList.java.i
+data/src/share/classes/java/util/Queue.java.i
data/test/java/security/KeyFactory/GenerateRSAPrivateCrtKey.java.i
data/src/share/sample/scripting/scriptpad/src/com/sun/sample/scriptpad/Main.java.i
+data/test/java/rmi/reliability/benchmark/bench/rmi/IntArrayCalls.java.i
data/src/share/classes/sun/io/CharToByteKOI8_R.java.i
-data/src/share/classes/sun/text/resources/FormatData_sl.java.i
+data/test/java/rmi/activation/Activatable/restartCrashedService/ActivateMe.java.i
+data/src/share/classes/javax/swing/AbstractListModel.java.i
data/src/share/classes/sun/tools/tree/AssignBitOrExpression.java.i
data/src/share/classes/sun/io/ByteToCharCp420.java.i
-data/make/modules/tools/src/com/sun/classanalyzer/BootAnalyzer.java.i
+data/test/java/security/KeyRep/SerialOld.policy.i
data/src/share/classes/java/util/IllegalFormatConversionException.java.i
data/src/linux/doc/man/java.1.i
data/src/share/classes/sun/io/CharToByteISO8859_4.java.i
-data/test/sun/security/provider/PolicyParser/PrincipalExpansionErrorAction.java.i
-data/src/share/classes/com/sun/tools/example/debug/gui/JDBToolBar.java.i
-data/test/java/io/Serializable/superclassDataLoss/B.java.i
+data/test/java/util/EnumMap/DistinctEntrySetElements.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/XPath2FilterContainer04.java.i
+data/make/tools/CharsetMapping/IBM949.map.i
+data/src/share/classes/sun/io/ByteToCharJIS0212_Solaris.java.i
data/test/java/util/Locale/data/deflocale.win7.i
data/test/com/sun/jdi/ImmutableResourceTest.sh.i
data/src/share/classes/javax/swing/plaf/metal/icons/ocean/close.gif.i
-data/test/java/beans/PropertyEditor/TestFloatType.java.i
+data/src/share/classes/sun/security/krb5/Realm.java.i
data/test/java/beans/PropertyEditor/TestIntegerTypeJava.java.i
-data/src/share/classes/com/sun/jndi/ldap/LdapEntry.java.i
+data/src/share/classes/java/dyn/ToGeneric.java.i
data/src/share/demo/jvmti/heapTracker/heapTracker.c.i
data/src/share/classes/sun/security/smartcardio/CardImpl.java.i
data/test/java/rmi/server/UnicastRemoteObject/useDynamicProxies/security.policy.i
-data/src/share/native/sun/awt/image/jpeg/jidctred.c.i
data/src/share/classes/java/awt/event/NativeLibLoader.java.i
-data/test/java/io/FileOutputStream/FileOpenPos.java.i
-data/src/solaris/bin/java_md.h.i
+data/test/java/nio/channels/SelectionKey/AtomicAttachTest.java.i
+data/test/javax/swing/JInternalFrame/6725409/bug6725409.java.i
data/test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorTrustAnchor.java.i
data/src/share/classes/sun/reflect/UnsafeLongFieldAccessorImpl.java.i
data/test/java/rmi/transport/checkFQDN/TellServerName.java.i
data/src/share/native/sun/font/layout/KernTable.cpp.i
+data/make/tools/swing-beans/beaninfo/images/JTextPaneMono32.gif.i
data/test/sun/security/pkcs11/sslecc/keystore.i
-data/test/sun/security/pkcs11/nss/lib/solaris-i586/libplds4.so.i
-data/test/java/nio/channels/SelectionKey/AtomicAttachTest.java.i
+data/make/java/jexec/Makefile.i
+data/test/java/io/FileOutputStream/FileOpenPos.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthComboPopup.java.i
-data/src/share/classes/com/sun/media/sound/JavaSoundAudioClip.java.i
data/make/sun/rmi/Makefile.i
data/src/share/classes/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java.i
-data/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java.i
+data/src/share/classes/javax/swing/plaf/multi/package.html.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/PaintedShape.java.i
-data/src/share/classes/java/awt/ComponentOrientation.java.i
+data/src/share/classes/sun/text/resources/thai_dict.d
data/src/share/classes/sun/text/SupplementaryCharacterData.java.i
data/test/java/io/Serializable/verifyDynamicObjHandleTable/VerifyDynamicObjHandleTable.java.i
data/test/sun/security/provider/certpath/ReverseBuilder/mgrM2mgrM.i
data/src/windows/native/sun/security/krb5/WindowsDirectory.c.i
data/src/share/classes/javax/imageio/event/IIOReadUpdateListener.java.i
-data/src/share/classes/sun/net/httpserver/ContextList.java.i
+data/src/share/javavm/export/jvmticmlr.h.i
data/test/sun/security/krb5/PAData.java.i
-data/src/share/classes/java/io/CharArrayWriter.java.i
+data/test/java/rmi/MarshalledObject/compare/Compare.java.i
data/make/tools/swing-beans/beaninfo/images/JScrollPaneMono16.gif.i
data/src/solaris/classes/sun/awt/X11/XProtocolConstants.java.i
-data/src/share/classes/sun/security/acl/AllPermissionsImpl.java.i
data/src/share/classes/sun/security/krb5/KerberosSecrets.java.i
data/src/windows/native/sun/windows/awt_Choice.cpp.i
+data/src/share/classes/org/openjdk/jigsaw/LoaderPool.java.i
+data/src/share/native/java/util/zip/zlib-1.2.5/inffast.h.i
data/make/java/verify/Makefile.i
-data/src/share/classes/java/lang/InstantiationError.java.i
data/src/share/classes/java/awt/peer/ChoicePeer.java.i
data/make/com/oracle/net/Makefile.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/OuterGlowEffect.java.i
data/src/share/classes/com/sun/tools/example/debug/tty/PatternReferenceTypeSpec.java.i
+data/src/share/classes/sun/text/resources/thai_dict.i
data/test/tools/launcher/deleteI18n.sh.i
data/make/tools/src/build/tools/generatenimbus/ObjectFactory.java.i
data/src/share/classes/sun/nio/cs/ext/IBM037.java.i
-data/test/sun/security/mscapi/PublicKeyInterop.java.i
+data/src/share/classes/java/awt/im/spi/InputMethodContext.java.i
+data/test/sun/rmi/rmic/manifestClassPath/run.sh.i
data/test/demo/jvmti/heapTracker/HeapTrackerTest.java.i
+data/src/share/classes/javax/swing/text/html/parser/Parser.java.i
data/src/share/classes/java/beans/PersistenceDelegate.java.i
data/test/com/sun/security/sasl/digest/names.properties.i
data/src/windows/native/sun/nio/fs/RegistryFileTypeDetector.c.i
data/src/share/classes/sun/awt/WindowIDProvider.java.i
data/test/javax/script/DummyScriptEngineFactory.java.i
+data/src/share/classes/java/util/LinkedHashSet.java.i
data/make/com/sun/script/Makefile.i
data/src/share/classes/sun/security/provider/MD2.java.i
data/test/java/beans/XMLEncoder/java_awt_Font.java.i
-data/src/share/native/java/lang/Thread.c.i
+data/test/java/awt/Focus/AutoRequestFocusTest/AutoRequestFocusToFrontTest.java.i
+data/test/java/net/MulticastSocket/JoinGroup.java.i
data/src/share/classes/sun/security/x509/GeneralSubtree.java.i
data/test/sun/management/jmxremote/bootstrap/jmxremote_test05_ko.password.in.i
data/test/tools/pack200/pack200-verifier/make/build.xml.i
@@ -7967,27 +8024,27 @@ data/src/share/classes/java/rmi/server/Operation.java.i
data/src/share/native/sun/security/ec/impl/logtab.h.i
data/src/share/classes/sun/net/idn/StringPrep.java.i
data/src/share/classes/sun/io/CharToBytePCK.java.i
-data/test/java/nio/file/DirectoryStream/Basic.java.i
+data/test/javax/management/modelmbean/SimpleModelMBean/logging.properties.i
data/src/share/classes/com/sun/java/swing/plaf/windows/icons/File.gif.i
data/test/java/security/Policy/Root/Root.java.i
data/src/share/classes/com/sun/jndi/url/dns/dnsURLContext.java.i
data/test/sun/java2d/cmm/ColorConvertOp/SRGB565.png.i
data/test/java/util/ResourceBundle/Bug4179766Getter.java.i
data/src/share/classes/sun/reflect/UnsafeStaticDoubleFieldAccessorImpl.java.i
+data/test/java/util/ResourceBundle/Test4314141A_de_.properties.i
data/test/java/beans/XMLEncoder/java_awt_BorderLayout.java.i
+data/test/javax/management/namespace/VirtualMBeanNotifTest.java.i
data/src/share/classes/sun/text/resources/FormatData_ar_QA.java.i
+data/src/share/classes/sun/tools/jstat/OptionLister.java.i
data/test/java/nio/channels/DatagramChannel/BasicMulticastTests.java.i
data/src/windows/native/sun/nio/ch/FileKey.c.i
data/test/java/security/cert/CertPathValidator/trustAnchor/labs2isrg2.cer.i
-data/src/share/classes/sun/util/resources/LocaleNames_th.properties.i
+data/src/share/classes/sun/management/snmp/jvminstr/JvmMemPoolTableMetaImpl.java.i
data/src/share/classes/sun/swing/MenuItemLayoutHelper.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMIpMask.java.i
data/src/share/native/com/sun/java/util/jar/pack/coding.h.i
data/src/share/classes/sun/java2d/pipe/hw/AccelGraphicsConfig.java.i
data/src/share/classes/sun/io/CharToByteCp1006.java.i
-data/src/solaris/native/sun/java2d/loops/mlib_v_ImageLogic_proto.h.i
-data/src/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_CN.properties.i
-data/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByte.java.i
data/test/com/sun/jdi/NoLocInfoTest.java.i
data/test/java/nio/channels/FileChannel/TransferToChannel.java.i
data/src/share/classes/javax/naming/directory/package.html.i
@@ -7997,18 +8054,20 @@ data/src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java.i
data/src/share/classes/java/awt/Checkbox.java.i
data/src/share/classes/sun/font/StandardGlyphVector.java.i
data/make/tools/swing-beans/beaninfo/images/JTabbedPaneColor16.gif.i
+data/src/share/classes/com/sun/jmx/remote/util/EnvHelp.java.i
data/src/share/classes/javax/management/openmbean/OpenDataException.java.i
data/src/share/classes/javax/management/AttributeList.java.i
-data/src/share/classes/java/dyn/AdapterMethodHandle.java.i
data/src/share/classes/sun/jkernel/StandaloneSHA.java.i
data/src/share/classes/sun/nio/cs/IBM862.java.i
-data/make/java/java/reorder-sparc.i
-data/test/java/util/Locale/serialized/java6locale_en_US.i
+data/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form.i
+data/src/share/classes/sun/util/resources/CurrencyNames_lt_LT.properties.i
+data/test/java/util/Collections/RotateEmpty.java.i
data/test/java/rmi/reliability/juicer/security.policy.i
data/make/sun/javazic/javatz/java_win_ids.txt.i
data/src/windows/native/sun/windows/awt_InputTextInfor.h.i
data/src/share/native/sun/java2d/cmm/lcms/cmsps2.c.i
data/src/share/classes/org/openjdk/jigsaw/PublishedRepository.java.i
+data/src/windows/native/sun/windows/img_util_md.h.i
data/src/share/classes/com/sun/java/swing/plaf/motif/icons/Question.gif.i
data/src/share/classes/javax/crypto/spec/DHGenParameterSpec.java.i
data/src/share/classes/sun/nio/cs/IBM775.java.i
@@ -8024,7 +8083,6 @@ data/test/java/util/zip/DataDescriptor.java.i
data/test/java/util/jar/JarFile/VerifySignedJar.java.i
data/src/share/classes/java/awt/print/Book.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/GradientStop.java.i
-data/src/share/classes/javax/swing/plaf/multi/MultiInternalFrameUI.java.i
data/src/share/classes/java/util/UnknownFormatConversionException.java.i
data/src/share/classes/sun/nio/cs/ext/EUC_TW.java.d
data/make/tools/src/build/tools/javazic/Zone.java.i
@@ -8038,24 +8096,26 @@ data/src/share/demo/java2d/J2DBench/src/j2dbench/ui/EnableButton.java.i
data/src/share/classes/javax/xml/crypto/dsig/SignatureProperties.java.i
data/test/java/lang/management/ThreadMXBean/FindDeadlocks.java.i
data/src/share/classes/sun/text/resources/FormatData_pt_PT.java.i
-data/src/share/classes/java/lang/reflect/MalformedParameterizedTypeException.java.i
data/src/share/lib/management/jmxremote.access.i
data/src/share/classes/sun/awt/ComponentAccessor.java.i
data/src/share/native/sun/font/bidi/ubidiimp.h.i
+data/src/share/classes/javax/management/relation/RoleStatus.java.i
data/src/share/classes/sun/text/resources/FormatData_ar_AE.java.i
data/src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java.i
data/make/tools/src/build/tools/generatecharacter/PrintCharacterRanges.java.i
data/src/share/classes/sun/management/snmp/jvminstr/JvmCompilationImpl.java.i
-data/src/windows/classes/sun/java2d/windows/WindowsFlags.java.i
+data/src/share/classes/sun/tools/jstat/resources/jstat_options.i
data/src/share/classes/sun/tools/asm/Instruction.java.i
data/src/share/classes/com/sun/security/auth/UserPrincipal.java.i
-data/src/share/classes/com/sun/java/swing/plaf/gtk/icons/File.gif.i
+data/src/share/classes/java/lang/Exception.java.i
+data/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java.i
data/test/java/util/PluggableLocale/barprovider.jar.i
-data/src/share/classes/sun/net/www/protocol/https/DefaultHostnameVerifier.java.i
+data/test/java/rmi/server/RMIClassLoader/delegateToContextLoader/Dummy.java.i
data/src/share/classes/java/nio/channels/Pipe.java.i
-data/test/sun/java2d/cmm/ColorConvertOp/ColConvDCMTest.java.i
+data/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByteArrayIntInt.java.i
+data/test/tools/launcher/Test7029048.java.i
data/src/share/native/sun/awt/medialib/mlib_c_ImageAffine_BL_S16.c.i
-data/src/share/javavm/export/jawt.h.i
+data/test/sun/security/pkcs11/Cipher/TestRSACipherWrap.java.i
data/test/java/awt/Mixing/ValidBounds.java.i
data/src/solaris/classes/sun/print/services/javax.print.StreamPrintServiceFactory.i
data/src/share/classes/sun/management/VMManagementImpl.java.i
@@ -8065,8 +8125,10 @@ data/src/share/native/java/lang/reflect/Array.c.i
data/test/java/lang/String/IsEmpty.java.i
data/test/java/lang/instrument/PremainClass/InheritAgent1111.java.i
data/src/share/classes/javax/crypto/spec/OAEPParameterSpec.java.i
-data/src/share/classes/com/sun/tools/jdi/ThreadGroupReferenceImpl.java.i
+data/test/java/beans/PropertyEditor/Test6397609.java.i
+data/test/java/rmi/server/RMIClassLoader/useCodebaseOnly/UseCodebaseOnly_Stub.java.i
data/src/share/classes/com/sun/nio/sctp/SctpStandardSocketOptions.java.i
+data/test/java/nio/file/WatchService/WithSecurityManager.java.i
data/test/sun/security/krb5/tools/onlythree.conf.i
data/src/share/classes/sun/security/x509/GeneralNames.java.i
data/src/windows/native/sun/windows/awt_Clipboard.h.i
@@ -8074,11 +8136,10 @@ data/src/share/classes/java/util/NoSuchElementException.java.i
data/make/javax/sound/jsoundds/Makefile.i
data/test/javax/management/monitor/NullAttributeValueTest.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifGraphicsUtils.java.i
-data/src/share/classes/sun/swing/WindowsPlacesBar.java.i
+data/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiOut.c.i
data/make/tools/CharsetMapping/sbcs.i
data/src/share/native/sun/awt/image/jpeg/jcmainct.c.i
-data/src/share/classes/javax/swing/KeyboardManager.java.i
-data/src/share/classes/sun/applet/AppletEvent.java.i
+data/make/tools/classanalyzer/Makefile.i
data/src/share/classes/sun/rmi/rmic/newrmic/jrmp/StubSkeletonWriter.java.i
data/src/share/classes/java/nio/file/FileSystemLoopException.java.i
data/test/javax/sound/midi/Gervill/AudioFloatInputStream/MarkSupported.java.i
@@ -8087,14 +8148,14 @@ data/src/share/classes/javax/sound/sampled/BooleanControl.java.i
data/test/java/util/PluggableLocale/GenericTest.java.i
data/test/java/beans/XMLEncoder/6777487/TestCheckedList.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java.i
-data/test/java/util/IdentityHashMap/ToArray.java.i
-data/src/share/classes/sun/tools/tree/CommaExpression.java.i
+data/test/java/util/logging/PlatformLoggingMXBean/PlatformLoggingMXBeanTest.java.i
+data/src/share/classes/com/sun/beans/decoder/AccessorElementHandler.java.i
data/src/solaris/classes/sun/nio/ch/FileDispatcher.java.i
data/test/java/io/Serializable/getSuidClinitError/GetSuidClinitError.java.i
data/test/java/beans/XMLEncoder/javax_swing_Box.java.i
data/src/share/native/java/lang/fdlibm/src/s_fabs.c.i
data/test/com/sun/jdi/CommandCommentDelimiter.sh.i
-data/test/javax/management/Introspector/DescribedMX.java.i
+data/test/sun/rmi/rmic/newrmic/equivalence/Agent.java.i
data/test/java/lang/instrument/BootClassPath/Agent.java.i
data/test/sun/security/krb5/ConfPlusProp.java.i
data/src/share/classes/java/lang/EnumConstantNotPresentException.java.i
@@ -8102,16 +8163,17 @@ data/src/share/classes/java/util/concurrent/locks/ReentrantReadWriteLock.java.i
data/src/share/classes/java/awt/dnd/peer/DropTargetContextPeer.java.i
data/src/share/classes/com/sun/media/sound/SoftLanczosResampler.java.i
data/make/tools/CharsetMapping/IBM861.map.i
-data/src/share/classes/com/sun/jndi/ldap/LdapName.java.i
-data/test/java/awt/Graphics2D/DrawString/AlphaSurfaceText.java.i
-data/src/share/classes/java/lang/Readable.java.i
+data/src/share/demo/nbproject/jfc/TransparentRuler/nbproject/file-targets.xml.i
data/src/share/classes/sun/security/rsa/RSAPrivateCrtKeyImpl.java.i
data/test/java/security/cert/CertPathValidator/trustAnchor/sun2labs2.cer.i
+data/make/java/Makefile.i
data/src/share/native/java/lang/String.c.i
data/test/java/beans/XMLEncoder/java_net_URI.java.i
data/src/share/classes/sun/awt/geom/PathConsumer2D.java.i
+data/src/share/classes/javax/print/attribute/PrintRequestAttribute.java.i
data/src/share/instrument/Utilities.c.i
-data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/file/FileMonitoredVm.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509KeyManager/PreferredKey.java.i
+data/src/share/classes/javax/swing/text/html/ObjectView.java.i
data/test/javax/swing/JSlider/6794836/bug6794836.java.i
data/src/windows/classes/sun/net/www/protocol/http/NTLMAuthentication.java.i
data/test/java/io/Serializable/enum/unshared/Test.java.i
@@ -8123,13 +8185,14 @@ data/test/javax/script/Test4.java.i
data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/package.html.i
data/make/tools/swing-beans/beaninfo/images/JCheckBoxMono32.gif.i
data/test/java/nio/file/Files/FileAttributes.java.i
-data/src/share/native/sun/font/FontInstanceAdapter.h.i
+data/test/com/sun/jdi/FieldWatchpoints.java.i
data/src/solaris/classes/sun/nio/fs/UnixFileModeAttribute.java.i
data/src/share/native/sun/security/ec/impl/ec.h.i
data/src/share/classes/java/text/RuleBasedCollationKey.java.i
+data/src/share/classes/sun/tools/tree/ShortExpression.java.i
data/test/sun/tools/jstat/timeStamp1.awk.i
-data/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFormat.java.i
data/test/java/rmi/activation/Activatable/checkImplClassLoader/security.policy.i
+data/src/solaris/classes/sun/awt/motif/X11Selection.java.i
data/test/javax/crypto/JceSecurity/MyCertificateFactory.java.i
data/src/share/classes/com/sun/crypto/provider/HmacPKCS12PBESHA1.java.i
data/test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/PoisonPill.java.i
@@ -8137,68 +8200,67 @@ data/src/share/classes/java/nio/file/attribute/UserPrincipal.java.i
data/src/share/classes/sun/java2d/pisces/PiscesTileGenerator.java.i
data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/lib/solaris-sparcv9/libLauncher.so.i
data/test/java/rmi/reliability/benchmark/bench/serial/CustomDefaultObjTrees.java.i
-data/test/java/rmi/reliability/benchmark/bench/Util.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ServerHandshaker/GetPeerHost.java.i
data/src/share/native/sun/awt/medialib/mlib_ImageAffine.c.i
data/test/java/io/Serializable/unresolvedClassDesc/Read.java.i
data/src/windows/native/sun/nio/ch/SocketDispatcher.c.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmMemMgrPoolRelTableMeta.java.i
data/src/share/classes/javax/management/modelmbean/ModelMBeanAttributeInfo.java.i
data/src/share/classes/javax/imageio/plugins/jpeg/JPEGImageWriteParam.java.i
-data/test/java/nio/charset/coders/ref.windows-31j.i
-data/src/share/classes/sun/security/pkcs11/wrapper/PKCS11.java.i
-data/src/windows/native/sun/windows/awt_Event.cpp.i
-data/src/share/classes/javax/crypto/SecretKeyFactorySpi.java.i
-data/make/common/internal/Defs-corba.gmk.i
+data/make/mksample/nbproject/Makefile.i
+data/src/share/native/java/util/zip/zlib-1.1.3/inftrees.h.i
data/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream.java.i
data/test/java/rmi/reliability/benchmark/bench/serial/config.i
data/src/share/classes/sun/io/CharToByteCp1146.java.i
-data/test/com/sun/net/httpserver/bugs/B6431193.java.i
data/src/share/classes/sun/text/resources/CollationData_pt.java.i
-data/src/share/native/sun/font/layout/TrimmedArrayProcessor.cpp.i
+data/src/windows/back/proc_md.h.i
data/src/share/classes/sun/io/ByteToCharCp1254.java.i
data/make/tools/CharsetMapping/MS1255.map.i
data/src/share/classes/java/nio/file/FileSystems.java.i
data/src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties.i
data/test/javax/swing/JTextArea/7049024/bug7049024.java.i
data/src/share/classes/com/sun/jdi/Accessible.java.i
-data/src/share/native/sun/security/ec/impl/ec2_193.c.i
+data/src/solaris/classes/sun/java2d/xr/XRMaskFill.java.i
data/src/share/classes/java/lang/NoSuchFieldError.java.i
-data/src/share/classes/sun/tools/tree/SubtractExpression.java.i
+data/test/java/nio/Buffer/genBasic.sh.i
data/src/share/classes/sun/util/resources/CurrencyNames_es_HN.properties.i
data/test/sun/tools/jstat/jstatLineCounts4.sh.i
+data/test/javax/swing/JSlider/4252173/bug4252173.java.i
+data/test/java/beans/XMLEncoder/java_io_File.java.i
data/test/java/lang/Class/getDeclaredClasses/Sanity.java.i
data/src/share/native/sun/awt/medialib/mlib_c_ImageThresh1_U8.c.i
-data/test/java/io/InputStream/Skip.java.i
+data/test/sun/rmi/server/MarshalOutputStream/marshalForeignStub/Receiver.java.i
data/test/java/beans/XMLEncoder/java_awt_GridBagConstraints.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionProperties.java.i
-data/src/share/native/sun/awt/giflib/gif_err.c.i
+data/test/javax/sound/midi/Gervill/SoftSynthesizer/TestDisableLoadDefaultSoundbank.java.i
+data/src/share/classes/sun/net/www/protocol/http/Negotiator.java.i
data/make/tools/src/build/tools/dtdbuilder/PublicMapping.java.i
data/test/sun/security/krb5/auto/HttpNegotiateServer.java.i
data/src/share/classes/javax/net/ssl/SSLContextSpi.java.i
data/test/com/sun/jdi/NativeInstanceFilterTarg.java.i
data/test/java/beans/Introspector/6380849/beans/FirstBeanBeanInfo.java.i
-data/src/share/classes/sun/beans/editors/ColorEditor.java.i
data/test/java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.html.i
data/make/tools/src/build/tools/generatebreakiteratordata/CharSet.java.i
data/src/share/classes/sun/nio/ch/OptionAdaptor.java.i
-data/src/share/classes/javax/swing/plaf/nimbus/NimbusIcon.java.i
+data/test/java/util/Collections/Enum.java.i
data/src/share/native/sun/java2d/loops/Ushort555Rgbx.c.i
data/src/share/classes/sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl.java.i
+data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetPropertyInfo.java.i
data/test/tools/launcher/UnresolvedExceptions.java.i
data/test/java/nio/file/DirectoryStream/Filters.java.i
data/test/com/sun/jdi/LaunchCommandLine.java.i
+data/make/sun/xawt/Makefile.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifInternalFrameTitlePane.java.i
data/make/tools/CharsetMapping/IBM950.c2b.i
data/test/java/util/TimSort/SortPerf.java.i
data/src/share/classes/sun/io/ByteToCharCp1148.java.i
-data/test/java/rmi/server/RMIClassLoader/loadProxyClasses/FnnUnmarshal.java.i
+data/test/javax/management/loading/LibraryLoader/UseNativeLib1.html.i
data/test/java/util/ResourceBundle/Bug4177489_Resource.java.i
data/src/share/classes/javax/sound/sampled/AudioPermission.java.i
data/src/share/classes/com/sun/pept/encoding/Encoder.java.i
data/src/windows/native/com/sun/security/auth/module/nt.c.i
data/src/share/classes/com/sun/media/sound/SunCodec.java.i
data/test/javax/management/eventService/MyFetchingEventForwarder.java.i
-data/src/share/classes/org/ietf/jgss/GSSName.java.i
data/test/java/beans/README.i
data/test/java/awt/Component/PaintAll/PaintAll.java.i
data/test/sun/nio/cs/OLD/IBM1383_OLD.java.i
@@ -8209,30 +8271,31 @@ data/test/sun/net/www/http/HttpClient/MultiThreadTest.java.i
data/src/share/classes/java/awt/font/NumericShaper.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_da_DK.properties.i
data/src/windows/classes/java/lang/ProcessImpl.java.i
-data/src/share/classes/java/util/zip/DeflaterInputStream.java.i
+data/src/share/demo/jfc/Font2DTest/resources/TextResources_en.properties.i
data/src/share/classes/javax/accessibility/package.html.i
data/test/com/sun/security/sasl/digest/PropertiesFileCallbackHandler.java.i
data/test/sun/security/mscapi/noaccess.policy.i
+data/test/sun/tools/jstat/printCompilationOutput1.awk.i
data/test/java/nio/Buffer/AllocateDirectInit.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/RehandshakeFinished.java.i
data/test/sun/tools/jps/jps-v_1.sh.i
data/src/share/classes/java/lang/AssertionError.java.i
data/src/share/classes/sun/io/CharToByteUTF16.java.i
data/test/java/lang/instrument/ASimpleInstrumentationTestCase.java.i
-data/src/share/sample/nio/multicast/MulticastAddress.java.i
+data/make/tools/swing-beans/beaninfo/images/JTreeMono16.gif.i
data/src/windows/native/sun/jkernel/kernel.cpp.i
-data/make/sun/awt/Depend.sed.i
+data/src/share/classes/sun/awt/resources/awt_pt_BR.properties.i
data/test/tools/launcher/Arrrghs.java.i
-data/src/share/classes/javax/security/auth/x500/X500Principal.java.i
+data/src/share/lib/audio/soundbank.gm.d
data/src/share/classes/sun/io/ByteToCharISO2022JP.java.i
data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/ReadTimeout.java.i
data/src/share/classes/java/io/PipedOutputStream.java.i
data/src/share/classes/com/sun/media/sound/ModelDirector.java.i
-data/src/share/classes/java/io/ObjectInputValidation.java.i
-data/src/share/classes/sun/util/resources/LocaleNames_hu.properties.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyUtils.java.i
+data/src/share/classes/sun/nio/cs/UTF_32.java.i
data/src/share/classes/sun/io/ByteToCharEUC_TW.java.i
data/src/share/classes/com/sun/jndi/ldap/pool/PoolCleaner.java.i
-data/test/com/sun/crypto/provider/Cipher/AES/TestKATForECB_IV.java.i
+data/src/windows/javavm/export/jni_md.h.i
data/test/org/openjdk/jigsaw/cli/ModuleFormatTestLeftOverBytes.java.i
data/test/java/beans/beancontext/Test4233980.java.i
data/make/sun/jawt/Depend.sed.i
@@ -8240,32 +8303,32 @@ data/src/share/classes/javax/swing/border/Border.java.i
data/test/java/lang/Class/getModifiers/ForInnerClass.java.i
data/src/solaris/native/sun/nio/ch/FileChannelImpl.c.i
data/src/share/classes/java/security/acl/Acl.java.i
-data/src/share/classes/sun/util/resources/LocaleNames_ro.properties.i
+data/src/share/demo/nbproject/jfc/Notepad/nbproject/jdk.xml.i
+data/src/share/native/sun/security/ec/impl/ecl-curve.h.i
data/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/group.security.policy.i
data/src/share/classes/java/nio/file/spi/AbstractPath.java.i
data/test/java/beans/PropertyEditor/6380849/editors/ThirdBeanEditor.java.i
data/src/share/classes/sun/java2d/pipe/ParallelogramPipe.java.i
data/src/share/classes/javax/naming/spi/ObjectFactory.java.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpU8U16Func.c.i
+data/test/javax/script/MyContext.java.i
data/src/share/classes/sun/nio/cs/ext/IBM1025.java.i
data/src/share/classes/sun/io/CharToByteDBCS_EBCDIC.java.i
data/make/tools/CharsetMapping/IBM950.map.i
data/src/share/classes/sun/security/acl/AclEntryImpl.java.i
-data/src/share/classes/com/sun/jdi/InvalidTypeException.java.i
-data/src/share/classes/com/sun/jmx/snmp/tasks/TaskServer.java.i
+data/test/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh.i
data/make/tools/CharsetMapping/IBM1124.map.i
data/src/solaris/native/sun/nio/ch/ServerSocketChannelImpl.c.i
data/src/share/demo/jfc/Notepad/resources/Notepad_sv.properties.i
-data/src/share/classes/javax/net/ssl/SSLEngineResult.java.i
+data/src/share/classes/sun/rmi/transport/proxy/RMIHttpToPortSocketFactory.java.i
+data/test/javax/swing/text/html/HTMLEditorKit/5043626/bug5043626.java.i
data/src/share/classes/java/util/LinkedList.java.i
data/src/share/classes/javax/management/relation/package.html.i
-data/test/java/rmi/activation/Activatable/downloadParameterClass/manual.security.policy.i
data/test/com/sun/security/sasl/ClientCallbackHandler.java.i
data/src/share/classes/sun/io/CharToByteCp852.java.i
data/src/share/native/java/util/zip/Adler32.c.i
+data/test/javax/sound/midi/Gervill/SoftAudioBuffer/Clear.java.i
data/src/share/classes/sun/tools/javac/ErrorMessage.java.i
data/src/share/classes/com/sun/jmx/mbeanserver/MXBeanProxy.java.i
-data/src/windows/native/sun/windows/awt_InputEvent.h.i
data/src/share/native/sun/java2d/loops/ByteBinary1Bit.c.i
data/test/java/net/URLConnection/HttpContinueStackOverflow.java.i
data/test/javax/swing/JColorChooser/Test6524757.java.i
@@ -8276,28 +8339,27 @@ data/src/share/classes/sun/tools/java/Type.java.i
data/src/share/classes/sun/net/ftp/FtpReplyCode.java.i
data/test/com/sun/jdi/RunToExit.java.i
data/src/share/classes/sun/security/jgss/spi/GSSNameSpi.java.i
-data/src/share/classes/java/nio/channels/ScatteringByteChannel.java.i
+data/src/share/classes/sun/io/ByteToCharCp1112.java.i
data/src/share/classes/com/sun/jmx/interceptor/package.html.i
data/src/share/native/sun/security/ec/ec2_mont.c.i
data/test/javax/management/MBeanInfo/EqualExceptionTest.java.i
data/src/share/classes/sun/font/ScriptRunData.java.i
data/test/sun/net/www/protocol/file/FileMap.java.i
+data/test/com/sun/net/httpserver/bugs/B6424196.java.i
data/test/demo/zipfs/ZipFSTester.java.i
data/test/java/util/Formatter/BasicFloat.java.i
-data/make/tools/CharsetMapping/MacRomania.map.i
data/src/share/classes/sun/security/krb5/KrbServiceLocator.java.i
data/test/sun/security/pkcs11/rsa/rsakeys.ks.i
data/make/javax/crypto/Makefile.i
-data/test/javax/imageio/plugins/png/MergeStdCommentTest.java.i
+data/test/sun/nio/cs/LeftOverSurrogate.java.i
data/src/share/native/sun/java2d/loops/Ushort565Rgb.c.i
data/test/sun/tools/jstat/options2.out.i
data/src/solaris/native/java/util/TimeZone_md.c.i
data/src/share/classes/sun/misc/ClassLoaderUtil.java.i
-data/src/share/classes/sun/util/resources/CalendarData_be.properties.i
data/test/java/beans/PropertyChangeSupport/Test4353056.java.i
data/src/windows/native/sun/windows/CmdIDList.cpp.i
-data/src/share/demo/applets/WireFrame/models/hughes_500.obj.i
-data/src/windows/native/common/gdefs_md.h.i
+data/test/sun/security/pkcs11/KeyStore/Basic.policy.i
+data/test/sun/security/pkcs11/nss/lib/linux-i586/libnss3.so.i
data/make/java/java/localegen.sh.i
data/src/share/classes/javax/swing/plaf/InternalFrameUI.java.i
data/make/tools/swing-beans/beaninfo/images/JLayeredPaneColor32.gif.i
@@ -8319,9 +8381,11 @@ data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLatency.java.i
data/test/com/sun/crypto/provider/KeyAgreement/DHKeyAgreement2.java.i
data/src/share/classes/sun/security/pkcs11/P11Util.java.i
data/make/tools/classanalyzer/src/com/sun/classanalyzer/Trace.java.i
+data/test/java/util/TreeMap/EmptyMapAndNulls.java.i
data/src/share/classes/sun/security/krb5/internal/APOptions.java.i
data/src/share/classes/sun/security/provider/SystemSigner.java.i
data/src/share/classes/java/lang/NoClassDefFoundError.java.i
+data/test/java/util/concurrent/DelayQueue/Iterate.java.i
data/test/java/rmi/activation/Activatable/checkAnnotations/MyRMI.java.i
data/test/javax/sound/sampled/FileWriter/WriterCloseInput.java.i
data/test/java/math/BigDecimal/PrecisionTests.java.i
@@ -8331,12 +8395,13 @@ data/src/share/classes/sun/security/x509/X500Signer.java.i
data/src/share/classes/javax/sound/midi/MidiChannel.java.i
data/src/share/classes/java/util/zip/Adler32.java.i
data/test/java/rmi/testlibrary/TestLibrary.java.i
-data/src/share/native/sun/awt/image/jpeg/jquant2.c.i
+data/src/share/classes/sun/reflect/SignatureIterator.java.i
data/src/share/classes/com/sun/jmx/snmp/internal/SnmpLcd.java.i
data/src/share/classes/com/sun/media/sound/SoftReverb.java.i
data/test/java/net/URLEncoder/Decoder.java.i
data/test/com/sun/security/sasl/digest/PrivacyRc4.java.i
data/test/javax/crypto/SecretKeyFactory/FailOverTest.sh.i
+data/test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommands.java.i
data/src/share/classes/java/nio/file/WatchService.java.i
data/make/java/version/Makefile.i
data/src/share/classes/javax/naming/event/NamingExceptionEvent.java.i
@@ -8345,41 +8410,41 @@ data/src/share/classes/sun/util/resources/CalendarData_nl.properties.i
data/test/java/text/Format/DateFormat/Bug6645292.java.i
data/src/share/classes/javax/swing/JToolTip.java.i
data/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntInt.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ClientModeClientAuth.java.i
+data/test/java/awt/FontClass/CreateFont/fileaccess/FontFile.java.i
data/test/sun/net/www/protocol/http/spnegoReadme.i
data/src/share/classes/sun/text/resources/FormatData_es_PY.java.i
data/src/share/classes/javax/swing/text/doc-files/Document-notification.gif.i
-data/test/java/beans/EventHandler/Test6179222.java.i
data/src/share/classes/sun/io/ByteToCharJIS0208_Solaris.java.i
data/test/java/nio/file/Path/InterruptCopy.java.i
data/test/sun/security/krb5/tools/ktarg.sh.i
data/src/share/classes/sun/security/ec/ECParameters.java.i
-data/test/javax/sound/midi/Gervill/ModelByteBuffer/WriteTo.java.i
+data/src/share/native/java/util/zip/zlib-1.2.5/inftrees.h.i
+data/src/windows/native/sun/windows/awt_new.cpp.i
data/src/share/classes/sun/management/resources/agent_ko.properties.i
data/test/javax/management/namespace/JMXNamespaceTest.java.i
data/test/java/util/UUID/Serial.java.i
data/test/javax/sound/midi/Gervill/SoftReceiver/Send_ChannelPressure.java.i
-data/test/sun/security/krb5/auto/BadKdc4.java.i
-data/src/share/classes/sun/io/CharToByteCp943.java.i
+data/src/solaris/classes/sun/awt/X11/XListPeer.java.i
data/src/share/native/sun/awt/medialib/mlib_ImageConvClearEdge_Bit.c.i
-data/src/solaris/classes/sun/java2d/jules/JulesAATileGenerator.java.i
+data/test/com/sun/jdi/redefine/SchemaChange_RedefineSubTarg.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_ms_MY.properties.i
data/test/javax/sound/midi/Gervill/SoftChannel/PitchBend.java.i
data/src/share/classes/sun/security/ssl/RSASignature.java.i
-data/make/sun/security/action/Makefile.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIS32U8Func.c.i
data/src/share/classes/com/sun/crypto/provider/RSACipher.java.i
data/src/share/classes/sun/applet/resources/MsgAppletViewer_ja.java.i
data/test/javax/management/mxbean/MiscTest.java.i
-data/test/java/io/Serializable/enum/ignoreSerializationFields/Test.java.i
+data/src/share/native/java/lang/fdlibm/src/k_sin.c.i
data/src/share/classes/javax/swing/plaf/synth/SynthButtonUI.java.i
data/src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java.i
data/src/share/classes/java/awt/geom/RectangularShape.java.i
data/test/com/sun/jdi/InterruptHangTest.java.i
data/src/share/classes/sun/nio/cs/UTF_32Coder.java.i
-data/test/java/io/Serializable/superclassDataLoss/A.java.i
+data/src/share/native/sun/awt/medialib/mlib_ImageColormap.h.i
data/src/share/classes/java/util/WeakHashMap.java.i
data/src/share/classes/sun/reflect/UnsafeFloatFieldAccessorImpl.java.i
data/test/javax/management/Introspector/UnDescribedMBean.java.i
+data/test/java/io/Serializable/InvalidClassException/noargctor/DefaultPackage.java.i
data/test/com/sun/jdi/UTF8Test.java.i
data/src/share/native/sun/awt/medialib/mlib_ImageCreate.c.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmThreadInstanceEntryMeta.java.i
@@ -8395,26 +8460,23 @@ data/test/javax/crypto/JceSecurity/MyX509CertImpl.java.i
data/src/solaris/native/sun/java2d/x11/X11Renderer.c.i
data/src/share/classes/javax/swing/event/UndoableEditEvent.java.i
data/src/share/classes/sun/awt/ModalExclude.java.i
-data/src/share/classes/sun/security/tools/JarSignerResources.java.i
data/src/share/classes/com/sun/jmx/remote/internal/RMIExporter.java.i
data/test/java/nio/channels/Selector/WakeupNow.java.i
data/src/share/classes/sun/nio/ByteBuffered.java.i
data/test/sun/security/ssl/sanity/pluggability/CheckSockFacExport1.java.i
data/test/java/util/jar/JarFile/thawjar.jar.i
data/src/share/classes/com/sun/jdi/ClassNotPreparedException.java.i
-data/test/sun/security/rsa/GenKeyStore.java.i
data/test/sun/net/www/protocol/jar/foo1.jar.d
-data/src/share/classes/javax/imageio/ImageReader.java.i
+data/src/linux/doc/man/apt.1.i
data/src/share/native/com/sun/java/util/jar/pack/utils.cpp.i
-data/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java.i
data/src/solaris/classes/sun/awt/motif/X11CNS11643.java.i
data/src/share/classes/javax/swing/event/TreeExpansionListener.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiTextUI.java.i
-data/src/share/classes/sun/invoke/empty/Empty.java.i
+data/src/share/classes/sun/nio/cs/ext/HKSCS.java.i
data/test/java/beans/XMLEncoder/javax_swing_plaf_BorderUIResource_LineBorderUIResource.java.i
data/make/tools/src/build/tools/buildmetaindex/BuildMetaIndex.java.i
data/test/sun/tools/native2ascii/A2N_4701617.expected.i
-data/src/share/classes/sun/io/ByteToCharCp942C.java.i
+data/src/share/classes/sun/io/ByteToCharEUC_KR.java.i
data/test/java/lang/invoke/MethodTypeTest.java.i
data/test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.java.i
data/src/share/classes/java/lang/management/MonitorInfo.java.i
@@ -8426,6 +8488,7 @@ data/src/solaris/classes/java/lang/ProcessImpl.java.i
data/test/java/util/Collections/Rotate.java.i
data/src/share/classes/java/util/concurrent/TransferQueue.java.i
data/src/share/demo/applets/ArcTest/ArcTest.java.i
+data/src/share/classes/java/awt/peer/PanelPeer.java.i
data/src/share/classes/sun/management/resources/agent_ja.properties.i
data/src/share/classes/javax/print/attribute/standard/PrinterName.java.i
data/src/share/classes/java/nio/X-Buffer.java.i
@@ -8433,24 +8496,23 @@ data/make/common/shared/Platform.gmk.i
data/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java.i
data/src/share/classes/com/sun/tools/jdi/VMModifiers.java.i
data/src/share/classes/javax/swing/colorchooser/ColorModel.java.i
-data/src/share/classes/java/awt/KeyEventDispatcher.java.i
data/src/share/classes/sun/reflect/generics/parser/SignatureParser.java.i
data/test/sun/security/pkcs11/KeyAgreement/TestShort.java.i
data/test/sun/security/provider/PolicyFile/TokenStore.keystore.i
data/src/share/demo/nio/zipfs/META-INF/services/java.nio.file.spi.FileSystemProvider.i
data/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java.i
-data/test/java/util/Vector/IllegalConstructorArgs.java.i
+data/src/share/transport/socket/socketTransport.c.i
data/test/javax/print/applet/AppletPrintLookup.sh.i
-data/src/share/classes/sun/awt/NullComponentPeer.java.i
+data/src/share/demo/jfc/FileChooserDemo/ExampleFileView.java.i
data/make/tools/swing-beans/beaninfo/images/JMenuColor32.gif.i
data/test/sun/net/www/protocol/file/GetLastModified.java.i
data/src/solaris/classes/sun/nio/fs/LinuxFileStore.java.i
+data/test/org/openjdk/jigsaw/ContextBuilder.java.i
data/test/java/lang/management/MemoryMXBean/CollectionUsageThresholdConcMarkSweepGC.sh.i
data/src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStoreHelper.java.i
data/src/share/classes/sun/nio/cs/ext/DBCSDecoderMapping.java.i
-data/src/share/classes/sun/font/FontAccess.java.i
data/src/share/classes/sun/security/util/AuthResources_es.java.i
-data/src/share/classes/com/sun/media/sound/SF2Instrument.java.i
+data/src/share/classes/java/security/spec/RSAPrivateKeySpec.java.i
data/src/share/classes/sun/management/NotificationEmitterSupport.java.i
data/src/share/classes/sun/rmi/transport/proxy/HttpSendOutputStream.java.i
data/src/solaris/classes/sun/awt/X11/security-icon-interim16.png.i
@@ -8458,58 +8520,60 @@ data/make/tools/CharsetMapping/IBM280.map.i
data/src/share/classes/sun/audio/InvalidAudioFormatException.java.i
data/test/sun/rmi/rmic/oldjavacRemoved/Foo.java.i
data/test/java/net/DatagramPacket/Offset.java.i
-data/make/sun/nio/cs/Makefile.i
+data/src/share/classes/java/beans/beancontext/BeanContextContainerProxy.java.i
+data/test/java/util/Locale/serialized/java6locale_en_US.i
data/src/share/classes/javax/xml/crypto/dsig/spec/C14NMethodParameterSpec.java.i
+data/src/solaris/native/sun/awt/awt_mgrsel.c.i
data/test/java/lang/StrictMath/Expm1Tests.java.i
-data/src/share/classes/sun/util/resources/CurrencyNames_en_IE.properties.i
data/test/com/sun/jdi/redefine/RedefineSetUp.sh.i
data/test/com/sun/jdi/PopAndStepTest.java.i
data/src/share/classes/java/awt/image/WritableRaster.java.i
-data/src/share/classes/java/net/CookieManager.java.i
data/src/share/classes/com/sun/tools/example/debug/tty/ExceptionSpec.java.i
-data/src/solaris/classes/sun/awt/motif/X11DragSourceContextPeer.java.i
+data/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringStringInt.java.i
data/src/share/classes/sun/security/jgss/TokenTracker.java.i
data/src/share/classes/javax/naming/OperationNotSupportedException.java.i
data/make/tools/swing-beans/beaninfo/images/JCheckBoxMono16.gif.i
data/test/sun/security/tools/policytool/ChangeUI.sh.i
data/test/com/sun/management/OperatingSystemMXBean/GetProcessCpuLoad.java.i
-data/src/share/classes/sun/nio/fs/AbstractWatchKey.java.i
-data/src/share/classes/com/sun/jdi/ObjectCollectedException.java.i
-data/test/com/sun/jdi/Redefine-g.sh.i
-data/src/share/demo/jvmti/waiters/Agent.hpp.i
+data/src/solaris/native/sun/net/spi/SdpProvider.c.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/XPath2FilterContainer.java.i
+data/src/share/classes/sun/security/pkcs11/wrapper/CK_INFO.java.i
data/src/share/classes/sun/tools/tree/PostIncExpression.java.i
data/test/java/io/LineNumberInputStream/Available.java.i
data/test/sun/nio/cs/EncodingNothing.java.i
data/src/share/native/sun/java2d/loops/IntArgbPre.h.i
data/test/java/nio/channels/Pipe/SelectPipe.java.i
+data/test/java/beans/PropertyEditor/Test4968709.java.i
data/make/jpda/back/mapfile-vers.i
data/src/share/native/java/util/zip/zlib-1.2.3/patches/zlib.h.diff.i
-data/src/share/classes/java/util/concurrent/RejectedExecutionHandler.java.i
+data/src/share/classes/sun/tools/jconsole/inspector/XOpenTypeViewer.java.i
+data/test/java/util/ResourceBundle/Test4314141.java.i
data/test/sun/nio/cs/CheckHistoricalNames.java.i
data/src/share/classes/sun/security/util/Resources_sv.java.i
data/test/sun/tools/jps/jps-Vvm.sh.i
data/src/share/native/sun/java2d/opengl/OGLContext.h.i
-data/make/sun/text/FILES_properties.gmk.i
data/src/share/native/sun/java2d/loops/IntArgb.h.i
-data/src/share/classes/java/awt/Transparency.java.i
+data/test/sun/java2d/OpenGL/GradientPaints.java.i
data/src/share/classes/sun/misc/VM.java.i
+data/make/common/Defs-embedded.gmk.i
+data/make/java/util/FILES_properties.gmk.i
data/test/java/security/cert/CertPathValidator/indirectCRL/openssl.cnf.i
data/test/java/rmi/activation/Activatable/extLoadedImpl/rmid.security.policy.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageAffine_BC_S16.c.i
data/make/tools/CharsetMapping/IBM1143.c2b.i
data/make/netbeans/jconsole/build.properties.i
+data/test/java/beans/XMLEncoder/4741757/TestStackOverflow.java.i
data/src/share/classes/sun/security/provider/JavaKeyStore.java.i
data/test/java/dyn/InvokeDynamicPrintArgs.java.i
-data/src/solaris/classes/sun/awt/motif/X11CNS11643P1.java.i
+data/src/share/classes/org/openjdk/jigsaw/FilePaths.java.i
data/src/share/classes/sun/swing/plaf/GTKKeybindings.java.i
data/src/windows/classes/sun/awt/windows/WBufferStrategy.java.i
+data/test/java/lang/InheritableThreadLocal/ITLRemoveTest.java.i
data/test/java/awt/GraphicsDevice/CloneConfigsTest.java.i
data/test/java/lang/Math/HypotTests.java.i
data/src/share/classes/sun/security/jgss/spnego/SpNegoToken.java.i
data/test/javax/swing/text/html/TableView/7030332/sample3.png.i
-data/src/share/demo/nbproject/jfc/Font2DTest/nbproject/file-targets.xml.i
data/make/netbeans/jdwpgen/nbproject/findbugs.settings.i
-data/make/tools/CharsetMapping/IBM1026.c2b.i
data/make/com/sun/tools/attach/mapfile-linux.i
data/src/share/native/sun/java2d/Disposer.h.i
data/src/share/classes/sun/tools/tree/TypeExpression.java.i
@@ -8522,13 +8586,11 @@ data/src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java.i
data/src/share/classes/sun/io/CharToByteCp933.java.i
data/src/share/classes/sun/net/httpserver/ServerConfig.java.i
data/src/share/classes/com/sun/media/sound/SF2InstrumentRegion.java.i
-data/src/share/classes/java/util/prefs/PreferenceChangeListener.java.i
data/src/share/classes/java/rmi/ServerRuntimeException.java.i
data/test/sun/security/provider/PolicyFile/TokenStore.pwd.i
data/src/share/classes/javax/imageio/stream/FileCacheImageOutputStream.java.i
-data/src/share/classes/javax/sound/midi/Sequence.java.i
data/src/share/classes/sun/applet/AppletViewer.java.i
-data/make/java/sql/Makefile.i
+data/src/share/classes/sun/tools/tree/ConditionalExpression.java.i
data/src/share/classes/sun/nio/cs/ext/PCK.java.i
data/test/java/net/ProxySelector/LoopbackAddresses.java.i
data/src/share/classes/java/rmi/server/Unreferenced.java.i
@@ -8537,14 +8599,14 @@ data/test/java/security/cert/CertificateRevokedException/Basic.java.i
data/test/java/io/PrintWriter/SubClass.java.i
data/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrument.java.i
data/make/javax/crypto/Defs-jce.gmk.i
+data/src/linux/doc/man/ja/jarsigner.1.i
data/test/java/rmi/activation/Activatable/extLoadedImpl/CheckLoader.java.i
-data/src/solaris/sample/dtrace/hotspot_jni/hotspot_jni_calls_tree.d.i
+data/src/share/classes/java/awt/color/package.html.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmRTLibraryPathEntryMBean.java.i
data/src/share/classes/sun/tools/java/Package.java.i
data/src/windows/classes/sun/java2d/windows/WinBackBufferSurfaceData.java.i
data/src/share/classes/com/sun/media/sound/ModelByteBuffer.java.i
data/src/share/classes/javax/management/remote/TargetedNotification.java.i
-data/src/share/classes/javax/swing/LayoutComparator.java.i
data/src/share/classes/javax/swing/plaf/metal/sounds/OptionPaneQuestion.wav.i
data/src/share/demo/nbproject/scripting/jconsole-plugin/nbproject/project.xml.i
data/test/com/sun/security/sasl/gsskerb/runwjaas.csh.i
@@ -8556,23 +8618,24 @@ data/test/java/io/Writer/WriteFromString.java.i
data/test/java/lang/reflect/Generics/Probe.java.i
data/src/windows/native/sun/security/provider/WinCAPISeedGenerator.c.i
data/src/share/native/sun/java2d/SurfaceData.h.i
-data/src/share/classes/sun/awt/image/ImagingLib.java.i
data/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/ComURLNulls.java.i
data/src/share/classes/javax/management/modelmbean/DescriptorSupport.java.i
+data/test/sun/security/mscapi/ShortRSAKey768.sh.i
data/src/share/classes/javax/swing/plaf/basic/BasicBorders.java.i
data/test/org/openjdk/jigsaw/maze.sh.i
data/src/share/lib/images/cursors/win32_CopyDrop32x32.gif.i
data/make/tools/CharsetMapping/Johab.map.d
-data/make/org/jcp/Makefile.i
data/src/share/classes/javax/swing/plaf/metal/MetalComboBoxIcon.java.i
data/test/java/util/zip/InfoZip.java.i
data/test/java/nio/Buffer/LimitDirectMemory.sh.i
data/src/share/classes/org/openjdk/jigsaw/JigsawVersionQuery.java.i
data/src/share/classes/org/openjdk/jigsaw/Trace.java.i
-data/src/share/classes/javax/swing/plaf/RootPaneUI.java.i
+data/test/com/sun/management/HotSpotDiagnosticMXBean/DumpHeap.sh.i
data/make/tools/CharsetMapping/Johab.map.i
data/test/javax/swing/SwingTest.java.i
data/test/java/security/UnresolvedPermission/DebugPermission0.java.i
+data/test/com/sun/crypto/provider/Cipher/RSA/TestRSA.java.i
+data/test/lib/security/java.policy/Ext_AllPolicy.sh.i
data/src/share/classes/sun/java2d/pipe/RenderingEngine.java.i
data/test/com/sun/servicetag/JavaServiceTagTest1.java.i
data/src/share/classes/java/nio/file/FileSystemException.java.i
@@ -8581,11 +8644,11 @@ data/test/java/net/Authenticator/B4933582.sh.i
data/src/solaris/hpi/native_threads/include/np.h.i
data/src/share/classes/com/sun/tools/example/debug/event/ThreadDeathEventSet.java.i
data/test/javax/script/NullUndefinedVarTest.java.i
-data/make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemMono32.gif.i
+data/src/share/classes/sun/java2d/pipe/RegionIterator.java.i
data/test/java/security/KeyRep/Blowfish.pre.1.5.key.i
data/test/javax/swing/JColorChooser/Test6541987.java.i
data/test/java/util/EnumSet/JumboRange.java.i
-data/src/share/classes/javax/sql/rowset/spi/SyncFactoryException.java.i
+data/src/share/demo/management/FullThreadDump/Deadlock.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifSplitPaneUI.java.i
data/src/share/classes/javax/management/relation/RelationSupportMBean.java.i
data/test/javax/management/relation/RelationTypeTest.java.i
@@ -8597,11 +8660,13 @@ data/src/share/classes/sun/invoke/util/package-info.java.i
data/test/javax/management/descriptor/ImmutableDescriptorSetFieldsTest.java.i
data/test/java/lang/annotation/Missing/MissingWrapper.java.i
data/src/share/classes/sun/nio/fs/BasicFileAttributesHolder.java.i
+data/src/share/native/sun/awt/image/jpeg/jinclude.h.i
data/src/share/classes/sun/util/resources/CalendarData_de.properties.i
data/src/share/classes/sun/io/ByteToCharCp1381.java.i
data/src/share/classes/java/net/URI.java.i
data/src/share/classes/sun/misc/FormattedFloatingDecimal.java.i
data/src/share/classes/javax/swing/table/TableCellEditor.java.i
+data/src/share/classes/sun/tools/serialver/SerialVer.java.i
data/test/java/beans/Introspector/Test6660539.java.i
data/src/share/classes/javax/smartcardio/ATR.java.i
data/src/share/classes/java/util/prefs/Preferences.java.i
@@ -8610,27 +8675,25 @@ data/src/share/classes/com/sun/inputmethods/internal/thaiim/java.awt.im.spi.Inpu
data/src/share/classes/sun/text/normalizer/NormalizerDataReader.java.i
data/src/share/classes/sun/util/resources/CalendarData_pt_PT.properties.i
data/src/share/classes/sun/swing/ImageCache.java.i
-data/test/sun/nio/cs/StreamEncoderClose.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLEncryptionException.java.i
-data/src/share/native/java/lang/fdlibm/src/k_standard.c.i
+data/test/java/rmi/reliability/benchmark/bench/serial/Strings.java.i
data/src/share/classes/sun/security/provider/SunEntries.java.i
-data/src/share/classes/com/sun/net/ssl/TrustManager.java.i
-data/test/javax/security/auth/x500/X500Principal/KeywordMap.java.i
data/src/share/classes/sun/nio/cs/ext/MS50221.java.i
data/test/java/net/Inet4Address/isSiteLocalAddress.java.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/icons/image-failed.png.i
data/test/sun/security/pkcs11/KeyAgreement/TestDH.java.i
data/make/tools/sharing/tests/Hello.java.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/OpenStream.java.i
-data/src/share/classes/java/security/KeyStoreException.java.i
+data/test/sun/security/tools/jarsigner/oldsig.sh.i
data/test/com/sun/jdi/MethodCalls.java.i
+data/src/share/native/sun/awt/medialib/mlib_ImageColorTrue2Index.c.i
data/test/java/beans/PropertyEditor/TestColorClass.java.i
-data/src/share/classes/javax/swing/plaf/ListUI.java.i
data/src/share/demo/jfc/Notepad/resources/Notepad_fr.properties.i
data/src/share/classes/sun/io/ByteToCharCp949.java.i
data/test/java/util/ResourceBundle/RestrictedBundleTest.java.i
data/test/java/io/StringReader/NegativeMarkLimit.java.i
data/src/share/classes/com/sun/tools/example/debug/gui/Icons.java.i
+data/src/share/classes/sun/misc/JavaIODeleteOnExitAccess.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthScrollBarUI.java.i
data/src/share/classes/java/io/SerialCallbackContext.java.i
data/src/share/classes/javax/print/attribute/DocAttribute.java.i
@@ -8638,14 +8701,12 @@ data/src/solaris/classes/sun/net/sdp/SdpProvider.java.i
data/src/share/classes/com/sun/jdi/event/Event.java.i
data/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedByte.java.i
data/test/javax/crypto/spec/RC5ParameterSpec/InvalidIV.java.i
-data/src/share/classes/java/nio/file/attribute/PosixFilePermissions.java.i
data/test/sun/security/pkcs11/Signature/TestRSAKeyLength.java.i
+data/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties.i
data/src/share/classes/sun/io/ByteToCharCp838.java.i
data/test/javax/rmi/ssl/keystore.i
data/src/share/native/java/lang/fdlibm/src/w_j0.c.i
data/src/share/classes/sun/security/krb5/internal/crypto/DesMacKCksumType.java.i
-data/src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h.i
-data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CheckMethods.java.i
data/src/share/classes/java/util/concurrent/ScheduledThreadPoolExecutor.java.i
data/src/share/classes/java/nio/X-Buffer-bin.java.i
data/src/share/classes/sun/util/xml/XMLUtils.java.i
@@ -8656,36 +8717,40 @@ data/src/share/classes/javax/swing/SizeRequirements.java.i
data/src/share/classes/sun/management/HotspotThread.java.i
data/make/modules/image.rest.ls.i
data/src/linux/doc/man/ja/rmiregistry.1.i
-data/src/solaris/classes/sun/misc/FileURLMapper.java.i
+data/test/java/rmi/activation/Activatable/nonExistentActivatable/NonExistentActivatable.java.i
data/src/share/classes/javax/sound/midi/MidiSystem.java.i
data/src/share/native/sun/java2d/loops/ThreeByteBgr.h.i
-data/src/share/native/java/util/zip/zlib-1.1.3/zutil.h.i
+data/test/sun/security/pkcs11/nss/lib/solaris-amd64/libplc4.so.i
data/src/solaris/classes/sun/nio/ch/SctpChannelImpl.java.i
-data/make/java/beans/Makefile.i
+data/test/java/awt/Graphics2D/DrawString/LCDTextSrcEa.java.i
+data/src/share/classes/sun/security/jgss/krb5/InitSecContextToken.java.i
data/src/share/classes/sun/security/jgss/GSSCredentialImpl.java.i
-data/src/share/classes/javax/swing/tree/AbstractLayoutCache.java.i
data/make/sun/awt/mapfile-vers-linux.i
data/src/share/classes/java/util/prefs/AbstractPreferences.java.i
data/src/share/classes/com/sun/tools/jdi/ValueImpl.java.i
+data/src/share/native/java/util/zip/zlib-1.2.5/crc32.h.i
data/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLongBoolean.java.i
data/src/share/classes/sun/security/x509/DeltaCRLIndicatorExtension.java.i
data/make/tools/CharsetMapping/IBM1006.map.i
data/test/java/lang/instrument/appendToClassLoaderSearch/B.2.i
-data/src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java.i
+data/test/java/util/concurrent/Exchanger/LoopHelpers.java.i
data/src/share/classes/sun/net/www/protocol/https/HttpsURLConnectionImpl.java.i
data/src/share/classes/sun/java2d/pipe/hw/AccelDeviceEventNotifier.java.i
data/src/share/classes/javax/swing/plaf/metal/icons/ocean/directory.gif.i
+data/src/share/classes/javax/print/attribute/standard/PrinterMakeAndModel.java.i
data/src/share/classes/sun/text/normalizer/UnicodeSet.java.i
-data/src/share/classes/sun/security/provider/MD4.java.i
+data/src/solaris/classes/sun/awt/X11/XAtom.java.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitters.java.i
data/test/java/lang/Math/HyperbolicTests.java.i
+data/src/share/classes/java/awt/geom/FlatteningPathIterator.java.i
data/test/javax/management/remote/mandatory/version/JMXSpecVersionTest.java.i
data/src/share/classes/com/sun/media/sound/DLSSample.java.i
-data/src/share/classes/java/security/SecureClassLoader.java.i
+data/test/java/nio/channels/AsyncCloseAndInterrupt.java.i
data/make/tools/CharsetMapping/IBM285.map.i
data/test/java/awt/Multiscreen/TranslucencyThrowsExceptionWhenFullScreen/TranslucencyThrowsExceptionWhenFullScreen.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509Data.java.i
data/make/tools/src/build/tools/jdwpgen/ConstantNode.java.i
+data/src/share/classes/javax/naming/ldap/ExtendedRequest.java.i
data/test/java/lang/instrument/NullGetObjectSizeTest.java.i
data/src/share/classes/java/rmi/server/package.html.i
data/test/java/awt/GraphicsEnvironment/LoadLock/GE_init5.java.i
@@ -8706,19 +8771,23 @@ data/src/share/native/sun/font/layout/ScriptAndLanguage.cpp.i
data/src/share/classes/com/sun/media/sound/AutoConnectSequencer.java.i
data/src/share/classes/javax/swing/doc-files/JRootPane-1.gif.i
data/test/javax/swing/JButton/6604281/bug6604281.java.i
+data/test/sun/rmi/transport/tcp/blockAccept/BlockAcceptTest.java.i
+data/test/java/io/File/Cons.java.i
+data/src/share/classes/sun/nio/cs/ext/IBM930.java.i
data/src/share/classes/sun/nio/cs/IBM874.java.i
-data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMCommunities.java.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpFunc.h.i
data/test/java/lang/ClassLoader/findSystemClass/java/lang/Object.class.i
data/src/share/classes/sun/management/snmp/jvminstr/JVM_MANAGEMENT_MIB_IMPL.java.i
data/src/share/classes/com/sun/jmx/mbeanserver/MBeanSupport.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/icons/image-delayed.png.i
data/src/share/classes/java/lang/reflect/Executable.java.i
+data/test/java/security/IdentityScope/NoDefaultSystemScope.java.i
data/src/share/classes/javax/xml/crypto/dsig/keyinfo/KeyName.java.i
data/src/share/classes/com/sun/media/sound/SoftTuning.java.i
data/test/javax/swing/JColorChooser/Test4222508.html.i
-data/test/java/net/DatagramSocket/SetDatagramSocketImplFactory/java/net/MyDatagramSocketImplFactory.java.i
+data/test/sun/management/jmxremote/bootstrap/jmxremote_ssltest06_ok.access.in.i
data/src/share/classes/sun/security/ssl/SSLSocketImpl.java.i
-data/src/windows/classes/sun/awt/windows/WMouseDragGestureRecognizer.java.i
+data/src/share/native/sun/font/layout/GlyphIterator.h.i
data/src/share/demo/jfc/Metalworks/resources/HelpFiles/credits.html.i
data/src/share/classes/sun/security/jgss/GSSManagerImpl.java.i
data/src/share/classes/sun/reflect/DelegatingConstructorAccessorImpl.java.i
@@ -8726,23 +8795,27 @@ data/src/share/classes/java/awt/image/DataBufferUShort.java.i
data/test/java/awt/Focus/ClearGlobalFocusOwnerTest/ClearGlobalFocusOwnerTest.java.i
data/src/share/sample/jmx/jmx-scandir/docfiles/connect-local.jpg.i
data/src/windows/classes/sun/nio/fs/DefaultFileSystemProvider.java.i
+data/test/java/net/URLEncoder/URLEncodeDecode.java.i
data/make/sun/management/Makefile.i
+data/test/java/util/Arrays/Sorting.java.i
data/src/share/native/sun/font/layout/Features.cpp.i
data/test/java/lang/System/finalization/FinExit.sh.i
data/src/share/classes/sun/security/ssl/ClientHandshaker.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/icons/TreeClosed.gif.i
-data/make/tools/src/build/tools/automulti/TestALFLookAndFeel.java.i
-data/test/java/nio/channels/SocketChannel/Stream.java.i
+data/test/java/net/Socket/asyncClose/BrokenPipe.java.i
data/src/share/classes/java/net/ResponseCache.java.i
data/src/share/classes/java/awt/SplashScreen.java.i
+data/test/java/util/concurrent/ConcurrentQueues/RemovePollRace.java.i
data/make/java/hpi/native/reorder-i586.i
data/test/ModulesProblemList.txt.i
-data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/file/PerfDataBuffer.java.i
+data/test/javax/swing/JDialog/6639507/bug6639507.java.i
data/test/java/lang/management/ThreadMXBean/ThreadUserTime.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsInternalFrameTitlePane.java.i
+data/test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh.i
+data/test/java/io/Serializable/classDescFlagConflict/Read.java.i
data/src/windows/native/sun/windows/awt_Debug.cpp.i
+data/test/sun/security/util/BitArray/NamedBitList.java.i
data/src/share/classes/java/lang/management/MemoryUsage.java.i
-data/src/share/demo/jvmti/hprof/hprof_ioname.h.i
data/src/share/classes/sun/io/ByteToCharCp942.java.i
data/test/java/nio/channels/SocketChannel/FinishConnect.java.i
data/test/java/util/PluggableLocale/providersrc/java.text.spi.BreakIteratorProvider.i
@@ -8750,24 +8823,23 @@ data/test/javax/xml/crypto/dsig/data/certs/macha.crt.i
data/src/share/classes/java/util/zip/ZipEntry.java.i
data/src/share/back/stepControl.c.i
data/test/sun/security/pkcs11/KeyStore/Solaris.sh.i
+data/src/share/classes/javax/swing/plaf/metal/icons/ocean/minimize-pressed.gif.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk.properties.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_fr.properties.i
data/test/java/io/File/CreateNewFile.java.i
data/src/share/classes/sun/io/CharToByteSingleByte.java.i
-data/test/java/beans/PropertyEditor/TestFloatClassNull.java.i
+data/test/tools/launcher/DefaultLocaleTestRun.java.i
data/src/share/classes/javax/security/auth/DestroyFailedException.java.i
data/test/sun/management/jmxremote/bootstrap/jmxremote_ssltest10_ok.ssl.in.i
data/src/share/classes/java/lang/IncompatibleClassChangeError.java.i
-data/src/share/classes/java/net/PasswordAuthentication.java.i
data/src/solaris/native/sun/nio/ch/Net.c.i
data/src/share/classes/com/sun/media/sound/WaveFileWriter.java.i
data/test/java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.html.i
data/src/share/classes/javax/swing/tree/RowMapper.java.i
data/src/share/native/sun/awt/medialib/mlib_image_proto.h.i
data/src/share/classes/javax/swing/plaf/metal/icons/ocean/error.png.i
-data/src/share/classes/sun/management/snmp/jvmmib/JvmMemoryMeta.java.i
-data/src/share/classes/com/sun/security/auth/PolicyParser.java.i
-data/src/solaris/native/sun/java2d/loops/vis_ByteGray.c.i
+data/src/windows/native/sun/java2d/d3d/D3DRenderQueue.cpp.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/CipherSuite/SSL_NULL.java.i
data/test/sun/java2d/DirectX/OpaqueImageToSurfaceBlitTest/OpaqueImageToSurfaceBlitTest.java.i
data/src/share/native/sun/java2d/loops/UshortGray.h.i
data/src/share/native/java/util/zip/zlib-1.1.3/zconf.h.i
@@ -8777,8 +8849,7 @@ data/src/share/classes/org/openjdk/internal/joptsimple/internal/AbbreviationMap.
data/make/tools/swing-beans/beaninfo/images/JOptionPaneMono16.gif.i
data/test/com/sun/jdi/PopAsynchronousTest.java.i
data/src/share/classes/java/awt/color/ProfileDataException.java.i
-data/test/javax/script/Test3.js.i
-data/make/tools/src/build/tools/jdwpgen/StringObjectTypeNode.java.i
+data/src/solaris/doc/sun/man/man1/ja/keytool.1.i
data/make/com/sun/security/auth/module/Makefile.i
data/src/share/classes/javax/swing/colorchooser/DiagramComponent.java.i
data/test/java/lang/StringBuffer/Capacity.java.i
@@ -8801,22 +8872,20 @@ data/test/com/sun/security/auth/login/ConfigFile/EmptyOption.config.i
data/src/share/classes/java/awt/CheckboxGroup.java.i
data/src/share/classes/sun/management/snmp/jvminstr/JvmMemPoolEntryImpl.java.i
data/src/share/classes/java/util/concurrent/BrokenBarrierException.java.i
-data/src/solaris/doc/sun/man/man1/ja/jsadebugd.1.i
-data/src/share/classes/sun/tools/tree/LocalMember.java.i
+data/src/share/classes/sun/tools/serialver/serialver_ja.properties.i
data/src/share/classes/sun/tools/jstat/AscendingMonitorComparator.java.i
data/test/java/net/URLClassLoader/AddURLTest.java.i
-data/src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties.i
+data/src/share/classes/sun/print/PageableDoc.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/SelfIssuedCert.java.i
data/src/share/native/sun/font/layout/GlyphIterator.cpp.i
data/test/java/lang/management/MemoryMXBean/MemoryManagementSerialGC.sh.i
data/test/sun/management/jmxremote/RunTest.sh.i
data/test/sun/security/tools/policytool/OpenPolicy.html.i
-data/test/sun/security/provider/PolicyParser/ExtDirsDefaultPolicy.java.i
-data/src/share/native/sun/java2d/cmm/lcms/cmscnvrt.c.i
data/src/share/bin/wildcard.c.i
data/src/share/classes/sun/text/resources/FormatData_mt.java.i
data/src/share/native/java/lang/fdlibm/src/e_j1.c.i
data/src/share/classes/sun/security/ssl/InputRecord.java.i
-data/src/share/classes/sun/nio/cs/ext/Johab.java.i
+data/src/share/classes/com/sun/tools/jdi/ThreadGroupReferenceImpl.java.i
data/src/share/demo/applets/DitherTest/example1.html.i
data/test/java/util/IdentityHashMap/DistinctEntrySetElements.java.i
data/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java.i
@@ -8826,11 +8895,12 @@ data/test/javax/management/notification/NotifExecutorTest.java.i
data/test/sun/tools/jconsole/ImmutableResourceTest.java.i
data/src/windows/classes/sun/print/Win32MediaTray.java.i
data/src/share/classes/java/security/interfaces/ECPublicKey.java.i
+data/test/sun/security/provider/PolicyFile/getinstance/GetInstance.policy.i
data/src/share/classes/sun/security/krb5/internal/crypto/RsaMd5CksumType.java.i
data/src/solaris/native/sun/awt/awt_GraphicsEnv.c.i
data/src/share/classes/java/awt/GraphicsConfiguration.java.i
data/src/share/classes/sun/tools/java/Constants.java.i
-data/test/java/security/SecureRandom/Serialize.java.i
+data/src/share/classes/sun/security/krb5/internal/UDPClient.java.i
data/test/java/lang/management/ManagementFactory/GetObjectName.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/ServerThread.java.i
data/src/share/native/sun/awt/debug/debug_assert.h.i
@@ -8840,7 +8910,7 @@ data/test/sun/security/util/DerValue/NegInt.java.i
data/src/share/classes/sun/net/www/protocol/http/NTLMAuthenticationProxy.java.i
data/test/java/rmi/reliability/benchmark/bench/serial/Bytes.java.i
data/src/solaris/native/sun/security/smartcardio/MUSCLE/winscard.h.i
-data/src/solaris/native/sun/java2d/x11/X11TextRenderer_md.c.i
+data/test/java/awt/print/PrinterJob/ExceptionTest.java.i
data/test/javax/management/Introspector/AnnotatedMBeanTest.java.i
data/src/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java.i
data/src/share/classes/sun/io/CharToByteISO8859_8.java.i
@@ -8853,42 +8923,40 @@ data/src/share/classes/sun/audio/AudioTranslatorStream.java.i
data/test/java/util/BitSet/And.java.i
data/test/sun/net/InetAddress/nameservice/dns/Lookup.java.i
data/test/javax/management/remote/mandatory/passwordAccessFile/PasswordAccessFileTest.java.i
-data/test/java/beans/PropertyEditor/TestEnumClassNull.java.i
+data/src/share/classes/sun/security/krb5/internal/TransitedEncoding.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifTreeCellRenderer.java.i
-data/src/share/classes/java/rmi/server/RemoteRef.java.i
data/src/solaris/native/sun/nio/ch/InheritedChannel.c.i
data/src/share/classes/sun/security/krb5/internal/KdcErrException.java.i
data/src/share/native/java/util/zip/zlib-1.1.3/gzio.c.i
data/src/share/javavm/include/opcodes.list.i
data/test/java/lang/instrument/InstrumentationHandoff.java.i
-data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ResultLogManager.java.i
+data/src/share/native/sun/awt/image/dither.c.i
data/test/java/lang/reflect/ReflectPermission/Exceptions.java.i
data/src/share/classes/com/sun/jndi/cosnaming/CNBindingEnumeration.java.i
data/test/org/openjdk/jigsaw/preinstall.sh.i
data/test/com/sun/servicetag/InvalidRegistrationData.java.i
data/src/share/classes/sun/tools/tree/FloatExpression.java.i
data/src/share/classes/com/sun/jdi/event/MonitorContendedEnteredEvent.java.i
-data/src/solaris/classes/sun/awt/X11/XWindowPeer.java.i
-data/src/share/classes/sun/util/resources/CalendarData_sr_Latn_RS.properties.i
+data/src/share/native/java/lang/fdlibm/src/w_hypot.c.i
data/src/share/classes/java/lang/instrument/UnmodifiableClassException.java.i
data/src/share/classes/sun/io/CharToByteCp949.java.i
-data/src/share/classes/java/net/SdpSocketImpl.java.i
+data/test/java/lang/management/ManagementFactory/MXBeanProxyTest.java.i
data/src/solaris/native/sun/awt/VDrawingAreaP.h.i
data/src/share/classes/sun/text/resources/FormatData_ar_LB.java.i
data/src/share/classes/sun/io/ByteToCharCp284.java.i
data/src/share/classes/com/sun/jndi/dns/Resolver.java.i
data/src/share/classes/sun/security/x509/BasicConstraintsExtension.java.i
data/src/share/classes/sun/net/httpserver/DefaultHttpServerProvider.java.i
-data/test/java/awt/event/MouseEvent/CheckGetMaskForButton/CheckGetMaskForButton.java.i
+data/src/share/classes/javax/print/attribute/standard/OrientationRequested.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifScrollBarButton.java.i
data/src/share/native/common/opcodes.in_out.i
data/src/share/classes/com/sun/jndi/ldap/BerDecoder.java.i
+data/test/sun/management/jmxremote/bootstrap/jmxremote_test02_ok.password.in.i
data/src/solaris/native/sun/awt/awt_xembed.c.i
data/src/share/classes/java/io/FilterWriter.java.i
data/src/share/classes/com/sun/jdi/ObjectReference.java.i
data/src/share/classes/com/sun/media/sound/FFT.java.i
data/src/share/native/sun/awt/splashscreen/splashscreen_png.c.i
-data/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java.i
data/src/share/classes/javax/swing/CellEditor.java.i
data/test/java/security/Policy/GetPermissions/JarURL.java.i
data/test/java/lang/instrument/AppendToClassPathTest.java.i
@@ -8901,7 +8969,7 @@ data/src/share/native/sun/font/layout/ExtensionSubtables.cpp.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMInformItem.java.i
data/src/share/classes/sun/misc/JavaNioAccess.java.i
data/test/javax/management/query/QueryExpStringTest.java.i
-data/src/share/classes/java/security/spec/EncodedKeySpec.java.i
+data/test/javax/security/auth/login/Configuration/GetInstanceConfigSpi.java.i
data/src/share/classes/sun/misc/CharacterDecoder.java.i
data/test/javax/management/Introspector/AnnotationSecurityTest.policy.i
data/test/sun/security/pkcs11/Secmod/keystore.jks.i
@@ -8909,16 +8977,15 @@ data/src/share/classes/sun/audio/AudioSecurityAction.java.i
data/src/share/classes/com/sun/security/sasl/gsskerb/FactoryImpl.java.i
data/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java.i
data/test/com/sun/jdi/JdbMethodExitTest.sh.i
-data/src/share/classes/sun/nio/fs/AbstractFileSystemProvider.java.i
data/test/java/net/Socket/TestTcpNoDelay.java.i
data/src/share/classes/sun/beans/editors/DoubleEditor.java.i
data/src/share/classes/java/security/cert/CertificateFactory.java.i
data/src/share/classes/com/sun/tools/example/debug/bdi/JDIEventSource.java.i
-data/make/tools/swing-beans/beaninfo/images/JPanelMono16.gif.i
+data/src/windows/native/sun/java2d/d3d/D3DTextRenderer.h.i
data/src/share/classes/java/security/cert/CertificateNotYetValidException.java.i
data/src/share/demo/nbproject/scripting/jconsole-plugin/nbproject/netbeans-targets.xml.i
data/src/share/classes/sun/rmi/transport/Endpoint.java.i
-data/src/share/classes/java/lang/reflect/Member.java.i
+data/test/sun/security/tools/policytool/ChangeUI.html.i
data/src/share/native/sun/awt/medialib/mlib_sys.h.i
data/test/sun/security/pkcs11/nss/lib/solaris-sparc/libnspr4.so.i
data/src/share/classes/com/sun/jmx/snmp/daemon/SnmpAdaptorServer.java.i
@@ -8931,27 +8998,26 @@ data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxTransmitters.java.i
data/test/java/io/Serializable/6559775/SerialVictim.java.i
data/src/share/classes/sun/io/CharToByteCp871.java.i
data/src/share/classes/sun/nio/cs/ext/IBM1140.java.i
-data/src/share/classes/sun/applet/resources/MsgAppletViewer_de.java.i
data/src/share/sample/vm/jvm-clr/README.txt.i
data/src/share/native/com/sun/media/sound/MidiOutDevice.c.i
+data/src/share/native/java/util/zip/zlib-1.2.3/inffast.h.i
data/test/java/lang/instrument/RedefineClassesTests.java.i
data/src/windows/native/sun/windows/awt_IconCursor.cpp.i
-data/test/java/util/PluggableLocale/DateFormatSymbolsProviderTest.java.i
+data/src/share/classes/javax/swing/LayoutComparator.java.i
data/src/share/classes/com/sun/tools/jdi/StackFrameImpl.java.i
data/test/java/nio/channels/AsynchronousChannelGroup/run_any_task.sh.i
data/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java.i
-data/test/java/nio/channels/Selector/OpRead.java.i
+data/src/share/classes/sun/tools/jconsole/inspector/IconManager.java.i
data/src/share/classes/java/lang/module/ModuleNotPresentException.java.i
data/test/java/awt/font/TextLayout/UnderlinePositionTest.java.i
data/src/share/classes/java/awt/event/MouseMotionListener.java.i
-data/src/solaris/transport/socket/socket_md.h.i
data/src/share/classes/javax/imageio/spi/ImageInputStreamSpi.java.i
+data/src/share/native/java/util/zip/zlib-1.2.3/uncompr.c.i
data/test/java/rmi/transport/httpSocket/security.policy.i
data/src/share/classes/java/awt/geom/RectIterator.java.i
data/test/demo/jvmti/waiters/WaitersTest.java.i
data/src/share/classes/com/sun/jndi/toolkit/ctx/HeadTail.java.i
data/src/share/native/sun/awt/medialib/mlib_ImageAffine_BL_F32.c.i
-data/src/share/classes/sun/tools/jconsole/resources/connected16.png.i
data/src/share/classes/java/util/PriorityQueue.java.i
data/test/sun/misc/Encode/Encode.java.i
data/test/sun/security/provider/PolicyParser/p001.policy.i
@@ -8965,9 +9031,8 @@ data/src/windows/classes/sun/security/mscapi/JarVerifier.java.i
data/src/share/native/sun/awt/libpng/README.i
data/src/share/native/sun/awt/medialib/mlib_ImageConv_F32nw.c.i
data/src/share/classes/java/security/spec/PSSParameterSpec.java.i
-data/test/javax/management/openmbean/CompositeDataStringTest.java.i
-data/src/share/classes/javax/print/attribute/PrintJobAttribute.java.i
-data/test/sun/security/util/DerValue/EmptyValue.java.i
+data/src/share/classes/sun/tools/tree/CommaExpression.java.i
+data/src/share/classes/javax/swing/plaf/basic/BasicOptionPaneUI.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/package.html.i
data/src/share/classes/javax/swing/plaf/metal/sounds/FrameRestoreDown.wav.i
data/src/share/classes/javax/management/monitor/MonitorSettingException.java.i
@@ -8980,20 +9045,19 @@ data/test/java/util/concurrent/ThreadPoolExecutor/Custom.java.i
data/test/javax/swing/JColorChooser/Test4177735.java.i
data/test/sun/security/provider/MessageDigest/TestSHAClone.java.i
data/src/linux/doc/man/ja/servertool.1.i
-data/test/java/io/Serializable/oldTests/CircularList.java.i
+data/src/solaris/classes/sun/awt/XSettings.java.i
data/test/java/util/zip/ZipFile/input.zip.i
data/test/com/sun/jndi/ldap/LdapsReadTimeoutTest.java.i
-data/src/share/classes/com/sun/jmx/event/LeaseManager.java.i
data/src/share/classes/com/sun/jmx/snmp/mpm/SnmpMsgTranslator.java.i
data/src/solaris/hpi/native_threads/src/monitor_md.c.i
+data/src/share/classes/javax/naming/TimeLimitExceededException.java.i
data/make/jpda/front/Makefile.i
-data/src/share/classes/java/nio/file/PathMatcher.java.i
+data/src/share/classes/java/io/ObjectInputValidation.java.i
data/src/share/classes/sun/io/ByteToCharMS950_HKSCS.java.i
data/test/java/lang/String/ToUpperCase.java.i
-data/src/share/classes/sun/net/www/http/HttpClient.java.i
data/src/share/classes/javax/accessibility/AccessibleText.java.i
data/src/windows/native/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.c.i
-data/test/java/util/Formatter/Basic.java.i
+data/src/share/native/java/util/zip/zlib-1.1.3/ChangeLog.i
data/src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageReaderSpi.java.i
data/src/share/classes/javax/swing/DefaultListSelectionModel.java.i
data/src/share/classes/sun/text/resources/FormatData_en_AU.java.i
@@ -9002,41 +9066,40 @@ data/test/sun/security/krb5/auto/TwoPrinces.java.i
data/src/windows/native/sun/jkernel/resource.h.i
data/src/share/classes/javax/swing/text/StringContent.java.i
data/test/java/io/PipedReader/ReadToArray.java.i
+data/test/javax/sound/midi/Gervill/SoftChannel/ProgramAndBankChange.java.i
data/test/javax/xml/crypto/dsig/data/signature-enveloping-hmac-sha1-40.xml.i
data/src/share/classes/com/sun/tools/hat/internal/oql/OQLException.java.i
data/src/share/classes/com/sun/jarsigner/package.html.i
+data/src/share/native/java/util/zip/zlib-1.2.5/inflate.c.i
data/src/share/classes/javax/swing/text/DefaultTextUI.java.i
data/src/share/classes/sun/font/GlyphLayout.java.i
data/src/share/classes/java/sql/Timestamp.java.i
-data/test/javax/naming/ldap/LdapName/RdnToAttrsTest.java.i
+data/test/sun/security/pkcs11/nss/lib/linux-amd64/libfreebl3.so.i
data/src/share/classes/java/nio/exceptions.i
data/src/share/native/sun/awt/medialib/mlib_image_get.h.i
data/test/java/lang/instrument/ilib/Options.java.i
data/src/share/classes/sun/util/resources/LocaleNames_ms.properties.i
-data/src/share/demo/management/FullThreadDump/ThreadMonitor.java.i
data/src/share/classes/sun/io/CharToByteMacGreek.java.i
data/src/solaris/native/java/util/logging.c.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageConvMxN_8ext.c.i
data/make/sun/applet/Makefile.i
data/src/share/classes/sun/security/ssl/Debug.java.i
data/src/share/classes/java/io/FilterOutputStream.java.i
data/src/solaris/classes/sun/awt/motif/MEmbeddedFrame.java.i
-data/test/java/beans/XMLEncoder/javax_swing_plaf_FontUIResource.java.i
data/src/share/classes/java/util/TreeSet.java.i
data/test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/EchoImpl.java.i
-data/src/share/demo/scripting/jconsole-plugin/src/META-INF/services/com.sun.tools.jconsole.JConsolePlugin.i
+data/src/solaris/native/sun/awt/color.h.i
data/src/share/classes/com/oracle/net/Sdp.java.i
data/src/share/demo/nbproject/jfc/Notepad/nbproject/netbeans-targets.xml.i
data/test/java/text/Bidi/BidiBug.java.i
data/test/java/net/URI/Test.java.i
data/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java.i
-data/src/share/classes/sun/tools/jconsole/OverviewPanel.java.i
data/test/java/lang/management/ThreadMXBean/DisableTest.java.i
data/test/sun/security/pkcs11/tls/TestPremaster.java.i
data/test/sun/nio/ch/SelProvider.java.i
data/src/share/classes/com/sun/tools/hat/internal/model/StackFrame.java.i
data/src/share/classes/sun/net/httpserver/TimeSource.java.i
data/src/share/classes/sun/security/krb5/internal/EncKDCRepPart.java.i
+data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/SimpleShape.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiListUI.java.i
data/test/javax/management/remote/mandatory/passwordAuthenticator/SimpleStandard.java.i
data/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/UseCustomSocketFactory.java.i
@@ -9044,50 +9107,55 @@ data/src/share/classes/com/sun/tools/jdi/ObjectReferenceImpl.java.i
data/test/java/beans/XMLDecoder/spec/TestChar.java.i
data/make/tools/src/build/tools/jdwpgen/RootNode.java.i
data/test/java/beans/XMLDecoder/spec/TestByte.java.i
-data/src/share/classes/sun/misc/VMNotification.java.i
+data/src/share/demo/management/JTop/JTop.java.i
data/src/share/classes/sun/text/resources/FormatData_be.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java.i
data/test/sun/security/krb5/auto/LoginModuleOptions.java.i
data/make/tools/swing-beans/beaninfo/images/JSeparatorMono16.gif.i
-data/make/sun/jawt/mapfile-vers.i
data/src/share/classes/com/sun/tools/example/debug/event/ExceptionEventSet.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMAclBlock.java.i
+data/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/CompressInputStream.java.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/PerfStringConstantMonitor.java.i
data/test/java/awt/Graphics/LCDTextAndGraphicsState.java.i
data/src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java.i
data/src/share/classes/java/lang/NumberFormatException.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_en_MT.properties.i
-data/test/com/sun/crypto/provider/TLS/TestPremaster.java.i
+data/src/share/classes/javax/swing/JRadioButtonMenuItem.java.i
data/src/share/classes/sun/io/CharToByteCp1255.java.i
data/test/java/io/StreamTokenizer/NullConstruct.java.i
data/test/javax/management/Introspector/LegacyIntrospectorTest.java.i
+data/test/sun/java2d/DirectX/AcceleratedScaleTest/AcceleratedScaleTest.java.i
data/src/share/classes/javax/rmi/ssl/SslRMIServerSocketFactory.java.i
-data/src/share/classes/sun/io/CharToByteSJIS.java.i
+data/src/share/classes/sun/tools/tree/ShiftLeftExpression.java.i
+data/src/share/classes/javax/swing/DebugGraphicsFilter.java.i
data/src/share/classes/sun/misc/CEStreamExhausted.java.i
data/make/netbeans/common/sample-view.ent.i
-data/src/share/classes/sun/util/resources/OpenListResourceBundle.java.i
+data/test/com/sun/jdi/TargetListener.java.i
+data/src/windows/native/com/sun/management/OperatingSystem_md.c.i
data/test/sun/nio/cs/TestIllegalSJIS.java.i
data/THIRD_PARTY_README.i
data/src/share/classes/com/sun/jmx/snmp/SnmpAckPdu.java.i
data/test/java/util/ResourceBundle/Control/StressOut_zh_CN.properties.i
-data/src/solaris/classes/sun/awt/X11/XChoicePeer.java.i
+data/src/share/classes/com/sun/management/DiagnosticCommandInfo.java.i
data/src/share/classes/java/lang/reflect/WildcardType.java.i
+data/test/java/awt/Focus/TranserFocusToWindow/TranserFocusToWindow.java.i
data/test/sun/security/tools/jarsigner/a%b/percent.keystore.i
data/src/share/native/sun/font/layout/IndicRearrangementProcessor.h.i
data/src/share/classes/java/awt/dnd/DragSourceContext.java.i
data/src/share/classes/com/sun/inputmethods/internal/thaiim/ThaiRules.java.i
+data/src/solaris/classes/sun/awt/motif/MDragSourceContextPeer.java.i
data/make/jpda/tty/Makefile.i
-data/test/demo/jvmti/gctest/BigHello.java.i
+data/test/java/beans/Beans/Test4067824.java.i
data/src/linux/doc/man/wsimport.1.i
data/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java.i
data/src/share/classes/java/text/RBCollationTables.java.i
data/test/java/awt/GraphicsEnvironment/LoadLock/GE_init1.java.i
data/src/share/demo/java2d/J2DBench/resources/textdata/japanese.ut8.txt.i
data/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java.i
-data/src/share/demo/applets/SimpleGraph/example1.html.i
-data/test/javax/print/attribute/ServiceDialogTest.java.i
+data/test/java/util/LinkedHashMap/EmptyMapIterator.java.i
+data/test/javax/management/MBeanServer/MBeanServerNotificationTest.java.i
+data/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadAllInstruments.java.i
data/src/share/demo/jvmti/waiters/README.txt.i
-data/src/share/native/java/lang/fdlibm/src/w_gamma.c.i
data/src/share/classes/sun/util/resources/CurrencyNames.properties.i
data/test/java/nio/channels/SocketChannel/OpenLeak.java.i
data/test/java/lang/instrument/appendToClassLoaderSearch/PrematureLoadTest.java.i
@@ -9097,58 +9165,55 @@ data/src/solaris/native/sun/awt/awt_xembed_server.h.i
data/test/java/lang/Thread/StackTraces.java.i
data/test/java/util/ResourceBundle/Test4314141B_fr_CH.java.i
data/test/java/nio/file/Files/DeleteOnClose.java.i
-data/src/solaris/native/sun/awt/awt_Font.c.i
+data/test/sun/tools/jstatd/jstatdUsage1.sh.i
data/src/share/sample/nio/server/Server.java.i
-data/make/java/redist/FILES.gmk.i
-data/src/share/classes/sun/swing/text/CountingPrintable.java.i
+data/src/share/classes/java/lang/reflect/Constructor.java.i
+data/src/solaris/classes/sun/awt/motif/X11DragSourceContextPeer.java.i
+data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputStreamTests.java.i
data/test/java/rmi/server/RMIClassLoader/delegateBeforePermissionCheck/Foo.java.i
-data/src/share/classes/sun/java2d/opengl/OGLSurfaceDataProxy.java.i
-data/make/sun/security/pkcs11/Makefile.i
+data/test/java/awt/PrintJob/RoundedRectTest/RoundedRectTest.java.i
data/test/java/io/Serializable/PutField/Read2.java.i
data/src/share/classes/sun/io/CharToByteISO2022KR.java.i
data/src/share/lib/sound.properties.i
data/test/com/sun/net/httpserver/Test8.java.i
data/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.java.i
data/src/share/classes/com/sun/jndi/cosnaming/CNCtxFactory.java.i
-data/test/java/nio/file/Files/probeContentType/META-INF/services/java.nio.file.spi.FileTypeDetector.i
data/src/share/classes/javax/sound/midi/Synthesizer.java.i
data/test/java/lang/reflect/Generics/exceptionCauseTest.java.i
data/src/share/classes/sun/io/CharToByteCp1141.java.i
data/test/java/nio/file/Path/DeleteOnClose.java.i
-data/src/share/classes/sun/io/ByteToCharISO2022CN.java.i
-data/src/share/classes/com/sun/tools/example/debug/gui/SearchPath.java.i
+data/test/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.java.i
+data/src/share/classes/sun/util/ResourceBundleEnumeration.java.i
+data/src/share/classes/com/sun/tools/example/debug/gui/SearchPath.java.i
data/src/windows/native/sun/java2d/d3d/D3DMaskBlit.cpp.i
data/test/java/lang/instrument/TransformerManagementThreadRemoveTests.java.i
data/test/java/nio/charset/CharsetDecoder/AverageMax.java.i
data/src/share/classes/java/lang/module/ModuleClassLoader.java.i
data/test/java/lang/Integer/GetInteger.java.i
-data/src/solaris/classes/sun/font/XMap.java.i
data/src/share/classes/sun/io/CharToByteCp937.java.i
data/src/share/classes/java/nio/file/ProviderMismatchException.java.i
-data/src/share/classes/javax/naming/spi/ResolveResult.java.i
data/src/share/classes/java/security/spec/RSAKeyGenParameterSpec.java.i
data/test/java/security/Policy/GetInstance/GetInstanceProvider.java.i
data/src/share/classes/sun/management/MonitorInfoCompositeData.java.i
data/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformAbsolute.java.i
-data/test/java/beans/XMLEncoder/java_awt_ScrollPane.java.i
data/test/java/lang/Class/getDeclaredField/Exceptions.java.i
data/src/share/classes/javax/xml/crypto/dom/DOMStructure.java.i
data/src/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java.i
-data/test/sun/net/www/protocol/http/RelativeRedirect.java.i
+data/src/share/classes/sun/management/snmp/jvmmib/package.html.i
data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextConstructionTests.java.i
-data/src/share/classes/javax/swing/plaf/synth/SynthContext.java.i
data/test/sun/security/tools/jarsigner/emptymanifest.sh.i
data/test/java/lang/String/CaseConvertSameInstance.java.i
-data/src/share/classes/java/nio/charset/Charset-X-Coder.java.i
+data/src/share/classes/com/sun/jmx/snmp/daemon/SnmpMibTree.java.i
data/src/share/classes/sun/java2d/loops/FillSpans.java.i
data/src/share/classes/sun/font/CharToGlyphMapper.java.i
data/test/java/rmi/activation/Activatable/forceLogSnapshot/security.policy.i
data/src/share/native/sun/awt/image/cvutils/img_replscale.h.i
data/test/sun/security/krb5/canonicalize/Test.java.i
+data/test/java/beans/Introspector/Test6963811.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureECDSA.java.i
data/src/share/classes/java/security/spec/RSAOtherPrimeInfo.java.i
data/src/share/classes/sun/net/httpserver/ChunkedOutputStream.java.i
-data/test/java/security/cert/PKIXBuilderParameters/InvalidParameters.java.i
-data/test/java/security/cert/CertPathValidator/nameConstraints/openssl.cnf.i
+data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/file/FileMonitoredVm.java.i
data/src/share/classes/javax/security/cert/CertificateException.java.i
data/test/java/rmi/reliability/benchmark/bench/rmi/SmallObjTreeCalls.java.i
data/src/share/classes/sun/management/snmp/jvminstr/JvmThreadingImpl.java.i
@@ -9158,102 +9223,101 @@ data/test/javax/sound/sampled/FileWriter/AlawEncoderSync.java.i
data/test/java/util/IllegalFormatException/Constructors.java.i
data/src/share/classes/com/sun/imageio/plugins/jpeg/MarkerSegment.java.i
data/src/share/classes/sun/tools/jstat/Parser.java.i
-data/src/solaris/native/sun/java2d/loops/mlib_v_ImageClear_f.c.i
data/src/share/native/java/lang/fdlibm/src/s_scalbn.c.i
-data/src/share/classes/java/util/TooManyListenersException.java.i
data/src/share/native/sun/security/ec/ecp.h.i
data/test/java/math/BigInteger/ModPow.java.i
-data/test/sun/net/www/protocol/http/spnegoLogin.conf.i
+data/test/java/beans/PropertyEditor/TestEnumSubclass.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/UIPropertyMapper.java.i
-data/test/java/awt/Toolkit/AutoShutdown/ShowExitTest/ShowExitTest.java.i
-data/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java.i
-data/src/share/classes/sun/rmi/registry/resources/rmiregistry_de.properties.i
data/test/java/rmi/activation/Activatable/nonExistentActivatable/rmid.security.policy.i
-data/src/share/classes/sun/management/GcInfoCompositeData.java.i
+data/src/share/classes/sun/nio/cs/ISO_8859_9.java.i
+data/src/share/classes/sun/misc/JavaNetHttpCookieAccess.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/RequiredArgumentOptionSpec.java.i
data/src/share/classes/com/sun/management/GcInfo.java.i
-data/src/solaris/native/sun/nio/ch/EPollPort.c.i
+data/test/javax/sound/midi/Gervill/ModelSource/SetIdentifier.java.i
+data/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.html.i
data/src/share/classes/javax/management/remote/rmi/RMIIIOPServerImpl.java.i
data/test/java/util/Locale/Bug4518797.java.i
-data/test/com/sun/jdi/RedefineFinal.sh.i
-data/test/sun/security/pkcs11/ec/p12passwords.txt.i
+data/src/share/classes/sun/font/FileFontStrike.java.i
+data/test/javax/accessibility/6986385/bug6986385.java.i
data/test/java/awt/Frame/UnfocusableMaximizedFrameResizablity/UnfocusableMaximizedFrameResizablity.java.i
data/src/share/classes/sun/java2d/pisces/Curve.java.i
-data/src/share/native/sun/awt/medialib/mlib_ImageConvMxN_Fp.c.i
+data/test/java/util/PluggableLocale/providersrc/java.text.spi.NumberFormatProvider.i
data/make/tools/swing-beans/beaninfo/images/JDesktopPaneMono32.gif.i
data/src/share/classes/sun/rmi/rmic/newrmic/BatchEnvironment.java.i
data/test/java/security/KeyRep/DH.pre.1.5.key.i
data/test/java/awt/PrintJob/PrintArcTest/PrintArcTest.java.i
data/src/share/classes/java/security/cert/CertPathValidatorSpi.java.i
-data/src/share/classes/javax/swing/ScrollPaneConstants.java.i
+data/make/docs/Notes.html.i
data/src/share/classes/java/rmi/MarshalledObject.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalCheckBoxUI.java.i
data/src/share/classes/sun/util/resources/LocaleNames_de.properties.i
+data/src/share/classes/sun/misc/Sort.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/DSAKeyValue.java.i
data/test/javax/crypto/SecretKeyFactory/P1SecretKeyFactory.java.i
data/test/java/rmi/server/Unreferenced/marshalledObjectGet/MarshalledObjectGet.java.i
data/src/share/classes/sun/util/resources/LocaleNames_sk.properties.i
data/src/share/native/sun/java2d/loops/FillRect.c.i
data/test/java/nio/file/Files/ForceLoad.java.i
+data/test/com/sun/crypto/provider/TLS/prf12data.txt.i
data/src/share/classes/sun/awt/image/OffScreenImage.java.i
data/test/sun/security/krb5/krb5-capaths.conf.i
data/test/java/lang/reflect/Module/module-annotation.sh.i
-data/test/java/util/ResourceBundle/Control/XmlRB_ja.xml.i
+data/test/javax/swing/JScrollBar/6924059/bug6924059.java.i
data/src/share/demo/jvmti/hprof/hprof_error.c.i
-data/src/share/classes/sun/reflect/UnsafeStaticFieldAccessorImpl.java.i
+data/test/java/net/SocketPermission/NoAction.java.i
data/src/share/classes/sun/io/ByteToCharCp297.java.i
-data/test/com/sun/tools/attach/redefineagent.mf.i
+data/test/javax/management/namespace/DomainCreationTest.java.i
data/make/java/nio/Exportedfiles.gmk.i
data/test/sun/tools/jhat/HatHeapDump1Test.java.i
data/test/javax/swing/UIManager/Test6657026.java.i
data/src/share/sample/scripting/scriptpad/nbproject/project.xml.i
-data/test/javax/sound/midi/Gervill/ModelPerformer/SetDefaultConnectionsEnabled.java.i
+data/test/javax/imageio/plugins/bmp/TopDownTest.java.i
data/src/share/classes/java/lang/SafeVarargs.java.i
-data/src/share/classes/sun/tools/tree/UnaryExpression.java.i
+data/test/sun/security/tools/keytool/CloneKeyAskPassword.sh.i
data/make/tools/classanalyzer/src/com/sun/classanalyzer/ClassFileParser.java.i
data/src/share/classes/javax/swing/text/html/CSSParser.java.i
data/test/com/sun/crypto/provider/Cipher/DES/Sealtest.java.i
-data/src/share/classes/javax/net/ssl/SSLSessionBindingEvent.java.i
+data/test/javax/swing/JList/6823603/bug6823603.java.i
data/src/share/demo/applets/NervousText/example1.html.i
-data/src/share/classes/sun/java2d/cmm/lcms/LCMS.java.i
+data/src/share/classes/sun/nio/cs/ISO_8859_4.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/SynthModel.java.i
-data/src/solaris/native/common/jdk_util_md.h.i
+data/src/share/native/sun/font/FontInstanceAdapter.h.i
+data/test/javax/crypto/SealedObject/NullKeySealedObject.java.i
data/test/sun/security/krb5/auto/SPNEGO.java.i
-data/src/share/classes/javax/swing/plaf/synth/SynthArrowButton.java.i
+data/test/javax/sound/midi/Gervill/SimpleSoundbank/GetInstrument.java.i
data/test/javax/swing/JFileChooser/6945316/bug6945316.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpS16U16Func.c.i
-data/make/tools/reorder/tools/util-i586.il.i
data/src/share/native/sun/awt/libpng/pngerror.c.i
data/src/windows/native/sun/windows/colordata.h.i
data/test/javax/management/eventService/FetchingTest.java.i
data/test/java/net/URL/B5086147.java.i
data/src/share/classes/javax/security/auth/login/FailedLoginException.java.i
-data/src/share/classes/java/lang/invoke/MethodHandle.java.i
+data/src/share/classes/sun/nio/fs/AbstractFileSystemProvider.java.i
data/src/share/classes/sun/util/resources/CalendarData_tr.properties.i
data/src/share/transport/socket/socketTransport.h.i
-data/src/share/classes/sun/text/resources/CollationData_sr_Latn.java.i
+data/src/share/classes/javax/xml/crypto/dsig/dom/package.html.i
data/test/java/io/PipedInputStream/Constructors.java.i
-data/test/com/sun/org/apache/xml/internal/security/exceptions/LocaleTest.java.i
+data/src/share/native/java/util/zip/zlib-1.2.5/inffixed.h.i
data/test/java/util/Collections/CheckedQueue.java.i
data/src/share/classes/javax/swing/SwingConstants.java.i
data/src/share/classes/javax/swing/ComboBoxModel.java.i
data/test/javax/swing/JColorChooser/Test6348456.html.i
+data/test/javax/sound/midi/Gervill/DLSSoundbankReader/ding.dls.i
data/test/java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.java.i
data/test/javax/management/remote/mandatory/connection/DeadLockTest.java.i
data/test/java/rmi/activation/ActivationSystem/modifyDescriptor/group.security.policy.i
data/test/sun/security/tools/jarsigner/oldsig/A.jar.i
data/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubNextRequestHandler.java.i
-data/src/solaris/classes/sun/awt/X11/XMSelectionListener.java.i
+data/test/java/lang/StringBuffer/Supplementary.java.i
+data/test/javax/management/loading/MLetCLR/MLetCommand.java.i
+data/test/java/beans/Introspector/4520754/Foo.java.i
data/make/sun/cmm/lcms/FILES_c_windows.gmk.i
-data/test/java/util/ArrayList/AddAll.java.i
data/src/share/classes/com/sun/imageio/plugins/gif/GIFImageWriter.java.i
data/src/share/classes/sun/tools/jstat/Literal.java.i
data/src/windows/native/sun/windows/awt_Unicode.cpp.i
data/make/modules/image.awt.ls.i
data/src/share/classes/sun/util/resources/CurrencyNames_es_CL.properties.i
data/make/sun/awt/mapfile-vers.i
-data/make/sun/security/ec/Makefile.i
-data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/DirectoryScannerMXBean.java.i
data/test/java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.java.i
data/make/tools/src/build/tools/jdwpgen/ErrorNode.java.i
data/src/share/classes/sun/applet/AppletMessageHandler.java.i
@@ -9274,17 +9338,19 @@ data/src/solaris/classes/sun/security/provider/NativeSeedGenerator.java.i
data/test/javax/management/loading/LibraryLoader/jar_src/RandomGen.c.i
data/src/share/classes/javax/print/AttributeException.java.i
data/test/java/net/ipv6tests/Tests.java.i
-data/test/com/sun/jdi/ListenAddress.java.i
-data/src/share/classes/sun/awt/dnd/SunDropTargetEvent.java.i
+data/src/share/classes/sun/security/jgss/krb5/Krb5Token.java.i
+data/test/java/security/BasicPermission/SerialVersion.java.i
data/src/share/classes/java/nio/file/FileVisitResult.java.i
data/src/share/classes/com/sun/tools/example/debug/gui/TypeScript.java.i
data/src/share/classes/java/security/KeyStoreSpi.java.i
data/src/share/native/sun/java2d/opengl/OGLFuncs.c.i
+data/make/tools/CharsetMapping/IBM037.nr.i
data/src/share/classes/sun/awt/geom/Edge.java.i
data/src/share/demo/nbproject/jfc/Metalworks/build.xml.i
data/src/share/classes/sun/security/util/Cache.java.i
data/src/share/classes/sun/net/ftp/FtpLoginException.java.i
data/test/java/nio/Buffer/Basic.java.i
+data/src/share/classes/java/awt/event/ActionEvent.java.i
data/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_it.properties.i
data/src/share/classes/java/sql/CallableStatement.java.i
data/test/javax/sound/midi/Gervill/SoftReceiver/Send_Mono.java.i
@@ -9300,7 +9366,7 @@ data/test/sun/security/util/Resources/NewResourcesNames.java.i
data/test/javax/swing/plaf/nimbus/Test6919629.java.i
data/test/java/util/IdentityHashMap/EntrySetIteratorRemoveInvalidatesEntry.java.i
data/src/share/classes/com/sun/media/sound/SoftControl.java.i
-data/src/share/classes/java/rmi/activation/UnknownGroupException.java.i
+data/test/java/nio/Buffer/CopyDirect-X-Memory.java.template.i
data/make/mksample/scripting/scriptpad/Makefile.i
data/src/share/native/java/util/zip/zlib-1.1.3/trees.c.i
data/src/share/classes/java/math/BigInteger.java.i
@@ -9310,31 +9376,30 @@ data/test/java/util/zip/ZipEntry/Clone.java.i
data/src/share/classes/java/util/concurrent/ScheduledFuture.java.i
data/make/tools/src/build/tools/jdwpgen/NameValueNode.java.i
data/src/share/classes/java/awt/peer/RobotPeer.java.i
+data/src/share/classes/sun/java2d/SunCompositeContext.java.i
data/src/share/classes/javax/swing/plaf/metal/icons/ocean/homeFolder.gif.i
data/src/share/classes/com/sun/tools/hat/internal/model/Snapshot.java.i
data/test/javax/swing/plaf/synth/6771547/SynthTest.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiTableUI.java.i
data/test/sun/nio/cs/OLD/DBCS_IBM_ASCII_Decoder.java.i
-data/src/share/classes/java/lang/CloneNotSupportedException.java.i
data/test/java/awt/dnd/FileListBetweenJVMsTest/FileListTransferable.java.i
data/test/sun/nio/cs/X11CNS11643P2.java.i
-data/src/share/classes/java/dyn/MethodHandleImpl.java.i
+data/test/java/security/cert/CertPathValidatorException/cert_file.i
data/src/share/classes/java/nio/file/Watchable.java.i
data/test/java/util/ResourceBundle/Bug6356571.java.i
-data/test/java/net/URLConnection/UNCTest.java.i
data/test/java/util/ResourceBundle/KeySetResources.properties.i
data/src/share/demo/jvmti/hprof/hprof_loader.c.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInputDebugger.java.i
data/src/share/classes/sun/management/ManagementFactory.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java.i
data/src/solaris/classes/sun/nio/fs/LinuxFileSystemProvider.java.i
+data/src/solaris/classes/sun/awt/X11/XAtomList.java.i
data/src/share/classes/com/sun/net/ssl/internal/ssl/X509ExtendedTrustManager.java.i
-data/src/share/classes/sun/io/ByteToCharCp1145.java.i
+data/src/share/native/sun/reflect/Reflection.c.i
data/src/share/classes/javax/management/MBeanServerFactory.java.i
-data/src/share/classes/sun/rmi/registry/resources/rmiregistry_sv.properties.i
-data/make/tools/swing-beans/beaninfo/images/JScrollBarMono32.gif.i
+data/src/solaris/classes/sun/java2d/xr/XRMaskImage.java.i
+data/test/sun/security/ssl/sanity/pluggability/MySSLContextImpl.java.i
data/src/solaris/demo/jni/Poller/Poller.c.i
-data/src/share/classes/sun/java2d/StateTrackableDelegate.java.i
data/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/DummySourceDataLine.java.i
data/src/share/classes/sun/tools/tree/DivRemExpression.java.i
data/test/com/sun/jdi/SimulResumerTest.java.i
@@ -9352,9 +9417,10 @@ data/src/share/classes/javax/accessibility/AccessibleState.java.i
data/src/share/classes/sun/security/krb5/internal/ktab/KeyTabEntry.java.i
data/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java.i
data/test/java/lang/Thread/HoldsLock.java.i
-data/test/com/sun/jdi/SourceNameFilterTest.java.i
+data/test/java/nio/channels/SocketChannel/CloseAfterConnect.java.i
data/test/java/io/BufferedReader/EOL.java.i
data/test/sun/security/ssl/sanity/interop/ClientJSSEServerJSSE.java.i
+data/src/share/classes/sun/io/CharToByteCp1097.java.i
data/test/java/lang/Runtime/exec/ExitValue.java.i
data/src/share/classes/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java.i
data/src/solaris/native/sun/awt/awt_MenuItem.h.i
@@ -9365,18 +9431,19 @@ data/src/share/classes/com/sun/tools/hat/internal/server/HttpReader.java.i
data/src/share/classes/javax/swing/ListSelectionModel.java.i
data/src/share/classes/javax/print/attribute/standard/MediaSizeName.java.i
data/src/share/classes/sun/awt/image/SurfaceManager.java.i
-data/make/netbeans/common/architectures/name-Linux.properties.i
+data/src/share/classes/sun/security/pkcs11/wrapper/PKCS11.java.i
+data/src/windows/native/sun/windows/awt_DataTransferer.h.i
data/test/java/lang/instrument/PremainClass/NoPremainAgent.sh.i
+data/test/sun/management/jmxremote/bootstrap/jmxremote_test02_ok.access.in.i
data/make/sun/security/krb5/FILES_c_windows.gmk.i
data/src/share/classes/java/awt/dnd/DragGestureListener.java.i
-data/test/java/io/Serializable/unshared/Read.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/OptionSet.java.i
data/src/share/classes/com/sun/tools/attach/AttachNotSupportedException.java.i
data/test/sun/security/x509/AVA/EmptyValue.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifButtonUI.java.i
data/src/windows/hpi/include/mutex_md.h.i
data/make/tools/reorder/tests/IntToString.java.i
-data/src/share/instrument/PathCharsValidator.h.i
+data/src/windows/native/java/net/net_util_md.c.i
data/src/share/classes/javax/swing/plaf/ScrollBarUI.java.i
data/src/share/classes/com/sun/media/sound/MidiOutDevice.java.i
data/src/share/classes/java/awt/Conditional.java.i
@@ -9384,35 +9451,33 @@ data/test/sun/management/jmxremote/bootstrap/launcher.c.i
data/src/share/classes/com/sun/jndi/dns/ZoneNode.java.i
data/src/share/classes/java/lang/management/CompilationMXBean.java.i
data/test/java/net/MulticastSocket/TestInterfaces.java.i
-data/test/java/util/Hashtable/IllegalLoadFactor.java.i
+data/test/java/awt/xembed/server/TestXEmbedServerJava.java.i
data/src/share/classes/java/nio/file/FileSystemNotFoundException.java.i
data/test/javax/management/remote/mandatory/subjectDelegation/SubjectDelegation2Test.java.i
-data/test/java/beans/PropertyEditor/TestShortTypeJava.java.i
data/src/share/classes/com/sun/rowset/providers/RIOptimisticProvider.java.i
data/test/java/lang/ClassLoader/GetPackage.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageAffine_BC.c.i
data/src/share/classes/javax/swing/plaf/synth/SynthPasswordFieldUI.java.i
-data/src/share/classes/sun/net/TelnetInputStream.java.i
+data/src/solaris/doc/sun/man/man1/ja/appletviewer.1.i
data/src/share/classes/java/awt/Toolkit.java.i
data/src/share/classes/sun/nio/ch/IOUtil.java.i
+data/test/java/io/Serializable/arraySuidConflict/Read.java.i
data/src/share/classes/sun/text/normalizer/ReplaceableUCharacterIterator.java.i
data/test/sun/security/krb5/edu.mit.Kerberos.i
-data/test/java/nio/file/Files/walkFileTree/denyAll.policy.i
-data/make/tools/src/build/tools/javazic/Rule.java.i
+data/test/java/util/Collections/FindSubList.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIComponent.java.i
data/src/share/classes/sun/awt/datatransfer/TransferableProxy.java.i
data/src/share/classes/javax/script/CompiledScript.java.i
data/test/sun/net/www/protocol/ftp/HandlerEquals.java.i
-data/src/share/classes/java/security/interfaces/RSAMultiPrimePrivateCrtKey.java.i
data/test/sun/security/ssl/sun/net/www/http/ChunkedOutputStream/Test.java.i
data/test/java/nio/file/WatchService/denyAll.policy.i
data/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ko.properties.i
data/src/share/classes/com/sun/security/auth/NTUserPrincipal.java.i
-data/make/common/internal/NativeCompileRules.gmk.i
+data/src/share/classes/sun/management/snmp/jvmmib/JvmRTInputArgsEntryMeta.java.i
data/src/solaris/native/sun/awt/awt_Event.h.i
data/src/share/classes/javax/swing/event/HyperlinkEvent.java.i
data/src/share/classes/sun/launcher/resources/launcher_it.properties.i
-data/src/share/classes/java/beans/beancontext/BeanContextMembershipEvent.java.i
+data/make/tools/swing-beans/beaninfo/images/JSpinnerMono32.gif.i
data/src/share/classes/sun/font/TextLabel.java.i
data/src/share/classes/sun/awt/im/InputMethodContext.java.i
data/make/jpda/gui/Makefile.i
@@ -9424,77 +9489,80 @@ data/make/tools/swing-beans/beaninfo/images/JListColor32.gif.i
data/src/windows/classes/sun/java2d/d3d/D3DGraphicsDevice.java.i
data/src/share/classes/javax/swing/Icon.java.i
data/src/share/classes/sun/tools/tree/IdentifierExpression.java.i
-data/make/java/nio/genCoder.sh.i
data/test/sun/security/pkcs11/KeyStore/BasicData/ca.cert.i
data/src/share/classes/com/sun/imageio/plugins/jpeg/DRIMarkerSegment.java.i
+data/make/tools/CharsetMapping/IBM424.c2b.i
data/test/javax/management/remote/mandatory/connection/BrokenConnectionTest.java.i
data/src/share/classes/javax/print/attribute/standard/Compression.java.i
data/test/java/net/URLConnection/xml/xml2.xml.i
data/test/java/beans/Introspector/6976577/Test6976577.java.i
-data/src/share/classes/sun/tools/jstat/ExpressionExecuter.java.i
+data/src/share/classes/sun/awt/geom/Order2.java.i
data/src/share/classes/sun/nio/cs/ext/MacUkraine.java.i
data/src/share/native/java/lang/fdlibm/src/s_asinh.c.i
data/src/share/back/eventHelper.h.i
data/test/sun/net/www/http/ChunkedInputStream/ChunkedEncodingWithProgressMonitorTest.java.i
-data/test/java/nio/channels/FileChannel/Write.java.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_sv.properties.i
data/src/windows/native/sun/java2d/opengl/WGLGraphicsConfig.c.i
data/test/com/sun/servicetag/registration.xml.i
data/src/windows/classes/sun/java2d/d3d/D3DRenderer.java.i
-data/src/share/classes/javax/print/attribute/standard/JobMediaSheetsSupported.java.i
+data/src/share/classes/sun/tracing/dtrace/DTraceProbe.java.i
data/src/share/classes/com/sun/jdi/BooleanValue.java.i
data/test/java/util/concurrent/Phaser/Basic.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RSAKeyValueResolver.java.i
data/src/share/classes/java/awt/dnd/MouseDragGestureRecognizer.java.i
data/test/com/sun/servicetag/servicetag3.properties.i
-data/src/share/classes/com/sun/jdi/request/MethodEntryRequest.java.i
+data/src/share/classes/com/sun/tools/jdi/VirtualMachineManagerService.java.i
data/test/tools/launcher/UnicodeCleanup.java.i
-data/src/share/classes/sun/security/provider/certpath/PKIXMasterCertPathValidator.java.i
-data/src/share/classes/sun/text/normalizer/UProperty.java.i
+data/src/share/classes/sun/invoke/anon/AnonymousClassLoader.java.i
data/src/share/classes/com/sun/jmx/interceptor/DomainDispatchInterceptor.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509IssuerSerialResolver.java.i
data/src/share/classes/sun/net/www/protocol/http/logging/HttpLogFormatter.java.i
data/src/share/classes/sun/security/krb5/internal/crypto/dk/Des3DkCrypto.java.i
data/src/share/classes/com/sun/tools/example/debug/bdi/ChildSession.java.i
-data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/CustomUIDefault.java.i
-data/src/share/classes/sun/management/snmp/jvmmib/JvmCompilationMBean.java.i
+data/test/java/lang/instrument/RedefineMethodAddInvokeTarget.java.i
+data/src/share/classes/sun/management/snmp/jvmmib/JvmRTInputArgsTableMeta.java.i
data/src/share/demo/management/VerboseGC/PrintGCStat.java.i
data/test/javax/swing/border/Test4760089.java.i
-data/src/share/classes/com/sun/tools/extcheck/ExtCheck.java.i
+data/test/sun/nio/cs/OLD/IBM949_OLD.java.i
+data/src/windows/native/sun/java2d/d3d/D3DShaders.h.i
data/src/share/classes/javax/management/namespace/JMXNamespaceView.java.i
data/test/sun/management/jmxremote/bootstrap/PasswordFilePermissionTest.sh.i
data/src/share/classes/sun/tools/jconsole/resources/collapse-winlf.png.i
data/test/java/awt/image/LookupOp/SingleArrayTest.java.i
-data/make/com/sun/java/browser/net/Makefile.i
-data/make/sun/security/mscapi/Makefile.i
+data/make/tools/CharsetMapping/IBM1025.c2b.i
+data/test/java/lang/StringCoding/CheckEncodings.sh.i
data/test/javax/swing/text/html/TableView/7030332/bug7030332.html.i
data/make/tools/CharsetMapping/HKSCS2008.map.i
-data/src/share/classes/com/sun/java/swing/plaf/gtk/GTKGraphicsUtils.java.i
-data/src/share/classes/javax/imageio/metadata/doc-files/bmp_metadata.html.i
+data/src/share/classes/sun/security/pkcs/PKCS7.java.i
data/src/share/classes/javax/print/attribute/standard/PrinterResolution.java.i
-data/src/share/classes/com/sun/tools/example/debug/gui/ClassManager.java.i
+data/test/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html.i
+data/test/javax/management/Introspector/ImmutableNotificationInfoTest.java.i
data/test/javax/swing/plaf/metal/MetalBumps/Test6657026.java.i
data/test/java/awt/Focus/ConsumeNextKeyTypedOnModalShowTest/ConsumeNextKeyTypedOnModalShowTest.java.i
data/test/java/lang/management/BufferPoolMXBean/Basic.java.i
-data/src/share/classes/java/awt/HeadlessException.java.i
-data/src/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java.i
-data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/GraphicsTests.java.i
+data/test/sun/security/krb5/auto/DynamicKeytab.java.i
+data/src/share/classes/sun/text/resources/FormatData_es_PA.java.i
+data/make/tools/swing-beans/beaninfo/images/JScrollPaneMono32.gif.i
data/src/share/classes/com/sun/tools/jdi/FloatTypeImpl.java.i
data/src/solaris/classes/sun/nio/fs/UnixFileStoreAttributes.java.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java.i
-data/test/java/util/logging/LoggerWeakRefLeak.java.i
data/src/share/classes/javax/print/StreamPrintService.java.i
data/src/share/classes/sun/security/jgss/GSSCaller.java.i
data/test/java/lang/instrument/GetObjectSizeTest.java.i
data/src/solaris/bin/amd64/jvm.cfg.i
+data/src/solaris/doc/sun/man/man1/rmid.1.i
data/src/share/classes/java/awt/List.java.i
data/make/com/sun/java/Makefile.i
-data/src/share/classes/sun/security/ec/ECPublicKeyImpl.java.i
+data/src/share/classes/com/sun/imageio/plugins/common/LZWCompressor.java.i
data/src/share/classes/com/sun/jdi/CharType.java.i
data/src/share/classes/javax/print/attribute/standard/Copies.java.i
data/src/share/classes/com/sun/jmx/remote/util/EventClientConnection.java.i
data/src/share/classes/sun/beans/editors/ShortEditor.java.i
data/src/share/classes/java/lang/Object.java.i
-data/test/java/util/PriorityQueue/RemoveContains.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/package.html.i
+data/src/share/classes/com/sun/jdi/event/VMStartEvent.java.i
+data/test/java/nio/charset/StandardCharsets/Standard.java.i
+data/test/com/sun/jdi/UnloadEventTarg.java.i
+data/src/share/classes/sun/text/resources/FormatData_th_TH_TH.java.i
data/src/share/classes/java/lang/ProcessBuilder.java.i
data/src/share/classes/sun/awt/RequestFocusController.java.i
data/src/share/native/java/util/zip/zlib-1.2.3/inflate.c.i
@@ -9502,8 +9570,6 @@ data/test/java/util/concurrent/locks/ReentrantLock/LockOncePerThreadLoops.java.i
data/test/sun/nio/cs/OLD/DBCSDecoderMapping.java.i
data/src/share/classes/javax/swing/JInternalFrame.java.i
data/test/java/lang/String/ContentEquals.java.i
-data/src/share/classes/com/sun/jndi/toolkit/ctx/PartialCompositeContext.java.i
-data/src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_es.properties.i
data/src/share/classes/sun/tools/jconsole/VariableGridLayout.java.i
data/test/java/lang/StringBuffer/Exceptions.java.i
data/src/share/classes/javax/swing/ComboBoxEditor.java.i
@@ -9515,23 +9581,22 @@ data/test/java/lang/Runtime/exec/ExecWithInput.java.i
data/src/share/hpi/include/hpi_impl.h.i
data/test/java/security/cert/CertPathValidator/OCSP/RootCert.pem.i
data/src/share/classes/sun/tools/jstat/ParserException.java.i
-data/test/com/sun/java/swing/plaf/windows/Test6824600.java.i
data/src/share/classes/javax/swing/text/html/default.css.i
-data/test/com/sun/crypto/provider/Cipher/PBE/PKCS12Oid.java.i
-data/test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJobHeadless.java.i
+data/src/share/classes/sun/java2d/opengl/OGLSurfaceDataProxy.java.i
data/test/java/beans/XMLEncoder/java_awt_Color.java.i
data/src/share/classes/javax/swing/text/html/HTMLDocument.java.i
data/src/share/classes/java/io/PrintWriter.java.i
data/src/windows/native/common/jni_util_md.c.i
data/src/share/classes/java/beans/IndexedPropertyDescriptor.java.i
-data/src/windows/classes/sun/awt/windows/WingDings.java.i
-data/src/share/classes/sun/text/resources/FormatData_en_IN.java.i
+data/src/share/classes/java/awt/peer/FileDialogPeer.java.i
+data/test/sun/java2d/DirectX/DrawBitmaskToSurfaceTest.java.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetVoiceStatus.java.i
data/test/sun/security/provider/PolicyFile/EmailAddress.java.i
data/test/java/util/ResourceBundle/Bug4168625Resource2_en_US.java.i
data/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java.i
data/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java.i
data/test/javax/swing/JTableHeader/6884066/bug6884066.java.i
+data/src/share/native/sun/font/layout/LayoutEngine.cpp.i
data/src/share/classes/com/sun/nio/sctp/NotificationHandler.java.i
data/src/share/classes/com/sun/tools/example/debug/event/VMDeathEventSet.java.i
data/src/share/classes/java/sql/SQLSyntaxErrorException.java.i
@@ -9539,6 +9604,7 @@ data/src/share/classes/javax/swing/DebugGraphicsObserver.java.i
data/test/java/security/KeyRep/DSA.pre.1.5.key.i
data/test/sun/security/tools/keytool/StartDateTest.java.i
data/test/java/awt/print/PrinterJob/Collate2DPrintingTest.java.i
+data/test/javax/management/ImplementationVersion/policy.i
data/src/share/classes/java/util/LocaleISOData.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java.i
data/src/share/native/java/util/zip/zlib-1.2.3/zutil.h.i
@@ -9548,59 +9614,63 @@ data/src/share/classes/com/sun/jmx/namespace/serial/SerialRewritingProcessor.jav
data/src/share/classes/sun/font/TrueTypeFont.java.i
data/test/sun/security/krb5/auto/NoAddresses.java.i
data/test/com/sun/jdi/JdbMissStep.sh.i
+data/src/share/native/sun/awt/medialib/mlib_ImageConvMxN_Fp.c.i
data/test/java/rmi/activation/Activatable/checkImplClassLoader/MyRMI.java.i
-data/src/solaris/classes/sun/awt/X11/security-icon-yellow24.png.i
+data/test/java/awt/EventQueue/MainAppContext/MainAppContext.java.i
data/src/share/classes/java/text/CalendarBuilder.java.i
data/src/share/demo/applets/WireFrame/ThreeD.java.i
data/test/java/net/ResponseCache/file1.cache.i
data/src/share/classes/sun/awt/HorizBagLayout.java.i
-data/src/share/classes/java/security/SecurityPermission.java.i
+data/src/windows/native/sun/jkernel/stdafx.cpp.i
data/test/javax/management/remote/mandatory/threads/ExecutorTest.java.i
data/src/share/native/sun/awt/libpng/png.h.i
data/make/tools/src/build/tools/jdwpgen/ValueTypeNode.java.i
data/src/windows/native/sun/security/pkcs11/wrapper/p11_md.h.i
-data/src/linux/doc/man/rmic.1.i
data/src/share/classes/javax/swing/plaf/metal/MetalHighContrastTheme.java.i
data/src/share/classes/sun/nio/cs/ext/SimpleEUCDecoder.java.i
data/src/share/classes/sun/security/krb5/internal/ETypeInfo.java.i
-data/src/share/classes/sun/awt/dnd/SunDragSourceContextPeer.java.i
+data/src/windows/native/sun/net/dns/ResolverConfigurationImpl.c.i
+data/test/java/security/cert/CertPathBuilder/targetConstraints/ee.cer.i
data/src/share/classes/sun/security/x509/AlgorithmId.java.i
data/test/javax/swing/JSlider/6742358/bug6742358.java.i
data/test/java/nio/file/Files/WalkWithSecurity.java.i
data/src/share/classes/java/util/IllegalFormatException.java.i
-data/test/java/nio/channels/Selector/LotsOfCancels.java.i
+data/test/sun/security/mscapi/KeyStoreCompatibilityMode.sh.i
data/src/share/classes/javax/swing/colorchooser/ColorChooserComponentFactory.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/package.html.i
data/test/java/beans/VetoableChangeSupport/Test4994635.java.i
data/src/share/classes/javax/net/ssl/SSLHandshakeException.java.i
data/src/share/classes/sun/misc/NativeSignalHandler.java.i
-data/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_MidiIn.cpp.i
data/src/share/classes/sun/applet/AppletClassLoader.java.i
data/src/share/classes/javax/accessibility/AccessibleComponent.java.i
data/src/share/classes/sun/tools/java/BinaryClass.java.i
+data/test/javax/management/modelmbean/DescriptorSupportXMLTest.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsButtonListener.java.i
data/test/java/awt/Focus/InputVerifierTest3/InputVerifierTest3.java.i
-data/test/java/lang/StringBuffer/InsertMaxValue.java.i
+data/src/windows/classes/sun/security/mscapi/RSAPrivateKey.java.i
+data/src/share/classes/sun/tools/jar/resources/jar_de.properties.i
+data/test/sun/security/pkcs11/tls/TestPRF.java.i
data/test/java/beans/PropertyEditor/TestDoubleType.java.i
data/src/share/classes/sun/io/ByteToCharJIS0208.java.i
-data/test/java/io/FileInputStream/FinalizeShdCallClose.java.i
+data/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ko.properties.i
data/src/share/lib/cmm/lcms/CIEXYZ.pf.i
data/src/share/classes/java/lang/ClassValue.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/package.html.i
-data/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstrument.java.i
data/src/share/classes/sun/print/SunMinMaxPage.java.i
data/src/solaris/classes/sun/awt/X11/security-icon-bw16.png.i
-data/src/share/classes/javax/print/package.html.i
+data/src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java.i
data/test/java/util/ResourceBundle/Bug6359330.java.i
data/test/java/lang/Class/getEnclosingClass/build.sh.i
data/src/share/classes/javax/swing/event/TreeModelListener.java.i
data/test/java/lang/String/ToLowerCase.java.i
-data/test/sun/nio/cs/TestUTF_16.java.i
+data/src/share/classes/com/sun/imageio/plugins/gif/GIFImageMetadata.java.i
data/src/share/classes/com/sun/java/browser/dom/DOMAccessException.java.i
+data/test/sun/security/krb5/ktab/HighestKvno.java.i
data/src/share/classes/sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection.java.i
data/src/share/classes/com/sun/crypto/provider/PBECipherCore.java.i
data/src/share/classes/javax/security/auth/Refreshable.java.i
data/src/share/classes/sun/text/resources/FormatData_ar_MA.java.i
+data/src/share/classes/javax/accessibility/AccessibleResourceBundle.java.i
data/make/tools/CharsetMapping/MacTurkish.map.i
data/test/sun/tools/jstack/Basic.sh.i
data/src/share/classes/java/security/AccessControlException.java.i
@@ -9608,15 +9678,15 @@ data/test/javax/management/standardmbean/DeadlockTest.java.i
data/test/javax/naming/RefAddr/NullContent.java.i
data/src/solaris/bin/ppc/jvm.cfg.i
data/src/share/demo/nbproject/README.txt.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/package.html.i
data/src/share/classes/org/openjdk/jigsaw/Resolver.java.i
data/test/com/sun/jdi/RepStepTarg.java.i
data/src/windows/native/sun/jkernel/kernel_it.rc.i
+data/src/solaris/classes/sun/awt/X11/XGlobalCursorManager.java.i
data/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java.i
data/src/share/classes/java/awt/font/GraphicAttribute.java.i
data/src/share/classes/java/awt/ColorPaintContext.java.i
data/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java.i
-data/test/java/rmi/reliability/benchmark/bench/rmi/ByteArrayCalls.java.i
+data/src/share/demo/java2d/J2DBench/src/j2dbench/TestEnvironment.java.i
data/test/sun/net/InetAddress/nameservice/deadlock/Hang.java.i
data/src/share/classes/com/sun/media/sound/ModelPerformer.java.i
data/src/share/classes/javax/management/remote/JMXServerErrorException.java.i
@@ -9626,46 +9696,45 @@ data/src/share/native/sun/awt/medialib/mlib_ImageFilters.c.i
data/src/share/native/sun/security/pkcs11/wrapper/p11_keymgmt.c.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/utils/HasResources.java.i
data/src/share/classes/java/awt/geom/QuadCurve2D.java.i
-data/src/share/classes/javax/swing/event/TreeModelEvent.java.i
-data/src/share/classes/sun/util/calendar/ImmutableGregorianDate.java.i
+data/src/windows/native/sun/java2d/d3d/D3DRenderer.h.i
+data/test/java/io/Serializable/oldTests/SimpleArrays.java.i
+data/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubRequestHandler.java.i
data/src/share/classes/java/net/SocketTimeoutException.java.i
data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh.i
data/src/share/classes/sun/security/timestamp/TSRequest.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.java.i
data/src/share/classes/sun/net/www/protocol/http/HttpLogFormatter.java.i
-data/src/share/native/java/util/zip/zlib-1.1.3/zadler32.c.i
data/src/share/classes/sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.java.i
data/test/com/sun/jmx/snmp/TimeTicksWrapping.java.i
data/src/share/classes/javax/naming/AuthenticationNotSupportedException.java.i
data/test/java/nio/file/Files/walkFileTree/SkipSiblings.java.i
-data/test/java/lang/String/SBConstructor.java.i
+data/test/javax/management/ImplementationVersion/ImplVersionReader.java.i
data/src/share/classes/java/util/zip/DataFormatException.java.i
data/src/share/classes/java/security/AccessController.java.i
data/src/windows/native/java/io/io_util_md.h.i
-data/src/share/classes/sun/tools/jconsole/resources/mbeanserverdelegate.gif.i
+data/test/java/nio/channels/SocketChannel/UnboundSocketTests.java.i
data/test/java/lang/System/IgnoreNullSecurityManager.java.i
data/src/share/classes/java/awt/font/TextAttribute.java.i
-data/make/java/java/reflect/Makefile.i
+data/test/com/sun/net/httpserver/Test6.java.i
data/src/share/classes/sun/nio/cs/ext/JIS_X_0208.java.i
data/test/java/rmi/testlibrary/RemoteExiter.java.i
-data/test/java/lang/annotation/ParameterAnnotations.java.i
+data/test/java/rmi/server/Unreferenced/unreferencedContext/UnreferencedContext.java.i
data/src/share/classes/com/sun/tools/hat/internal/model/JavaShort.java.i
-data/src/share/classes/com/sun/servicetag/ServiceTag.java.i
data/test/java/net/MulticastSocket/B6425815.java.i
data/test/java/lang/ToString.java.i
data/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntIntInt.java.i
-data/src/windows/native/sun/java2d/d3d/D3DBufImgOps.h.i
+data/src/share/classes/java/util/concurrent/RejectedExecutionHandler.java.i
data/src/share/classes/com/sun/crypto/provider/RC2Crypt.java.i
data/src/share/classes/sun/io/ByteToCharCp850.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315Excl.java.i
data/src/share/classes/sun/text/resources/CollationData_lv.java.i
+data/src/share/classes/org/openjdk/jigsaw/Launcher.java.i
data/test/java/io/Serializable/oldTests/AnnotateClass.java.i
-data/src/share/classes/javax/management/openmbean/CompositeDataInvocationHandler.java.i
+data/make/tools/swing-beans/beaninfo/images/JFrameMono16.gif.i
data/test/java/lang/Long/Decode.java.i
data/src/solaris/demo/jigsaw/basic/Makefile.i
-data/src/share/classes/java/awt/doc-files/Scrollbar-2.gif.i
-data/test/java/security/KeyStore/keystore.jks.i
data/test/java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java.i
-data/test/java/util/Vector/ComodifiedRemoveAllElements.java.i
+data/src/share/classes/sun/java2d/cmm/CMSManager.java.i
data/src/linux/doc/man/tnameserv.1.i
data/src/share/classes/com/sun/jndi/toolkit/ctx/ComponentDirContext.java.i
data/test/java/lang/management/CompilationMXBean/Basic.java.i
@@ -9674,38 +9743,40 @@ data/src/share/classes/sun/util/EmptyListResourceBundle.java.i
data/src/share/classes/java/lang/doc-files/capiota.gif.i
data/test/sun/util/resources/TimeZone/Bug4640234.java.i
data/test/java/rmi/reliability/juicer/AppleEvent.java.i
-data/src/share/classes/sun/util/resources/CurrencyNames_es_DO.properties.i
+data/src/share/classes/javax/swing/text/PlainDocument.java.i
data/src/share/classes/sun/awt/CustomCursor.java.i
data/src/windows/classes/java/util/prefs/WindowsPreferencesFactory.java.i
data/src/windows/native/sun/java2d/d3d/D3DRenderer.cpp.i
data/test/java/util/Currency/CheckDataVersion.java.i
data/test/java/util/concurrent/BlockingQueue/LoopHelpers.java.i
-data/src/share/classes/sun/awt/im/CompositionAreaHandler.java.i
+data/test/sun/management/jmxremote/bootstrap/LocalManagementTest.sh.i
data/src/share/classes/com/sun/beans/decoder/ElementHandler.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/resource/package.html.i
+data/src/solaris/classes/sun/awt/motif/MMouseDragGestureRecognizer.java.i
data/src/share/classes/javax/crypto/JceSecurityManager.java.i
data/src/solaris/classes/sun/awt/X11/XProtocol.java.i
data/make/tools/src/build/tools/charsetmapping/HKSCS.java.i
data/test/tools/launcher/Settings.java.i
data/src/share/classes/java/lang/doc-files/javalang.doc.anc21.gif.i
-data/src/share/classes/javax/swing/undo/UndoableEdit.java.i
-data/src/share/classes/sun/io/ByteToCharBig5_Solaris.java.i
data/src/share/native/sun/security/ec/mpi-config.h.i
data/src/share/classes/com/sun/crypto/provider/DHKeyAgreement.java.i
data/src/share/classes/java/util/JapaneseImperialCalendar.java.i
data/test/java/nio/channels/DatagramChannel/Refused.java.i
data/src/share/classes/javax/swing/plaf/ComboBoxUI.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_en_PH.properties.i
-data/src/share/sample/README.i
+data/src/share/classes/sun/java2d/pipe/BufferedTextPipe.java.i
+data/src/share/classes/com/sun/inputmethods/internal/indicim/IndicInputMethodImpl.java.i
data/src/share/native/sun/awt/image/jpeg/jpegint.h.i
data/src/share/classes/javax/net/ssl/SSLSessionContext.java.i
data/test/sun/security/krb5/canonicalize/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor.i
-data/src/share/classes/com/sun/net/httpserver/HttpsExchange.java.i
+data/test/javax/swing/JColorChooser/Test4887836.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java.i
-data/src/share/classes/sun/tracing/dtrace/JVM.java.i
+data/test/java/io/Serializable/enum/badResolve/Read.java.i
data/test/sun/net/www/protocol/file/Equals.java.i
data/src/solaris/classes/sun/awt/X11/XCheckboxMenuItemPeer.java.i
data/src/share/classes/java/util/zip/DeflaterOutputStream.java.i
+data/src/solaris/doc/sun/man/man1/jsadebugd.1.i
+data/src/share/classes/java/sql/PreparedStatement.java.i
data/test/java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup.java.i
data/src/share/classes/java/dyn/InvokeDynamicBootstrapError.java.i
data/make/tools/swing-beans/beaninfo/images/JListMono32.gif.i
@@ -9715,33 +9786,33 @@ data/test/java/io/File/NullArgs.java.i
data/test/sun/security/smartcardio/TestConnectAgain.java.i
data/src/share/classes/javax/xml/crypto/dsig/SignatureMethod.java.i
data/src/share/classes/sun/security/ssl/ByteBufferInputStream.java.i
-data/test/java/net/HttpURLConnection/getResponseCode.java.i
data/src/windows/native/sun/windows/MouseInfo.cpp.i
data/make/sun/util/Makefile.i
data/test/javax/security/auth/login/Configuration/GetInstance.config.i
data/src/share/classes/sun/security/provider/SecureRandom.java.i
+data/src/share/native/sun/java2d/loops/ByteBinary2Bit.c.i
data/test/java/lang/instrument/RemoveAbsentTransformerTest.java.i
data/src/share/classes/javax/management/QueryExp.java.i
data/src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsClassicLookAndFeel.java.i
data/make/tools/CharsetMapping/extsbcs.i
-data/src/share/classes/java/awt/image/BandCombineOp.java.i
+data/src/share/lib/security/java.security-solaris.i
data/src/share/classes/sun/tools/tree/BitXorExpression.java.i
data/src/solaris/javavm/export/jawt_md.h.i
data/src/share/demo/jvmti/hprof/hprof_cpu.c.i
data/test/sun/net/www/protocol/file/EncodedMultiByteChar.java.i
data/src/share/classes/sun/net/httpserver/FixedLengthInputStream.java.i
-data/src/share/classes/sun/tools/tree/PreDecExpression.java.i
+data/test/java/awt/Modal/NpeOnClose/NpeOnCloseTest.java.i
+data/make/sun/org/Makefile.i
data/src/share/classes/javax/naming/NameParser.java.i
-data/test/sun/security/pkcs11/KeyStore/ClientAuthData/key3.db.i
data/make/sun/javazic/tzdata/leapseconds.i
-data/src/share/classes/sun/java2d/pipe/BufferedRenderPipe.java.i
data/src/share/classes/java/nio/file/attribute/BasicFileAttributeView.java.i
data/src/share/classes/java/awt/peer/ContainerPeer.java.i
data/test/java/lang/instrument/Different_ExampleRedefine.java.i
data/src/share/native/sun/security/ec/impl/ecp_jm.c.i
-data/make/tools/reorder/tools/mcount.c.i
+data/src/share/classes/javax/imageio/metadata/package.html.i
data/src/share/classes/sun/text/resources/CollationData_ro.java.i
+data/src/share/classes/javax/naming/BinaryRefAddr.java.i
data/src/windows/native/sun/windows/UnicowsLoader.cpp.i
data/src/solaris/native/sun/tracing/dtrace/jvm_symbols_md.c.i
data/src/share/classes/sun/java2d/pipe/AlphaPaintPipe.java.i
@@ -9751,20 +9822,21 @@ data/src/windows/native/sun/windows/awt_DCHolder.cpp.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/IsOpen.java.i
data/test/sun/net/ftp/FtpGetContent.java.i
data/src/share/back/ObjectReferenceImpl.c.i
-data/test/tools/jar/index/MetaInf.java.i
data/src/share/classes/java/lang/NullPointerException.java.i
data/src/share/classes/sun/awt/ModalityEvent.java.i
data/src/solaris/demo/jigsaw/basic/src/org/hello/Main.java.i
data/src/share/classes/sun/util/resources/CalendarData_sr.properties.i
-data/test/sun/net/www/protocol/http/HttpInputStream.java.i
data/src/share/classes/sun/rmi/server/resources/rmid_pt_BR.properties.i
data/src/share/classes/sun/text/resources/CollationData_et.java.i
-data/src/share/classes/java/io/StringBufferInputStream.java.i
+data/make/netbeans/world/nbproject/project.xml.i
+data/test/java/util/ResourceBundle/Control/LoadingStrategiesTest.java.i
data/src/share/classes/java/security/MessageDigest.java.i
-data/src/share/classes/javax/swing/plaf/synth/SynthTextPaneUI.java.i
+data/make/tools/generate_break_iterator/Makefile.i
+data/test/java/util/zip/TimeChecksum.java.i
data/test/sun/nio/cs/TestJIS0208Decoder.java.i
data/src/share/classes/com/sun/security/sasl/CramMD5Client.java.i
data/make/tools/src/build/tools/jdwpgen/StringTypeNode.java.i
+data/src/share/classes/sun/java2d/SurfaceData.java.i
data/src/share/classes/javax/naming/Binding.java.i
data/src/share/classes/sun/io/ByteToCharCp833.java.i
data/test/demo/jvmti/versionCheck/FailsWhenJvmtiVersionDiffers.java.i
@@ -9772,7 +9844,8 @@ data/test/javax/swing/JTable/6913768/bug6913768.java.i
data/src/share/classes/javax/print/attribute/standard/JobMediaSheets.java.i
data/src/share/classes/javax/crypto/NullCipherSpi.java.i
data/src/share/classes/sun/io/CharToByteCp1257.java.i
-data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/lib/solaris-sparc/libLauncher.so.i
+data/src/share/classes/sun/tools/tree/BreakStatement.java.i
+data/test/java/rmi/activation/Activatable/nestedActivate/security.policy.i
data/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringString.java.i
data/src/share/classes/sun/io/CharToByteCp875.java.i
data/src/solaris/demo/jni/Poller/LinkedQueue.java.i
@@ -9780,43 +9853,35 @@ data/test/javax/management/remote/mandatory/connectorServer/CloseConnectionTest.
data/src/share/classes/com/sun/jndi/ldap/EventSupport.java.i
data/test/java/beans/PropertyChangeSupport/Test4092905.java.i
data/src/share/classes/com/sun/jdi/InvalidLineNumberException.java.i
-data/src/solaris/back/linker_md.c.i
+data/test/java/awt/Focus/FocusOwnerFrameOnClick/FocusOwnerFrameOnClick.java.i
data/src/share/classes/sun/net/ftp/FtpClient.java.i
data/test/java/util/ResourceBundle/KeySetTest.java.i
data/src/share/demo/jvmti/hprof/hprof_string.c.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifButtonListener.java.i
data/test/tools/launcher/Makefile.SolarisRunpath.i
-data/make/tools/src/build/tools/generatecharacter/CharacterName.java.i
-data/src/share/lib/images/cursors/motif_CopyDrop32x32.gif.i
data/src/share/hpi/export/hpi.h.i
-data/src/share/classes/java/awt/event/FocusEvent.java.i
+data/src/share/classes/javax/management/event/EventConsumer.java.i
data/test/java/rmi/reliability/benchmark/bench/rmi/altroot/Node.java.i
data/test/sun/misc/EscapePath.java.i
data/test/sun/security/util/Oid/SerialTest.java.i
data/make/tools/src/build/tools/javazic/DayOfWeek.java.i
data/test/sun/security/krb5/auto/BasicKrb5Test.java.i
-data/src/share/classes/com/sun/jmx/mbeanserver/MXBeanSupport.java.i
data/src/share/classes/javax/crypto/CipherOutputStream.java.i
data/test/java/lang/ProcessBuilder/Basic.java.i
data/src/share/classes/java/util/RegularEnumSet.java.i
data/src/solaris/native/sun/awt/awt_MenuItem.c.i
data/src/share/classes/sun/dyn/anon/ConstantPoolPatch.java.i
-data/src/share/classes/sun/tools/tree/BinaryExpression.java.i
data/test/java/io/Serializable/superclassDataLoss/Test.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/PermissionImpl.java.i
data/test/java/util/Locale/data/deflocale.c.i
data/src/share/classes/sun/rmi/transport/ObjectEndpoint.java.i
-data/src/share/classes/javax/swing/tree/DefaultTreeCellRenderer.java.i
data/src/solaris/classes/sun/awt/X11/genhash.awk.i
data/src/share/native/sun/awt/medialib/mlib_ImageRowTable.h.i
data/src/linux/doc/man/ja/jstat.1.i
data/src/share/demo/jvmti/hprof/hprof_reference.c.i
-data/src/share/native/java/util/zip/zlib-1.1.3/inftrees.h.i
-data/make/tools/swing-beans/beaninfo/images/JTreeMono16.gif.i
data/src/share/classes/javax/sql/rowset/Predicate.java.i
data/src/share/classes/java/nio/channels/WritableByteChannel.java.i
-data/src/share/classes/com/sun/crypto/provider/KeyGeneratorCore.java.i
-data/src/share/classes/sun/net/www/protocol/http/Handler.java.i
+data/src/share/classes/sun/nio/cs/FastCharsetProvider.java.i
data/make/tools/swing-beans/beaninfo/images/JWindowMono32.gif.i
data/test/sun/security/pkcs11/fips/key3.db.i
data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsProxyStackOverflow.java.i
@@ -9833,32 +9898,34 @@ data/src/share/classes/javax/swing/JDesktopPane.java.i
data/src/share/classes/javax/management/monitor/CounterMonitorMBean.java.i
data/src/share/native/sun/security/ec/impl/ecl-priv.h.i
data/src/windows/classes/sun/java2d/opengl/WGLVolatileSurfaceManager.java.i
-data/test/com/sun/tools/extcheck/TestExtcheckArgs.java.i
-data/src/share/classes/javax/swing/text/rtf/RTFAttribute.java.i
+data/test/java/rmi/Naming/LookupNameWithColon.java.i
data/src/share/classes/java/nio/file/InvalidPathException.java.i
data/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c.i
data/src/share/classes/sun/security/ssl/EphemeralKeyManager.java.i
data/src/solaris/classes/sun/awt/motif/MWindowAttributes.java.i
-data/test/java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency_Stub.java.i
+data/test/sun/security/tools/policytool/UsePolicy.html.i
data/make/mksample/webservices/EbayClient/Makefile.i
data/src/share/classes/javax/swing/plaf/nimbus/skin.laf.i
data/test/java/net/URLClassLoader/jars/class_path_test_classpath.jar.i
-data/src/share/native/sun/security/ec/impl/secitem.c.i
+data/src/share/classes/javax/swing/plaf/metal/MetalDesktopIconUI.java.i
data/src/share/classes/com/sun/tools/example/debug/event/WatchpointEventSet.java.i
data/test/java/lang/management/ThreadMXBean/ResetPeakThreadCount.java.i
-data/test/java/lang/management/ThreadMXBean/ThreadStackTrace.java.i
+data/src/share/demo/jfc/Metalworks/resources/HelpFiles/javalogo.gif.i
+data/src/windows/classes/sun/awt/windows/WPageDialogPeer.java.i
data/src/share/classes/sun/font/StandardTextSource.java.i
data/src/share/classes/com/sun/beans/decoder/ByteElementHandler.java.i
data/test/sun/net/www/protocol/http/CloseOptionHeader.java.i
+data/src/share/classes/java/nio/channels/Channel.java.i
data/src/share/classes/javax/management/timer/TimerMBean.java.i
data/src/share/classes/sun/swing/UIAction.java.i
data/src/share/classes/java/util/Scanner.java.i
-data/src/share/classes/java/awt/Scrollbar.java.i
+data/src/share/classes/java/awt/image/DataBufferShort.java.i
data/src/share/native/sun/java2d/ShaderList.c.i
data/src/share/classes/javax/swing/JRadioButton.java.i
data/test/javax/swing/JFileChooser/6738668/bug6738668.java.i
data/src/share/classes/javax/swing/text/rtf/charsets/mac.txt.i
-data/src/share/classes/javax/sql/rowset/serial/SerialRef.java.i
+data/test/java/net/InetSocketAddress/ToString.java.i
+data/src/share/classes/sun/text/normalizer/UProperty.java.i
data/src/share/classes/com/sun/imageio/plugins/common/I18NImpl.java.i
data/src/share/native/java/lang/fdlibm/src/e_acosh.c.i
data/test/sun/rmi/rmic/newrmic/equivalence/DayTimeServerImpl.java.i
@@ -9870,12 +9937,11 @@ data/src/share/classes/javax/swing/DefaultRowSorter.java.i
data/src/share/classes/java/sql/package.html.i
data/test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/security.policy.i
data/test/java/nio/file/Path/CopyAndMove.java.i
-data/src/share/classes/sun/java2d/pipe/LoopPipe.java.i
+data/test/sun/security/krb5/IPv6.java.i
data/src/share/classes/com/sun/jmx/snmp/internal/package.html.i
data/src/share/classes/javax/swing/SizeSequence.java.i
-data/src/share/classes/sun/jvmstat/monitor/event/package.html.i
+data/test/java/security/cert/CertPathBuilder/selfIssued/openssl.cnf.i
data/src/share/classes/java/awt/doc-files/Modality.html.i
-data/test/sun/security/pkcs11/KeyStore/BasicData/p11-activcard.txt.i
data/test/sun/misc/JarIndex/metaInfFilenames/jarC/META-INF/services/com.message.spi.MessageService.i
data/src/share/classes/java/dyn/NoAccessException.java.i
data/src/share/classes/sun/io/ByteToCharEUC_JP.java.i
@@ -9884,29 +9950,26 @@ data/src/share/classes/sun/util/resources/LocaleNames_mt.properties.i
data/src/share/classes/sun/nio/cs/ext/IBM942C.java.i
data/test/com/sun/crypto/provider/Mac/MacKAT.java.i
data/test/java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter_2.java.i
-data/src/share/classes/com/sun/security/sasl/ntlm/NTLMServer.java.i
data/test/java/beans/XMLEncoder/javax_swing_border_EmptyBorder.java.i
data/src/windows/classes/sun/awt/windows/WDropTargetContextPeer.java.i
-data/test/java/security/Policy/GetInstance/GetInstanceSecurity.java.i
-data/src/share/classes/com/sun/tools/example/debug/bdi/FrameIndexOutOfBoundsException.java.i
+data/src/share/classes/com/sun/jmx/snmp/agent/SnmpStandardMetaServer.java.i
data/test/java/net/InetSocketAddress/B6469803.java.i
data/src/windows/native/sun/windows/awt_KeyboardFocusManager.h.i
-data/src/share/classes/java/awt/event/WindowAdapter.java.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_pt_BR.properties.i
data/src/share/classes/sun/security/krb5/internal/crypto/ArcFourHmacEType.java.i
data/src/share/demo/jfc/Font2DTest/Font2DTestApplet.java.i
-data/test/java/net/MulticastSocket/B6427403.java.i
+data/src/share/classes/javax/security/auth/callback/ConfirmationCallback.java.i
data/src/share/classes/java/util/IllegalFormatCodePointException.java.i
-data/src/solaris/classes/sun/awt/motif/X11KSC5601.java.i
+data/src/share/classes/com/sun/jmx/mbeanserver/Util.java.i
data/src/share/classes/com/sun/media/sound/DirectAudioDevice.java.i
-data/make/tools/swing-beans/beaninfo/images/JToggleButtonColor16.gif.i
+data/src/share/classes/java/awt/event/ActionListener.java.i
data/src/share/classes/javax/swing/text/BadLocationException.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/CanonicalizationException.java.i
data/src/share/native/java/io/io_util.h.i
-data/test/sun/security/smartcardio/TestConnect.java.i
data/test/java/io/RandomAccessFile/EOF.java.i
-data/src/solaris/native/sun/awt/swing_GTKStyle.c.i
-data/src/share/classes/sun/tools/tree/ConditionVars.java.i
+data/src/share/native/sun/awt/medialib/mlib_ImageClipping.h.i
+data/test/java/awt/datatransfer/DragUnicodeBetweenJVMTest/FileListTransferable.java.i
+data/src/windows/classes/sun/java2d/d3d/D3DRenderQueue.java.i
data/src/share/classes/sun/security/x509/URIName.java.i
data/src/share/sample/jmx/jmx-scandir/docfiles/remote-connection.jpg.i
data/src/share/classes/java/beans/IndexedPropertyChangeEvent.java.i
@@ -9914,60 +9977,62 @@ data/make/tools/dtdbuilder/dtds/HTMLlat1.sgml.i
data/src/share/native/java/lang/fdlibm/src/s_atan.c.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineDeadlock.java.i
data/test/java/util/ResourceBundle/Control/DefaultControlTest.java.i
-data/test/java/beans/XMLEncoder/javax_swing_JLayeredPane.java.i
+data/src/share/classes/sun/security/rsa/SunRsaSign.java.i
data/test/java/lang/StringBuilder/Supplementary.java.i
-data/src/share/classes/sun/nio/cs/ext/MacRomania.java.i
data/test/java/nio/file/Files/grantAll.policy.i
data/src/windows/hpi/src/threads_md.c.i
data/test/com/sun/jdi/redefine/RedefineTest.java.i
-data/test/java/lang/management/ThreadMXBean/MyOwnSynchronizer.java.i
-data/src/share/classes/sun/nio/fs/AbstractWatchService.java.i
-data/src/share/modules/jdk/module-info.java.i
+data/src/share/classes/java/awt/im/package.html.i
+data/test/java/rmi/reliability/benchmark/bench/rmi/ProxyArrayCalls.java.i
+data/test/sun/security/pkcs11/nss/lib/windows-i586/libplds4.dll.i
+data/src/share/classes/sun/tools/serialver/serialver.properties.i
+data/src/share/classes/java/util/ServiceLoader.java.i
data/src/share/classes/sun/io/CharToByteCp868.java.i
data/src/share/classes/sun/io/ByteToCharBig5.java.i
-data/src/share/demo/jfc/Metalworks/GreenMetalTheme.java.i
-data/src/solaris/classes/sun/java2d/x11/X11PMBlitLoops.java.i
+data/src/share/classes/sun/security/provider/certpath/X509CertPath.java.i
+data/src/share/classes/javax/net/ssl/SSLContext.java.i
data/src/share/classes/com/sun/jdi/StackFrame.java.i
data/test/javax/sound/midi/Gervill/RiffReaderWriter/Skip.java.i
data/src/share/classes/sun/io/ByteToCharISO8859_7.java.i
data/test/java/lang/ref/NullQueue.java.i
data/src/windows/javavm/export/jawt_md.h.i
-data/src/share/classes/java/security/acl/Group.java.i
data/test/sun/security/provider/PolicyFile/Utf8.java.i
data/test/javax/management/monitor/CounterMonitorInitThresholdTest.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_fr_FR.properties.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/StorageResolver.java.i
data/test/tools/pack200/pack200-verifier/src/xmlkit/TokenList.java.i
+data/test/sun/security/x509/X500Name/NullX500Name.java.i
data/test/javax/swing/JMenuItem/7036148/bug7036148.java.i
data/src/share/native/sun/awt/medialib/mlib_ImageConv_32nw.c.i
data/test/java/lang/annotation/Missing/A.java.i
data/test/java/net/Socket/SetSoLinger.java.i
-data/test/java/nio/channels/Channels/ReadOffset.java.i
+data/src/share/demo/applets/MoleculeViewer/models/HyaluronicAcid.xyz.i
data/make/tools/classanalyzer/classanalyzer.html.i
-data/src/share/classes/sun/tools/jconsole/inspector/XMBean.java.i
data/src/share/native/sun/font/layout/LEFontInstance.cpp.i
-data/src/share/native/sun/security/ec/ecl.h.i
data/test/sun/rmi/rmic/newrmic/equivalence/ComputeServerImpl.java.i
data/src/share/classes/javax/swing/text/html/FrameSetView.java.i
-data/src/share/native/sun/security/ec/impl/ec2_233.c.i
+data/src/share/classes/javax/crypto/spec/PBEKeySpec.java.i
data/src/share/classes/javax/management/ObjectInstance.java.i
data/src/share/classes/java/awt/ScrollPaneAdjustable.java.i
-data/src/share/classes/javax/swing/border/AbstractBorder.java.i
+data/test/java/util/Locale/PrintDefaultLocale.java.i
+data/src/share/demo/jfc/SampleTree/resources/images/expanded.gif.i
data/src/share/classes/sun/nio/cs/ext/MacRoman.java.i
-data/src/share/sample/scripting/scriptpad/README.txt.i
+data/src/share/sample/scripting/scriptpad/src/META-INF/manifest.mf.i
+data/src/solaris/classes/sun/nio/ch/FileKey.java.i
data/src/share/classes/javax/management/ObjectNameTemplate.java.i
data/src/share/classes/com/sun/jmx/namespace/NamespaceInterceptor.java.i
data/src/share/classes/java/util/EnumSet.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/GroupImpl.java.i
-data/test/java/net/URLConnection/UNCTest.sh.i
data/test/java/nio/charset/coders/Check.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifSplitPaneDivider.java.i
+data/src/windows/classes/sun/awt/windows/WMenuBarPeer.java.i
data/src/share/classes/sun/awt/AppContext.java.i
data/test/java/beans/XMLDecoder/spec/TestLong.java.i
-data/src/solaris/doc/sun/man/man1/rmiregistry.1.i
+data/test/javax/security/auth/Subject/Synch2.policy.i
+data/src/share/classes/sun/reflect/UnsafeStaticShortFieldAccessorImpl.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTableHeaderUI.java.i
-data/test/javax/management/MBeanServer/OldMBeanServerTest.java.i
-data/src/share/classes/java/util/IllegalFormatWidthException.java.i
+data/src/windows/native/java/io/Win32FileSystem_md.c.i
+data/src/windows/native/sun/windows/Hashtable.h.i
data/src/share/classes/java/rmi/activation/Activatable.java.i
data/src/share/classes/javax/swing/RepaintManager.java.i
data/src/share/classes/com/sun/crypto/provider/BlowfishCrypt.java.i
@@ -9977,71 +10042,72 @@ data/src/share/classes/java/awt/doc-files/RadialGradientPaint-3.png.i
data/src/share/classes/com/sun/tools/example/debug/tty/ReferenceTypeSpec.java.i
data/src/share/native/sun/awt/medialib/mlib_c_ImageConvVersion.c.i
data/src/share/native/java/lang/Object.c.i
-data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CookieHandlerTest.java.i
-data/src/windows/classes/sun/awt/windows/WTrayIconPeer.java.i
+data/src/share/native/sun/font/layout/GlyphPositionAdjustments.cpp.i
data/make/sun/security/jgss/wrapper/FILES_c.gmk.i
-data/src/share/classes/sun/tools/asm/StringExpressionConstantData.java.i
+data/src/share/classes/com/sun/jdi/Mirror.java.i
data/test/java/util/Locale/serialized/java6locale_no_NO_NY.i
-data/src/share/classes/javax/management/BetweenQueryExp.java.i
+data/test/java/util/concurrent/ThreadPoolExecutor/ShutdownNowExecuteRace.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalSliderUI.java.i
-data/test/java/util/Locale/PrintDefaultLocale.java.i
+data/src/share/classes/sun/tools/java/ClassType.java.i
+data/src/share/classes/com/sun/tools/example/debug/bdi/NoSessionException.java.i
data/src/solaris/transport/socket/socket_md.c.i
data/src/share/classes/javax/swing/MenuElement.java.i
data/src/share/classes/sun/security/krb5/internal/AuthorizationDataEntry.java.i
data/src/share/classes/sun/io/CharToByteCp922.java.i
data/test/java/lang/instrument/ManifestTestApp.java.i
-data/test/java/beans/XMLDecoder/spec/TestNull.java.i
+data/src/solaris/hpi/native_threads/include/condvar_md.h.i
data/test/java/rmi/reliability/benchmark/bench/rmi/ExportObjs.java.i
-data/test/java/util/jar/JarFile/SorryClosed.java.i
-data/src/share/classes/sun/security/action/GetBooleanAction.java.i
-data/test/java/beans/XMLEncoder/java_util_Collections_CheckedSortedMap.java.i
-data/test/com/sun/tools/extcheck/TestExtcheckArgs.sh.i
-data/test/java/util/ResourceBundle/Control/Bug6530694.java.i
+data/src/solaris/classes/sun/awt/X11GraphicsConfig.java.i
+data/src/share/classes/java/awt/dnd/DropTargetDragEvent.java.i
+data/src/windows/classes/sun/net/NetHooks.java.i
+data/test/java/awt/Window/SetBackgroundNPE/SetBackgroundNPE.java.i
data/make/tools/swing-beans/beaninfo/images/JDialogColor32.gif.i
data/test/java/lang/StrictMath/Tests.java.i
data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputTests.java.i
-data/src/share/classes/javax/sound/midi/Patch.java.i
-data/src/share/classes/sun/text/resources/FormatData_ja_JP_JP.java.i
-data/src/share/classes/javax/swing/event/InternalFrameAdapter.java.i
+data/src/share/classes/javax/management/event/FetchingEventForwarder.java.i
+data/src/share/classes/sun/rmi/transport/Transport.java.i
+data/src/share/sample/nio/chatserver/README.txt.i
data/src/share/classes/java/sql/SQLOutput.java.i
data/src/windows/classes/sun/awt/windows/fontconfig.98.properties.i
data/src/solaris/native/sun/awt/awt_TopLevel.h.i
-data/src/share/classes/java/lang/VerifyError.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthTableHeaderUI.java.i
data/src/share/native/sun/java2d/cmm/lcms/cmssm.c.i
-data/test/sun/rmi/runtime/Log/6409194/logging.properties.i
+data/src/share/classes/javax/management/MXBean.java.i
data/src/share/classes/javax/net/ssl/SSLPermission.java.i
data/src/share/classes/sun/swing/MenuItemCheckIconFactory.java.i
data/test/java/lang/instrument/FakeTestDriver.java.i
data/src/solaris/classes/sun/awt/X11/XErrorHandler.java.i
-data/test/java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java.i
+data/test/sun/misc/JarIndex/metaInfFilenames/jarA/a/A.java.i
data/src/share/classes/sun/nio/cs/ext/EUC_JP_Open.java.i
data/test/java/lang/instrument/PremainClass/InheritAgent1001.java.i
data/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_3.java.i
data/src/share/native/sun/security/pkcs11/wrapper/p11_objmgmt.c.i
data/test/com/sun/jdi/StringConvertTest.sh.i
data/src/share/classes/javax/swing/plaf/basic/BasicColorChooserUI.java.i
-data/src/share/classes/sun/nio/cs/ext/IBM861.java.i
+data/src/solaris/doc/sun/man/man1/DO_NOT_EDIT--GENERATED_FILES.i
data/src/share/classes/sun/io/ByteToCharMacIceland.java.i
+data/src/share/sample/scripting/scriptpad/src/scripts/memory.js.i
data/src/windows/native/sun/windows/awt_MenuItem.h.i
data/test/com/sun/jdi/RedefineException.sh.i
data/src/solaris/classes/sun/awt/fontconfigs/solaris.fontconfig.5.8.properties.i
-data/test/sun/net/www/httptest/AbstractCallback.java.i
-data/src/share/classes/sun/java2d/pipe/Region.java.i
+data/test/java/util/Locale/bug4122700.java.i
+data/make/tools/swing-beans/beaninfo/images/JFileChooserColor16.gif.i
+data/make/tools/swing-beans/beaninfo/SwingBeanInfoBase.java.i
data/src/share/classes/java/awt/peer/CheckboxMenuItemPeer.java.i
data/test/java/lang/String/ICCBasher.java.i
data/src/share/native/sun/awt/image/cvutils/img_dirdither.h.i
-data/test/sun/security/provider/PolicyParser/ExtDirsA.java.i
-data/src/share/classes/java/awt/event/WindowStateListener.java.i
-data/src/share/classes/javax/swing/plaf/synth/SynthConstants.java.i
+data/test/javax/sound/midi/Gervill/ModelDestination/SetTransform.java.i
+data/test/java/beans/PropertyEditor/TestByteType.java.i
+data/src/share/classes/java/math/BigDecimal.java.i
data/src/share/classes/java/security/ProviderException.java.i
data/src/share/classes/java/nio/file/attribute/AclEntry.java.i
data/test/java/io/Serializable/wrongReturnTypes/Write.java.i
data/test/sun/misc/JarIndex/metaInfFilenames/jarC/META-INF/fonts/kidpr.ttf.i
data/src/share/classes/sun/security/x509/Extension.java.i
-data/test/java/util/BitSet/StickySize.java.i
+data/src/windows/native/sun/windows/ShellFolder2.cpp.i
+data/src/share/classes/sun/tools/tree/Statement.java.i
data/src/solaris/classes/sun/awt/X11/XDialogPeer.java.i
-data/src/share/native/sun/awt/image/jpeg/jidctfst.c.i
+data/src/share/classes/sun/util/locale/LocaleObjectCache.java.i
data/src/share/native/sun/java2d/pipe/SpanClipRenderer.c.i
data/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions_Disable.java.i
data/test/java/awt/dnd/URIListBetweenJVMsTest/FileListTransferable.java.i
@@ -10049,126 +10115,133 @@ data/src/share/classes/com/sun/demo/jvmti/hprof/Tracker.java.i
data/src/share/classes/com/sun/media/sound/ModelDestination.java.i
data/src/share/classes/sun/awt/OSInfo.java.i
data/make/com/oracle/Makefile.i
-data/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/ComSSLContextImpl.java.i
+data/test/sun/text/resources/Format/Bug4395196.java.i
+data/test/sun/security/krb5/auto/Action.java.i
data/src/solaris/native/sun/nio/fs/UnixCopyFile.c.i
-data/test/sun/tools/jstat/gcOldCapacityOutput1.awk.i
+data/src/solaris/classes/sun/nio/fs/SolarisFileStore.java.i
data/src/share/classes/sun/tools/jstatd/RemoteVmImpl.java.i
data/src/share/classes/sun/io/CharToByteJohab.java.i
+data/src/solaris/classes/sun/awt/motif/MDropTargetContextPeer.java.i
+data/src/share/classes/javax/imageio/IIOParam.java.i
data/src/share/classes/sun/audio/ContinuousAudioDataStream.java.i
data/src/windows/native/sun/java2d/d3d/D3DGlyphCache.cpp.i
data/src/share/classes/sun/security/krb5/EncryptedData.java.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/GTKRegion.java.i
data/src/share/classes/java/awt/event/ComponentAdapter.java.i
-data/src/share/classes/java/awt/doc-files/RadialGradientPaint-2.png.i
+data/make/tools/README.txt.i
data/src/share/classes/com/sun/jdi/BooleanType.java.i
data/src/solaris/classes/sun/awt/X11/XComponentPeer.java.i
-data/src/share/classes/javax/swing/text/Keymap.java.i
data/src/share/classes/sun/util/resources/CalendarData_en_GB.properties.i
data/src/solaris/classes/sun/awt/X11/java-icon16.png.i
data/src/share/classes/java/sql/SQLInput.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_pt.properties.i
-data/test/java/nio/file/attribute/PosixFileAttributeView/Basic.java.i
+data/src/share/classes/sun/text/resources/CollationData_bg.java.i
data/src/share/classes/com/sun/jmx/snmp/mpm/package.html.i
data/test/java/awt/FileDialog/RegexpFilterTest/RegexpFilterTest.java.i
data/test/java/lang/StringBuffer/GetCharsOverLength.java.i
data/test/sun/tools/native2ascii/Native2AsciiTests.sh.i
-data/test/java/awt/event/MouseWheelEvent/DisabledComponent/DisabledComponent.java.i
+data/test/sun/net/www/protocol/http/WebGet.java.i
data/src/solaris/classes/sun/awt/X11/java-icon24.png.i
-data/src/share/classes/com/sun/tools/attach/VirtualMachine.java.i
-data/src/share/classes/javax/xml/crypto/dsig/dom/DOMValidateContext.java.i
data/src/share/classes/javax/swing/text/rtf/MockAttributeSet.java.i
data/test/java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowRetaining.java.i
data/test/com/sun/jmx/snmp/SnmpOidHashCode.java.i
-data/make/com/sun/security/Makefile.i
+data/src/windows/native/java/io/FileSystem_md.c.i
+data/src/share/classes/sun/nio/cs/ext/IBM500.java.i
data/test/com/sun/net/httpserver/bugs/B6886436.java.i
data/src/share/native/sun/awt/medialib/mlib_c_ImageConvCopyEdge.c.i
data/test/javax/management/generified/GenericTest.java.i
data/test/tools/jar/UpdateManifest.java.i
-data/test/java/lang/management/MemoryMXBean/LowMemoryTestConcMarkSweepGC.sh.i
-data/make/tools/CharsetMapping/IBM1144.map.i
+data/src/share/classes/com/sun/media/sound/FastSysexMessage.java.i
+data/make/sun/cmm/lcms/mapfile-vers.i
data/src/share/classes/com/sun/jmx/snmp/SnmpCounter.java.i
+data/src/share/demo/jvmti/hprof/hprof_cpu.h.i
data/make/java/hpi/native/reorder-sparc.i
data/src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c.i
data/src/share/classes/sun/audio/AudioPlayer.java.i
-data/make/sun/management/jmxremote/Makefile.i
+data/test/sun/security/tools/jarsigner/JarSigningNonAscii.java.i
data/test/java/net/URLClassLoader/B7050028.java.i
-data/test/java/util/concurrent/LinkedBlockingQueue/OfferRemoveLoops.java.i
-data/test/java/beans/XMLEncoder/Test4679556.java.i
+data/src/share/classes/javax/crypto/CryptoPermissions.java.i
data/make/tools/CharsetMapping/IBM273.c2b.i
data/test/javax/swing/JFileChooser/4252173/bug4252173.java.i
data/test/java/security/cert/CertPathValidator/nameConstraintsRFC822/jane2jane.cer.i
-data/src/share/classes/java/math/package-info.java.i
+data/test/java/awt/Mixing/MixingOnShrinkingHWButton.java.i
+data/make/java/main/java/mapfile-amd64.i
data/test/java/io/PipedInputStream/FasterWriter.java.i
data/src/share/classes/javax/print/attribute/HashAttributeSet.java.i
data/src/share/classes/sun/security/x509/CertificatePoliciesExtension.java.i
data/make/tools/src/build/tools/dtdbuilder/DTDBuilder.java.i
-data/src/share/classes/sun/util/calendar/CalendarDate.java.i
data/src/windows/native/sun/java2d/windows/DDBlitLoops.cpp.i
data/test/java/rmi/activation/Activatable/shutdownGracefully/RegisteringActivatable.java.i
data/src/share/classes/java/awt/GradientPaintContext.java.i
-data/src/share/classes/com/sun/imageio/plugins/bmp/BMPConstants.java.i
+data/test/java/beans/Introspector/Test4984912.java.i
data/src/share/classes/com/sun/net/ssl/KeyManagerFactorySpi.java.i
-data/src/share/classes/javax/swing/plaf/basic/BasicToggleButtonUI.java.i
data/test/java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog_Stub.java.i
data/src/share/classes/java/lang/Runtime.java.i
data/src/solaris/doc/sun/man/man1/ja/extcheck.1.i
-data/src/solaris/native/sun/awt/awt_motif.h.i
-data/test/javax/crypto/Mac/TestGetInstance.java.i
+data/src/share/classes/javax/swing/plaf/metal/icons/ocean/expanded.gif.i
+data/src/windows/native/sun/jkernel/DownloadDialog.cpp.i
data/src/share/classes/sun/tools/java/ClassDeclaration.java.i
-data/test/java/util/Locale/LocaleEnhanceTest.java.i
-data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/file/MonitoredHostProvider.java.i
-data/src/share/classes/javax/net/ssl/ExtendedSSLSession.java.i
+data/src/share/native/sun/java2d/loops/ByteBinary1Bit.h.i
+data/src/share/classes/java/lang/annotation/package-info.java.i
+data/src/share/classes/javax/swing/text/rtf/charsets/NeXT.txt.i
+data/test/javax/management/notification/SupportClearTest.java.i
data/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/KMTMGetNothing.java.i
-data/make/sun/cmm/kcms/FILES_c_windows.gmk.i
+data/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFormat.java.i
data/src/share/javavm/export/jni.h.i
data/src/share/classes/java/net/HttpURLConnection.java.i
data/src/solaris/native/sun/java2d/x11/X11SurfaceData.c.i
data/test/java/util/TimSort/Sorter.java.i
-data/src/share/native/sun/security/ec/ecp_521.c.i
+data/test/com/sun/jdi/sde/TemperatureTable.jsp.i
+data/src/share/classes/sun/rmi/rmic/newrmic/Resources.java.i
data/src/share/classes/javax/swing/JButton.java.i
-data/src/share/classes/javax/swing/plaf/SeparatorUI.java.i
+data/test/javax/management/mxbean/OperationImpactTest.java.i
+data/src/share/native/sun/font/sunFont.c.i
+data/make/java/main/java/Makefile.i
data/src/share/classes/sun/security/ssl/EngineWriter.java.i
-data/test/javax/management/namespace/ExportNamespaceTest.java.i
-data/src/share/demo/jfc/SampleTree/SampleTree.java.i
+data/test/com/sun/net/httpserver/bugs/B6431193.java.i
+data/test/sun/java2d/cmm/ColorConvertOp/RGBColorConvertTest.java.i
data/test/java/net/PlainSocketImpl/BigBacklog.java.i
data/src/share/classes/com/sun/media/sound/SoftMidiAudioFileReader.java.i
data/src/share/classes/sun/security/krb5/internal/KDCOptions.java.i
+data/src/share/native/sun/awt/medialib/mlib_ImageConvCopyEdge_Bit.c.i
data/src/share/native/sun/awt/debug/debug_util.c.i
data/test/java/beans/PropertyEditor/TestStringClassJava.java.i
-data/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream2.java.i
-data/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream2.java.i
-data/src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java.i
-data/test/java/io/PushbackInputStream/Available.java.i
-data/src/share/classes/sun/net/www/http/ChunkedInputStream.java.i
+data/test/java/security/cert/CertPathValidator/nameConstraints/NameConstraintsWithoutRID.java.i
+data/src/share/classes/com/sun/beans/finder/ConstructorFinder.java.i
+data/src/share/sample/nio/server/Reply.java.i
+data/src/share/classes/sun/io/ByteToCharHKSCS_2001.java.i
+data/src/share/classes/sun/nio/cs/ext/IBM942.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_zh_SG.java.i
data/src/solaris/classes/sun/nio/ch/DatagramDispatcher.java.i
data/test/javax/management/standardmbean/RegistrationTest.java.i
+data/test/javax/swing/JSplitPane/4885629/bug4885629.java.i
data/src/solaris/native/sun/java2d/loops/vis_AlphaMacros.c.i
-data/src/share/classes/com/sun/jmx/remote/internal/Unmarshal.java.i
+data/src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_zh_TW.properties.i
data/src/share/classes/javax/swing/Action.java.i
-data/test/com/sun/crypto/provider/Cipher/DES/inputData/plain2.txt.i
-data/src/share/classes/sun/tools/java/Identifier.java.i
+data/test/java/security/UnresolvedPermission/DebugPermissionBad.java.i
+data/test/com/sun/jndi/ldap/LdapName/EmptyNameSearch.java.i
data/test/sun/nio/cs/MalformedSurrogates.java.i
data/test/java/util/jar/Attributes/PutAndPutAll.java.i
data/src/share/classes/sun/net/www/protocol/mailto/Handler.java.i
-data/src/share/classes/com/sun/beans/decoder/PropertyElementHandler.java.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsDesktopIconUI.java.i
data/test/java/rmi/activation/Activatable/checkRegisterInLog/group.security.policy.i
-data/src/share/classes/sun/util/resources/LocaleNames_in.properties.i
+data/test/java/rmi/registry/checkusage/CheckUsage.java.i
data/src/share/classes/java/awt/CompositeContext.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/DSAKeyValueResolver.java.i
+data/test/java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.java.i
data/test/java/awt/Frame/InitialMaximizedTest/InitialMaximizedTest.html.i
-data/src/share/classes/javax/swing/text/html/HTMLEditorKit.java.i
-data/src/share/classes/java/net/SocketPermission.java.i
-data/src/share/classes/javax/sound/midi/MidiEvent.java.i
-data/test/java/beans/XMLEncoder/Test5023559.java.i
+data/src/share/classes/sun/tools/tree/LocalMember.java.i
+data/src/share/classes/javax/net/ssl/ExtendedSSLSession.java.i
+data/src/share/classes/javax/management/JMException.java.i
data/src/share/classes/java/beans/beancontext/BeanContextMembershipListener.java.i
-data/src/share/classes/com/sun/media/sound/services/linux-i586/javax.sound.sampled.spi.MixerProvider.i
+data/make/tools/CharsetMapping/MacArabic.map.i
data/src/share/native/java/util/zip/zlib-1.1.3/infutil.c.i
+data/src/windows/native/common/locale_str.h.i
data/src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_it.properties.i
data/src/share/classes/sun/security/provider/X509Factory.java.i
-data/src/share/classes/sun/security/util/DerOutputStream.java.i
-data/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest2.java.i
+data/src/share/classes/com/sun/java/swing/plaf/gtk/icons/image-delayed.png.i
data/src/share/classes/sun/applet/resources/MsgAppletViewer_fr.java.i
+data/src/share/classes/sun/rmi/transport/TransportConstants.java.i
data/src/share/native/sun/font/layout/HebrewShaping.cpp.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/Open.java.i
data/test/com/sun/crypto/provider/TLS/TestPRF.java.i
@@ -10176,18 +10249,21 @@ data/src/share/classes/javax/swing/plaf/metal/MetalIconFactory.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_TW.properties.i
data/src/share/classes/javax/security/auth/x500/X500PrivateCredential.java.i
data/test/java/security/cert/CertPathBuilder/selfIssued/KeyUsageMatters.java.i
-data/make/tools/src/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java.i
+data/src/share/classes/com/sun/crypto/provider/TlsKeyMaterialGenerator.java.i
+data/test/javax/management/remote/mandatory/subjectDelegation/policy21.i
data/test/java/awt/dnd/FileListBetweenJVMsTest/TargetFileListFrame.java.i
-data/test/sun/security/pkcs11/SecureRandom/Basic.java.i
+data/src/share/classes/com/sun/media/sound/SoftPointResampler.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/resource/log4j.properties.i
data/src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java.i
+data/test/java/nio/channels/SocketChannel/Bind.java.i
data/test/java/beans/XMLEncoder/java_util_Collections_UnmodifiableSet.java.i
data/test/javax/management/openmbean/GenericMBeanExceptionTest.java.i
-data/src/share/classes/sun/misc/CRC16.java.i
+data/src/share/classes/com/sun/jmx/snmp/SnmpEngineParameters.java.i
data/src/share/classes/sun/jvmstat/monitor/package.html.i
-data/make/sun/dcpr/Makefile.i
+data/src/share/classes/sun/font/Font2D.java.i
data/src/share/classes/java/beans/Beans.java.i
-data/test/javax/management/notification/SupportClearTest.java.i
+data/src/share/classes/sun/reflect/ConstructorAccessor.java.i
+data/test/java/rmi/registry/interfaceHash/ReferenceRegistryStub.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/XMLUtils.java.i
data/src/share/classes/sun/management/snmp/util/package.html.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java.i
@@ -10203,81 +10279,82 @@ data/src/share/classes/java/util/prefs/NodeChangeListener.java.i
data/src/share/classes/java/nio/file/attribute/BasicFileAttributes.java.i
data/src/share/classes/sun/jvmstat/monitor/event/VmEvent.java.i
data/test/java/lang/Class/forName/classes/left-square.class.i
-data/make/java/util/FILES_properties.gmk.i
+data/src/share/classes/org/openjdk/jigsaw/cli/Commands.java.i
data/src/share/classes/com/sun/jmx/snmp/agent/SnmpGenericObjectServer.java.i
-data/src/share/classes/sun/text/resources/FormatData_el.java.i
+data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/BlendingMode.java.i
data/make/java/java_hprof_demo/Makefile.i
data/src/windows/native/sun/font/lcdglyph.c.i
+data/test/java/io/Serializable/subclassGC/security.policy.i
data/make/tools/freetypecheck/Makefile.i
data/src/share/sample/jmx/jmx-scandir/nbproject/file-targets.xml.i
data/test/java/nio/file/Path/CheckPermissions.java.i
-data/make/tools/CharsetMapping/IBM284.c2b.i
+data/src/share/classes/javax/swing/ComponentInputMap.java.i
data/test/java/rmi/testlibrary/JavaVM.java.i
-data/test/com/sun/servicetag/DuplicateNotFound.java.i
+data/test/sun/management/jmxremote/bootstrap/management_test06_ok.properties.in.i
data/src/share/classes/javax/naming/event/NamingListener.java.i
-data/src/share/classes/javax/security/auth/login/LoginException.java.i
-data/test/java/nio/file/Files/TerminateWalk.java.i
-data/src/share/classes/sun/nio/cs/ext/IBM278.java.i
+data/src/share/classes/java/security/cert/CertificateRevokedException.java.i
+data/test/java/awt/FileDialog/MultipleMode/MultipleMode.java.i
data/src/share/classes/sun/io/CharToByteJIS0212_Solaris.java.i
-data/src/linux/doc/man/ja/jarsigner.1.i
+data/src/share/classes/sun/nio/cs/UTF_16BE.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/PainterBorder.java.i
-data/src/share/classes/sun/util/resources/CurrencyNames_es_PY.properties.i
-data/src/share/classes/javax/swing/plaf/nimbus/PainterImpl.template.i
+data/test/java/nio/channels/Selector/CloseThenRegister.java.i
+data/test/java/io/BufferedInputStream/SkipTest.java.i
data/src/solaris/classes/sun/java2d/xr/XRSurfaceDataProxy.java.i
-data/src/linux/doc/man/ja/jstack.1.i
+data/src/share/back/StringReferenceImpl.c.i
data/src/share/classes/java/lang/SecurityManager.java.i
data/src/share/classes/java/util/concurrent/atomic/AtomicReference.java.i
data/test/java/beans/Introspector/Test6528714.java.i
data/test/sun/rmi/rmic/covariantReturns/G5Impl.java.i
data/src/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java.i
-data/test/java/util/zip/ZipFile/Available.java.i
+data/src/windows/classes/sun/java2d/ScreenUpdateManager.java.i
data/src/share/classes/com/sun/crypto/provider/PBKDF2KeyImpl.java.i
data/src/share/demo/jfc/TableExample/TableExample4.java.i
data/test/sun/net/www/EncDec.doc.i
-data/src/share/classes/sun/java2d/loops/GraphicsPrimitiveProxy.java.i
+data/src/share/native/sun/java2d/loops/Index8Gray.c.i
data/src/share/classes/sun/util/resources/CurrencyNames_de_LU.properties.i
data/src/share/classes/com/sun/jmx/snmp/SnmpTooBigException.java.i
-data/src/share/classes/sun/text/resources/FormatData_es_HN.java.i
-data/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest.java.i
-data/test/sun/text/resources/Collator/Bug4848897.java.i
+data/src/share/classes/com/sun/imageio/plugins/common/BogusColorSpace.java.i
+data/test/java/lang/Runtime/exec/StreamsSurviveDestroy.java.i
+data/src/share/classes/sun/tools/javac/CompilerMember.java.i
data/src/windows/npt/utf_md.c.i
data/test/javax/management/ObjectName/ValueWildcardTest.java.i
data/src/windows/native/sun/java2d/d3d/D3DUtils.h.i
data/src/share/native/java/util/zip/zlib-1.2.3/crc32.h.i
data/test/java/rmi/activation/Activatable/downloadParameterClass/DownloadParameterClass.java.i
-data/test/java/lang/instrument/RedefineClassWithNativeMethod.sh.i
+data/src/share/classes/javax/xml/crypto/KeySelector.java.i
data/src/share/classes/java/text/DateFormat.java.i
-data/test/javax/management/modelmbean/InfoSupportTest.java.i
data/test/sun/security/provider/SeedGenerator/Awt_Hang_Test.java.i
-data/test/sun/nio/cs/TestEUC_TW.java.i
-data/test/org/openjdk/jigsaw/cli/ModuleFormatTest01.sh.i
+data/src/solaris/classes/sun/awt/X11/XHorizontalScrollbar.java.i
+data/src/solaris/classes/sun/nio/fs/LinuxNativeDispatcher.java.i
data/src/share/classes/sun/awt/image/DataBufferNative.java.i
+data/test/java/beans/Introspector/4750368/com/foo/test/Component.java.i
data/make/tools/src/build/tools/charsetmapping/JIS0213.java.i
+data/test/java/awt/dnd/URIListBetweenJVMsTest/TargetFileListFrame.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/signature/Manifest.java.i
+data/src/share/classes/java/net/HttpRetryException.java.i
data/src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipConstants.java.i
data/test/java/util/Random/NextBytes.java.i
-data/make/com/sun/servicetag/Makefile.i
+data/src/share/demo/jvmti/waiters/waiters.cpp.i
+data/src/share/classes/sun/security/x509/PolicyMappingsExtension.java.i
data/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormatFloat.java.i
-data/src/share/demo/applets/Fractal/CLSFractal.java.i
-data/src/share/classes/sun/misc/GC.java.i
+data/src/share/classes/com/sun/imageio/plugins/png/PNGImageWriter.java.i
+data/test/javax/swing/text/DefaultEditorKit/4278839/bug4278839.java.i
data/test/java/awt/font/TextLayout/DecorationBoundsTest.java.i
+data/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiUtils.c.i
data/src/share/demo/applets/SpreadSheet/example1.html.i
data/test/sun/security/pkcs11/ec/ReadPKCS12.java.i
-data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTreeUI.java.i
-data/test/sun/security/provider/PolicyParser/ExpansionErrorMisleading.java.i
+data/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java.i
+data/test/sun/security/pkcs11/Provider/Login.java.i
data/test/java/rmi/activation/Activatable/shutdownGracefully/group.security.policy.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/EffectUtilsTemp.java.i
data/test/java/io/Serializable/partialClassDesc/PartialClassDesc.java.i
-data/src/share/classes/org/openjdk/jigsaw/LibraryPool.java.i
+data/src/linux/doc/man/policytool.1.i
data/src/share/classes/com/sun/tools/jdi/LocalVariableImpl.java.i
-data/test/java/nio/channels/FileChannel/TransferToNonWritable.java.i
-data/test/java/lang/instrument/BootClassPath/Setup.java.i
-data/src/share/back/error_messages.h.i
-data/src/share/classes/sun/nio/cs/SingleByteDecoder.java.i
+data/src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java.i
+data/test/java/awt/event/KeyEvent/CorrectTime/CorrectTime.java.i
+data/src/share/classes/sun/java2d/pipe/TextPipe.java.i
+data/src/share/classes/sun/io/CharToByteCp285.java.i
data/src/windows/classes/sun/awt/windows/awtLocalization_fr.properties.i
-data/test/java/io/Serializable/replaceStringArray/ReplaceStringArray.java.i
data/make/mkdemo/jfc/SwingSet3/Makefile.i
data/src/share/native/java/util/zip/zlib-1.1.3/infutil.h.i
data/make/sun/javazic/tzdata/VERSION.i
@@ -10285,77 +10362,75 @@ data/src/share/classes/java/lang/reflect/Type.java.i
data/src/share/classes/sun/rmi/server/UnicastRef.java.i
data/src/share/native/sun/security/ec/impl/ecp_mont.c.i
data/src/share/classes/javax/management/BadStringOperationException.java.i
-data/test/java/net/URLConnection/RequestProperties.java.i
+data/src/share/classes/sun/security/x509/CertificateIssuerName.java.i
data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/TestAllSuites.java.i
-data/src/share/classes/java/text/AttributedCharacterIterator.java.i
-data/test/java/net/Socket/InheritTimeout.java.i
+data/test/java/nio/channels/Selector/BasicAccept.java.i
+data/src/share/classes/javax/xml/crypto/dsig/SignedInfo.java.i
data/test/java/net/Inet6Address/serialize/Serialize.java.i
-data/test/javax/swing/JLabel/7004134/bug7004134.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_th_TH.properties.i
-data/test/javax/management/MBeanServer/PreDeregisterDeadlockTest.java.i
+data/test/java/security/SecureRandom/sha1prng-new.bin.i
data/src/solaris/native/sun/awt/awt_Robot.c.i
data/test/sun/security/pkcs11/fips/CipherTest.java.i
-data/test/tools/launcher/PrintVersion.java.i
data/src/share/classes/sun/security/krb5/internal/crypto/EType.java.i
data/make/tools/CharsetMapping/IBM833.c2b.i
data/src/share/classes/java/security/Permissions.java.i
data/test/sun/security/jgss/spnego/NoSpnegoAsDefMech.java.i
-data/src/solaris/native/com/sun/media/sound/PLATFORM_API_SolarisOS_PCM.c.i
-data/test/javax/management/remote/mandatory/subjectDelegation/policy21.i
-data/test/javax/xml/crypto/dsig/data/certs/crl.i
-data/make/tools/GenerateCharacter/CharacterDataLatin1.java.template.i
-data/test/com/sun/security/sasl/util/CheckAccess.java.i
+data/src/share/classes/javax/naming/ldap/ControlFactory.java.i
+data/src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java.i
+data/test/javax/swing/JSlider/4987336/box.gif.i
+data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/Gradient.java.i
+data/test/sun/tools/jstat/jstatClassloadOutput1.sh.i
data/src/share/classes/sun/util/calendar/Gregorian.java.i
data/src/share/classes/sun/security/ssl/AppInputStream.java.i
data/test/javax/print/attribute/AttributeTest.java.i
data/src/share/classes/java/security/Key.java.i
data/test/java/nio/channels/DatagramChannel/SelectWhenRefused.java.i
-data/src/share/classes/sun/security/krb5/KrbAsReq.java.i
+data/src/windows/native/sun/windows/awt_IconCursor.h.i
data/test/sun/security/pkcs11/KeyStore/BasicData/basic.keystore.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformEnvelopedSignature.java.i
data/src/share/classes/sun/io/CharToByteMacSymbol.java.i
-data/test/javax/management/namespace/VirtualMBeanNotifTest.java.i
+data/src/share/classes/java/lang/doc-files/theta.gif.i
data/src/share/classes/sun/invoke/anon/ConstantPoolPatch.java.i
-data/src/share/classes/java/net/JarURLConnection.java.i
-data/make/sun/javazic/tzdata/pacificnew.i
+data/make/launchers/Makefile.launcher.i
+data/test/java/io/StreamTokenizer/Comment.java.i
data/test/java/math/BigInteger/OperatorNpeTests.java.i
-data/make/sun/security/ec/FILES_c.gmk.i
+data/LICENSE.i
+data/src/windows/native/sun/windows/awt_Window.h.i
data/src/share/classes/javax/swing/plaf/synth/SynthMenuItemUI.java.i
-data/test/sun/tools/jstat/lineCounts2.awk.i
+data/src/share/classes/sun/io/ByteToCharCp1258.java.i
data/src/share/classes/sun/tools/jconsole/ConnectDialog.java.i
data/src/share/classes/com/sun/jmx/remote/security/SubjectDelegator.java.i
-data/src/share/classes/javax/naming/directory/InvalidSearchControlsException.java.i
+data/test/java/nio/channels/Selector/LotsOfCancels.java.i
data/src/share/classes/java/security/cert/PKIXParameters.java.i
data/src/solaris/classes/sun/awt/X11/XDropTargetRegistry.java.i
-data/src/share/classes/javax/management/NumericValueExp.java.i
+data/test/java/rmi/activation/Activatable/restartService/RestartService.java.i
data/src/share/classes/com/sun/tools/jdi/DoubleTypeImpl.java.i
data/test/javax/swing/JColorChooser/Test4711996.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509KeyManager/PreferredKey.java.i
+data/src/share/classes/com/sun/jndi/toolkit/dir/HierMemDirCtx.java.i
+data/test/java/net/Socket/reset/Test.java.i
data/test/sun/security/pkcs11/nss/lib/linux-amd64/libfreebl3.chk.i
data/test/java/util/TreeMap/cr5045147.java.i
data/src/share/classes/java/awt/print/package.html.i
data/test/sun/security/provider/PolicyFile/Alias.keystore.i
-data/src/share/classes/javax/swing/plaf/metal/icons/Warn.gif.i
+data/test/java/lang/ClassLoader/findSystemClass/Loadee.java.i
data/src/share/classes/java/lang/Cloneable.java.i
data/src/share/classes/javax/swing/JToggleButton.java.i
-data/test/javax/management/relation/NonArrayListTest.java.i
data/src/share/demo/nbproject/jfc/FileChooserDemo/nbproject/project.xml.i
-data/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Fedora.properties.i
-data/src/share/classes/java/lang/Comparable.java.i
+data/make/tools/CharsetMapping/MacDingbat.map.i
data/test/java/lang/management/ThreadMXBean/Locks.java.i
data/src/share/classes/java/security/cert/PolicyQualifierInfo.java.i
data/test/javax/management/remote/mandatory/notif/policy.positive.i
-data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/ProxyTunnelServer.java.i
+data/src/share/classes/com/sun/jdi/request/MonitorWaitRequest.java.i
data/src/share/classes/java/dyn/MethodHandle.java.i
data/src/share/demo/jvmti/hprof/hprof_blocks.h.i
-data/test/java/rmi/testlibrary/TestFailedException.java.i
+data/test/java/io/PrintStream/FailingConstructors.java.i
data/test/java/rmi/server/serverStackTrace/Impl1_Skel.java.i
data/test/sun/security/pkcs11/fips/certs/server.cer.i
-data/test/sun/security/pkcs11/fips/ImportKeyStore.java.i
-data/make/com/sun/tracing/dtrace/Makefile.i
+data/src/share/classes/javax/swing/doc-files/groupLayout.sequential.vertical.gif.i
+data/test/javax/crypto/NullCipher/TestWithoutInit.java.i
+data/test/java/io/RandomAccessFile/Close.java.i
data/src/share/classes/java/awt/peer/PopupMenuPeer.java.i
data/src/share/classes/java/awt/dnd/Autoscroll.java.i
-data/test/java/beans/Introspector/memory/Bean2.java.i
data/src/share/native/java/lang/fdlibm/src/e_log.c.i
data/test/sun/rmi/transport/proxy/EagerHttpFallback.java.i
data/test/sun/security/pkcs11/SecmodTest.java.i
@@ -10363,16 +10438,16 @@ data/test/sun/net/www/AuthHeaderTest.java.i
data/test/com/sun/tools/attach/PermissionTest.java.i
data/test/com/sun/jdi/HomeTest.java.i
data/test/java/awt/Choice/UnfocusableToplevel/UnfocusableToplevel.java.i
-data/test/sun/net/www/http/KeepAliveCache/B5045306.java.i
+data/test/sun/security/tools/policytool/i18n.sh.i
data/src/share/classes/com/sun/jdi/request/ModificationWatchpointRequest.java.i
-data/src/share/classes/sun/io/ByteToCharMS932.java.i
-data/test/com/sun/crypto/provider/Cipher/DES/inputData/plain5.txt.i
+data/src/share/native/java/lang/Float.c.i
+data/src/share/classes/com/sun/jndi/ldap/LdapURL.java.i
data/src/share/native/sun/awt/libpng/pngread.c.i
data/test/java/beans/XMLDecoder/spec/TestFloat.java.i
+data/src/share/classes/com/sun/security/auth/NTSidUserPrincipal.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmMemMgrPoolRelEntryMBean.java.i
data/src/share/back/ArrayReferenceImpl.c.i
data/src/share/classes/java/util/IllformedLocaleException.java.i
-data/test/java/net/CookieHandler/CookieHandlerTest.java.i
data/test/sun/nio/cs/TestConverterDroppedCharacters.java.i
data/src/share/native/sun/awt/image/jpeg/jddctmgr.c.i
data/test/java/net/Socket/UrgentDataTest.java.i
@@ -10381,79 +10456,76 @@ data/test/demo/jvmti/hprof/OptionsTest.java.i
data/src/solaris/doc/sun/man/man1/ja/jarsigner.1.i
data/make/tools/swing-beans/beaninfo/images/JInternalFrameColor32.gif.i
data/src/share/classes/com/sun/media/sound/SF2Layer.java.i
-data/test/java/awt/dnd/ImageDecoratedDnD/DnDTarget.java.i
+data/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java.i
data/test/sun/security/ssl/sun/net/www/httpstest/HttpTransaction.java.i
data/src/share/classes/javax/swing/ActionPropertyChangeListener.java.i
-data/test/java/io/pathNames/win32/SJIS.java.i
+data/src/share/classes/sun/io/ByteToCharCp933.java.i
data/test/javax/script/Test6.java.i
data/src/share/classes/sun/nio/cs/ext/IBM943.java.i
data/src/share/classes/com/sun/tools/hat/internal/parser/PositionDataInputStream.java.i
-data/test/java/awt/font/StyledMetrics/BoldSpace.java.i
+data/src/share/classes/java/awt/image/renderable/RenderContext.java.i
data/test/java/nio/file/WatchService/FileTreeModifier.java.i
data/test/java/lang/instrument/GetInitiatedClassesTest.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsCheckBoxMenuItemUI.java.i
data/src/share/classes/sun/text/resources/FormatData_es_ES.java.i
-data/test/sun/rmi/rmic/newrmic/equivalence/batch.sh.i
+data/src/share/classes/com/sun/tools/example/debug/tty/Commands.java.i
data/src/solaris/doc/sun/man/man1/ja/javac.1.i
data/src/share/classes/com/sun/tools/example/debug/bdi/ModificationWatchpointSpec.java.i
data/test/java/lang/management/ThreadMXBean/SharedSynchronizer.java.i
data/src/share/native/sun/management/HotSpotDiagnostic.c.i
-data/test/sun/security/tools/keytool/trystore.sh.i
-data/src/share/classes/sun/tools/jconsole/inspector/XPlottingViewer.java.i
+data/src/share/classes/sun/security/provider/certpath/CertId.java.i
data/test/java/math/BigDecimal/RangeTests.java.i
-data/src/share/demo/nbproject/jfc/SwingApplet/nbproject/jdk.xml.i
data/src/share/classes/javax/swing/text/ComponentView.java.i
-data/test/javax/crypto/Cipher/TestCipherMode.java.i
-data/test/java/lang/Math/Expm1Tests.java.i
+data/src/windows/native/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.c.i
data/test/java/awt/PrintJob/Security/SecurityDialogTest.java.i
data/src/share/classes/javax/naming/event/ObjectChangeListener.java.i
data/src/share/classes/javax/swing/tree/DefaultTreeModel.java.i
-data/src/share/classes/sun/tools/tree/ExprExpression.java.i
-data/test/sun/management/jmxremote/bootstrap/jmxremote_ssltest12_ok.ssl.in.i
+data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMTransform.java.i
data/test/javax/sound/midi/Gervill/SoftTuning/GetTuningInt.java.i
data/test/com/sun/crypto/provider/Cipher/DES/inputData/plain7.txt.i
-data/src/share/classes/sun/security/jgss/GSSNameImpl.java.i
+data/test/java/io/Serializable/PutField/Write2.java.i
+data/src/share/classes/com/sun/tools/example/doc/index.html.i
data/test/javax/sound/midi/Gervill/SoftChannel/Controller.java.i
-data/test/java/lang/instrument/PremainClass/DummyMain.java.i
+data/test/sun/security/pkcs11/KeyStore/BasicData/p11-activcard.txt.i
data/test/javax/sound/midi/Gervill/SoftReceiver/Send_ActiveSense.java.i
data/src/share/native/sun/security/pkcs11/wrapper/p11_dual.c.i
-data/test/sun/security/rsa/TestCACerts.java.i
+data/src/share/classes/java/awt/font/GlyphJustificationInfo.java.i
data/src/share/demo/jfc/Metalworks/MetalworksPrefs.java.i
data/test/java/rmi/server/RMIClassLoader/loadProxyClasses/PublicInterface.java.i
-data/test/sun/security/provider/PolicyParser/PrincipalExpansionError.sh.i
+data/test/java/util/zip/ZipInputStream/Constructor.java.i
data/test/com/sun/tracing/BasicWithSecurityMgr.java.i
-data/test/javax/management/modelmbean/DescriptorSupportXMLTest.java.i
-data/test/sun/util/resources/TimeZone/Bug4858517.java.i
+data/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java.i
+data/make/tools/src/build/tools/jdwpgen/AbstractTypeListNode.java.i
data/src/share/classes/sun/rmi/registry/resources/rmiregistry_es.properties.i
data/src/windows/classes/sun/java2d/windows/DDBlitLoops.java.i
+data/src/share/classes/javax/swing/plaf/multi/MultiComboBoxUI.java.i
data/src/linux/doc/man/ja/jdb.1.i
data/src/share/classes/javax/crypto/spec/IvParameterSpec.java.i
-data/test/javax/print/applet/applet2/Applet2PrintServiceLookup.java.i
+data/src/share/classes/com/sun/jndi/dns/ResourceRecord.java.i
data/make/tools/swing-beans/beaninfo/images/JEditorPaneMono16.gif.i
-data/src/share/classes/com/sun/jmx/remote/internal/NotificationBufferFilter.java.i
+data/make/tools/jarreorder/Makefile.i
+data/src/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheOctetStreamData.java.i
data/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDTarget.java.i
data/test/org/openjdk/jigsaw/preinstall-setup.sh.i
data/test/java/security/cert/CertPathValidator/OCSP/AIACert.pem.i
data/src/share/classes/sun/io/ByteToCharUnicodeLittleUnmarked.java.i
-data/src/share/classes/sun/security/x509/PolicyMappingsExtension.java.i
+data/src/share/classes/sun/security/util/DerInputBuffer.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/internal/ColumnarData.java.i
data/test/java/util/ResourceBundle/Bug4396021GeneralMessages.java.i
data/test/java/awt/Container/CheckZOrderChange/CheckZOrderChange.java.i
data/src/share/native/sun/awt/libpng/pngmem.c.i
data/src/share/classes/java/net/URLStreamHandler.java.i
-data/test/java/util/Formatter/Basic-X.java.i
+data/src/share/classes/sun/reflect/generics/tree/Tree.java.i
data/src/share/classes/sun/nio/ch/DatagramChannelImpl.java.i
data/src/share/classes/sun/tools/jstat/RawOutputFormatter.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicCheckBoxUI.java.i
data/src/share/classes/sun/misc/JavaSecurityProtectionDomainAccess.java.i
data/src/share/classes/sun/security/provider/DSAKeyFactory.java.i
-data/src/share/classes/java/lang/ref/FinalReference.java.i
-data/src/share/classes/sun/security/ssl/KeyManagerFactoryImpl.java.i
+data/src/solaris/native/sun/awt/sun_awt_X11_GtkFileDialogPeer.c.i
data/src/share/native/sun/management/VMManagementImpl.c.i
-data/src/windows/classes/sun/net/www/protocol/jar/JarFileFactory.java.i
+data/src/share/classes/javax/swing/text/rtf/RTFParser.java.i
data/test/java/awt/Focus/ContainerFocusAutoTransferTest/ContainerFocusAutoTransferTest.java.i
-data/test/java/net/Inet6Address/B4923906.java.i
data/test/com/sun/crypto/provider/KeyFactory/PBKDF2HmacSHA1FactoryTest.java.i
data/src/share/sample/nio/file/Copy.java.i
data/src/share/classes/sun/tools/jconsole/TimeComboBox.java.i
@@ -10461,7 +10533,7 @@ data/test/sun/net/idn/nfscsi.spp.i
data/test/sun/net/www/protocol/http/ProtocolRedirect.java.i
data/src/solaris/native/sun/security/smartcardio/MUSCLE/pcsclite.h.i
data/src/share/classes/java/util/concurrent/CompletionService.java.i
-data/test/java/awt/Window/OwnedWindowsLeak/OwnedWindowsLeak.java.i
+data/src/share/classes/com/sun/jdi/event/EventQueue.java.i
data/src/solaris/bin/ergo_zero.c.i
data/src/windows/native/sun/windows/awt_List.cpp.i
data/test/sun/tools/jstat/gcOldOutput1.awk.i
@@ -10471,16 +10543,15 @@ data/test/tools/launcher/libraryCaller.h.i
data/src/share/native/java/io/ObjectInputStream.c.i
data/test/sun/security/rsa/rsakeys.ks.i
data/test/javax/swing/JColorChooser/Test6199676.java.i
-data/src/share/native/sun/font/layout/LEFontInstance.h.i
-data/test/java/rmi/reliability/scripts/run_serialbench.ksh.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/KeyValueContent.java.i
+data/src/share/classes/sun/security/provider/IdentityDatabase.java.i
data/src/share/classes/com/sun/imageio/plugins/gif/GIFStreamMetadataFormat.java.i
data/test/java/security/BasicPermission/PermClass.1.3.1.i
-data/src/share/classes/sun/font/CMap.java.i
data/src/share/classes/java/awt/geom/NoninvertibleTransformException.java.i
data/test/javax/management/mxbean/MXBeanPreRegisterTest.java.i
data/src/share/classes/java/lang/annotation/RetentionPolicy.java.i
data/test/javax/crypto/EncryptedPrivateKeyInfo/GetKeySpec.java.i
-data/test/java/beans/XMLDecoder/spec/TestVar.java.i
+data/src/share/classes/java/lang/invoke/InvokeGeneric.java.i
data/src/share/classes/javax/net/ssl/SSLSocketFactory.java.i
data/src/share/classes/sun/text/resources/BreakIteratorInfo_th.java.i
data/make/tools/CharsetMapping/ISO_8859_15.map.i
@@ -10488,52 +10559,52 @@ data/src/share/classes/sun/text/resources/FormatData_da.java.i
data/test/java/lang/instrument/appendToClassLoaderSearch/B.1.i
data/src/share/native/sun/font/layout/NonContextualGlyphSubstProc.h.i
data/src/windows/native/sun/windows/awt_DnDDT.h.i
-data/make/tools/swing-beans/beaninfo/images/JToolBarMono16.gif.i
+data/src/share/classes/org/relaxng/datatype/DatatypeLibrary.java.i
data/test/java/awt/image/GetSamplesTest.java.i
data/test/com/sun/nio/sctp/SctpChannel/Receive.java.i
data/test/org/openjdk/jigsaw/cli/timestamp-test.sh.i
-data/make/java/text/FILES_java.gmk.i
+data/test/java/lang/reflect/Generics/TestC2.java.i
data/test/com/sun/jdi/redefineMethod/Different_RedefineSubTarg.java.i
data/test/java/security/BasicPermission/PermClass.1.2.1.i
-data/test/java/rmi/dgc/dgcImplInsulation/security.policy.i
+data/test/sun/rmi/rmic/newrmic/equivalence/ComputeServer.java.i
data/test/java/dyn/6987555/Test6987555.java.i
data/test/java/awt/event/HierarchyEvent/AncestorResized/AncestorResized.java.i
-data/src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties.i
data/make/modules/tools/src/com/sun/classanalyzer/AnnotatedDependency.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicProgressBarUI.java.i
data/src/share/native/sun/awt/image/cvutils/img_dir8dither.h.i
-data/src/share/classes/sun/security/util/AuthResources_ja.java.i
-data/test/java/util/HashMap/ToString.java.i
+data/src/share/classes/sun/applet/Main.java.i
+data/src/share/classes/sun/awt/resources/awt_ja.properties.i
data/src/share/native/sun/java2d/opengl/OGLRenderer.c.i
data/src/share/classes/sun/management/HotspotInternal.java.i
+data/src/share/classes/com/sun/pept/presentation/Tie.java.i
data/src/share/native/java/util/zip/zlib-1.2.3/inffixed.h.i
data/test/sun/security/tools/policytool/SaveAs.sh.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpU16U8Func.c.i
+data/test/javax/management/remote/mandatory/passwordAuthenticator/SimpleStandardMBean.java.i
data/test/com/sun/net/httpserver/FileServerHandler.java.i
data/test/java/lang/management/ThreadMXBean/InvalidThreadID.java.i
+data/src/share/classes/com/sun/media/sound/SoftVoice.java.i
data/test/java/net/Socket/asyncClose/AsyncClose.java.i
data/make/javax/swing/plaf/Makefile.i
-data/test/javax/sound/midi/Gervill/ModelPerformer/SetConnectionBlocks.java.i
-data/test/java/rmi/activation/Activatable/downloadParameterClass/security.policy.i
+data/src/share/classes/sun/util/resources/CalendarData_th.properties.i
+data/src/share/classes/javax/management/loading/MLetObjectInputStream.java.i
data/test/java/awt/print/PrinterJob/duke.gif.i
data/src/solaris/doc/sun/man/man1/ja/unpack200.1.i
-data/src/share/classes/java/util/AbstractMap.java.i
+data/test/java/security/cert/CertificateFactory/BadX509CertData.java.i
data/make/javax/swing/beaninfo/Makefile.i
-data/src/share/classes/java/util/concurrent/ThreadLocalRandom.java.i
data/src/share/classes/java/awt/image/IndexColorModel.java.i
-data/src/share/demo/applets/WireFrame/example2.html.i
data/test/java/rmi/activation/Activatable/restartCrashedService/group.security.policy.i
data/src/solaris/classes/sun/awt/motif/X11CNS11643P3.java.i
data/make/common/internal/Defs-jaxws.gmk.i
-data/src/share/classes/javax/swing/text/StyleConstants.java.i
-data/src/windows/native/java/io/dirent_md.c.i
+data/src/share/classes/java/beans/XMLDecoder.java.i
+data/src/solaris/doc/sun/man/man1/jrunscript.1.i
+data/src/share/classes/sun/awt/image/BufferedImageDevice.java.i
data/test/java/util/logging/LoggingDeadlock3.props.i
data/src/share/classes/com/sun/crypto/provider/DESedeKeyGenerator.java.i
data/src/share/classes/javax/xml/crypto/KeySelectorResult.java.i
-data/test/java/beans/Beans/6669869/TestGuiAvailable.java.i
-data/test/java/rmi/server/RMIClassLoader/loadProxyClasses/LoadProxyClasses.java.i
+data/src/share/classes/javax/sql/rowset/JdbcRowSet.java.i
+data/src/solaris/native/sun/java2d/loops/vis_ThreeByteBgr.c.i
data/src/share/classes/java/awt/image/PixelGrabber.java.i
-data/src/solaris/classes/sun/awt/motif/X11SelectionHolder.java.i
+data/test/javax/print/attribute/CollateAttr.java.i
data/test/java/beans/XMLEncoder/Test4652928.java.i
data/src/windows/native/java/util/TimeZone_md.h.i
data/test/tools/launcher/MiscTests.java.i
@@ -10542,22 +10613,25 @@ data/test/sun/security/mscapi/AccessKeyStore.java.i
data/test/com/sun/crypto/provider/Cipher/PBE/PKCS12Cipher.java.i
data/src/share/back/transport.h.i
data/src/share/classes/sun/text/resources/FormatData_sr_Latn.java.i
-data/test/javax/swing/plaf/basic/BasicScrollPaneUI/Test6632810.java.i
-data/test/sun/tools/jconsole/ResourceCheckTest.sh.i
-data/test/java/rmi/reliability/benchmark/bench/serial/Longs.java.i
+data/src/share/classes/com/sun/jmx/snmp/internal/SnmpDecryptedPdu.java.i
+data/src/share/classes/sun/security/ssl/MAC.java.i
+data/test/java/net/SocketPermission/Wildcard.java.i
+data/test/sun/security/util/PropertyExpander/ExpandAndEncode.java.i
data/src/share/classes/sun/nio/ch/PendingFuture.java.i
data/make/modules/modularize.sh.i
data/test/java/lang/instrument/AppendToBootstrapClassPathSetUp.sh.i
data/test/sun/util/resources/TimeZone/Bug6442006.java.i
data/test/java/text/Bidi/BidiEmbeddingTest.java.i
+data/src/share/classes/javax/sql/XAConnection.java.i
data/test/java/security/Policy/GetInstance/GetInstance.policy.i
-data/test/com/sun/servicetag/DeleteServiceTag.java.i
-data/test/java/lang/ClassLoader/package2/Class2.java.i
+data/src/solaris/native/sun/net/spi/DefaultProxySelector.c.i
+data/make/mkdemo/jfc/Notepad/Makefile.i
+data/src/share/classes/sun/security/pkcs11/wrapper/CK_SSL3_RANDOM_DATA.java.i
data/src/solaris/classes/java/net/PlainDatagramSocketImpl.java.i
-data/test/org/openjdk/jigsaw/InstallFromRepo.java.i
data/src/share/classes/javax/management/MBeanNotificationInfo.java.i
data/src/share/classes/java/util/Collection.java.i
data/src/share/classes/sun/tools/jconsole/inspector/XDataViewer.java.i
+data/src/share/demo/jfc/Font2DTest/resources/TextResources_zh_CN.properties.i
data/src/share/native/sun/awt/libpng/pngrtran.c.i
data/src/share/classes/sun/security/ssl/HandshakeMessage.java.i
data/test/java/io/Serializable/optionalDataEnd/OptionalDataEnd.java.i
@@ -10567,27 +10641,27 @@ data/src/share/classes/javax/rmi/ssl/package.html.i
data/src/share/classes/sun/text/resources/FormatData_hu.java.i
data/src/share/classes/sun/dyn/util/Wrapper.java.i
data/test/java/beans/XMLEncoder/java_util_Collections_CheckedCollection.java.i
-data/make/tools/CharsetMapping/euc_tw.map.i
-data/make/tools/src/build/tools/generatenimbus/Utils.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ClientModeClientAuth.java.i
data/src/solaris/classes/sun/awt/X11/XAWTXSettings.java.i
data/src/share/classes/sun/io/ByteToCharHKSCS.java.i
data/src/share/classes/sun/font/TextSourceLabel.java.i
-data/make/com/sun/nio/Makefile.i
-data/src/share/classes/sun/nio/cs/ext/EUC_KR.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/CloseSocketException.java.i
+data/src/share/classes/com/sun/servicetag/RegistrationData.java.i
data/src/share/classes/sun/java2d/loops/DrawParallelogram.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/InvalidKeyResolverException.java.i
data/src/solaris/hpi/export/byteorder_md.h.i
data/src/share/demo/java2d/J2DBench/src/j2dbench/ui/CompactLayout.java.i
-data/src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_zh_TW.properties.i
+data/src/share/classes/javax/sql/rowset/spi/SyncFactoryException.java.i
data/test/com/sun/crypto/provider/KeyAgreement/TestExponentSize.java.i
data/src/share/classes/com/sun/tools/example/debug/gui/StackTraceTool.java.i
data/src/share/classes/javax/swing/plaf/nimbus/SynthPainterImpl.java.i
-data/test/sun/tools/jps/jps-lm_Output1.awk.i
+data/src/share/classes/javax/management/DefaultLoaderRepository.java.i
data/test/java/net/Inet6Address/serialize/serial1.4.2.ser.i
-data/src/share/bin/jli_util.h.i
+data/test/sun/misc/JarIndex/metaInfFilenames/jarA/META-INF/services/my.happy.land.i
data/make/tools/CharsetMapping/IBM278.nr.i
-data/test/java/lang/ClassLoader/deadlock/SupBob.java.i
-data/src/share/classes/sun/util/resources/CurrencyNames_fr.properties.i
+data/test/java/lang/Short/ByteSwap.java.i
+data/test/sun/security/provider/DSA/TestDSA.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_fr.properties.i
data/src/share/classes/com/sun/jndi/url/iiopname/iiopnameURLContextFactory.java.i
data/src/windows/native/sun/management/FileSystemImpl.c.i
data/src/share/classes/javax/smartcardio/CardTerminals.java.i
@@ -10597,55 +10671,55 @@ data/src/share/classes/sun/net/httpserver/UnmodifiableHeaders.java.i
data/src/share/native/com/sun/java/util/jar/pack/main.cpp.i
data/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Standard.java.i
data/test/java/rmi/dgc/dgcImplInsulation/DGCImplInsulation_Stub.java.i
-data/src/share/classes/sun/security/pkcs11/wrapper/CK_LOCKMUTEX.java.i
+data/src/share/classes/sun/font/FontFamily.java.i
data/src/share/demo/nbproject/jfc/TableExample/nbproject/project.xml.i
data/src/share/classes/sun/util/resources/CalendarData_sr_Latn_ME.properties.i
data/src/share/classes/java/awt/geom/LineIterator.java.i
-data/test/com/sun/security/auth/login/ConfigFile/PropertyExpansion.policy.i
+data/test/java/beans/XMLEncoder/Test5023557.java.i
+data/test/java/lang/management/MemoryMXBean/PendingAllGC.sh.i
data/src/share/classes/sun/tools/native2ascii/N2AFilter.java.i
-data/test/javax/swing/border/Test4243289.html.i
+data/test/javax/management/namespace/NamespaceControllerMBean.java.i
data/test/java/security/UnresolvedPermission/AccessorMethods.signer2.i
-data/src/share/classes/sun/text/resources/CollationData_hr.java.i
data/src/share/classes/javax/swing/GraphicsWrapper.java.i
-data/src/share/classes/sun/nio/cs/ext/MS949.java.i
data/src/solaris/native/sun/java2d/loops/java2d_Mlib.c.i
data/src/share/classes/java/lang/invoke/DirectMethodHandle.java.i
-data/src/share/native/sun/awt/image/cvutils/img_icm.h.i
-data/test/java/awt/Multiscreen/DeviceIdentificationTest/DeviceIdentificationTest.java.i
+data/src/share/native/sun/java2d/pipe/BufferedRenderPipe.c.i
+data/test/javax/management/namespace/VirtualPropsTest.java.i
data/src/share/classes/com/sun/tools/example/doc/trace.html.i
data/test/java/lang/StringBuilder/Insert.java.i
-data/src/share/classes/sun/nio/cs/ext/ISO_8859_8.java.i
data/src/share/classes/java/io/PipedWriter.java.i
-data/src/share/classes/com/sun/java/swing/plaf/motif/MotifPopupMenuUI.java.i
data/test/sun/nio/cs/FindEncoderBugs.java.i
-data/src/share/demo/jfc/FileChooserDemo/FileChooserDemo.java.i
data/src/share/native/sun/font/layout/SegmentArrayProcessor.cpp.i
data/src/share/classes/javax/naming/InterruptedNamingException.java.i
-data/test/java/util/zip/FlaterCriticalArray.java.i
data/src/share/classes/sun/security/tools/JarSigner.java.i
data/test/com/sun/jdi/ClassLoaderClassesTest.java.i
data/src/windows/native/sun/windows/alloc.h.i
-data/src/windows/classes/sun/awt/windows/awtLocalization_de.properties.i
+data/src/share/demo/nbproject/jfc/SwingApplet/nbproject/jdk.xml.i
data/test/java/beans/XMLEncoder/javax_swing_tree_DefaultTreeModel.java.i
data/src/share/classes/sun/nio/cs/ext/MS1256.java.i
-data/test/javax/management/descriptor/UnionTest.java.i
+data/test/java/nio/file/Files/SkipSiblings.java.i
data/src/share/classes/sun/io/ByteToCharCp855.java.i
+data/test/java/awt/Frame/FrameSize/TestFrameSize.java.i
+data/test/javax/management/mxbean/MXBeanAnnotationTest.java.i
+data/src/share/classes/sun/security/pkcs11/wrapper/CK_PKCS5_PBKD2_PARAMS.java.i
data/make/tools/src/build/tools/generatecharacter/UnicodeSpec.java.i
-data/src/share/classes/sun/util/LocaleDataMetaInfo-XLocales.java.template.i
+data/src/share/classes/sun/awt/image/BufImgVolatileSurfaceManager.java.i
data/test/java/lang/Class/getEnclosingConstructor/EnclosingConstructorTests.java.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageConv.h.i
+data/src/share/classes/sun/net/www/ApplicationLaunchException.java.i
data/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_DirectSound.cpp.i
+data/test/java/util/concurrent/FutureTask/BlockingTaskExecutor.java.i
data/test/tools/launcher/ZipMeUp.java.i
-data/src/share/classes/java/rmi/Remote.java.i
-data/src/share/classes/java/awt/ModalEventFilter.java.i
-data/src/windows/classes/sun/awt/windows/WCheckboxPeer.java.i
+data/src/share/native/java/util/zip/zlib-1.2.5/zconf.h.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppInputStream/ReadBlocksClose.java.i
+data/src/share/classes/com/sun/java/browser/net/ProxyInfo.java.i
data/test/sun/net/www/protocol/http/RetryUponTimeout.java.i
data/src/share/classes/javax/management/remote/JMXConnectorServerProvider.java.i
-data/test/sun/security/pkcs11/ec/TestKeyFactory.java.i
+data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMEnvelopedTransform.java.i
data/src/windows/native/java/util/WindowsPreferences.c.i
+data/test/java/rmi/testlibrary/TestParams.java.i
data/src/share/classes/com/sun/tools/jdi/ClassLoaderReferenceImpl.java.i
-data/test/tools/pack200/TestExceptions.java.i
-data/src/share/classes/com/sun/media/sound/services/windows-i586/javax.sound.sampled.spi.MixerProvider.i
+data/test/sun/jvmstat/testlibrary/Sleeper.java.i
+data/src/share/classes/com/sun/rowset/internal/XmlErrorHandler.java.i
data/src/share/classes/javax/management/remote/MBeanServerForwarder.java.i
data/test/javax/swing/JFileChooser/7036025/security.policy.i
data/test/sun/nio/cs/TestIllegalISO2022Esc.java.i
@@ -10657,77 +10731,77 @@ data/make/tools/src/build/tools/generatenimbus/PainterGenerator.java.i
data/test/sun/management/jmxremote/bootstrap/management_ssltest09_ko.properties.in.i
data/src/share/classes/sun/text/resources/FormatData_ar_OM.java.i
data/src/share/classes/sun/applet/AppletThreadGroup.java.i
-data/src/share/demo/java2d/J2DBench/resources/textdata/english.ut8.txt.i
+data/src/share/classes/com/sun/jdi/InterfaceType.java.i
+data/test/java/security/cert/CertPathBuilder/targetConstraints/ca.cer.i
data/src/share/classes/javax/print/attribute/standard/Media.java.i
data/test/com/sun/security/auth/login/ConfigFile/InnerClassConfig.policy.i
data/src/share/classes/sun/net/ftp/impl/FtpClient.java.i
-data/src/share/native/sun/security/ec/ec.h.i
+data/src/share/classes/sun/java2d/pipe/PixelToParallelogramConverter.java.i
data/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibHandler.java.i
data/src/share/classes/sun/text/resources/FormatData_et.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMIpV6Address.java.i
data/src/share/classes/sun/net/spi/nameservice/NameService.java.i
data/src/share/classes/com/sun/jdi/CharValue.java.i
-data/test/sun/security/provider/PolicyFile/SelfWildcard.java.i
+data/src/share/classes/java/awt/MenuBar.java.i
data/src/share/classes/sun/rmi/transport/tcp/TCPTransport.java.i
-data/src/share/classes/sun/font/TextSource.java.i
-data/test/java/util/Random/NextIntPowerOfTwoMod.java.i
+data/test/java/lang/Integer/Decode.java.i
+data/src/share/classes/sun/nio/cs/SingleByteEncoder.java.i
data/test/java/nio/charset/coders/StreamTimeout.java.i
-data/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java.i
data/src/share/classes/org/ietf/jgss/MessageProp.java.i
data/src/share/native/java/io/RandomAccessFile.c.i
+data/test/java/rmi/activation/Activatable/downloadParameterClass/group.security.policy.i
data/src/share/classes/javax/sound/sampled/LineListener.java.i
-data/test/javax/accessibility/6986385/bug6986385.java.i
+data/src/share/sample/nio/server/ChannelIO.java.i
+data/test/java/util/ResourceBundle/Bug4168625Resource2.java.i
data/src/share/classes/java/nio/file/ReadOnlyFileSystemException.java.i
data/make/tools/CharsetMapping/IBM943.nr.i
data/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java.i
-data/src/share/demo/jvmti/heapViewer/README.txt.i
-data/src/windows/native/sun/windows/hand.cur.i
+data/src/share/classes/javax/swing/plaf/metal/icons/ocean/floppy.gif.i
+data/test/java/util/PluggableLocale/ClasspathTest.sh.i
data/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadataFormat.java.i
data/src/share/classes/javax/swing/table/JTableHeader.java.i
data/make/java/java/localelist.sh.i
-data/src/share/native/sun/java2d/loops/AnyByte.c.i
+data/src/share/classes/sun/awt/image/FileImageSource.java.i
data/src/share/native/sun/java2d/opengl/J2D_GL/glext.h.i
data/test/java/io/Serializable/replaceWithNull/ReplaceWithNull.java.i
-data/make/sun/javazic/tzdata/antarctica.i
data/src/share/classes/sun/security/krb5/KrbException.java.i
data/src/share/classes/javax/management/event/package-info.java.i
data/test/java/io/BufferedInputStream/CloseStream.java.i
-data/test/javax/xml/crypto/dsig/SecurityManager/policy.i
-data/src/share/classes/com/sun/jdi/event/package.html.i
+data/src/share/classes/com/sun/crypto/provider/AESParameters.java.i
data/src/windows/classes/com/sun/management/OSMBeanFactory.java.i
data/src/share/classes/java/nio/charset/StandardCharsets.java.i
data/test/java/util/ResourceBundle/Bug4179766Class.java.i
-data/src/share/classes/java/security/cert/CertificateException.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315ExclWithComments.java.i
data/src/share/classes/com/sun/management/OperatingSystemMXBean.java.i
-data/src/share/classes/sun/awt/image/VolatileSurfaceManager.java.i
+data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/PaintModel.java.i
data/test/java/beans/PropertyEditor/6380849/TestPropertyEditor.java.i
data/src/share/classes/java/awt/peer/ComponentPeer.java.i
data/src/share/classes/sun/net/www/URLConnection.java.i
data/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java.i
-data/test/sun/net/InetAddress/nameservice/dns/CanonicalName.java.i
+data/test/com/sun/crypto/provider/Cipher/PBE/PKCS12Oid.java.i
data/src/share/native/sun/misc/VM.c.i
data/make/mkdemo/jfc/Font2DTest/Makefile.i
data/src/share/classes/sun/java2d/pipe/SpanShapeRenderer.java.i
data/test/com/sun/jdi/OnThrowTest.java.i
-data/src/share/native/sun/java2d/loops/LoopMacros.h.i
-data/test/java/nio/Buffer/StringCharBufferSliceTest.java.i
+data/test/javax/management/remote/mandatory/connection/RMIExitTest.java.i
data/src/share/native/sun/awt/image/jpeg/jfdctint.c.i
-data/src/share/native/sun/reflect/ConstantPool.c.i
+data/src/share/classes/sun/tools/tree/MultiplyExpression.java.i
data/src/share/native/sun/awt/medialib/mlib_ImageUtils.c.i
data/src/solaris/hpi/native_threads/include/monitor_md.h.i
-data/src/share/native/sun/java2d/loops/FourByteAbgr.c.i
-data/test/java/rmi/activation/Activatable/checkAnnotations/CheckAnnotations_Stub.java.i
-data/make/common/BuildPackages.gmk.i
+data/src/share/classes/com/sun/crypto/provider/DESCrypt.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalScrollBarUI.java.i
-data/test/sun/net/www/ParseUtil_6306697.java.i
+data/test/sun/nio/cs/OLD/Johab_OLD.java.i
+data/test/javax/management/ObjectName/SerialCompatTest.java.i
data/test/java/beans/XMLEncoder/Test4936682.java.i
data/test/java/nio/file/Files/Links.java.i
data/src/share/classes/java/util/concurrent/ThreadPoolExecutor.java.i
-data/test/java/awt/Frame/FrameLocation/FrameLocation.java.i
+data/test/tools/pack200/pack200-verifier/src/sun/tools/pack/verify/VerifyTreeSet.java.i
+data/test/java/io/Serializable/superclassDataLoss/A.java.i
+data/test/sun/tools/jcmd/help_help.out.i
data/test/tools/pack200/Pack200Simple.sh.i
data/src/share/classes/javax/xml/crypto/dsig/keyinfo/RetrievalMethod.java.i
+data/src/share/classes/com/sun/jndi/rmi/registry/RemoteReference.java.i
data/src/share/classes/java/awt/Font.java.i
-data/src/share/classes/java/security/cert/CertStoreException.java.i
data/src/share/classes/sun/text/resources/FormatData_en_NZ.java.i
data/src/share/native/sun/awt/image/cvutils/img_fsdither.h.i
data/src/share/classes/java/lang/module/ModuleIdQuery.java.i
@@ -10738,225 +10812,221 @@ data/src/share/classes/sun/jvmstat/perfdata/resources/aliasmap.i
data/src/share/classes/sun/dyn/CallSiteImpl.java.i
data/test/java/io/File/BlockIsDirectory.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_es_VE.properties.i
-data/src/share/classes/sun/text/CollatorUtilities.java.i
+data/src/share/classes/sun/java2d/loops/GraphicsPrimitiveProxy.java.i
data/test/java/rmi/registry/multipleRegistries/MultipleRegistries.java.i
+data/test/java/lang/Class/forName/classes/period.class.i
data/src/share/native/sun/font/layout/MarkArrays.h.i
data/test/java/io/pathNames/win32/DriveSlash.java.i
-data/src/share/classes/com/sun/crypto/provider/HmacSHA1.java.i
-data/test/java/io/Serializable/oldTests/SimpleArrays.java.i
+data/src/share/classes/sun/misc/DoubleConsts.java.i
+data/src/share/classes/javax/swing/plaf/metal/MetalCheckBoxIcon.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmMemPoolEntryMeta.java.i
data/test/java/util/EnumMap/EntrySetIteratorRemoveInvalidatesEntry.java.i
-data/test/java/util/Collections/EmptyIterator.java.i
+data/test/java/rmi/activation/Activatable/forceLogSnapshot/group.security.policy.i
data/test/java/rmi/activation/Activatable/restartLatecomer/security.policy.i
data/src/share/classes/sun/tools/tree/AssignSubtractExpression.java.i
data/make/tools/swing-beans/beaninfo/images/JDesktopPaneColor32.gif.i
data/src/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java.i
-data/src/solaris/classes/sun/awt/motif/MCheckboxPeer.java.i
data/src/share/classes/sun/nio/cs/ext/DBCS_IBM_EBCDIC_Encoder.java.i
data/src/share/classes/sun/net/sdp/SdpSupport.java.i
data/src/share/classes/sun/io/CharToByteCp864.java.i
+data/src/windows/bin/java-rmi.c.i
data/test/sun/nio/cs/ConvertSingle.java.i
data/src/windows/native/sun/windows/awt_BitmapUtil.cpp.i
-data/src/share/native/sun/font/layout/MirroredCharData.cpp.i
+data/src/share/classes/com/sun/jdi/request/MonitorContendedEnterRequest.java.i
data/make/sun/jpeg/mapfile-vers-closed.i
data/test/com/sun/net/httpserver/DummyVerifier.java.i
-data/make/java/nio/reorder-sparcv9.i
+data/src/share/classes/java/sql/Savepoint.java.i
data/src/share/classes/java/lang/invoke/ConstantCallSite.java.i
-data/src/windows/native/java/net/NetworkInterface.h.i
data/src/share/classes/com/sun/inputmethods/internal/thaiim/resources/DisplayNames.properties.i
data/test/sun/nio/cs/TestUTF8BOM.java.i
-data/src/solaris/classes/sun/nio/ch/SocketDispatcher.java.i
-data/make/netbeans/common/windows-view.ent.i
+data/src/share/native/sun/awt/image/jpeg/jpegdecoder.c.i
+data/test/java/util/logging/GetGlobalTest.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthDefaultLookup.java.i
data/src/windows/lib/images/cursors/cursors.properties.i
data/src/share/classes/sun/security/x509/X509Key.java.i
-data/src/share/classes/javax/swing/Spring.java.i
data/test/javax/management/remote/mandatory/subjectDelegation/SubjectDelegation1Test.java.i
-data/src/share/classes/com/sun/tools/hat/resources/platform_names.txt.i
data/src/share/classes/javax/swing/plaf/metal/icons/ocean/maximize.gif.i
-data/test/javax/sound/midi/Gervill/SoftTuning/Load7.java.i
+data/src/windows/npt/utf_md.h.i
data/src/share/classes/sun/font/FontScalerException.java.i
data/src/share/classes/javax/swing/event/TableModelListener.java.i
data/src/share/classes/sun/java2d/pipe/DrawImagePipe.java.i
data/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_Swing.java.i
data/test/java/rmi/reliability/benchmark/bench/serial/IntArrays.java.i
-data/src/share/classes/org/openjdk/internal/joptsimple/OptionSpecVisitor.java.i
+data/src/share/classes/sun/security/x509/X400Address.java.i
data/src/solaris/classes/sun/awt/X11/XlibWrapper.java.i
-data/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java.i
-data/src/windows/classes/java/io/Win32FileSystem.java.i
-data/make/javax/rmi/ssl/Makefile.i
+data/src/share/classes/java/lang/annotation/Retention.java.i
+data/test/com/sun/crypto/provider/Cipher/DES/inputData/plain6.txt.i
+data/src/share/classes/sun/util/resources/CurrencyNames_ro_RO.properties.i
data/src/share/classes/sun/tools/jconsole/ProxyClient.java.i
-data/test/java/util/ResourceBundle/Test4318520RB_en.properties.i
+data/src/share/classes/sun/net/dns/ResolverConfiguration.java.i
data/src/share/native/java/net/net_util.h.i
data/src/solaris/doc/sun/man/man1/ja/schemagen.1.i
data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/Generator.java.i
data/make/sun/jpeg/reorder-sparc.i
data/test/javax/sound/midi/Gervill/RiffReaderWriter/GetSize.java.i
+data/src/share/classes/javax/swing/text/html/parser/ParserDelegator.java.i
data/test/java/beans/XMLEncoder/Test6501431.java.i
-data/test/java/util/concurrent/ConcurrentHashMap/MapLoops.java.i
+data/test/java/lang/reflect/Proxy/Basic1.java.i
data/make/netbeans/common/standard-actions.ent.i
-data/src/share/classes/com/sun/java/util/jar/pack/Instruction.java.i
+data/src/share/native/java/util/zip/zlib-1.2.5/README.i
data/src/share/classes/java/nio/charset/MalformedInputException.java.i
data/src/share/native/sun/awt/image/jpeg/jerror.c.i
-data/src/share/classes/sun/font/FontScaler.java.i
-data/src/share/classes/sun/management/StackTraceElementCompositeData.java.i
+data/src/share/classes/javax/swing/plaf/DesktopPaneUI.java.i
data/src/share/classes/sun/awt/PeerEvent.java.i
-data/make/com/sun/tracing/Makefile.i
+data/src/share/native/sun/java2d/cmm/lcms/cmsmd5.c.i
data/src/solaris/classes/sun/awt/X11/XCreateWindowParams.java.i
-data/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_4.java.i
-data/test/java/io/Serializable/nonserializable/ExceptionDetail.java.i
data/src/share/native/sun/font/layout/GlyphDefinitionTables.cpp.i
-data/src/share/classes/sun/misc/resources/Messages_it.java.i
-data/src/share/classes/javax/swing/text/doc-files/Document-coord.gif.i
-data/src/share/classes/sun/text/resources/FormatData_et_EE.java.i
+data/src/share/classes/com/sun/security/auth/SolarisPrincipal.java.i
+data/test/java/net/DatagramSocket/SetDatagramSocketImplFactory/java/net/MyDatagramSocketImplFactory.java.i
+data/src/share/classes/sun/text/resources/CollationData_sr_Latn.java.i
data/src/share/classes/java/awt/image/PixelInterleavedSampleModel.java.i
data/src/share/classes/sun/nio/cs/ext/JIS_X_0208_Decoder.java.i
data/test/java/security/Security/signedfirst/Static.props.i
data/test/java/io/DataOutputStream/WriteUTF.java.i
data/src/share/demo/jfc/CodePointIM/README_zh_CN.html.i
-data/src/share/lib/security/java.security.i
data/src/share/classes/sun/text/resources/CollationData_no.java.i
data/src/share/classes/javax/sound/midi/MetaEventListener.java.i
-data/src/share/classes/javax/xml/crypto/Data.java.i
data/src/share/classes/com/sun/net/httpserver/HttpContext.java.i
data/test/java/rmi/reliability/launch_reliability.ksh.i
data/test/java/util/jar/JarFile/SignedJarFileGetInputStream.java.i
data/test/com/sun/security/auth/login/ConfigFile/InnerClassConfig.config.i
-data/test/com/sun/nio/sctp/SctpMultiChannel/SocketOptionTests.java.i
data/src/share/classes/com/sun/rowset/internal/SyncResolverImpl.java.i
data/test/javax/swing/JFileChooser/6698013/bug6698013.java.i
-data/test/com/oracle/net/Sanity.java.i
+data/src/share/classes/sun/nio/cs/ext/DBCS_IBM_EBCDIC_Decoder.java.i
data/src/share/demo/jvmti/heapTracker/HeapTracker.java.i
data/test/java/security/UnresolvedPermission/DebugPermission2.java.i
-data/test/java/math/BigDecimal/MultiplyTests.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicMenuBarUI.java.i
data/src/share/classes/javax/script/Compilable.java.i
+data/test/java/net/InetAddress/WhiteSpaceHostTest.java.i
+data/test/java/beans/XMLEncoder/Test4646747.java.i
data/test/sun/net/www/protocol/jar/foo1.jar.i
data/src/share/classes/com/sun/jdi/IntegerType.java.i
data/src/share/classes/sun/java2d/pipe/PixelDrawPipe.java.i
data/src/share/back/ArrayReferenceImpl.h.i
-data/test/javax/sound/midi/Sequencer/SequencerImplicitSynthOpen.java.i
-data/src/share/native/sun/font/layout/LookupProcessor.cpp.i
+data/src/share/classes/javax/swing/border/StrokeBorder.java.i
+data/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageChannelExtract_f.c.i
data/src/share/classes/sun/security/krb5/internal/EncKrbPrivPart.java.i
data/src/share/classes/javax/swing/colorchooser/ColorModelHSV.java.i
data/src/share/classes/com/sun/media/sound/SoftFilter.java.i
data/src/share/native/sun/security/pkcs11/j2secmod.h.i
data/src/share/classes/java/awt/KeyEventPostProcessor.java.i
-data/test/java/util/ResourceBundle/Control/BadControlsTest.java.i
-data/src/share/demo/nbproject/management/FullThreadDump/nbproject/file-targets.xml.i
+data/test/java/lang/Runtime/exec/ArgWithSpaceAndFinalBackslash.java.i
data/src/share/classes/java/net/BindException.java.i
data/src/share/native/sun/java2d/cmm/lcms/cmstypes.c.i
+data/test/com/sun/net/httpserver/Test5.java.i
data/src/share/sample/nio/file/FileType.java.i
data/src/share/classes/sun/io/ByteToCharGB18030DB.java.i
-data/test/java/io/Serializable/badSerialPersistentField/BadSerialPersistentField.java.i
-data/src/solaris/native/sun/nio/ch/DatagramDispatcher.c.i
+data/test/javax/print/LookupServices.java.i
data/src/share/classes/java/util/concurrent/ConcurrentNavigableMap.java.i
data/src/share/classes/javax/print/attribute/HashPrintRequestAttributeSet.java.i
data/test/java/util/Collections/Swap.java.i
data/test/java/nio/channels/DatagramChannel/UseDGWithIPv6.java.i
data/src/share/classes/javax/security/auth/kerberos/DelegationPermission.java.i
data/src/share/classes/sun/util/locale/LocaleExtensions.java.i
-data/src/share/classes/sun/io/CharToByteISO8859_5.java.i
+data/test/java/rmi/activation/Activatable/notSerializable/NotSerializable.java.i
data/src/share/classes/sun/security/x509/CertificateSubjectUniqueIdentity.java.i
data/src/share/native/sun/font/layout/LayoutEngine.h.i
data/test/java/util/Collections/MinMax.java.i
data/src/share/classes/java/io/UnsupportedEncodingException.java.i
-data/src/share/classes/sun/java2d/loops/GeneralRenderer.java.i
+data/make/modules/tools/src/com/sun/classanalyzer/AnnotationParser.java.i
data/src/share/classes/sun/reflect/UnsafeFieldAccessorFactory.java.i
data/src/share/classes/javax/swing/tree/MutableTreeNode.java.i
-data/src/share/classes/javax/swing/plaf/metal/MetalTextFieldUI.java.i
+data/src/share/classes/sun/security/x509/CertificateValidity.java.i
data/src/share/classes/sun/nio/cs/ext/IBM1112.java.i
-data/src/share/native/sun/font/layout/ContextualSubstSubtables.cpp.i
data/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ja.properties.i
data/test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java.i
data/src/linux/doc/man/jps.1.i
data/test/com/sun/jdi/RedefineClasses.sh.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_it.properties.i
+data/src/share/classes/com/sun/jndi/ldap/Ber.java.i
+data/src/windows/native/sun/windows/hand.cur.i
data/make/tools/swing-beans/beaninfo/images/JComboBoxMono16.gif.i
-data/test/com/sun/tools/attach/SimpleProvider.java.i
+data/test/sun/tools/native2ascii/N2A_4636448.expected.i
data/test/java/nio/channels/SocketChannel/SocketOptionTests.java.i
data/test/java/rmi/activation/Activatable/checkAnnotations/group.security.policy.i
data/src/share/classes/javax/swing/plaf/OptionPaneUI.java.i
-data/src/share/classes/java/io/LineNumberInputStream.java.i
+data/test/javax/swing/JInternalFrame/6726866/bug6726866.html.i
data/src/share/native/sun/font/layout/CursiveAttachmentSubtables.h.i
-data/make/tools/swing-beans/beaninfo/images/JPanelColor16.gif.i
+data/src/share/classes/com/sun/tools/example/debug/tty/MalformedMemberNameException.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiDesktopPaneUI.java.i
data/src/share/demo/jfc/SampleTree/README.txt.i
data/test/java/awt/dnd/FileListBetweenJVMsTest/InterprocessMessages.java.i
+data/test/sun/management/jmxremote/bootstrap/management_ssltest10_ok.properties.in.i
data/test/sun/security/krb5/auto/OkAsDelegateXRealm.java.i
data/make/netbeans/common/demo-sources.ent.i
data/src/share/classes/sun/io/ByteToCharConverter.java.i
data/src/share/classes/sun/nio/cs/ext/MS874.java.i
data/make/tools/swing-beans/beaninfo/images/JColorChooserMono16.gif.i
-data/test/java/beans/XMLEncoder/4741757/TestStackOverflow.java.i
+data/make/modules/jdk.boot.ls.i
data/src/share/classes/sun/util/resources/LocaleNames_it.properties.i
data/src/share/sample/jmx/jmx-scandir/src/etc/password.properties.i
data/src/windows/native/sun/java2d/d3d/D3DGraphicsDevice.h.i
data/src/share/native/sun/font/layout/IndicLayoutEngine.cpp.i
+data/src/share/native/java/util/concurrent/atomic/AtomicLong.c.i
data/test/java/util/Collections/ViewSynch.java.i
-data/test/com/sun/jdi/ConnectedVMs.java.i
+data/src/share/classes/java/security/spec/ECField.java.i
data/src/share/classes/sun/font/FontRunIterator.java.i
-data/src/windows/classes/com/sun/tools/jdi/SharedMemoryAttachingConnector.java.i
-data/src/share/classes/java/awt/peer/LabelPeer.java.i
+data/src/linux/doc/man/servertool.1.i
+data/test/javax/management/remote/mandatory/connectorServer/ConnectorStopDeadlockTest.java.i
data/test/javax/swing/border/Test4252164.java.i
-data/test/java/awt/FullScreen/NoResizeEventOnDMChangeTest/NoResizeEventOnDMChangeTest.java.i
-data/src/share/classes/javax/sound/sampled/Line.java.i
-data/src/share/classes/com/sun/jmx/snmp/SnmpMsg.java.i
+data/src/share/sample/nio/server/ChannelIOSecure.java.i
data/test/sun/nio/cs/TestUTF_32.java.i
-data/test/java/awt/event/MouseEvent/AWTPanelSmoothWheel/AWTPanelSmoothWheel.html.i
+data/src/share/classes/com/sun/jndi/rmi/registry/RegistryContextFactory.java.i
data/src/share/classes/java/text/EntryPair.java.i
data/src/solaris/classes/sun/awt/X11/keysym2ucs.h.i
data/src/windows/native/sun/windows/awt_MenuBar.h.i
data/src/share/classes/sun/security/jgss/spnego/NegTokenTarg.java.i
data/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_4.java.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/icons/FloppyDrive.gif.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/package.html.i
data/src/share/classes/sun/security/jgss/krb5/CipherHelper.java.i
data/src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java.i
data/src/solaris/classes/sun/awt/X11/doc-files/Modality.txt.i
-data/src/share/back/standardHandlers.h.i
-data/src/share/classes/java/lang/annotation/ElementType.java.i
+data/src/share/classes/java/lang/module/package-info.java.i
+data/src/share/classes/org/ietf/jgss/GSSContext.java.i
data/test/java/nio/file/attribute/BasicFileAttributeView/Basic.java.i
data/src/share/native/com/sun/tools/jdi/SharedMemory.h.i
data/src/share/classes/sun/security/provider/DSAParameterGenerator.java.i
data/test/sun/security/util/Resources/Format.java.i
data/test/com/sun/crypto/provider/Cipher/Blowfish/BlowfishTestVector.java.i
data/src/share/classes/com/sun/jmx/remote/util/OrderClassLoaders.java.i
-data/test/java/awt/xembed/server/TestXEmbedServerJava.java.i
+data/test/com/sun/jdi/AllLineLocations.java.i
+data/src/share/classes/sun/java2d/InvalidPipeException.java.i
data/test/sun/tools/jstat/jstatGcNewOutput1.sh.i
-data/src/share/classes/java/awt/event/ActionListener.java.i
+data/src/share/classes/com/sun/jndi/rmi/registry/ReferenceWrapper.java.i
data/src/share/classes/sun/jvmstat/monitor/HostIdentifier.java.i
+data/src/share/native/sun/security/ec/impl/ec2.h.i
data/src/share/classes/com/sun/net/ssl/package.html.i
data/src/share/classes/com/sun/media/sound/SoftCubicResampler.java.i
-data/src/share/classes/java/text/RuleBasedBreakIterator.java.i
+data/test/sun/security/pkcs11/sslecc/CipherTest.java.i
+data/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties.i
data/src/share/demo/applets/SortDemo/BidirBubbleSortAlgorithm.java.i
data/test/sun/java2d/cmm/ColorConvertOp/PYCC.png.i
data/src/share/classes/javax/swing/plaf/metal/MetalScrollPaneUI.java.i
data/src/solaris/native/sun/security/pkcs11/j2secmod_md.c.i
-data/test/java/awt/Dialog/DialogOverflowSizeTest/DialogSizeOverflowTest.java.i
+data/test/java/rmi/transport/handshakeTimeout/HandshakeTimeout.java.i
data/src/solaris/doc/sun/man/man1/ja/jar.1.i
data/src/share/classes/javax/swing/plaf/basic/BasicSliderUI.java.i
-data/src/share/classes/sun/awt/datatransfer/DataTransferer.java.i
-data/src/share/classes/sun/util/resources/CalendarData.properties.i
data/make/tools/compile_font_config/Makefile.i
-data/src/share/classes/sun/java2d/opengl/OGLMaskBlit.java.i
+data/src/share/sample/nio/file/WatchDir.java.i
data/test/javax/management/Introspector/DuplicateGetterTest.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/StorageResolverException.java.i
data/src/windows/native/sun/windows/awt_Menu.h.i
-data/src/share/classes/sun/awt/AWTCharset.java.i
+data/src/solaris/bin/zero/jvm.cfg.i
data/src/share/classes/sun/awt/image/BufImgSurfaceData.java.i
-data/test/javax/crypto/Mac/NullMacSpi.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/CloseSocket.java.i
data/src/share/classes/sun/misc/UCEncoder.java.i
data/test/java/lang/ClassLoader/package1/Class1.java.i
data/test/java/awt/Frame/ShownOffScreenOnWin98/ShownOffScreenOnWin98Test.java.i
-data/src/share/classes/sun/font/NullFontScaler.java.i
+data/src/share/classes/javax/print/URIException.java.i
data/make/tools/CharsetMapping/ISO_8859_13.map.i
-data/test/java/rmi/activation/ActivationGroup/downloadActivationGroup/group.security.policy.i
+data/src/solaris/doc/sun/man/man1/jcmd.1.i
data/src/share/classes/java/security/spec/EllipticCurve.java.i
-data/test/sun/net/www/http/HttpClient/IsKeepingAlive.java.i
+data/src/windows/native/java/net/NetworkInterface.h.i
data/make/java/applet/Makefile.i
-data/src/share/native/sun/awt/image/cvutils/img_output16_32.h.i
+data/src/share/classes/java/text/Format.java.i
+data/test/java/lang/instrument/BigClass.java.i
data/src/share/native/sun/font/layout/LigatureSubstProc.h.i
data/test/sun/rmi/rmic/newrmic/equivalence/OrangeEcho.java.i
+data/make/tools/CharsetMapping/IBM420.nr.i
data/src/share/native/java/util/zip/zlib-1.1.3/README.i
data/test/com/sun/jdi/Unload2Targ.java.i
data/test/java/rmi/server/RMIClassLoader/useCodebaseOnly/Foo.java.i
@@ -10964,111 +11034,106 @@ data/src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.j
data/make/sun/cmm/kcms/FILES_c_unix.gmk.i
data/test/sun/security/tools/jarsigner/newsize7.sh.i
data/src/share/native/sun/awt/image/cvutils/img_colors.h.i
-data/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn.java.i
-data/src/share/classes/javax/naming/event/NamingEvent.java.i
+data/test/java/util/ResourceBundle/Control/Chinese_zh.properties.i
+data/test/java/lang/instrument/AppendToBootstrapClassPathTest.java.i
data/test/sun/management/jmxremote/bootstrap/jmxremote_ssltest06_ok.password.in.i
-data/src/share/classes/org/jcp/xml/dsig/internal/MacOutputStream.java.i
+data/src/share/classes/javax/naming/event/package.html.i
data/test/java/lang/ThreadGroup/Stop.java.i
-data/test/java/beans/Introspector/Test6277246.java.i
+data/make/com/sun/security/auth/FILES_java.gmk.i
data/test/java/lang/ClassLoader/deadlock/DelegatingLoader.java.i
data/src/share/classes/javax/swing/text/ElementIterator.java.i
-data/test/com/sun/security/auth/login/ConfigFile/Override.props.i
+data/make/tools/src/build/tools/charsetmapping/DBCS.java.i
data/test/java/util/logging/ClassLoaderLeakTest.java.i
data/src/share/native/java/util/zip/zlib-1.1.3/zutil.c.i
-data/test/java/nio/file/WatchService/Basic.java.i
+data/test/javax/sound/sampled/AudioFormat/PCM_FLOAT_support.java.i
data/src/share/classes/sun/launcher/resources/launcher_sv.properties.i
data/test/sun/tools/jstat/jstatFileURITest1.sh.i
-data/src/windows/native/sun/nio/ch/SocketChannelImpl.c.i
+data/test/com/sun/management/HotSpotDiagnosticMXBean/DumpHeap.java.i
data/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties.i
data/src/share/classes/sun/awt/EventListenerAggregate.java.i
data/src/share/classes/com/sun/tracing/dtrace/ModuleAttributes.java.i
data/test/java/io/File/GetXSpace.java.i
data/src/share/classes/sun/tools/jstat/Operator.java.i
data/src/share/classes/sun/print/PathGraphics.java.i
-data/src/share/demo/applets/GraphicsTest/GraphicsTest.java.i
-data/make/tools/CharsetMapping/MacArabic.map.i
+data/test/sun/net/www/http/HttpClient/RetryPost.sh.i
+data/src/share/classes/javax/swing/plaf/basic/BasicButtonUI.java.i
data/src/share/classes/sun/nio/ch/SocketOpts.java.i
data/src/share/classes/sun/font/StrikeCache.java.i
data/test/java/lang/reflect/Method/GenericStringTest.java.i
data/src/windows/classes/sun/security/mscapi/RSAKeyPair.java.i
-data/src/share/classes/com/sun/jmx/snmp/SnmpEngine.java.i
+data/src/share/classes/javax/swing/plaf/metal/icons/ocean/paletteClose.gif.i
data/src/share/classes/sun/management/AgentConfigurationError.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMUtils.java.i
-data/src/share/native/sun/java2d/cmm/lcms/icc34.h.i
+data/src/share/classes/sun/rmi/rmic/RemoteClass.java.i
data/src/share/classes/javax/management/Descriptor.java.i
-data/test/javax/sound/midi/Gervill/ModelStandardIndexedDirector/ModelStandardIndexedDirectorTest.java.i
-data/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetPropertyInfo.java.i
+data/make/sun/cmm/kcms/FILES_c_windows.gmk.i
data/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedInt.java.i
data/test/sun/tools/jstatd/jpsOutput1.awk.i
data/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java.i
data/src/share/classes/sun/swing/FilePane.java.i
-data/test/javax/security/auth/kerberos/KerberosTixDateTest.java.i
-data/make/java/main/java/mapfile-amd64.i
-data/src/share/classes/com/sun/jndi/toolkit/dir/DirSearch.java.i
-data/test/java/rmi/activation/Activatable/restartService/RestartService_Stub.java.i
+data/src/share/classes/sun/io/CharToByteBig5_Solaris.java.i
+data/src/share/classes/sun/jkernel/StandaloneByteArrayAccess.java.i
+data/test/java/util/concurrent/ConcurrentQueues/LoopHelpers.java.i
data/src/share/classes/com/sun/crypto/provider/SymmetricCipher.java.i
-data/test/java/util/concurrent/DelayQueue/Stress.java.i
+data/src/share/classes/com/sun/media/sound/ModelStandardDirector.java.i
data/test/sun/nio/cs/OLD/TestIBMDB.java.i
-data/test/java/security/cert/CertPathValidator/indirectCRL/README.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/package.html.i
-data/src/share/classes/com/sun/security/sasl/ClientFactoryImpl.java.i
+data/src/share/native/java/util/zip/zlib-1.1.3/deflate.h.i
data/test/java/util/ResourceBundle/Bug4168625Resource3_en_US.java.i
-data/test/com/sun/security/auth/login/ConfigFile/PropertyExpansion.java.i
+data/src/share/classes/sun/awt/im/CompositionArea.java.i
data/test/com/sun/net/httpserver/Test4.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/ArgumentList.java.i
-data/src/share/classes/sun/tools/jconsole/LabeledComponent.java.i
+data/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/test.html.i
data/test/sun/text/resources/Collator/Bug4248694.java.i
data/make/tools/classanalyzer/src/com/sun/classanalyzer/ResourceFile.java.i
data/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageWriter.java.i
data/test/java/awt/Focus/RequestFocusToDisabledCompTest/RequestFocusToDisabledCompTest.java.i
-data/src/share/classes/com/sun/tools/jdi/InterfaceTypeImpl.java.i
data/src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileAttributeView.java.i
data/test/sun/security/pkcs11/rsa/GenKeyStore.java.i
data/src/share/classes/sun/net/URLCanonicalizer.java.i
data/test/java/util/Collections/Frequency.java.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/TestPreciseTimestampRendering.java.i
data/src/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java.i
-data/src/share/classes/sun/text/resources/FormatData_zh_CN.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsMenuItemUI.java.i
-data/src/share/classes/javax/swing/JSlider.java.i
-data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/MyX509ExtendedKeyManager.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementChecker.java.i
+data/src/share/classes/javax/imageio/plugins/jpeg/JPEGImageReadParam.java.i
data/make/tools/swing-beans/beaninfo/images/JFileChooserMono32.gif.i
data/make/tools/src/build/tools/jdwpgen/AbstractSimpleNode.java.i
data/test/javax/management/namespace/EventWithNamespaceTest.java.i
-data/test/java/rmi/server/RMIClassLoader/downloadArrayClass/DownloadArrayClass.java.i
-data/test/java/beans/Introspector/TestTypeResolver.java.i
+data/test/javax/swing/JScrollPane/6559589/bug6559589.java.i
+data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMInformCommunity.java.i
data/src/share/classes/java/beans/PropertyEditorSupport.java.i
data/src/share/classes/sun/font/FontDesignMetrics.java.i
data/src/windows/classes/sun/awt/windows/WListPeer.java.i
-data/src/share/classes/javax/management/loading/PrivateClassLoader.java.i
+data/make/jpda/expr/Makefile.i
data/test/java/util/Locale/Bug4175998Test.java.i
-data/src/share/native/sun/security/ec/ec2_233.c.i
+data/make/com/sun/jndi/cosnaming/Makefile.i
+data/src/share/classes/sun/text/resources/FormatData_de_LU.java.i
data/src/share/classes/java/awt/event/MouseListener.java.i
data/src/share/classes/sun/tools/tree/ContinueStatement.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmMemGCEntryMeta.java.i
data/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java.i
data/src/share/classes/sun/jvmstat/monitor/Units.java.i
data/test/java/security/KeyRep/PBE.pre.1.5.key.i
-data/test/javax/management/descriptor/ImmutableArrayFieldTest.java.i
+data/test/com/sun/jdi/ShutdownDebuggee.java.i
data/src/share/classes/sun/util/resources/LocaleNames_uk.properties.i
data/src/share/classes/com/sun/jdi/connect/Connector.java.i
-data/src/share/classes/javax/script/package.html.i
+data/test/java/net/URLClassLoader/getresourceasstream/Test.java.i
data/src/share/classes/com/sun/security/sasl/ntlm/NTLMClient.java.i
+data/test/java/lang/reflect/Method/invoke/ErrorInInvoke.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_el_CY.properties.i
-data/make/sun/launcher/Makefile.i
-data/ASSEMBLY_EXCEPTION.i
+data/src/share/classes/com/sun/security/auth/module/UnixSystem.java.i
+data/make/netbeans/awt2d/nbproject/project.xml.i
data/src/share/classes/sun/io/ByteToCharUTF16.java.i
data/src/share/classes/java/lang/Iterable.java.i
data/test/java/net/Socket/ReadTimeout.java.i
data/make/tools/src/build/tools/javazic/ZoneRec.java.i
+data/src/share/classes/com/sun/jmx/snmp/tasks/Task.java.i
data/src/share/native/sun/awt/medialib/mlib_sys_proto.h.i
-data/src/share/classes/sun/jvmstat/monitor/remote/RemoteVm.java.i
-data/src/share/classes/java/awt/datatransfer/Clipboard.java.i
-data/src/share/sample/scripting/scriptpad/build.xml.i
+data/src/share/classes/com/sun/jmx/snmp/agent/SnmpErrorHandlerAgent.java.i
+data/src/share/classes/java/text/DontCareFieldPosition.java.i
data/src/share/classes/sun/tools/tree/VarDeclarationStatement.java.i
-data/src/share/transport/socket/socketTransport.c.i
data/src/share/demo/jvmti/minst/minst.c.i
-data/src/share/classes/com/sun/jdi/connect/ListeningConnector.java.i
data/src/share/classes/com/sun/jndi/ldap/AbstractLdapNamingEnumeration.java.i
data/src/share/classes/sun/security/pkcs11/KeyCache.java.i
data/test/java/util/Collections/ReverseOrder.java.i
@@ -11076,7 +11141,6 @@ data/test/java/awt/Component/PrintAllXcheckJNI/PrintAllXcheckJNI.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java.i
data/make/tools/src/build/tools/jdwpgen/LocationTypeNode.java.i
data/src/share/classes/javax/swing/text/ChangedCharSetException.java.i
-data/src/share/native/sun/awt/medialib/mlib_c_ImageBlendTable.h.i
data/test/org/openjdk/jigsaw/optional-jaxp.sh.i
data/src/share/native/sun/font/bidi/jbidi.c.i
data/test/java/nio/file/Files/SimpleFileTypeDetector.java.i
@@ -11085,7 +11149,8 @@ data/test/java/nio/channels/AsynchronousSocketChannel/Leaky.java.i
data/test/java/beans/XMLDecoder/spec/TestTrue.java.i
data/make/tools/CharsetMapping/IBM1149.map.i
data/src/share/classes/sun/io/CharToByteISO2022.java.i
-data/src/share/classes/sun/security/jgss/krb5/MicToken_v2.java.i
+data/test/com/sun/management/HotSpotDiagnosticMXBean/ExecuteDiagnosticCommand.java.i
+data/src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.cpp.i
data/test/java/net/DatagramSocket/ImplicitBind.java.i
data/src/share/classes/javax/print/event/PrintJobEvent.java.i
data/src/share/classes/sun/io/ByteToCharCp864.java.i
@@ -11094,26 +11159,27 @@ data/src/share/classes/sun/tools/tree/PositiveExpression.java.i
data/src/share/classes/com/sun/jdi/InvocationException.java.i
data/src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/InvalidateServerSessionRenegotiate.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/UnsyncBufferedOutputStream.java.i
+data/test/javax/security/auth/login/LoginContext/ConfigConstructorNoPerm.java.i
data/test/java/rmi/MarshalledObject/compare/HashCode.java.i
data/test/sun/security/krb5/auto/SpnegoReqFlags.java.i
data/src/share/demo/jvmti/hprof/hprof_loader.h.i
-data/test/java/io/Serializable/proxy/replace/WriteReplace.java.i
+data/test/com/sun/net/httpserver/bugs/B6393710.java.i
data/src/share/classes/com/sun/tools/example/debug/bdi/EventRequestSpecList.java.i
data/test/java/io/charStreams/UTF8.java.i
data/src/share/classes/javax/script/SimpleBindings.java.i
data/test/java/util/AbstractCollection/ToString.java.i
+data/test/java/util/Locale/serialized/java6locale_iw_IL.i
data/test/java/io/RandomAccessFile/Seek.java.i
-data/test/java/security/cert/CertificateFactory/GenerateCertificatesEmptyCollection.java.i
+data/src/share/classes/sun/rmi/transport/tcp/MultiplexInputStream.java.i
data/test/java/security/BasicPermission/NullOrEmptyName.java.i
data/src/share/native/sun/java2d/opengl/OGLTextRenderer.h.i
+data/test/sun/security/provider/PolicyParser/EncodeURL.java.i
data/test/javax/swing/JSlider/4987336/bug4987336.html.i
data/test/com/sun/security/sasl/gsskerb/PropertiesFileCallbackHandler.java.i
-data/src/share/classes/javax/swing/event/ListSelectionListener.java.i
-data/test/sun/security/tools/keytool/file-in-help.sh.i
+data/src/solaris/sample/dtrace/hotspot/method_compile_stat.d.i
+data/src/share/classes/com/sun/media/sound/services/javax.sound.sampled.spi.AudioFileWriter.i
data/src/share/classes/com/sun/java/util/jar/pack/Attribute.java.i
-data/src/share/classes/com/sun/jdi/request/MonitorContendedEnteredRequest.java.i
-data/src/share/classes/com/sun/jmx/snmp/internal/SnmpSecurityCache.java.i
+data/make/com/sun/security/sasl/Makefile.i
data/src/share/native/sun/awt/giflib/gif_lib.h.i
data/test/java/rmi/reliability/benchmark/bench/rmi/ExceptionCalls.java.i
data/src/share/demo/scripting/jconsole-plugin/src/scripts/invoke.js.i
@@ -11121,42 +11187,42 @@ data/src/share/classes/java/lang/ref/SoftReference.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicToolBarSeparatorUI.java.i
data/src/share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceTableMetaImpl.java.i
data/src/share/classes/javax/swing/plaf/MenuItemUI.java.i
-data/test/sun/net/InetAddress/nameservice/chaining/Providers.java.i
data/src/share/classes/com/sun/rowset/JoinRowSetImpl.java.i
data/src/share/classes/javax/management/remote/JMXConnectorServerMBean.java.i
data/src/share/demo/nbproject/management/MemoryMonitor/nbproject/file-targets.xml.i
data/src/share/native/sun/font/layout/LayoutTables.h.i
data/test/sun/security/pkcs11/nss/lib/solaris-i586/libsoftokn3.so.d
+data/test/javax/security/auth/x500/X500Principal/RFC4514.java.i
data/src/share/classes/java/sql/SQLTransientException.java.i
data/test/sun/security/pkcs11/nss/lib/solaris-i586/libsoftokn3.so.i
-data/test/org/openjdk/jigsaw/ContextBuilder.java.i
-data/src/share/demo/nbproject/jfc/Font2DTest/nbproject/netbeans-targets.xml.i
-data/make/tools/swing-beans/beaninfo/images/JRadioButtonMono16.gif.i
+data/src/share/classes/sun/security/provider/DSAPrivateKey.java.i
+data/src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_de.properties.i
data/make/tools/CharsetMapping/IBM869.map.i
-data/test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh.i
+data/src/share/classes/sun/awt/image/ImageFetcher.java.i
data/src/share/classes/java/awt/Image.java.i
data/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_TW.properties.i
data/src/solaris/classes/sun/font/XRGlyphCache.java.i
-data/make/netbeans/swing/build.properties.i
data/src/share/classes/sun/security/x509/PolicyInformation.java.i
data/src/share/classes/com/sun/tools/example/debug/gui/SourceManager.java.i
-data/test/sun/net/www/protocol/http/UserCookie.java.i
+data/test/java/beans/XMLEncoder/6777487/TestCheckedCollection.java.i
data/test/sun/security/provider/PolicyFile/TokenStore.RelPassPolicy.i
data/src/solaris/classes/sun/awt/X11/XPropertyCache.java.i
data/make/tools/swing-beans/beaninfo/images/JScrollPaneColor16.gif.i
data/src/share/classes/com/sun/tools/example/debug/tty/EventRequestSpecList.java.i
data/test/javax/sound/midi/Gervill/SoftAudioBuffer/NewSoftAudioBuffer.java.i
data/test/java/nio/Buffer/genCopyDirectMemory.sh.i
-data/test/sun/tools/jstat/jstatSnap2.sh.i
+data/src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java.i
data/src/share/classes/javax/naming/Context.java.i
data/test/java/beans/Introspector/4520754/Test4520754.java.i
data/test/javax/xml/crypto/dsig/SignatureValidator.java.i
data/src/share/classes/java/util/concurrent/Executor.java.i
data/src/share/classes/com/sun/media/sound/services/javax.sound.sampled.spi.FormatConversionProvider.i
-data/src/share/classes/sun/misc/Compare.java.i
+data/src/share/classes/java/lang/reflect/InvocationHandler.java.i
+data/src/share/lib/images/cursors/invalid32x32.gif.i
data/src/share/classes/java/lang/management/ManagementFactory.java.i
-data/src/share/demo/management/JTop/JTopPlugin.java.i
+data/test/sun/security/pkcs11/nss/lib/solaris-i586/libnss3.so.i
data/src/share/classes/sun/tools/tree/SynchronizedStatement.java.i
+data/src/share/native/sun/java2d/cmm/lcms/cmslut.c.i
data/src/share/classes/sun/nio/cs/ext/IBM1006.java.i
data/make/tools/CharsetMapping/IBM942.map.i
data/src/share/classes/java/awt/image/ImageProducer.java.i
@@ -11164,24 +11230,24 @@ data/src/share/classes/javax/imageio/stream/ImageInputStreamImpl.java.i
data/src/share/native/sun/awt/libpng/pngget.c.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyInfo.java.i
data/test/sun/nio/cs/Test4206507.java.i
+data/test/java/lang/instrument/TransformerManagementThreadAddTests.java.i
data/test/java/beans/XMLEncoder/javax_swing_border_MatteBorder.java.i
-data/src/share/classes/javax/sound/midi/Track.java.i
+data/src/share/classes/sun/text/resources/CollationData_es.java.i
data/src/windows/classes/sun/awt/Win32FontManager.java.i
data/src/share/classes/java/lang/ref/ReferenceQueue.java.i
data/src/share/native/sun/font/layout/TibetanReordering.h.i
data/test/java/io/Serializable/classDescFlagConflict/Foo.ser.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/Constants.java.i
data/test/java/beans/XMLEncoder/java_util_Collections_SingletonList.java.i
-data/src/share/classes/java/util/Calendar.java.i
data/test/java/util/ResourceBundle/Control/MissingResourceCauseTest.java.i
-data/test/java/awt/FontClass/FontAccess.java.i
+data/test/javax/management/remote/mandatory/loading/DeserializeEncodedURLTest.java.i
data/src/windows/native/sun/windows/awt_InputEvent.cpp.i
data/test/java/net/ipv6tests/BadIPv6Addresses.java.i
-data/src/share/native/sun/awt/image/imageInitIDs.h.i
+data/test/com/sun/jdi/FetchLocals.java.i
data/test/java/security/cert/CertificateFactory/openssl/BadFooter.java.i
-data/test/java/lang/StackTraceElement/PublicConstructor.java.i
-data/src/share/classes/com/sun/crypto/provider/DESKeyGenerator.java.i
-data/src/solaris/classes/sun/net/spi/SdpProvider.java.i
+data/src/share/classes/sun/util/resources/CalendarData_zh.properties.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/InvalidCanonicalizerException.java.i
+data/src/solaris/sample/dtrace/hotspot/class_loading_stat.d.i
data/src/share/demo/applets/WireFrame/models/dinasaur.obj.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/dnsstore.i
data/src/solaris/classes/sun/awt/X11/XKeysym.java.i
@@ -11189,15 +11255,15 @@ data/src/share/classes/sun/io/ByteToCharISO8859_2.java.i
data/src/share/classes/com/sun/crypto/provider/FeedbackCipher.java.i
data/src/share/classes/sun/nio/cs/ISO_8859_15.java.i
data/test/java/io/OutputStreamWriter/Encode.java.i
-data/test/java/nio/channels/Selector/BasicAccept.java.i
-data/src/share/classes/sun/applet/AppletImageRef.java.i
+data/src/share/classes/java/text/AttributedCharacterIterator.java.i
+data/make/mkdemo/jvmti/heapViewer/Makefile.i
data/test/javax/swing/plaf/basic/BasicSplitPaneUI/Test6657026.java.i
-data/test/sun/tools/jstat/classOutput1.awk.i
-data/src/share/classes/javax/sound/midi/spi/MidiFileWriter.java.i
+data/test/sun/security/provider/PolicyFile/AliasExpansion.java.i
data/test/java/rmi/testlibrary/RegistryRunner_Stub.java.i
-data/test/javax/swing/GroupLayout/6613904/bug6613904.java.i
+data/src/share/classes/com/sun/jndi/url/rmi/rmiURLContextFactory.java.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/v1_0/BasicType.java.i
data/src/share/classes/com/sun/awt/SecurityWarning.java.i
+data/src/share/native/java/lang/fdlibm/src/w_exp.c.i
data/test/java/awt/Focus/FocusTraversalPolicy/DefaultFTPTest.java.i
data/src/share/classes/javax/sound/midi/Sequencer.java.i
data/test/sun/net/www/protocol/http/B6299712.java.i
@@ -11206,10 +11272,10 @@ data/src/share/classes/sun/rmi/transport/DGCImpl.java.i
data/src/share/classes/com/sun/security/sasl/PlainClient.java.i
data/src/share/demo/nbproject/jfc/Notepad/build.xml.i
data/src/share/classes/com/sun/jndi/url/dns/dnsURLContextFactory.java.i
-data/src/share/classes/javax/crypto/ExemptionMechanismSpi.java.i
-data/src/share/classes/javax/sound/sampled/AudioFileFormat.java.i
-data/src/share/classes/com/sun/media/sound/SoftSincResampler.java.i
-data/src/share/classes/sun/misc/ProxyGenerator.java.i
+data/src/share/classes/com/sun/jmx/snmp/agent/SnmpGenericMetaServer.java.i
+data/src/share/classes/com/sun/media/sound/ModelOscillatorStream.java.i
+data/src/share/classes/java/dyn/MethodType.java.i
+data/src/windows/native/sun/windows/awt_Insets.cpp.i
data/src/share/classes/sun/tools/jconsole/resources/masthead-right.png.i
data/test/java/rmi/server/UnicastRemoteObject/useDynamicProxies/UseDynamicProxies.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTestHeyYou.java.i
@@ -11219,18 +11285,17 @@ data/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java.i
data/src/share/classes/java/awt/im/spi/package.html.i
data/src/share/classes/javax/security/auth/callback/package.html.i
data/test/javax/management/mxbean/ComparatorExceptionTest.java.i
-data/src/share/classes/sun/tools/jconsole/CreateMBeanDialog.java.i
data/test/java/io/charStreams/StringConvert.java.i
data/src/share/classes/java/io/ExpiringCache.java.i
data/src/windows/native/sun/windows/awtmsg.h.i
data/test/com/sun/awt/SecurityWarning/GetSizeShouldNotReturnZero.java.i
data/src/share/classes/sun/security/jgss/wrapper/NativeGSSFactory.java.i
-data/make/tools/strip_properties/Makefile.i
+data/test/java/awt/GridLayout/LayoutExtraGaps/LayoutExtraGaps.java.i
data/test/java/net/DatagramSocket/SetReceiveBufferSize.java.i
data/src/solaris/native/sun/nio/fs/SolarisWatchService.c.i
data/make/com/sun/java/pack/FILES_cpp.gmk.i
data/src/share/npt/README.txt.i
-data/test/java/util/concurrent/DelayQueue/Iterate.java.i
+data/src/share/classes/sun/security/x509/CRLReasonCodeExtension.java.i
data/src/share/classes/javax/print/attribute/standard/JobStateReason.java.i
data/test/com/sun/security/sasl/names.properties.i
data/src/share/classes/javax/print/attribute/standard/JobState.java.i
@@ -11240,48 +11305,50 @@ data/src/share/classes/com/sun/jmx/snmp/SnmpStatusException.java.i
data/test/java/beans/Introspector/4520754/infos/ComponentBeanInfo.java.i
data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsCreateSockTest.java.i
data/test/javax/management/mxbean/MXBeanTest.java.i
-data/make/common/Defs-modules.gmk.i
+data/test/java/lang/instrument/StressGetObjectSizeTest.sh.i
data/src/solaris/classes/sun/awt/X11/XEmbeddedFrame.java.i
data/test/java/util/zip/ZipFile/EnumAfterClose.java.i
data/src/share/classes/sun/security/krb5/internal/ASRep.java.i
data/make/com/sun/security/jgss/Makefile.i
data/src/share/native/com/sun/media/sound/PortMixerProvider.c.i
data/test/com/sun/jdi/JdbVarargsTest.sh.i
-data/src/share/classes/javax/print/event/package.html.i
+data/src/share/classes/sun/text/resources/CollationData_vi.java.i
+data/src/share/classes/com/sun/tracing/ProbeName.java.i
data/test/java/rmi/activation/CommandEnvironment/security.policy.i
data/src/solaris/classes/sun/awt/X11/generator/sizes.64-solaris-i386.i
data/src/share/classes/java/util/logging/Handler.java.i
-data/test/java/lang/Throwable/LocalizedMessage.java.i
-data/test/com/sun/security/sasl/pw.properties.i
-data/src/share/classes/com/sun/java/swing/plaf/motif/icons/image-delayed.png.i
+data/src/share/demo/java2d/J2DBench/README.i
+data/src/share/classes/sun/tools/tree/BinaryExpression.java.i
+data/src/share/classes/java/rmi/package.html.i
data/src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_zh_CN.properties.i
data/src/share/native/java/util/zip/zlib-1.2.3/zutil.c.i
data/src/share/back/ClassLoaderReferenceImpl.c.i
data/src/share/classes/sun/security/jca/ProviderConfig.java.i
-data/src/share/classes/sun/dyn/ToGeneric.java.i
+data/make/sun/nio/cs/Makefile.i
data/src/share/classes/java/awt/doc-files/FocusCycle.gif.i
data/src/solaris/classes/sun/awt/motif/java.fonts.dir.i
data/test/tools/pack200/Pack200Test.java.i
+data/test/org/openjdk/jigsaw/cli/jmod-basic.sh.i
data/test/java/nio/charset/coders/IOCoders.java.i
-data/src/share/native/sun/awt/libpng/pngrutil.c.i
+data/src/share/classes/sun/java2d/Surface.java.i
data/src/share/classes/javax/swing/plaf/metal/sounds/OptionPaneError.wav.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/GoodProvider.java.i
-data/src/share/classes/java/util/concurrent/CancellationException.java.i
+data/src/share/classes/sun/rmi/rmic/IndentingWriter.java.i
+data/src/linux/doc/man/schemagen.1.i
data/test/java/io/RandomAccessFile/WriteUTF.java.i
data/src/share/native/sun/awt/image/jpeg/jccolor.c.i
data/src/share/classes/sun/management/counter/StringCounter.java.i
data/test/java/net/CookieHandler/CookieManagerTest.java.i
-data/make/tools/src/build/tools/jdwpgen/CommentNode.java.i
-data/test/java/net/Inet6Address/IPv6Numeric.java.i
+data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/README.i
+data/src/solaris/native/sun/nio/ch/DatagramDispatcher.c.i
data/src/share/native/sun/font/layout/MarkToLigaturePosnSubtables.h.i
-data/src/share/classes/java/rmi/server/ServerNotActiveException.java.i
data/src/windows/native/sun/windows/awt_PopupMenu.h.i
data/make/sun/cmm/kcms/Makefile.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/AliasFileParser.java.i
data/src/share/classes/javax/swing/plaf/nimbus/Effect.java.i
-data/test/java/io/File/GetParent.java.i
+data/src/share/classes/com/sun/jmx/snmp/SnmpGauge.java.i
data/test/java/net/URL/jar_urls.i
data/test/sun/security/tools/jarsigner/Test4431684.java.i
+data/test/sun/net/www/protocol/http/HttpOnly.java.i
data/test/java/io/FileInputStream/LargeFileAvailable.java.i
data/test/java/util/jar/JarInputStream/BadSignedJar.jar.i
data/src/share/classes/javax/print/attribute/standard/JobStateReasons.java.i
@@ -11291,59 +11358,53 @@ data/test/javax/sound/midi/Gervill/RiffReaderWriter/Read.java.i
data/src/solaris/classes/sun/awt/motif/X11GB18030_0.java.i
data/test/java/io/Serializable/typeSafeEnum/TypeSafeEnum.java.i
data/test/java/lang/invoke/CallSiteTest.java.i
-data/src/share/classes/java/net/URL.java.i
-data/src/solaris/classes/sun/awt/motif/MDropTargetContextPeer.java.i
-data/test/sun/security/pkcs11/KeyStore/BasicData/ca.key.i
-data/src/share/classes/javax/naming/NameClassPair.java.i
+data/test/java/util/Hashtable/SimpleSerialization.java.i
+data/src/share/classes/sun/text/resources/CollationData_cs.java.i
+data/src/share/classes/javax/script/ScriptContext.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageAffine_NN.c.i
data/src/share/native/sun/java2d/loops/DrawPath.h.i
data/src/solaris/native/sun/java2d/opengl/GLXGraphicsConfig.h.i
data/src/share/classes/java/awt/Label.java.i
data/src/windows/native/sun/java2d/d3d/D3DMaskCache.h.i
data/src/share/classes/javax/swing/plaf/basic/BasicSplitPaneDivider.java.i
-data/src/share/classes/sun/io/CharToByteHKSCS.java.i
+data/src/share/classes/com/sun/media/sound/AudioFloatInputStream.java.i
data/src/share/classes/sun/security/x509/PolicyConstraintsExtension.java.i
data/test/java/security/cert/CertPathValidatorException/Serial.java.i
-data/src/share/classes/javax/swing/plaf/nimbus/OuterGlowEffect.java.i
-data/test/java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html.i
+data/make/tools/CharsetMapping/IBM864.map.i
+data/test/java/util/jar/JarFile/MevNPE.java.i
data/src/share/classes/sun/text/resources/FormatData_it.java.i
-data/src/share/classes/sun/io/CharToByteISO2022CN_GB.java.i
+data/test/java/lang/instrument/MakeJAR4.sh.i
data/make/tools/sharing/classlist.windows.i
data/test/java/util/Locale/data/deflocale.win7.fmtasdefault.i
data/test/java/io/FileInputStream/OpenDir.java.i
-data/src/share/classes/sun/management/snmp/jvminstr/JvmMemManagerEntryImpl.java.i
+data/src/linux/doc/man/jstatd.1.i
data/src/share/classes/sun/tools/util/CommandLine.java.i
data/test/java/lang/instrument/PremainClass/ZeroArgPremainAgent.java.i
data/src/share/classes/javax/swing/plaf/ProgressBarUI.java.i
-data/test/java/awt/Window/TranslucentShapedFrameTest/TSFrame.java.i
-data/src/share/classes/java/util/BitSet.java.i
-data/test/java/util/concurrent/locks/ReentrantLock/TimeoutLockLoops.java.i
+data/src/share/classes/javax/swing/colorchooser/CenterLayout.java.i
+data/src/share/classes/sun/text/resources/FormatData_fr_LU.java.i
data/src/share/classes/sun/jvmstat/monitor/MonitorException.java.i
-data/src/share/demo/jfc/Font2DTest/Font2DTest.html.i
+data/test/java/awt/font/TextLayout/TestHebrewMark.java.i
data/src/solaris/classes/sun/java2d/UnixSurfaceManagerFactory.java.i
data/src/share/classes/javax/print/DocPrintJob.java.i
data/test/java/beans/Introspector/Test6868189.java.i
-data/test/sun/security/provider/PolicyParser/ExtDirs1.policy.i
-data/src/share/native/com/sun/media/sound/SoundDefs.h.i
-data/test/java/beans/Introspector/Test4498236.java.i
+data/src/share/native/sun/awt/image/jpeg/jidctred.c.i
+data/src/share/demo/management/FullThreadDump/ThreadMonitor.java.i
data/test/sun/security/provider/PolicyFile/Comparator.Principal.Policy.i
-data/src/share/classes/javax/swing/plaf/multi/package.html.i
+data/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java.i
data/test/java/awt/font/NumericShaper/EasternArabicTest.java.i
data/src/share/classes/javax/naming/ldap/LdapContext.java.i
data/test/java/net/InterfaceAddress/NetworkPrefixLength.java.i
-data/src/share/classes/com/sun/beans/finder/ClassFinder.java.i
+data/src/share/classes/sun/io/ByteToCharCp970.java.i
data/src/share/classes/javax/management/namespace/JMXRemoteNamespaceMBean.java.i
data/src/share/classes/java/awt/image/RGBImageFilter.java.i
-data/src/share/classes/sun/net/httpserver/LeftOverInputStream.java.i
data/src/share/classes/sun/security/ssl/SSLSessionContextImpl.java.i
data/src/windows/classes/sun/java2d/windows/Win32SurfaceDataProxy.java.i
data/test/sun/security/tools/keytool/resource.sh.i
-data/test/java/io/DataInputStream/ReadUTF.java.i
data/test/sun/nio/cs/OLD/IBM943_OLD.java.i
-data/src/share/classes/sun/management/snmp/jvminstr/JvmMemPoolTableMetaImpl.java.i
+data/src/share/classes/sun/util/resources/LocaleNames_th.properties.i
data/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java.i
-data/test/sun/nio/cs/SurrogateTestEUCTW.plane3.surrogates.i
-data/test/java/util/Collections/RotateEmpty.java.i
+data/test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorIntermediate.java.i
data/src/share/classes/java/awt/font/GlyphMetrics.java.i
data/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDTarget.java.i
data/test/java/security/Security/removing/RemoveProviders.java.i
@@ -11351,14 +11412,13 @@ data/test/java/rmi/activation/Activatable/downloadParameterClass/Bar.java.i
data/test/java/io/Serializable/subclass/run.sh.i
data/test/java/io/Writer/WriteParams.java.i
data/make/common/internal/Defs-jaxp.gmk.i
-data/test/sun/security/pkcs11/Cipher/TestRSACipherWrap.java.i
-data/test/sun/security/pkcs11/Provider/Login.sh.i
+data/src/share/javavm/export/jawt.h.i
data/src/share/classes/sun/net/spi/nameservice/dns/DNSNameServiceDescriptor.java.i
-data/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiOut.c.i
-data/src/share/classes/com/sun/crypto/provider/DESedeKeyFactory.java.i
+data/src/share/classes/sun/swing/WindowsPlacesBar.java.i
+data/src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java.i
data/src/share/classes/javax/management/timer/package.html.i
data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/AcceptLargeFragments.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSessionContextImpl/Timeout.java.i
+data/test/javax/management/Introspector/DescribedMX.java.i
data/src/solaris/classes/sun/awt/X11/XCursorFontConstants.java.i
data/test/sun/net/InetAddress/nameservice/simple/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor.i
data/test/javax/crypto/CryptoPermission/RC2PermCheck.java.i
@@ -11374,35 +11434,31 @@ data/make/sun/javazic/javatz/jdk1.1.x_zone_ids.txt.i
data/src/share/classes/com/sun/tools/hat/internal/parser/MappedReadBuffer.java.i
data/src/share/classes/com/sun/crypto/provider/DHPrivateKey.java.i
data/src/share/demo/jfc/FileChooserDemo/README.txt.i
-data/src/solaris/classes/sun/awt/X11/XException.java.i
+data/src/share/classes/sun/tools/tree/SubtractExpression.java.i
data/test/javax/swing/UIDefaults/6795356/bug6795356.java.i
data/test/sun/net/www/protocol/jar/jarbug/etc/jar1/res1.txt.i
data/src/share/classes/sun/awt/VariableGridLayout.java.i
data/src/share/demo/jfc/Metalworks/MetalworksDocumentFrame.java.i
-data/src/share/demo/nbproject/jfc/SwingApplet/build.xml.i
-data/test/javax/management/loading/LibraryLoader/UseNativeLib1.html.i
+data/test/java/rmi/server/RMIClassLoader/loadProxyClasses/FnnUnmarshal.java.i
data/make/sun/security/other/Makefile.i
data/src/windows/back/linker_md.c.i
-data/src/share/classes/javax/imageio/spi/IIOServiceProvider.java.i
data/test/java/util/Currency/Bug4512215.java.i
-data/test/java/rmi/reliability/juicer/OrangeEchoImpl.java.i
+data/src/share/sample/nio/multicast/MulticastAddress.java.i
data/test/java/lang/instrument/ilib/RuntimeConstants.java.i
data/test/java/security/cert/pkix/nameConstraintsMinMax/VerifyNameConstraints.java.i
+data/src/share/native/java/security/AccessController.c.i
data/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java.i
-data/src/share/demo/nbproject/jfc/Notepad/nbproject/jdk.xml.i
-data/src/share/classes/sun/nio/cs/UTF_8.java.i
+data/src/share/classes/sun/util/resources/LocaleNames_ro.properties.i
data/src/share/classes/javax/management/ManagedAttribute.java.i
-data/src/share/classes/sun/rmi/transport/proxy/RMIHttpToPortSocketFactory.java.i
+data/src/share/classes/javax/net/ssl/SSLEngineResult.java.i
data/src/windows/javavm/include/typedefs_md.h.i
data/test/javax/xml/crypto/dsig/data/signature-external-dsa.xml.i
data/test/javax/swing/JTableHeader/6889007/bug6889007.java.i
data/src/share/classes/sun/tools/jstatd/RemoteHostImpl.java.i
-data/src/windows/classes/sun/awt/windows/WGlobalCursorManager.java.i
-data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextMeasureTests.java.i
+data/test/javax/management/relation/RelationNotificationSourceTest.java.i
data/src/linux/doc/man/ja/wsimport.1.i
data/make/sun/net/others/Makefile.i
data/test/java/security/KeyRep/Serial.java.i
-data/src/share/classes/sun/net/ftp/FtpProtocolException.java.i
data/src/share/classes/javax/swing/border/SoftBevelBorder.java.i
data/test/java/io/PrintStream/CheckError.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthColorChooserUI.java.i
@@ -11411,10 +11467,9 @@ data/test/java/beans/XMLEncoder/Test4903007.java.i
data/src/share/classes/sun/tools/jstat/ExpressionEvaluator.java.i
data/make/common/Modules.gmk.i
data/src/solaris/hpi/export/timeval_md.h.i
-data/src/share/classes/javax/naming/BinaryRefAddr.java.i
-data/src/share/classes/com/sun/security/auth/module/NTSystem.java.i
-data/src/share/classes/com/sun/java/swing/plaf/gtk/PangoFonts.java.i
-data/test/com/sun/jdi/redefine/SchemaChange_RedefineSubTarg.java.i
+data/src/share/classes/sun/awt/image/ImagingLib.java.i
+data/src/share/classes/java/lang/VerifyError.java.i
+data/src/solaris/classes/sun/java2d/jules/JulesAATileGenerator.java.i
data/src/share/classes/sun/util/logging/resources/logging_fr.properties.i
data/src/share/classes/java/util/zip/GZIPOutputStream.java.i
data/test/sun/security/pkcs11/nss/lib/solaris-sparc/libnss3.so.d
@@ -11422,32 +11477,33 @@ data/src/share/demo/jvmti/waiters/Monitor.cpp.i
data/test/sun/security/pkcs11/nss/lib/solaris-sparc/libnss3.so.i
data/src/share/classes/sun/java2d/pisces/PiscesCache.java.i
data/src/share/classes/com/sun/crypto/provider/PrivateKeyInfo.java.i
-data/src/share/classes/sun/io/ByteToCharEUC_KR.java.i
+data/src/share/classes/sun/io/ByteToCharCp942C.java.i
data/src/share/classes/com/sun/jndi/toolkit/ctx/AtomicContext.java.i
data/src/share/classes/sun/awt/resources/awt_sv.properties.i
data/test/sun/security/pkcs11/ec/TestCurves.java.i
-data/src/share/demo/jfc/FileChooserDemo/ExampleFileView.java.i
-data/src/share/classes/java/awt/doc-files/Checkbox-1.gif.i
+data/src/share/classes/sun/awt/NullComponentPeer.java.i
data/test/java/util/zip/TestZipError.java.i
data/make/tools/swing-beans/beaninfo/images/BoxMono16.gif.i
data/test/java/beans/XMLEncoder/6777487/TestCheckedSet.java.i
data/src/share/native/java/lang/fdlibm/src/e_cosh.c.i
-data/src/solaris/native/sun/awt/awt_mgrsel.c.i
+data/src/share/demo/applets/SimpleGraph/example1.html.i
data/test/com/sun/crypto/provider/Cipher/AES/Test4512704.java.i
-data/src/share/classes/sun/awt/resources/awt_ko.properties.i
+data/src/share/classes/sun/util/resources/CalendarData_lt.properties.i
data/src/share/classes/javax/management/build.xml.i
data/test/sun/net/www/http/ChunkedInputStream/TestAvailable.java.i
data/src/share/classes/sun/dyn/FromGeneric.java.i
-data/test/sun/java2d/OpenGL/GradientPaints.java.i
+data/src/share/classes/java/awt/Transparency.java.i
data/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java.i
data/test/java/beans/PropertyEditor/TestLongClass.java.i
data/src/share/native/sun/misc/Signal.c.i
-data/src/share/classes/sun/security/krb5/internal/TransitedEncoding.java.i
-data/src/share/classes/com/sun/media/sound/AudioSynthesizerPropertyInfo.java.i
+data/src/share/classes/javax/swing/text/html/HRuleView.java.i
+data/test/java/rmi/reliability/benchmark/bench/rmi/ShortArrayCalls.java.i
data/make/tools/CharsetMapping/HKSCS2001.c2b.i
data/src/share/classes/java/nio/file/NotLinkException.java.i
+data/test/java/lang/System/finalization/FinExit.java.i
data/src/share/native/sun/java2d/loops/Ushort565Rgb.h.i
-data/src/share/classes/sun/util/resources/CalendarData_pl.properties.i
+data/test/com/oracle/security/ucrypto/TestAES.java.i
+data/src/solaris/native/sun/java2d/opengl/GLXGraphicsConfig.c.i
data/test/com/sun/security/sasl/digest/ClientCallbackHandler.java.i
data/src/windows/native/sun/java2d/windows/WindowsFlags.h.i
data/test/java/rmi/server/serverStackTrace/ServerStackTrace_Stub.java.i
@@ -11458,38 +11514,39 @@ data/test/java/nio/channels/Selector/SelectorTest.java.i
data/make/modules/tools/src/com/sun/classanalyzer/ClassPath.java.i
data/src/share/classes/java/util/Random.java.i
data/src/solaris/bin/ergo_sparc.c.i
+data/src/share/classes/javax/swing/plaf/basic/BasicComboBoxRenderer.java.i
+data/test/java/util/concurrent/ThreadPoolExecutor/ModifyCorePoolSize.java.i
data/src/share/classes/sun/text/resources/BreakIteratorRules.java.i
-data/test/com/sun/net/httpserver/SimpleSSLContext.java.i
data/src/share/classes/sun/security/krb5/RealmException.java.i
-data/test/java/rmi/reliability/benchmark/bench/serial/Strings.java.i
-data/src/share/classes/java/awt/doc-files/GridBagLayout-baseline.png.i
+data/src/share/native/java/lang/fdlibm/src/k_standard.c.i
+data/src/share/classes/sun/java2d/Disposer.java.i
data/src/share/classes/javax/sound/midi/MidiUnavailableException.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_lv_LV.properties.i
data/test/java/awt/TrayIcon/DragEventSource/DragEventSource.java.i
data/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBooleanInt.java.i
data/src/share/classes/javax/crypto/spec/RC5ParameterSpec.java.i
-data/test/java/rmi/activation/Activatable/nonExistentActivatable/NonExistentActivatable.java.i
+data/src/solaris/classes/sun/misc/FileURLMapper.java.i
data/test/java/util/ServiceLoader/FooProvider1.java.i
data/test/sun/nio/cs/FindASCIICodingBugs.java.i
-data/src/share/classes/java/security/interfaces/DSAPrivateKey.java.i
+data/test/java/nio/channels/Pipe/EmptyRead.java.i
data/src/share/classes/javax/swing/text/html/OptionComboBoxModel.java.i
data/test/java/rmi/activation/Activatable/createPrivateActivable/rmid.security.policy.i
data/src/share/classes/javax/swing/plaf/synth/SynthMenuUI.java.i
-data/test/java/nio/channels/AsyncCloseAndInterrupt.java.i
+data/src/share/classes/java/security/SecureClassLoader.java.i
data/src/share/demo/nbproject/jfc/TransparentRuler/build.properties.i
data/src/share/native/sun/java2d/loops/IntRgb.h.i
data/test/java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.html.i
-data/make/java/jli/mapfile-vers.i
data/src/share/classes/sun/security/provider/certpath/AlgorithmChecker.java.i
data/src/share/classes/java/sql/NClob.java.i
data/src/windows/native/sun/java2d/windows/dxInit.cpp.i
+data/test/sun/net/www/ftptest/FtpFileSystemHandler.java.i
data/test/java/rmi/invalidName/InvalidName.java.i
data/test/java/rmi/activation/rmidViaInheritedChannel/InheritedChannelNotServerSocket.java.i
data/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono.java.i
data/src/share/classes/sun/security/x509/OCSPNoCheckExtension.java.i
data/test/sun/security/pkcs11/Serialize/SerializeProvider.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/CipherSuite/SSL_NULL.java.i
-data/src/share/classes/javax/swing/event/MenuDragMouseListener.java.i
+data/src/share/classes/com/sun/security/auth/PolicyParser.java.i
+data/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBuffer.java.i
data/src/share/classes/java/nio/charset/package.html.i
data/src/share/classes/javax/swing/doc-files/groupLayout.1.gif.i
data/test/java/nio/channels/FileChannel/ClosedChannelTransfer.java.i
@@ -11499,58 +11556,55 @@ data/src/share/classes/java/awt/TextField.java.i
data/src/solaris/native/sun/awt/XDrawingAreaP.h.i
data/test/javax/management/ObjectName/ObjectNameGetInstanceTest.java.i
data/test/java/beans/XMLEncoder/javax_swing_KeyStroke.java.i
-data/test/java/awt/print/PrinterJob/ExceptionTest.java.i
+data/test/java/awt/regtesthelpers/AbstractTest.java.i
+data/src/solaris/native/sun/java2d/x11/X11TextRenderer_md.c.i
data/make/tools/CharsetMapping/IBM1140.map.i
-data/test/javax/management/monitor/MBeanServerForwarderInvocationHandler.java.i
data/test/javax/management/modelmbean/OnUnregisterTest.java.i
data/src/share/classes/sun/tools/jconsole/inspector/XMBeanAttributes.java.i
-data/src/share/classes/sun/tools/asm/NumberConstantData.java.i
-data/test/java/lang/management/ManagementFactory/MXBeanProxyTest.java.i
+data/test/sun/tools/jps/usage.out.i
+data/src/share/classes/java/net/SdpSocketImpl.java.i
data/test/java/lang/Thread/StartOOMTest.java.i
data/src/share/classes/java/lang/NegativeArraySizeException.java.i
data/src/share/classes/com/sun/jdi/ArrayType.java.i
data/src/share/classes/sun/reflect/UnsafeQualifiedFieldAccessorImpl.java.i
-data/src/windows/native/sun/java2d/d3d/D3DTextRenderer.h.i
-data/test/java/io/Serializable/skipToEndOfBlockData/SkipToEndOfBlockData.java.i
+data/make/tools/swing-beans/beaninfo/images/JPanelMono16.gif.i
data/src/share/classes/sun/font/FontResolver.java.i
-data/make/jpda/transport/socket/mapfile-vers.i
-data/src/share/native/com/sun/java/util/jar/pack/zip.h.i
+data/test/java/beans/PropertyEditor/TestFloatClassNull.java.i
data/src/share/classes/sun/io/ByteToCharCp1141.java.i
data/test/java/lang/Integer/ParsingTest.java.i
data/make/tools/UnicodeData/SpecialCasing.txt.i
-data/src/share/classes/com/sun/jmx/snmp/SnmpSecurityException.java.i
+data/src/solaris/classes/sun/awt/motif/X11CNS11643P1.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthTableUI.java.i
-data/test/javax/management/Introspector/NotCompliantCauseTest.java.i
+data/src/share/classes/sun/java2d/pipe/LoopPipe.java.i
data/src/share/lib/images/cursors/win32_CopyNoDrop32x32.gif.i
-data/src/share/classes/sun/management/resources/agent_es.properties.i
+data/src/solaris/native/sun/java2d/loops/vis_ByteGray.c.i
data/test/javax/management/security/MBeanPermissionTest.java.i
data/src/share/classes/javax/security/auth/spi/package.html.i
data/src/share/classes/com/sun/jdi/VMDisconnectedException.java.i
data/src/solaris/doc/sun/man/man1/ja/javaws.1.i
data/src/windows/native/java/io/Console_md.c.i
-data/src/share/classes/sun/reflect/generics/tree/ClassTypeSignature.java.i
+data/src/share/classes/com/sun/jmx/snmp/tasks/ThreadService.java.i
data/src/share/classes/sun/text/resources/FormatData_lt.java.i
-data/src/share/classes/javax/imageio/event/IIOReadWarningListener.java.i
-data/src/share/demo/management/JTop/JTop.java.i
+data/src/share/classes/sun/misc/VMNotification.java.i
data/src/share/classes/java/nio/file/attribute/FileStoreSpaceAttributeView.java.i
data/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibNode.java.i
data/test/java/io/OutputStream/WriteParams.java.i
-data/src/share/classes/sun/tools/tree/ShiftLeftExpression.java.i
+data/src/share/classes/sun/io/CharToByteSJIS.java.i
data/src/windows/hpi/export/byteorder_md.h.i
data/test/com/sun/jdi/ConstantPoolInfo.java.i
+data/test/sun/nio/cs/TestCompoundTest.java.i
data/test/java/net/Socket/OldSocketImpl.sh.i
+data/test/java/net/URLClassLoader/getresourceasstream/test.jar.i
data/src/share/classes/java/text/CollationElementIterator.java.i
-data/test/java/awt/PrintJob/RoundedRectTest/RoundedRectTest.java.i
-data/src/share/native/sun/java2d/cmm/lcms/cmscam02.c.i
-data/src/share/classes/sun/text/normalizer/Trie.java.i
+data/src/share/native/sun/security/ec/impl/ec2_233.c.i
+data/src/solaris/native/sun/awt/list.c.i
+data/make/tools/src/build/tools/jdwpgen/BooleanTypeNode.java.i
data/src/share/classes/sun/tools/tree/AddExpression.java.i
data/test/sun/security/tools/jarsigner/AlgOptions.sh.i
data/test/java/lang/Long/ParsingTest.java.i
-data/make/tools/swing-beans/beaninfo/images/JProgressBarMono16.gif.i
-data/test/javax/swing/JSlider/4252173/bug4252173.java.i
+data/src/share/classes/java/util/IllegalFormatPrecisionException.java.i
data/src/windows/native/sun/java2d/j2d_md.h.i
data/test/lib/security/java.policy/Ext_AllPolicy.java.i
-data/src/share/classes/sun/text/resources/FormatData_is_IS.java.i
data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/XmlConfigUtils.java.i
data/src/share/classes/sun/security/krb5/internal/KRBSafeBody.java.i
data/src/windows/native/sun/windows/awt_Button.h.i
@@ -11558,155 +11612,157 @@ data/src/share/classes/sun/nio/cs/ext/IBM939.java.i
data/src/share/classes/java/awt/event/InvocationEvent.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthMenuLayout.java.i
data/test/java/io/Serializable/readPastObject/ReadPastObject.java.i
+data/test/java/lang/instrument/NoTransformerAddedTest.java.i
data/src/share/native/sun/awt/medialib/mlib_c_ImageAffine_BL.c.i
-data/test/javax/management/namespace/DomainCreationTest.java.i
-data/test/javax/imageio/plugins/bmp/TopDownTest.java.i
+data/test/com/sun/tools/attach/redefineagent.mf.i
+data/test/javax/sound/midi/Gervill/ModelPerformer/SetDefaultConnectionsEnabled.java.i
data/test/java/security/cert/pkix/nameConstraintsMinMax/sun.cer.i
data/test/java/awt/print/PrinterJob/Margins.java.i
data/test/java/nio/charset/RemovingSunIO/TestCOMP.java.i
-data/test/java/awt/FileDialog/MultipleMode/MultipleMode.html.i
+data/src/share/classes/sun/tools/tree/AssignAddExpression.java.i
+data/src/share/classes/sun/security/ssl/ECDHClientKeyExchange.java.i
+data/src/share/classes/javax/swing/AbstractCellEditor.java.i
data/src/windows/native/sun/windows/ObjectList.h.i
data/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic.properties.i
-data/src/share/classes/sun/security/x509/FreshestCRLExtension.java.i
-data/test/java/security/BasicPermission/SerialVersion.java.i
+data/src/share/classes/sun/awt/dnd/SunDropTargetEvent.java.i
data/test/com/sun/org/apache/xml/internal/security/TruncateHMAC.java.i
data/make/com/sun/java/pack/prop/Makefile.i
-data/test/sun/security/validator/samedn.sh.i
+data/src/share/native/sun/font/layout/TibetanLayoutEngine.h.i
data/src/share/native/sun/font/layout/MultipleSubstSubtables.cpp.i
data/src/share/native/java/lang/fdlibm/src/e_gamma.c.i
-data/src/share/native/sun/security/ec/impl/ec_naf.c.i
-data/src/solaris/classes/sun/java2d/xr/XRMaskImage.java.i
+data/test/javax/management/openmbean/EqualsTest.java.i
+data/test/java/io/File/MaxPathLength.java.i
+data/src/share/classes/sun/rmi/registry/resources/rmiregistry_sv.properties.i
+data/test/java/rmi/activation/CommandEnvironment/Doctor_Stub.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_zh_TW.properties.i
data/src/share/classes/sun/nio/cs/ext/IBM33722.java.i
data/src/share/classes/com/sun/crypto/provider/DESKey.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalRootPaneUI.java.i
-data/test/sun/security/pkcs11/Signature/ByteBuffers.java.i
+data/test/javax/security/auth/x500/X500Principal/NameFormat.java.i
+data/test/sun/security/rsa/TestSignatures.java.i
+data/src/share/classes/sun/io/ByteToCharBig5_HKSCS.java.i
data/make/tools/CharsetMapping/IBM850.map.i
data/test/sun/security/krb5/auto/BadKdc3.java.i
data/src/share/classes/com/sun/jmx/snmp/ServiceName.java.i
data/test/sun/misc/JarIndex/metaInfFilenames/jarC/my/impl/StandardMessageService.java.i
-data/src/share/native/java/lang/fdlibm/src/w_atanh.c.i
-data/test/java/util/Collections/FindSubList.java.i
-data/src/share/classes/sun/management/snmp/jvmmib/JvmRTInputArgsEntryMeta.java.i
+data/test/com/sun/crypto/provider/KeyAgreement/DHKeyFactory.java.i
+data/src/windows/native/sun/windows/ComCtl32Util.cpp.i
+data/test/java/nio/file/Files/walkFileTree/denyAll.policy.i
+data/make/common/internal/NativeCompileRules.gmk.i
data/src/share/classes/sun/security/pkcs11/wrapper/CK_MECHANISM_INFO.java.i
data/test/java/rmi/registry/reexport/Reexport.java.i
data/src/share/classes/javax/swing/event/TableModelEvent.java.i
+data/src/share/classes/sun/io/CharToByteCp1112.java.i
data/make/tools/CharsetMapping/DoubleByte-X.java.template.i
-data/src/share/classes/com/sun/tools/jdi/VirtualMachineManagerService.java.i
-data/src/share/native/sun/java2d/loops/ByteBinary4Bit.h.i
+data/src/share/classes/com/sun/jdi/request/MethodEntryRequest.java.i
+data/test/com/sun/crypto/provider/Cipher/DES/inputData/plain1.txt.i
data/src/share/classes/sun/reflect/MethodAccessorGenerator.java.i
-data/src/share/classes/sun/tools/jar/resources/jar.properties.i
data/src/share/classes/java/security/spec/ECGenParameterSpec.java.i
data/src/share/classes/sun/io/ByteToCharCp868.java.i
data/src/share/native/java/util/zip/zlib-1.2.3/inftrees.h.i
data/src/share/classes/java/util/concurrent/DelayQueue.java.i
-data/src/share/classes/com/sun/imageio/plugins/common/LZWCompressor.java.i
+data/test/org/openjdk/jigsaw/cli/expired-signer-cert.pem.i
+data/src/share/classes/sun/security/ec/ECPublicKeyImpl.java.i
+data/test/java/nio/channels/Selector/OutOfBand.java.i
data/test/java/beans/PropertyChangeSupport/TestSerialization.java.i
data/src/share/classes/sun/security/pkcs11/wrapper/PKCS11Constants.java.i
data/src/share/classes/sun/tools/attach/HotSpotAttachProvider.java.i
data/test/javax/management/ObjectInstance/ObjectInstanceNullTest.java.i
data/test/sun/nio/cs/DecoderOverflow.java.i
data/src/share/classes/sun/util/resources/LocaleNames_fr.properties.i
-data/src/share/native/sun/font/layout/MPreFixups.h.i
-data/make/com/sun/security/auth/Makefile.i
+data/src/share/classes/sun/reflect/SerializationConstructorAccessorImpl.java.i
data/test/sun/net/InetAddress/nameservice/simple/CacheTest.java.i
data/make/tools/swing-beans/beaninfo/images/JToolBarMono32.gif.i
-data/test/java/lang/instrument/appendToClassLoaderSearch/DynamicTest.java.i
+data/test/sun/security/pkcs11/Secmod/secmod.db.i
data/make/netbeans/common/build-folder.ent.i
data/src/share/classes/javax/swing/JFileChooser.java.i
-data/src/windows/native/sun/jkernel/stdafx.cpp.i
+data/src/share/classes/java/security/SecurityPermission.java.i
data/src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileStore.java.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/icons/DetailsView.gif.i
+data/test/java/io/LineNumberReader/MarkReset.java.i
data/src/share/classes/sun/java2d/pisces/Transform4.java.i
-data/test/sun/security/pkcs11/tls/TestPRF.java.i
+data/test/java/lang/StringBuffer/InsertMaxValue.java.i
data/src/share/native/java/util/zip/zlib-1.1.3/deflate.c.i
data/src/share/classes/sun/tools/tree/InlineReturnStatement.java.i
data/src/share/classes/sun/io/CharToByteCp500.java.i
-data/src/share/classes/java/rmi/server/SkeletonNotFoundException.java.i
data/test/javax/security/auth/Subject/doAs/Test.java.i
data/src/windows/native/sun/windows/awt_Object.h.i
data/src/share/classes/com/sun/rowset/package.html.i
data/make/sun/dcpr/FILES_c.gmk.i
data/test/sun/security/mscapi/SignUsingNONEwithRSA.sh.i
-data/src/share/classes/org/openjdk/jigsaw/LoaderPool.java.i
-data/src/windows/native/sun/java2d/d3d/D3DShaderGen.c.i
+data/test/java/nio/charset/spi/FooProvider.java.i
data/test/sun/security/krb5/UnknownCCEntry.java.i
data/test/sun/net/www/http/ChunkedInputStream/ChunkedCharEncoding.sh.i
data/src/share/native/sun/font/layout/TibetanReordering.cpp.i
+data/src/share/native/java/util/zip/zlib-1.2.5/ChangeLog.i
data/test/java/net/ResponseCache/B6181108.java.i
data/src/share/classes/sun/font/Type1Font.java.i
data/test/com/sun/servicetag/SystemRegistryTest.java.i
data/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/Echo.java.i
data/test/javax/management/monitor/StartStopTest.java.i
-data/src/share/classes/com/sun/servicetag/package.html.i
+data/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVersion.java.i
data/src/share/classes/sun/reflect/UnsafeQualifiedByteFieldAccessorImpl.java.i
-data/src/share/classes/javax/management/remote/JMXConnectorServer.java.i
+data/src/solaris/classes/sun/java2d/xr/XRCompositeManager.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiScrollPaneUI.java.i
data/test/java/lang/module/Main.java.i
-data/src/share/classes/com/sun/jndi/ldap/PersistentSearchControl.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/Traffic.java.i
-data/test/sun/java2d/pipe/hw/VSyncedBufferStrategyTest/VSyncedBufferStrategyTest.java.i
+data/test/javax/sound/midi/Gervill/ModelStandardTransform/SetTransform.java.i
+data/make/java/nio/reorder-sparcv9.i
+data/src/share/classes/com/sun/jmx/snmp/SnmpUnknownSubSystemException.java.i
data/src/share/classes/java/awt/font/LineBreakMeasurer.java.i
+data/test/java/nio/channels/DatagramChannel/NotBound.java.i
data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh.i
data/make/tools/src/build/tools/jdwpgen/Context.java.i
data/src/share/classes/sun/io/ByteToCharMacCroatian.java.i
data/src/share/classes/javax/swing/JComboBox.java.i
data/src/share/classes/javax/management/remote/JMXConnectorProvider.java.i
-data/src/share/classes/sun/tools/tree/GreaterExpression.java.i
data/test/javax/management/remote/mandatory/subjectDelegation/policy25.i
data/src/solaris/classes/sun/nio/fs/UnixCopyFile.java.i
data/make/java/java/Exportedfiles.gmk.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/TemplateLayer.java.i
-data/test/java/util/PluggableLocale/BreakIteratorProviderTest.java.i
-data/test/java/security/AccessControlContext/NullCombinerEquals.java.i
+data/make/tools/src/build/tools/jdwpgen/AbstractCommandNode.java.i
data/test/javax/management/namespace/VirtualNamespaceQueryTest.java.i
data/src/share/classes/sun/rmi/transport/tcp/MultiplexConnectionInfo.java.i
-data/test/sun/security/tools/policytool/UsePolicy.html.i
+data/test/java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency_Stub.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_ja.properties.i
data/test/javax/swing/JSpinner/6532833/bug6532833.java.i
data/src/share/demo/jvmti/gctest/sample.makefile.txt.i
-data/src/share/classes/java/awt/image/DataBufferShort.java.i
+data/src/share/classes/java/awt/Scrollbar.java.i
data/test/java/beans/XMLEncoder/java_lang_Enum.java.i
data/src/solaris/hpi/include/largefile_solaris.h.i
data/src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java.i
-data/test/java/security/cert/CertPathBuilder/selfIssued/openssl.cnf.i
+data/src/share/classes/sun/jvmstat/monitor/event/package.html.i
data/test/java/rmi/reliability/benchmark/bench/serial/ProxyClassDesc.java.i
data/src/share/classes/sun/text/resources/BreakIteratorRules_th.java.i
data/test/java/io/Serializable/classDescHooks/CNFException.java.i
-data/src/share/classes/sun/reflect/InstantiationExceptionConstructorAccessorImpl.java.i
-data/test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorEndEntity.java.i
+data/test/javax/sound/midi/Gervill/SoftFilter/TestProcessAudio.java.i
data/src/solaris/native/sun/awt/awt_Choice21.c.i
data/src/share/native/com/sun/java/util/jar/pack/zip.cpp.i
data/src/solaris/native/sun/awt/awt_Mlib.h.i
data/src/share/demo/nbproject/management/VerboseGC/build.properties.i
-data/test/java/net/Inet6Address/IPv6AddressTypes.java.i
data/make/tools/CharsetMapping/IBM870.map.i
data/test/org/openjdk/jigsaw/cli/signed-module.policy.i
data/test/javax/management/Introspector/DescribedMBean.java.i
-data/src/share/classes/com/sun/jdi/request/BreakpointRequest.java.i
data/test/javax/management/remote/mandatory/loading/TargetMBeanTest.java.i
data/src/share/classes/org/openjdk/jigsaw/LinkingContext.java.i
data/src/share/classes/javax/net/ssl/SSLServerSocketFactory.java.i
data/src/share/classes/javax/swing/text/CompositeView.java.i
data/test/java/rmi/registry/altSecurityManager/TestSecurityManager.java.i
-data/src/windows/native/sun/windows/Hashtable.h.i
+data/src/share/classes/java/util/IllegalFormatWidthException.java.i
data/test/java/net/URLConnection/URLConnectionHeaders.java.i
-data/make/javax/sound/FILES_c.gmk.i
+data/src/share/classes/com/sun/beans/decoder/DoubleElementHandler.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheData.java.i
data/src/share/classes/com/sun/servicetag/WindowsSystemEnvironment.java.i
data/src/share/classes/org/openjdk/jigsaw/PathLinker.java.i
data/src/share/classes/com/sun/beans/decoder/NewElementHandler.java.i
-data/test/java/awt/Window/SetBackgroundNPE/SetBackgroundNPE.java.i
+data/test/com/sun/tools/extcheck/TestExtcheckArgs.sh.i
data/src/share/classes/java/lang/instrument/IllegalClassFormatException.java.i
data/test/org/openjdk/jigsaw/optional-deps.sh.i
-data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java.i
-data/src/share/native/sun/font/layout/GlyphPositioningTables.h.i
+data/test/java/nio/file/Files/probeContentType/META-INF/services/java.nio.file.spi.FileTypeDetector.i
data/src/share/classes/java/security/Signer.java.i
-data/src/solaris/doc/sun/man/man1/DO_NOT_EDIT--GENERATED_FILES.i
+data/src/share/classes/sun/nio/cs/ext/IBM861.java.i
data/src/share/classes/javax/management/openmbean/TabularData.java.i
data/test/java/security/SignedObject/Correctness.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java.i
-data/src/share/classes/java/nio/file/attribute/AclFileAttributeView.java.i
+data/src/windows/native/sun/windows/awt_TextArea.h.i
data/test/java/util/ResourceBundle/Control/Chinese_zh_CN.properties.i
data/src/share/classes/sun/rmi/transport/Target.java.i
data/src/share/classes/sun/nio/cs/ext/JIS_X_0212_Decoder.java.i
@@ -11714,80 +11770,86 @@ data/test/com/sun/crypto/provider/Cipher/PBE/PBEInvalidParamsTest.java.i
data/src/share/native/java/lang/fdlibm/src/k_rem_pio2.c.i
data/src/share/demo/jfc/TableExample/TableSorter.java.i
data/test/java/rmi/activation/ActivationSystem/unregisterGroup/group.security.policy.i
-data/test/sun/security/tools/jarsigner/JarSigningNonAscii.java.i
-data/src/share/classes/java/dyn/MethodHandleProvider.java.i
+data/make/sun/management/jmxremote/Makefile.i
+data/src/share/classes/sun/security/jgss/GSSNameImpl.java.i
data/test/java/io/Serializable/maskSyntheticModifier/Test.java.i
-data/src/share/classes/javax/naming/spi/StateFactory.java.i
+data/test/sun/security/rsa/GenKeyStore.java.i
data/src/share/native/sun/awt/medialib/safe_alloc.h.i
-data/src/share/classes/java/nio/file/LinkPermission.java.i
-data/src/share/native/sun/java2d/loops/ByteBinary1Bit.h.i
+data/test/java/util/Locale/LocaleEnhanceTest.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/Layer.java.i
+data/src/share/classes/com/sun/security/sasl/ntlm/FactoryImpl.java.i
data/make/java/text/base/FILES_java.gmk.i
-data/test/java/util/EnumSet/AllOf.java.i
-data/test/sun/java2d/cmm/ColorConvertOp/RGBColorConvertTest.java.i
+data/src/share/classes/javax/swing/plaf/SeparatorUI.java.i
+data/src/share/demo/jfc/SampleTree/SampleTree.java.i
data/src/share/classes/sun/security/pkcs11/wrapper/CK_NOTIFY.java.i
-data/src/share/sample/nio/server/Reply.java.i
+data/src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java.i
data/make/tools/CharsetMapping/IBM1381.map.i
-data/test/com/sun/jndi/ldap/LdapName/EmptyNameSearch.java.i
+data/src/share/classes/sun/tools/java/Identifier.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/Host.java.i
data/test/javax/imageio/plugins/jpeg/ReadAsGrayTest.java.i
data/make/javax/crypto/policy/unlimited/default_local.policy.i
data/test/sun/rmi/rmic/oldjavacRemoved/sunToolsJavacMain.sh.i
data/src/share/classes/sun/security/provider/certpath/PolicyChecker.java.i
data/src/share/demo/jvmti/hprof/hprof_tag.c.i
-data/src/share/classes/sun/font/Font2D.java.i
+data/make/sun/dcpr/Makefile.i
data/src/share/classes/sun/util/calendar/ZoneInfo.java.i
data/test/java/io/charStreams/BCat.java.i
+data/test/tools/pack200/pack200-verifier/src/xmlkit/ClassReader.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/package.html.i
data/src/share/classes/javax/swing/plaf/multi/MultiSpinnerUI.java.i
-data/src/share/classes/javax/swing/ComponentInputMap.java.i
+data/make/tools/CharsetMapping/IBM284.c2b.i
data/src/solaris/native/sun/awt/awt_MToolkit.h.i
data/src/share/classes/javax/security/sasl/SaslClient.java.i
data/test/java/dyn/MethodHandlesTest.java.i
-data/src/windows/classes/sun/java2d/ScreenUpdateManager.java.i
+data/test/java/util/zip/ZipFile/Available.java.i
data/src/share/classes/sun/io/CharToByteCp943C.java.i
+data/src/share/classes/sun/text/normalizer/RangeValueIterator.java.i
data/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipConstants.java.i
+data/make/tools/swing-beans/beaninfo/images/JTableMono16.gif.i
data/src/share/classes/sun/security/ssl/Krb5Helper.java.i
data/test/java/awt/Modal/WsDisabledStyle/Winkey/Winkey.java.i
data/src/share/native/sun/java2d/opengl/OGLSurfaceData.c.i
-data/src/share/classes/sun/java2d/pipe/TextPipe.java.i
+data/src/share/back/error_messages.h.i
data/make/mkdemo/applets/Blink/Makefile.i
data/src/share/classes/java/awt/event/KeyListener.java.i
-data/make/tools/src/build/tools/spp/Spp.java.i
-data/test/java/io/StreamTokenizer/Comment.java.i
+data/test/java/awt/font/NumericShaper/ShapingTest.java.i
+data/src/share/classes/sun/security/provider/SHA2.java.i
+data/make/sun/javazic/tzdata/pacificnew.i
+data/src/share/classes/sun/tools/java/AmbiguousClass.java.i
data/test/java/beans/XMLEncoder/java_util_Collections_EmptyMap.java.i
-data/test/sun/net/www/protocol/http/DigestTest.java.i
-data/test/java/awt/Multiscreen/UpdateGCTest/UpdateGCTest.java.i
+data/src/share/classes/sun/security/rsa/RSAPadding.java.i
data/src/share/classes/sun/management/HotspotInternalMBean.java.i
data/test/java/lang/management/ManagementFactory/ThreadMXBeanProxy.java.i
+data/src/share/classes/com/sun/jmx/event/RepeatedSingletonJob.java.i
data/test/sun/misc/BootClassLoaderHook/TestHook.java.i
data/test/sun/rmi/transport/tcp/disableMultiplexing/DisableMultiplexing.java.i
data/src/share/demo/scripting/jconsole-plugin/src/scripts/jstack.js.i
data/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.java.i
-data/src/share/classes/sun/security/provider/certpath/CertId.java.i
+data/test/sun/security/tools/keytool/trystore.sh.i
data/test/sun/tools/jps/jps-Vvml.sh.i
data/src/share/classes/java/rmi/activation/ActivationGroupDesc.java.i
data/test/java/rmi/server/RMIClassLoader/spi/DefaultProperty.java.i
data/make/tools/swing-beans/DocBeanInfo.java.i
data/src/share/classes/sun/util/resources/CalendarData_fr.properties.i
-data/src/share/demo/jvmti/hprof/hprof_object.h.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/crisubn.jks.i
data/test/sun/security/ssl/sanity/pluggability/CipherSuites.java.i
-data/src/share/classes/javax/swing/text/html/ResourceLoader.java.i
data/src/share/classes/java/awt/doc-files/FlowLayout-1.gif.i
-data/test/java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java.i
-data/src/share/classes/sun/java2d/pipe/GlyphListLoopPipe.java.i
-data/test/java/rmi/activation/Activatable/createPrivateActivable/ActivateMe.java.i
+data/test/java/io/Serializable/class/SerialA_2.java.i
+data/src/solaris/doc/sun/man/man1/pack200.1.i
data/make/sun/awt/FILES_export_unix.gmk.i
data/src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageReader.java.i
data/src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java.i
+data/src/share/classes/com/sun/beans/WildcardTypeImpl.java.i
data/test/javax/xml/crypto/dsig/data/signature-enveloping-b64-dsa.xml.i
-data/test/javax/print/attribute/CollateAttr.java.i
+data/test/java/util/concurrent/ConcurrentQueues/GCRetention.java.i
+data/src/solaris/classes/sun/awt/motif/X11SelectionHolder.java.i
data/test/sun/security/krb5/krb5.conf.i
-data/test/javax/management/remote/mandatory/notif/RMINotifTest.java.i
+data/test/java/rmi/reliability/benchmark/bench/serial/Longs.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageAffine_BL_U16.c.i
-data/src/share/classes/sun/security/pkcs11/wrapper/CK_SSL3_RANDOM_DATA.java.i
+data/test/java/lang/ClassLoader/package2/Class2.java.i
data/test/java/lang/Class/forName/InitArg.java.i
data/src/share/classes/java/security/interfaces/ECPrivateKey.java.i
+data/test/java/rmi/activation/ActivationSystem/unregisterGroup/Callback_Stub.java.i
data/src/share/classes/java/text/DigitList.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/ParserRules.java.i
data/make/tools/CharsetMapping/IBM1148.c2b.i
@@ -11802,91 +11864,96 @@ data/test/org/openjdk/jigsaw/cli/ModuleFormatTest01.java.i
data/src/share/classes/sun/security/smartcardio/PCSCTerminals.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMIpAddress.java.i
data/src/share/native/sun/font/bidi/uchardir.h.i
-data/test/java/security/cert/CertPathBuilder/targetConstraints/ca.cer.i
-data/src/solaris/native/sun/tools/attach/LinuxVirtualMachine.c.i
+data/src/share/demo/java2d/J2DBench/resources/textdata/english.ut8.txt.i
+data/src/share/back/stream.c.i
+data/src/share/native/sun/security/ec/impl/ecdecode.c.i
data/src/linux/doc/man/ja/jconsole.1.i
+data/test/javax/management/mxbean/LeakTest.java.i
data/src/share/demo/jvmti/versionCheck/versionCheck.c.i
data/src/share/classes/java/lang/Thread.java.i
data/make/sun/headless/reorder-sparcv9.i
data/make/netbeans/common/properties.ent.i
-data/src/share/sample/vm/clr-jvm/Makefile.i
+data/test/java/util/concurrent/ConcurrentQueues/ConcurrentQueueLoops.java.i
data/test/java/util/jar/Attributes/Name.java.i
-data/test/sun/nio/cs/OLD/Johab_OLD.java.i
-data/test/java/beans/Introspector/Test6311051.java.i
+data/test/sun/net/www/ParseUtil_6306697.java.i
+data/src/share/classes/sun/net/www/protocol/https/DefaultHostnameVerifier.java.i
data/src/share/classes/javax/swing/plaf/basic/DefaultMenuLayout.java.i
data/src/share/native/java/lang/fdlibm/src/s_log1p.c.i
data/src/share/demo/jvmti/mtrace/sample.makefile.txt.i
data/src/share/classes/javax/swing/event/TreeWillExpandListener.java.i
data/src/share/classes/sun/text/resources/CollationData_nl.java.i
-data/test/java/io/RandomAccessFile/OpsAfterClose.java.i
+data/src/share/classes/sun/io/ByteToCharCp1025.java.i
data/src/share/classes/sun/reflect/UnsafeQualifiedBooleanFieldAccessorImpl.java.i
-data/src/share/native/sun/awt/image/jpeg/jpegdecoder.c.i
+data/src/share/native/com/sun/tools/jdi/SharedMemoryTransport.c.i
+data/src/solaris/classes/sun/nio/ch/SocketDispatcher.java.i
data/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatchByteArray.java.i
data/test/java/awt/FontClass/CreateFont/bigfont.html.i
-data/src/share/classes/com/sun/jdi/InterfaceType.java.i
-data/src/share/classes/sun/security/x509/X400Address.java.i
-data/test/com/sun/crypto/provider/Cipher/DES/inputData/plain6.txt.i
+data/test/java/util/Hashtable/IllegalLoadFactor.java.i
+data/src/share/classes/org/openjdk/internal/joptsimple/OptionSpecVisitor.java.i
+data/src/windows/classes/java/io/Win32FileSystem.java.i
data/test/java/util/ResourceBundle/TestResource.java.i
data/src/share/classes/java/util/EnumMap.java.i
-data/src/share/classes/javax/management/MBeanOperationInfo.java.i
+data/test/java/util/PluggableLocale/providersrc/LocaleNames_xx.properties.i
data/test/java/rmi/reliability/benchmark/bench/Makefile.i
-data/src/share/classes/java/security/cert/TrustAnchor.java.i
data/make/tools/swing-beans/beaninfo/images/JTextFieldColor16.gif.i
data/src/share/classes/javax/crypto/SealedObject.java.i
data/test/sun/security/krb5/ConfigWithQuotations.java.i
data/src/share/native/com/sun/java/util/jar/pack/unpack.h.i
+data/test/sun/tools/jcmd/jcmd-pid.sh.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMHostName.java.i
-data/test/java/lang/instrument/MakeJAR3.sh.i
-data/test/javax/sound/midi/Gervill/SoftReceiver/Send_PolyPressure.java.i
-data/src/share/classes/java/awt/datatransfer/UnsupportedFlavorException.java.i
+data/test/sun/management/jmxremote/bootstrap/jmxremote_test05_ko.access.in.i
+data/src/share/classes/com/sun/jmx/mbeanserver/MXBeanSupport.java.i
+data/src/share/classes/java/awt/dnd/peer/DropTargetPeer.java.i
data/test/java/nio/channels/FileChannel/Truncate.java.i
-data/src/share/classes/javax/sql/XAConnection.java.i
+data/src/share/classes/sun/tools/jconsole/CreateMBeanDialog.java.i
data/test/java/beans/XMLDecoder/spec/TestProperty.java.i
-data/src/share/classes/org/ietf/jgss/GSSContext.java.i
-data/src/share/classes/sun/util/resources/CalendarData_ja.properties.i
-data/test/java/beans/Introspector/Test4918902.java.i
+data/src/share/native/sun/font/layout/ContextualGlyphSubstitution.h.i
+data/src/solaris/classes/sun/java2d/xr/XRPaints.java.i
+data/src/share/classes/java/lang/annotation/ElementType.java.i
+data/src/share/classes/sun/io/CharToByteCp420.java.i
data/src/share/classes/javax/accessibility/AccessibleValue.java.i
data/src/share/classes/javax/swing/plaf/ButtonUI.java.i
-data/src/solaris/bin/zero/jvm.cfg.i
+data/src/share/classes/sun/awt/AWTCharset.java.i
data/test/javax/imageio/CachePremissionsTest/rwd.policy.i
+data/test/sun/java2d/SunGraphics2D/SimplePrimQuality.java.i
data/test/sun/tools/native2ascii/A2N_6247817.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java.i
data/test/java/util/ResourceBundle/Control/MalformedDataRB_en.properties.i
data/src/share/classes/java/lang/doc-files/javalang.doc.anc38.gif.i
-data/test/javax/sound/sampled/AudioFormat/PCM_FLOAT_support.java.i
+data/test/java/nio/file/WatchService/Basic.java.i
data/make/jprt.properties.i
-data/test/sun/net/www/http/HttpClient/RetryPost.sh.i
+data/src/share/demo/applets/GraphicsTest/GraphicsTest.java.i
data/test/java/beans/XMLEncoder/6777487/TestEncoder.java.i
data/src/share/native/java/lang/fdlibm/src/w_sqrt.c.i
data/test/java/rmi/transport/dgcDeadLock/TestImpl_Stub.java.i
data/src/share/native/sun/awt/image/jpeg/jidctflt.c.i
data/test/java/nio/Buffer/CopyDirect-X-Memory.java.i
-data/src/share/classes/javax/swing/undo/doc-files/UndoManager-3.gif.i
data/src/share/classes/javax/management/NotificationBroadcaster.java.i
data/test/java/util/Locale/serialized/java6locale___Java.i
data/src/share/classes/javax/swing/text/DefaultFormatterFactory.java.i
data/make/java/hpi/native/reorder-sparcv9.i
data/test/sun/security/ssl/sun/net/www/httpstest/AbstractCallback.java.i
-data/src/share/classes/javax/sql/rowset/spi/XmlWriter.java.i
+data/src/share/instrument/Utilities.h.i
data/src/share/classes/com/sun/tools/hat/internal/server/RootsQuery.java.i
-data/src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.cpp.i
+data/src/share/classes/sun/security/jgss/krb5/MicToken_v2.java.i
data/src/share/classes/javax/naming/NamingSecurityException.java.i
data/test/sun/jvmstat/perfdata/PrologSanity/PrologSizeSanityCheck.java.i
data/test/java/lang/Class/forName/classes/0.class.i
-data/src/share/classes/sun/security/krb5/internal/ccache/Credentials.java.i
+data/test/java/io/Serializable/proxy/replace/WriteReplace.java.i
data/src/share/classes/javax/accessibility/AccessibleHyperlink.java.i
-data/src/share/classes/java/awt/geom/Arc2D.java.i
+data/src/share/classes/javax/management/relation/RelationServiceNotRegisteredException.java.i
data/src/share/classes/javax/swing/JOptionPane.java.i
data/src/share/classes/sun/security/krb5/internal/LocalSeqNumber.java.i
data/src/share/classes/javax/imageio/metadata/IIOMetadata.java.i
data/src/share/native/sun/java2d/cmm/lcms/cmsplugin.c.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14NExclusive.java.i
+data/src/share/classes/java/rmi/UnexpectedException.java.i
data/src/share/classes/java/beans/beancontext/BeanContextServicesListener.java.i
+data/test/java/beans/XMLEncoder/6329581/Test6329581.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMManagers.java.i
data/src/share/classes/com/sun/nio/sctp/SendFailedNotification.java.i
data/src/share/classes/sun/io/ByteToCharCp1140.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_ar_JO.properties.i
-data/make/tools/swing-beans/beaninfo/images/JSpinnerMono32.gif.i
+data/src/share/classes/com/sun/imageio/plugins/common/I18N.java.i
data/src/share/classes/java/sql/RowId.java.i
data/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java.i
data/src/share/classes/javax/swing/plaf/synth/package.html.i
@@ -11894,59 +11961,62 @@ data/src/share/classes/javax/security/cert/Certificate.java.i
data/test/java/beans/PropertyEditor/TestIntegerTypeNull.java.i
data/make/common/Cscope.gmk.i
data/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolState.java.i
+data/src/share/classes/com/sun/tools/hat/README.txt.i
data/test/java/net/Authenticator/B4962064.java.i
data/src/share/classes/java/awt/event/ComponentListener.java.i
-data/src/share/classes/javax/sound/midi/MidiFileFormat.java.i
-data/src/share/classes/sun/nio/cs/ArrayDecoder.java.i
-data/src/share/classes/sun/text/resources/CollationData_vi.java.i
+data/test/java/lang/Math/WorstCaseTests.java.i
+data/test/java/net/URLClassLoader/sealing/Makefile.i
+data/src/share/native/sun/font/layout/GDEFMarkFilter.h.i
data/test/com/sun/crypto/provider/KeyGenerator/TestExplicitKeyLength.java.i
data/src/share/classes/sun/nio/cs/ext/MacCentralEurope.java.i
-data/make/tools/src/build/tools/javazic/Mappings.java.i
+data/src/share/classes/sun/util/resources/LocaleNames_hu.properties.i
data/test/java/nio/charset/spi/basic.sh.i
data/src/share/classes/java/util/concurrent/locks/AbstractQueuedSynchronizer.java.i
data/src/share/classes/sun/misc/ClassFileTransformer.java.i
-data/src/share/classes/java/io/ObjectOutput.java.i
-data/test/java/awt/font/TextLayout/TestHebrewMark.java.i
-data/make/sun/xawt/Makefile.i
+data/src/share/demo/jfc/Font2DTest/Font2DTest.html.i
+data/test/java/rmi/activation/Activatable/downloadParameterClass/manual.security.policy.i
data/test/java/math/BigDecimal/AddTests.java.i
data/make/netbeans/awt2d/build.properties.i
data/src/share/classes/javax/management/OperationsException.java.i
-data/src/share/native/sun/font/DrawGlyphList.c.i
+data/src/share/demo/nbproject/management/MemoryMonitor/nbproject/jdk.xml.i
data/src/share/native/sun/security/ec/ecc_impl.h.i
data/src/share/classes/sun/java2d/loops/GraphicsPrimitive.java.i
-data/src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java.i
+data/src/share/classes/com/sun/crypto/provider/DESedeKeyFactory.java.i
+data/make/tools/CharsetMapping/IBM863.map.i
data/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntIntInt.java.i
data/test/com/sun/crypto/provider/Cipher/CTS/CTSMode.java.i
data/src/share/classes/sun/misc/CEFormatException.java.i
-data/test/sun/security/util/DerOutputStream/LocaleInTime.java.i
+data/src/share/classes/javax/swing/plaf/RootPaneUI.java.i
data/test/java/awt/Focus/CloseDialogActivateOwnerTest/java.policy.i
data/src/windows/native/sun/java2d/windows/WinBackBufferSurfaceData.cpp.i
data/test/sun/security/pkcs11/KeyStore/ClientAuthData/secmod.db.i
data/src/share/classes/sun/management/snmp/jvmmib/JVM_MANAGEMENT_MIBOidTable.java.i
-data/test/javax/management/relation/RelationNotificationSourceTest.java.i
+data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextMeasureTests.java.i
data/src/windows/native/sun/net/spi/DefaultProxySelector.c.i
data/test/java/io/File/SetAccess.java.i
data/make/tools/src/build/tools/makeclasslist/MakeClasslist.java.i
+data/src/share/classes/java/sql/BatchUpdateException.java.i
data/src/solaris/classes/sun/awt/motif/MEmbedCanvasPeer.java.i
data/src/share/classes/sun/security/krb5/internal/KRBPriv.java.i
data/src/share/classes/java/awt/MenuComponent.java.i
-data/src/share/classes/sun/java2d/Disposer.java.i
+data/src/share/classes/java/awt/doc-files/GridBagLayout-baseline.png.i
data/src/share/classes/java/util/FormatterClosedException.java.i
+data/src/windows/classes/sun/java2d/d3d/D3DSurfaceDataProxy.java.i
data/test/javax/management/monitor/CounterMonitorThresholdTest.java.i
data/src/share/classes/sun/security/util/BitArray.java.i
data/make/tools/src/build/tools/jdwpgen/ByteTypeNode.java.i
-data/test/sun/tools/jps/usage.out.i
+data/src/share/classes/sun/tools/asm/NumberConstantData.java.i
data/src/share/classes/sun/awt/PaintEventDispatcher.java.i
data/src/linux/doc/man/jhat.1.i
data/src/share/native/java/util/zip/zlib-1.1.3/minigzip.c.i
-data/src/share/classes/javax/swing/event/RowSorterListener.java.i
+data/src/share/classes/sun/security/krb5/internal/LastReq.java.i
data/src/share/classes/javax/print/attribute/standard/DocumentName.java.i
data/src/share/classes/java/io/CharConversionException.java.i
-data/src/solaris/native/sun/awt/list.c.i
+data/src/share/native/sun/java2d/cmm/lcms/cmscam02.c.i
data/src/share/classes/javax/swing/plaf/metal/MetalTreeUI.java.i
-data/test/java/rmi/transport/rapidExportUnexport/RapidExportUnexport.java.i
+data/make/com/sun/security/Makefile.i
data/src/share/demo/jfc/CodePointIM/java.awt.im.spi.InputMethodDescriptor.i
-data/src/share/classes/sun/awt/event/IgnorePaintEvent.java.i
+data/test/java/math/BigDecimal/CompareToTests.java.i
data/test/java/lang/annotation/Missing/D.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java.i
data/make/javax/sound/Makefile.i
@@ -11954,84 +12024,88 @@ data/src/solaris/classes/sun/java2d/x11/X11SurfaceDataProxy.java.i
data/src/share/classes/sun/text/resources/FormatData_lv.java.i
data/src/share/classes/sun/tools/tree/NullExpression.java.i
data/src/share/native/sun/font/layout/OpenTypeTables.h.i
-data/src/share/lib/images/cursors/invalid32x32.gif.i
+data/test/java/util/ResourceBundle/Control/Bug6530694.java.i
data/src/share/classes/sun/io/ByteToCharCp943.java.i
-data/test/java/io/LineNumberReader/MarkReset.java.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/icons/DetailsView.gif.i
data/src/share/classes/sun/security/krb5/KrbCryptoException.java.i
data/test/javax/security/auth/login/Configuration/GetInstanceSecurity.java.i
-data/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVersion.java.i
+data/src/share/classes/com/sun/servicetag/package.html.i
data/test/java/io/RandomAccessFile/WriteBytesChars.java.i
-data/test/javax/sound/midi/Gervill/ModelStandardTransform/SetTransform.java.i
+data/src/share/classes/com/sun/jndi/ldap/PersistentSearchControl.java.i
data/src/share/classes/javax/net/ssl/X509ExtendedKeyManager.java.i
data/src/share/classes/javax/crypto/ExemptionMechanismException.java.i
data/test/javax/xml/crypto/dsig/GenerationTests.java.i
data/test/com/sun/jdi/ReferrersTest.java.i
-data/src/share/classes/javax/swing/plaf/basic/BasicComboBoxRenderer.java.i
-data/test/javax/sound/midi/Gervill/SoftFilter/TestProcessAudio.java.i
-data/src/share/classes/javax/print/PrintException.java.i
-data/src/share/native/sun/awt/medialib/mlib_c_ImageConvClearEdge.c.i
-data/src/share/classes/sun/text/resources/FormatData_sk_SK.java.i
+data/src/share/classes/sun/nio/cs/ext/Johab.java.i
+data/test/sun/rmi/rmic/newrmic/equivalence/run.sh.i
+data/src/share/classes/sun/reflect/InstantiationExceptionConstructorAccessorImpl.java.i
+data/test/javax/sound/midi/Gervill/ModelByteBuffer/WriteTo.java.i
+data/test/java/net/Inet6Address/IPv6AddressTypes.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/KeyStoreResolver.java.i
data/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierModelTransform.java.i
-data/src/share/classes/sun/util/resources/LocaleNames_zh.properties.i
+data/src/solaris/native/sun/nio/ch/FileKey.c.i
+data/src/share/classes/sun/util/CoreResourceBundleControl-XLocales.java.template.i
data/src/share/classes/javax/swing/JScrollPane.java.i
data/src/share/classes/java/lang/module/RequireOptionalModule.java.i
data/test/java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.html.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/NameSpaceSymbTable.java.i
-data/test/com/sun/servicetag/InvalidServiceTag.java.i
+data/test/sun/tools/jrunscript/hello.js.i
data/test/javax/crypto/Cipher/TestGetInstance.java.i
-data/src/share/classes/javax/net/ssl/SSLEngine.java.i
data/test/java/beans/PropertyChangeSupport/TestListeners.java.i
-data/test/java/io/Serializable/class/SerialA_2.java.i
+data/test/java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java.i
data/test/sun/net/www/protocol/ftp/UserAndPasswordTest.java.i
data/test/javax/sound/midi/Gervill/SoftTuning/Load2.java.i
data/test/sun/java2d/cmm/ColorConvertOp/ColConvTest.java.i
-data/src/share/classes/sun/security/provider/certpath/State.java.i
+data/test/sun/security/pkcs11/KeyStore/ClientAuthData/ibutton.cert.i
data/make/tools/src/build/tools/jdwpgen/AbstractNamedNode.java.i
data/src/share/classes/javax/swing/package.html.i
-data/src/share/classes/javax/swing/colorchooser/ColorSelectionModel.java.i
+data/src/share/classes/sun/nio/cs/ext/EUC_KR.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif.properties.i
-data/test/java/util/PluggableLocale/providersrc/LocaleNames_xx.properties.i
+data/src/share/classes/sun/java2d/pisces/Stroker.java.i
+data/src/share/classes/javax/management/MBeanOperationInfo.java.i
data/src/share/classes/com/sun/tools/example/debug/bdi/ExceptionSpec.java.i
-data/test/sun/management/jmxremote/bootstrap/jmxremote_test05_ko.access.in.i
+data/test/java/lang/instrument/MakeJAR3.sh.i
data/src/share/classes/javax/net/ssl/SSLProtocolException.java.i
-data/test/java/security/CodeSigner/Serialize.java.i
+data/src/share/classes/sun/security/x509/DNSName.java.i
data/src/share/classes/com/sun/beans/decoder/ValueObject.java.i
-data/test/tools/jar/JarEntryTime.java.i
data/test/java/util/concurrent/Phaser/TieredArriveLoops.java.i
data/src/share/classes/com/sun/jdi/request/ClassPrepareRequest.java.i
data/test/sun/rmi/rmic/newrmic/equivalence/NotActivatableInterface.java.i
data/test/sun/tools/jps/jps-q.sh.i
data/src/share/native/java/util/zip/zlib-1.1.3/example.c.i
+data/test/java/lang/management/ThreadMXBean/AllThreadIds.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315WithComments.java.i
data/test/javax/management/modelmbean/UnserializableTargetObjectTest.java.i
data/test/javax/management/context/LocaleAwareBroadcasterTest.java.i
data/src/share/classes/sun/misc/ServiceConfigurationError.java.i
-data/src/windows/classes/sun/awt/windows/ThemeReader.java.i
+data/test/javax/print/attribute/GetCopiesSupported.java.i
+data/src/share/classes/javax/management/namespace/MBeanServerConnectionWrapper.java.i
data/make/tools/src/build/tools/charsetmapping/GenerateDBCS.java.i
data/test/java/io/FilePermission/SpecTests.java.i
-data/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java.i
+data/test/java/rmi/server/RMIClassLoader/spi/InvalidProperty.java.i
data/test/java/lang/management/ThreadMXBean/LockedSynchronizers.java.i
-data/src/share/classes/javax/swing/border/LineBorder.java.i
+data/test/java/io/Serializable/enum/ignoreSerializationFields/Test.java.i
data/src/share/classes/java/lang/invoke/FilterOneArgument.java.i
data/test/com/sun/jdi/BadHandshakeTest.java.i
data/test/java/nio/channels/etc/Shadow.java.i
data/src/share/classes/sun/security/provider/certpath/SunCertPathBuilderResult.java.i
data/src/share/classes/sun/awt/Mutex.java.i
-data/src/share/native/sun/font/layout/AlternateSubstSubtables.h.i
data/src/windows/classes/sun/print/Win32PrintServiceLookup.java.i
data/src/share/classes/sun/text/resources/CollationData_pl.java.i
data/src/share/native/sun/security/pkcs11/wrapper/p11_digest.c.i
-data/test/java/io/Serializable/skippedObjCNFException/Write.java.i
+data/test/java/util/regex/POSIX_Unicode.java.i
data/test/javax/management/query/QueryDottedAttrTest.java.i
data/src/share/classes/java/net/Inet4AddressImpl.java.i
data/test/com/sun/jdi/NewInstanceTest.java.i
data/test/java/beans/PropertyEditor/TestColorClassNull.java.i
data/make/tools/CharsetMapping/IBM939.nr.i
data/test/java/text/Format/DateFormat/Bug4823811.java.i
+data/src/solaris/classes/sun/awt/X11/security-icon-bw48.png.i
data/test/javax/xml/crypto/dsig/data/signature-enveloping-hmac-sha1.xml.i
-data/make/common/Defs-solaris.gmk.i
+data/test/java/net/InetAddress/GetLocalHostWithSM.java.i
data/src/share/classes/com/sun/java/swing/plaf/nimbus/NimbusLookAndFeel.java.i
data/src/share/native/sun/awt/libpng/pngpread.c.i
+data/src/share/native/sun/awt/image/BufImgSurfaceData.h.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/resource/schema/xenc-schema.rng.i
data/src/share/classes/java/net/URISyntaxException.java.i
data/test/javax/swing/plaf/metal/MetalInternalFrameUI/Test6657026.java.i
@@ -12040,9 +12114,12 @@ data/make/common/shared/PrivateDefs.gmk-example.i
data/src/share/classes/javax/print/attribute/standard/PrinterMessageFromOperator.java.i
data/src/share/classes/sun/security/ssl/DHCrypt.java.i
data/src/share/classes/java/nio/file/package-info.java.i
+data/test/javax/management/Introspector/SetWrongTypeAttributeTest.java.i
data/src/share/classes/sun/management/resources/agent_zh_CN.properties.i
+data/src/solaris/classes/sun/nio/cs/ext/COMPOUND_TEXT_Encoder.java.i
data/src/share/back/debugDispatch.h.i
-data/src/share/native/sun/font/layout/LESwaps.h.i
+data/test/sun/security/action/Generify.java.i
+data/src/windows/native/sun/windows/awt_InputEvent.h.i
data/src/share/classes/java/dyn/MethodHandleStatics.java.i
data/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArray.java.i
data/test/sun/util/resources/Calendar/Bug4518811.java.i
@@ -12053,7 +12130,6 @@ data/src/share/classes/sun/security/provider/DigestBase.java.i
data/src/solaris/native/sun/awt/awt_TextArea.h.i
data/src/share/classes/java/awt/im/spi/InputMethodDescriptor.java.i
data/src/share/classes/sun/security/krb5/KrbKdcRep.java.i
-data/src/share/classes/sun/security/ssl/HelloExtensions.java.i
data/src/share/classes/java/nio/file/DirectoryStreamFilters.java.i
data/test/javax/management/proxy/ProxyObjectMethodsTest.java.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments.java.i
@@ -12072,14 +12148,14 @@ data/test/java/net/URL/ftp_urls.i
data/test/java/io/Serializable/wrongReturnTypes/Read.java.i
data/src/share/classes/sun/security/x509/RDN.java.i
data/test/java/rmi/server/serverStackTrace/Impl2_Stub.java.i
-data/make/tools/CharsetMapping/IBM420.nr.i
+data/src/share/classes/sun/io/CharToByteCp1145.java.i
data/src/share/classes/sun/swing/UIClientPropertyKey.java.i
data/test/javax/swing/JFileChooser/6550546/bug6550546.java.i
data/src/share/classes/sun/net/InetAddressCachePolicy.java.i
-data/src/windows/classes/sun/awt/windows/WEmbeddedFramePeer.java.i
+data/test/sun/nio/cs/OLD/IBM950_OLD.java.i
data/src/share/classes/java/awt/image/ComponentColorModel.java.i
data/test/sun/security/ssl/javax/net/ssl/SSLContextVersion.java.i
-data/src/share/classes/javax/sound/sampled/AudioInputStream.java.i
+data/test/javax/rmi/ssl/SSLSocketParametersTest.sh.i
data/src/share/demo/nbproject/jfc/SwingApplet/nbproject/file-targets.xml.i
data/src/share/classes/sun/net/ProgressEvent.java.i
data/test/sun/tools/jps/jps-Vvm_Output1.awk.i
@@ -12089,7 +12165,8 @@ data/src/share/classes/com/sun/jmx/interceptor/MBeanServerInterceptorSupport.jav
data/src/share/classes/sun/io/CharToByteTIS620.java.i
data/src/share/classes/javax/swing/plaf/DesktopIconUI.java.i
data/src/linux/doc/man/pack200.1.i
-data/src/share/classes/com/sun/jmx/interceptor/NamespaceDispatchInterceptor.java.i
+data/src/share/classes/sun/io/ByteToCharCp1146.java.i
+data/test/java/util/ResourceBundle/Control/PackagePrivateTest.java.i
data/src/solaris/classes/sun/print/UnixPrintServiceLookup.java.i
data/test/java/util/EnumSet/LargeEnumIteratorRemoveResilience.java.i
data/test/javax/swing/SwingWorker/6480289/bug6480289.java.i
@@ -12097,7 +12174,7 @@ data/src/share/instrument/JavaExceptions.h.i
data/src/share/demo/jvmti/minst/minst.h.i
data/test/java/nio/channels/Selector/Connect.java.i
data/test/java/beans/XMLEncoder/javax_swing_plaf_BorderUIResource_EmptyBorderUIResource.java.i
-data/make/javax/sound/jsoundalsa/Makefile.i
+data/src/share/classes/sun/util/resources/OpenListResourceBundle.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIU16S32Func.c.i
data/src/share/classes/javax/swing/colorchooser/ColorPanel.java.i
data/test/java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter.java.i
@@ -12105,53 +12182,58 @@ data/src/share/classes/com/sun/jmx/defaults/JmxProperties.java.i
data/test/sun/java2d/cmm/ColorConvertOp/ColorConvertTest.java.i
data/src/share/classes/java/util/concurrent/atomic/AtomicBoolean.java.i
data/src/share/classes/sun/tools/asm/FieldConstantData.java.i
-data/src/windows/native/sun/jkernel/graphics/cautionshield32.bmp.i
+data/make/tools/CharsetMapping/IBM937.c2b.i
data/src/share/native/sun/java2d/loops/Index12Gray.h.i
+data/src/solaris/native/sun/nio/ch/EPollPort.c.i
data/src/share/classes/com/sun/tools/hat/internal/model/JavaClass.java.i
data/make/modules/tools/src/com/sun/classanalyzer/ConstantPoolAnalyzer.java.i
data/test/java/io/charStreams/ABCInputStream.java.i
-data/test/sun/management/jmxremote/bootstrap/solaris-i586/launcher.i
data/src/share/classes/sun/font/Underline.java.i
data/src/share/demo/management/FullThreadDump/README.txt.i
data/test/java/rmi/transport/readTimeout/TestIface.java.i
data/test/java/lang/management/RuntimeMXBean/GetSystemProperties.java.i
data/test/sun/security/provider/KeyStore/pw.jks.i
data/src/share/classes/sun/text/resources/FormatData_ja.java.i
+data/src/share/classes/org/openjdk/internal/joptsimple/internal/ReflectionException.java.i
data/test/java/nio/file/Files/walkFileTree/grantTopOnly.policy.i
data/src/share/classes/sun/reflect/misc/ReflectUtil.java.i
+data/src/share/classes/org/openjdk/internal/joptsimple/internal/Classes.java.i
+data/test/javax/management/modelmbean/LoggingExceptionTest.java.i
data/test/java/util/concurrent/forkjoin/NQueensCS.java.i
+data/test/java/nio/charset/Charset/CharsetContainmentTest.java.i
data/test/java/util/jar/JarFile/JarNoManifest.java.i
data/test/java/awt/FontClass/CreateFont/DeleteFont.java.i
data/make/mkdemo/management/JTop/Makefile.i
data/src/share/native/sun/security/ec/impl/ec2_163.c.i
data/test/sun/security/pkcs11/nss/lib/solaris-sparc/libplc4.so.i
data/src/share/classes/sun/misc/Version.java.template.i
-data/test/javax/management/remote/mandatory/subjectDelegation/policy22.i
+data/test/sun/rmi/rmic/newrmic/equivalence/CountServerImpl.java.i
data/test/sun/rmi/rmic/classFileVersion/G1.java.i
data/src/solaris/native/sun/awt/awt_AWTEvent.h.i
data/test/com/sun/jdi/DeleteEventRequestsTest.java.i
data/src/share/demo/nbproject/management/JTop/nbproject/jdk.xml.i
-data/src/share/classes/sun/management/MemoryImpl.java.i
+data/src/solaris/transport/socket/socket_md.h.i
data/make/com/Makefile.i
-data/make/modules/tools/src/com/sun/classanalyzer/ClassAnalyzer.java.i
-data/src/share/classes/javax/swing/text/html/BRView.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ProtocolVersion/HttpsProtocols.java.i
data/src/share/native/sun/font/layout/LEInsertionList.h.i
data/src/share/classes/java/lang/Short.java.i
data/src/share/classes/javax/swing/text/html/HTMLWriter.java.i
data/test/com/sun/tools/attach/ProviderTest.java.i
-data/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java.i
+data/src/share/classes/sun/tools/tree/PreDecExpression.java.i
data/src/windows/transport/shmem/shmem_md.c.i
data/src/share/back/classTrack.c.i
data/src/share/classes/com/sun/jndi/ldap/LdapSearchEnumeration.java.i
+data/test/sun/security/pkcs11/KeyStore/BasicData/pk3.key.i
data/src/share/classes/sun/nio/cs/ext/IBM273.java.i
data/src/share/classes/java/dyn/MemberName.java.i
data/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_TW.properties.i
data/src/share/classes/javax/swing/text/MutableAttributeSet.java.i
data/src/share/classes/sun/util/resources/LocaleNames_sr.properties.i
+data/src/share/classes/sun/nio/ch/OptionKey.java.i
data/src/solaris/native/sun/awt/awt_mgrsel.h.i
data/test/java/security/cert/CertPathValidator/indirectCRL/CircularCRLTwoLevelRevoked.java.i
data/test/javax/management/MBeanInfo/NotificationInfoTest.java.i
-data/src/share/classes/java/security/cert/CollectionCertStoreParameters.java.i
+data/test/java/io/IOException/LastErrorString.java.i
data/test/javax/sound/midi/Gervill/SimpleInstrument/Clear.java.i
data/test/java/rmi/server/RMIClassLoader/useGetURLs/UseGetURLs.java.i
data/test/com/sun/jdi/OptionTest.java.i
@@ -12173,9 +12255,9 @@ data/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibRequest.java.i
data/src/share/native/sun/security/ec/ecl_mult.c.i
data/test/javax/sound/midi/Gervill/AudioFloatInputStream/Read.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11_OmitComments.java.i
-data/src/share/back/threadControl.c.i
+data/test/sun/security/util/Resources/Format.config.i
data/test/com/sun/security/auth/login/ConfigFile/InconsistentError.java.i
-data/make/sun/javazic/javatz/java_zone_ids.txt.i
+data/src/share/classes/javax/print/Doc.java.i
data/src/share/classes/com/sun/tools/jdi/MethodImpl.java.i
data/src/share/classes/sun/text/resources/FormatData_pl.java.i
data/src/share/classes/java/util/regex/ASCII.java.i
@@ -12188,7 +12270,6 @@ data/src/share/classes/sun/io/CharToByteCp1149.java.i
data/src/share/native/sun/awt/image/jpeg/jutils.c.i
data/src/share/classes/sun/tools/jconsole/PlotterPanel.java.i
data/src/share/classes/sun/reflect/UnsafeQualifiedStaticDoubleFieldAccessorImpl.java.i
-data/src/share/classes/javax/xml/crypto/dsig/keyinfo/KeyValue.java.i
data/src/solaris/doc/sun/man/man1/ja/jstat.1.i
data/test/javax/script/Test2.java.i
data/src/share/classes/javax/security/auth/kerberos/KerberosKey.java.i
@@ -12197,10 +12278,9 @@ data/src/share/classes/com/sun/java/swing/plaf/windows/icons/Directory.gif.i
data/test/java/lang/instrument/appendToClassLoaderSearch/BootSupport.java.i
data/src/share/classes/sun/security/x509/OIDMap.java.i
data/test/java/io/Unicode.java.i
-data/src/share/classes/javax/sql/RowSetMetaData.java.i
+data/test/java/util/Currency/currency.properties.i
data/test/java/util/concurrent/ConcurrentHashMap/LoopHelpers.java.i
data/test/javax/sound/midi/Gervill/SoftChannel/ProgramChange.java.i
-data/test/java/beans/XMLDecoder/spec/TestField.java.i
data/test/java/lang/Double/BitwiseConversion.java.i
data/test/sun/security/krb5/auto/NonMutualSpnego.java.i
data/src/solaris/doc/sun/man/man1/ja/wsgen.1.i
@@ -12211,6 +12291,7 @@ data/src/solaris/classes/sun/awt/X11/XDragSourceProtocolListener.java.i
data/src/share/classes/org/openjdk/jigsaw/JigsawModuleSystem.java.i
data/test/javax/management/MBeanServer/MBeanServerInvocationHandlerExceptionTest.java.i
data/test/java/awt/Mixing/LWPopupMenu.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipherInput.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageConvIndex3_8_16nw.c.i
data/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_es.properties.i
data/test/javax/swing/JColorChooser/Test4759934.html.i
@@ -12223,18 +12304,20 @@ data/test/java/util/Collections/ReverseOrder2.java.i
data/src/share/native/com/sun/media/sound/PlatformMidi.c.i
data/src/share/classes/com/sun/jmx/remote/internal/ServerNotifForwarder.java.i
data/src/windows/classes/sun/java2d/windows/GDIRenderer.java.i
+data/src/solaris/native/sun/xawt/XlibWrapper.c.i
data/src/share/classes/sun/font/FontStrike.java.i
data/src/share/classes/javax/sql/rowset/serial/SQLOutputImpl.java.i
data/test/sun/management/jmxremote/bootstrap/jmxremote_test04_ok.password.in.i
data/src/linux/doc/man/ja/keytool.1.i
+data/test/sun/security/smartcardio/TestMultiplePresent.java.i
+data/test/java/net/Socket/TrafficClass.java.i
data/src/share/classes/java/util/FormatFlagsConversionMismatchException.java.i
data/src/share/classes/java/nio/file/attribute/FileStoreAttributeView.java.i
+data/test/sun/security/pkcs11/Provider/ConfigQuotedString.java.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/AbstractMonitoredVm.java.i
data/src/share/classes/javax/smartcardio/Card.java.i
data/src/share/classes/sun/nio/cs/ext/MacGreek.java.i
-data/src/share/classes/javax/swing/DesktopManager.java.i
data/src/share/classes/sun/net/spi/nameservice/NameServiceDescriptor.java.i
-data/test/java/awt/Mixing/Validating.java.i
data/src/windows/native/sun/windows/awt_Dimension.h.i
data/test/java/math/BigDecimal/FloatDoubleValueTests.java.i
data/test/java/nio/file/Files/walkFileTree/PrintFileTree.java.i
@@ -12245,7 +12328,7 @@ data/src/share/back/classTrack.h.i
data/src/share/classes/javax/swing/plaf/basic/BasicTextFieldUI.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/internal/Strings.java.i
data/test/java/security/Provider/DefaultPKCS11.java.i
-data/src/share/classes/com/sun/net/httpserver/Filter.java.i
+data/src/share/classes/javax/swing/plaf/multi/MultiProgressBarUI.java.i
data/src/share/npt/utf.c.i
data/src/share/classes/sun/management/snmp/jvmmib/EnumJvmRTBootClassPathSupport.java.i
data/src/share/classes/com/sun/tools/hat/internal/model/JavaHeapObjectVisitor.java.i
@@ -12256,7 +12339,7 @@ data/make/tools/src/build/tools/jdwpgen/LongTypeNode.java.i
data/src/share/classes/javax/management/namespace/MBeanServerSupport.java.i
data/test/java/util/ResourceBundle/Test4314141B_fr.properties.i
data/src/share/native/sun/java2d/loops/IntRgbx.c.i
-data/src/share/classes/java/nio/charset/StandardCharset.java.i
+data/test/sun/java2d/pipe/hw/VSyncedBufferStrategyTest/VSyncedBufferStrategyTest.java.i
data/src/windows/native/sun/windows/ComCtl32Util.h.i
data/test/java/util/HashMap/KeySetRemove.java.i
data/src/windows/native/sun/jkernel/kernel_fr.rc.i
@@ -12265,8 +12348,8 @@ data/src/share/classes/com/sun/jdi/event/LocatableEvent.java.i
data/test/javax/swing/JFileChooser/6798062/bug6798062.java.i
data/src/share/classes/org/openjdk/jigsaw/FileConstants.java.i
data/test/java/rmi/activation/Activatable/checkActivateRef/group.security.policy.i
-data/src/windows/native/sun/windows/awt_Multimon.h.i
-data/test/java/rmi/reliability/benchmark/bench/serial/SmallObjTrees.java.i
+data/src/solaris/classes/sun/awt/X11/XScrollbar.java.i
+data/test/java/nio/file/Files/BytesAndLines.java.i
data/test/sun/rmi/transport/tcp/blockAccept/TestIface.java.i
data/test/javax/management/eventService/NotSerializableNotifTest.java.i
data/test/java/net/URLConnection/contentHandler/COM/foo/content/text/plain.java.i
@@ -12275,51 +12358,52 @@ data/make/sun/image/Makefile.i
data/src/share/classes/sun/security/pkcs11/P11TlsMasterSecretGenerator.java.i
data/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolType.java.i
data/test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport.java.i
-data/make/mksample/nio/Makefile.i
+data/test/sun/net/www/protocol/jar/foo.jar.i
data/src/solaris/native/sun/nio/ch/nio_util.h.i
data/src/share/classes/javax/management/event/EventClientDelegate.java.i
data/test/java/awt/Focus/RequestOnCompWithNullParent/RequestOnCompWithNullParent1.java.i
data/src/share/classes/com/sun/servicetag/resources/javase_6_swordfish.properties.i
data/src/share/classes/java/lang/NoSuchMethodException.java.i
data/src/share/classes/javax/swing/plaf/nimbus/doc-files/properties.html.i
-data/src/share/classes/sun/util/resources/CurrencyNames_es_BO.properties.i
data/src/share/classes/javax/swing/text/LayeredHighlighter.java.i
data/test/javax/management/MBeanInfo/SerializedMBeanInfo.java.i
data/test/java/beans/XMLEncoder/Test4993777.java.i
data/src/windows/native/sun/nio/ch/nio_util.h.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/GTKStyleFactory.java.i
+data/test/sun/tools/jstat/jstatGcOldOutput1.sh.i
data/src/share/classes/org/openjdk/internal/joptsimple/IllegalOptionClusterException.java.i
data/src/share/classes/java/io/DataOutput.java.i
data/src/share/classes/java/util/concurrent/LinkedTransferQueue.java.i
-data/src/solaris/doc/sun/man/man1/jstack.1.i
+data/make/common/shared/Compiler.gmk.i
data/src/share/instrument/FileSystemSupport.h.i
-data/test/com/sun/jdi/AllLineLocations.java.i
-data/src/share/classes/java/nio/channels/DatagramChannel.java.i
+data/src/share/classes/com/sun/servicetag/resources/register_ja.html.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmMemMgrPoolRelEntryMeta.java.i
-data/test/sun/net/idn/TestData.java.i
+data/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream2.java.i
data/src/share/classes/java/nio/file/attribute/AclEntryPermission.java.i
data/src/share/classes/javax/swing/RowSorter.java.i
data/test/java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java.i
-data/test/javax/swing/JSpinner/6463712/bug6463712.java.i
+data/test/sun/net/www/protocol/jar/B5105410.sh.i
data/test/com/sun/servicetag/servicetag5.properties.i
data/src/share/classes/sun/reflect/generics/tree/ClassSignature.java.i
data/test/java/io/BufferedReader/MarkedFillAtEOF.java.i
data/test/sun/rmi/rmic/manifestClassPath/Util.sh.i
data/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties.i
data/src/share/classes/java/nio/package.html.i
-data/make/sun/awt/FILES_c_windows.gmk.i
data/src/linux/doc/man/ja/klist.1.i
data/src/share/classes/org/openjdk/jigsaw/Configuration.java.i
data/src/share/classes/sun/security/krb5/internal/rcache/ReplayCache.java.i
-data/test/java/rmi/transport/readTimeout/security.policy.i
+data/test/java/rmi/activation/Activatable/restartLatecomer/RestartLatecomer.java.i
+data/src/share/classes/com/sun/media/sound/SoftJitterCorrector.java.i
data/test/sun/tools/jstat/gcPermCapacityOutput1.awk.i
+data/src/solaris/classes/java/lang/ProcessEnvironment.java.i
data/test/java/awt/regtesthelpers/Util.java.i
data/test/sun/util/resources/TimeZone/Bug4848242.java.i
data/test/sun/misc/JarIndex/metaInfFilenames/jarB/META-INF/services/no.name.service.i
data/src/share/classes/com/sun/jmx/snmp/internal/SnmpSubSystem.java.i
data/src/windows/native/sun/windows/WBufferStrategy.cpp.i
-data/test/tools/launcher/MultipleJRE.sh.i
+data/test/java/util/concurrent/locks/Lock/FlakyMutex.java.i
data/src/share/classes/javax/xml/crypto/dsig/Manifest.java.i
+data/test/tools/pack200/pack200-verifier/src/sun/tools/pack/verify/Globals.java.i
data/src/share/classes/com/sun/net/httpserver/HttpHandler.java.i
data/test/java/awt/FontClass/LCDScale.java.i
data/src/share/classes/sun/security/x509/CRLExtensions.java.i
@@ -12328,10 +12412,9 @@ data/src/share/classes/java/awt/datatransfer/FlavorTable.java.i
data/src/share/native/sun/java2d/loops/Index8Gray.h.i
data/src/share/classes/javax/accessibility/AccessibleStateSet.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ReuseAddr.java.i
-data/src/share/classes/javax/swing/AbstractSpinnerModel.java.i
+data/src/solaris/classes/sun/awt/X11/XRootWindow.java.i
data/src/share/classes/javax/net/ssl/SSLServerSocket.java.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpS32U16Func.c.i
-data/src/share/classes/sun/text/resources/FormatData_sr_CS.java.i
+data/src/share/classes/javax/management/openmbean/InvalidKeyException.java.i
data/src/solaris/hpi/native_threads/include/threads_md.h.i
data/make/tools/src/build/tools/jdwpgen/ReferenceTypeNode.java.i
data/test/sun/net/www/protocol/http/BasicLongCredentials.java.i
@@ -12339,9 +12422,9 @@ data/test/java/io/Serializable/resolveClass/deserializeButton/Foo.java.i
data/test/javax/sql/rowset/serial/SerialBlob/SetBinaryStream.java.i
data/test/javax/management/openmbean/NullConstructorParamsTest.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsToolBarSeparatorUI.java.i
-data/src/share/classes/javax/smartcardio/CommandAPDU.java.i
data/src/windows/native/sun/java2d/d3d/D3DBlitLoops.h.i
-data/src/share/classes/com/sun/java/swing/plaf/motif/MotifIconFactory.java.i
+data/src/share/classes/javax/xml/crypto/dsig/keyinfo/KeyValue.java.i
+data/test/javax/swing/JScrollBar/4865918/bug4865918.java.i
data/src/share/back/MethodImpl.h.i
data/src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java.i
data/src/solaris/classes/sun/awt/X11/XMenuItemPeer.java.i
@@ -12350,13 +12433,14 @@ data/test/java/rmi/reliability/benchmark/bench/rmi/CharArrayCalls.java.i
data/test/sun/nio/cs/UkrainianIsNotRussian.java.i
data/make/common/internal/BinaryPlugs.gmk.i
data/src/share/classes/java/io/SerializablePermission.java.i
+data/src/share/classes/com/sun/tools/jdi/PacketStream.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmMemManagerTableMeta.java.i
data/src/share/classes/sun/io/ByteToCharMacThai.java.i
data/src/share/classes/java/lang/IndexOutOfBoundsException.java.i
data/src/share/classes/com/sun/tools/jdi/MirrorImpl.java.i
-data/src/windows/classes/sun/awt/windows/WMenuPeer.java.i
+data/test/sun/security/provider/PolicyParser/PrincipalExpansionErrorAction.java.i
data/test/sun/security/ssl/javax/net/ssl/TLSv11/ExportableBlockCipher.java.i
-data/test/javax/management/namespace/namespace.policy.i
+data/src/share/classes/java/lang/RuntimePermission.java.i
data/make/sun/javazic/tzdata/solar87.i
data/src/solaris/classes/sun/java2d/xr/XRSurfaceData.java.i
data/src/share/classes/sun/nio/cs/ext/ISO_8859_11.java.i
@@ -12364,19 +12448,19 @@ data/test/sun/rmi/rmic/covariantReturns/run.sh.i
data/src/share/classes/sun/security/provider/SHA5.java.i
data/src/share/classes/sun/text/normalizer/SymbolTable.java.i
data/test/sun/management/jmxremote/bootstrap/ssl/keystore.i
+data/test/sun/security/pkcs11/nss/lib/solaris-amd64/libnss3.so.d
data/test/java/awt/Window/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java.i
data/src/windows/classes/sun/awt/shell/Win32ShellFolder2.java.i
data/src/windows/classes/sun/nio/fs/WindowsChannelFactory.java.i
data/src/share/native/java/util/TimeZone.c.i
data/make/tools/src/build/tools/charsetmapping/GenerateMapping.java.i
-data/src/share/classes/javax/swing/plaf/synth/SynthParser.java.i
-data/test/sun/tools/jstat/jstatGcOldOutput1.sh.i
+data/src/share/classes/java/util/UUID.java.i
data/src/share/classes/javax/management/relation/RelationTypeSupport.java.i
data/src/share/classes/java/net/ContentHandler.java.i
data/test/java/awt/FontClass/SurrogateTest/SupplementaryCanDisplayUpToTest.java.i
data/src/solaris/doc/sun/man/man1/ja/rmiregistry.1.i
-data/test/javax/print/applet/applet0/Applet0.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NonAutoClose.java.i
+data/test/javax/sound/midi/File/SMPTESequence.java.i
+data/src/solaris/sample/dtrace/hotspot_jni/README.txt.i
data/test/java/io/LineNumberReader/Skip.java.i
data/src/share/classes/sun/util/resources/TimeZoneNames_sv.java.i
data/test/sun/misc/Safe.java.i
@@ -12384,7 +12468,7 @@ data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/XPathFuncH
data/test/java/security/KeyStore/EntryMethods.pre15.keystore.i
data/test/java/io/Serializable/parents/EvolvedClass.java.i
data/src/share/classes/com/sun/security/auth/UnixNumericGroupPrincipal.java.i
-data/src/share/native/sun/java2d/loops/AnyByte.h.i
+data/src/share/classes/com/sun/jmx/interceptor/NamespaceDispatchInterceptor.java.i
data/src/solaris/classes/sun/awt/X11/MotifColorUtilities.java.i
data/test/java/lang/AssertionError/Cause.java.i
data/test/sun/security/pkcs11/nss/db/secmod.db.i
@@ -12392,47 +12476,47 @@ data/src/share/classes/sun/nio/cs/UTF_32LE_BOM.java.i
data/src/solaris/native/sun/awt/jawt.c.i
data/src/share/classes/com/sun/jndi/ldap/VersionHelper12.java.i
data/src/share/classes/sun/util/resources/CalendarData_en_MT.properties.i
-data/src/share/native/sun/java2d/loops/IntRgb.c.i
+data/test/java/net/URL/Equals.java.i
data/src/share/classes/com/sun/jmx/snmp/internal/SnmpTools.java.i
data/src/share/demo/nbproject/management/VerboseGC/nbproject/jdk.xml.i
-data/src/share/classes/javax/print/attribute/DocAttributeSet.java.i
-data/src/share/classes/sun/tools/asm/LocalVariableTable.java.i
+data/test/javax/management/mxbean/InvalidMXBeanRegistrationTest.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_tr_TR.properties.i
+data/src/share/classes/sun/print/CustomMediaSizeName.java.i
data/test/java/lang/instrument/NativeMethodPrefixAgent.java.i
data/src/share/classes/sun/font/BidiUtils.java.i
+data/src/share/classes/java/rmi/registry/RegistryHandler.java.i
data/src/share/classes/com/sun/media/sound/WaveFileFormat.java.i
data/test/com/sun/crypto/provider/Cipher/AES/Test4517355.java.i
data/test/java/lang/instrument/RedefineClassesDisabledTest.java.i
-data/src/share/classes/sun/nio/cs/ext/ISO2022_JP_2.java.i
-data/src/share/classes/sun/security/krb5/internal/SeqNumber.java.i
+data/src/share/classes/com/sun/beans/decoder/ValueObjectImpl.java.i
data/src/share/sample/vm/clr-jvm/jinvoker.cpp.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ServerTimeout.java.i
data/test/java/io/Serializable/InvalidClassException/noargctor/NonSerialize/PublicCtor.java.i
+data/src/share/classes/sun/security/tools/PolicyTool.java.i
data/test/java/beans/XMLEncoder/Test4994637.java.i
data/src/share/classes/sun/nio/cs/ext/JIS_X_0208_MS5022X_Decoder.java.i
+data/src/share/classes/com/sun/jndi/cosnaming/CorbanameUrl.java.i
data/src/share/classes/sun/font/Script.java.i
-data/test/javax/management/modelmbean/ExoticTargetTypeTest.java.i
+data/src/windows/classes/sun/java2d/d3d/D3DTextRenderer.java.i
+data/src/share/classes/sun/security/krb5/internal/ccache/CCacheOutputStream.java.i
data/src/share/classes/javax/imageio/metadata/IIOMetadataFormat.java.i
-data/make/tools/src/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java.i
-data/test/java/awt/im/InputContext/bug4625203.java.i
+data/test/java/math/BigDecimal/PowTests.java.i
data/test/sun/security/provider/PolicyFile/TokenStore.java.i
data/test/sun/tools/jrunscript/jrunscript-eTest.sh.i
-data/test/sun/security/ssl/javax/net/ssl/TLSv11/EmptyCertificateAuthorities.java.i
data/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankFile.java.i
data/src/share/classes/sun/jkernel/KernelError.java.i
data/make/java/net/mapfile-vers.i
data/test/javax/sound/midi/Gervill/SoftChannel/Mute.java.i
data/src/share/classes/java/awt/peer/LightweightPeer.java.i
-data/src/share/classes/java/text/BreakDictionary.java.i
+data/src/share/classes/sun/security/tools/JarSignerResources.java.i
data/src/solaris/native/java/lang/ProcessEnvironment_md.c.i
data/test/java/awt/MenuBar/MenuBarSetFont/MenuBarSetFont.java.i
data/test/com/sun/servicetag/missing-environ-field.xml.i
-data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/LocalVmManager.java.i
-data/test/sun/security/jgss/spnego/NegTokenTargFields.java.i
+data/test/sun/tools/jstatd/usage.out.i
data/src/share/classes/javax/swing/text/html/parser/Entity.java.i
-data/src/share/classes/sun/text/resources/FormatData_ms.java.i
-data/test/sun/tools/jrunscript/Hello.java.i
data/src/share/classes/javax/sql/RowSetReader.java.i
data/src/share/classes/sun/security/tools/KeyTool.java.i
+data/src/share/classes/sun/util/resources/LocaleNames_hr.properties.i
data/src/share/classes/javax/management/modelmbean/ModelMBeanNotificationInfo.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_mk_MK.properties.i
data/test/javax/management/remote/mandatory/notif/NotificationSender.java.i
@@ -12441,22 +12525,22 @@ data/make/netbeans/world/README.i
data/test/java/nio/channels/Pipe/ScatteringRead.java.i
data/test/java/util/zip/ZipFile/ReadLongZipFileName.java.i
data/src/share/classes/javax/swing/event/CellEditorListener.java.i
-data/test/javax/sound/midi/Gervill/SoftChannel/SoftTestUtils.java.i
+data/make/javax/sound/jsoundalsa/Makefile.i
data/src/share/classes/sun/io/CharToByteCp273.java.i
data/src/share/classes/java/awt/image/DataBufferDouble.java.i
-data/test/sun/net/www/MarkResetTest.java.i
+data/src/solaris/native/sun/font/X11FontScaler.c.i
data/src/windows/javavm/export/jvm_md.h.i
-data/test/sun/java2d/SunGraphics2D/SourceClippingBlitTest/SourceClippingBlitTest.java.i
data/src/windows/native/sun/jkernel/version.rc.i
data/src/share/classes/sun/security/timestamp/TSResponse.java.i
data/src/share/classes/com/sun/jndi/url/ldap/ldapURLContextFactory.java.i
+data/src/share/classes/com/sun/jmx/snmp/agent/SnmpMib.java.i
data/test/com/sun/crypto/provider/Cipher/KeyWrap/XMLEncKAT.java.i
data/src/share/classes/sun/management/jmxremote/package.html.i
data/src/share/classes/java/beans/Encoder.java.i
data/src/share/classes/java/nio/file/attribute/AclEntryFlag.java.i
-data/src/share/classes/sun/nio/fs/Globs.java.i
+data/src/share/classes/sun/awt/event/IgnorePaintEvent.java.i
data/src/share/classes/java/awt/peer/CheckboxPeer.java.i
-data/src/share/classes/sun/security/ssl/Record.java.i
+data/test/sun/java2d/cmm/ColorConvertOp/GRAY.png.i
data/src/share/classes/sun/text/resources/CollationData_sv.java.i
data/make/netbeans/common/architectures/name-SunOS.properties.i
data/src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipPath.java.i
@@ -12465,14 +12549,12 @@ data/test/sun/security/pkcs11/nss/p11-deimos.txt.i
data/src/share/classes/javax/swing/DefaultFocusManager.java.i
data/src/share/classes/sun/invoke/util/VerifyType.java.i
data/src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java.i
-data/test/sun/net/www/protocol/http/ChunkedErrorStream.java.i
-data/test/java/nio/file/Files/PassThroughFileSystem.java.i
data/src/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java.i
-data/make/tools/generate_break_iterator/Makefile.i
-data/test/java/awt/Focus/TranserFocusToWindow/TranserFocusToWindow.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NonAutoClose.java.i
+data/test/com/sun/jdi/ListenAddress.java.i
data/make/tools/CharsetMapping/IBM871.c2b.i
data/src/share/classes/javax/swing/JLayer.java.i
-data/test/java/lang/StrictMath/HyperbolicTests.java.i
+data/src/share/native/sun/font/layout/MarkToBasePosnSubtables.h.i
data/src/windows/native/java/util/TimeZone_md.c.i
data/src/share/classes/sun/java2d/pipe/GeneralCompositePipe.java.i
data/test/javax/management/remote/mandatory/connection/ConnectionListenerNullTest.java.i
@@ -12488,9 +12570,9 @@ data/src/share/classes/sun/nio/cs/ext/MacHebrew.java.i
data/src/windows/classes/com/sun/tools/jdi/SharedMemoryTransportService.java.i
data/src/share/classes/sun/io/ByteToCharCp1255.java.i
data/src/share/classes/javax/naming/MalformedLinkException.java.i
-data/test/java/net/URL/Equals.java.i
-data/test/com/sun/net/httpserver/bugs/B6424196.java.i
-data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/rmi/package.html.i
+data/src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h.i
+data/src/share/classes/sun/awt/dnd/SunDragSourceContextPeer.java.i
+data/make/jpda/transport/socket/mapfile-vers.i
data/test/java/rmi/transport/httpSocket/HttpSocketTest_Stub.java.i
data/make/tools/reorder/tests/Hello.java.i
data/src/share/classes/sun/security/ssl/SSLSessionImpl.java.i
@@ -12499,7 +12581,6 @@ data/src/share/demo/applets/BarChart/example2.html.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperty.java.i
data/test/java/awt/FullScreen/MultimonFullscreenTest/MultimonFullscreenTest.java.i
data/test/sun/security/tools/keytool/PrintSSL.java.i
-data/make/javax/swing/plaf/FILES.gmk.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/HandshakeOutStream/NullCerts.java.i
data/src/share/classes/com/sun/imageio/plugins/common/ImageUtil.java.i
data/src/solaris/hpi/native_threads/src/condvar_md.c.i
@@ -12509,24 +12590,22 @@ data/src/share/classes/sun/security/ssl/Handshaker.java.i
data/make/tools/src/build/tools/generatenimbus/UIStyle.java.i
data/src/share/classes/sun/reflect/generics/tree/SimpleClassTypeSignature.java.i
data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/Makefile.i
-data/src/share/classes/sun/nio/ch/PollSelectorProvider.java.i
-data/src/share/classes/sun/print/PrintJobAttributeException.java.i
+data/src/share/classes/javax/swing/undo/UndoableEdit.java.i
+data/src/windows/classes/sun/java2d/windows/GDIWindowSurfaceData.java.i
data/src/share/classes/com/sun/media/sound/SoftProvider.java.i
data/test/sun/security/x509/X500Name/RDNwithMultipleAVAs.java.i
data/make/sun/jawt/Makefile.i
-data/src/share/classes/javax/print/attribute/Size2DSyntax.java.i
data/test/com/sun/tracing/BasicFunctionality.java.i
-data/test/java/io/IOException/LastErrorString.java.i
+data/src/share/classes/com/sun/jmx/snmp/internal/SnmpSecurityCache.java.i
data/test/sun/tools/jstat/lineCounts1.awk.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageFilters.c.i
-data/test/javax/swing/JSlider/6794831/bug6794831.java.i
data/test/java/nio/channels/Channels/Basic2.java.i
data/src/share/classes/sun/tools/jstat/JStatLogger.java.i
data/src/share/classes/sun/net/www/http/HttpCapture.java.i
data/test/java/math/BigDecimal/RoundingTests.java.i
data/test/java/nio/channels/Selector/RegAfterPreClose.java.i
data/test/java/io/Serializable/resolveClass/consTest/Boot.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/ServerHandler.java.i
+data/test/javax/sound/midi/Gervill/SoftTuning/Load1.java.i
data/src/share/native/sun/java2d/pipe/SpanIterator.h.i
data/src/share/classes/sun/util/locale/Extension.java.i
data/test/java/awt/Focus/WrongKeyTypedConsumedTest/WrongKeyTypedConsumedTest.java.i
@@ -12539,16 +12618,17 @@ data/src/share/classes/java/util/concurrent/package-info.java.i
data/src/share/native/sun/java2d/loops/AlphaMacros.h.i
data/test/java/lang/instrument/TestClass1.java.i
data/src/solaris/hpi/native_threads/src/threads_linux.c.i
-data/src/share/classes/javax/swing/plaf/synth/SynthSpinnerUI.java.i
+data/test/java/nio/file/WatchService/LotsOfEvents.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextUI.java.i
data/test/demo/jvmti/Hello.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_pl_PL.properties.i
data/src/share/classes/java/io/FilterInputStream.java.i
data/test/sun/security/tools/keytool/selfissued.sh.i
data/test/com/sun/crypto/provider/TLS/masterdata.txt.i
-data/src/share/classes/com/sun/media/sound/ModelStandardIndexedDirector.java.i
+data/test/com/sun/jdi/VMDeathRequestTest.java.i
data/src/share/classes/java/net/ServerSocket.java.i
-data/test/sun/rmi/server/MarshalOutputStream/marshalForeignStub/MarshalForeignStub.java.i
+data/src/share/classes/com/sun/jmx/snmp/agent/SnmpUserDataFactory.java.i
+data/test/java/awt/Dialog/CrashXCheckJni/CrashXCheckJni.java.i
data/test/java/util/Arrays/Correct.java.i
data/test/javax/security/auth/login/LoginContext/DefaultHandlerModule.java.i
data/src/share/classes/javax/swing/JEditorPane.java.i
@@ -12559,42 +12639,43 @@ data/src/share/classes/sun/tools/asm/NameAndTypeConstantData.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.java.i
data/test/java/util/PluggableLocale/providersrc/LocaleNames_ja.properties.i
data/src/share/classes/java/awt/event/package.html.i
+data/test/java/security/KeyStore/KeyStoreBuilder.java.i
+data/src/share/classes/java/dyn/FilterOneArgument.java.i
data/test/javax/security/auth/PrivateCredentialPermission/Subset.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsInternalFrameUI.java.i
+data/test/sun/management/jmxremote/bootstrap/Utils.java.i
data/test/java/rmi/reliability/benchmark/runSerialBench.sh.i
data/test/javax/xml/crypto/dsig/data/exc-signature.xml.i
data/src/share/classes/java/nio/file/OpenOption.java.i
+data/test/java/net/InetSocketAddress/CreateUnresolved.java.i
data/test/sun/security/provider/KeyStore/WrongPassword.java.i
data/test/javax/script/UnescapedBracketRegExTest.java.i
-data/src/share/classes/sun/reflect/UnsafeQualifiedIntegerFieldAccessorImpl.java.i
-data/test/javax/management/remote/mandatory/provider/META-INF/services/javax.management.remote.JMXConnectorServerProvider.i
-data/test/sun/security/provider/PolicyParser/p002.policy.i
+data/src/share/classes/sun/tools/tree/BinaryAssignExpression.java.i
+data/src/share/classes/javax/swing/colorchooser/ColorSelectionModel.java.i
data/test/sun/rmi/runtime/Log/checkLogging/CheckLogging.java.i
data/test/sun/management/jmxremote/bootstrap/management_ssltest14_ko.properties.in.i
data/src/share/classes/java/util/Arrays.java.i
data/test/sun/security/rsa/TestKeyPairGenerator.java.i
data/test/java/security/Provider/Turkish.java.i
-data/test/java/lang/reflect/Method/invoke/IllegalAccessInInvoke.java.i
+data/src/share/native/sun/security/ec/ecl.h.i
data/test/java/util/concurrent/BlockingQueue/CancelledProducerConsumerLoops.java.i
data/src/share/classes/com/sun/jdi/request/DuplicateRequestException.java.i
data/src/share/classes/sun/text/resources/FormatData_vi.java.i
data/test/java/net/URL/RelativePath.java.i
-data/test/java/util/ResourceBundle/ReferencesTestBundle.properties.i
-data/make/common/Release.gmk.i
+data/src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java.i
data/test/java/rmi/activation/Activatable/downloadParameterClass/Foo.java.i
data/test/java/beans/PropertyEditor/TestBooleanClassJava.java.i
data/src/share/classes/sun/security/krb5/internal/crypto/Aes256.java.i
data/src/share/demo/jvmti/hprof/hprof_check.h.i
data/src/share/classes/sun/dyn/AdapterMethodHandle.java.i
data/src/share/classes/javax/imageio/metadata/doc-files/standard_metadata.html.i
-data/src/share/classes/sun/security/provider/certpath/CollectionCertStore.java.i
+data/test/javax/management/ObjectName/DelegateNameWildcardNameTest.java.i
data/test/java/nio/channels/spi/AsynchronousChannelProvider/Provider1.java.i
data/test/java/awt/Focus/OwnedWindowFocusIMECrashTest/OwnedWindowFocusIMECrashTest.java.i
-data/src/share/classes/javax/naming/NameImpl.java.i
data/src/share/classes/javax/sql/rowset/serial/package.html.i
data/test/tools/pack200/UnpackerMemoryTest.java.i
-data/test/javax/management/MBeanServer/NotifDeadlockTest.java.i
-data/src/share/classes/sun/io/CharToByteUnicodeLittleUnmarked.java.i
+data/src/share/classes/javax/print/attribute/PrintJobAttribute.java.i
+data/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankFile.java.i
data/src/share/classes/sun/tracing/dtrace/DTraceProvider.java.i
data/test/sun/rmi/transport/tcp/blockAccept/TestImpl.java.i
data/test/Makefile.i
@@ -12603,6 +12684,7 @@ data/src/share/sample/jmx/jmx-scandir/docfiles/scandir-config.jpg.i
data/make/tools/swing-beans/beaninfo/images/JLabelMono32.gif.i
data/test/java/awt/GraphicsEnvironment/LoadLock/GE_init4.java.i
data/make/tools/CharsetMapping/IBM775.map.i
+data/src/share/classes/com/sun/tools/hat/internal/util/ArraySorter.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java.i
data/src/share/classes/com/sun/jmx/snmp/daemon/CommunicationException.java.i
data/src/share/classes/sun/text/resources/FormatData_ms_MY.java.i
@@ -12614,16 +12696,17 @@ data/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java.i
data/test/javax/management/namespace/RoutingServerProxyTest.java.i
data/src/share/classes/sun/invoke/util/Wrapper.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14N11_WithComments.java.i
-data/src/share/classes/java/awt/font/OpenType.java.i
+data/src/share/native/sun/font/layout/GlyphDefinitionTables.h.i
data/src/share/demo/jvmti/hprof/hprof_class.h.i
data/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/ComKeyManagerFactoryImpl.java.i
data/src/share/native/sun/java2d/loops/FourByteAbgrPre.h.i
data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/SSLEngineResultArgs.java.i
+data/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLong.java.i
data/src/share/classes/com/sun/tools/example/debug/expr/Expr.jj.i
data/test/sun/net/www/protocol/file/GetContentType.java.i
data/test/javax/print/StreamPrintingOrientation.java.i
data/src/share/native/sun/awt/medialib/mlib_c_ImageLookUp.h.i
-data/src/share/classes/javax/management/namespace/JMXNamespace.java.i
+data/test/java/awt/GridBagLayout/GridBagLayoutIpadXYTest/GridBagLayoutIpadXYTest.java.i
data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirConfig.java.i
data/src/share/classes/javax/management/relation/RelationSupport.java.i
data/test/sun/security/provider/PolicyParser/AvoidPropertyExpansionExceptions.java.i
@@ -12633,9 +12716,10 @@ data/src/share/native/sun/font/layout/ValueRecords.h.i
data/src/share/native/sun/awt/medialib/mlib_ImageConvEdge.h.i
data/src/share/classes/javax/print/attribute/PrintRequestAttributeSet.java.i
data/src/solaris/native/sun/awt/awt_AWTEvent.c.i
-data/src/share/classes/java/nio/channels/Selector.java.i
+data/src/windows/native/sun/java2d/windows/ddrawObject.h.i
data/src/share/classes/sun/java2d/loops/ScaledBlit.java.i
data/test/java/io/charStreams/Cat.java.i
+data/test/sun/security/ssl/README.i
data/src/windows/native/sun/windows/UnicowsLoader.h.i
data/src/share/classes/sun/io/CharToByteCp865.java.i
data/src/share/classes/java/security/GeneralSecurityException.java.i
@@ -12646,11 +12730,10 @@ data/src/share/classes/javax/swing/plaf/synth/SynthMenuItemLayoutHelper.java.i
data/src/share/classes/java/lang/ArithmeticException.java.i
data/test/sun/rmi/rmic/newrmic/equivalence/Orange.java.i
data/src/share/classes/javax/management/ClassAttributeValueExp.java.i
-data/src/share/classes/sun/util/resources/CurrencyNames_pt_PT.properties.i
+data/test/java/util/zip/TestEmptyZip.java.i
data/test/java/lang/instrument/NamedBuffer.java.i
data/src/share/native/sun/font/layout/SimpleArrayProcessor.cpp.i
data/test/sun/security/krb5/auto/basic.sh.i
-data/test/java/dyn/6991596/Test6991596.java.i
data/src/windows/native/sun/jkernel/kernel_pt_BR.rc.i
data/test/java/lang/System/ExitFinalizersAndJIT.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_es_PA.properties.i
@@ -12664,37 +12747,36 @@ data/src/share/classes/java/io/CharArrayReader.java.i
data/test/sun/tools/jps/jps-lm.sh.i
data/src/share/classes/javax/management/remote/IdentityMBeanServerForwarder.java.i
data/src/share/classes/sun/awt/geom/Order3.java.i
+data/test/javax/script/DummyScriptEngine.java.i
data/src/share/back/invoker.c.i
data/test/sun/management/jmxremote/bootstrap/Makefile.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transform.java.i
data/src/share/classes/com/sun/servicetag/SolarisSystemEnvironment.java.i
-data/src/share/classes/sun/jvmstat/monitor/remote/BufferedMonitoredVm.java.i
-data/src/share/classes/sun/dyn/util/ValueConversions.java.i
+data/test/java/beans/XMLEncoder/Test6921644.java.i
data/test/java/awt/Focus/TypeAhead/TestFocusFreeze.java.i
-data/make/tools/swing-beans/beaninfo/images/JEditorPaneColor16.gif.i
data/test/java/lang/instrument/RedefineClassWithNativeMethodApp.java.i
data/test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/ShutdownImpl_Stub.java.i
data/test/javax/swing/JColorChooser/Test4380468.html.i
data/test/javax/management/remote/mandatory/util/CacheMapTest.java.i
+data/src/share/classes/sun/tools/jcmd/Arguments.java.i
data/test/java/util/Formatter/BasicBigDecimal.java.i
data/test/java/security/Security/removing/RemoveStaticProvider.policy.i
-data/src/share/classes/java/lang/Shutdown.java.i
data/test/java/beans/XMLEncoder/6380849/Bean.java.i
data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/java.policy.pass.i
data/test/java/net/URLClassLoader/jars/class_path_test.jar.i
data/test/javax/xml/crypto/dsig/data/signature-enveloping-hmac-sha1-trunclen-8-attack.xml.i
-data/test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.sh.i
data/test/java/rmi/reliability/benchmark/bench/serial/GetPutFieldTrees.java.i
data/src/share/classes/sun/java2d/loops/DrawGlyphListLCD.java.i
-data/test/java/awt/Component/isLightweightCrash/IsLightweightCrash.java.i
+data/src/share/classes/java/lang/InstantiationError.java.i
data/src/share/classes/sun/net/ftp/FtpClientProvider.java.i
data/src/share/classes/com/sun/security/auth/NTSidDomainPrincipal.java.i
data/src/share/native/sun/security/ec/mplogic.h.i
data/test/sun/security/x509/X500Name/DerValueConstructor.java.i
+data/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Close.java.i
data/src/share/classes/java/net/package.html.i
data/src/share/classes/sun/net/spi/DefaultProxySelector.java.i
-data/test/sun/rmi/rmic/newrmic/equivalence/run.sh.i
-data/src/share/classes/sun/io/ByteToCharDBCS_EBCDIC.java.i
+data/test/java/rmi/transport/readTimeout/security.policy.i
+data/test/java/lang/String/CaseInsensitiveComparator.java.i
data/test/java/util/Collections/CheckedMapBash.java.i
data/src/share/classes/javax/sql/rowset/serial/SerialException.java.i
data/test/java/io/Serializable/finalFields/FinalFields.java.i
@@ -12704,9 +12786,9 @@ data/src/share/classes/java/nio/channels/ByteChannel.java.i
data/test/java/net/MulticastSocket/SetTTLAndGetTTL.java.i
data/src/share/classes/com/sun/tools/example/README.i
data/test/java/beans/Introspector/4520754/Wombat.java.i
-data/src/share/classes/com/sun/java/swing/plaf/motif/MotifMenuBarUI.java.i
+data/test/java/util/PluggableLocale/BreakIteratorProviderTest.java.i
data/src/share/classes/java/awt/geom/CubicCurve2D.java.i
-data/test/java/net/CookieHandler/B6644726.java.i
+data/test/java/nio/Buffer/CopyDirectIntMemory.java.i
data/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBooleanInt.java.i
data/test/com/sun/net/httpserver/Test9.java.i
data/src/share/native/sun/java2d/pipe/Region.h.i
@@ -12717,30 +12799,29 @@ data/test/com/sun/security/sasl/gsskerb/NoSecurityLayer.java.i
data/src/share/demo/jfc/SwingApplet/SwingApplet.java.i
data/src/share/classes/sun/launcher/resources/launcher.properties.i
data/test/javax/management/remote/mandatory/socketFactories/RMISocketFactoriesTest.java.i
-data/src/share/classes/sun/security/util/HostnameChecker.java.i
+data/src/share/classes/sun/rmi/server/Util.java.i
data/src/share/classes/java/util/AbstractSequentialList.java.i
data/src/share/classes/sun/reflect/generics/tree/Wildcard.java.i
data/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibAgentMBean.java.i
data/make/sun/cmm/kcms/mapfile-vers.i
-data/test/java/security/cert/PKIXParameters/InvalidParameters.java.i
data/src/share/native/sun/awt/image/jpeg/jcapimin.c.i
data/test/java/rmi/reliability/benchmark/bench/rmi/BenchServer.java.i
-data/test/java/nio/channels/ServerSocketChannel/AdaptServerSocket.java.i
data/src/share/classes/com/sun/crypto/provider/PKCS5Padding.java.i
data/src/share/native/java/nio/Bits.c.i
data/src/share/classes/java/lang/doc-files/javalang.doc.anc41.gif.i
data/src/share/classes/javax/naming/spi/DirObjectFactory.java.i
data/test/java/util/ResourceBundle/Bug4257318Res_en.java.i
+data/test/java/rmi/server/RMIClassLoader/downloadArrayClass/Receiver.java.i
data/src/share/native/sun/security/ec/ecl_curve.c.i
data/test/java/nio/channels/DatagramChannel/ThereCanBeOnlyOne.java.i
data/test/java/util/EnumSet/OneUniverse.java.i
data/src/share/classes/javax/net/ssl/TrustManager.java.i
data/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java.i
data/src/share/demo/jfc/SampleTree/SampleTreeCellRenderer.java.i
-data/make/tools/src/build/tools/jarsplit/JarSplit.java.i
+data/src/share/native/sun/font/layout/LETypes.h.i
data/src/solaris/classes/sun/awt/motif/X11JIS0201.java.i
data/src/share/classes/sun/java2d/opengl/OGLBufImgOps.java.i
-data/make/sun/xawt/mapfile-vers.i
+data/test/java/io/charStreams/StringGenerator.java.i
data/test/demo/jvmti/compiledMethodLoad/CompiledMethodLoadTest.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_sv.properties.i
data/src/share/native/sun/java2d/loops/MaskFill.c.i
@@ -12751,10 +12832,11 @@ data/src/share/classes/com/sun/jdi/event/MethodExitEvent.java.i
data/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformLinear.java.i
data/test/java/lang/ref/SoftReference/Pin.java.i
data/test/java/util/Collections/NullComparator.java.i
-data/test/sun/jvmstat/testlibrary/Sleeper.java.i
-data/src/share/demo/nbproject/jfc/Notepad/nbproject/file-targets.xml.i
+data/test/java/beans/PropertyEditor/TestDoubleClassValue.java.i
+data/src/share/classes/sun/io/ByteToCharEUC_JP_Solaris.java.i
+data/test/java/lang/instrument/appendToClassLoaderSearch/manifest.mf.i
+data/make/tools/GenerateCharacter/check_class.c.template.i
data/src/share/classes/sun/security/timestamp/HttpTimestamper.java.i
-data/src/share/classes/sun/security/pkcs11/P11TlsPrfGenerator.java.i
data/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties.i
data/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c.i
data/src/share/classes/javax/security/sasl/Sasl.java.i
@@ -12763,15 +12845,14 @@ data/test/java/beans/Introspector/memory/Test4809008.java.i
data/test/javax/swing/JLayer/6875153/bug6875153.java.i
data/test/java/util/concurrent/DelayQueue/PollUnexpired.java.i
data/src/share/classes/java/util/regex/PatternSyntaxException.java.i
-data/src/share/classes/com/sun/beans/WildcardTypeImpl.java.i
+data/src/solaris/native/sun/nio/ch/SctpNet.c.i
data/src/share/classes/sun/awt/ExtendedKeyCodes.java.i
-data/test/javax/management/mxbean/customtypes/IntegerIsStringFactory.java.i
data/src/linux/doc/man/ja/javac.1.i
data/src/share/classes/sun/text/normalizer/CharacterIteratorWrapper.java.i
data/test/java/util/Calendar/WeekDateTest.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_ar_OM.properties.i
+data/test/java/lang/instrument/RetransformBigClassApp.java.i
data/src/share/classes/com/sun/jmx/mbeanserver/MXBeanIntrospector.java.i
-data/make/netbeans/jarzip/build.xml.i
data/src/share/classes/javax/management/loading/MLet.java.i
data/src/share/demo/applets/GraphicsTest/example1.html.i
data/src/share/classes/java/lang/doc-files/capchi.gif.i
@@ -12779,13 +12860,11 @@ data/src/share/classes/com/sun/media/sound/ModelPatch.java.i
data/src/share/modules/jdk.tools/module-info.java.i
data/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_5.java.i
data/test/javax/crypto/spec/IvParameterSpec/InvalidArgs.java.i
-data/src/share/classes/sun/reflect/generics/repository/MethodRepository.java.i
data/test/java/awt/Mixing/JButtonInGlassPane.java.i
data/src/windows/native/sun/nio/ch/Net.c.i
data/src/share/classes/sun/applet/resources/MsgAppletViewer_sv.java.i
data/test/com/sun/crypto/provider/Cipher/RSA/TestOAEPParameterSpec.java.i
data/src/share/classes/java/awt/image/FilteredImageSource.java.i
-data/src/share/classes/com/sun/media/sound/SunFileReader.java.i
data/src/share/classes/com/sun/crypto/provider/PBEKey.java.i
data/src/share/classes/javax/swing/JPanel.java.i
data/src/share/classes/java/rmi/server/SocketSecurityException.java.i
@@ -12795,7 +12874,7 @@ data/src/share/classes/javax/management/relation/Role.java.i
data/src/share/classes/javax/sound/sampled/DataLine.java.i
data/src/share/classes/sun/tracing/dtrace/Activation.java.i
data/test/java/nio/charset/StandardCharset/Standard.java.i
-data/src/share/classes/javax/print/attribute/ResolutionSyntax.java.i
+data/src/share/native/sun/java2d/loops/UshortIndexed.h.i
data/src/share/classes/com/sun/crypto/provider/AESWrapCipher.java.i
data/src/share/native/sun/awt/image/jpeg/jctrans.c.i
data/src/share/classes/java/io/InvalidClassException.java.i
@@ -12805,7 +12884,7 @@ data/test/javax/crypto/Cipher/GCMAPI.java.i
data/src/windows/native/sun/windows/awt_Choice.h.i
data/src/solaris/classes/sun/nio/ch/FileDispatcherImpl.java.i
data/src/share/native/sun/font/layout/CanonData.cpp.i
-data/src/share/classes/sun/misc/Sort.java.i
+data/src/share/classes/com/sun/media/sound/JavaSoundAudioClip.java.i
data/test/java/net/URL/PerConnectionProxy.java.i
data/test/java/awt/Insets/WindowWithWarningTest/WindowWithWarningTest.html.i
data/test/java/text/Bidi/Bug6850113.java.i
@@ -12817,13 +12896,13 @@ data/src/share/classes/javax/swing/plaf/nimbus/InnerGlowEffect.java.i
data/test/java/awt/Robot/RobotExtraButton/RobotExtraButton.java.i
data/test/javax/security/auth/login/LoginContext/DefaultHandler.java.i
data/src/share/classes/javax/sql/rowset/spi/XmlReader.java.i
-data/src/share/native/java/util/zip/zlib-1.2.3/inffast.c.i
+data/test/java/beans/XMLEncoder/Test4679556.java.i
+data/test/java/lang/reflect/Proxy/ClassRestrictions.java.i
data/test/java/net/NetworkInterface/IPv4Only.java.i
data/src/share/native/sun/security/ec/impl/mpmontg.c.i
data/src/share/classes/sun/io/ByteToCharCp437.java.i
-data/test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport2.java.i
-data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver.java.i
-data/make/javax/crypto/policy/limited/LIMITED.i
+data/test/com/sun/net/httpserver/Test8a.java.i
+data/src/share/classes/sun/text/resources/FormatData_es_PR.java.i
data/src/share/classes/java/security/interfaces/RSAPublicKey.java.i
data/src/share/classes/javax/print/attribute/standard/JobOriginatingUserName.java.i
data/test/sun/net/ftp/FtpURL.java.i
@@ -12834,55 +12913,63 @@ data/test/javax/security/auth/login/LoginContext/ConfigConstructor.config.i
data/src/share/classes/sun/nio/ch/DatagramSocketAdaptor.java.i
data/test/sun/nio/cs/ISO8859x.java.i
data/test/java/io/Serializable/proxy/skipMissing/Write.java.i
-data/src/share/classes/com/sun/media/sound/RIFFInvalidDataException.java.i
-data/src/share/classes/sun/nio/ch/IOVecWrapper.java.i
+data/src/share/native/java/lang/fdlibm/src/k_cos.c.i
+data/src/share/classes/sun/font/TextSource.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalInternalFrameUI.java.i
data/test/java/nio/channels/Selector/Wakeup.java.i
data/test/java/util/ResourceBundle/awtres.jar.i
data/test/java/util/Arrays/Fill.java.i
data/test/java/lang/management/MemoryMXBean/MemoryTest.java.i
-data/test/java/io/Serializable/evolution/AddedSuperClass/README.i
+data/src/share/classes/java/rmi/server/ObjID.java.i
data/src/share/demo/jvmti/waiters/Agent.cpp.i
data/make/tools/CharsetMapping/MS1252.map.i
data/src/windows/native/sun/java2d/windows/GDIBlitLoops.cpp.i
data/test/javax/management/Introspector/UnDescribed.java.i
+data/src/windows/classes/sun/awt/windows/WDesktopProperties.java.i
data/src/share/classes/com/sun/net/httpserver/HttpExchange.java.i
data/src/solaris/classes/sun/awt/X11/security-icon-yellow48.png.i
data/test/java/security/UnresolvedPermission/DebugPermission1.java.i
+data/test/javax/sound/midi/Gervill/SoftSynthesizer/ding.sf2.i
data/src/share/classes/sun/security/krb5/internal/LastReqEntry.java.i
data/test/javax/sound/midi/Gervill/SoftChannel/NoteOn.java.i
data/test/java/lang/Class/IsEnum.java.i
data/src/share/classes/sun/security/pkcs11/wrapper/CK_C_INITIALIZE_ARGS.java.i
data/src/share/classes/javax/swing/event/ChangeListener.java.i
+data/test/java/util/concurrent/ThreadPoolExecutor/ScheduledTickleService.java.i
+data/src/share/native/java/lang/fdlibm/src/e_gamma_r.c.i
data/src/share/classes/sun/misc/Cleaner.java.i
+data/src/share/classes/javax/sql/rowset/serial/SerialArray.java.i
+data/test/sun/rmi/transport/tcp/blockAccept/TestImpl_Stub.java.i
data/test/sun/net/www/protocol/jar/GetContentType.java.i
-data/test/javax/security/auth/login/Configuration/GetInstanceSecurity.policy.i
data/src/share/classes/sun/text/resources/FormatData_ga.java.i
data/src/share/classes/sun/awt/image/ImageConsumerQueue.java.i
-data/src/share/native/sun/awt/image/jpeg/jcdctmgr.c.i
+data/test/javax/sound/midi/Gervill/SoftTuning/Load6.java.i
data/make/tools/generatecurrencydata/Makefile.i
data/src/solaris/classes/sun/awt/X11/security-icon-interim24.png.i
data/test/sun/security/provider/certpath/ReverseBuilder/mgrM2leadMA.i
-data/src/share/classes/javax/naming/RefAddr.java.i
+data/test/java/rmi/activation/ActivationSystem/modifyDescriptor/ModifyDescriptor.java.i
data/test/java/io/pathNames/win32/DriveRelativePath.java.i
data/test/java/nio/Buffer/CopyDirectMemory.java.i
data/make/sun/net/spi/nameservice/dns/Makefile.i
-data/src/share/native/sun/security/ec/mpi.h.i
+data/test/javax/crypto/SecretKeyFactory/FailOverTest.java.i
+data/test/java/util/ResourceBundle/Test4300693.java.i
data/test/java/nio/channels/FileChannel/TryLock.java.i
-data/test/javax/management/MBeanServer/PostExceptionTest.java.i
+data/src/share/classes/sun/text/resources/CollationData_fr.java.i
data/src/share/classes/sun/java2d/cmm/ProfileActivator.java.i
data/src/share/native/sun/security/ec/impl/ecl_mult.c.i
data/make/tools/swing-beans/beaninfo/images/JSeparatorMono32.gif.i
data/src/share/classes/java/awt/image/renderable/RenderableImageOp.java.i
data/src/share/classes/com/sun/imageio/plugins/gif/GIFWritableStreamMetadata.java.i
-data/test/sun/tools/jps/jps-Vvml_Output2.awk.i
+data/src/share/classes/com/sun/jmx/snmp/agent/SnmpTableEntryNotification.java.i
data/test/vm/verifier/VerifyProtectedConstructor.java.i
data/src/windows/native/common/java_main_md.h.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUp.c.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/ParseError.java.i
data/make/tools/CharsetMapping/MS1258.map.i
data/src/share/classes/sun/security/pkcs11/wrapper/CK_PBE_PARAMS.java.i
data/test/java/rmi/activation/ActivationSystem/stubClassesPermitted/StubClassesPermitted.java.i
data/test/sun/net/sdp/Sanity.java.i
+data/src/share/classes/com/sun/media/sound/SoftAbstractResampler.java.i
data/src/share/native/sun/java2d/opengl/OGLFuncMacros.h.i
data/src/share/classes/javax/management/openmbean/KeyAlreadyExistsException.java.i
data/src/share/classes/sun/tools/asm/SwitchData.java.i
@@ -12892,20 +12979,20 @@ data/src/share/classes/com/sun/jndi/ldap/NotifierArgs.java.i
data/src/share/demo/jvmti/heapTracker/README.txt.i
data/test/sun/rmi/rmic/defaultStubVersion/G1Impl.java.i
data/src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java.i
-data/src/share/classes/java/net/MulticastSocket.java.i
+data/test/javax/swing/JFileChooser/6484091/bug6484091.java.i
data/make/tools/swing-beans/beaninfo/images/JTreeMono32.gif.i
-data/src/share/classes/java/io/ObjectStreamConstants.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_en_SG.properties.i
data/src/share/classes/sun/misc/UUDecoder.java.i
data/src/share/classes/sun/nio/cs/SingleByte.java.i
-data/test/sun/security/pkcs11/fips/keystore.i
+data/test/java/nio/channels/FileChannel/Write.java.i
data/test/javax/sound/midi/Gervill/SoftTuning/Load8.java.i
-data/test/sun/rmi/rmic/newrmic/equivalence/AppleEvent.java.i
data/src/solaris/classes/sun/awt/X11/XEmbeddedFramePeer.java.i
data/src/share/native/sun/awt/giflib/gif_lib_private.h.i
data/src/windows/native/sun/windows/awt_Font.h.i
data/src/solaris/native/sun/awt/awt_Choice12.c.i
data/test/java/nio/channels/AsynchronousChannelGroup/GroupOfOne.java.i
-data/test/java/util/prefs/ExportSubtree.java.i
+data/src/share/back/threadControl.c.i
+data/src/share/classes/sun/reflect/BootstrapConstructorAccessorImpl.java.i
data/make/tools/CharsetMapping/MacRoman.map.i
data/src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipFileAttributes.java.i
data/test/sun/tools/jstat/jstatCompilerOutput1.sh.i
@@ -12913,22 +13000,24 @@ data/test/java/util/concurrent/ScheduledThreadPoolExecutor/DelayOverflow.java.i
data/src/share/classes/javax/swing/ArrayTable.java.i
data/src/share/classes/sun/reflect/annotation/AnnotationParser.java.i
data/test/java/security/cert/CertificateFactory/invalidEncodedCerts/DetectInvalidEncoding.java.i
-data/make/tools/swing-beans/beaninfo/BeanInfoUtils.java.i
+data/test/sun/tools/jhat/hprof.bin.i
data/test/java/lang/Class/EnumPoseur.java.src.i
-data/test/javax/swing/RepaintManager/6608456/bug6608456.java.i
+data/make/sun/javazic/javatz/java_zone_ids.txt.i
data/src/share/classes/sun/security/ssl/EngineInputRecord.java.i
-data/src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServerBuilder.java.i
+data/src/share/classes/sun/font/TextLineComponent.java.i
data/src/windows/classes/sun/awt/windows/WKeyboardFocusManagerPeer.java.i
-data/src/share/classes/java/beans/XMLEncoder.java.i
+data/test/java/nio/channels/ServerSocketChannel/AdaptServerSocket.java.i
data/test/sun/security/pkcs11/KeyStore/ClientAuthData/README.i
data/make/sun/rmi/cgi/Makefile.i
data/src/share/classes/java/rmi/dgc/VMID.java.i
data/src/share/classes/javax/swing/PopupFactory.java.i
-data/src/share/classes/sun/text/resources/CollationData_en.java.i
+data/src/share/classes/com/sun/servicetag/resources/javase_5_swordfish.properties.i
+data/test/java/security/Policy/GetInstance/GetInstanceSecurity.java.i
data/src/share/classes/javax/swing/JRootPane.java.i
-data/src/share/classes/com/sun/media/sound/MidiUtils.java.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageConvClearEdge.c.i
data/src/share/classes/sun/security/ssl/SunJSSE.java.i
-data/src/share/classes/java/awt/peer/PanelPeer.java.i
+data/test/java/rmi/reliability/benchmark/bench/serial/StreamBuffer.java.i
+data/test/javax/management/modelmbean/AddAttributeChangeNotificationListenerTest.java.i
data/test/java/beans/PropertyEditor/TestByteTypeNull.java.i
data/test/org/openjdk/jigsaw/_JigsawVersion.java.i
data/src/share/classes/javax/swing/text/html/LineView.java.i
@@ -12936,56 +13025,64 @@ data/src/share/classes/sun/security/ssl/SessionId.java.i
data/src/solaris/classes/sun/awt/X11/XDropTargetEventProcessor.java.i
data/src/share/native/sun/java2d/loops/ByteGray.c.i
data/test/java/net/MulticastSocket/TimeToLive.java.i
-data/test/java/lang/instrument/appendToClassLoaderSearch/InstrumentedApplication.java.i
+data/src/share/classes/sun/text/resources/FormatData_lv_LV.java.i
+data/test/sun/management/jmxremote/bootstrap/rmiregistryssl.properties.i
data/src/share/classes/com/sun/pept/ept/MessageInfo.java.i
data/src/share/classes/javax/imageio/stream/MemoryCacheImageInputStream.java.i
data/test/java/security/PermissionCollection/AddToReadOnlyPermissionCollection.java.i
data/test/java/beans/PropertyEditor/TestEnumClassJava.java.i
-data/src/share/native/java/lang/Runtime.c.i
+data/test/java/text/Format/DateFormat/Bug4396385.java.i
data/make/tools/reorder/tools/remove_mcount.c.i
-data/make/tools/CharsetMapping/IBM1141.c2b.i
-data/make/tools/swing-beans/beaninfo/images/JTableMono16.gif.i
+data/src/share/classes/javax/print/attribute/HashPrintJobAttributeSet.java.i
+data/test/java/awt/Component/isLightweightCrash/IsLightweightCrash.java.i
data/src/share/classes/java/util/concurrent/CopyOnWriteArrayList.java.i
+data/src/share/classes/sun/nio/ch/FileLockImpl.java.i
data/src/share/classes/javax/swing/text/rtf/Constants.java.i
data/src/share/demo/management/FullThreadDump/FullThreadDump.java.i
data/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_de.properties.i
data/src/share/classes/java/security/cert/CertPathBuilderException.java.i
data/test/java/rmi/reliability/benchmark/bench/serial/Floats.java.i
-data/src/share/demo/nbproject/management/JTop/nbproject/project.xml.i
-data/make/tools/classanalyzer/src/com/sun/classanalyzer/ClassListWriter.java.i
+data/test/com/sun/net/httpserver/SimpleSSLContext.java.i
data/src/share/native/java/lang/fdlibm/src/s_copysign.c.i
-data/src/share/classes/sun/io/CharToByteCp1026.java.i
+data/make/sun/security/action/Makefile.i
data/test/demo/jvmti/heapViewer/HeapViewerTest.java.i
data/src/solaris/native/sun/awt/VDrawingArea.c.i
+data/test/java/util/ResourceBundle/Test4314141B_en.properties.i
data/test/java/util/ServiceLoader/Load.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/signature/MissingResourceFailureException.java.i
+data/test/sun/net/www/protocol/http/SetIfModifiedSince.java.i
data/src/windows/native/sun/windows/awt_ScrollPane.cpp.i
-data/src/share/sample/jmx/jmx-scandir/build.xml.i
+data/src/share/classes/sun/nio/cs/ext/ISO2022_JP_2.java.i
+data/test/javax/swing/JTabbedPane/6416920/bug6416920.java.i
data/src/share/classes/java/util/concurrent/ConcurrentSkipListSet.java.i
+data/src/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java.i
data/src/share/classes/java/text/spi/DateFormatProvider.java.i
-data/test/java/io/Serializable/PutField/Write.java.i
+data/test/java/rmi/server/RMIClassLoader/spi/TestProvider.java.i
+data/test/sun/net/www/protocol/http/ProxyTunnelServer.java.i
+data/test/sun/security/ssl/sun/net/www/protocol/https/NewImpl/ComHTTPSConnection.java.i
data/src/share/back/debugInit.c.i
data/test/sun/nio/cs/EUC_TW_OLD.java.i
data/test/demo/jvmti/hprof/DefineClass.java.i
data/src/share/classes/sun/print/resources/oneside.png.i
-data/src/share/classes/sun/security/jgss/ProviderList.java.i
+data/src/share/classes/sun/management/MethodInfo.java.i
data/test/javax/swing/JSlider/6742358/bug6742358.html.i
+data/src/solaris/classes/sun/awt/X11/XSelection.java.i
data/test/java/beans/XMLEncoder/javax_swing_plaf_ColorUIResource.java.i
+data/src/share/native/java/util/zip/zlib-1.2.3/README.i
+data/test/javax/sound/midi/Gervill/SimpleSoundbank/RemoveInstrument.java.i
data/test/java/nio/channels/SocketChannel/BigReadWrite.java.i
data/src/share/classes/java/util/SimpleTimeZone.java.i
data/test/java/rmi/activation/CommandEnvironment/group.security.policy.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/jibxhelpers/ColorMapper.java.i
data/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestinationModelIdentifier.java.i
data/make/tools/src/build/tools/dirdiff/DirDiff.java.i
-data/test/javax/xml/crypto/dsig/data/signature-keyname.xml.i
data/make/docs/NON_CORE_PKGS.gmk.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/StorageResolverSpi.java.i
+data/src/solaris/classes/sun/awt/X11/security-icon-yellow24.png.i
data/test/java/util/Locale/serialized/java6locale_en_US_Java.i
data/test/javax/print/attribute/Chroma.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipher.java.i
data/src/share/classes/sun/util/resources/CalendarData_mk.properties.i
data/src/share/classes/com/sun/tools/jdi/LineInfo.java.i
-data/test/javax/security/auth/login/Configuration/Synchronize.config.i
data/src/solaris/native/java/net/PlainSocketImpl.c.i
data/src/share/classes/sun/util/resources/TimeZoneNames_en_GB.java.i
data/make/common/Defs-linux.gmk.i
@@ -12996,42 +13093,43 @@ data/src/share/classes/javax/imageio/event/IIOWriteWarningListener.java.i
data/test/java/io/ObjectInputStream/ResolveProxyClass.java.i
data/test/java/nio/channels/ServerSocketChannel/NonBlockingAccept.java.i
data/src/share/classes/sun/reflect/generics/reflectiveObjects/LazyReflectiveObjectGenerator.java.i
+data/src/share/classes/javax/security/auth/callback/Callback.java.i
data/src/share/classes/sun/management/HotspotRuntime.java.i
data/src/share/classes/sun/swing/plaf/synth/SynthIcon.java.i
+data/test/javax/swing/JSlider/6348946/bug6348946.java.i
+data/test/javax/swing/JFileChooser/6524424/bug6524424.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicListUI.java.i
-data/src/solaris/classes/sun/nio/ch/EPollSelectorProvider.java.i
+data/test/java/beans/XMLEncoder/java_util_HashMap.java.i
data/test/java/beans/XMLEncoder/java_awt_GradientPaint.java.i
-data/test/java/awt/Paint/PgramUserBoundsTest.java.i
-data/src/windows/native/sun/windows/awt_DataTransferer.h.i
-data/test/java/util/ResourceBundle/Control/PrivateConstructorRB.java.i
+data/src/share/classes/java/util/jar/Manifest.java.i
data/test/java/util/concurrent/CyclicBarrier/Basic.java.i
-data/src/share/native/com/sun/media/sound/Ports.h.i
-data/src/share/classes/sun/management/VMManagement.java.i
-data/src/share/classes/sun/io/CharToByteCp970.java.i
+data/src/share/demo/jfc/CodePointIM/resources/codepoint_zh_CN.properties.i
+data/src/share/native/java/util/zip/zlib-1.2.5/patches/ChangeLog_java.i
+data/src/share/demo/jvmti/agent_util/agent_util.h.i
data/src/share/classes/sun/rmi/server/resources/rmid_ko.properties.i
data/test/java/awt/Toolkit/Headless/ExceptionContract/ExceptionContract.java.i
data/test/java/rmi/activation/Activatable/checkAnnotations/rmid.security.policy.i
data/make/tools/CharsetMapping/HKSCS2001.map.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/package.html.i
data/src/share/classes/sun/text/resources/FormatData_ca_ES.java.i
+data/test/java/security/cert/PolicyNode/GetPolicyQualifiers.java.i
data/src/share/classes/sun/security/pkcs11/P11SecureRandom.java.i
data/src/share/classes/sun/security/acl/PrincipalImpl.java.i
data/src/windows/native/sun/jkernel/kernel_ja.rc.i
data/src/share/classes/sun/java2d/pipe/CompositePipe.java.i
data/src/share/classes/sun/tools/tree/Node.java.i
-data/src/share/classes/java/beans/PropertyChangeSupport.java.i
-data/test/java/io/RandomAccessFile/ReadWritePrimitives.java.i
+data/test/com/sun/servicetag/environ.properties.i
+data/test/javax/security/auth/login/Configuration/Synchronize.config.i
data/src/share/classes/com/sun/media/sound/DLSSoundbank.java.i
data/test/javax/management/modelmbean/SimpleModelMBean/policy.i
-data/src/share/classes/java/text/spi/BreakIteratorProvider.java.i
data/src/share/classes/sun/tools/java/AmbiguousMember.java.i
data/src/share/classes/sun/security/krb5/internal/util/KrbDataOutputStream.java.i
data/test/java/net/Socket/SocksConnectTimeout.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipherParameters.java.i
-data/src/windows/native/sun/jkernel/kernel.def.i
+data/make/tools/src/build/tools/automulti/TestALFLookAndFeel.java.i
data/src/share/classes/javax/accessibility/AccessibleHypertext.java.i
-data/test/java/awt/font/TextLayout/TestSinhalaChar.java.i
-data/src/share/demo/jfc/Metalworks/Metalworks.java.i
+data/test/java/awt/Robot/CtorTest/CtorTest.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_en_IE.properties.i
data/src/share/classes/javax/swing/table/TableStringConverter.java.i
data/src/share/classes/sun/tools/javac/Main.java.i
data/src/share/classes/java/security/Policy.java.i
@@ -13042,23 +13140,21 @@ data/src/share/classes/sun/io/CharToByteCp1140.java.i
data/test/java/security/testlibrary/CertUtils.java.i
data/make/mkdemo/nio/Makefile.i
data/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c.i
-data/src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_ko.properties.i
-data/make/tools/swing-beans/beaninfo/images/JComboBoxColor32.gif.i
data/src/share/classes/sun/print/psfont.properties.ja.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmMemGCTableMeta.java.i
data/make/mkdemo/applets/DitherTest/Makefile.i
data/test/java/awt/geom/CubicCurve2D/ContainsTest.java.i
data/test/java/util/Vector/SimpleSerialization.java.i
data/src/share/classes/sun/java2d/pipe/RenderBuffer.java.i
-data/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java.i
+data/src/share/sample/scripting/scriptpad/build.xml.i
data/make/com/sun/jndi/rmi/registry/Makefile.i
data/src/share/javavm/export/jmm.h.i
data/src/share/classes/java/nio/channels/AsynchronousChannelGroup.java.i
+data/src/share/classes/javax/swing/event/package.html.i
data/src/share/classes/sun/swing/text/CompoundPrintable.java.i
data/test/java/beans/PropertyEditor/TestByteClassNull.java.i
data/test/java/lang/Class/getClasses/Sanity.java.i
data/make/com/sun/inputmethods/thaiim/Makefile.i
-data/src/share/classes/sun/tools/java/SyntaxError.java.i
data/src/share/classes/java/util/zip/GZIPInputStream.java.i
data/src/share/classes/com/sun/tools/jdi/SDE.java.i
data/make/sun/net/spi/nameservice/Makefile.i
@@ -13068,23 +13164,24 @@ data/test/sun/security/pkcs11/nss/lib/solaris-sparcv9/libsoftokn3.so.d
data/src/windows/classes/sun/management/FileSystemImpl.java.i
data/make/tools/classanalyzer/src/com/sun/classanalyzer/Files.java.i
data/test/sun/security/pkcs11/sslecc/JSSEServer.java.i
-data/test/sun/nio/cs/OLD/GBK_OLD.java.i
+data/test/java/lang/management/MemoryMXBean/Pending.java.i
data/src/share/classes/com/sun/nio/sctp/HandlerResult.java.i
data/src/share/demo/scripting/jconsole-plugin/src/scripts/sysprops.js.i
data/test/java/util/ResourceBundle/Control/StressOut_en_CA.properties.i
data/test/java/lang/management/CompositeData/MemoryUsageCompositeData.java.i
data/src/share/classes/sun/tools/tree/ExpressionStatement.java.i
-data/test/sun/tools/jstat/jstatLineCounts1.sh.i
+data/src/share/classes/java/lang/module/ViewDependence.java.i
data/test/java/awt/grab/EmbeddedFrameTest1/EmbeddedFrameTest1.java.i
data/src/share/classes/java/beans/SimpleBeanInfo.java.i
data/test/java/beans/XMLDecoder/4676532/test.jar.i
data/src/share/classes/java/awt/event/AWTEventListenerProxy.java.i
data/src/linux/doc/man/ja/unpack200.1.i
-data/src/share/classes/com/sun/tools/example/debug/bdi/VMLaunchFailureException.java.i
+data/src/solaris/native/sun/awt/awt_KeyboardFocusManager.c.i
data/src/share/classes/sunw/util/EventListener.java.i
data/test/java/nio/channels/AsynchronousChannelGroup/Unbounded.java.i
data/src/linux/doc/man/ja/ktab.1.i
data/test/java/util/ResourceBundle/KeySetResources_ja_JP.properties.i
+data/test/java/awt/Modal/SupportedTest/SupportedTest.java.i
data/make/tools/dtdbuilder/dtds/HTMLsymbol.sgml.i
data/src/solaris/native/sun/nio/fs/SolarisNativeDispatcher.c.i
data/make/netbeans/awt2d/build.xml.i
@@ -13092,13 +13189,14 @@ data/src/share/classes/sun/rmi/rmic/newrmic/Constants.java.i
data/src/share/classes/com/sun/jndi/dns/ResourceRecords.java.i
data/test/java/io/Serializable/duplicateSerialFields/Test.java.i
data/src/share/demo/jfc/Metalworks/PropertiesMetalTheme.java.i
-data/src/share/classes/java/util/prefs/package.html.i
-data/src/share/classes/com/sun/crypto/provider/TlsMasterSecretGenerator.java.i
+data/test/javax/imageio/CachePremissionsTest/CachePermissionsTest.java.i
+data/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java.i
data/src/share/classes/com/sun/tools/example/debug/tty/MessageOutput.java.i
data/src/share/classes/sun/nio/cs/MS1252.java.i
-data/src/share/classes/sun/text/resources/FormatData_fi_FI.java.i
+data/src/share/classes/sun/security/tools/JarSignerResources_ja.java.i
data/test/sun/nio/cs/HWKatakanaMS932EncodeTest.java.i
data/src/share/classes/sun/net/www/protocol/jar/Handler.java.i
+data/src/share/classes/sun/rmi/transport/tcp/TCPConnection.java.i
data/src/share/classes/sun/nio/cs/ArrayEncoder.java.i
data/test/sun/rmi/rmic/newrmic/equivalence/AppleUserImpl.java.i
data/src/solaris/native/com/sun/media/sound/PLATFORM_API_SolarisOS_Utils.h.i
@@ -13106,12 +13204,14 @@ data/src/share/native/sun/awt/medialib/mlib_ImageAffine_BC_S32.c.i
data/src/share/classes/javax/sound/sampled/spi/package.html.i
data/test/sun/security/pkcs11/fips/fips.cfg.i
data/test/sun/management/jmxremote/bootstrap/RmiRegistrySslTest.sh.i
-data/src/share/native/sun/java2d/SurfaceData.c.i
+data/src/share/demo/nbproject/jfc/Font2DTest/nbproject/jdk.xml.i
+data/src/share/native/sun/font/layout/LEFontInstance.h.i
data/make/com/sun/tools/attach/mapfile-solaris.i
+data/test/sun/tools/native2ascii/A2N_4630463.i
data/src/share/native/sun/font/layout/GXLayoutEngine.h.i
data/test/java/nio/Buffer/Chew.java.i
data/test/java/beans/Introspector/4520754/FooBarBeanInfo.java.i
-data/test/com/sun/jdi/DeferredStepTest.sh.i
+data/src/solaris/classes/sun/awt/motif/X11SunUnicode_0.java.i
data/make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemColor32.gif.i
data/src/share/demo/jfc/Notepad/resources/Notepad_zh_CN.properties.i
data/src/share/classes/javax/print/MimeType.java.i
@@ -13124,8 +13224,8 @@ data/src/share/classes/java/awt/datatransfer/Transferable.java.i
data/make/modules/modularize.i
data/src/share/classes/sun/java2d/loops/FillPath.java.i
data/test/java/nio/charset/spi/FooCharset.java.i
+data/src/share/native/java/util/zip/zlib-1.2.5/uncompr.c.i
data/src/share/classes/javax/swing/plaf/SliderUI.java.i
-data/make/mkdemo/applets/NervousText/Makefile.i
data/src/share/classes/java/awt/dnd/DragSourceMotionListener.java.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_it.properties.i
data/make/mkdemo/jfc/SampleTree/Makefile.i
@@ -13137,7 +13237,7 @@ data/src/share/classes/sun/net/httpserver/Request.java.i
data/src/share/classes/sun/dyn/DirectMethodHandle.java.i
data/src/share/classes/javax/swing/JSeparator.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalSplitPaneUI.java.i
-data/src/share/classes/sun/java2d/pipe/TextRenderer.java.i
+data/test/java/beans/PropertyEditor/TestFloatTypeJava.java.i
data/src/share/classes/sun/font/DelegatingShape.java.i
data/src/share/sample/nio/server/AcceptHandler.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/icons/Computer.gif.i
@@ -13145,21 +13245,19 @@ data/test/com/sun/management/UnixOperatingSystemMXBean/GetMaxFileDescriptorCount
data/test/java/util/Collections/CheckedListBash.java.i
data/test/com/sun/servicetag/InstanceUrnCheck.java.i
data/src/share/classes/java/awt/doc-files/TextField-1.gif.i
-data/src/share/demo/jfc/Metalworks/MetalThemeMenu.java.i
+data/src/share/classes/sun/security/util/DerEncoder.java.i
data/test/sun/nio/cs/TestISO2022JPSubBytes.java.i
data/src/share/classes/sun/io/CharToByteHKSCS_2001.java.i
-data/test/java/rmi/reliability/benchmark/bench/rmi/BooleanArrayCalls.java.i
data/make/mkdemo/jfc/TransparentRuler/Makefile.i
data/src/share/classes/sun/security/jca/JCAUtil.java.i
-data/src/share/native/sun/awt/image/cvutils/img_util.h.i
-data/src/share/classes/com/sun/jmx/defaults/package.html.i
-data/src/share/classes/java/security/PublicKey.java.i
+data/src/share/native/java/lang/fdlibm/src/s_cbrt.c.i
+data/src/share/classes/javax/management/event/EventForwarder.java.i
+data/src/share/classes/sun/text/resources/FormatData_en_IN.java.i
data/src/share/demo/nbproject/jfc/Font2DTest/nbproject/project.xml.i
data/src/share/classes/sun/io/CharToByteMacUkraine.java.i
data/src/share/classes/sun/security/krb5/EncryptionKey.java.i
data/src/solaris/classes/sun/nio/fs/SolarisWatchService.java.i
data/src/share/classes/com/sun/crypto/provider/DESedeCrypt.java.i
-data/src/share/classes/javax/naming/ReferralException.java.i
data/src/share/native/sun/font/glyphblitting.h.i
data/src/share/classes/sun/management/counter/perf/Prologue.java.i
data/test/demo/jvmti/hprof/MonitorTest.java.i
@@ -13169,14 +13267,13 @@ data/src/share/classes/sun/tracing/ProbeSkeleton.java.i
data/test/com/sun/jndi/ldap/BalancedParentheses.java.i
data/test/java/rmi/reliability/scripts/run_rmibench.ksh.i
data/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ja.properties.i
-data/src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java.i
+data/src/share/classes/javax/swing/plaf/metal/icons/ocean/close-pressed.gif.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageFilters.h.i
data/test/java/io/File/basic.sh.i
data/src/share/sample/jmx/jmx-scandir/docfiles/connect-local-java-jar.jpg.i
data/test/java/io/Serializable/packageAccess/B.java.i
-data/src/share/classes/sun/awt/HeadlessToolkit.java.i
data/test/java/util/TimeZone/Bug6772689.java.i
data/test/java/nio/charset/coders/ref.shift_jis.i
-data/src/share/classes/javax/swing/text/ParagraphView.java.i
data/src/share/classes/sun/nio/cs/ext/MacArabic.java.i
data/src/share/back/FrameID.c.i
data/test/java/nio/Buffer/CopyDirectLongMemory.java.i
@@ -13187,14 +13284,16 @@ data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/pac
data/src/share/native/sun/security/ec/impl/ecp_aff.c.i
data/src/share/classes/java/security/interfaces/DSAPublicKey.java.i
data/src/share/classes/sun/misc/JavaxSecurityAuthKerberosAccess.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXSLT.java.i
+data/src/share/classes/java/lang/OutOfMemoryError.java.i
+data/test/java/net/URLConnection/UNCTest.sh.i
data/src/share/classes/sun/io/CharToByteUnicodeLittle.java.i
-data/src/share/classes/javax/management/loading/MLetMBean.java.i
+data/test/sun/security/provider/PolicyFile/CombinedPerms.policy.i
data/src/share/classes/sun/io/ByteToCharISO8859_15.java.i
+data/src/share/classes/sun/java2d/pipe/AAShapePipe.java.i
data/test/java/lang/instrument/PremainClass/InheritAgent1010.java.i
data/src/share/lib/cmm/lcms/LINEAR_RGB.pf.i
data/test/javax/sound/midi/Gervill/ModelByteBuffer/LoadAll.java.i
-data/src/share/classes/sun/security/x509/CertificatePolicyMap.java.i
+data/src/share/classes/sun/security/jgss/krb5/WrapToken_v2.java.i
data/test/com/sun/crypto/provider/Cipher/DES/TestUtility.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/XPathFilterCHGPContainer.java.i
data/test/java/lang/String/Regex.java.i
@@ -13202,7 +13301,7 @@ data/src/share/classes/sun/io/CharToByteCp1123.java.i
data/src/share/classes/javax/print/attribute/standard/PrinterMoreInfo.java.i
data/test/java/lang/instrument/ExampleForBootClassPath.java.i
data/src/share/demo/jfc/Notepad/resources/Notepad_ja.properties.i
-data/test/com/sun/jdi/BreakpointWithFullGC.sh.i
+data/src/share/classes/sun/management/MemoryPoolImpl.java.i
data/test/java/beans/Introspector/Test4274639.java.i
data/src/share/native/sun/font/layout/AlternateSubstSubtables.cpp.i
data/test/java/lang/management/RuntimeMXBean/PropertiesTest.java.i
@@ -13211,24 +13310,22 @@ data/test/java/lang/annotation/Missing/B.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/CheckNullEntity.java.i
data/test/java/beans/Introspector/4750368/Test4750368.java.i
data/src/share/classes/sun/tools/jstat/OptionFormat.java.i
-data/make/common/Program.gmk.i
+data/src/solaris/classes/sun/font/XMap.java.i
data/src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h.i
data/test/sun/security/tools/jarsigner/JavaApplication1.jar.i
-data/src/share/classes/com/sun/crypto/provider/DESParameters.java.i
+data/test/java/lang/instrument/bootreporter/StringIdCallbackReporter.java.i
data/src/share/classes/com/sun/crypto/provider/ElectronicCodeBook.java.i
data/src/share/classes/sun/java2d/opengl/OGLRenderQueue.java.i
-data/src/share/classes/javax/swing/event/AncestorEvent.java.i
data/src/share/classes/java/security/UnrecoverableKeyException.java.i
data/test/javax/management/Introspector/UnregisterMBeanExceptionTest.java.i
data/test/java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.html.i
data/src/share/classes/sun/util/resources/CalendarData_es_ES.properties.i
-data/test/sun/management/HotspotClassLoadingMBean/GetMethodDataSize.java.i
+data/src/share/native/sun/font/layout/ContextualGlyphInsertion.h.i
data/src/share/classes/javax/imageio/ImageIO.java.i
data/test/sun/nio/cs/OLD/IBM935_OLD.java.i
data/src/share/classes/sun/text/CodePointIterator.java.i
-data/src/share/classes/javax/print/StreamPrintServiceFactory.java.i
+data/test/java/awt/Color/OpacityChange/OpacityChange.java.i
data/test/java/net/Socket/asyncClose/Socket_getInputStream_read.java.i
-data/make/sun/security/jgss/wrapper/Makefile.i
data/test/com/sun/security/auth/module/KeyStoreLoginModule/ReadOnly.java.i
data/src/share/classes/javax/crypto/CipherInputStream.java.i
data/src/share/classes/javax/print/MultiDoc.java.i
@@ -13237,20 +13334,21 @@ data/make/tools/src/build/tools/jdwpgen/OutNode.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiMenuItemUI.java.i
data/src/solaris/doc/sun/man/man1/jstat.1.i
data/src/solaris/demo/jvmti/hprof/hprof_md.c.i
+data/test/javax/swing/text/html/TableView/7030332/sample1.png.i
data/test/sun/security/mscapi/SignUsingSHA2withRSA.sh.i
data/make/mkdemo/jfc/Laffy/Makefile.i
data/src/share/classes/sun/io/CharToByteISO8859_1.java.i
-data/src/share/classes/java/lang/SuppressWarnings.java.i
data/src/share/classes/java/io/FileSystem.java.i
data/test/java/net/URLDecoder/EncodeDecode.java.i
-data/src/share/classes/java/util/ArrayDeque.java.i
+data/test/java/awt/xembed/server/RunTestXEmbed.java.i
data/src/share/classes/sun/util/locale/BaseLocale.java.i
data/test/javax/swing/UIDefaults/6622002/bug6622002.java.i
-data/src/share/classes/sun/swing/PrintColorUIResource.java.i
+data/src/share/classes/java/lang/ArrayStoreException.java.i
data/src/share/native/sun/awt/image/awt_ImageRep.c.i
data/test/java/awt/GraphicsEnvironment/LoadLock/GE_init3.java.i
data/src/share/classes/java/util/Vector.java.i
-data/src/share/classes/sun/security/x509/CertificateExtensions.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_es_DO.properties.i
+data/test/javax/swing/JFileChooser/6840086/bug6840086.java.i
data/src/solaris/native/sun/awt/awt_Canvas.c.i
data/test/com/sun/jdi/MultiBreakpointsTest.java.i
data/test/java/beans/PropertyEditor/Test6963811.java.i
@@ -13259,38 +13357,37 @@ data/test/com/sun/jdi/InstanceFilter.java.i
data/src/share/classes/javax/swing/doc-files/JScrollPane-1.gif.i
data/test/java/awt/Component/NoUpdateUponShow/NoUpdateUponShow.java.i
data/test/java/util/ResourceBundle/Test4314141A_.properties.i
-data/src/windows/hpi/src/monitor_md.c.i
-data/src/share/classes/sun/security/jgss/krb5/Krb5Util.java.i
+data/src/share/classes/java/awt/doc-files/CheckboxGroup-1.gif.i
+data/test/java/beans/Introspector/6380849/beans/FirstBean.java.i
data/make/common/shared/Defs-utils.gmk.i
data/src/windows/hpi/export/io_md.h.i
data/src/share/classes/sun/security/x509/CertAndKeyGen.java.i
data/src/share/classes/sun/security/krb5/Confounder.java.i
data/src/share/classes/sun/misc/LRUCache.java.i
-data/src/share/lib/images/cursors/win32_LinkNoDrop32x32.gif.i
-data/test/java/rmi/activation/CommandEnvironment/NullOptions.java.i
+data/test/javax/management/modelmbean/DescriptorSupportTest.java.i
+data/test/sun/tools/jstatd/jstatdDefaults.sh.i
+data/make/tools/src/build/tools/jdwpgen/ArrayObjectTypeNode.java.i
data/src/share/classes/javax/xml/crypto/dsig/spec/SignatureMethodParameterSpec.java.i
data/make/mkdemo/scripting/jconsole-plugin/Makefile.i
data/src/share/classes/sun/security/ssl/DefaultSSLContextImpl.java.i
data/src/share/native/sun/security/ec/ec2_193.c.i
data/src/share/classes/sun/text/resources/FormatData_fr.java.i
-data/src/share/classes/com/sun/jndi/toolkit/dir/LazySearchEnumerationImpl.java.i
+data/test/java/lang/management/PlatformLoggingMXBean/PlatformLoggingMXBeanTest.java.i
data/test/javax/crypto/spec/DESKeySpec/NullKey.java.i
data/test/java/beans/XMLEncoder/javax_swing_Box_Filler.java.i
+data/src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java.i
data/src/share/classes/java/awt/Container.java.i
data/src/solaris/classes/sun/awt/motif/X11Dingbats.java.i
data/test/sun/nio/cs/Test4200310.sh.i
-data/test/java/io/charStreams/RandomLines.java.i
-data/src/share/classes/com/sun/media/sound/StandardMidiFileReader.java.i
+data/src/share/classes/sun/io/ByteToCharCp424.java.i
data/src/share/classes/java/util/concurrent/ExecutorService.java.i
-data/src/share/classes/sun/security/validator/Validator.java.i
+data/test/com/sun/tools/attach/SimpleProvider.java.i
data/src/share/classes/java/awt/event/PaintEvent.java.i
-data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/DirectoryScannerConfig.java.i
+data/src/share/classes/sun/reflect/UnsafeQualifiedStaticShortFieldAccessorImpl.java.i
data/src/share/classes/javax/management/SendNotification.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java.i
-data/src/share/classes/sun/security/krb5/internal/rcache/CacheTable.java.i
+data/test/javax/management/monitor/MBeanServerForwarderInvocationHandler.java.i
data/make/tools/swing-beans/beaninfo/images/JButtonMono32.gif.i
-data/src/share/sample/scripting/scriptpad/src/resources/conc.js.i
-data/src/share/classes/com/sun/imageio/plugins/png/PNGImageReaderSpi.java.i
data/test/java/io/Serializable/longString/mesg.ser.i
data/test/javax/swing/JColorChooser/Test6348456.java.i
data/test/java/awt/print/PrinterJob/ValidatePage/ValidatePage.java.i
@@ -13299,20 +13396,19 @@ data/src/share/classes/sun/reflect/UnsafeStaticBooleanFieldAccessorImpl.java.i
data/src/share/classes/sun/net/www/content/text/PlainTextInputStream.java.i
data/src/share/classes/sun/tools/jar/Manifest.java.i
data/src/share/classes/javax/print/attribute/standard/Finishings.java.i
-data/src/share/classes/javax/xml/crypto/dom/package.html.i
data/src/share/classes/com/sun/jdi/ClassObjectReference.java.i
data/test/sun/security/krb5/etype/weakcrypto.conf.i
data/test/javax/swing/JSlider/6579827/bug6579827.java.i
data/test/java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java.i
data/test/java/net/Socket/TestAfterClose.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherReference.java.i
+data/test/javax/management/remote/mandatory/notif/DeadListenerTest.java.i
data/src/share/classes/java/rmi/server/ExportException.java.i
data/test/sun/misc/URLClassPath/ClassnameCharTest.java.i
-data/test/java/util/ResourceBundle/Bug6204853_Utf8.properties.i
+data/test/sun/security/pkcs11/Signature/ReinitSignature.java.i
data/src/share/classes/javax/naming/directory/SearchResult.java.i
data/src/share/classes/javax/swing/BufferStrategyPaintManager.java.i
data/src/windows/native/sun/java2d/d3d/D3DUtils.cpp.i
-data/src/share/classes/java/nio/channels/package-info.java.i
+data/make/com/sun/java/pack/mapfile-vers.i
data/src/share/classes/sun/tools/tree/Expression.java.i
data/src/share/sample/nio/multicast/Reader.java.i
data/test/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html.i
@@ -13321,32 +13417,32 @@ data/src/share/classes/javax/swing/undo/StateEdit.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/InputRecord/InterruptedIO.java.i
data/make/java/java_crw_demo/Makefile.i
data/src/share/native/sun/font/layout/GlyphPositioningTables.cpp.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherData.java.i
+data/test/java/lang/Float/BitwiseConversion.java.i
data/test/java/net/DatagramSocket/Send12k.java.i
-data/src/solaris/classes/sun/awt/motif/MButtonPeer.java.i
+data/test/java/nio/channels/Selector/LotsOfUpdates.java.i
data/src/share/classes/java/lang/module/Dependence.java.i
data/test/java/beans/PropertyEditor/TestStringClass.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/rsa/BrokenRSAPrivateCrtKey.java.i
+data/src/share/classes/java/security/interfaces/RSAMultiPrimePrivateCrtKey.java.i
data/src/share/demo/jvmti/hprof/hprof_io.h.i
data/test/java/net/Inet6Address/serialize/Readme.txt.i
-data/test/java/rmi/reliability/benchmark/bench/rmi/FloatCalls.java.i
+data/test/java/rmi/transport/handshakeFailure/HandshakeFailure.java.i
+data/test/sun/tools/jcmd/jcmd-Defaults.sh.i
data/src/share/classes/sun/nio/cs/ext/MS1258.java.i
data/test/com/sun/jndi/rmi/registry/RegistryContext/UnbindIdempotent.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_es_MX.properties.i
-data/test/sun/java2d/cmm/ProfileOp/ReadWriteProfileTest.java.i
-data/test/java/beans/XMLDecoder/spec/TestNew.java.i
+data/src/share/native/com/sun/media/sound/Ports.h.i
+data/test/java/lang/instrument/appendToClassLoaderSearch/InstrumentedApplication.java.i
data/src/share/classes/com/sun/security/auth/NTNumericCredential.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_es_PR.properties.i
-data/make/mksample/nio/file/Makefile.i
data/src/share/classes/javax/management/MBeanTrustPermission.java.i
data/test/java/beans/Introspector/Test4935607.java.i
-data/src/share/classes/javax/sql/rowset/spi/SyncResolver.java.i
+data/test/java/awt/Cursor/PredefinedPrivate/PredefinedPrivate.java.i
+data/test/java/beans/XMLDecoder/spec/TestClass.java.i
data/src/share/classes/com/sun/tools/jdi/META-INF/services/com.sun.jdi.connect.Connector.i
-data/src/share/classes/java/util/TimerTask.java.i
-data/src/share/classes/sun/text/resources/FormatData_en_IE.java.i
+data/test/javax/sound/midi/Gervill/RiffReaderWriter/HasNextChunk.java.i
data/src/share/classes/java/lang/Byte.java.i
data/test/sun/security/ssl/sanity/interop/JSSEServer.java.i
-data/test/java/util/logging/AnonLoggerWeakRefLeak.java.i
+data/test/java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.java.i
data/test/javax/management/namespace/VirtualMBeanTest.java.i
data/test/java/net/SocketInputStream/SocketTimeout.java.i
data/test/sun/tools/common/ApplicationSetup.sh.i
@@ -13355,40 +13451,43 @@ data/src/share/classes/com/sun/jndi/ldap/BerEncoder.java.i
data/src/share/classes/sun/font/FontManager.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthInternalFrameTitlePane.java.i
data/src/share/classes/sun/tools/jconsole/resources/brandlogo.png.i
+data/test/java/util/PluggableLocale/providersrc/DateFormatProviderImpl.java.i
data/src/share/classes/sun/security/krb5/internal/util/KerberosString.java.i
data/src/share/classes/java/awt/image/AffineTransformOp.java.i
data/src/windows/native/sun/java2d/d3d/D3DBadHardware.h.i
data/src/share/classes/com/sun/security/auth/NTSidGroupPrincipal.java.i
-data/src/share/classes/java/text/spi/DateFormatSymbolsProvider.java.i
data/src/share/demo/scripting/jconsole-plugin/build.xml.i
data/src/share/classes/com/sun/imageio/spi/OutputStreamImageOutputStreamSpi.java.i
data/src/share/native/sun/java2d/Trace.h.i
data/test/demo/jvmti/hprof/CpuSamplesTest.java.i
+data/test/org/openjdk/jigsaw/cli/ImportPrivateKey.java.i
data/test/java/lang/reflect/Constructor/TestParameterAnnotations.java.i
data/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java.i
-data/src/share/classes/sun/management/counter/perf/PerfByteArrayCounter.java.i
data/src/share/classes/javax/swing/plaf/PopupMenuUI.java.i
+data/test/java/util/zip/GZIP/GZIPInputStreamRead.java.i
data/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java.i
-data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/rmi/RemoteVmManager.java.i
data/test/java/net/URL/B5086147.sh.i
-data/src/windows/classes/java/net/PlainSocketImpl.java.i
+data/src/solaris/classes/sun/awt/motif/X11DropTargetContextPeer.java.i
+data/test/javax/management/query/QueryNotifFilterTest.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/AbstractOptionSpec.java.i
data/test/java/nio/charset/spi/default-pol.i
+data/test/java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.java.i
data/src/share/classes/java/sql/DriverManager.java.i
data/src/share/classes/com/sun/servicetag/RegistrationDocument.java.i
-data/test/java/rmi/transport/checkLeaseInfoLeak/security.policy.i
+data/test/sun/text/resources/Format/Bug4807540.java.i
data/src/solaris/classes/sun/awt/fontconfigs/solaris.fontconfig.properties.i
data/src/share/classes/javax/swing/tree/TreePath.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthScrollPaneUI.java.i
data/test/java/rmi/server/RemoteObject/toStub/security.policy.i
data/make/tools/UnicodeData/VERSION.i
-data/test/java/beans/XMLEncoder/6777487/TestEnumMap.java.i
+data/src/solaris/doc/sun/man/man1/ja/jsadebugd.1.i
data/src/share/classes/com/sun/net/ssl/TrustManagerFactorySpi.java.i
data/src/share/classes/javax/swing/ButtonModel.java.i
+data/src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java.i
data/src/share/classes/javax/management/QueryEval.java.i
data/make/tools/swing-beans/beaninfo/images/JAppletColor32.gif.i
data/src/windows/classes/sun/awt/windows/WDesktopPeer.java.i
-data/make/java/zip/Makefile.i
+data/test/javax/management/remote/mandatory/passwordAccessFile/SimpleStandardMBean.java.i
data/test/sun/nio/cs/TestISO2022JP.java.i
data/src/share/classes/java/io/FilePermission.java.i
data/src/share/classes/sun/audio/AudioStream.java.i
@@ -13396,17 +13495,14 @@ data/src/share/classes/sun/nio/cs/ext/IBM918.java.i
data/test/javax/imageio/plugins/bmp/BMPSubsamplingTest.java.i
data/src/share/classes/javax/swing/plaf/DimensionUIResource.java.i
data/test/sun/misc/ClassLoaderUtil/Test.java.i
-data/test/java/net/URLConnection/xml/not-xml1.i
+data/src/share/classes/com/sun/jdi/connect/LaunchingConnector.java.i
data/test/java/lang/management/ClassLoadingMXBean/LoadCounts.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315.java.i
data/src/solaris/classes/sun/awt/X11/ListHelper.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/GetResponseCode.java.i
-data/test/java/io/Serializable/6559775/README.i
data/test/sun/net/idn/nfscis.spp.i
data/test/javax/management/remote/mandatory/connection/RMISerializeTest.java.i
data/src/windows/classes/sun/java2d/windows/WinBackBuffer.java.i
-data/make/tools/sharing/tests/GHello.java.i
-data/src/solaris/native/sun/awt/awt_motif.c.i
+data/src/share/classes/java/security/acl/Group.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/Init.java.i
data/src/share/classes/java/util/Formattable.java.i
data/src/share/classes/sun/util/resources/CalendarData_ca.properties.i
@@ -13425,275 +13521,273 @@ data/src/share/classes/sun/swing/plaf/WindowsKeybindings.java.i
data/test/javax/management/mxbean/ThreadMXBeanTest.java.i
data/src/share/classes/com/sun/media/sound/DLSSampleOptions.java.i
data/test/java/util/Collections/SetFromMap.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ProtocolVersion/HttpsProtocols.java.i
+data/test/sun/tools/jrunscript/Hello.java.i
data/test/java/nio/file/Files/CreateFileTree.java.i
+data/src/share/classes/sun/security/x509/AlgIdDSA.java.i
data/src/share/classes/javax/management/monitor/MonitorNotification.java.i
data/src/share/classes/javax/management/modelmbean/ModelMBeanOperationInfo.java.i
data/src/windows/bin/java_md.c.i
data/src/share/classes/java/util/JumboEnumSet.java.i
data/test/com/sun/servicetag/NewRegistrationData.java.i
data/src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java.i
-data/test/sun/security/provider/PolicyFile/CombinedPerms.java.i
data/src/share/classes/sun/security/krb5/internal/util/KerberosFlags.java.i
data/src/share/classes/javax/print/attribute/standard/PrinterIsAcceptingJobs.java.i
data/test/java/util/Formatter/Constructors.java.i
-data/src/share/classes/com/sun/imageio/plugins/jpeg/DQTMarkerSegment.java.i
+data/src/share/instrument/InstrumentationImplNativeMethods.c.i
data/src/solaris/native/sun/java2d/x11/XRSurfaceData.c.i
data/src/share/classes/com/sun/jmx/snmp/SnmpValue.java.i
data/make/sun/motif12/reorder-sparc.i
data/test/java/awt/Robot/AcceptExtraMouseButtons/AcceptExtraMouseButtons.java.i
data/src/share/classes/sun/text/normalizer/UnicodeSetIterator.java.i
data/test/sun/security/krb5/Krb5NameEquals.java.i
-data/test/java/beans/beancontext/Test4132698.java.i
+data/test/javax/crypto/CryptoPermission/AllPermCheck.java.i
+data/test/com/sun/jdi/GetLocalVariables.java.i
data/src/share/classes/java/awt/AWTEvent.java.i
data/src/share/demo/jfc/Notepad/resources/paste.gif.i
-data/src/share/classes/javax/sql/rowset/Joinable.java.i
+data/src/share/classes/sun/text/normalizer/UnicodeMatcher.java.i
data/test/sun/security/mscapi/IsSunMSCAPIAvailable.sh.i
data/test/org/openjdk/jigsaw/_RepositoryCatalog.java.i
-data/test/java/beans/XMLEncoder/java_lang_reflect_Method.java.i
+data/test/java/rmi/registry/readTest/testPkg/Server.java.i
data/test/sun/net/www/protocol/jar/B4756443.java.i
-data/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorVersionException.java.i
+data/src/share/sample/nio/server/BP.java.i
data/make/tools/swing-beans/beaninfo/images/JMenuItemColor32.gif.i
data/src/share/classes/java/util/concurrent/locks/ReentrantLock.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPointer.java.i
+data/src/solaris/hpi/include/interrupt.h.i
data/test/java/rmi/reliability/benchmark/bench/serial/ClassDesc.java.i
data/make/org/openjdk/Makefile.i
data/src/share/classes/java/awt/print/PrinterAbortException.java.i
data/src/share/demo/nbproject/jfc/TransparentRuler/nbproject/project.xml.i
data/src/share/lib/logging.properties.i
data/src/share/classes/sun/io/CharToByteCp874.java.i
-data/test/org/openjdk/jigsaw/hello-view.sh.i
-data/src/share/classes/com/sun/jmx/snmp/SnmpPduBulkType.java.i
+data/src/share/classes/com/sun/media/sound/RealTimeSequencer.java.i
data/src/share/native/java/lang/fdlibm/src/e_sinh.c.i
-data/test/java/rmi/reliability/benchmark/bench/Benchmark.java.i
-data/src/share/classes/javax/sound/sampled/Port.java.i
+data/test/java/rmi/activation/Activatable/createPrivateActivable/group.security.policy.i
+data/src/share/classes/sun/applet/AppletIOException.java.i
data/test/java/lang/Math/CeilAndFloorTests.java.i
data/test/java/util/Locale/bug4123285.java.i
-data/src/share/classes/java/awt/GridLayout.java.i
-data/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java.i
-data/test/java/nio/channels/FileChannel/Position.java.i
-data/test/java/beans/PropertyChangeSupport/Test4985020.java.i
-data/test/java/rmi/reliability/benchmark/bench/serial/DoubleArrays.java.i
+data/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubBulkRequestHandler.java.i
+data/src/share/native/sun/font/layout/HanLayoutEngine.cpp.i
+data/src/share/classes/sun/reflect/generics/tree/TypeSignature.java.i
+data/test/java/lang/instrument/AInstrumentationTestCase.java.i
+data/test/javax/print/applet/applet3/Applet3PrintService.java.i
+data/src/share/classes/sun/text/bidi/BidiRun.java.i
+data/src/solaris/javavm/export/jni_md.h.i
data/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_CommonUtils.h.i
data/test/javax/swing/JFileChooser/6741890/bug6741890.java.i
-data/src/windows/classes/com/sun/security/auth/module/README.i
+data/src/share/classes/sun/tools/tree/AssignShiftRightExpression.java.i
data/make/tools/src/build/tools/jdwpgen/UntaggedValueTypeNode.java.i
data/src/share/classes/sun/awt/shell/ShellFolderManager.java.i
data/test/java/net/DatagramPacket/CheckBoundaries.java.i
data/src/share/classes/java/security/cert/PKIXBuilderParameters.java.i
data/test/java/net/Socket/asyncClose/ServerSocket_accept.java.i
-data/src/share/classes/sun/net/www/protocol/http/InMemoryCookieStore.java.i
-data/test/java/net/URL/HandlerLoop.java.i
+data/src/share/classes/javax/naming/ldap/UnsolicitedNotification.java.i
+data/test/java/lang/Throwable/LegacyChainedExceptionSerialization.java.i
data/src/share/classes/sun/security/provider/certpath/BuildStep.java.i
-data/test/java/beans/VetoableChangeSupport/1.6.0.ser.i
+data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMTrapItem.java.i
data/src/share/classes/sun/security/ssl/HandshakeInStream.java.i
data/src/windows/native/sun/windows/awt_FileDialog.h.i
-data/src/windows/bin/i586/jvm.cfg.i
-data/src/share/classes/java/awt/font/MultipleMaster.java.i
-data/src/share/native/sun/security/pkcs11/wrapper/pkcs11f.h.i
+data/src/share/native/java/util/zip/zlib-1.1.3/zadler32.c.i
+data/make/mksample/nio/Makefile.i
data/test/java/security/Identity/EqualsHashCodeContract.java.i
data/test/sun/security/util/DerValue/DerValueEqualsHashCode.java.i
data/make/sun/xawt/FILES_export_unix.gmk.i
-data/test/java/nio/channels/DatagramChannel/ChangingAddress.java.i
+data/make/tools/classanalyzer/src/com/sun/classanalyzer/ConstantPoolAnalyzer.java.i
data/test/java/io/Serializable/packageAccess/D.java.i
data/src/share/classes/sun/nio/ch/SelectionKeyImpl.java.i
data/test/java/util/ResourceBundle/Control/ControlFactoryTest.java.i
data/src/share/classes/javax/smartcardio/CardTerminal.java.i
data/make/tools/src/build/tools/jdwpgen/Parse.java.i
-data/src/share/classes/java/awt/print/PrinterGraphics.java.i
+data/make/tools/CharsetMapping/IBM500.c2b.i
+data/src/share/classes/sun/tools/jstat/Scale.java.i
data/test/java/net/URLConnection/RequestPropertyValues.java.i
-data/src/share/classes/sun/security/x509/X500Name.java.i
+data/make/mkdemo/applets/SimpleGraph/Makefile.i
data/test/java/io/PipedOutputStream/NotConnected.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/ClientServer.java.i
+data/test/java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html.i
data/src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java.i
-data/src/share/classes/sun/text/resources/FormatData_bg_BG.java.i
+data/src/share/classes/sun/tools/tree/FinallyStatement.java.i
data/src/share/classes/javax/management/AttributeValueExp.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/FuncHere.java.i
-data/src/share/classes/com/sun/tools/jdi/BooleanTypeImpl.java.i
+data/src/share/classes/sun/security/pkcs11/wrapper/CK_X9_42_DH1_DERIVE_PARAMS.java.i
data/test/java/lang/instrument/appendToClassLoaderSearch/Tracer.java.i
-data/test/java/security/SecureRandom/sha1prng-old.bin.i
+data/src/solaris/classes/sun/awt/X11InputMethod.java.i
data/src/share/classes/java/awt/event/KeyAdapter.java.i
-data/test/sun/security/pkcs11/nss/lib/solaris-amd64/libnss3.so.i
-data/test/sun/nio/cs/X11CNS11643.java.i
+data/test/java/util/concurrent/CopyOnWriteArraySet/RacingCows.java.i
+data/src/share/classes/com/sun/jdi/ObjectCollectedException.java.i
+data/test/java/net/InetAddress/ptr/lookup.sh.i
data/test/java/lang/annotation/loaderLeak/A.java.i
-data/test/sun/security/pkcs11/nss/lib/solaris-amd64/libnss3.so.d
+data/src/share/classes/javax/xml/crypto/dsig/spec/TransformParameterSpec.java.i
data/make/tools/CharsetMapping/IBM874.nr.i
data/src/share/classes/com/sun/rmi/rmid/ExecPermission.java.i
data/src/share/classes/java/util/Map.java.i
-data/src/share/classes/sun/util/resources/CurrencyNames_sv.properties.i
-data/src/share/javavm/export/classfile_constants.h.i
+data/test/java/io/Serializable/6559775/README.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/SyntaxException.java.i
data/test/java/rmi/reliability/README.i
data/src/share/classes/java/util/Stack.java.i
data/src/share/classes/java/awt/SystemColor.java.i
data/test/java/beans/XMLEncoder/sun_swing_PrintColorUIResource.java.i
data/src/share/classes/com/sun/crypto/provider/DESKeyFactory.java.i
-data/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java.i
+data/test/demo/jvmti/hprof/HeapDumpTest.java.i
data/src/share/classes/java/security/KeyManagementException.java.i
data/src/share/classes/org/openjdk/jigsaw/Library.java.i
data/test/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh.i
-data/test/java/util/AbstractMap/SimpleEntries.java.i
+data/src/share/classes/java/lang/TypeNotPresentException.java.i
data/src/share/classes/java/util/regex/Matcher.java.i
data/make/tools/reorder/tests/JHello.java.i
data/src/share/javavm/include/opcodes.length.i
data/src/share/classes/java/security/acl/Permission.java.i
-data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java.i
+data/src/share/classes/sun/tools/tree/PreIncExpression.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthPopupMenuUI.java.i
data/test/java/awt/dnd/FileListBetweenJVMsTest/SourceFileListFrame.java.i
data/test/java/rmi/RemoteException/chaining/Chaining.java.i
-data/test/javax/management/ObjectInstance/MBeanInfoFailTest.java.i
+data/src/windows/classes/sun/security/smartcardio/PlatformPCSC.java.i
+data/src/share/classes/com/sun/jndi/toolkit/dir/ContainmentFilter.java.i
data/src/share/classes/sun/io/CharToByteEUC.java.i
data/src/share/classes/sun/io/CharToByteGBK.java.i
data/test/java/beans/XMLEncoder/Test4950122.java.i
data/test/java/io/File/DeleteOnExit.java.i
data/src/share/classes/javax/imageio/spi/RegisterableService.java.i
-data/test/java/lang/instrument/IsModifiableClassAgent.java.i
+data/src/share/classes/sun/io/ByteToCharCp1097.java.i
data/src/share/classes/sun/nio/cs/MS1250.java.i
data/src/share/classes/sun/tools/tree/BitNotExpression.java.i
-data/test/java/lang/reflect/Array/ExceedMaxDim.java.i
data/src/share/classes/sun/java2d/pipe/ShapeSpanIterator.java.i
-data/src/share/classes/sun/io/ByteToCharMacCyrillic.java.i
-data/src/share/classes/sun/security/x509/AlgIdDSA.java.i
+data/src/share/classes/java/util/AbstractSet.java.i
+data/test/java/io/Serializable/skippedObjCNFException/Write.java.i
+data/src/windows/classes/sun/awt/windows/WClipboard.java.i
data/src/share/classes/sun/reflect/package.html.i
-data/src/share/classes/com/sun/jmx/snmp/SnmpBadSecurityLevelException.java.i
+data/src/share/classes/javax/swing/plaf/basic/BasicTextUI.java.i
data/src/share/classes/javax/net/ssl/SSLSession.java.i
-data/src/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfo.java.i
data/src/solaris/classes/sun/awt/X11/XDragSourceContextPeer.java.i
data/test/sun/net/InetAddress/nameservice/simple/DefaultCaching.java.i
data/test/java/awt/Mixing/setComponentZOrder.java.i
-data/src/share/classes/sun/tools/jconsole/Plotter.java.i
+data/src/share/classes/sun/print/CustomMediaTray.java.i
data/test/java/beans/XMLDecoder/spec/TestString.java.i
data/src/share/native/sun/awt/image/jpeg/jcphuff.c.i
data/test/sun/security/provider/certpath/DisabledAlgorithms/README.i
data/src/share/classes/com/sun/tools/attach/spi/package.html.i
-data/src/share/demo/nbproject/management/FullThreadDump/build.xml.i
+data/src/share/classes/javax/management/openmbean/OpenMBeanOperationInfo.java.i
data/src/share/classes/com/sun/media/sound/AuFileFormat.java.i
data/test/java/net/URLClassLoader/B6827999.java.i
data/test/javax/swing/ToolTipManager/Test6256140.java.i
-data/src/share/classes/java/beans/AppletInitializer.java.i
+data/src/share/native/sun/security/ec/mp_gf2m.h.i
data/src/share/classes/sun/nio/cs/ext/IBM948.java.i
-data/test/java/security/Security/ClassLoaderDeadlock/CreateSerialized.java.i
+data/src/share/demo/jvmti/hprof/hprof_object.h.i
+data/make/tools/swing-beans/beaninfo/images/JRadioButtonColor32.gif.i
data/test/java/util/concurrent/locks/ReentrantReadWriteLock/Count.java.i
data/test/java/net/URLClassLoader/closetest/test1/com/foo/Resource1.i
-data/test/sun/nio/cs/LatinCharReplacementTWTest.java.i
+data/src/share/classes/sun/security/krb5/KrbKdcReq.java.i
data/test/java/util/EnumMap/ToArray.java.i
-data/src/share/classes/sun/security/ssl/X509TrustManagerImpl.java.i
-data/src/share/classes/sun/util/resources/CurrencyNames_sk_SK.properties.i
+data/make/tools/CharsetMapping/IBM868.map.i
+data/test/com/sun/servicetag/DuplicateNotFound.java.i
+data/src/share/classes/com/sun/jdi/request/MonitorWaitedRequest.java.i
data/test/java/nio/channels/TestThread.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifScrollBarUI.java.i
data/test/sun/nio/cs/OLD/EUC_KR_OLD.java.i
data/src/solaris/native/sun/awt/awt_TextField.h.i
-data/src/share/classes/sun/management/snmp/jvminstr/JvmRTBootClassPathTableMetaImpl.java.i
+data/src/share/classes/org/openjdk/internal/joptsimple/internal/ValueConverter.java.i
data/src/windows/native/common/jdk_util_md.c.i
-data/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java.i
-data/src/share/classes/sun/tools/jconsole/resources/masthead-left.png.i
+data/src/share/classes/javax/sql/rowset/RowSetFactory.java.i
+data/src/share/native/sun/awt/medialib/mlib_c_ImageCopy.c.i
data/src/share/native/sun/awt/libpng/LICENSE.i
data/src/share/classes/sun/management/Sensor.java.i
-data/make/netbeans/common/jtreg-view.ent.i
data/src/share/classes/javax/management/openmbean/CompositeDataView.java.i
-data/src/share/classes/java/lang/annotation/Retention.java.i
-data/src/share/classes/javax/swing/JComponent.java.i
-data/src/share/native/sun/awt/image/cvutils/img_noscale.h.i
+data/src/share/classes/sun/misc/Cache.java.i
+data/make/tools/swing-beans/beaninfo/images/JPopupMenuMono16.gif.i
+data/src/share/classes/sun/security/util/HostnameChecker.java.i
data/src/share/classes/com/sun/tools/jdi/Packet.java.i
-data/test/java/beans/XMLEncoder/javax_swing_border_EtchedBorder.java.i
+data/src/share/demo/nbproject/jfc/Font2DTest/nbproject/file-targets.xml.i
data/test/java/nio/charset/Charset/EncDec.java.i
data/src/share/classes/java/net/SocketAddress.java.i
data/src/solaris/doc/sun/man/man1/javap.1.i
data/src/share/classes/sun/tools/jstat/RowClosure.java.i
-data/src/share/classes/sun/security/pkcs11/wrapper/Constants.java.i
-data/test/sun/net/www/protocol/jar/getcontenttype.sh.i
-data/test/java/lang/instrument/RedefineSetUp.sh.i
+data/src/share/classes/sun/security/krb5/internal/crypto/dk/ArcFourCrypto.java.i
+data/src/share/classes/java/nio/X-Buffer-bin.java.template.i
+data/test/java/beans/EventHandler/Test6179222.java.i
data/src/share/classes/sun/util/logging/resources/logging.properties.i
data/src/share/classes/sun/nio/cs/ext/IBM1047.java.i
-data/test/sun/management/windows/revokeall.c.i
+data/src/share/classes/sun/awt/TracedEventQueue.java.i
data/src/share/classes/sun/management/snmp/jvminstr/JvmMemoryMetaImpl.java.i
data/test/java/awt/AlphaComposite/TestAlphaCompositeForNaN.java.i
data/src/share/native/java/lang/SecurityManager.c.i
data/test/java/awt/dnd/ImageDecoratedDnDInOut/MyCursor.java.i
data/src/share/classes/sun/text/resources/FormatData_ar.java.i
data/test/java/rmi/activation/Activatable/checkActivateRef/rmid.security.policy.i
-data/test/java/lang/Class/IsSynthetic.java.i
+data/test/java/beans/Statement/Test6788531.java.i
data/src/solaris/doc/sun/man/man1/ja/jinfo.1.i
data/test/sun/security/tools/keytool/NewSize7.java.i
data/src/share/classes/javax/swing/JFormattedTextField.java.i
data/src/share/classes/sun/security/krb5/PrincipalName.java.i
-data/src/share/classes/sun/security/tools/CertAndKeyGen.java.i
+data/test/javax/swing/JTabbedPane/6670274/bug6670274.java.i
data/src/share/classes/java/security/interfaces/DSAKey.java.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageConvIndex3_8_8nw.c.i
+data/test/sun/nio/cs/FindDecoderBugs.java.i
+data/src/share/classes/org/ietf/jgss/ChannelBinding.java.i
data/src/share/classes/sun/security/provider/DSAParameters.java.i
-data/src/share/classes/javax/swing/text/TabSet.java.i
-data/test/java/lang/reflect/Method/InheritedInterfaceMethods.java.i
-data/test/org/openjdk/jigsaw/cli/TimestampTest.java.i
-data/make/sun/font/reorder-i586.i
+data/src/share/classes/javax/swing/event/RowSorterEvent.java.i
+data/make/tools/swing-beans/beaninfo/images/JRadioButtonMono16.gif.i
+data/src/windows/native/sun/java2d/d3d/D3DRuntimeTest.cpp.i
+data/src/share/classes/com/sun/security/auth/LdapPrincipal.java.i
data/test/sun/security/krb5/auto/KeyTabCompat.java.i
data/make/netbeans/common/architectures/arch-i386.properties.i
-data/test/java/math/BigDecimal/DivideMcTests.java.i
data/src/share/classes/java/nio/channels/spi/SelectorProvider.java.i
data/src/share/classes/sun/security/rsa/RSAKeyFactory.java.i
data/src/share/classes/sun/print/resources/serviceui_ko.properties.i
data/test/java/beans/XMLEncoder/java_util_Collections_SynchronizedSortedSet.java.i
data/test/java/util/zip/InflateIn_DeflateOut.java.i
-data/test/javax/management/remote/mandatory/subjectDelegation/policy35.i
-data/src/share/classes/sun/text/normalizer/UCharacterProperty.java.i
+data/test/javax/imageio/plugins/png/MergeStdCommentTest.java.i
+data/src/share/classes/javax/security/auth/callback/CallbackHandler.java.i
data/test/java/rmi/reliability/benchmark/bench/serial/manifest.i
data/test/com/sun/nio/sctp/SctpChannel/Util.java.i
data/test/sun/tools/jstat/hsperfdata_3433.i
-data/src/share/native/sun/security/ec/mp_gf2m-priv.h.i
-data/src/share/classes/com/sun/jndi/ldap/pool/ConnectionsWeakRef.java.i
+data/src/share/classes/java/lang/ClassCircularityError.java.i
+data/src/share/classes/com/sun/tools/attach/VirtualMachine.java.i
data/src/windows/bin/java_md.h.i
-data/src/share/classes/sun/util/resources/LocaleNames_nl.properties.i
-data/src/share/classes/java/beans/ExceptionListener.java.i
+data/src/share/classes/java/security/AlgorithmConstraints.java.i
data/test/javax/security/auth/login/LoginContext/ResetModule.java.i
-data/src/share/classes/sun/reflect/generics/tree/TypeVariableSignature.java.i
-data/src/share/classes/java/nio/file/attribute/FileAttributeView.java.i
+data/src/share/demo/nbproject/management/MemoryMonitor/build.xml.i
data/test/java/lang/management/ThreadMXBean/LockingThread.java.i
data/src/share/classes/sun/io/ByteToCharCp834.java.i
data/src/share/classes/com/sun/jdi/VMMismatchException.java.i
data/src/share/classes/sun/security/krb5/internal/KDCRep.java.i
data/src/share/classes/sun/java2d/opengl/OGLPaints.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/JavaUtils.java.i
-data/src/share/classes/sun/beans/editors/FontEditor.java.i
+data/src/share/classes/java/io/PushbackReader.java.i
data/src/share/classes/sun/tools/jstat/Jstat.java.i
data/src/share/classes/javax/management/event/EventSubscriber.java.i
data/src/share/native/sun/java2d/loops/MapAccelFunc.c.i
data/src/share/classes/java/beans/PropertyEditorManager.java.i
-data/src/share/classes/java/applet/package.html.i
+data/src/share/classes/java/rmi/activation/ActivationGroup.java.i
data/src/share/classes/com/sun/jndi/url/ldap/ldapURLContext.java.i
+data/test/java/lang/management/ThreadMXBean/ThreadCpuTime.java.i
data/src/share/classes/java/util/concurrent/Executors.java.i
-data/src/share/classes/sun/nio/cs/ext/ISO2022_CN.java.i
-data/src/share/classes/sun/java2d/loops/FillRect.java.i
-data/make/tools/swing-beans/beaninfo/images/JProgressBarColor16.gif.i
+data/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java.i
+data/src/windows/classes/sun/awt/windows/WSystemTrayPeer.java.i
data/test/java/text/Bidi/Bug7051769.java.i
data/test/com/sun/jdi/ProcessAttachDebuggee.java.i
data/src/share/demo/nbproject/jfc/Metalworks/nbproject/project.xml.i
-data/src/share/classes/sun/tools/tree/ByteExpression.java.i
data/src/share/classes/sun/nio/cs/ext/IBM1143.java.i
-data/src/share/native/sun/java2d/pipe/RenderBuffer.c.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIU16S16Func.c.i
data/test/com/sun/crypto/provider/Cipher/DES/FlushBug.java.i
-data/test/java/lang/instrument/PremainClass/InheritAgent1011.java.i
-data/test/java/security/spec/ECCBasic.java.i
+data/make/tools/classanalyzer/src/com/sun/classanalyzer/Module.java.i
data/test/sun/net/idn/PunycodeTest.java.i
data/src/share/classes/sun/font/CompositeStrike.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/TruncateArray.java.i
+data/src/share/classes/sun/security/provider/certpath/OCSPResponse.java.i
data/src/share/demo/java2d/J2DBench/resources/textdata/korean.ut8.txt.i
data/src/share/back/ClassTypeImpl.h.i
+data/src/share/classes/sun/security/provider/SeedGenerator.java.i
data/test/java/net/MulticastSocket/MulticastTTL.java.i
-data/test/sun/security/krb5/IPv6.java.i
-data/src/share/classes/com/sun/nio/file/SensitivityWatchEventModifier.java.i
-data/test/java/util/concurrent/CopyOnWriteArrayList/EqualsRace.java.i
+data/make/tools/swing-beans/beaninfo/images/JButtonMono16.gif.i
+data/src/share/classes/sun/nio/cs/MS1257.java.i
data/src/share/classes/sun/net/util/IPAddressUtil.java.i
data/src/share/classes/java/awt/dnd/package.html.i
data/src/share/classes/sun/tools/jconsole/inspector/XMBeanOperations.java.i
-data/test/com/sun/net/httpserver/SelCacheTest.java.i
data/test/java/net/ResponseCache/ResponseCacheTest.java.i
data/make/sun/security/Makefile.i
data/test/java/rmi/activation/Activatable/checkImplClassLoader/rmid.security.policy.i
data/test/sun/security/provider/PolicyFile/getinstance/GetInstance.java.i
data/test/java/util/Scanner/FailingConstructors.java.i
data/src/share/classes/javax/management/openmbean/OpenMBeanConstructorInfo.java.i
-data/src/share/classes/sun/util/resources/LocaleNames_no_NO_NY.properties.i
-data/test/sun/rmi/rmic/newrmic/equivalence/Agent.java.i
+data/src/share/classes/sun/text/resources/FormatData_ar_KW.java.i
+data/src/share/classes/com/sun/jdi/connect/ListeningConnector.java.i
data/make/java/nio/spp.sh.i
data/src/share/classes/java/nio/file/FileTreeWalker.java.i
data/src/share/native/sun/tracing/dtrace/JVM.c.i
@@ -13702,12 +13796,15 @@ data/make/sun/nio/cs/FILES_java.gmk.i
data/test/javax/management/query/QuerySubstringTest.java.i
data/src/share/classes/com/sun/beans/decoder/StringElementHandler.java.i
data/src/share/classes/sun/net/ResourceManager.java.i
+data/src/share/classes/sun/security/pkcs/EncodingException.java.i
+data/test/java/net/URLClassLoader/closetest/Common.java.i
data/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCMUtils.h.i
data/src/windows/classes/java/lang/Terminator.java.i
+data/test/java/net/MulticastSocket/Leave.java.i
data/make/tools/src/build/tools/charsetmapping/GenerateSBCS.java.i
data/src/share/classes/sun/font/AttributeValues.java.i
data/test/java/lang/ThreadGroup/Daemon.java.i
-data/src/share/classes/sun/net/www/protocol/https/HttpsClient.java.i
+data/src/share/classes/java/sql/SQLPermission.java.i
data/src/share/classes/javax/sql/rowset/RowSetMetaDataImpl.java.i
data/src/share/classes/sun/swing/BakedArrayList.java.i
data/src/share/classes/javax/management/relation/RoleResult.java.i
@@ -13715,14 +13812,15 @@ data/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java.i
data/make/mkdemo/jvmti/compiledMethodLoad/Makefile.i
data/test/java/util/jar/JarFile/no-manifest.jar.i
data/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/EchoImpl_Stub.java.i
-data/test/sun/net/www/protocol/http/SetIfModifiedSince.java.i
-data/test/sun/security/pkcs11/ec/TestECDH.java.i
+data/src/share/classes/sun/text/resources/FormatData_vi_VN.java.i
+data/test/java/rmi/server/useCustomRef/UseCustomRef.java.i
data/src/windows/native/sun/windows/README.JNI.i
data/src/share/classes/javax/security/cert/CertificateExpiredException.java.i
data/src/share/classes/javax/imageio/metadata/doc-files/wbmp_metadata.html.i
data/src/share/classes/javax/naming/ldap/package.html.i
+data/src/share/demo/jfc/Metalworks/GreenMetalTheme.java.i
data/src/share/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/DirectoryScannerTest.java.i
-data/src/share/classes/com/sun/jmx/snmp/IPAcl/OwnerImpl.java.i
+data/make/tools/swing-beans/beaninfo/images/JRootPaneMono32.gif.i
data/src/share/classes/sun/security/krb5/internal/crypto/CksumType.java.i
data/test/javax/management/remote/mandatory/notif/NotificationBufferTest.java.i
data/src/share/classes/sun/io/CharToByteISCII91.java.i
@@ -13731,68 +13829,65 @@ data/src/share/instrument/Reentrancy.c.i
data/src/share/classes/javax/swing/text/html/TextAreaDocument.java.i
data/test/com/sun/crypto/provider/Cipher/PBE/PBEKeysAlgorithmNames.java.i
data/make/javax/sound/jsoundhs/Makefile.i
-data/test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/KeepAliveDuringCall.java.i
+data/test/java/net/DatagramSocket/SendSize.java.i
data/test/java/beans/PropertyEditor/TestFontClass.java.i
data/test/java/nio/charset/CharsetEncoder/Flush.java.i
-data/src/share/classes/sun/text/resources/FormatData_ko_KR.java.i
-data/src/share/classes/sun/jkernel/Mutex.java.i
+data/src/share/classes/sun/font/SunFontManager.java.i
+data/src/linux/doc/man/ja/javadoc.1.d
data/src/share/classes/com/sun/security/auth/module/Crypt.java.i
data/src/share/classes/java/lang/reflect/ReflectPermission.java.i
-data/src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java.i
+data/src/linux/doc/man/ja/javadoc.1.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ReverseNameLookup.java.i
data/src/share/classes/sun/misc/CharacterEncoder.java.i
-data/src/share/classes/sun/rmi/server/resources/rmid.properties.i
+data/test/javax/xml/crypto/dsig/data/xml-stylesheet.b64.i
+data/src/share/back/eventFilter.h.i
+data/src/share/classes/sun/security/pkcs11/wrapper/CK_DATE.java.i
data/test/java/util/concurrent/ExecutorService/Invoke.java.i
-data/test/sun/tools/jps/jps-l_Output1.awk.i
-data/src/share/classes/sun/security/util/BigInt.java.i
-data/src/solaris/native/sun/awt/sun_awt_X11_GtkFileDialogPeer.c.i
+data/src/share/native/java/util/zip/zlib-1.2.3/zadler32.c.i
+data/src/share/classes/sun/applet/AppletPanel.java.i
+data/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.c.i
data/src/share/classes/sun/nio/cs/ext/JIS_X_0212.java.i
-data/src/share/javavm/export/jdwpTransport.h.i
data/src/share/classes/javax/swing/ImageIcon.java.i
data/src/share/classes/com/sun/jdi/request/EventRequestManager.java.i
-data/src/share/demo/jfc/Metalworks/UISwitchListener.java.i
-data/src/share/classes/sun/security/pkcs11/wrapper/CK_SESSION_INFO.java.i
-data/src/share/classes/org/openjdk/internal/joptsimple/OptionSpecBuilder.java.i
-data/test/java/io/Serializable/arraySuidConflict/Read.java.i
+data/src/windows/native/sun/windows/awt_MouseEvent.cpp.i
+data/test/java/net/SocketPermission/ActionSpace.java.i
+data/test/tools/launcher/MultipleJRE.sh.i
+data/src/share/classes/com/sun/rowset/WebRowSetImpl.java.i
data/test/sun/net/sdp/sanity.sh.i
data/test/java/awt/GraphicsEnvironment/TestGetDefScreenDevice.java.i
-data/test/com/sun/java/swing/plaf/gtk/Test6635110.java.i
-data/src/solaris/native/sun/awt/awt_DrawingSurface.h.i
+data/make/tools/CharsetMapping/SingleByte-X.java.i
+data/make/tools/CharsetMapping/IBM860.map.i
data/test/java/io/StreamTokenizer/input.txt.i
-data/make/modules/tools/src/com/sun/classanalyzer/ResolutionInfo.java.i
data/test/sun/security/provider/PolicyFile/TrustedCert.policy.i
-data/test/java/nio/charset/RemovingSunIO/SunioAlias.java.i
-data/test/java/util/Collections/Ser.java.i
+data/src/share/classes/sun/text/resources/FormatData_zh_SG.java.i
data/test/javax/sound/midi/Gervill/SimpleInstrument/SetPatch.java.i
data/src/share/classes/javax/imageio/IIOException.java.i
-data/make/common/shared/Defs-windows.gmk.i
+data/src/share/classes/com/sun/jdi/request/EventRequest.java.i
data/test/java/beans/PropertyEditor/6380849/editors/SecondBeanEditor.java.i
data/test/java/lang/Class/getModifiers/ForStaticInnerClass.java.i
data/test/java/net/InetAddress/MyPrincipal.java.i
data/src/share/classes/java/awt/doc-files/modal-example2.gif.i
data/src/share/classes/sun/security/krb5/internal/crypto/HmacSha1Des3KdCksumType.java.i
data/src/share/native/sun/java2d/loops/ParallelogramUtils.h.i
-data/src/share/classes/javax/swing/InputVerifier.java.i
+data/src/share/classes/java/util/concurrent/FutureTask.java.i
data/test/java/rmi/server/RMIClassLoader/useCodebaseOnly/Receiver.java.i
data/src/share/classes/java/net/StandardSocketOption.java.i
data/test/java/beans/PropertyEditor/TestBooleanClass.java.i
-data/src/share/classes/sun/security/util/DerIndefLenConverter.java.i
data/src/windows/native/java/io/RandomAccessFile_md.c.i
data/src/share/native/sun/font/layout/ThaiShaping.cpp.i
-data/test/java/rmi/activation/Activatable/nonExistentActivatable/group.security.policy.i
+data/test/java/net/URLClassLoader/getresourceasstream/test.sh.i
data/src/share/native/sun/java2d/cmm/lcms/cmsmatsh.c.i
-data/src/share/classes/sun/font/FontManagerFactory.java.i
-data/test/sun/security/tools/policytool/ChangeUI.java.i
-data/test/java/io/NegativeInitSize.java.i
+data/test/java/awt/PrintJob/MultipleEnd/MultipleEnd.java.i
+data/src/share/classes/java/io/PrintStream.java.i
data/test/java/lang/ClassLoader/ExceptionHidingLoader.java.i
-data/test/javax/security/auth/Subject/Serial.java.i
+data/src/linux/doc/man/jsadebugd.1.i
data/src/share/classes/sun/io/CharToByteCp833.java.i
data/src/share/classes/com/sun/jndi/cosnaming/IiopUrl.java.i
data/src/share/classes/com/sun/imageio/spi/InputStreamImageInputStreamSpi.java.i
-data/src/share/classes/sun/util/resources/LocaleNames_ru.properties.i
+data/src/share/classes/java/awt/event/MouseMotionAdapter.java.i
data/src/share/classes/com/sun/media/sound/ReferenceCountingDevice.java.i
-data/src/share/classes/sun/net/www/protocol/http/AuthScheme.java.i
-data/src/solaris/native/sun/awt/CUPSfuncs.c.i
+data/src/share/classes/javax/swing/plaf/synth/SynthCheckBoxUI.java.i
+data/test/java/nio/Buffer/BasicShort.java.i
data/src/solaris/classes/sun/awt/X11CustomCursor.java.i
data/test/javax/naming/spi/DirectoryManager/DummyObjectFactory.java.i
data/src/solaris/classes/sun/awt/X11/XVerticalScrollbar.java.i
@@ -13800,95 +13895,99 @@ data/src/share/classes/com/sun/media/sound/PortMixerProvider.java.i
data/src/share/sample/nio/server/Handler.java.i
data/src/share/classes/com/sun/tools/hat/internal/model/JavaValue.java.i
data/src/share/native/sun/font/layout/GlyphPositionAdjustments.h.i
-data/test/java/awt/Modal/ModalInternalFrameTest/ModalInternalFrameTest.java.i
+data/test/java/net/URLConnection/ResendPostBody.java.i
data/test/java/util/concurrent/Phaser/Arrive.java.i
+data/test/java/util/Locale/icuLocales.txt.i
+data/src/share/transport/socket/sysSocket.h.i
data/test/com/sun/jdi/redefineMethod/RedefineTest.java.i
data/test/java/nio/Buffer/Order.java.i
data/test/javax/print/attribute/ChromaticityValues.java.i
data/make/tools/src/build/tools/dtdbuilder/DTDInputStream.java.i
data/src/share/classes/java/nio/file/Path.java.i
-data/test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/HelloImpl_Stub.java.i
-data/test/javax/security/auth/PrivateCredentialPermission/Subset.policy.i
+data/test/com/sun/jdi/DeferredStepTest.sh.i
data/src/share/classes/javax/swing/ProgressMonitor.java.i
-data/test/java/lang/System/finalization/FinExit.java.i
-data/src/share/classes/javax/naming/LinkRef.java.i
+data/src/share/classes/com/sun/media/sound/services/linux-i586/javax.sound.sampled.spi.MixerProvider.i
+data/test/sun/security/mscapi/AccessKeyStore.sh.i
data/src/share/classes/java/lang/Override.java.i
data/src/share/classes/java/sql/PseudoColumnUsage.java.i
data/test/java/lang/Double/ParseDouble.java.i
data/src/share/classes/com/sun/jmx/snmp/SnmpNull.java.i
data/src/share/classes/javax/naming/SizeLimitExceededException.java.i
-data/src/share/classes/java/awt/color/ICC_ProfileRGB.java.i
data/src/share/classes/javax/swing/tree/DefaultMutableTreeNode.java.i
data/test/sun/nio/cs/OLD/DoubleByteDecoder.java.i
data/src/share/classes/java/beans/ConstructorProperties.java.i
data/src/share/classes/sun/applet/AppletProps.java.i
-data/test/java/beans/PropertyEditor/TestEnumSubclassJava.java.i
+data/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java.i
data/src/share/classes/sun/java2d/opengl/OGLUtilities.java.i
-data/src/share/classes/com/sun/net/httpserver/BasicAuthenticator.java.i
+data/src/solaris/classes/sun/awt/X11/XDesktopPeer.java.i
data/test/javax/swing/JPopupMenu/Separator/6547087/bug6547087.java.i
data/src/share/classes/javax/management/remote/rmi/RMIServer.java.i
-data/test/com/sun/jdi/redefine/RedefineSubTarg.java.i
+data/src/share/demo/jfc/CodePointIM/CodePointInputMethod.java.i
data/test/java/lang/instrument/RetransformAgent.java.i
-data/src/share/classes/sun/text/CompactByteArray.java.i
+data/src/share/native/sun/awt/image/cvutils/img_icm.h.i
data/src/share/native/sun/awt/medialib/mlib_ImageConvMxN_ext.c.i
-data/src/share/classes/sun/management/snmp/jvmmib/JvmOSMBean.java.i
+data/src/share/classes/com/sun/nio/sctp/AssociationChangeNotification.java.i
+data/test/java/beans/PropertyEditor/TestColorClassValue.java.i
+data/test/javax/swing/JPopupMenu/6691503/bug6691503.java.i
data/src/share/classes/com/sun/crypto/provider/AESCrypt.java.i
data/test/java/nio/file/Files/content_type.sh.i
data/src/share/native/java/util/zip/zlib-1.2.3/zcrc32.c.i
-data/test/javax/management/remote/mandatory/notif/NotificationSenderMBean.java.i
+data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsPost.java.i
data/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java.i
data/src/share/classes/sun/java2d/opengl/OGLContext.java.i
data/src/share/classes/sun/java2d/cmm/ProfileDeferralInfo.java.i
-data/src/share/demo/java2d/J2DBench/resources/textdata/greek.ut8.txt.i
-data/test/java/security/BasicPermission/EqualsImplies.java.i
-data/test/java/io/BufferedReader/Ready.java.i
+data/src/share/classes/com/sun/media/sound/ModelOscillator.java.i
+data/src/share/classes/sun/nio/cs/ext/IBM864.java.i
+data/test/java/net/URLClassLoader/closetest/test2/com/foo/TestClass1.java.i
data/test/java/net/URLConnection/ExifContentGuesser.java.i
data/test/com/sun/jdi/ArgumentValuesTest.java.i
-data/src/solaris/classes/sun/nio/ch/PipeImpl.java.i
+data/src/share/classes/sun/awt/CausedFocusEvent.java.i
data/test/java/util/HashMap/SetValue.java.i
data/src/share/native/sun/font/bidi/ubidi.h.i
data/src/solaris/native/sun/awt/awt_MenuBar.c.i
-data/src/share/classes/javax/swing/plaf/basic/icons/JavaCup16.png.i
-data/test/sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java.i
+data/test/sun/security/pkcs11/Signature/ByteBuffers.java.i
data/test/java/io/Serializable/packageAccess/Test.java.i
-data/src/share/classes/sun/security/action/PutAllAction.java.i
-data/test/sun/security/ssl/sanity/interop/CipherTest.java.i
+data/test/java/security/cert/CertPathBuilder/targetConstraints/BuildOddSel.java.i
+data/src/share/native/common/jdk_util.c.i
data/test/javax/imageio/stream/StreamCloserLeak/test/Main.java.i
data/src/share/classes/sun/io/CharToByteMacHebrew.java.i
-data/src/share/classes/sun/java2d/opengl/OGLGraphicsConfig.java.i
+data/test/java/net/URLEncoder/URLEncoderEncodeArgs.java.i
+data/src/share/classes/javax/management/relation/RelationType.java.i
data/src/share/demo/java2d/J2DBench/nbproject/project.xml.i
data/test/sun/net/www/http/HttpClient/RequestURI.java.i
-data/test/java/nio/channels/AsynchronousServerSocketChannel/Basic.java.i
+data/test/javax/management/MBeanServer/OldMBeanServerTest.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/icons/image-failed.png.i
+data/src/share/classes/sun/net/www/http/KeepAliveCache.java.i
data/test/java/util/ArrayList/RangeCheckMicroBenchmark.java.i
-data/test/javax/script/MyContext.java.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpU8U16Func.c.i
data/test/java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter_3.java.i
data/src/share/classes/sun/security/jgss/wrapper/GSSLibStub.java.i
data/test/java/io/Serializable/inactiveRegistration/InactiveRegistration.java.i
-data/test/sun/rmi/rmic/newrmic/equivalence/G1.java.i
-data/test/sun/nio/cs/FindDecoderBugs.java.i
-data/src/share/classes/sun/awt/KeyboardFocusManagerPeerProvider.java.i
+data/src/share/classes/javax/swing/plaf/basic/BasicToggleButtonUI.java.i
+data/src/share/classes/com/sun/tools/example/debug/event/JDIListener.java.i
+data/test/sun/security/smartcardio/TestExclusive.java.i
+data/test/lib/security/cacerts/VerifyCACerts.java.i
data/test/java/nio/channels/DatagramChannel/IsConnected.java.i
-data/test/java/security/cert/pkix/policyChanges/ca.cer.i
-data/make/tools/swing-beans/beaninfo/images/JPopupMenuColor32.gif.i
-data/test/com/sun/crypto/provider/TLS/prf12data.txt.i
+data/src/share/classes/javax/management/relation/RelationNotification.java.i
+data/src/share/native/sun/java2d/loops/ByteBinary4Bit.h.i
+data/src/share/classes/sun/print/PSPathGraphics.java.i
data/test/java/math/BigInteger/StringConstructor.java.i
data/src/share/classes/com/sun/imageio/plugins/bmp/BMPMetadataFormatResources.java.i
data/test/java/util/Locale/Bug4210525.java.i
data/src/share/classes/java/util/zip/ZipException.java.i
data/src/windows/native/java/io/dirent_md.h.i
-data/test/java/awt/regtesthelpers/Sysout.java.i
+data/test/java/dyn/ClassValueTest.java.i
data/make/tools/reorder/tests/LoadFrame.java.i
data/make/tools/CharsetMapping/IBM935.nr.i
data/src/share/classes/sun/tools/tree/NaryExpression.java.i
data/test/sun/security/tools/jarsigner/ts.sh.i
-data/src/share/classes/sun/management/snmp/util/SnmpTableHandler.java.i
+data/src/share/classes/sun/management/snmp/jvmmib/JvmOSMeta.java.i
data/src/share/classes/com/sun/java/util/jar/pack/FixedList.java.i
data/src/share/classes/sun/io/ByteToCharUnicodeLittle.java.i
-data/src/share/classes/com/sun/imageio/plugins/png/PNGMetadataFormat.java.i
-data/test/java/nio/file/Files/BytesAndLines.java.i
-data/test/java/lang/Character/PropertyValueAliases.txt.i
-data/src/share/classes/sun/text/resources/FormatData_uk.java.i
+data/src/share/classes/javax/naming/spi/StateFactory.java.i
+data/test/sun/security/ssl/sanity/pluggability/CheckSSLContextExport.java.i
+data/src/share/classes/java/beans/DesignMode.java.i
+data/src/share/classes/javax/swing/plaf/nimbus/DropShadowEffect.java.i
data/src/share/classes/sun/java2d/pisces/Renderer.java.i
data/src/share/classes/sun/print/resources/serviceui_zh_TW.properties.i
data/src/share/classes/org/openjdk/jigsaw/Loader.java.i
@@ -13899,10 +13998,10 @@ data/test/sun/security/krb5/ParseCAPaths.java.i
data/src/share/classes/java/nio/file/LinkOption.java.i
data/src/share/classes/java/awt/Stroke.java.i
data/test/java/math/BigDecimal/NegateTests.java.i
-data/test/com/sun/net/httpserver/Test10.java.i
+data/test/java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.java.i
data/test/com/sun/jdi/connect/spi/META-INF/services/com.sun.jdi.connect.Connector.i
data/src/share/demo/jvmti/heapTracker/heapTracker.h.i
-data/test/sun/security/krb5/auto/ok-as-delegate-xrealm.sh.i
+data/test/java/rmi/reliability/benchmark/bench/rmi/BooleanArrayCalls.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/CertsInFilesystemDirectoryResolver.java.i
data/test/java/security/KeyFactory/Failover.java.i
data/test/java/security/cert/CertPathBuilder/targetConstraints/BuildEEBasicConstraints.java.i
@@ -13912,81 +14011,78 @@ data/make/java/verify/mapfile-vers.i
data/test/java/awt/Graphics2D/DrawString/ScaledLCDTextMetrics.java.i
data/make/mksample/nio/multicast/Makefile.i
data/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferFloat.java.i
-data/src/share/classes/javax/xml/crypto/dsig/spec/XSLTTransformParameterSpec.java.i
+data/src/share/classes/org/openjdk/jigsaw/ClassInfo.java.i
data/test/javax/swing/JColorChooser/Test4165217.java.i
-data/src/share/demo/jvmti/hprof/hprof_table.h.i
-data/test/java/io/PipedWriter/ConnectAfterReaderClose.java.i
+data/src/share/classes/javax/print/attribute/standard/JobMessageFromOperator.java.i
data/test/java/awt/print/PrinterJob/PrintAWTImage.java.i
-data/src/share/classes/com/sun/jmx/snmp/InetAddressAcl.java.i
+data/test/sun/net/www/http/HttpClient/CookieHttpClientTest.java.i
+data/src/solaris/classes/sun/awt/X11/XWindowPeer.java.i
data/src/windows/hpi/export/timeval_md.h.i
data/test/java/io/ByteArrayOutputStream/ToString.java.i
-data/src/share/classes/sun/tools/tree/LessExpression.java.i
-data/test/java/io/pathNames/GeneralWin32.java.i
+data/src/share/demo/nbproject/jfc/TableExample/nbproject/netbeans-targets.xml.i
data/src/share/classes/javax/swing/AncestorNotifier.java.i
-data/src/share/classes/org/relaxng/datatype/Datatype.java.i
data/src/solaris/doc/sun/man/man1/unpack200.1.i
data/src/share/classes/com/sun/tools/jdi/TypeComponentImpl.java.i
data/test/java/awt/FullScreen/UninitializedDisplayModeChangeTest/UninitializedDisplayModeChangeTest.java.i
-data/src/share/classes/com/sun/crypto/provider/AESParameters.java.i
-data/src/share/classes/sun/misc/JavaIOAccess.java.i
+data/src/share/classes/sun/tools/jstat/resources/jstat_unsupported_options.i
+data/src/share/classes/sun/io/ByteToCharCp935.java.i
data/make/java/main/javaw/Makefile.i
-data/src/share/classes/java/beans/DefaultPersistenceDelegate.java.i
-data/src/share/classes/javax/net/ssl/CertPathTrustManagerParameters.java.i
data/src/share/classes/javax/management/JMX.java.i
-data/test/java/util/PluggableLocale/TimeZoneNameProviderTest.java.i
+data/make/com/sun/jndi/dns/Makefile.i
data/src/share/classes/java/lang/InterruptedException.java.i
data/test/org/openjdk/jigsaw/_Library.java.i
+data/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVendor.java.i
data/src/solaris/classes/sun/font/NativeStrikeDisposer.java.i
data/src/share/native/sun/security/ec/ec2_163.c.i
data/src/share/classes/javax/naming/CommunicationException.java.i
-data/src/share/classes/sun/rmi/runtime/RuntimeUtil.java.i
-data/test/javax/crypto/JceSecurity/MyProvider.java.i
+data/src/share/classes/sun/management/CompilationImpl.java.i
data/test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/ShutdownImpl.java.i
data/make/sun/tools/Makefile.i
-data/src/share/classes/org/ietf/jgss/ChannelBinding.java.i
-data/src/share/classes/javax/swing/plaf/metal/icons/ocean/newFolder.gif.i
+data/test/javax/naming/ldap/LdapName/LdapParserTests.java.i
+data/src/share/classes/sun/management/HotspotThreadMBean.java.i
data/test/java/io/Serializable/typeStringBackRef/TypeStringBackRef.java.i
-data/src/share/classes/java/lang/RuntimeException.java.i
data/src/windows/classes/sun/net/www/protocol/file/Handler.java.i
-data/src/share/native/sun/security/ec/impl/mp_gf2m.h.i
+data/src/share/native/sun/font/layout/MPreFixups.h.i
data/src/share/classes/sun/net/smtp/SmtpProtocolException.java.i
data/test/java/awt/print/PrinterJob/ImagePrinting/ClippedImages.java.i
data/make/common/CancelImplicits.gmk.i
-data/src/share/native/sun/awt/debug/debug_assert.c.i
-data/test/java/beans/XMLEncoder/java_util_Collections_CheckedMap.java.i
-data/test/java/nio/file/Files/walkFileTree/grantAll.policy.i
-data/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java.i
+data/test/javax/management/namespace/namespace.policy.i
+data/src/solaris/native/sun/nio/ch/PollArrayWrapper.c.i
+data/src/windows/native/sun/jkernel/graphics/masthead.bmp.i
+data/test/java/util/ResourceBundle/Control/PrivateConstructorRB.java.i
data/test/java/rmi/activation/Activatable/checkAnnotations/security.policy.i
data/test/sun/management/jmxremote/bootstrap/management_ssltest12_ko.properties.in.i
data/test/java/nio/file/WatchService/grantDirAndOneLevel.policy.i
data/src/share/demo/jfc/Metalworks/resources/HelpFiles/duke.gif.i
data/src/share/classes/javax/swing/plaf/basic/BasicViewportUI.java.i
data/src/solaris/classes/sun/awt/motif/MFileDialogPeer.java.i
-data/src/share/classes/java/security/PolicySpi.java.i
+data/src/share/classes/com/sun/media/sound/AudioSynthesizer.java.i
+data/src/share/classes/com/sun/media/sound/JARSoundbankReader.java.i
+data/test/javax/sound/midi/Gervill/SimpleSoundbank/AddInstrument.java.i
data/test/javax/swing/text/WrappedPlainView/6857057/bug6857057.java.i
-data/test/org/openjdk/jigsaw/_Resolver.java.i
+data/src/solaris/classes/com/sun/management/UnixOperatingSystem.java.i
data/make/tools/CharsetMapping/MS1251.map.i
data/test/java/beans/Introspector/Test4072197.java.i
data/make/java/main/java/mapfile-sparcv9.i
data/test/java/lang/reflect/Modifier/toStringTest.java.i
-data/test/com/sun/jndi/ldap/NoWaitForReplyTest.java.i
-data/test/java/net/ServerSocket/AcceptCauseFileDescriptorLeak.sh.i
-data/test/com/sun/org/apache/xml/internal/security/signature-enveloping-hmac-sha1-trunclen-8-attack.xml.i
-data/src/solaris/native/java/io/FileSystem_md.c.i
+data/src/share/demo/jfc/Metalworks/BigContrastMetalTheme.java.i
+data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java.i
+data/src/share/classes/com/sun/jndi/ldap/ext/StartTlsResponseImpl.java.i
+data/src/solaris/classes/sun/awt/motif/MFontConfiguration.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthDesktopIconUI.java.i
-data/test/java/nio/Buffer/genBasic.sh.i
-data/src/share/classes/com/sun/jdi/JDIPermission.java.i
+data/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh.i
+data/src/share/demo/applets/WireFrame/example2.html.i
data/make/mkdemo/jvmti/README.txt.i
data/test/java/security/CodeSigner/cert_file.i
-data/test/java/lang/ClassLoader/defineClass/DefineClassByteBuffer.java.i
-data/src/share/classes/com/sun/tools/hat/internal/model/ReachableObjects.java.i
-data/make/tools/src/build/tools/javazic/RuleDay.java.i
-data/test/java/rmi/transport/handshakeTimeout/HandshakeTimeout.java.i
+data/src/share/classes/java/io/OutputStreamWriter.java.i
+data/test/java/awt/event/MouseEvent/CheckGetMaskForButton/CheckGetMaskForButton.java.i
+data/src/share/classes/com/sun/media/sound/ModelByteBufferWavetable.java.i
+data/test/sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java.i
data/src/share/classes/sun/dc/DuctusRenderingEngine.java.i
data/test/org/openjdk/jigsaw/repolist.sh.i
data/test/javax/swing/plaf/synth/6771547/synthconfig.xml.i
-data/src/share/classes/com/sun/jdi/event/ClassUnloadEvent.java.i
data/test/java/net/Socket/ShutdownBoth.java.i
+data/test/java/rmi/activation/Activatable/elucidateNoSuchMethod/group.security.policy.i
data/src/share/classes/sun/security/jgss/GSSContextImpl.java.i
data/src/share/classes/sun/text/resources/FormatData_no_NO.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_fr_CH.properties.i
@@ -13995,50 +14091,52 @@ data/src/share/classes/java/net/URLStreamHandlerFactory.java.i
data/test/java/awt/print/PrinterJob/SameService.java.i
data/test/sun/security/jgss/DefaultGssConfig.java.i
data/src/share/native/sun/reflect/NativeAccessors.c.i
-data/src/solaris/native/sun/java2d/loops/vis_IntBgr.c.i
-data/src/solaris/doc/sun/man/man1/ja/jvisualvm.1.i
-data/test/sun/rmi/server/MarshalOutputStream/marshalForeignStub/Receiver.java.i
+data/src/solaris/native/sun/awt/awt_InputMethod.c.i
+data/src/solaris/classes/sun/net/www/protocol/http/NTLMAuthentication.java.i
data/test/sun/net/www/protocol/jar/copyin.sh.i
-data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/MyX509KeyManager.java.i
+data/make/tools/CharsetMapping/IBM1143.map.i
data/test/sun/tools/jstat/jstatGcOutput1.sh.i
-data/src/share/classes/sun/util/resources/CurrencyNames_en_GB.properties.i
+data/test/javax/smartcardio/Serialize.java.i
data/src/share/classes/javax/management/openmbean/OpenMBeanParameterInfo.java.i
data/src/share/classes/sun/security/ec/ECKeyPairGenerator.java.i
data/src/share/classes/sun/tools/tree/IncDecExpression.java.i
-data/src/share/classes/sun/security/jgss/krb5/WrapToken_v2.java.i
+data/src/share/classes/com/sun/java/swing/plaf/motif/MotifTabbedPaneUI.java.i
data/test/java/beans/XMLEncoder/javax_swing_OverlayLayout.java.i
data/test/java/nio/file/Files/walkFileTree/Nulls.java.i
data/src/solaris/native/sun/awt/medialib/mlib_ImageConvCopyEdge_Fp.c.i
+data/src/windows/transport/shmem/shmem_md.h.i
data/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java.i
data/src/windows/native/sun/windows/awt_GDIObject.h.i
data/src/share/demo/jfc/Metalworks/resources/HelpFiles/back.gif.i
data/make/tools/CharsetMapping/IBM1025.map.i
-data/src/share/classes/java/util/concurrent/ForkJoinPool.java.i
+data/src/share/classes/java/lang/management/package.html.i
data/test/com/sun/jdi/LocationTest.java.i
-data/src/share/classes/com/sun/beans/decoder/FalseElementHandler.java.i
+data/test/java/io/Serializable/underlyingOutputStreamException/UnderlyingOutputStreamException.java.i
+data/src/share/classes/java/awt/font/MultipleMaster.java.i
data/src/share/classes/sun/util/resources/TimeZoneNames_en_IE.java.i
data/test/sun/security/pkcs11/KeyStore/BasicData/pk1.cert2.i
data/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankUrl.java.i
data/src/share/native/com/sun/media/sound/PlatformMidi.h.i
+data/src/share/native/java/util/zip/zlib-1.2.5/zcrc32.c.i
data/test/javax/management/remote/mandatory/socketFactories/RMIServerFactory.java.i
-data/src/solaris/native/sun/awt/awt_Checkbox.c.i
+data/src/share/classes/javax/swing/SpinnerListModel.java.i
data/src/share/classes/sun/security/ec/NamedCurve.java.i
-data/test/javax/management/remote/mandatory/connection/IdleTimeoutTest.java.i
+data/src/share/classes/javax/crypto/spec/DHParameterSpec.java.i
data/test/sun/security/krb5/auto/Test5653.java.i
data/src/share/classes/sun/tools/java/BinaryConstantPool.java.i
-data/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream.java.i
+data/test/sun/security/tools/jarsigner/diffend.sh.i
+data/src/share/classes/sun/io/ByteToCharCp964.java.i
data/test/java/rmi/activation/Activatable/extLoadedImpl/ExtLoadedImpl_Stub.java.i
-data/test/sun/net/www/ParseUtil_6478588.java.i
data/test/java/util/concurrent/FutureTask/CancelledFutureLoops.java.i
data/src/share/classes/sun/security/ssl/ProtocolList.java.i
-data/make/com/sun/java/browser/dom/Makefile.i
+data/src/share/classes/com/sun/security/auth/SubjectCodeSource.java.i
data/src/share/demo/jfc/TableExample/TableMap.java.i
data/src/share/classes/com/sun/beans/decoder/ArrayElementHandler.java.i
data/src/share/classes/javax/imageio/event/IIOWriteProgressListener.java.i
-data/src/share/classes/sun/text/resources/FormatData_es_PA.java.i
+data/src/share/classes/sun/applet/resources/MsgAppletViewer_de.java.i
data/src/share/demo/nbproject/management/JTop/build.xml.i
data/src/share/classes/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider.i
-data/src/share/demo/jvmti/hprof/hprof_tls.c.i
+data/src/share/classes/java/text/Bidi.java.i
data/src/share/sample/nio/server/B1.java.i
data/test/java/util/zip/ZipFile/CorruptedZipFiles.java.i
data/test/java/rmi/registry/altSecurityManager/AltSecurityManager.java.i
@@ -14047,130 +14145,130 @@ data/test/java/rmi/activation/Activatable/unregisterInactive/UnregisterInactive.
data/test/sun/nio/cs/JISAutoDetectTest.java.i
data/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.java.i
data/src/share/demo/java2d/J2DBench/resources/textdata/hindi.ut8.txt.i
-data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/SimpleShape.java.i
+data/src/share/classes/sun/nio/cs/ext/IBM949C.java.i
data/src/windows/classes/sun/awt/Win32ColorModel24.java.i
-data/src/share/classes/javax/swing/plaf/metal/sounds/FrameRestoreUp.wav.i
-data/test/java/lang/management/ThreadMXBean/Semaphore.java.i
+data/test/java/util/Formattable/StockName.java.i
+data/src/share/classes/javax/swing/text/html/HTMLFrameHyperlinkEvent.java.i
data/test/java/io/File/Basic.java.i
data/src/share/classes/java/security/DigestOutputStream.java.i
data/test/sun/security/pkcs11/KeyStore/ClientAuthData/p11-nss.txt.i
-data/test/sun/security/tools/policytool/SaveAs.html.i
-data/test/java/util/ResourceBundle/Test4318520.java.i
+data/src/share/classes/javax/xml/crypto/dsig/spec/HMACParameterSpec.java.i
data/test/java/net/DatagramSocket/SendDatagramToBadAddress.java.i
+data/src/windows/classes/sun/awt/windows/WCustomCursor.java.i
data/test/java/lang/Character/CheckScript.java.i
data/src/share/classes/sun/net/www/content/image/png.java.i
data/test/java/net/ProxySelector/NullSelector.java.i
-data/test/javax/management/mxbean/MXBeanAnnotationTest.java.i
+data/src/solaris/bin/arm/jvm.cfg.i
data/src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java.i
-data/test/java/net/DatagramSocket/SendSize.java.i
+data/src/share/native/sun/font/layout/MPreFixups.cpp.i
data/test/sun/nio/cs/OLD/IBM948_OLD.java.d
data/src/share/classes/sun/rmi/transport/LiveRef.java.i
data/src/share/classes/sun/security/krb5/internal/TCPClient.java.i
data/src/solaris/native/java/lang/java_props_md.c.i
data/test/java/lang/instrument/DummyClass.java.i
+data/src/share/demo/nio/zipfs/src/META-INF/services/java.nio.file.spi.FileSystemProvider.i
data/src/share/classes/sun/tools/tree/SwitchStatement.java.i
-data/make/com/sun/jmx/Makefile.i
+data/test/com/sun/crypto/provider/Cipher/DES/KeyWrapping.java.i
data/src/windows/classes/sun/nio/ch/DefaultSelectorProvider.java.i
data/test/demo/jvmti/hprof/CpuOldTest.java.i
-data/make/PatchList.solaris.i
data/test/sun/nio/cs/OLD/MS932_OLD.java.i
data/test/javax/sound/midi/Gervill/SoftChannel/NoteOff.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NewSocketMethods.java.i
data/make/tools/CharsetMapping/ISO_8859_11.map.i
-data/src/share/classes/javax/swing/border/CompoundBorder.java.i
data/src/windows/native/sun/java2d/d3d/D3DRenderQueue.h.i
data/test/java/awt/image/GetDataElementsTest.java.i
-data/src/share/classes/sun/util/resources/CalendarData_ro.properties.i
-data/test/sun/security/krb5/auto/Action.java.i
+data/make/sun/security/mscapi/Makefile.i
+data/src/windows/native/sun/jkernel/kernel_en.rc.i
data/test/sun/nio/cs/OLD/IBM943C_OLD.java.i
-data/test/java/util/zip/ZipEntry/input.jar.i
+data/test/java/lang/ref/ReferenceEnqueue.java.i
data/test/java/awt/print/PrinterJob/GetMediasTest.java.i
data/test/java/util/ResourceBundle/Bug6204853.java.i
-data/src/share/native/sun/awt/image/DataBufferNative.c.i
+data/src/share/classes/java/security/spec/EncodedKeySpec.java.i
data/test/java/lang/invoke/6991596/Test6991596.java.i
data/test/java/net/URLClassLoader/closetest/build.sh.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpS16S16Func.c.i
data/src/share/demo/java2d/J2DBench/options/default.opt.i
data/src/share/classes/javax/swing/plaf/basic/BasicLabelUI.java.i
-data/test/tools/pack200/pack200-verifier/data/README.i
+data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/jibxhelpers/FontMapper.java.i
data/src/share/classes/com/sun/crypto/provider/AESCipher.java.i
data/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.java.i
data/src/share/classes/javax/crypto/KeyAgreement.java.i
data/src/share/classes/javax/management/monitor/package.html.i
-data/test/java/nio/file/TestUtil.java.i
+data/src/linux/doc/man/javaws.1.i
data/test/java/rmi/activation/Activatable/nestedActivate/NestedActivate.java.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/CountedTimerTask.java.i
-data/src/share/instrument/JavaExceptions.c.i
+data/test/java/math/BigDecimal/DivideMcTests.java.i
data/test/javax/sound/midi/Gervill/SoftChannel/PolyPressure.java.i
data/test/sun/java2d/DirectX/NonOpaqueDestLCDAATest/NonOpaqueDestLCDAATest.java.i
data/test/java/util/PluggableLocale/ExecTest.sh.i
-data/src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java.i
-data/src/share/classes/java/awt/DisplayMode.java.i
+data/src/share/classes/sun/text/resources/FormatData_ms.java.i
+data/src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java.i
+data/src/share/classes/sun/util/calendar/ZoneInfoFile.java.i
data/test/java/net/InetAddress/Simple2NameServiceDescriptor.java.i
data/src/solaris/classes/sun/awt/motif/MCheckboxMenuItemPeer.java.i
data/src/share/classes/sun/security/x509/AttributeNameEnumeration.java.i
-data/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGBuffer.java.i
+data/test/javax/script/CommonSetup.sh.i
data/make/tools/src/build/tools/charsetmapping/Main.java.i
data/src/share/classes/sun/security/util/ManifestDigester.java.i
-data/src/solaris/classes/sun/nio/fs/UnixMountEntry.java.i
+data/src/solaris/classes/sun/java2d/xr/GrowableIntArray.java.i
data/test/java/util/jar/JarInputStream/ScanSignedJar.java.i
-data/test/java/net/Socket/AccurateTimeout.java.i
+data/src/share/classes/sun/font/FontLineMetrics.java.i
data/test/java/io/charStreams/LineGenerator.java.i
-data/test/java/rmi/server/RemoteObject/notExtending/NotExtending_Stub.java.i
+data/make/java/management/FILES_c.gmk.i
data/test/javax/sound/midi/Gervill/ModelPerformer/SetExclusiveClass.java.i
data/make/tools/CharsetMapping/euc_tw.map.d
data/src/solaris/classes/sun/nio/ch/SctpAssociationImpl.java.i
data/test/sun/nio/cs/EucJpLinux0212.java.i
-data/src/share/classes/sun/security/krb5/internal/MethodData.java.i
-data/src/solaris/doc/sun/man/man1/ja/serialver.1.i
+data/src/share/native/sun/font/layout/TrimmedArrayProcessor.h.i
+data/test/java/net/URL/ParseAuthority.java.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/PerfDataBufferImpl.java.i
data/make/mkdemo/jfc/Makefile.i
-data/src/share/native/sun/java2d/pipe/PathConsumer2D.h.i
-data/src/share/native/sun/font/layout/LEGlyphStorage.cpp.i
-data/src/solaris/hpi/native_threads/include/porting.h.i
-data/make/tools/CharsetMapping/IBM284.map.i
+data/src/share/native/sun/java2d/loops/AnyByte.h.i
+data/src/share/classes/com/sun/tools/hat/resources/platform_names.txt.i
+data/make/tools/CharsetMapping/euc_tw.map.i
+data/src/share/native/sun/awt/image/jpeg/jversion.h.i
data/src/share/classes/java/rmi/server/RMIFailureHandler.java.i
-data/test/java/util/concurrent/ThreadPoolExecutor/CoreThreadTimeOut.java.i
+data/make/tools/CharsetMapping/IBM939.c2b.i
+data/test/java/nio/file/Files/Misc.java.i
data/test/sun/security/pkcs11/fips/JSSEClient.java.i
data/src/share/native/sun/font/layout/LEGlyphFilter.h.i
data/src/solaris/native/sun/awt/medialib/vis_proto.h.i
data/test/sun/security/provider/certpath/DisabledAlgorithms/openssl.cnf.i
data/src/linux/doc/man/jstat.1.i
data/src/solaris/classes/sun/awt/X11/XFileDialogPeer.java.i
-data/test/java/rmi/activation/Activatable/forceLogSnapshot/ActivateMe.java.i
-data/src/share/native/sun/java2d/opengl/OGLBlitLoops.h.i
-data/test/sun/nio/cs/BufferUnderflowEUCTWTest.java.i
-data/src/share/classes/sun/jvmstat/monitor/remote/RemoteHost.java.i
+data/test/javax/management/relation/NonArrayListTest.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509CRL.java.i
+data/test/java/rmi/reliability/scripts/create_benchmark_jars.ksh.i
+data/src/share/classes/java/security/DomainCombiner.java.i
data/src/share/demo/java2d/J2DBench/resources/textdata/hebrew.ut8.txt.i
data/src/share/classes/com/sun/jdi/connect/spi/package.html.i
data/src/share/classes/javax/swing/doc-files/groupLayout.2.gif.i
-data/test/java/beans/XMLEncoder/java_sql_Timestamp.java.i
+data/src/share/classes/sun/nio/cs/IBM852.java.i
data/test/com/sun/jndi/ldap/LdapName/UnescapeTest.java.i
-data/test/java/net/B6499348.java.i
+data/src/share/classes/sun/invoke/util/ValueConversions.java.i
data/src/share/classes/javax/naming/spi/DirectoryManager.java.i
-data/src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.c.i
+data/test/javax/swing/plaf/nimbus/ColorCustomizationTest.java.i
data/src/share/classes/com/sun/jndi/toolkit/url/UrlUtil.java.i
data/src/windows/native/sun/windows/awt_MouseEvent.h.i
data/test/java/math/BigInteger/ModPowPowersof2.java.i
data/test/java/nio/channels/DatagramChannel/ReceiveISA.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/package.html.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/AnimationController.java.i
data/src/share/classes/sun/io/ByteToCharDoubleByte.java.i
data/src/share/classes/sun/security/x509/X509Cert.java.i
data/test/com/sun/jdi/NullLocalVariable.sh.i
-data/test/java/rmi/server/serverStackTrace/ServerStackTrace.java.i
-data/test/sun/security/krb5/auto/BadKdc.java.i
+data/src/share/classes/java/nio/file/FileVisitor.java.i
+data/src/solaris/classes/sun/nio/fs/UnixFileStore.java.i
data/src/share/classes/com/sun/tools/example/debug/event/VMDisconnectEventSet.java.i
-data/test/java/security/Security/signedfirst/exp.jar.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/icons/ListView.gif.i
+data/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_de.properties.i
+data/src/share/classes/sun/management/snmp/util/SnmpListTableCache.java.i
data/test/java/lang/annotation/AnnotationTypeMismatchException/FoundType.java.i
-data/src/share/classes/javax/swing/colorchooser/SyntheticImage.java.i
+data/make/javax/rmi/ssl/Makefile.i
data/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/JavaxSSLContextImpl.java.i
data/make/tools/CharsetMapping/IBM833.map.i
data/make/tools/CharsetMapping/ISO_8859_3.map.i
data/src/share/classes/javax/management/modelmbean/XMLParseException.java.i
data/test/java/rmi/activation/Activatable/restartCrashedService/RestartCrashedService_Stub.java.i
-data/src/share/classes/com/sun/security/auth/NTSidUserPrincipal.java.i
+data/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Multiple.java.i
data/test/com/sun/jdi/StepTest.java.i
data/src/solaris/classes/sun/java2d/xr/XRRenderer.java.i
data/test/sun/management/HotspotRuntimeMBean/GetSafepointSyncTime.java.i
@@ -14178,27 +14276,27 @@ data/src/share/classes/java/awt/font/package.html.i
data/test/sun/tools/jstat/jstatHelp.sh.i
data/test/javax/sound/midi/Gervill/SoftAudioBuffer/Array.java.i
data/src/share/native/sun/font/layout/SingleTableProcessor.cpp.i
-data/src/share/classes/sun/io/ByteToCharSingleByte.java.i
-data/src/share/classes/java/nio/file/attribute/UserPrincipalLookupService.java.i
+data/test/com/sun/security/auth/CreateLdapPrincipals.java.i
+data/test/sun/security/pkcs11/Provider/ConfigQuotedString.sh.i
data/src/share/classes/com/sun/net/ssl/KeyManager.java.i
-data/src/share/classes/javax/smartcardio/CardChannel.java.i
-data/src/share/classes/sun/tools/jstat/ColumnFormat.java.i
-data/src/share/classes/java/sql/Clob.java.i
+data/test/java/util/AbstractList/HasNextAfterException.java.i
+data/src/share/classes/javax/swing/plaf/synth/SynthBorder.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthPanelUI.java.i
-data/test/java/security/cert/CertificateFactory/BadX509CertData.java.i
-data/src/share/classes/com/sun/imageio/spi/RAFImageOutputStreamSpi.java.i
+data/src/share/classes/java/io/DataInputStream.java.i
data/test/java/awt/FileDialog/FileDialogReturnTest/FileDialogReturnTest.html.i
+data/test/java/lang/ThreadLocal/TestThreadId.java.i
data/test/java/awt/event/MouseEvent/EventTimeInFuture/EventTimeInFuture.java.i
data/test/java/util/UUID/UUIDTest.java.i
-data/test/javax/swing/DataTransfer/6456844/bug6456844.java.i
+data/test/java/beans/XMLEncoder/java_util_Collections_CheckedMap.java.i
+data/src/share/classes/sun/security/pkcs11/wrapper/CK_CREATEMUTEX.java.i
data/src/share/native/sun/font/layout/GlyphSubstLookupProc.cpp.i
data/test/java/beans/XMLEncoder/Test6570354.java.i
data/test/java/awt/image/MemoryLeakTest/MemoryLeakTest.java.i
data/src/share/classes/sun/print/resources/serviceui.properties.i
-data/test/java/net/URLConnection/xml/xml1.i
+data/src/share/classes/sun/text/normalizer/UCharacterIterator.java.i
data/test/java/util/logging/LoggerWeakRefLeak.sh.i
data/src/windows/native/sun/windows/awt_DnDDT.cpp.i
-data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMHostTrap.java.i
+data/test/javax/security/auth/login/Configuration/GetInstanceSecurity.grantedPolicy.i
data/src/share/classes/sun/security/provider/certpath/OCSPRequest.java.i
data/make/tools/CharsetMapping/IBM1142.map.i
data/src/solaris/classes/sun/nio/ch/SctpServerChannelImpl.java.i
@@ -14206,144 +14304,146 @@ data/test/sun/security/pkcs11/fips/cert8.db.i
data/src/share/classes/sun/io/ByteToCharISO2022KR.java.i
data/src/share/classes/javax/swing/JMenuItem.java.i
data/test/demo/zipfs/basic.sh.i
-data/src/share/classes/com/sun/media/sound/SoftMixingMixer.java.i
+data/test/java/lang/StrictMath/HypotTests.java.i
data/src/share/classes/com/sun/servicetag/LinuxSystemEnvironment.java.i
data/make/tools/sharing/tests/JHello.java.i
-data/test/java/lang/Double/Constants.java.i
-data/src/share/classes/sun/tools/jconsole/inspector/XMBeanInfo.java.i
-data/src/share/native/sun/awt/libpng/pngstruct.h.i
+data/test/java/nio/channels/etc/NetworkChannelTests.java.i
data/src/share/classes/java/awt/GraphicsCallback.java.i
-data/test/java/lang/instrument/PremainClass/InheritAgent0011.java.i
+data/src/share/classes/javax/security/auth/x500/X500Principal.java.i
data/test/java/lang/instrument/PremainClass/README.i
data/test/java/util/ResourceBundle/Control/NonResourceBundle.java.i
data/src/share/classes/com/sun/pept/transport/Connection.java.i
data/src/share/classes/javax/swing/text/Caret.java.i
data/test/java/io/PrintWriter/OpsAfterClose.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/ipstore.i
-data/src/share/classes/sun/tools/jar/resources/jar_de.properties.i
+data/src/share/classes/javax/imageio/event/IIOReadWarningListener.java.i
data/src/solaris/native/sun/awt/awt_Cursor.h.i
data/test/java/net/DatagramPacket/ReuseBuf.java.i
data/src/share/classes/sun/io/CharToByteCp1143.java.i
data/make/java/nio/FILES_java.gmk.i
-data/src/share/classes/java/util/jar/Pack200.java.i
+data/src/share/classes/sun/applet/AppletIllegalArgumentException.java.i
data/src/share/classes/sun/applet/AppletAudioClip.java.i
-data/test/sun/rmi/rmic/newrmic/equivalence/OrangeEchoImpl.java.i
+data/test/java/io/Serializable/unnamedPackageSwitch/A.java.i
data/src/share/classes/sun/security/krb5/Config.java.i
data/src/share/native/java/lang/Class.c.i
data/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.h.i
-data/src/share/classes/sun/tools/tree/ForStatement.java.i
-data/test/sun/security/pkcs11/Provider/cspPlus.cfg.i
+data/src/share/demo/jfc/TableExample/TableExample.java.i
data/test/java/rmi/server/RMIClassLoader/getClassLoader/GetClassLoader.java.i
-data/make/mkdemo/applets/GraphicsTest/Makefile.i
+data/src/share/classes/java/util/concurrent/locks/ReadWriteLock.java.i
data/src/solaris/classes/sun/awt/X11/security-icon-interim48.png.i
-data/test/java/rmi/activation/Activatable/shutdownGracefully/ShutdownGracefully.java.i
-data/src/share/transport/shmem/shmemBase.h.i
+data/make/tools/sharing/tests/GHello.java.i
+data/src/share/classes/sun/text/resources/FormatData_zh_CN.java.i
data/make/tools/swing-beans/beaninfo/images/JInternalFrameMono16.gif.i
-data/make/java/nio/mxbean/Makefile.i
+data/src/share/sample/jmx/jmx-scandir/docfiles/scandir-result.jpg.i
data/src/share/classes/javax/swing/plaf/basic/BasicSplitPaneUI.java.i
-data/src/share/instrument/JPLISAgent.c.i
+data/src/share/native/sun/security/ec/impl/ec.c.i
data/src/share/hpi/src/hpi.c.i
data/make/tools/src/build/tools/jdwpgen/ClassTypeNode.java.i
data/test/java/nio/charset/CharsetDecoder/EmptyInput.java.i
+data/src/share/classes/java/sql/SQLIntegrityConstraintViolationException.java.i
data/test/javax/swing/AbstractButton/6711682/bug6711682.java.i
data/test/java/beans/XMLEncoder/java_util_Collections_UnmodifiableSortedSet.java.i
data/src/share/demo/jvmti/hprof/hprof_object.c.i
+data/test/java/net/Authenticator/B4678055.java.i
data/test/javax/imageio/plugins/png/PngOutputTypeTest.java.i
data/src/share/demo/jfc/Notepad/resources/cut.gif.i
data/test/tools/launcher/lib/sparc/lib32/liblibrary.so.i
data/src/share/native/sun/font/layout/GlyphPosnLookupProc.h.i
data/test/java/rmi/activation/Activatable/nestedActivate/ActivateMe.java.i
-data/test/sun/security/mscapi/KeyStoreCompatibilityMode.sh.i
-data/test/javax/management/ObjectName/ComparatorTest.java.i
-data/test/java/lang/InheritableThreadLocal/ITLRemoveTest.java.i
+data/src/share/sample/scripting/scriptpad/src/resources/conc.js.i
+data/test/java/util/Locale/serialized/java6locale__US.i
+data/src/share/classes/sun/tools/util/ModifierFilter.java.i
data/test/com/sun/jdi/FilterNoMatch.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_nl_NL.properties.i
+data/test/javax/management/modelmbean/ModelMBeanInfoSupport/GetAllDescriptorsTest.java.i
data/test/java/beans/XMLEncoder/java_util_Collections_CheckedRandomAccessList.java.i
data/test/com/sun/security/sasl/log.properties.i
-data/src/share/classes/sun/util/resources/CurrencyNames_en_US.properties.i
+data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/HasUIStyle.java.i
data/src/share/classes/sun/awt/util/IdentityLinkedList.java.i
data/test/sun/tools/common/ShutdownSimpleApplication.java.i
data/src/share/classes/sun/java2d/pipe/ShapeDrawPipe.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiScrollBarUI.java.i
-data/test/java/util/Currency/currency.properties.i
+data/make/tools/CharsetMapping/MacRomania.map.i
data/src/share/classes/java/awt/doc-files/ImplicitFocusTransfer.gif.i
data/src/share/classes/com/sun/media/sound/DataPusher.java.i
data/test/java/lang/reflect/Generics/TestC1.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicComboPopup.java.i
data/src/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java.i
-data/src/share/classes/java/awt/Choice.java.i
+data/src/share/classes/sun/text/resources/FormatData_de.java.i
data/test/java/util/Hashtable/ReadObject.java.i
data/test/javax/print/applet/applet1/Applet1.java.i
data/src/share/classes/javax/swing/MenuSelectionManager.java.i
data/make/tools/CharsetMapping/IBM424.nr.i
-data/src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties.i
+data/test/java/util/PluggableLocale/DateFormatSymbolsProviderTest.java.i
data/src/share/native/sun/awt/giflib/dgif_lib.c.i
data/src/share/demo/nbproject/jfc/Metalworks/nbproject/netbeans-targets.xml.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath2Filter.java.i
data/test/javax/print/DialogMargins.java.i
data/src/share/classes/sun/awt/EmbeddedFrame.java.i
-data/src/share/classes/sun/security/pkcs12/MacData.java.i
+data/test/sun/security/smartcardio/Utils.java.i
data/src/share/classes/com/sun/media/sound/SunFileWriter.java.i
-data/test/java/nio/charset/Charset/default.sh.i
+data/make/com/oracle/security/ucrypto/mapfile-vers.i
+data/test/org/openjdk/jigsaw/_Resolver.java.i
data/test/javax/swing/border/Test4120351.java.i
data/test/java/awt/Focus/AutoRequestFocusTest/AutoRequestFocusSetVisibleTest.java.i
-data/src/windows/native/sun/windows/awt_MenuItem.cpp.i
-data/src/share/classes/java/awt/geom/AffineTransform.java.i
-data/test/javax/sound/midi/Gervill/SoftTuning/Load4.java.i
-data/src/share/classes/com/sun/jmx/remote/internal/ProxyRef.java.i
+data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/InnerGlowEffect.java.i
+data/test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/Compress.java.i
+data/src/share/native/java/lang/fdlibm/src/s_expm1.c.i
data/make/tools/swing-beans/beaninfo/images/JTextPaneMono16.gif.i
data/src/windows/native/sun/java2d/d3d/D3DGlyphCache.h.i
-data/src/share/classes/javax/swing/DefaultDesktopManager.java.i
+data/test/java/beans/XMLEncoder/java_util_Collections_CheckedSortedMap.java.i
data/test/java/lang/instrument/bootclasspathAgent.mf.i
data/src/share/classes/javax/swing/plaf/metal/icons/ocean/maximize-pressed.gif.i
data/test/java/beans/XMLEncoder/6777487/TestCheckedSortedMap.java.i
+data/test/javax/print/applet/applet4/Applet4.java.i
data/test/java/net/Socket/AddressTest.java.i
-data/src/solaris/classes/com/sun/management/OSMBeanFactory.java.i
+data/src/share/classes/com/sun/servicetag/resources/Putback-Notes.txt.i
data/src/windows/native/java/lang/ProcessImpl_md.c.i
data/src/solaris/classes/sun/java2d/xr/XcbRequestCounter.java.i
data/src/share/classes/javax/management/remote/JMXConnectorServerFactory.java.i
data/test/java/beans/XMLEncoder/java_util_Collections_SynchronizedCollection.java.i
data/src/solaris/native/sun/java2d/loops/vis_SrcMaskFill.c.i
-data/src/share/classes/javax/management/MBeanPermission.java.i
-data/src/share/classes/sun/nio/cs/ext/IBM1383.java.i
+data/test/sun/security/ssl/templates/SSLEngineTemplate.java.i
+data/test/java/io/File/HashCodeEquals.java.i
data/src/share/classes/sun/reflect/generics/scope/Scope.java.i
data/src/linux/doc/man/ja/rmic.1.i
data/src/share/native/sun/awt/image/jpeg/jdapimin.c.i
-data/src/share/classes/javax/swing/text/TabableView.java.i
-data/src/share/classes/sun/print/CustomMediaSizeName.java.i
+data/src/share/classes/java/dyn/MethodHandleProvider.java.i
+data/src/share/classes/sun/tools/java/SyntaxError.java.i
data/src/share/classes/sun/font/TrueTypeGlyphMapper.java.i
+data/test/java/security/KeyRep/RC5.pre.1.5.key.i
data/src/share/classes/java/lang/reflect/Proxy.java.i
data/make/org/Makefile.i
data/src/share/classes/java/util/concurrent/PriorityBlockingQueue.java.i
-data/src/share/modules/jdk.swing/module-info.java.i
-data/test/java/security/cert/CertPathValidator/indirectCRL/generate.sh.i
-data/test/java/awt/image/ConvolveOp/EdgeNoOpCrash.java.i
-data/src/share/classes/com/sun/jmx/snmp/defaults/SnmpProperties.java.i
-data/test/java/rmi/activation/Activatable/nestedActivate/rmid.security.policy.i
-data/src/share/classes/com/sun/tools/jdi/ArrayReferenceImpl.java.i
-data/test/java/util/ResourceBundle/Bug4168625Resource2.java.i
+data/src/solaris/classes/sun/awt/X11/UnsafeXDisposerRecord.java.i
+data/src/share/native/sun/java2d/loops/ImageData.h.i
+data/test/java/util/jar/JarEntry/test.jar.i
+data/src/share/classes/com/sun/jmx/snmp/SnmpPduFactoryBER.java.i
+data/src/solaris/classes/sun/awt/X11/XScrollPanePeer.java.i
+data/test/java/awt/print/Dialog/DialogType.java.i
data/src/share/classes/sun/security/pkcs11/P11Signature.java.i
data/src/share/classes/com/sun/imageio/plugins/bmp/BMPMetadata.java.i
data/src/share/classes/sun/awt/geom/ChainEnd.java.i
-data/make/README.i
+data/test/java/nio/channels/Selector/OpRead.java.i
data/src/solaris/doc/sun/man/man1/ja/jconsole.1.i
data/src/share/native/sun/security/ec/mpi-priv.h.i
data/test/sun/misc/JarIndex/metaInfFilenames/jarC/META-INF/fonts/Company-corporate.ttf.i
data/src/share/classes/com/sun/tools/hat/resources/hat.js.i
-data/test/java/lang/instrument/StressGetObjectSizeTest.sh.i
+data/test/java/security/Security/signedfirst/Static.sh.i
data/test/javax/sound/midi/Gervill/SoftReceiver/Send_PitchBend.java.i
data/src/share/classes/com/sun/jmx/remote/protocol/iiop/IIOPProxyImpl.java.i
data/make/tools/swing-beans/beaninfo/images/JViewportColor16.gif.i
data/src/share/sample/vm/jvm-clr/invoker.java.i
data/src/share/classes/com/sun/tools/hat/internal/util/CompositeEnumeration.java.i
-data/src/share/classes/sun/security/x509/RFC822Name.java.i
-data/test/sun/tools/jstat/jstatGcNewCapacityOutput1.sh.i
+data/src/share/classes/javax/sound/midi/spi/MidiFileReader.java.i
+data/test/java/rmi/reliability/benchmark/bench/Util.java.i
data/test/sun/security/krb5/DnsFallback.java.i
data/src/share/native/sun/awt/medialib/mlib_c_ImageConv_f.c.i
data/test/java/lang/instrument/ParallelTransformerLoaderAgent.java.i
-data/test/java/beans/VetoableChangeSupport/TestListeners.java.i
-data/test/sun/net/InetAddress/nameservice/CacheTest.java.i
+data/test/java/io/InputStream/OpsAfterClose.java.i
data/test/java/util/concurrent/locks/Lock/TimedAcquireLeak.java.i
-data/src/share/classes/sun/security/pkcs11/wrapper/Functions.java.i
+data/src/share/native/java/util/zip/zlib-1.2.5/inflate.h.i
+data/src/share/classes/sun/nio/cs/US_ASCII.java.i
data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/lib/solaris-i586/libLauncher.so.i
data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/lib/linux-i586/libLauncher.so.i
data/test/java/rmi/reliability/benchmark/bench/serial/Main.java.i
@@ -14352,11 +14452,11 @@ data/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncoded
data/src/share/classes/java/sql/Ref.java.i
data/test/sun/security/pkcs11/KeyStore/BasicData/ca2.cert.i
data/src/share/classes/java/sql/Array.java.i
-data/test/java/nio/charset/spi/Test.java.i
+data/test/javax/xml/crypto/dsig/data/signature-keyname.xml.i
data/src/share/native/java/lang/fdlibm/src/s_logb.c.i
data/make/tools/CharsetMapping/IBM037.c2b.i
data/src/share/classes/sun/nio/cs/StreamEncoder.java.i
-data/test/sun/security/provider/certpath/DisabledAlgorithms/CPBuilder.java.i
+data/test/java/awt/im/InputContext/bug4625203.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/SimpleNode.java.i
data/src/share/native/sun/java2d/cmm/lcms/cmsnamed.c.i
data/src/share/classes/javax/swing/SwingPaintEventDispatcher.java.i
@@ -14364,16 +14464,19 @@ data/test/demo/jvmti/DemoRun.java.i
data/src/share/sample/nio/chatserver/DataReader.java.i
data/src/share/classes/javax/naming/event/EventDirContext.java.i
data/make/tools/src/build/tools/jdwpgen/CommandSetNode.java.i
+data/test/javax/management/remote/mandatory/connection/RMIConnector_NPETest.java.i
data/test/javax/rmi/ssl/SSLSocketParametersTest.java.i
data/src/share/classes/sun/text/resources/FormatData_ar_BH.java.i
data/test/java/nio/channels/ServerSocketChannel/Open.java.i
-data/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_2.java.i
+data/src/share/classes/com/sun/jndi/dns/DnsClient.java.i
+data/test/java/net/Authenticator/Deadlock.java.i
data/src/share/classes/com/sun/tools/jdi/VMAction.java.i
data/test/javax/management/descriptor/MBeanInfoInteropTest.java.i
data/src/share/classes/sun/nio/fs/Cancellable.java.i
data/src/share/classes/java/lang/doc-files/sigma1.gif.i
data/src/share/sample/nbproject/project.xml.i
-data/test/sun/security/pkcs11/nss/lib/windows-i586/libnspr4.dll.i
+data/src/share/classes/sun/security/ssl/SSLSocketFactoryImpl.java.i
+data/make/tools/swing-beans/beaninfo/images/JFrameColor32.gif.i
data/test/java/nio/file/DirectoryStream/SecureDS.java.i
data/src/share/native/sun/java2d/loops/IntArgb.c.i
data/test/java/net/Socks/SocksV4Test.java.i
@@ -14382,234 +14485,245 @@ data/test/java/beans/XMLEncoder/java_beans_Statement.java.i
data/test/java/nio/file/Files/walkFileTree/CreateFileTree.java.i
data/test/java/nio/charset/coders/SJISPropTest.java.i
data/src/windows/classes/java/io/WinNTFileSystem.java.i
-data/src/share/sample/nio/chatserver/README.txt.i
+data/src/share/classes/javax/swing/plaf/metal/sounds/FrameRestoreUp.wav.i
data/src/linux/doc/man/javap.1.i
data/make/sun/javazic/tzdata/solar88.i
data/test/javax/swing/JSlider/6587742/bug6587742.html.i
-data/src/share/classes/java/lang/reflect/InvocationTargetException.java.i
-data/src/share/classes/java/beans/package.html.i
-data/make/tools/CharsetMapping/IBM870.c2b.i
+data/src/solaris/native/sun/awt/XDrawingArea.c.i
+data/src/share/classes/sun/util/locale/LocaleUtils.java.i
data/src/share/classes/com/sun/jmx/snmp/daemon/SnmpInformHandler.java.i
data/src/share/classes/java/net/DatagramSocketImplFactory.java.i
data/test/javax/swing/JSlider/6524424/bug6524424.html.i
data/src/windows/classes/sun/awt/windows/WDragSourceContextPeer.java.i
data/src/share/classes/javax/swing/text/Element.java.i
-data/test/sun/security/provider/PolicyFile/Alias.policy.i
+data/make/sun/motif12/reorder-i586.i
data/src/share/classes/javax/management/QualifiedAttributeValueExp.java.i
data/src/share/classes/java/lang/Compiler.java.i
data/src/solaris/native/sun/awt/awt_DataTransferer.h.i
data/src/windows/native/sun/windows/awt_Debug.h.i
data/src/share/native/sun/awt/image/cvutils/img_input32.h.i
-data/test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/Hello.java.i
-data/src/share/classes/javax/management/DynamicMBean.java.i
-data/src/share/demo/jfc/Metalworks/resources/HelpFiles/metalworks.html.i
+data/test/javax/management/mxbean/JMXServiceURLTest.java.i
+data/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriterSpi.java.i
data/test/sun/nio/cs/SurrogateTestEUCTW.java.i
data/test/java/security/cert/CertPathValidator/nameConstraintsRFC822/ValidateCertPath.java.i
-data/src/solaris/doc/sun/man/man1/javac.1.i
-data/src/share/classes/sun/text/resources/FormatData_cs_CZ.java.i
+data/src/solaris/classes/sun/awt/X11/XFontPeer.java.i
+data/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix.java.i
data/src/windows/native/sun/windows/awt_InputMethod.cpp.i
data/src/share/classes/javax/swing/text/doc-files/OpenBookIcon.gif.i
data/test/sun/java2d/SunGraphicsEnvironment/TestSGEuseAlternateFontforJALocales.java.i
data/src/solaris/native/sun/awt/awt_XmDnD.c.i
data/src/windows/hpi/export/path_md.h.i
-data/make/common/BuildToolJar.gmk.i
+data/src/share/classes/java/rmi/server/RMIServerSocketFactory.java.i
data/test/java/security/Exceptions/ChainingConstructors.java.i
-data/src/share/native/sun/font/layout/GDEFMarkFilter.cpp.i
+data/test/sun/net/sdp/ProbeIB.java.i
data/src/share/classes/java/lang/invoke/SwitchPoint.java.i
data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/SSLEngineService.java.i
data/test/javax/swing/JColorChooser/Test6977726.html.i
-data/src/share/native/sun/java2d/opengl/OGLPaints.c.i
+data/test/com/sun/security/auth/callback/TextCallbackHandler/Default.java.i
data/src/share/classes/sun/io/CharToByteCp297.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/InnerShadowEffect.java.i
-data/test/java/beans/PropertyEditor/TestShortTypeValue.java.i
+data/test/sun/net/www/protocol/http/DigestTest.java.i
data/src/solaris/bin/java_md.c.i
data/test/java/nio/channels/AsynchronousSocketChannel/Basic.java.i
data/src/share/classes/sun/nio/fs/Reflect.java.i
-data/src/share/demo/applets/WireFrame/Matrix3D.java.i
-data/test/sun/java2d/cmm/ProfileOp/SetDataTest.java.i
-data/test/sun/security/pkcs11/fips/TrustManagerTest.java.i
-data/test/java/text/Bidi/BidiConformance.java.i
+data/src/share/classes/javax/naming/ldap/StartTlsRequest.java.i
+data/src/share/classes/sun/tools/asm/NameAndTypeData.java.i
+data/test/com/sun/jdi/InnerTarg.java.i
data/make/tools/src/build/tools/javazic/Month.java.i
-data/make/tools/swing-beans/beaninfo/images/JPanelColor32.gif.i
+data/test/javax/xml/crypto/dsig/SecurityManager/policy.i
data/src/linux/doc/man/jconsole.1.i
data/src/share/classes/java/text/SimpleDateFormat.java.i
-data/src/share/native/sun/awt/medialib/mlib_ImageConvCopyEdge_Bit.c.i
+data/test/java/nio/Buffer/StringCharBufferSliceTest.java.i
data/test/javax/management/monitor/StringMonitorDeadlockTest.java.i
data/src/share/classes/sun/util/resources/TimeZoneNames_en_CA.java.i
-data/src/share/classes/java/awt/event/FocusListener.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsPasswordFieldUI.java.i
+data/src/windows/classes/sun/nio/fs/WindowsException.java.i
data/make/mkdemo/applets/Animator/Makefile.i
data/make/tools/winver/src/winver.cpp.i
data/src/share/classes/java/awt/dnd/DropTarget.java.i
data/test/java/lang/Runtime/exec/ExecWithLotsOfArgs.java.i
data/test/javax/swing/MultiUIDefaults/Test6860438.java.i
data/src/share/classes/com/sun/tools/hat/internal/server/QueryHandler.java.i
+data/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuning.java.i
data/src/solaris/classes/sun/awt/motif/X11GBK.java.i
data/src/share/classes/sun/rmi/transport/proxy/WrappedSocket.java.i
data/src/share/classes/javax/management/BinaryOpValueExp.java.i
data/test/sun/security/tools/policytool/OpenPolicy.java.i
data/test/java/lang/management/ThreadMXBean/Barrier.java.i
-data/src/share/classes/sun/management/snmp/jvmmib/JvmThreadingMeta.java.i
+data/test/java/util/AbstractSequentialList/AddAll.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/Reference.java.i
-data/test/java/beans/XMLEncoder/java_awt_Point.java.i
+data/src/share/native/sun/awt/medialib/mlib_ImageAffine_BL_S32.c.i
data/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java.i
data/src/share/classes/javax/print/attribute/AttributeSetUtilities.java.i
-data/make/tools/CharsetMapping/IBM1147.map.i
+data/src/share/classes/java/io/InputStream.java.i
data/src/share/classes/sun/security/action/GetLongAction.java.i
data/test/sun/security/pkcs11/Provider/csp.cfg.i
data/src/share/classes/java/util/Dictionary.java.i
-data/src/solaris/classes/sun/awt/X11/XToolkit.java.i
+data/src/share/classes/sun/tools/jstat/OptionFinder.java.i
data/test/sun/net/www/protocol/http/AsyncDisconnect.java.i
-data/test/sun/net/www/http/HttpClient/ImplicitFileName.java.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageCopy_f.h.i
+data/src/share/classes/javax/print/ServiceUI.java.i
+data/test/javax/swing/JColorChooser/Test4380468.java.i
+data/test/org/openjdk/jigsaw/hello-view.sh.i
data/src/windows/native/sun/awt/splashscreen/splashscreen_config.h.i
data/src/share/classes/sun/io/CharToByteISO8859_3.java.i
data/src/share/classes/sun/nio/cs/ext/DoubleByteDecoder.java.i
data/src/share/demo/applets/Clock/example1.html.i
data/src/share/classes/java/awt/datatransfer/MimeType.java.i
data/src/share/classes/javax/swing/TimerQueue.java.i
-data/test/javax/swing/JFileChooser/6520101/bug6520101.java.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpU8S16Func.c.i
data/test/javax/swing/JColorChooser/Test4222508.java.i
data/test/sun/rmi/transport/tcp/blockAccept/security.policy.i
data/test/java/beans/PropertyEditor/TestFloatClassJava.java.i
-data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxPolyphony.java.i
-data/src/share/classes/javax/smartcardio/CardPermission.java.i
+data/src/share/classes/com/sun/management/package.html.i
+data/src/share/classes/javax/naming/spi/ContinuationDirContext.java.i
data/src/share/sample/scripting/scriptpad/src/scripts/textcolor.js.i
-data/test/java/beans/Introspector/4750368/com/foo/test/Component.java.i
+data/src/share/classes/sun/misc/GC.java.i
data/test/sun/security/util/Resources/NewNamesFormat.java.i
-data/src/solaris/classes/sun/font/NativeGlyphMapper.java.i
+data/src/share/classes/javax/sound/sampled/FloatControl.java.i
+data/make/mkdemo/jni/Makefile.i
+data/test/sun/security/pkcs11/Provider/cspPlus.cfg.i
data/src/windows/native/sun/windows/check.bmp.i
data/make/tools/swing-beans/beaninfo/images/JWindowColor16.gif.i
data/src/solaris/native/sun/awt/awt_Menu.h.i
data/test/javax/management/mxbean/SameObjectTwoNamesTest.java.i
data/src/linux/doc/man/extcheck.1.i
data/src/share/classes/javax/swing/plaf/package.html.i
-data/src/share/native/java/lang/fdlibm/src/s_rint.c.i
+data/src/share/classes/java/awt/IllegalComponentStateException.java.i
data/src/share/classes/java/util/concurrent/SynchronousQueue.java.i
-data/test/java/util/Timer/KillThread.java.i
+data/test/java/awt/Focus/IconifiedFrameFocusChangeTest/IconifiedFrameFocusChangeTest.java.i
data/src/share/classes/java/security/NoSuchProviderException.java.i
-data/test/org/openjdk/jigsaw/cli/expired-signer-cert.pem.i
+data/src/share/classes/java/lang/doc-files/captheta.gif.i
data/make/tools/swing-beans/beaninfo/images/JTableColor32.gif.i
data/src/share/classes/com/sun/jndi/ldap/pool/PooledConnection.java.i
data/src/windows/native/sun/windows/mlib_types_md.h.i
data/test/javax/management/Introspector/Described.java.i
+data/src/solaris/bin/ia64/jvm.cfg.i
data/test/javax/management/remote/mandatory/loading/MethodResultTest.java.i
data/src/share/classes/sun/font/Font2DHandle.java.i
-data/test/javax/sound/midi/Gervill/RiffReaderWriter/WriteOutputStream.java.i
-data/test/javax/management/ImplementationVersion/ImplVersionCommand.java.i
+data/src/share/classes/org/jcp/xml/dsig/internal/dom/XMLDSigRI.java.i
+data/src/share/classes/javax/print/PrintException.java.i
+data/test/sun/security/pkcs11/tls/keymatdata.txt.i
+data/src/share/classes/java/rmi/UnknownHostException.java.i
data/test/java/io/Serializable/6559775/Test6559775.sh.i
-data/make/tools/CharsetMapping/KOI8_R.map.i
data/src/share/classes/javax/print/attribute/standard/JobImpressionsCompleted.java.i
data/src/share/classes/com/sun/security/ntlm/NTLMException.java.i
-data/src/share/demo/nio/zipfs/Demo.java.i
+data/test/javax/print/PrintSubInputStream/Example.java.i
+data/make/tools/CharsetMapping/MS1254.map.i
data/make/tools/CharsetMapping/IBM855.map.i
data/src/share/classes/sun/security/ec/ECDHKeyAgreement.java.i
-data/src/solaris/native/sun/nio/ch/FileKey.c.i
-data/test/javax/print/applet/applet2/Applet2.java.i
-data/src/share/classes/javax/swing/plaf/synth/SynthRootPaneUI.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/StorageResolverException.java.i
+data/src/share/native/sun/java2d/loops/ByteIndexed.c.i
data/test/com/sun/jdi/ExpiredRequestDeletionTest.java.i
+data/make/com/oracle/util/Makefile.i
data/make/mkdemo/applets/MoleculeViewer/Makefile.i
data/src/share/classes/sun/security/util/SecurityConstants.java.i
+data/test/javax/swing/JTable/6735286/bug6735286.java.i
data/src/share/classes/com/sun/beans/finder/AbstractFinder.java.i
data/src/share/demo/jvmti/hprof/hprof_monitor.c.i
data/src/solaris/native/sun/awt/multi_font.c.i
-data/test/javax/print/attribute/SidesPageRangesTest.java.i
+data/make/tools/UnicodeData/PropList.txt.i
data/test/java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter_1.java.i
-data/test/tools/pack200/pack200-verifier/src/xmlkit/ClassReader.java.i
-data/src/share/classes/com/sun/security/sasl/digest/DigestMD5Client.java.i
+data/src/share/classes/java/dyn/BootstrapMethod.java.i
+data/src/share/classes/javax/swing/event/TreeExpansionEvent.java.i
data/src/share/classes/javax/security/sasl/AuthorizeCallback.java.i
data/test/sun/rmi/rmic/newrmic/equivalence/G1Impl.java.i
data/test/javax/sound/sampled/Clip/ClipSetPos.java.i
-data/make/sun/headless/reorder-i586.i
-data/test/javax/swing/border/Test4124729.java.i
+data/src/share/classes/java/sql/DatabaseMetaData.java.i
data/test/com/sun/security/sasl/ntlm/Conformance.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageChannelExtract.c.i
data/src/share/classes/sun/text/resources/FormatData_ar_SA.java.i
-data/test/javax/management/remote/mandatory/connection/AddressableTest.java.i
-data/test/java/util/prefs/PrefsSpi.sh.i
+data/test/java/io/Serializable/defaultDataEnd/DefaultDataEnd.java.i
+data/test/java/rmi/activation/Activatable/checkAnnotations/CheckAnnotations_Stub.java.i
data/src/share/classes/sun/jvmstat/monitor/Monitor.java.i
-data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/ImageTests.java.i
+data/src/share/classes/com/sun/tools/example/debug/event/AbstractEventSet.java.i
data/src/share/classes/javax/naming/NameAlreadyBoundException.java.i
-data/test/java/io/PrintWriter/FailingConstructors.java.i
+data/src/share/classes/sun/io/CharToByteCp858.java.i
data/test/java/rmi/activation/Activatable/shutdownGracefully/security.policy.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/InputRecord/SSLSocketTimeoutNulls.java.i
-data/src/share/classes/sun/reflect/BootstrapConstructorAccessorImpl.java.i
-data/src/share/classes/sun/java2d/cmm/ColorTransform.java.i
+data/src/share/classes/sun/net/www/http/HttpClient.java.i
+data/src/share/classes/sun/nio/fs/Globs.java.i
data/make/javax/swing/Makefile.i
data/src/share/classes/sun/java2d/SurfaceDataProxy.java.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/DummySourceDataLine.java.i
data/src/share/classes/javax/print/attribute/standard/JobName.java.i
-data/src/solaris/sample/dtrace/hotspot_jni/README.txt.i
+data/src/share/classes/com/sun/java/util/jar/pack/Code.java.i
data/test/sun/tools/native2ascii/test1.i
+data/src/share/native/java/util/zip/zlib-1.2.5/zutil.c.i
data/test/java/lang/Class/getField/Exceptions.java.i
-data/src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java.i
-data/test/sun/nio/cs/OLD/IBM933_OLD.java.i
-data/src/share/classes/sun/security/x509/SerialNumber.java.i
-data/test/sun/security/tools/jarsigner/ec.sh.i
-data/src/share/native/sun/java2d/opengl/OGLMaskBlit.c.i
+data/test/java/security/cert/CertPathValidator/indirectCRL/README.i
+data/test/java/io/Serializable/oldTests/CircularList.java.i
+data/src/share/demo/jfc/FileChooserDemo/resources/images/jpgIcon.jpg.i
data/src/solaris/native/sun/java2d/loops/vis_GlyphListXor.c.i
data/src/share/classes/java/nio/file/spi/package-info.java.i
-data/src/share/classes/sun/util/resources/LocaleNames_et.properties.i
+data/src/share/classes/java/nio/channels/FileChannel.java.i
+data/src/share/classes/sun/text/resources/FormatData_it_CH.java.i
data/src/share/demo/jfc/SampleTree/DynamicTreeNode.java.i
+data/test/javax/smartcardio/HistoricalBytes.java.i
data/src/share/classes/java/rmi/server/UID.java.i
-data/test/java/rmi/reliability/benchmark/bench/ConfigFormatException.java.i
+data/test/java/rmi/server/clientStackTrace/ClientStackTrace.java.i
data/test/java/security/cert/CertPathValidatorException/jdk6.serial.i
-data/src/share/native/sun/java2d/loops/ByteBinary2Bit.c.i
-data/test/sun/nio/cs/ISCIITest.java.i
+data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMHostTrap.java.i
+data/src/share/classes/sun/io/ByteToCharUnicodeBigUnmarked.java.i
data/src/share/classes/javax/swing/JPopupMenu.java.i
data/src/share/classes/sun/util/TimeZoneNameUtility.java.i
data/src/share/classes/javax/swing/plaf/basic/ComboPopup.java.i
-data/src/share/demo/nbproject/jfc/Metalworks/build.properties.i
+data/src/share/classes/sun/management/MemoryImpl.java.i
data/test/sun/security/krb5/auto/OneKDC.java.i
-data/src/solaris/native/sun/awt/swing_GTKEngine.c.i
+data/src/share/classes/java/security/spec/ECParameterSpec.java.i
+data/test/java/io/LineNumberReader/ReadReadLine.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextAreaUI.java.i
-data/src/share/classes/java/awt/color/ColorSpace.java.i
-data/src/share/classes/com/sun/tools/jdi/IntegerValueImpl.java.i
+data/src/share/classes/javax/xml/crypto/dsig/keyinfo/X509Data.java.i
+data/src/share/native/sun/awt/image/cvutils/img_dcm8.h.i
data/src/share/classes/sun/awt/image/ImageDecoder.java.i
-data/src/share/lib/calendars.properties.i
+data/src/share/demo/jvmti/hprof/hprof_class.c.i
data/test/sun/nio/cs/OLD/MS932DB.java.i
data/src/windows/native/java/nio/MappedByteBuffer.c.i
+data/test/java/io/Serializable/oldTests/CheckingEquality.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_es_EC.properties.i
-data/src/share/classes/java/sql/Driver.java.i
+data/test/javax/swing/JSlider/6794831/bug6794831.java.i
data/src/share/classes/java/dyn/MethodHandles.java.i
data/src/solaris/classes/sun/java2d/jules/TileWorker.java.i
-data/src/share/classes/sun/security/provider/ConfigSpiFile.java.i
+data/src/solaris/doc/sun/man/man1/javac.1.i
data/test/tools/pack200/pack200-verifier/data/golden.jar.i
data/src/share/native/sun/java2d/opengl/OGLPaints.h.i
data/src/share/classes/javax/print/attribute/standard/PrinterState.java.i
data/src/share/javavm/include/opcodes.wide.i
data/src/share/classes/sun/util/resources/LocaleNames_el.properties.i
-data/test/sun/java2d/SunGraphics2D/SimplePrimQuality.java.i
+data/src/share/classes/java/nio/file/attribute/PosixFilePermissions.java.i
data/test/java/lang/instrument/GetAllLoadedClassesTest.java.i
data/test/java/io/Serializable/InvalidClassException/noargctor/NonSerialize/PackageCtor.java.i
data/test/javax/management/remote/mandatory/notif/NotificationAccessControllerTest.java.i
data/src/share/classes/sun/tools/tree/AssignBitAndExpression.java.i
data/src/share/classes/javax/security/cert/CertificateNotYetValidException.java.i
data/src/share/classes/sun/applet/resources/MsgAppletViewer_it.java.i
-data/src/solaris/hpi/include/interrupt.h.i
+data/src/share/classes/java/nio/file/PathMatcher.java.i
data/test/sun/text/resources/Format/Bug4994312.java.i
-data/test/java/lang/invoke/ClassValueTest.java.i
+data/test/javax/sound/midi/Gervill/SimpleSoundbank/SetName.java.i
+data/src/share/classes/sun/management/snmp/jvminstr/JvmRTInputArgsEntryImpl.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_sr_Latn_BA.properties.i
data/test/java/awt/Focus/ToFrontFocusTest/ToFrontFocus.html.i
-data/src/share/classes/java/nio/Heap-X-Buffer.java.i
+data/make/mksample/nio/file/Makefile.i
data/test/java/beans/Introspector/6380849/beans/ThirdBean.java.i
-data/test/javax/swing/JComponent/4337267/bug4337267.java.i
+data/src/share/classes/sun/io/CharToByteISO8859_7.java.i
data/test/java/awt/dnd/Button2DragTest/Button2DragTest.html.i
-data/src/share/classes/javax/swing/plaf/metal/MetalComboBoxButton.java.i
-data/src/share/demo/jfc/Metalworks/KhakiMetalTheme.java.i
-data/test/java/rmi/reliability/juicer/OrangeEcho.java.i
-data/test/sun/security/pkcs11/KeyStore/BasicData/pk3.key.i
+data/src/share/demo/applets/SpreadSheet/SpreadSheet.java.i
+data/test/com/sun/jdi/sde/testString.i
+data/src/share/classes/com/sun/jndi/ldap/sasl/SaslOutputStream.java.i
+data/src/share/classes/javax/swing/event/UndoableEditListener.java.i
+data/test/sun/rmi/rmic/newrmic/equivalence/AppleEvent.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/CloseInboundException.java.i
-data/test/java/util/Arrays/CopyMethods.java.i
+data/test/javax/management/mxbean/GenericTypeTest.java.i
+data/make/templates/gpl-header.i
data/test/java/nio/channels/Selector/SelectAndClose.java.i
data/src/share/classes/java/beans/ReflectionUtils.java.i
data/src/share/demo/applets/CardTest/CardTest.java.i
-data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/rmi/RemoteMonitoredVm.java.i
+data/src/share/classes/sun/awt/image/ToolkitImage.java.i
data/test/sun/security/tools/keytool/SecretKeyKS.sh.i
data/src/share/classes/com/sun/jmx/mbeanserver/MXBeanLookup.java.i
data/make/tools/swing-beans/beaninfo/images/JColorChooserMono32.gif.i
data/src/windows/classes/sun/awt/windows/WMenuItemPeer.java.i
data/src/share/classes/java/awt/print/PageFormat.java.i
-data/test/java/util/ServiceLoader/FooProvider2.java.i
+data/test/java/util/Hashtable/HashCode.java.i
data/test/java/rmi/transport/checkLeaseInfoLeak/LeaseLeak.java.i
data/src/share/classes/sun/reflect/annotation/ExceptionProxy.java.i
data/test/java/io/etc/FileDescriptorSharing.java.i
@@ -14618,12 +14732,11 @@ data/src/share/classes/com/sun/jdi/request/AccessWatchpointRequest.java.i
data/src/share/classes/com/sun/nio/sctp/AbstractNotificationHandler.java.i
data/test/javax/management/remote/mandatory/subjectDelegation/policy11.i
data/src/share/classes/sun/dyn/FilterOneArgument.java.i
-data/src/share/classes/sun/launcher/resources/launcher_ja.properties.i
-data/src/share/native/sun/security/pkcs11/wrapper/pkcs11.h.i
-data/src/share/classes/com/sun/jmx/snmp/IPAcl/AclImpl.java.i
-data/make/javax/print/Makefile.i
-data/src/share/native/java/util/zip/CRC32.c.i
-data/test/java/net/InetAddress/ptr/lookup.sh.i
+data/src/share/classes/java/util/concurrent/atomic/package-info.java.i
+data/src/share/classes/com/sun/jdi/request/ThreadStartRequest.java.i
+data/src/share/classes/sun/tools/jconsole/inspector/XPlottingViewer.java.i
+data/src/share/classes/sun/java2d/loops/FillRect.java.i
+data/test/javax/management/MBeanInfo/TooManyFooTest.java.i
data/test/java/lang/StringBuffer/InsertNullString.java.i
data/src/share/classes/sun/reflect/UnsafeQualifiedStaticByteFieldAccessorImpl.java.i
data/test/java/beans/XMLDecoder/spec/TestShort.java.i
@@ -14632,14 +14745,12 @@ data/test/java/security/MessageDigest/ArgumentSanity.java.i
data/src/share/classes/com/sun/beans/ObjectHandler.java.i
data/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFrameLength.java.i
data/src/share/classes/javax/swing/doc-files/groupLayout.example.png.i
-data/test/com/sun/tools/attach/BasicTests.sh.i
-data/src/share/native/sun/awt/medialib/mlib_ImageConvMxN.c.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/package.html.i
data/test/java/util/zip/ConstructInflaterOutput.java.i
data/test/sun/security/rsa/TestKeyFactory.java.i
-data/test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh.i
-data/src/share/native/sun/font/layout/SinglePositioningSubtables.cpp.i
-data/make/modules/update_module.sh.i
-data/src/share/classes/javax/xml/crypto/dsig/keyinfo/PGPData.java.i
+data/src/share/classes/sun/tools/tree/ExprExpression.java.i
+data/make/java/java/mapfile-vers.i
+data/test/java/lang/StrictMath/HyperbolicTests.java.i
data/test/java/rmi/activation/Activatable/shutdownGracefully/TestSecurityManager.java.i
data/src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties.i
data/test/java/nio/charset/Charset/AvailableCharsetNames.java.i
@@ -14648,29 +14759,28 @@ data/src/share/classes/java/rmi/activation/UnknownObjectException.java.i
data/src/share/classes/sun/rmi/rmic/BatchEnvironment.java.i
data/test/java/util/PluggableLocale/providersrc/java.text.spi.CollatorProvider.i
data/test/java/awt/font/TextLayout/TestOldHangul.java.i
-data/src/share/native/sun/awt/image/cvutils/img_dcm8.h.i
+data/src/share/native/java/lang/fdlibm/src/e_lgamma_r.c.i
data/src/share/classes/sun/security/ssl/EngineOutputRecord.java.i
-data/test/java/io/Serializable/corruptedUTFConsumption/CorruptedUTFConsumption.java.i
-data/src/solaris/classes/sun/awt/X11/XInputMethod.java.i
+data/test/java/io/charStreams/LineSink.java.i
+data/src/share/classes/javax/xml/crypto/Data.java.i
data/test/sun/tools/jps/jps-m.sh.i
data/test/sun/security/krb5/BadKdcDefaultValue.java.i
data/src/solaris/native/sun/nio/ch/NativeThread.c.i
data/make/tools/swing-beans/beaninfo/images/JPasswordFieldColor16.gif.i
data/test/com/sun/jdi/DeoptimizeWalk.sh.i
-data/src/share/classes/sun/io/CharToByteMacIceland.java.i
data/src/share/classes/com/sun/security/auth/module/LdapLoginModule.java.i
data/src/share/classes/java/util/logging/XMLFormatter.java.i
-data/src/share/native/sun/awt/medialib/mlib_ImageAffineEdge.c.i
data/make/netbeans/j2se/build.xml.i
data/src/share/classes/sun/dyn/anon/ConstantPoolVisitor.java.i
-data/test/javax/security/auth/x500/X500Principal/RFC4514.java.i
+data/test/java/awt/PrintJob/ConstrainedPrintingTest/ConstrainedPrintingTest.java.i
+data/src/windows/native/sun/windows/awt_Cursor.cpp.i
data/test/javax/sound/midi/Gervill/ModelByteBuffer/GetRoot.java.i
data/test/sun/security/provider/PolicyParser/ExtDirs.policy.i
-data/test/org/openjdk/jigsaw/security.sh.i
+data/make/netbeans/jdwpgen/nbproject/project.properties.i
+data/make/tools/swing-nimbus/classes/org/jdesktop/beans/AbstractBean.java.i
data/src/share/classes/javax/print/attribute/standard/PrinterInfo.java.i
data/test/javax/security/auth/login/LoginContext/DefaultHandler.config.i
-data/test/java/rmi/reliability/benchmark/bench/serial/StreamBuffer.java.i
-data/src/share/demo/jfc/CodePointIM/README_ja.html.i
+data/src/share/classes/java/beans/beancontext/BeanContextMembershipEvent.java.i
data/src/solaris/native/sun/nio/ch/SocketDispatcher.c.i
data/src/share/native/sun/font/layout/GlyphSubstitutionTables.h.i
data/test/java/beans/Introspector/6380849/beans/SecondBean.java.i
@@ -14680,13 +14790,12 @@ data/src/share/lib/images/cursors/win32_LinkDrop32x32.gif.i
data/src/share/native/sun/font/layout/OpenTypeUtilities.h.i
data/test/java/nio/channels/Selector/CloseWhenKeyIdle.java.i
data/src/solaris/native/sun/awt/awt_UNIXToolkit.c.i
-data/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java.i
data/test/javax/security/auth/PrivateCredentialPermission/EmptyName.java.i
data/test/sun/security/provider/certpath/X509CertPath/IllegalCertiticates.java.i
-data/src/share/classes/com/sun/jmx/event/RepeatedSingletonJob.java.i
+data/test/java/security/cert/CertificateFactory/GenerateCertificatesEmptyCollection.java.i
+data/test/sun/security/mscapi/SignUsingNONEwithRSA.java.i
data/src/share/classes/sun/io/CharToByteCp869.java.i
data/src/share/classes/sun/security/pkcs11/wrapper/CK_VERSION.java.i
-data/test/javax/script/Helper.java.i
data/src/share/classes/javax/management/ReflectionException.java.i
data/src/share/classes/com/sun/jdi/event/ClassPrepareEvent.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/SunX509ExtendedTM.java.i
@@ -14694,162 +14803,156 @@ data/test/javax/management/mxbean/MBeanOperationInfoTest.java.i
data/src/share/back/commonRef.h.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/Close.java.i
data/src/share/classes/java/lang/invoke/MethodType.java.i
-data/src/share/bin/java.h.i
data/make/modules/jdk.tools.ls.i
+data/src/share/classes/com/sun/jmx/snmp/SnmpPduRequest.java.i
data/src/share/classes/javax/swing/text/html/ParagraphView.java.i
data/src/share/demo/nio/zipfs/com/sun/nio/zipfs/JarFileSystemProvider.java.i
-data/src/share/classes/sun/security/util/AuthResources.java.i
+data/src/windows/native/sun/java2d/d3d/D3DBufImgOps.h.i
data/test/java/nio/channels/SocketChannel/Hangup.java.i
data/test/javax/print/CheckDupFlavor.java.i
data/src/share/classes/javax/management/relation/RoleInfo.java.i
data/test/javax/sql/rowset/serial/SerialClob/SetAsciiStream.java.i
data/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c.i
data/test/java/awt/Graphics/TextAAHintsTest.java.i
-data/src/share/classes/java/awt/AttributeValue.java.i
data/test/java/lang/instrument/ATestCaseScaffold.java.i
data/src/share/classes/sun/java2d/pipe/RegionClipSpanIterator.java.i
data/src/share/classes/javax/swing/plaf/basic/DragRecognitionSupport.java.i
data/test/java/util/ResourceBundle/Bug4083270Test.java.i
data/test/sun/security/x509/AlgorithmId/TurkishRegion.java.i
data/src/share/classes/sun/reflect/UnsafeQualifiedFloatFieldAccessorImpl.java.i
-data/test/java/util/zip/ZipFile/ManyZipFiles.java.i
+data/test/java/util/LinkedList/Clone.java.i
data/src/solaris/native/com/sun/media/sound/PLATFORM_API_SolarisOS_Ports.c.i
data/src/share/classes/javax/swing/plaf/ToolTipUI.java.i
-data/src/share/classes/javax/management/IntrospectionException.java.i
+data/src/share/classes/java/awt/peer/FontPeer.java.i
data/test/java/net/Inet4Address/textToNumericFormat.java.i
-data/src/share/classes/sun/swing/ImageIconUIResource.java.i
+data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/rmi/package.html.i
data/make/netbeans/jdwpgen/nbproject/genfiles.properties.i
data/src/share/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/config/XmlConfigUtilsTest.java.i
data/src/share/classes/javax/swing/plaf/ToolBarUI.java.i
data/src/windows/native/sun/windows/awt_KeyboardFocusManager.cpp.i
data/test/sun/security/pkcs11/nss/lib/solaris-sparcv9/libplc4.so.i
+data/src/share/classes/javax/security/auth/login/AccountNotFoundException.java.i
data/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java.i
data/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConvex.java.i
data/src/share/classes/sun/java2d/loops/TransformBlit.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java.i
-data/make/modules/tools/Makefile.i
+data/src/share/classes/java/lang/module/ModuleInfoReader.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmRTClassPathEntryMBean.java.i
data/src/share/classes/java/dyn/FilterGeneric.java.i
data/make/javax/sound/SoundDefs.gmk.i
data/test/java/rmi/server/RMIClassLoader/spi/Installed.java.i
data/src/share/back/EventRequestImpl.h.i
data/test/java/lang/management/MemoryPoolMXBean/ThresholdTest.java.i
-data/test/java/math/BigDecimal/PowTests.java.i
-data/make/java/invoke/Makefile.i
+data/src/windows/native/sun/font/fontpath.c.i
data/src/share/classes/javax/management/NotQueryExp.java.i
data/test/java/lang/reflect/Proxy/returnTypes/GetArray.java.i
-data/src/share/native/sun/management/Flag.c.i
-data/src/share/classes/sun/java2d/loops/DrawLine.java.i
-data/src/share/classes/javax/print/attribute/URISyntax.java.i
+data/src/share/classes/javax/swing/ListModel.java.i
data/src/share/classes/java/rmi/NotBoundException.java.i
data/src/share/classes/sun/tools/jconsole/JConsole.java.i
data/test/java/util/zip/zip.java.i
data/src/linux/doc/man/ja/jar.1.i
data/src/share/classes/com/sun/accessibility/internal/resources/accessibility_sv.properties.i
-data/src/share/native/sun/awt/image/jpeg/jinclude.h.i
+data/src/share/classes/sun/io/ByteToCharBig5_Solaris.java.i
data/src/share/classes/java/rmi/server/RMIClassLoaderSpi.java.i
-data/test/sun/security/x509/AVA/AVAEqualsHashCode.java.i
+data/test/java/beans/PropertyEditor/TestIntegerClassNull.java.i
data/make/sun/misc/Makefile.i
-data/src/share/classes/sun/security/provider/SeedGenerator.java.i
+data/src/share/classes/java/util/NavigableSet.java.i
data/src/share/classes/sun/swing/CachedPainter.java.i
-data/test/java/util/Calendar/Bug6645263.java.i
+data/test/java/security/cert/PolicyNode/speech2eve.i
data/src/share/demo/jvmti/mtrace/README.txt.i
data/src/share/classes/sun/misc/JavaSecurityCodeSignerAccess.java.i
-data/src/share/classes/javax/swing/event/MenuKeyListener.java.i
+data/src/share/native/sun/java2d/cmm/lcms/cmspack.c.i
data/test/java/lang/management/MemoryMXBean/GetMBeanInfo.java.i
-data/test/javax/management/remote/mandatory/passwordAccessFile/NonJMXPrincipalsTest.java.i
+data/make/com/sun/tools/attach/FILES_c.gmk.i
data/src/share/classes/com/sun/servicetag/SystemEnvironment.java.i
data/src/share/classes/java/util/Locale.java.i
data/src/share/classes/sun/text/resources/FormatData_cs.java.i
data/test/javax/swing/plaf/nimbus/Test6849805.java.i
-data/src/share/classes/sun/io/ByteToCharBig5_HKSCS.java.i
-data/src/windows/native/sun/jkernel/DownloadDialog.cpp.i
+data/src/share/classes/sun/print/ProxyGraphics.java.i
+data/src/share/classes/sun/awt/ScrollPaneWheelScroller.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/CachedXPathAPIHolder.java.i
+data/src/solaris/classes/sun/awt/X11/XFocusProxyWindow.java.i
data/src/share/classes/com/sun/tools/example/debug/expr/ParseException.java.i
data/make/tools/swing-beans/beaninfo/images/JTextPaneColor32.gif.i
data/test/javax/management/remote/mandatory/connectorServer/MBSFPreStartPostStartTest.java.i
data/src/share/classes/sun/io/CharToByteDBCS_ASCII.java.i
data/test/java/lang/Thread/NullStackTrace.java.i
-data/test/sun/management/HotspotRuntimeMBean/GetSafepointCount.java.i
+data/test/java/lang/management/ManagementFactory/StateTestMBean.java.i
data/src/share/classes/com/sun/crypto/provider/BlowfishConstants.java.i
data/src/share/classes/javax/sql/rowset/serial/SerialStruct.java.i
data/test/com/sun/jdi/NoLaunchOptionTest.java.i
data/src/share/classes/javax/swing/plaf/metal/icons/ocean/computer.gif.i
-data/test/java/lang/management/RuntimeMXBean/TestInputArgument.sh.i
+data/test/java/lang/Character/PropList.txt.i
data/test/java/rmi/activation/Activatable/downloadParameterClass/FooReceiverImpl_Stub.java.i
data/test/sun/net/www/protocol/http/UserAgent.java.i
-data/src/share/classes/com/sun/beans/finder/BeanInfoFinder.java.i
data/test/javax/swing/JColorChooser/Test6707406.java.i
data/src/share/classes/sun/font/StrikeMetrics.java.i
data/test/sun/security/provider/MessageDigest/DigestKAT.java.i
data/test/java/rmi/transport/httpSocket/HttpSocketTest.java.i
+data/test/java/beans/XMLEncoder/java_util_Collections_UnmodifiableRandomAccessList.java.i
data/make/mkdemo/applets/DrawTest/Makefile.i
data/src/share/classes/sun/misc/PerfCounter.java.i
+data/test/sun/rmi/rmic/defaultStubVersion/G1.java.i
+data/src/solaris/native/sun/awt/fontpath.c.i
data/src/share/native/sun/security/ec/ec_naf.c.i
-data/src/share/classes/java/util/zip/CheckedOutputStream.java.i
-data/test/sun/rmi/log/ReliableLog/LogAlignmentTest.java.i
+data/make/java/net/Makefile.i
data/src/share/classes/com/sun/tools/hat/internal/model/JavaObject.java.i
data/test/java/util/TimeZone/OldIDMappingTest.java.i
-data/src/solaris/native/sun/awt/Xrandr.h.i
+data/src/share/classes/javax/naming/InitialContext.java.i
data/test/sun/security/ec/truststore.i
data/test/sun/tools/native2ascii/resources/ImmutableResourceTest.sh.i
-data/test/sun/security/provider/certpath/speech2speech.i
-data/src/share/classes/java/awt/BorderLayout.java.i
+data/src/share/classes/java/awt/event/WindowFocusListener.java.i
data/src/share/classes/java/nio/channels/exceptions.i
data/src/share/sample/nio/server/BN.java.i
-data/src/windows/classes/sun/nio/ch/DatagramDispatcher.java.i
+data/src/share/classes/com/sun/jmx/remote/internal/IIOPProxy.java.i
+data/src/share/classes/javax/print/attribute/DocAttributeSet.java.i
data/test/java/rmi/Naming/legalRegistryNames/LegalRegistryNames_Stub.java.i
data/test/javax/swing/text/html/TableView/7030332/sample4.png.i
-data/test/sun/security/action/Generify.java.i
-data/src/share/classes/sun/security/krb5/internal/crypto/HmacSha1Aes256CksumType.java.i
+data/src/share/classes/sun/java2d/cmm/lcms/LCMS.java.i
data/test/java/nio/channels/AsynchronousChannelGroup/Identity.java.i
-data/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadAllInstruments.java.i
data/src/solaris/native/sun/java2d/loops/mlib_v_ImageZoom_NN_f.c.i
data/test/com/sun/net/httpserver/bugs/B6421581.java.i
data/src/share/classes/javax/swing/undo/package.html.i
-data/src/linux/doc/man/ja/javaws.1.i
+data/src/share/classes/java/nio/file/attribute/PosixFilePermission.java.i
data/test/java/awt/dnd/URIListBetweenJVMsTest/SourceFileListFrame.java.i
-data/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringStringInt.java.i
-data/src/share/classes/com/sun/crypto/provider/HmacCore.java.i
-data/src/share/classes/com/sun/jmx/mbeanserver/MXBeanMappingFactory.java.i
+data/test/com/sun/management/HotSpotDiagnosticMXBean/SetAllVMOptions.java.i
data/src/solaris/classes/sun/awt/motif/MMenuPeer.java.i
data/test/java/nio/file/Files/InterruptCopy.java.i
data/src/solaris/classes/sun/awt/X11/XAWTFormatter.java.i
data/make/tools/swing-beans/beaninfo/images/JToggleButtonMono16.gif.i
-data/src/share/classes/sun/nio/cs/Unicode.java.i
-data/test/com/sun/jdi/connect/spi/DebugUsingCustomConnector.java.i
+data/test/java/lang/instrument/IsModifiableClassApp.java.i
+data/src/share/classes/sun/java2d/pisces/META-INF/services/sun.java2d.pipe.RenderingEngine.i
data/src/share/classes/javax/swing/event/CaretListener.java.i
data/test/javax/management/loading/ParserInfiniteLoopTest.java.i
data/src/share/classes/java/awt/image/renderable/package.html.i
-data/test/javax/sound/midi/Gervill/ModelIdentifier/EqualsObject.java.i
+data/src/solaris/classes/sun/awt/X11/XWrapperBase.java.i
data/src/share/classes/sun/io/ConversionBufferFullException.java.i
-data/test/java/lang/Class/forName/classes/right-square.class.i
+data/src/share/classes/sun/nio/cs/ext/MS950_HKSCS_XP.java.i
data/src/share/classes/java/awt/doc-files/MenuBar-1.gif.i
data/src/windows/classes/java/util/prefs/WindowsPreferences.java.i
-data/test/java/lang/Runtime/exec/ConcurrentRead.java.i
+data/src/solaris/classes/sun/awt/X11/InfoWindow.java.i
data/src/share/classes/com/sun/tools/example/debug/bdi/LineBreakpointSpec.java.i
data/test/java/beans/XMLEncoder/java_util_RegularEnumSet.java.i
data/src/share/classes/java/security/interfaces/DSAKeyPairGenerator.java.i
-data/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h.i
+data/test/tools/pack200/dyn.jar.i
data/test/java/lang/String/Encodings.java.i
-data/src/share/classes/sun/tools/jstat/SyntaxException.java.i
+data/test/java/awt/Multiscreen/WPanelPeerPerf/WPanelPeerPerf.java.i
data/test/java/nio/channels/SocketChannel/IsConnectable.java.i
data/src/share/sample/nio/file/AclEdit.java.i
-data/test/java/rmi/activation/Activatable/checkActivateRef/CheckActivateRef.java.i
-data/test/java/util/EnumMap/DistinctEntrySetElements.java.i
+data/make/sun/security/jgss/wrapper/Makefile.i
data/test/java/beans/PropertyEditor/TestBooleanClassNull.java.i
data/src/share/classes/javax/swing/colorchooser/DefaultColorSelectionModel.java.i
data/src/windows/native/sun/windows/awt_Component.cpp.i
data/src/windows/native/sun/windows/awt_Insets.h.i
-data/make/mkdemo/jni/Makefile.i
-data/src/windows/native/sun/windows/awt_Brush.cpp.i
+data/src/share/classes/sun/security/x509/CertificatePolicyMap.java.i
+data/test/java/io/Serializable/subclass/Allow.policy.i
data/test/java/net/URLClassLoader/ClassLoad.java.i
data/test/javax/management/mxbean/customtypes/package-info.java.i
data/src/share/classes/java/applet/AppletContext.java.i
-data/src/share/classes/java/lang/Boolean.java.i
-data/src/share/classes/javax/print/attribute/standard/PDLOverrideSupported.java.i
-data/test/java/rmi/activation/Activatable/restartCrashedService/security.policy.i
-data/test/java/rmi/activation/ActivationSystem/modifyDescriptor/security.policy.i
-data/src/share/classes/javax/security/auth/login/AccountException.java.i
+data/make/docs/CORE_PKGS.gmk.i
+data/test/java/rmi/reliability/benchmark/bench/rmi/BooleanCalls.java.i
+data/make/tools/classanalyzer/src/com/sun/classanalyzer/BootAnalyzer.java.i
+data/make/tools/CharsetMapping/IBM1383.map.i
data/src/solaris/native/sun/awt/awt_FileDialog.c.i
data/src/solaris/lib/content-types.properties.i
data/src/share/classes/sun/security/krb5/internal/KRBCred.java.i
@@ -14859,93 +14962,95 @@ data/src/share/classes/sun/security/pkcs11/P11RSACipher.java.i
data/test/java/nio/channels/AsynchronousFileChannel/CustomThreadPool.java.i
data/src/share/classes/javax/security/cert/CertificateParsingException.java.i
data/src/share/classes/sun/security/action/GetPropertyAction.java.i
-data/test/java/awt/Focus/NonFocusableWindowTest/NonfocusableOwnerTest.java.i
+data/src/windows/native/sun/java2d/d3d/D3DPaints.cpp.i
data/test/javax/swing/JSlider/4987336/bug4987336.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIRegion.java.i
data/src/solaris/classes/sun/awt/motif/MLabelPeer.java.i
-data/src/windows/classes/sun/awt/windows/WPopupMenuPeer.java.i
data/src/share/classes/com/sun/crypto/provider/HmacMD5.java.i
data/src/share/classes/java/lang/invoke/MethodHandleProxies.java.i
data/src/share/classes/com/sun/jmx/snmp/SnmpPduBulk.java.i
-data/src/share/classes/javax/accessibility/AccessibleRole.java.i
+data/test/sun/security/pkcs11/fips/TrustManagerTest.java.i
data/src/share/bin/jli_util.c.i
data/src/windows/native/sun/windows/awt_new.h.i
-data/src/share/classes/java/awt/BufferCapabilities.java.i
+data/src/share/classes/java/util/zip/CheckedOutputStream.java.i
data/test/java/beans/XMLEncoder/javax_swing_border_LineBorder.java.i
data/src/share/classes/sun/security/krb5/internal/KRBSafe.java.i
data/test/java/lang/StringBuilder/Exceptions.java.i
data/src/share/classes/sun/nio/cs/ext/JIS_X_0208_MS5022X_Encoder.java.i
-data/src/share/classes/java/security/cert/CertSelector.java.i
data/src/share/classes/sun/print/ImagePrinter.java.i
data/test/java/nio/file/Files/CopyAndMove.java.i
data/src/linux/doc/man/xjc.1.i
data/src/share/classes/javax/security/auth/callback/LanguageCallback.java.i
-data/src/share/lib/images/cursors/win32_MoveDrop32x32.gif.i
-data/src/share/classes/sun/io/ByteToCharISO2022.java.i
+data/src/share/classes/java/util/concurrent/atomic/AtomicLong.java.i
+data/test/java/security/Signature/NONEwithRSA.java.i
data/test/java/net/URLClassLoader/closetest/test2/com/foo/Resource1.i
data/test/com/sun/jdi/Java_gTest.java.i
data/test/java/nio/channels/SocketChannel/Trivial.java.i
-data/test/sun/security/rsa/TestKeyPairGeneratorLength.java.i
data/test/java/util/ResourceBundle/Test4314141A___EURO.properties.i
-data/test/sun/security/tools/policytool/UsePolicy.sh.i
+data/test/sun/java2d/DirectX/OverriddenInsetsTest/OverriddenInsetsTest.java.i
+data/src/share/classes/sun/tools/tree/GreaterExpression.java.i
data/test/com/sun/jdi/InvokeTest.java.i
data/test/javax/management/mxbean/customtypes/IntegerIsLongFactory.java.i
data/test/javax/sound/midi/Gervill/SoftChannel/Solo.java.i
data/src/share/classes/com/sun/tools/hat/internal/server/ObjectQuery.java.i
+data/test/java/util/Collections/RacingCollections.java.i
data/test/javax/management/monitor/GaugeMonitorDeadlockTest.java.i
-data/src/share/classes/com/sun/tools/hat/internal/oql/OQLEngine.java.i
-data/test/java/beans/XMLEncoder/Test5023557.java.i
-data/test/com/sun/net/httpserver/bugs/FixedLengthInputStream.java.i
+data/src/share/demo/nbproject/management/FullThreadDump/build.xml.i
+data/test/javax/sound/midi/Gervill/ModelStandardIndexedDirector/ModelStandardIndexedDirectorTest.java.i
+data/src/share/classes/com/sun/inputmethods/internal/indicim/DevanagariInputMethodDescriptor.java.i
data/test/java/util/Collections/Disjoint.java.i
-data/src/share/classes/sun/util/resources/CurrencyNames_ar_LB.properties.i
+data/src/share/classes/sun/rmi/server/resources/rmid_sv.properties.i
data/test/req.flg.i
data/src/solaris/native/java/net/InetAddressImplFactory.c.i
+data/test/javax/management/openmbean/OpenTypeDescriptorTest.java.i
data/test/com/sun/jdi/connect/spi/JdiLoadedByCustomLoader.sh.i
-data/src/share/classes/com/sun/nio/sctp/PeerAddressChangeNotification.java.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/icons/HardDrive.gif.i
+data/test/sun/security/pkcs11/nss/lib/linux-amd64/libnss3.so.i
+data/src/share/classes/java/text/ChoiceFormat.java.i
data/test/java/io/File/MaxPath.java.i
data/test/java/security/KeyRep/SerialDSAPubKey.java.i
-data/src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp.i
+data/test/java/beans/PropertyEditor/TestDoubleClassNull.java.i
+data/test/javax/management/namespace/JMXNamespaceViewTest.java.i
data/test/java/beans/XMLEncoder/javax_swing_plaf_BorderUIResource_BevelBorderUIResource.java.i
data/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageMetadataFormat.java.i
data/src/solaris/classes/sun/java2d/x11/XSurfaceData.java.i
data/src/solaris/classes/sun/awt/motif/java.oblique-fonts.dir.i
data/test/java/rmi/Naming/LookupIPv6.java.i
+data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Identities.java.i
data/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntInt.java.i
data/src/share/classes/javax/naming/ldap/HasControls.java.i
-data/src/share/classes/javax/swing/text/rtf/package.html.i
-data/src/share/classes/com/sun/media/sound/JARSoundbankReader.java.i
-data/src/windows/native/sun/windows/awt_Checkbox.cpp.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/icons/HardDrive.gif.i
+data/src/share/classes/javax/swing/DesktopManager.java.i
data/src/windows/native/java/io/io_util_md.c.i
-data/src/share/classes/sun/applet/AppletViewerFactory.java.i
+data/src/share/demo/applets/WireFrame/models/hughes_500.obj.i
data/src/share/classes/org/relaxng/datatype/ValidationContext.java.i
data/src/share/native/sun/java2d/loops/DrawPath.c.i
data/test/java/util/concurrent/locks/Lock/TimedAcquire.java.i
data/src/share/classes/sun/text/resources/FormatData_no.java.i
-data/test/javax/swing/JInternalFrame/6725409/bug6725409.java.i
+data/src/solaris/bin/java_md.h.i
data/src/share/classes/java/nio/file/FileVisitOption.java.i
-data/src/share/classes/sun/nio/cs/ext/IBM871.java.i
+data/test/sun/security/pkcs11/nss/lib/solaris-i586/libplds4.so.i
data/src/windows/native/sun/windows/security_warning_int.ico.i
-data/test/javax/sound/midi/Gervill/SoftTuning/Load1.java.i
data/src/share/classes/com/sun/net/ssl/SSLContextSpi.java.i
-data/test/java/rmi/MarshalledObject/compare/Compare.java.i
-data/test/sun/rmi/rmic/manifestClassPath/run.sh.i
+data/src/share/classes/java/io/CharArrayWriter.java.i
+data/test/sun/security/mscapi/PublicKeyInterop.java.i
data/src/windows/native/sun/security/pkcs11/j2secmod_md.h.i
-data/src/share/classes/java/awt/doc-files/MultiScreen.gif.i
-data/test/java/net/MulticastSocket/JoinGroup.java.i
+data/src/share/classes/com/sun/jmx/mbeanserver/MXBeanMappingFactory.java.i
+data/src/share/native/java/lang/Thread.c.i
data/src/share/classes/sun/util/resources/CurrencyNames_ja.properties.i
data/test/java/lang/annotation/loaderLeak/LoaderLeak.sh.i
data/test/java/security/spec/EllipticCurveMatch.java.i
data/test/javax/swing/JComponent/6683775/bug6683775.java.i
data/test/javax/swing/LookAndFeel/6474153/bug6474153.java.i
data/test/javax/management/namespace/JMXDomainTest.java.i
-data/src/solaris/native/sun/awt/XDrawingArea.c.i
-data/test/java/awt/Mixing/MixingOnShrinkingHWButton.java.i
-data/src/share/classes/javax/swing/plaf/multi/MultiTreeUI.java.i
+data/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByte.java.i
+data/make/javax/swing/plaf/FILES.gmk.i
+data/test/java/awt/Frame/ShapeNotSetSometimes/ShapeNotSetSometimes.java.i
data/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetPitchCorrection.java.i
data/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_fr.properties.i
+data/src/share/classes/com/sun/tools/hat/internal/server/HistogramQuery.java.i
data/src/share/classes/sun/security/provider/certpath/IndexedCollectionCertStore.java.i
data/src/share/classes/java/lang/UnknownError.java.i
+data/test/javax/swing/JScrollBar/4708809/bug4708809.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ServerHandshaker/AnonCipherWithWantClientAuth.java.i
data/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java.i
data/test/java/util/zip/InflaterInputStream/MarkReset.java.i
@@ -14955,112 +15060,111 @@ data/src/share/classes/java/util/concurrent/atomic/AtomicLongArray.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageCopy_f.c.i
data/src/share/classes/com/sun/media/sound/SoftMixingMixerProvider.java.i
data/src/share/classes/javax/imageio/metadata/IIOMetadataController.java.i
-data/src/share/classes/javax/crypto/spec/PBEKeySpec.java.i
+data/test/java/util/ResourceBundle/Test4314141A__DE.properties.i
data/src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp.i
data/test/java/security/BasicPermission/ExitVMEquals.java.i
-data/test/com/sun/crypto/provider/KeyAgreement/DHKeyAgreement3.java.i
+data/src/share/classes/sun/io/CharToByteCp1025.java.i
data/src/share/classes/java/nio/file/attribute/PosixFileAttributeView.java.i
data/src/share/classes/javax/management/event/EventClient.java.i
data/src/windows/native/sun/windows/awt_Color.cpp.i
data/test/java/net/URLClassLoader/closetest/build2.sh.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/CriticalSubjectAltName.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmRTInputArgsEntryMBean.java.i
-data/src/share/classes/javax/security/auth/callback/PasswordCallback.java.i
data/src/share/classes/java/awt/im/InputMethodHighlight.java.i
data/make/tools/swing-beans/beaninfo/images/JAppletMono16.gif.i
-data/make/modules/tools/nbproject/project.properties.i
-data/src/windows/back/proc_md.h.i
-data/src/solaris/classes/sun/java2d/xr/XRMaskFill.java.i
-data/test/java/beans/XMLEncoder/java_io_File.java.i
+data/make/tools/CharsetMapping/IBM918.map.i
+data/src/share/native/sun/font/layout/TrimmedArrayProcessor.cpp.i
+data/src/share/native/sun/security/ec/impl/ec2_193.c.i
+data/src/share/classes/java/io/UTFDataFormatException.java.i
data/make/sun/security/krb5/Makefile.i
-data/test/java/rmi/activation/ActivationSystem/unregisterGroup/Callback_Stub.java.i
-data/src/share/classes/javax/swing/plaf/metal/MetalTabbedPaneUI.java.i
+data/src/share/classes/javax/swing/plaf/FileChooserUI.java.i
data/test/java/rmi/activation/CommandEnvironment/SetChildEnv.java.i
data/src/solaris/doc/sun/man/man1/ja/wsimport.1.i
data/src/share/classes/javax/security/auth/package.html.i
-data/src/share/classes/sun/io/CharToByteISO8859_2.java.i
+data/test/com/sun/servicetag/servicetag4.properties.i
data/test/javax/smartcardio/TestCardPermission.java.i
data/src/share/classes/com/sun/imageio/plugins/jpeg/SOFMarkerSegment.java.i
-data/src/share/demo/jfc/Font2DTest/resources/TextResources_en.properties.i
+data/src/share/classes/java/util/zip/DeflaterInputStream.java.i
data/src/share/classes/java/security/acl/Owner.java.i
data/src/share/classes/com/sun/pept/encoding/Decoder.java.i
+data/src/windows/classes/sun/awt/windows/WRobotPeer.java.i
data/make/common/Library.gmk.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyUtils.java.i
+data/src/share/classes/sun/nio/cs/ext/MacRomania.java.i
data/test/java/util/Collections/CheckedSetBash.java.i
-data/test/java/security/cert/CertPathBuilder/selfIssued/StatusLoopDependency.java.i
-data/src/share/native/java/lang/fdlibm/src/e_asin.c.i
+data/src/share/classes/java/security/cert/TrustAnchor.java.i
data/src/share/classes/sun/rmi/transport/proxy/HttpInputStream.java.i
data/src/share/classes/com/sun/tools/jdi/CommandSender.java.i
+data/src/share/classes/java/awt/PageAttributes.java.i
+data/test/java/awt/EventDispatchThread/HandleExceptionOnEDT/HandleExceptionOnEDT.java.i
data/src/share/classes/sun/security/provider/certpath/ForwardBuilder.java.i
data/src/solaris/native/java/net/Inet6AddressImpl.c.i
-data/src/share/classes/java/awt/doc-files/DesktopProperties.html.i
data/test/java/io/File/GetCanonicalPath.java.i
data/src/share/classes/javax/swing/plaf/metal/icons/ocean/collapsed.gif.i
-data/src/windows/classes/sun/java2d/d3d/D3DTextRenderer.java.i
+data/src/share/classes/javax/swing/plaf/synth/SynthSpinnerUI.java.i
data/src/share/classes/com/sun/tools/example/debug/gui/SingleLeafTreeSelectionModel.java.i
data/test/javax/management/remote/mandatory/notif/policy.negative.i
data/src/share/classes/sun/nio/cs/ext/MS1255.java.i
data/src/share/classes/javax/swing/text/html/MinimalHTMLWriter.java.i
data/test/java/lang/management/OperatingSystemMXBean/PlatformMXBeanTest.java.i
-data/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllSoundOff.java.i
-data/src/share/classes/java/nio/file/attribute/DosFileAttributeView.java.i
data/src/share/classes/sun/security/jgss/GSSHeader.java.i
-data/src/solaris/classes/sun/awt/X11/XListPeer.java.i
+data/src/share/classes/sun/io/CharToByteCp943.java.i
data/src/share/classes/sun/util/locale/StringTokenIterator.java.i
-data/src/share/classes/com/sun/security/jgss/InquireSecContextPermission.java.i
+data/test/javax/script/GetInterfaceTest.java.i
+data/test/java/nio/channels/DatagramChannel/Sender.java.i
data/src/share/classes/javax/imageio/stream/ImageInputStream.java.i
data/src/share/bin/java.c.i
data/test/java/net/InterfaceAddress/Equals.java.i
-data/test/sun/management/HotspotClassLoadingMBean/GetClassInitializationTime.java.i
data/make/tools/swing-beans/beaninfo/images/JWindowMono16.gif.i
-data/test/sun/java2d/DirectX/AcceleratedScaleTest/AcceleratedScaleTest.java.i
+data/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifComboBoxUI.java.i
data/src/share/classes/javax/security/auth/kerberos/ServicePermission.java.i
data/src/share/classes/javax/management/loading/package.html.i
-data/test/java/util/concurrent/BlockingQueue/MultipleProducersSingleConsumerLoops.java.i
+data/test/java/util/Vector/IllegalConstructorArgs.java.i
data/test/java/lang/reflect/Proxy/returnTypes/GetSerializable.java.i
-data/test/java/beans/Introspector/6380849/beans/FirstBean.java.i
+data/test/java/beans/PropertyEditor/TestEnumSubclassValue.java.i
+data/src/share/classes/sun/font/FontAccess.java.i
data/src/share/classes/sun/awt/DebugSettings.java.i
data/src/share/back/ReferenceTypeImpl.h.i
data/test/com/sun/security/auth/module/KeyStoreLoginModule/OptionTest.keyPass.i
data/test/tools/pack200/PackageVersionTest.java.i
+data/make/sun/jpeg/mapfile-vers.i
data/src/share/classes/sun/management/jmxremote/LocalRMIServerSocketFactory.java.i
-data/make/common/Defs-embedded.gmk.i
+data/src/share/classes/sun/nio/cs/UTF_8.java.i
+data/test/sun/nio/cs/SurrogateTestEUCTW.plane4.surrogates.i
data/src/share/classes/sun/awt/resources/awt.properties.i
+data/src/share/classes/java/nio/file/DirectoryStream.java.i
data/src/share/classes/javax/swing/text/DateFormatter.java.i
data/test/java/beans/XMLEncoder/java_awt_LinearGradientPaint.java.i
data/src/share/native/java/net/InetAddress.c.i
-data/src/share/classes/sun/nio/cs/ISO_8859_13.java.i
-data/src/share/classes/com/sun/pept/ept/EPTFactory.java.i
+data/test/javax/management/loading/DocumentRootTest.java.i
+data/src/share/classes/com/sun/servicetag/ServiceTag.java.i
data/test/java/awt/FontClass/CreateFont/BigFont.java.i
data/src/share/classes/com/sun/rowset/internal/WebRowSetXmlWriter.java.i
data/make/mkdemo/jfc/SwingApplet/Makefile.i
data/src/share/classes/javax/swing/text/html/FrameView.java.i
data/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArray.java.i
-data/src/share/classes/javax/xml/crypto/dsig/dom/package.html.i
+data/test/sun/security/pkcs11/Provider/Login.sh.i
data/test/java/awt/TextField/ScrollSelectionTest/ScrollSelectionTest.html.i
data/src/share/classes/java/util/HashMap.java.i
data/make/netbeans/common/make.xml.i
data/src/share/classes/sun/security/provider/MD5.java.i
-data/test/sun/security/tools/jarsigner/oldsig.sh.i
-data/test/javax/crypto/Cipher/Turkish.java.i
+data/src/share/classes/java/security/KeyStoreException.java.i
+data/test/sun/rmi/rmic/extraCompilation/run.sh.i
data/make/mkdemo/management/FullThreadDump/Makefile.i
data/test/javax/sound/midi/Gervill/SoftTuning/RealTimeTuning.java.i
data/test/com/sun/tools/attach/ApplicationSetup.sh.i
data/src/share/classes/sun/nio/cs/UTF_32BE.java.i
data/src/solaris/classes/sun/awt/motif/MDataTransferer.java.i
-data/src/share/classes/com/sun/inputmethods/internal/indicim/DevanagariTables.java.i
-data/test/java/awt/Graphics2D/DrawString/LCDTextSrcEa.java.i
+data/make/java/beans/Makefile.i
data/test/java/nio/channels/Selector/KeySets.java.i
data/src/share/native/java/io/ObjectStreamClass.c.i
data/test/java/beans/PropertyEditor/TestByteClassValue.java.i
-data/src/share/classes/sun/io/CharToByteCp1258.java.i
+data/src/share/classes/sun/security/provider/MD4.java.i
data/src/windows/native/sun/windows/awt_Mlib.cpp.i
-data/src/share/classes/com/sun/imageio/plugins/jpeg/JPEG.java.i
-data/src/share/classes/sun/nio/fs/AbstractFileTypeDetector.java.i
+data/test/java/io/Serializable/subclass/AbstractObjectOutputStream.java.i
data/test/org/openjdk/jigsaw/properties.xml.i
data/make/tools/CharsetMapping/IBM1123.map.i
-data/src/share/native/sun/font/layout/GlyphIterator.h.i
+data/src/windows/classes/sun/awt/windows/WMouseDragGestureRecognizer.java.i
data/src/share/classes/com/sun/media/sound/SF2GlobalRegion.java.i
data/src/share/classes/java/lang/Process.java.i
data/src/share/back/SDE.h.i
@@ -15069,16 +15173,16 @@ data/src/share/classes/java/lang/BootstrapMethodError.java.i
data/src/share/classes/sun/misc/UUEncoder.java.i
data/test/sun/text/resources/Format/Bug4651568.java.i
data/src/share/native/java/sql/DriverManager.c.i
-data/src/solaris/native/sun/xawt/XlibWrapper.c.i
+data/src/share/native/sun/java2d/opengl/OGLBufImgOps.c.i
data/test/sun/security/tools/jarsigner/LargeJarEntry.java.i
-data/src/share/native/sun/java2d/loops/Ushort555Rgb.h.i
+data/src/share/classes/com/sun/media/sound/AbstractMidiDevice.java.i
data/test/javax/management/remote/mandatory/connectorServer/SetMBeanServerForwarder.java.i
-data/src/windows/native/sun/java2d/d3d/D3DRenderQueue.cpp.i
+data/src/share/classes/sun/management/snmp/jvmmib/JvmMemoryMeta.java.i
data/src/solaris/classes/sun/awt/X11/XTextTransferHelper.java.i
data/src/share/classes/sun/tools/tree/AssignOpExpression.java.i
-data/src/solaris/doc/sun/man/man1/ja/keytool.1.i
+data/make/tools/src/build/tools/jdwpgen/StringObjectTypeNode.java.i
data/test/java/math/BigInteger/ModPow65537.java.i
-data/test/java/awt/event/MouseEvent/MouseWheelEventAbsoluteCoordsTest/MouseWheelEventAbsoluteCoordsTest.html.i
+data/src/share/classes/com/sun/crypto/provider/KeyGeneratorCore.java.i
data/test/java/lang/instrument/ParallelTransformerLoaderApp.java.i
data/make/tools/swing-beans/beaninfo/images/JPopupMenuColor16.gif.i
data/test/javax/sound/midi/Gervill/SoftReceiver/Send_Omni.java.i
@@ -15086,30 +15190,26 @@ data/src/share/classes/java/security/cert/CertPathHelperImpl.java.i
data/src/windows/resource/java.rc.i
data/src/share/classes/sun/awt/im/InputContext.java.i
data/test/javax/management/monitor/MultiMonitorTest.java.i
-data/src/share/classes/com/sun/jdi/TypeComponent.java.i
data/src/share/classes/sun/rmi/registry/resources/rmiregistry_ja.properties.i
data/src/share/classes/javax/swing/LayoutFocusTraversalPolicy.java.i
data/src/share/classes/javax/swing/colorchooser/ColorModelCMYK.java.i
-data/make/tools/swing-beans/beaninfo/images/AbstractButtonColor16.gif.i
-data/test/java/beans/XMLEncoder/Bean.java.i
-data/test/java/io/StringReader/ClosedReady.java.i
-data/test/java/beans/XMLEncoder/java_sql_Time.java.i
+data/test/java/beans/PropertyEditor/TestEnumClassNull.java.i
+data/src/share/classes/java/rmi/server/RemoteRef.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_de.properties.i
data/test/java/lang/Class/getModifiers/ResolveFrom.java.i
-data/test/sun/net/www/protocol/http/ResponseCacheStream.java.i
+data/src/windows/classes/java/net/TwoStacksPlainSocketImpl.java.i
data/test/javax/management/mxbean/AmbiguousConstructorTest.java.i
data/src/share/classes/javax/sound/sampled/ReverbType.java.i
-data/src/share/classes/sun/print/PageableDoc.java.i
+data/test/javax/security/auth/kerberos/KerberosTixDateTest.java.i
data/src/share/classes/javax/security/auth/kerberos/JavaxSecurityAuthKerberosAccessImpl.java.i
-data/src/share/classes/javax/swing/SingleSelectionModel.java.i
-data/test/sun/security/tools/policytool/ChangeUI.html.i
+data/src/share/classes/java/lang/reflect/Member.java.i
data/test/javax/xml/crypto/dsig/data/signature-retrievalmethod-rawx509crt.xml.i
-data/src/share/classes/java/nio/channels/AsynchronousFileChannel.java.i
data/src/share/classes/sun/security/krb5/KrbTgsReq.java.i
data/test/javax/security/auth/x500/X500Principal/DerIsConstructor.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthRadioButtonMenuItemUI.java.i
data/test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.html.i
data/src/share/classes/sun/security/x509/X509CertInfo.java.i
-data/src/solaris/doc/sun/man/man1/rmic.1.i
+data/src/solaris/native/sun/awt/awt_PopupMenu.h.i
data/test/java/beans/XMLEncoder/java_sql_Date.java.i
data/test/sun/security/pkcs11/nss/lib/solaris-sparc/libnssckbi.so.i
data/make/tools/sharing/classlist.solaris.i
@@ -15117,65 +15217,62 @@ data/src/solaris/classes/sun/awt/X11/XEmbedClientHelper.java.i
data/src/share/classes/com/sun/tools/example/debug/tty/TTY.java.i
data/test/java/rmi/Naming/DefaultRegistryPort.java.i
data/make/tools/dtdbuilder/Makefile.i
-data/test/sun/text/resources/Format/Bug4621320.java.i
-data/src/solaris/native/sun/awt/color.h.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpU8U8Func.c.i
-data/src/share/classes/javax/security/auth/RefreshFailedException.java.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsRadioButtonMenuItemUI.java.i
+data/src/share/demo/scripting/jconsole-plugin/src/META-INF/services/com.sun.tools.jconsole.JConsolePlugin.i
+data/test/javax/print/attribute/MediaMappingsTest.java.i
data/test/sun/security/ssl/javax/net/ssl/NewAPIs/JSSERenegotiate.java.i
data/test/javax/sound/midi/Gervill/ModelPerformer/SetSelfNonExclusive.java.i
data/test/java/lang/reflect/Generics/SignatureTest.java.i
data/src/share/classes/java/lang/invoke/CountingMethodHandle.java.i
data/src/share/demo/jvmti/hprof/jvm.hprof.txt.i
-data/src/solaris/doc/sun/man/man1/jmap.1.i
data/src/share/classes/java/awt/peer/DialogPeer.java.i
-data/test/java/beans/Beans/Test4067824.java.i
+data/test/demo/jvmti/gctest/BigHello.java.i
+data/src/share/native/sun/awt/libpng/pnglibconf.h.i
data/src/share/classes/java/rmi/activation/ActivationID.java.i
-data/test/java/nio/channels/SocketChannel/Open.sh.i
+data/test/java/net/SocketPermission/Equals.java.i
+data/make/java/redist/FILES.gmk.i
+data/test/java/beans/XMLEncoder/javax_swing_border_BevelBorder.java.i
data/make/tools/src/build/tools/jdwpgen/ArrayRegionTypeNode.java.i
data/test/sun/security/tools/keytool/DummyProvider.java.i
data/src/solaris/sample/dtrace/hotspot/method_invocation_stat.d.i
-data/src/share/classes/sun/nio/cs/ext/IBM1026.java.i
+data/src/share/native/sun/awt/image/jpeg/jquant2.c.i
data/src/windows/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java.i
data/src/share/classes/java/io/ObjectStreamClass.java.i
-data/src/share/classes/sun/management/snmp/jvmmib/package.html.i
-data/test/com/sun/nio/sctp/SctpServerChannel/NonBlockingAccept.java.i
+data/test/sun/net/www/protocol/http/RelativeRedirect.java.i
+data/src/share/classes/javax/accessibility/AccessibleRelationSet.java.i
data/src/share/classes/java/util/prefs/PreferencesFactory.java.i
-data/test/java/net/SocketPermission/Ctor.java.i
+data/src/share/classes/java/util/TooManyListenersException.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmThreadingMBean.java.i
data/src/share/classes/java/util/Properties.java.i
data/test/java/awt/Mouse/MaximizedFrameTest/MaximizedFrameTest.java.i
data/src/share/classes/sun/tools/jar/Main.java.i
data/src/share/classes/java/awt/doc-files/GridLayout-2.gif.i
-data/test/javax/swing/JScrollBar/6924059/bug6924059.java.i
-data/test/sun/security/util/PropertyExpander/ExpandAndEncode.java.i
+data/test/java/util/ResourceBundle/Control/XmlRB_ja.xml.i
+data/test/javax/print/applet/applet2/META-INF/services/javax.print.PrintServiceLookup.i
data/src/solaris/native/sun/awt/fontconfig.h.i
data/test/java/net/URL/Test.java.i
-data/test/javax/management/remote/mandatory/subjectDelegation/policy24.i
-data/make/sun/security/smartcardio/mapfile-vers.i
+data/make/netbeans/common/shared.xml.i
+data/src/share/classes/com/sun/media/sound/services/windows-i586/javax.sound.sampled.spi.MixerProvider.i
data/src/share/native/sun/java2d/cmm/lcms/cmsgamma.c.i
-data/test/com/sun/tools/attach/BadAgent.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RSAKeyValueResolver.java.i
-data/src/share/classes/com/sun/media/sound/AiffFileFormat.java.i
+data/test/javax/management/remote/mandatory/provider/META-INF/services/javax.management.remote.JMXConnectorServerProvider.i
+data/test/javax/print/attribute/ServiceDialogTest.java.i
+data/src/share/classes/sun/security/krb5/internal/crypto/HmacSha1Aes256CksumType.java.i
data/test/java/lang/reflect/Field/GenericStringTest.java.i
-data/src/share/native/sun/security/ec/ecl-exp.h.i
-data/src/share/classes/java/util/CurrencyData.properties.i
+data/test/org/openjdk/jigsaw/cli/signer-prikey.pem.i
data/test/java/beans/XMLEncoder/Test6187118.java.i
data/src/share/classes/org/openjdk/jigsaw/cli/Signer.java.i
data/src/share/classes/javax/sql/rowset/JoinRowSet.java.i
data/src/share/classes/sun/java2d/pisces/Helpers.java.i
data/test/sun/security/krb5/auto/ok-as-delegate.sh.i
-data/test/java/nio/Buffer/CopyDirect-X-Memory.java.template.i
+data/src/share/classes/java/rmi/activation/UnknownGroupException.java.i
data/src/share/instrument/JarFacade.h.i
data/test/java/rmi/reliability/juicer/AppleUser.java.i
data/src/windows/native/sun/windows/awt_ScrollPane.h.i
data/test/java/io/RandomAccessFile/ParameterCheck.java.i
-data/src/share/native/sun/reflect/Reflection.c.i
+data/src/share/classes/sun/io/ByteToCharCp1145.java.i
data/test/sun/nio/cs/TestUni2HKSCS.java.i
-data/src/share/classes/java/awt/print/PrinterJob.java.i
data/src/share/native/sun/awt/splashscreen/splashscreen_gfx_impl.c.i
-data/src/share/classes/java/awt/print/PrinterIOException.java.i
-data/src/share/classes/javax/print/MultiDocPrintService.java.i
-data/src/share/classes/java/nio/channels/Channel.java.i
+data/test/java/rmi/reliability/benchmark/runRmiBench.sh.i
data/src/share/native/sun/java2d/loops/DrawRect.c.i
data/src/solaris/classes/sun/nio/fs/UnixFileSystem.java.i
data/src/share/classes/sun/security/provider/certpath/ReverseBuilder.java.i
@@ -15183,39 +15280,39 @@ data/test/java/io/PrintWriter/CheckError.java.i
data/test/sun/security/smartcardio/TestTransmit.java.i
data/test/java/util/concurrent/forkjoin/Integrate.java.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/PerfIntegerMonitor.java.i
-data/test/javax/crypto/SealedObject/NullKeySealedObject.java.i
+data/src/solaris/bin/jexec.c.i
data/src/windows/native/sun/tracing/dtrace/jvm_symbols_md.c.i
data/src/share/classes/com/sun/media/sound/SoftMixingMainMixer.java.i
data/test/sun/nio/cs/OLD/EUC_CN_OLD.java.i
data/src/share/classes/sun/tools/tree/BinaryShiftExpression.java.i
data/src/share/classes/java/rmi/activation/ActivationException.java.i
data/test/sun/net/www/protocol/http/B6890349.java.i
-data/src/share/classes/com/sun/nio/sctp/SctpMultiChannel.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509IssuerSerial.java.i
-data/src/solaris/native/java/io/canonicalize_md.c.i
+data/src/share/classes/sun/security/ec/ECDSASignature.java.i
data/src/share/native/sun/awt/image/jpeg/jchuff.c.i
data/make/tools/swing-beans/beaninfo/images/JViewportColor32.gif.i
-data/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadAllInstruments.java.i
-data/src/share/classes/javax/imageio/ImageWriter.java.i
-data/test/java/lang/StringCoding/CheckEncodings.sh.i
-data/src/share/classes/sun/security/pkcs/PKCS7.java.i
+data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/CustomUIDefault.java.i
+data/make/sun/security/pkcs11/mapfile-vers.i
+data/src/share/classes/sun/reflect/generics/tree/BaseType.java.i
+data/src/share/classes/javax/imageio/metadata/doc-files/bmp_metadata.html.i
data/test/java/rmi/registry/classPathCodebase/security.policy.i
+data/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiIn.c.i
data/test/java/net/URLClassLoader/sealing/b/p/B.java.i
data/src/solaris/classes/sun/nio/fs/UnixPath.java.i
data/test/java/util/concurrent/ConcurrentQueues/IteratorWeakConsistency.java.i
data/src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java.i
data/test/sun/jvmstat/monitor/VmIdentifier/testcases.i
-data/src/solaris/classes/sun/awt/X11/security-icon-bw48.png.i
+data/src/share/classes/java/nio/file/WatchKey.java.i
data/src/share/classes/java/util/logging/Logging.java.i
data/test/java/io/Serializable/explicitCNFException/ExplicitCNFException.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/signature/InvalidDigestValueException.java.i
-data/src/share/back/eventFilter.h.i
+data/src/share/classes/sun/java2d/loops/DrawLine.java.i
data/src/share/classes/sun/util/resources/CalendarData_sr_Latn_BA.properties.i
-data/test/sun/jvmstat/testlibrary/utils.sh.i
+data/test/java/lang/Class/forName/classes/3.class.i
data/src/share/classes/sun/security/krb5/internal/crypto/DesMacCksumType.java.i
data/test/javax/security/auth/login/Exceptions/NewExceptions.java.i
data/src/share/classes/sun/nio/cs/CharsetMapping.java.i
-data/make/mkdemo/applets/TicTacToe/Makefile.i
+data/make/tools/reorder/tests/LoadJFrame.java.i
data/src/share/classes/java/lang/ref/WeakReference.java.i
data/src/share/classes/java/nio/file/CopyOption.java.i
data/test/sun/rmi/rmic/newrmic/equivalence/DayTimeInterface.java.i
@@ -15230,14 +15327,14 @@ data/src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java.i
data/src/share/classes/sun/awt/AWTSecurityManager.java.i
data/test/javax/management/Introspector/annot/Name.java.i
data/src/windows/classes/sun/nio/fs/WindowsDirectoryStream.java.i
-data/src/share/classes/sun/misc/JavaIODeleteOnExitAccess.java.i
+data/src/share/classes/javax/accessibility/AccessibleEditableText.java.i
data/src/share/classes/sun/text/resources/CollationData.java.i
-data/test/java/util/ResourceBundle/Test4314141A_de_.properties.i
+data/test/java/math/BigDecimal/MultiplyTests.java.i
data/make/sun/awt/Makefile.i
-data/src/share/classes/java/awt/geom/PathIterator.java.i
data/src/share/classes/javax/net/ssl/HostnameVerifier.java.i
data/test/java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.html.i
-data/test/java/nio/channels/DatagramChannel/NotBound.java.i
+data/src/share/classes/com/sun/jmx/remote/protocol/rmi/ServerProvider.java.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsRadioButtonUI.java.i
data/src/share/classes/java/nio/file/FileAlreadyExistsException.java.i
data/test/sun/security/provider/X509Factory/BigCRL.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMAccess.java.i
@@ -15245,68 +15342,66 @@ data/src/windows/classes/sun/security/provider/NativePRNG.java.i
data/src/solaris/classes/sun/awt/X11ComponentPeer.java.i
data/test/javax/crypto/SecretKeyFactory/P2.jar.i
data/src/share/native/sun/font/layout/SubtableProcessor.cpp.i
-data/src/share/classes/java/rmi/server/RMISocketFactory.java.i
+data/src/share/classes/sun/rmi/transport/ConnectionInputStream.java.i
data/src/solaris/classes/java/lang/UNIXProcess.java.linux.i
-data/src/share/demo/README.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java.i
data/src/share/native/sun/font/AccelGlyphCache.c.i
-data/test/java/awt/Focus/FocusOwnerFrameOnClick/FocusOwnerFrameOnClick.java.i
+data/src/solaris/back/linker_md.c.i
data/src/share/classes/com/sun/security/sasl/ServerFactoryImpl.java.i
data/src/share/classes/sun/rmi/transport/proxy/RMISocketInfo.java.i
data/test/java/lang/reflect/Assignment/ArrayAssignment.java.i
data/make/tools/swing-beans/beaninfo/images/JTableMono32.gif.i
-data/src/share/classes/sun/security/tools/PathList.java.i
-data/src/share/classes/sun/print/ServiceDialog.java.i
+data/src/share/classes/sun/swing/text/CountingPrintable.java.i
+data/make/sun/security/pkcs11/Makefile.i
data/test/sun/security/pkcs11/rsa/TestSignatures.java.i
data/src/share/classes/javax/print/attribute/standard/QueuedJobCount.java.i
-data/test/javax/swing/JColorChooser/Test4380468.java.i
-data/test/java/rmi/Naming/LookupNameWithColon.java.i
+data/src/share/classes/com/sun/jdi/ThreadGroupReference.java.i
+data/src/share/classes/javax/swing/text/rtf/RTFAttribute.java.i
data/test/java/lang/instrument/TestClass2.java.i
-data/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiIn.c.i
-data/src/windows/classes/sun/awt/windows/WPageDialogPeer.java.i
+data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputImageTests.java.i
+data/test/java/lang/management/ThreadMXBean/ThreadStackTrace.java.i
data/test/javax/print/PrintSE/PrintSE.sh.i
data/test/java/lang/invoke/MethodHandlesTest.java.i
data/src/share/classes/java/util/concurrent/locks/LockSupport.java.i
data/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java.i
data/test/java/net/DatagramSocket/InheritHandle.java.i
+data/src/solaris/native/sun/awt/awt_Selection.c.i
data/test/java/util/Formatter/BasicDouble.java.i
data/test/java/rmi/RMISecurityManager/checkPackageAccess/CheckPackageAccess.java.i
-data/src/share/sample/nio/server/URLDumper.java.i
+data/test/javax/swing/border/Test4243289.java.i
data/test/java/util/concurrent/locks/ReentrantReadWriteLock/LoopHelpers.java.i
data/src/share/classes/com/sun/tools/example/debug/expr/ASCII_UCodeESC_CharStream.java.i
data/test/java/io/FileInputStream/LeadingSlash.java.i
data/make/tools/swing-beans/beaninfo/images/JFormattedTextFieldMono16.gif.i
-data/src/windows/classes/sun/java2d/d3d/D3DRenderQueue.java.i
+data/src/share/classes/sun/tools/tree/ConditionVars.java.i
data/test/javax/management/Introspector/GetMBeanInfoExceptionTest.java.i
data/make/javax/swing/beaninfo/manifest.i
-data/src/share/classes/java/awt/im/package.html.i
+data/test/java/lang/management/ThreadMXBean/MyOwnSynchronizer.java.i
data/src/share/classes/javax/swing/text/html/parser/DTD.java.i
data/src/share/classes/javax/security/sasl/SaslServerFactory.java.i
data/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java.i
data/src/share/classes/java/dyn/WrongMethodTypeException.java.i
data/src/share/classes/java/nio/charset/exceptions.i
-data/src/share/demo/jfc/SampleTree/resources/images/expanded.gif.i
-data/src/solaris/classes/sun/nio/ch/FileKey.java.i
+data/src/share/classes/javax/swing/border/AbstractBorder.java.i
+data/src/share/sample/scripting/scriptpad/README.txt.i
data/test/javax/security/auth/x500/X500Principal/EscapedChars.java.i
data/src/share/classes/javax/swing/text/DocumentFilter.java.i
-data/src/solaris/native/sun/java2d/loops/vis_IntArgb.c.i
+data/src/windows/native/sun/windows/stdhdrs.h.i
+data/src/share/classes/javax/script/package.html.i
data/src/share/classes/sun/awt/geom/Order0.java.i
-data/src/share/native/sun/font/layout/ThaiLayoutEngine.cpp.i
+data/make/modules/tools/src/com/sun/classanalyzer/CheckDeps.java.i
data/test/java/io/File/AccessDenied.java.i
data/src/share/classes/java/awt/geom/Rectangle2D.java.i
data/test/java/rmi/server/clientStackTrace/security.policy.i
-data/test/sun/security/krb5/auto/SSL.java.i
data/src/share/classes/sun/nio/ch/SelectorImpl.java.i
-data/src/share/demo/nbproject/jfc/FileChooserDemo/nbproject/netbeans-targets.xml.i
data/test/java/math/BigInteger/ProbablePrime.java.i
-data/test/javax/management/namespace/NamespaceCreationTest.java.i
-data/src/share/classes/sun/nio/cs/UTF_32.java.i
-data/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankFile.java.i
+data/test/javax/management/MBeanServer/NotifDeadlockTest.java.i
+data/test/java/net/URL/HashCode.java.i
+data/src/share/classes/sun/security/ssl/HelloExtensions.java.i
data/src/share/classes/sun/security/krb5/internal/APReq.java.i
data/src/share/classes/java/awt/peer/ListPeer.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_it.properties.i
data/test/javax/management/remote/mandatory/notif/ListenerScaleTest.java.i
-data/src/share/native/common/gdefs.h.i
data/src/windows/classes/sun/nio/ch/SctpServerChannelImpl.java.i
data/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBoolean.java.i
data/src/share/classes/com/sun/tools/example/debug/bdi/VMNotInterruptedException.java.i
@@ -15315,80 +15410,77 @@ data/src/solaris/classes/sun/java2d/BackBufferCapsProvider.java.i
data/src/share/classes/sun/text/resources/uprops.icu.i
data/src/share/classes/javax/swing/filechooser/FileSystemView.java.i
data/test/com/sun/jdi/HelloWorld.java.i
-data/src/share/classes/sun/misc/BASE64Encoder.java.i
-data/src/share/classes/com/sun/tools/example/debug/expr/Token.java.i
+data/src/share/classes/com/sun/jndi/ldap/BindingWithControls.java.i
data/test/java/io/charStreams/WriteLengths.java.i
data/make/sun/xawt/FILES_c_unix.gmk.i
data/test/javax/management/remote/mandatory/notif/NotificationBufferCreationTest.java.i
-data/test/sun/tools/jps/jps-Vm_Output2.awk.i
-data/src/share/classes/sun/jvmstat/monitor/event/VmStatusChangeEvent.java.i
+data/src/share/classes/com/sun/jdi/Value.java.i
data/src/share/classes/java/awt/event/MouseEvent.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifRadioButtonUI.java.i
-data/src/share/classes/sun/security/jgss/krb5/MicToken.java.i
+data/make/org/jcp/Makefile.i
data/make/netbeans/jconsole/nbproject/project.xml.i
data/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java.i
data/test/sun/security/provider/MessageDigest/Offsets.java.i
data/test/org/openjdk/jigsaw/cli/signed-module.sh.i
-data/test/java/lang/ClassLoader/Assert.java.i
+data/make/java/invoke/Makefile.i
+data/test/javax/management/MBeanServer/AttributeListTypeSafeTest.java.i
data/src/share/classes/sun/dyn/MethodHandleImpl.java.i
+data/test/java/util/zip/DeInflate.java.i
data/test/java/beans/XMLDecoder/Test4864117.java.i
data/src/share/sample/forkjoin/mergesort/MergeDemo.java.i
data/test/sun/net/www/ftptest/FtpCommandHandler.java.i
-data/test/sun/security/provider/PolicyFile/SelfExpansion.java.i
-data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/ObjectCodeConvertors.java.i
-data/test/java/awt/FileDialog/MultipleMode/MultipleMode.java.i
+data/src/windows/native/sun/java2d/windows/ddrawUtils.h.i
+data/src/share/classes/sun/nio/cs/ext/IBM278.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_de_CH.properties.i
data/test/sun/rmi/rmic/newrmic/equivalence/Task.java.i
data/test/java/awt/Focus/ClearLwQueueBreakTest/ClearLwQueueBreakTest.java.i
-data/src/share/classes/sun/awt/AWTAccessor.java.i
+data/test/java/util/TimSort/README.i
data/test/javax/swing/JEditorPane/6917744/test.html.i
data/src/share/classes/java/awt/Point.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/ArgumentAcceptingOptionSpec.java.i
-data/src/share/classes/javax/swing/LayoutStyle.java.i
+data/src/share/classes/java/net/SocketPermission.java.i
data/test/java/io/File/Unicode.java.i
data/src/share/classes/sun/util/locale/LocaleSyntaxException.java.i
-data/src/share/classes/javax/accessibility/AccessibleBundle.java.i
-data/src/share/classes/com/sun/beans/decoder/NullElementHandler.java.i
-data/src/share/classes/sun/text/normalizer/ReplaceableString.java.i
+data/make/sun/Makefile.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/FuncHereContext.java.i
+data/make/sun/cmm/lcms/Makefile.i
data/src/share/classes/com/sun/jdi/request/ThreadDeathRequest.java.i
-data/src/windows/native/sun/windows/awt_IconCursor.h.i
+data/src/share/classes/sun/security/krb5/KrbAsReq.java.i
data/test/java/lang/Runtime/exec/Status.java.i
data/test/javax/sound/midi/Gervill/ModelPerformer/GetOscillators.java.i
data/src/share/classes/sun/dyn/anon/AnonymousClassLoader.java.i
data/test/sun/security/mscapi/RSAEncryptDecrypt.sh.i
data/src/share/classes/com/sun/crypto/provider/DHKeyFactory.java.i
data/src/share/classes/com/sun/security/sasl/Provider.java.i
-data/test/java/util/ServiceLoader/FooService.java.i
+data/src/share/classes/javax/naming/spi/ResolveResult.java.i
data/test/java/rmi/reliability/benchmark/bench/serial/FloatArrays.java.i
data/test/java/nio/channels/Selector/lots_of_updates.sh.i
-data/test/lib/security/java.policy/Ext_AllPolicy.sh.i
+data/src/share/classes/sun/jvmstat/perfdata/monitor/v2_0/PerfDataBuffer.java.i
data/test/java/net/InetAddress/SimpleNameService.java.i
data/src/share/native/sun/security/ec/impl/ecp_521.c.i
-data/src/solaris/instrument/FileSystemSupport_md.c.i
+data/src/share/classes/javax/swing/JCheckBoxMenuItem.java.i
data/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java.i
data/src/share/classes/javax/management/RuntimeOperationsException.java.i
-data/test/javax/management/namespace/RemoveNotificationListenerTest.java.i
-data/make/tools/swing-beans/beaninfo/images/JPasswordFieldMono32.gif.i
-data/src/share/classes/javax/xml/crypto/URIDereferencer.java.i
-data/test/javax/management/MBeanInfo/SerializationTest.java.i
-data/src/share/native/java/util/concurrent/atomic/AtomicLong.c.i
+data/src/share/classes/sun/io/CharToByteJIS0201.java.i
+data/src/share/classes/javax/print/attribute/standard/ReferenceUriSchemesSupported.java.i
+data/src/share/classes/javax/swing/plaf/TreeUI.java.i
+data/make/tools/src/build/tools/generatenimbus/Utils.java.i
data/src/share/classes/org/ietf/jgss/GSSException.java.i
data/test/javax/naming/ldap/LdapName/EscapeUnescapeTests.java.i
data/test/java/util/LinkedList/Remove.java.i
data/test/com/sun/jdi/DeleteAllBkptsTest.java.i
-data/src/share/classes/sun/rmi/server/ActivationGroupInit.java.i
data/src/windows/classes/sun/awt/windows/WPathGraphics.java.i
data/test/sun/security/provider/PolicyFile/EmailAddress.policy.i
data/test/java/net/URL/abnormal_http_urls.i
-data/src/share/classes/java/awt/image/TileObserver.java.i
-data/src/share/classes/org/relaxng/datatype/DatatypeLibrary.java.i
+data/test/sun/net/www/http/ChunkedInputStream/ChunkedEncodingTest.java.i
+data/make/tools/swing-beans/beaninfo/images/JToolBarMono16.gif.i
data/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c.i
-data/test/java/net/BindException/Test.java.i
+data/src/share/classes/sun/beans/editors/ColorEditor.java.i
data/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java.i
-data/test/java/util/EnumSet/RetainAll.java.i
-data/test/javax/management/remote/mandatory/passwordAuthenticator/SimpleStandardMBean.java.i
-data/test/java/rmi/reliability/benchmark/bench/serial/Doubles.java.i
-data/src/share/classes/sun/tools/javac/resources/javac_zh_CN.properties.i
+data/src/share/classes/java/nio/Buffer.java.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpU16U8Func.c.i
+data/src/share/classes/sun/util/resources/CalendarData.properties.i
+data/src/share/classes/java/util/AbstractMap.java.i
data/src/share/classes/sun/tools/tree/StringExpression.java.i
data/test/java/util/zip/InflaterBufferSize.java.i
data/src/share/classes/sun/tools/jconsole/SummaryTab.java.i
@@ -15396,137 +15488,132 @@ data/test/javax/management/mxbean/MXBeanRefTest.java.i
data/src/share/classes/java/awt/image/package.html.i
data/src/share/classes/sun/awt/image/BadDepthException.java.i
data/test/javax/management/loading/mlet1.html.i
+data/test/java/util/logging/LoggingDeadlock4.java.i
data/test/sun/nio/ch/Basic.java.i
-data/src/share/classes/com/sun/java/util/jar/pack/CodingMethod.java.i
data/test/java/io/Serializable/classDescGetField/GetField.java.i
data/test/sun/nio/cs/OLD/IBM930_OLD.java.i
-data/src/share/classes/com/sun/servicetag/RegistrationData.java.i
-data/test/java/rmi/activation/Activatable/extLoadedImpl/ExtLoadedImplTest.java.i
+data/make/com/sun/nio/Makefile.i
+data/test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/UseCustomSocketFactory.java.i
data/src/share/classes/sun/reflect/annotation/AnnotationType.java.i
-data/test/sun/misc/JarIndex/metaInfFilenames/jarA/META-INF/services/my.happy.land.i
+data/src/share/bin/jli_util.h.i
data/src/share/classes/com/sun/media/sound/AbstractDataLine.java.i
-data/src/share/classes/sun/security/ssl/ECDHClientKeyExchange.java.i
+data/test/sun/security/smartcardio/TestConnect.java.i
data/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c.i
-data/make/netbeans/jconsole/build.xml.i
+data/make/jprt.config.i
data/src/share/classes/sun/tools/tree/BooleanExpression.java.i
-data/test/javax/management/namespace/VirtualPropsTest.java.i
-data/src/share/classes/org/openjdk/internal/joptsimple/internal/ReflectionException.java.i
-data/make/tools/swing-beans/beaninfo/images/JLayeredPaneMono32.gif.i
+data/test/java/awt/Multiscreen/DeviceIdentificationTest/DeviceIdentificationTest.java.i
+data/test/sun/security/ssl/etc/unknown_keystore.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/EncryptedKeyResolver.java.i
-data/test/java/lang/String/IndexOfEmptyInEmpty.java.i
+data/test/java/awt/TrayIcon/CtorTest/CtorTest.java.i
data/test/java/beans/Introspector/memory/Bean.java.i
data/src/share/classes/sun/net/httpserver/UndefLengthOutputStream.java.i
data/src/share/classes/javax/imageio/stream/MemoryCache.java.i
-data/test/sun/rmi/rmic/covariantReturns/G2Impl.java.i
+data/src/share/classes/sun/io/CharToByteMacRoman.java.i
data/src/share/classes/sun/java2d/pipe/BufferedBufImgOps.java.i
data/test/sun/security/pkcs11/fips/secmod.db.i
data/src/share/classes/sun/security/krb5/internal/crypto/HmacMd5ArcFourCksumType.java.i
-data/test/java/lang/StringBuffer/Supplementary.java.i
-data/src/share/classes/com/sun/jndi/ldap/VersionHelper.java.i
+data/src/share/classes/javax/management/remote/JMXPrincipal.java.i
+data/test/java/rmi/server/useCustomRef/UseCustomRef_Stub.java.i
data/test/java/nio/file/Files/walk_file_tree.sh.i
data/src/share/classes/javax/management/remote/JMXConnector.java.i
data/test/java/lang/management/MemoryMXBean/CollectionUsageThreshold.java.i
+data/test/java/io/RandomAccessFile/OpenSync.java.i
data/src/share/classes/sun/io/ByteToCharUTF8.java.i
data/test/java/lang/Float/Extrema.java.i
data/src/share/classes/sun/security/pkcs11/Config.java.i
-data/test/demo/jvmti/hprof/HelloWorld.java.i
-data/test/java/net/InetAddress/B5087907.java.i
-data/src/windows/native/sun/windows/stdhdrs.h.i
+data/src/share/native/sun/java2d/cmm/lcms/cmsintrp.c.i
+data/src/share/classes/sun/nio/cs/ArrayDecoder.java.i
data/src/share/native/sun/security/ec/ecl-priv.h.i
data/src/share/native/sun/awt/image/jpeg/jfdctflt.c.i
data/src/solaris/doc/sun/man/man1/ja/tnameserv.1.i
-data/src/share/classes/sun/java2d/cmm/ProfileDeferralMgr.java.i
+data/src/share/demo/jvmti/waiters/Agent.hpp.i
data/src/share/classes/com/sun/tools/jdi/SocketAttachingConnector.java.i
data/src/windows/native/sun/windows/awt.rc.i
-data/test/java/nio/file/Files/walkFileTree/WalkWithSecurity.java.i
+data/src/share/classes/java/nio/Direct-X-Buffer.java.i
data/make/sun/font/t2k/Makefile.i
data/src/share/classes/sun/util/resources/CurrencyNames_fi_FI.properties.i
-data/src/share/classes/sun/nio/ch/NativeDispatcher.java.i
data/src/share/classes/javax/swing/JTextField.java.i
-data/src/share/native/sun/java2d/cmm/lcms/cmsmd5.c.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/icons/Inform.gif.i
-data/test/java/rmi/reliability/juicer/ApplicationServer.java.i
+data/make/com/sun/tracing/Makefile.i
+data/test/javax/crypto/spec/DESKeySpec/CheckWeakKeys.java.i
+data/test/com/sun/nio/sctp/SctpMultiChannel/SocketOptionTests.java.i
data/src/solaris/classes/sun/awt/X11/XRobotPeer.java.i
data/test/java/rmi/reliability/benchmark/bench/serial/Cons.java.i
-data/src/share/classes/com/sun/tools/example/debug/tty/EventHandler.java.i
+data/src/share/classes/javax/swing/plaf/SplitPaneUI.java.i
data/test/org/openjdk/jigsaw/cli/keystore.pw.i
-data/src/share/classes/java/security/PermissionCollection.java.i
+data/test/sun/security/pkcs11/ec/TestECDSA.java.i
data/src/share/classes/java/awt/peer/DesktopPeer.java.i
data/test/javax/swing/JInternalFrame/Test6505027.java.i
-data/src/share/classes/sun/security/x509/IPAddressName.java.i
-data/test/sun/tools/native2ascii/N2A_4636448.expected.i
-data/test/javax/swing/JInternalFrame/6726866/bug6726866.html.i
+data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/DirectoryScannerMXBean.java.i
+data/src/share/demo/jfc/Metalworks/resources/MyTheme.theme.i
+data/test/java/beans/XMLDecoder/spec/TestField.java.i
+data/src/share/classes/java/io/LineNumberInputStream.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIS32S32Func.c.i
data/test/java/lang/Math/TanTests.java.i
-data/src/share/classes/sun/tools/javac/resources/javac.properties.i
-data/src/share/classes/java/io/NotSerializableException.java.i
+data/src/share/classes/sun/text/resources/FormatData_en_IE.java.i
data/src/share/classes/java/lang/AbstractMethodError.java.i
data/test/java/util/concurrent/CountDownLatch/Basic.java.i
-data/src/share/demo/jvmti/index.html.i
data/src/share/classes/com/sun/management/VMOption.java.i
data/src/share/classes/sun/text/resources/FormatData_it_IT.java.i
data/test/java/util/ResourceBundle/KeySetMessages_zh_CN.java.i
-data/src/share/classes/sun/awt/resources/awt_zh_TW.properties.i
-data/src/share/sample/nio/file/WatchDir.java.i
+data/src/share/classes/sun/awt/datatransfer/DataTransferer.java.i
+data/src/share/classes/sun/java2d/opengl/OGLMaskBlit.java.i
data/make/tools/src/build/tools/jdwpgen/GroupNode.java.i
data/test/javax/print/TestRaceCond.java.i
data/src/share/classes/java/sql/Struct.java.i
data/make/tools/commentchecker/Makefile.i
data/test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.java.i
-data/test/java/security/cert/pkix/policyChanges/TestPolicy.java.i
+data/src/share/classes/javax/swing/plaf/basic/BasicDesktopPaneUI.java.i
data/src/share/classes/sun/awt/DefaultMouseInfoPeer.java.i
data/src/windows/native/sun/tools/attach/WindowsAttachProvider.c.i
-data/src/share/classes/javax/swing/plaf/metal/icons/ocean/paletteClose.gif.i
-data/test/java/util/concurrent/ConcurrentQueues/LoopHelpers.java.i
+data/src/share/classes/com/sun/jmx/snmp/SnmpEngine.java.i
+data/test/java/rmi/activation/Activatable/restartService/RestartService_Stub.java.i
data/test/sun/security/ssl/javax/net/ssl/HttpsURLConnection/DelayDefaultContextLoading.java.i
-data/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/test.html.i
+data/src/share/classes/sun/tools/jconsole/LabeledComponent.java.i
data/src/share/classes/sun/security/x509/OIDName.java.i
-data/src/share/classes/java/lang/module/ModuleInfoReader.java.i
+data/make/modules/tools/Makefile.i
data/src/share/classes/sun/security/pkcs/SignerInfo.java.i
data/test/sun/security/tools/jarsigner/nameclash.sh.i
data/test/sun/net/www/protocol/http/spnegoLog.properties.i
data/test/sun/rmi/rmic/newrmic/equivalence/AgentServerImpl.java.i
data/test/java/awt/datatransfer/DragUnicodeBetweenJVMTest/InterprocessMessages.java.i
-data/src/share/native/sun/nio/ch/genSocketOptionRegistry.c.i
-data/test/java/net/Socket/asyncClose/AsyncCloseTest.java.i
+data/test/java/net/Socket/setReuseAddress/Basic.java.i
+data/src/share/classes/sun/management/resources/agent_de.properties.i
data/test/java/io/Serializable/proxy/Basic.java.i
data/test/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.java.i
data/src/share/classes/sun/nio/ch/AbstractFuture.java.i
-data/src/solaris/demo/jigsaw/basic/run.sh.i
+data/src/windows/classes/sun/awt/windows/WTextComponentPeer.java.i
data/test/javax/management/remote/mandatory/loading/RMIDownloadTest.java.i
data/src/share/classes/javax/management/relation/RoleList.java.i
-data/src/share/classes/sun/io/ByteToCharUnicodeBig.java.i
+data/test/java/security/cert/CertPathValidator/indirectCRL/CircularCRLTwoLevel.java.i
data/src/share/classes/com/sun/jndi/toolkit/dir/AttrFilter.java.i
data/src/share/classes/sun/net/idn/uidna.spp.i
data/test/java/beans/Introspector/Test6707234.java.i
data/src/share/classes/com/sun/servicetag/resources/javase_servicetag.properties.i
data/test/com/sun/crypto/provider/Cipher/DES/inputData/plain9.txt.i
-data/test/java/util/Formatter/BasicShort.java.i
data/src/share/classes/java/io/DataInput.java.i
-data/test/javax/management/modelmbean/LoggingExceptionTest.java.i
+data/src/share/classes/sun/security/x509/AuthorityKeyIdentifierExtension.java.i
data/src/share/classes/sun/security/util/AuthResources_pt_BR.java.i
data/src/windows/native/java/io/FileOutputStream_md.c.i
data/test/javax/swing/JComponent/6989617/bug6989617.java.i
-data/test/javax/management/remote/mandatory/loading/DeserializeEncodedURLTest.java.i
-data/src/share/classes/javax/swing/text/html/parser/DocumentParser.java.i
-data/src/share/classes/java/nio/file/SimpleFileVisitor.java.i
+data/test/java/awt/FontClass/FontAccess.java.i
+data/src/share/native/sun/awt/medialib/mlib_c_ImageLookUp.c.i
data/test/sun/rmi/runtime/Log/checkLogging/CheckLogStreams.java.i
data/src/share/classes/sun/text/resources/FormatData_zh_HK.java.i
data/src/share/transport/shmem/shmemBack.c.i
-data/test/sun/security/pkcs11/ec/pkcs12/sect193r1server-rsa1024ca.p12.i
+data/src/share/classes/com/sun/tools/example/debug/event/JDIAdapter.java.i
data/test/java/rmi/server/RMIClassLoader/getClassLoader/Foo.java.i
data/src/share/classes/sun/text/resources/CollationData_sq.java.i
-data/src/solaris/classes/sun/awt/fontconfigs/solaris.fontconfig.5.9.properties.i
+data/src/share/classes/javax/swing/table/TableModel.java.i
data/test/java/util/Locale/LocaleCategory.sh.i
data/test/java/awt/EventDispatchThread/PreserveDispathThread/PreserveDispatchThread.java.i
data/src/share/classes/com/sun/servicetag/BrowserSupport.java.i
data/make/mksample/webservices/EbayServer/Makefile.i
-data/src/share/classes/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnectionOldImpl.java.i
-data/test/java/rmi/server/Unreferenced/marshalledObjectGet/MarshalledObjectGet_Stub.java.i
+data/make/common/Defs-modules.gmk.i
+data/src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties.i
data/src/share/classes/sun/reflect/UnsafeQualifiedStaticLongFieldAccessorImpl.java.i
data/src/share/classes/sun/security/jca/ServiceId.java.i
data/test/sun/misc/JarIndex/metaInfFilenames/Basic.java.i
-data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/README.i
+data/make/tools/src/build/tools/jdwpgen/CommentNode.java.i
data/test/javax/swing/SwingUtilities/7088744/bug7088744.java.i
data/src/share/classes/javax/swing/JProgressBar.java.i
data/test/java/awt/PrintJob/QuoteAndBackslashTest/QuoteAndBackslashTest.java.i
@@ -15535,16 +15622,16 @@ data/src/share/classes/java/dyn/SpreadGeneric.java.i
data/test/sun/rmi/log/ReliableLog/SnapshotSize.java.i
data/src/share/demo/jfc/Metalworks/AquaMetalTheme.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmMemManagerEntryMeta.java.i
-data/src/windows/native/java/net/net_util_md.h.i
+data/src/share/instrument/PathCharsValidator.c.i
data/src/share/classes/com/sun/servicetag/resources/jdk_header.png.i
data/test/java/text/Bidi/Bug7002398.java.i
-data/src/share/classes/com/sun/servicetag/resources/javase_5_swordfish.properties.i
+data/src/share/classes/com/sun/jmx/snmp/SnmpMsg.java.i
data/src/share/classes/com/sun/media/sound/services/javax.sound.sampled.spi.MixerProvider.i
data/test/javax/management/mxbean/PropertyNamesTest.java.i
data/src/share/classes/java/nio/file/Paths.java.i
-data/test/java/util/Locale/serialized/java6locale_ROOT.i
+data/src/solaris/classes/sun/nio/ch/SctpPeerAddrChange.java.i
data/src/share/classes/com/sun/tools/jdi/BaseLineInfo.java.i
-data/test/java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.java.i
+data/make/netbeans/common/unix-sources.ent.i
data/src/share/back/bag.c.i
data/test/java/io/Serializable/class/SerialA_3.java.i
data/src/share/classes/com/sun/tools/hat/Main.java.i
@@ -15556,11 +15643,11 @@ data/src/share/demo/jvmti/mtrace/mtrace.h.i
data/src/share/native/sun/awt/medialib/awt_ImagingLib.c.i
data/test/java/security/Policy/Dynamic/TestDynamicPolicy.java.i
data/src/linux/doc/man/ja/kinit.1.i
-data/test/java/rmi/reliability/benchmark/bench/rmi/ShortArrayCalls.java.i
+data/src/share/classes/sun/nio/cs/ext/MS949.java.i
data/src/share/classes/java/applet/AppletStub.java.i
-data/test/java/nio/channels/FileChannel/Pwrite.java.i
-data/test/sun/security/pkcs11/tls/keymatdata.txt.i
-data/test/java/rmi/reliability/benchmark/bench/rmi/manifest.i
+data/test/sun/security/pkcs11/nss/lib/linux-amd64/libplds4.so.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageConvIndex3_8_8nw.c.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/rsa/BrokenRSAPrivateCrtKey.java.i
data/test/java/util/Formatter/BasicChar.java.i
data/test/sun/tools/native2ascii/A2N_4630463.expected.i
data/src/share/classes/sun/rmi/rmic/Names.java.i
@@ -15572,46 +15659,43 @@ data/test/sample/chatserver/ChatTest.java.i
data/test/java/io/FileOutputStream/OpsAfterClose.java.i
data/src/share/classes/sun/tools/jps/Jps.java.i
data/src/share/classes/javax/management/RuntimeErrorException.java.i
-data/src/share/classes/sun/security/pkcs11/wrapper/CK_SSL3_MASTER_KEY_DERIVE_PARAMS.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCryptoBinary.java.i
data/src/share/demo/nbproject/jfc/Notepad/nbproject/project.xml.i
data/src/share/classes/com/sun/jmx/mbeanserver/SecureClassLoaderRepository.java.i
data/test/com/sun/org/apache/xml/internal/security/transforms/ClassLoaderTest.java.i
-data/test/java/nio/file/Path/FileAttributes.java.i
+data/src/share/classes/sun/net/ftp/FtpDirEntry.java.i
data/test/sun/security/pkcs11/KeyStore/Basic.sh.i
data/src/share/sample/scripting/scriptpad/src/resources/scriptpad.js.i
-data/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibEntry.java.i
data/src/share/classes/sun/net/www/MeteredStream.java.i
-data/test/javax/xml/crypto/dsig/data/signature-external-b64-dsa.xml.i
+data/test/java/beans/XMLEncoder/java_awt_ScrollPane.java.i
data/test/sun/management/jmxremote/bootstrap/management_test03_ko.properties.in.i
-data/src/windows/native/sun/windows/ComCtl32Util.cpp.i
+data/src/share/native/java/lang/fdlibm/src/w_atanh.c.i
data/test/sun/tools/jps/jps-l_2.sh.i
data/test/java/util/EnumSet/InsertWrongType.java.i
data/src/share/back/export/sys.h.i
data/test/java/rmi/activation/Activatable/restartService/rmid.security.policy.i
-data/src/share/classes/sun/reflect/SerializationConstructorAccessorImpl.java.i
+data/make/com/sun/security/auth/Makefile.i
data/src/share/classes/sun/misc/Ref.java.i
data/src/share/native/sun/font/freetypeScaler.c.i
data/src/share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceEntryImpl.java.i
-data/test/java/awt/dnd/Button2DragTest/Button2DragTest.java.i
+data/src/share/classes/sun/security/ssl/DHClientKeyExchange.java.i
data/src/share/native/sun/awt/image/cvutils/img_fsgray.h.i
-data/src/share/classes/java/util/concurrent/ExecutorCompletionService.java.i
data/src/share/classes/sun/security/ec/SunECEntries.java.i
data/src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipInfo.java.i
-data/src/windows/classes/sun/nio/fs/WindowsSecurity.java.i
data/src/share/classes/javax/sql/rowset/serial/SerialDatalink.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/JJTParserState.java.i
-data/src/share/classes/com/sun/jmx/snmp/agent/SnmpTableEntryFactory.java.i
-data/src/windows/native/sun/java2d/d3d/D3DContext.h.i
+data/src/solaris/doc/sun/man/man1/ja/serialver.1.i
+data/src/share/classes/sun/management/resources/agent_es.properties.i
data/src/share/classes/sun/security/x509/CertAttrSet.java.i
data/src/windows/native/sun/windows/awt_Frame.cpp.i
+data/src/solaris/doc/sun/man/man1/keytool.1.i
data/src/share/classes/sun/rmi/server/ActivatableServerRef.java.i
data/src/share/classes/sun/security/util/Resources_zh_TW.java.i
data/src/share/classes/java/nio/file/ClosedWatchServiceException.java.i
-data/make/tools/GenerateCharacter/CharacterDataUndefined.java.template.i
-data/src/share/classes/sun/util/resources/CalendarData_et.properties.i
+data/src/share/classes/javax/management/NumericValueExp.java.i
data/test/com/sun/jdi/RedefineAnnotation.sh.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/EncryptionConstants.java.i
+data/test/com/sun/crypto/provider/Cipher/DES/PaddingTest.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/UnconnectedSocketWrongExceptions.java.i
data/test/java/io/Serializable/GetField/Read.java.i
data/src/share/classes/sun/rmi/transport/StreamRemoteCall.java.i
@@ -15626,23 +15710,23 @@ data/test/demo/jvmti/minst/MinstExample.java.i
data/make/tools/CharsetMapping/MS936.map.i
data/src/share/classes/sun/management/snmp/jvminstr/JvmMemMgrPoolRelTableMetaImpl.java.i
data/src/solaris/native/sun/java2d/opengl/GLXSurfaceData.h.i
-data/test/java/util/concurrent/ConcurrentQueues/ConcurrentQueueLoops.java.i
+data/src/share/sample/vm/clr-jvm/Makefile.i
data/src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java.i
data/src/share/classes/sun/dyn/InvokeGeneric.java.i
data/src/share/native/sun/font/layout/SegmentSingleProcessor.h.i
-data/make/tools/reorder/tests/LoadToolkit.java.i
-data/src/share/classes/sun/security/krb5/internal/ccache/FileCCacheConstants.java.i
-data/src/share/classes/java/awt/dnd/peer/DropTargetPeer.java.i
+data/src/share/sample/vm/clr-jvm/invoker.cs.i
+data/src/share/classes/java/awt/datatransfer/UnsupportedFlavorException.java.i
data/test/java/util/ResourceBundle/Test4314141A.properties.i
data/test/tools/pack200/pack200-verifier/src/sun/tools/pack/verify/ClassCompare.java.i
data/src/share/native/sun/java2d/loops/Any4Byte.h.i
data/src/share/classes/sun/net/www/protocol/ftp/Handler.java.i
data/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test.java.i
data/src/share/classes/sun/tools/javac/ErrorConsumer.java.i
-data/src/share/classes/java/nio/file/DirectoryStream.java.i
-data/src/share/classes/java/rmi/UnexpectedException.java.i
-data/src/share/classes/com/sun/imageio/plugins/common/iio-plugin.properties.i
-data/src/share/classes/javax/security/sasl/SaslException.java.i
+data/src/share/native/sun/management/Flag.c.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14NExclusive.java.i
+data/make/tools/GenerateCharacter/CharacterData02.java.template.i
+data/src/share/native/sun/font/layout/SinglePositioningSubtables.h.i
+data/src/share/native/java/util/zip/zlib-1.2.3/deflate.h.i
data/src/share/classes/sun/nio/cs/standard-charsets.i
data/src/share/classes/sun/util/resources/CurrencyNames_es_CU.properties.i
data/test/java/io/Serializable/classDescHooks/ClassDescHooks.java.i
@@ -15652,12 +15736,11 @@ data/src/share/classes/java/lang/module/ModuleInfo.java.i
data/test/java/util/concurrent/Executors/Throws.java.i
data/src/share/native/sun/awt/image/cvutils/img_output16.h.i
data/src/share/classes/javax/swing/plaf/metal/MetalRadioButtonUI.java.i
-data/test/java/io/Serializable/enum/ignoreSerializationMethods/Test.java.i
-data/make/mkdemo/jvmti/gctest/Makefile.i
+data/src/share/classes/java/lang/Shutdown.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthStyleFactory.java.i
data/test/javax/management/context/localizable/MBeanDescriptions.properties.i
-data/src/share/classes/sun/text/resources/FormatData_es_GT.java.i
-data/src/share/classes/javax/swing/plaf/multi/doc-files/multi_tsc.html.i
+data/make/tools/CharsetMapping/IBM1026.c2b.i
+data/test/sun/management/jmxremote/bootstrap/management_test01_ok.properties.in.i
data/src/share/classes/java/util/EventObject.java.i
data/src/share/classes/sun/nio/cs/ext/DoubleByte.java.i
data/src/windows/classes/sun/awt/windows/awtLocalization_it.properties.i
@@ -15667,24 +15750,23 @@ data/test/java/net/URL/OpenConnection.java.i
data/src/share/classes/com/sun/nio/sctp/SctpServerChannel.java.i
data/test/com/sun/tools/attach/AgentSetup.sh.i
data/src/share/native/sun/security/ec/logtab.h.i
-data/src/share/classes/com/sun/rowset/providers/RIXMLProvider.java.i
data/test/sun/nio/cs/OLD/IBM950_OLD.java.d
data/src/solaris/classes/sun/nio/fs/SolarisNativeDispatcher.java.i
-data/src/share/sample/vm/jvm-clr/Makefile.i
+data/test/sun/util/resources/Locale/Bug6275682.java.i
data/src/share/classes/com/sun/jndi/toolkit/ctx/PartialCompositeDirContext.java.i
-data/src/share/classes/javax/swing/plaf/metal/MetalFontDesktopProperty.java.i
+data/make/com/sun/sql/Makefile.i
data/test/javax/management/remote/mandatory/subjectDelegation/policy23.i
-data/test/sun/nio/cs/OLD/IBM950_OLD.java.i
+data/src/windows/classes/sun/awt/windows/WEmbeddedFramePeer.java.i
data/src/solaris/native/sun/awt/awt_TextArea.c.i
-data/src/share/classes/java/net/CookieHandler.java.i
-data/src/share/classes/com/sun/tools/example/debug/tty/EventNotifier.java.i
-data/test/java/nio/charset/Charset/CharsetContainmentTest.java.i
+data/make/tools/CharsetMapping/dbcs.i
+data/make/tools/src/build/tools/generatenimbus/Generator.java.i
+data/src/share/classes/javax/swing/colorchooser/SyntheticImage.java.i
data/test/java/net/PortUnreachableException/Test.java.i
data/test/org/openjdk/jigsaw/eg/com/foo/bar/module-info.java.i
data/src/solaris/native/sun/java2d/loops/vis_IntArgbPre.c.i
data/src/share/classes/java/lang/management/PlatformComponent.java.i
data/src/share/classes/java/util/logging/SocketHandler.java.i
-data/src/share/demo/jvmti/hprof/hprof_stack.h.i
+data/test/sun/net/idn/nfsmxp.spp.i
data/test/sun/management/jmxremote/LocalRMIServerSocketFactoryTest.java.i
data/src/share/classes/sun/misc/Timer.java.i
data/src/share/classes/com/sun/jndi/ldap/EventQueue.java.i
@@ -15698,138 +15780,137 @@ data/test/sun/java2d/cmm/ColorConvertOp/LRGB.png.i
data/test/java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.java.i
data/src/share/classes/java/beans/beancontext/BeanContextEvent.java.i
data/src/share/classes/sun/security/krb5/KdcComm.java.i
-data/test/sun/misc/JarIndex/metaInfFilenames/jarB/META-INF/JAVA2.DS.i
-data/test/java/lang/instrument/ExampleRedefine.java.i
-data/test/java/lang/management/MemoryMXBean/CollectionUsageThresholdParallelGC.sh.i
+data/src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties.i
+data/src/windows/native/java/net/Inet6AddressImpl.c.i
+data/test/com/sun/crypto/provider/Cipher/AES/TestKATForECB_IV.java.i
data/src/share/classes/sun/awt/FontConfiguration.java.i
-data/test/com/sun/net/httpserver/bugs/B6393710.java.i
+data/make/com/sun/jmx/Makefile.i
data/src/share/classes/javax/crypto/SecretKey.java.i
data/test/java/util/Arrays/Big.java.i
data/test/javax/xml/crypto/dsig/SecurityManager/XMLDSigWithSecMgr.java.i
-data/src/share/classes/javax/sound/midi/Transmitter.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_es_BO.properties.i
data/src/share/classes/com/sun/jmx/namespace/serial/RewritingProcessor.java.i
-data/test/sun/security/ssl/javax/net/ssl/NewAPIs/CheckMyTrustedKeystore.java.i
+data/src/windows/native/sun/java2d/d3d/D3DShaderGen.c.i
data/test/javax/naming/InitialContext/EnvClone.java.i
data/test/sun/nio/cs/OLD/MS936_OLD.java.i
data/test/com/sun/crypto/provider/Cipher/UTIL/TestUtil.java.i
-data/src/share/back/debugLoop.h.i
+data/test/sun/net/www/protocol/http/spnegoLogin.conf.i
data/src/share/classes/java/beans/VetoableChangeListenerProxy.java.i
data/src/share/classes/java/net/SocketImplFactory.java.i
data/src/share/classes/sun/security/krb5/internal/ETypeInfo2.java.i
data/test/com/sun/jdi/BreakpointTest.java.i
-data/test/tools/pack200/pack200-verifier/src/sun/tools/pack/verify/Main.java.i
+data/src/share/classes/sun/reflect/UnsafeQualifiedIntegerFieldAccessorImpl.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14N11Method.java.i
data/make/mkdemo/applets/WireFrame/Makefile.i
-data/test/sun/net/www/ftptest/FtpFileSystemHandler.java.i
-data/test/java/util/concurrent/ScheduledThreadPoolExecutor/Stress.java.i
+data/test/java/io/Serializable/unshared/Read.java.i
+data/src/share/classes/sun/net/ftp/FtpProtocolException.java.i
data/src/share/native/sun/awt/splashscreen/splashscreen_gfx_impl.h.i
-data/src/windows/npt/npt_md.h.i
+data/test/sun/security/pkcs11/KeyStore/ClientAuthData/key3.db.i
data/src/share/classes/sun/awt/geom/AreaOp.java.i
-data/test/javax/swing/JPopupMenu/6987844/bug6987844.java.i
data/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiUtils.h.i
data/test/java/rmi/reliability/benchmark/bench/serial/ObjArrays.java.i
data/test/java/util/ResourceBundle/ResourceBundleTest.java.i
-data/make/sun/awt/mapfile-mawt-vers.i
+data/src/share/lib/security/java.security.i
data/src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_ja.properties.i
data/test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/HelloImpl.java.i
data/src/share/classes/sun/awt/resources/awt_fr.properties.i
-data/test/javax/xml/crypto/dsig/data/signature.xml.i
-data/test/sun/tools/jstatd/usage.out.i
+data/src/share/classes/com/sun/imageio/spi/RAFImageOutputStreamSpi.java.i
+data/test/sun/security/jgss/spnego/NegTokenTargFields.java.i
data/src/share/classes/javax/security/auth/kerberos/KerberosPrincipal.java.i
data/src/share/classes/java/dyn/LinkagePermission.java.i
data/test/sun/net/InetAddress/nameservice/chaining/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor.i
-data/src/share/classes/java/text/Format.java.i
+data/test/sun/java2d/SunGraphics2D/SourceClippingBlitTest/SourceClippingBlitTest.java.i
data/src/share/lib/images/cursors/motif_LinkDrop32x32.gif.i
-data/src/share/classes/sun/nio/cs/ISO_8859_4.java.i
+data/src/share/classes/com/sun/tools/jdi/CharValueImpl.java.i
data/src/share/classes/com/sun/beans/finder/PersistenceDelegateFinder.java.i
data/test/sun/security/pkcs11/tls/prfdata.txt.i
-data/test/java/lang/ThreadLocal/Basic.java.i
-data/src/share/classes/javax/print/attribute/TextSyntax.java.i
+data/test/java/util/zip/pkware123456789012345.zip.i
+data/src/share/classes/java/util/concurrent/ThreadFactory.java.i
data/src/share/classes/java/util/jar/JarEntry.java.i
data/src/share/classes/sun/security/pkcs10/PKCS10Attribute.java.i
-data/test/sun/management/jmxremote/bootstrap/jmxremote_test02_ok.access.in.i
+data/src/windows/classes/sun/awt/windows/WGlobalCursorManager.java.i
data/make/tools/GenerateCharacter/CharacterDataPrivateUse.java.template.i
data/test/org/openjdk/jigsaw/cli/SignedModuleFileTest.sh.i
data/test/java/net/Socket/SocketImplTest.java.i
-data/src/windows/classes/sun/java2d/windows/GDIWindowSurfaceData.java.i
+data/src/share/classes/sun/print/PrintJobAttributeException.java.i
data/src/share/classes/sun/reflect/generics/reflectiveObjects/ParameterizedTypeImpl.java.i
-data/test/java/util/ResourceBundle/Control/BadStaticInitRB.java.i
+data/test/javax/swing/JLayer/6824395/bug6824395.java.i
data/src/share/classes/java/security/UnrecoverableEntryException.java.i
data/test/java/rmi/reliability/juicer/OrangeImpl.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/OptionException.java.i
-data/src/share/classes/sun/tools/jstat/Identifier.java.i
data/test/java/io/Serializable/enum/array/Test.java.i
-data/src/share/classes/sun/tools/tree/BinaryAssignExpression.java.i
+data/src/share/classes/sun/nio/cs/ext/ISO2022_CN.java.i
data/test/java/net/DatagramPacket/Constructor.java.i
data/src/share/classes/sun/reflect/annotation/AnnotationTypeMismatchExceptionProxy.java.i
data/src/windows/native/sun/java2d/d3d/D3DResourceManager.cpp.i
-data/src/share/classes/javax/swing/SwingUtilities.java.i
-data/test/javax/management/remote/mandatory/provider/META-INF/services/javax.management.remote.JMXConnectorProvider.i
+data/test/com/sun/jdi/Redefine-g.sh.i
+data/test/java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java.i
data/src/share/classes/sun/reflect/generics/repository/ConstructorRepository.java.i
data/test/java/lang/StrictMath/Log10Tests.java.i
-data/make/mkdemo/jvmti/waiters/Makefile.i
-data/src/share/classes/com/sun/tools/example/debug/tty/AmbiguousMethodException.java.i
-data/src/share/classes/com/sun/jdi/PrimitiveType.java.i
-data/make/tools/src/build/tools/generatenimbus/Generator.java.i
-data/src/share/sample/nio/server/Dispatcher1.java.i
+data/test/java/nio/file/Files/MaxDepth.java.i
+data/src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames.properties.i
+data/make/mkdemo/applets/TicTacToe/Makefile.i
data/test/java/net/Socket/OldSocketImpl.java.i
-data/src/share/classes/com/sun/tools/example/debug/tty/ThreadIterator.java.i
+data/test/java/net/DatagramSocketImpl/CheckDiscard.java.i
data/src/share/classes/sun/java2d/pipe/LCDTextRenderer.java.i
data/test/java/security/cert/CertPathBuilder/targetConstraints/sun.cer.i
-data/test/java/util/zip/TestEmptyZip.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_pt_PT.properties.i
data/test/java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup_Stub.java.i
data/src/windows/classes/sun/nio/fs/WindowsFileAttributeViews.java.i
-data/src/share/classes/com/sun/media/sound/MidiDeviceReceiverEnvelope.java.i
+data/src/share/classes/sun/dyn/util/ValueConversions.java.i
data/src/share/classes/sun/io/CharToByteUnicode.java.i
data/test/java/beans/XMLEncoder/6380849/BeanPersistenceDelegate.java.i
data/src/share/classes/com/sun/jndi/ldap/ServiceLocator.java.i
-data/src/share/classes/java/text/spi/NumberFormatProvider.java.i
+data/src/share/classes/sun/java2d/loops/CustomComponent.java.i
data/test/sun/management/HotspotClassLoadingMBean/GetUnloadedClassSize.java.i
+data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetChannels.java.i
+data/test/sun/nio/cs/EUCJPUnderflowDecodeTest.java.i
data/src/share/native/sun/font/layout/SingleTableProcessor.h.i
data/src/share/classes/java/lang/annotation/Annotation.java.i
data/test/java/nio/channels/Channels/Basic.java.i
data/test/com/sun/jdi/GenericsTest.java.i
+data/src/share/classes/sun/security/x509/CertificatePolicySet.java.i
data/src/share/classes/sun/tools/tree/BitAndExpression.java.i
-data/src/share/demo/jfc/CodePointIM/resources/codepoint_zh_CN.properties.i
+data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CookieHandlerTest.java.i
+data/src/share/classes/sun/net/www/protocol/https/HttpsClient.java.i
data/test/java/net/URL/GetDefaultPort.java.i
-data/src/share/classes/sun/util/resources/LocaleNames.properties.i
+data/src/share/demo/applets/GraphicsTest/AppletFrame.java.i
+data/test/java/lang/Throwable/SuppressedExceptions.java.i
data/src/share/classes/sun/reflect/ClassFileConstants.java.i
-data/src/share/native/sun/java2d/loops/Index8Gray.c.i
+data/test/java/io/InputStream/Skip.java.i
data/src/share/classes/java/awt/FlowLayout.java.i
data/test/javax/script/StringWriterPrintTest.java.i
data/src/share/classes/java/awt/geom/Dimension2D.java.i
data/src/windows/classes/sun/awt/windows/WObjectPeer.java.i
-data/src/share/classes/sun/util/resources/CurrencyNames_es_SV.properties.i
+data/make/javax/crypto/policy/unlimited/default_US_export.policy.i
data/src/share/classes/sun/awt/RepaintArea.java.i
-data/src/share/classes/sun/security/ssl/CipherSuite.java.i
data/test/sun/security/pkcs11/KeyStore/BasicData/pk3.cert.i
-data/src/share/classes/sun/text/resources/FormatData_es_PR.java.i
+data/make/javax/crypto/policy/limited/LIMITED.i
data/src/share/classes/com/sun/nio/sctp/SctpChannel.java.i
data/make/tools/swing-beans/beaninfo/images/JSliderColor32.gif.i
-data/test/com/sun/crypto/provider/Cipher/DES/PaddingTest.java.i
+data/src/share/classes/sun/rmi/log/LogOutputStream.java.i
data/src/share/classes/com/sun/tools/hat/internal/server/FinalizerObjectsQuery.java.i
data/make/tools/classanalyzer/src/com/sun/classanalyzer/ConstantPoolParser.java.i
data/src/share/classes/javax/sound/sampled/AudioSystem.java.i
-data/test/java/rmi/activation/ActivationSystem/modifyDescriptor/ModifyDescriptor.java.i
-data/test/javax/crypto/SecretKeyFactory/FailOverTest.java.i
+data/src/share/classes/javax/naming/RefAddr.java.i
+data/src/share/native/sun/security/ec/mpi.h.i
data/src/share/classes/java/sql/Wrapper.java.i
-data/test/sun/security/pkcs11/KeyStore/BasicData/pk1.cert.i
-data/src/share/native/com/sun/java/util/jar/pack/unpack.cpp.i
-data/src/share/native/sun/font/layout/DeviceTables.h.i
+data/src/share/classes/sun/management/StackTraceElementCompositeData.java.i
+data/test/javax/crypto/Mac/TestGetInstance.java.i
data/src/solaris/classes/sun/awt/X11/security-icon-yellow32.png.i
-data/test/javax/swing/JFileChooser/6484091/bug6484091.java.i
-data/src/share/classes/sun/util/resources/CurrencyNames_en_SG.properties.i
+data/src/share/classes/java/net/MulticastSocket.java.i
+data/src/share/classes/java/io/ObjectStreamConstants.java.i
data/test/com/sun/jdi/JdbLockTest.sh.i
-data/src/share/classes/sun/util/resources/CalendarData_en.properties.i
data/src/share/classes/sun/io/ByteToCharCp037.java.i
-data/test/java/io/Serializable/lookupInterfaceDesc/LookupInterfaceDesc.java.i
+data/test/java/beans/PropertyEditor/Test7087876.java.i
data/test/sun/nio/cs/TestX11JIS0201.java.i
+data/test/java/net/CookieHandler/B6791927.java.i
data/make/java/java_crw_demo/mapfile-vers.i
data/src/share/classes/sun/security/provider/certpath/Vertex.java.i
-data/src/share/classes/javax/print/attribute/HashPrintJobAttributeSet.java.i
-data/src/share/classes/java/beans/beancontext/BeanContextServiceAvailableEvent.java.i
-data/test/sun/security/ssl/sun/net/www/protocol/https/NewImpl/ComHTTPSConnection.java.i
+data/make/tools/CharsetMapping/IBM1141.c2b.i
+data/test/java/io/Serializable/PutField/Write.java.i
data/src/share/modules/jdk.base/module-info.java.i
+data/make/sun/jawt/Depend.mak.i
data/src/share/classes/sun/tools/tree/TryStatement.java.i
data/src/share/classes/java/awt/peer/MenuComponentPeer.java.i
data/test/sun/security/tools/keytool/readjar.sh.i
@@ -15837,24 +15918,27 @@ data/src/share/native/sun/security/ec/ecp_384.c.i
data/test/java/awt/List/SetFontTest/SetFontTest.java.i
data/src/share/classes/java/security/cert/package.html.i
data/src/share/native/sun/font/fontscalerdefs.h.i
-data/src/share/demo/jvmti/agent_util/agent_util.h.i
+data/src/share/classes/sun/io/CharToByteCp970.java.i
data/src/share/classes/sun/reflect/UnsafeStaticByteFieldAccessorImpl.java.i
data/test/sun/util/resources/Calendar/Bug4527203.java.i
data/test/java/rmi/activation/ActivationSystem/modifyDescriptor/ActivateMe.java.i
data/src/share/classes/sun/nio/ch/Net.java.i
data/test/java/io/Serializable/classDescHooks/Loopback.java.i
data/test/java/beans/PropertyEditor/TestFloatTypeNull.java.i
-data/test/tools/pack200/MemoryAllocatorTest.java.i
-data/src/share/classes/com/sun/media/sound/DLSInstrument.java.i
-data/test/java/beans/PropertyEditor/TestDoubleClassNull.java.i
+data/src/share/classes/sun/text/resources/FormatData_th_TH.java.i
+data/src/share/native/sun/java2d/cmm/lcms/cmscnvrt.c.i
data/src/share/sample/jmx/jmx-scandir/logging.properties.i
+data/test/sun/security/krb5/auto/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor.i
+data/src/share/classes/sun/tools/javac/resources/javac_zh_CN.properties.i
data/src/share/classes/com/sun/jndi/toolkit/dir/ContextEnumerator.java.i
data/make/tools/CharsetMapping/ISO_8859_8.map.i
data/src/share/classes/sun/misc/resources/Messages.java.i
+data/make/mksample/Makefile.i
data/test/java/lang/ClassLoader/UninitializedParent.java.i
data/test/sun/security/tools/policytool/OpenPolicy.sh.i
data/src/share/classes/sun/rmi/rmic/RMIConstants.java.i
data/src/solaris/classes/sun/nio/ch/EPollPort.java.i
+data/test/java/util/ResourceBundle/Bug6355009.java.i
data/test/java/beans/XMLEncoder/java_util_Collections_EmptyList.java.i
data/test/sun/security/krb5/auto/RRC.java.i
data/src/share/classes/javax/swing/ScrollPaneLayout.java.i
@@ -15862,58 +15946,60 @@ data/src/share/classes/javax/print/attribute/UnmodifiableSetException.java.i
data/test/java/util/concurrent/FutureTask/Throw.java.i
data/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions.java.i
data/src/share/classes/sun/io/Converters.java.i
-data/test/sun/security/provider/PolicyFile/GrantAllPermToExtWhenNoPolicy.java.i
+data/src/share/classes/sun/awt/SunHints.java.i
data/test/java/awt/dnd/ImageDecoratedDnD/ImageGenerator.java.i
data/test/java/security/Provider/ProviderInfoCheck.java.i
data/test/sun/nio/cs/SurrogateTestHKSCS.java.i
data/test/demo/zipfs/Basic.java.i
data/src/share/classes/sun/java2d/NullSurfaceData.java.i
data/src/share/classes/javax/swing/event/SwingPropertyChangeSupport.java.i
+data/src/share/native/java/util/zip/zlib-1.2.5/gzwrite.c.i
data/test/java/text/Format/DateFormat/Bug6609750.java.i
-data/test/javax/management/Introspector/SetWrongTypeAttributeTest.java.i
+data/test/sun/nio/cs/StrCodingBenchmark.java.i
data/src/share/classes/sun/io/CharToByteMacCroatian.java.i
data/test/java/beans/PropertyEditor/TestShortClass.java.i
data/src/solaris/classes/sun/awt/motif/MMenuBarPeer.java.i
data/src/share/classes/sun/security/x509/CertificateVersion.java.i
-data/test/java/util/ResourceBundle/Bug6190861Data_en_US.properties.i
-data/src/share/demo/applets/DrawTest/example1.html.i
-data/make/tools/CharsetMapping/ISO_8859_6.map.i
-data/src/solaris/classes/sun/awt/X11/XAtom.java.i
-data/make/mkdemo/jvmti/heapTracker/Makefile.i
+data/src/share/lib/images/cursors/win32_LinkNoDrop32x32.gif.i
+data/make/sun/security/ec/Makefile.i
+data/src/share/classes/com/sun/media/sound/StandardMidiFileReader.java.i
+data/src/share/classes/com/sun/jmx/mbeanserver/NotificationMBeanSupport.java.i
data/src/share/classes/java/nio/file/attribute/UserDefinedFileAttributeView.java.i
data/src/share/back/ArrayTypeImpl.c.i
data/src/share/native/com/sun/media/sound/MidiInDevice.c.i
data/src/solaris/classes/sun/awt/X11/XWindow.java.i
data/src/share/classes/java/awt/MediaTracker.java.i
data/src/share/classes/sun/rmi/transport/proxy/HttpAwareServerSocket.java.i
-data/test/java/lang/Float/BitwiseConversion.java.i
-data/test/java/rmi/transport/handshakeFailure/HandshakeFailure.java.i
-data/test/sun/security/provider/PolicyFile/nullDomain.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherData.java.i
+data/test/java/rmi/reliability/benchmark/bench/rmi/FloatCalls.java.i
+data/src/share/classes/sun/tools/tree/ConstantExpression.java.i
+data/test/java/util/logging/AnonLoggerWeakRefLeak.java.i
data/src/share/classes/sun/security/pkcs11/Secmod.java.i
-data/make/tools/fontchecker/Makefile.i
+data/test/javax/management/remote/mandatory/URLTest.java.i
data/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/JavaxKeyManagerFactoryImpl.java.i
data/test/java/lang/management/MemoryMXBean/LowMemoryTest2.java.i
-data/src/solaris/doc/sun/man/man1/idlj.1.i
+data/src/share/classes/com/sun/imageio/stream/StreamFinalizer.java.i
data/src/share/classes/sun/reflect/LangReflectAccess.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/CachedXPathFuncHereAPI.java.i
data/test/java/security/BasicPermission/SerialVersion.1.4.i
-data/src/share/classes/java/awt/dnd/DragSourceDropEvent.java.i
+data/test/javax/management/remote/mandatory/subjectDelegation/policy14.i
data/make/tools/CharsetMapping/IBM1141.map.i
data/src/share/classes/sun/net/httpserver/FixedLengthOutputStream.java.i
data/src/solaris/native/java/lang/locale_str.h.i
data/test/java/io/Serializable/enum/constantSubclasses/Write.java.i
-data/test/java/io/Serializable/packageAccess/C.java.i
+data/src/share/classes/com/sun/jdi/JDIPermission.java.i
data/src/share/classes/com/sun/security/auth/X500Principal.java.i
-data/src/share/classes/sun/applet/AppletIOException.java.i
+data/src/share/classes/javax/sound/sampled/Port.java.i
data/test/java/util/ArrayList/Bug6533203.java.i
data/src/share/classes/javax/naming/directory/DirContext.java.i
data/src/share/classes/java/net/DatagramSocketImpl.java.i
data/src/share/classes/javax/management/remote/JMXConnectionNotification.java.i
data/src/share/classes/sun/misc/InvalidJarIndexException.java.i
-data/src/solaris/doc/sun/man/man1/jsadebugd.1.i
-data/src/share/classes/sun/security/pkcs11/wrapper/CK_X9_42_DH1_DERIVE_PARAMS.java.i
-data/src/share/classes/sun/util/resources/CalendarData_el_CY.properties.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/ClientServer.java.i
+data/src/share/classes/com/sun/tools/jdi/BooleanTypeImpl.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/LoopbackSSLSocket.java.i
data/test/java/math/BigDecimal/StringConstructor.java.i
+data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CookieHttpsClientTest.java.i
data/src/share/classes/java/lang/invoke/BoundMethodHandle.java.i
data/make/sun/javazic/tzdata/etcetera.i
data/src/share/classes/sun/net/TransferProtocolClient.java.i
@@ -15921,72 +16007,74 @@ data/test/java/nio/file/WatchService/SensitivityModifier.java.i
data/make/sun/javazic/Makefile.i
data/src/share/classes/com/sun/script/util/ScriptEngineFactoryBase.java.i
data/src/share/classes/sun/io/CharToByteCp942C.java.i
+data/src/share/classes/javax/swing/plaf/LabelUI.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIPaint.java.i
-data/src/share/native/sun/awt/medialib/mlib_c_ImageCopy.c.i
-data/src/share/classes/java/awt/MultipleGradientPaint.java.i
+data/src/share/classes/sun/tools/jconsole/resources/masthead-left.png.i
+data/src/share/classes/sun/tools/tree/AssignExpression.java.i
data/test/java/nio/channels/Selector/SelectNowWhenEmpty.java.i
-data/src/share/classes/java/awt/print/PrinterException.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SKIResolver.java.i
+data/test/javax/management/remote/mandatory/passwordAccessFile/SimpleStandard.java.i
+data/src/share/classes/sun/misc/Resource.java.i
data/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_ja.java.i
-data/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/CompressInputStream.java.i
-data/src/windows/native/sun/java2d/windows/RegistryKey.h.i
+data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver.java.i
+data/src/share/classes/sun/text/normalizer/UCharacterPropertyReader.java.i
+data/src/share/classes/sun/security/ssl/Krb5Proxy.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ClientHandshaker/CipherSuiteOrder.java.i
data/test/javax/sound/midi/Gervill/SoftChannel/Mono.java.i
-data/src/share/native/sun/awt/image/cvutils/img_output8.h.i
+data/src/share/classes/javax/net/ssl/CertPathTrustManagerParameters.java.i
data/src/windows/native/sun/java2d/d3d/D3DSurfaceData.h.i
-data/test/java/net/URI/RelativeEncoding.java.i
-data/test/javax/management/remote/mandatory/notif/NotificationEmissionTest.java.i
-data/src/share/classes/com/sun/tools/jdi/LocationImpl.java.i
+data/src/share/classes/com/sun/media/sound/ModelStandardTransform.java.i
+data/test/java/beans/PropertyEditor/TestShortTypeJava.java.i
+data/src/share/native/sun/java2d/opengl/OGLVertexCache.h.i
data/test/java/security/cert/pkix/policyChanges/anchor.cer.i
data/src/share/classes/sun/net/httpserver/HttpServerImpl.java.i
data/src/share/classes/sun/nio/cs/CESU_8.java.i
data/test/java/awt/font/Rotate/TestTransform.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIDimension.java.i
-data/src/share/classes/com/sun/media/sound/AudioSynthesizer.java.i
-data/src/share/classes/sun/security/pkcs11/wrapper/CK_DATE.java.i
+data/src/share/classes/java/net/Socket.java.i
+data/src/share/classes/sun/rmi/server/resources/rmid.properties.i
data/src/share/classes/com/sun/tracing/Provider.java.i
data/test/java/beans/PropertyEditor/TestShortClassJava.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_pt_BR.properties.i
data/test/java/beans/XMLEncoder/Test4968523.java.i
data/src/share/classes/javax/swing/text/html/FormView.java.i
-data/test/java/rmi/activation/Activatable/notSerializable/NotSerializable.java.i
-data/src/share/classes/javax/management/monitor/StringMonitorMBean.java.i
-data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/PixelTests.java.i
+data/src/share/classes/sun/jvmstat/monitor/remote/package.html.i
+data/src/share/classes/sun/tools/jconsole/OverviewPanel.java.i
data/src/share/sample/jmx/jmx-scandir/src/etc/access.properties.i
data/src/share/classes/java/awt/doc-files/List-1.gif.i
data/src/share/classes/java/awt/image/VolatileImage.java.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIU8S16Func.c.i
data/src/share/classes/com/sun/security/cert/internal/x509/X509V1CertImpl.java.i
data/test/sun/security/smartcardio/README.txt.i
+data/src/share/classes/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.java.i
data/src/share/classes/java/security/cert/Extension.java.i
-data/test/java/beans/VetoableChangeSupport/TestEquals.java.i
data/test/java/util/LinkedList/AddAll.java.i
data/src/share/demo/management/MemoryMonitor/MemoryMonitor.java.i
-data/src/windows/javavm/export/jni_md.h.i
+data/src/share/classes/sun/rmi/registry/resources/rmiregistry.properties.i
data/test/javax/sound/midi/Gervill/AudioFloatInputStream/Reset.java.i
data/src/windows/native/sun/windows/awt_TextComponent.h.i
-data/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java.i
-data/src/share/classes/sun/misc/SharedSecrets.java.i
+data/src/share/classes/sun/audio/AudioData.java.i
+data/make/common/Mapfile-vers.gmk.i
data/src/share/back/debugLoop.c.i
data/src/share/classes/javax/management/MBeanRegistrationException.java.i
data/make/tools/CharsetMapping/IBM1383.c2b.i
-data/test/java/io/RandomAccessFile/Close.java.i
-data/test/java/io/Serializable/sanityCheck/SanityCheck.java.i
+data/test/java/beans/VetoableChangeSupport/TestListeners.java.i
+data/src/solaris/native/sun/awt/awt_LoadLibrary.c.i
data/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java.i
-data/src/share/classes/org/openjdk/jigsaw/ClassInfo.java.i
-data/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java.i
+data/src/share/classes/javax/xml/crypto/dsig/spec/XSLTTransformParameterSpec.java.i
+data/test/java/io/Serializable/packageAccess/A.java.i
data/src/share/classes/sun/text/resources/FormatData_ar_SD.java.i
data/test/javax/swing/text/CSSBorder/6796710/bug6796710.java.i
data/src/share/classes/sun/security/x509/ExtendedKeyUsageExtension.java.i
-data/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVendor.java.i
+data/test/javax/management/namespace/RemoveNotificationListenerTest.java.i
data/test/java/security/ProtectionDomain/NullPerms.java.i
-data/src/share/classes/java/security/DomainCombiner.java.i
-data/test/java/io/Serializable/concurrentClassDescLookup/ConcurrentClassDescLookup.java.i
-data/test/javax/swing/border/Test6625450.java.i
+data/src/share/classes/javax/swing/plaf/metal/icons/ocean/newFolder.gif.i
+data/src/share/classes/sun/text/resources/FormatData_mk_MK.java.i
+data/make/tools/swing-beans/beaninfo/images/JEditorPaneColor16.gif.i
+data/make/tools/src/build/tools/jdwpgen/CommandNode.java.i
+data/src/share/classes/java/net/PasswordAuthentication.java.i
data/test/java/lang/invoke/indify/Indify.java.i
data/src/share/classes/javax/imageio/spi/ImageReaderWriterSpi.java.i
-data/test/javax/management/remote/mandatory/passwordAuthenticator/RMIPasswdAuthTest.java.i
+data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsSocketFacTest.java.i
data/test/java/math/BigDecimal/ToPlainStringTests.java.i
data/test/java/net/URLConnection/SetIfModifiedSince.java.i
data/src/share/classes/sun/awt/geom/Order1.java.i
@@ -15994,51 +16082,53 @@ data/src/share/classes/sun/tools/java/BinaryExceptionHandler.java.i
data/src/solaris/native/sun/awt/awt_motif12.c.i
data/src/share/sample/jmx/jmx-scandir/keystore.i
data/test/javax/script/PluggableContextTest.java.i
-data/src/share/classes/javax/imageio/spi/ImageReaderSpi.java.i
-data/test/java/security/cert/PolicyNode/GetPolicyQualifiers.java.i
+data/src/share/classes/com/sun/imageio/plugins/png/PNGMetadataFormat.java.i
+data/src/share/classes/javax/swing/border/CompoundBorder.java.i
+data/test/sun/security/pkcs11/Cipher/TestRSACipher.java.i
data/test/javax/swing/JSlider/6524424/bug6524424.java.i
-data/make/tools/swing-beans/beaninfo/images/JMenuBarMono32.gif.i
data/src/share/classes/sun/io/ByteToCharMS932DB.java.i
+data/test/java/util/PluggableLocale/providersrc/LocaleNames_ja_JP_kyoto.properties.i
data/test/javax/swing/JEditorPane/bug4714674.java.i
data/src/share/classes/java/awt/event/InputMethodListener.java.i
data/src/share/classes/java/lang/invoke/WrongMethodTypeException.java.i
-data/test/java/nio/channels/SocketChannel/Bind.java.i
-data/src/share/native/sun/awt/image/jpeg/jversion.h.i
+data/test/javax/management/remote/mandatory/notif/NotificationSenderMBean.java.i
+data/make/tools/CharsetMapping/IBM284.map.i
+data/test/java/beans/PropertyEditor/TestByteTypeJava.java.i
data/test/sun/net/InetAddress/nameservice/simple/SimpleNameService.java.i
data/src/share/classes/sun/management/MemoryUsageCompositeData.java.i
-data/test/java/util/PluggableLocale/ClasspathTest.sh.i
-data/src/share/native/java/lang/fdlibm/src/k_cos.c.i
+data/src/share/classes/sun/applet/AppletResourceLoader.java.i
+data/test/java/net/InetAddress/B5087907.java.i
data/test/sun/net/www/EmbeddedEquals.java.i
-data/src/share/classes/com/sun/jmx/snmp/tasks/ThreadService.java.i
+data/src/share/classes/javax/smartcardio/CardChannel.java.i
data/test/javax/management/remote/mandatory/version/policy.i
-data/src/share/classes/com/sun/jdi/request/InvalidRequestStateException.java.i
-data/src/solaris/native/sun/nio/ch/SocketChannelImpl.c.i
-data/test/java/lang/StrictMath/HypotTests.java.i
-data/test/java/nio/channels/etc/NetworkChannelTests.java.i
-data/src/share/classes/javax/swing/text/doc-files/Document-insert.gif.i
+data/test/javax/management/remote/mandatory/subjectDelegation/policy24.i
+data/src/share/classes/sun/text/resources/CollationData_hr.java.i
+data/src/share/classes/com/sun/media/sound/SoftMixingMixer.java.i
+data/src/share/classes/sun/tools/jconsole/inspector/XMBeanInfo.java.i
data/src/share/classes/javax/swing/event/TableColumnModelListener.java.i
-data/test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/Echo.java.i
+data/test/java/lang/ThreadLocal/MemoryLeak.java.i
data/test/javax/security/auth/SubjectDomainCombiner/Optimize.java.i
data/src/share/classes/javax/swing/KeyStroke.java.i
data/test/com/sun/tools/attach/java.policy.deny.i
-data/test/com/sun/crypto/provider/Cipher/RSA/TestOAEP_KAT.java.i
+data/src/share/classes/javax/security/auth/callback/PasswordCallback.java.i
data/src/share/native/sun/font/layout/LigatureSubstSubtables.h.i
-data/src/share/classes/com/sun/servicetag/SolarisServiceTag.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolverException.java.i
+data/test/java/util/PluggableLocale/LocaleNameProviderTest.sh.i
+data/test/sun/security/provider/PolicyFile/CombinedPerms.java.i
data/src/linux/doc/man/ja/orbd.1.i
-data/src/share/classes/sun/nio/ch/ThreadPool.java.i
+data/src/share/classes/sun/nio/ch/Interruptible.java.i
data/test/tools/launcher/DefaultLocaleTest.sh.i
-data/src/share/native/java/lang/fdlibm/src/s_expm1.c.i
+data/src/share/classes/com/sun/jmx/remote/internal/ProxyRef.java.i
data/src/share/classes/javax/management/QueryNotificationFilter.java.i
-data/test/javax/print/applet/applet4/Applet4.java.i
-data/test/sun/security/ssl/templates/SSLEngineTemplate.java.i
+data/src/share/bin/java.h.i
+data/src/share/classes/javax/management/MBeanPermission.java.i
data/test/java/nio/channels/Selector/CheckLocking.java.i
data/src/share/classes/javax/swing/plaf/TabbedPaneUI.java.i
data/src/share/classes/com/sun/media/sound/ModelWavetable.java.i
data/test/java/awt/MouseAdapter/MouseAdapterUnitTest/MouseAdapterUnitTest.java.i
+data/test/java/text/Format/DateFormat/WeekDateTest.java.i
data/test/java/awt/List/ActionAfterRemove/ActionAfterRemove.java.i
data/src/windows/native/sun/jkernel/kernel_ko.rc.i
-data/src/solaris/classes/java/lang/ProcessEnvironment.java.i
+data/src/share/test/pack200/pack.conf.i
data/test/java/dyn/MethodTypeTest.java.i
data/test/javax/management/Introspector/InvokeGettersTest.java.i
data/src/share/classes/sun/security/validator/KeyStores.java.i
@@ -16046,48 +16136,48 @@ data/src/share/classes/com/sun/tools/example/debug/gui/CommandTool.java.i
data/src/share/classes/com/sun/crypto/provider/BlowfishParameters.java.i
data/test/javax/management/namespace/EventWithNamespaceControlTest.java.i
data/src/solaris/classes/sun/font/FontConfigManager.java.i
-data/src/share/classes/java/rmi/server/RMIServerSocketFactory.java.i
+data/make/common/BuildToolJar.gmk.i
data/src/share/classes/sun/applet/AppletListener.java.i
data/src/share/classes/javax/sql/RowSet.java.i
+data/test/org/openjdk/jigsaw/MockLibrary.java.i
data/test/java/lang/reflect/Constructor/GenericStringTest.java.i
data/src/solaris/native/sun/java2d/loops/vis_GlyphList.c.i
data/src/share/classes/javax/security/sasl/AuthenticationException.java.i
-data/src/share/classes/java/awt/image/ReplicateScaleFilter.java.i
+data/test/com/sun/security/auth/login/ConfigFile/EmptyOption.java.i
data/src/share/classes/sun/tools/jconsole/OutputViewer.java.i
data/src/share/classes/sun/net/www/content/image/x_xpixmap.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/package.html.i
data/src/share/classes/javax/sound/midi/InvalidMidiDataException.java.i
data/test/sun/security/pkcs11/nss/db/key3.db.i
-data/src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java.i
+data/test/javax/management/openmbean/CompositeDataStringTest.java.i
data/src/share/sample/nio/server/FileContent.java.i
-data/src/share/classes/javax/swing/event/TreeExpansionEvent.java.i
+data/src/share/classes/com/sun/security/sasl/digest/DigestMD5Client.java.i
data/src/solaris/native/sun/awt/medialib/vis_asi.h.i
data/src/share/classes/com/sun/tools/jdi/ProcessAttachingConnector.java.i
data/test/javax/crypto/spec/GCMParameterSpec/GCMParameterSpecTest.java.i
-data/src/share/sample/scripting/scriptpad/src/scripts/memory.js.i
+data/src/share/classes/sun/io/CharToByteCp857.java.i
data/test/sun/java2d/DirectX/RenderingToCachedGraphicsTest/RenderingToCachedGraphicsTest.java.i
data/test/javax/sound/midi/Gervill/SoftChannel/NoteOff2.java.i
-data/src/share/classes/javax/xml/crypto/dsig/keyinfo/X509Data.java.i
+data/test/sun/net/www/http/HttpClient/ImplicitFileName.java.i
data/test/java/rmi/activation/Activatable/elucidateNoSuchMethod/security.policy.i
-data/src/share/demo/nbproject/jfc/Font2DTest/nbproject/jdk.xml.i
+data/src/share/classes/java/awt/datatransfer/FlavorEvent.java.i
data/test/java/io/PrintStream/NullConstructor.java.i
data/test/sun/net/www/protocol/http/GetOutputStream.java.i
-data/test/com/sun/jdi/sde/testString.i
+data/src/share/classes/javax/swing/plaf/metal/MetalComboBoxButton.java.i
data/test/java/beans/VetoableChangeSupport/Test4076065.java.i
data/src/share/classes/com/sun/tools/jdi/RawCommandLineLauncher.java.i
-data/src/share/native/sun/font/layout/LookupTables.h.i
+data/test/java/nio/channels/AsynchronousServerSocketChannel/Basic.java.i
data/src/share/classes/java/awt/image/ByteLookupTable.java.i
data/src/share/classes/javax/management/openmbean/TabularDataSupport.java.i
data/src/share/classes/sun/reflect/UnsafeQualifiedShortFieldAccessorImpl.java.i
data/src/share/classes/sun/invoke/anon/ConstantPoolVisitor.java.i
data/src/share/classes/sun/net/ApplicationProxy.java.i
-data/src/share/demo/jfc/Notepad/resources/new.gif.i
+data/src/share/classes/sun/io/ByteToCharCp860.java.i
data/src/share/native/sun/font/layout/StateTables.h.i
data/src/share/classes/sun/tools/tree/ArrayExpression.java.i
data/src/solaris/classes/sun/awt/X11/OwnershipListener.java.i
data/src/share/native/sun/java2d/loops/Ushort4444Argb.h.i
-data/src/share/sample/scripting/scriptpad/src/scripts/linewrap.js.i
-data/src/share/classes/com/sun/jmx/snmp/SnmpPduRequest.java.i
+data/src/share/classes/com/sun/jndi/toolkit/ctx/PartialCompositeContext.java.i
data/test/sun/security/pkcs11/SecureRandom/TestDeserialization.java.i
data/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test1.java.i
data/src/solaris/classes/sun/nio/ch/SctpNet.java.i
@@ -16101,97 +16191,100 @@ data/src/share/classes/sun/security/util/PathList.java.i
data/src/share/classes/javax/swing/AbstractAction.java.i
data/src/share/classes/com/sun/jdi/FloatType.java.i
data/test/java/util/concurrent/Executors/AutoShutdown.java.i
-data/src/share/classes/sun/reflect/generics/tree/IntSignature.java.i
-data/src/share/native/sun/font/layout/GDEFMarkFilter.h.i
+data/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Open.java.i
+data/make/sun/security/smartcardio/Makefile.i
data/test/java/security/KeyRep/DSA.1.5.key.i
-data/src/share/classes/com/sun/jndi/ldap/LdapBindingEnumeration.java.i
data/test/java/nio/file/Files/denyAll.policy.i
data/test/javax/management/monitor/ThreadPoolAccTest.java.i
data/src/share/classes/com/sun/tools/jdi/ByteTypeImpl.java.i
data/src/share/classes/sun/nio/cs/ext/MacSymbol.java.i
-data/src/share/classes/java/nio/file/attribute/PosixFilePermission.java.i
+data/src/linux/doc/man/ja/javaws.1.i
data/src/share/classes/sun/text/resources/ubidi.icu.i
-data/test/java/util/ResourceBundle/Test4300693.java.i
+data/make/tools/src/build/tools/generatecharacter/CharacterScript.java.i
data/test/java/awt/Frame/ShownOnPack/ShownOnPack.html.i
data/src/share/classes/sun/io/CharToByteEUC_JP.java.i
data/src/share/classes/javax/management/openmbean/CompositeData.java.i
data/test/java/lang/Class/forName/NonJavaNames.sh.i
-data/test/java/lang/instrument/basicAgent.mf.i
+data/src/share/classes/java/lang/invoke/MethodHandle.java.i
data/src/share/classes/javax/management/ImmutableDescriptor.java.i
-data/src/share/classes/sun/security/provider/SHA2.java.i
+data/src/share/classes/java/lang/Boolean.java.i
data/src/solaris/demo/jigsaw/basic/src/module-info.java.i
data/test/java/rmi/activation/Activatable/downloadParameterClass/FooReceiverImpl.java.i
data/src/share/classes/java/lang/VirtualMachineError.java.i
data/src/share/javavm/include/opcodes.h.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverAnonymous.java.i
data/test/java/security/Security/SecurityPropFile/SecurityPropFile.file.i
-data/test/java/net/Authenticator/Deadlock.java.i
+data/src/share/native/sun/security/pkcs11/wrapper/p11_mutex.c.i
+data/test/java/text/Collator/Bug5047314.java.i
+data/src/share/classes/java/util/TreeMap.java.i
data/test/java/awt/Graphics2D/RenderClipTest/RenderClipTest.java.i
-data/src/share/classes/java/text/ChoiceFormat.java.i
-data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Identities.java.i
+data/src/share/classes/javax/management/loading/PrivateClassLoader.java.i
+data/make/tools/CharsetMapping/IBM1145.c2b.i
+data/test/java/io/Serializable/skipToEndOfBlockData/SkipToEndOfBlockData.java.i
data/src/share/back/ClassObjectReferenceImpl.c.i
data/test/java/nio/channels/AsynchronousDatagramChannel/Basic.java.i
-data/test/java/io/Serializable/underlyingOutputStreamException/UnderlyingOutputStreamException.java.i
+data/src/share/classes/java/rmi/server/SkeletonNotFoundException.java.i
data/src/solaris/classes/sun/awt/X11/XBaseWindow.java.i
data/src/share/demo/jfc/Notepad/resources/save.gif.i
data/src/share/classes/sun/tools/jconsole/inspector/XTable.java.i
-data/make/tools/CharsetMapping/IBM918.map.i
+data/test/java/util/Map/Get.java.i
+data/make/modules/tools/nbproject/project.properties.i
data/test/java/rmi/reliability/juicer/AppleImpl.java.i
data/src/share/classes/sun/nio/cs/ext/HKSCS_2001.java.i
data/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java.i
data/test/sun/rmi/rmic/minimizeWrapperInstances/PImpl.java.i
-data/test/java/security/cert/CertPathValidator/indirectCRL/CircularCRLOneLevelRevoked.java.i
-data/src/share/classes/sun/security/pkcs/EncodingException.java.i
-data/test/java/nio/channels/DatagramChannel/Sender.java.i
-data/src/share/classes/java/awt/color/package.html.i
+data/test/java/net/URL/OpenStream.java.i
+data/src/share/back/stepControl.h.i
+data/src/share/classes/com/sun/security/jgss/InquireSecContextPermission.java.i
+data/src/share/classes/java/awt/JobAttributes.java.i
data/make/tools/CharsetMapping/DoubleByte-X.java.i
data/src/share/classes/java/util/logging/LoggingMXBean.java.i
data/src/share/classes/sun/management/HotspotClassLoadingMBean.java.i
data/src/share/classes/javax/script/SimpleScriptContext.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/package.html.i
-data/test/javax/management/remote/mandatory/connection/CloseFailedClientTest.java.i
-data/test/javax/swing/JFileChooser/6840086/bug6840086.java.i
+data/src/share/classes/javax/swing/event/AncestorEvent.java.i
+data/src/share/classes/java/lang/reflect/MalformedParameterizedTypeException.java.i
data/make/com/sun/java/pack/Makefile.i
data/test/java/rmi/activation/ActivationSystem/stubClassesPermitted/security.policy.i
data/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/OpenStream.java.i
data/src/share/classes/sun/text/resources/CollationData_hu.java.i
data/test/java/lang/reflect/Generics/TestParameterizedType.java.i
-data/test/tools/launcher/ChangeDataModel.sh.i
+data/test/java/rmi/reliability/juicer/ApplicationServer.java.i
data/src/share/classes/java/sql/RowIdLifetime.java.i
-data/test/sun/security/util/DerInputBuffer/BigInteger0.java.i
+data/make/tools/swing-beans/beaninfo/images/AbstractButtonColor16.gif.i
data/test/java/lang/StringBuffer/AppendCharSequence.java.i
data/src/share/demo/java2d/J2DBench/src/j2dbench/Group.java.i
-data/src/share/classes/sun/management/resources/agent_de.properties.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsRadioButtonMenuItemUI.java.i
-data/test/javax/print/attribute/MediaMappingsTest.java.i
+data/src/share/classes/java/awt/im/spi/InputMethod.java.i
+data/test/sun/text/resources/Format/Bug4621320.java.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpU8U8Func.c.i
data/test/java/util/zip/ZipFile/deletetempjar.sh.i
data/src/windows/native/sun/java2d/windows/ddrawObject.cpp.i
-data/src/share/native/sun/java2d/opengl/OGLVertexCache.h.i
-data/test/java/net/Authenticator/B4769350.java.i
+data/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h.i
+data/test/sun/tools/native2ascii/test3.i
data/make/tools/CharsetMapping/IBM875.map.i
data/src/share/classes/org/openjdk/jigsaw/Files.java.i
data/test/java/security/Security/SecurityPropFile/SecurityPropFile.java.i
data/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadString.java.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIS32U8Func.c.i
+data/src/share/classes/sun/security/pkcs11/wrapper/CK_SESSION_INFO.java.i
data/make/mkdemo/nio/zipfs/Makefile.i
data/src/share/demo/applets/ArcTest/example1.html.i
data/test/sun/security/util/DerInputBuffer/PaddedBitString.java.i
-data/test/sun/text/resources/Format/Bug4762201.java.i
+data/src/share/classes/sun/security/provider/certpath/PKIXMasterCertPathValidator.java.i
data/src/share/classes/sun/misc/Perf.java.i
-data/src/share/classes/sun/tools/tree/MultiplyExpression.java.i
-data/src/windows/native/sun/java2d/d3d/D3DResourceManager.h.i
-data/src/windows/native/sun/windows/awt_Panel.h.i
+data/make/tools/CharsetMapping/HKSCS2008.c2b.i
+data/test/sun/security/krb5/NegativeNonce.java.i
+data/src/solaris/native/sun/nio/ch/UnixAsynchronousSocketChannelImpl.c.i
data/src/share/classes/com/sun/media/sound/ModelIdentifier.java.i
data/src/share/classes/javax/swing/plaf/SpinnerUI.java.i
-data/src/share/classes/com/sun/media/sound/SoftJitterCorrector.java.i
+data/src/share/classes/javax/swing/event/InternalFrameAdapter.java.i
data/src/share/classes/com/sun/tracing/dtrace/FunctionAttributes.java.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/PerfStringVariableMonitor.java.i
data/src/share/demo/applets/DitherTest/DitherTest.java.i
data/src/windows/classes/sun/java2d/windows/DDScaleLoops.java.i
-data/src/solaris/classes/sun/awt/X11/XFocusProxyWindow.java.i
+data/src/share/sample/nio/server/URLDumper.java.i
data/test/java/io/Serializable/unnamedPackageSwitch/Test.java.i
-data/test/java/beans/XMLEncoder/Test6921644.java.i
-data/src/windows/native/java/util/logging.c.i
+data/src/share/classes/sun/util/resources/CurrencyNames_nl_BE.properties.i
+data/make/netbeans/common/standard-bindings.ent.i
data/src/solaris/classes/sun/java2d/xr/MaskTile.java.i
data/src/share/classes/java/awt/Panel.java.i
data/src/share/classes/sun/security/pkcs11/wrapper/CK_ECDH2_DERIVE_PARAMS.java.i
@@ -16200,47 +16293,46 @@ data/src/share/classes/com/sun/beans/decoder/IntElementHandler.java.i
data/make/tools/swing-beans/beaninfo/images/JViewportMono16.gif.i
data/make/sun/security/mscapi/FILES_cpp.gmk.i
data/src/linux/doc/man/ja/jrunscript.1.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/package.html.i
+data/src/solaris/classes/sun/awt/X11/XMSelectionListener.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifProgressBarUI.java.i
data/test/java/awt/print/Dialog/DialogCopies.java.i
-data/src/share/classes/javax/xml/crypto/OctetStreamData.java.i
-data/src/share/demo/applets/Fractal/example1.html.i
+data/src/share/classes/sun/text/resources/FormatData_es_GT.java.i
data/src/solaris/classes/sun/awt/X11/XTranslateCoordinates.java.i
data/src/share/classes/sun/java2d/loops/FillParallelogram.java.i
-data/src/share/classes/org/openjdk/internal/joptsimple/OptionMissingRequiredArgumentException.java.i
+data/test/sun/nio/cs/OLD/IBM1381_OLD.java.i
data/test/com/sun/crypto/provider/Cipher/DES/PerformanceTest.java.i
data/test/java/lang/instrument/TestClass3.java.i
-data/test/sun/net/www/protocol/jar/jarbug/src/test/RunAllTests.java.i
-data/src/share/classes/sun/util/resources/LocaleNames_ca.properties.i
+data/test/java/io/RandomAccessFile/ReadWritePrimitives.java.i
+data/test/java/net/HttpURLConnection/getResponseCode.java.i
data/src/share/classes/sun/security/x509/IssuerAlternativeNameExtension.java.i
data/make/netbeans/jconsole/README.i
data/src/share/classes/sun/java2d/opengl/OGLTextRenderer.java.i
-data/test/sun/security/pkcs11/ec/TestECDSA.java.i
+data/src/share/classes/java/security/PermissionCollection.java.i
data/make/javax/management/Makefile.i
data/test/tools/launcher/lib/i386/lib32/lib32/liblibrary.so.i
-data/src/share/classes/sun/io/CharToByteMacRoman.java.i
+data/test/java/nio/file/Files/TerminateWalk.java.i
data/test/javax/xml/crypto/dsig/data/certs/bres.crt.i
data/make/com/sun/demo/Makefile.i
data/src/share/classes/sun/applet/AppletSecurity.java.i
-data/test/javax/management/eventService/LeaseTest.java.i
-data/test/java/beans/XMLEncoder/java_util_Collections_SynchronizedSet.java.i
-data/src/share/classes/org/openjdk/jigsaw/cli/Repositor.java.i
+data/make/java/redist/fonts/Makefile.i
+data/src/share/classes/sun/font/CompositeFont.java.i
+data/make/tools/swing-beans/beaninfo/images/JComboBoxColor32.gif.i
data/src/share/classes/java/awt/event/MouseWheelListener.java.i
-data/src/share/classes/com/sun/media/sound/SoftAbstractResampler.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/CipherReference.java.i
data/test/sun/security/pkcs11/Signature/TestDSA.java.i
data/test/java/lang/annotation/Missing/Marker.java.i
data/src/windows/classes/sun/nio/ch/NativeThread.java.i
-data/test/sun/security/smartcardio/TestExclusive.java.i
+data/src/solaris/native/sun/java2d/loops/mlib_v_ImageLogic_proto.h.i
data/src/share/classes/sun/reflect/UnsafeQualifiedStaticFloatFieldAccessorImpl.java.i
data/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.html.i
-data/src/share/classes/sun/reflect/ByteVectorImpl.java.i
-data/test/com/sun/jdi/ClassesByName2Test.java.i
+data/src/solaris/classes/sun/awt/X11/XChoicePeer.java.i
+data/src/share/native/sun/awt/libpng/pnginfo.h.i
data/make/mksample/forkjoin/mergesort/Makefile.i
data/src/share/classes/javax/imageio/stream/IIOByteBuffer.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.jj.i
data/src/share/classes/sun/io/ByteToCharCp1144.java.i
data/test/javax/management/mxbean/MerlinMXBean.java.i
-data/src/solaris/doc/sun/man/man1/keytool.1.i
+data/src/share/classes/sun/io/ByteToCharDBCS_EBCDIC.java.i
data/src/share/classes/com/sun/media/sound/AlawCodec.java.i
data/src/share/classes/com/sun/jdi/event/BreakpointEvent.java.i
data/test/java/io/Serializable/arraySuidConflict/Write.java.i
@@ -16248,134 +16340,130 @@ data/src/share/sample/forkjoin/mergesort/MergeSort.java.i
data/test/java/rmi/Naming/UnderscoreHost.java.i
data/src/share/classes/java/util/logging/LogManager.java.i
data/test/java/nio/channels/AsynchronousChannelGroup/Restart.java.i
-data/test/sun/management/jmxremote/bootstrap/management_test01_ok.properties.in.i
-data/test/org/openjdk/jigsaw/pubrepo.sh.i
-data/test/sun/util/resources/Locale/Bug6275682.java.i
-data/test/java/net/URLClassLoader/closetest/CloseTest.java.i
-data/make/tools/CharsetMapping/dbcs.i
-data/test/sun/net/idn/nfsmxp.spp.i
-data/src/share/classes/sun/net/httpserver/Code.java.i
-data/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_AWT.java.i
-data/test/java/security/KeyStore/KeyStoreBuilder.java.i
+data/src/share/classes/javax/swing/plaf/multi/doc-files/multi_tsc.html.i
+data/test/demo/jvmti/hprof/HeapBinaryFormatTest.java.i
+data/src/share/sample/vm/jvm-clr/Makefile.i
+data/src/share/native/sun/awt/image/jpeg/imageioJPEG.c.i
+data/src/share/classes/java/net/CookieHandler.java.i
+data/src/share/demo/jvmti/hprof/hprof_stack.h.i
+data/src/share/native/sun/font/layout/ExtensionSubtables.h.i
+data/src/share/classes/javax/net/ssl/SSLEngine.java.i
data/test/java/util/concurrent/Executors/PrivilegedCallables.java.i
data/src/share/classes/com/sun/jdi/ByteValue.java.i
data/src/share/classes/sun/dyn/Access.java.i
data/test/java/io/Serializable/serialver/nested/Test.java.i
-data/src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java.i
-data/test/java/rmi/server/RMIClassLoader/delegateToContextLoader/Dummy.java.i
+data/test/sun/java2d/cmm/ProfileOp/SetDataTest.java.i
data/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java.i
-data/src/share/classes/sun/io/CharToByteJIS0201.java.i
+data/src/share/classes/com/sun/tools/hat/internal/server/InstancesQuery.java.i
data/src/share/lib/management/jmxremote.password.template.i
data/test/java/lang/management/ThreadMXBean/LockedMonitors.java.i
-data/test/java/nio/file/Files/MaxDepth.java.i
+data/src/share/classes/com/sun/tools/example/debug/tty/AmbiguousMethodException.java.i
data/src/share/classes/java/nio/charset/Charset.java.i
data/test/javax/swing/JSlider/6918861/bug6918861.java.i
-data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetChannels.java.i
-data/src/share/classes/sun/font/LayoutPathImpl.java.i
+data/test/com/sun/tools/attach/BasicTests.sh.i
+data/test/java/awt/Mixing/Validating.java.i
data/test/sun/net/www/protocol/http/spnegoTest.i
data/make/tools/swing-beans/beaninfo/images/BoxColor32.gif.i
-data/src/solaris/native/sun/awt/colordata.h.i
data/test/sun/security/pkcs11/nss/lib/linux-amd64/libplc4.so.i
-data/src/share/classes/javax/management/event/EventClientDelegateMBean.java.i
-data/src/share/classes/javax/sound/midi/MidiDeviceTransmitter.java.i
+data/src/share/classes/javax/management/timer/TimerAlarmClockNotification.java.i
data/src/share/classes/sun/io/CharToByteCp939.java.i
data/test/javax/management/ObjectInstance/ToStringMethodTest.java.i
data/src/share/native/sun/security/ec/mpi.c.i
data/make/tools/CharsetMapping/IBM1123.nr.i
data/make/java/nio/reorder-sparc.i
-data/src/share/classes/sun/util/calendar/CalendarUtils.java.i
data/src/share/classes/javax/swing/text/rtf/RTFReader.java.i
data/src/share/classes/sun/net/www/content/text/Generic.java.i
-data/src/share/classes/sun/management/snmp/package.html.i
+data/test/javax/crypto/SecretKeyFactory/P1.jar.i
data/src/share/classes/sun/tools/asm/StringConstantData.java.i
data/src/share/native/sun/awt/medialib/mlib_ImageCopy.h.i
-data/test/java/util/Locale/data/deflocale.rhel5.i
-data/make/tools/src/build/tools/javazic/Zoneinfo.java.i
+data/test/java/rmi/activation/Activatable/checkActivateRef/ActivateMe.java.i
data/src/share/demo/nbproject/jfc/SampleTree/nbproject/netbeans-targets.xml.i
data/src/share/native/java/lang/fdlibm/src/e_j0.c.i
-data/src/share/classes/sun/tools/tree/IfStatement.java.i
-data/test/javax/management/remote/mandatory/subjectDelegation/policy14.i
+data/src/share/classes/java/awt/dnd/DragSourceDropEvent.java.i
data/src/share/demo/jfc/Notepad/resources/Notepad.properties.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/LoopbackSSLSocket.java.i
+data/src/share/classes/sun/util/resources/CalendarData_el_CY.properties.i
data/src/share/classes/javax/management/monitor/MonitorMBean.java.i
-data/test/java/nio/channels/Selector/ConnectWrite.java.i
+data/src/solaris/instrument/FileSystemSupport_md.c.i
data/test/javax/swing/JTextArea/Test6593649.java.i
data/test/java/net/URLClassLoader/extdir/extention.jar.i
data/src/solaris/native/sun/awt/extutil.h.i
data/src/share/classes/java/awt/datatransfer/ClipboardOwner.java.i
-data/test/sun/jvmstat/monitor/MonitoredVm/CR6672135.java.i
+data/src/share/classes/sun/management/snmp/jvminstr/JvmOSImpl.java.i
data/src/share/demo/nbproject/management/MemoryMonitor/nbproject/project.xml.i
data/test/java/beans/Introspector/6380849/infos/ThirdBeanBeanInfo.java.i
data/test/java/rmi/reliability/benchmark/bench/serial/Ints.java.i
data/src/share/classes/javax/naming/directory/ModificationItem.java.i
data/src/share/classes/java/util/RandomAccess.java.i
-data/test/sun/java2d/pisces/Test7036754.java.i
-data/src/share/classes/sun/reflect/generics/tree/DoubleSignature.java.i
+data/test/sun/rmi/rmic/covariantReturns/G2Impl.java.i
+data/test/java/awt/FileDialog/FileDialogReturnTest/FileDialogReturnTest.java.i
data/src/share/classes/com/sun/tools/hat/internal/model/JavaDouble.java.i
+data/test/sun/management/jmxremote/bootstrap/management_ssltest07_ok.properties.in.i
data/src/windows/bin/amd64/jvm.cfg.i
data/src/share/demo/applets/SortDemo/QSortAlgorithm.java.i
data/test/java/awt/MenuBar/DeadlockTest1/DeadlockTest1.java.i
data/src/share/native/sun/awt/image/jpeg/README.i
data/src/share/classes/com/sun/beans/finder/PrimitiveTypeMap.java.i
-data/src/share/classes/com/sun/nio/sctp/IllegalReceiveException.java.i
+data/src/share/classes/javax/swing/text/TextLayoutStrategy.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthStyle.java.i
data/test/java/util/ResourceBundle/Control/TestResourceRB.java.i
data/src/share/classes/sun/awt/PlatformFont.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_en_NZ.properties.i
-data/src/share/classes/sun/io/ByteToCharCp1112.java.i
+data/src/share/classes/javax/management/loading/MLetParser.java.i
data/test/java/rmi/server/UnicastRemoteObject/unexportObject/UnexportLeak_Stub.java.i
data/test/java/util/concurrent/atomic/VMSupportsCS8.java.i
-data/test/sun/tools/jhat/hprof.bin.i
-data/test/java/rmi/activation/ActivationSystem/activeGroup/security.policy.i
+data/test/sun/nio/cs/X11CNS11643.java.i
+data/make/tools/swing-beans/beaninfo/images/JToggleButtonColor32.gif.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/jibxhelpers/CanvasMapper.java.i
-data/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java.i
+data/src/share/classes/sun/tools/jstat/ColumnFormat.java.i
data/src/solaris/native/sun/security/jgss/wrapper/NativeFunc.c.i
-data/src/share/classes/sun/security/pkcs11/wrapper/CK_INFO.java.i
-data/test/java/util/Locale/data/deflocale.input.i
+data/src/share/classes/java/beans/package.html.i
+data/test/java/lang/Runtime/exec/setcwd.sh.i
+data/test/sun/misc/Encode/DecodeBuffer.java.i
data/test/java/net/Authenticator/B4921848.java.i
data/src/share/native/sun/font/layout/ContextualGlyphSubstProc.cpp.i
data/src/share/classes/sun/tools/serialver/serialver_zh_CN.properties.i
data/test/java/nio/file/FileStore/Basic.java.i
data/src/share/classes/sun/util/resources/CalendarData_hi.properties.i
data/src/windows/native/sun/windows/awt_Label.h.i
-data/src/share/native/com/sun/java/util/jar/pack/bytes.cpp.i
-data/test/sun/tools/jstat/jstatLineCounts3.sh.i
+data/test/javax/management/remote/mandatory/subjectDelegation/SubjectDelegation3Test.java.i
+data/test/java/io/PipedWriter/ConnectAfterReaderClose.java.i
+data/src/share/classes/java/util/prefs/PreferenceChangeListener.java.i
data/test/java/lang/instrument/appendToClassLoaderSearch/CircularityErrorTest.java.i
data/test/com/sun/jdi/ResumeOneThreadTest.java.i
data/src/share/classes/java/text/spi/CollatorProvider.java.i
data/test/sun/misc/CopyMemory.java.i
data/test/java/beans/Introspector/4168475/Test4168475.java.i
-data/test/sun/security/provider/PolicyParser/UnresolvedProperty.policy.i
data/test/javax/management/eventService/LeaseManagerDeadlockTest.java.i
data/src/windows/native/sun/windows/awt_Rectangle.h.i
-data/src/windows/classes/java/net/TwoStacksPlainSocketImpl.java.i
+data/test/java/beans/beancontext/Test4132698.java.i
data/src/share/classes/sun/util/resources/CalendarData_sl.properties.i
-data/make/altclasses/Makefile.i
+data/src/share/classes/java/lang/Comparable.java.i
data/test/sun/net/www/protocol/file/NonUTF8EncodedChar.java.i
+data/test/java/awt/regtesthelpers/process/ProcessResults.java.i
data/src/share/classes/sun/net/www/content/image/jpeg.java.i
-data/test/java/util/concurrent/ThreadPoolExecutor/ShutdownNowExecuteRace.java.i
+data/src/share/classes/java/nio/file/SimpleFileVisitor.java.i
data/test/java/util/Formatter/BasicBigInteger.java.i
data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Redirect.java.i
-data/src/share/native/sun/font/layout/ExtensionSubtables.h.i
+data/src/share/classes/sun/net/httpserver/Code.java.i
data/src/share/classes/sun/security/rsa/RSASignature.java.i
data/src/share/classes/sun/tools/native2ascii/A2NFilter.java.i
data/src/share/classes/java/awt/event/InputEvent.java.i
data/test/java/rmi/server/RemoteServer/AddrInUse.java.i
-data/src/share/classes/javax/management/timer/TimerAlarmClockNotification.java.i
+data/src/share/classes/javax/management/event/EventClientDelegateMBean.java.i
data/src/share/native/java/util/zip/zlib-1.2.3/ChangeLog.i
-data/test/javax/crypto/SecretKeyFactory/P1.jar.i
+data/src/share/classes/sun/management/snmp/package.html.i
data/src/share/classes/com/sun/tools/example/debug/gui/ClassTreeTool.java.i
data/src/share/native/sun/security/jgss/wrapper/NativeUtil.c.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDeviceInfo.java.i
-data/test/java/awt/FileDialog/FileDialogReturnTest/FileDialogReturnTest.java.i
+data/src/share/classes/sun/reflect/generics/tree/DoubleSignature.java.i
data/src/share/native/sun/java2d/cmm/lcms/cmspcs.c.i
data/src/share/classes/javax/swing/JPasswordField.java.i
data/src/share/classes/sun/java2d/loops/TransformHelper.java.i
data/test/sun/awt/image/ImageRepresentation/LUTCompareTest.java.i
data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/java.policy.fail.i
data/src/share/classes/com/sun/jmx/mbeanserver/MBeanAnalyzer.java.i
-data/test/java/lang/instrument/AppendToBootstrapClassPathTest.java.i
-data/src/share/classes/javax/management/remote/package.html.i
+data/src/share/classes/javax/naming/event/NamingEvent.java.i
+data/test/sun/security/provider/SeedGenerator/Priority_Inversion.java.i
data/src/share/classes/com/sun/jmx/snmp/SnmpScopedPduBulk.java.i
data/test/sun/security/krb5/auto/W83.java.i
data/test/java/net/Authenticator/BasicTest4.java.i
@@ -16383,14 +16471,14 @@ data/src/windows/hpi/src/system_md.c.i
data/test/java/awt/event/MouseEvent/SmoothWheel/SmoothWheel.java.i
data/src/share/native/com/sun/java/util/jar/pack/bands.cpp.i
data/src/solaris/native/common/jni_util_md.c.i
-data/src/share/classes/com/sun/jmx/snmp/IPAcl/ASCII_CharStream.java.i
+data/src/share/classes/sun/security/krb5/internal/ccache/FileCCacheConstants.java.i
data/src/share/classes/java/nio/file/attribute/AclEntryType.java.i
data/test/java/lang/StrictMath/Log1pTests.java.i
data/src/solaris/native/sun/awt/gtk2_interface.h.i
data/src/share/classes/javax/swing/plaf/multi/MultiToolTipUI.java.i
data/test/java/beans/PropertyEditor/TestDoubleClass.java.i
data/test/java/io/Serializable/subclassGC/SubclassOfOOS.java.i
-data/src/share/instrument/JPLISAgent.h.i
+data/test/sun/net/www/ParseUtil_6478588.java.i
data/test/sun/security/provider/PolicyParser/PrincipalExpansionError.policy.i
data/test/javax/crypto/NullCipher/TestNPE.java.i
data/src/share/classes/com/sun/jdi/event/VMDeathEvent.java.i
@@ -16400,65 +16488,66 @@ data/src/share/demo/jfc/SampleTree/SampleTreeModel.java.i
data/src/share/classes/sun/print/resources/serviceui_zh_CN.properties.i
data/test/org/openjdk/jigsaw/_Configurator.java.i
data/src/share/classes/javax/accessibility/AccessibleTable.java.i
+data/test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport_Stub.java.i
data/test/java/security/ProtectionDomain/AllPerm.java.i
data/src/share/classes/java/io/DeleteOnExitHook.java.i
data/test/com/sun/net/httpserver/Test1.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthFormattedTextFieldUI.java.i
-data/src/share/native/sun/font/layout/CanonShaping.h.i
-data/test/sun/rmi/rmic/newrmic/equivalence/TestInterface.java.i
+data/src/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_CN.properties.i
data/src/share/classes/sun/util/logging/PlatformLogger.java.i
-data/src/share/native/com/sun/tools/jdi/SharedMemoryTransport.c.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpU16U16Func.c.i
+data/test/java/security/KeyStore/keystore.jks.i
data/src/share/native/sun/font/fontscaler.h.i
data/src/share/classes/com/sun/servicetag/resources/register.html.i
-data/test/sun/security/pkcs11/KeyGenerator/DESParity.java.i
+data/src/share/demo/jvmti/heapViewer/sample.makefile.txt.i
data/src/share/classes/javax/swing/MutableComboBoxModel.java.i
data/test/java/net/URLClassLoader/sealing/CheckSealed.java.i
data/src/windows/classes/java/net/DualStackPlainSocketImpl.java.i
-data/test/com/sun/security/sasl/digest/AuthRealms.java.i
data/test/java/io/File/Mkdir.java.i
data/src/windows/native/java/net/NetworkInterface_win9x.c.i
data/test/java/rmi/server/UnicastRemoteObject/useDynamicProxies/UseDynamicProxies_Stub.java.i
+data/test/java/nio/Buffer/BasicChar.java.i
data/src/share/classes/sun/reflect/generics/tree/FormalTypeParameter.java.i
data/src/share/classes/javax/swing/plaf/ColorUIResource.java.i
data/src/share/classes/com/sun/tools/jdi/ShortTypeImpl.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_mt_MT.properties.i
data/test/java/lang/StringBuffer/SetLength.java.i
data/test/sun/security/krb5/auto/CrossRealm.java.i
-data/src/share/classes/sun/management/resources/agent_zh_TW.properties.i
+data/src/share/classes/com/sun/tools/example/debug/tty/ThreadIterator.java.i
+data/src/share/classes/sun/text/resources/FormatData_sr_BA.java.i
data/test/javax/swing/JSlider/6278700/bug6278700.java.i
data/src/solaris/classes/sun/misc/OSEnvironment.java.i
data/test/java/security/CodeSource/Implies.java.i
data/test/javax/swing/border/Test4129681.html.i
data/src/share/native/sun/awt/medialib/mlib_c_ImageAffine_NN.c.i
data/src/share/classes/java/awt/event/MouseWheelEvent.java.i
-data/test/sun/net/util/IPAddressUtilTest.java.i
-data/src/share/classes/sun/io/MalformedInputException.java.i
-data/src/share/classes/sun/tools/java/Environment.java.i
+data/test/sun/security/x509/X509CRLImpl/UnexpectedNPE.java.i
+data/test/sun/java2d/cmm/ColorConvertOp/ColConvDCMTest.java.i
+data/test/java/rmi/MarshalledObject/compare/annotatedRef.i
data/src/windows/classes/sun/security/krb5/internal/tools/Kinit.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_sr_CS.properties.i
-data/src/share/classes/com/sun/tools/jdi/BooleanValueImpl.java.i
+data/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetPropertyInfo.java.i
data/test/java/awt/FileDialog/DefaultFocusOwner/DefaultFocusOwner.java.i
-data/src/share/classes/sun/rmi/server/WeakClassHashMap.java.i
+data/src/share/classes/javax/swing/plaf/synth/SynthTextPaneUI.java.i
data/src/share/classes/com/sun/tools/example/debug/bdi/SpecListener.java.i
data/src/share/demo/jfc/TableExample/TableExample2.java.i
data/test/java/nio/file/Path/PassThroughFileSystem.java.i
data/test/javax/security/auth/PrivateCredentialPermission/Serial.java.i
data/test/java/lang/instrument/AddTransformerTest.java.i
-data/test/java/nio/channels/FileChannel/Size.java.i
-data/make/tools/CharsetMapping/MS932.map.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/spi/ProviderInit.java.i
data/src/share/classes/sun/text/resources/CollationData_da.java.i
data/src/share/npt/utf.h.i
data/src/share/classes/sun/nio/cs/ext/DelegatableDecoder.java.i
-data/src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_ja.java.i
+data/test/java/rmi/activation/ActivationSystem/modifyDescriptor/rmid.security.policy.i
data/test/java/rmi/activation/Activatable/checkImplClassLoader/ActivatableImpl.java.i
data/src/share/classes/sun/tools/jar/resources/jar_it.properties.i
data/src/solaris/classes/sun/awt/motif/MMenuItemPeer.java.i
-data/src/share/classes/javax/naming/CannotProceedException.java.i
+data/src/share/classes/java/security/cert/CertStore.java.i
+data/test/javax/management/MBeanServer/NewMBeanListenerTest.java.i
data/test/java/nio/channels/Channels/ShortWrite.java.i
data/test/sun/tools/jps/jps-l_Output2.awk.i
data/src/share/classes/java/awt/doc-files/GridLayout-1.gif.i
data/test/java/awt/Focus/DeiconifiedFrameLoosesFocus/DeiconifiedFrameLoosesFocus.html.i
-data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/RadialGradient.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509KeyManager/SelectOneKeyOutOfMany.java.i
data/test/sun/rmi/rmic/covariantReturns/G5.java.i
data/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDSource.java.i
@@ -16467,26 +16556,26 @@ data/test/java/util/ResourceBundle/Bug6299235Test.sh.i
data/test/java/rmi/activation/Activatable/checkAnnotations/CheckAnnotations.java.i
data/test/java/beans/Introspector/Test6447751.java.i
data/test/sun/net/www/protocol/http/TunnelThroughProxy.java.i
-data/src/share/demo/nbproject/scripting/jconsole-plugin/nbproject/jdk.xml.i
+data/test/java/io/Serializable/InvalidClassException/noargctor/Serialize/SamePackageCtor.java.i
+data/test/java/util/concurrent/Exchanger/ExchangeLoops.java.i
data/test/java/awt/Frame/LayoutOnMaximizeTest/LayoutOnMaximizeTest.java.i
data/src/share/classes/javax/management/openmbean/OpenMBeanInfoSupport.java.i
data/test/java/nio/channels/AsynchronousServerSocketChannel/java.policy.deny.i
-data/src/solaris/native/sun/java2d/loops/mlib_v_ImageConstXor.c.i
-data/src/solaris/native/sun/java2d/loops/vis_ByteIndexed.c.i
+data/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/ComSSLContextImpl.java.i
data/src/share/classes/sun/net/httpserver/HttpsExchangeImpl.java.i
-data/src/share/classes/com/sun/tools/hat/internal/model/AbstractJavaHeapObjectVisitor.java.i
+data/test/java/util/concurrent/ScheduledThreadPoolExecutor/DecorateTask.java.i
data/src/share/classes/sun/text/resources/CollationData_ca.java.i
data/src/share/classes/sun/java2d/DefaultDisposerRecord.java.i
data/src/share/classes/sun/security/x509/DistributionPoint.java.i
-data/test/com/sun/jdi/CountFilterTest.java.i
+data/test/java/util/Locale/serialized/java6locale_th_TH_TH.i
data/test/java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.java.i
data/src/share/classes/sun/io/ByteToCharCp500.java.i
data/test/javax/management/remote/mandatory/version/ImplVersionTest.java.i
-data/src/share/demo/management/VerboseGC/README.txt.i
+data/src/share/classes/sun/security/pkcs11/wrapper/CK_LOCKMUTEX.java.i
data/make/java/text/base/Makefile.i
data/test/java/awt/Window/WindowType/WindowType.java.i
data/src/share/native/sun/security/smartcardio/pcsc.c.i
-data/src/share/demo/scripting/jconsole-plugin/src/scripts/hello.js.i
+data/src/share/classes/javax/sound/sampled/spi/MixerProvider.java.i
data/test/java/util/EnumMap/SimpleSerialization.java.i
data/src/share/classes/java/lang/reflect/Array.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315OmitComments.java.i
@@ -16502,51 +16591,53 @@ data/test/sun/tools/native2ascii/test2.i
data/make/tools/swing-beans/beaninfo/images/JSplitPaneMono32.gif.i
data/src/share/classes/javax/swing/plaf/synth/DefaultMenuLayout.java.i
data/test/java/util/ResourceBundle/Control/Chinese_zh_TW.properties.i
+data/src/share/sample/nio/chatserver/NameReader.java.i
data/src/share/classes/sun/management/snmp/jvmmib/EnumJvmThreadContentionMonitoring.java.i
data/test/sun/awt/font/ClassLoaderLeakTest.java.i
-data/src/share/native/sun/java2d/cmm/lcms/cmsvirt.c.i
-data/src/share/classes/javax/print/attribute/standard/PrinterMoreInfoManufacturer.java.i
+data/src/share/classes/javax/swing/tree/AbstractLayoutCache.java.i
+data/test/javax/management/MBeanServer/PostRegisterDeadlockTest2.java.i
+data/make/modules/modules.properties.i
data/test/javax/management/mxbean/TypeNameTest.java.i
data/src/share/classes/com/sun/tools/hat/internal/server/PlatformClasses.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ServerHandshaker/GetPeerHostClient.java.i
data/src/share/classes/sun/io/ByteToCharEUC_JP_LINUX.java.i
data/src/solaris/classes/sun/nio/fs/LinuxWatchService.java.i
data/test/java/awt/image/BufferedImage/TinyScale.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_it_CH.properties.i
-data/src/share/classes/java/rmi/ServerError.java.i
+data/test/com/sun/jdi/MixedSuspendTest.sh.i
data/test/javax/swing/SwingWorker/6493680/bug6493680.java.i
+data/src/share/classes/java/awt/image/RasterFormatException.java.i
data/src/share/classes/sun/security/tools/JarSignerResources_zh_CN.java.i
-data/src/share/native/sun/security/ec/impl/mpprime.h.i
+data/src/windows/native/sun/windows/awt_Checkbox.cpp.i
+data/src/share/classes/sun/beans/editors/IntegerEditor.java.i
data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/ExtendedKeySocket.java.i
data/test/java/lang/annotation/TestIncompleteAnnotationExceptionNPE.java.i
data/src/share/native/java/lang/fdlibm/src/e_acos.c.i
data/test/java/lang/Math/Tests.java.i
-data/src/share/classes/sun/security/tools/PolicyTool.java.i
+data/test/sun/rmi/rmic/newrmic/equivalence/TestInterface.java.i
data/src/share/classes/java/util/concurrent/ConcurrentSkipListMap.java.i
data/src/share/classes/sun/tools/tree/InlineNewInstanceExpression.java.i
-data/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html.i
+data/src/share/native/java/lang/Throwable.c.i
data/src/share/classes/sun/nio/cs/ext/DoubleByteEncoder.java.i
data/src/share/classes/java/awt/Graphics2D.java.i
data/test/javax/swing/plaf/synth/Test6660049.java.i
data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/ClosedStreams.java.i
-data/src/share/classes/javax/accessibility/AccessibleStreamable.java.i
+data/src/windows/native/sun/windows/awt_Pen.h.i
data/src/linux/doc/man/ja/pack200.1.i
-data/test/javax/imageio/plugins/png/ItxtUtf8Test.java.i
+data/test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/KeepAliveDuringCall_Stub.java.i
data/test/java/nio/charset/Charset/NIOCharsetAvailabilityTest.java.i
-data/src/share/classes/java/awt/geom/FlatteningPathIterator.java.i
+data/test/sun/security/util/DerValue/EmptyValue.java.i
data/test/javax/management/remote/mandatory/notif/NotifBufferSizePropertyNameTest.java.i
-data/src/share/classes/sun/print/SunAlternateMedia.java.i
+data/src/share/classes/com/sun/tools/hat/internal/oql/OQLEngine.java.i
data/test/java/io/Serializable/stopCustomDeserialization/Read.java.i
data/src/share/classes/com/sun/imageio/plugins/png/PNGImageWriterSpi.java.i
-data/src/share/classes/java/rmi/server/RemoteCall.java.i
+data/test/java/io/Serializable/lookupInterfaceDesc/LookupInterfaceDesc.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/internal/ColumnWidthCalculator.java.i
data/test/javax/xml/crypto/dsig/data/certs/user.crt.i
data/src/share/classes/sun/awt/image/SunVolatileImage.java.i
data/src/share/classes/java/beans/VetoableChangeSupport.java.i
data/test/java/lang/management/MXBean/MXBeanBehavior.java.i
-data/test/java/lang/Class/getDeclaredClasses/TypeTag.java.i
data/src/share/classes/sun/launcher/resources/launcher_zh_TW.properties.i
-data/src/share/classes/sun/io/CharToByteMacThai.java.i
+data/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Read.java.i
data/test/java/rmi/server/RemoteServer/setLogPermission/SetLogPermission.java.i
data/src/share/classes/com/sun/crypto/provider/PCBC.java.i
data/test/java/io/charStreams/LineLengths.java.i
@@ -16564,9 +16655,10 @@ data/src/linux/doc/man/ja/jmap.1.i
data/test/javax/smartcardio/TestCommandAPDU.java.i
data/src/share/classes/javax/swing/plaf/nimbus/LoweredBorder.java.i
data/src/share/classes/java/awt/font/TextJustifier.java.i
-data/src/share/classes/java/lang/ClassCastException.java.i
+data/test/java/io/DataInputStream/ReadUTF.java.i
+data/test/sun/jvmstat/monitor/MonitoredVm/CR6672135.java.i
data/test/sun/security/ssl/javax/net/ssl/TLSv11/GenericBlockCipher.java.i
-data/test/java/beans/XMLEncoder/java_util_Collections_EmptySet.java.i
+data/src/share/classes/java/awt/ScrollPane.java.i
data/test/java/net/PortUnreachableException/Concurrent.java.i
data/src/share/classes/sun/nio/cs/ext/IBM1149.java.i
data/src/share/classes/javax/accessibility/AccessibleIcon.java.i
@@ -16574,13 +16666,16 @@ data/src/share/classes/java/nio/channels/Channels.java.i
data/test/java/util/ResourceBundle/Bug4179766Resource.java.i
data/src/solaris/back/path_md.h.i
data/test/java/beans/XMLDecoder/spec/TestArray.java.i
-data/test/org/openjdk/jigsaw/MockLibrary.java.i
+data/src/share/demo/nbproject/jfc/SwingApplet/nbproject/netbeans-targets.xml.i
+data/test/sun/tools/jps/jps-Vvml_2.sh.i
data/src/share/demo/applets/MoleculeViewer/models/ethane.xyz.i
data/test/java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.html.i
data/test/java/net/Socket/RST.java.i
-data/make/tools/src/build/tools/automulti/README.txt.i
+data/src/share/classes/sun/nio/ch/Invoker.java.i
data/test/com/sun/jdi/AfterThreadDeathTest.java.i
-data/src/share/native/sun/misc/VMSupport.c.i
+data/src/share/classes/sun/text/resources/FormatData_ar_JO.java.i
+data/src/share/native/sun/java2d/loops/MaskBlit.c.i
+data/src/share/classes/sun/security/action/LoadLibraryAction.java.i
data/src/share/classes/sun/security/pkcs11/wrapper/CK_SSL3_KEY_MAT_OUT.java.i
data/src/windows/classes/sun/nio/ch/SourceChannelImpl.java.i
data/src/linux/doc/man/jrunscript.1.i
@@ -16593,23 +16688,25 @@ data/test/sun/tools/jstat/jstatTimeStamp1.sh.i
data/src/share/native/sun/awt/debug/debug_trace.h.i
data/src/windows/native/sun/nio/ch/WindowsSelectorImpl.c.i
data/test/java/lang/Float/Constants.java.i
+data/src/share/classes/java/awt/dnd/DropTargetListener.java.i
data/test/java/security/ProtectionDomain/Recursion.policy.i
data/src/share/classes/sun/net/www/protocol/http/NegotiatorImpl.java.i
+data/src/share/classes/javax/management/monitor/GaugeMonitorMBean.java.i
data/test/java/util/PluggableLocale/providersrc/TimeZoneNameProviderImpl.java.i
data/test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/CompressOutputStream.java.i
-data/test/java/util/zip/Bounds.java.i
+data/src/share/classes/com/sun/java/swing/plaf/motif/MotifTextAreaUI.java.i
data/src/share/classes/java/lang/StringIndexOutOfBoundsException.java.i
+data/test/javax/management/MBeanInfo/NullInfoArraysTest.java.i
data/src/share/classes/sun/security/krb5/internal/HostAddresses.java.i
data/src/share/classes/sun/net/www/protocol/ftp/FtpURLConnection.java.i
data/test/javax/script/Test8.js.i
-data/src/windows/classes/sun/awt/windows/WRobotPeer.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/InvalidTransformException.java.i
+data/test/sun/tools/jstat/lineCounts4.awk.i
data/src/share/classes/com/sun/tools/example/debug/gui/SourceTool.java.i
data/src/share/classes/java/security/acl/LastOwnerException.java.i
data/src/solaris/native/sun/xawt/XWindow.c.i
data/test/java/util/PluggableLocale/providersrc/java.util.spi.LocaleNameProvider.i
data/test/java/util/logging/LoggingMXBeanTest2.java.i
-data/test/javax/script/DummyScriptEngine.java.i
+data/src/share/classes/javax/management/remote/package.html.i
data/test/java/lang/Boolean/ParseBoolean.java.i
data/src/share/classes/java/awt/font/FontRenderContext.java.i
data/src/solaris/native/sun/nio/ch/SctpServerChannelImpl.c.i
@@ -16617,123 +16714,120 @@ data/make/mkdemo/jfc/Metalworks/Makefile.i
data/src/share/classes/sun/util/resources/CalendarData_sq.properties.i
data/src/share/classes/javax/crypto/Mac.java.i
data/src/share/demo/applets/WireFrame/example3.html.i
+data/test/com/sun/jdi/TemplateTest.java.i
data/test/sun/management/jmxremote/bootstrap/rmiregistry.properties.i
data/src/share/classes/java/awt/dnd/peer/DragSourceContextPeer.java.i
data/src/windows/classes/sun/awt/windows/WToolkit.java.i
data/src/share/classes/java/text/DictionaryBasedBreakIterator.java.i
data/src/share/classes/javax/security/auth/callback/UnsupportedCallbackException.java.i
-data/src/share/classes/sun/reflect/annotation/TypeNotPresentExceptionProxy.java.i
+data/src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii.java.i
data/test/com/sun/servicetag/SvcTagClient.java.i
data/src/share/classes/javax/print/event/PrintServiceAttributeEvent.java.i
-data/src/share/classes/com/sun/security/sasl/digest/SecurityCtx.java.i
+data/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream.java.i
data/test/java/rmi/activation/ActivateFailedException/activateFails/ActivateFails_Stub.java.i
-data/src/share/classes/sun/tools/tree/ReturnStatement.java.i
+data/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstrument.java.i
data/make/tools/src/build/tools/javazic/Simple.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicRadioButtonUI.java.i
data/src/linux/doc/man/ja/jinfo.1.i
data/src/share/classes/sun/awt/image/ByteBandedRaster.java.i
data/src/share/native/sun/font/layout/KhmerReordering.h.i
+data/src/share/classes/sun/management/resources/agent_zh_TW.properties.i
data/src/share/classes/sun/io/ByteToCharCp1122.java.i
data/test/java/util/Formatter/BasicDoubleObject.java.i
-data/make/tools/src/build/tools/fontchecker/README.txt.i
-data/src/share/classes/sun/rmi/server/resources/rmid_es.properties.i
-data/src/share/classes/javax/sql/rowset/serial/SerialArray.java.i
+data/src/share/classes/javax/management/monitor/StringMonitorMBean.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/OptionArgumentConversionException.java.i
-data/test/com/sun/jdi/connect/spi/Foo.java.i
-data/src/windows/classes/sun/awt/windows/WCustomCursor.java.i
+data/test/java/util/Locale/Bug4184873_yi.i
+data/src/solaris/native/java/io/io_util_md.h.i
+data/test/java/awt/font/NumericShaper/EqualsTest.java.i
+data/test/sun/security/ssl/sanity/pluggability/CheckSockFacExport2.java.i
data/test/com/sun/jdi/RedefinePop.sh.i
data/src/share/native/sun/security/pkcs11/wrapper/pkcs11t.h.i
data/src/share/classes/java/awt/image/renderable/ContextualRenderedImageFactory.java.i
-data/src/share/classes/com/sun/tools/hat/internal/util/ArraySorter.java.i
+data/src/share/classes/com/sun/jmx/snmp/internal/SnmpSecurityModel.java.i
data/src/share/classes/java/awt/image/DataBufferFloat.java.i
data/src/share/classes/javax/swing/table/DefaultTableCellRenderer.java.i
data/test/sun/text/resources/Collator/Bug6755060.java.i
-data/src/share/classes/com/sun/security/sasl/ExternalClient.java.i
data/src/share/classes/com/sun/crypto/provider/DESConstants.java.i
data/test/com/sun/jdi/redefine/Different_RedefineSubTarg.java.i
data/src/share/classes/sun/applet/AppletObjectInputStream.java.i
-data/src/share/classes/sun/awt/Symbol.java.i
+data/test/java/beans/XMLEncoder/Bean.java.i
data/src/share/demo/applets/SimpleGraph/GraphApplet.java.i
-data/test/java/security/cert/CertPathValidatorException/GetMessage.java.i
data/test/java/rmi/server/serverStackTrace/SuppressStackTraces.java.i
data/test/java/rmi/activation/ActivationSystem/activeGroup/IdempotentActiveGroup.java.i
data/src/share/demo/jfc/SwingApplet/SwingApplet.html.i
data/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html.i
data/test/org/openjdk/jigsaw/cli/JpkgArgsTest.java.i
-data/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiUtils.c.i
-data/test/java/rmi/server/RMIClassLoader/loadProxyClasses/FnnClass.java.i
+data/test/javax/crypto/Cipher/Turkish.java.i
data/src/windows/native/sun/java2d/d3d/D3DTestRaster.h.i
data/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java.i
-data/src/share/classes/com/sun/jmx/namespace/RoutingConnectionProxy.java.i
+data/src/linux/doc/man/ja/jstack.1.i
data/src/share/classes/javax/crypto/ExemptionMechanism.java.i
data/src/solaris/classes/sun/awt/X11/XMenuWindow.java.i
-data/src/windows/bin/java-rmi.c.i
+data/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java.i
data/make/tools/reorder/tools/Combine.java.i
-data/test/java/beans/PropertyEditor/TestStringClassNull.java.i
data/test/java/util/ResourceBundle/Bug4257318Res.java.i
data/src/share/classes/java/util/concurrent/LinkedBlockingDeque.java.i
-data/make/java/hpi/windows/Makefile.i
+data/test/java/security/cert/CertPathBuilder/selfIssued/StatusLoopDependency.java.i
data/src/share/native/sun/awt/medialib/mlib_image.h.i
data/test/java/util/Formatter/BasicBoolean.java.i
data/src/share/classes/sun/invoke/package-info.java.i
-data/src/share/classes/javax/swing/DebugGraphicsFilter.java.i
-data/src/share/classes/java/lang/reflect/GenericSignatureFormatError.java.i
+data/src/share/classes/java/lang/IllegalStateException.java.i
data/src/windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java.i
data/src/share/classes/java/awt/font/TextLine.java.i
-data/test/sun/security/x509/X509CRLImpl/UnexpectedNPE.java.i
-data/src/share/back/commonRef.c.i
+data/test/java/beans/EventHandler/Test6277266.java.i
+data/src/share/classes/sun/util/resources/CalendarData_vi.properties.i
data/test/javax/imageio/metadata/BooleanAttributes.java.i
data/src/share/classes/javax/print/attribute/standard/MediaTray.java.i
data/src/share/classes/com/sun/jdi/connect/package.html.i
data/src/share/classes/com/sun/crypto/provider/PKCS12PBECipherCore.java.i
data/test/java/lang/ProcessBuilder/Zombies.java.i
-data/src/share/classes/java/lang/management/MemoryManagerMXBean.java.i
+data/test/javax/management/mxbean/RandomMXBeanTest.java.i
data/test/sun/security/pkcs11/nss/lib/solaris-amd64/libsoftokn3.so.d
-data/src/share/native/sun/management/management.c.i
-data/src/share/classes/com/sun/jmx/snmp/agent/SnmpRequestTree.java.i
-data/src/share/classes/javax/sound/midi/Soundbank.java.i
+data/src/share/classes/sun/io/MalformedInputException.java.i
+data/src/share/classes/sun/tools/jconsole/inspector/XMBean.java.i
+data/src/share/classes/javax/print/attribute/standard/PagesPerMinute.java.i
data/src/share/classes/sun/tracing/MultiplexProviderFactory.java.i
-data/src/share/classes/com/sun/tools/example/debug/tty/VMConnection.java.i
+data/test/java/text/BreakIterator/ExceptionTest.java.i
data/src/windows/native/sun/jkernel/DownloadHelper.cpp.i
data/src/share/classes/javax/management/namespace/JMXNamespacePermission.java.i
+data/test/sun/security/provider/PolicyParser/ExtDirsA/a.jar.i
data/src/share/classes/sun/applet/AppletSecurityException.java.i
data/src/share/classes/sun/security/ssl/SSLServerSocketImpl.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmThreadInstanceTableMeta.java.i
data/test/java/io/Serializable/expectedStackTrace/ExpectedStackTrace.java.i
data/src/solaris/classes/sun/java2d/opengl/GLXVolatileSurfaceManager.java.i
data/test/javax/sound/midi/Gervill/ModelByteBuffer/Load.java.i
-data/src/share/classes/com/sun/media/sound/SoftLimiter.java.i
+data/src/solaris/native/sun/jdga/dgalock.c.i
data/src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageWriterSpi.java.i
data/test/javax/swing/JLabel/6596966/bug6596966.java.i
-data/src/share/classes/sun/io/ByteToCharCp1098.java.i
+data/src/share/classes/com/sun/tools/jdi/BooleanValueImpl.java.i
data/test/sun/net/www/protocol/http/B6660405.java.i
data/test/sun/security/smartcardio/TestChannel.java.i
data/test/sun/management/jmxremote/bootstrap/management_ssltest11_ok.properties.in.i
data/src/share/classes/sun/io/CharToByteConverter.java.i
-data/make/netbeans/j2se/nbproject/project.xml.i
+data/src/share/classes/javax/sound/midi/Soundbank.java.i
data/test/sun/security/util/Resources/Format.policy.i
data/src/share/classes/java/awt/datatransfer/SystemFlavorMap.java.i
data/src/share/classes/javax/security/auth/login/AppConfigurationEntry.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/IdResolver.java.i
data/test/sun/net/www/protocol/jar/jarbug/etc/jar1/jar1/bundle.properties.i
data/test/java/io/Serializable/accessConstants/AccessConstants.java.i
data/test/java/io/File/IsHidden.java.i
data/src/solaris/native/com/sun/security/auth/module/Solaris.c.i
data/src/windows/native/sun/windows/awt_TextField.h.i
-data/test/java/lang/management/ThreadMXBean/AllThreadIds.java.i
+data/src/share/classes/sun/rmi/server/WeakClassHashMap.java.i
data/test/java/lang/System/System.policy.i
data/src/share/classes/javax/swing/plaf/multi/MultiTabbedPaneUI.java.i
data/test/java/security/cert/CertificateFactory/openssl/OpenSSLCert.java.i
data/test/java/awt/EventQueue/6638195/bug6638195.java.i
data/src/share/classes/sun/tools/tree/PostDecExpression.java.i
-data/src/share/classes/javax/swing/plaf/metal/MetalDesktopIconUI.java.i
+data/test/java/io/Serializable/enum/ignoreSerializationMethods/Test.java.i
data/src/windows/native/sun/io/Win32ErrorMode.c.i
data/src/share/classes/com/sun/jdi/event/MonitorContendedEnterEvent.java.i
data/test/java/awt/im/4959409/bug4959409.html.i
data/test/org/openjdk/jigsaw/cli/ee-cert.pem.i
-data/src/share/classes/com/sun/imageio/plugins/jpeg/DHTMarkerSegment.java.i
-data/src/share/classes/sun/io/CharToByteCp850.java.i
-data/src/share/classes/sun/management/Agent.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/package.html.i
+data/src/share/classes/java/awt/AttributeValue.java.i
+data/test/javax/management/namespace/ExportNamespaceTest.java.i
data/src/share/classes/sun/awt/datatransfer/SunClipboard.java.i
data/.hgtags.i
data/src/windows/native/sun/nio/ch/FileChannelImpl.c.i
@@ -16747,66 +16841,62 @@ data/src/share/classes/java/awt/PrintJob.java.i
data/test/javax/security/auth/login/Configuration/ConfigFileWithBlank.java.i
data/test/sun/rmi/runtime/Log/6409194/NoConsoleOutput.java.i
data/test/java/lang/Runtime/exec/ExecWithDir.java.i
-data/test/org/openjdk/jigsaw/cli/ImportPrivateKey.java.i
+data/test/java/net/SocketPermission/Ctor.java.i
data/test/java/awt/im/4490692/bug4490692.html.i
data/make/modules/imagine.sh.i
data/src/share/classes/sun/reflect/UnsafeStaticIntegerFieldAccessorImpl.java.i
-data/src/share/classes/java/lang/AssertionStatusDirectives.java.i
+data/test/java/nio/charset/RemovingSunIO/SunioAlias.java.i
data/make/common/Release-embedded.gmk.i
data/src/share/classes/javax/swing/plaf/basic/package.html.i
data/test/sun/tools/jrunscript/dash-f.out.i
data/test/sun/security/provider/certpath/SunCertPathBuilderExceptionTest.java.i
-data/src/solaris/classes/sun/awt/motif/X11GB18030_1.java.i
+data/src/windows/native/sun/java2d/d3d/D3DRuntimeTest.h.i
data/test/com/sun/security/auth/login/ConfigFile/PropertyExpansion.config.i
-data/test/java/util/ResourceBundle/Bug4083270Test.properties.i
+data/src/share/classes/java/security/AlgorithmParameterGenerator.java.i
data/src/share/demo/nbproject/jfc/Font2DTest/build.properties.i
-data/src/share/classes/sun/dyn/util/VerifyAccess.java.i
-data/src/share/classes/javax/swing/CellRendererPane.java.i
+data/make/tools/CharsetMapping/MS932.map.i
data/test/sun/tools/jhat/HelloWorld.java.i
data/test/java/util/concurrent/ConcurrentHashMap/MapCheck.java.i
-data/src/windows/hpi/src/sys_api_md.c.i
data/test/java/rmi/server/RMIClassLoader/getClassAnnotation/NullClass.java.i
data/src/share/demo/jvmti/java_crw_demo/README.txt.i
-data/src/share/classes/com/sun/jdi/event/ThreadStartEvent.java.i
data/src/solaris/sample/dtrace/hotspot/README.txt.i
-data/test/java/util/zip/ZipFile/CopyJar.java.i
data/make/tools/CharsetMapping/IBM1026.map.i
data/src/solaris/native/sun/awt/awt_dnd.h.i
data/src/share/classes/sun/rmi/runtime/NewThreadAction.java.i
-data/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix.java.i
+data/src/solaris/doc/sun/man/man1/jdb.1.i
data/src/windows/native/sun/windows/awt_TextComponent.cpp.i
data/src/share/native/sun/awt/medialib/mlib_ImageDivTables.c.i
data/test/java/security/KeyRep/Serial.policy.i
-data/src/share/classes/com/sun/jndi/cosnaming/CorbanameUrl.java.i
+data/src/share/classes/java/dyn/package-info.java.i
data/src/share/classes/java/util/SortedMap.java.i
data/src/share/classes/javax/net/ssl/package.html.i
+data/test/java/rmi/Naming/UnderscoreHost_Stub.java.i
data/test/java/io/FileInputStream/Available.java.i
data/src/windows/classes/sun/security/mscapi/RSASignature.java.i
-data/src/share/classes/com/sun/jdi/InvalidStackFrameException.java.i
+data/test/java/io/Serializable/evolution/AddedSuperClass/README.i
data/test/java/rmi/server/RMIClassLoader/spi/ContextInsulation.java.i
-data/src/share/classes/com/sun/tools/hat/MANIFEST.mf.i
-data/test/sun/security/ec/keystore.i
+data/test/sun/rmi/rmic/newrmic/equivalence/G1.java.i
+data/src/share/classes/javax/swing/plaf/metal/MetalTabbedPaneUI.java.i
+data/test/java/rmi/activation/ActivationGroup/downloadActivationGroup/group.security.policy.i
data/src/share/classes/sun/print/resources/serviceui_es.properties.i
data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextRenderTests.java.i
data/src/share/native/sun/awt/image/jpeg/jdct.h.i
data/src/share/classes/sun/util/logging/resources/logging_sv.properties.i
-data/src/windows/native/sun/java2d/d3d/D3DTextRenderer.cpp.i
data/test/com/sun/jdi/InvokeHangTest.java.i
data/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_CN.properties.i
data/test/java/util/concurrent/FutureTask/LoopHelpers.java.i
data/src/share/native/sun/security/ec/ECC_JNI.cpp.i
-data/src/share/classes/sun/invoke/anon/AnonymousClassLoader.java.i
-data/src/share/native/java/lang/fdlibm/src/w_lgamma_r.c.i
+data/src/share/classes/sun/nio/cs/ext/IBM1026.java.i
data/test/sun/tools/jps/jps-v_Output1.awk.i
data/src/share/classes/sun/print/BackgroundLookupListener.java.i
-data/src/share/classes/sun/tools/java/ClassType.java.i
-data/src/share/classes/sun/security/pkcs10/PKCS10.java.i
+data/src/share/classes/sun/io/CharToByteCp850.java.i
+data/test/java/lang/instrument/RedefineMethodAddInvokeTarget_1.java.i
data/test/javax/management/remote/mandatory/loading/UserClassLoaderTest.java.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorStructureException.java.i
-data/test/sun/tools/jstatd/jstatdPort.sh.i
+data/test/javax/script/VersionTest.java.i
data/src/share/classes/com/sun/tools/hat/internal/model/JavaStatic.java.i
-data/src/share/demo/jfc/Metalworks/resources/MyTheme.theme.i
-data/src/share/classes/sun/tools/jstat/OptionLister.java.i
+data/src/share/classes/javax/sound/midi/MidiEvent.java.i
+data/test/java/nio/channels/Channels/Write.java.i
data/test/java/net/Authenticator/B4933582.java.i
data/src/share/classes/sun/print/resources/serviceui_ja.properties.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/MyKeyManager.java.i
@@ -16814,7 +16904,6 @@ data/src/share/classes/sun/security/provider/certpath/URICertStore.java.i
data/test/java/net/URL/RelativeURL.java.i
data/src/share/classes/com/sun/tools/example/debug/bdi/SourceNameReferenceTypeSpec.java.i
data/src/share/classes/sun/security/krb5/internal/util/KrbDataInputStream.java.i
-data/test/sun/awt/image/DrawByteBinary.java.i
data/src/share/classes/com/sun/crypto/provider/HmacMD5KeyGenerator.java.i
data/src/share/classes/sun/text/resources/CollationData_uk.java.i
data/src/share/classes/java/awt/font/TextMeasurer.java.i
@@ -16823,6 +16912,7 @@ data/test/java/lang/Long/GetLong.java.i
data/test/java/beans/Introspector/Test4948761.java.i
data/src/share/demo/jvmti/minst/Minst.java.i
data/src/share/native/sun/awt/image/cvutils/img_output8_16_32.h.i
+data/src/share/classes/javax/swing/filechooser/FileFilter.java.i
data/src/share/classes/sun/rmi/rmic/resources/rmic.properties.i
data/test/sun/java2d/X11SurfaceData/DrawImageBgTest/DrawImageBgTest.java.i
data/src/share/classes/javax/naming/ldap/PagedResultsResponseControl.java.i
@@ -16837,7 +16927,7 @@ data/make/common/shared/Compiler-sun.gmk.i
data/src/share/classes/sun/text/resources/CollationData_zh_TW.java.i
data/test/java/security/KeyRep/SerialOld.java.i
data/test/java/util/Formatter/Flush.java.i
-data/src/share/classes/javax/swing/plaf/LabelUI.java.i
+data/src/share/classes/javax/swing/plaf/metal/icons/ocean/minimize.gif.i
data/test/java/beans/PropertyEditor/TestShortTypeNull.java.i
data/src/share/classes/sun/swing/SwingLazyValue.java.i
data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/run_tests.sh.i
@@ -16848,15 +16938,14 @@ data/src/windows/classes/sun/awt/windows/WChoicePeer.java.i
data/src/share/classes/java/security/cert/PKIXReason.java.i
data/test/javax/management/notification/FilterExceptionTest.java.i
data/src/windows/native/sun/windows/awt_Brush.h.i
-data/src/share/classes/com/sun/tools/jdi/PacketStream.java.i
+data/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadAllInstruments.java.i
data/test/com/sun/net/httpserver/bugs/B6339483.java.i
-data/test/com/sun/management/ThreadMXBean/ThreadAllocatedMemoryArray.java.i
+data/src/share/classes/javax/swing/text/TabExpander.java.i
data/src/share/classes/javax/swing/ClientPropertyKey.java.i
data/test/javax/swing/Security/6938813/bug6938813.java.i
data/src/share/native/java/net/Inet4Address.c.i
-data/test/sun/security/provider/PolicyFile/CombinedPerms.policy.i
+data/src/share/native/sun/awt/image/cvutils/img_noscale.h.i
data/src/share/classes/javax/management/relation/InvalidRoleValueException.java.i
-data/src/share/classes/sun/tools/jstack/JStack.java.i
data/src/share/classes/java/io/RandomAccessFile.java.i
data/test/java/beans/XMLEncoder/Test5023552.java.i
data/src/windows/native/sun/java2d/d3d/D3DVertexCacher.cpp.i
@@ -16883,17 +16972,18 @@ data/src/share/classes/sun/io/CharToByteCp921.java.i
data/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFileLongLong.java.i
data/src/share/classes/sun/awt/image/ByteComponentRaster.java.i
data/test/javax/management/remote/mandatory/provider/ProviderTest.java.i
-data/src/share/classes/java/lang/doc-files/capsigma.gif.i
+data/test/sun/tools/jps/jps-Vvml_Output1.awk.i
data/src/share/native/sun/java2d/loops/Index12Gray.c.i
data/test/java/util/zip/ZipFile/Assortment.java.i
data/src/share/native/sun/awt/medialib/mlib_ImageAffine_BC_D64.c.i
data/src/share/classes/javax/swing/text/MaskFormatter.java.i
data/src/share/classes/sun/java2d/pipe/hw/AccelSurface.java.i
-data/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java.i
+data/src/share/classes/com/sun/net/ssl/SSLPermission.java.i
data/src/share/demo/jfc/Notepad/resources/copy.gif.i
+data/src/share/classes/sun/security/krb5/internal/crypto/dk/AesDkCrypto.java.i
data/src/share/classes/sun/io/ByteToCharCp937.java.i
data/make/netbeans/jarzip/build.properties.i
-data/src/share/demo/java2d/J2DBench/src/j2dbench/J2DBench.java.i
+data/src/share/classes/com/sun/jndi/ldap/LdapSchemaParser.java.i
data/src/share/classes/sun/beans/editors/FloatEditor.java.i
data/test/com/sun/jdi/AnyDebuggeeTest.java.i
data/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolCollectThreshdSupport.java.i
@@ -16903,26 +16993,24 @@ data/test/java/util/Objects/BasicObjectsTest.java.i
data/src/share/classes/java/util/concurrent/atomic/AtomicInteger.java.i
data/src/share/classes/sun/security/jgss/spi/MechanismFactory.java.i
data/test/javax/management/namespace/JMXRemoteNamespaceTest.java.i
-data/test/java/beans/XMLDecoder/spec/TestInt.java.i
data/src/share/classes/com/sun/jmx/snmp/internal/SnmpIncomingResponse.java.i
data/test/java/security/cert/GetInstance.java.i
data/src/share/classes/java/security/cert/CertPathBuilder.java.i
data/src/share/classes/org/openjdk/internal/joptsimple/internal/Column.java.i
-data/test/java/io/pathNames/win32/BadDriveLetter.java.i
+data/src/share/classes/sun/net/TelnetInputStream.java.i
data/test/java/beans/PropertyEditor/TestFloatClass.java.i
data/test/java/security/SecureClassLoader/TestClass.java.i
+data/test/javax/crypto/CryptoPermission/RC4AliasPermCheck.java.i
data/test/java/util/Arrays/ArrayObjectMethods.java.i
-data/src/share/classes/sun/security/ssl/Alerts.java.i
+data/make/tools/GenerateCharacter/CharacterDataUndefined.java.template.i
data/test/java/nio/channels/TestUtil.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ResourceResolverException.java.i
-data/test/sun/security/pkcs11/nss/lib/linux-amd64/libsoftokn3.so.d
+data/src/share/classes/javax/swing/tree/DefaultTreeCellRenderer.java.i
data/src/share/classes/java/awt/image/DataBufferInt.java.i
data/src/share/classes/sun/security/pkcs11/P11ECKeyFactory.java.i
-data/src/share/classes/com/sun/tools/jdi/VMListener.java.i
-data/src/share/classes/sun/java2d/pipe/BufferedOpCodes.java.i
-data/test/java/nio/channels/FileChannel/MapAssertions.java.i
+data/src/solaris/native/sun/java2d/loops/mlib_v_ImageConstXor.c.i
+data/test/sun/management/HotspotClassLoadingMBean/GetClassInitializationTime.java.i
+data/test/java/net/URLConnection/UNCTest.java.i
data/src/share/classes/sun/io/CharToByteISO8859_6.java.i
-data/src/share/demo/jfc/Notepad/README.txt.i
data/make/netbeans/common/java-data-native.ent.i
data/src/share/classes/sun/tools/tree/DivideExpression.java.i
data/src/share/native/sun/awt/image/cvutils/img_anycm.h.i
@@ -16930,56 +17018,56 @@ data/src/windows/hpi/src/linker_md.c.i
data/src/share/classes/sun/text/bidi/BidiLine.java.i
data/src/share/classes/sun/jvmstat/monitor/LongMonitor.java.i
data/src/share/classes/sun/util/resources/LocaleNames_bg.properties.i
-data/src/share/classes/sun/tools/jconsole/inspector/TableSorter.java.i
+data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/CloseTest.java.i
data/test/java/io/charStreams/ABCReader.java.i
-data/src/share/native/java/lang/fdlibm/src/s_matherr.c.i
+data/make/tools/CharsetMapping/IBM285.c2b.i
data/test/sun/tools/jps/jps-V_Output2.awk.i
-data/test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport_Stub.java.i
+data/test/java/lang/management/CompositeData/ThreadInfoCompositeData.java.i
data/src/share/classes/sun/util/resources/CalendarData_hr.properties.i
-data/test/javax/swing/JFileChooser/6524424/bug6524424.java.i
-data/test/java/io/Serializable/badSubstByReplace/BadSubstByReplace.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/resource/schema/xmldsig-core-schema.dtd.i
+data/src/share/classes/javax/print/MultiDocPrintService.java.i
+data/make/sun/javazic/tzdata/antarctica.i
+data/src/windows/classes/sun/java2d/windows/WinVolatileSurfaceManager.java.i
data/make/sun/dcpr/mapfile-vers.i
-data/test/org/openjdk/jigsaw/hello.sh.i
-data/src/share/classes/com/sun/jndi/dns/Header.java.i
+data/test/java/rmi/server/RMIClassLoader/spi/TestProvider2.java.i
+data/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java.i
data/test/org/openjdk/jigsaw/tester.sh.i
data/src/share/classes/sun/nio/cs/ext/IBM856.java.i
-data/test/java/lang/instrument/RedefineMethodAddInvokeAgent.java.i
+data/src/share/classes/com/sun/jdi/request/InvalidRequestStateException.java.i
data/src/solaris/doc/sun/man/man1/ja/jps.1.i
data/test/java/net/DatagramSocket/B6411513.java.i
+data/test/java/lang/instrument/ilib/Injector.java.i
data/src/windows/native/common/jdk_util_md.h.i
data/src/share/classes/java/dyn/BoundMethodHandle.java.i
data/src/share/classes/sun/management/counter/perf/LongCounterSnapshot.java.i
-data/test/java/security/ProtectionDomain/RecursionDebug.java.i
data/test/javax/security/auth/Subject/Generic.java.i
data/src/share/classes/sun/text/resources/unorm.icu.i
data/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java.i
data/src/share/classes/sun/tools/tree/RemainderExpression.java.i
-data/src/share/classes/sun/java2d/pipe/LoopBasedPipe.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/IdResolver.java.i
data/test/sun/security/ssl/sanity/pluggability/MySSLServerSocketFacImpl.java.i
-data/test/java/security/Security/ClassLoaderDeadlock/Deadlock.sh.i
data/test/java/beans/Introspector/6380849/infos/SecondBeanBeanInfo.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/signature/InvalidSignatureValueException.java.i
data/src/solaris/native/sun/java2d/loops/vis_IntRgbx.c.i
-data/test/java/util/Formattable/StockName.java.i
+data/test/com/sun/net/httpserver/Test10.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_el_GR.properties.i
data/test/sun/management/AgentCheckTest.java.i
data/src/share/classes/sun/management/counter/perf/PerfLongCounter.java.i
-data/src/share/native/sun/font/sunFont.c.i
+data/test/com/sun/jdi/SourceNameFilterTest.java.i
data/test/javax/management/namespace/JMXRemoteTargetNamespace.java.i
-data/src/share/native/sun/java2d/opengl/OGLContext.c.i
+data/make/netbeans/common/architectures/name-Linux.properties.i
data/make/tools/makeclasslist/Makefile.i
data/make/com/sun/nio/sctp/mapfile-vers.i
data/test/java/awt/Dialog/ValidateOnShow/ValidateOnShow.java.i
data/make/javax/crypto/policy/limited/exempt_local.policy.i
data/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java.i
-data/src/share/classes/com/sun/jndi/ldap/LdapClientFactory.java.i
+data/test/java/net/Socket/setReuseAddress/Restart.java.i
+data/src/windows/native/java/util/logging.c.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/CheckMethods.java.i
data/test/java/lang/Double/ToString.java.i
data/test/java/beans/PropertyEditor/TestBooleanClassValue.java.i
data/src/share/classes/java/awt/image/renderable/RenderableImageProducer.java.i
+data/src/share/classes/sun/security/pkcs11/wrapper/CK_ATTRIBUTE.java.i
data/test/java/nio/file/attribute/FileStoreAttributeView/Basic.java.i
-data/test/java/lang/management/ThreadMXBean/Utils.java.i
data/test/javax/print/PrintSE/PrintSE.java.i
data/test/java/net/ResponseCache/getResponseCode.java.i
data/test/com/sun/jdi/RedefineIntConstantToLong.sh.i
@@ -16993,85 +17081,81 @@ data/src/share/classes/javax/management/openmbean/OpenMBeanConstructorInfoSuppor
data/test/java/rmi/server/Unreferenced/leaseCheckInterval/LeaseCheckInterval.java.i
data/test/java/nio/channels/ConfigureBlocking.java.i
data/make/java/verify/reorder-sparc.i
-data/test/sun/nio/cs/OLD/MS950_OLD.java.i
data/src/share/classes/java/lang/management/MemoryType.java.i
data/test/sun/security/x509/AlgorithmId/AlgorithmIdEqualsHashCode.java.i
data/src/share/sample/nio/server/MalformedRequestException.java.i
data/src/share/classes/javax/management/DescriptorKey.java.i
-data/src/solaris/classes/sun/awt/X11/XWM.java.i
+data/src/share/classes/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java.i
data/src/share/native/sun/font/layout/LookupProcessor.h.i
data/test/java/rmi/activation/ActivationGroup/downloadActivationGroup/MyActivationGroupImpl.java.i
-data/src/share/classes/com/sun/jdi/AbsentInformationException.java.i
+data/src/share/classes/javax/swing/plaf/ListUI.java.i
data/make/sun/font/t2k/FILES_c.gmk.i
data/src/share/demo/jfc/CodePointIM/resources/codepoint_ja.properties.i
data/src/share/classes/sun/reflect/UnsafeQualifiedStaticBooleanFieldAccessorImpl.java.i
data/test/javax/sound/midi/Gervill/SoftSincResampler/Interpolate.java.i
data/test/java/awt/Toolkit/SecurityTest/SecurityTest2.java.i
-data/src/share/classes/sun/nio/ch/AllocatedNativeObject.java.i
+data/test/java/beans/XMLEncoder/javax_swing_border_TitledBorder.java.i
data/src/share/classes/sun/awt/InputMethodSupport.java.i
data/test/java/security/Policy/Root/Root.policy.i
-data/src/share/classes/sun/java2d/pipe/SolidTextRenderer.java.i
-data/src/share/classes/com/sun/tools/hat/README.txt.i
+data/src/share/classes/sun/util/resources/CalendarData_fi.properties.i
+data/make/templates/gpl-cp-header.i
data/src/share/classes/javax/swing/tree/TreeModel.java.i
data/test/java/beans/PropertyEditor/TestLongTypeValue.java.i
data/test/java/util/PriorityQueue/ForgetMeNot.java.i
data/test/java/util/ArrayList/IteratorMicroBenchmark.java.i
data/src/share/native/sun/java2d/loops/ThreeByteBgr.c.i
data/src/share/classes/com/sun/media/sound/StandardMidiFileWriter.java.i
-data/src/share/classes/sun/security/krb5/Checksum.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/CloseSocketException.java.i
+data/test/sun/security/krb5/auto/BadKdc4.java.i
+data/make/java/zip/Makefile.i
data/test/java/rmi/server/RMIClassLoader/useGetURLs/security.policy.i
data/src/share/classes/sun/tools/jar/resources/jar_ja.properties.i
-data/src/share/classes/org/openjdk/internal/joptsimple/internal/Classes.java.i
-data/src/share/classes/com/sun/net/ssl/TrustManagerFactory.java.i
+data/src/share/classes/java/util/prefs/NodeChangeEvent.java.i
data/test/java/nio/channels/Selector/WakeupAfterClose.java.i
-data/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParserConstants.java.i
data/test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/CompressConstants.java.i
data/make/java/nio/FILES_c.gmk.i
data/test/sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.sh.i
data/src/share/classes/javax/print/attribute/standard/RequestingUserName.java.i
data/test/java/rmi/server/RMIClassLoader/useGetURLs/Dummy.java.i
-data/make/tools/src/build/tools/jdwpgen/ArrayObjectTypeNode.java.i
data/test/sun/security/provider/PolicyParser/PrincipalExpansionError.java.i
data/make/java/nio/mapfile-linux.i
data/make/com/sun/tools/attach/Makefile.i
data/test/javax/sound/midi/Gervill/ModelByteBuffer/GetInputStream.java.i
data/src/share/classes/javax/swing/text/html/parser/Element.java.i
data/test/java/nio/channels/Selector/SelectWrite.java.i
-data/src/share/classes/sun/security/krb5/internal/KrbApErrException.java.i
+data/src/share/classes/javax/swing/text/rtf/RTFGenerator.java.i
data/src/solaris/classes/sun/awt/motif/X11CNS11643P2.java.i
data/src/share/classes/java/util/concurrent/BlockingDeque.java.i
data/src/windows/classes/sun/awt/windows/WFontConfiguration.java.i
+data/test/sun/security/pkcs11/KeyGenerator/DESParity.java.i
data/src/share/classes/java/util/concurrent/CountDownLatch.java.i
-data/src/share/classes/java/rmi/registry/LocateRegistry.java.i
+data/src/share/demo/nbproject/jfc/TableExample/build.xml.i
data/test/java/awt/Container/isRemoveNotifyNeeded/JInternalFrameTest.java.i
data/test/javax/swing/text/html/TableView/7030332/bug7030332.java.i
data/src/share/classes/javax/swing/event/MenuKeyEvent.java.i
data/src/share/classes/com/sun/jndi/ldap/DigestClientId.java.i
data/test/java/util/concurrent/locks/ReentrantReadWriteLock/MapLoops.java.i
data/src/share/classes/java/util/concurrent/locks/package-info.java.i
-data/test/java/io/Serializable/subclassGC/security.policy.i
+data/test/java/nio/file/Path/TemporaryFiles.java.i
+data/src/share/classes/javax/swing/SingleSelectionModel.java.i
data/make/com/sun/java/pack/mapfile-vers-unpack200.i
data/src/windows/classes/sun/nio/ch/PollArrayWrapper.java.i
data/test/java/util/PluggableLocale/providersrc/DateFormatSymbolsProviderImpl.java.i
data/src/solaris/native/java/util/TimeZone_md.h.i
data/test/com/sun/servicetag/servicetag1.properties.i
-data/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java.i
+data/test/com/sun/jdi/CatchPatternTest.sh.i
data/test/com/sun/jdi/RedefineMulti.sh.i
-data/test/java/rmi/server/RemoteObject/toStub/ToStub.java.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/PerfDataFile.java.i
-data/src/share/native/sun/font/layout/LayoutEngine.cpp.i
+data/test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.sh.i
data/src/share/classes/sun/reflect/generics/scope/DummyScope.java.i
data/src/share/native/java/util/zip/Deflater.c.i
data/src/share/classes/sun/java2d/loops/DrawPath.java.i
-data/src/windows/classes/sun/java2d/d3d/D3DDrawImage.java.i
+data/src/share/classes/com/sun/jmx/snmp/SnmpPduBulkType.java.i
data/test/java/io/File/DeleteOnExitNPE.java.i
data/src/share/classes/com/sun/media/sound/SoftSynthesizer.java.i
data/src/share/classes/java/security/spec/InvalidKeySpecException.java.i
-data/test/java/net/URLClassLoader/ClassPathTest.java.i
data/test/java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java.i
data/test/java/util/jar/TestExtra.java.i
-data/test/java/util/Locale/Bug4184873_id.i
+data/src/share/classes/javax/security/sasl/SaslException.java.i
data/src/share/classes/sun/security/provider/certpath/ReverseState.java.i
data/src/share/classes/com/sun/tools/jdi/resources/jdi_zh_CN.properties.i
data/src/share/classes/java/util/Timer.java.i
@@ -17087,6 +17171,7 @@ data/src/share/classes/javax/swing/text/html/CSSBorder.java.i
data/make/tools/src/build/tools/generatenimbus/Paint.java.i
data/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java.i
data/src/solaris/javavm/export/jvm_md.h.i
+data/src/share/classes/javax/swing/Scrollable.java.i
data/test/java/lang/Runtime/shutdown/ShutdownHooks.sh.i
data/src/share/classes/java/lang/module/UnsupportedElementTypeException.java.i
data/test/java/util/ResourceBundle/Bug6190861Data.properties.i
@@ -17103,148 +17188,146 @@ data/test/com/sun/crypto/provider/Mac/HmacPBESHA1.java.i
data/src/share/classes/javax/management/ObjectName.java.i
data/src/share/native/java/lang/fdlibm/src/s_significand.c.i
data/src/share/classes/sun/misc/Lock.java.i
-data/test/java/awt/EventDispatchThread/HandleExceptionOnEDT/HandleExceptionOnEDT.java.i
+data/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParserConstants.java.i
data/test/java/util/zip/ZipFile/DeleteTempJar.java.i
-data/src/share/classes/java/awt/doc-files/RadialGradientPaint-4.png.i
-data/src/share/sample/scripting/scriptpad/nbproject/netbeans-targets.xml.i
+data/src/share/classes/sun/util/logging/resources/logging_zh_TW.properties.i
+data/src/share/classes/javax/swing/plaf/synth/SynthRootPaneUI.java.i
data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/Launcher.java.i
data/src/share/classes/com/sun/media/sound/AiffFileReader.java.i
data/src/share/classes/sun/security/util/Resources_it.java.i
data/src/share/classes/javax/smartcardio/CardException.java.i
-data/src/share/classes/sun/nio/fs/DynamicFileAttributeView.java.i
-data/test/java/beans/XMLEncoder/java_util_Date.java.i
+data/src/share/classes/javax/print/attribute/standard/PrinterMoreInfoManufacturer.java.i
+data/make/netbeans/jmx/build.properties.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithmSpi.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpS16U8Func.c.i
data/src/share/classes/javax/swing/plaf/BorderUIResource.java.i
data/src/share/classes/sun/io/ByteToCharISCII91.java.i
-data/src/share/sample/nio/file/Xdd.java.i
+data/test/javax/management/MBeanInfo/SerializationTest.java.i
data/src/share/classes/sun/rmi/server/resources/rmid_zh_TW.properties.i
data/make/tools/CharsetMapping/IBM1122.c2b.i
-data/test/java/rmi/activation/Activatable/forceLogSnapshot/ForceLogSnapshot.java.i
+data/test/java/rmi/transport/rapidExportUnexport/RapidExportUnexport.java.i
data/test/java/beans/Introspector/memory/Bean4.java.i
data/make/tools/swing-beans/beaninfo/images/JPasswordFieldMono16.gif.i
data/src/windows/transport/socket/socket_md.c.i
-data/test/javax/imageio/CachePremissionsTest/w.policy.i
data/test/java/lang/management/ThreadMXBean/SynchronizerDeadlock.java.i
-data/test/java/io/PipedInputStream/CloseAndAvailableRC.java.i
+data/src/share/classes/sun/text/resources/CollationData_ko.java.i
data/src/share/native/java/lang/ref/Finalizer.c.i
data/src/share/classes/java/nio/ByteOrder.java.i
data/test/java/lang/Class/getMethod/NullInParamList.java.i
data/test/java/util/zip/ZipFile/GetDirEntry.java.i
+data/src/share/classes/com/sun/tools/jdi/VMListener.java.i
data/src/share/classes/com/sun/crypto/provider/HmacSHA1KeyGenerator.java.i
data/test/java/util/Locale/serialized/java6locale_en.i
-data/test/sun/security/pkcs11/Provider/ConfigShortPath.java.i
+data/make/com/sun/java/browser/Makefile.i
data/src/share/classes/sun/util/resources/LocaleNames_el_CY.properties.i
-data/test/java/io/Serializable/class/SerialA_1.java.i
-data/test/java/util/zip/StreamIOAfterClose.java.i
+data/src/share/classes/javax/swing/plaf/basic/BasicToolTipUI.java.i
data/test/sun/tools/jstatd/jstatGcutilOutput1.awk.i
-data/test/java/nio/file/WatchService/WithSecurityManager.java.i
+data/src/share/native/sun/reflect/ConstantPool.c.i
data/make/tools/swing-beans/beaninfo/images/JLabelMono16.gif.i
-data/test/javax/management/modelmbean/RequiredModelMBeanGetAttributeTest.java.i
-data/test/javax/print/applet/applet3/Applet3PrintService.java.i
+data/src/share/classes/com/sun/tools/example/debug/event/ModificationWatchpointEventSet.java.i
+data/make/sun/jawt/mapfile-vers.i
+data/test/javax/swing/text/WrappedPlainView/6857057/StubBranchElement.java.i
data/test/java/beans/XMLEncoder/java_util_Collections_SynchronizedMap.java.i
-data/src/share/classes/java/lang/Float.java.i
+data/src/share/classes/java/awt/font/OpenType.java.i
data/src/share/native/sun/java2d/loops/Any3Byte.c.i
data/src/share/classes/com/sun/rowset/FilteredRowSetImpl.java.i
-data/src/share/classes/sun/security/rsa/RSACore.java.i
+data/src/share/classes/sun/io/ByteToCharCp1147.java.i
data/make/com/sun/jarsigner/Makefile.i
-data/test/sun/security/ssl/javax/net/ssl/NewAPIs/HttpsURLConnectionLocalCertificateChain.java.i
-data/src/share/demo/java2d/J2DBench/resources/images/photo.jpg.i
-data/src/share/classes/javax/crypto/CryptoAllPermission.java.i
-data/test/com/sun/net/httpserver/Test12.java.i
-data/src/share/classes/sun/text/resources/FormatData_hr_HR.java.i
+data/src/solaris/bin/ergo_i586.c.i
+data/src/share/classes/sun/management/snmp/jvmmib/JvmMemPoolTableMeta.java.i
+data/test/com/sun/security/auth/module/KeyStoreLoginModule/OptionTest.storePass.i
data/make/tools/swing-beans/beaninfo/images/JLayeredPaneMono16.gif.i
-data/src/solaris/classes/sun/awt/X11/XWarningWindow.java.i
-data/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono_overdrive.java.i
+data/src/share/classes/sun/net/ftp/impl/DefaultFtpClientProvider.java.i
+data/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java.i
data/test/sun/tools/jrunscript/jrunscript-DTest.sh.i
data/src/share/classes/sun/util/calendar/Era.java.i
data/src/windows/native/sun/windows/awt_Robot.h.i
-data/src/share/classes/com/sun/media/sound/SoftVoice.java.i
-data/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java.i
+data/src/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java.i
+data/src/share/classes/com/sun/imageio/plugins/jpeg/JPEG.java.i
data/test/com/sun/net/httpserver/docs/test1/smallfile.txt.i
data/test/java/rmi/activation/ActivationSystem/unregisterGroup/ActivateMe.java.i
data/src/share/classes/java/lang/invoke/package-info.java.i
data/test/java/io/Externalizable/definesWriteObject/DefinesWriteObject.java.i
data/src/share/classes/sun/util/CoreResourceBundleControl-XLocales.java.i
data/src/share/native/sun/security/ec/ecl_gf.c.i
-data/test/java/lang/instrument/ExampleForClassPath.java.i
+data/make/tools/classanalyzer/src/com/sun/classanalyzer/ModuleConfig.java.i
data/src/share/classes/sun/tools/java/ArrayType.java.i
data/src/share/classes/sun/util/resources/CalendarData_lv.properties.i
data/src/windows/classes/sun/awt/windows/awtLocalization_es.properties.i
-data/src/solaris/classes/sun/awt/X11/XWINProtocol.java.i
+data/src/share/native/sun/security/ec/impl/mpprime.h.i
data/src/windows/classes/sun/awt/Win32GraphicsDevice.java.i
data/test/java/nio/channels/DatagramChannel/AdaptDatagramSocket.java.i
data/test/java/lang/Boolean/GetBoolean.java.i
data/test/sun/security/tools/jarsigner/crl.sh.i
data/src/share/classes/javax/management/InvalidApplicationException.java.i
-data/test/sun/rmi/transport/tcp/disableMultiplexing/DisableMultiplexing_Stub.java.i
+data/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorTypeException.java.i
data/src/share/classes/java/sql/Connection.java.i
data/test/java/nio/channels/AsynchronousServerSocketChannel/WithSecurityManager.java.i
data/src/share/classes/sun/management/snmp/jvminstr/JvmRuntimeMetaImpl.java.i
data/test/tools/pack200/SegmentLimit.java.i
data/src/solaris/doc/sun/man/man1/xjc.1.i
-data/test/sun/security/ssl/sun/net/www/httpstest/HttpServer.java.i
+data/test/sun/security/ec/certs/sunlabscerts.pem.i
+data/test/java/util/Formatter/Basic.java.i
data/src/share/classes/java/awt/geom/ArcIterator.java.i
-data/src/share/classes/sun/util/resources/CalendarData_pt.properties.i
-data/src/solaris/classes/com/sun/management/UnixOperatingSystem.java.i
+data/src/share/lib/images/cursors/motif_CopyDrop32x32.gif.i
data/src/share/classes/sun/misc/JavaIOFileDescriptorAccess.java.i
-data/src/share/sample/nio/file/DiskUsage.java.i
+data/src/share/classes/sun/security/x509/FreshestCRLExtension.java.i
data/make/sun/nio/FILES_java.gmk.i
data/test/java/rmi/reliability/benchmark/bench/serial/LongArrays.java.i
data/src/windows/classes/sun/misc/FileURLMapper.java.i
+data/src/share/classes/javax/swing/event/MenuKeyListener.java.i
data/test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/RuntimeExceptionParameter.java.i
data/src/share/classes/javax/swing/plaf/ComponentUI.java.i
data/src/share/classes/sun/java2d/loops/ProcessPath.java.i
data/test/sun/tools/jstat/classloadOutput1.awk.i
-data/src/share/native/sun/awt/image/jpeg/jdhuff.h.i
+data/src/share/classes/javax/print/attribute/standard/Sides.java.i
data/test/sun/nio/cs/SurrogateTestEUCTW.plane15.surrogates.i
data/src/share/classes/sun/util/resources/CalendarData_el.properties.i
data/src/share/sample/nio/server/RequestHandler.java.i
data/src/share/classes/javax/script/Bindings.java.i
-data/test/java/nio/channels/Selector/OutOfBand.java.i
-data/test/javax/swing/RepaintManager/7013453/bug7013453.java.i
-data/test/java/io/Serializable/longString/LongString.java.i
+data/src/share/classes/sun/util/resources/CalendarData_en.properties.i
+data/src/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java.i
+data/src/windows/hpi/export/hpi_md.h.i
data/test/com/sun/crypto/provider/Cipher/AES/Test4512524.java.i
data/test/com/sun/jdi/TestScaffold.java.i
-data/src/share/sample/vm/jvm-clr/invoker.h.i
-data/src/share/native/sun/awt/medialib/mlib_ImageFilters.h.i
-data/test/sun/security/ec/certs/sunlabscerts.pem.i
+data/src/solaris/native/sun/awt/cursor.c.i
+data/src/solaris/classes/sun/nio/ch/NativeThread.java.i
+data/test/java/rmi/testlibrary/ActivationLibrary.java.i
data/test/java/nio/file/Files/delete_on_close.sh.i
data/src/share/classes/com/sun/tools/example/debug/gui/JDBMenuBar.java.i
data/src/share/native/java/util/zip/zlib-1.2.3/compress.c.i
data/test/java/util/TreeMap/SubMap.java.i
-data/test/sun/security/x509/X500Name/AllAttribs.java.i
+data/test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/KeepAliveDuringCall.java.i
data/test/sun/net/www/http/ChunkedOutputStream/Test.java.i
data/src/share/classes/sun/nio/cs/ext/IBM1046.java.i
-data/src/windows/native/sun/windows/awt_DataTransferer.cpp.i
-data/test/java/awt/dnd/URIListBetweenJVMsTest/TargetFileListFrame.java.i
-data/test/java/lang/instrument/appendToClassLoaderSearch/manifest.mf.i
-data/src/share/classes/com/sun/jndi/ldap/LdapSchemaParser.java.i
-data/src/share/classes/sun/text/resources/FormatData_en.java.i
+data/src/solaris/classes/sun/awt/X11/XKeySymConstants.java.i
+data/src/share/classes/javax/swing/text/html/ListView.java.i
+data/make/netbeans/common/share-sources.ent.i
+data/test/java/beans/PropertyChangeSupport/Test4985020.java.i
+data/test/java/security/cert/CertPath/Serialize.java.i
data/test/javax/naming/ldap/LdapName/LdapNameConstruction.java.i
-data/src/share/classes/com/sun/crypto/provider/DESedeKey.java.i
+data/src/share/classes/com/sun/media/sound/AuFileWriter.java.i
data/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java.i
data/src/share/native/common/check_code.c.i
-data/src/share/classes/javax/print/attribute/PrintServiceAttribute.java.i
-data/make/modules/bootmodule.roots.i
-data/src/share/classes/com/sun/jmx/remote/internal/IIOPProxy.java.i
+data/src/solaris/native/sun/java2d/loops/vis_IntArgb.c.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementCheckerImpl.java.i
data/src/share/classes/javax/swing/plaf/synth/ImagePainter.java.i
data/src/share/classes/javax/swing/UnsupportedLookAndFeelException.java.i
data/src/share/classes/javax/swing/plaf/PanelUI.java.i
-data/src/share/classes/sun/security/ssl/SSLSocketFactoryImpl.java.i
+data/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html.i
data/test/sun/security/provider/PolicyParser/p004.policy.i
-data/src/solaris/classes/sun/awt/X11/XMouseInfoPeer.java.i
+data/src/share/classes/com/sun/nio/sctp/InvalidStreamException.java.i
data/test/java/io/File/ToURL.java.i
-data/test/java/rmi/activation/ActivateFailedException/activateFails/group.security.policy.i
+data/src/share/classes/javax/sound/midi/Sequence.java.i
data/src/share/native/sun/awt/medialib/mlib_ImageLookUp.h.i
data/src/share/classes/com/sun/net/httpserver/Headers.java.i
data/src/share/classes/javax/swing/undo/AbstractUndoableEdit.java.i
data/src/share/classes/javax/swing/tree/TreeCellEditor.java.i
data/src/share/classes/sun/security/krb5/internal/TicketFlags.java.i
-data/src/share/classes/sun/tools/jinfo/JInfo.java.i
+data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CheckMethods.java.i
data/src/share/classes/sun/tools/jstat/Closure.java.i
-data/src/share/classes/sun/text/resources/FormatData_mk_MK.java.i
-data/src/share/classes/javax/print/attribute/standard/PagesPerMinute.java.i
+data/src/share/classes/javax/swing/text/rtf/charsets/cpg850.txt.i
+data/src/share/native/sun/java2d/opengl/OGLPaints.c.i
data/src/share/classes/java/awt/BasicStroke.java.i
data/test/java/util/Collections/CheckedNull.java.i
data/src/windows/classes/sun/print/Win32PrintService.java.i
@@ -17254,67 +17337,65 @@ data/src/share/classes/javax/net/ssl/SSLPeerUnverifiedException.java.i
data/src/share/classes/sun/tools/jconsole/inspector/Utils.java.i
data/src/share/javavm/include/opcodes.weight.i
data/src/solaris/classes/sun/java2d/xr/XRPMBlitLoops.java.i
-data/src/share/classes/com/sun/jdi/Field.java.i
+data/src/share/classes/com/sun/nio/sctp/IllegalReceiveException.java.i
data/src/solaris/classes/sun/font/NativeFont.java.i
-data/test/java/nio/channels/FileChannel/Transfers.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureECDSA.java.i
+data/test/java/io/Serializable/defaulted/GetFieldWrite.java.i
+data/test/sun/security/pkcs11/KeyStore/ClientAuthData/truststore.i
data/src/share/back/ObjectReferenceImpl.h.i
data/src/share/classes/javax/print/attribute/standard/Severity.java.i
data/make/tools/CharsetMapping/IBM277.c2b.i
-data/test/javax/management/MBeanServer/DynamicWrapperMBeanTest.java.i
+data/make/sun/text/FILES_properties.gmk.i
data/src/share/classes/sun/util/resources/CurrencyNames_uk_UA.properties.i
-data/src/share/classes/java/awt/geom/GeneralPath.java.i
+data/test/javax/management/modelmbean/InfoSupportTest.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicArrowButton.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthListUI.java.i
data/src/share/classes/java/net/SocketInputStream.java.i
data/test/java/nio/file/FileSystem/Basic.java.i
data/make/netbeans/jdwpgen/build.xml.i
-data/src/share/classes/com/sun/tools/example/debug/tty/ThreadInfo.java.i
-data/test/java/security/IdentityScope/NoDefaultSystemScope.java.i
+data/test/javax/crypto/Cipher/ByteBuffers.java.i
data/test/java/util/logging/LoggingDeadlock3.java.i
data/src/share/native/java/util/zip/zlib-1.1.3/infcodes.c.i
data/src/share/classes/javax/swing/plaf/metal/icons/ocean/iconify.gif.i
data/src/share/native/sun/awt/medialib/mlib_ImageDivTables.h.i
-data/src/share/classes/com/sun/media/sound/AbstractMixer.java.i
data/test/com/sun/tools/attach/agent.mf.i
data/test/java/io/StreamTokenizer/Reset.java.i
-data/test/java/security/Provider/CertStoreConstructorParam.java.i
+data/test/java/beans/EventHandler/Test6277246.java.i
data/test/java/rmi/transport/closeServerSocket/CloseServerSocket.java.i
-data/test/java/beans/XMLEncoder/javax_swing_plaf_BorderUIResource_CompoundBorderUIResource.java.i
+data/src/share/demo/nbproject/management/FullThreadDump/nbproject/netbeans-targets.xml.i
data/src/share/classes/sun/tools/jconsole/AboutDialog.java.i
-data/test/java/awt/Modal/LWModalTest/LWModalTest.java.i
+data/src/share/classes/javax/swing/plaf/synth/doc-files/componentProperties.html.i
data/make/sun/javazic/tzdata/zone.tab.i
-data/test/java/net/SocketPermission/Equals.java.i
+data/src/solaris/native/sun/java2d/loops/vis_AlphaMacros.h.i
data/test/java/awt/event/MouseEvent/MouseWheelEventAbsoluteCoordsTest/MouseWheelEventAbsoluteCoordsTest.java.i
-data/src/share/demo/jvmti/hprof/hprof_event.c.i
-data/test/java/rmi/activation/rmidViaInheritedChannel/RmidViaInheritedChannel.java.i
+data/make/sun/image/vis/FILES_c.gmk.i
+data/src/solaris/native/java/lang/UNIXProcess_md.c.i
data/test/javax/swing/JSlider/4987336/cupanim.gif.i
-data/test/java/security/Security/signedfirst/Static.sh.i
+data/src/share/classes/javax/swing/table/TableColumnModel.java.i
data/src/share/classes/sun/swing/text/html/FrameEditorPaneTag.java.i
-data/src/share/classes/sun/security/jgss/LoginConfigImpl.java.i
-data/src/solaris/classes/sun/java2d/SurfaceManagerFactory.java.i
+data/src/share/demo/applets/WireFrame/example4.html.i
data/test/sun/security/pkcs11/nss/lib/linux-amd64/libnspr4.so.i
data/src/share/native/sun/font/layout/SimpleArrayProcessor.h.i
data/src/share/classes/sun/nio/cs/ext/IBM1141.java.i
-data/test/java/util/AbstractList/CheckForComodification.java.i
+data/src/share/classes/sun/io/CharToByteCp1047.java.i
data/src/share/classes/sun/text/resources/CollationData_sl.java.i
data/test/javax/xml/crypto/dsig/data/signature-enveloped-dsa.xml.i
data/src/share/classes/sun/swing/PrintingStatus.java.i
-data/src/share/classes/javax/swing/plaf/MenuBarUI.java.i
-data/test/java/beans/Introspector/4520754/Foo.java.i
+data/make/netbeans/README.i
data/test/javax/management/eventService/SubUnsubTest.java.i
data/src/share/native/sun/awt/libpng/CHANGES.i
data/src/share/classes/java/awt/event/AdjustmentListener.java.i
-data/src/share/classes/java/util/concurrent/CopyOnWriteArraySet.java.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/icons/Question.gif.i
+data/src/share/classes/sun/print/SunAlternateMedia.java.i
+data/src/share/classes/com/sun/jdi/InconsistentDebugInfoException.java.i
+data/test/sun/security/pkcs11/fips/keystore.i
data/src/share/classes/com/sun/java/swing/SwingUtilities3.java.i
-data/test/com/sun/jdi/sde/FilterMangleTest.java.i
+data/src/share/classes/javax/swing/text/html/HTMLEditorKit.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java.i
data/test/java/net/URLClassLoader/sealing/b.jar.i
data/test/java/nio/channels/DatagramChannel/SendToUnresolved.java.i
-data/test/java/awt/Modal/SupportedTest/SupportedTest.java.i
-data/test/java/net/DatagramSocket/ChangingAddress.java.i
+data/src/share/native/java/lang/fdlibm/src/s_frexp.c.i
+data/src/share/native/sun/java2d/loops/AnyShort.h.i
data/test/sun/net/www/protocol/jar/jarbug/src/jar1/LoadResourceBundle.java.i
-data/make/javax/imageio/Makefile.i
+data/test/javax/imageio/CachePremissionsTest/w.policy.i
data/src/share/classes/sun/tools/java/MethodType.java.i
data/src/share/native/sun/security/pkcs11/wrapper/p11_util.c.i
data/src/share/classes/java/nio/file/AccessMode.java.i
@@ -17324,57 +17405,57 @@ data/test/java/util/PluggableLocale/NumberFormatProviderTest.sh.i
data/src/windows/classes/sun/awt/windows/awtLocalization_zh_TW.properties.i
data/src/share/classes/com/sun/crypto/provider/ARCFOURCipher.java.i
data/src/share/classes/sun/font/FontStrikeDesc.java.i
-data/src/share/classes/javax/management/BinaryRelQueryExp.java.i
-data/test/sun/security/provider/PolicyFile/getinstance/GetInstance.policy.i
-data/src/share/classes/com/sun/jmx/event/ReceiverBuffer.java.i
+data/src/share/classes/com/sun/media/sound/Printer.java.i
+data/test/java/rmi/reliability/benchmark/bench/rmi/LongCalls.java.i
+data/test/java/security/Provider/CertStoreConstructorParam.java.i
data/test/javax/management/MustBeValidMBeanInfo/MustBeValidCommand.java.i
data/src/share/classes/javax/management/relation/Relation.java.i
data/src/share/classes/sun/reflect/ConstantPool.java.i
-data/src/share/classes/sun/io/ByteToCharCp1025.java.i
-data/make/tools/swing-beans/beaninfo/images/JScrollPaneColor32.gif.i
-data/test/java/util/concurrent/BlockingQueue/ProducerConsumerLoops.java.i
-data/src/share/native/java/lang/fdlibm/src/w_remainder.c.i
+data/test/java/security/KeyPairGenerator/SolarisShortDSA.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/ServerHandler.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformBase64Decode.java.i
+data/test/java/lang/String/Supplementary.java.i
data/src/windows/resource/unpack200_proto.exe.manifest.i
data/src/share/classes/org/openjdk/jigsaw/ModuleFileVerifier.java.i
-data/src/share/classes/sun/security/rsa/RSAKeyPairGenerator.java.i
+data/src/share/native/sun/java2d/pipe/PathConsumer2D.h.i
data/test/javax/crypto/JceSecurity/SunJCE_BC_LoadOrdering.java.i
data/test/java/rmi/activation/Activatable/restartService/group.security.policy.i
data/src/share/classes/sun/security/pkcs11/wrapper/CK_DESTROYMUTEX.java.i
data/test/java/util/logging/RacingThreadsTest.java.i
data/test/java/awt/GraphicsEnvironment/LoadLock/GE_init2.java.i
-data/src/share/classes/javax/swing/plaf/basic/icons/image-delayed.png.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/ProxyTunnelServer.java.i
data/src/windows/classes/sun/awt/windows/WLabelPeer.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMHostInform.java.i
data/test/java/security/cert/PolicyNode/speech2speech.i
data/test/java/lang/management/MemoryMXBean/LowMemoryTestParallelGC.sh.i
data/test/java/io/Serializable/enum/badResolve/Write.java.i
-data/src/share/classes/sun/io/CharToByteCp930.java.i
-data/src/share/classes/sun/reflect/SignatureIterator.java.i
+data/src/share/classes/javax/script/Invocable.java.i
+data/src/share/classes/com/sun/jmx/snmp/SnmpUnknownMsgProcModelException.java.i
data/src/solaris/hpi/src/memory_md.c.i
data/src/share/classes/java/security/interfaces/ECKey.java.i
-data/src/share/classes/com/sun/jmx/snmp/SnmpInt.java.i
+data/src/share/classes/javax/management/monitor/StringMonitor.java.i
data/test/java/util/zip/ZipFile/Comment.java.i
-data/src/share/classes/sun/text/IntHashtable.java.i
-data/src/share/classes/java/sql/Statement.java.i
+data/src/solaris/lib/flavormap.properties.i
data/src/share/classes/org/openjdk/jigsaw/Catalog.java.i
data/test/java/rmi/server/RMIClassLoader/noSecurityManager/Dummy.java.i
data/src/share/classes/sun/security/x509/SubjectInfoAccessExtension.java.i
-data/src/share/native/sun/security/ec/impl/ec2.h.i
+data/test/java/io/File/WinMaxPath.java.i
data/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java.i
-data/test/javax/management/MBeanInfo/MBeanInfoEqualsTest.java.i
+data/src/share/classes/java/awt/event/ComponentEvent.java.i
data/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFile.java.i
-data/make/sun/security/jgss/Makefile.i
+data/src/share/native/sun/font/layout/MarkToLigaturePosnSubtables.cpp.i
data/test/com/sun/net/httpserver/docs/test1/largefile.txt.i
-data/src/share/classes/sun/nio/cs/ext/JIS_X_0201.java.i
+data/test/javax/swing/text/html/parser/Parser/6990651/bug6990651.java.i
data/make/com/sun/jmx/snmp/Makefile.i
-data/src/share/classes/javax/print/CancelablePrintJob.java.i
+data/test/sun/security/pkcs11/nss/lib/linux-amd64/libsoftokn3.so.i
+data/src/share/classes/java/lang/management/MemoryPoolMXBean.java.i
data/src/share/classes/java/security/UnresolvedPermissionCollection.java.i
-data/test/sun/security/provider/PolicyParser/ExtDirsA/a.jar.i
-data/test/com/sun/tools/attach/badagent.mf.i
+data/test/com/sun/security/sasl/digest/AuthRealms.java.i
+data/src/share/classes/java/dyn/AdapterMethodHandle.java.i
data/test/java/net/MulticastSocket/MulticastAddresses.java.i
-data/src/share/classes/com/sun/jmx/snmp/internal/SnmpDecryptedPdu.java.i
+data/test/java/security/Policy/Dynamic/setpolicy.jp.i
data/src/share/classes/java/beans/Visibility.java.i
-data/test/com/sun/jdi/sde/TemperatureTable.jsp.i
+data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/StateTest.java.i
data/src/share/classes/sun/io/ByteToCharCp1026.java.i
data/make/modules/optional.depconfig.i
data/test/javax/management/MBeanServer/AttributeListMapTest.java.i
@@ -17386,98 +17467,102 @@ data/src/share/classes/com/sun/tools/example/debug/gui/JDBFileFilter.java.i
data/test/java/io/Serializable/maskSyntheticModifier/Foo.class.i
data/src/share/classes/java/net/DatagramSocket.java.i
data/src/share/classes/java/sql/SQLWarning.java.i
-data/src/share/native/sun/security/ec/impl/ecp.h.i
+data/src/solaris/doc/sun/man/man1/ja/jhat.1.i
data/test/java/rmi/activation/Activatable/checkImplClassLoader/ActivatableImpl_Stub.java.i
+data/src/share/classes/java/io/FilenameFilter.java.i
data/test/sun/nio/cs/TestCp93xSISO.java.i
data/src/share/classes/java/awt/dnd/DragSourceDragEvent.java.i
data/src/share/classes/sun/tools/jar/resources/jar_es.properties.i
data/test/java/lang/management/ManagementFactory/MXBeanException.java.i
-data/src/share/classes/javax/swing/text/html/parser/Parser.java.i
+data/test/java/nio/channels/DatagramChannel/EmptyBuffer.java.i
data/src/solaris/classes/sun/java2d/xr/XRVolatileSurfaceManager.java.i
data/src/share/classes/java/awt/LayoutManager2.java.i
-data/test/java/awt/Mixing/MixingInHwPanel.java.i
+data/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_de.properties.i
data/src/solaris/sample/dtrace/hotspot/monitors.d.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMCommunity.java.i
data/test/java/net/URLEncoder/SurrogatePairs.java.i
data/src/share/classes/java/io/FileInputStream.java.i
-data/src/share/native/sun/awt/medialib/mlib_c_ImageAffine_BC.c.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpS32U16Func.c.i
data/src/share/classes/java/util/InvalidPropertiesFormatException.java.i
data/src/share/classes/sun/jkernel/DigestOutputStream.java.i
-data/test/java/net/MulticastSocket/Leave.java.i
+data/src/share/classes/com/sun/media/sound/AbstractMixer.java.i
data/src/share/classes/javax/naming/InsufficientResourcesException.java.i
-data/test/java/io/charStreams/LineNumbers.java.i
-data/test/java/util/ResourceBundle/Test4314141B_en.properties.i
+data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextTests.java.i
+data/src/share/classes/sun/tools/java/Environment.java.i
data/src/share/demo/nbproject/jfc/TableExample/nbproject/jdk.xml.i
-data/test/sun/management/jmxremote/bootstrap/management_ssltest10_ok.properties.in.i
-data/src/share/classes/java/awt/image/BufferedImage.java.i
-data/test/com/sun/crypto/provider/KeyAgreement/DHKeyFactory.java.i
+data/test/javax/swing/RepaintManager/6608456/bug6608456.java.i
+data/test/javax/management/MBeanServer/PreDeregisterDeadlockTest.java.i
+data/src/share/native/sun/font/layout/ContextualSubstSubtables.cpp.i
data/test/java/util/PluggableLocale/DateFormatProviderTest.java.i
data/test/java/util/BitSet/BSMethods.java.i
-data/src/share/demo/applets/MoleculeViewer/XYZApp.java.i
+data/test/java/net/ServerSocket/AcceptCauseFileDescriptorLeak.java.i
data/test/java/util/zip/FileBuilder.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMNetMask.java.i
-data/src/share/classes/javax/swing/text/AsyncBoxView.java.i
+data/src/share/classes/javax/swing/border/EtchedBorder.java.i
data/src/share/classes/com/sun/tracing/dtrace/package-info.java.i
-data/test/java/rmi/activation/Activatable/unregisterInactive/UnregisterInactive_Stub.java.i
+data/src/share/native/sun/font/layout/LigatureSubstProc.cpp.i
data/test/java/util/ResourceBundle/Control/XMLResourceBundleTest.java.i
-data/src/solaris/bin/sparcv9/jvm.cfg.i
+data/src/share/classes/java/beans/XMLEncoder.java.i
data/test/java/awt/geom/Path2D/FillPPathTest.java.i
-data/src/share/native/java/util/zip/zip_util.c.i
-data/test/java/nio/channels/FileChannel/MapTest.java.i
+data/make/tools/CharsetMapping/IBM970.c2b.i
+data/src/windows/native/sun/windows/awt_PrintDialog.cpp.i
+data/src/share/classes/javax/crypto/CryptoAllPermission.java.i
data/src/share/classes/sun/io/CharToByteMS932DB.java.i
-data/src/share/classes/java/util/ListIterator.java.i
-data/src/share/classes/java/awt/Adjustable.java.i
+data/src/share/classes/javax/naming/NamingException.java.i
+data/test/java/beans/XMLEncoder/java_util_Collections_SynchronizedList.java.i
data/test/com/sun/nio/sctp/SctpChannel/Bind.java.i
data/src/share/classes/com/sun/imageio/plugins/jpeg/AdobeMarkerSegment.java.i
data/src/share/npt/npt.c.i
-data/test/com/sun/jdi/PrivateTransportTest.sh.i
-data/test/java/util/Formatter/Basic.sh.i
-data/src/share/classes/sun/nio/cs/ext/GB18030.java.i
+data/src/share/native/sun/font/layout/CanonShaping.h.i
+data/src/share/classes/javax/security/sasl/package.html.i
+data/test/javax/print/applet/applet4/Applet4PrintServiceLookup.java.i
+data/src/share/classes/java/util/zip/CRC32.java.i
data/test/java/lang/management/CompositeData/OpenTypeConverter.java.i
data/test/tools/launcher/lib/sparc/lib64/lib64/liblibrary.so.i
data/src/share/classes/sun/nio/cs/MS1253.java.i
-data/src/share/classes/com/sun/tools/hat/internal/server/ReachableQuery.java.i
+data/test/java/util/concurrent/BlockingQueue/ProducerConsumerLoops.java.i
data/src/share/classes/javax/management/MalformedObjectNameException.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/EngineEnforceUseClientMode.java.i
+data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSubTreeData.java.i
data/src/share/classes/sun/nio/cs/ext/GB18030.java.d
-data/test/java/util/jar/JarFile/MevNPE.java.i
+data/test/java/beans/Introspector/7064279/test.jar.i
+data/src/share/classes/com/sun/jmx/event/LeaseManager.java.i
data/src/share/classes/sun/text/UCompactIntArray.java.i
data/test/sun/security/tools/policytool/Alias.html.i
-data/src/share/native/java/lang/fdlibm/src/e_pow.c.i
+data/src/solaris/doc/sun/man/man1/rmic.1.i
data/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java.i
data/src/solaris/doc/sun/man/man1/ja/pack200.1.i
data/src/share/classes/sun/applet/AppletEventMulticaster.java.i
data/test/java/util/ResourceBundle/Bug4168625Test.java.i
-data/test/javax/sound/midi/Gervill/SoftPointResampler/Interpolate.java.i
+data/src/share/classes/sun/font/FontScaler.java.i
data/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java.i
data/src/share/classes/sun/text/resources/CollationData_lt.java.i
-data/test/org/openjdk/jigsaw/cli/jmod-basic.sh.i
+data/src/share/classes/javax/swing/event/DocumentListener.java.i
data/src/share/classes/com/sun/net/ssl/HostnameVerifier.java.i
-data/src/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java.i
-data/test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh.i
-data/src/share/classes/sun/io/ByteToCharCp852.java.i
+data/src/share/classes/sun/text/resources/CollationData_en.java.i
+data/src/share/classes/sun/security/x509/CertificateSerialNumber.java.i
+data/test/javax/script/Helper.java.i
data/src/share/classes/sun/nio/cs/ext/MS950_HKSCS.java.i
data/test/java/rmi/transport/runtimeThreadInheritanceLeak/RuntimeThreadInheritanceLeak.java.i
data/src/share/native/sun/awt/medialib/mlib_status.h.i
data/src/share/classes/sun/io/ByteToCharCp1046.java.i
-data/src/share/classes/org/openjdk/jigsaw/BaseContext.java.i
+data/src/share/classes/sun/tools/jstat/ExpressionExecuter.java.i
data/src/share/classes/javax/sql/rowset/serial/SerialClob.java.i
data/src/share/classes/com/sun/imageio/plugins/png/RowFilter.java.i
data/test/javax/swing/JFileChooser/6570445/bug6570445.java.i
data/src/share/native/java/lang/fdlibm/src/s_floor.c.i
data/test/java/nio/channels/FileChannel/ExpandingMap.java.i
data/src/windows/native/sun/windows/awt_AWTEvent.h.i
-data/src/share/classes/sun/util/resources/CalendarData_iw.properties.i
+data/src/share/classes/sun/jvmstat/monitor/remote/BufferedMonitoredVm.java.i
data/test/java/util/ResourceBundle/Bug6204853.properties.i
-data/src/share/classes/sun/rmi/server/Dispatcher.java.i
+data/src/share/classes/sun/io/CharToByteMacRomania.java.i
data/make/java/hpi/native/Makefile.i
-data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsPost.java.i
+data/src/share/classes/com/sun/media/sound/MidiUtils.java.i
data/src/windows/classes/sun/nio/fs/WindowsPath.java.i
data/src/share/instrument/InvocationAdapter.c.i
data/src/share/classes/java/nio/Direct-X-Buffer-bin.java.i
data/test/javax/swing/text/LayoutQueue/Test6588003.java.i
data/make/tools/swing-beans/beaninfo/images/JFormattedTextFieldColor16.gif.i
-data/test/java/nio/channels/AsynchronousChannelGroup/AsExecutor.java.i
+data/src/share/classes/sun/management/resources/agent_it.properties.i
data/src/share/classes/sun/net/ProgressMeteringPolicy.java.i
data/test/sun/tools/jinfo/Basic.sh.i
data/src/share/classes/sun/java2d/pipe/SpanClipRenderer.java.i
@@ -17485,359 +17570,360 @@ data/test/java/awt/FullScreen/UninitializedDisplayModeChangeTest/DisplayModeChan
data/test/com/sun/security/auth/login/ConfigFile/Override.java.i
data/src/windows/native/sun/windows/awt_TextField.cpp.i
data/test/sun/tools/native2ascii/A2N_4701617.i
-data/src/solaris/demo/jigsaw/basic/setup.sh.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipherInput.java.i
+data/src/share/native/sun/font/layout/KhmerReordering.cpp.i
+data/test/sun/security/pkcs11/rsa/TestCACerts.java.i
data/test/javax/management/MustBeValidMBeanInfo/logging.properties.i
data/src/share/classes/sun/rmi/server/MarshalOutputStream.java.i
-data/test/java/io/FilterOutputStream/BoundsCheck.java.i
+data/src/share/classes/sun/io/ByteToCharCp33722.java.i
data/test/sun/net/www/http/ChunkedInputStream/test.txt.i
data/make/netbeans/jdwpgen/nbproject/project.xml.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/resources/metacity/SwingFallbackTheme/metacity-1/metacity-theme-1.xml.i
data/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties.i
-data/src/share/classes/java/util/spi/LocaleNameProvider.java.i
-data/test/java/awt/Window/PropertyChangeListenerLockSerialization/PropertyChangeListenerLockSerialization.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509CertificateResolver.java.i
+data/src/share/classes/sun/security/jgss/ProviderList.java.i
data/test/java/io/Serializable/evolution/RenamePackage/test/SerialDriver.java.i
data/src/share/classes/java/nio/charset/Charset-X-Coder.java.template.i
data/test/sun/net/www/protocol/jar/jarbug/src/test/TestBug4523159.java.i
-data/test/sun/net/www/http/ChunkedInputStream/test.txt.d
+data/src/share/demo/jvmti/hprof/hprof_ioname.h.i
data/test/java/beans/XMLEncoder/Test6437265.java.i
data/make/netbeans/jdwpgen/nbproject/sqe.properties.i
data/src/share/classes/sun/awt/image/JPEGImageDecoder.java.i
data/test/sun/security/tools/jarsigner/JarSigning_RU.jar.i
-data/src/share/native/sun/font/layout/MorphStateTables.h.i
+data/src/share/classes/javax/imageio/stream/FileCacheImageInputStream.java.i
data/test/javax/xml/crypto/dsig/data/signature-enveloping-dsa.xml.i
data/src/share/classes/java/awt/font/StyledParagraph.java.i
-data/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_AllChannels.java.i
-data/test/java/rmi/reliability/juicer/Apple.java.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIS16U8Func.c.i
+data/test/java/util/zip/ZipFile/ClearStaleZipFileInputStreams.java.i
data/make/tools/CharsetMapping/IBM273.map.i
data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/LargeBufs.java.i
+data/make/sun/javazic/tzdata/systemv.i
data/src/share/classes/com/sun/tools/example/debug/bdi/SpecEvent.java.i
-data/test/com/sun/jdi/connect/spi/GeneratedConnectors.java.i
+data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.java.i
data/src/share/sample/nio/multicast/Sender.java.i
data/test/java/security/cert/CertPathBuilder/selfIssued/DisableRevocation.java.i
data/src/windows/classes/sun/awt/windows/WPrinterJob.java.i
data/test/sun/security/pkcs11/KeyStore/BasicData/pkcs11_softtoken/objstore_info.i
data/make/tools/CharsetMapping/IBM297.nr.i
-data/test/java/text/Collator/Bug5047314.java.i
+data/src/solaris/classes/sun/awt/motif/MInputMethodDescriptor.java.i
data/src/share/classes/sun/security/krb5/internal/EncASRepPart.java.i
data/test/java/util/ResourceBundle/Bug4195978Test.java.i
-data/src/share/native/sun/awt/libpng/pngtest.c.i
-data/test/java/math/BigDecimal/StrippingZerosTest.java.i
-data/src/share/native/sun/font/layout/ICUFeatures.h.i
-data/test/java/util/Collections/Enum.java.i
-data/src/solaris/classes/sun/awt/motif/X11Selection.java.i
+data/test/sun/tools/jstat/jstatLineCounts1.sh.i
+data/test/javax/swing/border/Test4124729.java.i
+data/src/share/classes/javax/xml/crypto/dsig/keyinfo/package.html.i
+data/test/java/lang/String/Exceptions.java.i
+data/src/share/classes/java/net/CookieStore.java.i
data/make/jpda/jdwp/jdwp.spec.i
data/test/java/lang/annotation/PackageMain.java.i
data/test/tools/jar/index/jarcontents/META-INF/services/A.i
-data/test/java/lang/instrument/PremainClass/InheritAgent0101.java.i
+data/src/share/classes/sun/io/ByteToCharSJIS.java.i
data/src/solaris/doc/sun/man/man1/serialver.1.i
data/src/share/classes/javax/swing/text/html/TableView.java.i
-data/src/share/classes/sun/tools/jconsole/OverviewTab.java.i
-data/src/share/classes/java/rmi/server/ObjID.java.i
+data/src/share/demo/nbproject/management/MemoryMonitor/nbproject/netbeans-targets.xml.i
+data/src/share/native/sun/security/ec/ecl-exp.h.i
data/src/share/classes/sun/util/locale/ParseStatus.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/SignatureDSA.java.i
+data/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java.i
data/test/javax/xml/crypto/dsig/data/signature-x509-ski.xml.i
-data/src/share/native/com/sun/media/sound/DirectAudioDevice.c.i
data/src/share/classes/sun/util/resources/LocaleNames_ja.properties.i
-data/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java.i
+data/test/sun/net/TelnetTest.java.i
data/test/sun/util/resources/Locale/Bug4429024.java.i
-data/src/solaris/classes/sun/awt/motif/MDragSourceContextPeer.java.i
+data/src/share/classes/javax/swing/plaf/synth/SynthContext.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthSplitPaneUI.java.i
-data/test/sun/management/jmxremote/bootstrap/management_test02_ok.properties.in.i
+data/src/share/classes/com/sun/media/sound/JSSecurityManager.java.i
data/src/share/classes/java/text/ParsePosition.java.i
-data/test/java/beans/PropertyEditor/Test4968709.java.i
+data/src/share/classes/com/sun/media/sound/DLSRegion.java.i
data/test/com/sun/tools/attach/BasicTests.java.i
data/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.java.i
-data/src/share/classes/javax/swing/plaf/basic/BasicComboBoxEditor.java.i
-data/src/share/classes/javax/swing/ListCellRenderer.java.i
-data/make/java/main/java/Makefile.i
-data/src/solaris/classes/sun/java2d/jules/JulesShapePipe.java.i
+data/make/com/sun/org/Makefile.i
+data/src/solaris/doc/sun/man/man1/ja/jstatd.1.i
+data/make/jdk_generic_profile.sh.i
+data/src/share/classes/com/sun/rowset/providers/RIXMLProvider.java.i
+data/test/javax/management/MBeanServer/PostRegisterDeadlockTest.java.i
data/src/share/classes/java/security/CodeSource.java.i
data/test/sun/security/pkcs11/fips/JSSEServer.java.i
data/test/java/rmi/server/Unmarshal/PrimitiveClasses.java.i
data/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java.i
-data/src/share/classes/sun/util/resources/LocaleNames_hr.properties.i
+data/src/share/classes/sun/font/CMap.java.i
data/make/tools/swing-beans/beaninfo/images/JSpinnerColor16.gif.i
-data/src/share/classes/sun/net/httpserver/ServerImpl.java.i
+data/src/share/classes/sun/misc/BASE64Encoder.java.i
data/test/sun/security/pkcs11/nss/lib/solaris-sparcv9/libnss3.so.i
data/src/share/classes/sun/security/ec/ECPrivateKeyImpl.java.i
-data/src/solaris/native/sun/awt/awt_ScrollPane.c.i
+data/src/share/classes/javax/print/attribute/standard/DateTimeAtCreation.java.i
data/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh.i
-data/test/sun/security/pkcs11/nss/lib/solaris-sparcv9/libnss3.so.d
+data/test/java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.html.i
+data/src/share/classes/com/sun/java/browser/dom/DOMService.java.i
data/src/share/classes/sun/text/resources/FormatData_sl_SI.java.i
data/test/java/lang/instrument/RedefineClassWithNativeMethodAgent.java.i
data/src/share/classes/java/nio/channels/SocketChannel.java.i
-data/test/java/beans/PropertyEditor/TestByteTypeJava.java.i
+data/src/share/classes/javax/swing/FocusManager.java.i
data/src/share/classes/sun/security/pkcs11/P11TlsKeyMaterialGenerator.java.i
-data/test/sun/nio/cs/EuroConverter.java.i
-data/test/java/beans/XMLEncoder/java_util_Collections_CheckedSortedSet.java.i
data/test/sun/tools/jrunscript/common.sh.i
data/test/sun/tools/jstat/gcCapacityOutput1.awk.i
data/src/share/classes/sun/io/ByteToCharCp871.java.i
-data/test/javax/management/eventService/ReconnectableConnectorTest.java.i
+data/src/share/classes/com/sun/jmx/interceptor/DispatchInterceptor.java.i
data/src/share/classes/javax/management/event/RMIPushServer.java.i
-data/test/com/sun/jdi/TargetListener.java.i
+data/src/share/classes/sun/util/resources/TimeZoneNames_de.java.i
data/test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshall.java.i
data/test/java/awt/image/IncorrectSampleMaskTest.java.i
data/make/modules/tools/src/com/sun/classanalyzer/ShowDeps.java.i
-data/test/java/awt/Graphics2D/DrawString/RotTransText.java.i
+data/src/solaris/classes/sun/awt/motif/MCheckboxPeer.java.i
data/test/javax/management/namespace/Wombat.java.i
data/src/share/classes/sun/security/provider/DSAKeyPairGenerator.java.i
data/test/java/io/Serializable/resolveClass/consTest/Test.java.i
data/test/sun/security/provider/PolicyParser/ExtDirs3.policy.i
data/test/java/rmi/activation/Activatable/nonExistentActivatable/security.policy.i
-data/src/share/native/java/lang/Shutdown.c.i
+data/src/share/classes/sun/util/resources/CurrencyNames_sr_ME.properties.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsMenuUI.java.i
data/src/share/classes/sun/nio/ch/ExtendedSocketOption.java.i
data/test/java/util/Observable/ClearChanged.java.i
-data/test/javax/swing/text/WrappedPlainView/6857057/StubBranchElement.java.i
+data/src/solaris/doc/sun/man/man1/ja/jvisualvm.1.i
data/test/java/util/NavigableMap/LockStep.java.i
-data/test/sun/util/calendar/Bug6653944.java.i
+data/src/share/native/sun/awt/medialib/mlib_ImageAffine_BC_F32.c.i
data/src/share/classes/java/io/ByteArrayInputStream.java.i
data/test/java/security/cert/CertPathBuilder/NoExtensions.java.i
data/test/java/util/ServiceLoader/basic.sh.i
-data/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties.i
+data/test/com/sun/crypto/provider/Cipher/DES/inputData/plain10.txt.i
data/src/share/classes/com/sun/tools/jdi/VirtualMachineManagerImpl.java.i
-data/test/java/net/URLClassLoader/B6896088.java.i
data/src/share/classes/sun/io/ByteToCharCp277.java.i
data/src/share/classes/javax/sound/midi/SysexMessage.java.i
data/make/tools/swing-beans/beaninfo/images/JScrollBarColor16.gif.i
-data/make/tools/CharsetMapping/IBM420.map.i
-data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/LocalMonitoredVm.java.i
+data/src/share/classes/com/sun/tools/jdi/SocketTransportService.java.i
data/test/sun/security/pkcs11/nss/lib/solaris-amd64/libsoftokn3.so.i
-data/src/share/classes/com/sun/media/sound/DirectAudioDeviceProvider.java.i
-data/test/com/sun/jdi/UnloadEventTarg.java.i
-data/src/share/classes/com/sun/rowset/CachedRowSetImpl.java.i
+data/test/java/util/Locale/Bug4316602.java.i
+data/src/share/classes/java/security/URIParameter.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509IssuerSerial.java.i
-data/src/solaris/doc/sun/man/man1/ja/apt.1.i
-data/src/windows/native/sun/windows/awt_Frame.h.i
-data/src/share/classes/java/io/ObjectInput.java.i
-data/test/javax/management/eventService/EventClientExecutorTest.java.i
-data/src/solaris/native/sun/awt/awt_Window.h.i
+data/test/java/security/cert/CertPathValidatorException/GetMessage.java.i
+data/src/share/classes/javax/swing/plaf/synth/SynthArrowButton.java.i
+data/src/share/classes/javax/accessibility/AccessibleStreamable.java.i
+data/src/share/classes/javax/management/event/EventRelay.java.i
+data/src/share/classes/javax/management/remote/rmi/RMIConnection.java.i
data/src/share/classes/sun/security/jgss/spi/GSSContextSpi.java.i
-data/src/share/classes/com/sun/jmx/namespace/package.html.i
data/src/share/native/java/util/zip/zlib-1.2.3/gzio.c.i
+data/src/share/classes/sun/tools/jconsole/inspector/OperationEntry.java.i
data/test/sun/net/www/httptest/HttpCallback.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalBorders.java.i
-data/test/java/text/Format/DateFormat/ISO8601ZoneTest.java.i
-data/src/share/classes/javax/accessibility/AccessibleRelationSet.java.i
-data/src/windows/classes/sun/java2d/windows/Win32OffScreenSurfaceData.java.i
+data/test/java/util/Locale/data/deflocale.input.i
+data/make/tools/classanalyzer/src/com/sun/classanalyzer/ClassListWriter.java.i
+data/src/share/classes/sun/tools/tree/NewInstanceExpression.java.i
data/src/share/classes/sun/awt/image/URLImageSource.java.i
data/test/java/beans/XMLEncoder/java_util_Collections_UnmodifiableCollection.java.i
-data/test/java/net/InetSocketAddress/CreateUnresolved.java.i
+data/src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageWriter.java.i
data/src/share/native/sun/java2d/loops/IntBgr.h.i
data/test/java/awt/PrintJob/SaveDialogTitleTest.java.i
data/src/share/classes/java/security/KeyException.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/XPath2FilterContainer.java.i
-data/test/java/io/Serializable/GetField/Read2.java.i
-data/test/java/awt/Cursor/PredefinedPrivate/PredefinedPrivate.java.i
+data/test/org/openjdk/jigsaw/pubrepo.sh.i
+data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/RadialGradient.java.i
+data/src/share/classes/sun/io/CharToByteCp1026.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_ar_LY.properties.i
data/test/java/nio/Buffer/BasicDouble.java.i
data/test/sun/java2d/cmm/ColorConvertOp/MTColConvTest.java.i
-data/src/share/demo/applets/SortDemo/BubbleSortAlgorithm.java.i
+data/src/share/classes/com/sun/jndi/ldap/LdapBindingEnumeration.java.i
data/test/java/lang/instrument/NativeMethodPrefixApp.java.i
-data/src/share/classes/javax/management/modelmbean/package.html.i
+data/src/share/classes/sun/io/ByteToCharCp1123.java.i
data/src/share/classes/com/sun/jmx/snmp/SnmpMessage.java.i
data/src/share/classes/javax/swing/colorchooser/package.html.i
-data/test/javax/management/eventService/CustomForwarderTest.java.i
-data/src/share/classes/javax/naming/TimeLimitExceededException.java.i
+data/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGBuffer.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ServerHandshaker/GetPeerHostServer.java.i
-data/src/share/classes/com/sun/jndi/ldap/Ber.java.i
+data/src/share/classes/sun/tools/jstack/JStack.java.i
data/src/solaris/classes/sun/nio/ch/InheritedChannel.java.i
data/test/java/io/BufferedInputStream/Fill.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/resource/schema/etsi.xsd.i
data/test/sun/util/logging/PlatformLoggerTest.java.i
data/src/share/classes/sun/awt/HKSCS.java.i
data/test/sun/security/pkcs11/KeyStore/BasicData/pk1.key.i
-data/src/share/classes/java/awt/Frame.java.i
-data/test/sun/management/jmxremote/bootstrap/jmxremote_ssltest13_ok.ssl.in.i
+data/src/share/classes/com/sun/tools/jdi/JNITypeParser.java.i
+data/make/tools/CharsetMapping/MS936.map.d
data/test/com/sun/jdi/ClassesByName.java.i
-data/test/java/awt/image/ImagingOpsNoExceptionsTest/ImagingOpsNoExceptionsTest.java.i
+data/test/sun/security/pkcs11/fips/certs/ca.cer.i
data/src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h.i
data/src/share/classes/java/sql/SQLNonTransientException.java.i
-data/test/java/rmi/transport/readTimeout/ReadTimeoutTest.java.i
-data/src/share/classes/sun/java2d/pipe/BufferedTextPipe.java.i
+data/test/java/text/Bidi/BidiConformance.java.i
+data/src/share/classes/javax/xml/crypto/dsig/keyinfo/PGPData.java.i
data/test/java/beans/XMLEncoder/java_lang_reflect_Field.java.i
data/src/share/classes/javax/sound/midi/MetaMessage.java.i
-data/test/tools/pack200/T7007157.java.i
-data/src/share/classes/sun/security/krb5/internal/Authenticator.java.i
+data/test/sun/awt/image/DrawByteBinary.java.i
+data/src/share/classes/java/sql/ClientInfoStatus.java.i
data/src/share/classes/sun/security/krb5/internal/crypto/Des3.java.i
-data/src/solaris/classes/sun/awt/X11/XScrollbar.java.i
-data/src/share/classes/sun/rmi/server/Util.java.i
+data/src/share/classes/java/text/spi/BreakIteratorProvider.java.i
+data/make/com/sun/java/browser/net/Makefile.i
data/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatch.java.i
data/src/share/classes/com/sun/java/util/jar/pack/AdaptiveCoding.java.i
-data/test/java/util/ResourceBundle/Control/PackagePrivateTest.java.i
+data/src/share/classes/javax/xml/crypto/dsig/dom/DOMValidateContext.java.i
data/test/sun/text/resources/Format/Bug4442855.java.i
data/test/sun/nio/cs/ReadZero.java.i
-data/src/share/classes/java/nio/file/attribute/FileTime.java.i
+data/test/sun/security/tools/policytool/ChangeUI.java.i
data/src/share/classes/java/net/UnknownServiceException.java.i
data/src/share/classes/java/beans/beancontext/package.html.i
data/src/share/native/java/lang/fdlibm/src/k_tan.c.i
data/test/java/util/Currency/Bug6807534.java.i
data/test/java/lang/ClassLoader/package1/package3/Class3.java.i
data/src/share/classes/java/awt/event/TextEvent.java.i
-data/make/netbeans/jdwpgen/nbproject/project.properties.i
+data/src/share/native/sun/awt/medialib/mlib_ImageAffineEdge.c.i
data/src/share/classes/java/lang/SecurityException.java.i
-data/test/java/rmi/reliability/benchmark/bench/serial/Chars.java.i
+data/src/share/modules/jdk.awt/module-info.java.i
data/src/share/classes/sun/nio/cs/ISO_8859_5.java.i
-data/test/sun/security/ssl/sanity/pluggability/MySSLEngineImpl.java.i
+data/make/java/main/java/mapfile-sparc.i
data/make/com/sun/security/auth/module/FILES_c_solaris.gmk.i
data/src/share/classes/java/util/logging/StreamHandler.java.i
-data/src/share/classes/javax/security/auth/callback/Callback.java.i
+data/src/share/classes/java/lang/IllegalThreadStateException.java.i
+data/src/share/sample/jmx/jmx-scandir/build.xml.i
data/make/tools/CharsetMapping/IBM284.nr.i
-data/src/share/classes/javax/sound/sampled/spi/MixerProvider.java.i
+data/src/share/demo/scripting/jconsole-plugin/src/scripts/hello.js.i
data/src/share/classes/sun/nio/cs/ext/IBM964.java.i
data/src/solaris/native/sun/awt/awt_Plugin.c.i
data/src/share/classes/sun/applet/resources/MsgAppletViewer_ko.java.i
-data/src/windows/classes/sun/nio/fs/WindowsException.java.i
+data/src/share/classes/com/sun/inputmethods/internal/indicim/DevanagariTables.java.i
data/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_CN.properties.i
-data/src/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java.i
-data/test/java/dyn/InvokeGenericTest.java.i
-data/src/share/classes/javax/imageio/IIOParam.java.i
+data/src/share/classes/javax/swing/BoxLayout.java.i
+data/make/sun/font/Makefile.i
+data/test/sun/security/tools/jarsigner/ec.sh.i
+data/test/java/rmi/server/RMIClassLoader/noSecurityManager/NoSecurityManager.java.i
data/src/share/classes/sun/nio/cs/ext/ISO_8859_6.java.i
-data/test/java/lang/invoke/InvokeDynamicPrintArgs.java.i
-data/test/java/util/Locale/bug4123285.html.i
+data/src/share/native/java/lang/fdlibm/src/w_remainder.c.i
+data/src/share/classes/sun/awt/WindowClosingListener.java.i
data/test/java/beans/XMLEncoder/6777487/TestCheckedMap.java.i
data/src/share/classes/javax/swing/undo/UndoManager.java.i
-data/src/share/classes/sun/security/krb5/internal/HostAddress.java.i
+data/make/java/jli/Makefile.i
data/src/solaris/classes/sun/java2d/xr/GrowableEltArray.java.i
data/test/java/io/File/createTempFile/Patterns.java.i
-data/src/share/classes/sun/util/calendar/CalendarSystem.java.i
+data/test/java/dyn/indify/Indify.java.i
data/src/share/demo/jvmti/minst/README.txt.i
-data/src/share/classes/java/awt/image/ImageConsumer.java.i
+data/src/share/classes/com/sun/tools/example/debug/gui/ClassManager.java.i
data/make/sun/net/FILES_java.gmk.i
data/src/share/classes/javax/management/InstanceNotFoundException.java.i
data/make/tools/CharsetMapping/IBM1146.c2b.i
data/test/sun/java2d/cmm/ProfileOp/MTReadProfileTest.java.i
data/src/share/classes/sun/nio/cs/UTF_16.java.i
-data/src/share/classes/java/util/zip/ZipInputStream.java.i
-data/test/java/net/Socket/TrafficClass.java.i
-data/make/tools/swing-beans/beaninfo/images/JPopupMenuMono32.gif.i
+data/test/java/util/ResourceBundle/Control/StressOut_ja_JP.properties.i
+data/src/share/classes/java/beans/MetaData.java.i
+data/test/java/rmi/reliability/benchmark/bench/ConfigFormatException.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicToolBarUI.java.i
data/src/share/demo/applets.html.i
+data/src/share/classes/sun/java2d/pipe/hw/AccelTypedVolatileImage.java.i
data/src/share/classes/sun/launcher/resources/launcher_zh_CN.properties.i
-data/test/java/lang/instrument/NoTransformerAddedTest.java.i
+data/test/java/util/PluggableLocale/providersrc/java.util.spi.CurrencyNameProvider.i
data/src/share/classes/sun/text/resources/FormatData_hr.java.i
-data/src/share/classes/java/lang/reflect/TypeVariable.java.i
data/src/share/demo/jfc/Font2DTest/resources/TextResources_ja.properties.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpFunc.h.i
+data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMCommunities.java.i
data/src/share/classes/java/util/jar/package.html.i
+data/src/share/classes/java/awt/geom/package.html.i
data/test/java/util/ResourceBundle/Bug4177489Test.java.i
-data/test/tools/pack200/pack200-verifier/src/sun/tools/pack/verify/VerifyTreeSet.java.i
+data/src/share/classes/javax/security/auth/login/Configuration.java.i
data/src/share/classes/sun/security/rsa/RSAPublicKeyImpl.java.i
data/test/sun/security/pkcs11/ec/ReadCertificates.java.i
data/test/javax/xml/crypto/dsig/data/certs/xmldsig.jks.i
-data/src/share/demo/jvmti/minst/sample.makefile.txt.i
+data/src/share/classes/sun/java2d/pipe/RenderQueue.java.i
data/src/windows/back/mutex_md.h.i
-data/src/windows/native/sun/windows/awt_PrintControl.h.i
+data/test/java/security/cert/CertificateFactory/SlowStream.java.i
data/src/share/classes/java/util/logging/package.html.i
data/make/tools/CharsetMapping/JIS_X_0201.map.i
-data/src/share/classes/javax/swing/plaf/TextUI.java.i
+data/make/tools/src/build/tools/generatenimbus/SynthModel.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_sr_Latn_RS.properties.i
data/test/java/beans/PropertyEditor/TestEnumSubclassNull.java.i
-data/test/java/lang/Throwable/SuppressedExceptions.java.i
+data/src/share/native/sun/java2d/loops/DrawParallelogram.c.i
data/src/share/classes/sun/nio/cs/ext/ISO2022_JP.java.i
data/test/com/sun/tools/attach/Application.java.i
-data/src/share/classes/sun/rmi/transport/DGCAckHandler.java.i
+data/src/solaris/classes/sun/net/spi/SdpProvider.java.i
data/src/share/classes/com/sun/inputmethods/internal/indicim/IndicInputMethod.java.i
-data/src/share/native/sun/management/MemoryImpl.c.i
+data/src/share/classes/sun/swing/ImageIconUIResource.java.i
data/src/share/classes/java/util/Set.java.i
data/src/share/native/sun/awt/image/jpeg/jmemmgr.c.i
-data/test/java/rmi/activation/ActivationSystem/unregisterGroup/security.policy.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/Canonicalizer.java.i
+data/test/javax/management/Introspector/ParameterNameTest.java.i
data/src/share/classes/java/lang/Long.java.i
-data/src/share/classes/sun/text/resources/FormatData_ru_RU.java.i
data/src/solaris/native/sun/java2d/loops/mlib_v_ImageClear.c.i
data/src/share/classes/com/sun/jdi/ReferenceType.java.i
-data/src/share/classes/sun/management/snmp/jvmmib/JvmClassLoadingMeta.java.i
-data/src/share/classes/sun/net/httpserver/HttpsServerImpl.java.i
-data/src/share/classes/sun/awt/image/BytePackedRaster.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/JavaxTrustManagerFactoryImpl.java.i
+data/src/share/native/java/util/zip/zlib-1.2.5/gzlib.c.i
+data/src/share/classes/sun/management/HotspotClassLoading.java.i
data/src/share/native/sun/awt/medialib/j2d_names.h.i
-data/src/share/classes/java/awt/dnd/DropTargetListener.java.i
+data/test/java/awt/Toolkit/AutoShutdown/ShowExitTest/ShowExitTest.sh.i
data/test/sun/rmi/rmic/newrmic/equivalence/AppleImpl.java.i
data/src/share/classes/sun/java2d/pipe/BufferedMaskBlit.java.i
-data/src/solaris/classes/sun/awt/motif/X11JIS0208.java.i
+data/src/share/classes/java/nio/channels/DatagramChannel.java.i
data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/Launcher.c.i
data/src/share/classes/com/sun/crypto/provider/DESedeCipher.java.i
-data/test/sun/security/ssl/sun/net/www/httpstest/ClosedChannelList.java.i
+data/src/share/native/sun/security/ec/ecp_jac.c.i
+data/src/share/classes/java/lang/Readable.java.i
data/src/share/classes/javax/management/NotCompliantMBeanException.java.i
data/src/share/classes/sun/tools/jconsole/inspector/XNodeInfo.java.i
data/src/solaris/demo/jni/Poller/Poller.java.i
-data/src/share/classes/sun/tools/java/CompilerError.java.i
+data/src/share/classes/sun/rmi/registry/resources/rmiregistry_de.properties.i
data/test/com/sun/security/sasl/gsskerb/log.properties.i
-data/test/java/nio/channels/SocketChannel/CloseAfterConnect.java.i
+data/test/java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.java.i
data/src/share/demo/nbproject/management/VerboseGC/build.xml.i
-data/src/share/classes/java/beans/XMLDecoder.java.i
+data/make/mkdemo/jvmti/mtrace/Makefile.i
data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/EchoTest.java.i
data/src/share/classes/java/text/CollationRules.java.i
-data/src/share/classes/javax/management/InstanceOfQueryExp.java.i
+data/test/javax/sound/midi/Gervill/SoftChannel/SoftTestUtils.java.i
data/test/com/sun/management/UnixOperatingSystemMXBean/GetOpenFileDescriptorCount.sh.i
-data/test/javax/swing/JOptionPane/6464022/bug6464022.java.i
-data/src/share/native/sun/security/ec/impl/secoidt.h.i
+data/test/java/awt/im/InputContext/InputContextTest.java.i
+data/src/share/classes/java/lang/invoke/MutableCallSite.java.i
data/src/share/classes/sun/io/ByteToCharUnicode.java.i
data/test/sun/tools/native2ascii/NativeErrors.java.i
+data/src/share/classes/javax/swing/JToolBar.java.i
data/src/share/classes/sun/swing/plaf/windows/ClassicSortArrowIcon.java.i
-data/make/tools/classanalyzer/src/com/sun/classanalyzer/ModuleInfo.java.i
+data/src/share/classes/java/lang/reflect/TypeVariable.java.i
data/make/netbeans/common/architectures/README.i
data/src/share/classes/sun/management/MappedMXBeanType.java.i
-data/test/java/net/Socket/GetLocalAddress.java.i
data/src/share/classes/java/awt/ActiveEvent.java.i
-data/src/share/classes/com/sun/tools/example/debug/event/ModificationWatchpointEventSet.java.i
+data/src/share/native/com/sun/java/util/jar/pack/unpack.cpp.i
data/src/share/native/java/lang/java_props.h.i
data/src/solaris/native/sun/net/dns/ResolverConfigurationImpl.c.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/v2_0/TypeCode.java.i
+data/src/share/classes/java/io/ByteArrayOutputStream.java.i
data/src/share/classes/sun/tools/jconsole/inspector/ThreadDialog.java.i
data/src/share/classes/sun/text/resources/FormatData_pt_BR.java.i
data/test/java/util/BitSet/MemoryLeak.java.i
-data/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java.i
+data/test/javax/swing/JFileChooser/6342301/bug6342301.java.i
+data/src/share/classes/sun/java2d/cmm/ProfileDeferralMgr.java.i
data/make/tools/swing-beans/beaninfo/images/JTextAreaColor32.gif.i
-data/src/share/classes/com/sun/tools/hat/internal/oql/OQLQuery.java.i
+data/test/java/security/AccessControlContext/NullCombinerEquals.java.i
data/src/share/classes/sun/security/smartcardio/PCSCException.java.i
-data/test/javax/management/modelmbean/DescriptorSupportTest.java.i
+data/src/share/classes/sun/launcher/resources/launcher_ja.properties.i
data/test/java/awt/print/PrinterJob/PrtException.java.i
data/src/share/classes/com/sun/media/sound/ModelSource.java.i
data/src/share/classes/javax/swing/text/html/MuxingAttributeSet.java.i
data/src/share/classes/java/awt/MouseInfo.java.i
data/src/share/classes/sun/io/CharToByteCp1147.java.i
-data/src/windows/native/sun/windows/awt_Desktop.cpp.i
+data/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.html.i
data/src/share/classes/sun/text/resources/FormatData_nl_BE.java.i
data/test/com/sun/security/sasl/gsskerb/run-nosec-wjaas.csh.i
-data/test/sun/misc/JarIndex/metaInfFilenames/jarB/b/B.java.i
-data/src/share/classes/org/openjdk/jigsaw/cli/Librarian.java.i
+data/src/share/classes/sun/misc/ProxyGenerator.java.i
+data/src/share/classes/com/sun/jmx/namespace/RoutingServerProxy.java.i
data/test/sun/java2d/pisces/Renderer/TestNPE.java.i
data/test/sun/net/www/http/KeepAliveStream/KeepAliveStreamCloseWithWrongContentLength.java.i
-data/src/share/classes/org/relaxng/datatype/DatatypeException.java.i
+data/make/java/zip/reorder-sparc.i
data/src/windows/classes/sun/java2d/d3d/D3DSurfaceData.java.i
data/src/share/classes/sun/rmi/transport/proxy/HttpOutputStream.java.i
-data/test/java/nio/Buffer/CopyDirectByteMemory.java.i
+data/src/share/classes/org/openjdk/jigsaw/RemoteRepository.java.i
data/src/share/classes/java/nio/file/DirectoryIteratorException.java.i
data/src/share/classes/com/sun/tools/hat/internal/parser/FileReadBuffer.java.i
-data/src/share/classes/com/sun/crypto/provider/PBEWithMD5AndTripleDESCipher.java.i
+data/test/java/nio/charset/coders/ResetISO2022JP.java.i
data/test/java/awt/font/Rotate/Shear.java.i
data/src/share/classes/com/sun/beans/finder/PrimitiveWrapperMap.java.i
data/test/java/lang/Thread/UncaughtExceptions.sh.i
-data/src/windows/native/sun/windows/ShellFolder2.cpp.i
+data/src/share/classes/sun/net/httpserver/HttpExchangeImpl.java.i
data/test/sun/nio/cs/SurrogateTestEUCTW.plane7.surrogates.i
data/src/share/classes/java/rmi/server/RemoteServer.java.i
-data/src/share/classes/java/security/cert/CertPathValidator.java.i
+data/src/share/classes/javax/swing/WindowConstants.java.i
data/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageGenerator.java.i
data/test/com/sun/jdi/Unload1Targ.java.i
data/test/javax/management/Introspector/NotAnMBeanTest.java.i
+data/src/share/native/sun/java2d/loops/UshortGray.c.i
data/make/common/shared/Defs.gmk.i
-data/src/share/classes/sun/text/normalizer/NormalizerBase.java.i
-data/src/share/native/sun/awt/image/dither.c.i
+data/test/sun/tools/jps/jps-help.sh.i
+data/src/share/classes/java/awt/event/FocusAdapter.java.i
+data/src/share/classes/javax/swing/text/DefaultFormatter.java.i
data/test/java/net/Authenticator/B4722333.java.i
data/src/solaris/native/sun/awt/randr.h.i
data/src/share/native/java/lang/fdlibm/src/e_lgamma.c.i
-data/src/share/classes/javax/swing/ProgressMonitorInputStream.java.i
-data/make/sun/javazic/tzdata/systemv.i
-data/src/share/classes/sun/nio/cs/ext/MacCroatian.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/StorageResolverSpi.java.i
+data/test/java/lang/instrument/appendToClassLoaderSearch/Application.java.i
data/src/share/classes/sun/rmi/server/ActivationGroupImpl.java.i
-data/test/javax/swing/JFileChooser/4847375/bug4847375.java.i
-data/test/java/util/concurrent/Exchanger/ExchangeLoops.java.i
-data/src/share/native/sun/awt/libpng/pnglibconf.h.i
-data/src/share/classes/sun/nio/ch/OptionKey.java.i
+data/src/solaris/native/sun/java2d/loops/vis_FourByteAbgrPre.c.i
+data/src/solaris/classes/sun/font/FcFontConfiguration.java.i
+data/test/java/util/PriorityQueue/RemoveContains.java.i
+data/src/share/classes/sun/io/ByteToCharSingleByte.java.i
data/src/share/classes/com/sun/jmx/snmp/SnmpUnsignedInt.java.i
-data/src/share/classes/sun/management/MemoryNotifInfoCompositeData.java.i
data/test/sun/security/util/HostnameMatcher/cert2.crt.i
data/test/java/beans/PropertyEditor/TestEditor.java.i
data/src/share/classes/java/util/concurrent/Phaser.java.i
@@ -17846,154 +17932,154 @@ data/test/com/sun/jdi/UnpreparedByName.java.i
data/test/sun/security/pkcs11/nss/lib/linux-i586/libnspr4.so.i
data/src/share/classes/com/sun/media/sound/ModelDirectedPlayer.java.i
data/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningByteArray.java.i
-data/test/java/io/Serializable/NoClassDefFoundErrorTrap/NoClassDefFoundErrorTrap.java.i
+data/src/share/native/sun/font/layout/MorphTables.h.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIU8U8Func.c.i
data/test/sun/java2d/pipe/Test7027667.java.i
data/test/java/awt/Focus/RestoreFocusOnDisabledComponentTest/RestoreFocusOnDisabledComponentTest.java.i
data/src/share/classes/java/security/spec/package.html.i
data/test/org/openjdk/jigsaw/cli/expired-signer-prikey.pem.i
-data/make/java/Makefile.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_sv.properties.i
+data/src/share/native/sun/awt/medialib/mlib_c_ImageBlendTable.h.i
+data/src/windows/npt/npt_md.h.i
data/test/java/util/ResourceBundle/bug6572242.properties.i
data/test/java/util/Formatter/FailingConstructors.java.i
+data/src/share/classes/sun/tools/jar/CommandLine.java.i
data/test/javax/management/remote/mandatory/provider/provider/JMXConnectorServerProviderImpl.java.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIU8U16Func.c.i
+data/src/share/classes/javax/management/IntrospectionException.java.i
+data/src/share/classes/sun/nio/cs/MS1254.java.i
data/test/java/lang/StringBuffer/IndexOf.java.i
data/src/share/classes/sun/security/internal/interfaces/TlsMasterSecret.java.i
-data/test/java/lang/invoke/ThrowExceptionsTest.java.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIU8S16Func.c.i
data/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c.i
-data/src/windows/native/sun/windows/awt_new.cpp.i
+data/src/share/classes/sun/tools/tree/ReturnStatement.java.i
data/src/windows/demo/jvmti/hprof/hprof_md.c.i
+data/src/share/classes/sun/security/krb5/Checksum.java.i
data/src/share/classes/sun/security/provider/certpath/SunCertPathBuilderException.java.i
-data/src/share/demo/jvmti/hprof/hprof_b_spec.h.i
data/src/share/classes/com/sun/java/swing/plaf/motif/icons/Warn.gif.i
-data/test/javax/security/auth/login/LoginContext/DefaultHandlerImpl.java.i
-data/src/windows/classes/sun/awt/windows/WClipboard.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_ca_ES.properties.i
+data/src/share/classes/sun/security/pkcs11/JarVerifier.java.i
+data/src/share/classes/javax/management/event/NotificationManager.java.i
data/src/share/classes/sun/io/ByteToCharCp865.java.i
data/test/java/io/Serializable/resolveClass/MethodTest.java.i
data/test/java/beans/PropertyEditor/TestIntegerTypeValue.java.i
data/test/java/rmi/reliability/benchmark/bench/rmi/ObjArrayCalls.java.i
data/src/share/classes/java/beans/beancontext/BeanContextServiceProviderBeanInfo.java.i
data/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageMetadataFormatResources.java.i
-data/make/netbeans/world/nbproject/project.xml.i
+data/test/java/net/URLConnection/xml/not-xml1.i
data/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java.i
data/src/share/classes/sun/nio/cs/ext/IBM838.java.i
data/src/share/classes/sun/util/logging/resources/logging_it.properties.i
-data/src/share/classes/java/nio/file/FileRef.java.i
+data/src/share/native/java/lang/fdlibm/src/w_lgamma_r.c.i
data/test/javax/sound/midi/Gervill/SoftChannel/Omni.java.i
data/src/share/classes/javax/management/loading/MLetContent.java.i
data/src/share/native/java/util/zip/zlib-1.1.3/inffixed.h.i
data/src/share/classes/javax/sql/ConnectionEventListener.java.i
data/src/share/classes/sun/util/resources/CalendarData_hu.properties.i
data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/package.html.i
-data/make/jpda/expr/Makefile.i
+data/test/sun/java2d/SunGraphics2D/DrawImageBilinear.java.i
data/test/java/io/Serializable/resolveClass/deserializeButton/run.sh.i
-data/src/share/classes/com/sun/tools/example/debug/bdi/ExecutionManager.java.i
-data/src/share/native/sun/java2d/pipe/ShapeSpanIterator.c.i
+data/test/java/lang/Runtime/exec/WinCommand.java.i
+data/src/share/classes/sun/text/resources/FormatData_ga_IE.java.i
data/src/share/classes/java/security/spec/DSAPublicKeySpec.java.i
-data/src/share/native/sun/font/layout/LEStandalone.h.i
+data/test/com/sun/org/apache/xml/internal/security/exceptions/LocaleTest.java.i
data/src/share/demo/nbproject/jfc/TransparentRuler/nbproject/jdk.xml.i
data/src/windows/native/sun/java2d/d3d/D3DPaints.h.i
data/make/mkdemo/applets/Clock/Makefile.i
-data/test/java/awt/geom/Arc2D/SerializationTest.java.i
-data/test/javax/management/remote/mandatory/loading/DefaultProviderTest.java.i
+data/test/java/util/zip/ZipFile/CopyJar.java.i
+data/src/share/classes/sun/security/provider/certpath/AdjacencyList.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverFragment.java.i
data/src/share/classes/sun/java2d/cmm/lcms/META-INF/services/sun.java2d.cmm.PCMM.i
data/src/share/classes/sun/security/pkcs11/wrapper/CK_ECDH1_DERIVE_PARAMS.java.i
data/test/java/util/concurrent/Semaphore/RacingReleases.java.i
-data/src/windows/native/sun/windows/img_util_md.h.i
-data/src/share/classes/com/sun/media/sound/RIFFReader.java.i
+data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/DoubleBean.java.i
+data/make/mkdemo/applets/NervousText/Makefile.i
data/src/share/classes/javax/xml/crypto/dsig/XMLSignatureException.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509DataContent.java.i
data/test/java/lang/Float/ParseFloat.java.i
data/src/share/classes/javax/management/DescriptorRead.java.i
-data/test/sun/rmi/rmic/extraCompilation/run.sh.i
+data/src/solaris/native/com/sun/security/auth/module/Unix.c.i
data/test/com/sun/tools/attach/application.mf.i
data/test/javax/management/loading/LibraryLoader/jar_src/RandomGen.h.i
data/src/share/classes/javax/management/modelmbean/ModelMBeanNotificationBroadcaster.java.i
-data/test/com/sun/servicetag/servicetag2.properties.i
data/src/solaris/classes/sun/awt/X11/XAwtState.java.i
-data/test/com/sun/crypto/provider/Mac/MacClone.java.i
+data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMBase64Transform.java.i
data/make/sun/javazic/tzdata/solar89.i
data/test/java/awt/Graphics2D/MTGraphicsAccessTest/MTGraphicsAccessTest.java.i
-data/src/share/demo/jvmti/agent_util/README.txt.i
data/src/share/classes/javax/naming/directory/BasicAttributes.java.i
-data/src/solaris/classes/sun/nio/ch/PollArrayWrapper.java.i
+data/src/share/classes/sun/security/jgss/krb5/Krb5Util.java.i
data/test/java/lang/management/MemoryMXBean/MemoryUtil.java.i
data/src/share/classes/javax/naming/directory/AttributeInUseException.java.i
-data/test/java/beans/XMLEncoder/Test6531597.java.i
+data/src/share/classes/java/awt/geom/GeneralPath.java.i
data/test/java/io/Serializable/writeReplace/WriteReplace.java.i
data/test/javax/swing/JFileChooser/6688203/bug6688203.java.i
data/test/javax/sound/midi/Gervill/SoftChannel/ChannelPressure.java.i
-data/test/java/util/ResourceBundle/TestResource_it.java.i
data/test/com/sun/jdi/connect/spi/SimpleLaunchingConnector.java.i
data/test/java/awt/font/TextLayout/AttributeValuesCastTest.java.i
data/test/javax/swing/JColorChooser/Test6827032.java.i
-data/src/share/classes/sun/security/krb5/internal/TGSRep.java.i
+data/test/com/sun/awt/Translucency/TranslucentJAppletTest/TranslucentJAppletTest.java.i
data/src/share/native/sun/security/jgss/wrapper/gssapi.h.i
data/src/share/classes/sun/nio/cs/ext/ISO2022_CN_CNS.java.i
data/src/share/classes/sun/reflect/misc/ConstructorUtil.java.i
-data/src/share/lib/images/cursors/win32_MoveNoDrop32x32.gif.i
+data/src/share/classes/javax/imageio/spi/PartiallyOrderedSet.java.i
data/test/java/rmi/reliability/benchmark/bench/rmi/NullCalls.java.i
data/src/share/classes/sun/text/resources/FormatData_el_GR.java.i
data/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedShort.java.i
-data/test/java/io/DataInputStream/ReadFully.java.i
+data/test/java/rmi/activation/ActivationSystem/unregisterGroup/rmid.security.policy.i
data/test/java/io/Serializable/oldTests/ArrayOpsTest.java.i
-data/test/java/lang/Character/CheckProp.java.i
+data/src/share/native/sun/font/layout/AlternateSubstSubtables.h.i
data/src/share/classes/com/sun/media/sound/services/javax.sound.sampled.spi.AudioFileReader.i
-data/src/share/classes/java/sql/Date.java.i
-data/test/java/beans/Introspector/Test4634390.java.i
-data/src/share/classes/java/lang/annotation/AnnotationTypeMismatchException.java.i
+data/src/share/classes/com/sun/java/util/jar/pack/CodingMethod.java.i
+data/src/share/classes/sun/text/resources/FormatData_ca.java.i
+data/src/share/classes/com/sun/jmx/snmp/internal/SnmpModelLcd.java.i
data/test/java/util/ResourceBundle/Bug4168625Resource3.java.i
data/make/tools/CharsetMapping/IBM1364.map.i
-data/src/windows/classes/sun/security/mscapi/RSAPrivateKey.java.i
+data/test/com/sun/jdi/connect/spi/Foo.java.i
data/src/share/demo/jvmti/hprof/hprof_tracker.h.i
data/src/share/classes/com/sun/jdi/request/StepRequest.java.i
data/src/windows/native/java/net/DualStackPlainDatagramSocketImpl.c.i
data/src/share/classes/sun/management/snmp/jvminstr/JvmMemGCEntryImpl.java.i
data/src/share/demo/jvmti/hprof/hprof_error.h.i
-data/src/share/classes/sun/io/CharToByteCp949C.java.i
-data/test/java/util/concurrent/ConcurrentQueues/RemovePollRace.java.i
+data/src/share/native/sun/font/layout/ArabicLayoutEngine.cpp.i
+data/src/solaris/classes/sun/nio/ch/EPollSelectorProvider.java.i
data/test/java/util/zip/ZipCoding.java.i
-data/test/com/sun/net/httpserver/Test5.java.i
+data/test/java/awt/geom/Arc2D/SerializationTest.java.i
data/make/tools/reorder/tests/Exit.java.i
data/make/common/shared/Defs-versions.gmk.i
-data/test/com/sun/jdi/UnpreparedClasses.java.i
+data/test/java/lang/ref/SoftReference/Bash.java.i
data/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadShort.java.i
data/test/java/net/DatagramPacket/Unresolved.java.i
data/src/share/classes/sun/io/CharToByteCp1124.java.i
data/test/java/io/Serializable/unresolvedClassDesc/Foo.java.i
-data/test/java/io/Serializable/lookupAnyInvocation/LookupAnyInvocation.java.i
-data/src/share/back/log_messages.c.i
+data/test/java/util/Locale/data/deflocale.sh.i
+data/src/share/classes/java/lang/annotation/Documented.java.i
data/src/share/classes/com/sun/jndi/ldap/pool/PoolCallback.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifToggleButtonUI.java.i
-data/test/javax/crypto/Mac/ByteBuffers.java.i
data/test/java/io/StreamTokenizer/QuoteTest.java.i
data/src/share/classes/com/sun/jmx/remote/protocol/iiop/ClientProvider.java.i
data/test/com/sun/jdi/DoubleAgentTest.java.i
data/test/java/lang/ClassLoader/findSystemClass/Loader.java.i
-data/test/com/sun/security/auth/module/LdapLoginModule/CheckConfigs.policy.i
+data/src/share/classes/javax/xml/crypto/dom/package.html.i
data/test/java/lang/Math/IeeeRecommendedTests.java.i
-data/test/java/lang/instrument/TransformMethodTest.java.i
+data/src/share/classes/sun/util/resources/CalendarData_et.properties.i
data/test/java/util/ResourceBundle/Bug4396021SpecialMessages.java.i
-data/src/solaris/classes/sun/awt/UNIXToolkit.java.i
+data/src/share/classes/java/io/StreamCorruptedException.java.i
data/src/solaris/classes/sun/awt/X11/XQueryTree.java.i
-data/test/java/util/ServiceLoader/Basic.java.i
+data/src/share/classes/javax/swing/border/MatteBorder.java.i
+data/test/com/sun/security/sasl/Cram.java.i
data/test/java/io/FileOutputStream/FileOpen.sh.i
data/make/tools/CharsetMapping/MS1257.map.i
data/src/share/classes/javax/management/openmbean/InvalidOpenTypeException.java.i
data/src/windows/native/sun/java2d/d3d/D3DPipeline.cpp.i
-data/test/javax/management/Introspector/MBeanDescriptionTest.java.i
-data/src/share/demo/nio/zipfs/com/sun/nio/zipfs/ZipCoder.java.i
-data/test/javax/script/GetInterfaceTest.java.i
+data/src/share/back/ClassObjectReferenceImpl.h.i
+data/test/java/rmi/reliability/benchmark/bench/serial/DoubleArrays.java.i
data/src/share/native/sun/security/ec/ecp_192.c.i
data/src/share/classes/sun/swing/plaf/synth/StyleAssociation.java.i
data/make/mkdemo/applets/BarChart/Makefile.i
-data/test/javax/sound/midi/Gervill/SoftProvider/GetDevice.java.i
+data/src/solaris/native/sun/awt/medialib/vis_32.il.i
data/test/java/lang/annotation/RecursiveAnnotation.java.i
-data/test/sun/security/pkcs11/Secmod/TrustAnchors.java.i
-data/src/share/native/sun/awt/image/cvutils/img_input8.h.i
+data/test/java/security/cert/CertPathValidator/nameConstraints/openssl.cnf.i
+data/src/share/classes/sun/util/resources/CalendarData_in_ID.properties.i
data/src/share/classes/sun/io/ByteToCharMacArabic.java.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsPopupMenuSeparatorUI.java.i
data/test/javax/imageio/plugins/png/GrayPngTest.java.i
data/test/java/lang/instrument/Counter.java.i
data/src/share/demo/jfc/Font2DTest/README.txt.i
@@ -18001,96 +18087,99 @@ data/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopLength.java.i
data/src/share/classes/javax/swing/plaf/metal/icons/sortUp.png.i
data/src/share/native/sun/security/ec/impl/mplogic.h.i
data/src/share/classes/javax/swing/plaf/metal/icons/ocean/info.png.i
-data/make/modules/jdk.awt.ls.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/X509SKIResolver.java.i
data/src/share/classes/sun/nio/cs/ext/JIS_X_0208_MS932_Encoder.java.i
data/make/netbeans/world/build.properties.i
data/test/java/rmi/reliability/benchmark/bench/serial/Booleans.java.i
-data/src/share/classes/sun/security/pkcs11/P11TlsRsaPremasterSecretGenerator.java.i
+data/src/share/classes/java/lang/reflect/InvocationTargetException.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/SignerOutputStream.java.i
data/test/java/rmi/activation/ActivationSystem/stubClassesPermitted/StubClassesPermitted_Stub.java.i
data/src/share/classes/com/sun/tools/jdi/VoidTypeImpl.java.i
-data/test/sun/nio/cs/TestIBMBugs.java.i
-data/test/sun/nio/cs/OLD/X11KSC5601_OLD.java.i
+data/test/java/io/StreamTokenizer/ReadAhead.java.i
+data/src/share/classes/java/lang/invoke/Invokers.java.i
data/test/java/lang/management/ThreadMXBean/ThreadInfoArray.java.i
-data/src/share/demo/java2d/J2DBench/src/j2dbench/Test.java.i
+data/make/sun/font/mapfile-vers.openjdk.i
data/src/share/classes/sun/net/www/protocol/gopher/GopherClient.java.i
data/test/java/util/Locale/data/deflocale.winxp.i
-data/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankUrl.java.i
+data/test/com/sun/security/auth/callback/DialogCallbackHandler/Default.java.i
data/src/share/classes/com/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory.java.i
data/test/sun/nio/cs/OLD/IBM949C_OLD.java.i
-data/test/sun/security/pkcs11/MessageDigest/ReinitDigest.java.i
-data/test/java/io/Serializable/backRefCNFException/Write.java.i
-data/src/share/classes/sun/security/pkcs10/PKCS10Attributes.java.i
+data/src/share/classes/javax/swing/colorchooser/DefaultSwatchChooserPanel.java.i
+data/test/java/beans/PropertyChangeSupport/TestMethods.java.i
+data/test/sun/tools/jcmd/jcmd-help.sh.i
+data/test/com/sun/crypto/provider/Cipher/RSA/TestOAEPWithParams.java.i
data/src/windows/native/sun/windows/awt_Canvas.h.i
data/test/javax/management/remote/mandatory/subjectDelegation/SimpleStandardMBean.java.i
data/src/share/classes/java/nio/file/attribute/FileAttribute.java.i
data/src/share/classes/javax/swing/ToolTipManager.java.i
data/src/solaris/native/sun/awt/medialib/vis_64.il.i
-data/src/share/classes/sun/security/x509/PrivateKeyUsageExtension.java.i
data/src/share/classes/java/awt/Dimension.java.i
-data/test/java/lang/management/ThreadMXBean/ThreadBlockedCount.java.i
+data/src/windows/classes/sun/awt/windows/WingDings.java.i
data/src/share/classes/sun/print/OpenBook.java.i
data/test/java/io/Serializable/oldTests/PrimitivesTest.java.i
data/test/java/io/BufferedReader/ReadLine.java.i
data/test/javax/sound/midi/Gervill/ModelDestination/SetIdentifier.java.i
data/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/JavaxURLNulls.java.i
-data/src/share/native/sun/awt/image/BufImgSurfaceData.h.i
+data/src/solaris/classes/sun/nio/ch/SctpSendFailed.java.i
data/src/share/bin/splashscreen_stubs.c.i
-data/src/share/classes/javax/print/attribute/PrintServiceAttributeSet.java.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/icons/Error.gif.i
data/src/share/native/java/lang/reflect/Proxy.c.i
data/src/solaris/classes/sun/awt/X11/XEmbeddingContainer.java.i
-data/test/java/rmi/transport/checkFQDN/CheckFQDN.java.i
+data/src/share/classes/sun/rmi/server/ActivationGroupInit.java.i
+data/src/share/classes/sun/awt/Symbol.java.i
data/src/share/classes/java/security/spec/ECFieldFp.java.i
data/test/java/security/cert/CertPathValidator/nameConstraints/NameConstraintsWithRID.java.i
data/make/tools/CharsetMapping/IBM943.map.i
data/src/share/classes/sun/tools/jstat/Alignment.java.i
+data/test/javax/management/context/localizable/WhatsitMBean.java.i
data/src/windows/classes/sun/awt/windows/WButtonPeer.java.i
data/src/share/classes/sun/util/resources/CalendarData_ms_MY.properties.i
-data/test/sun/security/ssl/templates/SSLSocketSSLEngineTemplate.java.i
-data/test/sun/net/www/http/HttpClient/ProxyFromCache.java.i
-data/test/sun/security/mscapi/SignUsingNONEwithRSA.java.i
-data/src/share/classes/java/awt/dnd/DropTargetEvent.java.i
-data/test/java/nio/MappedByteBuffer/Basic.java.i
-data/src/share/classes/javax/swing/plaf/metal/sounds/MenuItemCommand.wav.i
+data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/rmi/RemoteVmManager.java.i
+data/test/java/awt/Focus/FocusEmbeddedFrameTest/FocusEmbeddedFrameTest.java.i
+data/test/com/sun/crypto/provider/TLS/TestPRF12.java.i
+data/test/sun/security/x509/X500Name/AllAttribs.java.i
+data/src/share/classes/javax/management/relation/RelationServiceMBean.java.i
+data/test/java/nio/MappedByteBuffer/Basic.java.i
+data/src/share/classes/javax/swing/plaf/metal/sounds/MenuItemCommand.wav.i
data/src/share/classes/sun/text/resources/FormatData_fr_FR.java.i
data/src/windows/classes/java/net/TwoStacksPlainDatagramSocketImpl.java.i
-data/test/java/net/URLEncoder/URLEncoderEncodeArgs.java.i
-data/test/java/util/Collections/AsLifoQueue.java.i
+data/src/share/classes/javax/swing/undo/doc-files/UndoManager-3.gif.i
+data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/NullTest.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXSLTTransform.java.i
data/src/solaris/native/java/net/net_util_md.h.i
data/src/windows/native/sun/windows/awt_List.h.i
-data/test/javax/management/mxbean/OperationImpactTest.java.i
+data/src/share/classes/sun/security/jgss/krb5/WrapToken.java.i
data/test/java/util/concurrent/ConcurrentMap/ConcurrentModification.java.i
-data/test/java/io/Serializable/6966692/Victim.java.i
-data/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Close.java.i
+data/src/share/classes/javax/swing/plaf/nimbus/NimbusIcon.java.i
+data/test/java/util/logging/LoggerWeakRefLeak.java.i
data/src/share/classes/java/awt/image/RasterOp.java.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsSpinnerUI.java.i
data/test/javax/management/query/QueryParseTest.java.i
-data/test/java/security/cert/CertificateFactory/invalidEncodedCerts/invalidcert.pem.i
+data/src/share/classes/java/awt/doc-files/Scrollbar-2.gif.i
data/test/java/lang/instrument/PremainClass/InheritAgent1000.java.i
-data/src/share/classes/javax/naming/LinkLoopException.java.i
-data/test/java/lang/String/Split.java.i
+data/src/share/classes/java/awt/Composite.java.i
+data/test/sun/net/util/IPAddressUtilTest.java.i
+data/src/share/classes/com/sun/imageio/spi/FileImageOutputStreamSpi.java.i
data/src/solaris/classes/sun/awt/motif/MDialogPeer.java.i
-data/src/share/classes/java/rmi/server/RMIClientSocketFactory.java.i
+data/src/share/classes/sun/rmi/transport/WeakRef.java.i
+data/src/share/classes/sun/awt/im/SimpleInputMethodWindow.java.i
data/test/java/security/Signature/TestInitSignWithMyOwnRandom.java.i
data/src/linux/doc/man/idlj.1.i
data/test/sun/java2d/pipe/hw/RSLAPITest/RSLAPITest.java.i
-data/src/share/classes/javax/management/relation/RelationServiceMBean.java.i
+data/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java.i
data/src/share/classes/javax/swing/event/CaretEvent.java.i
data/src/share/native/sun/awt/medialib/mlib_c_ImageAffine_BC_U16.c.i
-data/src/windows/native/sun/java2d/d3d/D3DShaders.h.i
+data/src/share/classes/sun/security/provider/certpath/State.java.i
data/test/com/sun/tools/attach/CommonSetup.sh.i
data/test/com/sun/nio/sctp/SctpMultiChannel/Send.java.i
data/test/java/util/concurrent/ThreadPoolExecutor/TimeOutShrink.java.i
data/test/java/lang/management/ThreadMXBean/ThreadStateTest.java.i
data/test/java/io/Serializable/class/NonSerialA_2.java.i
-data/test/java/util/concurrent/ThreadPoolExecutor/ScheduledTickleService.java.i
+data/src/share/classes/java/awt/color/ICC_ProfileRGB.java.i
data/src/solaris/native/sun/awt/awt_Insets.c.i
data/src/share/native/sun/font/layout/GlyphLookupTables.h.i
-data/src/share/classes/sun/io/ByteToCharCp948.java.i
data/src/share/classes/sun/text/resources/FormatData_th.java.i
data/src/share/classes/com/sun/jdi/event/VMDisconnectEvent.java.i
-data/src/share/classes/sun/io/ByteToCharEUC2.java.i
+data/src/share/classes/com/sun/jmx/namespace/RoutingConnectionProxy.java.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java.i
data/src/share/native/java/util/zip/ZipEntry.c.i
data/test/sun/security/pkcs11/KeyStore/BasicData/random.cert.i
@@ -18099,76 +18188,80 @@ data/test/com/sun/security/sasl/digest/AuthNoUtf8.java.i
data/test/java/io/OutputStreamWriter/BoundsCheck.java.i
data/src/share/classes/sun/tools/jar/SignatureFile.java.i
data/src/share/classes/java/util/ResourceBundle.java.i
-data/test/java/math/BigDecimal/ZeroScalingTests.java.i
+data/test/java/awt/Graphics2D/DrawString/EmptyAttrString.java.i
data/test/java/net/URLConnection/B5052093.java.i
data/test/com/sun/jdi/ImmutableResourceTest.java.i
data/src/share/classes/javax/imageio/metadata/doc-files/gif_metadata.html.i
data/src/share/classes/javax/accessibility/AccessibleSelection.java.i
-data/test/java/lang/Double/ToHexString.java.i
+data/src/share/classes/com/sun/beans/decoder/FloatElementHandler.java.i
+data/make/netbeans/jconsole/build.xml.i
data/src/share/classes/sun/io/CharToByteEUC_JP_LINUX.java.i
data/src/share/native/sun/awt/image/cvutils/img_globals.c.i
data/make/sun/splashscreen/Makefile.i
-data/src/share/classes/sun/tools/jconsole/inspector/OperationEntry.java.i
+data/test/java/awt/FullScreen/TranslucentWindow/TranslucentWindow.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageAffine_BL.c.i
-data/src/share/classes/sun/management/manifest.i
+data/test/java/io/Serializable/ClassCastExceptionDetail/Read.java.i
data/test/sun/security/tools/jarsigner/onlymanifest.sh.i
data/src/share/classes/javax/management/event/RMIPushEventRelay.java.i
data/src/solaris/classes/sun/awt/X11/XPanelPeer.java.i
data/src/share/classes/javax/management/relation/MBeanServerNotificationFilter.java.i
data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CloseKeepAliveCached.java.i
-data/src/share/classes/sun/tools/java/Scanner.java.i
+data/src/share/classes/javax/swing/text/Document.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/Node.java.i
data/make/sun/headless/mapfile-vers.i
-data/src/share/classes/sun/java2d/pipe/ValidatePipe.java.i
-data/test/com/sun/security/sasl/digest/Privacy.java.i
+data/src/share/classes/sun/security/rsa/RSAKeyPairGenerator.java.i
data/src/share/classes/sun/io/ByteToCharCp862.java.i
data/test/java/util/concurrent/LinkedBlockingQueue/ToArray.java.i
-data/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstruments.java.i
-data/test/sun/security/pkcs11/KeyStore/ClientAuthData/server.keystore.i
+data/src/share/classes/sun/net/www/protocol/http/HttpAuthenticator.java.i
+data/test/java/beans/VetoableChangeSupport/TestEquals.java.i
data/make/tools/CharsetMapping/IBM1046.map.i
data/src/share/classes/sun/io/CharToByteCp1148.java.i
data/src/share/classes/java/awt/event/WindowEvent.java.i
data/src/share/classes/sun/io/ByteToCharISO8859_3.java.i
-data/src/share/classes/sun/rmi/registry/RegistryImpl.java.i
-data/test/java/io/File/GetXSpace.sh.i
+data/src/share/classes/javax/swing/text/html/parser/DocumentParser.java.i
+data/test/java/util/concurrent/ScheduledThreadPoolExecutor/Stress.java.i
data/test/sun/rmi/rmic/covariantReturns/G2.java.i
data/test/java/awt/Menu/OpensWithNoGrab/OpensWithNoGrab.java.i
data/src/share/demo/jfc/SampleTree/resources/images/collapsed.gif.i
-data/src/share/classes/sun/security/krb5/Credentials.java.i
+data/src/share/classes/java/awt/dnd/DropTargetAdapter.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ResourceResolver.java.i
data/src/share/classes/sun/management/counter/perf/StringCounterSnapshot.java.i
data/src/share/classes/sun/nio/ch/MembershipRegistry.java.i
-data/src/share/classes/java/awt/image/RasterFormatException.java.i
+data/src/windows/native/sun/windows/awt_MMStub.h.i
data/make/modules/tools/nbproject/project.xml.i
data/src/share/classes/sun/text/resources/FormatData_mk.java.i
data/src/share/classes/sun/tools/java/ClassDefinition.java.i
data/test/com/sun/net/httpserver/bugs/B6341616.java.i
data/src/share/classes/com/sun/beans/finder/Signature.java.i
-data/src/share/classes/com/sun/tools/hat/internal/server/HistogramQuery.java.i
-data/test/javax/sound/midi/Gervill/SimpleSoundbank/RemoveInstrument.java.i
-data/src/share/classes/sun/text/resources/FormatData_nl.java.i
-data/test/java/util/Locale/bug4122700.java.i
-data/test/com/sun/jdi/sde/MangleStepTest.java.i
+data/make/java/hpi/windows/Makefile.i
+data/test/sun/security/krb5/auto/SSL.java.i
+data/src/share/classes/java/awt/doc-files/DesktopProperties.html.i
+data/test/java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html.i
+data/src/share/classes/sun/swing/AccessibleMethod.java.i
data/make/com/sun/xml/Makefile.i
data/src/share/classes/java/util/prefs/PreferenceChangeEvent.java.i
data/src/share/classes/javax/print/attribute/standard/PrinterStateReason.java.i
+data/src/windows/native/sun/windows/awt_Dialog.cpp.i
data/test/javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java.i
-data/src/share/native/sun/security/ec/ec.c.i
+data/src/share/classes/sun/awt/HeadlessToolkit.java.i
+data/src/share/native/sun/management/MemoryPoolImpl.c.i
data/src/share/classes/java/dyn/VolatileCallSite.java.i
-data/test/java/lang/management/ManagementFactory/PlatformMBeanServerTest.java.i
+data/make/tools/src/build/tools/automulti/TestALFGenerator.java.i
+data/test/javax/management/remote/mandatory/socketFactories/RMIClientFactory.java.i
data/src/solaris/classes/sun/awt/X11/XClipboard.java.i
-data/src/windows/native/sun/windows/awt_Label.cpp.i
+data/test/java/nio/file/Files/PassThroughFileSystem.java.i
data/src/share/classes/org/openjdk/jigsaw/cli/package-info.java.i
-data/src/windows/native/sun/windows/awt_Scrollbar.cpp.i
-data/src/share/demo/nbproject/management/MemoryMonitor/nbproject/netbeans-targets.xml.i
+data/test/java/io/Serializable/evolution/RenamePackage/extension/ExtendedObjectInputStream.java.i
+data/src/share/native/sun/awt/libpng/pngtest.c.i
data/src/share/classes/sun/management/snmp/jvminstr/package.html.i
data/src/share/classes/sun/util/resources/TimeZoneNames_hi.java.i
data/src/windows/classes/sun/java2d/windows/DDRenderer.java.i
-data/test/java/beans/Introspector/Test5102804.java.i
-data/test/sun/nio/cs/TestISCII91.java.i
-data/src/share/classes/sun/reflect/UnsafeStaticShortFieldAccessorImpl.java.i
+data/src/share/classes/javax/management/namespace/VirtualEventManager.java.i
+data/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java.i
+data/src/share/classes/com/sun/java/swing/plaf/gtk/PangoFonts.java.i
data/src/share/classes/org/openjdk/jigsaw/SignedModule.java.i
-data/src/windows/native/common/locale_str.h.i
+data/test/java/lang/instrument/RetransformBigClassAgent.java.i
+data/src/share/classes/java/text/spi/DateFormatSymbolsProvider.java.i
data/src/share/classes/org/openjdk/jigsaw/KernelLoader.java.i
data/src/windows/classes/sun/nio/fs/WindowsWatchService.java.i
data/test/java/nio/file/Path/UriImportExport.java.i
@@ -18177,17 +18270,19 @@ data/make/ASSEMBLY_EXCEPTION.i
data/test/java/net/URLClassLoader/sealing/a/p/A.java.i
data/test/java/io/Serializable/class/Test.java.i
data/test/java/lang/reflect/Module/ModuleAnnotationTest.java.i
+data/src/solaris/classes/java/net/PlainSocketImpl.java.i
data/src/share/classes/java/beans/EventSetDescriptor.java.i
data/test/java/util/concurrent/ConcurrentHashMap/toArray.java.i
-data/make/tools/src/build/tools/javazic/RuleRec.java.i
-data/src/solaris/native/sun/java2d/x11/X11SurfaceData.h.i
+data/test/javax/swing/GroupLayout/7071166/bug7071166.java.i
+data/make/tools/swing-beans/beaninfo/images/JEditorPaneColor32.gif.i
data/test/com/sun/servicetag/ValidRegistrationData.java.i
-data/test/com/sun/management/OperatingSystemMXBean/GetTotalSwapSpaceSize.java.i
+data/src/solaris/classes/sun/nio/fs/UnixException.java.i
+data/test/java/rmi/activation/Activatable/forceLogSnapshot/ActivateMe.java.i
data/src/solaris/classes/sun/awt/X11/GtkFileDialogPeer.java.i
data/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/SSLSocketInherit.java.i
data/test/sun/net/idn/NFS4StringPrep.java.i
data/src/share/classes/java/lang/UnsupportedOperationException.java.i
-data/src/share/classes/javax/naming/directory/BasicAttribute.java.i
+data/src/share/classes/sun/security/provider/certpath/ldap/LDAPCertStoreHelper.java.i
data/src/share/native/sun/security/ec/impl/ecc_impl.h.i
data/src/share/classes/javax/swing/filechooser/package.html.i
data/src/share/classes/javax/swing/text/html/OptionListModel.java.i
@@ -18197,35 +18292,37 @@ data/test/java/lang/invoke/6987555/Test6987555.java.i
data/src/windows/classes/sun/java2d/d3d/D3DMaskFill.java.i
data/test/java/security/Security/SecurityPropFile/SecurityPropFile.policy.i
data/test/java/util/ResourceBundle/Bug4396021.java.i
-data/make/tools/CharsetMapping/MS936.map.d
+data/src/share/classes/javax/management/DescriptorAccess.java.i
data/test/java/security/Provider/CaseSensitiveServices.java.i
-data/src/share/classes/javax/swing/AbstractCellEditor.java.i
-data/src/share/native/java/util/zip/zlib-1.2.3/README.i
-data/src/windows/classes/sun/nio/ch/SctpChannelImpl.java.i
+data/test/java/beans/PropertyEditor/TestLongClassJava.java.i
+data/src/share/classes/java/lang/IllegalMonitorStateException.java.i
+data/src/windows/native/sun/windows/awt_Event.cpp.i
data/test/tools/pack200/CommandLineTests.java.i
-data/src/share/classes/sun/text/resources/FormatData_ko.java.i
+data/src/share/classes/sun/security/x509/PrivateKeyUsageExtension.java.i
data/test/tools/pack200/AttributeTests.java.i
data/src/windows/native/sun/windows/awt_TrayIcon.h.i
-data/test/java/rmi/reliability/benchmark/bench/rmi/ProxyArrayCalls.java.i
+data/src/share/classes/com/sun/tools/jdi/NonConcreteMethodImpl.java.i
data/src/share/classes/java/dyn/InvokeDynamic.java.i
-data/make/tools/CharsetMapping/MacGreek.map.i
+data/src/share/classes/javax/sound/sampled/Line.java.i
data/src/share/classes/sun/misc/ExtensionInstallationProvider.java.i
data/src/share/classes/sun/security/tools/policytool/PolicyTool.java.i
-data/test/java/security/SecureRandom/GetAlgorithm.java.i
+data/src/windows/classes/sun/security/mscapi/RSAKeyPairGenerator.java.i
data/test/java/lang/reflect/Generics/StringsAndBounds.java.i
-data/src/share/classes/sun/jvmstat/perfdata/monitor/package.html.i
+data/test/java/nio/channels/SocketChannel/BufferSize.java.i
data/src/share/back/ThreadGroupReferenceImpl.c.i
data/src/share/classes/sun/tools/tree/CodeContext.java.i
-data/src/share/classes/java/nio/channels/SeekableByteChannel.java.i
+data/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.java.i
+data/src/share/sample/nio/server/Dispatcher1.java.i
data/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java.i
data/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_MidiOut.c.i
data/src/share/classes/javax/management/openmbean/OpenMBeanInfo.java.i
-data/test/java/net/URLConnection/Connect.java.i
+data/src/share/classes/com/sun/jndi/ldap/pool/ConnectionsWeakRef.java.i
data/src/share/classes/javax/sound/sampled/package.html.i
-data/test/javax/swing/JLayer/6872503/bug6872503.java.i
+data/test/java/nio/channels/FileChannel/ReadToLimit.java.i
data/test/java/net/URL/runconstructor.sh.i
data/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipDirectoryStream.java.i
data/test/java/awt/PrintJob/PageSetupDlgBlockingTest/PageSetupDlgBlockingTest.java.i
+data/make/tools/src/build/tools/stripproperties/StripProperties.java.i
data/src/solaris/classes/sun/java2d/x11/X11VolatileSurfaceManager.java.i
data/test/java/beans/XMLDecoder/spec/TestMethod.java.i
data/src/share/classes/java/awt/peer/TextComponentPeer.java.i
@@ -18233,18 +18330,18 @@ data/src/share/classes/sun/net/SocksProxy.java.i
data/src/share/classes/sun/security/util/PropertyExpander.java.i
data/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageGenerator.java.i
data/src/share/classes/sun/font/ScriptRun.java.i
-data/src/share/classes/sun/management/snmp/jvminstr/JvmRTInputArgsEntryImpl.java.i
+data/src/share/classes/java/rmi/Remote.java.i
data/test/javax/crypto/SecretKeyFactory/Provider2.java.i
-data/test/sun/security/provider/certpath/DisabledAlgorithms/generate.sh.i
+data/test/java/awt/PrintJob/EdgeTest/EdgeTest.java.i
data/src/share/classes/javax/swing/Autoscroller.java.i
-data/src/share/classes/javax/management/NotificationFilterSupport.java.i
+data/src/share/classes/com/sun/jmx/snmp/agent/SnmpRequestTree.java.i
data/test/java/security/Provider/ChangeProviders.java.i
-data/test/javax/management/remote/mandatory/subjectDelegation/SubjectDelegation3Test.java.i
-data/src/share/bin/version_comp.c.i
+data/src/windows/native/sun/java2d/d3d/D3DGraphicsDevice.cpp.i
+data/src/share/classes/java/awt/RenderingHints.java.i
data/src/share/native/sun/awt/image/cvutils/img_fsutil.h.i
data/test/com/sun/jdi/ClassLoaderTarg.java.i
data/src/share/classes/com/sun/tools/hat/internal/model/JavaChar.java.i
-data/src/solaris/classes/sun/awt/X11/XGlobalCursorManager.java.i
+data/src/share/classes/com/sun/tools/hat/internal/model/StackTrace.java.i
data/test/sun/tools/jhat/HatRun.java.i
data/src/share/classes/javax/swing/undo/doc-files/UndoManager-2.gif.i
data/src/share/classes/sun/util/resources/LocaleNames_da.properties.i
@@ -18254,14 +18351,15 @@ data/src/share/back/ThreadReferenceImpl.c.i
data/test/java/io/File/ToURI.java.i
data/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArrayIntInt.java.i
data/src/share/classes/sun/security/ssl/BaseSSLSocketImpl.java.i
-data/test/sun/security/pkcs11/KeyGenerator/TestKeyGenerator.java.i
-data/test/java/beans/XMLEncoder/Test6256805.java.i
+data/src/share/bin/parse_manifest.c.i
+data/src/windows/hpi/src/sys_api_md.c.i
data/src/share/classes/java/security/Principal.java.i
-data/test/javax/swing/plaf/metal/MetalSliderUI/Test6657026.java.i
+data/test/javax/swing/JLabel/6501991/bug6501991.java.i
data/src/share/classes/sun/management/snmp/jvminstr/JvmRTClassPathEntryImpl.java.i
+data/test/sun/security/validator/CertReplace.java.i
data/test/sun/management/jmxremote/bootstrap/jmxremote_ssltest10_ok.password.in.i
-data/test/java/security/cert/CertPathValidator/trustAnchor/ValidateNC.java.i
-data/src/share/classes/sun/nio/cs/ext/IBM930.java.i
+data/src/share/classes/java/awt/peer/MenuItemPeer.java.i
+data/test/sun/nio/cs/StreamEncoderClose.java.i
data/test/javax/security/sasl/Sasl/PassSysProps.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureException.java.i
data/src/share/classes/sun/rmi/rmic/RMIGenerator.java.i
@@ -18270,24 +18368,25 @@ data/src/share/lib/cmm/lcms/sRGB.pf.i
data/src/linux/doc/man/ja/jstatd.1.i
data/make/sun/javazic/tzdata/australasia.i
data/test/sun/net/InetAddress/nameservice/chaining/Simple1NameServiceDescriptor.java.i
-data/src/share/classes/javax/print/attribute/PrintRequestAttribute.java.i
-data/src/share/classes/sun/tools/tree/BitOrExpression.java.i
+data/test/javax/security/auth/x500/X500Principal/KeywordMap.java.i
data/src/share/classes/sun/security/util/SignatureFileVerifier.java.i
data/src/share/classes/sun/text/resources/CollationData_ru.java.i
+data/test/javax/swing/JTable/6777378/bug6777378.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/X509ExtendedTMEnabled.java.i
-data/test/sun/net/www/protocol/http/ProxyTunnelServer.java.i
-data/src/windows/native/sun/net/dns/ResolverConfigurationImpl.c.i
-data/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java.i
-data/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstrument.java.i
+data/src/share/classes/java/awt/PopupMenu.java.i
+data/src/windows/native/sun/windows/awt_dlls.h.i
+data/src/share/classes/java/rmi/server/ServerNotActiveException.java.i
+data/src/share/classes/com/sun/media/sound/DLSInfo.java.i
data/src/share/demo/java2d/J2DBench/build.xml.i
data/src/share/classes/java/nio/channels/AsynchronousDatagramChannel.java.i
+data/src/share/classes/java/nio/file/attribute/UserPrincipalLookupService.java.i
data/test/sun/tools/jstat/jstatGcPermCapacityOutput1.sh.i
data/test/sun/nio/cs/OLD/IBM942_OLD.java.i
-data/test/java/util/zip/FlaterTest.java.i
+data/test/java/nio/channels/FileChannel/Read.java.i
data/src/share/demo/nbproject/jfc/SampleTree/build.xml.i
data/src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java.i
-data/src/share/classes/java/awt/image/DataBufferByte.java.i
-data/test/java/nio/channels/SocketChannel/ConnectState.java.i
+data/src/share/classes/javax/net/ssl/SSLSessionBindingEvent.java.i
+data/test/java/io/Serializable/maskSyntheticModifier/Foo.java.i
data/src/share/classes/com/sun/tracing/dtrace/ModuleName.java.i
data/src/share/classes/com/sun/jmx/mbeanserver/NamedObject.java.i
data/src/share/native/sun/awt/medialib/mlib_ImageConvKernelConvert.c.i
@@ -18296,91 +18395,91 @@ data/test/javax/swing/JColorChooser/Test6977726.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiPanelUI.java.i
data/test/java/math/BigDecimal/SerializationTests.java.i
data/src/share/classes/com/sun/tools/jdi/resources/jdi_ja.properties.i
-data/test/java/lang/management/ThreadMXBean/ThreadCpuTime.java.i
+data/src/share/classes/javax/swing/event/MenuListener.java.i
data/src/share/javavm/include/sys_api.h.i
-data/src/share/classes/javax/security/sasl/package.html.i
+data/src/share/classes/java/security/AlgorithmParametersSpi.java.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/PerfStringMonitor.java.i
-data/src/share/classes/javax/sql/rowset/RowSetFactory.java.i
+data/src/share/classes/sun/reflect/generics/tree/BottomSignature.java.i
data/test/com/sun/jdi/GetLocalVariables4Test.sh.i
data/src/share/classes/sun/io/CharToByteCp1383.java.i
data/test/java/nio/MappedByteBuffer/Force.java.i
-data/test/sun/nio/cs/TestStringCoding.java.i
-data/test/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.java.i
-data/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemManagerState.java.i
+data/test/java/rmi/Naming/legalRegistryNames/Legal.java.i
+data/src/share/classes/sun/dyn/util/BytecodeDescriptor.java.i
+data/src/share/demo/jfc/Notepad/resources/new.gif.i
data/src/solaris/classes/sun/net/NetHooks.java.i
data/src/share/classes/javax/naming/ldap/SortResponseControl.java.i
-data/src/share/classes/java/io/BufferedOutputStream.java.i
-data/src/share/classes/sun/net/NetworkServer.java.i
+data/src/share/classes/sun/io/ByteToCharCp856.java.i
data/test/sun/security/pkcs11/KeyStore/ClientAuth.sh.i
data/test/java/util/prefs/SerializeExceptions.java.i
data/test/java/io/InputStreamReader/One.java.i
data/make/com/sun/sql/FILES_java.gmk.i
data/src/share/classes/com/sun/media/sound/SoftShortMessage.java.i
data/test/java/util/Locale/ThaiGov.java.i
+data/src/share/classes/com/sun/media/sound/AiffFileFormat.java.i
data/test/javax/management/loading/SystemClassLoaderTest.java.i
-data/src/share/classes/com/sun/crypto/provider/CipherTextStealing.java.i
-data/test/java/awt/FontClass/CreateFont/DeleteFont.sh.i
+data/test/com/sun/nio/sctp/SctpChannel/Connect.java.i
+data/test/java/io/charStreams/RandomLines.java.i
data/test/sun/security/ssl/javax/net/ssl/GetInstance.java.i
-data/src/share/classes/sun/util/resources/CurrencyNames_iw_IL.properties.i
-data/src/share/classes/sun/security/krb5/internal/crypto/Aes256CtsHmacSha1EType.java.i
+data/src/share/classes/sun/io/ByteToCharCp1098.java.i
data/src/share/classes/com/sun/jdi/ClassNotLoadedException.java.i
data/test/sun/security/ssl/etc/keystore.i
data/src/share/demo/nbproject/jfc/TableExample/nbproject/file-targets.xml.i
data/test/sun/net/www/ParseUtil_6380332.java.i
data/test/javax/swing/JColorChooser/Test4887836.html.i
-data/test/sun/security/provider/PolicyFile/TrustedCert.keystore.i
+data/src/solaris/classes/sun/awt/X11/XCustomCursor.java.i
+data/make/modules/jdk.depconfig.i
data/test/java/io/PrintWriter/ClearErrorWriter.java.i
data/test/java/beans/XMLEncoder/java_util_Collections_CheckedSet.java.i
-data/test/sun/net/idn/nfscss.spp.i
+data/test/com/sun/crypto/provider/Cipher/PBE/DecryptWithoutParameters.java.i
data/src/windows/classes/sun/java2d/d3d/D3DGraphicsConfig.java.i
data/test/java/io/Serializable/6966692/README.i
data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ScanManagerConfig.java.i
-data/test/java/util/zip/ZipFile/crash.jar.i
+data/test/java/rmi/activation/Activatable/checkActivateRef/security.policy.i
data/test/java/io/BufferedInputStream/ReadZeroBytes.java.i
data/src/share/classes/com/sun/tools/example/debug/gui/ApplicationTool.java.i
-data/test/java/util/Arrays/Sorting.java.i
+data/src/share/demo/jfc/Metalworks/resources/HelpFiles/metalworks.html.i
data/src/share/classes/sun/applet/resources/MsgAppletViewer_zh_TW.java.i
-data/src/share/classes/javax/naming/ldap/ExtendedRequest.java.i
-data/src/solaris/native/sun/awt/awt_Label.c.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/signature/Manifest.java.i
+data/src/share/classes/javax/sound/midi/Transmitter.java.i
data/src/share/demo/jfc/TableExample/README.txt.i
data/test/java/nio/channels/DatagramChannel/NetworkConfiguration.java.i
-data/test/java/nio/channels/Selector/TemporarySelector.java.i
-data/src/share/classes/sun/font/FileFontStrike.java.i
+data/src/share/classes/sun/tools/tree/Context.java.i
+data/src/share/classes/sun/awt/resources/awt_zh_TW.properties.i
data/test/javax/swing/JPopupMenu/6690791/bug6690791.java.i
data/src/share/native/sun/java2d/cmm/lcms/lcms2_plugin.h.i
-data/src/solaris/classes/sun/nio/ch/PollSelectorImpl.java.i
+data/make/common/Rules-SCCS.gmk.i
data/src/share/classes/com/sun/crypto/provider/JarVerifier.java.i
-data/test/java/util/concurrent/ThreadPoolExecutor/ModifyCorePoolSize.java.i
+data/test/com/sun/java/swing/plaf/windows/Test6824600.java.i
data/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadLong.java.i
data/src/windows/classes/sun/awt/windows/WWindowPeer.java.i
-data/src/share/classes/sun/nio/cs/ext/JIS_X_0212_Solaris_Encoder.java.i
+data/test/com/sun/net/httpserver/bugs/6725892/Test.java.i
data/src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c.i
data/src/solaris/classes/sun/awt/X11/XScrollbarPeer.java.i
data/src/share/classes/java/net/ProtocolFamily.java.i
data/test/java/net/DatagramSocket/BindFailTest.java.i
data/src/share/classes/sun/util/logging/resources/logging_ko.properties.i
-data/test/javax/naming/spi/DirectoryManager/DummyContext.java.i
-data/src/share/classes/sun/security/provider/VerificationProvider.java.i
+data/src/share/classes/java/util/jar/JarOutputStream.java.i
+data/make/tools/swing-beans/beaninfo/images/JRootPaneColor16.gif.i
data/test/sun/security/util/DerInputBuffer/TimeParsing.java.i
data/src/windows/native/sun/windows/awt_Color.h.i
-data/src/share/classes/sun/tools/jconsole/VMInternalFrame.java.i
+data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIDefault.java.i
data/test/java/net/URLConnection/xml/not-xml2.i
data/test/org/openjdk/jigsaw/_RemoteRepository.java.i
data/src/share/classes/javax/crypto/interfaces/DHPublicKey.java.i
-data/test/java/io/CharArrayReader/Constructor.java.i
-data/test/java/lang/instrument/TransformerManagementThreadAddTests.java.i
+data/src/share/demo/applets/DrawTest/example1.html.i
+data/src/share/classes/javax/print/StreamPrintServiceFactory.java.i
data/src/share/classes/sun/reflect/ConstructorAccessorImpl.java.i
data/test/java/awt/print/PrinterJob/ImagePrinting/ImageTypes.java.i
data/test/java/util/PluggableLocale/DecimalFormatSymbolsProviderTest.java.i
-data/src/share/lib/security/java.policy.i
+data/src/share/classes/javax/management/Query.java.i
data/src/share/classes/sun/security/jgss/krb5/Krb5MechFactory.java.i
data/src/share/classes/sun/io/CharToByteCp1252.java.i
data/src/share/classes/sun/util/resources/LocaleNames_sv.properties.i
-data/src/share/classes/javax/print/attribute/standard/JobMessageFromOperator.java.i
+data/test/java/lang/Character/CheckProp.java.i
data/src/share/sample/nio/chatserver/Client.java.i
data/test/java/awt/Component/F10TopToplevel/F10TopToplevel.java.i
data/src/share/classes/javax/swing/plaf/metal/icons/ocean/iconify-pressed.gif.i
-data/src/share/classes/java/lang/invoke/MethodHandleStatics.java.i
+data/src/share/classes/com/sun/jdi/AbsentInformationException.java.i
data/src/share/classes/sun/java2d/pisces/TransformingPathConsumer2D.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiMenuBarUI.java.i
data/src/share/back/VirtualMachineImpl.h.i
@@ -18390,51 +18489,48 @@ data/test/sun/security/tools/policytool/UpdatePermissions.sh.i
data/src/share/native/sun/font/layout/ThaiStateTables.cpp.i
data/make/sun/javazic/tzdata/africa.i
data/test/java/awt/Focus/NonFocusableResizableTooSmall/NonFocusableResizableTooSmall.java.i
-data/src/share/classes/sun/java2d/pipe/RenderQueue.java.i
+data/test/java/io/StringReader/ClosedReady.java.i
data/src/share/classes/java/applet/Applet.java.i
data/src/share/classes/javax/sound/sampled/spi/AudioFileReader.java.i
-data/test/java/beans/Introspector/Test6963811.java.i
-data/src/share/classes/javax/net/ssl/SSLException.java.i
+data/test/java/beans/XMLEncoder/java_lang_reflect_Method.java.i
+data/src/share/classes/java/lang/StringBuffer.java.i
data/src/share/native/java/lang/fdlibm/src/s_ldexp.c.i
data/src/share/classes/javax/smartcardio/ResponseAPDU.java.i
data/test/java/net/URLClassLoader/GetURLsTest.java.i
data/test/java/nio/channels/AsynchronousChannelGroup/Attack.java.i
-data/src/share/classes/sun/nio/cs/UTF_32LE.java.i
+data/src/solaris/classes/com/sun/management/OSMBeanFactory.java.i
data/src/solaris/native/sun/security/pkcs11/j2secmod_md.h.i
data/src/share/classes/java/sql/Blob.java.i
data/src/share/classes/javax/crypto/interfaces/PBEKey.java.i
-data/src/share/native/java/lang/fdlibm/src/w_j1.c.i
+data/test/java/awt/Frame/FrameLocation/FrameLocation.java.i
data/test/javax/management/openmbean/IsValueTest.java.i
-data/test/java/rmi/activation/Activatable/elucidateNoSuchMethod/rmid.security.policy.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageChannelExtract_f.c.i
+data/src/share/classes/com/sun/jmx/remote/util/ClassLoaderWithRepository.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/resource/schema/etsi.xsd.i
data/src/share/native/sun/java2d/opengl/OGLBufImgOps.h.i
data/test/sun/security/provider/PolicyParser/p003.policy.i
-data/test/java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.java.i
-data/src/share/classes/sun/nio/cs/ext/IBM420.java.i
+data/test/javax/management/eventService/CustomForwarderTest.java.i
+data/test/java/io/Serializable/oldTests/WritePrimitive.java.i
data/src/share/classes/java/awt/doc-files/GridBagLayout-2.gif.i
-data/src/share/classes/javax/sound/midi/SoundbankResource.java.i
-data/src/share/classes/com/sun/java/util/jar/pack/Package.java.i
+data/test/java/net/ipv6tests/UdpTest.java.i
data/make/tools/swing-beans/beaninfo/images/JSeparatorColor16.gif.i
data/test/java/io/OutputStreamWriter/NullCreate.java.i
data/src/share/native/sun/rmi/server/MarshalInputStream.c.i
data/test/sun/security/tools/jarsigner/oldsig/A.class.i
-data/src/share/classes/sun/security/krb5/internal/crypto/dk/AesDkCrypto.java.i
-data/test/java/io/Serializable/noSuchFieldClarification/NoSuchFieldClarification.java.i
+data/src/share/back/eventFilter.c.i
data/make/tools/src/build/tools/javazic/Checksum.java.i
data/test/sun/security/pkcs11/ec/TestECGenSpec.java.i
-data/test/javax/management/MBeanServer/AttributeListTypeSafeTest.java.i
+data/src/share/classes/java/security/GuardedObject.java.i
data/test/com/sun/awt/Translucency/WindowOpacity.java.i
data/src/share/classes/sun/security/ec/SunEC.java.i
-data/test/javax/management/MBeanServer/NewMBeanListenerTest.java.i
+data/src/share/demo/jvmti/heapViewer/heapViewer.c.i
data/test/sun/net/InetAddress/nameservice/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor.i
data/test/sun/nio/cs/X11CNS11643P3.java.i
-data/src/share/classes/sun/security/pkcs11/P11KeyGenerator.java.i
-data/src/share/demo/jvmti/hprof/hprof_cpu.h.i
-data/src/share/classes/sun/util/resources/CurrencyNames_nl_NL.properties.i
-data/src/windows/native/sun/java2d/d3d/D3DRenderer.h.i
-data/test/java/nio/channels/AsynchronousFileChannel/Lock.java.i
+data/src/share/classes/com/sun/tools/example/debug/tty/VMConnection.java.i
+data/test/sun/management/jmxremote/bootstrap/management_ssltest13_ko.properties.in.i
+data/src/share/classes/com/sun/tools/example/debug/bdi/VMLaunchFailureException.java.i
+data/src/share/classes/java/util/SortedSet.java.i
data/test/javax/sound/midi/Gervill/ModelSource/NewModelSource.java.i
-data/src/share/classes/sun/util/logging/resources/logging_de.properties.i
+data/src/share/classes/com/sun/jndi/ldap/LdapSchemaCtx.java.i
data/src/share/classes/java/sql/SQLTimeoutException.java.i
data/src/share/classes/sun/security/action/GetIntegerAction.java.i
data/src/share/classes/java/net/HttpCookie.java.i
@@ -18442,10 +18538,12 @@ data/make/tools/src/build/tools/jdwpgen/RepeatNode.java.i
data/src/share/classes/com/sun/awt/AWTUtilities.java.i
data/make/tools/src/build/tools/charsetmapping/CharsetMapping.java.i
data/src/share/classes/sun/invoke/util/BytecodeDescriptor.java.i
-data/src/share/native/java/util/zip/zlib-1.1.3/inffast.h.i
+data/src/share/demo/nbproject/project.xml.i
+data/src/share/native/sun/awt/image/jpeg/jcmarker.c.i
data/test/javax/swing/JLayer/6994419/bug6994419.java.i
data/src/share/native/sun/misc/Version.c.i
-data/src/share/classes/javax/swing/filechooser/FileFilter.java.i
+data/test/java/awt/event/MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMouseEventAbsoluteCoordsTest.html.i
+data/src/share/classes/sun/text/resources/FormatData_es_CL.java.i
data/test/java/util/PluggableLocale/providersrc/DecimalFormatSymbolsProviderImpl.java.i
data/test/javax/print/applet/applet1/Applet1PrintService.java.i
data/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetChannels.java.i
@@ -18453,15 +18551,14 @@ data/src/share/classes/javax/swing/plaf/nimbus/InnerShadowEffect.java.i
data/make/sun/javazic/tzdata_jdk/jdk11_backward.i
data/src/share/classes/sun/rmi/server/LoaderHandler.java.i
data/test/javax/management/monitor/InstantiateMonitorNotificationTest.java.i
-data/test/java/util/WeakHashMap/ZeroInitCap.java.i
-data/src/windows/classes/sun/awt/windows/WSystemTrayPeer.java.i
-data/src/solaris/classes/java/net/PlainSocketImpl.java.i
+data/make/tools/CharsetMapping/EUC_CN.map.i
+data/src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties.i
+data/src/share/classes/sun/util/resources/LocaleNamesBundle.java.i
data/src/share/classes/com/sun/tools/jdi/LongTypeImpl.java.i
-data/test/javax/sound/midi/Gervill/SimpleSoundbank/AddResource.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverXPointer.java.i
+data/src/share/native/sun/management/GarbageCollectorImpl.c.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageConvMxN_8ext.c.i
data/test/sun/security/util/asn1StringTypes/StringTypes.java.i
data/test/java/rmi/activation/Activatable/elucidateNoSuchMethod/ElucidateNoSuchMethod_Stub.java.i
-data/src/share/classes/com/sun/jndi/toolkit/corba/CorbaUtils.java.i
data/src/share/classes/javax/xml/crypto/dsig/spec/ExcC14NParameterSpec.java.i
data/make/tools/src/build/tools/jdwpgen/NameNode.java.i
data/test/java/util/zip/ZipInputStream/Skip.java.i
@@ -18469,22 +18566,22 @@ data/test/java/security/PrivilegedActionException/PrintWrappedException.java.i
data/src/share/classes/javax/naming/directory/InitialDirContext.java.i
data/test/com/sun/crypto/provider/Cipher/DES/inputData/plain4.txt.i
data/src/share/classes/javax/naming/NamingEnumeration.java.i
-data/src/share/classes/sun/rmi/transport/Channel.java.i
+data/test/com/sun/net/httpserver/bugs/B6744329.java.i
data/src/share/classes/javax/naming/spi/ContinuationContext.java.i
data/src/share/classes/sun/text/resources/CollationData_is.java.i
-data/test/sun/security/rsa/TestSignatures.java.i
+data/src/share/classes/javax/swing/CellRendererPane.java.i
data/src/solaris/classes/sun/java2d/x11/X11Renderer.java.i
data/src/share/classes/java/awt/print/Printable.java.i
data/src/windows/native/sun/windows/awt_Win32GraphicsConfig.cpp.i
-data/src/share/classes/javax/swing/event/package.html.i
+data/src/share/classes/com/sun/imageio/plugins/jpeg/DHTMarkerSegment.java.i
data/src/share/classes/sun/security/pkcs11/P11SecretKeyFactory.java.i
-data/make/tools/CharsetMapping/IBM1145.c2b.i
+data/src/share/classes/sun/nio/cs/ext/IBM871.java.i
data/src/share/native/sun/awt/medialib/mlib_ImageCreate.h.i
-data/src/share/classes/javax/swing/JToolBar.java.i
-data/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.java.i
+data/make/netbeans/common/jtreg-view.ent.i
+data/src/share/classes/sun/font/FontUtilities.java.i
data/src/share/classes/java/util/AbstractCollection.java.i
-data/test/java/awt/xembed/server/RunTestXEmbed.java.i
-data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java.i
+data/src/share/classes/sun/security/x509/CertificateAlgorithmId.java.i
+data/test/java/text/Collator/Bug6970930.java.i
data/src/share/classes/com/sun/jdi/event/EventSet.java.i
data/src/share/classes/java/awt/dnd/peer/package.html.i
data/test/java/nio/channels/Channels/TinyBuffers.java.i
@@ -18492,26 +18589,27 @@ data/make/tools/swing-beans/beaninfo/images/JSliderMono32.gif.i
data/src/share/classes/javax/imageio/metadata/IIOMetadataFormatImpl.java.i
data/make/tools/src/build/tools/generatenimbus/Shape.java.i
data/src/share/classes/javax/net/ssl/X509KeyManager.java.i
-data/src/share/classes/java/nio/file/spi/FileSystemProvider.java.i
-data/src/share/classes/sun/util/resources/CurrencyNames_lt_LT.properties.i
+data/src/share/classes/sun/io/CharToByteISO8859_2.java.i
+data/test/sun/security/provider/PolicyParser/ExtDirs1.policy.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ResourceResolverException.java.i
data/make/tools/swing-beans/beaninfo/images/JTextAreaMono16.gif.i
+data/test/sun/tools/jcmd/jcmd_Output1.awk.i
data/test/java/io/Serializable/writeObjectMemory/WriteObjectMemory.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/EmptyExtensionData.java.i
+data/src/share/classes/javax/print/event/PrintEvent.java.i
+data/make/tools/swing-beans/beaninfo/images/JMenuColor16.gif.i
data/test/java/util/WeakHashMap/GCDuringIteration.java.i
data/src/share/classes/sun/awt/image/ImageFormatException.java.i
data/src/solaris/native/sun/xawt/awt_Desktop.c.i
-data/test/javax/print/applet/YesNo.java.i
data/src/solaris/sample/dtrace/hotspot/method_invocation_tree.d.i
-data/src/share/native/java/lang/fdlibm/src/e_exp.c.i
data/test/java/util/prefs/ConflictInFlush.java.i
-data/src/share/classes/sun/misc/JavaUtilJarAccess.java.i
-data/make/javax/crypto/policy/unlimited/default_US_export.policy.i
-data/test/java/net/SocketPermission/ActionSpace.java.i
+data/src/share/classes/javax/print/package.html.i
+data/src/share/classes/java/nio/file/attribute/FileAttributeView.java.i
+data/test/java/awt/event/MouseEvent/AcceptExtraButton/AcceptExtraButton.java.i
data/test/java/io/Serializable/proxy/skipMissing/Read.java.i
data/src/share/native/java/util/zip/zlib-1.1.3/zlib.h.i
data/test/java/awt/geom/CubicCurve2D/SolveCubicTest.java.i
data/make/sun/awt/Depend.mak.i
-data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments2.java.i
+data/src/share/classes/java/rmi/server/RemoteCall.java.i
data/src/share/demo/jvmti/hprof/hprof_site.c.i
data/src/share/classes/java/lang/instrument/ClassFileTransformer.java.i
data/test/javax/sound/midi/Gervill/AudioFloatFormatConverter/SkipTest.java.i
@@ -18519,283 +18617,288 @@ data/test/java/rmi/server/RMIClassLoader/spi/Property.java.i
data/src/share/classes/sun/rmi/server/MarshalInputStream.java.i
data/src/share/classes/com/sun/jmx/namespace/RoutingProxy.java.i
data/test/java/nio/charset/coders/IsLegalReplacement.java.i
-data/test/java/util/PluggableLocale/ProviderTest.java.i
+data/src/share/sample/nio/server/RequestServicer.java.i
data/src/share/demo/jvmti/hprof/hprof_init.c.i
data/src/share/demo/nbproject/jfc/Notepad/build.properties.i
data/test/com/sun/security/auth/login/ConfigFile/InconsistentError.config.i
-data/src/share/classes/com/sun/media/sound/RealTimeSequencer.java.i
-data/src/share/classes/sun/io/CharToByteMacTurkish.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14N.java.i
+data/test/java/io/Serializable/GetField/Read2.java.i
data/src/share/classes/javax/smartcardio/TerminalFactorySpi.java.i
data/src/share/classes/sun/tools/jconsole/inspector/XPlotter.java.i
data/test/sun/security/pkcs11/Cipher/ReinitCipher.java.i
-data/src/share/classes/javax/accessibility/AccessibleResourceBundle.java.i
-data/src/share/demo/applets/MoleculeViewer/models/HyaluronicAcid.xyz.i
+data/src/share/classes/java/beans/ExceptionListener.java.i
+data/src/share/classes/com/sun/tools/hat/MANIFEST.mf.i
data/test/javax/management/remote/mandatory/serverError/JMXServerErrorTest.java.i
data/src/share/classes/java/awt/peer/MouseInfoPeer.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageChannelExtract_1.c.i
-data/test/java/util/ResourceBundle/Test4314141A__DE.properties.i
-data/src/share/classes/javax/swing/event/PopupMenuListener.java.i
-data/src/share/classes/sun/io/ByteToCharEUC_JP_Solaris.java.i
-data/src/solaris/native/sun/awt/awt_util.c.i
+data/src/share/classes/com/sun/crypto/provider/TlsMasterSecretGenerator.java.i
+data/test/java/util/Vector/LastIndexOf.java.i
+data/src/share/classes/java/lang/reflect/UndeclaredThrowableException.java.i
data/test/java/net/DatagramSocket/TestAfterClose.java.i
-data/test/javax/management/query/CustomQueryTest.java.i
-data/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Set8BitExtensionBuffer.java.i
-data/make/modules/BuildPackages.gmk.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ClientHandshaker/RSAExport.java.i
+data/test/com/sun/jdi/PopSynchronousTest.java.i
+data/src/solaris/classes/sun/nio/ch/Port.java.i
+data/src/share/classes/javax/management/event/EventReceiver.java.i
data/test/sun/security/pkcs11/Secmod/key3.db.i
data/test/java/io/PushbackInputStream/ClosedStream.java.i
-data/src/share/native/sun/awt/image/jpeg/jpeglib.h.i
+data/src/share/classes/com/sun/tools/example/debug/tty/EventNotifier.java.i
data/src/share/classes/javax/imageio/ImageTranscoder.java.i
data/test/java/awt/FullScreen/SetFSWindow/FSFrame.java.i
-data/src/share/classes/sun/net/www/http/KeepAliveCache.java.i
+data/src/share/classes/sun/text/resources/FormatData_fi_FI.java.i
data/test/com/sun/jdi/sde/TemperatureTableTest.java.i
data/test/java/nio/Buffer/BasicLong.java.i
-data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMTrapBlock.java.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsPopupMenuSeparatorUI.java.i
-data/src/share/classes/com/sun/jdi/InconsistentDebugInfoException.java.i
+data/test/com/sun/jdi/connect/spi/NullTransportService.java.i
+data/src/share/classes/com/sun/jmx/snmp/IPAcl/README.update.i
data/src/share/classes/com/sun/jndi/ldap/pool/ConnectionsRef.java.i
data/test/javax/swing/border/Test7034614.java.i
data/src/share/classes/com/sun/beans/decoder/BooleanElementHandler.java.i
-data/src/solaris/native/sun/java2d/loops/vis_ByteGray_FromRgb.c.i
+data/src/share/classes/javax/imageio/ImageWriteParam.java.i
data/src/share/classes/sun/text/resources/FormatData_ru.java.i
data/src/share/classes/javax/swing/text/html/ImageView.java.i
data/test/com/sun/jdi/FramesTest.java.i
-data/test/java/security/cert/CertificateFactory/ReturnStream.java.i
+data/make/mkdemo/management/MemoryMonitor/Makefile.i
data/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributes.java.i
data/src/share/classes/com/sun/security/auth/PrincipalComparator.java.i
data/src/share/classes/com/sun/jmx/mbeanserver/DynamicMBean2.java.i
data/src/share/classes/com/sun/management/GarbageCollectorMXBean.java.i
data/src/share/classes/sun/nio/cs/ext/DBCS_IBM_ASCII_Decoder.java.i
-data/test/sun/management/jmxremote/bootstrap/management_ssltest07_ok.properties.in.i
+data/src/share/classes/javax/swing/undo/CompoundEdit.java.i
data/test/sun/security/pkcs11/nss/lib/solaris-sparcv9/libnspr4.so.i
-data/src/share/classes/javax/print/attribute/Attribute.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/GetResponseCode.java.i
+data/src/share/classes/javax/naming/event/NamespaceChangeListener.java.i
data/src/share/classes/java/util/jar/JarVerifier.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/signature/SignedInfo.java.i
+data/test/java/lang/instrument/RedefineBigClassAgent.java.i
+data/test/java/util/PluggableLocale/BreakIteratorProviderTest.sh.i
data/test/java/io/Serializable/oldTests/CheckForException.java.i
data/src/share/classes/sun/nio/ch/AbstractPollSelectorImpl.java.i
data/src/share/classes/com/sun/jmx/snmp/BerEncoder.java.i
data/src/share/classes/sun/reflect/DelegatingMethodAccessorImpl.java.i
-data/test/java/lang/System/SecurityRace.java.i
-data/test/sun/misc/Version/Version.java.i
-data/test/java/net/URLConnection/HandleContentTypeWithAttrs.java.i
+data/src/share/classes/javax/swing/text/doc-files/Document-remove.gif.i
+data/test/com/sun/jdi/RedefineFinal.sh.i
+data/src/share/classes/sun/io/CharToByteUnicodeBig.java.i
data/make/tools/swing-beans/beaninfo/images/JRootPaneMono16.gif.i
data/src/share/native/java/lang/fdlibm/src/w_jn.c.i
data/src/share/classes/sun/management/FileSystem.java.i
data/src/share/classes/javax/management/relation/RoleUnresolvedList.java.i
data/test/java/lang/Throwable/NewChainedExceptions.java.i
data/src/share/classes/javax/swing/plaf/nimbus/DerivedColor.java.i
-data/src/solaris/classes/sun/management/FileSystemImpl.java.i
+data/src/share/demo/applets/WireFrame/Matrix3D.java.i
data/src/solaris/classes/sun/print/UnixPrintJob.java.i
-data/make/netbeans/common/unix-sources.ent.i
data/src/share/classes/javax/xml/crypto/URIReferenceException.java.i
-data/src/share/native/sun/font/layout/MorphTables.cpp.i
-data/test/java/net/URLConnection/GetLastModified.java.i
+data/make/tools/src/build/tools/javazic/BackEnd.java.i
+data/src/share/classes/sun/io/ByteToCharCp1143.java.i
data/src/share/classes/sun/misc/Timeable.java.i
data/test/com/sun/jndi/ldap/LdapName/Case.java.i
-data/test/java/io/Reader/NullLock.java.i
-data/test/com/sun/net/httpserver/bugs/B6433018.java.i
+data/test/java/net/Socket/GetLocalAddress.java.i
+data/make/netbeans/common/share-view.ent.i
+data/make/sun/org/mozilla/Makefile.i
data/src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java.i
data/src/share/classes/javax/management/NotificationInfos.java.i
data/src/share/native/sun/awt/image/jpeg/jchuff.h.i
data/test/javax/crypto/SecretKeyFactory/P2SecretKeyFactory.java.i
data/test/java/lang/StringBuilder/EnsureCapacity.java.i
-data/src/windows/classes/sun/awt/windows/WFontMetrics.java.i
-data/make/tools/swing-beans/beaninfo/images/JTextPaneMono32.gif.i
-data/test/javax/management/MBeanInfo/NullInfoArraysTest.java.i
-data/src/share/classes/sun/text/resources/thai_dict.d
-data/src/share/javavm/export/jvmticmlr.h.i
+data/src/share/classes/sun/security/pkcs11/P11TlsRsaPremasterSecretGenerator.java.i
+data/src/share/classes/sun/tools/jstat/Arguments.java.i
+data/src/share/classes/java/awt/datatransfer/Clipboard.java.i
+data/src/share/classes/javax/swing/text/ParagraphView.java.i
+data/src/share/classes/java/awt/ComponentOrientation.java.i
+data/src/share/classes/sun/net/httpserver/ContextList.java.i
data/src/share/classes/sun/beans/editors/LongEditor.java.i
-data/src/share/classes/sun/text/resources/thai_dict.i
+data/src/share/classes/sun/text/resources/FormatData_cs_CZ.java.i
+data/test/java/util/ArrayList/EnsureCapacity.java.i
data/src/share/classes/sun/security/krb5/internal/crypto/KeyUsage.java.i
data/src/share/classes/java/util/Comparator.java.i
data/src/share/classes/sun/text/resources/FormatData_sk.java.i
-data/src/share/classes/javax/swing/text/WhitespaceBasedBreakIterator.java.i
-data/test/java/lang/annotation/Missing/MissingTest.java.i
-data/src/share/classes/java/nio/channels/MembershipKey.java.i
+data/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.java.i
+data/src/share/classes/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnectionOldImpl.java.i
+data/src/share/classes/java/lang/AssertionStatusDirectives.java.i
data/src/share/native/sun/font/bidi/ubidi.c.i
data/src/share/classes/com/sun/imageio/plugins/wbmp/WBMPMetadata.java.i
data/src/share/classes/javax/management/openmbean/OpenType.java.i
-data/src/share/classes/com/sun/jmx/remote/util/EnvHelp.java.i
-data/src/share/classes/java/net/HttpRetryException.java.i
+data/src/share/instrument/JavaExceptions.c.i
+data/make/java/java/reorder-sparc.i
data/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibAgent.java.i
-data/test/javax/management/openmbean/OpenTypeDescriptorTest.java.i
+data/src/share/classes/com/sun/tools/jdi/InterfaceTypeImpl.java.i
data/test/javax/management/remote/mandatory/passwordAuthenticator/jmxremote.password.i
data/src/share/classes/sun/management/counter/perf/InstrumentationException.java.i
-data/src/share/native/sun/font/layout/SinglePositioningSubtables.h.i
+data/src/share/classes/java/awt/event/WindowAdapter.java.i
data/src/solaris/bin/ergo.h.i
data/src/share/demo/jfc/Font2DTest/resources/TextResources_en_GB.properties.i
data/test/java/lang/management/ThreadMXBean/SynchronizerLockingThread.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSessionImpl/HashCodeMissing.java.i
data/src/share/classes/javax/print/attribute/SetOfIntegerSyntax.java.i
data/test/sun/security/ssl/etc/truststore.i
-data/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java.i
-data/test/tools/launcher/Test7029048.java.i
+data/src/share/classes/com/sun/java/swing/plaf/gtk/icons/File.gif.i
+data/src/share/classes/javax/swing/text/doc-files/Document-insert.gif.i
data/src/share/classes/java/security/acl/AclNotFoundException.java.i
-data/src/share/classes/sun/io/ByteToCharISO8859_5.java.i
+data/test/java/io/CharArrayReader/Constructor.java.i
data/make/tools/dtdbuilder/dtds/public.map.i
data/test/sun/security/tools/keytool/printssl.sh.i
data/src/share/classes/sun/text/resources/FormatData_ar_DZ.java.i
data/src/share/native/sun/font/layout/HanLayoutEngine.h.i
-data/test/java/util/logging/PlatformLoggingMXBean/PlatformLoggingMXBeanTest.java.i
-data/test/org/openjdk/jigsaw/cli/signed-modular-jar.sh.i
+data/test/java/util/IdentityHashMap/ToArray.java.i
+data/src/share/native/sun/java2d/loops/IntArgbPre.c.i
data/test/java/net/MulticastSocket/SetLoopbackMode.java.i
data/src/share/classes/com/sun/security/auth/UnixNumericUserPrincipal.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_ar_SA.properties.i
-data/src/share/demo/nbproject/jfc/TransparentRuler/nbproject/file-targets.xml.i
-data/test/java/io/charStreams/LineLengthsSource.java.i
+data/src/share/classes/com/sun/jndi/ldap/LdapName.java.i
data/test/java/util/PluggableLocale/providersrc/java.util.spi.TimeZoneNameProvider.i
-data/src/share/sample/nio/chatserver/NameReader.java.i
+data/test/java/net/URLConnection/RequestProperties.java.i
data/test/java/lang/instrument/PremainClass/PremainClassTest.sh.i
data/src/share/classes/sun/net/www/protocol/http/HttpCallerInfo.java.i
-data/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/CompressOutputStream.java.i
-data/src/share/classes/java/awt/geom/package.html.i
+data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxPolyphony.java.i
+data/test/java/nio/channels/FileChannel/Size.java.i
data/test/javax/xml/crypto/dsig/data/signature-enveloping-hmac-sha1-trunclen-0-attack.xml.i
-data/test/org/openjdk/jigsaw/repocat.sh.i
+data/src/share/classes/javax/crypto/SecretKeyFactorySpi.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIU8S32Func.c.i
data/test/java/awt/Toolkit/HeadlessTray/HeadlessTray.java.i
+data/test/sun/tools/jstat/usage.out.i
+data/src/share/classes/java/lang/ClassCastException.java.i
data/test/java/lang/instrument/PremainClass/Agent.jar.i
-data/test/javax/sound/midi/Gervill/SoftSynthesizer/TestDisableLoadDefaultSoundbank.java.i
+data/src/share/native/sun/awt/giflib/gif_err.c.i
data/make/netbeans/jarzip/README.i
data/src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java.i
-data/src/share/classes/com/sun/crypto/provider/TlsKeyMaterialGenerator.java.i
-data/src/windows/transport/shmem/shmem_md.h.i
+data/test/java/dyn/6991596/Test6991596.java.i
+data/src/share/demo/java2d/J2DBench/src/j2dbench/report/IIOComparator.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_ar_SD.properties.i
data/test/java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/Shutdown.java.i
data/test/java/nio/channels/FileChannel/MapReadOnly.java.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageConv_8nw.c.i
+data/src/share/lib/audio/soundbank.gm.i
+data/test/java/beans/XMLEncoder/Test5023550.java.i
data/src/share/classes/sun/util/resources/LocaleNames_sq.properties.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageChannelInsert.c.i
data/src/windows/native/sun/security/pkcs11/wrapper/p11_md.c.i
data/test/java/lang/reflect/Field/4490864/StaticFieldTest.java.i
data/test/sun/security/pkcs11/Mac/ReinitMac.java.i
-data/src/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java.i
+data/src/share/classes/sun/nio/fs/AbstractFileTypeDetector.java.i
data/test/sun/security/pkcs11/nss/lib/linux-i586/libnss3.so.d
data/src/windows/native/sun/windows/jawt.cpp.i
-data/test/sun/management/jmxremote/bootstrap/jmxremote_ssltest11_ok.ssl.in.i
+data/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Fedora.properties.i
data/make/tools/swing-beans/beaninfo/images/JButtonColor16.gif.i
data/src/share/classes/java/io/InvalidObjectException.java.i
-data/src/share/demo/jvmti/hprof/hprof_trace.h.i
data/test/javax/imageio/plugins/wbmp/CanDecodeTest.java.i
-data/test/java/io/Serializable/PutField/Write2.java.i
+data/src/share/classes/sun/text/resources/FormatData_is_IS.java.i
data/src/share/classes/java/awt/datatransfer/MimeTypeParseException.java.i
-data/test/sun/security/pkcs11/nss/lib/linux-i586/libnss3.so.i
-data/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties.i
+data/src/windows/native/common/gdefs_md.h.i
+data/src/solaris/native/sun/awt/swing_GTKEngine.c.i
data/make/tools/src/build/tools/charsetmapping/EUC_TW.java.i
-data/test/java/lang/Thread/GenerifyStackTraces.java.i
+data/src/share/native/sun/awt/image/cvutils/img_output16_32.h.i
data/test/java/rmi/server/useCustomRef/Ping.java.i
-data/test/java/lang/Class/forName/classes/period.class.i
-data/src/share/classes/java/beans/beancontext/BeanContextServiceRevokedListener.java.i
+data/src/share/classes/com/sun/tools/example/debug/bdi/MethodBreakpointSpec.java.i
data/test/java/io/File/ListNull.java.i
data/test/java/io/Serializable/enum/mismatchedTypecode/Test.java.i
data/test/java/util/ResourceBundle/Bug4353454.java.i
data/src/share/classes/com/sun/jmx/remote/security/JMXSubjectDomainCombiner.java.i
data/src/share/classes/com/sun/media/sound/DLSSoundbankReader.java.i
data/test/sun/security/krb5/ktab/KeyTabIndex.java.i
-data/test/java/net/MulticastSocket/SetTTLTo0.java.i
-data/make/tools/CharsetMapping/IBM424.c2b.i
+data/test/java/util/Calendar/Bug6645263.java.i
+data/src/share/classes/com/sun/jmx/snmp/tasks/TaskServer.java.i
data/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetFormat.java.i
data/src/share/classes/java/nio/channels/AsynchronousByteChannel.java.i
-data/src/windows/native/sun/windows/awt_Component.h.i
-data/src/solaris/classes/sun/awt/motif/MRobotPeer.java.i
-data/src/linux/doc/man/apt.1.i
-data/src/share/classes/sun/nio/cs/ext/HKSCS.java.i
-data/src/share/classes/javax/swing/JWindow.java.i
+data/test/java/nio/channels/AsynchronousFileChannel/Lock.java.i
+data/src/share/classes/sun/security/util/DerIndefLenConverter.java.i
+data/src/share/classes/javax/imageio/ImageReader.java.i
+data/src/share/classes/sun/invoke/empty/Empty.java.i
data/src/share/classes/sun/awt/image/PNGImageDecoder.java.i
-data/src/solaris/classes/sun/java2d/xr/XRPaints.java.i
+data/src/share/classes/sun/jkernel/BackgroundDownloader.java.i
data/test/java/util/StringTokenizer/ResetPos.java.i
data/test/sun/tools/jstat/gcNewCapacityOutput1.awk.i
data/src/share/classes/com/sun/jmx/remote/internal/NotificationBuffer.java.i
-data/src/share/classes/java/security/spec/RSAPrivateKeySpec.java.i
+data/src/share/classes/com/sun/media/sound/SF2Instrument.java.i
data/src/share/classes/sun/java2d/loops/DrawRect.java.i
data/src/share/classes/javax/management/namespace/JMXDomain.java.i
-data/test/java/rmi/testlibrary/TestParams.java.i
-data/src/solaris/native/sun/net/spi/SdpProvider.c.i
+data/src/share/classes/sun/util/resources/CurrencyNames_en_CA.properties.i
+data/src/share/classes/sun/nio/fs/AbstractWatchKey.java.i
data/test/java/io/PrintStream/EncodingConstructor.java.i
data/src/share/classes/javax/swing/OverlayLayout.java.i
-data/test/java/beans/XMLEncoder/Test4646747.java.i
+data/src/share/classes/sun/rmi/transport/Channel.java.i
data/src/windows/classes/sun/awt/windows/WFontPeer.java.i
data/test/sun/tools/jps/jps-Vm_2.sh.i
data/test/javax/swing/border/Test6981576.java.i
data/src/share/classes/com/sun/media/sound/SoftLowFrequencyOscillator.java.i
+data/test/javax/management/eventService/EventClientThreadTest.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsDesktopPaneUI.java.i
data/src/share/classes/sun/nio/cs/ext/MS932.java.i
-data/src/share/classes/sun/tools/tree/ConditionalExpression.java.i
-data/src/share/native/java/lang/fdlibm/src/w_exp.c.i
+data/test/sun/security/krb5/RFC396xTest.java.i
+data/make/java/sql/Makefile.i
+data/src/share/classes/javax/security/auth/login/AccountLockedException.java.i
data/src/share/classes/org/openjdk/jigsaw/ContextBuilder.java.i
data/src/share/classes/sun/tools/asm/ArrayData.java.i
-data/src/share/native/sun/font/layout/ContextualGlyphSubstitution.h.i
+data/src/share/native/sun/awt/image/imageInitIDs.h.i
data/test/java/beans/XMLEncoder/javax_swing_JSplitPane.java.i
data/test/com/sun/security/auth/callback/TextCallbackHandler/Confirm.java.i
-data/test/java/security/cert/pkix/nameConstraintsMinMax/labs2isrg2.cer.i
+data/src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java.i
data/test/java/lang/reflect/Method/InheritedMethods.java.i
-data/src/share/classes/sun/java2d/pipe/RegionIterator.java.i
+data/make/tools/swing-beans/beaninfo/images/JRadioButtonMenuItemMono32.gif.i
data/test/java/net/URLClassLoader/URLParsing.java.i
data/test/java/security/cert/CertPathBuilder/selfIssued/generate.sh.i
data/test/java/lang/management/MemoryMXBean/MemoryManagement.java.i
data/make/tools/swing-beans/beaninfo/images/JToggleButtonMono32.gif.i
data/src/share/classes/com/sun/tools/example/debug/gui/SourcepathChangedEvent.java.i
-data/src/share/classes/sun/awt/CharsetString.java.i
+data/src/share/classes/com/sun/net/ssl/TrustManager.java.i
data/src/share/classes/javax/management/openmbean/MXBeanMapping.java.i
-data/test/javax/management/remote/mandatory/passwordAccessFile/password.properties.i
+data/test/tools/pack200/TimeStamp.java.i
data/src/share/classes/com/sun/tools/hat/internal/server/QueryListener.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/I18n.java.i
data/src/solaris/classes/sun/awt/X11/XModalityProtocol.java.i
-data/src/share/native/java/lang/fdlibm/src/w_sinh.c.i
-data/test/java/net/URLClassLoader/closetest/Common.java.i
+data/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java.i
+data/src/share/classes/java/awt/peer/MenuBarPeer.java.i
data/src/share/classes/com/sun/java/swing/plaf/motif/MotifPopupMenuSeparatorUI.java.i
data/test/javax/swing/JTextArea/6925473/bug6925473.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMTrapNum.java.i
+data/src/share/classes/com/sun/tools/example/debug/bdi/PatternReferenceTypeSpec.java.i
data/src/share/classes/com/sun/tools/jdi/GenericAttachingConnector.java.i
data/test/sun/management/jmxremote/bootstrap/management_test04_ok.properties.in.i
data/test/sun/java2d/cmm/ColorConvertOp/ColCvtIntARGB.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_ga_IE.properties.i
-data/src/share/classes/java/nio/channels/ReadableByteChannel.java.i
+data/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java.i
data/src/share/classes/sun/rmi/transport/ConnectionOutputStream.java.i
data/src/share/classes/javax/crypto/spec/DHPublicKeySpec.java.i
-data/test/java/util/ResourceBundle/Bug4177489_Resource_jf_JF.properties.i
+data/src/share/classes/com/sun/jdi/LongType.java.i
+data/test/java/io/File/WinSpecialFiles.java.i
data/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntInt.java.i
data/src/share/native/java/util/zip/zlib-1.1.3/inflate.c.i
data/src/solaris/classes/sun/awt/X11/XRepaintArea.java.i
data/test/com/sun/net/httpserver/Test2.java.i
-data/test/java/beans/PropertyEditor/TestColorClassValue.java.i
+data/src/share/classes/sun/security/tools/PathList.java.i
data/src/share/classes/sun/security/pkcs11/wrapper/CK_TLS_PRF_PARAMS.java.i
data/src/share/classes/java/util/concurrent/Semaphore.java.i
data/src/share/native/sun/java2d/cmm/lcms/cmssamp.c.i
data/test/java/rmi/testlibrary/RegistryRunner.java.i
-data/test/javax/swing/JDialog/6639507/bug6639507.java.i
-data/test/java/io/Serializable/classDescFlagConflict/Read.java.i
+data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/file/PerfDataBuffer.java.i
+data/src/share/classes/org/ietf/jgss/GSSName.java.i
data/test/org/openjdk/jigsaw/circular-deps.sh.i
data/src/share/classes/com/sun/tools/example/debug/bdi/SpecErrorEvent.java.i
-data/src/share/classes/javax/swing/DefaultListModel.java.i
+data/make/common/internal/Defs-corba.gmk.i
data/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByteIntInt.java.i
-data/test/sun/security/ssl/sanity/pluggability/CheckSockFacExport2.java.i
+data/test/com/sun/nio/sctp/SctpServerChannel/NonBlockingAccept.java.i
data/src/share/classes/java/security/PrivilegedExceptionAction.java.i
-data/test/java/net/InetSocketAddress/ToString.java.i
+data/src/share/native/sun/awt/image/jpeg/jdcolor.c.i
data/src/share/classes/sun/dc/META-INF/services/sun.java2d.pipe.RenderingEngine.i
-data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/synthmodel/UIState.java.i
+data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/ObjectCodeConvertors.java.i
data/test/sun/rmi/rmic/newrmic/equivalence/AgentServer.java.i
data/src/share/classes/sun/tools/attach/HotSpotVirtualMachine.java.i
data/src/share/classes/java/text/CharacterIterator.java.i
data/src/share/classes/javax/sound/midi/MidiDeviceReceiver.java.i
data/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolThreshdSupport.java.i
-data/test/sun/management/jmxremote/bootstrap/jmxremote_test02_ok.password.in.i
-data/test/javax/crypto/CryptoPermission/RC4AliasPermCheck.java.i
+data/test/javax/script/Test3.js.i
+data/src/share/classes/javax/sound/sampled/Clip.java.i
data/src/share/classes/com/sun/accessibility/internal/resources/accessibility_pt_BR.properties.i
-data/src/share/classes/com/sun/tools/hat/internal/server/FinalizerSummaryQuery.java.i
+data/test/java/util/ArrayList/AddAll.java.i
data/test/sun/security/provider/PolicyFile/getinstance/OneArgPermission.java.i
data/src/solaris/native/java/net/PlainDatagramSocketImpl.c.i
data/src/share/classes/sun/security/util/SignatureFileManifest.java.i
data/test/javax/management/loading/MLetContentTest.java.i
data/src/share/native/sun/awt/image/cvutils/img_output8_16_24.h.i
-data/test/java/io/File/HashCodeEquals.java.i
-data/test/java/beans/Introspector/Test6194788.java.i
-data/test/sun/security/smartcardio/TestMultiplePresent.java.i
-data/test/java/security/Security/removing/RemoveStaticProvider.java.i
-data/test/java/awt/Dialog/CrashXCheckJni/CrashXCheckJni.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/XPath2FilterContainer04.java.i
-data/test/java/io/Reader/SkipNegative.java.i
-data/src/share/classes/javax/swing/plaf/basic/BasicIconFactory.java.i
+data/src/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfo.java.i
+data/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ResultLogManager.java.i
+data/src/share/classes/java/awt/event/FocusListener.java.i
+data/src/share/classes/sun/reflect/generics/tree/TypeVariableSignature.java.i
+data/src/share/classes/sun/java2d/pipe/TextRenderer.java.i
+data/src/share/classes/java/beans/beancontext/BeanContextServiceAvailableEvent.java.i
+data/src/windows/classes/sun/java2d/windows/WindowsFlags.java.i
+data/make/tools/src/build/tools/dtdbuilder/README.txt.i
data/src/windows/classes/sun/nio/fs/WindowsAclFileAttributeView.java.i
-data/src/share/native/sun/awt/image/jpeg/jcinit.c.i
+data/src/windows/native/sun/java2d/d3d/D3DTextRenderer.cpp.i
data/src/share/sample/vm/jvm-clr/invoker.cpp.i
data/src/share/classes/java/dyn/FromGeneric.java.i
data/test/javax/xml/crypto/dsig/data/signature-enveloping-rsa.xml.i
@@ -18804,221 +18907,221 @@ data/test/java/rmi/reliability/benchmark/bench/serial/ObjTrees.java.i
data/test/java/util/ResourceBundle/Bug4168625Resource3_en_CA.java.i
data/test/java/io/InputStreamReader/NullCreate.java.i
data/src/share/classes/com/sun/java/swing/Painter.java.i
-data/src/windows/native/sun/windows/awt_MouseEvent.cpp.i
+data/src/solaris/classes/sun/awt/X11/XWindowAttributesData.java.i
data/src/share/classes/java/awt/font/GlyphVector.java.i
-data/test/sun/security/pkcs11/nss/lib/linux-amd64/libfreebl3.so.i
+data/test/javax/naming/ldap/LdapName/RdnToAttrsTest.java.i
data/make/java/java/FILES_java.gmk.i
-data/src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java.i
-data/test/java/rmi/activation/Activatable/restartLatecomer/RestartLatecomer.java.i
+data/test/javax/management/remote/mandatory/notif/NotificationEmissionTest.java.i
+data/test/java/nio/charset/spi/charsetProvider.sp.i
data/src/share/classes/com/sun/crypto/provider/AESKeyGenerator.java.i
data/src/share/classes/javax/swing/colorchooser/SmartGridLayout.java.i
-data/src/share/classes/sun/security/x509/CertificatePolicySet.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/package.html.i
data/src/solaris/native/com/sun/management/SolarisOperatingSystem.c.i
data/src/share/classes/sun/tracing/package-info.java.i
data/test/java/awt/Choice/NonFocusablePopupMenuTest/NonFocusablePopupMenuTest.java.i
-data/test/java/text/Bidi/Bug7041232.java.i
+data/test/sun/security/rsa/TestKeyPairGeneratorLength.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/Designer.jibx.xml.i
data/test/sun/security/pkcs11/nss/lib/windows-i586/softokn3.dll.i
data/src/share/classes/sun/security/provider/certpath/KeyChecker.java.i
data/test/java/net/PortUnreachableException/OneExceptionOnly.java.i
-data/test/java/util/LinkedHashMap/EmptyMapIterator.java.i
+data/test/java/security/cert/PKIXBuilderParameters/InvalidParameters.java.i
data/src/share/classes/java/awt/font/ImageGraphicAttribute.java.i
data/src/share/classes/javax/crypto/NullCipher.java.i
-data/test/sun/tools/jstatd/jstatdUsage1.sh.i
+data/src/solaris/native/sun/awt/awt_Font.c.i
data/test/sun/security/provider/PolicyFile/getinstance/TwoArgNullActionsPermission.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/exceptions/AlgorithmAlreadyRegisteredException.java.i
-data/make/mksample/jmx/Makefile.i
-data/src/share/classes/sun/util/ResourceBundleEnumeration.java.i
+data/test/java/lang/String/SBConstructor.java.i
+data/src/share/classes/sun/io/ByteToCharISO2022CN.java.i
data/test/java/security/Policy/GetInstance/GetInstancePolicySpi.java.i
-data/src/share/native/sun/security/pkcs11/wrapper/p11_mutex.c.i
+data/make/tools/swing-beans/beaninfo/images/JMenuBarMono32.gif.i
data/make/modules/tools/src/com/sun/classanalyzer/ResourceFile.java.i
data/make/tools/classanalyzer/src/com/sun/classanalyzer/ShowDeps.java.i
data/src/share/native/java/util/zip/zlib-1.1.3/infblock.c.i
-data/src/share/classes/com/sun/jmx/snmp/daemon/SnmpMibTree.java.i
-data/test/sun/security/tools/keytool/newhelp.sh.i
-data/src/share/classes/sun/io/CharToByteBig5_Solaris.java.i
-data/test/java/util/logging/LoggingDeadlock4.java.i
-data/test/java/text/Format/MessageFormat/Bug7003643.java.i
+data/src/share/classes/java/nio/charset/Charset-X-Coder.java.i
+data/src/share/demo/jfc/Metalworks/MetalThemeMenu.java.i
+data/test/javax/management/namespace/NamespaceCreationTest.java.i
+data/src/solaris/native/sun/java2d/loops/mlib_v_ImageClear_f.c.i
+data/src/share/classes/sun/security/ssl/CipherSuite.java.i
data/src/share/classes/sun/misc/BASE64Decoder.java.i
-data/src/share/classes/sun/nio/cs/ISO_8859_9.java.i
+data/src/share/classes/sun/management/GcInfoCompositeData.java.i
data/src/share/native/sun/java2d/loops/AlphaMath.c.i
-data/make/com/sun/jndi/Makefile.i
data/test/java/nio/charset/coders/Errors.java.i
data/src/share/hpi/include/vm_calls.h.i
data/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java.i
-data/src/share/classes/java/security/AuthProvider.java.i
-data/test/java/net/SocketPermission/NoAction.java.i
-data/test/sun/security/tools/keytool/CloneKeyAskPassword.sh.i
+data/make/netbeans/common/file-view.ent.i
+data/src/share/classes/sun/reflect/UnsafeStaticFieldAccessorImpl.java.i
+data/src/share/classes/sun/tools/tree/UnaryExpression.java.i
data/test/javax/management/mxbean/MXBeanFlagTest.java.i
data/test/sun/tools/jstat/compilerOutput1.awk.i
-data/test/java/lang/instrument/RedefineMethodAddInvokeTarget.java.i
+data/src/share/classes/java/lang/instrument/package.html.i
data/test/sun/security/tools/policytool/SaveAs.java.i
data/src/windows/native/sun/security/pkcs11/j2secmod_md.c.i
data/test/javax/swing/border/Test4760089.html.i
data/src/share/classes/sun/io/CharToByteUTF8.java.i
data/test/java/util/prefs/CommentsInXml.java.i
-data/test/java/util/zip/GZIP/GZIPInputStreamRead.java.i
+data/src/share/classes/javax/management/namespace/JMXNamespace.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/TransformParam.java.i
data/src/share/classes/sun/awt/image/ImageAccessException.java.i
data/make/tools/CharsetMapping/IBM1148.map.i
data/make/common/Subdirs.gmk.i
-data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputStreamTests.java.i
+data/src/share/classes/java/net/CookiePolicy.java.i
data/test/java/io/pathNames/unix/TrailingSlash.java.i
-data/src/share/native/sun/java2d/opengl/OGLRenderQueue.c.i
data/make/tools/swing-beans/beaninfo/images/JTextFieldColor32.gif.i
-data/test/sun/security/validator/CertReplace.java.i
-data/test/java/security/cert/CertPathValidatorException/cert_file.i
-data/src/solaris/classes/sun/awt/X11/XAtomList.java.i
-data/test/sun/security/ssl/sanity/pluggability/MySSLContextImpl.java.i
+data/src/share/demo/jvmti/hprof/hprof_trace.h.i
+data/src/share/classes/java/dyn/MethodHandleImpl.java.i
+data/src/share/native/sun/awt/image/cvutils/img_util.h.i
+data/make/tools/swing-beans/beaninfo/images/JScrollBarMono32.gif.i
data/src/solaris/doc/sun/man/man1/ja/rmic.1.i
data/src/share/classes/javax/swing/plaf/synth/SynthEditorPaneUI.java.i
data/src/share/classes/com/sun/jdi/request/package.html.i
data/test/java/lang/ClassLoader/LoadNullClass.java.i
-data/src/share/classes/java/nio/file/StandardWatchEventKinds.java.i
-data/src/share/classes/sun/io/CharToByteCp1097.java.i
+data/test/java/rmi/activation/Activatable/extLoadedImpl/ExtLoadedImplTest.java.i
data/test/sun/tools/native2ascii/A2N_4630971.i
data/test/java/io/Serializable/evolution/AddedSuperClass/ReadAddedSuperClass.java.i
-data/test/java/awt/PrintJob/PrintCheckboxTest/PrintCheckboxManualTest.java.i
+data/src/share/classes/javax/swing/ScrollPaneConstants.java.i
data/test/java/lang/management/ThreadMXBean/MonitorDeadlock.java.i
data/test/java/nio/channels/Selector/WakeupSpeed.java.i
data/src/share/classes/com/sun/crypto/provider/PBEKeyFactory.java.i
-data/src/windows/native/java/net/net_util_md.c.i
+data/src/share/instrument/PathCharsValidator.h.i
data/make/tools/CharsetMapping/Big5.map.i
data/src/share/classes/com/sun/security/ntlm/NTLM.java.i
-data/src/share/classes/javax/swing/text/ZoneView.java.i
-data/src/share/classes/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.java.i
-data/src/share/classes/javax/swing/text/html/parser/ParserDelegator.java.i
+data/test/sun/tools/jps/jps-Vm_Output2.awk.i
+data/src/share/classes/java/awt/BorderLayout.java.i
+data/make/tools/src/build/tools/javazic/Rule.java.i
data/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.html.i
data/test/com/sun/crypto/provider/TLS/TestMasterSecret.java.i
data/src/share/classes/sun/awt/image/NativeLibLoader.java.i
-data/test/java/beans/XMLEncoder/javax_swing_border_BevelBorder.java.i
+data/src/windows/classes/sun/awt/windows/awtLocalization_ja.properties.i
data/src/share/classes/com/sun/tools/jdi/VoidValueImpl.java.i
-data/src/share/classes/sun/tools/jconsole/inspector/XOpenTypeViewer.java.i
-data/test/javax/smartcardio/HistoricalBytes.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/package.html.i
+data/test/java/lang/annotation/ParameterAnnotations.java.i
data/src/solaris/sample/dtrace/hotspot/method_invocation_stat_filter.d.i
-data/src/share/classes/sun/management/snmp/jvmmib/JvmRTInputArgsTableMeta.java.i
+data/src/share/classes/sun/management/snmp/jvmmib/JvmCompilationMBean.java.i
data/src/share/classes/sun/management/snmp/jvminstr/JvmMemManagerTableMetaImpl.java.i
data/test/javax/security/auth/Subject/Synch2.java.i
-data/test/javax/swing/JPopupMenu/6691503/bug6691503.java.i
-data/test/sun/security/krb5/auto/DynamicKeytab.java.i
-data/test/javax/imageio/EmptyFileTest.java.i
-data/test/java/util/Locale/serialized/java6locale_th_TH_TH.i
+data/src/share/classes/com/sun/java/swing/plaf/gtk/GTKGraphicsUtils.java.i
+data/src/share/classes/java/awt/HeadlessException.java.i
+data/src/share/classes/com/sun/imageio/plugins/gif/GIFWritableImageMetadata.java.i
+data/src/share/classes/com/sun/security/sasl/digest/DigestMD5Server.java.i
data/test/javax/script/META-INF/services/javax.script.ScriptEngineFactory.i
-data/src/share/classes/javax/management/remote/JMXConnectorFactory.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/package.html.i
data/src/share/classes/java/awt/peer/WindowPeer.java.i
data/src/share/native/java/lang/fdlibm/src/w_lgamma.c.i
-data/src/windows/classes/java/io/FileDescriptor.java.i
+data/src/share/classes/sun/io/CharToByteUnicodeLittleUnmarked.java.i
data/make/sun/beans/Makefile.i
data/test/sun/net/www/protocol/http/Modified.java.i
data/make/mksample/scripting/Makefile.i
data/src/share/classes/com/sun/jmx/snmp/internal/SnmpAccessControlModel.java.i
+data/test/java/net/HttpURLConnection/UnmodifiableMaps.java.i
data/src/share/classes/sun/nio/ch/SocketOptsImpl.java.i
data/test/java/net/DatagramSocket/LocalSocketAddress.java.i
data/test/java/rmi/server/RMIClassLoader/noSecurityManager/LocalDummy.java.i
data/src/share/classes/javax/sound/midi/spi/SoundbankReader.java.i
data/src/share/classes/java/awt/peer/ScrollbarPeer.java.i
-data/test/java/security/cert/CertPathBuilder/targetConstraints/ee.cer.i
+data/src/share/classes/java/io/Bits.java.i
data/src/share/native/sun/font/layout/GlyphLookupTables.cpp.i
data/test/java/lang/Runtime/exec/SleepyCat.java.i
data/test/sun/management/jmxremote/bootstrap/management_ssltest06_ok.properties.in.i
data/src/windows/native/sun/java2d/d3d/D3DMaskBlit.h.i
data/test/javax/security/auth/Subject/Serial.policy.i
-data/src/share/classes/com/sun/imageio/plugins/gif/GIFImageMetadata.java.i
+data/test/sun/nio/cs/TestUTF_16.java.i
data/test/java/lang/Class/IsAnnotationType.java.i
-data/src/share/classes/com/sun/jmx/snmp/daemon/CommunicatorServerMBean.java.i
-data/src/share/native/sun/security/ec/impl/ecl_curve.c.i
-data/test/java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.html.i
+data/test/java/lang/Double/Constants.java.i
+data/src/share/classes/sun/io/CharToByteISO2022CN_GB.java.i
+data/src/share/classes/sun/security/provider/PolicySpiFile.java.i
data/src/windows/classes/sun/awt/windows/WInputMethodDescriptor.java.i
-data/test/java/io/File/Cons.java.i
-data/test/java/util/Collections/RacingCollections.java.i
+data/src/share/classes/sun/security/pkcs10/PKCS10.java.i
+data/src/share/classes/javax/swing/event/TreeModelEvent.java.i
data/test/java/awt/Focus/RemoveAfterRequest/RemoveAfterRequest.java.i
data/src/share/classes/sun/reflect/generics/tree/ReturnType.java.i
data/make/tools/CharsetMapping/MacCentralEurope.map.i
-data/test/com/sun/net/httpserver/Test6.java.i
+data/make/java/java/reflect/Makefile.i
data/src/share/demo/jfc/FileChooserDemo/ExampleFileSystemView.java.i
data/test/java/rmi/reliability/benchmark/bench/rmi/Makefile.i
data/test/javax/management/Introspector/ChangingNotifsTest.java.i
data/src/share/classes/sun/misc/resources/Messages_zh_TW.java.i
+data/make/common/shared/Defs-solaris.gmk.i
data/src/share/classes/sun/rmi/rmic/resources/rmic_zh_CN.properties.i
data/src/share/classes/sun/security/x509/X509CertImpl.java.i
-data/src/share/transport/socket/sysSocket.h.i
+data/src/share/classes/sun/util/resources/CurrencyNames_is_IS.properties.i
data/src/share/classes/sun/nio/cs/ISO_8859_7.java.i
data/test/java/net/PlainSocketImpl/SetBufferSize.java.i
+data/test/java/util/zip/ZipEntry/input.jar.i
data/src/share/classes/java/awt/peer/ButtonPeer.java.i
-data/test/java/io/Serializable/enum/badResolve/Read.java.i
+data/src/share/classes/sun/tracing/dtrace/JVM.java.i
data/test/com/sun/security/auth/module/LdapLoginModule/CheckConfigs.java.i
data/src/share/classes/com/sun/media/sound/SoftMainMixer.java.i
data/src/share/classes/sun/tools/tree/ArrayAccessExpression.java.i
data/src/share/classes/javax/net/ssl/SSLSocket.java.i
-data/src/share/demo/jfc/Font2DTest/resources/TextResources_zh_CN.properties.i
-data/test/sun/java2d/pisces/Renderer/Test7019861.java.i
+data/src/windows/native/sun/windows/awt_MenuItem.cpp.i
+data/src/solaris/bin/java-rmi.cgi.sh.i
data/src/share/classes/sun/util/calendar/AbstractCalendar.java.i
-data/test/java/util/ResourceBundle/Control/LoadingStrategiesTest.java.i
-data/src/linux/doc/man/orbd.1.i
+data/src/share/classes/java/io/StringBufferInputStream.java.i
+data/test/sun/tools/jstatd/jstatdPort.sh.i
data/src/windows/native/sun/windows/awt_Event.h.i
data/make/java/java/genlocales.gmk.i
-data/test/java/util/TimeZone/OldIDMappingTest.sh.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/AnimationController.java.i
data/test/sun/pisces/ScaleTest.java.i
-data/test/java/net/URLConnection/GetFileNameMap.java.i
-data/src/share/classes/sun/dyn/util/BytecodeDescriptor.java.i
-data/src/share/classes/sun/nio/cs/FastCharsetProvider.java.i
+data/src/share/native/sun/font/layout/GlyphPositioningTables.h.i
+data/make/tools/swing-beans/beaninfo/images/JPanelColor32.gif.i
+data/src/share/classes/sun/net/www/protocol/http/Handler.java.i
data/test/javax/security/auth/Subject/doAs/Test.sh.i
data/src/share/native/sun/awt/image/jpeg/jmorecfg.h.i
data/test/java/beans/Introspector/6380849/TestBeanInfo.java.i
data/test/sun/net/www/protocol/http/B6518816.java.i
data/test/javax/rmi/ssl/truststore.i
-data/test/java/io/SequenceInputStream/ConstructorNull.java.i
+data/test/javax/swing/PopupFactory/6276087/NonOpaquePopupMenuTest.java.i
+data/src/share/demo/nbproject/jfc/FileChooserDemo/nbproject/netbeans-targets.xml.i
data/test/java/io/Serializable/illegalHandle/negativeHandle.ser.i
+data/make/sun/jdbc/Makefile.i
data/test/javax/management/ImplementationVersion/ImplVersionTest.java.i
-data/src/solaris/classes/sun/awt/X11InputMethod.java.i
+data/src/share/classes/javax/management/openmbean/CompositeDataInvocationHandler.java.i
data/src/share/classes/javax/management/relation/RelationNotFoundException.java.i
data/src/share/native/sun/security/ec/mpmontg.c.i
-data/test/javax/management/mxbean/InvalidMXBeanRegistrationTest.java.i
-data/src/share/classes/com/sun/jmx/snmp/agent/SnmpStandardMetaServer.java.i
-data/make/tools/swing-beans/beaninfo/images/JScrollPaneMono32.gif.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIS16U8Func.c.i
+data/src/share/classes/com/sun/security/sasl/ntlm/NTLMServer.java.i
+data/src/share/classes/com/sun/tools/example/debug/bdi/FrameIndexOutOfBoundsException.java.i
+data/test/sun/security/jgss/CtorTests2.java.i
+data/make/tools/swing-beans/beaninfo/images/JToggleButtonColor16.gif.i
data/test/java/beans/XMLEncoder/java_util_Collections_UnmodifiableMap.java.i
-data/test/java/awt/datatransfer/DragUnicodeBetweenJVMTest/FileListTransferable.java.i
+data/src/solaris/native/sun/awt/swing_GTKStyle.c.i
data/src/solaris/classes/sun/java2d/xr/GrowableByteArray.java.i
+data/test/sun/security/mscapi/ShortRSAKey1024.sh.i
data/make/tools/swing-beans/beaninfo/images/JSplitPaneColor16.gif.i
data/src/share/classes/javax/management/GenericMBeanException.java.i
data/make/java/hpi/Makefile.i
-data/test/java/beans/XMLEncoder/java_awt_Rectangle.java.i
data/make/java/instrument/Makefile.i
data/src/share/classes/sun/tracing/PrintStreamProviderFactory.java.i
-data/src/share/classes/com/sun/jmx/snmp/SnmpUnknownSubSystemException.java.i
data/test/javax/swing/text/NavigationFilter/6735293/bug6735293.java.i
-data/test/javax/security/auth/Subject/Synch2.policy.i
+data/src/solaris/doc/sun/man/man1/rmiregistry.1.i
data/src/share/classes/sun/text/resources/FormatData_es_PE.java.i
data/src/share/classes/java/io/IOException.java.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageFilters.h.i
data/src/share/demo/applets/Blink/Blink.java.i
data/src/solaris/doc/sun/man/man1/jar.1.i
-data/src/share/native/java/util/zip/zlib-1.2.3/uncompr.c.i
+data/test/com/sun/jdi/ShellScaffold.sh.i
+data/src/share/native/sun/awt/splashscreen/splashscreen_gfx.h.i
data/test/sun/security/krb5/tools/ktmissing.sh.i
data/src/share/classes/java/awt/dnd/DnDConstants.java.i
-data/test/sun/misc/JarIndex/metaInfFilenames/jarA/a/A.java.i
+data/test/java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalSplitPaneDivider.java.i
data/test/java/nio/channels/FileChannel/Lock.java.i
-data/test/sun/tools/jstat/jstatClassloadOutput1.sh.i
+data/src/share/javavm/export/classfile_constants.h.i
data/src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java.i
data/test/com/sun/net/httpserver/bugs/B6526913.java.i
data/src/share/classes/java/awt/event/HierarchyListener.java.i
data/test/javax/crypto/EncryptedPrivateKeyInfo/GetAlgName.java.i
-data/src/share/classes/com/sun/jmx/snmp/SnmpScopedPduRequest.java.i
+data/test/java/util/Vector/ComodifiedRemoveAllElements.java.i
data/test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJob.java.i
-data/test/java/util/TreeMap/EmptyMapAndNulls.java.i
+data/src/share/native/sun/java2d/pipe/RenderBuffer.c.i
data/test/sun/security/pkcs11/Cipher/TestRawRSACipher.java.i
-data/src/share/classes/sun/nio/cs/ext/IBM500.java.i
+data/src/share/native/java/util/zip/zlib-1.2.3/inffast.c.i
data/test/java/rmi/server/RemoteObject/notExtending/NotExtending.java.i
-data/src/share/classes/sun/misc/PerformanceLogger.java.i
-data/test/java/beans/Introspector/Test4984912.java.i
+data/src/share/classes/java/lang/reflect/package-info.java.i
+data/src/share/classes/com/sun/imageio/plugins/bmp/BMPConstants.java.i
data/src/solaris/native/sun/awt/XDrawingArea.h.i
-data/src/share/classes/sun/util/resources/LocaleNames_no.properties.i
+data/test/java/lang/instrument/appendToClassLoaderSearch/A.1.i
data/test/javax/print/attribute/PSCopiesFlavorTest.java.i
-data/src/share/classes/javax/management/remote/JMXProviderException.java.i
+data/test/sun/security/ssl/sanity/pluggability/MySSLEngineImpl.java.i
data/src/solaris/classes/sun/awt/X11/XUtilConstants.java.i
-data/src/solaris/native/sun/xawt/XToolkit.c.i
data/src/share/classes/sun/util/resources/LocaleNames_mk.properties.i
data/test/com/sun/security/sasl/digest/pw.properties.i
data/src/share/javavm/export/jvm.h.i
@@ -19027,56 +19130,58 @@ data/make/common/shared/Compiler-gcc.gmk.i
data/src/share/sample/scripting/scriptpad/src/scripts/README.txt.i
data/src/share/classes/sun/util/resources/LocaleNames_sl.properties.i
data/src/share/classes/sun/security/krb5/internal/ccache/Tag.java.i
-data/test/com/sun/tools/attach/java.policy.allow.i
-data/src/share/classes/com/sun/naming/internal/NamedWeakReference.java.i
+data/test/java/beans/Introspector/memory/SimpleClassLoader.java.i
+data/test/sun/security/util/DerInputBuffer/BigInteger0.java.i
data/test/sun/net/www/protocol/jar/jarbug/run.sh.i
-data/test/sun/nio/cs/OLD/IBM1381_OLD.java.i
+data/test/java/io/RandomAccessFile/OpsAfterClose.java.i
data/src/share/classes/com/sun/crypto/provider/ConstructKeys.java.i
data/test/java/beans/EventHandler/Test6788531.java.i
data/src/share/classes/sun/tools/java/IdentifierToken.java.i
data/src/share/classes/com/sun/tools/example/debug/tty/VMNotConnectedException.java.i
data/test/sun/security/pkcs11/KeyStore/BasicData/p11-sca1000.txt.i
-data/test/java/nio/channels/Selector/CloseThenRegister.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_es_PY.properties.i
+data/src/share/classes/java/lang/CharSequence.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm.java.i
data/src/share/classes/javax/management/MBeanConstructorInfo.java.i
data/test/com/sun/crypto/provider/Cipher/AES/TestShortBuffer.java.i
data/make/sun/jdga/Makefile.i
data/src/share/classes/javax/swing/plaf/synth/SynthProgressBarUI.java.i
-data/src/share/classes/com/sun/imageio/plugins/png/PNGImageWriter.java.i
+data/src/share/demo/applets/Fractal/CLSFractal.java.i
data/src/share/classes/sun/security/util/ManifestEntryVerifier.java.i
data/src/share/native/sun/java2d/cmm/lcms/cmsgmt.c.i
data/src/share/classes/sun/reflect/ReflectionFactory.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicButtonListener.java.i
-data/src/share/lib/audio/soundbank.gm.d
-data/test/java/security/SecureRandom/sha1prng-new.bin.i
+data/src/solaris/native/sun/awt/awt_util.c.i
data/test/sun/java2d/cmm/ColorConvertOp/ColConvCCMTest.java.i
data/src/share/classes/sun/reflect/misc/FieldUtil.java.i
-data/LICENSE.i
-data/test/java/lang/management/MemoryMXBean/LowMemoryTestSerialGC.sh.i
-data/src/share/native/common/jdk_util.c.i
+data/make/sun/security/ec/FILES_c.gmk.i
+data/src/share/classes/javax/naming/ReferralException.java.i
+data/src/share/classes/sun/jvmstat/perfdata/monitor/package.html.i
+data/test/sun/nio/cs/Test6254467.java.i
+data/src/solaris/native/sun/java2d/loops/vis_UshortGray_FromRgb.c.i
data/test/sun/security/krb5/confplusprop.conf.i
-data/test/java/net/URL/HashCode.java.i
-data/make/tools/swing-beans/beaninfo/images/JRadioButtonColor32.gif.i
-data/test/java/nio/channels/SocketChannel/BufferSize.java.i
-data/src/share/classes/javax/swing/text/PlainDocument.java.i
+data/src/share/classes/java/util/StringTokenizer.java.i
+data/test/java/security/Security/signedfirst/Dyn.sh.i
+data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMAclItem.java.i
+data/test/java/beans/Introspector/memory/Bean2.java.i
data/test/java/nio/channels/Selector/ByteServer.java.i
-data/test/sun/security/tools/policytool/i18n.sh.i
-data/src/share/native/java/lang/Float.c.i
-data/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java.i
+data/test/sun/net/www/http/KeepAliveCache/B5045306.java.i
+data/src/share/classes/sun/io/ByteToCharMS932.java.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/icons/Inform.gif.i
data/test/java/io/PipedInputStream/ClosedWriter.java.i
data/src/share/classes/sun/management/counter/ByteArrayCounter.java.i
data/src/share/classes/javax/imageio/metadata/IIOMetadataNode.java.i
data/src/share/classes/sun/rmi/registry/resources/rmiregistry_fr.properties.i
data/test/java/beans/XMLEncoder/javax_swing_plaf_BorderUIResource_EtchedBorderUIResource.java.i
data/test/javax/management/remote/mandatory/connectorServer/RMIExporterTest.java.i
-data/src/share/classes/java/awt/PageAttributes.java.i
+data/test/java/lang/Math/Expm1Tests.java.i
data/test/javax/swing/JColorChooser/Test4193384.java.i
-data/test/java/util/zip/ZipInputStream/Constructor.java.i
-data/make/tools/jarreorder/Makefile.i
-data/test/java/nio/file/Files/Misc.java.i
+data/test/sun/security/provider/PolicyParser/PrincipalExpansionError.sh.i
+data/src/share/classes/com/sun/jmx/remote/internal/NotificationBufferFilter.java.i
+data/test/sun/net/www/protocol/http/HttpInputStream.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageConvMxN_8.c.i
data/test/sun/security/ssl/sun/net/www/httpstest/HttpCallback.java.i
-data/test/java/nio/MappedByteBuffer/Truncate.java.i
+data/src/share/classes/java/lang/ref/FinalReference.java.i
data/test/java/rmi/activation/ActivateFailedException/activateFails/security.policy.i
data/src/share/classes/java/text/Annotation.java.i
data/test/java/lang/instrument/PremainClass/NoPremainAgent.java.i
@@ -19085,201 +19190,198 @@ data/test/javax/security/auth/x500/X500Principal/Parse.java.i
data/src/share/classes/sun/misc/CompoundEnumeration.java.i
data/src/share/classes/javax/security/cert/CertificateEncodingException.java.i
data/src/share/native/sun/security/ec/ecp_aff.c.i
-data/src/solaris/doc/sun/man/man1/jrunscript.1.i
-data/test/sun/security/pkcs11/Signature/ReinitSignature.java.i
-data/src/share/classes/com/sun/tools/hat/internal/model/JavaLazyReadObject.java.i
-data/src/solaris/classes/sun/awt/X11/java-icon32.png.i
+data/src/share/classes/javax/swing/text/StyleConstants.java.i
+data/test/java/beans/XMLEncoder/java_util_Collections_CheckedList.java.i
+data/src/share/classes/com/sun/tools/hat/internal/model/JavaLazyReadObject.java.i
+data/src/share/classes/sun/awt/im/CompositionAreaHandler.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_zh_HK.java.i
data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/OriginServer.java.i
data/src/share/classes/sun/java2d/loops/CompositeType.java.i
-data/src/share/classes/org/openjdk/jigsaw/Launcher.java.i
+data/src/share/classes/javax/swing/plaf/synth/SynthParser.java.i
data/test/sun/security/pkcs11/sslecc/truststore.i
data/src/share/classes/org/openjdk/internal/joptsimple/OptionSpecTokenizer.java.i
-data/src/share/classes/sun/text/resources/FormatData_sr_BA.java.i
-data/test/sun/security/provider/DSA/TestDSA.java.i
-data/src/share/native/sun/font/layout/KhmerReordering.cpp.i
-data/src/share/classes/com/sun/jmx/remote/protocol/rmi/ServerProvider.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/SelfIssuedCert.java.i
-data/make/sun/awt/FILES_export_windows.gmk.i
-data/src/share/native/sun/java2d/pipe/BufferedRenderPipe.c.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXSLT.java.i
+data/test/java/lang/ClassLoader/deadlock/SupBob.java.i
+data/src/share/classes/sun/text/IntHashtable.java.i
+data/src/windows/classes/sun/awt/windows/WDefaultFontCharset.java.i
+data/test/java/beans/XMLEncoder/java_awt_Rectangle.java.i
+data/src/share/classes/javax/smartcardio/package.html.i
+data/make/tools/jarsplit/Makefile.i
data/test/java/math/RoundingMode/RoundingModeTests.java.i
data/test/java/lang/instrument/appendToClassLoaderSearch/Agent.java.i
data/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.SuSE.properties.i
-data/test/java/net/InetAddress/GetLocalHostWithSM.java.i
+data/src/share/native/sun/awt/libpng/pngwtran.c.i
data/src/share/classes/javax/print/attribute/DateTimeSyntax.java.i
-data/test/java/lang/Math/CubeRootTests.java.i
+data/src/share/native/sun/java2d/loops/ByteBinary4Bit.c.i
data/test/javax/swing/JFileChooser/6489130/bug6489130.java.i
data/make/tools/swing-beans/beaninfo/images/JMenuBarColor32.gif.i
data/test/java/nio/file/attribute/FileTime/Basic.java.i
data/make/sun/motif12/reorder-sparcv9.i
data/test/java/security/Security/Nulls.java.i
-data/test/java/beans/Performance/TestVetoableChangeSupport.java.i
-data/test/sun/nio/cs/SurrogateTestEUCTW.plane4.surrogates.i
-data/test/java/lang/Integer/Decode.java.i
+data/src/share/classes/com/sun/pept/presentation/MessageStruct.java.i
+data/src/share/classes/javax/swing/plaf/metal/MetalFontDesktopProperty.java.i
+data/src/share/demo/applets/Fractal/example1.html.i
data/test/java/util/zip/GZIP/ReadUByte.java.i
data/test/java/util/Currency/PropertiesTest.sh.i
-data/src/share/classes/java/nio/channels/spi/AbstractSelectionKey.java.i
data/src/share/classes/java/rmi/server/Skeleton.java.i
-data/test/java/io/BufferedReader/ReadLineSync.java.i
-data/test/java/io/File/WinDeviceName.java.i
+data/src/share/classes/sun/io/CharToByteCp1258.java.i
data/src/share/classes/org/openjdk/jigsaw/ContextFactory.java.i
data/test/java/security/cert/CertPathValidatorException/ReasonTest.java.i
-data/src/share/classes/sun/security/pkcs11/wrapper/CK_PKCS5_PBKD2_PARAMS.java.i
-data/test/sun/security/pkcs11/Cipher/TestRSACipher.java.i
+data/src/share/classes/sun/util/locale/LanguageTag.java.i
+data/make/common/BuildPackages.gmk.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/implementations/IntegrityHmac.java.i
-data/src/share/classes/sun/tools/tree/AssignDivideExpression.java.i
+data/src/share/classes/java/lang/SuppressWarnings.java.i
data/test/java/lang/Class/getDeclaringClass/Sanity.java.i
data/make/netbeans/swing/nbproject/project.xml.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsScrollBarUI.java.i
-data/test/javax/management/mxbean/CustomTypeTest.java.i
+data/src/share/classes/sun/io/CharToByteCp949C.java.i
data/src/share/classes/com/sun/jndi/ldap/EntryChangeResponseControl.java.i
data/src/solaris/native/sun/awt/list.h.i
data/src/share/classes/java/lang/module/ModuleSystem.java.i
-data/test/java/util/logging/GetGlobalTest.java.i
+data/make/netbeans/common/windows-view.ent.i
data/src/windows/native/sun/security/mscapi/security.cpp.i
-data/src/share/classes/sun/java2d/SunGraphics2D.java.i
+data/src/share/classes/java/nio/file/StandardWatchEventKinds.java.i
data/test/javax/management/monitor/NonComparableAttributeValueTest.java.i
-data/src/share/classes/org/openjdk/jigsaw/Repository.java.i
+data/test/java/net/CookieHandler/CookieHandlerTest.java.i
data/test/javax/management/timer/StartTest.java.i
data/test/java/nio/channels/FileChannel/Mode.java.i
-data/test/java/net/Socket/setReuseAddress/Restart.java.i
-data/make/tools/CharsetMapping/IBM868.map.i
+data/src/share/classes/com/sun/java/util/jar/pack/Instruction.java.i
+data/test/java/io/Serializable/nonserializable/ExceptionDetail.java.i
data/test/java/lang/instrument/NullTransformerAddTest.java.i
-data/src/share/classes/javax/swing/Scrollable.java.i
+data/src/solaris/native/sun/java2d/loops/mlib_v_ImageXor.c.i
data/src/solaris/native/java/io/UnixFileSystem_md.c.i
data/test/javax/management/eventService/UsingEventService.java.i
data/src/share/classes/java/security/cert/CRL.java.i
data/src/share/native/sun/font/layout/NonContextualGlyphSubst.h.i
data/src/solaris/classes/sun/awt/X11/XTextAreaPeer.java.i
-data/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java.i
+data/src/share/native/sun/font/layout/LookupProcessor.cpp.i
data/src/share/classes/javax/management/ValueExp.java.i
-data/src/share/back/stream.c.i
-data/test/com/sun/jdi/GetLocalVariables.java.i
-data/src/share/classes/javax/security/auth/PrivateCredentialPermission.java.i
-data/src/share/classes/javax/print/attribute/standard/PrinterMakeAndModel.java.i
-data/test/sun/security/tools/jarsigner/diffend.sh.i
+data/src/share/back/invoker.h.i
+data/test/java/rmi/transport/checkFQDN/CheckFQDN.java.i
+data/src/share/classes/sun/rmi/server/resources/rmid_ja.properties.i
+data/src/share/classes/java/awt/TextComponent.java.i
+data/src/share/classes/sun/security/util/AuthResources.java.i
data/src/share/classes/javax/naming/LinkException.java.i
-data/test/javax/management/remote/mandatory/passwordAccessFile/SimpleStandardMBean.java.i
+data/make/sun/awt/FILES_c_windows.gmk.i
data/src/share/lib/net.properties.i
-data/src/share/classes/sun/tools/jstat/resources/jstat_options.i
-data/make/modules/modules.properties.i
+data/src/share/native/sun/font/layout/LELanguages.h.i
+data/src/share/classes/org/openjdk/jigsaw/Repository.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicHTML.java.i
data/src/share/sample/vm/clr-jvm/jinvokerExp.h.i
data/src/share/classes/com/sun/jmx/mbeanserver/package.html.i
data/test/javax/swing/JEditorPane/6917744/bug6917744.java.i
-data/src/share/classes/sun/java2d/SurfaceData.java.i
+data/src/share/classes/sun/font/TextLabelFactory.java.i
data/test/com/sun/jdi/DebuggerThreadTest.java.i
data/test/javax/script/Test8.java.i
data/src/share/native/sun/font/layout/Features.h.i
data/test/javax/naming/Name/Serialized13Name.java.i
data/src/share/classes/java/awt/image/ImageObserver.java.i
data/test/javax/swing/plaf/metal/MetalBorders/Test6657026.java.i
-data/src/share/classes/sun/nio/cs/MS1254.java.i
+data/src/solaris/native/sun/awt/medialib/mlib_v_ImageAffine_BC_U16.c.i
+data/src/share/classes/javax/security/sasl/RealmChoiceCallback.java.i
data/test/javax/management/loading/MLetCLR/policy.i
-data/test/java/util/Locale/serialized/java6locale_iw_IL.i
-data/src/share/classes/sun/tools/jar/CommandLine.java.i
-data/src/windows/native/sun/windows/awt_Checkbox.h.i
+data/test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/Hello.java.i
+data/test/java/nio/charset/coders/ref.windows-31j.i
+data/src/share/classes/com/sun/jndi/toolkit/dir/DirSearch.java.i
data/test/java/math/BigInteger/BigIntegerTest.java.i
data/src/share/classes/sun/text/resources/FormatData_hu_HU.java.i
data/src/share/classes/com/sun/jmx/snmp/SnmpIpAddress.java.i
data/src/solaris/classes/sun/nio/ch/SolarisEventPort.java.i
data/src/share/classes/sun/net/idn/StringPrepDataReader.java.i
-data/test/javax/swing/JScrollPane/6559589/bug6559589.java.i
+data/test/java/rmi/server/RMIClassLoader/downloadArrayClass/DownloadArrayClass.java.i
data/test/java/io/File/SetReadOnly.java.i
data/test/java/util/logging/SimpleFormatterFormat.java.i
data/src/share/classes/javax/print/attribute/standard/JobSheets.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14NWithComments.java.i
data/src/share/native/sun/font/layout/IndicRearrangementProcessor.cpp.i
data/src/share/classes/javax/management/openmbean/CompositeType.java.i
-data/src/share/classes/sun/awt/FocusingTextField.java.i
+data/make/java/java/reorder-i586.i
data/src/share/classes/sun/swing/icon/SortArrowIcon.java.i
data/src/share/native/com/sun/java/util/jar/pack/jni.cpp.i
-data/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java.i
+data/test/java/lang/annotation/Missing/MissingTest.java.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfoFactory.java.i
-data/make/docs/Notes.html.i
-data/src/solaris/sample/dtrace/hotspot/method_compile_stat.d.i
+data/test/java/io/FileInputStream/FinalizeShdCallClose.java.i
+data/src/share/classes/javax/swing/event/ListSelectionListener.java.i
data/test/java/lang/invoke/RicochetTest.java.i
data/src/share/classes/sun/rmi/transport/tcp/MultiplexOutputStream.java.i
-data/test/java/util/logging/LoggingDeadlock.java.i
+data/src/share/classes/sun/io/CharToByteMacIceland.java.i
data/test/java/net/URLClassLoader/closetest/test1/com/foo/TestClass1.java.i
data/test/javax/management/remote/mandatory/subjectDelegation/policy33.i
-data/src/share/native/java/lang/fdlibm/src/k_sin.c.i
+data/make/netbeans/swing/build.properties.i
data/src/share/classes/sun/invoke/anon/InvalidConstantPoolFormatException.java.i
data/test/java/rmi/server/RMIClassLoader/delegateToContextLoader/DelegateToContextLoader.java.i
data/src/share/classes/java/awt/doc-files/Scrollbar-1.gif.i
-data/test/sun/security/pkcs11/nss/lib/solaris-i586/libnss3.so.i
-data/src/share/classes/sun/io/CharToByteCp1144.java.i
+data/src/share/demo/management/JTop/JTopPlugin.java.i
+data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java.i
data/src/share/demo/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/ScriptJConsolePlugin.java.i
data/test/java/lang/invoke/JavaDocExamplesTest.java.i
-data/test/sun/security/pkcs11/nss/lib/solaris-i586/libnss3.so.d
+data/src/share/classes/sun/nio/cs/ext/ISO_8859_8.java.i
data/test/javax/management/remote/mandatory/passwordAuthenticator/jmxremote.password-alt.i
-data/test/sun/tools/jconsole/ResourceCheckTest.java.i
+data/src/share/classes/javax/accessibility/AccessibleExtendedText.java.i
data/test/java/io/Serializable/evolution/AddedField/ReadAddedField.java.i
-data/test/javax/sound/midi/Gervill/SF2SoundbankReader/ding.sf2.i
+data/src/share/classes/javax/swing/JWindow.java.i
data/src/share/classes/com/sun/servicetag/UnauthorizedAccessException.java.i
data/test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java.i
data/test/java/beans/XMLEncoder/java_awt_Dimension.java.i
-data/test/java/security/cert/pkix/policyChanges/ee.cer.i
-data/src/share/classes/java/dyn/MethodType.java.i
-data/src/share/classes/sun/reflect/generics/tree/TypeSignature.java.i
-data/test/java/awt/GridLayout/LayoutExtraGaps/LayoutExtraGaps.java.i
+data/test/java/io/Serializable/noSuchFieldClarification/NoSuchFieldClarification.java.i
+data/src/share/classes/com/sun/media/sound/SoftSincResampler.java.i
+data/src/share/classes/com/sun/net/httpserver/HttpsExchange.java.i
+data/test/javax/management/remote/mandatory/subjectDelegation/policy22.i
+data/make/tools/strip_properties/Makefile.i
data/src/windows/classes/com/sun/tools/jdi/SunSDK.java.i
data/test/java/awt/dnd/ImageDecoratedDnD/MyCursor.java.i
data/test/java/io/charStreams/SmallReads.java.i
-data/test/com/sun/net/httpserver/Test7a.java.i
data/src/windows/native/sun/windows/awt_BitmapUtil.h.i
data/test/java/lang/annotation/loaderLeak/B.java.i
data/src/solaris/classes/sun/awt/motif/MFontPeer.java.i
-data/test/java/nio/channels/Selector/ReadAfterConnect.java.i
-data/test/javax/sound/midi/Gervill/SoftSynthesizer/GetPropertyInfo.java.i
+data/make/tools/src/build/tools/generatecharacter/CharacterName.java.i
+data/src/share/native/java/util/zip/CRC32.c.i
data/test/java/net/URLConnection/6212146/test.sh.i
-data/test/javax/crypto/CryptoPermission/AllPermCheck.java.i
-data/src/share/classes/sun/java2d/pipe/hw/AccelTypedVolatileImage.java.i
+data/test/java/rmi/reliability/benchmark/bench/serial/SmallObjTrees.java.i
+data/test/java/lang/reflect/Array/ExceedMaxDim.java.i
data/test/java/beans/PropertyEditor/6380849/FirstBeanEditor.java.i
-data/src/share/classes/javax/swing/plaf/metal/MetalMenuBarUI.java.i
-data/src/share/classes/sun/beans/editors/ByteEditor.java.i
+data/test/javax/management/eventService/LeaseTest.java.i
+data/src/share/classes/sun/util/resources/CalendarData_be.properties.i
data/src/share/classes/javax/swing/DefaultComboBoxModel.java.i
-data/src/share/classes/javax/swing/colorchooser/CenterLayout.java.i
+data/src/share/classes/java/util/BitSet.java.i
data/src/share/classes/java/security/spec/ECPoint.java.i
-data/test/sun/tools/jrunscript/jrunscript-fTest.sh.i
-data/src/share/classes/sun/io/ByteToCharCp970.java.i
+data/test/sun/nio/cs/OLD/IBM933_OLD.java.i
+data/src/share/classes/com/sun/beans/finder/ClassFinder.java.i
data/src/share/classes/java/awt/Component.java.i
-data/test/java/util/concurrent/FutureTask/BlockingTaskExecutor.java.i
+data/test/sun/nio/cs/SurrogateTestEUCTW.plane3.surrogates.i
data/src/share/classes/sun/misc/JarFilter.java.i
data/src/share/classes/javax/print/attribute/HashPrintServiceAttributeSet.java.i
-data/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuning.java.i
+data/src/share/classes/javax/swing/text/html/BlockView.java.i
data/src/share/classes/com/sun/imageio/plugins/gif/GIFImageMetadataFormat.java.i
-data/src/share/demo/jvmti/hprof/hprof_tag.h.i
+data/test/sun/security/tools/policytool/SaveAs.html.i
data/test/sun/text/resources/Format/Bug5096553.java.i
-data/src/share/classes/sun/rmi/transport/TransportConstants.java.i
-data/test/java/net/InetAddress/Simple1NameServiceDescriptor.java.i
-data/test/sun/misc/Encode/DecodeBuffer.java.i
-data/test/org/openjdk/jigsaw/ModuleInfoBuilder.java.i
+data/src/share/classes/javax/imageio/spi/IIOServiceProvider.java.i
+data/src/share/classes/sun/awt/KeyboardFocusManagerPeerProvider.java.i
+data/src/share/demo/README.i
+data/src/share/native/sun/awt/image/cvutils/README.i
data/src/solaris/native/sun/management/FileSystemImpl.c.i
data/test/java/lang/annotation/UnitTest.java.i
-data/src/share/classes/sun/print/PSStreamPrintJob.java.i
+data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/LocalVmManager.java.i
data/src/share/classes/sun/security/ssl/SSLContextImpl.java.i
data/src/share/native/sun/font/FontInstanceAdapter.cpp.i
-data/make/java/zip/reorder-i586.i
-data/src/share/classes/sun/util/resources/CalendarData_lt.properties.i
+data/src/share/classes/sun/awt/resources/awt_ko.properties.i
data/src/share/sample/jmx/jmx-scandir/nbproject/netbeans-targets.xml.i
data/test/sun/security/tools/keytool/i18n.sh.i
data/src/share/native/java/lang/fdlibm/src/s_ilogb.c.i
data/src/share/classes/overview-bundled.html.i
-data/src/solaris/classes/sun/awt/motif/MMouseDragGestureRecognizer.java.i
+data/test/com/sun/crypto/provider/KeyAgreement/DHKeyAgreement3.java.i
data/src/share/classes/sun/security/provider/DSAPublicKey.java.i
-data/test/java/nio/channels/Pipe/EmptyRead.java.i
+data/src/share/classes/java/security/interfaces/DSAPrivateKey.java.i
+data/src/share/classes/sun/net/NetworkClient.java.i
data/src/solaris/doc/sun/man/man1/policytool.1.i
data/test/javax/sound/midi/Gervill/SoftLinearResampler2/Interpolate.java.i
data/src/share/classes/com/sun/imageio/plugins/gif/GIFStreamMetadata.java.i
data/src/share/classes/sun/awt/datatransfer/ToolkitThreadBlockedHandler.java.i
-data/src/solaris/hpi/include/largefile_linux.h.i
+data/test/sun/security/krb5/auto/AcceptorSubKey.java.i
data/test/java/beans/XMLDecoder/4676532/Test4676532.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh.i
data/src/share/classes/sun/text/resources/FormatData_iw_IL.java.i
data/src/share/classes/javax/management/NotificationEmitter.java.i
-data/test/sun/nio/cs/OLD/IBM948_OLD.java.i
-data/test/java/rmi/activation/CommandEnvironment/Doctor_Stub.java.i
+data/src/share/classes/javax/naming/NameImpl.java.i
data/test/java/security/Security/ClassLoaderDeadlock/Deadlock.java.i
data/test/java/io/Serializable/enum/constantSubclasses/Read.java.i
data/test/java/rmi/activation/CommandEnvironment/Eliza.java.i
@@ -19287,41 +19389,43 @@ data/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java.i
data/test/java/net/ProxySelector/NullArguments.java.i
data/src/windows/hpi/src/memory_md.c.i
data/test/sun/java2d/cmm/ColorConvertOp/SRGB.png.d
-data/src/share/classes/sun/tools/tree/AssignAddExpression.java.i
+data/test/java/awt/FileDialog/MultipleMode/MultipleMode.html.i
data/src/share/sample/jmx/jmx-scandir/truststore.i
data/test/javax/imageio/plugins/gif/GifTransparencyTest.java.i
-data/src/share/classes/com/sun/media/sound/AbstractLine.java.i
+data/src/share/demo/jfc/CodePointIM/README_ja.html.i
data/src/share/classes/sun/nio/ch/NativeObject.java.i
data/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java.i
data/make/javax/swing/html32dtd/Makefile.i
-data/src/share/classes/com/sun/net/httpserver/spi/package-info.java.i
+data/make/common/Program.gmk.i
data/src/share/classes/javax/swing/plaf/basic/BasicInternalFrameUI.java.i
-data/test/javax/management/MBeanServer/MBeanServerNotificationTest.java.i
-data/test/sun/security/pkcs11/Secmod/secmod.db.i
+data/test/java/net/Socket/asyncClose/AsyncCloseTest.java.i
+data/test/java/lang/instrument/appendToClassLoaderSearch/DynamicTest.java.i
data/make/tools/swing-beans/beaninfo/images/JFileChooserMono16.gif.i
-data/src/solaris/classes/sun/java2d/xr/XRCompositeManager.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppInputStream/RemoveMarkReset.java.i
+data/src/share/classes/javax/management/remote/JMXConnectorServer.java.i
+data/src/share/classes/sun/security/action/GetBooleanSecurityPropertyAction.java.i
data/test/java/net/InetAddress/CheckJNI.java.i
data/src/share/classes/sun/java2d/SunGraphicsEnvironment.java.i
data/src/windows/hpi/src/path_md.c.i
data/test/tools/launcher/libraryCaller.java.i
-data/test/java/rmi/activation/ActivationSystem/modifyDescriptor/rmid.security.policy.i
+data/test/sun/net/www/MarkResetTest.java.i
data/test/java/io/Serializable/validate/Validate.java.i
-data/test/java/beans/Beans/6669869/TestDesignTime.java.i
-data/test/java/io/Serializable/subclass/Test.java.i
+data/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java.i
+data/src/share/demo/jvmti/hprof/hprof_b_spec.h.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java.i
-data/src/share/classes/com/sun/security/sasl/ntlm/FactoryImpl.java.i
+data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java.i
data/src/share/classes/com/sun/crypto/provider/KeyProtector.java.i
-data/test/java/lang/Class/forName/Z.java.i
+data/src/share/classes/java/awt/peer/package.html.i
data/src/share/classes/sun/misc/resources/Messages_sv.java.i
-data/src/share/classes/com/sun/jmx/snmp/tasks/Task.java.i
-data/test/sun/nio/cs/EUCJPUnderflowDecodeTest.java.i
+data/src/share/classes/java/awt/Adjustable.java.i
+data/test/javax/xml/crypto/dsig/data/certs/lugh.crt.i
data/test/org/openjdk/jigsaw/optional-base.sh.i
data/src/share/classes/javax/xml/crypto/dsig/spec/XPathType.java.i
data/src/share/classes/java/security/cert/CertStoreSpi.java.i
data/test/java/nio/channels/DatagramChannel/SocketOptionTests.java.i
data/test/javax/swing/UIDefaults/6795356/SwingLazyValueTest.java.i
data/src/share/classes/sun/tools/tree/LongExpression.java.i
-data/test/java/io/Serializable/superclassDataLoss/run.sh.i
+data/test/java/awt/Toolkit/Headless/AWTEventListener/AWTListener.java.i
data/src/windows/native/sun/windows/DllUtil.h.i
data/test/java/awt/datatransfer/DragUnicodeBetweenJVMTest/DragUnicodeBetweenJVMTest.html.i
data/test/java/lang/instrument/PremainClass/InheritAgent1100.java.i
@@ -19331,16 +19435,16 @@ data/test/java/lang/instrument/ManifestTestAgent.java.i
data/test/java/nio/Buffer/CopyDirectCharMemory.java.i
data/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorDataException.java.i
data/test/java/net/URLConnection/Redirect307Test.java.i
-data/test/com/sun/nio/sctp/SctpChannel/Connect.java.i
-data/test/java/net/URLClassLoader/getresourceasstream/test.jar.i
-data/src/share/classes/sun/io/CharToByteCp420.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_es_GT.properties.i
+data/test/java/awt/Toolkit/AutoShutdown/ShowExitTest/ShowExitTest.java.i
+data/test/java/beans/Introspector/Test4918902.java.i
data/src/share/classes/java/awt/font/LineMetrics.java.i
data/src/share/classes/sun/tools/jconsole/Utilities.java.i
data/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java.i
-data/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_Util.c.i
-data/src/share/instrument/Utilities.h.i
+data/src/share/classes/sun/io/CharToByteCp870.java.i
+data/src/share/classes/javax/sql/rowset/spi/XmlWriter.java.i
data/src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java.i
-data/src/share/classes/javax/management/relation/RelationServiceNotRegisteredException.java.i
+data/src/share/classes/java/awt/geom/Arc2D.java.i
data/src/share/classes/javax/management/JMRuntimeException.java.i
data/test/java/security/Security/signedfirst/DynSignedProvFirst.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/DelegatedTaskWrongException.java.i
@@ -19350,315 +19454,317 @@ data/src/share/classes/org/openjdk/jigsaw/Manifest.java.i
data/src/share/classes/javax/swing/text/BoxView.java.i
data/src/share/classes/sun/security/x509/CertificateIssuerUniqueIdentity.java.i
data/test/java/nio/file/Files/grantTopOnly.policy.i
-data/src/share/classes/java/sql/BatchUpdateException.java.i
+data/test/java/io/Serializable/class/SerialA_1.java.i
data/test/sun/security/pkcs11/nss/lib/linux-i586/libplds4.so.i
-data/src/solaris/classes/sun/nio/cs/ext/COMPOUND_TEXT_Encoder.java.i
+data/src/share/classes/sun/nio/ch/NativeDispatcher.java.i
data/src/share/classes/java/security/spec/RSAPrivateCrtKeySpec.java.i
-data/src/share/classes/com/sun/jdi/connect/LaunchingConnector.java.i
+data/src/share/classes/com/sun/jmx/remote/internal/Unmarshal.java.i
data/test/tools/launcher/CreatePlatformFile.java.i
data/src/share/classes/javax/swing/event/ChangeEvent.java.i
data/src/share/classes/com/sun/security/jgss/AuthorizationDataEntry.java.i
data/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c.i
data/src/share/classes/javax/xml/crypto/package.html.i
-data/test/javax/management/Introspector/ImmutableNotificationInfoTest.java.i
-data/test/sun/tools/jrunscript/hello.js.i
-data/test/sun/security/pkcs11/KeyStore/ClientAuthData/ibutton.cert.i
+data/src/windows/native/sun/windows/awt_Multimon.h.i
+data/test/com/sun/servicetag/InvalidServiceTag.java.i
+data/src/share/native/com/sun/java/util/jar/pack/zip.h.i
data/test/java/beans/Introspector/BeanUtils.java.i
-data/src/windows/native/sun/windows/awt_TextArea.h.i
+data/src/share/classes/java/nio/file/attribute/AclFileAttributeView.java.i
data/test/java/io/PipedInputStream/WriterLoop.java.i
data/src/share/classes/javax/swing/plaf/nimbus/package.html.i
-data/test/java/rmi/server/RMIClassLoader/spi/InvalidProperty.java.i
+data/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java.i
data/src/windows/native/sun/tools/attach/WindowsVirtualMachine.c.i
data/src/share/classes/sun/tools/jconsole/Tab.java.i
-data/src/share/classes/sun/java2d/pipe/AAShapePipe.java.i
+data/make/common/Defs-solaris.gmk.i
data/src/share/classes/sun/security/x509/AVA.java.i
-data/src/share/demo/jfc/Metalworks/resources/HelpFiles/javalogo.gif.i
+data/src/share/classes/sun/util/resources/CalendarData_sr_Latn_RS.properties.i
data/test/javax/swing/JScrollPane/Test6526631.java.i
data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SessionCacheSizeTests.java.i
-data/test/sun/rmi/transport/tcp/blockAccept/TestImpl_Stub.java.i
+data/src/share/classes/sun/java2d/pipe/ValidatePipe.java.i
data/test/javax/management/remote/mandatory/notif/NotificationBufferDeadlockTest.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmMemManagerEntryMBean.java.i
data/src/share/classes/sun/security/ssl/KerberosClientKeyExchange.java.i
data/src/share/classes/sun/security/ssl/RandomCookie.java.i
-data/test/javax/rmi/ssl/SSLSocketParametersTest.sh.i
-data/src/solaris/native/sun/awt/awt_Button.c.i
+data/src/share/classes/javax/sound/sampled/AudioInputStream.java.i
+data/src/share/native/com/sun/media/sound/DirectAudioDevice.c.i
data/test/java/io/Serializable/unnamedPackageSwitch/run.sh.i
data/test/sun/security/pkcs11/nss/lib/solaris-amd64/libplds4.so.i
data/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java.i
+data/src/share/native/sun/java2d/opengl/OGLFuncs.h.i
data/test/sun/nio/cs/TestMiscEUC_JP.java.i
data/test/java/beans/Introspector/memory/Test4508780.java.i
-data/src/share/native/sun/font/layout/ContextualSubstSubtables.h.i
+data/test/java/lang/Class/getDeclaredClasses/TypeTag.java.i
data/src/share/native/sun/java2d/opengl/OGLSurfaceData.h.i
-data/src/share/classes/javax/management/event/EventForwarder.java.i
+data/src/share/classes/java/awt/image/BandCombineOp.java.i
data/src/share/classes/sun/security/krb5/internal/crypto/Des3CbcHmacSha1KdEType.java.i
data/test/sun/nio/cs/Test6275027.java.i
data/src/share/classes/sun/tools/jconsole/HTMLPane.java.i
-data/src/share/classes/sun/dyn/package-info.java.i
-data/make/com/sun/security/auth/module/FILES_export_windows.gmk.i
+data/src/share/classes/sun/util/calendar/CalendarDate.java.i
+data/make/mkdemo/applets/SpreadSheet/Makefile.i
data/test/java/net/DatagramSocket/DatagramTimeout.java.i
data/test/sun/security/pkcs12/PKCS12SameKeyId.java.i
data/src/share/demo/jvmti/compiledMethodLoad/README.txt.i
-data/src/share/classes/sun/security/util/Password.java.i
+data/src/share/classes/sun/security/x509/IPAddressName.java.i
data/test/java/beans/XMLEncoder/java_awt_RadialGradientPaint.java.i
data/src/share/classes/com/sun/jdi/IncompatibleThreadStateException.java.i
data/src/share/classes/javax/naming/directory/InvalidSearchFilterException.java.i
data/src/solaris/native/sun/awt/awt_xembed_server.c.i
-data/src/share/classes/javax/management/openmbean/OpenMBeanOperationInfo.java.i
+data/src/share/classes/com/sun/nio/sctp/SctpMultiChannel.java.i
data/make/tools/src/build/tools/compileproperties/CompileProperties.java.i
-data/src/share/classes/javax/swing/plaf/multi/MultiProgressBarUI.java.i
+data/src/share/classes/com/sun/net/httpserver/Filter.java.i
data/test/java/rmi/dgc/dgcAckFailure/DGCAckFailure.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_de_GR.properties.i
-data/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java.i
+data/test/com/sun/jdi/ControlFlow.java.i
data/src/share/native/sun/java2d/cmm/lcms/cmsmtrx.c.i
data/test/sun/security/pkcs11/Secmod/nss.cfg.i
data/test/java/awt/font/NumericShaper/MTTest.java.i
data/test/java/util/LinkedHashMap/Cache.java.i
-data/test/java/net/URL/TestRFC2732.java.i
+data/src/share/classes/sun/util/resources/LocaleNames_ca.properties.i
data/src/windows/classes/sun/awt/windows/awtLocalization_zh_CN.properties.i
data/src/share/native/com/sun/media/sound/MidiOutDeviceProvider.c.i
data/src/share/classes/javax/swing/plaf/LayerUI.java.i
-data/src/solaris/classes/sun/awt/X11/XRootWindow.java.i
-data/src/share/classes/sun/util/resources/TimeZoneNames_ko.java.i
-data/test/com/sun/jdi/FinalizerTest.java.i
+data/src/share/classes/javax/swing/AbstractSpinnerModel.java.i
+data/src/share/classes/sun/awt/image/ImageWatched.java.i
+data/test/com/sun/jdi/FinalizerTest.java.i
data/src/share/classes/sun/rmi/rmic/newrmic/jrmp/JrmpGenerator.java.i
-data/src/share/classes/com/sun/media/sound/SimpleSoundbank.java.i
+data/src/share/classes/java/nio/file/LinkPermission.java.i
data/test/com/sun/security/sasl/PropertiesFileCallbackHandler.java.i
data/src/share/classes/com/sun/jdi/connect/spi/TransportService.java.i
-data/test/javax/sound/midi/File/SMPTESequence.java.i
+data/test/javax/print/applet/applet0/Applet0.java.i
data/src/share/classes/sun/security/x509/X509CRLEntryImpl.java.i
data/test/java/lang/module/module-info-annotation.sh.i
data/src/windows/native/sun/java2d/windows/Win32SurfaceData.h.i
-data/src/share/classes/sun/util/resources/CurrencyNames_tr_TR.properties.i
-data/src/share/classes/sun/net/www/content/text/plain.java.i
-data/test/java/nio/Buffer/BasicChar.java.i
-data/src/share/classes/sun/tools/jconsole/LocalVirtualMachine.java.i
-data/make/tools/CharsetMapping/IBM863.map.i
+data/src/share/classes/sun/tools/asm/LocalVariableTable.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformC14NWithComments.java.i
+data/test/java/nio/file/DirectoryStream/Basic.java.i
+data/make/sun/rmi/rmi/mapfile-vers.i
+data/test/sun/security/ssl/javax/net/ssl/TLSv11/EmptyCertificateAuthorities.java.i
data/src/share/classes/sun/security/x509/CRLDistributionPointsExtension.java.i
data/src/share/classes/sun/management/snmp/AdaptorBootstrap.java.i
data/src/share/native/sun/font/layout/AnchorTables.cpp.i
data/make/tools/classanalyzer/src/com/sun/classanalyzer/AnnotationParser.java.i
-data/test/java/util/Locale/icuLocales.txt.i
+data/src/share/classes/sun/nio/cs/ext/IBM285.java.i
data/src/share/native/common/jio.c.i
-data/test/sun/java2d/cmm/ColorConvertOp/GRAY.png.i
+data/src/share/classes/sun/security/ssl/Record.java.i
data/src/share/native/sun/font/layout/SunLayoutEngine.cpp.i
data/src/windows/native/sun/jkernel/kernel_sv.rc.i
-data/src/solaris/native/sun/font/X11FontScaler.c.i
+data/test/java/net/MulticastSocket/SetTTLTo0.java.i
data/src/share/instrument/EncodingSupport.c.i
data/test/com/sun/management/OperatingSystemMXBean/GetCommittedVirtualMemorySize.java.i
-data/src/share/classes/sun/security/jgss/krb5/InitSecContextToken.java.i
+data/src/share/classes/java/nio/channels/AsynchronousChannel.java.i
data/test/java/nio/file/Files/probeContentType/SimpleFileTypeDetector.java.i
data/src/share/classes/org/openjdk/jigsaw/cli/Packager.java.i
data/test/java/util/ResourceBundle/Control/StressTest.java.i
data/src/share/classes/javax/management/MBeanServerInvocationHandler.java.i
data/src/windows/native/sun/jkernel/kernel.rc.i
data/src/share/classes/java/util/ConcurrentModificationException.java.i
-data/src/solaris/native/sun/net/spi/DefaultProxySelector.c.i
-data/test/com/sun/jdi/VMDeathRequestTest.java.i
-data/src/share/classes/sun/text/resources/FormatData_uk_UA.java.i
-data/src/share/classes/java/dyn/FilterOneArgument.java.i
-data/test/java/awt/PrintJob/MultipleEnd/MultipleEnd.java.i
+data/src/share/classes/java/lang/reflect/ParameterizedType.java.i
+data/src/share/classes/com/sun/media/sound/ModelStandardIndexedDirector.java.i
+data/test/java/lang/Thread/GenerifyStackTraces.java.i
+data/src/solaris/sample/dtrace/hotspot_jni/hotspot_jni_calls_tree.d.i
data/make/netbeans/common/unix-view.ent.i
data/src/share/classes/javax/naming/spi/NamingManager.java.i
-data/test/javax/management/ObjectName/DelegateNameWildcardNameTest.java.i
+data/src/share/classes/sun/security/provider/certpath/CollectionCertStore.java.i
data/test/sun/net/www/protocol/http/B6641309.java.i
-data/src/solaris/classes/sun/print/services/javax.print.PrintServiceLookup.i
-data/src/share/native/sun/java2d/loops/UshortIndexed.h.i
+data/src/share/classes/sun/tools/jar/resources/jar.properties.i
+data/make/java/zip/reorder-i586.i
data/test/sun/security/krb5/auto/NewSalt.java.i
-data/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLong.java.i
+data/test/java/awt/Window/TranslucentShapedFrameTest/TSFrame.java.i
+data/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java.i
data/test/java/lang/instrument/PremainClass/InheritAgent0100.java.i
data/test/javax/sound/midi/Gervill/SoftSynthesizer/ImplicitOpenClose.java.i
-data/src/windows/native/sun/java2d/windows/ddrawObject.h.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ClientTimeout.java.i
+data/src/share/classes/java/nio/channels/Selector.java.i
+data/src/share/classes/sun/reflect/ByteVectorFactory.java.i
data/src/share/classes/com/sun/imageio/plugins/jpeg/JFIFMarkerSegment.java.i
-data/src/share/classes/com/sun/tools/example/debug/bdi/PatternReferenceTypeSpec.java.i
-data/src/windows/native/sun/windows/security_warning_bw.ico.i
+data/test/java/io/pathNames/GeneralWin32.java.i
+data/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties.i
data/src/windows/classes/sun/misc/OSEnvironment.java.i
-data/src/share/native/sun/security/ec/ecp_jac.c.i
+data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/font/Typeface.java.i
data/test/java/lang/instrument/appendToClassLoaderSearch/run_tests.sh.i
data/src/windows/classes/sun/awt/windows/fontconfig.properties.i
-data/test/javax/swing/JTable/6735286/bug6735286.java.i
+data/src/share/classes/sun/nio/cs/ext/MacCroatian.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiLookAndFeel.java.i
data/test/javax/swing/JFileChooser/6738668/security.policy.i
-data/src/share/classes/sun/text/normalizer/RangeValueIterator.java.i
+data/src/share/classes/javax/swing/plaf/synth/SynthSplitPaneDivider.java.i
data/src/share/classes/javax/management/namespace/package-info.java.i
-data/test/java/beans/XMLEncoder/Test5023550.java.i
+data/make/tools/reorder/tools/mcount.c.i
data/src/share/classes/javax/swing/text/DefaultHighlighter.java.i
-data/test/javax/crypto/spec/DESKeySpec/CheckWeakKeys.java.i
+data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/MonitoredHostProvider.java.i
data/src/share/classes/java/awt/Canvas.java.i
-data/test/javax/sound/midi/Gervill/DLSSoundbankReader/ding.dls.i
-data/src/share/native/sun/font/layout/LETypes.h.i
-data/test/java/io/charStreams/StringGenerator.java.i
+data/test/javax/management/modelmbean/RequiredModelMBeanGetAttributeTest.java.i
+data/make/tools/src/build/tools/jarsplit/JarSplit.java.i
+data/make/sun/xawt/mapfile-vers.i
data/src/share/classes/javax/security/auth/callback/TextInputCallback.java.i
-data/src/share/classes/java/lang/IllegalThreadStateException.java.i
-data/src/share/classes/sun/reflect/MethodAccessor.java.i
+data/src/share/classes/sun/security/pkcs11/P11TlsPrfGenerator.java.i
+data/src/linux/doc/man/rmic.1.i
data/src/share/classes/com/sun/jdi/event/MonitorWaitedEvent.java.i
data/test/java/beans/XMLEncoder/javax_swing_tree_TreePath.java.i
data/test/java/io/Serializable/evolution/AddedExternField/ReadAddedField.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIS16S16Func.c.i
data/src/share/classes/com/sun/security/ntlm/Client.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextPaneUI.java.i
-data/test/javax/swing/JInternalFrame/6726866/bug6726866.java.i
+data/src/share/classes/javax/print/attribute/ResolutionSyntax.java.i
data/src/share/classes/java/security/interfaces/package.html.i
data/src/share/demo/jvmti/hprof/hprof_string.h.i
data/src/share/demo/management/JTop/META-INF/services/com.sun.tools.jconsole.JConsolePlugin.i
-data/test/java/lang/reflect/Proxy/ClassRestrictions.java.i
-data/src/share/classes/javax/management/ClientContext.java.i
+data/src/share/classes/sun/swing/PrintColorUIResource.java.i
+data/test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport2.java.i
data/test/javax/security/auth/Subject/Synch3.java.i
-data/src/share/classes/sun/security/action/GetBooleanSecurityPropertyAction.java.i
+data/src/share/classes/com/sun/media/sound/RIFFInvalidDataException.java.i
data/src/share/classes/sun/io/ByteToCharCp857.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppInputStream/RemoveMarkReset.java.i
-data/src/share/classes/javax/management/AttributeChangeNotificationFilter.java.i
+data/test/org/openjdk/jigsaw/InstallFromRepo.java.i
+data/src/share/classes/java/util/Enumeration.java.i
data/src/share/classes/com/sun/jndi/ldap/BasicControl.java.i
data/src/share/classes/java/awt/color/CMMException.java.i
-data/test/javax/sound/midi/Gervill/SoftTuning/Load6.java.i
-data/src/share/classes/sun/text/resources/FormatData_ar_JO.java.i
+data/src/share/native/sun/awt/image/jpeg/jcdctmgr.c.i
+data/make/README.i
data/src/share/classes/javax/print/attribute/standard/MultipleDocumentHandling.java.i
data/src/share/classes/java/io/BufferedWriter.java.i
data/test/java/security/MessageDigest/ByteBuffers.java.i
-data/src/share/native/sun/java2d/loops/MaskBlit.c.i
-data/test/javax/management/ImplementationVersion/policy.i
+data/src/share/classes/com/sun/jdi/request/BreakpointRequest.java.i
+data/test/java/beans/XMLDecoder/spec/TestInt.java.i
data/src/share/classes/java/awt/im/InputMethodRequests.java.i
data/src/share/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/TestUtils.java.i
data/test/sun/net/www/http/ChunkedOutputStream/checkError.java.i
-data/src/share/classes/sun/font/TextLineComponent.java.i
+data/src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServerBuilder.java.i
data/src/share/native/java/lang/fdlibm/src/s_cos.c.i
data/src/share/classes/com/sun/tools/hat/internal/oql/ObjectVisitor.java.i
data/src/share/classes/javax/sql/rowset/serial/SQLInputImpl.java.i
-data/test/java/text/Format/DateFormat/Bug4396385.java.i
-data/src/share/classes/sun/nio/ch/FileLockImpl.java.i
-data/make/tools/swing-nimbus/classes/org/jdesktop/synthdesigner/generator/PainterGenerator.java.i
+data/src/share/native/java/lang/Runtime.c.i
+data/test/java/security/cert/CertificateFactory/invalidEncodedCerts/invalidcert.pem.i
+data/test/tools/launcher/ChangeDataModel.sh.i
data/src/share/classes/java/awt/image/ConvolveOp.java.i
data/src/share/classes/sun/security/pkcs/PKCS8Key.java.i
data/test/javax/imageio/plugins/jpeg/ConcurrentReadingTest.java.i
data/test/java/rmi/server/UnicastRemoteObject/exportObject/GcDuringExport.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/XPathContainer.java.i
+data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMTrapBlock.java.i
data/test/sun/tools/jhat/ParseTest.sh.i
data/test/javax/security/auth/Subject/doAs/policy.i
data/src/share/demo/nbproject/jfc/SampleTree/nbproject/file-targets.xml.i
data/test/sun/security/x509/AVA/Allow.policy.i
data/src/share/classes/javax/swing/plaf/metal/MetalButtonUI.java.i
-data/test/javax/swing/JSlider/6348946/bug6348946.java.i
-data/src/solaris/classes/sun/awt/X11/XContentWindow.java.i
+data/test/tools/jar/index/MetaInf.java.i
+data/src/share/classes/java/security/cert/CertStoreException.java.i
data/test/java/rmi/activation/Activatable/checkImplClassLoader/CheckImplClassLoader.java.i
-data/test/com/sun/servicetag/environ.properties.i
-data/src/share/demo/java2d/J2DBench/src/j2dbench/report/HTMLSeriesReporter.java.i
+data/src/share/classes/java/beans/PropertyChangeSupport.java.i
+data/make/java/jli/mapfile-vers.i
data/test/demo/jvmti/hprof/StackMapTableTest.java.i
-data/test/java/io/Serializable/duplicateSerialFields/Setup.java.i
+data/src/windows/native/sun/jkernel/kernel.def.i
data/test/java/nio/channels/FileChannel/ScatteringRead.java.i
data/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt.i
-data/src/windows/native/sun/windows/awt_Scrollbar.h.i
+data/src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_ko.properties.i
data/test/org/openjdk/jigsaw/hello-optional.sh.i
data/src/share/classes/com/sun/jmx/remote/internal/ClientCommunicatorAdmin.java.i
data/src/share/classes/com/sun/nio/sctp/Notification.java.i
data/test/sun/nio/cs/SurrogateTestEUCTW.plane6.surrogates.i
data/test/java/util/Timer/Args.java.i
data/src/share/classes/sun/io/ByteToCharISO8859_9.java.i
-data/test/java/rmi/server/RMIClassLoader/spi/TestProvider.java.i
+data/src/share/classes/sun/text/resources/FormatData_sq.java.i
data/test/sun/util/resources/TimeZone/Bug6271396.java.i
data/test/com/sun/crypto/provider/Cipher/DES/DesAPITest.java.i
data/test/sun/security/pkcs11/fips/certs/anchor.cer.i
-data/test/javax/imageio/CachePremissionsTest/CachePermissionsTest.java.i
-data/src/share/classes/java/util/spi/LocaleServiceProvider.java.i
-data/test/sun/tools/native2ascii/A2N_4630463.i
-data/test/java/io/File/Create.java.i
+data/src/share/classes/java/util/prefs/package.html.i
+data/test/java/security/UnresolvedPermission/AccessorMethods.signer1.i
+data/src/share/native/java/util/zip/zlib-1.2.5/zlib.h.i
+data/test/javax/swing/JFileChooser/6868611/bug6868611.java.i
+data/test/com/sun/tools/attach/java.policy.allow.i
data/src/share/native/common/jlong.h.i
data/src/share/native/sun/awt/image/cvutils/img_orddither.h.i
data/test/sun/security/krb5/auto/MoreKvno.java.i
data/src/solaris/classes/sun/nio/ch/SctpResultContainer.java.i
data/src/share/classes/java/lang/Character.java.i
-data/src/share/native/sun/awt/medialib/mlib_c_ImageLookUp.c.i
+data/src/share/classes/com/sun/jmx/defaults/package.html.i
data/src/solaris/classes/sun/java2d/opengl/GLXSurfaceData.java.i
-data/test/java/io/Serializable/primitiveClasses/PrimitiveClasses.java.i
-data/test/java/rmi/registry/interfaceHash/InterfaceHash.java.i
+data/test/java/util/Formatter/BasicShort.java.i
+data/src/share/demo/nbproject/jfc/SwingApplet/build.xml.i
data/test/java/util/Formatter/BasicCharObject.java.i
+data/src/share/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/ScanManagerTest.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/BadKSProvider.java.i
-data/src/share/classes/java/lang/OutOfMemoryError.java.i
-data/src/windows/native/sun/windows/awt_PrintDialog.cpp.i
+data/src/share/demo/jvmti/hprof/hprof_tag.h.i
+data/src/windows/hpi/src/monitor_md.c.i
data/src/share/classes/sun/util/resources/CalendarData_is.properties.i
data/test/java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html.i
-data/src/solaris/classes/sun/awt/motif/MScrollPanePeer.java.i
-data/test/java/lang/instrument/bootreporter/StringIdCallbackReporter.java.i
-data/test/java/nio/file/Files/walkFileTree/MaxDepth.java.i
+data/src/share/classes/java/math/package-info.java.i
+data/src/share/classes/com/sun/crypto/provider/DESParameters.java.i
+data/test/com/sun/tools/extcheck/TestExtcheckArgs.java.i
data/test/java/lang/Class/getMethods/StarInheritance.java.i
-data/test/java/awt/Color/OpacityChange/OpacityChange.java.i
+data/make/tools/CharsetMapping/KOI8_R.map.i
data/test/java/io/PushbackReader/MarkReset.java.i
data/src/share/classes/sun/font/FileFont.java.i
-data/test/sun/management/jmxremote/bootstrap/Utils.java.i
+data/test/java/io/charStreams/LineLengthsSource.java.i
data/src/share/classes/com/sun/accessibility/internal/resources/accessibility_en.properties.i
-data/src/solaris/native/sun/awt/awt_Selection.c.i
-data/test/sun/rmi/rmic/defaultStubVersion/G1.java.i
+data/src/share/classes/java/awt/color/ColorSpace.java.i
+data/test/java/rmi/activation/CommandEnvironment/NullOptions.java.i
data/src/share/classes/java/awt/EventFilter.java.i
-data/test/com/sun/jdi/RedefineImplementor.sh.i
-data/src/share/classes/sun/io/ByteToCharCp424.java.i
+data/src/share/classes/sun/security/ssl/Alerts.java.i
+data/src/share/classes/java/lang/annotation/IncompleteAnnotationException.java.i
data/test/java/nio/charset/coders/Surrogate.java.i
-data/src/share/classes/javax/swing/plaf/metal/icons/ocean/minimize-pressed.gif.i
+data/src/share/classes/com/sun/imageio/plugins/png/PNGImageReaderSpi.java.i
data/src/share/classes/sun/awt/resources/awt_es.properties.i
data/test/javax/crypto/SecretKeyFactory/Provider1.java.i
-data/src/share/back/StringReferenceImpl.c.i
+data/test/com/sun/org/apache/xml/internal/security/signature-enveloping-hmac-sha1-trunclen-8-attack.xml.i
data/test/sun/nio/cs/TestIBM1364.java.i
data/src/share/native/sun/awt/image/cvutils/img_scaleloop.h.i
-data/test/java/awt/font/NumericShaper/ShapingTest.java.i
-data/test/javax/sound/midi/Gervill/RiffReaderWriter/HasNextChunk.java.i
+data/src/share/classes/sun/util/resources/CalendarData_pt.properties.i
+data/src/share/classes/java/util/TimerTask.java.i
data/test/sun/security/krb5/tools/KtabCheck.java.i
data/src/share/classes/sun/rmi/server/UnicastServerRef2.java.i
-data/test/java/util/PluggableLocale/providersrc/DateFormatProviderImpl.java.i
+data/test/java/io/Serializable/replaceStringArray/ReplaceStringArray.java.i
data/src/share/classes/sun/security/provider/SHA.java.i
data/make/sun/awt/FILES_c_unix.gmk.i
-data/src/share/classes/com/sun/jmx/mbeanserver/SunJmxMBeanServer.java.i
+data/src/windows/classes/java/net/DualStackPlainDatagramSocketImpl.java.i
data/test/javax/swing/text/DefaultStyledDocument/6636983/bug6636983.java.i
data/test/java/util/ResourceBundle/Bug4168625Resource3_en_IE.java.i
data/src/share/classes/sun/net/smtp/SmtpClient.java.i
data/test/javax/xml/crypto/dsig/keyinfo/KeyInfo/Marshal.java.i
data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMNetMaskV6.java.i
-data/test/java/net/URLEncoder/URLEncodeDecode.java.i
-data/src/share/classes/sun/security/provider/certpath/ForwardState.java.i
-data/src/share/classes/com/sun/jmx/snmp/agent/SnmpMib.java.i
+data/src/share/classes/sun/reflect/generics/repository/MethodRepository.java.i
+data/src/share/classes/sun/management/VMManagement.java.i
+data/src/share/native/sun/management/management.c.i
data/src/share/classes/javax/swing/event/InternalFrameEvent.java.i
-data/test/java/nio/channels/Selector/KeysReady.java.i
+data/src/share/classes/sun/management/snmp/jvminstr/JvmRuntimeImpl.java.i
data/src/share/native/sun/font/layout/SegmentSingleProcessor.cpp.i
-data/test/sun/java2d/DirectX/DrawBitmaskToSurfaceTest.java.i
+data/test/java/io/StringWriter/NegativeBufferSize.java.i
data/test/javax/sound/midi/Gervill/SoftTuning/GetTuning.java.i
data/src/share/classes/com/sun/tools/hat/internal/server/InstancesCountQuery.java.i
-data/src/share/classes/sun/text/normalizer/UnicodeMatcher.java.i
-data/src/share/sample/nio/server/BP.java.i
+data/src/share/classes/javax/sql/rowset/Joinable.java.i
+data/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorVersionException.java.i
data/test/com/sun/security/sasl/gsskerb/AuthOnly.java.i
-data/test/java/io/Serializable/InvalidClassException/noargctor/DefaultPackage.java.i
+data/src/share/native/sun/java2d/opengl/OGLRenderQueue.c.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/exceptions/XMLSecurityException.java.i
-data/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubBulkRequestHandler.java.i
-data/src/share/classes/sun/text/bidi/BidiRun.java.i
-data/src/share/instrument/InstrumentationImplNativeMethods.c.i
+data/src/share/classes/java/awt/GridLayout.java.i
+data/src/share/classes/sun/java2d/FontSupport.java.i
+data/test/java/util/ResourceBundle/Bug6204853_Utf8.properties.i
data/test/javax/management/namespace/QueryNamesTest.java.i
-data/src/share/classes/com/sun/java/swing/plaf/motif/MotifMenuMouseListener.java.i
data/src/share/classes/sun/net/idn/UCharacterEnums.java.i
-data/src/solaris/native/sun/awt/fontpath.c.i
+data/src/share/classes/sun/tools/tree/ByteExpression.java.i
data/test/sun/rmi/rmic/newrmic/equivalence/OrangeImpl.java.i
data/test/java/lang/instrument/bootreporter/StringIdCallback.java.i
-data/test/java/awt/PrintJob/ConstrainedPrintingTest/ConstrainedPrintingTest.java.i
+data/src/share/classes/sun/util/calendar/CalendarUtils.java.i
data/src/share/native/sun/font/layout/GlyphSubstLookupProc.h.i
-data/src/windows/classes/sun/security/smartcardio/PlatformPCSC.java.i
-data/test/java/security/BasicPermission/PermClass.1.4.i
+data/src/share/classes/sun/java2d/pipe/BufferedOpCodes.java.i
+data/test/java/net/SocketInputStream/SocketClosedException.java.i
data/test/java/beans/PropertyChangeSupport/Test4682386.java.i
-data/src/solaris/native/sun/awt/awt_Plugin.h.i
-data/src/share/classes/javax/imageio/stream/package.html.i
+data/test/java/nio/channels/FileChannel/MapAssertions.java.i
data/test/com/sun/security/sasl/ntlm/NTLMTest.java.i
-data/test/sun/management/jmxremote/bootstrap/rmiregistryssl.properties.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/icons/TreeLeaf.gif.i
data/src/share/back/eventHandlerRestricted.h.i
data/test/sun/security/provider/PolicyParser/ExtDirs.java.i
data/test/java/rmi/server/RMIClassLoader/useCodebaseOnly/security.policy.i
data/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/ConnectionTest.java.i
-data/src/share/classes/sun/security/pkcs11/wrapper/CK_RSA_PKCS_OAEP_PARAMS.java.i
-data/test/java/rmi/reliability/benchmark/bench/rmi/IntArrayCalls.java.i
+data/src/share/classes/sun/net/httpserver/HttpsServerImpl.java.i
+data/src/share/classes/javax/naming/ldap/ManageReferralControl.java.i
data/test/sun/security/action/GetLongAction/ReturnNullIfNoDefault.java.i
data/make/tools/CharsetMapping/IBM871.nr.i
data/src/share/classes/sun/util/resources/CurrencyNames_fr_BE.properties.i
data/test/javax/management/loading/GetMBeansFromURLTest.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicGraphicsUtils.java.i
-data/make/com/sun/jndi/cosnaming/Makefile.i
+data/make/tools/swing-beans/beaninfo/images/JProgressBarColor16.gif.i
data/test/java/nio/channels/SocketChannel/CloseTimeoutChannel.java.i
data/src/share/demo/jfc/TableExample/OldJTable.java.i
data/src/share/classes/sun/io/CharToByteCp1251.java.i
data/src/share/classes/com/sun/naming/internal/VersionHelper.java.i
-data/make/netbeans/common/closed-share-view.ent.i
+data/src/share/classes/java/awt/doc-files/Checkbox-1.gif.i
+data/make/com/oracle/security/ucrypto/Makefile.i
data/test/com/sun/nio/sctp/SctpMultiChannel/Branch.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/ClientThread.java.i
data/test/com/sun/jdi/RedefineCrossStart.java.i
@@ -19667,136 +19773,140 @@ data/src/share/classes/org/ietf/jgss/package.html.i
data/test/java/beans/PropertyEditor/6380849/ThirdBean.java.i
data/src/share/classes/java/beans/PropertyDescriptor.java.i
data/src/share/native/sun/awt/image/jpeg/jdapistd.c.i
-data/test/java/io/LineNumberReader/ReadReadLine.java.i
-data/src/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java.i
+data/src/share/demo/jfc/Metalworks/UISwitchListener.java.i
data/src/share/native/sun/font/layout/CursiveAttachmentSubtables.cpp.i
data/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipInfo.java.i
data/src/share/sample/nio/server/Sendable.java.i
data/src/solaris/classes/sun/nio/ch/SinkChannelImpl.java.i
data/src/share/classes/com/sun/java/util/jar/pack/PropMap.java.i
data/src/share/native/sun/security/pkcs11/wrapper/p11_sign.c.i
-data/src/solaris/native/java/io/io_util_md.h.i
-data/test/java/nio/Buffer/BasicShort.java.i
+data/src/share/classes/javax/security/auth/x500/package.html.i
+data/test/java/math/BigDecimal/StrippingZerosTest.java.i
+data/src/solaris/native/sun/awt/CUPSfuncs.c.i
data/src/share/classes/sun/security/krb5/JavaxSecurityAuthKerberosAccess.java.i
data/src/share/classes/javax/swing/JMenuBar.java.i
-data/test/javax/security/auth/login/Configuration/GetInstance.java.i
-data/src/solaris/classes/sun/awt/X11/XDesktopPeer.java.i
+data/src/share/classes/sun/font/LayoutPathImpl.java.i
+data/src/share/classes/com/sun/net/httpserver/BasicAuthenticator.java.i
data/make/sun/javazic/tzdata_jdk/gmt.i
data/src/share/native/java/lang/fdlibm/src/s_erf.c.i
-data/test/javax/management/context/localizable/WhatsitMBean.java.i
+data/src/share/classes/sun/io/ByteToCharUnicodeBig.java.i
data/test/sample/mergesort/MergeSortTest.java.i
-data/test/com/sun/crypto/provider/Cipher/KeyWrap/NISTWrapKAT.java.i
-data/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_de.properties.i
-data/src/windows/classes/sun/awt/windows/WMenuBarPeer.java.i
+data/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_MidiIn.cpp.i
+data/test/sun/security/ssl/sanity/interop/CipherTest.java.i
+data/test/javax/swing/plaf/basic/BasicScrollPaneUI/Test6632810.java.i
data/src/share/classes/sun/security/pkcs/PKCS9Attribute.java.i
data/test/tools/launcher/DefaultLocaleTest.java.i
data/src/share/classes/javax/swing/plaf/metal/icons/ocean/question.png.i
data/test/java/io/PushbackInputStream/MarkReset.java.i
data/test/com/sun/jndi/cosnaming/IiopUrlIPv6.java.i
data/test/java/net/URL/ParseURL.java.i
-data/make/sun/jawt/Depend.mak.i
+data/test/javax/management/mxbean/customtypes/IntegerIsStringFactory.java.i
data/src/share/classes/java/awt/print/Paper.java.i
-data/src/solaris/classes/sun/print/AttributeClass.java.i
+data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/lib/solaris-sparc/libLauncher.so.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLabelUI.java.i
-data/src/share/native/sun/java2d/opengl/OGLFuncs.h.i
-data/test/java/awt/Dialog/NonResizableDialogSysMenuResize/NonResizableDialogSysMenuResize.java.i
+data/src/share/demo/jvmti/hprof/hprof_table.h.i
+data/test/com/sun/net/httpserver/Test12.java.i
data/src/solaris/classes/sun/nio/fs/UnixUriUtils.java.i
-data/make/modules/jdk.depconfig.i
-data/src/windows/classes/sun/java2d/d3d/D3DSurfaceDataProxy.java.i
+data/src/share/classes/java/beans/DefaultPersistenceDelegate.java.i
+data/src/share/classes/javax/xml/crypto/dsig/dom/DOMSignContext.java.i
data/test/java/nio/file/Files/ContentType.java.i
data/src/share/classes/sun/font/AttributeMap.java.i
data/src/windows/classes/sun/awt/windows/WTextFieldPeer.java.i
data/make/tools/swing-beans/beaninfo/images/JMenuBarMono16.gif.i
-data/test/javax/sound/midi/Gervill/SimpleSoundbank/AddInstrument.java.i
+data/src/share/classes/java/security/PolicySpi.java.i
data/src/share/classes/sun/text/resources/FormatData_es_CR.java.i
data/src/share/classes/com/sun/jdi/ClassLoaderReference.java.i
data/test/com/sun/jdi/SuspendThreadTest.java.i
-data/src/share/classes/sun/nio/cs/ext/IBM942.java.i
-data/test/java/rmi/activation/Activatable/elucidateNoSuchMethod/group.security.policy.i
-data/test/java/util/concurrent/CopyOnWriteArraySet/RacingCows.java.i
-data/test/demo/jvmti/hprof/HeapBinaryFormatTest.java.i
-data/test/javax/smartcardio/Serialize.java.i
-data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMSecurityDefs.java.i
+data/src/share/classes/com/sun/jdi/InvalidStackFrameException.java.i
+data/src/share/native/java/lang/fdlibm/src/s_matherr.c.i
+data/src/windows/native/common/jlong_md.h.i
+data/src/share/classes/javax/naming/NameClassPair.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_en_GB.properties.i
+data/test/javax/management/namespace/SerialParamProcessorTest.java.i
+data/src/share/native/java/util/zip/zlib-1.2.5/inftrees.c.i
data/src/share/classes/sun/print/resources/serviceui_it.properties.i
-data/test/java/io/Serializable/oldTests/CheckingEquality.java.i
-data/src/share/classes/com/sun/tools/attach/AgentInitializationException.java.i
-data/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TSFrame.java.i
+data/src/share/classes/sun/security/validator/Validator.java.i
+data/src/share/classes/java/util/concurrent/ExecutorCompletionService.java.i
data/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ko.properties.i
data/src/share/native/java/lang/fdlibm/src/w_atan2.c.i
data/test/javax/naming/ldap/LdapName/RdnMisc.java.i
data/src/share/classes/com/sun/media/sound/AbstractMidiDeviceProvider.java.i
-data/test/javax/print/attribute/GetCopiesSupported.java.i
-data/src/share/classes/javax/swing/plaf/basic/BasicOptionPaneUI.java.i
+data/src/share/demo/jvmti/hprof/hprof_io.c.i
+data/src/share/classes/javax/swing/text/NavigationFilter.java.i
data/test/sun/java2d/cmm/ColorConvertOp/ImageComparator.java.i
-data/test/java/awt/GridBagLayout/GridBagLayoutIpadXYTest/GridBagLayoutIpadXYTest.java.i
+data/src/share/classes/sun/instrument/InstrumentationImpl.java.i
data/src/share/javavm/include/typedefs.h.i
data/src/share/classes/com/sun/beans/WeakCache.java.i
data/src/windows/native/sun/windows/awt_DrawingSurface.cpp.i
data/make/tools/src/build/tools/charsetmapping/GenerateEUC_TW.java.i
-data/test/sun/rmi/rmic/newrmic/equivalence/CountServerImpl.java.i
+data/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_AllChannels.java.i
data/test/java/lang/reflect/Proxy/nonJavaNames/Test.java.i
-data/src/share/classes/sun/util/calendar/ZoneInfoFile.java.i
-data/test/javax/script/CommonSetup.sh.i
+data/src/share/classes/java/awt/DisplayMode.java.i
+data/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemManagerState.java.i
data/src/share/classes/javax/swing/event/DocumentEvent.java.i
data/src/share/classes/javax/swing/plaf/synth/SynthTextFieldUI.java.i
-data/src/share/native/java/lang/fdlibm/src/e_gamma_r.c.i
-data/test/java/net/URLConnection/xml/xml3.i
-data/src/share/classes/javax/security/auth/login/AccountNotFoundException.java.i
-data/src/share/classes/sun/rmi/transport/tcp/TCPConnection.java.i
-data/test/java/rmi/server/UnicastRemoteObject/unexportObject/UnexportLeak.java.i
+data/src/share/classes/sun/security/krb5/internal/MethodData.java.i
+data/test/java/beans/Statement/Test6224433.java.i
+data/src/share/classes/sun/security/krb5/internal/rcache/CacheTable.java.i
+data/src/share/classes/com/sun/security/sasl/CramMD5Server.java.i
+data/test/java/awt/Mixing/MixingInHwPanel.java.i
data/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/JarFileSystemProvider.java.i
data/src/share/classes/sun/io/CharToByteEUC_CN.java.i
data/src/share/classes/sun/dyn/JavaMethodHandle.java.i
-data/test/javax/management/modelmbean/SimpleModelMBean/logging.properties.i
+data/src/share/native/sun/java2d/loops/LoopMacros.h.i
+data/src/share/classes/sun/security/acl/AllPermissionsImpl.java.i
data/test/sun/tools/common/CommonTests.sh.i
-data/test/java/rmi/activation/Activatable/restartLatecomer/rmid.security.policy.i
-data/test/java/beans/XMLEncoder/6329581/Test6329581.java.i
+data/make/tools/src/build/tools/fontchecker/README.txt.i
+data/src/share/classes/java/lang/CloneNotSupportedException.java.i
+data/src/share/classes/javax/swing/plaf/basic/icons/JavaCup16.png.i
data/src/share/classes/sun/tools/javac/BatchParser.java.i
-data/make/tools/swing-beans/beaninfo/images/JCheckBoxMenuItemMono32.gif.i
+data/src/share/classes/java/net/URL.java.i
data/src/solaris/doc/sun/man/man1/jinfo.1.i
-data/test/java/util/ResourceBundle/Test4314141.java.i
+data/src/share/classes/sun/tools/tree/ForStatement.java.i
data/src/share/classes/java/util/regex/package.html.i
-data/src/share/native/sun/security/ec/impl/ec.c.i
+data/src/share/instrument/JPLISAgent.c.i
data/test/java/beans/PropertyEditor/TestFontClassNull.java.i
-data/src/share/native/sun/java2d/loops/IntArgbBm.h.i
+data/test/java/util/ResourceBundle/TestResource_it.java.i
data/src/share/native/sun/java2d/cmm/lcms/cmserr.c.i
-data/test/java/rmi/reliability/benchmark/bench/rmi/DoubleCalls.java.i
+data/src/share/classes/sun/nio/cs/ext/IBM1383.java.i
data/make/sun/javazic/tzdata/asia.i
data/src/share/classes/sun/security/internal/spec/TlsRsaPremasterSecretParameterSpec.java.i
-data/test/java/awt/regtesthelpers/AbstractTest.java.i
+data/src/share/classes/sun/tools/jconsole/OverviewTab.java.i
data/src/share/native/sun/awt/image/jpeg/jcapistd.c.i
data/test/com/sun/jdi/connect/spi/META-INF/services/com.sun.jdi.connect.spi.TransportService.i
+data/src/share/classes/sun/nio/cs/UTF_16LE.java.i
data/make/netbeans/common/closed-share-sources.ent.i
data/make/com/sun/inputmethods/Makefile.i
-data/src/share/classes/java/security/Guard.java.i
-data/test/sun/net/www/http/HttpClient/ProxyTest.java.i
-data/src/share/classes/sun/awt/im/SimpleInputMethodWindow.java.i
-data/src/solaris/demo/jni/Poller/PollingServer.java.i
+data/src/share/classes/java/awt/print/PrinterJob.java.i
+data/src/share/classes/java/util/concurrent/AbstractExecutorService.java.i
+data/src/share/native/sun/nio/ch/genSocketOptionRegistry.c.i
data/src/solaris/classes/sun/java2d/xr/XRColor.java.i
-data/src/share/classes/sun/tools/java/AmbiguousClass.java.i
-data/src/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java.i
+data/test/javax/swing/JSpinner/6463712/bug6463712.java.i
+data/src/share/classes/com/sun/jndi/dns/Header.java.i
data/src/share/classes/java/dyn/JavaMethodHandle.java.i
data/make/tools/swing-beans/beaninfo/images/JSpinnerColor32.gif.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/signature/NodeFilter.java.i
-data/src/windows/native/sun/windows/awt_Pen.h.i
+data/src/share/native/sun/security/ec/impl/secitem.c.i
+data/src/share/classes/javax/swing/plaf/metal/MetalTextFieldUI.java.i
data/src/share/native/sun/font/layout/IndicReordering.cpp.i
data/src/solaris/classes/java/lang/UNIXProcess.java.solaris.i
-data/src/share/classes/java/awt/event/ActionEvent.java.i
+data/src/share/demo/nbproject/management/FullThreadDump/nbproject/file-targets.xml.i
data/src/solaris/classes/sun/awt/motif/MComponentPeer.java.i
+data/src/share/native/java/util/zip/zlib-1.2.5/zadler32.c.i
data/test/java/io/PipedOutputStream/DeadReader.java.i
-data/src/solaris/native/common/jlong_md.h.i
-data/test/com/sun/security/auth/callback/TextCallbackHandler/Default.java.i
+data/src/share/native/common/jni_util.h.i
+data/src/share/classes/java/util/CurrencyData.properties.i
data/src/share/classes/sun/security/util/DerValue.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/crisubn.jks.i
+data/test/java/security/cert/CertPathValidator/targetConstraints/ValidateTargetConstraints.java.i
+data/src/share/classes/sun/util/resources/CurrencyNames_es_SV.properties.i
data/src/share/classes/javax/swing/table/TableColumn.java.i
data/src/windows/native/sun/windows/awt_Toolkit.cpp.i
-data/test/sun/tools/jconsole/ImmutableResourceTest.sh.i
+data/src/share/classes/com/sun/management/UnixOperatingSystemMXBean.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_ja_JP.properties.i
-data/test/java/nio/file/Path/TemporaryFiles.java.i
-data/make/tools/src/build/tools/jdwpgen/CommandNode.java.i
+data/test/javax/security/auth/login/Configuration/GetInstanceSecurity.policy.i
+data/src/share/classes/java/awt/event/FocusEvent.java.i
data/src/share/classes/sun/launcher/resources/launcher_pt_BR.properties.i
data/test/java/io/Externalizable/compatibility/ExternalizableBlockData.java.i
-data/src/share/classes/sun/net/www/protocol/http/Negotiator.java.i
+data/src/share/classes/java/nio/ByteBufferAs-X-Buffer.java.template.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/signature/package.html.i
data/make/sun/security/smartcardio/FILES_c.gmk.i
data/src/share/classes/javax/management/remote/JMXServiceURL.java.i
@@ -19812,18 +19922,18 @@ data/src/share/classes/sun/tools/javac/BatchEnvironment.java.i
data/test/sun/security/provider/PolicyFile/TrustedCert.keystore1.i
data/src/share/classes/javax/swing/doc-files/groupLayout.sequential.horizontal.gif.i
data/src/share/classes/java/awt/peer/MenuPeer.java.i
-data/test/javax/management/mxbean/PreRegisterNameTest.java.i
-data/src/share/demo/nbproject/management/MemoryMonitor/build.xml.i
+data/make/com/sun/servicetag/Makefile.i
+data/src/share/classes/com/sun/tools/hat/internal/server/FinalizerSummaryQuery.java.i
data/src/share/classes/sun/java2d/Spans.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolverSpi.java.i
-data/src/share/classes/javax/swing/plaf/metal/icons/ocean/expanded.gif.i
+data/test/sun/net/www/protocol/http/ResponseCacheStream.java.i
data/test/java/io/FileOutputStream/FinalizeShdCallClose.java.i
data/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_es.properties.i
-data/test/java/nio/channels/FileChannel/AtomicAppend.java.i
-data/src/windows/classes/sun/net/NetHooks.java.i
-data/src/share/classes/sun/security/util/ByteArrayTagOrder.java.i
-data/test/javax/security/auth/login/LoginContext/ResetConfigModule.java.i
-data/test/java/util/ResourceBundle/Bug6355009.java.i
+data/src/share/demo/nbproject/management/JTop/nbproject/project.xml.i
+data/src/solaris/native/sun/java2d/loops/vis_ByteIndexed.c.i
+data/src/share/classes/javax/swing/KeyboardManager.java.i
+data/test/java/net/URLConnection/GetXmlContentType.java.i
+data/src/share/classes/com/sun/jndi/toolkit/dir/LazySearchEnumerationImpl.java.i
data/src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c.i
data/src/windows/native/sun/windows/GDIHashtable.h.i
data/src/share/classes/javax/print/attribute/standard/PagesPerMinuteColor.java.i
@@ -19835,273 +19945,274 @@ data/test/java/rmi/server/getRemoteClass/GetRemoteClass.java.i
data/test/sun/nio/cs/SJISCanEncode.java.i
data/src/share/classes/javax/swing/SpinnerDateModel.java.i
data/src/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java.i
-data/src/share/classes/com/sun/net/ssl/internal/www/protocol/https/Handler.java.i
+data/src/share/classes/java/util/ArrayDeque.java.i
data/test/java/util/zip/NoExtensionSignature.java.i
-data/src/share/classes/javax/management/monitor/GaugeMonitorMBean.java.i
-data/src/share/classes/javax/swing/ListModel.java.i
+data/src/share/classes/sun/java2d/pipe/BufferedRenderPipe.java.i
+data/src/share/classes/javax/print/attribute/URISyntax.java.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/MD2InTrustAnchor.java.i
+data/src/share/native/java/util/zip/zlib-1.2.3/inftrees.c.i
data/test/java/util/jar/JarInputStream/TestIndexedJarWithBadSignature.java.i
data/src/share/classes/sun/security/validator/EndEntityChecker.java.i
-data/test/java/beans/XMLEncoder/java_util_Collections_UnmodifiableRandomAccessList.java.i
+data/src/share/demo/jvmti/hprof/hprof_init.h.i
data/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformSwitch.java.i
+data/test/sun/security/pkcs11/MessageDigest/TestCloning.java.i
data/test/java/lang/instrument/RedefineMethodAddInvokeApp.java.i
-data/test/javax/script/Test4.js.i
-data/src/share/classes/sun/util/LocaleDataMetaInfo-XLocales.java.i
+data/test/java/awt/Multiscreen/UpdateGCTest/UpdateGCTest.java.i
+data/test/java/rmi/activation/Activatable/extLoadedImpl/security.policy.i
data/test/org/openjdk/jigsaw/cli/tsca-cert.pem.i
-data/test/com/sun/management/HotSpotDiagnosticMXBean/SetAllVMOptions.java.i
-data/src/share/classes/com/sun/tools/hat/internal/model/ReferenceChain.java.i
+data/src/share/classes/com/sun/crypto/provider/HmacCore.java.i
+data/test/java/beans/XMLEncoder/java_util_Collections_SynchronizedSortedMap.java.i
data/src/share/classes/com/sun/jmx/mbeanserver/MBeanServerDelegateImpl.java.i
-data/make/tools/CharsetMapping/IBM277.nr.i
+data/src/share/native/sun/awt/libpng/pngstruct.h.i
data/test/java/lang/instrument/NullTransformerRemoveTest.java.i
data/src/share/classes/java/util/logging/LoggingProxyImpl.java.i
data/src/share/classes/javax/security/auth/login/CredentialExpiredException.java.i
-data/make/tools/GenerateCharacter/check_class.c.template.i
-data/make/sun/nio/Makefile.i
+data/src/share/classes/java/awt/doc-files/MultiScreen.gif.i
+data/src/windows/classes/sun/awt/windows/WPopupMenuPeer.java.i
data/src/share/classes/javax/swing/plaf/synth/ColorType.java.i
data/src/windows/classes/sun/awt/windows/fontconfig.Me.properties.i
data/make/modules/jdk7.depconfig.i
data/src/windows/classes/com/sun/management/OperatingSystem.java.i
data/src/windows/instrument/FileSystemSupport_md.h.i
data/test/sun/security/pkcs11/nss/lib/linux-amd64/libnss3.so.d
-data/test/java/lang/ClassLoader/resource.jar.i
-data/test/sun/security/pkcs11/nss/lib/linux-amd64/libnss3.so.i
-data/test/javax/management/namespace/JMXNamespaceViewTest.java.i
+data/test/java/util/concurrent/ConcurrentHashMap/DistinctEntrySetElements.java.i
+data/src/share/classes/com/sun/nio/sctp/PeerAddressChangeNotification.java.i
+data/src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp.i
data/src/share/classes/javax/management/namespace/JMXRemoteNamespace.java.i
-data/test/javax/management/MBeanServer/PreRegisterTest.java.i
+data/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java.i
data/test/com/sun/net/httpserver/Test.java.i
data/src/share/classes/sun/io/ByteToCharGBK.java.i
data/test/java/util/ResourceBundle/Control/Bug6530694_de_DE.properties.i
-data/test/java/rmi/registry/interfaceHash/ReferenceRegistryStub.java.i
-data/src/share/classes/sun/nio/cs/UTF_16LE.java.i
-data/src/share/classes/org/openjdk/jigsaw/ModuleFileFormat.java.i
+data/src/share/classes/java/security/interfaces/DSAParams.java.i
+data/src/share/classes/sun/io/CharToByteISO8859_5.java.i
+data/src/share/classes/javax/swing/plaf/MenuBarUI.java.i
data/src/share/classes/sun/nio/ch/SocketChannelImpl.java.i
-data/src/share/classes/sun/text/normalizer/UCharacterPropertyReader.java.i
+data/src/share/native/java/lang/fdlibm/src/e_exp.c.i
data/test/java/security/UnresolvedPermission/AccessorMethods.java.i
data/src/share/classes/java/nio/file/AtomicMoveNotSupportedException.java.i
data/src/share/classes/java/lang/module/ModuleView.java.i
data/src/solaris/classes/sun/awt/X11/XInputMethodDescriptor.java.i
data/test/java/rmi/activation/Activatable/elucidateNoSuchMethod/ActivateMe.java.i
data/src/share/classes/javax/security/cert/package.html.i
-data/src/share/classes/sun/beans/editors/IntegerEditor.java.i
-data/make/sun/jdbc/Makefile.i
-data/test/java/awt/EventQueue/SecondaryLoopTest/SecondaryLoopTest.java.i
-data/src/share/classes/javax/swing/WindowConstants.java.i
+data/src/share/classes/javax/crypto/BadPaddingException.java.i
+data/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllSoundOff.java.i
+data/src/share/classes/com/sun/jmx/namespace/package.html.i
+data/src/share/classes/java/nio/channels/package-info.java.i
data/test/javax/management/remote/mandatory/subjectDelegation/policy15.i
data/src/share/classes/java/util/MissingFormatArgumentException.java.i
data/test/java/security/KeyPairGenerator/GenerateRSAKeyPair.java.i
data/src/share/classes/sun/dyn/SpreadGeneric.java.i
data/src/share/back/debugDispatch.c.i
data/src/solaris/demo/jigsaw/basic/env.sh.i
-data/src/share/native/sun/awt/medialib/mlib_ImageConv2x2_f.c.i
+data/test/java/net/URL/HandlerLoop.java.i
data/test/java/lang/Byte/Decode.java.i
data/make/sun/awt/mawt.gmk.i
-data/test/java/io/Serializable/subclass/AbstractObjectOutputStream.java.i
+data/src/share/classes/java/nio/charset/StandardCharset.java.i
data/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_zh_CN.java.i
-data/test/org/openjdk/jigsaw/cli/prikey.pem.i
-data/src/share/sample/scripting/scriptpad/src/META-INF/manifest.mf.i
-data/test/java/text/Collator/Bug6970930.java.i
+data/test/java/security/ProtectionDomain/RecursionDebug.java.i
+data/make/tools/CharsetMapping/IBM930.nr.i
+data/src/share/classes/javax/sound/sampled/UnsupportedAudioFileException.java.i
data/src/share/classes/sun/tools/tree/AssignBitXorExpression.java.i
-data/src/share/classes/sun/security/pkcs11/wrapper/CK_ATTRIBUTE.java.i
+data/make/tools/fontchecker/Makefile.i
data/make/modules/jdk.swing.ls.i
data/test/javax/imageio/stream/StreamCloserLeak/testapp/Main.java.i
-data/test/java/rmi/server/RMIClassLoader/downloadArrayClass/Receiver.java.i
-data/src/share/classes/java/awt/font/ShapeGraphicAttribute.java.i
+data/src/share/classes/sun/net/www/http/ChunkedInputStream.java.i
+data/src/share/classes/javax/swing/plaf/TextUI.java.i
data/test/org/openjdk/jigsaw/install-repo.sh.i
data/src/share/classes/sun/security/krb5/KrbApRep.java.i
-data/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java.i
+data/test/java/beans/Introspector/Test6194788.java.i
data/src/share/classes/javax/management/Description.java.i
data/src/linux/doc/man/appletviewer.1.i
+data/src/share/demo/java2d/J2DBench/src/j2dbench/Option.java.i
data/src/share/classes/sun/management/LazyCompositeData.java.i
data/test/javax/swing/SwingUtilities/6797139/bug6797139.java.i
data/src/share/classes/com/sun/net/ssl/internal/www/protocol/https/DelegateHttpsURLConnection.java.i
data/src/share/classes/sun/reflect/generics/scope/MethodScope.java.i
data/test/org/openjdk/jigsaw/resource.sh.i
data/src/share/classes/sun/jvmstat/monitor/event/VmListener.java.i
-data/src/share/native/sun/security/ec/impl/ecl-curve.h.i
+data/src/share/classes/org/openjdk/internal/joptsimple/OptionMissingRequiredArgumentException.java.i
data/test/sun/net/www/protocol/http/StackTraceTest.java.i
data/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringInt.java.i
+data/test/java/beans/XMLEncoder/Test7092744.java.i
data/test/java/util/ResourceBundle/Test4314141B.java.i
data/src/share/classes/com/sun/jmx/snmp/SnmpParams.java.i
data/src/solaris/doc/sun/man/man1/apt.1.i
data/test/javax/management/context/localizable/Whatsit.java.i
data/src/share/classes/com/sun/imageio/plugins/common/LZWStringTable.java.i
data/test/java/io/BufferedWriter/Cleanup.java.i
-data/src/share/classes/sun/rmi/transport/ConnectionInputStream.java.i
+data/src/share/classes/sun/rmi/runtime/RuntimeUtil.java.i
data/test/java/awt/PrintJob/Text/stringwidth.sh.i
data/src/share/native/sun/management/ClassLoadingImpl.c.i
-data/make/tools/swing-beans/beaninfo/images/JScrollBarColor32.gif.i
+data/src/windows/native/sun/windows/awt_Label.cpp.i
data/src/share/classes/sun/util/calendar/TzIDOldMapping.java.i
data/test/java/lang/instrument/RedefineMethodAddInvokeTarget_2.java.i
data/test/sun/management/HotspotThreadMBean/GetInternalThreads.java.i
data/test/sun/security/pkcs11/Provider/Login-nss.txt.i
-data/src/share/classes/java/awt/peer/KeyboardFocusManagerPeer.java.i
-data/test/java/awt/regtesthelpers/process/ProcessResults.java.i
+data/test/java/beans/XMLEncoder/EnumPrivate.java.i
+data/test/javax/security/auth/login/Configuration/GetInstance.java.i
data/src/share/classes/sun/io/ByteToCharCp1253.java.i
-data/src/share/classes/sun/print/PrintJob2D.java.i
-data/test/java/util/ArrayList/EnsureCapacity.java.i
+data/src/share/native/sun/java2d/loops/IntRgb.c.i
+data/src/share/native/common/gdefs.h.i
data/src/share/classes/sun/java2d/pisces/LineSink.java.i
-data/test/sun/net/www/http/HttpClient/StreamingRetry.java.i
+data/src/share/native/sun/java2d/loops/AnyInt.c.i
data/test/java/lang/ThreadLocal/ImmutableLocal.java.i
data/test/sun/security/util/HostnameMatcher/cert4.crt.i
-data/src/share/classes/com/sun/tools/example/debug/bdi/Utils.java.i
data/src/solaris/classes/sun/awt/motif/MCustomCursor.java.i
data/src/windows/native/sun/jkernel/graphics/java-icon.ico.i
-data/test/java/util/TimSort/README.i
+data/src/share/classes/sun/awt/AWTAccessor.java.i
data/src/share/classes/java/lang/UnsatisfiedLinkError.java.i
-data/make/sun/Makefile.i
+data/src/share/classes/javax/accessibility/AccessibleBundle.java.i
data/src/share/classes/sun/security/provider/ParameterCache.java.i
-data/test/java/rmi/transport/checkFQDN/CheckFQDN_Stub.java.i
-data/test/javax/sound/midi/Gervill/SoftAudioBuffer/Clear.java.i
-data/src/share/classes/com/sun/jdi/LongType.java.i
+data/src/windows/native/sun/security/smartcardio/pcsc_md.h.i
+data/test/java/security/cert/CertPathBuilder/GetInstance.java.i
+data/make/tools/CharsetMapping/IBM420.map.i
data/src/share/classes/java/security/NoSuchAlgorithmException.java.i
data/src/share/classes/javax/swing/SpringLayout.java.i
data/src/windows/classes/sun/awt/windows/WPageDialog.java.i
data/test/java/net/Socket/DeadlockTest.java.i
-data/test/javax/script/RhinoExceptionTest.java.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTreeUI.java.i
data/make/tools/src/build/tools/javazic/Timezone.java.i
data/src/share/classes/sun/io/CharToByteCp1142.java.i
-data/src/share/classes/com/sun/jmx/snmp/agent/SnmpIndex.java.i
-data/test/java/rmi/server/useCustomRef/UseCustomRef_Stub.java.i
+data/src/share/classes/com/sun/jndi/ldap/VersionHelper.java.i
data/src/share/classes/sun/security/krb5/internal/Krb5.java.i
data/src/share/classes/sun/reflect/generics/visitor/Visitor.java.i
data/src/share/classes/javax/naming/ConfigurationException.java.i
data/test/java/lang/management/ManagementFactory/ProxyExceptions.java.i
-data/src/share/classes/javax/swing/plaf/SplitPaneUI.java.i
+data/src/share/classes/com/sun/tools/example/debug/tty/EventHandler.java.i
data/test/java/beans/Statement/Test6707226.java.i
data/test/java/lang/Class/forName/classes/plus.class.i
-data/test/java/io/File/FileMethods.java.i
+data/src/solaris/demo/jigsaw/basic/setup.sh.i
data/test/javax/sound/midi/Gervill/ModelIdentifier/SetObject.java.i
data/src/share/classes/sun/text/resources/CollationData_zh.java.i
data/test/java/io/Serializable/enum/classObject/Test.java.i
data/src/share/classes/javax/sound/midi/VoiceStatus.java.i
-data/test/java/io/Serializable/packageAccess/A.java.i
-data/src/share/classes/com/sun/media/sound/SoftLinearResampler.java.i
+data/src/solaris/classes/sun/awt/motif/MButtonPeer.java.i
+data/src/share/classes/java/awt/image/ReplicateScaleFilter.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/package.html.i
data/test/javax/script/Test2.js.i
-data/test/java/rmi/Naming/RmiIsNoScheme.java.i
+data/test/sun/nio/cs/OLD/X11GB2312_OLD.java.i
data/make/tools/classanalyzer/src/com/sun/classanalyzer/PackageInfo.java.i
data/src/windows/native/sun/windows/awt_Font.cpp.i
data/make/tools/reorder/Makefile.i
data/src/share/classes/com/sun/java/browser/dom/DOMAction.java.i
data/src/share/demo/applets/BarChart/example1.html.i
-data/test/java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.java.i
+data/test/java/nio/channels/FileChannel/Pwrite.java.i
data/src/share/classes/com/sun/media/sound/AudioFloatFormatConverter.java.i
data/src/share/classes/com/sun/media/sound/Toolkit.java.i
data/test/java/lang/management/ThreadMXBean/FindMonitorDeadlock.java.i
-data/src/share/classes/sun/awt/resources/awt_pt_BR.properties.i
+data/src/windows/classes/sun/nio/fs/WindowsSecurity.java.i
data/src/share/classes/sun/reflect/NativeMethodAccessorImpl.java.i
data/src/solaris/classes/sun/awt/X11/XMSelection.java.i
data/src/share/classes/sun/net/www/protocol/http/spnego/NegotiateCallbackHandler.java.i
-data/src/solaris/classes/sun/awt/X11/XSelection.java.i
-data/src/windows/native/sun/java2d/windows/dxCapabilities.cpp.i
+data/src/share/classes/java/rmi/server/RMISocketFactory.java.i
+data/src/share/classes/com/sun/java/swing/plaf/motif/MotifPopupMenuUI.java.i
data/test/sun/net/ftp/B6427768.java.i
-data/src/share/sample/vm/clr-jvm/invoker.cs.i
+data/src/share/demo/jfc/Notepad/README.txt.i
data/make/tools/src/build/tools/jdwpgen/Main.java.i
-data/src/share/classes/java/io/FilenameFilter.java.i
+data/make/tools/CharsetMapping/ISO_8859_6.map.i
data/test/sun/security/pkcs11/nss/lib/solaris-i586/libnspr4.so.i
data/src/share/native/sun/security/ec/impl/ecp_224.c.i
-data/src/share/classes/java/util/logging/ErrorManager.java.i
+data/test/java/net/URLClassLoader/ClassPathTest.java.i
data/test/java/beans/XMLEncoder/java_awt_AWTKeyStroke.java.i
-data/src/share/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/ScanManagerTest.java.i
-data/make/com/sun/sql/Makefile.i
+data/src/share/classes/com/sun/nio/file/SensitivityWatchEventModifier.java.i
+data/src/share/classes/sun/management/MemoryNotifInfoCompositeData.java.i
data/test/java/lang/Class/getEnclosingClass/EnclosingClass.java.i
-data/src/share/classes/sun/swing/text/TextComponentPrintable.java.i
+data/make/tools/src/build/tools/spp/Spp.java.i
data/test/java/rmi/transport/dgcDeadLock/security.policy.i
-data/test/java/rmi/activation/Activatable/restartCrashedService/ActivateMe.java.i
-data/src/windows/native/java/net/Inet6AddressImpl.c.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java.i
+data/test/java/lang/Double/ParseHexFloatingPoint.java.i
+data/test/java/lang/instrument/ExampleRedefine.java.i
+data/src/share/classes/sun/util/resources/LocaleNames.properties.i
data/test/java/nio/channels/spi/AsynchronousChannelProvider/CheckProvider.java.i
-data/src/share/classes/sun/text/resources/FormatData_lt_LT.java.i
-data/test/java/util/Vector/SerializationDeadlock.java.i
-data/test/javax/sound/midi/Gervill/SoftChannel/ProgramAndBankChange.java.i
+data/src/share/classes/java/awt/image/CropImageFilter.java.i
+data/src/share/classes/com/sun/jndi/ldap/LdapResult.java.i
data/test/sun/security/tools/policytool/UpdatePermissions.java.i
-data/test/javax/swing/JLayer/6824395/bug6824395.java.i
-data/test/javax/management/eventService/EventClientThreadTest.java.i
-data/src/windows/native/sun/nio/ch/FileDispatcherImpl.c.i
-data/src/share/classes/sun/management/HotspotThreadMBean.java.i
+data/test/java/util/ResourceBundle/Control/BadStaticInitRB.java.i
+data/src/share/classes/sun/tools/jstat/Identifier.java.i
+data/src/share/classes/sun/io/ByteToCharCp948.java.i
+data/make/mkdemo/jvmti/waiters/Makefile.i
data/make/tools/CharsetMapping/IBM930.c2b.i
-data/test/javax/crypto/spec/DESKeySpec/CheckParity.java.i
-data/test/java/rmi/activation/Activatable/restartLatecomer/RestartLatecomer_Stub.java.i
+data/src/share/classes/sun/tools/jconsole/resources/connected16.png.i
+data/test/java/net/InetAddress/HashSpread.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_sr_RS.properties.i
data/src/share/classes/sun/security/krb5/internal/crypto/Crc32CksumType.java.i
data/test/javax/xml/crypto/dsig/data/certs/nemain.crt.i
data/src/solaris/classes/sun/awt/X11/XDnDConstants.java.i
-data/src/share/native/sun/awt/medialib/mlib_ImageCheck.h.i
-data/make/sun/font/t2k/mapfile-vers.i
-data/test/sun/security/krb5/auto/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor.i
-data/test/sun/security/krb5/RFC396xTest.java.i
-data/src/share/classes/sun/java2d/SunCompositeContext.java.i
-data/test/java/util/Locale/bug6277243.java.i
+data/src/windows/classes/sun/awt/windows/awtLocalization_sv.properties.i
+data/test/java/net/DatagramSocket/ChangingAddress.java.i
+data/src/share/classes/sun/reflect/ByteVectorImpl.java.i
+data/test/sun/java2d/cmm/ProfileOp/ReadWriteProfileTest.java.i
+data/src/share/classes/java/lang/reflect/GenericSignatureFormatError.java.i
+data/src/share/classes/com/sun/jdi/event/ThreadStartEvent.java.i
+data/make/java/nio/genCoder.sh.i
data/src/share/native/sun/font/layout/SingleSubstitutionSubtables.h.i
data/test/java/util/PluggableLocale/providersrc/java.text.spi.DecimalFormatSymbolsProvider.i
data/test/java/net/InetAddress/CachedUnknownHostName.java.i
data/test/java/rmi/reliability/benchmark/bench/rmi/IntCalls.java.i
-data/test/tools/pack200/pack200-verifier/src/sun/tools/pack/verify/Globals.java.i
+data/src/share/classes/java/util/MissingResourceException.java.i
data/test/java/rmi/reliability/benchmark/bench/serial/BooleanArrays.java.i
data/src/share/classes/java/awt/dnd/DragSourceListener.java.i
-data/test/java/security/Signature/NONEwithRSA.java.i
-data/test/javax/management/remote/mandatory/passwordAccessFile/SimpleStandard.java.i
+data/src/share/classes/com/sun/crypto/provider/CipherTextStealing.java.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsOptionPaneUI.java.i
+data/src/share/classes/java/awt/print/PrinterException.java.i
data/src/solaris/classes/sun/awt/X11/ToplevelStateListener.java.i
data/src/share/classes/java/lang/ClassFormatError.java.i
-data/test/java/io/PipedReader/Ready.java.i
-data/test/java/rmi/reliability/benchmark/bench/rmi/config.i
+data/src/share/classes/com/sun/tools/jdi/LocationImpl.java.i
+data/src/share/classes/java/nio/charset/CoderMalfunctionError.java.i
data/make/tools/javazic/Makefile.i
-data/src/share/native/sun/awt/splashscreen/splashscreen_gif.c.i
data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java.i
data/src/share/native/com/sun/media/sound/PortMixer.c.i
data/src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java.i
-data/test/sun/net/www/protocol/jar/jarbug/src/jar1/GetResource.java.i
-data/test/java/lang/Short/ByteSwap.java.i
-data/src/share/classes/com/sun/net/httpserver/package-info.java.i
+data/test/java/rmi/activation/Activatable/checkActivateRef/CheckActivateRef.java.i
+data/src/share/classes/java/applet/package.html.i
+data/src/share/classes/javax/imageio/stream/package.html.i
data/src/share/classes/sun/util/resources/CalendarData_mt_MT.properties.i
data/test/demo/jvmti/Context.java.i
data/src/share/classes/javax/swing/text/AbstractWriter.java.i
-data/src/share/native/sun/management/MemoryPoolImpl.c.i
-data/test/java/util/PluggableLocale/LocaleNameProviderTest.sh.i
-data/src/share/classes/javax/print/attribute/standard/NumberOfDocuments.java.i
+data/src/share/native/sun/awt/image/gif/gifdecoder.c.i
+data/src/share/classes/com/sun/servicetag/SolarisServiceTag.java.i
+data/src/share/classes/com/sun/media/sound/services/javax.sound.midi.spi.MidiFileWriter.i
data/src/share/classes/java/awt/peer/CanvasPeer.java.i
data/src/share/classes/sun/rmi/rmic/Main.java.i
-data/test/sun/security/pkcs11/KeyStore/Basic.policy.i
+data/test/javax/management/generified/ListTypeCheckTest.java.i
data/test/java/rmi/reliability/benchmark/bench/XmlReporter.java.i
-data/src/share/native/java/security/AccessController.c.i
+data/test/java/rmi/server/RemoteObject/toStub/ToStub.java.i
data/src/share/native/sun/java2d/opengl/OGLMaskBlit.h.i
-data/src/share/native/sun/font/layout/ContextualGlyphInsertion.h.i
+data/src/linux/doc/man/ja/jps.1.i
data/test/java/security/Permission/ToString.java.i
data/src/share/demo/jfc/TableExample/TableExample3.java.i
data/test/java/awt/Choice/NonFocusablePopupMenuTest/NonFocusablePopupMenuTest.html.i
-data/test/tools/pack200/pack200-verifier/src/xmlkit/ClassSyntax.java.i
+data/src/windows/resource/icons/awt.ico.i
data/test/java/rmi/transport/dgcDeadLock/Test.java.i
-data/src/share/classes/com/sun/jmx/remote/internal/ClientListenerInfo.java.i
-data/src/share/classes/com/sun/jndi/rmi/registry/RemoteReference.java.i
+data/src/share/classes/com/sun/jdi/PrimitiveType.java.i
+data/src/share/classes/sun/nio/cs/ext/SJIS_0213.java.i
data/src/share/classes/javax/management/MBeanServerDelegate.java.i
data/test/java/awt/MultipleGradientPaint/MultiGradientTest.java.i
data/test/sun/tools/jstat/snap1.awk.i
-data/src/share/classes/sun/security/krb5/internal/AuthContext.java.i
-data/test/java/rmi/testlibrary/README.jcov.i
+data/src/share/classes/java/io/InputStreamReader.java.i
data/test/java/lang/instrument/ilib/Inject.java.i
-data/test/java/net/Socket/FDClose.java.i
+data/test/java/io/File/GetXSpace.sh.i
data/src/share/classes/javax/management/event/EventClientNotFoundException.java.i
data/make/tools/CharsetMapping/IBM918.nr.i
+data/test/java/util/zip/input.jar.i
data/src/share/native/sun/java2d/loops/AnyInt.h.i
-data/src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_TW.properties.i
-data/test/sun/tools/native2ascii/test3.i
-data/src/share/classes/java/awt/Rectangle.java.i
-data/src/windows/classes/sun/security/mscapi/Key.java.i
+data/src/share/classes/sun/reflect/generics/tree/ClassTypeSignature.java.i
+data/test/java/net/Authenticator/B4769350.java.i
+data/test/java/beans/Introspector/7064279/Test7064279.java.i
+data/src/share/classes/java/net/CookieManager.java.i
data/src/share/native/sun/java2d/ShaderList.h.i
data/src/share/classes/javax/swing/DebugGraphicsInfo.java.i
-data/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByteArrayIntInt.java.i
+data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/GraphicsTests.java.i
data/src/share/classes/javax/swing/plaf/basic/BasicTransferable.java.i
-data/src/share/back/eventHandler.h.i
data/test/sun/net/www/ftptest/FtpServer.java.i
data/src/share/classes/sun/nio/ch/exceptions.i
data/src/share/classes/javax/crypto/ShortBufferException.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_sr_Latn_ME.properties.i
-data/src/solaris/classes/sun/awt/X11/generator/functions.txt.i
+data/test/javax/swing/text/html/TableView/7030332/sample2.png.i
data/src/share/classes/sun/security/util/DerInputStream.java.i
data/test/com/sun/jdi/connect/spi/JdiLoadedByCustomLoader.java.i
data/src/share/classes/sun/reflect/ClassDefiner.java.i
-data/test/com/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider.i
-data/test/javax/management/remote/mandatory/connection/RMIConnector_NPETest.java.i
-data/make/java/redist/fonts/Makefile.i
+data/src/share/classes/javax/swing/plaf/nimbus/PainterImpl.template.i
+data/src/solaris/native/sun/awt/colordata.h.i
data/src/windows/native/sun/windows/awt_TrayIcon.cpp.i
data/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Delayed.java.i
data/src/share/classes/javax/net/SocketFactory.java.i
@@ -20109,182 +20220,185 @@ data/src/share/classes/javax/swing/text/DefaultCaret.java.i
data/make/sun/rmi/rmic/FILES.gmk.i
data/test/javax/xml/crypto/dsig/data/certs/morigu.crt.i
data/src/share/classes/sun/management/HotspotCompilation.java.i
-data/test/javax/sound/midi/Gervill/AudioFloatInputStream/Available.java.i
-data/test/javax/sound/midi/Gervill/SimpleSoundbank/GetInstrument.java.i
+data/make/com/sun/tracing/dtrace/Makefile.i
+data/test/sun/tools/jrunscript/jrunscript-fTest.sh.i
data/test/sun/rmi/rmic/newrmic/equivalence/ServerImpl.java.i
data/src/solaris/native/sun/java2d/loops/vis_FuncArray.c.i
data/src/share/classes/javax/management/openmbean/MXBeanMappingFactoryClass.java.i
-data/test/java/beans/Performance/TestPropertyChangeSupport.java.i
+data/src/solaris/native/sun/java2d/loops/vis_AlphaMaskBlit.c.i
data/src/share/classes/sun/tools/tree/InlineMethodExpression.java.i
-data/test/java/net/InetAddress/WhiteSpaceHostTest.java.i
+data/src/share/classes/javax/management/BetweenQueryExp.java.i
data/test/javax/swing/JColorChooser/Test4759934.java.i
data/src/share/demo/jfc/Font2DTest/resources/TextResources_de.properties.i
-data/make/tools/CharsetMapping/IBM737.map.i
data/test/org/openjdk/jigsaw/_JigsawVersionQuery.java.i
data/test/sun/security/krb5/confplusprop2.conf.i
data/test/com/sun/jdi/sde/InstallSDE.java.i
data/src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_zh_CN.java.i
-data/src/linux/doc/man/jarsigner.1.i
+data/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/ComTrustManagerFactoryImpl.java.i
data/src/share/native/sun/font/layout/HangulLayoutEngine.h.i
-data/src/share/classes/sun/tools/tree/ConstantExpression.java.i
-data/src/share/native/java/util/zip/zlib-1.2.3/inffast.h.i
+data/src/share/classes/sun/io/ByteToCharISO2022.java.i
+data/src/share/classes/javax/swing/text/html/BRView.java.i
data/test/java/util/zip/ZipFile/ShortRead.java.i
-data/test/com/sun/tools/attach/RedefineAgent.java.i
+data/src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_ja.java.i
data/src/share/classes/javax/management/remote/JMXAddressable.java.i
data/src/share/classes/com/sun/tools/attach/VirtualMachineDescriptor.java.i
data/src/share/classes/java/util/logging/FileHandler.java.i
-data/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Available.java.i
-data/test/sun/security/provider/SeedGenerator/Priority_Inversion.java.i
-data/test/java/util/concurrent/ScheduledThreadPoolExecutor/DecorateTask.java.i
-data/test/com/sun/jdi/TemplateTest.java.i
-data/test/javax/management/query/QueryNotifFilterTest.java.i
-data/src/share/classes/java/rmi/activation/ActivationGroup.java.i
+data/src/share/classes/com/sun/media/sound/SunFileReader.java.i
+data/make/tools/swing-beans/beaninfo/images/JLayeredPaneMono32.gif.i
+data/src/share/classes/com/sun/tools/hat/internal/model/AbstractJavaHeapObjectVisitor.java.i
+data/test/com/sun/jdi/CountFilterTest.java.i
+data/src/share/classes/com/sun/jdi/TypeComponent.java.i
+data/src/share/classes/java/nio/file/attribute/DosFileAttributeView.java.i
+data/test/javax/swing/plaf/basic/Test6984643.java.i
data/src/windows/classes/sun/java2d/d3d/D3DBackBufferSurfaceData.java.i
-data/test/com/sun/jdi/MixedSuspendTest.sh.i
+data/src/share/classes/java/rmi/ServerError.java.i
data/src/share/native/sun/awt/image/jpeg/jconfig.h.i
data/src/share/classes/com/sun/jdi/event/WatchpointEvent.java.i
data/test/com/sun/crypto/provider/Cipher/RSA/oaep-vect.txt.i
data/test/java/beans/XMLEncoder/Test4625418.java.i
-data/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Read.java.i
+data/src/share/classes/sun/io/CharToByteMacThai.java.i
data/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java.i
data/src/share/sample/jmx/jmx-scandir/docfiles/connect-local-ant-run.jpg.i
-data/src/solaris/classes/sun/awt/X11/MWMConstants.java.i
data/make/java/net/FILES_c.gmk.i
-data/src/share/classes/sun/util/resources/CurrencyNames_ca_ES.properties.i
-data/test/tools/pack200/Pack200Props.java.i
-data/test/java/util/PluggableLocale/providersrc/LocaleNames_ja_JP_kyoto.properties.i
+data/src/share/classes/sun/tools/tree/BitOrExpression.java.i
+data/test/javax/crypto/Mac/ByteBuffers.java.i
+data/test/com/sun/net/httpserver/SelCacheTest.java.i
data/src/share/classes/javax/management/loading/ClassLoaderRepository.java.i
data/test/org/openjdk/jigsaw/cli/jmod-signed.sh.i
data/test/com/sun/jdi/FilterMatch.java.i
data/test/java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java.i
-data/src/share/classes/javax/swing/text/html/parser/DTDConstants.java.i
+data/test/sun/security/pkcs11/Secmod/nsstrust.cfg.i
data/test/javax/security/auth/login/LoginContext/ConfigConstructor.policy.i
data/src/share/native/sun/security/ec/ecp_mont.c.i
-data/src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii.java.i
+data/src/share/classes/sun/reflect/annotation/TypeNotPresentExceptionProxy.java.i
data/test/java/lang/instrument/appendToClassLoaderSearch/ClassUnloadTest.java.i
data/src/share/classes/javax/sound/midi/ControllerEventListener.java.i
data/make/com/sun/security/auth/module/FILES_export_unix.gmk.i
-data/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/LocalEventTimer.java.i
+data/src/share/classes/java/beans/beancontext/BeanContextServiceRevokedListener.java.i
data/src/share/native/java/lang/fdlibm/src/w_cosh.c.i
data/src/share/classes/sun/management/resources/agent.properties.i
-data/src/share/classes/java/sql/PreparedStatement.java.i
+data/test/java/rmi/testlibrary/RMID.java.i
+data/test/java/rmi/server/RMIClassLoader/loadProxyClasses/FnnClass.java.i
+data/src/windows/classes/sun/awt/windows/awtLocalization_de.properties.i
data/test/com/sun/net/httpserver/bugs/B6401598.java.i
-data/src/share/classes/javax/security/auth/x500/package.html.i
+data/test/sun/security/ssl/templates/SSLSocketSSLEngineTemplate.java.i
data/src/solaris/classes/sun/awt/motif/MCanvasPeer.java.i
-data/test/javax/management/mxbean/RandomMXBeanTest.java.i
+data/src/share/classes/java/lang/management/MemoryManagerMXBean.java.i
data/src/share/classes/sun/net/idn/UCharacterDirection.java.i
data/test/sun/net/www/protocol/jar/jarbug/src/test/JarTest.java.i
data/src/share/classes/java/security/interfaces/RSAPrivateCrtKey.java.i
-data/test/javax/sound/midi/Gervill/SimpleSoundbank/SetName.java.i
-data/test/java/lang/instrument/ilib/Injector.java.i
-data/test/java/util/EnumSet/SmallEnumIteratorRemoveResilience.java.i
-data/test/sun/security/krb5/ParseConfig.java.i
-data/test/java/io/File/MaxPathLength.java.i
-data/test/javax/sound/midi/Gervill/SoftSynthesizer/ding.sf2.i
-data/src/share/classes/com/sun/rowset/RowSetFactoryImpl.java.i
+data/src/share/classes/java/security/cert/CollectionCertStoreParameters.java.i
+data/src/share/classes/sun/text/resources/FormatData_ru_RU.java.i
+data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/LayerContainer.java.i
+data/src/windows/resource/version.rc.i
+data/src/share/classes/sun/tools/tree/IfStatement.java.i
+data/test/sun/security/pkcs11/nss/lib/linux-amd64/libsoftokn3.so.d
+data/src/share/classes/java/awt/color/ICC_ColorSpace.java.i
data/test/java/beans/XMLEncoder/Test6176120.java.i
data/src/share/classes/com/sun/tools/example/debug/bdi/ThreadGroupIterator.java.i
data/src/share/native/sun/awt/image/jpeg/jdpostct.c.i
data/src/share/demo/jvmti/hprof/hprof_check.c.i
data/test/javax/sound/midi/MidiDeviceConnectors/TestAllDevices.java.i
-data/src/windows/classes/sun/awt/windows/awtLocalization_sv.properties.i
-data/test/java/security/KeyRep/RC5.pre.1.5.key.i
-data/test/java/rmi/Naming/UnderscoreHost_Stub.java.i
+data/src/share/classes/sun/font/FontManagerFactory.java.i
+data/src/share/classes/java/awt/geom/PathIterator.java.i
+data/test/java/net/URLClassLoader/B6896088.java.i
+data/test/javax/swing/border/Test6978482.java.i
data/test/java/lang/Boolean/MakeBooleanComparable.java.i
-data/test/java/lang/reflect/Proxy/returnTypes/GetCloneable.java.i
+data/src/solaris/native/sun/awt/awt_Scrollbar.c.i
data/src/share/native/sun/font/layout/HebrewShaping.h.i
data/src/share/classes/sun/security/pkcs11/Token.java.i
data/src/share/classes/sun/misc/Signal.java.i
data/src/share/classes/com/sun/media/sound/SF2Soundbank.java.i
-data/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMDigestMethod.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolverException.java.i
data/src/share/classes/sun/dyn/util/VerifyType.java.i
data/src/share/classes/sun/tools/tree/FieldExpression.java.i
data/test/javax/swing/JFileChooser/4150029/bug4150029.html.i
-data/src/windows/classes/sun/awt/windows/WEmbeddedFrame.java.i
+data/src/share/classes/sun/management/counter/perf/PerfByteArrayCounter.java.i
data/src/share/classes/sun/security/pkcs11/wrapper/CK_RSA_PKCS_PSS_PARAMS.java.i
data/test/sun/security/jgss/GssNPE.java.i
data/src/share/classes/java/io/PipedReader.java.i
-data/test/java/util/concurrent/BlockingQueue/Interrupt.java.i
-data/test/java/util/Map/Get.java.i
-data/test/java/text/Format/DateFormat/WeekDateTest.java.i
+data/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono_overdrive.java.i
+data/src/share/classes/java/security/cert/CertSelector.java.i
+data/src/share/classes/javax/swing/event/MenuDragMouseListener.java.i
data/src/share/native/sun/awt/libpng/pngconf.h.i
-data/src/solaris/javavm/export/jni_md.h.i
-data/src/solaris/classes/sun/awt/motif/X11SunUnicode_0.java.i
+data/src/share/classes/sun/tools/tree/LessExpression.java.i
+data/src/share/demo/java2d/J2DBench/src/j2dbench/J2DBench.java.i
data/src/share/classes/com/sun/tools/jdi/VMState.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/x509/XMLX509Certificate.java.i
-data/test/sun/security/krb5/ktab/HighestKvno.java.i
+data/test/java/nio/channels/AsynchronousChannelGroup/BadProperties.java.i
data/test/java/awt/Container/ValidateRoot/InvalidateMustRespectValidateRoots.java.i
data/test/java/util/zip/ZipFile/ReleaseInflater.java.i
-data/src/share/classes/javax/naming/event/NamespaceChangeListener.java.i
+data/src/share/classes/sun/security/ssl/ServerHandshaker.java.i
data/make/tools/CharsetMapping/IBM1112.map.i
-data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/CloseTest.java.i
-data/src/windows/native/sun/windows/awt_Window.h.i
-data/test/sun/security/pkcs11/Provider/ConfigQuotedString.java.i
+data/src/share/classes/sun/tools/jconsole/inspector/TableSorter.java.i
+data/test/sun/security/provider/PolicyParser/UnresolvedProperty.policy.i
+data/test/java/security/Security/ClassLoaderDeadlock/Deadlock.sh.i
data/test/java/beans/PropertyEditor/TestDoubleTypeNull.java.i
-data/test/javax/management/ObjectName/SerialCompatTest.java.i
+data/src/solaris/classes/sun/awt/motif/X11GB18030_1.java.i
data/test/java/util/TreeMap/NullAtEnd.java.i
data/test/java/security/Security/signedfirst/StaticSignedProvFirst.java.i
data/test/sun/security/util/HostnameMatcher/TestHostnameChecker.java.i
-data/test/sun/security/util/BitArray/NamedBitList.java.i
-data/src/share/classes/java/math/SignedMutableBigInteger.java.i
+data/src/share/classes/sun/rmi/server/ActivatableRef.java.i
+data/src/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java.i
data/src/share/classes/com/sun/tools/attach/AttachPermission.java.i
data/test/javax/script/Test7.js.i
data/test/sun/nio/cs/TestISO2022CNDecoder.java.i
-data/src/windows/classes/sun/java2d/d3d/D3DContext.java.i
+data/src/share/classes/com/sun/media/sound/DLSInstrument.java.i
data/src/share/classes/javax/swing/JLabel.java.i
-data/test/sun/security/pkcs11/nss/lib/linux-amd64/libsoftokn3.so.i
+data/src/share/classes/sun/nio/ch/AllocatedNativeObject.java.i
+data/src/solaris/native/sun/java2d/j2d_md.h.i
data/test/javax/xml/crypto/dsig/KeySelectors.java.i
data/src/share/demo/nbproject/management/FullThreadDump/nbproject/project.xml.i
-data/src/share/demo/nbproject/jfc/TableExample/build.xml.i
-data/test/com/sun/jdi/CatchPatternTest.sh.i
-data/test/javax/management/remote/mandatory/version/ImplVersionCommand.java.i
-data/test/com/sun/jdi/ShellScaffold.sh.i
+data/src/share/classes/java/rmi/registry/LocateRegistry.java.i
+data/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java.i
+data/src/share/native/sun/font/layout/KernTable.h.i
+data/src/share/native/java/lang/fdlibm/src/w_gamma.c.i
+data/make/com/sun/security/auth/module/FILES_export_windows.gmk.i
data/test/sun/security/util/Oid/S11N.sh.i
-data/src/share/classes/sun/management/snmp/jvmmib/JvmRTClassPathEntryMeta.java.i
+data/src/share/classes/com/sun/imageio/stream/StreamCloser.java.i
data/test/java/io/Serializable/backRefCNFException/Read.java.i
-data/src/share/classes/sun/text/resources/FormatData_de_CH.java.i
-data/test/java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.java.i
-data/test/java/util/Hashtable/SimpleSerialization.java.i
-data/test/java/beans/PropertyEditor/TestEnumSubclassValue.java.i
+data/src/share/native/sun/font/layout/DeviceTables.h.i
+data/src/share/demo/jvmti/minst/sample.makefile.txt.i
+data/src/share/classes/sun/net/httpserver/LeftOverInputStream.java.i
+data/src/share/classes/com/sun/net/ssl/TrustManagerFactory.java.i
data/src/share/demo/nbproject/jfc/SampleTree/build.properties.i
data/test/java/nio/charset/coders/FullRead.java.i
data/src/share/classes/java/beans/Expression.java.i
-data/make/tools/swing-beans/beaninfo/images/JMenuColor16.gif.i
+data/test/sun/management/jmxremote/bootstrap/solaris-i586/launcher.i
data/test/java/util/ResourceBundle/RBTestFmwk.java.i
+data/test/com/sun/jdi/EnumTest.java.i
data/src/share/classes/com/sun/jmx/snmp/SnmpSecurityParameters.java.i
-data/src/share/classes/javax/swing/tree/TreeSelectionModel.java.i
+data/src/share/classes/java/io/NotSerializableException.java.i
data/src/share/classes/java/util/jar/JavaUtilJarAccessImpl.java.i
data/src/share/classes/java/rmi/activation/ActivationSystem.java.i
data/src/share/classes/java/lang/invoke/MethodHandleImpl.java.i
-data/test/java/rmi/activation/Activatable/restartService/security.policy.i
-data/src/share/demo/nio/zipfs/src/META-INF/services/java.nio.file.spi.FileSystemProvider.i
-data/test/javax/print/PrintSubInputStream/Example.java.i
+data/test/sun/security/pkcs11/ec/p12passwords.txt.i
+data/src/share/classes/sun/net/www/protocol/http/ntlm/NTLMAuthenticationCallback.java.i
data/src/share/native/sun/font/layout/LEScripts.h.i
data/src/share/classes/sun/security/util/AuthResources_ko.java.i
-data/src/share/classes/sun/io/CharToByteCp1112.java.i
+data/make/tools/reorder/tests/LoadToolkit.java.i
data/src/solaris/native/sun/awt/MouseInfo.c.i
data/src/share/classes/sun/security/pkcs11/wrapper/CK_UNLOCKMUTEX.java.i
-data/make/tools/classanalyzer/src/com/sun/classanalyzer/BootAnalyzer.java.i
+data/src/share/classes/sun/net/TelnetProtocolException.java.i
data/test/sun/security/provider/PolicyParser/ExpansionErrorMisleading.policy.i
-data/src/share/classes/java/awt/doc-files/modal-example1.gif.i
data/test/java/awt/Graphics/DrawImageBG/SystemBgColorTest.java.i
data/src/share/classes/com/sun/servicetag/resources/register_zh_CN.html.i
data/test/com/sun/crypto/provider/Cipher/DES/inputData/plain3.txt.i
-data/test/com/sun/jdi/ControlFlow.java.i
-data/test/tools/jar/ChangeDir.java.i
-data/test/sun/rmi/transport/tcp/blockAccept/BlockAcceptTest.java.i
-data/src/share/classes/javax/swing/undo/UndoableEditSupport.java.i
-data/test/sun/nio/cs/TestCompoundTest.java.i
+data/src/share/classes/java/security/SecureRandomSpi.java.i
+data/src/share/classes/sun/security/jgss/LoginConfigImpl.java.i
+data/src/share/native/java/util/zip/zlib-1.2.5/compress.c.i
+data/make/PatchList.solaris.i
+data/src/share/classes/sun/util/resources/TimeZoneNames_ko.java.i
+data/src/share/classes/javax/smartcardio/CommandAPDU.java.i
data/src/share/classes/sun/io/CharToByteCp861.java.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_es.properties.i
-data/test/java/lang/String/Supplementary.java.i
-data/src/share/native/sun/awt/libpng/pngwio.c.i
-data/src/share/classes/javax/management/monitor/StringMonitor.java.i
+data/make/tools/src/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java.i
+data/src/share/classes/javax/sound/midi/SoundbankResource.java.i
+data/src/share/classes/com/sun/jmx/snmp/SnmpInt.java.i
data/test/java/util/prefs/PrefsSpi.java.i
-data/test/java/net/Authenticator/B6870935.java.i
-data/src/share/classes/java/awt/im/spi/InputMethodContext.java.i
-data/test/com/sun/crypto/provider/Cipher/RSA/TestRSA.java.i
-data/test/java/net/CookieHandler/B6791927.java.i
+data/src/share/classes/java/io/ObjectOutput.java.i
+data/src/share/classes/java/lang/RuntimeException.java.i
+data/src/share/classes/java/lang/ClassLoader.java.i
+data/test/java/io/InputStreamReader/GrowAfterEOF.java.i
data/test/java/rmi/reliability/benchmark/bench/serial/CustomObjTrees.java.i
data/src/solaris/classes/sun/awt/motif/X11JIS0212.java.i
data/make/java/sun_nio/Makefile.i
@@ -20294,32 +20408,31 @@ data/test/com/sun/jdi/CatchAllTest.sh.i
data/src/share/classes/java/security/Provider.java.i
data/src/share/classes/sun/tools/jconsole/Version-template.java.i
data/src/share/classes/java/rmi/AccessException.java.i
-data/src/share/back/util.c.i
-data/make/javax/Makefile.i
+data/src/share/classes/com/sun/tools/example/debug/tty/ThreadInfo.java.i
data/src/share/classes/javax/security/auth/login/CredentialException.java.i
-data/src/share/native/sun/java2d/loops/UshortGray.c.i
+data/src/share/native/sun/font/layout/CanonShaping.cpp.i
data/src/share/classes/sun/io/CharToByteCp856.java.i
-data/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.html.i
+data/src/share/classes/sun/nio/cs/ext/ISO_8859_3.java.i
data/src/share/demo/jfc/CodePointIM/CodePointIM.java.i
data/src/share/classes/sun/io/ByteToCharCp285.java.i
data/test/java/lang/instrument/PremainClass/InheritAgent0111.java.i
-data/src/share/classes/sun/rmi/log/ReliableLog.java.i
-data/make/tools/classanalyzer/src/com/sun/classanalyzer/ShowRefs.java.i
-data/test/java/rmi/activation/Activatable/nestedActivate/security.policy.i
-data/test/java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.java.i
+data/make/modules/BuildPackages.gmk.i
+data/src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java.i
+data/test/sun/nio/cs/EuroConverter.java.i
+data/src/share/classes/sun/jvmstat/monitor/remote/RemoteHost.java.i
data/src/share/classes/java/security/KeyFactorySpi.java.i
data/test/java/nio/charset/Charset/Default.java.i
data/src/solaris/doc/sun/man/man1/ja/javadoc.1.d
-data/test/javax/swing/JFileChooser/6342301/bug6342301.java.i
+data/test/java/util/PluggableLocale/CollatorProviderTest.sh.i
data/src/share/classes/com/sun/servicetag/Installer.java.i
-data/make/tools/src/build/tools/javazic/Main.java.i
+data/src/share/sample/nio/server/Content.java.i
data/test/sun/security/util/Oid/OidFormat.java.i
data/src/share/classes/com/sun/tools/example/debug/gui/MonitorTool.java.i
data/test/sun/nio/cs/CheckICNE.java.i
data/src/share/classes/sun/security/jgss/HttpCaller.java.i
data/src/solaris/doc/sun/man/man1/ja/javadoc.1.i
data/test/sun/security/ssl/javax/net/ssl/SSLServerSocket/DefaultSSLServSocketFac.java.i
-data/src/share/native/sun/awt/medialib/mlib_ImageColorTrue2Index.c.i
+data/src/share/classes/java/awt/geom/AffineTransform.java.i
data/src/share/native/sun/security/ec/impl/mpi-priv.h.i
data/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive_mono.java.i
data/src/share/native/sun/awt/debug/debug_mem.h.i
@@ -20328,101 +20441,104 @@ data/src/windows/native/sun/windows/awt_Robot.cpp.i
data/test/java/net/Socket/NullHost.java.i
data/test/javax/management/context/RemoteContextTest.java.i
data/src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp.i
+data/src/share/classes/java/awt/peer/KeyboardFocusManagerPeer.java.i
data/src/share/classes/javax/swing/text/html/Map.java.i
-data/make/tools/src/build/tools/automulti/TestALFGenerator.java.i
-data/src/windows/native/sun/jkernel/stdafx.h.i
+data/src/share/classes/java/awt/Frame.java.i
+data/src/share/classes/java/awt/KeyEventDispatcher.java.i
data/src/windows/classes/sun/tools/attach/WindowsAttachProvider.java.i
data/src/share/classes/java/util/concurrent/TimeoutException.java.i
-data/src/share/classes/java/util/LinkedHashSet.java.i
-data/test/java/nio/Buffer/CopyDirectIntMemory.java.i
+data/src/share/classes/javax/swing/text/html/ResourceLoader.java.i
+data/test/java/net/CookieHandler/B6644726.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_de.properties.i
data/make/common/shared/Compiler-msvc.gmk.i
-data/test/sun/tools/jps/jps-Vvml_2.sh.i
+data/test/java/beans/XMLEncoder/6777487/TestEnumMap.java.i
data/src/share/classes/sun/tools/asm/Assembler.java.i
data/src/share/classes/java/awt/image/DataBuffer.java.i
data/src/share/classes/javax/swing/text/html/parser/ContentModelState.java.i
data/test/sun/nio/cs/CheckCaseInsensitiveEncAliases.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.java.i
+data/src/share/classes/sun/util/resources/TimeZoneNames.java.i
data/test/javax/swing/JEditorPane/4492274/test.html.i
data/src/windows/native/sun/windows/awt_Dimension.cpp.i
data/src/share/native/java/lang/fdlibm/src/w_fmod.c.i
-data/src/share/classes/javax/management/BadAttributeValueExpException.java.i
+data/test/java/net/Socket/asyncClose/DatagramSocket_receive.java.i
data/src/share/classes/javax/management/BooleanValueExp.java.i
data/test/java/util/logging/LoggingDeadlock2.java.i
data/src/share/native/sun/java2d/opengl/OGLRenderer.h.i
data/src/share/classes/sun/io/ByteToCharISO8859_1.java.i
-data/src/share/classes/sun/java2d/pipe/OutlineTextRenderer.java.i
+data/src/share/classes/java/util/Calendar.java.i
data/src/solaris/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java.i
data/src/share/classes/java/lang/module/ModuleInfoAnnotation.java.i
-data/src/share/classes/sun/tools/serialver/serialver.properties.i
+data/src/share/native/java/util/zip/zlib-1.2.5/deflate.h.i
+data/src/share/classes/sun/text/normalizer/ICUBinary.java.i
data/test/java/util/Collection/IteratorAtEnd.java.i
data/test/javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java.i
data/src/share/native/java/lang/fdlibm/src/s_tanh.c.i
data/src/share/native/sun/java2d/loops/FillSpans.c.i
data/test/sun/rmi/rmic/newrmic/equivalence/MyObject.java.i
data/test/javax/management/loading/LibraryLoader/jar_src/UseNativeLib.java.i
+data/src/windows/native/sun/java2d/opengl/WGLGraphicsConfig.h.i
data/src/solaris/classes/sun/awt/X11/XNETProtocol.java.i
-data/src/share/classes/sun/io/CharToByteCp948.java.i
+data/src/share/native/java/io/FileInputStream.c.i
data/src/share/native/sun/security/ec/impl/mpi.c.i
-data/test/com/sun/jdi/InnerTarg.java.i
+data/test/sun/security/ssl/sun/net/www/httpstest/HttpServer.java.i
data/src/share/classes/com/sun/tools/example/trace/EventThread.java.i
data/src/share/classes/java/util/DualPivotQuicksort.java.i
data/src/share/classes/java/security/spec/RSAPublicKeySpec.java.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/GTKColorType.java.i
data/src/share/classes/javax/swing/plaf/metal/MetalProgressBarUI.java.i
+data/test/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java.i
data/src/share/classes/sun/security/pkcs11/P11DHKeyFactory.java.i
data/test/java/awt/im/4959409/bug4959409.java.i
-data/test/java/lang/Runtime/exec/WinCommand.java.i
-data/src/solaris/bin/ia64/jvm.cfg.i
-data/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBuffer.java.i
-data/src/share/classes/javax/swing/text/NumberFormatter.java.i
+data/src/share/classes/com/sun/tools/example/debug/bdi/ExecutionManager.java.i
+data/src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java.i
+data/src/share/classes/sun/util/resources/CalendarData_ja.properties.i
data/test/java/nio/channels/SocketChannel/ExceptionTranslation.java.i
data/test/java/io/Serializable/oldTests/BinaryTree.java.i
-data/src/share/classes/javax/management/relation/RoleStatus.java.i
+data/test/com/sun/servicetag/servicetag2.properties.i
data/src/share/sample/jmx/jmx-scandir/docfiles/scandir-start.jpg.i
data/src/share/native/sun/java2d/cmm/lcms/cmswtpnt.c.i
data/src/share/classes/sun/security/util/Resources_es.java.i
data/src/share/classes/com/sun/tools/hat/internal/util/Comparer.java.i
-data/test/javax/management/remote/mandatory/connection/RMIConnectionIdTest.java.i
+data/src/share/classes/java/nio/file/FileSystem.java.i
data/src/share/classes/com/sun/media/sound/ModelAbstractChannelMixer.java.i
data/test/sun/tools/jps/jps-m_Output2.awk.i
-data/test/java/lang/ref/SoftReference/Bash.java.i
-data/test/java/util/Locale/data/deflocale.sh.i
+data/test/com/sun/jdi/UnpreparedClasses.java.i
+data/test/java/io/Serializable/lookupAnyInvocation/LookupAnyInvocation.java.i
data/test/java/rmi/activation/Activatable/unregisterInactive/group.security.policy.i
data/make/sun/awt/README.i
data/test/java/net/HttpURLConnection/HttpResponseCode.java.i
-data/test/sun/security/ssl/README.i
+data/test/javax/management/Introspector/MBeanDescriptionTest.java.i
data/src/solaris/native/sun/awt/multiVis.h.i
data/test/java/io/PrintWriter/OversynchronizedTest.java.i
-data/src/share/native/java/util/zip/zlib-1.2.3/inftrees.c.i
-data/src/share/classes/sun/tools/serialver/SerialVer.java.i
+data/src/solaris/native/sun/nio/fs/genUnixConstants.c.i
+data/src/share/classes/javax/swing/Spring.java.i
data/src/windows/classes/sun/nio/ch/PendingIoCache.java.i
data/src/share/classes/javax/swing/tree/TreeNode.java.i
data/src/windows/native/sun/windows/GDIHashtable.cpp.i
data/test/java/security/cert/CertPathValidator/OCSP/FailoverToCRL.java.i
-data/src/windows/native/sun/windows/ThemeReader.cpp.i
+data/src/share/native/com/sun/media/sound/SoundDefs.h.i
data/test/java/net/ServerSocket/ThreadStop.java.i
-data/make/tools/CharsetMapping/IBM037.nr.i
+data/src/share/classes/com/sun/tools/jdi/IntegerValueImpl.java.i
data/src/share/classes/sun/print/AttributeUpdater.java.i
data/test/java/beans/XMLEncoder/java_util_ArrayList.java.i
data/src/share/classes/javax/net/ssl/HttpsURLConnection.java.i
-data/test/java/security/KeyRep/SerialDSAPubKey.policy.i
-data/test/java/security/KeyRep/RSA.pre.1.5.key.i
-data/test/com/sun/jdi/RefTypes.java.i
+data/make/tools/CharsetMapping/IBM942.c2b.i
+data/src/share/classes/com/sun/jndi/ldap/sasl/LdapSasl.java.i
+data/src/share/classes/com/sun/tools/jdi/CharTypeImpl.java.i
data/test/java/util/zip/ZipFile/input.jar.i
-data/src/share/classes/sun/security/pkcs11/P11ECDHKeyAgreement.java.i
+data/src/share/classes/javax/management/StandardEmitterMBean.java.i
data/make/javax/rmi/Makefile.i
data/src/share/classes/javax/management/event/RMIPushEventForwarder.java.i
-data/src/share/classes/sun/nio/cs/ext/JIS_X_0212_MS5022X_Encoder.java.i
-data/test/java/nio/channels/ServerSocketChannel/Basic.java.i
-data/test/java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.java.i
+data/src/share/classes/sun/io/ByteToCharCp875.java.i
+data/src/share/classes/javax/xml/crypto/OctetStreamData.java.i
+data/make/modules/tools/src/com/sun/classanalyzer/ResolutionInfo.java.i
data/src/share/classes/com/sun/tools/hat/internal/server/RefsByTypeQuery.java.i
data/src/share/classes/javax/print/attribute/standard/JobMediaSheetsCompleted.java.i
-data/test/sun/misc/JarIndex/metaInfFilenames/jarC/META-INF/fonts.mf.i
-data/test/sun/nio/cs/OLD/IBM949_OLD.java.i
+data/src/share/classes/java/sql/Statement.java.i
+data/src/share/classes/sun/net/httpserver/HttpContextImpl.java.i
data/src/share/classes/sun/reflect/Reflection.java.i
data/src/share/classes/sun/reflect/generics/tree/ArrayTypeSignature.java.i
-data/src/windows/native/sun/windows/awt_Dialog.cpp.i
+data/src/share/classes/javax/swing/plaf/metal/MetalMenuBarUI.java.i
data/src/share/classes/java/rmi/activation/Activator.java.i
data/src/share/classes/javax/crypto/spec/RC2ParameterSpec.java.i
data/src/share/classes/sun/text/normalizer/UCharacter.java.i
@@ -20430,11 +20546,11 @@ data/test/java/security/AccessControlContext/CheckCtor.java.i
data/src/share/demo/applets/MoleculeViewer/models/cyclohexane.xyz.i
data/src/share/native/java/io/ObjectOutputStream.c.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/KeyInfoContent.java.i
-data/test/javax/sound/sampled/AudioFormat/Matches_NOT_SPECIFIED.java.i
+data/src/share/classes/sun/print/RasterPrinterJob.java.i
data/src/share/classes/javax/swing/text/Utilities.java.i
-data/src/share/classes/sun/java2d/pisces/Stroker.java.i
+data/src/share/classes/org/openjdk/jigsaw/Hi.java.i
data/src/share/classes/javax/swing/border/BevelBorder.java.i
-data/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.java.i
+data/src/share/classes/java/nio/channels/SeekableByteChannel.java.i
data/src/share/classes/java/nio/channels/InterruptibleChannel.java.i
data/src/share/classes/sun/text/resources/FormatData_en_PH.java.i
data/test/javax/swing/JFileChooser/6698013/bug6698013.html.i
@@ -20443,219 +20559,221 @@ data/test/sun/util/resources/TimeZone/IntlTest.java.i
data/test/javax/management/context/ContextTest.java.i
data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/B6216082.java.i
data/src/solaris/native/sun/awt/initIDs.c.i
-data/test/sun/security/provider/certpath/ReverseBuilder/prjM2mgrM.i
+data/test/java/net/URLConnection/DisconnectAfterEOF.java.i
data/test/sun/security/pkcs11/Secmod/Crypto.java.i
-data/test/java/nio/channels/FileChannel/Transfer.java.i
+data/test/java/awt/Paint/PgramUserBoundsTest.java.i
data/src/solaris/native/common/jdk_util_md.c.i
data/src/share/demo/jfc/Metalworks/resources/HelpFiles/metal.html.i
data/test/java/security/cert/X509Certificate/ExtKeyUsage.java.i
data/src/share/classes/com/sun/pept/ept/ContactInfo.java.i
-data/test/java/net/URLDecoder/B6463990.java.i
+data/src/share/classes/java/util/concurrent/ThreadLocalRandom.java.i
data/test/java/lang/Math/Atan2Tests.java.i
-data/test/javax/management/Introspector/ParameterNameTest.java.i
-data/src/share/native/sun/java2d/loops/FillParallelogram.c.i
+data/src/share/classes/java/rmi/dgc/Lease.java.i
+data/src/share/classes/java/util/ListIterator.java.i
data/src/windows/native/sun/nio/ch/WindowsAsynchronousFileChannelImpl.c.i
data/test/java/io/Serializable/serialver/classpath/Test.java.i
-data/test/sun/security/provider/PolicyParser/ExtDirsB.java.i
+data/src/share/classes/com/sun/beans/finder/BeanInfoFinder.java.i
+data/src/share/classes/javax/swing/plaf/basic/BasicIconFactory.java.i
data/test/java/util/Formatter/BasicBooleanObject.java.i
data/src/share/back/inStream.c.i
-data/test/java/rmi/server/RMIClassLoader/spi/security.policy.i
-data/test/java/rmi/server/RMIClassLoader/useCodebaseOnly/UseCodebaseOnly_Stub.java.i
+data/src/share/classes/javax/imageio/stream/ImageOutputStream.java.i
+data/test/javax/swing/JLabel/7004134/bug7004134.java.i
data/src/share/classes/com/sun/jmx/snmp/SnmpPdu.java.i
data/test/java/util/ResourceBundle/Bug4168625Resource3_en.java.i
data/src/share/native/sun/font/layout/StateTableProcessor.h.i
data/test/sun/net/www/http/HttpClient/OpenServer.java.i
-data/test/java/lang/ThreadLocal/TestThreadId.java.i
-data/test/com/sun/net/httpserver/Test8a.java.i
+data/src/share/classes/com/sun/java/swing/plaf/motif/MotifRadioButtonMenuItemUI.java.i
+data/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibEntry.java.i
data/test/javax/swing/JScrollBar/6542335/bug6542335.java.i
-data/test/sun/java2d/DirectX/OverriddenInsetsTest/OverriddenInsetsTest.java.i
+data/src/share/classes/com/sun/jdi/event/ClassUnloadEvent.java.i
data/src/share/classes/javax/swing/plaf/metal/sounds/FrameMinimize.wav.i
data/test/javax/management/modelmbean/SimpleModelMBean/SimpleModelMBeanCommand.java.i
-data/test/com/sun/jdi/sde/MangleTest.java.i
-data/test/sun/tools/jstat/printCompilationOutput1.awk.i
-data/test/sun/security/ssl/sanity/pluggability/CheckSSLContextExport.java.i
-data/test/java/util/AbstractList/HasNextAfterException.java.i
+data/make/com/sun/tools/attach/FILES_java.gmk.i
+data/src/share/classes/sun/security/pkcs11/P11KeyGenerator.java.i
+data/src/share/classes/com/sun/jdi/event/package.html.i
+data/src/share/classes/javax/naming/LinkLoopException.java.i
data/test/java/util/Deque/ChorusLine.java.i
-data/src/share/classes/sun/text/resources/FormatData_es_CL.java.i
-data/src/share/classes/sun/text/resources/FormatData_th_TH_TH.java.i
-data/src/solaris/doc/sun/man/man1/rmid.1.i
+data/src/share/classes/sun/util/resources/LocaleNames_lt.properties.i
+data/src/share/classes/sun/security/x509/GeneralSubtrees.java.i
+data/src/share/classes/com/sun/jndi/toolkit/corba/CorbaUtils.java.i
data/src/solaris/sample/dtrace/hotspot_jni/CriticalSection_slow.d.i
data/test/sun/tools/jps/jps-l_1.sh.i
-data/src/share/native/sun/awt/medialib/mlib_ImageClipping.h.i
-data/test/javax/script/ProviderTest.sh.i
+data/src/share/classes/javax/swing/plaf/multi/MultiInternalFrameUI.java.i
+data/test/javax/print/applet/YesNo.java.i
data/src/share/classes/sun/security/jgss/krb5/Krb5CredElement.java.i
-data/src/share/classes/javax/swing/plaf/multi/MultiComboBoxUI.java.i
+data/src/share/classes/javax/sound/midi/MidiDeviceTransmitter.java.i
data/src/share/native/sun/font/layout/KhmerLayoutEngine.h.i
data/src/share/classes/sun/java2d/cmm/lcms/LCMSImageLayout.java.i
-data/src/solaris/doc/sun/man/man1/ja/jstatd.1.i
+data/src/share/classes/sun/security/krb5/internal/crypto/Aes256CtsHmacSha1EType.java.i
data/test/sun/security/pkcs11/tls/TestKeyMaterial.java.i
-data/src/share/classes/javax/swing/plaf/metal/icons/ocean/close-pressed.gif.i
-data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/effects/InnerGlowEffect.java.i
+data/test/java/lang/management/ThreadMXBean/Utils.java.i
+data/src/share/classes/org/relaxng/datatype/Datatype.java.i
data/test/sun/net/www/protocol/file/GetContentLength.java.i
-data/src/windows/native/sun/windows/awt_Win32GraphicsDevice.cpp.i
-data/test/sun/nio/cs/OLD/IBM970_OLD.java.i
+data/test/tools/launcher/PrintVersion.java.i
+data/src/share/demo/jfc/FileChooserDemo/FileChooserDemo.java.i
data/test/java/io/Serializable/modifyStaticFields/ModifyStaticFields.java.i
-data/src/share/classes/java/nio/channels/FileChannel.java.i
+data/src/solaris/classes/sun/awt/motif/X11KSC5601.java.i
data/test/sun/security/pkcs11/nss/lib/linux-amd64/libsoftokn3.chk.i
data/src/share/classes/java/security/cert/CertificateEncodingException.java.i
data/test/java/nio/file/attribute/AclFileAttributeView/Basic.java.i
-data/test/java/net/Authenticator/B4678055.java.i
+data/src/solaris/native/sun/awt/awt_motif.c.i
data/test/java/util/PluggableLocale/providersrc/FooNumberFormat.java.i
data/src/share/native/com/sun/tools/jdi/SharedMemoryConnection.c.i
data/test/java/lang/instrument/MakeJAR.sh.i
data/test/org/openjdk/jigsaw/library.sh.i
-data/make/sun/org/mozilla/Makefile.i
-data/test/sun/security/x509/X500Name/NullX500Name.java.i
-data/test/com/sun/security/sasl/Cram.java.i
-data/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.java.i
+data/make/modules/tools/src/com/sun/classanalyzer/ClassAnalyzer.java.i
+data/src/share/classes/sun/security/x509/SubjectKeyIdentifierExtension.java.i
+data/src/share/classes/javax/security/auth/login/AccountException.java.i
+data/src/share/classes/javax/swing/text/WhitespaceBasedBreakIterator.java.i
data/src/share/classes/sun/jvmstat/monitor/IntegerMonitor.java.i
data/src/windows/native/sun/awt/splashscreen/splashscreen_sys.c.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/PKIXExtendedTM.java.i
+data/test/javax/management/remote/mandatory/passwordAccessFile/password.properties.i
data/src/share/classes/sun/tools/tree/CheckContext.java.i
data/src/share/bin/defines.h.i
data/src/share/classes/java/awt/doc-files/RadialGradientPaint-1.png.i
-data/test/sun/tools/jstat/usage.out.i
+data/test/java/util/Vector/SerializationDeadlock.java.i
data/test/javax/crypto/Cipher/ByteBuffersNull.java.i
-data/make/tools/src/build/tools/jdwpgen/ClassObjectTypeNode.java.i
-data/src/share/classes/java/lang/CharSequence.java.i
-data/src/share/classes/com/sun/jndi/toolkit/dir/HierMemDirCtx.java.i
+data/src/share/classes/com/sun/jmx/snmp/agent/SnmpIndex.java.i
+data/test/java/security/BasicPermission/PermClass.1.4.i
+data/src/share/classes/javax/swing/text/ZoneView.java.i
data/test/java/beans/PropertyEditor/TestFloatClassValue.java.i
-data/test/javax/management/mxbean/LeakTest.java.i
-data/src/share/demo/management/FullThreadDump/Deadlock.java.i
+data/src/share/demo/nbproject/jfc/Notepad/nbproject/file-targets.xml.i
+data/test/sun/nio/cs/BufferUnderflowEUCTWTest.java.i
data/src/solaris/classes/sun/tools/attach/SolarisVirtualMachine.java.i
data/src/share/native/sun/font/AccelGlyphCache.h.i
data/src/share/classes/sun/tools/jconsole/resources/JConsoleResources.java.i
-data/src/share/classes/java/rmi/registry/RegistryHandler.java.i
+data/src/windows/native/sun/windows/awt_Component.h.i
+data/src/share/classes/java/awt/doc-files/modal-example1.gif.i
data/test/sun/tools/jstat/fileURITest1.awk.i
-data/test/java/io/Serializable/InvalidClassException/noargctor/NonSerialize/ProtectedCtor.java.i
-data/src/share/classes/java/lang/Exception.java.i
+data/test/java/rmi/activation/Activatable/downloadParameterClass/security.policy.i
+data/test/java/rmi/activation/ActivationGroupDesc/checkDefaultGroupName/CheckDefaultGroupName.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/resource/schema/xmldsig-core-schema.dtd.i
data/src/share/classes/sun/security/x509/X509AttributeName.java.i
-data/make/tools/swing-beans/beaninfo/images/JListMono16.gif.i
-data/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c.i
-data/test/java/lang/Class/forName/classes/Z.class.i
+data/test/sun/security/pkcs11/KeyStore/BasicData/p11-ibutton.txt.i
+data/src/share/classes/java/awt/image/TileObserver.java.i
+data/src/share/classes/sun/util/logging/resources/logging_ja.properties.i
data/src/share/demo/java2d/J2DBench/src/j2dbench/tests/RenderTests.java.i
data/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_Ports.c.i
data/src/share/demo/jvmti/waiters/Thread.cpp.i
data/test/java/nio/Buffer/BasicByte.java.i
data/test/sun/security/krb5/auto/CleanState.java.i
-data/test/java/security/cert/CertPathValidator/targetConstraints/ValidateTargetConstraints.java.i
+data/src/share/sample/scripting/scriptpad/src/scripts/linewrap.js.i
data/test/java/lang/String/NonCharacterMapping.java.i
-data/src/share/classes/java/text/CollationKey.java.i
-data/make/common/shared/Defs-solaris.gmk.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpU16U16Func.c.i
-data/test/javax/management/mxbean/GenericTypeTest.java.i
+data/src/solaris/doc/sun/man/man1/jmap.1.i
+data/src/share/classes/java/io/package.html.i
+data/make/javax/sound/FILES_c.gmk.i
+data/src/share/classes/java/io/InterruptedIOException.java.i
data/src/solaris/native/sun/awt/awt_util.h.i
data/src/share/classes/sun/io/ByteToCharCp922.java.i
data/src/share/classes/sun/io/CharToByteDoubleByte.java.i
data/src/share/classes/sun/management/snmp/jvmmib/EnumJvmClassesVerboseLevel.java.i
data/src/share/classes/sun/io/CharToByteMS936.java.i
data/src/share/demo/jfc/Metalworks/resources/HelpFiles/toc.html.i
-data/src/share/native/java/util/zip/zlib-1.2.3/deflate.h.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/TransformationException.java.i
data/src/share/demo/applets/NervousText/NervousText.java.i
data/src/share/classes/sun/util/resources/CurrencyNames_de_AT.properties.i
data/src/share/classes/com/sun/media/sound/UlawCodec.java.i
-data/src/share/classes/sun/security/jgss/krb5/Krb5Token.java.i
-data/test/tools/launcher/VerifyExceptions.java.i
-data/src/share/classes/java/lang/reflect/Constructor.java.i
+data/src/share/classes/sun/awt/ModalityListener.java.i
+data/src/share/classes/sun/text/resources/FormatData_sr_ME.java.i
data/src/share/classes/javax/swing/plaf/InsetsUIResource.java.i
-data/src/share/classes/sun/net/NetworkClient.java.i
+data/test/javax/management/openmbean/MBeanFeatureInfoSerialStore.java.i
data/src/share/classes/sun/awt/im/InputMethodAdapter.java.i
data/make/sun/text/Makefile.i
data/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_ko.properties.i
data/src/share/classes/sun/tools/javac/SourceClass.java.i
data/test/java/lang/management/ThreadMXBean/ThreadDump.java.i
-data/test/sun/nio/cs/Test6254467.java.i
+data/test/java/util/Locale/data/deflocale.rhel5.i
data/test/sun/security/pkcs11/KeyStore/SecretKeysBasic.java.i
data/src/share/classes/java/io/FileOutputStream.java.i
data/src/share/classes/sun/reflect/generics/visitor/TypeTreeVisitor.java.i
data/src/share/classes/javax/net/ServerSocketFactory.java.i
-data/test/java/rmi/reliability/juicer/Orange.java.i
-data/src/share/classes/javax/swing/text/rtf/charsets/cpg437.txt.i
-data/test/java/lang/instrument/appendToClassLoaderSearch/A.1.i
-data/src/share/classes/sun/io/ByteToCharCp860.java.i
+data/src/share/demo/jvmti/hprof/hprof_frame.c.i
+data/src/share/classes/javax/swing/text/rtf/charsets/cpg437.txt.i
+data/src/share/classes/sun/util/resources/LocaleNames_no.properties.i
+data/src/solaris/native/sun/xawt/XToolkit.c.i
data/test/java/rmi/activation/Activatable/forceLogSnapshot/rmid.security.policy.i
data/src/share/classes/javax/security/auth/SubjectDomainCombiner.java.i
-data/src/share/demo/applets/SpreadSheet/SpreadSheet.java.i
+data/src/share/classes/javax/swing/table/AbstractTableModel.java.i
data/test/java/io/charStreams/BufferSizes.java.i
data/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java.i
data/test/java/io/Externalizable/compatibility/old.ser.i
-data/src/solaris/native/sun/java2d/loops/vis_UshortGray_FromRgb.c.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.policy.i
-data/src/share/classes/com/sun/jmx/defaults/ServiceName.java.i
+data/src/share/classes/com/sun/security/sasl/ExternalClient.java.i
+data/test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/HelloImpl_Stub.java.i
+data/test/java/lang/Class/forName/Z.java.i
data/src/share/classes/javax/swing/text/StyleContext.java.i
-data/src/share/native/sun/java2d/cmm/lcms/cmslut.c.i
+data/src/share/classes/sun/reflect/generics/reflectiveObjects/NotImplementedException.java.i
data/test/java/lang/ThreadLocal/InitialValue.java.i
data/src/share/classes/java/awt/peer/ScrollPanePeer.java.i
-data/src/share/classes/com/sun/tools/jdi/PrimitiveValueImpl.java.i
-data/src/share/classes/javax/net/ssl/SSLSessionBindingListener.java.i
-data/test/java/math/BigDecimal/CompareToTests.java.i
+data/src/windows/native/sun/windows/awt_KeyEvent.cpp.i
+data/make/tools/swing-beans/beaninfo/images/JProgressBarMono16.gif.i
+data/src/share/classes/javax/swing/text/NumberFormatter.java.i
data/test/javax/sql/rowset/serial/SerialClob/SetCharacterStream.java.i
-data/src/share/lib/images/cursors/motif_MoveDrop32x32.gif.i
+data/make/tools/src/build/tools/jdwpgen/ReferenceIDTypeNode.java.i
data/src/share/classes/sun/io/ByteToCharMacRomania.java.i
data/test/java/lang/ThreadGroup/SetMaxPriority.java.i
data/src/share/native/sun/security/ec/oid.c.i
data/test/sun/security/pkcs11/nss/lib/windows-i586/softokn3.dll.d
data/test/sun/security/pkcs11/KeyStore/ClientAuthData/cert8.db.i
-data/src/share/classes/sun/rmi/server/resources/rmid_ja.properties.i
+data/src/share/classes/javax/security/auth/PrivateCredentialPermission.java.i
data/src/share/native/sun/java2d/cmm/lcms/cmsxform.c.i
data/src/windows/native/sun/java2d/windows/GDIRenderer.cpp.i
-data/src/share/classes/sun/io/ByteToCharCp875.java.i
-data/src/solaris/native/sun/java2d/j2d_md.h.i
-data/src/share/classes/java/awt/AWTEventMulticaster.java.i
+data/src/share/classes/sun/security/ssl/KeyManagerFactoryImpl.java.i
+data/test/java/util/BitSet/PreviousBits.java.i
+data/test/java/security/SecureRandom/Serialize.java.i
+data/src/share/back/commonRef.c.i
data/test/java/util/Hashtable/SerializationDeadlock.java.i
-data/src/share/native/sun/font/layout/ShapingTypeData.cpp.i
+data/test/sun/security/provider/PolicyParser/ExtDirsDefaultPolicy.java.i
data/src/share/classes/com/sun/java/swing/plaf/gtk/XColors.java.i
-data/test/sun/net/www/http/ChunkedInputStream/ChunkedEncodingTest.java.i
-data/test/sun/nio/cs/LeftOverSurrogate.java.i
-data/test/com/sun/security/auth/CreateLdapPrincipals.java.i
+data/test/java/security/cert/PKIXParameters/InvalidParameters.java.i
+data/test/com/sun/net/httpserver/Test7a.java.i
data/test/java/util/PluggableLocale/GenericTest.sh.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUp.c.i
+data/src/share/classes/sun/tools/java/BinaryMember.java.i
data/test/sun/tools/jrunscript/jrunscript-helpTest.sh.i
data/test/sun/net/InetAddress/nameservice/SimpleNameService.java.i
-data/test/java/lang/reflect/Method/invoke/ErrorInInvoke.java.i
-data/src/solaris/native/sun/awt/medialib/mlib_v_ImageAffine_BC_U16.c.i
-data/test/sun/security/krb5/auto/AcceptorSubKey.java.i
+data/test/java/beans/XMLEncoder/javax_swing_plaf_FontUIResource.java.i
+data/src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames_es.properties.i
+data/src/solaris/hpi/include/largefile_linux.h.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/ReferenceList.java.i
data/src/solaris/classes/sun/java2d/xr/XRGraphicsConfig.java.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/SetClientMode.java.i
-data/src/share/native/sun/font/layout/TrimmedArrayProcessor.h.i
data/test/com/sun/crypto/provider/KeyFactory/TestProviderLeak.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiTableHeaderUI.java.i
-data/test/sun/tools/jrunscript/jrunscript-argsTest.sh.i
+data/test/java/beans/XMLEncoder/javax_swing_JLayeredPane.java.i
data/src/share/classes/java/awt/dnd/DragSourceAdapter.java.i
-data/test/sun/tools/jstatd/jstatdDefaults.sh.i
+data/src/solaris/doc/sun/man/man1/ja/native2ascii.1.i
data/test/javax/swing/JLayer/6875716/bug6875716.java.i
data/test/sun/nio/cs/Decode.java.i
-data/src/windows/native/sun/java2d/opengl/WGLGraphicsConfig.h.i
+data/src/share/classes/sun/net/httpserver/HttpConnection.java.i
data/src/share/classes/sun/nio/ch/SelChImpl.java.i
data/test/java/util/Collections/EmptyCollectionSerialization.java.i
data/src/share/classes/sun/text/resources/FormatData_en_GB.java.i
data/src/share/classes/com/sun/media/sound/SoftProcess.java.i
-data/src/share/classes/sun/security/rsa/RSAPadding.java.i
+data/src/share/classes/com/sun/tools/jdi/ArrayReferenceImpl.java.i
data/src/share/classes/com/sun/jndi/ldap/UnsolicitedResponseImpl.java.i
data/test/java/beans/XMLEncoder/javax_swing_JTree.java.i
-data/test/java/util/EnumSet/EnumSetBash.java.i
+data/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java.i
data/test/com/sun/jdi/MonitorEventTest.java.i
data/make/netbeans/jmx/README.i
-data/test/com/sun/jdi/FetchLocals.java.i
+data/test/javax/swing/JPopupMenu/6987844/bug6987844.java.i
data/make/tools/swing-beans/beaninfo/images/JListColor16.gif.i
-data/src/share/native/sun/awt/image/jpeg/jcmarker.c.i
+data/test/java/util/PluggableLocale/DateFormatSymbolsProviderTest.sh.i
data/src/share/classes/javax/print/attribute/standard/PageRanges.java.i
-data/test/java/util/Collections/CheckedIdentityMap.java.i
-data/src/share/classes/sun/java2d/pipe/hw/ExtendedBufferCapabilities.java.i
+data/src/share/classes/sun/java2d/pipe/GlyphListLoopPipe.java.i
+data/src/windows/native/sun/windows/awt_Cursor.h.i
data/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/trusted.jks.i
-data/make/tools/buildmetaindex/Makefile.i
-data/test/sun/security/provider/PolicyFile/Comparator.java.i
-data/test/javax/swing/border/Test4243289.java.i
-data/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java.i
+data/src/share/classes/sun/text/resources/FormatData_uk_UA.java.i
+data/src/share/classes/com/sun/imageio/plugins/jpeg/DQTMarkerSegment.java.i
+data/make/sun/awt/Depend.sed.i
+data/test/java/beans/XMLEncoder/java_util_Date.java.i
data/test/sun/tools/jstat/gcOutput1.awk.i
data/test/sun/nio/cs/TestCp834_SBCS.java.i
data/test/java/beans/PropertyEditor/TestFloatTypeValue.java.i
-data/src/share/classes/java/util/Enumeration.java.i
-data/test/java/rmi/testlibrary/RMID.java.i
+data/src/share/classes/javax/management/AttributeChangeNotificationFilter.java.i
+data/src/share/classes/javax/sql/rowset/serial/SerialRef.java.i
data/src/share/classes/com/sun/jdi/connect/VMStartException.java.i
data/src/share/classes/sun/tools/tree/NegativeExpression.java.i
data/src/share/classes/sun/io/CharToByteCp918.java.i
+data/test/java/io/charStreams/ABCOutputStream.java.i
data/src/share/classes/java/text/DecimalFormatSymbols.java.i
data/src/share/classes/java/lang/AbstractStringBuilder.java.i
data/src/share/classes/javax/swing/plaf/metal/sounds/OptionPaneInformation.wav.i
@@ -20666,212 +20784,215 @@ data/make/tools/CharsetMapping/IBM838.map.i
data/test/javax/management/remote/mandatory/version/ImplVersionReader.java.i
data/src/share/classes/com/sun/crypto/provider/DHParameters.java.i
data/src/share/classes/javax/management/MBeanServerDelegateMBean.java.i
-data/src/windows/classes/java/net/DualStackPlainDatagramSocketImpl.java.i
+data/src/share/classes/com/sun/jmx/mbeanserver/SunJmxMBeanServer.java.i
data/test/sun/security/tools/keytool/standard.sh.i
-data/src/share/classes/javax/naming/NamingException.java.i
-data/src/share/sample/scripting/scriptpad/nbproject/file-targets.xml.i
+data/src/share/native/sun/awt/splashscreen/splashscreen_gif.c.i
+data/src/share/classes/sun/nio/fs/AbstractWatchService.java.i
data/test/java/lang/Compare.java.i
data/src/share/native/sun/awt/medialib/mlib_ImageAffine_NN_Bit.c.i
-data/src/share/classes/sun/tools/tree/ShortExpression.java.i
+data/src/share/classes/javax/swing/text/rtf/RTFAttributes.java.i
data/test/java/util/StringTokenizer/FormFeed.java.i
data/src/share/native/sun/font/layout/MarkToMarkPosnSubtables.cpp.i
data/src/share/classes/com/sun/jdi/VoidType.java.i
data/src/share/native/sun/font/layout/GXLayoutEngine.cpp.i
data/src/share/classes/sun/util/resources/CurrencyNames_es_UY.properties.i
-data/src/share/classes/javax/swing/DelegatingDefaultFocusManager.java.i
+data/src/share/modules/jdk/module-info.java.i
data/test/java/nio/file/attribute/UserDefinedFileAttributeView/Basic.java.i
data/test/sun/security/ssl/javax/net/ssl/TLSv11/ExportableStreamCipher.java.i
data/src/share/classes/com/sun/jndi/ldap/pool/PooledConnectionFactory.java.i
-data/test/javax/swing/JTable/6777378/bug6777378.java.i
-data/test/java/net/MulticastSocket/Test.java.i
+data/src/share/demo/jvmti/index.html.i
+data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ServerHandshaker/GetPeerHostClient.java.i
data/src/share/classes/com/sun/jmx/namespace/RoutingMBeanServerConnection.java.i
data/test/sun/security/provider/PolicyFile/SelfExpansion.policy.i
-data/make/tools/src/build/tools/jdwpgen/AbstractCommandNode.java.i
data/make/java/java/reorder-sparcv9.i
-data/test/javax/management/namespace/SerialParamProcessorTest.java.i
-data/test/sun/security/pkcs11/nss/lib/linux-amd64/libplds4.so.i
+data/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMSecurityDefs.java.i
+data/src/share/classes/com/sun/tools/attach/AgentInitializationException.java.i
data/test/java/awt/dnd/URIListBetweenJVMsTest/InterprocessMessages.java.i
data/test/sun/nio/cs/FindASCIIReplBugs.java.i
data/test/sun/security/provider/certpath/ReverseBuilder/prjM2divE.i
data/src/share/classes/javax/swing/text/IconView.java.i
-data/src/share/classes/javax/swing/plaf/basic/BasicDesktopIconUI.java.i
+data/test/java/awt/font/FontNames/LocaleFamilyNames.java.i
data/test/javax/management/query/InstanceOfExpTest.java.i
data/test/com/sun/jdi/CompatibleConnectors.java.i
-data/test/sun/tools/jps/jps-help.sh.i
+data/src/solaris/classes/sun/java2d/x11/X11PMBlitLoops.java.i
data/test/java/lang/management/ThreadMXBean/ThreadLists.java.i
data/src/share/classes/sun/management/jmxremote/SingleEntryRegistry.java.i
-data/src/share/classes/com/sun/java/swing/plaf/motif/MotifDesktopPaneUI.java.i
-data/test/java/util/ResourceBundle/RestrictedBundleTest.html.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/utils/CachedXPathAPIHolder.java.i
+data/src/share/classes/java/awt/Rectangle.java.i
+data/src/share/classes/com/sun/media/sound/AudioSynthesizerPropertyInfo.java.i
data/test/java/security/SecureClassLoader/DefineClassByteBuffer.java.i
data/test/javax/security/auth/login/LoginContext/ConfigConstructor.java.i
-data/test/java/io/RandomAccessFile/OpenSync.java.i
+data/test/java/io/BufferedReader/ReadLineSync.java.i
data/src/solaris/lib/sdp/sdp.conf.template.i
data/src/share/classes/sun/nio/cs/ext/GBK.java.i
data/src/solaris/npt/utf_md.h.i
data/test/java/lang/instrument/ilib/Info.java.i
data/make/common/BuildNativePackages.gmk.i
data/test/java/beans/XMLEncoder/java_awt_BasicStroke.java.i
-data/test/java/lang/instrument/appendToClassLoaderSearch/ClassUnloadTest.sh.i
-data/test/java/util/concurrent/ConcurrentHashMap/DistinctEntrySetElements.java.i
+data/test/javax/sound/midi/Gervill/RiffReaderWriter/Available.java.i
+data/test/java/lang/ClassLoader/resource.jar.i
data/test/sun/tools/jstat/options1.out.i
data/src/windows/classes/sun/java2d/d3d/D3DPaints.java.i
data/test/java/nio/file/Path/SBC.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/KeyStoreResolver.java.i
+data/src/share/classes/com/sun/tools/extcheck/ExtCheck.java.i
data/test/java/util/jar/JarFile/test.jar.i
-data/make/tools/swing-beans/beaninfo/images/JLayeredPaneColor16.gif.i
+data/make/tools/reorder/tools/util-i586.il.i
data/src/share/classes/com/sun/jmx/snmp/SnmpPduFactory.java.i
data/src/share/classes/sun/nio/ch/Cancellable.java.i
data/src/share/classes/sun/security/krb5/internal/CredentialsUtil.java.i
data/src/share/classes/sun/reflect/generics/reflectiveObjects/WildcardTypeImpl.java.i
-data/src/solaris/hpi/include/largefile.h.i
-data/test/com/sun/jdi/EnumTest.java.i
+data/src/windows/native/sun/nio/ch/FileDispatcherImpl.c.i
+data/src/share/classes/com/sun/tools/example/debug/bdi/Utils.java.i
data/src/share/modules/jdk.boot/module-info.java.i
+data/src/share/classes/sun/reflect/FieldInfo.java.i
data/src/share/classes/sun/util/PreHashedMap.java.i
data/src/windows/instrument/FileSystemSupport_md.c.i
-data/make/tools/src/build/tools/stripproperties/StripProperties.java.i
+data/src/share/classes/sun/util/resources/CalendarData_pl.properties.i
data/src/share/classes/sun/font/FontStrikeDisposer.java.i
-data/test/javax/xml/crypto/dsig/data/xml-stylesheet.b64.i
+data/test/java/nio/channels/SocketChannel/Stream.java.i
data/test/java/awt/event/MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMouseEventAbsoluteCoordsTest.java.i
data/test/java/awt/im/JTextFieldTest.html.i
-data/test/java/awt/Frame/FrameSize/TestFrameSize.java.i
+data/src/solaris/hpi/include/largefile.h.i
data/src/share/classes/java/net/FileNameMap.java.i
data/make/mkdemo/management/README.txt.i
data/test/sun/security/rsa/InvalidBitString.java.i
data/src/share/classes/sun/security/x509/ReasonFlags.java.i
-data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsOptionPaneUI.java.i
-data/src/share/classes/com/sun/pept/presentation/Tie.java.i
-data/test/sun/rmi/rmic/defaultStubVersion/run.sh.i
+data/src/share/native/sun/awt/medialib/mlib_ImageFilters.h.i
+data/src/share/classes/javax/swing/event/RowSorterListener.java.i
+data/src/share/classes/sun/security/util/Resources_ko.java.i
+data/src/share/classes/com/sun/net/httpserver/package-info.java.i
data/src/share/sample/vm/clr-jvm/README.txt.i
-data/src/share/classes/java/awt/Composite.java.i
+data/src/share/classes/javax/swing/text/Keymap.java.i
data/src/share/classes/sun/security/pkcs11/wrapper/CK_X9_42_DH2_DERIVE_PARAMS.java.i
data/src/share/classes/java/lang/StackOverflowError.java.i
-data/test/javax/swing/text/html/TableView/7030332/sample1.png.i
+data/test/java/rmi/testlibrary/README.jcov.i
data/test/java/rmi/dgc/retryDirtyCalls/RetryDirtyCalls.java.i
+data/test/java/util/Locale/Bug4184873_he.i
data/src/share/classes/sun/io/CharToByteBig5_HKSCS.java.i
-data/test/java/nio/channels/spi/AsynchronousChannelProvider/Provider2.java.i
-data/make/sun/jpeg/mapfile-vers.i
+data/make/tools/CharsetMapping/IBM737.map.i
+data/src/share/classes/java/nio/channels/AsynchronousFileChannel.java.i
data/test/java/rmi/reliability/benchmark/bench/rmi/DoubleArrayCalls.java.i
data/test/java/rmi/activation/Activatable/restartCrashedService/RestartCrashedService.java.i
-data/test/java/util/concurrent/ConcurrentQueues/GCRetention.java.i
-data/src/windows/classes/sun/awt/windows/WDesktopProperties.java.i
+data/make/com/sun/jndi/Makefile.i
+data/src/solaris/classes/sun/awt/X11/MWMConstants.java.i
data/src/share/classes/sun/security/krb5/internal/crypto/Nonce.java.i
-data/make/sun/org/Makefile.i
+data/src/share/classes/javax/print/attribute/PrintServiceAttribute.java.i
data/src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerBase.java.i
data/test/sun/security/tools/keytool/CloseFile.java.i
-data/src/solaris/native/sun/java2d/opengl/GLXGraphicsConfig.c.i
+data/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java.i
data/src/share/classes/sun/text/resources/FormatData_sr_Latn_BA.java.i
-data/src/share/classes/java/io/ByteArrayOutputStream.java.i
+data/test/java/rmi/activation/Activatable/restartService/security.policy.i
data/src/share/native/sun/awt/medialib/mlib_c_ImageAffine_BC_S16.c.i
-data/make/mksample/Makefile.i
-data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressDNSIdentities.java.i
-data/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/security.policy.i
-data/src/share/demo/applets/GraphicsTest/AppletFrame.java.i
+data/src/share/classes/com/sun/jmx/remote/internal/ClientListenerInfo.java.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/InvalidTransformException.java.i
+data/src/solaris/native/sun/awt/awt_motif.h.i
+data/make/netbeans/jarzip/build.xml.i
data/src/share/classes/com/sun/media/sound/services/javax.sound.midi.spi.MidiFileReader.i
data/src/share/classes/sun/java2d/pipe/AATileGenerator.java.i
data/test/java/io/LineNumberInputStream/Skip.java.i
data/src/share/classes/javax/swing/event/ListSelectionEvent.java.i
data/test/com/sun/security/sasl/digest/log.properties.i
-data/test/java/awt/GraphicsEnvironment/PreferLocaleFonts.java.i
+data/src/share/classes/sun/nio/fs/DynamicFileAttributeView.java.i
data/src/solaris/classes/sun/awt/motif/MTextFieldPeer.java.i
data/src/share/classes/javax/swing/text/PlainView.java.i
-data/test/sun/security/pkcs11/Secmod/nsstrust.cfg.i
-data/test/java/beans/XMLEncoder/javax_swing_border_TitledBorder.java.i
-data/src/share/classes/sun/reflect/misc/MethodUtil.java.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_es.properties.i
+data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsSpinnerUI.java.i
+data/src/share/classes/java/awt/print/PrinterIOException.java.i
data/src/share/classes/javax/sql/rowset/CachedRowSet.java.i
-data/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSessionImpl/HashCodeMissing.java.i
+data/test/java/util/zip/StreamIOAfterClose.java.i
data/test/java/lang/Math/PowTests.java.i
data/test/java/net/ServerSocket/TestAfterClose.java.i
data/src/linux/doc/man/ja/schemagen.1.i
data/src/windows/classes/sun/nio/ch/WindowsAsynchronousChannelProvider.java.i
data/test/sun/jvmstat/monitor/VmIdentifier/VmIdentifierCreateResolve.java.i
data/src/share/classes/sun/java2d/loops/DrawGlyphListAA.java.i
-data/test/java/nio/charset/StandardCharsets/Standard.java.i
+data/src/share/classes/sun/nio/ch/SctpMessageInfoImpl.java.i
data/src/share/classes/javax/swing/doc-files/BoxLayout-1.gif.i
data/test/java/lang/StringCoding/Enormous.java.i
data/test/java/net/Socket/InheritHandle.java.i
-data/src/share/native/java/io/FileInputStream.c.i
-data/src/share/classes/sun/reflect/FieldInfo.java.i
+data/src/share/classes/sun/io/CharToByteCp948.java.i
+data/test/sun/nio/cs/OLD/IBM948_OLD.java.i
data/test/java/text/Bidi/Bug7042148.java.i
data/src/solaris/native/sun/jdga/jdga.h.i
data/make/tools/Makefile.i
data/src/share/classes/java/util/AbstractList.java.i
-data/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/StateTestService.java.i
-data/src/share/demo/java2d/J2DBench/src/j2dbench/Option.java.i
+data/src/share/sample/nio/file/Xdd.java.i
+data/test/sun/rmi/rmic/RMIGenerator/RmicDefault.java.i
+data/src/share/classes/sun/nio/cs/ext/JIS_X_0212_MS5022X_Encoder.java.i
data/src/share/native/sun/java2d/pipe/Region.c.i
-data/src/share/classes/java/sql/SQLIntegrityConstraintViolationException.java.i
+data/src/share/classes/sun/util/resources/LocaleNames_pl.properties.i
data/src/solaris/native/sun/java2d/loops/vis_SrcOverMaskBlit.c.i
-data/src/share/back/ThreadGroupReferenceImpl.h.i
-data/test/java/rmi/activation/Activatable/downloadParameterClass/group.security.policy.i
-data/src/share/classes/javax/sound/midi/spi/package.html.i
+data/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_AWT.java.i
+data/src/share/classes/javax/print/attribute/Size2DSyntax.java.i
+data/make/common/Release.gmk.i
data/src/share/classes/java/lang/reflect/Modifier.java.i
-data/test/sun/java2d/cmm/ColorConvertOp/LRGB555.png.i
-data/test/java/beans/PropertyEditor/TestByteTypeValue.java.i
+data/src/share/classes/sun/reflect/UnsafeByteFieldAccessorImpl.java.i
+data/src/share/native/common/check_version.c.i
data/test/java/util/ResourceBundle/Bug6299235Test.java.i
data/src/share/classes/javax/sql/StatementEvent.java.i
data/src/share/classes/sun/reflect/UnsafeQualifiedCharacterFieldAccessorImpl.java.i
-data/test/sun/management/jmxremote/bootstrap/jmxremote_ssltest06_ok.access.in.i
-data/test/sun/security/provider/PolicyParser/EncodeURL.java.i
+data/src/share/classes/com/sun/media/sound/WaveFileReader.java.i
+data/src/share/classes/java/awt/datatransfer/FlavorMap.java.i
data/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemoryGCCall.java.i
-data/test/javax/script/Test7.java.i
-data/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties.i
-data/test/java/rmi/activation/ActivationGroupDesc/checkDefaultGroupName/CheckDefaultGroupName.java.i
-data/test/sun/security/pkcs11/KeyStore/BasicData/p11-ibutton.txt.i
+data/src/share/native/sun/security/jgss/wrapper/GSSLibStub.c.i
+data/test/java/rmi/activation/Activatable/forceLogSnapshot/ForceLogSnapshot.java.i
+data/test/java/io/Serializable/InvalidClassException/noargctor/NonSerialize/ProtectedCtor.java.i
+data/make/tools/swing-beans/beaninfo/images/JListMono16.gif.i
data/test/java/beans/XMLEncoder/Test4822050.java.i
data/make/tools/swing-nimbus/classes/org/jdesktop/swingx/designer/paint/AbstractGradient.java.i
data/test/java/beans/PropertyChangeSupport/1.5.0_10.ser.i
data/src/share/classes/javax/naming/directory/SearchControls.java.i
data/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java.i
-data/make/java/jexec/Makefile.i
+data/src/share/classes/sun/security/util/Password.java.i
data/test/javax/sound/midi/Gervill/SoftTuning/Load5.java.i
-data/src/share/classes/sun/nio/fs/AbstractPath.java.i
data/src/share/demo/java2d/J2DBench/src/j2dbench/ResultSet.java.i
data/src/share/classes/sun/util/resources/CalendarData_cs.properties.i
-data/test/java/util/BitSet/PreviousBits.java.i
-data/src/share/classes/com/sun/media/sound/AiffFileWriter.java.i
-data/test/tools/pack200/dyn.jar.i
+data/src/share/classes/javax/swing/SwingUtilities.java.i
+data/make/tools/swing-beans/beaninfo/images/JScrollPaneColor32.gif.i
+data/src/share/classes/java/nio/channels/spi/AbstractSelectionKey.java.i
data/src/solaris/native/common/gdefs_md.h.i
-data/test/com/sun/jdi/ArrayRangeTest.java.i
-data/test/sun/security/pkcs11/sslecc/CipherTest.java.i
+data/src/windows/lib/tzmappings.i
+data/src/share/classes/sun/security/pkcs11/wrapper/CK_SSL3_MASTER_KEY_DERIVE_PARAMS.java.i
data/src/share/classes/java/awt/DefaultKeyboardFocusManager.java.i
+data/test/java/rmi/activation/Activatable/createPrivateActivable/ActivateMe.java.i
data/src/windows/native/sun/windows/awt_GDIObject.cpp.i
data/test/java/nio/channels/FileChannel/MapOverEnd.java.i
data/src/share/classes/javax/naming/ldap/SortControl.java.i
data/test/com/sun/crypto/provider/TLS/TestKeyMaterial.java.i
-data/test/javax/swing/border/Test6978482.java.i
-data/test/java/io/charStreams/ABCOutputStream.java.i
-data/test/javax/management/modelmbean/ModelMBeanInfoSupport/GetAllDescriptorsTest.java.i
-data/src/share/classes/com/sun/org/apache/xml/internal/security/keys/content/keyvalues/KeyValueContent.java.i
+data/test/java/util/zip/FlaterCriticalArray.java.i
+data/make/javax/Makefile.i
+data/src/share/demo/jvmti/agent_util/README.txt.i
+data/src/share/classes/java/awt/doc-files/RadialGradientPaint-2.png.i
+data/src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptedType.java.i
data/src/solaris/classes/sun/java2d/jules/JulesPathBuf.java.i
data/src/share/classes/java/util/LinkedHashMap.java.i
data/src/share/classes/javax/swing/plaf/multi/MultiRootPaneUI.java.i
data/src/share/classes/sun/management/snmp/jvmmib/JvmRTLibraryPathTableMeta.java.i
data/test/java/security/BasicPermission/Homogeneity.java.i
-data/test/javax/sound/midi/Gervill/RiffReaderWriter/Available.java.i
-data/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConcave.java.i
+data/test/java/lang/instrument/appendToClassLoaderSearch/ClassUnloadTest.sh.i
+data/src/share/classes/com/sun/jndi/ldap/LdapReferralException.java.i
data/src/share/classes/com/sun/nio/file/ExtendedWatchEventModifier.java.i
data/test/java/beans/PropertyChangeSupport/TestSynchronization.java.i
data/src/share/classes/sun/management/snmp/util/SnmpNamedListTableCache.java.i
data/src/solaris/native/sun/awt/medialib/mlib_v_ImageCopy.c.i
-data/test/java/util/Locale/Bug4184873_he.i
+data/src/share/classes/java/util/spi/LocaleNameProvider.java.i
data/src/share/classes/com/sun/script/javascript/JavaAdapter.java.i
-data/src/share/classes/sun/tools/jstat/Scale.java.i
+data/src/share/classes/sun/misc/RegexpTarget.java.i
data/src/share/classes/com/sun/tools/attach/package.html.i
-data/src/share/classes/sun/tools/tree/AssignUnsignedShiftRightExpression.java.i
+data/src/share/classes/com/sun/jmx/snmp/SnmpSecurityException.java.i
data/src/share/classes/sun/io/ByteToCharCp737.java.i
-data/test/java/util/zip/input.jar.i
-data/src/share/classes/com/sun/tools/example/debug/event/LocatableEventSet.java.i
+data/src/share/classes/java/io/BufferedOutputStream.java.i
+data/src/share/classes/sun/nio/fs/AbstractPath.java.i
data/src/share/classes/sun/nio/cs/IBM437.java.i
-data/test/sun/rmi/rmic/RMIGenerator/RmicDefault.java.i
+data/test/java/net/Inet6Address/B4923906.java.i
data/src/share/classes/sun/nio/cs/MS1251.java.i
-data/test/java/awt/Focus/AutoRequestFocusTest/AutoRequestFocusToFrontTest.java.i
-data/test/sun/security/mscapi/KeyStoreCompatibilityMode.java.i
-data/test/java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.java.i
-data/src/share/sample/jmx/jmx-scandir/index.html.i
+data/make/tools/swing-beans/beaninfo/BeanInfoUtils.java.i
+data/test/java/text/Format/DateFormat/ISO8601ZoneTest.java.i
+data/src/share/classes/java/security/cert/CertPathValidator.java.i
+data/test/javax/swing/JColorChooser/Test4461329.java.i
data/test/java/io/LineNumberInputStream/MarkReset.java.i
data/src/share/classes/com/sun/java/swing/plaf/windows/WindowsMenuBarUI.java.i
-data/src/share/classes/sun/nio/cs/ext/IBM1148.java.i
+data/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java.i
data/test/sun/security/tools/keytool/i18n.java.i
data/src/share/classes/java/beans/beancontext/BeanContextProxy.java.i
data/src/share/classes/com/sun/jndi/url/rmi/rmiURLContext.java.i
-data/test/javax/swing/plaf/basic/Test6984643.java.i
+data/src/share/classes/javax/management/DynamicMBean.java.i
diff --git a/jdk/.hg/store/undo b/jdk/.hg/store/undo
index 222d341..dff24ea 100644
Binary files a/jdk/.hg/store/undo and b/jdk/.hg/store/undo differ
diff --git a/jdk/.hg/undo.desc b/jdk/.hg/undo.desc
index e278f5d..eefa23e 100644
--- a/jdk/.hg/undo.desc
+++ b/jdk/.hg/undo.desc
@@ -1,3 +1,3 @@
-5002
+5004
pull
http://hg.openjdk.java.net/jigsaw/jigsaw/jdk
diff --git a/jdk/.hg/undo.dirstate b/jdk/.hg/undo.dirstate
index 5f3dca8..a4ac688 100644
Binary files a/jdk/.hg/undo.dirstate and b/jdk/.hg/undo.dirstate differ
diff --git a/jdk/.hgtags b/jdk/.hgtags
index 0bc94a0..c485f9d 100644
--- a/jdk/.hgtags
+++ b/jdk/.hgtags
@@ -143,3 +143,12 @@ f1ec21b8142168ff40f3278d2f6b5fe4bd5f3b26 jdk8-b09
09fd2067f715e4505c44b01c301258a4e8f8964e jdk8-b12
4cb2e8679b27432854690cb688ea06d3b2d8e008 jdk8-b13
99632935785e2038b2fc836da9f2ede69dea294b jdk8-b14
+3c248d0e2c486624cc0d7aba1e4df45ae5774ff7 jdk8-b15
+b71d1acfae5240d8c1359443cd02b5ddb587231c jdk8-b17
+929597c6e777f742ad252660045ebaa4a3ea4772 jdk8-b16
+334bd51fb3f321cd6777416ae7bafac71a84140a jdk8-b18
+3778f85773055e81eab6c5ef828935ecca241810 jdk8-b19
+39e938cd1b82ec3aab0a9aa66fd8a0457cd0c9c2 jdk8-b20
+664fa4fb0ee411ef048903c479f8b962fcdb2f4b jdk8-b21
+dda27c73d8db4a9c7a23872b6f0c5106edcb2021 jdk8-b22
+54202e0148ec7d4570cab5bc9b00d216a7677569 jdk8-b23
diff --git a/jdk/make/com/oracle/Makefile b/jdk/make/com/oracle/Makefile
index e6c6aed..c83cf80 100644
--- a/jdk/make/com/oracle/Makefile
+++ b/jdk/make/com/oracle/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -25,15 +25,24 @@
BUILDDIR = ../..
PRODUCT = oracle
+#SUBDIRS_MAKEFLAGS += JAVAC_MAX_WARNINGS=true
+#SUBDIRS_MAKEFLAGS += JAVAC_WARNINGS_FATAL=true
+#SUBDIRS_MAKEFLAGS += JAVAC_LINT_OPTIONS=-Xlint:all,-deprecation,-path
include $(BUILDDIR)/common/Defs.gmk
-#
-# Files to compile
-#
-AUTO_FILES_JAVA_DIRS = com/oracle
+# build com/oracle/security/ucrypto on Solaris platform for non-OpenJDK builds
+UCRYPTO =
+ifndef OPENJDK
+ ifeq ($(PLATFORM), solaris)
+ UCRYPTO = security/ucrypto
+ endif
+endif
-#
-# Rules
-#
-include $(BUILDDIR)/common/Classes.gmk
+
+SUBDIRS = net nio util $(UCRYPTO)
+
+include $(BUILDDIR)/common/Subdirs.gmk
+
+all build clean clobber::
+ $(SUBDIRS-loop)
diff --git a/jdk/make/com/oracle/net/Makefile b/jdk/make/com/oracle/net/Makefile
index 5fd3076..657a351 100644
--- a/jdk/make/com/oracle/net/Makefile
+++ b/jdk/make/com/oracle/net/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -24,11 +24,12 @@
#
BUILDDIR = ../../..
+PACKAGE = com.oracle.net
PRODUCT = oracle
include $(BUILDDIR)/common/Defs.gmk
#
-# Files to compile
+# Files
#
AUTO_FILES_JAVA_DIRS = com/oracle/net
diff --git a/jdk/make/com/oracle/nio/Makefile b/jdk/make/com/oracle/nio/Makefile
new file mode 100644
index 0000000..41d841a
--- /dev/null
+++ b/jdk/make/com/oracle/nio/Makefile
@@ -0,0 +1,40 @@
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# 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 = com.oracle.nio
+PRODUCT = oracle
+include $(BUILDDIR)/common/Defs.gmk
+
+#
+# Files
+#
+AUTO_FILES_JAVA_DIRS = com/oracle/nio
+
+#
+# Rules
+#
+include $(BUILDDIR)/common/Classes.gmk
+
diff --git a/jdk/make/com/oracle/security/ucrypto/FILES_c.gmk b/jdk/make/com/oracle/security/ucrypto/FILES_c.gmk
new file mode 100644
index 0000000..0c69755
--- /dev/null
+++ b/jdk/make/com/oracle/security/ucrypto/FILES_c.gmk
@@ -0,0 +1,30 @@
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# 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.
+#
+
+ifndef OPENJDK
+FILES_c = \
+ nativeFunc.c \
+ nativeCrypto.c
+endif
diff --git a/jdk/make/com/oracle/security/ucrypto/Makefile b/jdk/make/com/oracle/security/ucrypto/Makefile
new file mode 100644
index 0000000..8ea7a74
--- /dev/null
+++ b/jdk/make/com/oracle/security/ucrypto/Makefile
@@ -0,0 +1,270 @@
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# 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.
+#
+
+#
+# Makefile for building ucrypto.jar and its native libraries.
+#
+# This file was modified from make/sun/security/pkcs11/Makefile.
+#
+#
+# (The terms "OpenJDK" and "JDK" below refer to OpenJDK and Oracle
+# JDK builds respectively.)
+#
+# This Makefile does the "real" build of the Ucrypto provider files.
+# Since the sources are unavailable for OpenJDK, this Makefile is only
+# useful for JDK.
+#
+#
+# Main Targets (JDK on Solaris):
+#
+# all The usual, ucrypto.jar plus the native libraries.
+# builds and installs the prebuilt/signed jar.
+#
+# clobber/clean Cleans up the temp directory, ucrypto.jar, the
+# native libraries, and the config file from the
+# build area
+#
+# jar Builds, signs and installs ucrypto.jar
+# (Can only be done on machines with access to
+# the signing keystore)
+#
+# Other lesser-used Targets (JDK on Solaris):
+#
+# build-jar Builds ucrypto.jar (no sign/install)
+#
+# sign Builds/signs ucrypto.jar (no install)
+#
+# release Builds all targets in preparation
+# for workspace integration.
+# (Can only be done on machines with access to
+# the signing keystore)
+#
+# install-prebuilt Installs the pre-built jar files
+#
+# NOTE: None of the above target will update the prebuilt provider binary
+# under the closed workspace. To update it, you must explicitly copy the
+# binary from either the tmp/signed or lib/ext directory.
+#
+# This makefile was written to support parallel target execution.
+#
+
+BUILDDIR = ../../../..
+
+include $(BUILDDIR)/common/Defs.gmk
+
+ifndef OPENJDK
+ ifneq ($(PLATFORM), solaris)
+ all:
+ else
+ PACKAGE = com.oracle.security.ucrypto
+ LIBRARY = j2ucrypto
+ PRODUCT = oracle
+
+ #
+ # The following is for when we need to do postprocessing
+ # (signing/obfuscation) against a read-only build. If the OUTPUTDIR
+ # isn't writable, the build currently crashes out.
+ #
+ ifdef ALT_JCE_BUILD_DIR
+ # =====================================================
+ # Where to place the output, in case we're building from a read-only
+ # build area. (e.g. a release engineering build.)
+ JCE_BUILD_DIR=${ALT_JCE_BUILD_DIR}
+ IGNORE_WRITABLE_OUTPUTDIR_TEST=true
+ else
+ JCE_BUILD_DIR=${TEMPDIR}
+ endif
+
+ JAVAC_MAX_WARNINGS=false
+ JAVAC_LINT_OPTIONS=-Xlint:all,-deprecation
+ JAVAC_WARNINGS_FATAL=true
+
+ #
+ # C and Java Files
+ #
+ include FILES_c.gmk
+
+ #
+ # Subdirectories of these are automatically included.
+ #
+ AUTO_FILES_JAVA_DIRS = com/oracle/security/ucrypto
+
+ #
+ # Java files that define native methods
+ #
+ FILES_export = \
+ com/oracle/security/ucrypto/UcryptoProvider.java \
+ com/oracle/security/ucrypto/NativeCipher.java \
+ com/oracle/security/ucrypto/NativeDigest.java \
+ com/oracle/security/ucrypto/NativeKey.java \
+ com/oracle/security/ucrypto/NativeRSASignature.java \
+ com/oracle/security/ucrypto/NativeRSACipher.java
+
+ #
+ # Find native code
+ #
+ vpath %.c \
+ $(CLOSED_PLATFORM_SRC)/native/com/oracle/security/ucrypto
+
+ #
+ # Find include files
+ #
+ OTHER_INCLUDES += \
+ -I$(CLOSED_PLATFORM_SRC)/native/com/oracle/security/ucrypto
+
+ #
+ # Rules
+ #
+ CLASSDESTDIR = $(TEMPDIR)/classes
+ JAVAHFLAGS = -bootclasspath \
+ "$(CLASSDESTDIR)$(CLASSPATH_SEPARATOR)$(CLASSBINDIR)"
+
+ include $(BUILDDIR)/common/Mapfile-vers.gmk
+ include $(BUILDDIR)/common/Library.gmk
+
+ #
+ # Libraries to link
+ #
+ OTHER_LDLIBS = -ldl
+
+ # Default config file
+ UCRYPTO_CFG_SRC = $(CLOSED_SRC)/share/lib/security/ucrypto-solaris.cfg
+ UCRYPTO_CFG_BUILD = $(LIBDIR)/security/ucrypto-solaris.cfg
+
+ #
+ # We use a variety of subdirectories in the $(TEMPDIR) depending on what
+ # part of the build we're doing. Build is initially done in the unsigned
+ # area and when files are signed, they will be placed in the appropriate area.
+ #
+ UNSIGNED_DIR = $(TEMPDIR)/unsigned
+
+ #
+ # Rules
+ #
+ all: ucrypto-cfg build-jar install-prebuilt
+ $(build-warning)
+
+ ucrypto-cfg: $(UCRYPTO_CFG_BUILD)
+
+ $(UCRYPTO_CFG_BUILD): $(UCRYPTO_CFG_SRC)
+ $(install-file)
+
+ include $(BUILDDIR)/javax/crypto/Defs-jce.gmk
+
+
+ # =====================================================
+ # Build the unsigned ucrypto.jar file.
+ #
+
+ JAR_DESTFILE = $(EXTDIR)/ucrypto.jar
+
+ #
+ # The ucrypto.jar needs to be in the extension class directory,
+ # therefore none of its classes can appear in $(CLASSBINDIR).
+ # Currently no one is using any of the internals, so these files
+ # should not have been built.
+ #
+
+ #
+ # Since the -C option to jar is used below, each directory entry must be
+ # preceded with the appropriate directory to "cd" into.
+ #
+ JAR_DIRS = $(patsubst %, -C $(CLASSDESTDIR) %, $(AUTO_FILES_JAVA_DIRS))
+
+ build-jar: $(UNSIGNED_DIR)/ucrypto.jar
+
+ #
+ # Build ucrypto.jar.
+ #
+ $(UNSIGNED_DIR)/ucrypto.jar: build
+ $(prep-target)
+ $(BOOT_JAR_CMD) cf $@ $(JAR_DIRS) \
+ $(BOOT_JAR_JFLAGS)
+ @$(java-vm-cleanup)
+
+ #
+ # Sign ucrypto.jar
+ #
+ SIGNED_DIR = $(JCE_BUILD_DIR)/signed
+
+ sign: $(SIGNED_DIR)/ucrypto.jar
+
+ ifndef ALT_JCE_BUILD_DIR
+ $(SIGNED_DIR)/ucrypto.jar: $(UNSIGNED_DIR)/ucrypto.jar
+ else
+ #
+ # We have to remove the build dependency, otherwise, we'll try to rebuild it
+ # which we can't do on a read-only filesystem.
+ #
+ $(SIGNED_DIR)/ucrypto.jar:
+ @if [ ! -r $(UNSIGNED_DIR)/ucrypto.jar ] ; then \
+ $(ECHO) "Couldn't find $(UNSIGNED_DIR)/ucrypto.jar"; \
+ exit 1; \
+ fi
+ endif
+ $(call sign-file, $(UNSIGNED_DIR)/ucrypto.jar)
+
+
+ # =====================================================
+ # Create the Release Engineering files. Signed builds, etc.
+ #
+
+ release: $(SIGNED_DIR)/ucrypto.jar
+ $(RM) $(JCE_BUILD_DIR)/release/ucrypto.jar
+ $(MKDIR) -p $(JCE_BUILD_DIR)/release
+ $(CP) $(SIGNED_DIR)/ucrypto.jar $(JCE_BUILD_DIR)/release
+ $(release-warning)
+
+
+ # =====================================================
+ # Install routines.
+ #
+
+ #
+ # Install ucrypto.jar, depending on which type is requested.
+ #
+ jar: $(JAR_DESTFILE)
+ $(release-warning)
+
+ $(JAR_DESTFILE): $(SIGNED_DIR)/ucrypto.jar
+ $(install-file)
+
+ install-prebuilt:
+ @$(ECHO) "\n>>>Installing prebuilt OracleUcrypto provider..."
+ $(RM) $(JAR_DESTFILE)
+ $(CP) $(PREBUILT_DIR)/ucrypto/ucrypto.jar $(JAR_DESTFILE)
+
+
+ # =====================================================
+ # Support routines.
+ #
+ clobber clean::
+ $(RM) -r $(JAR_DESTFILE) $(TEMPDIR) $(JCE_BUILD_DIR)
+ $(RM) -r $(UCRYPTO_CFG_BUILD)
+
+ .PHONY: build-jar jar sign release install-prebuilt
+
+ endif #ifneq ($(PLATFORM), solaris)
+endif #ifndef OPENJDK
diff --git a/jdk/make/com/oracle/security/ucrypto/mapfile-vers b/jdk/make/com/oracle/security/ucrypto/mapfile-vers
new file mode 100644
index 0000000..1891d77
--- /dev/null
+++ b/jdk/make/com/oracle/security/ucrypto/mapfile-vers
@@ -0,0 +1,69 @@
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# 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.
+#
+
+# Define public interface.
+
+SUNWprivate_1.1 {
+ global:
+ JNI_OnLoad;
+ Java_com_oracle_security_ucrypto_UcryptoProvider_loadLibraries;
+ Java_com_oracle_security_ucrypto_UcryptoProvider_getMechList;
+ Java_com_oracle_security_ucrypto_NativeDigest_nativeInit;
+ Java_com_oracle_security_ucrypto_NativeDigest_nativeUpdate;
+ Java_com_oracle_security_ucrypto_NativeDigest_nativeDigest;
+ Java_com_oracle_security_ucrypto_NativeDigest_nativeClone;
+ Java_com_oracle_security_ucrypto_NativeDigest_nativeFree;
+ Java_com_oracle_security_ucrypto_NativeCipher_nativeInit;
+ Java_com_oracle_security_ucrypto_NativeCipher_nativeUpdate;
+ Java_com_oracle_security_ucrypto_NativeCipher_nativeFinal;
+ Java_com_oracle_security_ucrypto_NativeKey_nativeFree;
+ Java_com_oracle_security_ucrypto_NativeKey_00024RSAPrivateCrt_nativeInit;
+ Java_com_oracle_security_ucrypto_NativeKey_00024RSAPublic_nativeInit;
+ Java_com_oracle_security_ucrypto_NativeRSASignature_nativeInit;
+ Java_com_oracle_security_ucrypto_NativeRSASignature_nativeUpdate__JZ_3BII;
+ Java_com_oracle_security_ucrypto_NativeRSASignature_nativeUpdate__JZJI;
+ Java_com_oracle_security_ucrypto_NativeRSASignature_nativeFinal;
+ Java_com_oracle_security_ucrypto_NativeRSACipher_nativeAtomic;
+
+ JavaCritical_com_oracle_security_ucrypto_NativeDigest_nativeInit;
+ JavaCritical_com_oracle_security_ucrypto_NativeDigest_nativeUpdate;
+ JavaCritical_com_oracle_security_ucrypto_NativeDigest_nativeDigest;
+ JavaCritical_com_oracle_security_ucrypto_NativeDigest_nativeClone;
+ JavaCritical_com_oracle_security_ucrypto_NativeDigest_nativeFree;
+ JavaCritical_com_oracle_security_ucrypto_NativeCipher_nativeInit;
+ JavaCritical_com_oracle_security_ucrypto_NativeCipher_nativeUpdate;
+ JavaCritical_com_oracle_security_ucrypto_NativeCipher_nativeFinal;
+ JavaCritical_com_oracle_security_ucrypto_NativeKey_nativeFree;
+ JavaCritical_com_oracle_security_ucrypto_NativeKey_00024RSAPrivateCrt_nativeInit;
+ JavaCritical_com_oracle_security_ucrypto_NativeKey_00024RSAPublic_nativeInit;
+ JavaCritical_com_oracle_security_ucrypto_NativeRSASignature_nativeInit;
+ JavaCritical_com_oracle_security_ucrypto_NativeRSASignature_nativeUpdate__JZ_3BII;
+ JavaCritical_com_oracle_security_ucrypto_NativeRSASignature_nativeUpdate__JZJI;
+ JavaCritical_com_oracle_security_ucrypto_NativeRSASignature_nativeFinal;
+ JavaCritical_com_oracle_security_ucrypto_NativeRSACipher_nativeAtomic;
+
+ local:
+ *;
+};
diff --git a/jdk/make/com/oracle/util/Makefile b/jdk/make/com/oracle/util/Makefile
new file mode 100644
index 0000000..f4022ba
--- /dev/null
+++ b/jdk/make/com/oracle/util/Makefile
@@ -0,0 +1,40 @@
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# 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 = com.oracle.util
+PRODUCT = oracle
+include $(BUILDDIR)/common/Defs.gmk
+
+#
+# Files
+#
+AUTO_FILES_JAVA_DIRS = com/oracle/util
+
+#
+# Rules
+#
+include $(BUILDDIR)/common/Classes.gmk
+
diff --git a/jdk/make/com/sun/demo/jvmti/hprof/Makefile b/jdk/make/com/sun/demo/jvmti/hprof/Makefile
index 3db65e3..7611541 100644
--- a/jdk/make/com/sun/demo/jvmti/hprof/Makefile
+++ b/jdk/make/com/sun/demo/jvmti/hprof/Makefile
@@ -32,6 +32,9 @@
BUILDDIR = ../../../../..
PACKAGE = com.sun.demo.jvmti.hprof
PRODUCT = sun
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
+
include $(BUILDDIR)/common/Defs.gmk
#
diff --git a/jdk/make/com/sun/java/browser/net/Makefile b/jdk/make/com/sun/java/browser/net/Makefile
index f341719..b2f55fc 100644
--- a/jdk/make/com/sun/java/browser/net/Makefile
+++ b/jdk/make/com/sun/java/browser/net/Makefile
@@ -28,6 +28,9 @@
BUILDDIR = ../../../../..
PACKAGE = com.sun.java.browser.net
PRODUCT = plugin
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
+
include $(BUILDDIR)/common/Defs.gmk
#
diff --git a/jdk/make/com/sun/tools/Makefile b/jdk/make/com/sun/tools/Makefile
index 6f14dbd..8f824ef 100644
--- a/jdk/make/com/sun/tools/Makefile
+++ b/jdk/make/com/sun/tools/Makefile
@@ -30,6 +30,9 @@
BUILDDIR = ../../..
PACKAGE = com.sun.tools
PRODUCT = sun
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
+
include $(BUILDDIR)/common/Defs.gmk
AUTO_FILES_JAVA_DIRS = com/sun/tools/extcheck
diff --git a/jdk/make/com/sun/tools/attach/Makefile b/jdk/make/com/sun/tools/attach/Makefile
index 9360217..87554d5 100644
--- a/jdk/make/com/sun/tools/attach/Makefile
+++ b/jdk/make/com/sun/tools/attach/Makefile
@@ -29,6 +29,9 @@ MODULE = attach
PACKAGE = com.sun.tools.attach
LIBRARY = attach
PRODUCT = sun
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
+
include $(BUILDDIR)/common/Defs.gmk
ifeq ($(PLATFORM), solaris)
diff --git a/jdk/make/com/sun/tracing/Makefile b/jdk/make/com/sun/tracing/Makefile
index b253fb7..f9aa28c 100644
--- a/jdk/make/com/sun/tracing/Makefile
+++ b/jdk/make/com/sun/tracing/Makefile
@@ -30,6 +30,9 @@
BUILDDIR = ../../..
PACKAGE = com.sun.tracing
PRODUCT = sun
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
+
include $(BUILDDIR)/common/Defs.gmk
SUBDIRS = dtrace
diff --git a/jdk/make/com/sun/tracing/dtrace/Makefile b/jdk/make/com/sun/tracing/dtrace/Makefile
index 766ce02..5abe739 100644
--- a/jdk/make/com/sun/tracing/dtrace/Makefile
+++ b/jdk/make/com/sun/tracing/dtrace/Makefile
@@ -29,6 +29,9 @@
BUILDDIR = ../../../..
PACKAGE = com.sun.tracing.dtrace
PRODUCT = sun
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
+
include $(BUILDDIR)/common/Defs.gmk
AUTO_FILES_JAVA_DIRS = com/sun/tracing/dtrace
diff --git a/jdk/make/common/Defs-embedded.gmk b/jdk/make/common/Defs-embedded.gmk
index de449f8..089fae9 100644
--- a/jdk/make/common/Defs-embedded.gmk
+++ b/jdk/make/common/Defs-embedded.gmk
@@ -65,5 +65,12 @@ ifdef CROSS_COMPILE_ARCH
NIO_PLATFORM_CLASSES_ROOT_DIR = $(CLOSED_PLATFORM_SRC)/classes/
endif
+# For ARM sflt we need to link to a library with improved FP accuracy
+# and it must be linked after fdlibm - this places it at the end after libc
+# -z muldefs avoids linker errors for duplicate symbols.
+ifeq ($(CROSS_COMPILE_ARCH), arm)
+ EXTRA_LIBS += $(EXT_LIBS_PATH)/sflt_glibc_jdk.a -Xlinker -z -Xlinker muldefs
+endif
+
endif # JAVASE_EMBEDDED
diff --git a/jdk/make/common/Defs-linux.gmk b/jdk/make/common/Defs-linux.gmk
index a90fd3e..8f3cbfd 100644
--- a/jdk/make/common/Defs-linux.gmk
+++ b/jdk/make/common/Defs-linux.gmk
@@ -72,7 +72,6 @@ FDDLIBM_SUFFIX = a
SCRIPT_SUFFIX =
# CC compiler object code output directive flag value
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
diff --git a/jdk/make/common/Defs-solaris.gmk b/jdk/make/common/Defs-solaris.gmk
index 3044342..543e0ce 100644
--- a/jdk/make/common/Defs-solaris.gmk
+++ b/jdk/make/common/Defs-solaris.gmk
@@ -72,7 +72,6 @@ FDDLIBM_SUFFIX = a
SCRIPT_SUFFIX =
# CC compiler object code output directive flag value
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
diff --git a/jdk/make/common/Defs-windows.gmk b/jdk/make/common/Defs-windows.gmk
index dbac5a1..d31f5fa 100644
--- a/jdk/make/common/Defs-windows.gmk
+++ b/jdk/make/common/Defs-windows.gmk
@@ -36,7 +36,6 @@ include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
# CC compiler object code output directive flag value
CC_OBJECT_OUTPUT_FLAG = -Fo
-CC_PROGRAM_OUTPUT_FLAG = -Fe
# The suffix applied to the library name for FDLIBM
FDDLIBM_SUFFIX = lib
diff --git a/jdk/make/common/Defs.gmk b/jdk/make/common/Defs.gmk
index 7e173fd..bb112b7 100644
--- a/jdk/make/common/Defs.gmk
+++ b/jdk/make/common/Defs.gmk
@@ -202,7 +202,7 @@ endif
#
# zlib version
#
-ZLIB_VERSION = 1.2.3
+ZLIB_VERSION = 1.2.5
#
diff --git a/jdk/make/common/Demo.gmk b/jdk/make/common/Demo.gmk
index e95959a..2905637 100644
--- a/jdk/make/common/Demo.gmk
+++ b/jdk/make/common/Demo.gmk
@@ -321,9 +321,12 @@ $(DEMO_LIBRARY): $(DEMO_FULL_OBJECTS)
@$(prep-target)
ifeq ($(PLATFORM),windows)
$(RC) $(RC_FLAGS) $(CC_OBJECT_OUTPUT_FLAG)$(DEMO_VERSION_INFO) $(VERSIONINFO_RESOURCE)
- endif
- $(LINK.demo) $(SHARED_LIBRARY_FLAG) $(CC_PROGRAM_OUTPUT_FLAG)$@ \
+ $(LINK.demo) $(SHARED_LIBRARY_FLAG) -Fe$@ \
+ $(DEMO_FULL_OBJECTS) $(LDLIBS.demo)
+ else
+ $(LINK.demo) $(SHARED_LIBRARY_FLAG) -o $@ \
$(DEMO_FULL_OBJECTS) $(LDLIBS.demo)
+ endif
@$(call binary_file_verification,$@)
# Generation of any javah include file, make sure objects are dependent on it
diff --git a/jdk/make/common/Release.gmk b/jdk/make/common/Release.gmk
index c40d854..0933403 100644
--- a/jdk/make/common/Release.gmk
+++ b/jdk/make/common/Release.gmk
@@ -84,11 +84,13 @@ ifdef OPENJDK
SHARE_JRE_DOC_SRC = $(JDK_TOPDIR)
# Same files for jdk and jre, no name changes
IMAGE_DOCLIST_JDK = LICENSE ASSEMBLY_EXCEPTION THIRD_PARTY_README
+ IMAGE_DOCLIST_JDK_DEMOS_AND_SAMPLES =
IMAGE_DOCLIST_JRE = LICENSE ASSEMBLY_EXCEPTION THIRD_PARTY_README
else
# make/closed/common/Defs.gmk for closed location of SHARE_JDK_DOC_SRC
IMAGE_DOCLIST_JDK = COPYRIGHT README.html LICENSE THIRDPARTYLICENSEREADME.txt
+ IMAGE_DOCLIST_JDK_DEMOS_AND_SAMPLES = demo/DEMOS_LICENSE sample/SAMPLES_LICENSE
IMAGE_DOCLIST_JRE = COPYRIGHT Welcome.html LICENSE THIRDPARTYLICENSEREADME.txt
ifeq ($(PLATFORM), windows)
IMAGE_DOCLIST_JRE += README.txt
@@ -100,6 +102,7 @@ endif
# Paths to these files we need
JDK_DOCFILES = $(IMAGE_DOCLIST_JDK:%=$(JDK_IMAGE_DIR)/%)
JRE_DOCFILES = $(IMAGE_DOCLIST_JRE:%=$(JRE_IMAGE_DIR)/%)
+JDK_DEMOS_AND_SAMPLES_DOCFILES = $(IMAGE_DOCLIST_JDK_DEMOS_AND_SAMPLES:%=$(JDK_IMAGE_DIR)/%)
# absolute directory names: note, these must exist prior to build
# time - they are created in the main Makefile.
@@ -322,6 +325,7 @@ TOOLS = \
sun/tools/jar \
sun/tools/java \
sun/tools/javac \
+ sun/tools/jcmd \
sun/tools/jps \
sun/tools/jstat \
sun/tools/jstatd \
@@ -437,6 +441,7 @@ NOTJRETOOLS = \
apt$(EXE_SUFFIX) \
javah$(EXE_SUFFIX) \
javap$(EXE_SUFFIX) \
+ jcmd$(EXE_SUFFIX) \
jdb$(EXE_SUFFIX) \
jps$(EXE_SUFFIX) \
jrunscript$(EXE_SUFFIX) \
@@ -492,6 +497,12 @@ endef
$(JDK_IMAGE_DIR)/%: $(SHARE_JDK_DOC_SRC)/%
$(process-doc-file)
+$(JDK_IMAGE_DIR)/demo/DEMOS_LICENSE: $(SHARE_JDK_DOC_SRC)/DEMOS_LICENSE
+ $(process-doc-file)
+
+$(JDK_IMAGE_DIR)/sample/SAMPLES_LICENSE: $(SHARE_JDK_DOC_SRC)/SAMPLES_LICENSE
+ $(process-doc-file)
+
# JRE files
$(JRE_IMAGE_DIR)/%: $(SHARE_JRE_DOC_SRC)/%
$(process-doc-file)
@@ -543,6 +554,7 @@ $(NOT_RT_JAR_LIST): FRC
$(ECHO) "sun/tools/javac/" >> $@
$(ECHO) "com/sun/tools/classfile/" >> $@
$(ECHO) "com/sun/tools/javap/" >> $@
+ $(ECHO) "sun/tools/jcmd/" >> $@
$(ECHO) "sun/tools/jconsole/" >> $@
$(ECHO) "sun/tools/jps/" >> $@
$(ECHO) "sun/tools/jstat/" >> $@
@@ -919,7 +931,8 @@ endif
# Standard jdk image
initial-image-jdk:: initial-image-jdk-setup \
initial-image-jdk-db \
- $(JDK_DOCFILES)
+ $(JDK_DOCFILES) \
+ $(JDK_DEMOS_AND_SAMPLES_DOCFILES)
$(MKDIR) $(JDK_IMAGE_DIR)/lib
@#
@# Copy in the jars in lib that only belong in the JDK
diff --git a/jdk/make/common/Rules.gmk b/jdk/make/common/Rules.gmk
index f9bd6a3..08f0b5a 100644
--- a/jdk/make/common/Rules.gmk
+++ b/jdk/make/common/Rules.gmk
@@ -233,14 +233,16 @@ classes : $(CLASSES_INIT) .delete.classlist .compile.classlist
@$(MKDIR) -p $(CLASSDESTDIR)
@$(RM) $<.filtered
@$(CAT) $< | $(NAWK) 'length>0' | $(SORT) -u > $<.filtered
- @if [ `$(CAT) $<.filtered | $(WC) -l` -ge 1 ] ; then \
- $(TouchModule); \
- $(ECHO) "# Java sources to be compiled: (listed in file $<)"; \
- $(CAT) $<.filtered; \
- $(ECHO) "# Running javac:"; \
- $(ECHO) $(JAVAC_CMD) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$<.filtered; \
- $(JAVAC_CMD) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$<.filtered; \
- fi
+ @numfiles=`$(WC) -l < $<.filtered` ; \
+ if [ $$numfiles -ge 1 ] ; then \
+ $(TouchModule); \
+ $(ECHO) "# Java sources to be compiled: (listed in file $<)"; \
+ $(CAT) $<.filtered; \
+ $(ECHO) "# Running javac: $$numfiles files; in $(CURDIR)"; \
+ $(ECHO) $(JAVAC_CMD) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$<.filtered; \
+ $(JAVAC_CMD) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$<.filtered && \
+ $(ECHO) "# javac finished"; \
+ fi
@$(java-vm-cleanup)
clobber clean::
diff --git a/jdk/make/common/shared/Defs-control.gmk b/jdk/make/common/shared/Defs-control.gmk
index 4a67131..1385809 100644
--- a/jdk/make/common/shared/Defs-control.gmk
+++ b/jdk/make/common/shared/Defs-control.gmk
@@ -75,9 +75,11 @@ include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
SRC_BUNDLEDIR = $(OUTPUTDIR)/source-bundles
ABS_SRC_BUNDLEDIR = $(ABS_OUTPUTDIR)/source-bundles
BIN_BUNDLEDIR = $(OUTPUTDIR)/bundles
+BIN_DEMOS_BUNDLEDIR = $(OUTPUTDIR)/demos-bundles
ABS_BIN_BUNDLEDIR = $(ABS_OUTPUTDIR)/bundles
dummy := $(shell $(MKDIR) -p $(BIN_BUNDLEDIR))
+dummy := $(shell $(MKDIR) -p $(BIN_DEMOS_BUNDLEDIR) )
dummy := $(shell $(MKDIR) -p $(SRC_BUNDLEDIR) )
TEMP_DIR = $(OUTPUTDIR)/tmp
diff --git a/jdk/make/common/shared/Platform.gmk b/jdk/make/common/shared/Platform.gmk
index ae5499d..926b625 100644
--- a/jdk/make/common/shared/Platform.gmk
+++ b/jdk/make/common/shared/Platform.gmk
@@ -147,8 +147,8 @@ ifeq ($(SYSTEM_UNAME), SunOS)
endif
# Suffix for file bundles used in previous release
BUNDLE_FILE_SUFFIX=.tar
- # How much RAM does this machine have:
- MB_OF_MEMORY=$(shell /usr/sbin/prtconf | fgrep 'Memory size:' | expand | cut -d' ' -f3)
+ # How much RAM does this machine have (zones send an error to stderr):
+ MB_OF_MEMORY:=$(shell /usr/sbin/prtconf 2>/dev/null | fgrep 'Memory size:' | expand | cut -d' ' -f3)
endif
# Platform settings specific to Linux
diff --git a/jdk/make/common/shared/Sanity.gmk b/jdk/make/common/shared/Sanity.gmk
index c5d3dd6..8320f21 100644
--- a/jdk/make/common/shared/Sanity.gmk
+++ b/jdk/make/common/shared/Sanity.gmk
@@ -1597,60 +1597,6 @@ ifeq ($(PLATFORM), windows)
endif
endif
-
-######################################################
-# SECURITY_BASELINE_131 test
-######################################################
-security_baseline_131:
-ifeq ($(PLATFORM), windows)
- @if [ -z "$(SECURITY_BASELINE_131)" ]; then \
- $(ECHO) "WARNING: Your SECURITY_BASELINE_131 setting is empty.\n" \
- " Setting it to the default value of 1.3.1_20.\n" \
- " It is recommended to set SECURITY_BASELINE_131.\n" \
- "" >> $(WARNING_FILE) ; \
- fi
-endif
-
-######################################################
-# SECURITY_BASELINE_142 test
-######################################################
-security_baseline_142:
-ifeq ($(PLATFORM), windows)
- @if [ -z "$(SECURITY_BASELINE_142)" ]; then \
- $(ECHO) "WARNING: Your SECURITY_BASELINE_142 setting is empty.\n" \
- " Setting it to the default value of 1.4.2_10.\n" \
- " It is recommended to set SECURITY_BASELINE_142.\n" \
- "" >> $(WARNING_FILE) ; \
- fi
-endif
-
-######################################################
-# SECURITY_BASELINE_150 test
-######################################################
-security_baseline_150:
-ifeq ($(PLATFORM), windows)
- @if [ -z "$(SECURITY_BASELINE_150)" ]; then \
- $(ECHO) "WARNING: Your SECURITY_BASELINE_150 setting is empty.\n" \
- " Setting it to the default value of 1.5.0_07.\n" \
- " It is recommended to set SECURITY_BASELINE_150.\n" \
- "" >> $(WARNING_FILE) ; \
- fi
-endif
-
-######################################################
-# SECURITY_BASELINE_160 test
-######################################################
-security_baseline_160:
-ifeq ($(PLATFORM), windows)
- @if [ -z "$(SECURITY_BASELINE_160)" ]; then \
- $(ECHO) "WARNING: Your SECURITY_BASELINE_160 setting is empty.\n" \
- " Setting it to the default value of 1.6.0_11.\n" \
- " It is recommended to set SECURITY_BASELINE_160.\n" \
- "" >> $(WARNING_FILE) ; \
- fi
-endif
-
-
######################################################
# this should be the last rule in any target's sanity rule.
######################################################
diff --git a/jdk/make/java/instrument/Makefile b/jdk/make/java/instrument/Makefile
index ad766e6..b0889ef 100644
--- a/jdk/make/java/instrument/Makefile
+++ b/jdk/make/java/instrument/Makefile
@@ -39,6 +39,9 @@ MS_RUNTIME_STATIC=true
FILES_m = mapfile-vers
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
+
include $(BUILDDIR)/common/Defs.gmk
# Use the mapfile-vers (See the mapfile located with this Makefile)
diff --git a/jdk/make/java/management/mapfile-vers b/jdk/make/java/management/mapfile-vers
index 21b92d4..ccb6513 100644
--- a/jdk/make/java/management/mapfile-vers
+++ b/jdk/make/java/management/mapfile-vers
@@ -54,6 +54,9 @@ SUNWprivate_1.1 {
Java_sun_management_GcInfoBuilder_getLastGcInfo0;
Java_sun_management_GcInfoBuilder_getNumGcExtAttributes;
Java_sun_management_HotSpotDiagnostic_dumpHeap;
+ Java_sun_management_HotSpotDiagnostic_executeDiagnosticCommand0;
+ Java_sun_management_HotSpotDiagnostic_getDiagnosticCommandInfo0;
+ Java_sun_management_HotSpotDiagnostic_getDiagnosticCommands0;
Java_sun_management_HotspotThread_getInternalThreadCount;
Java_sun_management_HotspotThread_getInternalThreadTimes0;
Java_sun_management_MemoryImpl_getMemoryManagers0;
diff --git a/jdk/make/java/rmi/Makefile b/jdk/make/java/rmi/Makefile
index 7638bb5..1520a63 100644
--- a/jdk/make/java/rmi/Makefile
+++ b/jdk/make/java/rmi/Makefile
@@ -31,6 +31,9 @@ BUILDDIR = ../..
PACKAGE = java.rmi
PRODUCT = sun
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
+
include $(BUILDDIR)/common/Defs.gmk
AUTO_FILES_JAVA_DIRS = java/rmi
diff --git a/jdk/make/java/text/base/Makefile b/jdk/make/java/text/base/Makefile
index 95b7c45..b923cfc 100644
--- a/jdk/make/java/text/base/Makefile
+++ b/jdk/make/java/text/base/Makefile
@@ -27,6 +27,8 @@ BUILDDIR = ../../..
MODULE = base
PACKAGE = java.text
PRODUCT = sun
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
include $(BUILDDIR)/common/Defs.gmk
diff --git a/jdk/make/java/text/bidi/Makefile b/jdk/make/java/text/bidi/Makefile
index 2065a57..cc3dfd5 100644
--- a/jdk/make/java/text/bidi/Makefile
+++ b/jdk/make/java/text/bidi/Makefile
@@ -26,6 +26,9 @@
BUILDDIR = ../../..
PACKAGE = java.text
PRODUCT = sun
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
+
include $(BUILDDIR)/common/Defs.gmk
#
diff --git a/jdk/make/java/util/Makefile b/jdk/make/java/util/Makefile
index a3d20a9..fa6eeb6 100644
--- a/jdk/make/java/util/Makefile
+++ b/jdk/make/java/util/Makefile
@@ -32,6 +32,8 @@ BUILDDIR = ../..
PACKAGE = java.util.resources
PRODUCT = java
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
include $(BUILDDIR)/common/Defs.gmk
diff --git a/jdk/make/java/zip/FILES_c.gmk b/jdk/make/java/zip/FILES_c.gmk
index 6664887..a1d5e93 100644
--- a/jdk/make/java/zip/FILES_c.gmk
+++ b/jdk/make/java/zip/FILES_c.gmk
@@ -32,7 +32,10 @@ FILES_c = \
zip_util.c \
compress.c \
deflate.c \
- gzio.c \
+ gzclose.c \
+ gzlib.c \
+ gzread.c \
+ gzwrite.c \
infback.c \
inffast.c \
inflate.c \
diff --git a/jdk/make/java/zip/mapfile-vers b/jdk/make/java/zip/mapfile-vers
index fdcd5b6..3f95d47 100644
--- a/jdk/make/java/zip/mapfile-vers
+++ b/jdk/make/java/zip/mapfile-vers
@@ -30,8 +30,10 @@ SUNWprivate_1.1 {
Java_java_util_jar_JarFile_getMetaInfEntryNames;
Java_java_util_zip_Adler32_update;
Java_java_util_zip_Adler32_updateBytes;
+ Java_java_util_zip_Adler32_updateByteBuffer;
Java_java_util_zip_CRC32_update;
Java_java_util_zip_CRC32_updateBytes;
+ Java_java_util_zip_CRC32_updateByteBuffer;
Java_java_util_zip_Deflater_deflateBytes;
Java_java_util_zip_Deflater_end;
Java_java_util_zip_Deflater_getAdler;
diff --git a/jdk/make/javax/accessibility/Makefile b/jdk/make/javax/accessibility/Makefile
index 2985db3..4908ffb 100644
--- a/jdk/make/javax/accessibility/Makefile
+++ b/jdk/make/javax/accessibility/Makefile
@@ -26,6 +26,9 @@
BUILDDIR = ../..
PACKAGE = java.accessibility
PRODUCT = java
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
+
include $(BUILDDIR)/common/Defs.gmk
#
diff --git a/jdk/make/javax/others/Makefile b/jdk/make/javax/others/Makefile
index 7740163..b122c20 100644
--- a/jdk/make/javax/others/Makefile
+++ b/jdk/make/javax/others/Makefile
@@ -28,6 +28,9 @@
#
BUILDDIR = ../..
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
+
include $(BUILDDIR)/common/Defs.gmk
#
diff --git a/jdk/make/javax/security/Makefile b/jdk/make/javax/security/Makefile
index 88d7abb..63caae8 100644
--- a/jdk/make/javax/security/Makefile
+++ b/jdk/make/javax/security/Makefile
@@ -28,8 +28,8 @@
#
BUILDDIR = ../..
-JAVAC_MAX_WARNINGS = true
-JAVAC_WARNINGS_FATAL = true
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
include $(BUILDDIR)/common/Defs.gmk
diff --git a/jdk/make/jpda/tty/Makefile b/jdk/make/jpda/tty/Makefile
index 5e65969..3b892e8 100644
--- a/jdk/make/jpda/tty/Makefile
+++ b/jdk/make/jpda/tty/Makefile
@@ -32,6 +32,9 @@ MODULE = jdb
PACKAGE = com.sun.tools.example.debug.tty
PRODUCT = jpda
PROGRAM = jdb
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
+
include $(BUILDDIR)/common/Defs.gmk
# This program must contain a manifest that defines the execution level
diff --git a/jdk/make/jprt.properties b/jdk/make/jprt.properties
index 740fbb0..47db658 100644
--- a/jdk/make/jprt.properties
+++ b/jdk/make/jprt.properties
@@ -25,15 +25,15 @@
# Properties for jprt
-# Release to build for
+# Locked down to jdk8
jprt.tools.default.release=jdk8
# The different build flavors we want, we override here so we just get these 2
jprt.build.flavors=product,fastdebug
# Standard list of jprt build targets for this source tree
-jprt.build.targets= \
- solaris_sparc_5.10-{product|fastdebug}, \
+jprt.build.targets= \
+ solaris_sparc_5.10-{product|fastdebug}, \
solaris_sparcv9_5.10-{product|fastdebug}, \
solaris_i586_5.10-{product|fastdebug}, \
solaris_x64_5.10-{product|fastdebug}, \
@@ -45,256 +45,60 @@ jprt.build.targets= \
# User can select the test set with jprt submit "-testset name" option
jprt.my.test.set=${jprt.test.set}
-# Standard vm test target
-jprt.vm.default.test.targets= \
- solaris_sparc_5.10-product-c1-jvm98, \
- solaris_sparcv9_5.10-product-c2-jvm98, \
- solaris_i586_5.10-product-c1-jvm98, \
- solaris_x64_5.10-product-c2-jvm98, \
- linux_i586_2.6-product-{c1|c2}-jvm98, \
- linux_x64_2.6-product-c2-jvm98, \
- windows_i586_5.1-product-c1-jvm98, \
- windows_x64_5.2-product-c2-jvm98
+# Test target list (no fastdebug & limited c2 testing)
+jprt.my.test.target.set= \
+ solaris_sparc_5.10-product-c1-TESTNAME, \
+ solaris_sparcv9_5.10-product-c2-TESTNAME, \
+ solaris_i586_5.10-product-c1-TESTNAME, \
+ solaris_x64_5.10-product-c2-TESTNAME, \
+ linux_i586_2.6-product-{c1|c2}-TESTNAME, \
+ linux_x64_2.6-product-c2-TESTNAME, \
+ windows_i586_5.1-product-c1-TESTNAME, \
+ windows_x64_5.2-product-c2-TESTNAME
-# Select vm testlist to use (allow for testset to be empty too)
-jprt.vm.all.test.targets=${jprt.vm.default.test.targets}
-jprt.vm..test.targets=${jprt.vm.default.test.targets}
-jprt.test.targets=${jprt.vm.${jprt.my.test.set}.test.targets}
+# Default vm test targets (testset=default)
+jprt.vm.default.test.targets= \
+ ${jprt.my.test.target.set:TESTNAME=jvm98}
-# Default jdk test targets in test/Makefile (no fastdebug & limited c2)
+# Default jdk test targets (testset=default)
jprt.make.rule.default.test.targets= \
- \
- solaris_sparc_5.10-product-c1-jdk_beans1, \
- solaris_sparcv9_5.10-product-c2-jdk_beans1, \
- solaris_i586_5.10-product-c1-jdk_beans1, \
- solaris_x64_5.10-product-c2-jdk_beans1, \
- linux_i586_2.6-product-{c1|c2}-jdk_beans1, \
- linux_x64_2.6-product-c2-jdk_beans1, \
- windows_i586_5.1-product-c1-jdk_beans1, \
- windows_x64_5.2-product-c2-jdk_beans1, \
- \
- solaris_sparc_5.10-product-c1-jdk_io, \
- solaris_sparcv9_5.10-product-c2-jdk_io, \
- solaris_i586_5.10-product-c1-jdk_io, \
- solaris_x64_5.10-product-c2-jdk_io, \
- linux_i586_2.6-product-{c1|c2}-jdk_io, \
- linux_x64_2.6-product-c2-jdk_io, \
- windows_i586_5.1-product-c1-jdk_io, \
- windows_x64_5.2-product-c2-jdk_io, \
- \
- solaris_sparc_5.10-product-c1-jdk_jigsaw, \
- solaris_sparcv9_5.10-product-c2-jdk_jigsaw, \
- solaris_i586_5.10-product-c1-jdk_jigsaw, \
- solaris_x64_5.10-product-c2-jdk_jigsaw, \
- linux_i586_2.6-product-{c1|c2}-jdk_jigsaw, \
- linux_x64_2.6-product-c2-jdk_jigsaw, \
- windows_i586_5.1-product-c1-jdk_jigsaw, \
- windows_x64_5.2-product-c2-jdk_jigsaw \
- \
- solaris_sparc_5.10-product-c1-jdk_lang, \
- solaris_sparcv9_5.10-product-c2-jdk_lang, \
- solaris_i586_5.10-product-c1-jdk_lang, \
- solaris_x64_5.10-product-c2-jdk_lang, \
- linux_i586_2.6-product-{c1|c2}-jdk_lang, \
- linux_x64_2.6-product-c2-jdk_lang, \
- windows_i586_5.1-product-c1-jdk_lang, \
- windows_x64_5.2-product-c2-jdk_lang, \
- \
- solaris_sparc_5.10-product-c1-jdk_math, \
- solaris_sparcv9_5.10-product-c2-jdk_math, \
- solaris_i586_5.10-product-c1-jdk_math, \
- solaris_x64_5.10-product-c2-jdk_math, \
- linux_i586_2.6-product-{c1|c2}-jdk_math, \
- linux_x64_2.6-product-c2-jdk_math, \
- windows_i586_5.1-product-c1-jdk_math, \
- windows_x64_5.2-product-c2-jdk_math, \
- \
- solaris_sparc_5.10-product-c1-jdk_misc, \
- solaris_sparcv9_5.10-product-c2-jdk_misc, \
- solaris_i586_5.10-product-c1-jdk_misc, \
- solaris_x64_5.10-product-c2-jdk_misc, \
- linux_i586_2.6-product-{c1|c2}-jdk_misc, \
- linux_x64_2.6-product-c2-jdk_misc, \
- windows_i586_5.1-product-c1-jdk_misc, \
- windows_x64_5.2-product-c2-jdk_misc, \
- \
- solaris_sparc_5.10-product-c1-jdk_net, \
- solaris_sparcv9_5.10-product-c2-jdk_net, \
- solaris_i586_5.10-product-c1-jdk_net, \
- solaris_x64_5.10-product-c2-jdk_net, \
- linux_i586_2.6-product-{c1|c2}-jdk_net, \
- linux_x64_2.6-product-c2-jdk_net, \
- windows_i586_5.1-product-c1-jdk_net, \
- windows_x64_5.2-product-c2-jdk_net, \
- \
- solaris_sparc_5.10-product-c1-jdk_nio1, \
- solaris_sparcv9_5.10-product-c2-jdk_nio1, \
- solaris_i586_5.10-product-c1-jdk_nio1, \
- solaris_x64_5.10-product-c2-jdk_nio1, \
- linux_i586_2.6-product-{c1|c2}-jdk_nio1, \
- linux_x64_2.6-product-c2-jdk_nio1, \
- windows_i586_5.1-product-c1-jdk_nio1, \
- windows_x64_5.2-product-c2-jdk_nio1, \
- \
- solaris_sparc_5.10-product-c1-jdk_nio2, \
- solaris_sparcv9_5.10-product-c2-jdk_nio2, \
- solaris_i586_5.10-product-c1-jdk_nio2, \
- solaris_x64_5.10-product-c2-jdk_nio2, \
- linux_i586_2.6-product-{c1|c2}-jdk_nio2, \
- linux_x64_2.6-product-c2-jdk_nio2, \
- windows_i586_5.1-product-c1-jdk_nio2, \
- windows_x64_5.2-product-c2-jdk_nio2, \
- \
- solaris_sparc_5.10-product-c1-jdk_nio3, \
- solaris_sparcv9_5.10-product-c2-jdk_nio3, \
- solaris_i586_5.10-product-c1-jdk_nio3, \
- solaris_x64_5.10-product-c2-jdk_nio3, \
- linux_i586_2.6-product-{c1|c2}-jdk_nio3, \
- linux_x64_2.6-product-c2-jdk_nio3, \
- windows_i586_5.1-product-c1-jdk_nio3, \
- windows_x64_5.2-product-c2-jdk_nio3, \
- \
- solaris_sparc_5.10-product-c1-jdk_security1, \
- solaris_sparcv9_5.10-product-c2-jdk_security1, \
- solaris_i586_5.10-product-c1-jdk_security1, \
- solaris_x64_5.10-product-c2-jdk_security1, \
- linux_i586_2.6-product-{c1|c2}-jdk_security1, \
- linux_x64_2.6-product-c2-jdk_security1, \
- windows_i586_5.1-product-c1-jdk_security1, \
- windows_x64_5.2-product-c2-jdk_security1, \
- \
- solaris_sparc_5.10-product-c1-jdk_text, \
- solaris_sparcv9_5.10-product-c2-jdk_text, \
- solaris_i586_5.10-product-c1-jdk_text, \
- solaris_x64_5.10-product-c2-jdk_text, \
- linux_i586_2.6-product-{c1|c2}-jdk_text, \
- linux_x64_2.6-product-c2-jdk_text, \
- windows_i586_5.1-product-c1-jdk_text, \
- windows_x64_5.2-product-c2-jdk_text, \
- \
- solaris_sparc_5.10-product-c1-jdk_tools1, \
- solaris_sparcv9_5.10-product-c2-jdk_tools1, \
- solaris_i586_5.10-product-c1-jdk_tools1, \
- solaris_x64_5.10-product-c2-jdk_tools1, \
- linux_i586_2.6-product-{c1|c2}-jdk_tools1, \
- linux_x64_2.6-product-c2-jdk_tools1, \
- windows_i586_5.1-product-c1-jdk_tools1, \
- windows_x64_5.2-product-c2-jdk_tools1, \
- \
- solaris_sparc_5.10-product-c1-jdk_util, \
- solaris_sparcv9_5.10-product-c2-jdk_util, \
- solaris_i586_5.10-product-c1-jdk_util, \
- solaris_x64_5.10-product-c2-jdk_util, \
- linux_i586_2.6-product-{c1|c2}-jdk_util, \
- linux_x64_2.6-product-c2-jdk_util, \
- windows_i586_5.1-product-c1-jdk_util, \
- windows_x64_5.2-product-c2-jdk_util
+ ${jprt.my.test.target.set:TESTNAME=jdk_beans1}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_io}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_jigsaw}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_lang}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_math}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_misc}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_net}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_nio1}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_nio2}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_nio3}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_security1}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_text}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_util}
+
+# All vm test targets (testset=all)
+jprt.vm.all.test.targets= \
+ ${jprt.vm.default.test.targets}, \
+ ${jprt.my.test.target.set:TESTNAME=runThese}, \
+ ${jprt.my.test.target.set:TESTNAME=jbb_default}
-# All jdk test targets in test/Makefile (still no fastdebug & limited c2)
+# All jdk test targets (testset=all)
jprt.make.rule.all.test.targets= \
- \
- ${jprt.make.rule.default.test.targets}, \
- \
- solaris_sparc_5.10-product-c1-jdk_awt, \
- solaris_sparcv9_5.10-product-c2-jdk_awt, \
- solaris_i586_5.10-product-c1-jdk_awt, \
- solaris_x64_5.10-product-c2-jdk_awt, \
- linux_i586_2.6-product-{c1|c2}-jdk_awt, \
- linux_x64_2.6-product-c2-jdk_awt, \
- windows_i586_5.1-product-c1-jdk_awt, \
- windows_x64_5.2-product-c2-jdk_awt, \
- \
- solaris_sparc_5.10-product-c1-jdk_beans2, \
- solaris_sparcv9_5.10-product-c2-jdk_beans2, \
- solaris_i586_5.10-product-c1-jdk_beans2, \
- solaris_x64_5.10-product-c2-jdk_beans2, \
- linux_i586_2.6-product-{c1|c2}-jdk_beans2, \
- linux_x64_2.6-product-c2-jdk_beans2, \
- windows_i586_5.1-product-c1-jdk_beans2, \
- windows_x64_5.2-product-c2-jdk_beans2, \
- \
- solaris_sparc_5.10-product-c1-jdk_beans3, \
- solaris_sparcv9_5.10-product-c2-jdk_beans3, \
- solaris_i586_5.10-product-c1-jdk_beans3, \
- solaris_x64_5.10-product-c2-jdk_beans3, \
- linux_i586_2.6-product-{c1|c2}-jdk_beans3, \
- linux_x64_2.6-product-c2-jdk_beans3, \
- windows_i586_5.1-product-c1-jdk_beans3, \
- windows_x64_5.2-product-c2-jdk_beans3, \
- \
- solaris_sparc_5.10-product-c1-jdk_management1, \
- solaris_sparcv9_5.10-product-c2-jdk_management1, \
- solaris_i586_5.10-product-c1-jdk_management1, \
- solaris_x64_5.10-product-c2-jdk_management1, \
- linux_i586_2.6-product-{c1|c2}-jdk_management1, \
- linux_x64_2.6-product-c2-jdk_management1, \
- windows_i586_5.1-product-c1-jdk_management1, \
- windows_x64_5.2-product-c2-jdk_management1, \
- \
- solaris_sparc_5.10-product-c1-jdk_management2, \
- solaris_sparcv9_5.10-product-c2-jdk_management2, \
- solaris_i586_5.10-product-c1-jdk_management2, \
- solaris_x64_5.10-product-c2-jdk_management2, \
- linux_i586_2.6-product-{c1|c2}-jdk_management2, \
- linux_x64_2.6-product-c2-jdk_management2, \
- windows_i586_5.1-product-c1-jdk_management2, \
- windows_x64_5.2-product-c2-jdk_management2, \
- \
- solaris_sparc_5.10-product-c1-jdk_rmi, \
- solaris_sparcv9_5.10-product-c2-jdk_rmi, \
- solaris_i586_5.10-product-c1-jdk_rmi, \
- solaris_x64_5.10-product-c2-jdk_rmi, \
- linux_i586_2.6-product-{c1|c2}-jdk_rmi, \
- linux_x64_2.6-product-c2-jdk_rmi, \
- windows_i586_5.1-product-c1-jdk_rmi, \
- windows_x64_5.2-product-c2-jdk_rmi, \
- \
- solaris_sparc_5.10-product-c1-jdk_security2, \
- solaris_sparcv9_5.10-product-c2-jdk_security2, \
- solaris_i586_5.10-product-c1-jdk_security2, \
- solaris_x64_5.10-product-c2-jdk_security2, \
- linux_i586_2.6-product-{c1|c2}-jdk_security2, \
- linux_x64_2.6-product-c2-jdk_security2, \
- windows_i586_5.1-product-c1-jdk_security2, \
- windows_x64_5.2-product-c2-jdk_security2, \
- \
- solaris_sparc_5.10-product-c1-jdk_security3, \
- solaris_sparcv9_5.10-product-c2-jdk_security3, \
- solaris_i586_5.10-product-c1-jdk_security3, \
- solaris_x64_5.10-product-c2-jdk_security3, \
- linux_i586_2.6-product-{c1|c2}-jdk_security3, \
- linux_x64_2.6-product-c2-jdk_security3, \
- windows_i586_5.1-product-c1-jdk_security3, \
- windows_x64_5.2-product-c2-jdk_security3, \
- \
- solaris_sparc_5.10-product-c1-jdk_sound, \
- solaris_sparcv9_5.10-product-c2-jdk_sound, \
- solaris_i586_5.10-product-c1-jdk_sound, \
- solaris_x64_5.10-product-c2-jdk_sound, \
- linux_i586_2.6-product-{c1|c2}-jdk_sound, \
- linux_x64_2.6-product-c2-jdk_sound, \
- windows_i586_5.1-product-c1-jdk_sound, \
- windows_x64_5.2-product-c2-jdk_sound, \
- \
- solaris_sparc_5.10-product-c1-jdk_swing, \
- solaris_sparcv9_5.10-product-c2-jdk_swing, \
- solaris_i586_5.10-product-c1-jdk_swing, \
- solaris_x64_5.10-product-c2-jdk_swing, \
- linux_i586_2.6-product-{c1|c2}-jdk_swing, \
- linux_x64_2.6-product-c2-jdk_swing, \
- windows_i586_5.1-product-c1-jdk_swing, \
- windows_x64_5.2-product-c2-jdk_swing, \
- \
- solaris_sparc_5.10-product-c1-jdk_tools2, \
- solaris_sparcv9_5.10-product-c2-jdk_tools2, \
- solaris_i586_5.10-product-c1-jdk_tools2, \
- solaris_x64_5.10-product-c2-jdk_tools2, \
- linux_i586_2.6-product-{c1|c2}-jdk_tools2, \
- linux_x64_2.6-product-c2-jdk_tools2, \
- windows_i586_5.1-product-c1-jdk_tools2, \
- windows_x64_5.2-product-c2-jdk_tools2
+ ${jprt.make.rule.default.test.targets}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_awt}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_beans2}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_beans3}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_management1}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_management2}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_rmi}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_security2}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_security3}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_sound}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_swing}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_tools1}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_tools2}
-# JCK test targets in test/Makefile (no fastdebug & limited c2, windows broken)
+# JCK test targets in test/Makefile (no windows)
jprt.my.jck.test.target.set= \
solaris_sparc_5.10-product-c1-JCK7TESTRULE, \
solaris_sparcv9_5.10-product-c2-JCK7TESTRULE, \
@@ -310,8 +114,10 @@ jprt.make.rule.jck.test.targets= \
${jprt.my.jck.test.target.set:JCK7TESTRULE=jck7compiler}
# Select list to use (allow for testset to be empty too)
-jprt.make.rule..test.targets=${jprt.make.rule.default.test.targets}
-jprt.make.rule.test.targets=${jprt.make.rule.${jprt.my.test.set}.test.targets}
+jprt.make.rule..test.targets=${jprt.make.rule.default.test.targets}
+jprt.make.rule.test.targets=${jprt.make.rule.${jprt.my.test.set}.test.targets}
+jprt.vm..test.targets=${jprt.vm.default.test.targets}
+jprt.test.targets=${jprt.vm.${jprt.my.test.set}.test.targets}
# Directories to be excluded from the source bundles
jprt.bundle.exclude.src.dirs=build dist webrev
diff --git a/jdk/make/launchers/Makefile b/jdk/make/launchers/Makefile
index a0134d5..d9c2eb5 100644
--- a/jdk/make/launchers/Makefile
+++ b/jdk/make/launchers/Makefile
@@ -72,6 +72,7 @@ $(call make-launcher, jmod, org.openjdk.jigsaw.cli.Librarian, -J-Xmode:legacy, ,
$(call make-launcher, jpkg, org.openjdk.jigsaw.cli.Packager, , , $(BASE_TOOLS_MODULE))
$(call make-launcher, jrepo, org.openjdk.jigsaw.cli.Repositor, , , $(BASE_TOOLS_MODULE))
$(call make-launcher, jsign, org.openjdk.jigsaw.cli.Signer, , , $(BASE_TOOLS_MODULE))
+$(call make-launcher, jcmd, sun.tools.jcmd.JCmd, , , $(TOOLS_MODULE))
$(call make-launcher, keytool, sun.security.tools.KeyTool, , , $(TOOLS_MODULE))
$(call make-launcher, jarsigner, sun.security.tools.JarSigner, , , $(TOOLS_MODULE))
$(call make-launcher, javac, com.sun.tools.javac.Main, -J-Xmode:legacy, , jdk.javac)
diff --git a/jdk/make/modules/modules.config b/jdk/make/modules/modules.config
index 2cc83d2..672b019 100644
--- a/jdk/make/modules/modules.config
+++ b/jdk/make/modules/modules.config
@@ -111,6 +111,8 @@ module base {
include java.nio.**, com.sun.nio.file.*;
include com.oracle.nio.**;
include com.oracle.net.*;
+ include com.oracle.util.*;
+
include sun.nio.fs.*, sun.nio.ch.*, sun.nio.ByteBuffered;
exclude sun.nio.ch.Sctp*;
exclude META-INF/services/java.nio.file.spi.FileSystemProvider;
@@ -499,6 +501,10 @@ module security-sunpkcs11 {
include sun.security.pkcs11.**;
}
+module security-ucrypto {
+ include com.oracle.security.ucrypto.**;
+}
+
module security-sunjce {
include com.sun.crypto.provider.*;
}
@@ -1058,6 +1064,11 @@ module tools.jdb {
class com.sun.tools.example.debug.tty.TTY;
}
+module tools.jcmd {
+ include sun.tools.jcmd.**;
+ class sun.tools.jcmd.JCmd;
+}
+
module tools.jps {
include sun.tools.jps.**;
class sun.tools.jps.Jps;
diff --git a/jdk/make/modules/modules.group b/jdk/make/modules/modules.group
index fda872e..cdd3f3d 100644
--- a/jdk/make/modules/modules.group
+++ b/jdk/make/modules/modules.group
@@ -63,6 +63,7 @@ module jdk.base {
view jdk.base.oracle {
exports com.oracle.nio.*;
exports com.oracle.net.*;
+ exports com.oracle.util.*;
}
view jdk.base.unsafe {
@@ -251,6 +252,10 @@ module jdk.sunpkcs11 {
include security-sunpkcs11;
}
+module jdk.ucrypto {
+ include security-ucrypto;
+}
+
module jdk.crypto {
include security-sunjce;
}
@@ -506,6 +511,7 @@ module jdk.tools {
include tools.appletviewer;
include tools.extcheck;
+ include tools.jcmd;
include tools.jconsole;
include tools.jdb;
include tools.jdb.gui;
@@ -530,6 +536,10 @@ module jdk.tools {
class org.openjdk.jigsaw.Hi;
}
+ view jdk.jcmd {
+ class sun.tools.jcmd.JCmd;
+ }
+
view jdk.jconsole {
exports com.sun.tools.jconsole.*;
class sun.tools.jconsole.JConsole;
diff --git a/jdk/make/sun/awt/FILES_c_unix.gmk b/jdk/make/sun/awt/FILES_c_unix.gmk
index 2d4f1fc..55a387e 100644
--- a/jdk/make/sun/awt/FILES_c_unix.gmk
+++ b/jdk/make/sun/awt/FILES_c_unix.gmk
@@ -140,71 +140,13 @@ FILES_2D_c = \
debug_trace.c \
debug_util.c
-# These files rely on motif to be built, and should not be included
-# in a headless build.
-
-#FILES_MOTIF_c = \
-#keep awt_AWTEvent.c \
-# awt_Button.c \
-# awt_Canvas.c \
-# awt_Checkbox.c \
-#keep .h awt_Component.c \
-#keep .h awt_Cursor.c \
-# awt_DataTransferer.c \
-# awt_DrawingSurface.c \
-# awt_Event.c \
-# awt_FileDialog.c \
-# awt_GlobalCursorManager.c \
-# awt_GraphicsEnv.c \
-# awt_InputMethod.c \
-#keep awt_Insets.c \
-# awt_KeyboardFocusManager.c \
-# awt_Label.c \
-# awt_List.c \
-# awt_Menu.c \
-# awt_MenuBar.c \
-# awt_MenuComponent.c \
-# awt_MenuItem.c \
-# awt_motif.c \
-# awt_Plugin.c \
-# awt_PopupMenu.c \
-# awt_Robot.c \
-# awt_Scrollbar.c \
-# awt_ScrollPane.c \
-# awt_Selection.c \
-# awt_UNIXToolkit.c \
-# awt_TextArea.c \
-# awt_TextField.c \
-# awt_TopLevel.c \
-# awt_mgrsel.c \
-# awt_util.c \
-# awt_wm.c \
-# awt_XmDnD.c \
-# awt_dnd.c \
-# awt_dnd_ds.c \
-# awt_dnd_dt.c \
-# canvas.c \
-# cursor.c \
-# multi_font.c \
-# robot_common.c \
-# list.c \
-# multiVis.c \
-# XDrawingArea.c \
-# MouseInfo.c \
-# awt_xembed.c \
-# awt_xembed_server.c \
-# gtk2_interface.c \
-# swing_GTKEngine.c \
-# swing_GTKStyle.c
-
-
# These files are required to be built, with or without motif. Some of
# these are only dependent on X11, and some contain native source that
# is required, even in a headless build.
FILES_NO_MOTIF_c = \
awt_Font.c \
- awt_MToolkit.c \
+ HeadlessToolkit.c \
fontpath.c \
VDrawingArea.c \
X11Color.c \
diff --git a/jdk/make/sun/awt/FILES_export_unix.gmk b/jdk/make/sun/awt/FILES_export_unix.gmk
index 8fef6ce..5cd8a01 100644
--- a/jdk/make/sun/awt/FILES_export_unix.gmk
+++ b/jdk/make/sun/awt/FILES_export_unix.gmk
@@ -61,11 +61,8 @@ FILES_export = \
sun/awt/image/BufImgSurfaceData.java \
sun/awt/image/DataBufferNative.java \
\
- sun/awt/motif/X11FontMetrics.java \
sun/awt/X11InputMethod.java \
sun/awt/motif/MFontConfiguration.java \
- sun/awt/motif/MFontPeer.java \
- sun/awt/motif/MToolkit.java \
sun/awt/DebugSettings.java \
sun/awt/EmbeddedFrame.java \
sun/awt/PlatformFont.java \
@@ -93,7 +90,6 @@ FILES_export = \
sun/java2d/cmm/ColorTransform.java \
sun/awt/datatransfer/DataTransferer.java \
sun/awt/dnd/SunDragSourceContextPeer.java \
- sun/awt/motif/MToolkitThreadBlockedHandler.java \
sun/java2d/opengl/OGLBlitLoops.java \
sun/java2d/opengl/OGLContext.java \
sun/java2d/opengl/OGLMaskFill.java \
diff --git a/jdk/make/sun/awt/Makefile b/jdk/make/sun/awt/Makefile
index a2c6772..0fddcaf 100644
--- a/jdk/make/sun/awt/Makefile
+++ b/jdk/make/sun/awt/Makefile
@@ -368,7 +368,8 @@ else
FONTCONFIGS_SRC = $(CLOSED_SRC)/solaris/classes/sun/awt/fontconfigs
_FONTCONFIGS = \
fontconfig.properties \
- fontconfig.RedHat.5.5.properties \
+ fontconfig.RedHat.5.properties \
+ fontconfig.RedHat.6.properties \
fontconfig.Turbo.properties \
fontconfig.SuSE.10.properties \
fontconfig.SuSE.11.properties
diff --git a/jdk/make/sun/awt/mapfile-mawt-vers b/jdk/make/sun/awt/mapfile-mawt-vers
index d9315e0..6cc59bd 100644
--- a/jdk/make/sun/awt/mapfile-mawt-vers
+++ b/jdk/make/sun/awt/mapfile-mawt-vers
@@ -31,7 +31,6 @@ SUNWprivate_1.1 {
global:
JNI_OnLoad;
- #Java_sun_awt_motif_MComponentPeer_restoreFocus;
Java_sun_awt_DefaultMouseInfoPeer_fillPointWithCoords;
Java_sun_awt_DefaultMouseInfoPeer_isWindowUnderMouse;
Java_java_awt_AWTEvent_nativeSetSource;
@@ -56,230 +55,11 @@ SUNWprivate_1.1 {
Java_sun_awt_UNIXToolkit_load_1stock_1icon;
Java_sun_awt_UNIXToolkit_load_1gtk_1icon;
Java_sun_awt_UNIXToolkit_nativeSync;
- #Java_sun_awt_motif_MButtonPeer_create;
- #Java_sun_awt_motif_MButtonPeer_setLabel;
- #Java_sun_awt_motif_MPanelPeer_pEnsureIndex;
- #Java_sun_awt_motif_MPanelPeer_pRestack;
- #Java_sun_awt_motif_MCanvasPeer_create;
- #Java_sun_awt_motif_MCanvasPeer_initIDs;
- #Java_sun_awt_motif_MCanvasPeer_resetTargetGC;
- #Java_sun_awt_motif_MCheckboxMenuItemPeer_pSetState;
- #Java_sun_awt_motif_MCheckboxPeer_create;
- #Java_sun_awt_motif_MCheckboxPeer_setCheckboxGroup;
- #Java_sun_awt_motif_MCheckboxPeer_setLabel;
- #Java_sun_awt_motif_MCheckboxPeer_pSetState;
- #Java_sun_awt_motif_MCheckboxPeer_pGetState;
- #Java_sun_awt_motif_MChoicePeer_addItem;
- #Java_sun_awt_motif_MChoicePeer_appendItems;
- #Java_sun_awt_motif_MChoicePeer_create;
- #Java_sun_awt_motif_MChoicePeer_pReshape;
- #Java_sun_awt_motif_MChoicePeer_remove;
- #Java_sun_awt_motif_MChoicePeer_removeAll;
- #Java_sun_awt_motif_MChoicePeer_setBackground;
- #Java_sun_awt_motif_MChoicePeer_pSelect;
- #Java_sun_awt_motif_MChoicePeer_setFont;
- #Java_sun_awt_motif_MChoicePeer_setForeground;
- #Java_sun_awt_motif_MComponentPeer_addNativeDropTarget;
- #Java_sun_awt_motif_MComponentPeer_getNativeColor;
- #Java_sun_awt_motif_MComponentPeer_getWindow;
- #Java_sun_awt_motif_MComponentPeer_pDisable;
- #Java_sun_awt_motif_MComponentPeer_pDispose;
- #Java_sun_awt_motif_MComponentPeer_pEnable;
- #Java_sun_awt_motif_MComponentPeer_pGetLocationOnScreen;
- #Java_sun_awt_motif_MComponentPeer_pGetLocationOnScreen2;
- #Java_sun_awt_motif_MComponentPeer_pHide;
- #Java_sun_awt_motif_MComponentPeer_pInitialize;
- #Java_sun_awt_motif_MComponentPeer_pMakeCursorVisible;
- #Java_sun_awt_motif_MComponentPeer_pReshape;
- #Java_sun_awt_motif_MComponentPeer_pShow;
- #Java_sun_awt_motif_MComponentPeer_removeNativeDropTarget;
- #Java_sun_awt_motif_MComponentPeer_pSetBackground;
- #Java_sun_awt_motif_MComponentPeer_pSetFont;
- #Java_sun_awt_motif_MComponentPeer_processSynchronousLightweightTransfer;
- #Java_sun_awt_motif_MComponentPeer__1requestFocus;
- #Java_sun_awt_motif_MComponentPeer_getNativeFocusedWindow;
- #Java_sun_awt_motif_MCheckboxMenuItemPeer_getState;
- #Java_sun_awt_motif_MComponentPeer_pSetForeground;
- #Java_sun_awt_motif_MDragSourceContextPeer_startDrag;
- #Java_sun_awt_motif_MDragSourceContextPeer_setNativeCursor;
- #Java_sun_awt_motif_MDropTargetContextPeer_addTransfer;
- #Java_sun_awt_motif_MDropTargetContextPeer_dropDone;
- #Java_sun_awt_motif_MDropTargetContextPeer_startTransfer;
- #Java_sun_awt_motif_X11DragSourceContextPeer_startDrag;
- #Java_sun_awt_motif_X11DragSourceContextPeer_setNativeCursor;
- #Java_sun_awt_motif_X11DropTargetContextPeer_sendResponse;
- #Java_sun_awt_motif_X11DropTargetContextPeer_dropDone;
- #Java_sun_awt_motif_X11DropTargetContextPeer_getData;
- #Java_sun_awt_motif_MEmbeddedFramePeer_NEFcreate;
- #Java_sun_awt_motif_MEmbeddedFramePeer_pShowImpl;
- #Java_sun_awt_motif_MEmbeddedFramePeer_requestXEmbedFocus;
- #Java_sun_awt_motif_MEmbeddedFramePeer_isXEmbedApplicationActive;
- #Java_sun_awt_motif_MEmbeddedFramePeer_isXEmbedActive;
- #Java_sun_awt_motif_MEmbeddedFramePeer_synthesizeFocusInOut;
- #Java_sun_awt_motif_MEmbeddedFramePeer_pReshapePrivate;
- #Java_sun_awt_motif_MEmbeddedFramePeer_getBoundsPrivate;
- #Java_sun_awt_motif_MEmbeddedFrame_getWidget;
- #Java_sun_awt_motif_MEmbeddedFrame_mapWidget;
- #Java_sun_awt_motif_MEmbedCanvasPeer_forwardEventToEmbedded;
- #Java_sun_awt_motif_MFramePeer_pSetIconImage___3B_3I_3SII;
- #Java_sun_awt_motif_MFileDialogPeer_create;
- #Java_sun_awt_motif_MFileDialogPeer_pDispose;
- #Java_sun_awt_motif_MFileDialogPeer_pHide;
- #Java_sun_awt_motif_MFileDialogPeer_pReshape;
- #Java_sun_awt_motif_MFileDialogPeer_pShow;
- #Java_sun_awt_motif_MFileDialogPeer_setFileEntry;
- #Java_sun_awt_motif_MFileDialogPeer_setFont;
- #Java_sun_awt_motif_MFramePeer_pGetIconSize;
- #Java_sun_awt_motif_MGlobalCursorManager_cacheInit;
- #Java_sun_awt_motif_MGlobalCursorManager_findComponentAt;
- #Java_sun_awt_motif_MGlobalCursorManager_findHeavyweightUnderCursor;
- #Java_sun_awt_motif_MGlobalCursorManager_getCursorPos;
- #Java_sun_awt_motif_MGlobalCursorManager_getLocationOnScreen;
- #Java_sun_awt_motif_MLabelPeer_create;
- #Java_sun_awt_motif_MLabelPeer_setAlignment;
- #Java_sun_awt_motif_MLabelPeer_setText;
- #Java_sun_awt_motif_MListPeer_addItem;
- #Java_sun_awt_motif_MListPeer_create;
- #Java_sun_awt_motif_MListPeer_delItems;
- #Java_sun_awt_motif_MListPeer_deselect;
- #Java_sun_awt_motif_MListPeer_isSelected;
- #Java_sun_awt_motif_MListPeer_makeVisible;
- #Java_sun_awt_motif_MListPeer_nativeHandleMouseWheel;
- #Java_sun_awt_motif_MListPeer_select;
- #Java_sun_awt_motif_MListPeer_setMultipleSelections;
- #Java_sun_awt_motif_MMenuBarPeer_create;
- #Java_sun_awt_motif_MMenuItemPeer_createMenuItem;
- #Java_sun_awt_motif_MMenuItemPeer_pDisable;
- #Java_sun_awt_motif_MMenuItemPeer_pDispose;
- #Java_sun_awt_motif_MMenuItemPeer_pEnable;
- #Java_sun_awt_motif_MMenuItemPeer_pSetLabel;
- #Java_sun_awt_motif_MMenuPeer_createMenu;
- #Java_sun_awt_motif_MMenuPeer_createSubMenu;
- #Java_sun_awt_motif_MMenuPeer_pDispose;
- #Java_sun_awt_motif_MPopupMenuPeer_createMenu;
- #Java_sun_awt_motif_MPopupMenuPeer_pDispose;
- #Java_sun_awt_motif_MPopupMenuPeer_pShow;
- #Java_sun_awt_motif_MRobotPeer_getRGBPixelsImpl;
- #Java_sun_awt_motif_MRobotPeer_keyPressImpl;
- #Java_sun_awt_motif_MRobotPeer_keyReleaseImpl;
- #Java_sun_awt_motif_MRobotPeer_mouseMoveImpl;
- #Java_sun_awt_motif_MRobotPeer_mousePressImpl;
- #Java_sun_awt_motif_MRobotPeer_mouseReleaseImpl;
- #Java_sun_awt_motif_MRobotPeer_mouseWheelImpl;
- #Java_sun_awt_motif_MRobotPeer_setup;
- #Java_sun_awt_motif_MScrollbarPeer_create;
- #Java_sun_awt_motif_MScrollbarPeer_setLineIncrement;
- #Java_sun_awt_motif_MScrollbarPeer_setPageIncrement;
- #Java_sun_awt_motif_MScrollbarPeer_pSetValues;
- #Java_sun_awt_motif_MScrollPanePeer_create;
- #Java_sun_awt_motif_MScrollPanePeer_pGetBlockIncrement;
- #Java_sun_awt_motif_MScrollPanePeer_pGetScrollbarSpace;
- #Java_sun_awt_motif_MScrollPanePeer_pGetShadow;
- #Java_sun_awt_motif_MScrollPanePeer_pInsets;
- #Java_sun_awt_motif_MScrollPanePeer_pSetIncrement;
- #Java_sun_awt_motif_MScrollPanePeer_pSetScrollChild;
- #Java_sun_awt_motif_MScrollPanePeer_setScrollPosition;
- #Java_sun_awt_motif_MScrollPanePeer_setTypedValue;
- #Java_sun_awt_motif_MTextAreaPeer_initIDs;
- #Java_sun_awt_motif_MTextAreaPeer_pCreate;
- #Java_sun_awt_motif_MTextAreaPeer_getCaretPosition;
- #Java_sun_awt_motif_MTextAreaPeer_getExtraHeight;
- #Java_sun_awt_motif_MTextAreaPeer_getExtraWidth;
- #Java_sun_awt_motif_MTextAreaPeer_getSelectionEnd;
- #Java_sun_awt_motif_MTextAreaPeer_getSelectionStart;
- #Java_sun_awt_motif_MTextAreaPeer_getText;
- #Java_sun_awt_motif_MTextAreaPeer_insert;
- #Java_sun_awt_motif_MTextAreaPeer_nativeHandleMouseWheel;
- #Java_sun_awt_motif_MTextAreaPeer_pMakeCursorVisible;
- #Java_sun_awt_motif_MTextAreaPeer_pSetEditable;
- #Java_sun_awt_motif_MTextAreaPeer_pShow2;
- #Java_sun_awt_motif_MTextAreaPeer_replaceRange;
- #Java_sun_awt_motif_MTextAreaPeer_select;
- #Java_sun_awt_motif_MTextAreaPeer_setCaretPosition;
- #Java_sun_awt_motif_MTextAreaPeer_setFont;
- #Java_sun_awt_motif_MTextAreaPeer_setText;
- #Java_sun_awt_motif_MTextAreaPeer_setTextBackground;
- #Java_sun_awt_motif_MTextFieldPeer_initIDs;
- #Java_sun_awt_motif_MTextFieldPeer_pCreate;
- #Java_sun_awt_motif_MTextFieldPeer_getCaretPosition;
- #Java_sun_awt_motif_MTextFieldPeer_getSelectionEnd;
- #Java_sun_awt_motif_MTextFieldPeer_getSelectionStart;
- #Java_sun_awt_motif_MTextFieldPeer_getText;
- #Java_sun_awt_motif_MTextFieldPeer_insertReplaceText;
- #Java_sun_awt_motif_MTextFieldPeer_preDispose;
- #Java_sun_awt_motif_MTextFieldPeer_pSetEditable;
- #Java_sun_awt_motif_MTextFieldPeer_select;
- #Java_sun_awt_motif_MTextFieldPeer_setCaretPosition;
- #Java_sun_awt_motif_MTextFieldPeer_setEchoChar;
- #Java_sun_awt_motif_MTextFieldPeer_setFont;
- #Java_sun_awt_motif_MTextFieldPeer_setText;
- Java_sun_awt_motif_MToolkit_beep;
- Java_sun_awt_motif_MToolkit_getLockingKeyStateNative;
- Java_sun_awt_motif_MToolkit_getMulticlickTime;
- Java_sun_awt_motif_MToolkit_getNumMouseButtons;
- Java_sun_awt_motif_MToolkit_loadXSettings;
- Java_sun_awt_motif_MToolkit_getScreenHeight;
- Java_sun_awt_motif_MToolkit_getScreenResolution;
- Java_sun_awt_motif_MToolkit_getScreenWidth;
- Java_sun_awt_motif_MToolkit_init;
- Java_sun_awt_motif_MToolkit_isDynamicLayoutSupportedNative;
- Java_sun_awt_motif_MToolkit_isFrameStateSupported;
- Java_sun_awt_motif_MToolkit_loadSystemColors;
- Java_sun_awt_motif_MToolkit_makeColorModel;
- Java_sun_awt_motif_MToolkit_run;
- Java_sun_awt_motif_MToolkit_isAlwaysOnTopSupported;
- Java_sun_awt_motif_MToolkit_getEventNumber;
- Java_sun_awt_motif_MToolkit_updateSyncSelection;
- Java_sun_awt_motif_MToolkit_isSyncUpdated;
- Java_sun_awt_motif_MToolkit_isSyncFailed;
- Java_sun_awt_motif_MToolkit_nativeUnGrab;
- Java_sun_awt_motif_MToolkit_nativeGrab;
- Java_sun_awt_motif_MToolkit_getWMName;
- Java_sun_awt_motif_MWindowAttributes_initIDs;
- #Java_sun_awt_motif_MWindowPeer_pDispose;
- #Java_sun_awt_motif_MWindowPeer_pHide;
- #Java_sun_awt_motif_MWindowPeer_pReshape;
- #Java_sun_awt_motif_MWindowPeer_pSetTitle;
- #Java_sun_awt_motif_MWindowPeer_pShow;
- #Java_sun_awt_motif_MWindowPeer_setResizable;
- #Java_sun_awt_motif_MWindowPeer_toBack;
- #Java_sun_awt_motif_MWindowPeer_addTextComponentNative;
- #Java_sun_awt_motif_MWindowPeer_getState;
- #Java_sun_awt_motif_MWindowPeer_pSetIMMOption;
- #Java_sun_awt_motif_MWindowPeer_pSetMenuBar;
- #Java_sun_awt_motif_MWindowPeer_pShowModal;
- #Java_sun_awt_motif_MWindowPeer_removeTextComponentNative;
- #Java_sun_awt_motif_MWindowPeer_setSaveUnder;
- #Java_sun_awt_motif_MWindowPeer_setState;
- #Java_sun_awt_motif_MWindowPeer_resetTargetGC;
- #Java_sun_awt_motif_MWindowPeer_registerX11DropTarget;
- #Java_sun_awt_motif_MWindowPeer_unregisterX11DropTarget;
- #Java_sun_awt_motif_MWindowPeer_updateAlwaysOnTop;
- #Java_sun_awt_motif_MWindowPeer_setFocusableWindow;
- #Java_sun_awt_motif_MWindowPeer_pToFront;
- #Java_sun_awt_motif_MCustomCursor_cacheInit;
- #Java_sun_awt_motif_MCustomCursor_createCursor;
- #Java_sun_awt_motif_MCustomCursor_queryBestCursor;
- Java_sun_awt_motif_X11FontMetrics_bytesWidth;
- Java_sun_awt_motif_X11FontMetrics_getMFCharsWidth;
- Java_sun_awt_motif_X11FontMetrics_init;
Java_sun_awt_X11InputMethod_disposeXIC;
Java_sun_awt_X11InputMethod_isCompositionEnabledNative;
Java_sun_awt_X11InputMethod_resetXIC;
Java_sun_awt_X11InputMethod_setCompositionEnabledNative;
Java_sun_awt_X11InputMethod_turnoffStatusWindow;
- #Java_sun_awt_motif_MInputMethod_openXIMNative;
- #Java_sun_awt_motif_MInputMethod_configureStatusAreaNative;
- #Java_sun_awt_motif_MInputMethod_createXICNative;
- #Java_sun_awt_motif_MInputMethod_reconfigureXICNative;
- #Java_sun_awt_motif_MInputMethod_setXICFocusNative;
- #Java_sun_awt_motif_X11Clipboard_getClipboardData;
- #Java_sun_awt_motif_X11Clipboard_getClipboardFormats;
- #Java_sun_awt_motif_X11Clipboard_registerClipboardViewer;
- #Java_sun_awt_motif_X11Clipboard_unregisterClipboardViewer;
- #Java_sun_awt_motif_X11Selection_init;
- #Java_sun_awt_motif_X11Selection_pGetSelectionOwnership;
- #Java_sun_awt_motif_X11Selection_clearNativeContext;
Java_sun_awt_SunToolkit_closeSplashScreen;
Java_sun_awt_PlatformFont_initIDs;
Java_sun_awt_X11GraphicsConfig_init;
@@ -313,25 +93,6 @@ SUNWprivate_1.1 {
Java_sun_awt_X11GraphicsEnvironment_pRunningXinerama;
Java_sun_awt_X11GraphicsEnvironment_getXineramaCenterPoint;
Java_sun_awt_X11GraphicsEnvironment_initXRender;
- #Java_sun_awt_motif_MEmbedCanvasPeer_initXEmbedServer;
- #Java_sun_awt_motif_MEmbedCanvasPeer_destroyXEmbedServer;
- #Java_sun_awt_motif_MEmbedCanvasPeer_isXEmbedActive;
- #Java_sun_awt_motif_MEmbedCanvasPeer_initDispatching;
- #Java_sun_awt_motif_MEmbedCanvasPeer_endDispatching;
- #Java_sun_awt_motif_MEmbedCanvasPeer_embedChild;
- #Java_sun_awt_motif_MEmbedCanvasPeer_childDestroyed;
- #Java_sun_awt_motif_MEmbedCanvasPeer_getEmbedPreferredSize;
- #Java_sun_awt_motif_MEmbedCanvasPeer_getEmbedMinimumSize;
- #Java_sun_awt_motif_MEmbedCanvasPeer_getClientBounds;
- #Java_sun_awt_motif_MEmbedCanvasPeer_notifyChildEmbedded;
- #Java_sun_awt_motif_MEmbedCanvasPeer_detachChild;
- #Java_sun_awt_motif_MEmbedCanvasPeer_forwardKeyEvent;
- #Java_sun_awt_motif_MEmbedCanvasPeer_getAWTKeyCodeForKeySym;
- #Java_sun_awt_motif_MEmbedCanvasPeer_sendMessage__I;
- #Java_sun_awt_motif_MEmbedCanvasPeer_sendMessage__IJJJ;
- #Java_sun_awt_motif_MEmbedCanvasPeer_getWindow;
- #Java_sun_awt_motif_GrabbedKey_initKeySymAndModifiers;
- #Java_sun_awt_motif_MEmbeddedFramePeer_traverseOut;
Java_java_awt_AWTEvent_initIDs;
Java_java_awt_Button_initIDs;
Java_java_awt_Container_initIDs;
@@ -345,41 +106,6 @@ SUNWprivate_1.1 {
Java_java_awt_Insets_initIDs;
Java_java_awt_TextField_initIDs;
Java_java_awt_Window_initIDs;
- #Java_sun_awt_motif_MCheckboxPeer_getIndicatorSize;
- #Java_sun_awt_motif_MCheckboxPeer_getSpacing;
- #Java_sun_awt_motif_MChoicePeer_freeNativeData;
- #Java_sun_awt_motif_MComponentPeer_getComponents_1NoClientCode;
- #Java_sun_awt_motif_MComponentPeer_getParent_1NoClientCode;
- #Java_sun_awt_motif_MComponentPeer_initIDs;
- #Java_sun_awt_motif_MComponentPeer_nativeHandleEvent;
- #Java_sun_awt_motif_MComponentPeer_pSetCursor;
- #Java_sun_awt_motif_MComponentPeer_pSetInnerForeground;
- #Java_sun_awt_motif_MComponentPeer_pSetScrollbarBackground;
- #Java_sun_awt_motif_MComponentPeer_setTargetBackground;
- #Java_sun_awt_motif_MDataTransferer_dragQueryFile;
- #Java_sun_awt_motif_MDataTransferer_getAtomForTarget;
- #Java_sun_awt_motif_MDataTransferer_getTargetNameForAtom;
- #Java_sun_awt_motif_MFileDialogPeer_insertReplaceFileDialogText;
- Java_sun_awt_motif_MFontPeer_initIDs;
- #Java_sun_awt_motif_MListPeer_setBackground;
- #Java_sun_awt_motif_MMenuBarPeer_initIDs;
- #Java_sun_awt_motif_MMenuBarPeer_pDispose;
- #Java_sun_awt_motif_MMenuItemPeer_getParent_1NoClientCode;
- #Java_sun_awt_motif_MMenuItemPeer_initIDs;
- #Java_sun_awt_motif_MMenuItemPeer_pSetShortcut;
- #Java_sun_awt_motif_MPopupMenuPeer_initIDs;
- #Java_sun_awt_motif_MScrollbarPeer_initIDs;
- #Java_sun_awt_motif_MScrollPanePeer_initIDs;
- #Java_sun_awt_motif_MTextAreaPeer_pSetCursor;
- Java_sun_awt_motif_MToolkit_shutdown;
- #Java_sun_awt_motif_MWindowPeer_initIDs;
- #Java_sun_awt_motif_MWindowPeer_pCreate;
- #Java_sun_awt_motif_MWindowPeer_wrapInSequenced;
- Java_sun_awt_motif_X11FontMetrics_initIDs;
- #Java_sun_awt_X11InputMethod_initIDs;
- #Java_sun_awt_motif_X11Selection_initIDs;
- Java_sun_awt_motif_MToolkitThreadBlockedHandler_enter;
- Java_sun_awt_motif_MToolkitThreadBlockedHandler_exit;
Java_sun_awt_X11GraphicsConfig_init;
Java_sun_awt_X11GraphicsConfig_initIDs;
Java_sun_awt_X11GraphicsConfig_makeColorModel;
diff --git a/jdk/make/sun/awt/mapfile-vers-linux b/jdk/make/sun/awt/mapfile-vers-linux
index df80f4e..b7033b8 100644
--- a/jdk/make/sun/awt/mapfile-vers-linux
+++ b/jdk/make/sun/awt/mapfile-vers-linux
@@ -170,7 +170,6 @@ SUNWprivate_1.1 {
GrPrim_Sg2dGetPixel;
GrPrim_Sg2dGetLCDTextContrast;
- #Java_sun_awt_motif_MComponentPeer_restoreFocus;
Java_sun_awt_DefaultMouseInfoPeer_fillPointWithCoords;
Java_sun_awt_DefaultMouseInfoPeer_isWindowUnderMouse;
Java_java_awt_AWTEvent_nativeSetSource;
@@ -189,216 +188,11 @@ SUNWprivate_1.1 {
Java_java_awt_ScrollPane_initIDs;
Java_java_awt_TextArea_initIDs;
Java_sun_awt_FontDescriptor_initIDs;
- #Java_sun_awt_motif_MButtonPeer_create;
- #Java_sun_awt_motif_MButtonPeer_setLabel;
- #Java_sun_awt_motif_MCanvasPeer_create;
- #Java_sun_awt_motif_MCanvasPeer_initIDs;
- #Java_sun_awt_motif_MCanvasPeer_resetTargetGC;
- #Java_sun_awt_motif_MCheckboxMenuItemPeer_pSetState;
- #Java_sun_awt_motif_MCheckboxPeer_create;
- #Java_sun_awt_motif_MCheckboxPeer_setCheckboxGroup;
- #Java_sun_awt_motif_MCheckboxPeer_setLabel;
- #Java_sun_awt_motif_MCheckboxPeer_pSetState;
- #Java_sun_awt_motif_MCheckboxPeer_pGetState;
- #Java_sun_awt_motif_MChoicePeer_addItem;
- #Java_sun_awt_motif_MChoicePeer_appendItems;
- #Java_sun_awt_motif_MChoicePeer_create;
- #Java_sun_awt_motif_MChoicePeer_pReshape;
- #Java_sun_awt_motif_MChoicePeer_remove;
- #Java_sun_awt_motif_MChoicePeer_removeAll;
- #Java_sun_awt_motif_MChoicePeer_setBackground;
- #Java_sun_awt_motif_MChoicePeer_pSelect;
- #Java_sun_awt_motif_MChoicePeer_setFont;
- #Java_sun_awt_motif_MChoicePeer_setForeground;
- #Java_sun_awt_motif_MComponentPeer_addNativeDropTarget;
- #Java_sun_awt_motif_MComponentPeer_createBackBuffer;
- #Java_sun_awt_motif_MComponentPeer_destroyBackBuffer;
- #Java_sun_awt_motif_MComponentPeer_getNativeColor;
- #Java_sun_awt_motif_MComponentPeer_getWindow;
- #Java_sun_awt_motif_MComponentPeer_pDisable;
- #Java_sun_awt_motif_MComponentPeer_pDispose;
- #Java_sun_awt_motif_MComponentPeer_pEnable;
- #Java_sun_awt_motif_MComponentPeer_pGetLocationOnScreen;
- #Java_sun_awt_motif_MComponentPeer_pGetLocationOnScreen2;
- #Java_sun_awt_motif_MComponentPeer_pHide;
- #Java_sun_awt_motif_MComponentPeer_pInitialize;
- #Java_sun_awt_motif_MComponentPeer_pMakeCursorVisible;
- #Java_sun_awt_motif_MComponentPeer_pReshape;
- #Java_sun_awt_motif_MComponentPeer_pShow;
- #Java_sun_awt_motif_MComponentPeer_removeNativeDropTarget;
- #Java_sun_awt_motif_MComponentPeer_swapBuffers;
- #Java_sun_awt_motif_MComponentPeer_pSetBackground;
- #Java_sun_awt_motif_MComponentPeer_pSetFont;
- #Java_sun_awt_motif_MComponentPeer_processSynchronousLightweightTransfer;
- #Java_sun_awt_motif_MComponentPeer__1requestFocus;
- #Java_sun_awt_motif_MCheckboxMenuItemPeer_getState;
- #Java_sun_awt_motif_MComponentPeer_pSetForeground;
- #Java_sun_awt_motif_MDragSourceContextPeer_startDrag;
- #Java_sun_awt_motif_MDragSourceContextPeer_setNativeCursor;
- #Java_sun_awt_motif_MDropTargetContextPeer_addTransfer;
- #Java_sun_awt_motif_MDropTargetContextPeer_dropDone;
- #Java_sun_awt_motif_MDropTargetContextPeer_startTransfer;
- #Java_sun_awt_motif_X11DragSourceContextPeer_startDrag;
- #Java_sun_awt_motif_X11DragSourceContextPeer_setNativeCursor;
- #Java_sun_awt_motif_X11DropTargetContextPeer_sendResponse;
- #Java_sun_awt_motif_X11DropTargetContextPeer_dropDone;
- #Java_sun_awt_motif_X11DropTargetContextPeer_getData;
- #Java_sun_awt_motif_MEmbeddedFramePeer_NEFcreate;
- #Java_sun_awt_motif_MEmbeddedFramePeer_pShowImpl;
- #Java_sun_awt_motif_MEmbeddedFramePeer_pReshapePrivate;
- #Java_sun_awt_motif_MEmbeddedFramePeer_getBoundsPrivate;
- #Java_sun_awt_motif_MFramePeer_pSetIconImage___3B_3I_3SII;
- #Java_sun_awt_motif_MEmbeddedFramePeer_requestXEmbedFocus;
- #Java_sun_awt_motif_MEmbeddedFramePeer_isXEmbedApplicationActive;
- #Java_sun_awt_motif_MEmbeddedFramePeer_isXEmbedActive;
- #Java_sun_awt_motif_MEmbeddedFrame_getWidget;
- #Java_sun_awt_motif_MEmbeddedFrame_mapWidget;
- #Java_sun_awt_motif_MFileDialogPeer_create;
- #Java_sun_awt_motif_MFileDialogPeer_pDispose;
- #Java_sun_awt_motif_MFileDialogPeer_pHide;
- #Java_sun_awt_motif_MFileDialogPeer_pReshape;
- #Java_sun_awt_motif_MFileDialogPeer_pShow;
- #Java_sun_awt_motif_MFileDialogPeer_setFileEntry;
- #Java_sun_awt_motif_MFileDialogPeer_setFont;
- #Java_sun_awt_motif_MFramePeer_pGetIconSize;
- #Java_sun_awt_motif_MGlobalCursorManager_cacheInit;
- #Java_sun_awt_motif_MGlobalCursorManager_findComponentAt;
- #Java_sun_awt_motif_MGlobalCursorManager_findHeavyweightUnderCursor;
- #Java_sun_awt_motif_MGlobalCursorManager_getCursorPos;
- #Java_sun_awt_motif_MGlobalCursorManager_getLocationOnScreen;
- #Java_sun_awt_motif_MLabelPeer_create;
- #Java_sun_awt_motif_MLabelPeer_setAlignment;
- #Java_sun_awt_motif_MLabelPeer_setText;
- #Java_sun_awt_motif_MListPeer_addItem;
- #Java_sun_awt_motif_MListPeer_create;
- #Java_sun_awt_motif_MListPeer_delItems;
- #Java_sun_awt_motif_MListPeer_deselect;
- #Java_sun_awt_motif_MListPeer_isSelected;
- #Java_sun_awt_motif_MListPeer_makeVisible;
- #Java_sun_awt_motif_MListPeer_select;
- #Java_sun_awt_motif_MListPeer_setMultipleSelections;
- #Java_sun_awt_motif_MMenuBarPeer_create;
- #Java_sun_awt_motif_MMenuItemPeer_createMenuItem;
- #Java_sun_awt_motif_MMenuItemPeer_pDisable;
- #Java_sun_awt_motif_MMenuItemPeer_pDispose;
- #Java_sun_awt_motif_MMenuItemPeer_pEnable;
- #Java_sun_awt_motif_MMenuItemPeer_pSetLabel;
- #Java_sun_awt_motif_MMenuPeer_createMenu;
- #Java_sun_awt_motif_MMenuPeer_createSubMenu;
- #Java_sun_awt_motif_MMenuPeer_pDispose;
- #Java_sun_awt_motif_MPopupMenuPeer_createMenu;
- #Java_sun_awt_motif_MPopupMenuPeer_pDispose;
- #Java_sun_awt_motif_MPopupMenuPeer_pShow;
- #Java_sun_awt_motif_MRobotPeer_getRGBPixelsImpl;
- #Java_sun_awt_motif_MRobotPeer_keyPressImpl;
- #Java_sun_awt_motif_MRobotPeer_keyReleaseImpl;
- #Java_sun_awt_motif_MRobotPeer_mouseMoveImpl;
- #Java_sun_awt_motif_MRobotPeer_mousePressImpl;
- #Java_sun_awt_motif_MRobotPeer_mouseReleaseImpl;
- #Java_sun_awt_motif_MRobotPeer_mouseWheelImpl;
- #Java_sun_awt_motif_MRobotPeer_setup;
- #Java_sun_awt_motif_MScrollbarPeer_create;
- #Java_sun_awt_motif_MScrollbarPeer_setLineIncrement;
- #Java_sun_awt_motif_MScrollbarPeer_setPageIncrement;
- #Java_sun_awt_motif_MScrollbarPeer_pSetValues;
- #Java_sun_awt_motif_MScrollPanePeer_create;
- #Java_sun_awt_motif_MScrollPanePeer_pGetBlockIncrement;
- #Java_sun_awt_motif_MScrollPanePeer_pGetScrollbarSpace;
- #Java_sun_awt_motif_MScrollPanePeer_pGetShadow;
- #Java_sun_awt_motif_MScrollPanePeer_pInsets;
- #Java_sun_awt_motif_MScrollPanePeer_pSetIncrement;
- #Java_sun_awt_motif_MScrollPanePeer_pSetScrollChild;
- #Java_sun_awt_motif_MScrollPanePeer_setScrollPosition;
- #Java_sun_awt_motif_MTextAreaPeer_initIDs;
- #Java_sun_awt_motif_MTextAreaPeer_pCreate;
- #Java_sun_awt_motif_MTextAreaPeer_getCaretPosition;
- #Java_sun_awt_motif_MTextAreaPeer_getExtraHeight;
- #Java_sun_awt_motif_MTextAreaPeer_getExtraWidth;
- #Java_sun_awt_motif_MTextAreaPeer_getSelectionEnd;
- #Java_sun_awt_motif_MTextAreaPeer_getSelectionStart;
- #Java_sun_awt_motif_MTextAreaPeer_getText;
- #Java_sun_awt_motif_MTextAreaPeer_insert;
- #Java_sun_awt_motif_MTextAreaPeer_pMakeCursorVisible;
- #Java_sun_awt_motif_MTextAreaPeer_pSetEditable;
- #Java_sun_awt_motif_MTextAreaPeer_pShow2;
- #Java_sun_awt_motif_MTextAreaPeer_replaceRange;
- #Java_sun_awt_motif_MTextAreaPeer_select;
- #Java_sun_awt_motif_MTextAreaPeer_setCaretPosition;
- #Java_sun_awt_motif_MTextAreaPeer_setFont;
- #Java_sun_awt_motif_MTextAreaPeer_setText;
- #Java_sun_awt_motif_MTextAreaPeer_setTextBackground;
- #Java_sun_awt_motif_MTextFieldPeer_initIDs;
- #Java_sun_awt_motif_MTextFieldPeer_pCreate;
- #Java_sun_awt_motif_MTextFieldPeer_getCaretPosition;
- #Java_sun_awt_motif_MTextFieldPeer_getSelectionEnd;
- #Java_sun_awt_motif_MTextFieldPeer_getSelectionStart;
- #Java_sun_awt_motif_MTextFieldPeer_getText;
- #Java_sun_awt_motif_MTextFieldPeer_insertReplaceText;
- #Java_sun_awt_motif_MTextFieldPeer_preDispose;
- #Java_sun_awt_motif_MTextFieldPeer_pSetEditable;
- #Java_sun_awt_motif_MTextFieldPeer_select;
- #Java_sun_awt_motif_MTextFieldPeer_setCaretPosition;
- #Java_sun_awt_motif_MTextFieldPeer_setEchoChar;
- #Java_sun_awt_motif_MTextFieldPeer_setFont;
- #Java_sun_awt_motif_MTextFieldPeer_setText;
- Java_sun_awt_motif_MToolkit_beep;
- Java_sun_awt_motif_MToolkit_getLockingKeyStateNative;
- Java_sun_awt_motif_MToolkit_getMulticlickTime;
- Java_sun_awt_motif_MToolkit_getNumMouseButtons;
- Java_sun_awt_motif_MToolkit_getScreenHeight;
- Java_sun_awt_motif_MToolkit_getScreenResolution;
- Java_sun_awt_motif_MToolkit_getScreenWidth;
- Java_sun_awt_motif_MToolkit_init;
- Java_sun_awt_motif_MToolkit_isDynamicLayoutSupportedNative;
- Java_sun_awt_motif_MToolkit_isFrameStateSupported;
- Java_sun_awt_motif_MToolkit_loadSystemColors;
- Java_sun_awt_motif_MToolkit_makeColorModel;
- Java_sun_awt_motif_MToolkit_run;
- Java_sun_awt_motif_MToolkit_sync;
- Java_sun_awt_motif_MToolkit_isAlwaysOnTopSupported;
- Java_sun_awt_motif_MWindowAttributes_initIDs;
- #Java_sun_awt_motif_MWindowPeer_pDispose;
- #Java_sun_awt_motif_MWindowPeer_pHide;
- #Java_sun_awt_motif_MWindowPeer_pReshape;
- #Java_sun_awt_motif_MWindowPeer_pSetTitle;
- #Java_sun_awt_motif_MWindowPeer_pShow;
- #Java_sun_awt_motif_MWindowPeer_setResizable;
- #Java_sun_awt_motif_MWindowPeer_toBack;
- #Java_sun_awt_motif_MWindowPeer_addTextComponentNative;
- #Java_sun_awt_motif_MWindowPeer_getState;
- #Java_sun_awt_motif_MWindowPeer_pSetIMMOption;
- #Java_sun_awt_motif_MWindowPeer_pSetMenuBar;
- #Java_sun_awt_motif_MWindowPeer_pShowModal;
- #Java_sun_awt_motif_MWindowPeer_removeTextComponentNative;
- #Java_sun_awt_motif_MWindowPeer_setSaveUnder;
- #Java_sun_awt_motif_MWindowPeer_setState;
- #Java_sun_awt_motif_MWindowPeer_resetTargetGC;
- #Java_sun_awt_motif_MWindowPeer_registerX11DropTarget;
- #Java_sun_awt_motif_MWindowPeer_unregisterX11DropTarget;
- #Java_sun_awt_motif_MWindowPeer_updateAlwaysOnTop;
- #Java_sun_awt_motif_X11CustomCursor_cacheInit;
- #Java_sun_awt_motif_X11CustomCursor_createCursor;
- #Java_sun_awt_motif_X11CustomCursor_queryBestCursor;
- Java_sun_awt_motif_X11FontMetrics_bytesWidth;
- Java_sun_awt_motif_X11FontMetrics_getMFCharsWidth;
- Java_sun_awt_motif_X11FontMetrics_init;
Java_sun_awt_X11InputMethod_disposeXIC;
Java_sun_awt_X11InputMethod_isCompositionEnabledNative;
Java_sun_awt_X11InputMethod_resetXIC;
Java_sun_awt_X11InputMethod_setCompositionEnabledNative;
Java_sun_awt_X11InputMethod_turnoffStatusWindow;
- #Java_sun_awt_motif_MInputMethod_openXIMNative;
- #Java_sun_awt_motif_MInputMethod_configureStatusAreaNative;
- #Java_sun_awt_motif_MInputMethod_createXICNative;
- #Java_sun_awt_motif_MInputMethod_reconfigureXICNative;
- #Java_sun_awt_motif_MInputMethod_setXICFocusNative;
- #Java_sun_awt_motif_X11Clipboard_getClipboardData;
- #Java_sun_awt_motif_X11Clipboard_getClipboardFormats;
- #Java_sun_awt_motif_X11Clipboard_registerClipboardViewer;
- #Java_sun_awt_motif_X11Clipboard_unregisterClipboardViewer;
- #Java_sun_awt_motif_X11Selection_init;
- #Java_sun_awt_motif_X11Selection_pGetSelectionOwnership;
- #Java_sun_awt_motif_X11Selection_clearNativeContext;
Java_sun_awt_SunToolkit_closeSplashScreen;
Java_sun_awt_PlatformFont_initIDs;
Java_sun_awt_X11GraphicsConfig_init;
@@ -444,42 +238,7 @@ SUNWprivate_1.1 {
Java_java_awt_Insets_initIDs;
Java_java_awt_TextField_initIDs;
Java_java_awt_Window_initIDs;
- #Java_sun_awt_motif_MCheckboxPeer_getIndicatorSize;
- #Java_sun_awt_motif_MCheckboxPeer_getSpacing;
- #Java_sun_awt_motif_MChoicePeer_freeNativeData;
- #Java_sun_awt_motif_MComponentPeer_getComponents_1NoClientCode;
- #Java_sun_awt_motif_MComponentPeer_getParent_1NoClientCode;
- #Java_sun_awt_motif_MComponentPeer_initIDs;
- #Java_sun_awt_motif_MComponentPeer_nativeHandleEvent;
- #Java_sun_awt_motif_MComponentPeer_pSetCursor;
- #Java_sun_awt_motif_MComponentPeer_pSetInnerForeground;
- #Java_sun_awt_motif_MComponentPeer_pSetScrollbarBackground;
- #Java_sun_awt_motif_MComponentPeer_setTargetBackground;
- #Java_sun_awt_motif_MDataTransferer_dragQueryFile;
- #Java_sun_awt_motif_MDataTransferer_getAtomForTarget;
- #Java_sun_awt_motif_MDataTransferer_getTargetNameForAtom;
- #Java_sun_awt_motif_MFileDialogPeer_insertReplaceFileDialogText;
- Java_sun_awt_motif_MFontPeer_initIDs;
- #Java_sun_awt_motif_MListPeer_setBackground;
- #Java_sun_awt_motif_MMenuBarPeer_initIDs;
- #Java_sun_awt_motif_MMenuBarPeer_pDispose;
- #Java_sun_awt_motif_MMenuItemPeer_getParent_1NoClientCode;
- #Java_sun_awt_motif_MMenuItemPeer_initIDs;
- #Java_sun_awt_motif_MMenuItemPeer_pSetShortcut;
- #Java_sun_awt_motif_MPopupMenuPeer_initIDs;
- #Java_sun_awt_motif_MScrollbarPeer_initIDs;
- #Java_sun_awt_motif_MScrollPanePeer_initIDs;
- #Java_sun_awt_motif_MTextAreaPeer_pSetCursor;
- Java_sun_awt_motif_MToolkit_shutdown;
- #Java_sun_awt_motif_MWindowPeer_initIDs;
- #Java_sun_awt_motif_MWindowPeer_pCreate;
- #Java_sun_awt_motif_MWindowPeer_wrapInSequenced;
- Java_sun_awt_motif_X11FontMetrics_initIDs;
- #Java_sun_awt_X11InputMethod_initIDs;
Java_sun_awt_motif_X11OffScreenImage_updateBitmask;
- #Java_sun_awt_motif_X11Selection_initIDs;
- Java_sun_awt_motif_MToolkitThreadBlockedHandler_enter;
- Java_sun_awt_motif_MToolkitThreadBlockedHandler_exit;
Java_sun_awt_X11GraphicsConfig_init;
Java_sun_awt_X11GraphicsConfig_initIDs;
Java_sun_awt_X11GraphicsConfig_makeColorModel;
@@ -505,26 +264,6 @@ SUNWprivate_1.1 {
Java_sun_awt_X11SurfaceData_isDgaAvailable;
Java_sun_awt_X11SurfaceData_setInvalid;
Java_sun_awt_X11SurfaceData_flushNativeSurface;
- #Java_sun_awt_motif_MEmbedCanvasPeer_initXEmbedServer;
- #Java_sun_awt_motif_MEmbedCanvasPeer_destroyXEmbedServer;
- #Java_sun_awt_motif_MEmbedCanvasPeer_isXEmbedActive;
- #Java_sun_awt_motif_MEmbedCanvasPeer_initDispatching;
- #Java_sun_awt_motif_MEmbedCanvasPeer_endDispatching;
- #Java_sun_awt_motif_MEmbedCanvasPeer_embedChild;
- #Java_sun_awt_motif_MEmbedCanvasPeer_childDestroyed;
- #Java_sun_awt_motif_MEmbedCanvasPeer_getEmbedPreferredSize;
- #Java_sun_awt_motif_MEmbedCanvasPeer_getEmbedMinimumSize;
- #Java_sun_awt_motif_MEmbedCanvasPeer_getClientBounds;
- #Java_sun_awt_motif_MEmbedCanvasPeer_notifyChildEmbedded;
- #Java_sun_awt_motif_MEmbedCanvasPeer_detachChild;
- #Java_sun_awt_motif_MEmbedCanvasPeer_forwardKeyEvent;
- #Java_sun_awt_motif_MEmbedCanvasPeer_getAWTKeyCodeForKeySym;
- #Java_sun_awt_motif_MEmbedCanvasPeer_sendMessage__I;
- #Java_sun_awt_motif_MEmbedCanvasPeer_sendMessage__IJJJ;
- #Java_sun_awt_motif_MEmbedCanvasPeer_getWindow;
- #Java_sun_awt_motif_MEmbedCanvasPeer_forwardEventToEmbedded;
- #Java_sun_awt_motif_GrabbedKey_initKeySymAndModifiers;
- #Java_sun_awt_motif_MEmbeddedFramePeer_traverseOut;
awt_display;
awt_lock;
awt_Lock;
diff --git a/jdk/make/sun/awt/mawt.gmk b/jdk/make/sun/awt/mawt.gmk
index f8160ee..cdb740b 100644
--- a/jdk/make/sun/awt/mawt.gmk
+++ b/jdk/make/sun/awt/mawt.gmk
@@ -41,13 +41,7 @@ include $(BUILDDIR)/sun/awt/FILES_export_unix.gmk
# Check which C files should be built. Headless uses only
# non-motif files. Also, a version-specific motif file is
# compiled based on the motif version.
-ifdef HEADLESS
- FILES_c = $(FILES_NO_MOTIF_c)
-else
-# FILES_c = $(FILES_MOTIF_c) $(FILES_NO_MOTIF_c)
-# XXX if in FILES_MOTIF_c there are unrelated to motif stuff, create a separate list!
- FILES_c = $(FILES_NO_MOTIF_c)
-endif
+FILES_c = $(FILES_NO_MOTIF_c)
ifeq ($(PLATFORM), solaris)
ifneq ($(ARCH), amd64)
@@ -116,32 +110,6 @@ CFLAGS += -DHEADLESS=$(HEADLESS)
CPPFLAGS += -DHEADLESS=$(HEADLESS)
OTHER_LDLIBS =
else
-#CFLAGS += -DMOTIF_VERSION=$(MOTIF_VERSION)
-
-#ifeq ($(STATIC_MOTIF),true)
-# LIBXM = $(MOTIF_LIB)/libXm.a -lXp -lXmu
-# ifeq ($(PLATFORM), linux)
-# ifeq ($(ARCH_DATA_MODEL), 64)
-# LIBXT = -lXt
-# else
-# # Allows for builds on Debian GNU Linux, X11 is in a different place
-# LIBXT = $(firstword $(wildcard /usr/X11R6/lib/libXt.a) \
-# $(wildcard /usr/lib/libXt.a))
-# LIBSM = $(firstword $(wildcard /usr/X11R6/lib/libSM.a) \
-# $(wildcard /usr/lib/libSM.a))
-# LIBICE = $(firstword $(wildcard /usr/X11R6/lib/libICE.a) \
-# $(wildcard /usr/lib/libICE.a))
-# endif
-# endif
-#else
-# LIBXM = -L$(MOTIF_LIB) -lXm -lXp
-# ifeq ($(PLATFORM), linux)
-# LIBXT = -lXt
-# LIBSM =
-# LIBICE =
-# endif
-#endif
-
LIBXTST = -lXtst
ifeq ($(PLATFORM), linux)
ifeq ($(ARCH_DATA_MODEL), 64)
diff --git a/jdk/make/sun/launcher/Makefile b/jdk/make/sun/launcher/Makefile
index 5d11cd2..aeb4543 100644
--- a/jdk/make/sun/launcher/Makefile
+++ b/jdk/make/sun/launcher/Makefile
@@ -27,6 +27,9 @@ BUILDDIR = ../..
MODULE = base
PACKAGE = sun.launcher
PRODUCT = sun
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
+
include $(BUILDDIR)/common/Defs.gmk
#
diff --git a/jdk/make/sun/security/pkcs11/mapfile-vers b/jdk/make/sun/security/pkcs11/mapfile-vers
index ddf61d3..7301c11 100644
--- a/jdk/make/sun/security/pkcs11/mapfile-vers
+++ b/jdk/make/sun/security/pkcs11/mapfile-vers
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -47,8 +47,8 @@ SUNWprivate_1.1 {
Java_sun_security_pkcs11_wrapper_PKCS11_C_1CloseSession;
# Java_sun_security_pkcs11_wrapper_PKCS11_C_1CloseAllSessions;
Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetSessionInfo;
-# Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetOperationState;
-# Java_sun_security_pkcs11_wrapper_PKCS11_C_1SetOperationState;
+ Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetOperationState;
+ Java_sun_security_pkcs11_wrapper_PKCS11_C_1SetOperationState;
Java_sun_security_pkcs11_wrapper_PKCS11_C_1Login;
Java_sun_security_pkcs11_wrapper_PKCS11_C_1Logout;
Java_sun_security_pkcs11_wrapper_PKCS11_C_1CreateObject;
diff --git a/jdk/make/sun/serialver/Makefile b/jdk/make/sun/serialver/Makefile
index fd1d8c2..fe7ca57 100644
--- a/jdk/make/sun/serialver/Makefile
+++ b/jdk/make/sun/serialver/Makefile
@@ -31,6 +31,9 @@ BUILDDIR = ../..
MODULE = serialver
PACKAGE = sun.tools.serialver
PRODUCT = sun
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
+
include $(BUILDDIR)/common/Defs.gmk
#
diff --git a/jdk/make/sun/splashscreen/FILES_c.gmk b/jdk/make/sun/splashscreen/FILES_c.gmk
index a7684a2..b6e234f 100644
--- a/jdk/make/sun/splashscreen/FILES_c.gmk
+++ b/jdk/make/sun/splashscreen/FILES_c.gmk
@@ -51,7 +51,10 @@ FILES_c = \
gifalloc.c \
compress.c \
deflate.c \
- gzio.c \
+ gzclose.c \
+ gzlib.c \
+ gzread.c \
+ gzwrite.c \
infback.c \
inffast.c \
inflate.c \
diff --git a/jdk/make/sun/text/Makefile b/jdk/make/sun/text/Makefile
index 9090caa..f3b4310 100644
--- a/jdk/make/sun/text/Makefile
+++ b/jdk/make/sun/text/Makefile
@@ -32,6 +32,8 @@ BUILDDIR = ../..
MODULE = localedata
PACKAGE = sun.text
PRODUCT = sun
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
include $(BUILDDIR)/common/Defs.gmk
diff --git a/jdk/make/sun/tools/Makefile b/jdk/make/sun/tools/Makefile
index b404819..8957f0e 100644
--- a/jdk/make/sun/tools/Makefile
+++ b/jdk/make/sun/tools/Makefile
@@ -43,6 +43,7 @@ AUTO_FILES_JAVA_DIRS = \
sun/tools/jstack \
sun/tools/jstat \
sun/tools/jstatd \
+ sun/tools/jcmd \
com/sun/tools/hat \
com/sun/tools/script/shell \
sun/jvmstat
diff --git a/jdk/make/sun/util/Makefile b/jdk/make/sun/util/Makefile
index 70d9075..48bb89e 100644
--- a/jdk/make/sun/util/Makefile
+++ b/jdk/make/sun/util/Makefile
@@ -26,6 +26,9 @@
BUILDDIR = ../..
PACKAGE = sun.util
PRODUCT = sun
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
+
include $(BUILDDIR)/common/Defs.gmk
#
diff --git a/jdk/make/sun/xawt/mapfile-vers b/jdk/make/sun/xawt/mapfile-vers
index 8a12b69..5455530 100644
--- a/jdk/make/sun/xawt/mapfile-vers
+++ b/jdk/make/sun/xawt/mapfile-vers
@@ -256,8 +256,6 @@ SUNWprivate_1.1 {
Java_sun_awt_X11_XToolkit_waitForEvents;
Java_java_awt_Event_initIDs;
- Java_sun_awt_motif_X11FontMetrics_initIDs;
- Java_sun_awt_motif_X11FontMetrics_init;
Java_sun_awt_X11_XWindow_x11inputMethodLookupString;
Java_sun_awt_X11_XWindow_haveCurrentX11InputMethodInstance;
Java_java_awt_AWTEvent_nativeSetSource;
@@ -265,7 +263,6 @@ SUNWprivate_1.1 {
Java_sun_awt_PlatformFont_initIDs;
Java_sun_awt_FontDescriptor_initIDs;
Java_sun_awt_X11_XFontPeer_initIDs;
- Java_sun_awt_motif_X11FontMetrics_getMFCharsWidth;
Java_sun_awt_X11InputMethod_initIDs;
Java_sun_awt_X11InputMethod_resetXIC;
Java_sun_awt_X11InputMethod_disposeXIC;
@@ -322,6 +319,8 @@ SUNWprivate_1.1 {
Java_sun_awt_X11_XlibWrapper_XSynchronize;
Java_java_awt_FileDialog_initIDs;
Java_sun_awt_X11_XWindow_initIDs;
+ Java_sun_awt_X11_XWindowPeer_getLocalHostname;
+ Java_sun_awt_X11_XWindowPeer_getJvmPID;
Java_sun_java2d_opengl_OGLContext_getOGLIdString;
Java_sun_java2d_opengl_OGLMaskFill_maskFill;
diff --git a/jdk/make/tools/freetypecheck/Makefile b/jdk/make/tools/freetypecheck/Makefile
index dcacde5..101542f 100644
--- a/jdk/make/tools/freetypecheck/Makefile
+++ b/jdk/make/tools/freetypecheck/Makefile
@@ -40,18 +40,19 @@ ifeq ($(PLATFORM), windows)
FT_OPTIONS = /nologo /c
FREETYPE_DLL = $(FREETYPE_LIB_PATH)/freetype.dll
FT_LD_OPTIONS = $(FREETYPE_LIB_PATH)/freetype.lib
-ifdef MT
- FT_LD_OPTIONS += /manifest
-endif
+ ifdef MT
+ FT_LD_OPTIONS += /manifest
+ endif
else
FT_OPTIONS = $(CFLAGS)
FT_LD_OPTIONS = -L$(FREETYPE_LIB_PATH)
# Add runtime lib search path to ensure test will be runnable
- ifeq ($(PLATFORM), solaris)
- FT_LD_OPTIONS += -R $(FREETYPE_LIB_PATH) -lfreetype
- else #linux
- FT_LD_OPTIONS += -Wl,-rpath -Wl,$(FREETYPE_LIB_PATH) -lfreetype
+ ifeq ($(PLATFORM), linux)
+ FT_LD_OPTIONS += -Wl,-rpath -Wl,$(FREETYPE_LIB_PATH)
+ else # other unix
+ FT_LD_OPTIONS += -R $(FREETYPE_LIB_PATH)
endif
+ FT_LD_OPTIONS += -lfreetype
endif
FT_OPTIONS += -I$(FREETYPE_HEADERS_PATH)
FT_OPTIONS += -I$(FREETYPE_HEADERS_PATH)/freetype2
@@ -70,12 +71,12 @@ ifeq ($(PLATFORM), windows)
$(CC) $(FT_OPTIONS) $(CC_OBJECT_OUTPUT_FLAG)$(FT_OBJ) $<
$(LINK) $(FT_LD_OPTIONS) /OUT:$(FT_TEST) $(FT_OBJ)
$(CP) $(FREETYPE_DLL) $(@D)/
-ifdef MT
+ ifdef MT
$(CP) $(MSVCRNN_DLL_PATH)/$(MSVCRNN_DLL) $(@D)/
$(MT) /manifest $(FT_TEST).manifest /outputresource:$(FT_TEST);#1
-endif
+ endif
else
- @$(CC) $(FT_OPTIONS) $(CC_PROGRAM_OUTPUT_FLAG)$@ $< $(FT_LD_OPTIONS)
+ @$(CC) $(FT_OPTIONS) -o $@ $< $(FT_LD_OPTIONS)
endif
else
diff --git a/jdk/make/tools/src/build/tools/jdwpgen/ArrayRegionTypeNode.java b/jdk/make/tools/src/build/tools/jdwpgen/ArrayRegionTypeNode.java
index bc4d7ba..04afd02 100644
--- a/jdk/make/tools/src/build/tools/jdwpgen/ArrayRegionTypeNode.java
+++ b/jdk/make/tools/src/build/tools/jdwpgen/ArrayRegionTypeNode.java
@@ -35,7 +35,7 @@ class ArrayRegionTypeNode extends AbstractSimpleTypeNode {
}
String javaType() {
- return "List";
+ return "List<?>";
}
public void genJavaWrite(PrintWriter writer, int depth,
diff --git a/jdk/make/tools/src/build/tools/jdwpgen/OutNode.java b/jdk/make/tools/src/build/tools/jdwpgen/OutNode.java
index 1a0b426..a4c673a 100644
--- a/jdk/make/tools/src/build/tools/jdwpgen/OutNode.java
+++ b/jdk/make/tools/src/build/tools/jdwpgen/OutNode.java
@@ -89,7 +89,7 @@ class OutNode extends AbstractTypeListNode {
if (Main.genDebug) {
indent(writer, depth+1);
writer.println(
- "if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {");
+ "if ((vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {");
indent(writer, depth+2);
writer.print(
"vm.printTrace(\"Sending Command(id=\" + ps.pkt.id + \") ");
diff --git a/jdk/src/linux/doc/man/jcmd.1 b/jdk/src/linux/doc/man/jcmd.1
new file mode 100644
index 0000000..7d69057
--- /dev/null
+++ b/jdk/src/linux/doc/man/jcmd.1
@@ -0,0 +1,124 @@
+." 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.
+."
+." 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.
+."
+.TH jcmd 1 "22 Novembre 2011"
+
+.LP
+.SH "Name"
+jcmd \- Diagnostic Command
+.br
+
+.LP
+.SH "SYNOPSIS"
+.LP
+.nf
+\f3
+.fl
+\fP\f3jcmd\fP [ option ]
+.fl
+\f3jcmd\fP <\fIpid\fR | \fImain class\fR> PerfCounter.print
+.fl
+\f3jcmd\fP <\fIpid\fR | \fImain class\fR> \fIcommand\fR [\fIarguments\fR]
+.fl
+\f3jcmd\fP <\fIpid\fR | \fImain class\fR> -f \fIfile\fR
+.fl
+.fl
+.fi
+
+.LP
+.SH "DESCRIPTION"
+.LP
+.LP
+\f3jcmd\fP is a utility to send diagnostic command requests to a Java
+Virtual Machine supporting this feature. Used without arguments or with the \-l option, jcmd prints the list of running Java processes with their process id, their main class and their command line arguments. When a process id is specified on the command line, jcmd sends the diagnostic command request to the process with this id. When a main class is specified on the command line, jcmd sends the diagnostic command request to all Java processes with this main class. With the PerfCounter.print argument, jcmd prints the performance counters available on the targeted Java process(es). With the \-f option, jcmd sends to the targeted Java process(es) the diagnostic commands stored in the file \fIfile\fR.
+.LP
+\fP
+.fi
+
+.SH "OPTIONS"
+.LP
+.LP
+Options are mutually exclusive. Options, if used, should follow immediately after the command name.
+.LP
+.RS 3
+.TP 3
+\-l
+prints the list of running Java processes with their process id, their
+main class and their command line arguments.
+.TP 3
+\-h
+prints a help message.
+.br
+.br
+.TP 3
+\-help
+prints a help message
+.br
+.RE
+
+.LP
+.SH "PARAMETERS"
+.LP
+.RS 3
+.TP 3
+\fIpid\fR
+Identifies the process which will receive the diagnostic command requests. The process must be a Java process. To get a list of Java processes running on a machine, jps(1) or jcmd(1) may be used.
+.RE
+.LP
+.RS 3
+.TP 3
+\fImain class\fR
+Main class of the process which will receive the diagnostic command requests. If several running Java processes share this main class, the diagnostic command request will be sent to all these processes. To get a list of Java processes running on a machine, jps(1) or jcmd(1) may be used.
+.RE
+.RS 3
+.TP 3
+\fIcommand\fR [\fIarguments\fR]
+Invoke the diagnostic command called \fIcommand\fR on the targeted Java
+process(es). The list of available diagnostic commands for a given
+process can be obtained by invoking the 'help' command on this process.
+Each diagnostic command has its own set of \fIarguments\fR which can be
+obtained by invoking the 'help' command followed by the command name.
+.RE
+.RS 3
+.TP 3
+\fIPerfCounter.print\fR
+Print the performance counters available on the targeted Java
+process(es). The list of performance counters may vary with the Java
+process.
+.RE
+.RS 3
+.TP 3
+\fI-f file\fR
+Read commands from \fIfile\fR and invoke them on the targeted Java
+process(es). In \fIfile\fR, each command must be written on a single line.
+Lines starting with # are ignored. Processing of \fIfile\fR ends when
+all lines have been invoked or when a line containing the 'stop' keyword
+is read.
+.LP
+.SH "SEE ALSO"
+.LP
+.RS 3
+.TP 2
+o
+jps(1)
+.RE
+
+
diff --git a/jdk/src/share/bin/java.c b/jdk/src/share/bin/java.c
index d897977..37f13c8 100644
--- a/jdk/src/share/bin/java.c
+++ b/jdk/src/share/bin/java.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -426,6 +426,11 @@ JavaMain(void * _args)
exit(1);
}
+ if (showSettings != NULL) {
+ ShowSettings(env, showSettings);
+ CHECK_EXCEPTION_LEAVE(1);
+ }
+
if (printVersion || showVersion) {
PrintJavaVersion(env, showVersion);
CHECK_EXCEPTION_LEAVE(0);
@@ -434,10 +439,6 @@ JavaMain(void * _args)
}
}
- if (showSettings != NULL) {
- ShowSettings(env, showSettings);
- CHECK_EXCEPTION_LEAVE(1);
- }
/* If the user specified neither a class name nor a JAR file nor a module */
if (printXUsage || printUsage || what == 0 || mode == LM_UNKNOWN) {
PrintUsage(env, printXUsage);
@@ -1425,14 +1426,7 @@ LoadMainClass(JNIEnv *env, int mode, char *name)
"checkAndLoadMain",
"(ZILjava/lang/String;)Ljava/lang/Class;"));
- switch (mode) {
- case LM_CLASS:
- str = NewPlatformString(env, name);
- break;
- default:
- str = (*env)->NewStringUTF(env, name);
- break;
- }
+ str = NewPlatformString(env, name);
result = (*env)->CallStaticObjectMethod(env, cls, mid, USE_STDERR, mode, str);
if (JLI_IsTraceLauncher()) {
diff --git a/jdk/src/share/classes/com/sun/beans/TypeResolver.java b/jdk/src/share/classes/com/sun/beans/TypeResolver.java
index 8660213..baba362 100644
--- a/jdk/src/share/classes/com/sun/beans/TypeResolver.java
+++ b/jdk/src/share/classes/com/sun/beans/TypeResolver.java
@@ -154,7 +154,7 @@ public final class TypeResolver {
* @see #resolve(Type)
*/
public static Type resolve(Type actual, Type formal) {
- return new TypeResolver(actual).resolve(formal);
+ return getTypeResolver(actual).resolve(formal);
}
/**
@@ -169,7 +169,7 @@ public final class TypeResolver {
* @see #resolve(Type[])
*/
public static Type[] resolve(Type actual, Type[] formals) {
- return new TypeResolver(actual).resolve(formals);
+ return getTypeResolver(actual).resolve(formals);
}
/**
@@ -228,9 +228,20 @@ public final class TypeResolver {
return classes;
}
+ public static TypeResolver getTypeResolver(Type type) {
+ synchronized (CACHE) {
+ TypeResolver resolver = CACHE.get(type);
+ if (resolver == null) {
+ resolver = new TypeResolver(type);
+ CACHE.put(type, resolver);
+ }
+ return resolver;
+ }
+ }
+
+ private static final WeakCache<Type, TypeResolver> CACHE = new WeakCache<>();
- private final Map<TypeVariable<?>, Type> map
- = new HashMap<TypeVariable<?>, Type>();
+ private final Map<TypeVariable<?>, Type> map = new HashMap<>();
/**
* Constructs the type resolver for the given actual type.
diff --git a/jdk/src/share/classes/com/sun/beans/finder/AbstractFinder.java b/jdk/src/share/classes/com/sun/beans/finder/AbstractFinder.java
index 217bb9a..8ec9ffb 100644
--- a/jdk/src/share/classes/com/sun/beans/finder/AbstractFinder.java
+++ b/jdk/src/share/classes/com/sun/beans/finder/AbstractFinder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -54,7 +54,7 @@ abstract class AbstractFinder<T> {
/**
* Returns an array of {@code Class} objects
- * that represent the formal parameter types of the method
+ * that represent the formal parameter types of the method.
* Returns an empty array if the method takes no parameters.
*
* @param method the object that represents method
diff --git a/jdk/src/share/classes/com/sun/beans/finder/ConstructorFinder.java b/jdk/src/share/classes/com/sun/beans/finder/ConstructorFinder.java
index beb9bdc..cfc3a1c 100644
--- a/jdk/src/share/classes/com/sun/beans/finder/ConstructorFinder.java
+++ b/jdk/src/share/classes/com/sun/beans/finder/ConstructorFinder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -87,7 +87,7 @@ public final class ConstructorFinder extends AbstractFinder<Constructor<?>> {
/**
* Returns an array of {@code Class} objects
- * that represent the formal parameter types of the constructor
+ * that represent the formal parameter types of the constructor.
* Returns an empty array if the constructor takes no parameters.
*
* @param constructor the object that represents constructor
diff --git a/jdk/src/share/classes/com/sun/beans/finder/MethodFinder.java b/jdk/src/share/classes/com/sun/beans/finder/MethodFinder.java
index 7587c89..5fc97b2 100644
--- a/jdk/src/share/classes/com/sun/beans/finder/MethodFinder.java
+++ b/jdk/src/share/classes/com/sun/beans/finder/MethodFinder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
@@ -190,7 +190,7 @@ public final class MethodFinder extends AbstractFinder<Method> {
/**
* Returns an array of {@code Class} objects
- * that represent the formal parameter types of the method
+ * that represent the formal parameter types of the method.
* Returns an empty array if the method takes no parameters.
*
* @param method the object that represents method
@@ -226,6 +226,6 @@ public final class MethodFinder extends AbstractFinder<Method> {
*/
@Override
protected boolean isValid(Method method) {
- return Modifier.isPublic(method.getModifiers()) && method.getName().equals(this.name);
+ return !method.isBridge() && Modifier.isPublic(method.getModifiers()) && method.getName().equals(this.name);
}
}
diff --git a/jdk/src/share/classes/com/sun/java/swing/Painter.java b/jdk/src/share/classes/com/sun/java/swing/Painter.java
index b0bd846..b710126 100644
--- a/jdk/src/share/classes/com/sun/java/swing/Painter.java
+++ b/jdk/src/share/classes/com/sun/java/swing/Painter.java
@@ -29,5 +29,5 @@ package com.sun.java.swing;
*
* @deprecated Use {@link javax.swing.Painter} instead.
*/
-public interface Painter<T> extends javax.swing.Painter {
+public interface Painter<T> extends javax.swing.Painter<T> {
}
diff --git a/jdk/src/share/classes/com/sun/jdi/AbsentInformationException.java b/jdk/src/share/classes/com/sun/jdi/AbsentInformationException.java
index f5ef5b8..cc296a0 100644
--- a/jdk/src/share/classes/com/sun/jdi/AbsentInformationException.java
+++ b/jdk/src/share/classes/com/sun/jdi/AbsentInformationException.java
@@ -33,6 +33,7 @@ package com.sun.jdi;
*/
public class AbsentInformationException extends Exception
{
+ private static final long serialVersionUID = 4988939309582416373L;
public AbsentInformationException()
{
super();
diff --git a/jdk/src/share/classes/com/sun/jdi/ClassNotLoadedException.java b/jdk/src/share/classes/com/sun/jdi/ClassNotLoadedException.java
index b139b3f..5b2cebf 100644
--- a/jdk/src/share/classes/com/sun/jdi/ClassNotLoadedException.java
+++ b/jdk/src/share/classes/com/sun/jdi/ClassNotLoadedException.java
@@ -69,6 +69,7 @@ package com.sun.jdi;
*/
public class ClassNotLoadedException extends Exception
{
+ private static final long serialVersionUID = -6242978768444298722L;
private String className;
public ClassNotLoadedException(String className) {
diff --git a/jdk/src/share/classes/com/sun/jdi/ClassNotPreparedException.java b/jdk/src/share/classes/com/sun/jdi/ClassNotPreparedException.java
index cbee2bc..1455d8e 100644
--- a/jdk/src/share/classes/com/sun/jdi/ClassNotPreparedException.java
+++ b/jdk/src/share/classes/com/sun/jdi/ClassNotPreparedException.java
@@ -33,6 +33,7 @@ package com.sun.jdi;
* @since 1.3
*/
public class ClassNotPreparedException extends RuntimeException {
+ private static final long serialVersionUID = -6120698967144079642L;
public ClassNotPreparedException()
{
super();
diff --git a/jdk/src/share/classes/com/sun/jdi/IncompatibleThreadStateException.java b/jdk/src/share/classes/com/sun/jdi/IncompatibleThreadStateException.java
index 894762c..af9cac9 100644
--- a/jdk/src/share/classes/com/sun/jdi/IncompatibleThreadStateException.java
+++ b/jdk/src/share/classes/com/sun/jdi/IncompatibleThreadStateException.java
@@ -34,6 +34,7 @@ package com.sun.jdi;
*/
public class IncompatibleThreadStateException extends Exception
{
+ private static final long serialVersionUID = 6199174323414551389L;
public IncompatibleThreadStateException()
{
super();
diff --git a/jdk/src/share/classes/com/sun/jdi/InconsistentDebugInfoException.java b/jdk/src/share/classes/com/sun/jdi/InconsistentDebugInfoException.java
index 022895f..f03e3ba 100644
--- a/jdk/src/share/classes/com/sun/jdi/InconsistentDebugInfoException.java
+++ b/jdk/src/share/classes/com/sun/jdi/InconsistentDebugInfoException.java
@@ -35,6 +35,7 @@ package com.sun.jdi;
* @since 1.3
*/
public class InconsistentDebugInfoException extends RuntimeException {
+ private static final long serialVersionUID = 7964236415376861808L;
public InconsistentDebugInfoException() {
super();
}
diff --git a/jdk/src/share/classes/com/sun/jdi/InternalException.java b/jdk/src/share/classes/com/sun/jdi/InternalException.java
index 071d35f..c263c98 100644
--- a/jdk/src/share/classes/com/sun/jdi/InternalException.java
+++ b/jdk/src/share/classes/com/sun/jdi/InternalException.java
@@ -33,6 +33,7 @@ package com.sun.jdi;
* @since 1.3
*/
public class InternalException extends RuntimeException {
+ private static final long serialVersionUID = -9171606393104480607L;
private int errorCode;
public InternalException() {
diff --git a/jdk/src/share/classes/com/sun/jdi/InvalidCodeIndexException.java b/jdk/src/share/classes/com/sun/jdi/InvalidCodeIndexException.java
index 5bdb178..5959af4 100644
--- a/jdk/src/share/classes/com/sun/jdi/InvalidCodeIndexException.java
+++ b/jdk/src/share/classes/com/sun/jdi/InvalidCodeIndexException.java
@@ -36,6 +36,7 @@ package com.sun.jdi;
*/
@Deprecated
public class InvalidCodeIndexException extends RuntimeException {
+ private static final long serialVersionUID = 7416010225133747805L;
public InvalidCodeIndexException() {
super();
}
diff --git a/jdk/src/share/classes/com/sun/jdi/InvalidLineNumberException.java b/jdk/src/share/classes/com/sun/jdi/InvalidLineNumberException.java
index 279fcc0..9e8a476 100644
--- a/jdk/src/share/classes/com/sun/jdi/InvalidLineNumberException.java
+++ b/jdk/src/share/classes/com/sun/jdi/InvalidLineNumberException.java
@@ -36,6 +36,7 @@ package com.sun.jdi;
*/
@Deprecated
public class InvalidLineNumberException extends RuntimeException {
+ private static final long serialVersionUID = 4048709912372692875L;
public InvalidLineNumberException() {
super();
}
diff --git a/jdk/src/share/classes/com/sun/jdi/InvalidStackFrameException.java b/jdk/src/share/classes/com/sun/jdi/InvalidStackFrameException.java
index 86f68c8..f552e93 100644
--- a/jdk/src/share/classes/com/sun/jdi/InvalidStackFrameException.java
+++ b/jdk/src/share/classes/com/sun/jdi/InvalidStackFrameException.java
@@ -33,6 +33,7 @@ package com.sun.jdi;
* @since 1.3
*/
public class InvalidStackFrameException extends RuntimeException {
+ private static final long serialVersionUID = -1919378296505827922L;
public InvalidStackFrameException() {
super();
}
diff --git a/jdk/src/share/classes/com/sun/jdi/InvalidTypeException.java b/jdk/src/share/classes/com/sun/jdi/InvalidTypeException.java
index c6cfb29..9797e20 100644
--- a/jdk/src/share/classes/com/sun/jdi/InvalidTypeException.java
+++ b/jdk/src/share/classes/com/sun/jdi/InvalidTypeException.java
@@ -34,6 +34,7 @@ package com.sun.jdi;
*/
public class InvalidTypeException extends Exception
{
+ private static final long serialVersionUID = 2256667231949650806L;
public InvalidTypeException()
{
super();
diff --git a/jdk/src/share/classes/com/sun/jdi/InvocationException.java b/jdk/src/share/classes/com/sun/jdi/InvocationException.java
index 2130e53..176f982 100644
--- a/jdk/src/share/classes/com/sun/jdi/InvocationException.java
+++ b/jdk/src/share/classes/com/sun/jdi/InvocationException.java
@@ -34,6 +34,7 @@ package com.sun.jdi;
*/
public class InvocationException extends Exception
{
+ private static final long serialVersionUID = 6066780907971918568L;
ObjectReference exception;
public InvocationException(ObjectReference exception)
diff --git a/jdk/src/share/classes/com/sun/jdi/JDIPermission.java b/jdk/src/share/classes/com/sun/jdi/JDIPermission.java
index d915b3d..2d1174d 100644
--- a/jdk/src/share/classes/com/sun/jdi/JDIPermission.java
+++ b/jdk/src/share/classes/com/sun/jdi/JDIPermission.java
@@ -79,7 +79,7 @@ package com.sun.jdi;
*/
public final class JDIPermission extends java.security.BasicPermission {
-
+ private static final long serialVersionUID = -6988461416938786271L;
/**
* The <code>JDIPermission</code> class represents access rights to the
* <code>VirtualMachineManager</code>
diff --git a/jdk/src/share/classes/com/sun/jdi/NativeMethodException.java b/jdk/src/share/classes/com/sun/jdi/NativeMethodException.java
index b25f47d..c1dabad 100644
--- a/jdk/src/share/classes/com/sun/jdi/NativeMethodException.java
+++ b/jdk/src/share/classes/com/sun/jdi/NativeMethodException.java
@@ -34,6 +34,7 @@ package com.sun.jdi;
*/
public class NativeMethodException extends RuntimeException {
+ private static final long serialVersionUID = 3924951669039469992L;
public NativeMethodException() {
super();
}
diff --git a/jdk/src/share/classes/com/sun/jdi/ObjectCollectedException.java b/jdk/src/share/classes/com/sun/jdi/ObjectCollectedException.java
index e31a87c..f26f53d 100644
--- a/jdk/src/share/classes/com/sun/jdi/ObjectCollectedException.java
+++ b/jdk/src/share/classes/com/sun/jdi/ObjectCollectedException.java
@@ -33,6 +33,7 @@ package com.sun.jdi;
* @since 1.3
*/
public class ObjectCollectedException extends RuntimeException {
+ private static final long serialVersionUID = -1928428056197269588L;
public ObjectCollectedException() {
super();
}
diff --git a/jdk/src/share/classes/com/sun/jdi/VMCannotBeModifiedException.java b/jdk/src/share/classes/com/sun/jdi/VMCannotBeModifiedException.java
index 855c36b..d70c55e 100644
--- a/jdk/src/share/classes/com/sun/jdi/VMCannotBeModifiedException.java
+++ b/jdk/src/share/classes/com/sun/jdi/VMCannotBeModifiedException.java
@@ -33,6 +33,7 @@ package com.sun.jdi;
* @since 1.5
*/
public class VMCannotBeModifiedException extends UnsupportedOperationException {
+ private static final long serialVersionUID = -4063879815130164009L;
public VMCannotBeModifiedException() {
super();
}
diff --git a/jdk/src/share/classes/com/sun/jdi/VMDisconnectedException.java b/jdk/src/share/classes/com/sun/jdi/VMDisconnectedException.java
index 4025995..8622e7f 100644
--- a/jdk/src/share/classes/com/sun/jdi/VMDisconnectedException.java
+++ b/jdk/src/share/classes/com/sun/jdi/VMDisconnectedException.java
@@ -35,6 +35,7 @@ package com.sun.jdi;
*/
public class VMDisconnectedException extends RuntimeException {
+ private static final long serialVersionUID = 2892975269768351637L;
public VMDisconnectedException() {
super();
}
diff --git a/jdk/src/share/classes/com/sun/jdi/VMMismatchException.java b/jdk/src/share/classes/com/sun/jdi/VMMismatchException.java
index cfa7fd6..f3b5575 100644
--- a/jdk/src/share/classes/com/sun/jdi/VMMismatchException.java
+++ b/jdk/src/share/classes/com/sun/jdi/VMMismatchException.java
@@ -34,6 +34,7 @@ package com.sun.jdi;
* @since 1.3
*/
public class VMMismatchException extends RuntimeException {
+ private static final long serialVersionUID = 289169358790459564L;
public VMMismatchException() {
super();
}
diff --git a/jdk/src/share/classes/com/sun/jdi/VMOutOfMemoryException.java b/jdk/src/share/classes/com/sun/jdi/VMOutOfMemoryException.java
index 0908aa1..74f07b4 100644
--- a/jdk/src/share/classes/com/sun/jdi/VMOutOfMemoryException.java
+++ b/jdk/src/share/classes/com/sun/jdi/VMOutOfMemoryException.java
@@ -33,6 +33,7 @@ package com.sun.jdi;
* @since 1.3
*/
public class VMOutOfMemoryException extends RuntimeException {
+ private static final long serialVersionUID = 71504228548910686L;
public VMOutOfMemoryException() {
super();
}
diff --git a/jdk/src/share/classes/com/sun/jdi/connect/IllegalConnectorArgumentsException.java b/jdk/src/share/classes/com/sun/jdi/connect/IllegalConnectorArgumentsException.java
index f8c693d..004a685 100644
--- a/jdk/src/share/classes/com/sun/jdi/connect/IllegalConnectorArgumentsException.java
+++ b/jdk/src/share/classes/com/sun/jdi/connect/IllegalConnectorArgumentsException.java
@@ -38,6 +38,7 @@ import java.util.Collections;
*/
public class IllegalConnectorArgumentsException extends Exception
{
+ private static final long serialVersionUID = -3042212603611350941L;
List<String> names;
/**
diff --git a/jdk/src/share/classes/com/sun/jdi/connect/TransportTimeoutException.java b/jdk/src/share/classes/com/sun/jdi/connect/TransportTimeoutException.java
index 759b44f..423c9cc 100644
--- a/jdk/src/share/classes/com/sun/jdi/connect/TransportTimeoutException.java
+++ b/jdk/src/share/classes/com/sun/jdi/connect/TransportTimeoutException.java
@@ -55,7 +55,7 @@ package com.sun.jdi.connect;
* @since 1.5
*/
public class TransportTimeoutException extends java.io.IOException {
-
+ private static final long serialVersionUID = 4107035242623365074L;
/**
* Constructs a <tt>TransportTimeoutException</tt> with no detail
* message.
diff --git a/jdk/src/share/classes/com/sun/jdi/connect/VMStartException.java b/jdk/src/share/classes/com/sun/jdi/connect/VMStartException.java
index 9eb6fc5..93919ff 100644
--- a/jdk/src/share/classes/com/sun/jdi/connect/VMStartException.java
+++ b/jdk/src/share/classes/com/sun/jdi/connect/VMStartException.java
@@ -36,6 +36,7 @@ package com.sun.jdi.connect;
*/
public class VMStartException extends Exception
{
+ private static final long serialVersionUID = 6408644824640801020L;
Process process;
public VMStartException(Process process) {
diff --git a/jdk/src/share/classes/com/sun/jdi/connect/spi/ClosedConnectionException.java b/jdk/src/share/classes/com/sun/jdi/connect/spi/ClosedConnectionException.java
index 36d8a08..e167547 100644
--- a/jdk/src/share/classes/com/sun/jdi/connect/spi/ClosedConnectionException.java
+++ b/jdk/src/share/classes/com/sun/jdi/connect/spi/ClosedConnectionException.java
@@ -46,7 +46,7 @@ package com.sun.jdi.connect.spi;
* @since 1.5
*/
public class ClosedConnectionException extends java.io.IOException {
-
+ private static final long serialVersionUID = 3877032124297204774L;
/**
* Constructs a <tt>ClosedConnectionException</tt> with no detail
* message.
diff --git a/jdk/src/share/classes/com/sun/jdi/request/DuplicateRequestException.java b/jdk/src/share/classes/com/sun/jdi/request/DuplicateRequestException.java
index 56c8d58..731f15d 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/DuplicateRequestException.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/DuplicateRequestException.java
@@ -33,6 +33,7 @@ package com.sun.jdi.request;
*/
public class DuplicateRequestException extends RuntimeException
{
+ private static final long serialVersionUID = -3719784920313411060L;
public DuplicateRequestException()
{
super();
diff --git a/jdk/src/share/classes/com/sun/jdi/request/InvalidRequestStateException.java b/jdk/src/share/classes/com/sun/jdi/request/InvalidRequestStateException.java
index 674980b..b444620 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/InvalidRequestStateException.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/InvalidRequestStateException.java
@@ -36,6 +36,7 @@ package com.sun.jdi.request;
* @since 1.3
*/
public class InvalidRequestStateException extends RuntimeException {
+ private static final long serialVersionUID = -3774632428543322148L;
public InvalidRequestStateException()
{
super();
diff --git a/jdk/src/share/classes/com/sun/management/DiagnosticCommandArgumentInfo.java b/jdk/src/share/classes/com/sun/management/DiagnosticCommandArgumentInfo.java
new file mode 100644
index 0000000..e42bff6
--- /dev/null
+++ b/jdk/src/share/classes/com/sun/management/DiagnosticCommandArgumentInfo.java
@@ -0,0 +1,151 @@
+/*
+ * 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.
+ */
+
+package com.sun.management;
+
+import java.beans.ConstructorProperties;
+
+/**
+ * Diagnostic Command Argument information. It contains the description
+ * of one parameter of the diagnostic command. A parameter can either be an
+ * option or an argument. Options are identified by the option name while
+ * arguments are identified by their position in the command line. The generic
+ * syntax of a diagnostic command is:
+ * <blockquote>
+ * <command name> [<option>=<value>] [<argument_value>]
+ * </blockquote>
+ * Example:
+ * <blockquote>
+ * command_name option1=value1 option2=value argumentA argumentB argumentC
+ * </blockquote>
+ * In this command line, the diagnostic command receives five parameters, two
+ * options named {@code option1} and {@code option2}, and three arguments.
+ * argumentA's position is 0, argumentB's position is 1 and argumentC's
+ * position is 2.
+ *
+ * @author Frederic Parain
+ * @since 7u4
+ */
+
+public class DiagnosticCommandArgumentInfo {
+ private final String name;
+ private final String description;
+ private final String type;
+ private final String defaultValue;
+ private final boolean mandatory;
+ private final boolean option;
+ private final int position;
+
+ /**
+ * Returns the argument name
+ *
+ * @return the argument name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Returns the argument description
+ *
+ * @return the argument description
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * Returns the argument type
+ *
+ * @return the argument type
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * Returns the default value as a String if a default value
+ * is defined, null otherwise.
+ *
+ * @return the default value as a String if a default value
+ * is defined, null otherwise.
+ */
+ public String getDefault() {
+ return defaultValue;
+ }
+
+ /**
+ * Returns {@code true} if the argument is mandatory,
+ * {@code false} otherwise
+ *
+ * @return {@code true} if the argument is mandatory,
+ * {@code false} otherwise
+ */
+ public boolean isMandatory() {
+ return mandatory;
+ }
+
+ /**
+ * Returns {@code true} if the argument is an option,
+ * {@code false} otherwise. Options have to be specified using the
+ * <key>=<value> syntax on the command line, while other
+ * arguments are specified with a single <value> field and are
+ * identified by their position on command line.
+ *
+ * @return {@code true} if the argument is an option,
+ * {@code false} otherwise
+ */
+ public boolean isOption() {
+ return option;
+ }
+
+ /**
+ * Returns the expected position of this argument if it is not an option,
+ * -1 otherwise. Argument position if defined from left to right,
+ * starting at zero and ignoring the diagnostic command name and
+ * options.
+ *
+ * @return the expected position of this argument if it is not an option,
+ * -1 otherwise.
+ */
+ public int getPosition() {
+ return position;
+ }
+
+ @ConstructorProperties({"name","description","type","default",
+ "mandatory","option","position"})
+ public DiagnosticCommandArgumentInfo(String name, String description,
+ String type, String defaultValue,
+ boolean mandatory, boolean option,
+ int position) {
+ this.name = name;
+ this.description = description;
+ this.type = type;
+ this.defaultValue = defaultValue;
+ this.mandatory = mandatory;
+ this.option = option;
+ this.position = position;
+ }
+}
diff --git a/jdk/src/share/classes/com/sun/management/DiagnosticCommandInfo.java b/jdk/src/share/classes/com/sun/management/DiagnosticCommandInfo.java
new file mode 100644
index 0000000..4ce56c1
--- /dev/null
+++ b/jdk/src/share/classes/com/sun/management/DiagnosticCommandInfo.java
@@ -0,0 +1,110 @@
+/*
+ * 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.
+ */
+
+package com.sun.management;
+
+import java.beans.ConstructorProperties;
+import java.util.List;
+
+/**
+ * Diagnostic command information. It contains the description of a
+ * diagnostic command.
+ *
+ * @author Frederic Parain
+ * @since 7u4
+ */
+
+public class DiagnosticCommandInfo {
+ private final String name;
+ private final String description;
+ private final String impact;
+ private final boolean enabled;
+ private final List<DiagnosticCommandArgumentInfo> arguments;
+
+ /**
+ * Returns the diagnostic command name
+ *
+ * @return the diagnostic command name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Returns the diagnostic command description
+ *
+ * @return the diagnostic command description
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * Returns the potential impact of the diagnostic command execution
+ * on the Java virtual machine behavior
+ *
+ * @return the potential impact of the diagnostic command execution
+ * on the Java virtual machine behavior
+ */
+ public String getImpact() {
+ return impact;
+ }
+
+ /**
+ * Returns {@code true} if the diagnostic command is enabled,
+ * {@code false} otherwise. The enabled/disabled
+ * status of a diagnostic command can evolve during
+ * the lifetime of the Java virtual machine.
+ *
+ * @return {@code true} if the diagnostic command is enabled,
+ * {@code false} otherwise
+ */
+ public boolean isEnabled() {
+ return enabled;
+ }
+
+ /**
+ * Returns the list of the diagnostic command arguments description.
+ * If the diagnostic command has no arguments, it returns an empty list.
+ *
+ * @return a list of the diagnostic command arguments description
+ */
+ public List<DiagnosticCommandArgumentInfo> getArgumentsInfo() {
+ return arguments;
+ }
+
+ @ConstructorProperties({"name", "description","impact","enabled",
+ "argumentsInfo"})
+ public DiagnosticCommandInfo(String name, String description,
+ String impact, boolean enabled,
+ List<DiagnosticCommandArgumentInfo> arguments)
+ {
+ this.name = name;
+ this.description = description;
+ this.impact = impact;
+ this.enabled = enabled;
+ this.arguments = arguments;
+ }
+}
diff --git a/jdk/src/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java b/jdk/src/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java
index 5dfaccb..63b813f 100644
--- a/jdk/src/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java
+++ b/jdk/src/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, 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
@@ -25,11 +25,18 @@
package com.sun.management;
+import java.util.List;
import java.lang.management.PlatformManagedObject;
/**
* Diagnostic management interface for the HotSpot Virtual Machine.
- * The diagnostic MBean is registered to the platform MBeanServer
+ *
+ * <p>{@linkplain #getDiagnosticCommands Diagnostic commands}
+ * are actions that can be invoked dynamically and
+ * executed in a target Java virtual machine, mainly for troubleshooting
+ * and diagnosis.
+ *
+ * <p>The diagnostic MBean is registered to the platform MBeanServer
* as are other platform MBeans.
*
* <p>The <tt>ObjectName</tt> for uniquely identifying the diagnostic
@@ -41,6 +48,9 @@ import java.lang.management.PlatformManagedObject;
* It can be obtained by calling the
* {@link PlatformManagedObject#getObjectName} method.
*
+ * All methods throw a {@code NullPointerException} if any input argument is
+ * {@code null} unless it's stated otherwise.
+ *
* @see ManagementFactory#getPlatformMXBeans(Class)
*/
public interface HotSpotDiagnosticMXBean extends PlatformManagedObject {
@@ -101,9 +111,113 @@ public interface HotSpotDiagnosticMXBean extends PlatformManagedObject {
* @throws IllegalArgumentException if the VM option is not writeable.
* @throws NullPointerException if name or value is <tt>null</tt>.
*
- * @throws java.security.SecurityException
+ * @throws java.lang.SecurityException
* if a security manager exists and the caller does not have
* ManagementPermission("control").
*/
public void setVMOption(String name, String value);
+
+ /**
+ * Returns the {@linkplain DiagnosticCommandInfo#getName() names}
+ * of all diagnostic commands.
+ * A diagnostic command is an action that can be invoked dynamically
+ * mainly for troubleshooting and diagnosis. The list of diagnostic
+ * commands may change at runtime. A diagnostic command may be
+ * {@linkplain DiagnosticCommandInfo#isEnabled disabled} but will
+ * not be removed from a previously returned list.
+ *
+ * @return the names of all diagnostic commands.
+ *
+ * @since 7u4
+ */
+ public List<String> getDiagnosticCommands();
+
+ /**
+ * Returns a {@code DiagnosticCommandInfo} object describing the
+ * diagnostic command of the specified name {@code command}
+ *
+ * @param command a diagnostic command name
+ * @return a {@code DiagnosticCommandInfo} object
+ * @throws java.lang.IllegalArgumentException if the {@code command}
+ * doesn't match any diagnostic command registered in the
+ * targeted Java virtual machine.
+ *
+ * @since 7u4
+ */
+ public DiagnosticCommandInfo getDiagnosticCommandInfo(String command);
+
+ /**
+ * Returns a list of {@code DiagnosticCommandInfo} object describing
+ * all diagnostic commands available on the targeted Java virtual machine
+ *
+ * @return a list of {@code DiagnosticCommandInfo} objects
+ *
+ * @since 7u4
+ */
+ public List<DiagnosticCommandInfo> getDiagnosticCommandInfo();
+
+ /**
+ * Returns a list of {@code DiagnosticCommandInfo} object describing
+ * all diagnostic commands specified in the {@code commands} list.
+ *
+ * @param commands {@code List} of {@code String} containing diagnostic
+ * command names
+ * @return a {@code List} of {@code DiagnosticCommandInfo} objects
+ *
+ * @throws java.lang.IllegalArgumentException if at least one
+ * command specified in the {@code commands } list
+ * doesn't match any diagnostic command registered in the
+ * targeted Java virtual machine.
+ *
+ * @since 7u4
+ */
+ public List<DiagnosticCommandInfo> getDiagnosticCommandInfo(List<String> commands);
+
+ /**
+ * Executes the command line {@code commandLine}. The command line must
+ * start with a diagnostic command name, optionally followed by parameters.
+ * Each command has its own syntax but the generic syntax for a diagnostic
+ * command line is:
+ * <blockquote>
+ * <command name> [<option>=<value>] [<argument_value>]
+ * </blockquote>
+ *
+ * @param commandLine command line to execute
+ * @return a {@code String} object containing the diagnostic command
+ * output.
+ *
+ * @throws java.lang.IllegalArgumentException if the command line doesn't
+ * match any diagnostic command registered in the virtual machine
+ * of if the parameters don't match the diagnostic command syntax.
+ * @throws java.lang.SecurityException
+ * if a security manager exists and the caller does not have
+ * ManagementPermission("control").
+ *
+ * @since 7u4
+ */
+ public String execute(String commandLine);
+
+ /**
+ * Invokes the diagnostic command named {@code cmd} with the parameters
+ * specified in {@code args}. Each command has its own syntax but
+ * the generic syntax for parameters is:
+ * <blockquote>
+ * [<option>=<value>] [<argument_value>]
+ * </blockquote>
+ *
+ * @param cmd a diagnostic command name
+ * @param args the command parameters
+ * @return a {@code String} object containing the diagnostic command
+ * output.
+ *
+ * @throws java.lang.IllegalArgumentException if the command line doesn't
+ * match any diagnostic command registered in the virtual machine
+ * of if the parameters don't match the diagnostic command syntax.
+ * @throws java.lang.SecurityException
+ * if a security manager exists and the caller does not have
+ * ManagementPermission("control").
+ *
+ * @since 7u4
+ */
+ public String execute(String cmd, String... args);
}
diff --git a/jdk/src/share/classes/com/sun/media/sound/JSSecurityManager.java b/jdk/src/share/classes/com/sun/media/sound/JSSecurityManager.java
index c90578d..8e7928d 100644
--- a/jdk/src/share/classes/com/sun/media/sound/JSSecurityManager.java
+++ b/jdk/src/share/classes/com/sun/media/sound/JSSecurityManager.java
@@ -34,15 +34,13 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Properties;
+import java.util.ServiceLoader;
import java.security.AccessController;
import java.security.PrivilegedAction;
import javax.sound.sampled.AudioPermission;
-import sun.misc.Service;
-
-
/** Managing security in the Java Sound implementation.
* This class contains all code that uses and is used by
* SecurityManager.doPrivileged().
@@ -80,8 +78,8 @@ class JSSecurityManager {
try {
if (hasSecurityManager()) {
if(Printer.debug) Printer.debug("using security manager to load library");
- PrivilegedAction action = new PrivilegedAction() {
- public Object run() {
+ PrivilegedAction<Void> action = new PrivilegedAction<Void>() {
+ public Void run() {
System.loadLibrary(libName);
return null;
}
@@ -104,8 +102,8 @@ class JSSecurityManager {
if (hasSecurityManager()) {
if(Printer.debug) Printer.debug("using JDK 1.2 security to get property");
try{
- PrivilegedAction action = new PrivilegedAction() {
- public Object run() {
+ PrivilegedAction<String> action = new PrivilegedAction<String>() {
+ public String run() {
try {
return System.getProperty(propertyName);
} catch (Throwable t) {
@@ -113,7 +111,7 @@ class JSSecurityManager {
}
}
};
- propertyValue = (String) AccessController.doPrivileged(action);
+ propertyValue = AccessController.doPrivileged(action);
} catch( Exception e ) {
if(Printer.debug) Printer.debug("not using JDK 1.2 security to get properties");
propertyValue = System.getProperty(propertyName);
@@ -142,8 +140,8 @@ class JSSecurityManager {
if(hasSecurityManager()) {
try {
// invoke the privileged action using 1.2 security
- PrivilegedAction action = new PrivilegedAction() {
- public Object run() {
+ PrivilegedAction<Void> action = new PrivilegedAction<Void>() {
+ public Void run() {
loadPropertiesImpl(properties, filename);
return null;
}
@@ -197,8 +195,8 @@ class JSSecurityManager {
if(hasSecurityManager()) {
try {
// invoke the privileged action using 1.2 security
- PrivilegedAction action = new PrivilegedAction() {
- public Object run() {
+ PrivilegedAction<ThreadGroup> action = new PrivilegedAction<ThreadGroup>() {
+ public ThreadGroup run() {
try {
return getTopmostThreadGroupImpl();
} catch (Throwable t) {
@@ -206,7 +204,7 @@ class JSSecurityManager {
}
}
};
- topmostThreadGroup = (ThreadGroup) AccessController.doPrivileged(action);
+ topmostThreadGroup = AccessController.doPrivileged(action);
if(Printer.debug)Printer.debug("Got topmost thread group with JDK 1.2 security");
} catch (Exception e) {
if(Printer.debug)Printer.debug("Exception getting topmost thread group with JDK 1.2 security");
@@ -240,8 +238,8 @@ class JSSecurityManager {
final boolean doStart) {
Thread thread = null;
if(hasSecurityManager()) {
- PrivilegedAction action = new PrivilegedAction() {
- public Object run() {
+ PrivilegedAction<Thread> action = new PrivilegedAction<Thread>() {
+ public Thread run() {
try {
return createThreadImpl(runnable, threadName,
isDaemon, priority,
@@ -251,7 +249,7 @@ class JSSecurityManager {
}
}
};
- thread = (Thread) AccessController.doPrivileged(action);
+ thread = AccessController.doPrivileged(action);
if(Printer.debug) Printer.debug("created thread with JDK 1.2 security");
} else {
if(Printer.debug)Printer.debug("not using JDK 1.2 security");
@@ -282,11 +280,11 @@ class JSSecurityManager {
}
- static List getProviders(final Class providerClass) {
- List p = new ArrayList();
- // Service.providers(Class) just creates "lazy" iterator instance,
- // so it doesn't require do be called from privileged section
- final Iterator ps = Service.providers(providerClass);
+ static <T> List<T> getProviders(final Class<T> providerClass) {
+ List<T> p = new ArrayList<>();
+ // ServiceLoader creates "lazy" iterator instance, so it doesn't,
+ // require do be called from privileged section
+ final Iterator<T> ps = ServiceLoader.load(providerClass).iterator();
// the iterator's hasNext() method looks through classpath for
// the provider class names, so it requires read permissions
@@ -301,7 +299,7 @@ class JSSecurityManager {
// the iterator's next() method creates instances of the
// providers and it should be called in the current security
// context
- Object provider = ps.next();
+ T provider = ps.next();
if (providerClass.isInstance(provider)) {
// $$mp 2003-08-22
// Always adding at the beginning reverses the
diff --git a/jdk/src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java b/jdk/src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java
index ec8b91c..7b5c053 100644
--- a/jdk/src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java
+++ b/jdk/src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java
@@ -25,50 +25,58 @@
package com.sun.net.httpserver.spi;
-import java.io.FileDescriptor;
import java.io.IOException;
import java.net.*;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.Iterator;
-import sun.misc.Service;
-import sun.misc.ServiceConfigurationError;
-import sun.security.action.GetPropertyAction;
+import java.util.ServiceLoader;
+import java.util.ServiceConfigurationError;
import com.sun.net.httpserver.*;
/**
* Service provider class for HttpServer.
- * Sub-classes of HttpServerProvider provide an implementation of {@link HttpServer} and
- * associated classes. Applications do not normally use this class.
- * See {@link #provider()} for how providers are found and loaded.
+ * Sub-classes of HttpServerProvider provide an implementation of
+ * {@link HttpServer} and associated classes. Applications do not normally use
+ * this class. See {@link #provider()} for how providers are found and loaded.
*/
public abstract class HttpServerProvider {
/**
* creates a HttpServer from this provider
- * @param addr the address to bind to. May be <code>null</code>
- * @param backlog the socket backlog. A value of <code>zero</code> means the systems default
+ *
+ * @param addr
+ * the address to bind to. May be {@code null}
+ *
+ * @param backlog
+ * the socket backlog. A value of {@code zero} means the systems default
*/
- public abstract HttpServer createHttpServer (InetSocketAddress addr, int backlog) throws IOException;
+ public abstract HttpServer createHttpServer(InetSocketAddress addr,
+ int backlog)
+ throws IOException;
/**
* creates a HttpsServer from this provider
- * @param addr the address to bind to. May be <code>null</code>
- * @param backlog the socket backlog. A value of <code>zero</code> means the systems default
+ *
+ * @param addr
+ * the address to bind to. May be {@code null}
+ *
+ * @param backlog
+ * the socket backlog. A value of {@code zero} means the systems default
*/
- public abstract HttpsServer createHttpsServer (InetSocketAddress addr, int backlog) throws IOException;
-
-
+ public abstract HttpsServer createHttpsServer(InetSocketAddress addr,
+ int backlog)
+ throws IOException;
private static final Object lock = new Object();
private static HttpServerProvider provider = null;
/**
- * Initializes a new instance of this class. </p>
+ * Initializes a new instance of this class.
*
* @throws SecurityException
* If a security manager has been installed and it denies
- * {@link RuntimePermission}<tt>("httpServerProvider")</tt>
+ * {@link RuntimePermission}{@code("httpServerProvider")}
*/
protected HttpServerProvider() {
SecurityManager sm = System.getSecurityManager();
@@ -82,21 +90,22 @@ public abstract class HttpServerProvider {
return false;
try {
Class<?> c = Class.forName(cn, true,
- ClassLoader.getSystemClassLoader());
+ ClassLoader.getSystemClassLoader());
provider = (HttpServerProvider)c.newInstance();
return true;
} catch (ClassNotFoundException |
IllegalAccessException |
InstantiationException |
SecurityException x) {
- throw new ServiceConfigurationError(x);
+ throw new ServiceConfigurationError(null, x);
}
}
private static boolean loadProviderAsService() {
- @SuppressWarnings("unchecked")
- Iterator<HttpServerProvider> i = Service.providers(HttpServerProvider.class,
- ClassLoader.getSystemClassLoader());
+ Iterator<HttpServerProvider> i =
+ ServiceLoader.load(HttpServerProvider.class,
+ ClassLoader.getSystemClassLoader())
+ .iterator();
for (;;) {
try {
if (!i.hasNext())
@@ -123,19 +132,19 @@ public abstract class HttpServerProvider {
* <ol>
*
* <li><p> If the system property
- * <tt>com.sun.net.httpserver.HttpServerProvider</tt> is defined then it is
- * taken to be the fully-qualified name of a concrete provider class.
+ * {@code com.sun.net.httpserver.HttpServerProvider} is defined then it
+ * is taken to be the fully-qualified name of a concrete provider class.
* The class is loaded and instantiated; if this process fails then an
* unspecified unchecked error or exception is thrown. </p></li>
*
* <li><p> If a provider class has been installed in a jar file that is
* visible to the system class loader, and that jar file contains a
* provider-configuration file named
- * <tt>com.sun.net.httpserver.HttpServerProvider</tt> in the resource
+ * {@code com.sun.net.httpserver.HttpServerProvider} in the resource
* directory <tt>META-INF/services</tt>, then the first class name
* specified in that file is taken. The class is loaded and
- * instantiated; if this process fails then an unspecified unchecked error or exception is
- * thrown. </p></li>
+ * instantiated; if this process fails then an unspecified unchecked error
+ * or exception is thrown. </p></li>
*
* <li><p> Finally, if no provider has been specified by any of the above
* means then the system-default provider class is instantiated and the
diff --git a/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java b/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java
index 8008049..9b46705 100644
--- a/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java
+++ b/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java
@@ -357,7 +357,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
// set the Reader, this maybe overridden latter
provider =
- (SyncProvider)SyncFactory.getInstance(DEFAULT_SYNC_PROVIDER);
+ SyncFactory.getInstance(DEFAULT_SYNC_PROVIDER);
if (!(provider instanceof RIOptimisticProvider)) {
throw new SQLException(resBundle.handleGetObject("cachedrowsetimpl.invalidp").toString());
@@ -445,11 +445,10 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
* @param env a <code>Hashtable</code> object with a list of desired
* synchronization providers
* @throws SQLException if the requested provider cannot be found by the
- * synchonization factory
+ * synchronization factory
* @see SyncProvider
*/
-
- public CachedRowSetImpl(Hashtable env) throws SQLException {
+ public CachedRowSetImpl(@SuppressWarnings("rawtypes") Hashtable env) throws SQLException {
try {
@@ -467,7 +466,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
// set the Reader, this maybe overridden latter
provider =
- (SyncProvider)SyncFactory.getInstance(providerName);
+ SyncFactory.getInstance(providerName);
rowSetReader = provider.getRowSetReader();
rowSetWriter = provider.getRowSetWriter();
@@ -525,7 +524,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
iMatchColumns = new Vector<Integer>(10);
for(int i = 0; i < 10 ; i++) {
- iMatchColumns.add(i,Integer.valueOf(-1));
+ iMatchColumns.add(i, -1);
}
strMatchColumns = new Vector<String>(10);
@@ -540,7 +539,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
*/
private void checkTransactionalWriter() {
if (rowSetWriter != null) {
- Class c = rowSetWriter.getClass();
+ Class<?> c = rowSetWriter.getClass();
if (c != null) {
Class[] theInterfaces = c.getInterfaces();
for (int i = 0; i < theInterfaces.length; i++) {
@@ -685,7 +684,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
obj = new SerialArray((java.sql.Array)obj);
}
- ((Row)currentRow).initColumnObject(i, obj);
+ currentRow.initColumnObject(i, obj);
}
rowsFetched++;
rvh.add(currentRow);
@@ -881,7 +880,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
cursorPos = saveCursorPos;
}
- if ((tXWriter) && this.COMMIT_ON_ACCEPT_CHANGES) {
+ if (tXWriter) {
// do commit/rollback's here
if (!conflict) {
tWriter = (TransactionalWriter)rowSetWriter;
@@ -901,7 +900,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
if (success == true) {
setOriginal();
- } else if (!(success) && !(this.COMMIT_ON_ACCEPT_CHANGES)) {
+ } else if (!(success) ) {
throw new SyncProviderException(resBundle.handleGetObject("cachedrowsetimpl.accfailed").toString());
}
@@ -938,10 +937,8 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
* @see javax.sql.rowset.spi.SyncProvider
*/
public void acceptChanges(Connection con) throws SyncProviderException{
-
setConnection(con);
acceptChanges();
-
}
/**
@@ -957,7 +954,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
*/
public void restoreOriginal() throws SQLException {
Row currentRow;
- for (Iterator i = rvh.iterator(); i.hasNext();) {
+ for (Iterator<?> i = rvh.iterator(); i.hasNext();) {
currentRow = (Row)i.next();
if (currentRow.getInserted() == true) {
i.remove();
@@ -1287,7 +1284,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
TreeMap<Integer, Object> tMap = new TreeMap<>();
for (int i = 0; i<numRows; i++) {
- tMap.put(Integer.valueOf(i), rvh.get(i));
+ tMap.put(i, rvh.get(i));
}
return (tMap.values());
@@ -1379,7 +1376,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
*/
public void setSyncProvider(String providerStr) throws SQLException {
provider =
- (SyncProvider)SyncFactory.getInstance(providerStr);
+ SyncFactory.getInstance(providerStr);
rowSetReader = provider.getRowSetReader();
rowSetWriter = provider.getRowSetWriter();
@@ -1880,7 +1877,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
// check for SQL NULL
if (value == null) {
setLastValueNull(true);
- return (int)0;
+ return 0;
}
try {
@@ -2353,7 +2350,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
throw new SQLException(ex.getMessage());
}
- return (java.io.InputStream)asciiStream;
+ return asciiStream;
}
/**
@@ -2399,7 +2396,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
unicodeStream = new StringBufferInputStream(value.toString());
- return (java.io.InputStream)unicodeStream;
+ return unicodeStream;
}
/**
@@ -2454,7 +2451,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
binaryStream = new ByteArrayInputStream((byte[])value);
- return (java.io.InputStream)binaryStream;
+ return binaryStream;
}
@@ -2958,7 +2955,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
Struct s = (Struct)value;
map = getTypeMap();
// look up the class in the map
- Class c = (Class)map.get(s.getSQLTypeName());
+ Class<?> c = map.get(s.getSQLTypeName());
if (c != null) {
// create new instance of the class
SQLData obj = null;
@@ -3091,7 +3088,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
throw new SQLException(resBundle.handleGetObject("cachedrowsetimpl.dtypemismt").toString());
}
- return (java.io.Reader)charStream;
+ return charStream;
}
/**
@@ -4006,7 +4003,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
switch (trgType) {
case java.sql.Types.BIT:
Integer i = Integer.valueOf(srcObj.toString().trim());
- return i.equals(Integer.valueOf((int)0)) ?
+ return i.equals(0) ?
Boolean.valueOf(false) :
Boolean.valueOf(true);
case java.sql.Types.TINYINT:
@@ -4173,7 +4170,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
switch (trgType) {
case java.sql.Types.BIT:
Integer i = Integer.valueOf(srcObj.toString().trim());
- return i.equals(Integer.valueOf((int)0)) ?
+ return i.equals(0) ?
Boolean.valueOf(false) :
Boolean.valueOf(true);
case java.sql.Types.BOOLEAN:
@@ -4358,7 +4355,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
checkIndex(columnIndex);
// make sure the cursor is on a valid row
checkCursor();
- Object obj = convertNumeric(Integer.valueOf(x),
+ Object obj = convertNumeric(x,
java.sql.Types.INTEGER,
RowSetMD.getColumnType(columnIndex));
@@ -5709,7 +5706,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
Struct s = (Struct)value;
// look up the class in the map
- Class c = (Class)map.get(s.getSQLTypeName());
+ Class<?> c = map.get(s.getSQLTypeName());
if (c != null) {
// create new instance of the class
SQLData obj = null;
@@ -6293,7 +6290,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
int colCount = RowSetMD.getColumnCount();
Row orig;
- for (Iterator i = rvh.iterator(); i.hasNext();) {
+ for (Iterator<?> i = rvh.iterator(); i.hasNext();) {
orig = new Row(colCount, ((Row)i.next()).getOrigRow());
crs.rvh.add(orig);
}
@@ -6379,7 +6376,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
* @throws SQLException if an error occurs
*/
public void setOriginal() throws SQLException {
- for (Iterator i = rvh.iterator(); i.hasNext();) {
+ for (Iterator<?> i = rvh.iterator(); i.hasNext();) {
Row row = (Row)i.next();
makeRowOriginal(row);
// remove deleted rows from the collection.
@@ -6930,7 +6927,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
}
for( int i = 0;i < columnIdxes.length ;i++) {
- iMatchColumns.set(i,Integer.valueOf(-1));
+ iMatchColumns.set(i, -1);
}
}
@@ -6998,7 +6995,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
int [] i_temp = new int[iMatchColumns.size()];
int i_val;
- i_val = ((Integer)iMatchColumns.get(0)).intValue();
+ i_val = iMatchColumns.get(0);
if( i_val == -1 ) {
throw new SQLException(resBundle.handleGetObject("cachedrowsetimpl.setmatchcols").toString());
@@ -7039,7 +7036,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
}
}
for(int i = 0 ;i < columnIdxes.length; i++) {
- iMatchColumns.add(i,Integer.valueOf(columnIdxes[i]));
+ iMatchColumns.add(i,columnIdxes[i]);
}
}
@@ -7094,7 +7091,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
throw new SQLException(resBundle.handleGetObject("cachedrowsetimpl.matchcols1").toString());
} else {
// set iMatchColumn
- iMatchColumns.set(0, Integer.valueOf(columnIdx));
+ iMatchColumns.set(0, columnIdx);
//strMatchColumn = null;
}
}
@@ -7147,7 +7144,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
throw new SQLException(resBundle.handleGetObject("cachedrowsetimpl.unsetmatch1").toString());
} else {
// that is, we are unsetting it.
- iMatchColumns.set(0, Integer.valueOf(-1));
+ iMatchColumns.set(0, -1);
}
}
@@ -7171,7 +7168,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
if(!((strMatchColumns.get(0)).equals(columnName))) {
throw new SQLException(resBundle.handleGetObject("cachedrowsetimpl.unsetmatch").toString());
- } else if( ((Integer)(iMatchColumns.get(0))).intValue() > 0) {
+ } else if(iMatchColumns.get(0) > 0) {
throw new SQLException(resBundle.handleGetObject("cachedrowsetimpl.unsetmatch2").toString());
} else {
strMatchColumns.set(0, null); // that is, we are unsetting it.
@@ -7369,7 +7366,7 @@ public class CachedRowSetImpl extends BaseRowSet implements RowSet, RowSetIntern
obj = new SerialArray((java.sql.Array)obj, map);
}
- ((Row)currentRow).initColumnObject(i, obj);
+ currentRow.initColumnObject(i, obj);
}
rowsFetched++;
maxRowsreached++;
diff --git a/jdk/src/share/classes/com/sun/rowset/FilteredRowSetImpl.java b/jdk/src/share/classes/com/sun/rowset/FilteredRowSetImpl.java
index f21013c..a18c0ac 100644
--- a/jdk/src/share/classes/com/sun/rowset/FilteredRowSetImpl.java
+++ b/jdk/src/share/classes/com/sun/rowset/FilteredRowSetImpl.java
@@ -66,6 +66,7 @@ public class FilteredRowSetImpl extends WebRowSetImpl implements Serializable, C
* @param env a Hashtable containing a desired synchconizatation provider
* name-value pair.
*/
+ @SuppressWarnings("rawtypes")
public FilteredRowSetImpl(Hashtable env) throws SQLException {
super(env);
}
diff --git a/jdk/src/share/classes/com/sun/rowset/JdbcRowSetImpl.java b/jdk/src/share/classes/com/sun/rowset/JdbcRowSetImpl.java
index f29d7d9..f2a72f6 100644
--- a/jdk/src/share/classes/com/sun/rowset/JdbcRowSetImpl.java
+++ b/jdk/src/share/classes/com/sun/rowset/JdbcRowSetImpl.java
@@ -695,6 +695,7 @@ public class JdbcRowSetImpl extends BaseRowSet implements JdbcRowSet, Joinable {
return ps;
}
+ @SuppressWarnings("deprecation")
private void decodeParams(Object[] params, PreparedStatement ps)
throws SQLException {
@@ -761,14 +762,17 @@ public class JdbcRowSetImpl extends BaseRowSet implements JdbcRowSet, Joinable {
ps.setUnicodeStream(i + 1,
(java.io.InputStream)param[0],
((Integer)param[1]).intValue());
+ break;
case JdbcRowSetImpl.BINARY_STREAM_PARAM:
ps.setBinaryStream(i + 1,
(java.io.InputStream)param[0],
((Integer)param[1]).intValue());
+ break;
case JdbcRowSetImpl.ASCII_STREAM_PARAM:
ps.setAsciiStream(i + 1,
(java.io.InputStream)param[0],
((Integer)param[1]).intValue());
+ break;
default:
throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.paramtype").toString());
}
@@ -3822,7 +3826,7 @@ public class JdbcRowSetImpl extends BaseRowSet implements JdbcRowSet, Joinable {
int [] i_temp = new int[iMatchColumns.size()];
int i_val;
- i_val = ((Integer)iMatchColumns.get(0)).intValue();
+ i_val = iMatchColumns.get(0);
if( i_val == -1 ) {
throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.setmatchcols").toString());
@@ -3996,7 +4000,7 @@ public class JdbcRowSetImpl extends BaseRowSet implements JdbcRowSet, Joinable {
if(!((strMatchColumns.get(0)).equals(columnName))) {
throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.unsetmatch").toString());
- } else if( ((Integer)(iMatchColumns.get(0))).intValue() > 0) {
+ } else if(iMatchColumns.get(0) > 0) {
throw new SQLException(resBundle.handleGetObject("jdbcrowsetimpl.usecolid").toString());
} else {
strMatchColumns.set(0, null); // that is, we are unsetting it.
diff --git a/jdk/src/share/classes/com/sun/rowset/JdbcRowSetResourceBundle.java b/jdk/src/share/classes/com/sun/rowset/JdbcRowSetResourceBundle.java
index acf7479..f699155 100644
--- a/jdk/src/share/classes/com/sun/rowset/JdbcRowSetResourceBundle.java
+++ b/jdk/src/share/classes/com/sun/rowset/JdbcRowSetResourceBundle.java
@@ -135,6 +135,7 @@ public class JdbcRowSetResourceBundle implements Serializable {
* @return an enumeration of keys which have messages tranlated to
* corresponding locales.
*/
+ @SuppressWarnings("rawtypes")
public Enumeration getKeys() {
return propResBundle.getKeys();
}
diff --git a/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java b/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java
index 05feebc..0f712f9 100644
--- a/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java
+++ b/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java
@@ -233,7 +233,7 @@ public class JoinRowSetImpl extends WebRowSetImpl implements JoinRowSet {
}
int[] indexes = new int[indices.size()];
for(int i=0; i<indices.size();i++)
- indexes[i] = ((Integer)indices.get(i)).intValue();
+ indexes[i] = indices.get(i);
cRowset.setMatchColumn(indexes);
// Set the match column here because join will be
// based on columnId,
@@ -413,6 +413,7 @@ public class JoinRowSetImpl extends WebRowSetImpl implements JoinRowSet {
* @throws SQLException if an error occours generating a collection
* of the originating RowSets contained within the JOIN.
*/
+ @SuppressWarnings("rawtypes")
public Collection getRowSets() throws SQLException {
return vecRowSetsInJOIN;
}
@@ -893,7 +894,7 @@ public class JoinRowSetImpl extends WebRowSetImpl implements JoinRowSet {
sz = vecRowSetsInJOIN.size();
for(int i=0;i<sz; i++) {
- crs = (CachedRowSetImpl)vecRowSetsInJOIN.get(i);
+ crs = vecRowSetsInJOIN.get(i);
cols = crs.getMetaData().getColumnCount();
tabName = tabName.concat(crs.getTableName());
strTabName = strTabName.concat(tabName+", ");
@@ -928,7 +929,7 @@ public class JoinRowSetImpl extends WebRowSetImpl implements JoinRowSet {
// rowset1.getMatchColumnName() == rowset2.getMatchColumnName()
for(int i=0;i<sz; i++) {
strWhereClause = strWhereClause.concat(
- ((CachedRowSetImpl)vecRowSetsInJOIN.get(i)).getMatchColumnNames()[0]);
+ vecRowSetsInJOIN.get(i).getMatchColumnNames()[0]);
if(i%2!=0) {
strWhereClause = strWhereClause.concat("=");
} else {
@@ -4175,7 +4176,7 @@ public class JoinRowSetImpl extends WebRowSetImpl implements JoinRowSet {
// Default JoinRowSet type
this.setJoinType(JoinRowSet.INNER_JOIN);
}
- Integer i = (Integer)(vecJoinType.get(vecJoinType.size()-1));
+ Integer i = vecJoinType.get(vecJoinType.size()-1);
return i.intValue();
}
diff --git a/jdk/src/share/classes/com/sun/rowset/WebRowSetImpl.java b/jdk/src/share/classes/com/sun/rowset/WebRowSetImpl.java
index 5a62c78..a7afd4a 100644
--- a/jdk/src/share/classes/com/sun/rowset/WebRowSetImpl.java
+++ b/jdk/src/share/classes/com/sun/rowset/WebRowSetImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -101,6 +101,7 @@ public class WebRowSetImpl extends CachedRowSetImpl implements WebRowSet {
* synchronization providers for the relational and XML providers; or
* if the Hashtanle is null
*/
+ @SuppressWarnings("rawtypes")
public WebRowSetImpl(Hashtable env) throws SQLException {
try {
@@ -117,7 +118,7 @@ public class WebRowSetImpl extends CachedRowSetImpl implements WebRowSet {
(String)env.get(javax.sql.rowset.spi.SyncFactory.ROWSET_SYNC_PROVIDER);
// set the Reader, this maybe overridden latter
- provider = (SyncProvider)SyncFactory.getInstance(providerName);
+ provider = SyncFactory.getInstance(providerName);
// xmlReader = provider.getRowSetReader();
// xmlWriter = provider.getRowSetWriter();
diff --git a/jdk/src/share/classes/com/sun/rowset/internal/CachedRowSetReader.java b/jdk/src/share/classes/com/sun/rowset/internal/CachedRowSetReader.java
index 3151002..2375a29 100644
--- a/jdk/src/share/classes/com/sun/rowset/internal/CachedRowSetReader.java
+++ b/jdk/src/share/classes/com/sun/rowset/internal/CachedRowSetReader.java
@@ -363,6 +363,7 @@ public class CachedRowSetReader implements RowSetReader, Serializable {
* the given parameters are to be set
* @throws SQLException if an access error occurs
*/
+ @SuppressWarnings("deprecation")
private void decodeParams(Object[] params,
PreparedStatement pstmt) throws SQLException {
// There is a corresponding decodeParams in JdbcRowSetImpl
@@ -428,14 +429,17 @@ public class CachedRowSetReader implements RowSetReader, Serializable {
pstmt.setUnicodeStream(i + 1,
(java.io.InputStream)param[0],
((Integer)param[1]).intValue());
+ break;
case CachedRowSetImpl.BINARY_STREAM_PARAM:
pstmt.setBinaryStream(i + 1,
(java.io.InputStream)param[0],
((Integer)param[1]).intValue());
+ break;
case CachedRowSetImpl.ASCII_STREAM_PARAM:
pstmt.setAsciiStream(i + 1,
(java.io.InputStream)param[0],
((Integer)param[1]).intValue());
+ break;
default:
throw new SQLException(resBundle.handleGetObject("crsreader.paramtype").toString());
}
diff --git a/jdk/src/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java b/jdk/src/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java
index 784d0c0..4737fb3 100644
--- a/jdk/src/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java
+++ b/jdk/src/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java
@@ -183,7 +183,7 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
/**
* This <code>ArrayList<code> will hold the values of SyncResolver.*
*/
- private ArrayList status;
+ private ArrayList<Integer> status;
/**
* This will check whether the same field value has changed both
@@ -305,7 +305,7 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
iColCount = rsmdWrite.getColumnCount();
int sz= crs.size()+1;
- status = new ArrayList(sz);
+ status = new ArrayList<>(sz);
status.add(0,null);
rsmdResolv.setColumnCount(iColCount);
@@ -338,11 +338,11 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
if (crs.rowDeleted()) {
// The row has been deleted.
if (conflict = (deleteOriginalRow(crs, this.crsResolve)) == true) {
- status.add(rows, Integer.valueOf(SyncResolver.DELETE_ROW_CONFLICT));
+ status.add(rows, SyncResolver.DELETE_ROW_CONFLICT);
} else {
// delete happened without any occurrence of conflicts
// so update status accordingly
- status.add(rows, Integer.valueOf(SyncResolver.NO_ROW_CONFLICT));
+ status.add(rows, SyncResolver.NO_ROW_CONFLICT);
}
} else if (crs.rowInserted()) {
@@ -350,20 +350,20 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
pstmtIns = con.prepareStatement(insertCmd);
if ( (conflict = insertNewRow(crs, pstmtIns, this.crsResolve)) == true) {
- status.add(rows, Integer.valueOf(SyncResolver.INSERT_ROW_CONFLICT));
+ status.add(rows, SyncResolver.INSERT_ROW_CONFLICT);
} else {
// insert happened without any occurrence of conflicts
// so update status accordingly
- status.add(rows, Integer.valueOf(SyncResolver.NO_ROW_CONFLICT));
+ status.add(rows, SyncResolver.NO_ROW_CONFLICT);
}
} else if (crs.rowUpdated()) {
// The row has been updated.
if ( conflict = (updateOriginalRow(crs)) == true) {
- status.add(rows, Integer.valueOf(SyncResolver.UPDATE_ROW_CONFLICT));
+ status.add(rows, SyncResolver.UPDATE_ROW_CONFLICT);
} else {
// update happened without any occurrence of conflicts
// so update status accordingly
- status.add(rows, Integer.valueOf(SyncResolver.NO_ROW_CONFLICT));
+ status.add(rows, SyncResolver.NO_ROW_CONFLICT);
}
} else {
@@ -375,7 +375,7 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
* that is fine.
**/
int icolCount = crs.getMetaData().getColumnCount();
- status.add(rows, Integer.valueOf(SyncResolver.NO_ROW_CONFLICT));
+ status.add(rows, SyncResolver.NO_ROW_CONFLICT);
this.crsResolve.moveToInsertRow();
for(int cols=0;cols<iColCount;cols++) {
@@ -398,7 +398,7 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
boolean boolConf = false;
for (int j=1;j<status.size();j++){
// ignore status for index = 0 which is set to null
- if(! ((status.get(j)).equals(Integer.valueOf(SyncResolver.NO_ROW_CONFLICT)))) {
+ if(! ((status.get(j)).equals(SyncResolver.NO_ROW_CONFLICT))) {
// there is at least one conflict which needs to be resolved
boolConf = true;
break;
@@ -540,7 +540,7 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
// how many fields need to be updated
int colsNotChanged = 0;
- Vector cols = new Vector();
+ Vector<Integer> cols = new Vector<>();
String updateExec = updateCmd;
Object orig;
Object curr;
@@ -566,14 +566,14 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
* into a CachedRowSet so that comparison of the column values
* from the ResultSet and CachedRowSet are possible
*/
- Map map = (crs.getTypeMap() == null)?con.getTypeMap():crs.getTypeMap();
+ Map<String, Class<?>> map = (crs.getTypeMap() == null)?con.getTypeMap():crs.getTypeMap();
if (rsval instanceof Struct) {
Struct s = (Struct)rsval;
// look up the class in the map
- Class c = null;
- c = (Class)map.get(s.getSQLTypeName());
+ Class<?> c = null;
+ c = map.get(s.getSQLTypeName());
if (c != null) {
// create new instance of the class
SQLData obj = null;
@@ -652,7 +652,7 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
updateExec += ", ";
}
updateExec += crs.getMetaData().getColumnName(i);
- cols.add(Integer.valueOf(i));
+ cols.add(i);
updateExec += " = ? ";
first = false;
@@ -698,7 +698,7 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
updateExec += ", ";
}
updateExec += crs.getMetaData().getColumnName(i);
- cols.add(Integer.valueOf(i));
+ cols.add(i);
updateExec += " = ? ";
flag = false;
} else {
@@ -749,7 +749,7 @@ public class CachedRowSetWriter implements TransactionalWriter, Serializable {
// Comments needed here
for (i = 0; i < cols.size(); i++) {
- Object obj = crs.getObject(((Integer)cols.get(i)).intValue());
+ Object obj = crs.getObject(cols.get(i));
if (obj != null)
pstmt.setObject(i + 1, obj);
else
diff --git a/jdk/src/share/classes/com/sun/rowset/internal/Row.java b/jdk/src/share/classes/com/sun/rowset/internal/Row.java
index 7fa2eda..1fa4b76 100644
--- a/jdk/src/share/classes/com/sun/rowset/internal/Row.java
+++ b/jdk/src/share/classes/com/sun/rowset/internal/Row.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -27,9 +27,7 @@ package com.sun.rowset.internal;
import java.sql.*;
import java.io.*;
-import java.math.*;
import java.lang.*;
-import java.lang.reflect.*;
import java.util.*;
/**
@@ -48,6 +46,8 @@ import java.util.*;
*/
public class Row extends BaseRow implements Serializable, Cloneable {
+static final long serialVersionUID = 5047859032611314762L;
+
/**
* An array containing the current column values for this <code>Row</code>
* object.
@@ -115,9 +115,7 @@ public class Row extends BaseRow implements Serializable, Cloneable {
*/
public Row(int numCols, Object[] vals) {
origVals = new Object[numCols];
- for (int i=0; i < numCols; i++) {
- origVals[i] = vals[i];
- }
+ System.arraycopy(vals, 0, origVals, 0, numCols);
currentVals = new Object[numCols];
colsChanged = new BitSet(numCols);
this.numCols = numCols;
diff --git a/jdk/src/share/classes/com/sun/rowset/internal/SyncResolverImpl.java b/jdk/src/share/classes/com/sun/rowset/internal/SyncResolverImpl.java
index 10573ae..911b1d1 100644
--- a/jdk/src/share/classes/com/sun/rowset/internal/SyncResolverImpl.java
+++ b/jdk/src/share/classes/com/sun/rowset/internal/SyncResolverImpl.java
@@ -65,7 +65,7 @@ public class SyncResolverImpl extends CachedRowSetImpl implements SyncResolver {
* This ArrayList will contain the status of a row
* from the SyncResolver.* values else it will be null.
*/
- private ArrayList stats;
+ private ArrayList<?> stats;
/**
* The RowSetWriter associated with the original
@@ -429,6 +429,7 @@ public class SyncResolverImpl extends CachedRowSetImpl implements SyncResolver {
* This is used to set the status of each row
* to either of the values SyncResolver.*_CONFLICT
**/
+ @SuppressWarnings("rawtypes")
void setStatus(ArrayList status){
stats = status;
}
@@ -856,6 +857,7 @@ public class SyncResolverImpl extends CachedRowSetImpl implements SyncResolver {
* @see #toCollection(String)
* @see java.util.TreeMap
*/
+ @SuppressWarnings("rawtypes")
public Collection toCollection() throws SQLException {
throw new UnsupportedOperationException();
}
@@ -878,6 +880,7 @@ public class SyncResolverImpl extends CachedRowSetImpl implements SyncResolver {
* @see #toCollection(String)
* @see java.util.Vector
*/
+ @SuppressWarnings("rawtypes")
public Collection toCollection(int column) throws SQLException {
throw new UnsupportedOperationException();
}
@@ -900,6 +903,7 @@ public class SyncResolverImpl extends CachedRowSetImpl implements SyncResolver {
* @see #toCollection(int)
* @see java.util.Vector
*/
+ @SuppressWarnings("rawtypes")
public Collection toCollection(String column) throws SQLException {
throw new UnsupportedOperationException();
}
diff --git a/jdk/src/share/classes/com/sun/rowset/internal/WebRowSetXmlWriter.java b/jdk/src/share/classes/com/sun/rowset/internal/WebRowSetXmlWriter.java
index 936c7f6..41737b7 100644
--- a/jdk/src/share/classes/com/sun/rowset/internal/WebRowSetXmlWriter.java
+++ b/jdk/src/share/classes/com/sun/rowset/internal/WebRowSetXmlWriter.java
@@ -55,7 +55,7 @@ public class WebRowSetXmlWriter implements XmlWriter, Serializable {
* object will use for storing the tags to be used for writing the calling
* <code>WebRowSet</code> object as an XML document.
*/
- private java.util.Stack stack;
+ private java.util.Stack<String> stack;
private JdbcRowSetResourceBundle resBundle;
@@ -94,7 +94,7 @@ public class WebRowSetXmlWriter implements XmlWriter, Serializable {
throws SQLException {
// create a new stack for tag checking.
- stack = new java.util.Stack();
+ stack = new java.util.Stack<>();
writer = wrt;
writeRowSet(caller);
}
@@ -127,7 +127,7 @@ public class WebRowSetXmlWriter implements XmlWriter, Serializable {
throws SQLException {
// create a new stack for tag checking.
- stack = new java.util.Stack();
+ stack = new java.util.Stack<>();
writer = new OutputStreamWriter(oStream);
writeRowSet(caller);
}
@@ -205,10 +205,10 @@ public class WebRowSetXmlWriter implements XmlWriter, Serializable {
//Changed to beginSection and endSection for maps for proper indentation
beginSection("map");
- java.util.Map typeMap = caller.getTypeMap();
+ java.util.Map<?,?> typeMap = caller.getTypeMap();
if (typeMap != null) {
- Iterator i = typeMap.keySet().iterator();
- Class c;
+ Iterator<?> i = typeMap.keySet().iterator();
+ Class<?> c;
String type;
while (i.hasNext()) {
type = (String)i.next();
@@ -532,7 +532,7 @@ public class WebRowSetXmlWriter implements XmlWriter, Serializable {
}
private String getTag() {
- return (String)stack.pop();
+ return stack.pop();
}
private void writeNull() throws java.io.IOException {
diff --git a/jdk/src/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java b/jdk/src/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java
index 50cb7e3..2d36ac1 100644
--- a/jdk/src/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java
+++ b/jdk/src/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -71,14 +71,14 @@ import java.text.MessageFormat;
public class XmlReaderContentHandler extends DefaultHandler {
- private HashMap propMap;
- private HashMap colDefMap;
- private HashMap dataMap;
+ private HashMap <String, Integer> propMap;
+ private HashMap <String, Integer> colDefMap;
+ private HashMap <String, Integer> dataMap;
- private HashMap typeMap;
+ private HashMap<String,Class<?>> typeMap;
- private Vector updates;
- private Vector keyCols;
+ private Vector<Object[]> updates;
+ private Vector<String> keyCols;
private String columnValue;
private String propertyValue;
@@ -438,7 +438,7 @@ public class XmlReaderContentHandler extends DefaultHandler {
initMaps();
// allocate the collection for the updates
- updates = new Vector();
+ updates = new Vector<>();
// start out with the empty string
columnValue = "";
@@ -477,21 +477,21 @@ public class XmlReaderContentHandler extends DefaultHandler {
private void initMaps() {
int items, i;
- propMap = new HashMap();
+ propMap = new HashMap<>();
items = properties.length;
for (i=0;i<items;i++) {
propMap.put(properties[i], Integer.valueOf(i));
}
- colDefMap = new HashMap();
+ colDefMap = new HashMap<>();
items = colDef.length;
for (i=0;i<items;i++) {
colDefMap.put(colDef[i], Integer.valueOf(i));
}
- dataMap = new HashMap();
+ dataMap = new HashMap<>();
items = data.length;
for (i=0;i<items;i++) {
@@ -499,7 +499,7 @@ public class XmlReaderContentHandler extends DefaultHandler {
}
//Initialize connection map here
- typeMap = new HashMap();
+ typeMap = new HashMap<>();
}
public void startDocument() throws SAXException {
@@ -549,14 +549,14 @@ public class XmlReaderContentHandler extends DefaultHandler {
case PROPERTIES:
tempCommand = "";
- tag = ((Integer)propMap.get(name)).intValue();
+ tag = propMap.get(name);
if (tag == PropNullTag)
setNullValue(true);
else
setTag(tag);
break;
case METADATA:
- tag = ((Integer)colDefMap.get(name)).intValue();
+ tag = colDefMap.get(name);
if (tag == MetaNullTag)
setNullValue(true);
@@ -573,10 +573,10 @@ public class XmlReaderContentHandler extends DefaultHandler {
tempUpdate = "";
if(dataMap.get(name) == null) {
tag = NullTag;
- } else if(((Integer)dataMap.get(name)).intValue() == EmptyStringTag) {
+ } else if(dataMap.get(name) == EmptyStringTag) {
tag = EmptyStringTag;
} else {
- tag = ((Integer)dataMap.get(name)).intValue();
+ tag = dataMap.get(name);
}
if (tag == NullTag) {
@@ -630,6 +630,7 @@ public class XmlReaderContentHandler extends DefaultHandler {
*
* @exception SAXException if a general SAX error occurs
*/
+ @SuppressWarnings("fallthrough")
public void endElement(String uri, String lName, String qName) throws SAXException {
int tag;
@@ -644,13 +645,13 @@ public class XmlReaderContentHandler extends DefaultHandler {
}
try {
- tag = ((Integer)propMap.get(name)).intValue();
+ tag = propMap.get(name);
switch (tag) {
case KeycolsTag:
if (keyCols != null) {
int i[] = new int[keyCols.size()];
for (int j = 0; j < i.length; j++)
- i[j] = Integer.parseInt((String)keyCols.elementAt(j));
+ i[j] = Integer.parseInt(keyCols.elementAt(j));
rs.setKeyColumns(i);
}
break;
@@ -723,7 +724,7 @@ public class XmlReaderContentHandler extends DefaultHandler {
if(dataMap.get(name) == null) {
tag = NullTag;
} else {
- tag = ((Integer)dataMap.get(name)).intValue();
+ tag = dataMap.get(name);
}
switch (tag) {
case ColTag:
@@ -820,7 +821,7 @@ public class XmlReaderContentHandler extends DefaultHandler {
if (updates.size() > 0) {
try {
Object upd[];
- Iterator i = updates.iterator();
+ Iterator<?> i = updates.iterator();
while (i.hasNext()) {
upd = (Object [])i.next();
idx = ((Integer)upd[0]).intValue();
@@ -1075,7 +1076,7 @@ public class XmlReaderContentHandler extends DefaultHandler {
break;
case PropColumnTag:
if (keyCols == null)
- keyCols = new Vector();
+ keyCols = new Vector<>();
keyCols.add(s);
break;
case MapTag:
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/ArrayReferenceImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/ArrayReferenceImpl.java
index afeb49b..5d1ff51 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/ArrayReferenceImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ArrayReferenceImpl.java
@@ -70,8 +70,8 @@ public class ArrayReferenceImpl extends ObjectReferenceImpl
}
public Value getValue(int index) {
- List list = getValues(index, 1);
- return (Value)list.get(0);
+ List<Value> list = getValues(index, 1);
+ return list.get(0);
}
public List<Value> getValues() {
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/ArrayTypeImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/ArrayTypeImpl.java
index a10cc05..b31e823 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/ArrayTypeImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ArrayTypeImpl.java
@@ -61,7 +61,7 @@ public class ArrayTypeImpl extends ReferenceTypeImpl
return findType(componentSignature());
}
- void addVisibleMethods(Map map) {
+ void addVisibleMethods(Map<String, Method> map) {
// arrays don't have methods
}
@@ -83,10 +83,10 @@ public class ArrayTypeImpl extends ReferenceTypeImpl
if (PacketStream.isObjectTag(tag)) {
// It's a reference type
JNITypeParser parser = new JNITypeParser(componentSignature());
- List list = vm.classesByName(parser.typeName());
- Iterator iter = list.iterator();
+ List<ReferenceType> list = vm.classesByName(parser.typeName());
+ Iterator<ReferenceType> iter = list.iterator();
while (iter.hasNext()) {
- ReferenceType type = (ReferenceType)iter.next();
+ ReferenceType type = iter.next();
ClassLoaderReference cl = type.classLoader();
if ((cl == null)?
(classLoader() == null) :
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/BooleanValueImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/BooleanValueImpl.java
index b2975ba..c5aaed4 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/BooleanValueImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/BooleanValueImpl.java
@@ -78,7 +78,7 @@ public class BooleanValueImpl extends PrimitiveValueImpl
}
public int intValue() {
- return(int)((value)?1:0);
+ return (value)?1:0;
}
public long longValue() {
@@ -90,7 +90,7 @@ public class BooleanValueImpl extends PrimitiveValueImpl
}
public double doubleValue() {
- return(double)((value)?1.0:0.0);
+ return (value)?1.0:0.0;
}
public String toString() {
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/CharValueImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/CharValueImpl.java
index b29e1cb..d71a220 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/CharValueImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/CharValueImpl.java
@@ -75,7 +75,7 @@ public class CharValueImpl extends PrimitiveValueImpl
}
public char charValue() {
- return(char)value;
+ return value;
}
public short shortValue() {
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/ClassLoaderReferenceImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/ClassLoaderReferenceImpl.java
index 8023f1f..ebac996 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/ClassLoaderReferenceImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ClassLoaderReferenceImpl.java
@@ -80,7 +80,7 @@ public class ClassLoaderReferenceImpl extends ObjectReferenceImpl
classes = Collections.unmodifiableList(classes);
if (local != null) {
local.visibleClasses = classes;
- if ((vm.traceFlags & vm.TRACE_OBJREFS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_OBJREFS) != 0) {
vm.printTrace(description() +
" temporarily caching visible classes (count = " +
classes.size() + ")");
@@ -95,9 +95,9 @@ public class ClassLoaderReferenceImpl extends ObjectReferenceImpl
Type findType(String signature) throws ClassNotLoadedException {
List<ReferenceType> types = visibleClasses();
- Iterator iter = types.iterator();
+ Iterator<ReferenceType> iter = types.iterator();
while (iter.hasNext()) {
- ReferenceType type = (ReferenceType)iter.next();
+ ReferenceType type = iter.next();
if (type.signature().equals(signature)) {
return type;
}
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/ClassTypeImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/ClassTypeImpl.java
index 8644957..cbb4e7a 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/ClassTypeImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ClassTypeImpl.java
@@ -76,7 +76,7 @@ public class ClassTypeImpl extends ReferenceTypeImpl
List<InterfaceType> immediate = interfaces();
list.addAll(interfaces());
- Iterator iter = immediate.iterator();
+ Iterator<InterfaceType> iter = immediate.iterator();
while (iter.hasNext()) {
InterfaceTypeImpl interfaze = (InterfaceTypeImpl)iter.next();
interfaze.addSuperinterfaces(list);
@@ -389,7 +389,7 @@ public class ClassTypeImpl extends ReferenceTypeImpl
* overwrite them in the hash table
*/
- Iterator iter = interfaces().iterator();
+ Iterator<InterfaceType> iter = interfaces().iterator();
while (iter.hasNext()) {
InterfaceTypeImpl interfaze = (InterfaceTypeImpl)iter.next();
interfaze.addVisibleMethods(methodMap);
@@ -411,7 +411,7 @@ public class ClassTypeImpl extends ReferenceTypeImpl
return true;
} else {
List<InterfaceType> interfaces = interfaces();
- Iterator iter = interfaces.iterator();
+ Iterator<InterfaceType> iter = interfaces.iterator();
while (iter.hasNext()) {
InterfaceTypeImpl interfaze = (InterfaceTypeImpl)iter.next();
if (interfaze.isAssignableTo(type)) {
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/ConcreteMethodImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/ConcreteMethodImpl.java
index 435255b..f2e9233 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/ConcreteMethodImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ConcreteMethodImpl.java
@@ -192,7 +192,7 @@ public class ConcreteMethodImpl extends MethodImpl {
return super.codeIndexToLineInfo(stratum, codeIndex);
}
- Iterator iter = lineLocations.iterator();
+ Iterator<Location> iter = lineLocations.iterator();
/*
* Treat code before the beginning of the first line table
* entry as part of the first line. javac will generate
@@ -221,9 +221,9 @@ public class ConcreteMethodImpl extends MethodImpl {
List<LocalVariable> variables = getVariables();
List<LocalVariable> retList = new ArrayList<LocalVariable>(2);
- Iterator iter = variables.iterator();
+ Iterator<LocalVariable> iter = variables.iterator();
while(iter.hasNext()) {
- LocalVariable variable = (LocalVariable)iter.next();
+ LocalVariable variable = iter.next();
if (variable.name().equals(name)) {
retList.add(variable);
}
@@ -235,9 +235,9 @@ public class ConcreteMethodImpl extends MethodImpl {
List<LocalVariable> variables = getVariables();
List<LocalVariable> retList = new ArrayList<LocalVariable>(variables.size());
- Iterator iter = variables.iterator();
+ Iterator<LocalVariable> iter = variables.iterator();
while(iter.hasNext()) {
- LocalVariable variable = (LocalVariable)iter.next();
+ LocalVariable variable = iter.next();
if (variable.isArgument()) {
retList.add(variable);
}
@@ -291,7 +291,7 @@ public class ConcreteMethodImpl extends MethodImpl {
SDE.LineStratum lastLineStratum = null;
SDE.Stratum baseStratum =
declaringType.stratum(SDE.BASE_STRATUM_NAME);
- Iterator it = getBaseLocations().lineLocations.iterator();
+ Iterator<Location> it = getBaseLocations().lineLocations.iterator();
while(it.hasNext()) {
LocationImpl loc = (LocationImpl)it.next();
int baseLineNumber = loc.lineNumber(baseStratum);
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/ConnectorImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/ConnectorImpl.java
index 3b594b9..e777a6c 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/ConnectorImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ConnectorImpl.java
@@ -47,9 +47,9 @@ abstract class ConnectorImpl implements Connector {
public Map<String,Argument> defaultArguments() {
Map<String,Argument> defaults = new java.util.LinkedHashMap<String,Argument>();
- Collection values = defaultArguments.values();
+ Collection<Argument> values = defaultArguments.values();
- Iterator iter = values.iterator();
+ Iterator<Argument> iter = values.iterator();
while (iter.hasNext()) {
ArgumentImpl argument = (ArgumentImpl)iter.next();
defaults.put(argument.name(), (Argument)argument.clone());
@@ -96,7 +96,7 @@ abstract class ConnectorImpl implements Connector {
mustSpecify, list));
}
- ArgumentImpl argument(String name, Map arguments)
+ ArgumentImpl argument(String name, Map<String, ? extends Argument> arguments)
throws IllegalConnectorArgumentsException {
ArgumentImpl argument = (ArgumentImpl)arguments.get(name);
@@ -130,7 +130,7 @@ abstract class ConnectorImpl implements Connector {
public String toString() {
String string = name() + " (defaults: ";
- Iterator iter = defaultArguments().values().iterator();
+ Iterator<Argument> iter = defaultArguments().values().iterator();
boolean first = true;
while (iter.hasNext()) {
ArgumentImpl argument = (ArgumentImpl)iter.next();
@@ -222,7 +222,7 @@ abstract class ConnectorImpl implements Connector {
class BooleanArgumentImpl extends ConnectorImpl.ArgumentImpl
implements Connector.BooleanArgument {
-
+ private static final long serialVersionUID = 1624542968639361316L;
BooleanArgumentImpl(String name, String label, String description,
boolean value,
boolean mustSpecify) {
@@ -277,7 +277,7 @@ abstract class ConnectorImpl implements Connector {
class IntegerArgumentImpl extends ConnectorImpl.ArgumentImpl
implements Connector.IntegerArgument {
-
+ private static final long serialVersionUID = 763286081923797770L;
private final int min;
private final int max;
@@ -378,7 +378,7 @@ abstract class ConnectorImpl implements Connector {
class StringArgumentImpl extends ConnectorImpl.ArgumentImpl
implements Connector.StringArgument {
-
+ private static final long serialVersionUID = 7500484902692107464L;
StringArgumentImpl(String name, String label, String description,
String value,
boolean mustSpecify) {
@@ -396,7 +396,7 @@ abstract class ConnectorImpl implements Connector {
class SelectedArgumentImpl extends ConnectorImpl.ArgumentImpl
implements Connector.SelectedArgument {
-
+ private static final long serialVersionUID = -5689584530908382517L;
private final List<String> choices;
SelectedArgumentImpl(String name, String label, String description,
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/DoubleValueImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/DoubleValueImpl.java
index 5f6d387..ef98b8d 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/DoubleValueImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/DoubleValueImpl.java
@@ -101,7 +101,7 @@ public class DoubleValueImpl extends PrimitiveValueImpl
}
public double doubleValue() {
- return(double)value;
+ return value;
}
byte checkedByteValue() throws InvalidTypeException {
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/EventRequestManagerImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/EventRequestManagerImpl.java
index d9f27f6..60ace7f 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/EventRequestManagerImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/EventRequestManagerImpl.java
@@ -43,7 +43,7 @@ import java.util.*;
class EventRequestManagerImpl extends MirrorImpl
implements EventRequestManager
{
- List[] requestLists;
+ List<? extends EventRequest>[] requestLists;
private static int methodExitEventCmd = 0;
static int JDWPtoJDISuspendPolicy(byte jdwpPolicy) {
@@ -91,7 +91,7 @@ class EventRequestManagerImpl extends MirrorImpl
* access/modification should be protected by synchronizing on
* the enclosing instance of EventRequestImpl.
*/
- List filters = new ArrayList();
+ List<Object> filters = new ArrayList<>();
boolean isEnabled = false;
boolean deleted = false;
@@ -195,7 +195,6 @@ class EventRequestManagerImpl extends MirrorImpl
*/
synchronized void set() {
JDWP.EventRequest.Set.Modifier[] mods =
- (JDWP.EventRequest.Set.Modifier[])
filters.toArray(
new JDWP.EventRequest.Set.Modifier[filters.size()]);
try {
@@ -582,10 +581,10 @@ class EventRequestManagerImpl extends MirrorImpl
/*
* Make sure this isn't a duplicate
*/
- List requests = stepRequests();
- Iterator iter = requests.iterator();
+ List<StepRequest> requests = stepRequests();
+ Iterator<StepRequest> iter = requests.iterator();
while (iter.hasNext()) {
- StepRequest request = (StepRequest)iter.next();
+ StepRequest request = iter.next();
if ((request != this) &&
request.isEnabled() &&
request.thread().equals(thread)) {
@@ -735,7 +734,7 @@ class EventRequestManagerImpl extends MirrorImpl
}
requestLists = new List[highest+1];
for (int i=0; i <= highest; i++) {
- requestLists[i] = new ArrayList();
+ requestLists[i] = new ArrayList<>();
}
}
@@ -852,7 +851,7 @@ class EventRequestManagerImpl extends MirrorImpl
public void deleteEventRequests(List<? extends EventRequest> eventRequests) {
validateMirrors(eventRequests);
// copy the eventRequests to avoid ConcurrentModificationException
- Iterator iter = (new ArrayList(eventRequests)).iterator();
+ Iterator<? extends EventRequest> iter = (new ArrayList<>(eventRequests)).iterator();
while (iter.hasNext()) {
((EventRequestImpl)iter.next()).delete();
}
@@ -869,76 +868,76 @@ class EventRequestManagerImpl extends MirrorImpl
}
public List<StepRequest> stepRequests() {
- return unmodifiableRequestList(JDWP.EventKind.SINGLE_STEP);
+ return (List<StepRequest>)unmodifiableRequestList(JDWP.EventKind.SINGLE_STEP);
}
public List<ClassPrepareRequest> classPrepareRequests() {
- return unmodifiableRequestList(JDWP.EventKind.CLASS_PREPARE);
+ return (List<ClassPrepareRequest>)unmodifiableRequestList(JDWP.EventKind.CLASS_PREPARE);
}
public List<ClassUnloadRequest> classUnloadRequests() {
- return unmodifiableRequestList(JDWP.EventKind.CLASS_UNLOAD);
+ return (List<ClassUnloadRequest>)unmodifiableRequestList(JDWP.EventKind.CLASS_UNLOAD);
}
public List<ThreadStartRequest> threadStartRequests() {
- return unmodifiableRequestList(JDWP.EventKind.THREAD_START);
+ return (List<ThreadStartRequest>)unmodifiableRequestList(JDWP.EventKind.THREAD_START);
}
public List<ThreadDeathRequest> threadDeathRequests() {
- return unmodifiableRequestList(JDWP.EventKind.THREAD_DEATH);
+ return (List<ThreadDeathRequest>)unmodifiableRequestList(JDWP.EventKind.THREAD_DEATH);
}
public List<ExceptionRequest> exceptionRequests() {
- return unmodifiableRequestList(JDWP.EventKind.EXCEPTION);
+ return (List<ExceptionRequest>)unmodifiableRequestList(JDWP.EventKind.EXCEPTION);
}
public List<BreakpointRequest> breakpointRequests() {
- return unmodifiableRequestList(JDWP.EventKind.BREAKPOINT);
+ return (List<BreakpointRequest>)unmodifiableRequestList(JDWP.EventKind.BREAKPOINT);
}
public List<AccessWatchpointRequest> accessWatchpointRequests() {
- return unmodifiableRequestList(JDWP.EventKind.FIELD_ACCESS);
+ return (List<AccessWatchpointRequest>)unmodifiableRequestList(JDWP.EventKind.FIELD_ACCESS);
}
public List<ModificationWatchpointRequest> modificationWatchpointRequests() {
- return unmodifiableRequestList(JDWP.EventKind.FIELD_MODIFICATION);
+ return (List<ModificationWatchpointRequest>)unmodifiableRequestList(JDWP.EventKind.FIELD_MODIFICATION);
}
public List<MethodEntryRequest> methodEntryRequests() {
- return unmodifiableRequestList(JDWP.EventKind.METHOD_ENTRY);
+ return (List<MethodEntryRequest>)unmodifiableRequestList(JDWP.EventKind.METHOD_ENTRY);
}
public List<MethodExitRequest> methodExitRequests() {
- return unmodifiableRequestList(
+ return (List<MethodExitRequest>)unmodifiableRequestList(
EventRequestManagerImpl.methodExitEventCmd);
}
public List<MonitorContendedEnterRequest> monitorContendedEnterRequests() {
- return unmodifiableRequestList(JDWP.EventKind.MONITOR_CONTENDED_ENTER);
+ return (List<MonitorContendedEnterRequest>)unmodifiableRequestList(JDWP.EventKind.MONITOR_CONTENDED_ENTER);
}
public List<MonitorContendedEnteredRequest> monitorContendedEnteredRequests() {
- return unmodifiableRequestList(JDWP.EventKind.MONITOR_CONTENDED_ENTERED);
+ return (List<MonitorContendedEnteredRequest>)unmodifiableRequestList(JDWP.EventKind.MONITOR_CONTENDED_ENTERED);
}
public List<MonitorWaitRequest> monitorWaitRequests() {
- return unmodifiableRequestList(JDWP.EventKind.MONITOR_WAIT);
+ return (List<MonitorWaitRequest>)unmodifiableRequestList(JDWP.EventKind.MONITOR_WAIT);
}
public List<MonitorWaitedRequest> monitorWaitedRequests() {
- return unmodifiableRequestList(JDWP.EventKind.MONITOR_WAITED);
+ return (List<MonitorWaitedRequest>)unmodifiableRequestList(JDWP.EventKind.MONITOR_WAITED);
}
public List<VMDeathRequest> vmDeathRequests() {
- return unmodifiableRequestList(JDWP.EventKind.VM_DEATH);
+ return (List<VMDeathRequest>)unmodifiableRequestList(JDWP.EventKind.VM_DEATH);
}
- List unmodifiableRequestList(int eventCmd) {
+ List<? extends EventRequest> unmodifiableRequestList(int eventCmd) {
return Collections.unmodifiableList(requestList(eventCmd));
}
EventRequest request(int eventCmd, int requestId) {
- List rl = requestList(eventCmd);
+ List<? extends EventRequest> rl = requestList(eventCmd);
for (int i = rl.size() - 1; i >= 0; i--) {
EventRequestImpl er = (EventRequestImpl)rl.get(i);
if (er.id == requestId) {
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/EventSetImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/EventSetImpl.java
index ad3d7e4..caead97 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/EventSetImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/EventSetImpl.java
@@ -47,7 +47,7 @@ enum EventDestination {UNKNOWN_EVENT, INTERNAL_EVENT, CLIENT_EVENT};
* that is on the queues are all for client requests.
*/
public class EventSetImpl extends ArrayList<Event> implements EventSet {
-
+ private static final long serialVersionUID = -4857338819787924570L;
private VirtualMachineImpl vm; // we implement Mirror
private Packet pkt;
private byte suspendPolicy;
@@ -607,7 +607,7 @@ public class EventSetImpl extends ArrayList<Event> implements EventSet {
PacketStream ps = new PacketStream(vm, pkt);
JDWP.Event.Composite compEvt = new JDWP.Event.Composite(vm, ps);
suspendPolicy = compEvt.suspendPolicy;
- if ((vm.traceFlags & vm.TRACE_EVENTS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_EVENTS) != 0) {
switch(suspendPolicy) {
case JDWP.SuspendPolicy.ALL:
vm.printTrace("EventSet: SUSPEND_ALL");
@@ -626,7 +626,7 @@ public class EventSetImpl extends ArrayList<Event> implements EventSet {
ThreadReference fix6485605 = null;
for (int i = 0; i < compEvt.events.length; i++) {
EventImpl evt = createEvent(compEvt.events[i]);
- if ((vm.traceFlags & vm.TRACE_EVENTS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_EVENTS) != 0) {
try {
vm.printTrace("Event: " + evt);
} catch (VMDisconnectedException ee) {
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/FloatValueImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/FloatValueImpl.java
index cf100d2..182e4fb 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/FloatValueImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/FloatValueImpl.java
@@ -97,7 +97,7 @@ public class FloatValueImpl extends PrimitiveValueImpl
}
public float floatValue() {
- return(float)value;
+ return value;
}
public double doubleValue() {
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/GenericAttachingConnector.java b/jdk/src/share/classes/com/sun/tools/jdi/GenericAttachingConnector.java
index 39d087e..6b86eb3 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/GenericAttachingConnector.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/GenericAttachingConnector.java
@@ -105,7 +105,7 @@ public class GenericAttachingConnector
/**
* Attach to a target VM using the specified address and Connector arguments.
*/
- public VirtualMachine attach(String address, Map args)
+ public VirtualMachine attach(String address, Map<String, ? extends Connector.Argument> args)
throws IOException, IllegalConnectorArgumentsException
{
String ts = argument(ARG_TIMEOUT, args).value();
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/IntegerValueImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/IntegerValueImpl.java
index c455103..5de8a57 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/IntegerValueImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/IntegerValueImpl.java
@@ -83,7 +83,7 @@ public class IntegerValueImpl extends PrimitiveValueImpl
}
public int intValue() {
- return(int)value;
+ return value;
}
public long longValue() {
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/InterfaceTypeImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/InterfaceTypeImpl.java
index 2de4637..a408c77 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/InterfaceTypeImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/InterfaceTypeImpl.java
@@ -128,9 +128,9 @@ public class InterfaceTypeImpl extends ReferenceTypeImpl
* list being built.
*/
List<InterfaceType> immediate = new ArrayList<InterfaceType>(superinterfaces());
- Iterator iter = immediate.iterator();
+ Iterator<InterfaceType> iter = immediate.iterator();
while (iter.hasNext()) {
- InterfaceType interfaze = (InterfaceType)iter.next();
+ InterfaceType interfaze = iter.next();
if (list.contains(interfaze)) {
iter.remove();
}
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/InternalEventHandler.java b/jdk/src/share/classes/com/sun/tools/jdi/InternalEventHandler.java
index d8b02fb..f554fc9 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/InternalEventHandler.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/InternalEventHandler.java
@@ -59,7 +59,7 @@ public class InternalEventHandler implements Runnable
ClassUnloadEvent cuEvent = (ClassUnloadEvent)event;
vm.removeReferenceType(cuEvent.classSignature());
- if ((vm.traceFlags & vm.TRACE_EVENTS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_EVENTS) != 0) {
vm.printTrace("Handled Unload Event for " +
cuEvent.classSignature());
}
@@ -68,7 +68,7 @@ public class InternalEventHandler implements Runnable
((ReferenceTypeImpl)cpEvent.referenceType())
.markPrepared();
- if ((vm.traceFlags & vm.TRACE_EVENTS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_EVENTS) != 0) {
vm.printTrace("Handled Prepare Event for " +
cpEvent.referenceType().name());
}
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/JDWPException.java b/jdk/src/share/classes/com/sun/tools/jdi/JDWPException.java
index 125689c..3d0cc4d 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/JDWPException.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/JDWPException.java
@@ -27,7 +27,7 @@ package com.sun.tools.jdi;
import com.sun.jdi.*;
class JDWPException extends Exception {
-
+ private static final long serialVersionUID = -6321344442751299874L;
short errorCode;
JDWPException(short errorCode) {
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/LongValueImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/LongValueImpl.java
index e2c04bb..f0ee84b 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/LongValueImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/LongValueImpl.java
@@ -93,7 +93,7 @@ public class LongValueImpl extends PrimitiveValueImpl
}
public long longValue() {
- return(long)value;
+ return value;
}
public float floatValue() {
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/MethodImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/MethodImpl.java
index d0d4c87..f93adb8 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/MethodImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/MethodImpl.java
@@ -362,7 +362,7 @@ public abstract class MethodImpl extends TypeComponentImpl
int argSize = arguments.size();
JNITypeParser parser = new JNITypeParser(signature());
- List signatures = parser.argumentSignatures();
+ List<String> signatures = parser.argumentSignatures();
if (signatures.size() != argSize) {
throw new IllegalArgumentException("Invalid argument count: expected " +
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/MirrorImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/MirrorImpl.java
index 9a68f23..f3942c0 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/MirrorImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/MirrorImpl.java
@@ -83,8 +83,8 @@ abstract class MirrorImpl extends Object implements Mirror {
* Throw NullPointerException on null mirrors.
* Throw VMMismatchException on wrong VM.
*/
- void validateMirrors(Collection mirrors) {
- Iterator iter = mirrors.iterator();
+ void validateMirrors(Collection<? extends Mirror> mirrors) {
+ Iterator<? extends Mirror> iter = mirrors.iterator();
while (iter.hasNext()) {
MirrorImpl mirror = (MirrorImpl)iter.next();
if (!vm.equals(mirror.vm)) {
@@ -96,8 +96,8 @@ abstract class MirrorImpl extends Object implements Mirror {
* Allow null mirrors.
* Throw VMMismatchException on wrong VM.
*/
- void validateMirrorsOrNulls(Collection mirrors) {
- Iterator iter = mirrors.iterator();
+ void validateMirrorsOrNulls(Collection<? extends Mirror> mirrors) {
+ Iterator<? extends Mirror> iter = mirrors.iterator();
while (iter.hasNext()) {
MirrorImpl mirror = (MirrorImpl)iter.next();
if ((mirror != null) && !vm.equals(mirror.vm)) {
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/ObjectReferenceImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/ObjectReferenceImpl.java
index 1c2a8cb..b93d898 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/ObjectReferenceImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ObjectReferenceImpl.java
@@ -110,7 +110,7 @@ public class ObjectReferenceImpl extends ValueImpl
public boolean vmNotSuspended(VMAction action) {
// make sure that cache and listener management are synchronized
synchronized (vm.state()) {
- if (cache != null && (vm.traceFlags & vm.TRACE_OBJREFS) != 0) {
+ if (cache != null && (vm.traceFlags & VirtualMachine.TRACE_OBJREFS) != 0) {
vm.printTrace("Clearing temporary cache for " + description());
}
disableCache();
@@ -163,8 +163,8 @@ public class ObjectReferenceImpl extends ValueImpl
public Value getValue(Field sig) {
List<Field> list = new ArrayList<Field>(1);
list.add(sig);
- Map map = getValues(list);
- return(Value)map.get(sig);
+ Map<Field, Value> map = getValues(list);
+ return map.get(sig);
}
public Map<Field,Value> getValues(List<? extends Field> theFields) {
@@ -487,7 +487,7 @@ public class ObjectReferenceImpl extends ValueImpl
info = JDWP.ObjectReference.MonitorInfo.process(vm, this);
if (local != null) {
local.monitorInfo = info;
- if ((vm.traceFlags & vm.TRACE_OBJREFS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_OBJREFS) != 0) {
vm.printTrace("ObjectReference " + uniqueID() +
" temporarily caching monitor info");
}
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/ProcessAttachingConnector.java b/jdk/src/share/classes/com/sun/tools/jdi/ProcessAttachingConnector.java
index 6b5d055..03f7b47 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/ProcessAttachingConnector.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ProcessAttachingConnector.java
@@ -127,7 +127,7 @@ public class ProcessAttachingConnector
} else {
if (lib.equals("dt_shmem")) {
try {
- Class c = Class.forName("com.sun.tools.jdi.SharedMemoryTransportService");
+ Class<?> c = Class.forName("com.sun.tools.jdi.SharedMemoryTransportService");
ts = (TransportService)c.newInstance();
} catch (Exception x) { }
}
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/RawCommandLineLauncher.java b/jdk/src/share/classes/com/sun/tools/jdi/RawCommandLineLauncher.java
index 133193c..cef298d 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/RawCommandLineLauncher.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/RawCommandLineLauncher.java
@@ -53,7 +53,7 @@ public class RawCommandLineLauncher extends AbstractLauncher implements Launchin
super();
try {
- Class c = Class.forName("com.sun.tools.jdi.SharedMemoryTransportService");
+ Class<?> c = Class.forName("com.sun.tools.jdi.SharedMemoryTransportService");
transportService = (TransportService)c.newInstance();
transport = new Transport() {
public String name() {
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java
index ec09090..35543ca 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java
@@ -99,7 +99,7 @@ implements ReferenceType {
// Fetch all methods for the class, check performance impact
// Needs no synchronization now, since methods() returns
// unmodifiable local data
- Iterator it = methods().iterator();
+ Iterator<Method> it = methods().iterator();
while (it.hasNext()) {
MethodImpl method = (MethodImpl)it.next();
if (method.ref() == ref) {
@@ -113,7 +113,7 @@ implements ReferenceType {
// Fetch all fields for the class, check performance impact
// Needs no synchronization now, since fields() returns
// unmodifiable local data
- Iterator it = fields().iterator();
+ Iterator<Field>it = fields().iterator();
while (it.hasNext()) {
FieldImpl field = (FieldImpl)it.next();
if (field.ref() == ref) {
@@ -385,7 +385,7 @@ implements ReferenceType {
/* Add inherited, visible fields */
List<? extends ReferenceType> types = inheritedTypes();
- Iterator iter = types.iterator();
+ Iterator<? extends ReferenceType> iter = types.iterator();
while (iter.hasNext()) {
/*
* TO DO: Be defensive and check for cyclic interface inheritance
@@ -419,7 +419,7 @@ implements ReferenceType {
/* Add inherited fields */
List<? extends ReferenceType> types = inheritedTypes();
- Iterator iter = types.iterator();
+ Iterator<? extends ReferenceType> iter = types.iterator();
while (iter.hasNext()) {
ReferenceTypeImpl type = (ReferenceTypeImpl)iter.next();
type.addAllFields(fieldList, typeSet);
@@ -434,13 +434,10 @@ implements ReferenceType {
}
public Field fieldByName(String fieldName) {
- java.util.List searchList;
- Field f;
-
- searchList = visibleFields();
+ List<Field> searchList = visibleFields();
for (int i=0; i<searchList.size(); i++) {
- f = (Field)searchList.get(i);
+ Field f = searchList.get(i);
if (f.name().equals(fieldName)) {
return f;
@@ -575,13 +572,13 @@ implements ReferenceType {
}
public List<ReferenceType> nestedTypes() {
- List all = vm.allClasses();
+ List<ReferenceType> all = vm.allClasses();
List<ReferenceType> nested = new ArrayList<ReferenceType>();
String outername = name();
int outerlen = outername.length();
- Iterator iter = all.iterator();
+ Iterator<ReferenceType> iter = all.iterator();
while (iter.hasNext()) {
- ReferenceType refType = (ReferenceType)iter.next();
+ ReferenceType refType = iter.next();
String name = refType.name();
int len = name.length();
/* The separator is historically '$' but could also be '#' */
@@ -598,8 +595,8 @@ implements ReferenceType {
public Value getValue(Field sig) {
List<Field> list = new ArrayList<Field>(1);
list.add(sig);
- Map map = getValues(list);
- return(Value)map.get(sig);
+ Map<Field, Value> map = getValues(list);
+ return map.get(sig);
}
@@ -847,7 +844,7 @@ implements ReferenceType {
SDE.Stratum stratum = stratum(stratumID);
List<Location> list = new ArrayList<Location>(); // location list
- for (Iterator iter = methods().iterator(); iter.hasNext(); ) {
+ for (Iterator<Method> iter = methods().iterator(); iter.hasNext(); ) {
MethodImpl method = (MethodImpl)iter.next();
try {
list.addAll(
@@ -887,7 +884,7 @@ implements ReferenceType {
List<Location> list = new ArrayList<Location>();
- Iterator iter = methods.iterator();
+ Iterator<Method> iter = methods.iterator();
while(iter.hasNext()) {
MethodImpl method = (MethodImpl)iter.next();
// eliminate native and abstract to eliminate
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/ShortValueImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/ShortValueImpl.java
index 7ed631d..ea9ec0b 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/ShortValueImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ShortValueImpl.java
@@ -79,7 +79,7 @@ public class ShortValueImpl extends PrimitiveValueImpl
}
public short shortValue() {
- return(short)value;
+ return value;
}
public int intValue() {
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/SunCommandLineLauncher.java b/jdk/src/share/classes/com/sun/tools/jdi/SunCommandLineLauncher.java
index 8b16fc6..40ff222 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/SunCommandLineLauncher.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/SunCommandLineLauncher.java
@@ -64,7 +64,7 @@ public class SunCommandLineLauncher extends AbstractLauncher implements Launchin
* transport or the socket transport
*/
try {
- Class c = Class.forName("com.sun.tools.jdi.SharedMemoryTransportService");
+ Class<?> c = Class.forName("com.sun.tools.jdi.SharedMemoryTransportService");
transportService = (TransportService)c.newInstance();
transport = new Transport() {
public String name() {
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/TargetVM.java b/jdk/src/share/classes/com/sun/tools/jdi/TargetVM.java
index 2853e01..0feac85 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/TargetVM.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/TargetVM.java
@@ -178,7 +178,7 @@ public class TargetVM implements Runnable {
// Closing a queue causes a VMDisconnectEvent to
// be put onto the queue.
synchronized(eventQueues) {
- Iterator iter = eventQueues.iterator();
+ Iterator<EventQueue> iter = eventQueues.iterator();
while (iter.hasNext()) {
((EventQueueImpl)iter.next()).close();
}
@@ -187,9 +187,9 @@ public class TargetVM implements Runnable {
// indirectly throw VMDisconnectedException to
// command requesters.
synchronized(waitingQueue) {
- Iterator iter = waitingQueue.values().iterator();
+ Iterator<Packet> iter = waitingQueue.values().iterator();
while (iter.hasNext()) {
- Packet packet = (Packet)iter.next();
+ Packet packet = iter.next();
synchronized(packet) {
packet.notify();
}
@@ -252,7 +252,7 @@ public class TargetVM implements Runnable {
void notifyDequeueEventSet() {
int maxQueueSize = 0;
synchronized(eventQueues) {
- Iterator iter = eventQueues.iterator();
+ Iterator<EventQueue> iter = eventQueues.iterator();
while (iter.hasNext()) {
EventQueueImpl queue = (EventQueueImpl)iter.next();
maxQueueSize = Math.max(maxQueueSize, queue.size());
@@ -265,7 +265,7 @@ public class TargetVM implements Runnable {
int maxQueueSize = 0;
synchronized(eventQueues) {
- Iterator iter = eventQueues.iterator();
+ Iterator<EventQueue> iter = eventQueues.iterator();
while (iter.hasNext()) {
EventQueueImpl queue = (EventQueueImpl)iter.next();
queue.enqueue(eventSet);
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/ThreadAction.java b/jdk/src/share/classes/com/sun/tools/jdi/ThreadAction.java
index 5394341..8187142 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/ThreadAction.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ThreadAction.java
@@ -33,6 +33,7 @@ import java.util.EventObject;
* with JDI events.
*/
class ThreadAction extends EventObject {
+ private static final long serialVersionUID = 5690763191100515283L;
// Event ids
/*static final int THREAD_SUSPENDED = 1;*/
static final int THREAD_RESUMABLE = 2;
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/ThreadGroupReferenceImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/ThreadGroupReferenceImpl.java
index 3d5d203..5cc79f7 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/ThreadGroupReferenceImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ThreadGroupReferenceImpl.java
@@ -118,7 +118,7 @@ public class ThreadGroupReferenceImpl extends ObjectReferenceImpl
.process(vm, this);
if (local != null) {
local.kids = kids;
- if ((vm.traceFlags & vm.TRACE_OBJREFS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_OBJREFS) != 0) {
vm.printTrace(description() +
" temporarily caching children ");
}
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java
index f694afc..d76f60c 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java
@@ -240,7 +240,7 @@ public class ThreadReferenceImpl extends ObjectReferenceImpl
public void stop(ObjectReference throwable) throws InvalidTypeException {
validateMirror(throwable);
// Verify that the given object is a Throwable instance
- List list = vm.classesByName("java.lang.Throwable");
+ List<ReferenceType> list = vm.classesByName("java.lang.Throwable");
ClassTypeImpl throwableClass = (ClassTypeImpl)list.get(0);
if ((throwable == null) ||
!throwableClass.isAssignableFrom(throwable)) {
@@ -296,10 +296,10 @@ public class ThreadReferenceImpl extends ObjectReferenceImpl
try {
StackFrame frame = frame(0);
Location location = frame.location();
- List requests = vm.eventRequestManager().breakpointRequests();
- Iterator iter = requests.iterator();
+ List<BreakpointRequest> requests = vm.eventRequestManager().breakpointRequests();
+ Iterator<BreakpointRequest> iter = requests.iterator();
while (iter.hasNext()) {
- BreakpointRequest request = (BreakpointRequest)iter.next();
+ BreakpointRequest request = iter.next();
if (location.equals(request.location())) {
return true;
}
@@ -352,8 +352,8 @@ public class ThreadReferenceImpl extends ObjectReferenceImpl
}
public StackFrame frame(int index) throws IncompatibleThreadStateException {
- List list = privateFrames(index, 1);
- return (StackFrame)list.get(0);
+ List<StackFrame> list = privateFrames(index, 1);
+ return list.get(0);
}
/**
@@ -447,7 +447,7 @@ public class ThreadReferenceImpl extends ObjectReferenceImpl
snapshot.ownedMonitors = Arrays.asList(
(ObjectReference[])JDWP.ThreadReference.OwnedMonitors.
process(vm, this).owned);
- if ((vm.traceFlags & vm.TRACE_OBJREFS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_OBJREFS) != 0) {
vm.printTrace(description() +
" temporarily caching owned monitors"+
" (count = " + snapshot.ownedMonitors.size() + ")");
@@ -475,7 +475,7 @@ public class ThreadReferenceImpl extends ObjectReferenceImpl
process(vm, this).monitor;
snapshot.triedCurrentContended = true;
if ((snapshot.contendedMonitor != null) &&
- ((vm.traceFlags & vm.TRACE_OBJREFS) != 0)) {
+ ((vm.traceFlags & VirtualMachine.TRACE_OBJREFS) != 0)) {
vm.printTrace(description() +
" temporarily caching contended monitor"+
" (id = " + snapshot.contendedMonitor.uniqueID() + ")");
@@ -509,7 +509,7 @@ public class ThreadReferenceImpl extends ObjectReferenceImpl
snapshot.ownedMonitorsInfo.add(mon);
}
- if ((vm.traceFlags & vm.TRACE_OBJREFS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_OBJREFS) != 0) {
vm.printTrace(description() +
" temporarily caching owned monitors"+
" (count = " + snapshot.ownedMonitorsInfo.size() + ")");
@@ -601,9 +601,9 @@ public class ThreadReferenceImpl extends ObjectReferenceImpl
void removeListener(ThreadListener listener) {
synchronized (vm.state()) {
- Iterator iter = listeners.iterator();
+ Iterator<WeakReference<ThreadListener>> iter = listeners.iterator();
while (iter.hasNext()) {
- WeakReference ref = (WeakReference)iter.next();
+ WeakReference<ThreadListener> ref = iter.next();
if (listener.equals(ref.get())) {
iter.remove();
break;
@@ -619,10 +619,10 @@ public class ThreadReferenceImpl extends ObjectReferenceImpl
*/
private void processThreadAction(ThreadAction action) {
synchronized (vm.state()) {
- Iterator iter = listeners.iterator();
+ Iterator<WeakReference<ThreadListener>> iter = listeners.iterator();
while (iter.hasNext()) {
- WeakReference ref = (WeakReference)iter.next();
- ThreadListener listener = (ThreadListener)ref.get();
+ WeakReference<ThreadListener> ref = iter.next();
+ ThreadListener listener = ref.get();
if (listener != null) {
switch (action.id()) {
case ThreadAction.THREAD_RESUMABLE:
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/VMAction.java b/jdk/src/share/classes/com/sun/tools/jdi/VMAction.java
index 7b9dc04..91d6972 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/VMAction.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/VMAction.java
@@ -33,6 +33,8 @@ import java.util.EventObject;
* with JDI events.
*/
class VMAction extends EventObject {
+ private static final long serialVersionUID = -1701944679310296090L;
+
// Event ids
static final int VM_SUSPENDED = 1;
static final int VM_NOT_SUSPENDED = 2;
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/VMState.java b/jdk/src/share/classes/com/sun/tools/jdi/VMState.java
index de49e8a..76c6804 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/VMState.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/VMState.java
@@ -34,7 +34,7 @@ class VMState {
private final VirtualMachineImpl vm;
// Listeners
- private final List<WeakReference> listeners = new ArrayList<WeakReference>(); // synchronized (this)
+ private final List<WeakReference<VMListener>> listeners = new ArrayList<WeakReference<VMListener>>(); // synchronized (this)
private boolean notifyingListeners = false; // synchronized (this)
/*
@@ -129,7 +129,7 @@ class VMState {
*/
synchronized void thaw(ThreadReference resumingThread) {
if (cache != null) {
- if ((vm.traceFlags & vm.TRACE_OBJREFS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_OBJREFS) != 0) {
vm.printTrace("Clearing VM suspended cache");
}
disableCache();
@@ -142,10 +142,10 @@ class VMState {
// Prevent recursion
notifyingListeners = true;
- Iterator iter = listeners.iterator();
+ Iterator<WeakReference<VMListener>> iter = listeners.iterator();
while (iter.hasNext()) {
- WeakReference ref = (WeakReference)iter.next();
- VMListener listener = (VMListener)ref.get();
+ WeakReference<VMListener> ref = iter.next();
+ VMListener listener = ref.get();
if (listener != null) {
boolean keep = true;
switch (action.id()) {
@@ -178,9 +178,9 @@ class VMState {
}
synchronized void removeListener(VMListener listener) {
- Iterator iter = listeners.iterator();
+ Iterator<WeakReference<VMListener>> iter = listeners.iterator();
while (iter.hasNext()) {
- WeakReference ref = (WeakReference)iter.next();
+ WeakReference<VMListener> ref = iter.next();
if (listener.equals(ref.get())) {
iter.remove();
break;
@@ -202,7 +202,7 @@ class VMState {
process(vm).threads);
if (local != null) {
local.threads = threads;
- if ((vm.traceFlags & vm.TRACE_OBJREFS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_OBJREFS) != 0) {
vm.printTrace("Caching all threads (count = " +
threads.size() + ") while VM suspended");
}
@@ -229,7 +229,7 @@ class VMState {
process(vm).groups);
if (local != null) {
local.groups = groups;
- if ((vm.traceFlags & vm.TRACE_OBJREFS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_OBJREFS) != 0) {
vm.printTrace(
"Caching top level thread groups (count = " +
groups.size() + ") while VM suspended");
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java
index 7367b93..6cde25e 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java
@@ -300,9 +300,9 @@ class VirtualMachineImpl extends MirrorImpl
if (!canRedefineClasses()) {
throw new UnsupportedOperationException();
}
- Iterator it = classToBytes.entrySet().iterator();
+ Iterator<?> it = classToBytes.entrySet().iterator();
for (int i = 0; it.hasNext(); i++) {
- Map.Entry entry = (Map.Entry)it.next();
+ Map.Entry<?,?> entry = (Map.Entry)it.next();
ReferenceTypeImpl refType = (ReferenceTypeImpl)entry.getKey();
validateMirror(refType);
defs[i] = new JDWP.VirtualMachine.RedefineClasses
@@ -801,7 +801,7 @@ class VirtualMachineImpl extends MirrorImpl
* we can't differentiate here, we first remove all
* matching classes from our cache...
*/
- Iterator iter = typesBySignature.iterator();
+ Iterator<ReferenceType> iter = typesBySignature.iterator();
int matches = 0;
while (iter.hasNext()) {
ReferenceTypeImpl type = (ReferenceTypeImpl)iter.next();
@@ -833,7 +833,7 @@ class VirtualMachineImpl extends MirrorImpl
if (typesByID == null) {
return new ArrayList<ReferenceType>(0);
}
- Iterator iter = typesBySignature.iterator();
+ Iterator<ReferenceType> iter = typesBySignature.iterator();
List<ReferenceType> list = new ArrayList<ReferenceType>();
while (iter.hasNext()) {
ReferenceTypeImpl type = (ReferenceTypeImpl)iter.next();
@@ -1041,10 +1041,10 @@ class VirtualMachineImpl extends MirrorImpl
}
Type findBootType(String signature) throws ClassNotLoadedException {
- List types = allClasses();
- Iterator iter = types.iterator();
+ List<ReferenceType> types = allClasses();
+ Iterator<ReferenceType> iter = types.iterator();
while (iter.hasNext()) {
- ReferenceType type = (ReferenceType)iter.next();
+ ReferenceType type = iter.next();
if ((type.classLoader() == null) &&
(type.signature().equals(signature))) {
return type;
@@ -1227,7 +1227,7 @@ class VirtualMachineImpl extends MirrorImpl
}
private void processQueue() {
- Reference ref;
+ Reference<?> ref;
//if ((traceFlags & TRACE_OBJREFS) != 0) {
// printTrace("Checking for softly reachable objects");
//}
diff --git a/jdk/src/share/classes/java/applet/Applet.java b/jdk/src/share/classes/java/applet/Applet.java
index 1abacab..4174029 100644
--- a/jdk/src/share/classes/java/applet/Applet.java
+++ b/jdk/src/share/classes/java/applet/Applet.java
@@ -117,7 +117,7 @@ public class Applet extends Panel {
s.checkPermission(new AWTPermission("setAppletStub"));
}
}
- this.stub = (AppletStub)stub;
+ this.stub = stub;
}
/**
@@ -210,6 +210,7 @@ public class Applet extends Panel {
* @param width the new requested width for the applet.
* @param height the new requested height for the applet.
*/
+ @SuppressWarnings("deprecation")
public void resize(int width, int height) {
Dimension d = size();
if ((d.width != width) || (d.height != height)) {
@@ -225,6 +226,7 @@ public class Applet extends Panel {
*
* @param d an object giving the new width and height.
*/
+ @SuppressWarnings("deprecation")
public void resize(Dimension d) {
resize(d.width, d.height);
}
diff --git a/jdk/src/share/classes/java/awt/AWTEvent.java b/jdk/src/share/classes/java/awt/AWTEvent.java
index e3b650f..8746998 100644
--- a/jdk/src/share/classes/java/awt/AWTEvent.java
+++ b/jdk/src/share/classes/java/awt/AWTEvent.java
@@ -278,9 +278,9 @@ public abstract class AWTEvent extends EventObject {
private static synchronized Field get_InputEvent_CanAccessSystemClipboard() {
if (inputEvent_CanAccessSystemClipboard_Field == null) {
inputEvent_CanAccessSystemClipboard_Field =
- (Field)java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction() {
- public Object run() {
+ java.security.AccessController.doPrivileged(
+ new java.security.PrivilegedAction<Field>() {
+ public Field run() {
Field field = null;
try {
field = InputEvent.class.
diff --git a/jdk/src/share/classes/java/awt/AWTEventMulticaster.java b/jdk/src/share/classes/java/awt/AWTEventMulticaster.java
index 9be8a50..a5daab6 100644
--- a/jdk/src/share/classes/java/awt/AWTEventMulticaster.java
+++ b/jdk/src/share/classes/java/awt/AWTEventMulticaster.java
@@ -953,7 +953,7 @@ public class AWTEventMulticaster implements
* AWTEventMulticaster. Additionally, only listeners of type listenerType
* are counted. Method modified to fix bug 4513402. -bchristi
*/
- private static int getListenerCount(EventListener l, Class listenerType) {
+ private static int getListenerCount(EventListener l, Class<?> listenerType) {
if (l instanceof AWTEventMulticaster) {
AWTEventMulticaster mc = (AWTEventMulticaster)l;
return getListenerCount(mc.a, listenerType) +
@@ -1017,6 +1017,7 @@ public class AWTEventMulticaster implements
*
* @since 1.4
*/
+ @SuppressWarnings("unchecked")
public static <T extends EventListener> T[]
getListeners(EventListener l, Class<T> listenerType)
{
diff --git a/jdk/src/share/classes/java/awt/AWTKeyStroke.java b/jdk/src/share/classes/java/awt/AWTKeyStroke.java
index 13f6edd..8966d75 100644
--- a/jdk/src/share/classes/java/awt/AWTKeyStroke.java
+++ b/jdk/src/share/classes/java/awt/AWTKeyStroke.java
@@ -802,8 +802,11 @@ public class AWTKeyStroke implements Serializable {
*/
protected Object readResolve() throws java.io.ObjectStreamException {
synchronized (AWTKeyStroke.class) {
- return getCachedStroke(keyChar, keyCode, modifiers, onKeyRelease);
+ if (getClass().equals(getAWTKeyStrokeClass())) {
+ return getCachedStroke(keyChar, keyCode, modifiers, onKeyRelease);
+ }
}
+ return this;
}
private static int mapOldModifiers(int modifiers) {
diff --git a/jdk/src/share/classes/java/awt/Component.java b/jdk/src/share/classes/java/awt/Component.java
index 09d745f..22c3801 100644
--- a/jdk/src/share/classes/java/awt/Component.java
+++ b/jdk/src/share/classes/java/awt/Component.java
@@ -382,7 +382,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
* @serial
* @see #add
*/
- Vector popups;
+ Vector<PopupMenu> popups;
/**
* A component's name.
@@ -441,7 +441,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
* @see #getFocusTraversalKeys
* @since 1.4
*/
- Set[] focusTraversalKeys;
+ Set<AWTKeyStroke>[] focusTraversalKeys;
private static final String[] focusTraversalKeyPropertyNames = {
"forwardFocusTraversalKeys",
@@ -598,12 +598,12 @@ public abstract class Component implements ImageObserver, MenuContainer,
initIDs();
}
- String s = (String) java.security.AccessController.doPrivileged(
- new GetPropertyAction("awt.image.incrementaldraw"));
+ String s = java.security.AccessController.doPrivileged(
+ new GetPropertyAction("awt.image.incrementaldraw"));
isInc = (s == null || s.equals("true"));
- s = (String) java.security.AccessController.doPrivileged(
- new GetPropertyAction("awt.image.redrawrate"));
+ s = java.security.AccessController.doPrivileged(
+ new GetPropertyAction("awt.image.redrawrate"));
incRate = (s != null) ? Integer.parseInt(s) : 100;
}
@@ -666,9 +666,10 @@ public abstract class Component implements ImageObserver, MenuContainer,
* can lead to a deadlock if client code also uses synchronization
* by a component object. For every such situation revealed we should
* consider possibility of replacing "this" with the package private
- * objectLock object introduced below. So far there're 2 issues known:
+ * objectLock object introduced below. So far there're 3 issues known:
* - CR 6708322 (the getName/setName methods);
- * - CR 6608764 (the PropertyChangeListener machinery).
+ * - CR 6608764 (the PropertyChangeListener machinery);
+ * - CR 7108598 (the Container.paint/KeyboardFocusManager.clearMostRecentFocusOwner methods).
*
* Note: this field is considered final, though readObject() prohibits
* initializing final fields.
@@ -985,6 +986,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
appContext = AppContext.getAppContext();
}
+ @SuppressWarnings({"rawtypes", "unchecked"})
void initializeFocusTraversalKeys() {
focusTraversalKeys = new Set[3];
}
@@ -1158,6 +1160,10 @@ public abstract class Component implements ImageObserver, MenuContainer,
boolean updateGraphicsData(GraphicsConfiguration gc) {
checkTreeLock();
+ if (graphicsConfig == gc) {
+ return false;
+ }
+
graphicsConfig = gc;
ComponentPeer peer = getPeer();
@@ -1364,13 +1370,13 @@ public abstract class Component implements ImageObserver, MenuContainer,
throw new HeadlessException();
}
- PointerInfo pi = (PointerInfo)java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction() {
- public Object run() {
- return MouseInfo.getPointerInfo();
- }
- }
- );
+ PointerInfo pi = java.security.AccessController.doPrivileged(
+ new java.security.PrivilegedAction<PointerInfo>() {
+ public PointerInfo run() {
+ return MouseInfo.getPointerInfo();
+ }
+ }
+ );
synchronized (getTreeLock()) {
Component inTheSameWindow = findUnderMouseInWindow(pi);
@@ -2329,7 +2335,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
peer.setBounds(nativeX, nativeY, width, height, op);
}
-
+ @SuppressWarnings("deprecation")
private void notifyNewBounds(boolean resized, boolean moved) {
if (componentListener != null
|| (eventMask & AWTEvent.COMPONENT_EVENT_MASK) != 0
@@ -4685,6 +4691,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
dispatchEventImpl(e);
}
+ @SuppressWarnings("deprecation")
void dispatchEventImpl(AWTEvent e) {
int id = e.getID();
@@ -5237,7 +5244,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
* @since 1.4
*/
public synchronized ComponentListener[] getComponentListeners() {
- return (ComponentListener[]) (getListeners(ComponentListener.class));
+ return getListeners(ComponentListener.class);
}
/**
@@ -5306,7 +5313,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
* @since 1.4
*/
public synchronized FocusListener[] getFocusListeners() {
- return (FocusListener[]) (getListeners(FocusListener.class));
+ return getListeners(FocusListener.class);
}
/**
@@ -5397,7 +5404,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
* @since 1.4
*/
public synchronized HierarchyListener[] getHierarchyListeners() {
- return (HierarchyListener[])(getListeners(HierarchyListener.class));
+ return getListeners(HierarchyListener.class);
}
/**
@@ -5559,8 +5566,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
* @since 1.4
*/
public synchronized HierarchyBoundsListener[] getHierarchyBoundsListeners() {
- return (HierarchyBoundsListener[])
- (getListeners(HierarchyBoundsListener.class));
+ return getListeners(HierarchyBoundsListener.class);
}
/*
@@ -5639,7 +5645,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
* @since 1.4
*/
public synchronized KeyListener[] getKeyListeners() {
- return (KeyListener[]) (getListeners(KeyListener.class));
+ return getListeners(KeyListener.class);
}
/**
@@ -5708,7 +5714,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
* @since 1.4
*/
public synchronized MouseListener[] getMouseListeners() {
- return (MouseListener[]) (getListeners(MouseListener.class));
+ return getListeners(MouseListener.class);
}
/**
@@ -5777,7 +5783,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
* @since 1.4
*/
public synchronized MouseMotionListener[] getMouseMotionListeners() {
- return (MouseMotionListener[]) (getListeners(MouseMotionListener.class));
+ return getListeners(MouseMotionListener.class);
}
/**
@@ -5850,7 +5856,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
* @since 1.4
*/
public synchronized MouseWheelListener[] getMouseWheelListeners() {
- return (MouseWheelListener[]) (getListeners(MouseWheelListener.class));
+ return getListeners(MouseWheelListener.class);
}
/**
@@ -5917,7 +5923,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
* @since 1.4
*/
public synchronized InputMethodListener[] getInputMethodListeners() {
- return (InputMethodListener[]) (getListeners(InputMethodListener.class));
+ return getListeners(InputMethodListener.class);
}
/**
@@ -5962,6 +5968,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
*
* @since 1.3
*/
+ @SuppressWarnings("unchecked")
public <T extends EventListener> T[] getListeners(Class<T> listenerType) {
EventListener l = null;
if (listenerType == ComponentListener.class) {
@@ -6904,7 +6911,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
int npopups = (popups != null? popups.size() : 0);
for (int i = 0 ; i < npopups ; i++) {
- PopupMenu popup = (PopupMenu)popups.elementAt(i);
+ PopupMenu popup = popups.elementAt(i);
popup.addNotify();
}
@@ -6974,7 +6981,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
int npopups = (popups != null? popups.size() : 0);
for (int i = 0 ; i < npopups ; i++) {
- PopupMenu popup = (PopupMenu)popups.elementAt(i);
+ PopupMenu popup = popups.elementAt(i);
popup.removeNotify();
}
// If there is any input context for this component, notify
@@ -7233,7 +7240,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
// would erroneously generate an IllegalArgumentException for
// DOWN_CYCLE_TRAVERSAL_KEY.
final void setFocusTraversalKeys_NoIDCheck(int id, Set<? extends AWTKeyStroke> keystrokes) {
- Set oldKeys;
+ Set<AWTKeyStroke> oldKeys;
synchronized (this) {
if (focusTraversalKeys == null) {
@@ -7241,20 +7248,12 @@ public abstract class Component implements ImageObserver, MenuContainer,
}
if (keystrokes != null) {
- for (Iterator iter = keystrokes.iterator(); iter.hasNext(); ) {
- Object obj = iter.next();
+ for (AWTKeyStroke keystroke : keystrokes ) {
- if (obj == null) {
+ if (keystroke == null) {
throw new IllegalArgumentException("cannot set null focus traversal key");
}
- // Fix for 6195828:
- //According to javadoc this method should throw IAE instead of ClassCastException
- if (!(obj instanceof AWTKeyStroke)) {
- throw new IllegalArgumentException("object is expected to be AWTKeyStroke");
- }
- AWTKeyStroke keystroke = (AWTKeyStroke)obj;
-
if (keystroke.getKeyChar() != KeyEvent.CHAR_UNDEFINED) {
throw new IllegalArgumentException("focus traversal keys cannot map to KEY_TYPED events");
}
@@ -7274,16 +7273,16 @@ public abstract class Component implements ImageObserver, MenuContainer,
oldKeys = focusTraversalKeys[id];
focusTraversalKeys[id] = (keystrokes != null)
- ? Collections.unmodifiableSet(new HashSet(keystrokes))
+ ? Collections.unmodifiableSet(new HashSet<AWTKeyStroke>(keystrokes))
: null;
}
firePropertyChange(focusTraversalKeyPropertyNames[id], oldKeys,
keystrokes);
}
- final Set getFocusTraversalKeys_NoIDCheck(int id) {
+ final Set<AWTKeyStroke> getFocusTraversalKeys_NoIDCheck(int id) {
// Okay to return Set directly because it is an unmodifiable view
- Set keystrokes = (focusTraversalKeys != null)
+ Set<AWTKeyStroke> keystrokes = (focusTraversalKeys != null)
? focusTraversalKeys[id]
: null;
@@ -7681,7 +7680,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
}
Window window = getContainingWindow();
- if (window == null || !((Window)window).isFocusableWindow()) {
+ if (window == null || !window.isFocusableWindow()) {
if (focusLog.isLoggable(PlatformLogger.FINEST)) {
focusLog.finest("Component doesn't have toplevel");
}
@@ -8020,7 +8019,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
popup.parent.remove(popup);
}
if (popups == null) {
- popups = new Vector();
+ popups = new Vector<PopupMenu>();
}
popups.addElement(popup);
popup.parent = this;
@@ -8039,6 +8038,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
* @see #add(PopupMenu)
* @since JDK1.1
*/
+ @SuppressWarnings("unchecked")
public void remove(MenuComponent popup) {
synchronized (getTreeLock()) {
if (popups == null) {
@@ -8551,26 +8551,26 @@ public abstract class Component implements ImageObserver, MenuContainer,
//
// Swing classes MUST be loaded by the bootstrap class loader,
// otherwise we don't consider them.
- for (Class klass = Component.this.getClass(); klass != null;
+ for (Class<?> klass = Component.this.getClass(); klass != null;
klass = klass.getSuperclass()) {
if (klass.getPackage() == swingPackage &&
klass.getClassLoader() == null) {
- final Class swingClass = klass;
+ final Class<?> swingClass = klass;
// Find the first override of the compWriteObjectNotify method
- Method[] methods = (Method[])AccessController.doPrivileged(
- new PrivilegedAction() {
- public Object run() {
- return swingClass.getDeclaredMethods();
- }
- });
+ Method[] methods = AccessController.doPrivileged(
+ new PrivilegedAction<Method[]>() {
+ public Method[] run() {
+ return swingClass.getDeclaredMethods();
+ }
+ });
for (int counter = methods.length - 1; counter >= 0;
counter--) {
final Method method = methods[counter];
if (method.getName().equals("compWriteObjectNotify")){
// We found it, use doPrivileged to make it accessible
// to use.
- AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
+ AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ public Void run() {
method.setAccessible(true);
return null;
}
@@ -8799,7 +8799,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
if (popups != null) {
int npopups = popups.size();
for (int i = 0 ; i < npopups ; i++) {
- PopupMenu popup = (PopupMenu)popups.elementAt(i);
+ PopupMenu popup = popups.elementAt(i);
popup.parent = this;
}
}
@@ -9653,7 +9653,7 @@ public abstract class Component implements ImageObserver, MenuContainer,
if (obj == null) return false;
if (className == null) return false;
- Class cls = obj.getClass();
+ Class<?> cls = obj.getClass();
while (cls != null) {
if (cls.getName().equals(className)) {
return true;
diff --git a/jdk/src/share/classes/java/awt/Container.java b/jdk/src/share/classes/java/awt/Container.java
index c59aa90..03b0f7f 100644
--- a/jdk/src/share/classes/java/awt/Container.java
+++ b/jdk/src/share/classes/java/awt/Container.java
@@ -1950,7 +1950,7 @@ public class Container extends Component {
*/
public void paint(Graphics g) {
if (isShowing()) {
- synchronized (this) {
+ synchronized (getObjectLock()) {
if (printing) {
if (printingThreads.contains(Thread.currentThread())) {
return;
@@ -2004,7 +2004,7 @@ public class Container extends Component {
if (isShowing()) {
Thread t = Thread.currentThread();
try {
- synchronized (this) {
+ synchronized (getObjectLock()) {
if (printingThreads == null) {
printingThreads = new HashSet();
}
@@ -2013,7 +2013,7 @@ public class Container extends Component {
}
super.print(g); // By default, Component.print() calls paint()
} finally {
- synchronized (this) {
+ synchronized (getObjectLock()) {
printingThreads.remove(t);
printing = !printingThreads.isEmpty();
}
diff --git a/jdk/src/share/classes/java/awt/Font.java b/jdk/src/share/classes/java/awt/Font.java
index a877d28..e3d48d6 100644
--- a/jdk/src/share/classes/java/awt/Font.java
+++ b/jdk/src/share/classes/java/awt/Font.java
@@ -254,7 +254,7 @@ public class Font implements java.io.Serializable
* @serial
* @see #getAttributes()
*/
- private Hashtable fRequestedAttributes;
+ private Hashtable<Object, Object> fRequestedAttributes;
/*
* Constants to be used for logical font family names.
@@ -446,6 +446,7 @@ public class Font implements java.io.Serializable
// We implement this functionality in a package-private method
// to insure that it cannot be overridden by client subclasses.
// DO NOT INVOKE CLIENT CODE ON THIS THREAD!
+ @SuppressWarnings("deprecation")
final FontPeer getPeer_NoClientCode() {
if(peer == null) {
Toolkit tk = Toolkit.getDefaultToolkit();
@@ -907,11 +908,11 @@ public class Font implements java.io.Serializable
break;
}
if (tracker != null) {
- if (totalSize+bytesRead > tracker.MAX_FILE_SIZE) {
+ if (totalSize+bytesRead > CreatedFontTracker.MAX_FILE_SIZE) {
throw new IOException("File too big.");
}
if (totalSize+tracker.getNumBytes() >
- tracker.MAX_TOTAL_BYTES)
+ CreatedFontTracker.MAX_TOTAL_BYTES)
{
throw new IOException("Total files too big.");
}
@@ -2126,11 +2127,11 @@ public class Font implements java.io.Serializable
return false; // REMIND always safe, but prevents caller optimize
}
- private transient SoftReference flmref;
+ private transient SoftReference<FontLineMetrics> flmref;
private FontLineMetrics defaultLineMetrics(FontRenderContext frc) {
FontLineMetrics flm = null;
if (flmref == null
- || (flm = (FontLineMetrics)flmref.get()) == null
+ || (flm = flmref.get()) == null
|| !flm.frc.equals(frc)) {
/* The device transform in the frc is not used in obtaining line
@@ -2194,7 +2195,7 @@ public class Font implements java.io.Serializable
ssOffset, italicAngle);
flm = new FontLineMetrics(0, cm, frc);
- flmref = new SoftReference(flm);
+ flmref = new SoftReference<FontLineMetrics>(flm);
}
return (FontLineMetrics)flm.clone();
diff --git a/jdk/src/share/classes/java/awt/Toolkit.java b/jdk/src/share/classes/java/awt/Toolkit.java
index 8187084..d9f8cf0 100644
--- a/jdk/src/share/classes/java/awt/Toolkit.java
+++ b/jdk/src/share/classes/java/awt/Toolkit.java
@@ -706,9 +706,9 @@ public abstract class Toolkit {
final Properties properties = new Properties();
- atNames = (String)java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction() {
- public Object run() {
+ atNames = java.security.AccessController.doPrivileged(
+ new java.security.PrivilegedAction<String>() {
+ public String run() {
// Try loading the per-user accessibility properties file.
try {
@@ -798,7 +798,7 @@ public abstract class Toolkit {
while (parser.hasMoreTokens()) {
atName = parser.nextToken();
try {
- Class clazz;
+ Class<?> clazz;
if (cl != null) {
clazz = cl.loadClass(atName);
} else {
@@ -860,8 +860,8 @@ public abstract class Toolkit {
java.lang.Compiler.disable();
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction() {
- public Object run() {
+ new java.security.PrivilegedAction<Void>() {
+ public Void run() {
String nm = null;
Class cls = null;
try {
@@ -1653,8 +1653,8 @@ public abstract class Toolkit {
static {
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction() {
- public Object run() {
+ new java.security.PrivilegedAction<Void>() {
+ public Void run() {
try {
resources =
ResourceBundle.getBundle("sun.awt.resources.awt",
@@ -1984,7 +1984,7 @@ public abstract class Toolkit {
private int[] calls = new int[LONG_BITS];
private static volatile long enabledOnToolkitMask;
private AWTEventListener eventListener = null;
- private WeakHashMap listener2SelectiveListener = new WeakHashMap();
+ private WeakHashMap<AWTEventListener, SelectiveAWTEventListener> listener2SelectiveListener = new WeakHashMap<>();
/*
* Extracts a "pure" AWTEventListener from a AWTEventListenerProxy,
@@ -2051,7 +2051,7 @@ public abstract class Toolkit {
}
synchronized (this) {
SelectiveAWTEventListener selectiveListener =
- (SelectiveAWTEventListener)listener2SelectiveListener.get(localL);
+ listener2SelectiveListener.get(localL);
if (selectiveListener == null) {
// Create a new selectiveListener.
@@ -2121,7 +2121,7 @@ public abstract class Toolkit {
synchronized (this) {
SelectiveAWTEventListener selectiveListener =
- (SelectiveAWTEventListener)listener2SelectiveListener.get(localL);
+ listener2SelectiveListener.get(localL);
if (selectiveListener != null) {
listener2SelectiveListener.remove(localL);
@@ -2244,7 +2244,7 @@ public abstract class Toolkit {
synchronized (this) {
EventListener[] la = ToolkitEventMulticaster.getListeners(eventListener,AWTEventListener.class);
- java.util.List list = new ArrayList(la.length);
+ java.util.List<AWTEventListenerProxy> list = new ArrayList<>(la.length);
for (int i = 0; i < la.length; i++) {
SelectiveAWTEventListener sael = (SelectiveAWTEventListener)la[i];
@@ -2254,7 +2254,7 @@ public abstract class Toolkit {
sael.getListener()));
}
}
- return (AWTEventListener[])list.toArray(new AWTEventListener[0]);
+ return list.toArray(new AWTEventListener[0]);
}
}
@@ -2457,7 +2457,9 @@ public abstract class Toolkit {
}
}
+ @SuppressWarnings("serial")
private static class DesktopPropertyChangeSupport extends PropertyChangeSupport {
+
private static final StringBuilder PROP_CHANGE_SUPPORT_KEY =
new StringBuilder("desktop property change support key");
private final Object source;
diff --git a/jdk/src/share/classes/java/awt/font/StyledParagraph.java b/jdk/src/share/classes/java/awt/font/StyledParagraph.java
index 64ac10d..df231bf 100644
--- a/jdk/src/share/classes/java/awt/font/StyledParagraph.java
+++ b/jdk/src/share/classes/java/awt/font/StyledParagraph.java
@@ -34,6 +34,7 @@ import java.awt.Toolkit;
import java.awt.im.InputMethodHighlight;
import java.text.Annotation;
import java.text.AttributedCharacterIterator;
+import java.text.AttributedCharacterIterator.Attribute;
import java.util.Vector;
import java.util.HashMap;
import java.util.Map;
@@ -65,7 +66,7 @@ final class StyledParagraph {
// If there are multiple Decorations in the paragraph, they are
// stored in this Vector, in order. Otherwise this vector and
// the decorationStarts array are null.
- private Vector decorations;
+ private Vector<Decoration> decorations;
// If there are multiple Decorations in the paragraph,
// decorationStarts[i] contains the index where decoration i
// starts. For convenience, there is an extra entry at the
@@ -76,7 +77,7 @@ final class StyledParagraph {
// they are
// stored in this Vector, in order. Otherwise this vector and
// the fontStarts array are null.
- private Vector fonts;
+ private Vector<Object> fonts;
// If there are multiple Fonts/GraphicAttributes in the paragraph,
// fontStarts[i] contains the index where decoration i
// starts. For convenience, there is an extra entry at the
@@ -104,7 +105,7 @@ final class StyledParagraph {
final int nextRunStart = aci.getRunLimit();
final int localIndex = index-start;
- Map attributes = aci.getAttributes();
+ Map<? extends Attribute, ?> attributes = aci.getAttributes();
attributes = addInputMethodAttrs(attributes);
Decoration d = Decoration.getDecoration(attributes);
addDecoration(d, localIndex);
@@ -168,7 +169,8 @@ final class StyledParagraph {
char ch = aci.setIndex(insertPos);
int relativePos = Math.max(insertPos - aci.getBeginIndex() - 1, 0);
- Map attributes = addInputMethodAttrs(aci.getAttributes());
+ Map<? extends Attribute, ?> attributes =
+ addInputMethodAttrs(aci.getAttributes());
Decoration d = Decoration.getDecoration(attributes);
if (!oldParagraph.getDecorationAt(relativePos).equals(d)) {
return new StyledParagraph(aci, chars);
@@ -297,7 +299,7 @@ final class StyledParagraph {
return decoration;
}
int run = findRunContaining(index, decorationStarts);
- return (Decoration) decorations.elementAt(run);
+ return decorations.elementAt(run);
}
/**
@@ -339,6 +341,7 @@ final class StyledParagraph {
* starts array does not have room for the index, a
* new array is created and returned.
*/
+ @SuppressWarnings({"rawtypes", "unchecked"})
private static int[] addToVector(Object obj,
int index,
Vector v,
@@ -374,7 +377,7 @@ final class StyledParagraph {
}
else {
if (!decoration.equals(d)) {
- decorations = new Vector(INITIAL_SIZE);
+ decorations = new Vector<Decoration>(INITIAL_SIZE);
decorations.addElement(decoration);
decorations.addElement(d);
decorationStarts = new int[INITIAL_SIZE];
@@ -398,7 +401,7 @@ final class StyledParagraph {
}
else {
if (!font.equals(f)) {
- fonts = new Vector(INITIAL_SIZE);
+ fonts = new Vector<Object>(INITIAL_SIZE);
fonts.addElement(font);
fonts.addElement(f);
fontStarts = new int[INITIAL_SIZE];
@@ -412,7 +415,8 @@ final class StyledParagraph {
* Resolve the given chars into Fonts using FontResolver, then add
* font runs for each.
*/
- private void addFonts(char[] chars, Map attributes, int start, int limit) {
+ private void addFonts(char[] chars, Map<? extends Attribute, ?> attributes,
+ int start, int limit) {
FontResolver resolver = FontResolver.getInstance();
CodePointIterator iter = CodePointIterator.create(chars, start, limit);
@@ -426,7 +430,8 @@ final class StyledParagraph {
* Return a Map with entries from oldStyles, as well as input
* method entries, if any.
*/
- static Map addInputMethodAttrs(Map oldStyles) {
+ static Map<? extends Attribute, ?>
+ addInputMethodAttrs(Map<? extends Attribute, ?> oldStyles) {
Object value = oldStyles.get(TextAttribute.INPUT_METHOD_HIGHLIGHT);
@@ -439,7 +444,7 @@ final class StyledParagraph {
InputMethodHighlight hl;
hl = (InputMethodHighlight) value;
- Map imStyles = null;
+ Map<? extends Attribute, ?> imStyles = null;
try {
imStyles = hl.getStyle();
} catch (NoSuchMethodError e) {
@@ -451,7 +456,8 @@ final class StyledParagraph {
}
if (imStyles != null) {
- HashMap newStyles = new HashMap(5, (float)0.9);
+ HashMap<Attribute, Object>
+ newStyles = new HashMap<>(5, (float)0.9);
newStyles.putAll(oldStyles);
newStyles.putAll(imStyles);
@@ -471,7 +477,8 @@ final class StyledParagraph {
* If attributes does not contain a GraphicAttribute, Font, or
* Font family entry this method returns null.
*/
- private static Object getGraphicOrFont(Map attributes) {
+ private static Object getGraphicOrFont(
+ Map<? extends Attribute, ?> attributes) {
Object value = attributes.get(TextAttribute.CHAR_REPLACEMENT);
if (value != null) {
diff --git a/jdk/src/share/classes/java/awt/font/TextAttribute.java b/jdk/src/share/classes/java/awt/font/TextAttribute.java
index 38808b7..50d47da 100644
--- a/jdk/src/share/classes/java/awt/font/TextAttribute.java
+++ b/jdk/src/share/classes/java/awt/font/TextAttribute.java
@@ -257,7 +257,8 @@ import java.util.HashMap;
public final class TextAttribute extends Attribute {
// table of all instances in this class, used by readResolve
- private static final Map instanceMap = new HashMap(29);
+ private static final Map<String, TextAttribute>
+ instanceMap = new HashMap<String, TextAttribute>(29);
/**
* Constructs a <code>TextAttribute</code> with the specified name.
@@ -280,7 +281,7 @@ public final class TextAttribute extends Attribute {
"subclass didn't correctly implement readResolve");
}
- TextAttribute instance = (TextAttribute) instanceMap.get(getName());
+ TextAttribute instance = instanceMap.get(getName());
if (instance != null) {
return instance;
} else {
diff --git a/jdk/src/share/classes/java/awt/font/TextLayout.java b/jdk/src/share/classes/java/awt/font/TextLayout.java
index 51b0dc6..c09afd7 100644
--- a/jdk/src/share/classes/java/awt/font/TextLayout.java
+++ b/jdk/src/share/classes/java/awt/font/TextLayout.java
@@ -55,6 +55,7 @@ import java.awt.geom.Rectangle2D;
import java.text.AttributedString;
import java.text.AttributedCharacterIterator;
import java.text.AttributedCharacterIterator.Attribute;
+import java.text.CharacterIterator;
import java.util.Map;
import java.util.HashMap;
import java.util.Hashtable;
@@ -382,7 +383,7 @@ public final class TextLayout implements Cloneable {
throw new IllegalArgumentException("Zero length string passed to TextLayout constructor.");
}
- Map attributes = null;
+ Map<? extends Attribute, ?> attributes = null;
if (font.hasLayoutAttributes()) {
attributes = font.getAttributes();
}
@@ -451,7 +452,7 @@ public final class TextLayout implements Cloneable {
private static Font singleFont(char[] text,
int start,
int limit,
- Map attributes) {
+ Map<? extends Attribute, ?> attributes) {
if (attributes.get(TextAttribute.CHAR_REPLACEMENT) != null) {
return null;
@@ -516,14 +517,17 @@ public final class TextLayout implements Cloneable {
text.first();
char[] chars = new char[len];
int n = 0;
- for (char c = text.first(); c != text.DONE; c = text.next()) {
+ for (char c = text.first();
+ c != CharacterIterator.DONE;
+ c = text.next())
+ {
chars[n++] = c;
}
text.first();
if (text.getRunLimit() == limit) {
- Map attributes = text.getAttributes();
+ Map<? extends Attribute, ?> attributes = text.getAttributes();
Font font = singleFont(chars, 0, len, attributes);
if (font != null) {
fastInit(chars, font, attributes, frc);
@@ -561,7 +565,9 @@ public final class TextLayout implements Cloneable {
/**
* Initialize the paragraph-specific data.
*/
- private void paragraphInit(byte aBaseline, CoreMetrics lm, Map paragraphAttrs, char[] text) {
+ private void paragraphInit(byte aBaseline, CoreMetrics lm,
+ Map<? extends Attribute, ?> paragraphAttrs,
+ char[] text) {
baseline = aBaseline;
@@ -581,7 +587,10 @@ public final class TextLayout implements Cloneable {
* all renderable by one font (ie no embedded graphics)
* all on one baseline
*/
- private void fastInit(char[] chars, Font font, Map attrs, FontRenderContext frc) {
+ private void fastInit(char[] chars, Font font,
+ Map<? extends Attribute, ?> attrs,
+ FontRenderContext frc) {
+
// Object vf = attrs.get(TextAttribute.ORIENTATION);
// isVerticalLine = TextAttribute.ORIENTATION_VERTICAL.equals(vf);
isVerticalLine = false;
@@ -619,7 +628,7 @@ public final class TextLayout implements Cloneable {
// and use it and its font to initialize the paragraph.
// If not, use the first graphic to initialize.
- Map paragraphAttrs = text.getAttributes();
+ Map<? extends Attribute, ?> paragraphAttrs = text.getAttributes();
boolean haveFont = TextLine.advanceToFirstFont(text);
diff --git a/jdk/src/share/classes/java/awt/font/TextLine.java b/jdk/src/share/classes/java/awt/font/TextLine.java
index fd59d9f..3a4301e 100644
--- a/jdk/src/share/classes/java/awt/font/TextLine.java
+++ b/jdk/src/share/classes/java/awt/font/TextLine.java
@@ -43,6 +43,7 @@ import java.awt.im.InputMethodHighlight;
import java.awt.image.BufferedImage;
import java.text.Annotation;
import java.text.AttributedCharacterIterator;
+import java.text.AttributedCharacterIterator.Attribute;
import java.text.Bidi;
import java.text.CharacterIterator;
import java.util.Hashtable;
@@ -318,7 +319,8 @@ final class TextLine {
for (int i = 0, n = 0; i < fComponents.length; ++i, n += 2) {
tlc = fComponents[getComponentLogicalIndex(i)];
AffineTransform at = tlc.getBaselineTransform();
- if (at != null && ((at.getType() & at.TYPE_TRANSLATION) != 0)) {
+ if (at != null &&
+ ((at.getType() & AffineTransform.TYPE_TRANSLATION) != 0)) {
double dx = at.getTranslateX();
double dy = at.getTranslateY();
builder.moveTo(tx += dx, ty += dy);
@@ -903,7 +905,7 @@ final class TextLine {
char[] chars,
Font font,
CoreMetrics lm,
- Map attributes) {
+ Map<? extends Attribute, ?> attributes) {
boolean isDirectionLTR = true;
byte[] levels = null;
@@ -1250,7 +1252,10 @@ final class TextLine {
*/
static boolean advanceToFirstFont(AttributedCharacterIterator aci) {
- for (char ch = aci.first(); ch != aci.DONE; ch = aci.setIndex(aci.getRunLimit())) {
+ for (char ch = aci.first();
+ ch != CharacterIterator.DONE;
+ ch = aci.setIndex(aci.getRunLimit()))
+ {
if (aci.getAttribute(TextAttribute.CHAR_REPLACEMENT) == null) {
return true;
diff --git a/jdk/src/share/classes/java/awt/font/TextMeasurer.java b/jdk/src/share/classes/java/awt/font/TextMeasurer.java
index ca052b3..b20afcd 100644
--- a/jdk/src/share/classes/java/awt/font/TextMeasurer.java
+++ b/jdk/src/share/classes/java/awt/font/TextMeasurer.java
@@ -43,6 +43,7 @@ package java.awt.font;
import java.awt.Font;
import java.text.AttributedCharacterIterator;
+import java.text.AttributedCharacterIterator.Attribute;
import java.text.AttributedString;
import java.text.Bidi;
import java.text.BreakIterator;
@@ -176,7 +177,7 @@ public final class TextMeasurer implements Cloneable {
throw new Error();
}
if (fComponents != null) {
- other.fComponents = (TextLineComponent[]) fComponents.clone();
+ other.fComponents = fComponents.clone();
}
return other;
}
@@ -199,7 +200,10 @@ public final class TextMeasurer implements Cloneable {
fChars = new char[text.getEndIndex() - fStart];
int n = 0;
- for (char c = text.first(); c != text.DONE; c = text.next()) {
+ for (char c = text.first();
+ c != CharacterIterator.DONE;
+ c = text.next())
+ {
fChars[n++] = c;
}
@@ -211,7 +215,7 @@ public final class TextMeasurer implements Cloneable {
}
text.first();
- Map paragraphAttrs = text.getAttributes();
+ Map<? extends Attribute, ?> paragraphAttrs = text.getAttributes();
NumericShaper shaper = AttributeValues.getNumericShaping(paragraphAttrs);
if (shaper != null) {
shaper.shape(fChars, 0, fChars.length);
@@ -243,7 +247,8 @@ public final class TextMeasurer implements Cloneable {
GraphicAttribute graphic = (GraphicAttribute)
paragraphAttrs.get(TextAttribute.CHAR_REPLACEMENT);
fBaseline = TextLayout.getBaselineFromGraphic(graphic);
- Font dummyFont = new Font(new Hashtable(5, (float)0.9));
+ Hashtable<Attribute, ?> fmap = new Hashtable<>(5, (float)0.9);
+ Font dummyFont = new Font(fmap);
LineMetrics lm = dummyFont.getLineMetrics(" ", 0, 1, fFrc);
fBaselineOffsets = lm.getBaselineOffsets();
}
diff --git a/jdk/src/share/classes/java/awt/geom/Path2D.java b/jdk/src/share/classes/java/awt/geom/Path2D.java
index 39f7d99..3aae874 100644
--- a/jdk/src/share/classes/java/awt/geom/Path2D.java
+++ b/jdk/src/share/classes/java/awt/geom/Path2D.java
@@ -667,7 +667,8 @@ public abstract class Path2D implements Shape, Cloneable {
// Collapse out initial moveto/lineto
break;
}
- // NO BREAK;
+ lineTo(coords[0], coords[1]);
+ break;
case SEG_LINETO:
lineTo(coords[0], coords[1]);
break;
@@ -1392,7 +1393,8 @@ public abstract class Path2D implements Shape, Cloneable {
// Collapse out initial moveto/lineto
break;
}
- // NO BREAK;
+ lineTo(coords[0], coords[1]);
+ break;
case SEG_LINETO:
lineTo(coords[0], coords[1]);
break;
@@ -2456,7 +2458,7 @@ public abstract class Path2D implements Shape, Cloneable {
}
}
}
- s.writeByte((byte) SERIAL_PATH_END);
+ s.writeByte(SERIAL_PATH_END);
}
final void readObject(java.io.ObjectInputStream s, boolean storedbl)
diff --git a/jdk/src/share/classes/java/awt/im/InputMethodHighlight.java b/jdk/src/share/classes/java/awt/im/InputMethodHighlight.java
index be610a1..ffa99df 100644
--- a/jdk/src/share/classes/java/awt/im/InputMethodHighlight.java
+++ b/jdk/src/share/classes/java/awt/im/InputMethodHighlight.java
@@ -190,6 +190,6 @@ public class InputMethodHighlight {
private boolean selected;
private int state;
private int variation;
- private Map style;
+ private Map<TextAttribute, ?> style;
};
diff --git a/jdk/src/share/classes/java/awt/image/ColorModel.java b/jdk/src/share/classes/java/awt/image/ColorModel.java
index 77f0459..010fc53 100644
--- a/jdk/src/share/classes/java/awt/image/ColorModel.java
+++ b/jdk/src/share/classes/java/awt/image/ColorModel.java
@@ -357,7 +357,7 @@ public abstract class ColorModel implements Transparency{
this.transparency = transparency;
}
- nBits = (int[]) bits.clone();
+ nBits = bits.clone();
this.pixel_bits = pixel_bits;
if (pixel_bits <= 0) {
throw new IllegalArgumentException("Number of pixel bits must "+
@@ -474,7 +474,7 @@ public abstract class ColorModel implements Transparency{
*/
public int[] getComponentSize() {
if (nBits != null) {
- return (int[]) nBits.clone();
+ return nBits.clone();
}
return null;
@@ -1692,10 +1692,10 @@ public abstract class ColorModel implements Transparency{
static short[] s8Tol16 = null; // 8-bit non-linear sRGB to 16-bit linear LUT
// Maps to hold LUTs for grayscale conversions
- static Map g8Tos8Map = null; // 8-bit gray values to 8-bit sRGB values
- static Map lg16Toog8Map = null; // 16-bit linear to 8-bit "other" gray
- static Map g16Tos8Map = null; // 16-bit gray values to 8-bit sRGB values
- static Map lg16Toog16Map = null; // 16-bit linear to 16-bit "other" gray
+ static Map<ICC_ColorSpace, byte[]> g8Tos8Map = null; // 8-bit gray values to 8-bit sRGB values
+ static Map<ICC_ColorSpace, byte[]> lg16Toog8Map = null; // 16-bit linear to 8-bit "other" gray
+ static Map<ICC_ColorSpace, byte[]> g16Tos8Map = null; // 16-bit gray values to 8-bit sRGB values
+ static Map<ICC_ColorSpace, short[]> lg16Toog16Map = null; // 16-bit linear to 16-bit "other" gray
static boolean isLinearRGBspace(ColorSpace cs) {
// Note: CMM.LINEAR_RGBspace will be null if the linear
@@ -1799,7 +1799,7 @@ public abstract class ColorModel implements Transparency{
return getLinearRGB8TosRGB8LUT();
}
if (g8Tos8Map != null) {
- byte[] g8Tos8LUT = (byte []) g8Tos8Map.get(grayCS);
+ byte[] g8Tos8LUT = g8Tos8Map.get(grayCS);
if (g8Tos8LUT != null) {
return g8Tos8LUT;
}
@@ -1827,7 +1827,7 @@ public abstract class ColorModel implements Transparency{
g8Tos8LUT[i] = tmp[j];
}
if (g8Tos8Map == null) {
- g8Tos8Map = Collections.synchronizedMap(new WeakHashMap(2));
+ g8Tos8Map = Collections.synchronizedMap(new WeakHashMap<ICC_ColorSpace, byte[]>(2));
}
g8Tos8Map.put(grayCS, g8Tos8LUT);
return g8Tos8LUT;
@@ -1840,7 +1840,7 @@ public abstract class ColorModel implements Transparency{
*/
static byte[] getLinearGray16ToOtherGray8LUT(ICC_ColorSpace grayCS) {
if (lg16Toog8Map != null) {
- byte[] lg16Toog8LUT = (byte []) lg16Toog8Map.get(grayCS);
+ byte[] lg16Toog8LUT = lg16Toog8Map.get(grayCS);
if (lg16Toog8LUT != null) {
return lg16Toog8LUT;
}
@@ -1866,7 +1866,7 @@ public abstract class ColorModel implements Transparency{
(byte) (((float) (tmp[i] & 0xffff)) * (1.0f /257.0f) + 0.5f);
}
if (lg16Toog8Map == null) {
- lg16Toog8Map = Collections.synchronizedMap(new WeakHashMap(2));
+ lg16Toog8Map = Collections.synchronizedMap(new WeakHashMap<ICC_ColorSpace, byte[]>(2));
}
lg16Toog8Map.put(grayCS, lg16Toog8LUT);
return lg16Toog8LUT;
@@ -1884,7 +1884,7 @@ public abstract class ColorModel implements Transparency{
return getLinearRGB16TosRGB8LUT();
}
if (g16Tos8Map != null) {
- byte[] g16Tos8LUT = (byte []) g16Tos8Map.get(grayCS);
+ byte[] g16Tos8LUT = g16Tos8Map.get(grayCS);
if (g16Tos8LUT != null) {
return g16Tos8LUT;
}
@@ -1916,7 +1916,7 @@ public abstract class ColorModel implements Transparency{
(byte) (((float) (tmp[j] & 0xffff)) * (1.0f /257.0f) + 0.5f);
}
if (g16Tos8Map == null) {
- g16Tos8Map = Collections.synchronizedMap(new WeakHashMap(2));
+ g16Tos8Map = Collections.synchronizedMap(new WeakHashMap<ICC_ColorSpace, byte[]>(2));
}
g16Tos8Map.put(grayCS, g16Tos8LUT);
return g16Tos8LUT;
@@ -1929,7 +1929,7 @@ public abstract class ColorModel implements Transparency{
*/
static short[] getLinearGray16ToOtherGray16LUT(ICC_ColorSpace grayCS) {
if (lg16Toog16Map != null) {
- short[] lg16Toog16LUT = (short []) lg16Toog16Map.get(grayCS);
+ short[] lg16Toog16LUT = lg16Toog16Map.get(grayCS);
if (lg16Toog16LUT != null) {
return lg16Toog16LUT;
}
@@ -1950,7 +1950,7 @@ public abstract class ColorModel implements Transparency{
transformList);
short[] lg16Toog16LUT = t.colorConvert(tmp, null);
if (lg16Toog16Map == null) {
- lg16Toog16Map = Collections.synchronizedMap(new WeakHashMap(2));
+ lg16Toog16Map = Collections.synchronizedMap(new WeakHashMap<ICC_ColorSpace, short[]>(2));
}
lg16Toog16Map.put(grayCS, lg16Toog16LUT);
return lg16Toog16LUT;
diff --git a/jdk/src/share/classes/java/beans/BeanDescriptor.java b/jdk/src/share/classes/java/beans/BeanDescriptor.java
index 08d5b70..2e235c2 100644
--- a/jdk/src/share/classes/java/beans/BeanDescriptor.java
+++ b/jdk/src/share/classes/java/beans/BeanDescriptor.java
@@ -37,8 +37,8 @@ import java.lang.ref.Reference;
public class BeanDescriptor extends FeatureDescriptor {
- private Reference<Class> beanClassRef;
- private Reference<Class> customizerClassRef;
+ private Reference<? extends Class<?>> beanClassRef;
+ private Reference<? extends Class<?>> customizerClassRef;
/**
* Create a BeanDescriptor for a bean that doesn't have a customizer.
@@ -59,8 +59,8 @@ public class BeanDescriptor extends FeatureDescriptor {
* the bean's Customizer. For example sun.beans.OurButtonCustomizer.class.
*/
public BeanDescriptor(Class<?> beanClass, Class<?> customizerClass) {
- this.beanClassRef = getWeakReference((Class)beanClass);
- this.customizerClassRef = getWeakReference((Class)customizerClass);
+ this.beanClassRef = getWeakReference(beanClass);
+ this.customizerClassRef = getWeakReference(customizerClass);
String name = beanClass.getName();
while (name.indexOf('.') >= 0) {
diff --git a/jdk/src/share/classes/java/beans/Beans.java b/jdk/src/share/classes/java/beans/Beans.java
index b71a2ac..2183d22 100644
--- a/jdk/src/share/classes/java/beans/Beans.java
+++ b/jdk/src/share/classes/java/beans/Beans.java
@@ -32,7 +32,6 @@ import java.applet.AppletContext;
import java.applet.AppletStub;
import java.applet.AudioClip;
-import java.awt.GraphicsEnvironment;
import java.awt.Image;
import java.beans.beancontext.BeanContext;
@@ -53,15 +52,11 @@ import java.util.Hashtable;
import java.util.Iterator;
import java.util.Vector;
-import sun.awt.AppContext;
-
/**
* This class provides some general purpose beans control methods.
*/
public class Beans {
- private static final Object DESIGN_TIME = new Object();
- private static final Object GUI_AVAILABLE = new Object();
/**
* <p>
@@ -181,9 +176,9 @@ public class Beans {
// Try to find a serialized object with this name
final String serName = beanName.replace('.','/').concat(".ser");
final ClassLoader loader = cls;
- ins = (InputStream)AccessController.doPrivileged
- (new PrivilegedAction() {
- public Object run() {
+ ins = AccessController.doPrivileged
+ (new PrivilegedAction<InputStream>() {
+ public InputStream run() {
if (loader == null)
return ClassLoader.getSystemResourceAsStream(serName);
else
@@ -213,7 +208,7 @@ public class Beans {
if (result == null) {
// No serialized object, try just instantiating the class
- Class cl;
+ Class<?> cl;
try {
cl = ClassFinder.findClass(beanName, cls);
@@ -278,10 +273,10 @@ public class Beans {
// Now get the URL correponding to the resource name.
final ClassLoader cloader = cls;
- objectUrl = (URL)
+ objectUrl =
AccessController.doPrivileged
- (new PrivilegedAction() {
- public Object run() {
+ (new PrivilegedAction<URL>() {
+ public URL run() {
if (cloader == null)
return ClassLoader.getSystemResource
(resourceName);
@@ -326,7 +321,7 @@ public class Beans {
// now, if there is a BeanContext, add the bean, if applicable.
if (beanContext != null) {
- beanContext.add(result);
+ unsafeBeanContextAdd(beanContext, result);
}
// If it was deserialized then it was already init-ed.
@@ -344,12 +339,16 @@ public class Beans {
((BeansAppletStub)stub).active = true;
} else initializer.activate(applet);
- } else if (beanContext != null) beanContext.add(result);
+ } else if (beanContext != null) unsafeBeanContextAdd(beanContext, result);
}
return result;
}
+ @SuppressWarnings("unchecked")
+ private static void unsafeBeanContextAdd(BeanContext beanContext, Object res) {
+ beanContext.add(res);
+ }
/**
* From a given bean, obtain an object representing a specified
@@ -395,8 +394,7 @@ public class Beans {
* @see DesignMode
*/
public static boolean isDesignTime() {
- Object value = AppContext.getAppContext().get(DESIGN_TIME);
- return (value instanceof Boolean) && (Boolean) value;
+ return ThreadGroupContext.getContext().isDesignTime();
}
/**
@@ -413,8 +411,7 @@ public class Beans {
*
*/
public static boolean isGuiAvailable() {
- Object value = AppContext.getAppContext().get(GUI_AVAILABLE);
- return (value instanceof Boolean) ? (Boolean) value : !GraphicsEnvironment.isHeadless();
+ return ThreadGroupContext.getContext().isGuiAvailable();
}
/**
@@ -440,7 +437,7 @@ public class Beans {
if (sm != null) {
sm.checkPropertiesAccess();
}
- AppContext.getAppContext().put(DESIGN_TIME, Boolean.valueOf(isDesignTime));
+ ThreadGroupContext.getContext().setDesignTime(isDesignTime);
}
/**
@@ -466,7 +463,7 @@ public class Beans {
if (sm != null) {
sm.checkPropertiesAccess();
}
- AppContext.getAppContext().put(GUI_AVAILABLE, Boolean.valueOf(isGuiAvailable));
+ ThreadGroupContext.getContext().setGuiAvailable(isGuiAvailable);
}
}
@@ -496,6 +493,7 @@ class ObjectInputStreamWithLoader extends ObjectInputStream
/**
* Use the given ClassLoader rather than using the system class
*/
+ @SuppressWarnings("rawtypes")
protected Class resolveClass(ObjectStreamClass classDesc)
throws IOException, ClassNotFoundException {
@@ -511,7 +509,7 @@ class ObjectInputStreamWithLoader extends ObjectInputStream
class BeansAppletContext implements AppletContext {
Applet target;
- Hashtable imageCache = new Hashtable();
+ Hashtable<URL,Object> imageCache = new Hashtable<>();
BeansAppletContext(Applet target) {
this.target = target;
@@ -556,8 +554,8 @@ class BeansAppletContext implements AppletContext {
return null;
}
- public Enumeration getApplets() {
- Vector applets = new Vector();
+ public Enumeration<Applet> getApplets() {
+ Vector<Applet> applets = new Vector<>();
applets.addElement(target);
return applets.elements();
}
@@ -583,7 +581,7 @@ class BeansAppletContext implements AppletContext {
return null;
}
- public Iterator getStreamKeys(){
+ public Iterator<String> getStreamKeys(){
// We do nothing.
return null;
}
diff --git a/jdk/src/share/classes/java/beans/ChangeListenerMap.java b/jdk/src/share/classes/java/beans/ChangeListenerMap.java
index 930c697..e623d9b 100644
--- a/jdk/src/share/classes/java/beans/ChangeListenerMap.java
+++ b/jdk/src/share/classes/java/beans/ChangeListenerMap.java
@@ -76,7 +76,7 @@ abstract class ChangeListenerMap<L extends EventListener> {
*/
public final synchronized void add(String name, L listener) {
if (this.map == null) {
- this.map = new HashMap<String, L[]>();
+ this.map = new HashMap<>();
}
L[] array = this.map.get(name);
int size = (array != null)
@@ -146,7 +146,7 @@ abstract class ChangeListenerMap<L extends EventListener> {
public final void set(String name, L[] listeners) {
if (listeners != null) {
if (this.map == null) {
- this.map = new HashMap<String, L[]>();
+ this.map = new HashMap<>();
}
this.map.put(name, listeners);
}
@@ -167,7 +167,7 @@ abstract class ChangeListenerMap<L extends EventListener> {
if (this.map == null) {
return newArray(0);
}
- List<L> list = new ArrayList<L>();
+ List<L> list = new ArrayList<>();
L[] listeners = this.map.get(null);
if (listeners != null) {
@@ -239,6 +239,7 @@ abstract class ChangeListenerMap<L extends EventListener> {
*/
public final L extract(L listener) {
while (listener instanceof EventListenerProxy) {
+ @SuppressWarnings("unchecked")
EventListenerProxy<L> proxy = (EventListenerProxy<L>) listener;
listener = proxy.getListener();
}
diff --git a/jdk/src/share/classes/java/beans/DefaultPersistenceDelegate.java b/jdk/src/share/classes/java/beans/DefaultPersistenceDelegate.java
index 951d972..db98785 100644
--- a/jdk/src/share/classes/java/beans/DefaultPersistenceDelegate.java
+++ b/jdk/src/share/classes/java/beans/DefaultPersistenceDelegate.java
@@ -95,7 +95,7 @@ public class DefaultPersistenceDelegate extends PersistenceDelegate {
this.constructor = constructorPropertyNames;
}
- private static boolean definesEquals(Class type) {
+ private static boolean definesEquals(Class<?> type) {
try {
return type == type.getMethod("equals", Object.class).getDeclaringClass();
}
@@ -153,7 +153,7 @@ public class DefaultPersistenceDelegate extends PersistenceDelegate {
*/
protected Expression instantiate(Object oldInstance, Encoder out) {
int nArgs = constructor.length;
- Class type = oldInstance.getClass();
+ Class<?> type = oldInstance.getClass();
Object[] constructorArgs = new Object[nArgs];
for(int i = 0; i < nArgs; i++) {
try {
@@ -167,7 +167,7 @@ public class DefaultPersistenceDelegate extends PersistenceDelegate {
return new Expression(oldInstance, oldInstance.getClass(), "new", constructorArgs);
}
- private Method findMethod(Class type, String property) {
+ private Method findMethod(Class<?> type, String property) {
if (property == null) {
throw new IllegalArgumentException("Property name is null");
}
@@ -182,7 +182,7 @@ public class DefaultPersistenceDelegate extends PersistenceDelegate {
return method;
}
- private void doProperty(Class type, PropertyDescriptor pd, Object oldInstance, Object newInstance, Encoder out) throws Exception {
+ private void doProperty(Class<?> type, PropertyDescriptor pd, Object oldInstance, Object newInstance, Encoder out) throws Exception {
Method getter = pd.getReadMethod();
Method setter = pd.getWriteMethod();
@@ -218,7 +218,7 @@ public class DefaultPersistenceDelegate extends PersistenceDelegate {
}
// Write out the properties of this instance.
- private void initBean(Class type, Object oldInstance, Object newInstance, Encoder out) {
+ private void initBean(Class<?> type, Object oldInstance, Object newInstance, Encoder out) {
for (Field field : type.getFields()) {
int mod = field.getModifiers();
if (Modifier.isFinal(mod) || Modifier.isStatic(mod) || Modifier.isTransient(mod)) {
@@ -288,7 +288,7 @@ public class DefaultPersistenceDelegate extends PersistenceDelegate {
if (d.isTransient()) {
continue;
}
- Class listenerType = d.getListenerType();
+ Class<?> listenerType = d.getListenerType();
// The ComponentListener is added automatically, when
@@ -318,7 +318,7 @@ public class DefaultPersistenceDelegate extends PersistenceDelegate {
}
catch (Exception e2) {
try {
- Method m = type.getMethod("getListeners", new Class[]{Class.class});
+ Method m = type.getMethod("getListeners", new Class<?>[]{Class.class});
oldL = (EventListener[])MethodUtil.invoke(m, oldInstance, new Object[]{listenerType});
newL = (EventListener[])MethodUtil.invoke(m, newInstance, new Object[]{listenerType});
}
@@ -401,7 +401,7 @@ public class DefaultPersistenceDelegate extends PersistenceDelegate {
}
}
- private static PropertyDescriptor getPropertyDescriptor(Class type, String property) {
+ private static PropertyDescriptor getPropertyDescriptor(Class<?> type, String property) {
try {
for (PropertyDescriptor pd : Introspector.getBeanInfo(type).getPropertyDescriptors()) {
if (property.equals(pd.getName()))
diff --git a/jdk/src/share/classes/java/beans/Encoder.java b/jdk/src/share/classes/java/beans/Encoder.java
index 62cd8df..4a877f3 100644
--- a/jdk/src/share/classes/java/beans/Encoder.java
+++ b/jdk/src/share/classes/java/beans/Encoder.java
@@ -47,10 +47,10 @@ import java.util.Map;
public class Encoder {
private final PersistenceDelegateFinder finder = new PersistenceDelegateFinder();
- private Map bindings = new IdentityHashMap();
+ private Map<Object, Expression> bindings = new IdentityHashMap<>();
private ExceptionListener exceptionListener;
boolean executeStatements = true;
- private Map attributes;
+ private Map<Object, Object> attributes;
/**
* Write the specified object to the output stream.
@@ -195,7 +195,13 @@ public class Encoder {
*/
public PersistenceDelegate getPersistenceDelegate(Class<?> type) {
PersistenceDelegate pd = this.finder.find(type);
- return (pd != null) ? pd : MetaData.getPersistenceDelegate(type);
+ if (pd == null) {
+ pd = MetaData.getPersistenceDelegate(type);
+ if (pd != null) {
+ this.finder.register(type, pd);
+ }
+ }
+ return pd;
}
/**
@@ -221,7 +227,7 @@ public class Encoder {
* @see #get
*/
public Object remove(Object oldInstance) {
- Expression exp = (Expression)bindings.remove(oldInstance);
+ Expression exp = bindings.remove(oldInstance);
return getValue(exp);
}
@@ -242,7 +248,7 @@ public class Encoder {
oldInstance.getClass() == String.class) {
return oldInstance;
}
- Expression exp = (Expression)bindings.get(oldInstance);
+ Expression exp = bindings.get(oldInstance);
return getValue(exp);
}
@@ -331,7 +337,7 @@ public class Encoder {
// Package private method for setting an attributes table for the encoder
void setAttribute(Object key, Object value) {
if (attributes == null) {
- attributes = new HashMap();
+ attributes = new HashMap<>();
}
attributes.put(key, value);
}
diff --git a/jdk/src/share/classes/java/beans/EventHandler.java b/jdk/src/share/classes/java/beans/EventHandler.java
index 2853017..b7635c9 100644
--- a/jdk/src/share/classes/java/beans/EventHandler.java
+++ b/jdk/src/share/classes/java/beans/EventHandler.java
@@ -385,14 +385,14 @@ public class EventHandler implements InvocationHandler {
if (target != null) {
getter = Statement.getMethod(target.getClass(),
"get" + NameGenerator.capitalize(first),
- new Class[]{});
+ new Class<?>[]{});
if (getter == null) {
getter = Statement.getMethod(target.getClass(),
"is" + NameGenerator.capitalize(first),
- new Class[]{});
+ new Class<?>[]{});
}
if (getter == null) {
- getter = Statement.getMethod(target.getClass(), first, new Class[]{});
+ getter = Statement.getMethod(target.getClass(), first, new Class<?>[]{});
}
}
if (getter == null) {
@@ -450,12 +450,12 @@ public class EventHandler implements InvocationHandler {
if (eventPropertyName == null) { // Nullary method.
newArgs = new Object[]{};
- argTypes = new Class[]{};
+ argTypes = new Class<?>[]{};
}
else {
Object input = applyGetters(arguments[0], getEventPropertyName());
newArgs = new Object[]{input};
- argTypes = new Class[]{input == null ? null :
+ argTypes = new Class<?>[]{input == null ? null :
input.getClass()};
}
try {
@@ -674,6 +674,7 @@ public class EventHandler implements InvocationHandler {
*
* @see EventHandler
*/
+ @SuppressWarnings("unchecked")
public static <T> T create(Class<T> listenerInterface,
Object target, String action,
String eventPropertyName,
@@ -688,7 +689,7 @@ public class EventHandler implements InvocationHandler {
"listenerInterface must be non-null");
}
return (T)Proxy.newProxyInstance(target.getClass().getClassLoader(),
- new Class[] {listenerInterface},
+ new Class<?>[] {listenerInterface},
eventHandler);
}
}
diff --git a/jdk/src/share/classes/java/beans/EventSetDescriptor.java b/jdk/src/share/classes/java/beans/EventSetDescriptor.java
index 83b5e0d..46d4f54 100644
--- a/jdk/src/share/classes/java/beans/EventSetDescriptor.java
+++ b/jdk/src/share/classes/java/beans/EventSetDescriptor.java
@@ -45,7 +45,7 @@ public class EventSetDescriptor extends FeatureDescriptor {
private MethodDescriptor getMethodDescriptor;
private Reference<Method[]> listenerMethodsRef;
- private Reference<Class> listenerTypeRef;
+ private Reference<? extends Class<?>> listenerTypeRef;
private boolean unicast;
private boolean inDefaultEventSet = true;
@@ -91,7 +91,7 @@ public class EventSetDescriptor extends FeatureDescriptor {
}
}
- private static String getListenerClassName(Class cls) {
+ private static String getListenerClassName(Class<?> cls) {
String className = cls.getName();
return className.substring(className.lastIndexOf('.') + 1);
}
@@ -182,7 +182,7 @@ public class EventSetDescriptor extends FeatureDescriptor {
}
}
- private static Method getMethod(Class cls, String name, int args)
+ private static Method getMethod(Class<?> cls, String name, int args)
throws IntrospectionException {
if (name == null) {
return null;
@@ -295,7 +295,7 @@ public class EventSetDescriptor extends FeatureDescriptor {
: null;
}
- private void setListenerType(Class cls) {
+ private void setListenerType(Class<?> cls) {
this.listenerTypeRef = getWeakReference(cls);
}
diff --git a/jdk/src/share/classes/java/beans/FeatureDescriptor.java b/jdk/src/share/classes/java/beans/FeatureDescriptor.java
index fcfc9d7..34c27e5 100644
--- a/jdk/src/share/classes/java/beans/FeatureDescriptor.java
+++ b/jdk/src/share/classes/java/beans/FeatureDescriptor.java
@@ -51,7 +51,7 @@ import java.util.Map.Entry;
public class FeatureDescriptor {
private static final String TRANSIENT = "transient";
- private Reference<Class> classRef;
+ private Reference<? extends Class<?>> classRef;
/**
* Constructs a <code>FeatureDescriptor</code>.
@@ -284,7 +284,7 @@ public class FeatureDescriptor {
*/
private Hashtable<String, Object> getTable() {
if (this.table == null) {
- this.table = new Hashtable<String, Object>();
+ this.table = new Hashtable<>();
}
return this.table;
}
@@ -317,11 +317,11 @@ public class FeatureDescriptor {
// Package private methods for recreating the weak/soft referent
- void setClass0(Class cls) {
+ void setClass0(Class<?> cls) {
this.classRef = getWeakReference(cls);
}
- Class getClass0() {
+ Class<?> getClass0() {
return (this.classRef != null)
? this.classRef.get()
: null;
@@ -336,7 +336,7 @@ public class FeatureDescriptor {
*/
static <T> Reference<T> getSoftReference(T object) {
return (object != null)
- ? new SoftReference<T>(object)
+ ? new SoftReference<>(object)
: null;
}
@@ -349,7 +349,7 @@ public class FeatureDescriptor {
*/
static <T> Reference<T> getWeakReference(T object) {
return (object != null)
- ? new WeakReference<T>(object)
+ ? new WeakReference<>(object)
: null;
}
@@ -363,7 +363,7 @@ public class FeatureDescriptor {
* @see Method#getGenericReturnType
* @see Method#getReturnType
*/
- static Class getReturnType(Class base, Method method) {
+ static Class<?> getReturnType(Class<?> base, Method method) {
if (base == null) {
base = method.getDeclaringClass();
}
@@ -380,7 +380,7 @@ public class FeatureDescriptor {
* @see Method#getGenericParameterTypes
* @see Method#getParameterTypes
*/
- static Class[] getParameterTypes(Class base, Method method) {
+ static Class<?>[] getParameterTypes(Class<?> base, Method method) {
if (base == null) {
base = method.getDeclaringClass();
}
@@ -425,7 +425,7 @@ public class FeatureDescriptor {
void appendTo(StringBuilder sb) {
}
- static void appendTo(StringBuilder sb, String name, Reference reference) {
+ static void appendTo(StringBuilder sb, String name, Reference<?> reference) {
if (reference != null) {
appendTo(sb, name, reference.get());
}
diff --git a/jdk/src/share/classes/java/beans/IndexedPropertyDescriptor.java b/jdk/src/share/classes/java/beans/IndexedPropertyDescriptor.java
index 5764bf4..096e94d 100644
--- a/jdk/src/share/classes/java/beans/IndexedPropertyDescriptor.java
+++ b/jdk/src/share/classes/java/beans/IndexedPropertyDescriptor.java
@@ -40,7 +40,7 @@ import java.lang.reflect.Method;
public class IndexedPropertyDescriptor extends PropertyDescriptor {
- private Reference<Class> indexedPropertyTypeRef;
+ private Reference<? extends Class<?>> indexedPropertyTypeRef;
private Reference<Method> indexedReadMethodRef;
private Reference<Method> indexedWriteMethodRef;
@@ -175,14 +175,14 @@ public class IndexedPropertyDescriptor extends PropertyDescriptor {
public synchronized Method getIndexedReadMethod() {
Method indexedReadMethod = getIndexedReadMethod0();
if (indexedReadMethod == null) {
- Class cls = getClass0();
+ Class<?> cls = getClass0();
if (cls == null ||
(indexedReadMethodName == null && indexedReadMethodRef == null)) {
// the Indexed readMethod was explicitly set to null.
return null;
}
if (indexedReadMethodName == null) {
- Class type = getIndexedPropertyType0();
+ Class<?> type = getIndexedPropertyType0();
if (type == boolean.class || type == null) {
indexedReadMethodName = Introspector.IS_PREFIX + getBaseName();
} else {
@@ -190,7 +190,7 @@ public class IndexedPropertyDescriptor extends PropertyDescriptor {
}
}
- Class[] args = { int.class };
+ Class<?>[] args = { int.class };
indexedReadMethod = Introspector.findMethod(cls, indexedReadMethodName, 1, args);
if (indexedReadMethod == null) {
// no "is" method, so look for a "get" method.
@@ -240,7 +240,7 @@ public class IndexedPropertyDescriptor extends PropertyDescriptor {
public synchronized Method getIndexedWriteMethod() {
Method indexedWriteMethod = getIndexedWriteMethod0();
if (indexedWriteMethod == null) {
- Class cls = getClass0();
+ Class<?> cls = getClass0();
if (cls == null ||
(indexedWriteMethodName == null && indexedWriteMethodRef == null)) {
// the Indexed writeMethod was explicitly set to null.
@@ -250,14 +250,14 @@ public class IndexedPropertyDescriptor extends PropertyDescriptor {
// We need the indexed type to ensure that we get the correct method.
// Cannot use the getIndexedPropertyType method since that could
// result in an infinite loop.
- Class type = getIndexedPropertyType0();
+ Class<?> type = getIndexedPropertyType0();
if (type == null) {
try {
type = findIndexedPropertyType(getIndexedReadMethod(), null);
setIndexedPropertyType(type);
} catch (IntrospectionException ex) {
// Set iprop type to be the classic type
- Class propType = getPropertyType();
+ Class<?> propType = getPropertyType();
if (propType.isArray()) {
type = propType.getComponentType();
}
@@ -268,7 +268,7 @@ public class IndexedPropertyDescriptor extends PropertyDescriptor {
indexedWriteMethodName = Introspector.SET_PREFIX + getBaseName();
}
- Class[] args = (type == null) ? null : new Class[] { int.class, type };
+ Class<?>[] args = (type == null) ? null : new Class<?>[] { int.class, type };
indexedWriteMethod = Introspector.findMethod(cls, indexedWriteMethodName, 2, args);
if (indexedWriteMethod != null) {
if (!indexedWriteMethod.getReturnType().equals(void.class)) {
@@ -289,7 +289,7 @@ public class IndexedPropertyDescriptor extends PropertyDescriptor {
throws IntrospectionException {
// If the indexed property type has not been set, then set it.
- Class type = findIndexedPropertyType(getIndexedReadMethod(),
+ Class<?> type = findIndexedPropertyType(getIndexedReadMethod(),
writeMethod);
setIndexedPropertyType(type);
setIndexedWriteMethod0(writeMethod);
@@ -319,7 +319,7 @@ public class IndexedPropertyDescriptor extends PropertyDescriptor {
* or {@code null} if the type cannot be determined
*/
public synchronized Class<?> getIndexedPropertyType() {
- Class type = getIndexedPropertyType0();
+ Class<?> type = getIndexedPropertyType0();
if (type == null) {
try {
type = findIndexedPropertyType(getIndexedReadMethod(),
@@ -334,11 +334,11 @@ public class IndexedPropertyDescriptor extends PropertyDescriptor {
// Private methods which set get/set the Reference objects
- private void setIndexedPropertyType(Class type) {
+ private void setIndexedPropertyType(Class<?> type) {
this.indexedPropertyTypeRef = getWeakReference(type);
}
- private Class getIndexedPropertyType0() {
+ private Class<?> getIndexedPropertyType0() {
return (this.indexedPropertyTypeRef != null)
? this.indexedPropertyTypeRef.get()
: null;
@@ -356,10 +356,10 @@ public class IndexedPropertyDescriptor extends PropertyDescriptor {
: null;
}
- private Class findIndexedPropertyType(Method indexedReadMethod,
+ private Class<?> findIndexedPropertyType(Method indexedReadMethod,
Method indexedWriteMethod)
throws IntrospectionException {
- Class indexedPropertyType = null;
+ Class<?> indexedPropertyType = null;
if (indexedReadMethod != null) {
Class params[] = getParameterTypes(getClass0(), indexedReadMethod);
@@ -389,7 +389,7 @@ public class IndexedPropertyDescriptor extends PropertyDescriptor {
}
indexedPropertyType = params[1];
}
- Class propertyType = getPropertyType();
+ Class<?> propertyType = getPropertyType();
if (propertyType != null && (!propertyType.isArray() ||
propertyType.getComponentType() != indexedPropertyType)) {
throw new IntrospectionException("type mismatch between indexed and non-indexed methods: "
diff --git a/jdk/src/share/classes/java/beans/Introspector.java b/jdk/src/share/classes/java/beans/Introspector.java
index 36ead72..5734208 100644
--- a/jdk/src/share/classes/java/beans/Introspector.java
+++ b/jdk/src/share/classes/java/beans/Introspector.java
@@ -26,7 +26,6 @@
package java.beans;
import com.sun.beans.WeakCache;
-import com.sun.beans.finder.BeanInfoFinder;
import com.sun.beans.finder.ClassFinder;
import java.awt.Component;
@@ -44,9 +43,7 @@ import java.util.EventListener;
import java.util.EventObject;
import java.util.List;
import java.util.TreeMap;
-import java.util.WeakHashMap;
-import sun.awt.AppContext;
import sun.reflect.misc.ReflectUtil;
/**
@@ -98,18 +95,15 @@ public class Introspector {
public final static int IGNORE_ALL_BEANINFO = 3;
// Static Caches to speed up introspection.
- private static WeakCache<Class<?>, Method[]> declaredMethodCache =
- new WeakCache<Class<?>, Method[]>();
+ private static final WeakCache<Class<?>, Method[]> declaredMethodCache = new WeakCache<>();
- private static final Object BEANINFO_CACHE = new Object();
-
- private Class beanClass;
+ private Class<?> beanClass;
private BeanInfo explicitBeanInfo;
private BeanInfo superBeanInfo;
private BeanInfo additionalBeanInfo[];
private boolean propertyChangeSource = false;
- private static Class eventListenerType = EventListener.class;
+ private static Class<EventListener> eventListenerType = EventListener.class;
// These should be removed.
private String defaultEventName;
@@ -117,14 +111,14 @@ public class Introspector {
private int defaultEventIndex = -1;
private int defaultPropertyIndex = -1;
- // Methods maps from Method objects to MethodDescriptors
- private Map methods;
+ // Methods maps from Method names to MethodDescriptors
+ private Map<String, MethodDescriptor> methods;
// properties maps from String names to PropertyDescriptors
- private Map properties;
+ private Map<String, PropertyDescriptor> properties;
// events maps from String names to EventSetDescriptors
- private Map events;
+ private Map<String, EventSetDescriptor> events;
private final static EventSetDescriptor[] EMPTY_EVENTSETDESCRIPTORS = new EventSetDescriptor[0];
@@ -134,8 +128,6 @@ public class Introspector {
static final String SET_PREFIX = "set";
static final String IS_PREFIX = "is";
- private static final Object FINDER_KEY = new Object();
-
//======================================================================
// Public methods
//======================================================================
@@ -160,20 +152,15 @@ public class Introspector {
if (!ReflectUtil.isPackageAccessible(beanClass)) {
return (new Introspector(beanClass, null, USE_ALL_BEANINFO)).getBeanInfo();
}
- Map<Class<?>, BeanInfo> beanInfoCache;
+ ThreadGroupContext context = ThreadGroupContext.getContext();
BeanInfo beanInfo;
- synchronized (BEANINFO_CACHE) {
- beanInfoCache = (Map<Class<?>, BeanInfo>) AppContext.getAppContext().get(BEANINFO_CACHE);
- if (beanInfoCache == null) {
- beanInfoCache = new WeakHashMap<Class<?>, BeanInfo>();
- AppContext.getAppContext().put(BEANINFO_CACHE, beanInfoCache);
- }
- beanInfo = beanInfoCache.get(beanClass);
+ synchronized (declaredMethodCache) {
+ beanInfo = context.getBeanInfo(beanClass);
}
if (beanInfo == null) {
beanInfo = new Introspector(beanClass, null, USE_ALL_BEANINFO).getBeanInfo();
- synchronized (BEANINFO_CACHE) {
- beanInfoCache.put(beanClass, beanInfo);
+ synchronized (declaredMethodCache) {
+ context.putBeanInfo(beanClass, beanInfo);
}
}
return beanInfo;
@@ -306,7 +293,7 @@ public class Introspector {
*/
public static String[] getBeanInfoSearchPath() {
- return getFinder().getPackages();
+ return ThreadGroupContext.getContext().getBeanInfoFinder().getPackages();
}
/**
@@ -330,7 +317,7 @@ public class Introspector {
if (sm != null) {
sm.checkPropertiesAccess();
}
- getFinder().setPackages(path);
+ ThreadGroupContext.getContext().getBeanInfoFinder().setPackages(path);
}
@@ -342,11 +329,8 @@ public class Introspector {
*/
public static void flushCaches() {
- synchronized (BEANINFO_CACHE) {
- Map beanInfoCache = (Map) AppContext.getAppContext().get(BEANINFO_CACHE);
- if (beanInfoCache != null) {
- beanInfoCache.clear();
- }
+ synchronized (declaredMethodCache) {
+ ThreadGroupContext.getContext().clearBeanInfoCache();
declaredMethodCache.clear();
}
}
@@ -370,11 +354,8 @@ public class Introspector {
if (clz == null) {
throw new NullPointerException();
}
- synchronized (BEANINFO_CACHE) {
- Map beanInfoCache = (Map) AppContext.getAppContext().get(BEANINFO_CACHE);
- if (beanInfoCache != null) {
- beanInfoCache.put(clz, null);
- }
+ synchronized (declaredMethodCache) {
+ ThreadGroupContext.getContext().removeBeanInfo(clz);
declaredMethodCache.put(clz, null);
}
}
@@ -383,14 +364,14 @@ public class Introspector {
// Private implementation methods
//======================================================================
- private Introspector(Class beanClass, Class stopClass, int flags)
+ private Introspector(Class<?> beanClass, Class<?> stopClass, int flags)
throws IntrospectionException {
this.beanClass = beanClass;
// Check stopClass is a superClass of startClass.
if (stopClass != null) {
boolean isSuper = false;
- for (Class c = beanClass.getSuperclass(); c != null; c = c.getSuperclass()) {
+ for (Class<?> c = beanClass.getSuperclass(); c != null; c = c.getSuperclass()) {
if (c == stopClass) {
isSuper = true;
}
@@ -405,7 +386,7 @@ public class Introspector {
explicitBeanInfo = findExplicitBeanInfo(beanClass);
}
- Class superClass = beanClass.getSuperclass();
+ Class<?> superClass = beanClass.getSuperclass();
if (superClass != stopClass) {
int newFlags = flags;
if (newFlags == IGNORE_IMMEDIATE_BEANINFO) {
@@ -451,8 +432,8 @@ public class Introspector {
* @param beanClass the class type of the bean
* @return Instance of an explicit BeanInfo class or null if one isn't found.
*/
- private static BeanInfo findExplicitBeanInfo(Class beanClass) {
- return getFinder().find(beanClass);
+ private static BeanInfo findExplicitBeanInfo(Class<?> beanClass) {
+ return ThreadGroupContext.getContext().getBeanInfoFinder().find(beanClass);
}
/**
@@ -501,8 +482,8 @@ public class Introspector {
continue;
}
String name = method.getName();
- Class argTypes[] = method.getParameterTypes();
- Class resultType = method.getReturnType();
+ Class<?>[] argTypes = method.getParameterTypes();
+ Class<?> resultType = method.getReturnType();
int argCount = argTypes.length;
PropertyDescriptor pd = null;
@@ -560,8 +541,8 @@ public class Introspector {
processPropertyDescriptors();
// Allocate and populate the result array.
- PropertyDescriptor result[] = new PropertyDescriptor[properties.size()];
- result = (PropertyDescriptor[])properties.values().toArray(result);
+ PropertyDescriptor result[] =
+ properties.values().toArray(new PropertyDescriptor[properties.size()]);
// Set the default index.
if (defaultPropertyName != null) {
@@ -575,16 +556,16 @@ public class Introspector {
return result;
}
- private HashMap pdStore = new HashMap();
+ private HashMap<String, List<PropertyDescriptor>> pdStore = new HashMap<>();
/**
* Adds the property descriptor to the list store.
*/
private void addPropertyDescriptor(PropertyDescriptor pd) {
String propName = pd.getName();
- List list = (List)pdStore.get(propName);
+ List<PropertyDescriptor> list = pdStore.get(propName);
if (list == null) {
- list = new ArrayList();
+ list = new ArrayList<>();
pdStore.put(propName, list);
}
if (this.beanClass != pd.getClass0()) {
@@ -639,25 +620,25 @@ public class Introspector {
*/
private void processPropertyDescriptors() {
if (properties == null) {
- properties = new TreeMap();
+ properties = new TreeMap<>();
}
- List list;
+ List<PropertyDescriptor> list;
PropertyDescriptor pd, gpd, spd;
IndexedPropertyDescriptor ipd, igpd, ispd;
- Iterator it = pdStore.values().iterator();
+ Iterator<List<PropertyDescriptor>> it = pdStore.values().iterator();
while (it.hasNext()) {
pd = null; gpd = null; spd = null;
ipd = null; igpd = null; ispd = null;
- list = (List)it.next();
+ list = it.next();
// First pass. Find the latest getter method. Merge properties
// of previous getter methods.
for (int i = 0; i < list.size(); i++) {
- pd = (PropertyDescriptor)list.get(i);
+ pd = list.get(i);
if (pd instanceof IndexedPropertyDescriptor) {
ipd = (IndexedPropertyDescriptor)pd;
if (ipd.getIndexedReadMethod() != null) {
@@ -686,7 +667,7 @@ public class Introspector {
// Second pass. Find the latest setter method which
// has the same type as the getter method.
for (int i = 0; i < list.size(); i++) {
- pd = (PropertyDescriptor)list.get(i);
+ pd = list.get(i);
if (pd instanceof IndexedPropertyDescriptor) {
ipd = (IndexedPropertyDescriptor)pd;
if (ipd.getIndexedWriteMethod() != null) {
@@ -804,7 +785,7 @@ public class Introspector {
// which does not have getter and setter methods.
// See regression bug 4984912.
if ( (pd == null) && (list.size() > 0) ) {
- pd = (PropertyDescriptor) list.get(0);
+ pd = list.get(0);
}
if (pd != null) {
@@ -823,8 +804,8 @@ public class Introspector {
PropertyDescriptor pd) {
PropertyDescriptor result = null;
- Class propType = pd.getPropertyType();
- Class ipropType = ipd.getIndexedPropertyType();
+ Class<?> propType = pd.getPropertyType();
+ Class<?> ipropType = ipd.getIndexedPropertyType();
if (propType.isArray() && propType.getComponentType() == ipropType) {
if (pd.getClass0().isAssignableFrom(ipd.getClass0())) {
@@ -858,7 +839,7 @@ public class Introspector {
if (write == null && read != null) {
write = findMethod(result.getClass0(),
SET_PREFIX + NameGenerator.capitalize(result.getName()), 1,
- new Class[] { FeatureDescriptor.getReturnType(result.getClass0(), read) });
+ new Class<?>[] { FeatureDescriptor.getReturnType(result.getClass0(), read) });
if (write != null) {
try {
result.setWriteMethod(write);
@@ -898,7 +879,7 @@ public class Introspector {
*/
private EventSetDescriptor[] getTargetEventInfo() throws IntrospectionException {
if (events == null) {
- events = new HashMap();
+ events = new HashMap<>();
}
// Check if the bean has its own BeanInfo that will provide
@@ -949,9 +930,9 @@ public class Introspector {
// Find all suitable "add", "remove" and "get" Listener methods
// The name of the listener type is the key for these hashtables
// i.e, ActionListener
- Map adds = null;
- Map removes = null;
- Map gets = null;
+ Map<String, Method> adds = null;
+ Map<String, Method> removes = null;
+ Map<String, Method> gets = null;
for (int i = 0; i < methodList.length; i++) {
Method method = methodList[i];
@@ -970,8 +951,8 @@ public class Introspector {
continue;
}
- Class argTypes[] = FeatureDescriptor.getParameterTypes(beanClass, method);
- Class resultType = FeatureDescriptor.getReturnType(beanClass, method);
+ Class<?>[] argTypes = FeatureDescriptor.getParameterTypes(beanClass, method);
+ Class<?> resultType = FeatureDescriptor.getReturnType(beanClass, method);
if (name.startsWith(ADD_PREFIX) && argTypes.length == 1 &&
resultType == Void.TYPE &&
@@ -980,7 +961,7 @@ public class Introspector {
if (listenerName.length() > 0 &&
argTypes[0].getName().endsWith(listenerName)) {
if (adds == null) {
- adds = new HashMap();
+ adds = new HashMap<>();
}
adds.put(listenerName, method);
}
@@ -992,7 +973,7 @@ public class Introspector {
if (listenerName.length() > 0 &&
argTypes[0].getName().endsWith(listenerName)) {
if (removes == null) {
- removes = new HashMap();
+ removes = new HashMap<>();
}
removes.put(listenerName, method);
}
@@ -1005,7 +986,7 @@ public class Introspector {
if (listenerName.length() > 0 &&
resultType.getComponentType().getName().endsWith(listenerName)) {
if (gets == null) {
- gets = new HashMap();
+ gets = new HashMap<>();
}
gets.put(listenerName, method);
}
@@ -1015,26 +996,26 @@ public class Introspector {
if (adds != null && removes != null) {
// Now look for matching addFooListener+removeFooListener pairs.
// Bonus if there is a matching getFooListeners method as well.
- Iterator keys = adds.keySet().iterator();
+ Iterator<String> keys = adds.keySet().iterator();
while (keys.hasNext()) {
- String listenerName = (String) keys.next();
+ String listenerName = keys.next();
// Skip any "add" which doesn't have a matching "remove" or
// a listener name that doesn't end with Listener
if (removes.get(listenerName) == null || !listenerName.endsWith("Listener")) {
continue;
}
String eventName = decapitalize(listenerName.substring(0, listenerName.length()-8));
- Method addMethod = (Method)adds.get(listenerName);
- Method removeMethod = (Method)removes.get(listenerName);
+ Method addMethod = adds.get(listenerName);
+ Method removeMethod = removes.get(listenerName);
Method getMethod = null;
if (gets != null) {
- getMethod = (Method)gets.get(listenerName);
+ getMethod = gets.get(listenerName);
}
- Class argType = FeatureDescriptor.getParameterTypes(beanClass, addMethod)[0];
+ Class<?> argType = FeatureDescriptor.getParameterTypes(beanClass, addMethod)[0];
// generate a list of Method objects for each of the target methods:
Method allMethods[] = getPublicDeclaredMethods(argType);
- List validMethods = new ArrayList(allMethods.length);
+ List<Method> validMethods = new ArrayList<>(allMethods.length);
for (int i = 0; i < allMethods.length; i++) {
if (allMethods[i] == null) {
continue;
@@ -1044,7 +1025,7 @@ public class Introspector {
validMethods.add(allMethods[i]);
}
}
- Method[] methods = (Method[])validMethods.toArray(new Method[validMethods.size()]);
+ Method[] methods = validMethods.toArray(new Method[validMethods.size()]);
EventSetDescriptor esd = new EventSetDescriptor(eventName, argType,
methods, addMethod,
@@ -1067,7 +1048,7 @@ public class Introspector {
} else {
// Allocate and populate the result array.
result = new EventSetDescriptor[events.size()];
- result = (EventSetDescriptor[])events.values().toArray(result);
+ result = events.values().toArray(result);
// Set the default index.
if (defaultEventName != null) {
@@ -1086,7 +1067,7 @@ public class Introspector {
if (esd.getName().equals("propertyChange")) {
propertyChangeSource = true;
}
- EventSetDescriptor old = (EventSetDescriptor)events.get(key);
+ EventSetDescriptor old = events.get(key);
if (old == null) {
events.put(key, esd);
return;
@@ -1101,7 +1082,7 @@ public class Introspector {
*/
private MethodDescriptor[] getTargetMethodInfo() {
if (methods == null) {
- methods = new HashMap(100);
+ methods = new HashMap<>(100);
}
// Check if the bean has its own BeanInfo that will provide
@@ -1154,7 +1135,7 @@ public class Introspector {
// Allocate and populate the result array.
MethodDescriptor result[] = new MethodDescriptor[methods.size()];
- result = (MethodDescriptor[])methods.values().toArray(result);
+ result = methods.values().toArray(result);
return result;
}
@@ -1165,7 +1146,7 @@ public class Introspector {
// This method gets called a *lot, so we try to be efficient.
String name = md.getName();
- MethodDescriptor old = (MethodDescriptor)methods.get(name);
+ MethodDescriptor old = methods.get(name);
if (old == null) {
// This is the common case.
methods.put(name, md);
@@ -1198,7 +1179,7 @@ public class Introspector {
// This is very rare.
String longKey = makeQualifiedMethodName(name, p1);
- old = (MethodDescriptor)methods.get(longKey);
+ old = methods.get(longKey);
if (old == null) {
methods.put(longKey, md);
return;
@@ -1269,13 +1250,13 @@ public class Introspector {
/*
* Internal method to return *public* methods within a class.
*/
- private static Method[] getPublicDeclaredMethods(Class clz) {
+ private static Method[] getPublicDeclaredMethods(Class<?> clz) {
// Looking up Class.getDeclaredMethods is relatively expensive,
// so we cache the results.
if (!ReflectUtil.isPackageAccessible(clz)) {
return new Method[0];
}
- synchronized (BEANINFO_CACHE) {
+ synchronized (declaredMethodCache) {
Method[] result = declaredMethodCache.get(clz);
if (result == null) {
result = clz.getMethods();
@@ -1299,14 +1280,14 @@ public class Introspector {
* Internal support for finding a target methodName with a given
* parameter list on a given class.
*/
- private static Method internalFindMethod(Class start, String methodName,
+ private static Method internalFindMethod(Class<?> start, String methodName,
int argCount, Class args[]) {
// For overriden methods we need to find the most derived version.
// So we start with the given class and walk up the superclass chain.
Method method = null;
- for (Class cl = start; cl != null; cl = cl.getSuperclass()) {
+ for (Class<?> cl = start; cl != null; cl = cl.getSuperclass()) {
Method methods[] = getPublicDeclaredMethods(cl);
for (int i = 0; i < methods.length; i++) {
method = methods[i];
@@ -1357,7 +1338,7 @@ public class Introspector {
/**
* Find a target methodName on a given class.
*/
- static Method findMethod(Class cls, String methodName, int argCount) {
+ static Method findMethod(Class<?> cls, String methodName, int argCount) {
return findMethod(cls, methodName, argCount, null);
}
@@ -1373,7 +1354,7 @@ public class Introspector {
* @param args Array of argument types for the method.
* @return the method or null if not found
*/
- static Method findMethod(Class cls, String methodName, int argCount,
+ static Method findMethod(Class<?> cls, String methodName, int argCount,
Class args[]) {
if (methodName == null) {
return null;
@@ -1387,7 +1368,7 @@ public class Introspector {
* or "implements" b.
* Note tht either or both "Class" objects may represent interfaces.
*/
- static boolean isSubclass(Class a, Class b) {
+ static boolean isSubclass(Class<?> a, Class<?> b) {
// We rely on the fact that for any given java class or
// primtitive type there is a unqiue Class object, so
// we can use object equivalence in the comparisons.
@@ -1397,12 +1378,12 @@ public class Introspector {
if (a == null || b == null) {
return false;
}
- for (Class x = a; x != null; x = x.getSuperclass()) {
+ for (Class<?> x = a; x != null; x = x.getSuperclass()) {
if (x == b) {
return true;
}
if (b.isInterface()) {
- Class interfaces[] = x.getInterfaces();
+ Class<?>[] interfaces = x.getInterfaces();
for (int i = 0; i < interfaces.length; i++) {
if (isSubclass(interfaces[i], b)) {
return true;
@@ -1416,7 +1397,7 @@ public class Introspector {
/**
* Return true iff the given method throws the given exception.
*/
- private boolean throwsException(Method method, Class exception) {
+ private boolean throwsException(Method method, Class<?> exception) {
Class exs[] = method.getExceptionTypes();
for (int i = 0; i < exs.length; i++) {
if (exs[i] == exception) {
@@ -1426,28 +1407,17 @@ public class Introspector {
return false;
}
- private static BeanInfoFinder getFinder() {
- AppContext context = AppContext.getAppContext();
- Object object = context.get(FINDER_KEY);
- if (object instanceof BeanInfoFinder) {
- return (BeanInfoFinder) object;
- }
- BeanInfoFinder finder = new BeanInfoFinder();
- context.put(FINDER_KEY, finder);
- return finder;
- }
-
/**
* Try to create an instance of a named class.
* First try the classloader of "sibling", then try the system
* classloader then the class loader of the current Thread.
*/
- static Object instantiate(Class sibling, String className)
+ static Object instantiate(Class<?> sibling, String className)
throws InstantiationException, IllegalAccessException,
ClassNotFoundException {
// First check with sibling's classloader (if any).
ClassLoader cl = sibling.getClassLoader();
- Class cls = ClassFinder.findClass(className, cl);
+ Class<?> cls = ClassFinder.findClass(className, cl);
return cls.newInstance();
}
@@ -1482,7 +1452,7 @@ class GenericBeanInfo extends SimpleBeanInfo {
this.properties = properties;
this.defaultProperty = defaultProperty;
this.methods = methods;
- this.targetBeanInfoRef = new SoftReference<BeanInfo>(targetBeanInfo);
+ this.targetBeanInfoRef = new SoftReference<>(targetBeanInfo);
}
/**
diff --git a/jdk/src/share/classes/java/beans/MetaData.java b/jdk/src/share/classes/java/beans/MetaData.java
index c4ab869..3e3f5d1 100644
--- a/jdk/src/share/classes/java/beans/MetaData.java
+++ b/jdk/src/share/classes/java/beans/MetaData.java
@@ -93,7 +93,7 @@ class EnumPersistenceDelegate extends PersistenceDelegate {
}
protected Expression instantiate(Object oldInstance, Encoder out) {
- Enum e = (Enum) oldInstance;
+ Enum<?> e = (Enum<?>) oldInstance;
return new Expression(e, Enum.class, "valueOf", new Object[]{e.getDeclaringClass(), e.name()});
}
}
@@ -118,7 +118,7 @@ class ArrayPersistenceDelegate extends PersistenceDelegate {
protected Expression instantiate(Object oldInstance, Encoder out) {
// System.out.println("instantiate: " + type + " " + oldInstance);
- Class oldClass = oldInstance.getClass();
+ Class<?> oldClass = oldInstance.getClass();
return new Expression(oldInstance, Array.class, "newInstance",
new Object[]{oldClass.getComponentType(),
new Integer(Array.getLength(oldInstance))});
@@ -152,14 +152,14 @@ class ArrayPersistenceDelegate extends PersistenceDelegate {
class ProxyPersistenceDelegate extends PersistenceDelegate {
protected Expression instantiate(Object oldInstance, Encoder out) {
- Class type = oldInstance.getClass();
+ Class<?> type = oldInstance.getClass();
java.lang.reflect.Proxy p = (java.lang.reflect.Proxy)oldInstance;
// This unappealing hack is not required but makes the
// representation of EventHandlers much more concise.
java.lang.reflect.InvocationHandler ih = java.lang.reflect.Proxy.getInvocationHandler(p);
if (ih instanceof EventHandler) {
EventHandler eh = (EventHandler)ih;
- Vector args = new Vector();
+ Vector<Object> args = new Vector<>();
args.add(type.getInterfaces()[0]);
args.add(eh.getTarget());
args.add(eh.getAction());
@@ -200,7 +200,7 @@ class java_lang_Class_PersistenceDelegate extends PersistenceDelegate {
}
protected Expression instantiate(Object oldInstance, Encoder out) {
- Class c = (Class)oldInstance;
+ Class<?> c = (Class)oldInstance;
// As of 1.3 it is not possible to call Class.forName("int"),
// so we have to generate different code for primitive types.
// This is needed for arrays whose subtype may be primitive.
@@ -362,8 +362,8 @@ abstract class java_util_Collections extends PersistenceDelegate {
if ((oldInstance instanceof List) || (oldInstance instanceof Set) || (oldInstance instanceof Map)) {
return oldInstance.equals(newInstance);
}
- Collection oldC = (Collection) oldInstance;
- Collection newC = (Collection) newInstance;
+ Collection<?> oldC = (Collection<?>) oldInstance;
+ Collection<?> newC = (Collection<?>) newInstance;
return (oldC.size() == newC.size()) && oldC.containsAll(newC);
}
@@ -387,21 +387,21 @@ abstract class java_util_Collections extends PersistenceDelegate {
static final class SingletonList_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
- List list = (List) oldInstance;
+ List<?> list = (List<?>) oldInstance;
return new Expression(oldInstance, Collections.class, "singletonList", new Object[]{list.get(0)});
}
}
static final class SingletonSet_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
- Set set = (Set) oldInstance;
+ Set<?> set = (Set<?>) oldInstance;
return new Expression(oldInstance, Collections.class, "singleton", new Object[]{set.iterator().next()});
}
}
static final class SingletonMap_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
- Map map = (Map) oldInstance;
+ Map<?,?> map = (Map<?,?>) oldInstance;
Object key = map.keySet().iterator().next();
return new Expression(oldInstance, Collections.class, "singletonMap", new Object[]{key, map.get(key)});
}
@@ -409,98 +409,98 @@ abstract class java_util_Collections extends PersistenceDelegate {
static final class UnmodifiableCollection_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
- List list = new ArrayList((Collection) oldInstance);
+ List<?> list = new ArrayList<>((Collection<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "unmodifiableCollection", new Object[]{list});
}
}
static final class UnmodifiableList_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
- List list = new LinkedList((Collection) oldInstance);
+ List<?> list = new LinkedList<>((Collection<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "unmodifiableList", new Object[]{list});
}
}
static final class UnmodifiableRandomAccessList_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
- List list = new ArrayList((Collection) oldInstance);
+ List<?> list = new ArrayList<>((Collection<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "unmodifiableList", new Object[]{list});
}
}
static final class UnmodifiableSet_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
- Set set = new HashSet((Set) oldInstance);
+ Set<?> set = new HashSet<>((Set<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "unmodifiableSet", new Object[]{set});
}
}
static final class UnmodifiableSortedSet_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
- SortedSet set = new TreeSet((SortedSet) oldInstance);
+ SortedSet<?> set = new TreeSet<>((SortedSet<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "unmodifiableSortedSet", new Object[]{set});
}
}
static final class UnmodifiableMap_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
- Map map = new HashMap((Map) oldInstance);
+ Map<?,?> map = new HashMap<>((Map<?,?>) oldInstance);
return new Expression(oldInstance, Collections.class, "unmodifiableMap", new Object[]{map});
}
}
static final class UnmodifiableSortedMap_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
- SortedMap map = new TreeMap((SortedMap) oldInstance);
+ SortedMap<?,?> map = new TreeMap<>((SortedMap<?,?>) oldInstance);
return new Expression(oldInstance, Collections.class, "unmodifiableSortedMap", new Object[]{map});
}
}
static final class SynchronizedCollection_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
- List list = new ArrayList((Collection) oldInstance);
+ List<?> list = new ArrayList<>((Collection<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "synchronizedCollection", new Object[]{list});
}
}
static final class SynchronizedList_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
- List list = new LinkedList((Collection) oldInstance);
+ List<?> list = new LinkedList<>((Collection<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "synchronizedList", new Object[]{list});
}
}
static final class SynchronizedRandomAccessList_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
- List list = new ArrayList((Collection) oldInstance);
+ List<?> list = new ArrayList<>((Collection<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "synchronizedList", new Object[]{list});
}
}
static final class SynchronizedSet_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
- Set set = new HashSet((Set) oldInstance);
+ Set<?> set = new HashSet<>((Set<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "synchronizedSet", new Object[]{set});
}
}
static final class SynchronizedSortedSet_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
- SortedSet set = new TreeSet((SortedSet) oldInstance);
+ SortedSet<?> set = new TreeSet<>((SortedSet<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "synchronizedSortedSet", new Object[]{set});
}
}
static final class SynchronizedMap_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
- Map map = new HashMap((Map) oldInstance);
+ Map<?,?> map = new HashMap<>((Map<?,?>) oldInstance);
return new Expression(oldInstance, Collections.class, "synchronizedMap", new Object[]{map});
}
}
static final class SynchronizedSortedMap_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
- SortedMap map = new TreeMap((SortedMap) oldInstance);
+ SortedMap<?,?> map = new TreeMap<>((SortedMap<?,?>) oldInstance);
return new Expression(oldInstance, Collections.class, "synchronizedSortedMap", new Object[]{map});
}
}
@@ -508,7 +508,7 @@ abstract class java_util_Collections extends PersistenceDelegate {
static final class CheckedCollection_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
Object type = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedCollection.type");
- List list = new ArrayList((Collection) oldInstance);
+ List<?> list = new ArrayList<>((Collection<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "checkedCollection", new Object[]{list, type});
}
}
@@ -516,7 +516,7 @@ abstract class java_util_Collections extends PersistenceDelegate {
static final class CheckedList_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
Object type = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedCollection.type");
- List list = new LinkedList((Collection) oldInstance);
+ List<?> list = new LinkedList<>((Collection<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "checkedList", new Object[]{list, type});
}
}
@@ -524,7 +524,7 @@ abstract class java_util_Collections extends PersistenceDelegate {
static final class CheckedRandomAccessList_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
Object type = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedCollection.type");
- List list = new ArrayList((Collection) oldInstance);
+ List<?> list = new ArrayList<>((Collection<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "checkedList", new Object[]{list, type});
}
}
@@ -532,7 +532,7 @@ abstract class java_util_Collections extends PersistenceDelegate {
static final class CheckedSet_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
Object type = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedCollection.type");
- Set set = new HashSet((Set) oldInstance);
+ Set<?> set = new HashSet<>((Set<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "checkedSet", new Object[]{set, type});
}
}
@@ -540,7 +540,7 @@ abstract class java_util_Collections extends PersistenceDelegate {
static final class CheckedSortedSet_PersistenceDelegate extends java_util_Collections {
protected Expression instantiate(Object oldInstance, Encoder out) {
Object type = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedCollection.type");
- SortedSet set = new TreeSet((SortedSet) oldInstance);
+ SortedSet<?> set = new TreeSet<>((SortedSet<?>) oldInstance);
return new Expression(oldInstance, Collections.class, "checkedSortedSet", new Object[]{set, type});
}
}
@@ -549,7 +549,7 @@ abstract class java_util_Collections extends PersistenceDelegate {
protected Expression instantiate(Object oldInstance, Encoder out) {
Object keyType = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedMap.keyType");
Object valueType = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedMap.valueType");
- Map map = new HashMap((Map) oldInstance);
+ Map<?,?> map = new HashMap<>((Map<?,?>) oldInstance);
return new Expression(oldInstance, Collections.class, "checkedMap", new Object[]{map, keyType, valueType});
}
}
@@ -558,7 +558,7 @@ abstract class java_util_Collections extends PersistenceDelegate {
protected Expression instantiate(Object oldInstance, Encoder out) {
Object keyType = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedMap.keyType");
Object valueType = MetaData.getPrivateFieldValue(oldInstance, "java.util.Collections$CheckedMap.valueType");
- SortedMap map = new TreeMap((SortedMap) oldInstance);
+ SortedMap<?,?> map = new TreeMap<>((SortedMap<?,?>) oldInstance);
return new Expression(oldInstance, Collections.class, "checkedSortedMap", new Object[]{map, keyType, valueType});
}
}
@@ -605,13 +605,13 @@ class java_util_EnumSet_PersistenceDelegate extends PersistenceDelegate {
// Collection
class java_util_Collection_PersistenceDelegate extends DefaultPersistenceDelegate {
protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) {
- java.util.Collection oldO = (java.util.Collection)oldInstance;
- java.util.Collection newO = (java.util.Collection)newInstance;
+ java.util.Collection<?> oldO = (java.util.Collection)oldInstance;
+ java.util.Collection<?> newO = (java.util.Collection)newInstance;
if (newO.size() != 0) {
invokeStatement(oldInstance, "clear", new Object[]{}, out);
}
- for (Iterator i = oldO.iterator(); i.hasNext();) {
+ for (Iterator<?> i = oldO.iterator(); i.hasNext();) {
invokeStatement(oldInstance, "add", new Object[]{i.next()}, out);
}
}
@@ -620,8 +620,8 @@ class java_util_Collection_PersistenceDelegate extends DefaultPersistenceDelegat
// List
class java_util_List_PersistenceDelegate extends DefaultPersistenceDelegate {
protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) {
- java.util.List oldO = (java.util.List)oldInstance;
- java.util.List newO = (java.util.List)newInstance;
+ java.util.List<?> oldO = (java.util.List<?>)oldInstance;
+ java.util.List<?> newO = (java.util.List<?>)newInstance;
int oldSize = oldO.size();
int newSize = (newO == null) ? 0 : newO.size();
if (oldSize < newSize) {
@@ -656,8 +656,8 @@ class java_util_List_PersistenceDelegate extends DefaultPersistenceDelegate {
class java_util_Map_PersistenceDelegate extends DefaultPersistenceDelegate {
protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) {
// System.out.println("Initializing: " + newInstance);
- java.util.Map oldMap = (java.util.Map)oldInstance;
- java.util.Map newMap = (java.util.Map)newInstance;
+ java.util.Map<?,?> oldMap = (java.util.Map)oldInstance;
+ java.util.Map<?,?> newMap = (java.util.Map)newInstance;
// Remove the new elements.
// Do this first otherwise we undo the adding work.
if (newMap != null) {
@@ -746,9 +746,9 @@ final class java_awt_Font_PersistenceDelegate extends PersistenceDelegate {
int style = Font.PLAIN;
int size = 12;
- Map basic = font.getAttributes();
- Map clone = new HashMap(basic.size());
- for (Object key : basic.keySet()) {
+ Map<TextAttribute, ?> basic = font.getAttributes();
+ Map<TextAttribute, Object> clone = new HashMap<>(basic.size());
+ for (TextAttribute key : basic.keySet()) {
Object value = basic.get(key);
if (value != null) {
clone.put(key, value);
@@ -784,7 +784,7 @@ final class java_awt_Font_PersistenceDelegate extends PersistenceDelegate {
}
}
}
- Class type = font.getClass();
+ Class<?> type = font.getClass();
if (count == clone.size()) {
return new Expression(font, type, "new", new Object[]{family, style, size});
}
@@ -832,7 +832,7 @@ final class java_awt_AWTKeyStroke_PersistenceDelegate extends PersistenceDelegat
if (args == null) {
throw new IllegalStateException("Unsupported KeyStroke: " + key);
}
- Class type = key.getClass();
+ Class<?> type = key.getClass();
String name = type.getName();
// get short name of the class
int index = name.lastIndexOf('.') + 1;
@@ -1057,12 +1057,12 @@ class java_awt_CardLayout_PersistenceDelegate extends DefaultPersistenceDelegate
protected void initialize(Class<?> type, Object oldInstance,
Object newInstance, Encoder out) {
super.initialize(type, oldInstance, newInstance, out);
- Hashtable tab = (Hashtable)ReflectionUtils.getPrivateField(oldInstance,
+ Hashtable<?,?> tab = (Hashtable<?,?>)ReflectionUtils.getPrivateField(oldInstance,
java.awt.CardLayout.class,
"tab",
out.getExceptionListener());
if (tab != null) {
- for(Enumeration e = tab.keys(); e.hasMoreElements();) {
+ for(Enumeration<?> e = tab.keys(); e.hasMoreElements();) {
Object child = e.nextElement();
invokeStatement(oldInstance, "addLayoutComponent",
new Object[]{child, (String)tab.get(child)}, out);
@@ -1076,12 +1076,12 @@ class java_awt_GridBagLayout_PersistenceDelegate extends DefaultPersistenceDeleg
protected void initialize(Class<?> type, Object oldInstance,
Object newInstance, Encoder out) {
super.initialize(type, oldInstance, newInstance, out);
- Hashtable comptable = (Hashtable)ReflectionUtils.getPrivateField(oldInstance,
+ Hashtable<?,?> comptable = (Hashtable<?,?>)ReflectionUtils.getPrivateField(oldInstance,
java.awt.GridBagLayout.class,
"comptable",
out.getExceptionListener());
if (comptable != null) {
- for(Enumeration e = comptable.keys(); e.hasMoreElements();) {
+ for(Enumeration<?> e = comptable.keys(); e.hasMoreElements();) {
Object child = e.nextElement();
invokeStatement(oldInstance, "addLayoutComponent",
new Object[]{child, comptable.get(child)}, out);
@@ -1119,8 +1119,8 @@ class javax_swing_DefaultListModel_PersistenceDelegate extends DefaultPersistenc
protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) {
// Note, the "size" property will be set here.
super.initialize(type, oldInstance, newInstance, out);
- javax.swing.DefaultListModel m = (javax.swing.DefaultListModel)oldInstance;
- javax.swing.DefaultListModel n = (javax.swing.DefaultListModel)newInstance;
+ javax.swing.DefaultListModel<?> m = (javax.swing.DefaultListModel<?>)oldInstance;
+ javax.swing.DefaultListModel<?> n = (javax.swing.DefaultListModel<?>)newInstance;
for (int i = n.getSize(); i < m.getSize(); i++) {
invokeStatement(oldInstance, "add", // Can also use "addElement".
new Object[]{m.getElementAt(i)}, out);
@@ -1132,7 +1132,7 @@ class javax_swing_DefaultListModel_PersistenceDelegate extends DefaultPersistenc
class javax_swing_DefaultComboBoxModel_PersistenceDelegate extends DefaultPersistenceDelegate {
protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) {
super.initialize(type, oldInstance, newInstance, out);
- javax.swing.DefaultComboBoxModel m = (javax.swing.DefaultComboBoxModel)oldInstance;
+ javax.swing.DefaultComboBoxModel<?> m = (javax.swing.DefaultComboBoxModel<?>)oldInstance;
for (int i = 0; i < m.getSize(); i++) {
invokeStatement(oldInstance, "addElement", new Object[]{m.getElementAt(i)}, out);
}
@@ -1275,7 +1275,7 @@ final class sun_swing_PrintColorUIResource_PersistenceDelegate extends Persisten
class MetaData {
private static final Map<String,Field> fields = Collections.synchronizedMap(new WeakHashMap<String, Field>());
- private static Hashtable internalPersistenceDelegates = new Hashtable();
+ private static Hashtable<String, PersistenceDelegate> internalPersistenceDelegates = new Hashtable<>();
private static PersistenceDelegate nullPersistenceDelegate = new NullPersistenceDelegate();
private static PersistenceDelegate enumPersistenceDelegate = new EnumPersistenceDelegate();
@@ -1308,6 +1308,7 @@ class MetaData {
internalPersistenceDelegates.put("java.util.RegularEnumSet", new java_util_EnumSet_PersistenceDelegate());
}
+ @SuppressWarnings("rawtypes")
public synchronized static PersistenceDelegate getPersistenceDelegate(Class type) {
if (type == null) {
return nullPersistenceDelegate;
@@ -1342,7 +1343,7 @@ class MetaData {
String typeName = type.getName();
PersistenceDelegate pd = (PersistenceDelegate)getBeanAttribute(type, "persistenceDelegate");
if (pd == null) {
- pd = (PersistenceDelegate)internalPersistenceDelegates.get(typeName);
+ pd = internalPersistenceDelegates.get(typeName);
if (pd != null) {
return pd;
}
@@ -1369,7 +1370,7 @@ class MetaData {
return (pd != null) ? pd : defaultPersistenceDelegate;
}
- private static String[] getConstructorProperties(Class type) {
+ private static String[] getConstructorProperties(Class<?> type) {
String[] names = null;
int length = 0;
for (Constructor<?> constructor : type.getConstructors()) {
@@ -1402,7 +1403,7 @@ class MetaData {
return true;
}
- private static Object getBeanAttribute(Class type, String attribute) {
+ private static Object getBeanAttribute(Class<?> type, String attribute) {
try {
return Introspector.getBeanInfo(type).getBeanDescriptor().getValue(attribute);
} catch (IntrospectionException exception) {
diff --git a/jdk/src/share/classes/java/beans/MethodDescriptor.java b/jdk/src/share/classes/java/beans/MethodDescriptor.java
index d9e78be..ae26fb2 100644
--- a/jdk/src/share/classes/java/beans/MethodDescriptor.java
+++ b/jdk/src/share/classes/java/beans/MethodDescriptor.java
@@ -42,7 +42,7 @@ public class MethodDescriptor extends FeatureDescriptor {
private String[] paramNames;
- private List params;
+ private List<WeakReference<Class<?>>> params;
private ParameterDescriptor parameterDescriptors[];
@@ -81,10 +81,10 @@ public class MethodDescriptor extends FeatureDescriptor {
public synchronized Method getMethod() {
Method method = getMethod0();
if (method == null) {
- Class cls = getClass0();
+ Class<?> cls = getClass0();
String name = getName();
if ((cls != null) && (name != null)) {
- Class[] params = getParams();
+ Class<?>[] params = getParams();
if (params == null) {
for (int i = 0; i < 3; i++) {
// Find methods for up to 2 params. We are guessing here.
@@ -121,15 +121,15 @@ public class MethodDescriptor extends FeatureDescriptor {
: null;
}
- private synchronized void setParams(Class[] param) {
+ private synchronized void setParams(Class<?>[] param) {
if (param == null) {
return;
}
paramNames = new String[param.length];
- params = new ArrayList(param.length);
+ params = new ArrayList<>(param.length);
for (int i = 0; i < param.length; i++) {
paramNames[i] = param[i].getName();
- params.add(new WeakReference(param[i]));
+ params.add(new WeakReference<Class<?>>(param[i]));
}
}
@@ -138,12 +138,12 @@ public class MethodDescriptor extends FeatureDescriptor {
return paramNames;
}
- private synchronized Class[] getParams() {
- Class[] clss = new Class[params.size()];
+ private synchronized Class<?>[] getParams() {
+ Class<?>[] clss = new Class<?>[params.size()];
for (int i = 0; i < params.size(); i++) {
- Reference ref = (Reference)params.get(i);
- Class cls = (Class)ref.get();
+ Reference<? extends Class<?>> ref = (Reference<? extends Class<?>>)params.get(i);
+ Class<?> cls = ref.get();
if (cls == null) {
return null;
} else {
diff --git a/jdk/src/share/classes/java/beans/NameGenerator.java b/jdk/src/share/classes/java/beans/NameGenerator.java
index 3fa7f52..ddc1b21 100644
--- a/jdk/src/share/classes/java/beans/NameGenerator.java
+++ b/jdk/src/share/classes/java/beans/NameGenerator.java
@@ -43,12 +43,12 @@ import static java.util.Locale.ENGLISH;
*/
class NameGenerator {
- private Map valueToName;
- private Map nameToCount;
+ private Map<Object, String> valueToName;
+ private Map<String, Integer> nameToCount;
public NameGenerator() {
- valueToName = new IdentityHashMap();
- nameToCount = new HashMap();
+ valueToName = new IdentityHashMap<>();
+ nameToCount = new HashMap<>();
}
/**
@@ -63,6 +63,7 @@ class NameGenerator {
/**
* Returns the root name of the class.
*/
+ @SuppressWarnings("rawtypes")
public static String unqualifiedClassName(Class type) {
if (type.isArray()) {
return unqualifiedClassName(type.getComponentType())+"Array";
@@ -97,15 +98,15 @@ class NameGenerator {
return unqualifiedClassName((Class)instance);
}
else {
- String result = (String)valueToName.get(instance);
+ String result = valueToName.get(instance);
if (result != null) {
return result;
}
- Class type = instance.getClass();
+ Class<?> type = instance.getClass();
String className = unqualifiedClassName(type);
- Object size = nameToCount.get(className);
- int instanceNumber = (size == null) ? 0 : ((Integer)size).intValue() + 1;
+ Integer size = nameToCount.get(className);
+ int instanceNumber = (size == null) ? 0 : (size).intValue() + 1;
nameToCount.put(className, new Integer(instanceNumber));
result = className + instanceNumber;
diff --git a/jdk/src/share/classes/java/beans/PersistenceDelegate.java b/jdk/src/share/classes/java/beans/PersistenceDelegate.java
index f8622c1..01c5bb1 100644
--- a/jdk/src/share/classes/java/beans/PersistenceDelegate.java
+++ b/jdk/src/share/classes/java/beans/PersistenceDelegate.java
@@ -207,7 +207,7 @@ public abstract class PersistenceDelegate {
Object oldInstance, Object newInstance,
Encoder out)
{
- Class superType = type.getSuperclass();
+ Class<?> superType = type.getSuperclass();
PersistenceDelegate info = out.getPersistenceDelegate(superType);
info.initialize(superType, oldInstance, newInstance, out);
}
diff --git a/jdk/src/share/classes/java/beans/PropertyChangeEvent.java b/jdk/src/share/classes/java/beans/PropertyChangeEvent.java
index 55397ef..eeaa651 100644
--- a/jdk/src/share/classes/java/beans/PropertyChangeEvent.java
+++ b/jdk/src/share/classes/java/beans/PropertyChangeEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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,6 +25,8 @@
package java.beans;
+import java.util.EventObject;
+
/**
* A "PropertyChange" event gets delivered whenever a bean changes a "bound"
* or "constrained" property. A PropertyChangeEvent object is sent as an
@@ -42,21 +44,21 @@ package java.beans;
* arbitrary set of if its properties have changed. In this case the
* old and new values should also be null.
*/
-
-public class PropertyChangeEvent extends java.util.EventObject {
+public class PropertyChangeEvent extends EventObject {
private static final long serialVersionUID = 7042693688939648123L;
/**
- * Constructs a new <code>PropertyChangeEvent</code>.
+ * Constructs a new {@code PropertyChangeEvent}.
+ *
+ * @param source the bean that fired the event
+ * @param propertyName the programmatic name of the property that was changed
+ * @param oldValue the old value of the property
+ * @param newValue the new value of the property
*
- * @param source The bean that fired the event.
- * @param propertyName The programmatic name of the property
- * that was changed.
- * @param oldValue The old value of the property.
- * @param newValue The new value of the property.
+ * @throws IllegalArgumentException if {@code source} is {@code null}
*/
public PropertyChangeEvent(Object source, String propertyName,
- Object oldValue, Object newValue) {
+ Object oldValue, Object newValue) {
super(source);
this.propertyName = propertyName;
this.newValue = newValue;
diff --git a/jdk/src/share/classes/java/beans/PropertyChangeSupport.java b/jdk/src/share/classes/java/beans/PropertyChangeSupport.java
index db5b613..1ea326e 100644
--- a/jdk/src/share/classes/java/beans/PropertyChangeSupport.java
+++ b/jdk/src/share/classes/java/beans/PropertyChangeSupport.java
@@ -431,7 +431,7 @@ public class PropertyChangeSupport implements Serializable {
listeners = entry.getValue();
} else {
if (children == null) {
- children = new Hashtable<String, PropertyChangeSupport>();
+ children = new Hashtable<>();
}
PropertyChangeSupport pcs = new PropertyChangeSupport(this.source);
pcs.map.set(null, entry.getValue());
@@ -460,6 +460,7 @@ public class PropertyChangeSupport implements Serializable {
ObjectInputStream.GetField fields = s.readFields();
+ @SuppressWarnings("unchecked")
Hashtable<String, PropertyChangeSupport> children = (Hashtable<String, PropertyChangeSupport>) fields.get("children", null);
this.source = fields.get("source", null);
fields.get("propertyChangeSupportSerializedDataVersion", 2);
diff --git a/jdk/src/share/classes/java/beans/PropertyDescriptor.java b/jdk/src/share/classes/java/beans/PropertyDescriptor.java
index 429d2b4..6abe8a0 100644
--- a/jdk/src/share/classes/java/beans/PropertyDescriptor.java
+++ b/jdk/src/share/classes/java/beans/PropertyDescriptor.java
@@ -35,10 +35,10 @@ import java.lang.reflect.Constructor;
*/
public class PropertyDescriptor extends FeatureDescriptor {
- private Reference<Class> propertyTypeRef;
+ private Reference<? extends Class<?>> propertyTypeRef;
private Reference<Method> readMethodRef;
private Reference<Method> writeMethodRef;
- private Reference<Class> propertyEditorClassRef;
+ private Reference<? extends Class<?>> propertyEditorClassRef;
private boolean bound;
private boolean constrained;
@@ -174,7 +174,7 @@ public class PropertyDescriptor extends FeatureDescriptor {
* or {@code null} if the type cannot be determined
*/
public synchronized Class<?> getPropertyType() {
- Class type = getPropertyType0();
+ Class<?> type = getPropertyType0();
if (type == null) {
try {
type = findPropertyType(getReadMethod(), getWriteMethod());
@@ -186,11 +186,11 @@ public class PropertyDescriptor extends FeatureDescriptor {
return type;
}
- private void setPropertyType(Class type) {
+ private void setPropertyType(Class<?> type) {
this.propertyTypeRef = getWeakReference(type);
}
- private Class getPropertyType0() {
+ private Class<?> getPropertyType0() {
return (this.propertyTypeRef != null)
? this.propertyTypeRef.get()
: null;
@@ -205,13 +205,13 @@ public class PropertyDescriptor extends FeatureDescriptor {
public synchronized Method getReadMethod() {
Method readMethod = getReadMethod0();
if (readMethod == null) {
- Class cls = getClass0();
+ Class<?> cls = getClass0();
if (cls == null || (readMethodName == null && readMethodRef == null)) {
// The read method was explicitly set to null.
return null;
}
if (readMethodName == null) {
- Class type = getPropertyType0();
+ Class<?> type = getPropertyType0();
if (type == boolean.class || type == null) {
readMethodName = Introspector.IS_PREFIX + getBaseName();
} else {
@@ -268,14 +268,14 @@ public class PropertyDescriptor extends FeatureDescriptor {
public synchronized Method getWriteMethod() {
Method writeMethod = getWriteMethod0();
if (writeMethod == null) {
- Class cls = getClass0();
+ Class<?> cls = getClass0();
if (cls == null || (writeMethodName == null && writeMethodRef == null)) {
// The write method was explicitly set to null.
return null;
}
// We need the type to fetch the correct method.
- Class type = getPropertyType0();
+ Class<?> type = getPropertyType0();
if (type == null) {
try {
// Can't use getPropertyType since it will lead to recursive loop.
@@ -292,7 +292,7 @@ public class PropertyDescriptor extends FeatureDescriptor {
writeMethodName = Introspector.SET_PREFIX + getBaseName();
}
- Class[] args = (type == null) ? null : new Class[] { type };
+ Class<?>[] args = (type == null) ? null : new Class<?>[] { type };
writeMethod = Introspector.findMethod(cls, writeMethodName, 1, args);
if (writeMethod != null) {
if (!writeMethod.getReturnType().equals(void.class)) {
@@ -344,7 +344,7 @@ public class PropertyDescriptor extends FeatureDescriptor {
/**
* Overridden to ensure that a super class doesn't take precedent
*/
- void setClass0(Class clz) {
+ void setClass0(Class<?> clz) {
if (getClass0() != null && clz.isAssignableFrom(getClass0())) {
// dont replace a subclass with a superclass
return;
@@ -402,7 +402,7 @@ public class PropertyDescriptor extends FeatureDescriptor {
* @param propertyEditorClass The Class for the desired PropertyEditor.
*/
public void setPropertyEditorClass(Class<?> propertyEditorClass) {
- this.propertyEditorClassRef = getWeakReference((Class)propertyEditorClass);
+ this.propertyEditorClassRef = getWeakReference(propertyEditorClass);
}
/**
@@ -437,12 +437,12 @@ public class PropertyDescriptor extends FeatureDescriptor {
public PropertyEditor createPropertyEditor(Object bean) {
Object editor = null;
- Class cls = getPropertyEditorClass();
+ Class<?> cls = getPropertyEditorClass();
if (cls != null) {
- Constructor ctor = null;
+ Constructor<?> ctor = null;
if (bean != null) {
try {
- ctor = cls.getConstructor(new Class[] { Object.class });
+ ctor = cls.getConstructor(new Class<?>[] { Object.class });
} catch (Exception ex) {
// Fall through
}
@@ -454,10 +454,7 @@ public class PropertyDescriptor extends FeatureDescriptor {
editor = ctor.newInstance(new Object[] { bean });
}
} catch (Exception ex) {
- // A serious error has occured.
- // Proably due to an invalid property editor.
- throw new RuntimeException("PropertyEditor not instantiated",
- ex);
+ // Fall through
}
}
return (PropertyEditor)editor;
@@ -637,12 +634,12 @@ public class PropertyDescriptor extends FeatureDescriptor {
* read and write methods are null.
* @throws IntrospectionException if the read or write method is invalid
*/
- private Class findPropertyType(Method readMethod, Method writeMethod)
+ private Class<?> findPropertyType(Method readMethod, Method writeMethod)
throws IntrospectionException {
- Class propertyType = null;
+ Class<?> propertyType = null;
try {
if (readMethod != null) {
- Class[] params = getParameterTypes(getClass0(), readMethod);
+ Class<?>[] params = getParameterTypes(getClass0(), readMethod);
if (params.length != 0) {
throw new IntrospectionException("bad read method arg count: "
+ readMethod);
@@ -654,7 +651,7 @@ public class PropertyDescriptor extends FeatureDescriptor {
}
}
if (writeMethod != null) {
- Class params[] = getParameterTypes(getClass0(), writeMethod);
+ Class<?>[] params = getParameterTypes(getClass0(), writeMethod);
if (params.length != 1) {
throw new IntrospectionException("bad write method arg count: "
+ writeMethod);
diff --git a/jdk/src/share/classes/java/beans/PropertyEditorManager.java b/jdk/src/share/classes/java/beans/PropertyEditorManager.java
index 6bdfa95..3fee3f4 100644
--- a/jdk/src/share/classes/java/beans/PropertyEditorManager.java
+++ b/jdk/src/share/classes/java/beans/PropertyEditorManager.java
@@ -25,9 +25,6 @@
package java.beans;
-import com.sun.beans.finder.PropertyEditorFinder;
-import sun.awt.AppContext;
-
/**
* The PropertyEditorManager can be used to locate a property editor for
* any given type name. This property editor must support the
@@ -55,8 +52,6 @@ import sun.awt.AppContext;
public class PropertyEditorManager {
- private static final Object FINDER_KEY = new Object();
-
/**
* Registers an editor class to edit values of the given target class.
* If the editor class is {@code null},
@@ -81,7 +76,7 @@ public class PropertyEditorManager {
if (sm != null) {
sm.checkPropertiesAccess();
}
- getFinder().register(targetType, editorClass);
+ ThreadGroupContext.getContext().getPropertyEditorFinder().register(targetType, editorClass);
}
/**
@@ -92,7 +87,7 @@ public class PropertyEditorManager {
* The result is null if no suitable editor can be found.
*/
public static PropertyEditor findEditor(Class<?> targetType) {
- return getFinder().find(targetType);
+ return ThreadGroupContext.getContext().getPropertyEditorFinder().find(targetType);
}
/**
@@ -104,7 +99,7 @@ public class PropertyEditorManager {
* e.g. Sun implementation initially sets to {"sun.beans.editors"}.
*/
public static String[] getEditorSearchPath() {
- return getFinder().getPackages();
+ return ThreadGroupContext.getContext().getPropertyEditorFinder().getPackages();
}
/**
@@ -125,17 +120,6 @@ public class PropertyEditorManager {
if (sm != null) {
sm.checkPropertiesAccess();
}
- getFinder().setPackages(path);
- }
-
- private static PropertyEditorFinder getFinder() {
- AppContext context = AppContext.getAppContext();
- Object object = context.get(FINDER_KEY);
- if (object instanceof PropertyEditorFinder) {
- return (PropertyEditorFinder) object;
- }
- PropertyEditorFinder finder = new PropertyEditorFinder();
- context.put(FINDER_KEY, finder);
- return finder;
+ ThreadGroupContext.getContext().getPropertyEditorFinder().setPackages(path);
}
}
diff --git a/jdk/src/share/classes/java/beans/PropertyEditorSupport.java b/jdk/src/share/classes/java/beans/PropertyEditorSupport.java
index 776b47e..246eca0 100644
--- a/jdk/src/share/classes/java/beans/PropertyEditorSupport.java
+++ b/jdk/src/share/classes/java/beans/PropertyEditorSupport.java
@@ -251,7 +251,7 @@ public class PropertyEditorSupport implements PropertyEditor {
public synchronized void addPropertyChangeListener(
PropertyChangeListener listener) {
if (listeners == null) {
- listeners = new java.util.Vector();
+ listeners = new java.util.Vector<>();
}
listeners.addElement(listener);
}
@@ -278,25 +278,30 @@ public class PropertyEditorSupport implements PropertyEditor {
* Report that we have been modified to any interested listeners.
*/
public void firePropertyChange() {
- java.util.Vector targets;
+ java.util.Vector<PropertyChangeListener> targets;
synchronized (this) {
if (listeners == null) {
return;
}
- targets = (java.util.Vector) listeners.clone();
+ targets = unsafeClone(listeners);
}
// Tell our listeners that "everything" has changed.
PropertyChangeEvent evt = new PropertyChangeEvent(source, null, null, null);
for (int i = 0; i < targets.size(); i++) {
- PropertyChangeListener target = (PropertyChangeListener)targets.elementAt(i);
+ PropertyChangeListener target = targets.elementAt(i);
target.propertyChange(evt);
}
}
+ @SuppressWarnings("unchecked")
+ private <T> java.util.Vector<T> unsafeClone(java.util.Vector<T> v) {
+ return (java.util.Vector<T>)v.clone();
+ }
+
//----------------------------------------------------------------------
private Object value;
private Object source;
- private java.util.Vector listeners;
+ private java.util.Vector<PropertyChangeListener> listeners;
}
diff --git a/jdk/src/share/classes/java/beans/ReflectionUtils.java b/jdk/src/share/classes/java/beans/ReflectionUtils.java
index c1c9dca..9271827 100644
--- a/jdk/src/share/classes/java/beans/ReflectionUtils.java
+++ b/jdk/src/share/classes/java/beans/ReflectionUtils.java
@@ -32,10 +32,12 @@ import java.lang.reflect.Field;
*/
class ReflectionUtils {
+ @SuppressWarnings("rawtypes")
public static boolean isPrimitive(Class type) {
return primitiveTypeFor(type) != null;
}
+ @SuppressWarnings("rawtypes")
public static Class primitiveTypeFor(Class wrapper) {
if (wrapper == Boolean.class) return Boolean.TYPE;
if (wrapper == Byte.class) return Byte.TYPE;
@@ -58,6 +60,7 @@ class ReflectionUtils {
* @param el an exception listener to handle exceptions; or null
* @return value of the field; null if not found or an error is encountered
*/
+ @SuppressWarnings("rawtypes")
public static Object getPrivateField(Object instance, Class cls,
String name, ExceptionListener el) {
try {
diff --git a/jdk/src/share/classes/java/beans/SimpleBeanInfo.java b/jdk/src/share/classes/java/beans/SimpleBeanInfo.java
index ddd6b02..88348ff 100644
--- a/jdk/src/share/classes/java/beans/SimpleBeanInfo.java
+++ b/jdk/src/share/classes/java/beans/SimpleBeanInfo.java
@@ -116,10 +116,10 @@ public class SimpleBeanInfo implements BeanInfo {
*/
public java.awt.Image loadImage(final String resourceName) {
try {
- final Class c = getClass();
+ final Class<?> c = getClass();
java.awt.image.ImageProducer ip = (java.awt.image.ImageProducer)
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction() {
+ new java.security.PrivilegedAction<Object>() {
public Object run() {
java.net.URL url;
if ((url = c.getResource(resourceName)) == null) {
diff --git a/jdk/src/share/classes/java/beans/Statement.java b/jdk/src/share/classes/java/beans/Statement.java
index b6e1c2f..5ffccc3 100644
--- a/jdk/src/share/classes/java/beans/Statement.java
+++ b/jdk/src/share/classes/java/beans/Statement.java
@@ -212,7 +212,7 @@ public class Statement {
if (target == Class.class && methodName.equals("forName")) {
return ClassFinder.resolveClass((String)arguments[0], this.loader);
}
- Class[] argClasses = new Class[arguments.length];
+ Class<?>[] argClasses = new Class<?>[arguments.length];
for(int i = 0; i < arguments.length; i++) {
argClasses[i] = (arguments[i] == null) ? null : arguments[i].getClass();
}
diff --git a/jdk/src/share/classes/java/beans/ThreadGroupContext.java b/jdk/src/share/classes/java/beans/ThreadGroupContext.java
new file mode 100644
index 0000000..dc1d38a
--- /dev/null
+++ b/jdk/src/share/classes/java/beans/ThreadGroupContext.java
@@ -0,0 +1,133 @@
+/*
+ * 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.
+ */
+
+package java.beans;
+
+import com.sun.beans.finder.BeanInfoFinder;
+import com.sun.beans.finder.PropertyEditorFinder;
+
+import java.awt.GraphicsEnvironment;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.WeakHashMap;
+
+/**
+ * The {@code ThreadGroupContext} is an application-dependent
+ * context referenced by the specific {@link ThreadGroup}.
+ * This is a replacement for the {@link sun.awt.AppContext}.
+ *
+ * @author Sergey Malenkov
+ */
+final class ThreadGroupContext {
+
+ private static final Map<ThreadGroup, ThreadGroupContext> contexts = new WeakHashMap<>();
+
+ /**
+ * Returns the appropriate {@code AppContext} for the caller,
+ * as determined by its {@code ThreadGroup}.
+ *
+ * @return the application-dependent context
+ */
+ static ThreadGroupContext getContext() {
+ ThreadGroup group = Thread.currentThread().getThreadGroup();
+ synchronized (contexts) {
+ ThreadGroupContext context = contexts.get(group);
+ if (context == null) {
+ context = new ThreadGroupContext();
+ contexts.put(group, context);
+ }
+ return context;
+ }
+ }
+
+ private volatile boolean isDesignTime;
+ private volatile Boolean isGuiAvailable;
+
+ private Map<Class<?>, BeanInfo> beanInfoCache;
+ private BeanInfoFinder beanInfoFinder;
+ private PropertyEditorFinder propertyEditorFinder;
+
+
+ boolean isDesignTime() {
+ return this.isDesignTime;
+ }
+
+ void setDesignTime(boolean isDesignTime) {
+ this.isDesignTime = isDesignTime;
+ }
+
+
+ boolean isGuiAvailable() {
+ Boolean isGuiAvailable = this.isGuiAvailable;
+ return (isGuiAvailable != null)
+ ? isGuiAvailable.booleanValue()
+ : !GraphicsEnvironment.isHeadless();
+ }
+
+ void setGuiAvailable(boolean isGuiAvailable) {
+ this.isGuiAvailable = Boolean.valueOf(isGuiAvailable);
+ }
+
+
+ BeanInfo getBeanInfo(Class<?> type) {
+ return (this.beanInfoCache != null)
+ ? this.beanInfoCache.get(type)
+ : null;
+ }
+
+ BeanInfo putBeanInfo(Class<?> type, BeanInfo info) {
+ if (this.beanInfoCache == null) {
+ this.beanInfoCache = new WeakHashMap<>();
+ }
+ return this.beanInfoCache.put(type, info);
+ }
+
+ void removeBeanInfo(Class<?> type) {
+ if (this.beanInfoCache != null) {
+ this.beanInfoCache.remove(type);
+ }
+ }
+
+ void clearBeanInfoCache() {
+ if (this.beanInfoCache != null) {
+ this.beanInfoCache.clear();
+ }
+ }
+
+
+ synchronized BeanInfoFinder getBeanInfoFinder() {
+ if (this.beanInfoFinder == null) {
+ this.beanInfoFinder = new BeanInfoFinder();
+ }
+ return this.beanInfoFinder;
+ }
+
+ synchronized PropertyEditorFinder getPropertyEditorFinder() {
+ if (this.propertyEditorFinder == null) {
+ this.propertyEditorFinder = new PropertyEditorFinder();
+ }
+ return this.propertyEditorFinder;
+ }
+}
diff --git a/jdk/src/share/classes/java/beans/VetoableChangeSupport.java b/jdk/src/share/classes/java/beans/VetoableChangeSupport.java
index 4cb8f3f..318abd2 100644
--- a/jdk/src/share/classes/java/beans/VetoableChangeSupport.java
+++ b/jdk/src/share/classes/java/beans/VetoableChangeSupport.java
@@ -420,7 +420,7 @@ public class VetoableChangeSupport implements Serializable {
listeners = entry.getValue();
} else {
if (children == null) {
- children = new Hashtable<String, VetoableChangeSupport>();
+ children = new Hashtable<>();
}
VetoableChangeSupport vcs = new VetoableChangeSupport(this.source);
vcs.map.set(null, entry.getValue());
@@ -449,7 +449,8 @@ public class VetoableChangeSupport implements Serializable {
ObjectInputStream.GetField fields = s.readFields();
- Hashtable<String, VetoableChangeSupport> children = (Hashtable<String, VetoableChangeSupport>) fields.get("children", null);
+ @SuppressWarnings("unchecked")
+ Hashtable<String, VetoableChangeSupport> children = (Hashtable<String, VetoableChangeSupport>)fields.get("children", null);
this.source = fields.get("source", null);
fields.get("vetoableChangeSupportSerializedDataVersion", 2);
diff --git a/jdk/src/share/classes/java/beans/XMLEncoder.java b/jdk/src/share/classes/java/beans/XMLEncoder.java
index 3866a63..21749e0 100644
--- a/jdk/src/share/classes/java/beans/XMLEncoder.java
+++ b/jdk/src/share/classes/java/beans/XMLEncoder.java
@@ -287,8 +287,8 @@ public class XMLEncoder extends Encoder implements AutoCloseable {
this.declaration = declaration;
this.indentation = indentation;
this.out = new OutputStreamWriter(out, cs.newEncoder());
- valueToExpression = new IdentityHashMap<Object, ValueData>();
- targetToStatementList = new IdentityHashMap<Object, List<Statement>>();
+ valueToExpression = new IdentityHashMap<>();
+ targetToStatementList = new IdentityHashMap<>();
nameGenerator = new NameGenerator();
}
@@ -334,7 +334,7 @@ public class XMLEncoder extends Encoder implements AutoCloseable {
private List<Statement> statementList(Object target) {
List<Statement> list = targetToStatementList.get(target);
if (list == null) {
- list = new ArrayList<Statement>();
+ list = new ArrayList<>();
targetToStatementList.put(target, list);
}
return list;
@@ -604,7 +604,7 @@ public class XMLEncoder extends Encoder implements AutoCloseable {
return;
}
- Class primitiveType = ReflectionUtils.primitiveTypeFor(value.getClass());
+ Class<?> primitiveType = ReflectionUtils.primitiveTypeFor(value.getClass());
if (primitiveType != null && target == value.getClass() &&
methodName.equals("new")) {
String primitiveTypeName = primitiveType.getName();
diff --git a/jdk/src/share/classes/java/beans/beancontext/BeanContext.java b/jdk/src/share/classes/java/beans/beancontext/BeanContext.java
index 37f15f9..c621728 100644
--- a/jdk/src/share/classes/java/beans/beancontext/BeanContext.java
+++ b/jdk/src/share/classes/java/beans/beancontext/BeanContext.java
@@ -53,6 +53,7 @@ import java.util.Locale;
* @see java.util.Collection
*/
+ at SuppressWarnings("rawtypes")
public interface BeanContext extends BeanContextChild, Collection, DesignMode, Visibility {
/**
diff --git a/jdk/src/share/classes/java/beans/beancontext/BeanContextMembershipEvent.java b/jdk/src/share/classes/java/beans/beancontext/BeanContextMembershipEvent.java
index 0ed013a..6b5f4f5 100644
--- a/jdk/src/share/classes/java/beans/beancontext/BeanContextMembershipEvent.java
+++ b/jdk/src/share/classes/java/beans/beancontext/BeanContextMembershipEvent.java
@@ -65,6 +65,7 @@ public class BeanContextMembershipEvent extends BeanContextEvent {
* @throws NullPointerException if <CODE>changes</CODE> is <CODE>null</CODE>
*/
+ @SuppressWarnings("rawtypes")
public BeanContextMembershipEvent(BeanContext bc, Collection changes) {
super(bc);
@@ -117,6 +118,7 @@ public class BeanContextMembershipEvent extends BeanContextEvent {
* Gets the array of children affected by this event.
* @return the array of children effected
*/
+ @SuppressWarnings("rawtypes")
public Iterator iterator() { return children.iterator(); }
/*
@@ -127,5 +129,6 @@ public class BeanContextMembershipEvent extends BeanContextEvent {
* The list of children affected by this
* event notification.
*/
+ @SuppressWarnings("rawtypes")
protected Collection children;
}
diff --git a/jdk/src/share/classes/java/io/ExpiringCache.java b/jdk/src/share/classes/java/io/ExpiringCache.java
index 8c07afb..42c9ce2 100644
--- a/jdk/src/share/classes/java/io/ExpiringCache.java
+++ b/jdk/src/share/classes/java/io/ExpiringCache.java
@@ -35,7 +35,7 @@ import java.util.Set;
class ExpiringCache {
private long millisUntilExpiration;
- private Map map;
+ private Map<String,Entry> map;
// Clear out old entries every few queries
private int queryCount;
private int queryOverflow = 300;
@@ -61,10 +61,11 @@ class ExpiringCache {
this(30000);
}
+ @SuppressWarnings("serial")
ExpiringCache(long millisUntilExpiration) {
this.millisUntilExpiration = millisUntilExpiration;
- map = new LinkedHashMap() {
- protected boolean removeEldestEntry(Map.Entry eldest) {
+ map = new LinkedHashMap<String,Entry>() {
+ protected boolean removeEldestEntry(Map.Entry<String,Entry> eldest) {
return size() > MAX_ENTRIES;
}
};
@@ -99,7 +100,7 @@ class ExpiringCache {
}
private Entry entryFor(String key) {
- Entry entry = (Entry) map.get(key);
+ Entry entry = map.get(key);
if (entry != null) {
long delta = System.currentTimeMillis() - entry.timestamp();
if (delta < 0 || delta >= millisUntilExpiration) {
@@ -111,12 +112,11 @@ class ExpiringCache {
}
private void cleanup() {
- Set keySet = map.keySet();
+ Set<String> keySet = map.keySet();
// Avoid ConcurrentModificationExceptions
String[] keys = new String[keySet.size()];
int i = 0;
- for (Iterator iter = keySet.iterator(); iter.hasNext(); ) {
- String key = (String) iter.next();
+ for (String key: keySet) {
keys[i++] = key;
}
for (int j = 0; j < keys.length; j++) {
diff --git a/jdk/src/share/classes/java/io/File.java b/jdk/src/share/classes/java/io/File.java
index 4b9d389..fba80c2 100644
--- a/jdk/src/share/classes/java/io/File.java
+++ b/jdk/src/share/classes/java/io/File.java
@@ -2006,7 +2006,7 @@ public class File
throws IOException
{
s.defaultWriteObject();
- s.writeChar(this.separatorChar); // Add the separator character
+ s.writeChar(separatorChar); // Add the separator character
}
/**
diff --git a/jdk/src/share/classes/java/io/FileInputStream.java b/jdk/src/share/classes/java/io/FileInputStream.java
index 9dc1955..d796bf0 100644
--- a/jdk/src/share/classes/java/io/FileInputStream.java
+++ b/jdk/src/share/classes/java/io/FileInputStream.java
@@ -124,7 +124,7 @@ class FileInputStream extends InputStream
throw new NullPointerException();
}
fd = new FileDescriptor();
- fd.incrementAndGetUseCount();
+ fd.attach(this);
open(name);
}
@@ -164,10 +164,9 @@ class FileInputStream extends InputStream
/*
* FileDescriptor is being shared by streams.
- * Ensure that it's GC'ed only when all the streams/channels are done
- * using it.
+ * Register this stream with FileDescriptor tracker.
*/
- fd.incrementAndGetUseCount();
+ fd.attach(this);
}
/**
@@ -294,27 +293,14 @@ class FileInputStream extends InputStream
closed = true;
}
if (channel != null) {
- /*
- * Decrement the FD use count associated with the channel
- * The use count is incremented whenever a new channel
- * is obtained from this stream.
- */
- fd.decrementAndGetUseCount();
channel.close();
}
- /*
- * Decrement the FD use count associated with this stream
- */
- int useCount = fd.decrementAndGetUseCount();
-
- /*
- * If FileDescriptor is still in use by another stream, we
- * will not close it.
- */
- if (useCount <= 0) {
- close0();
- }
+ fd.closeAll(new Closeable() {
+ public void close() throws IOException {
+ close0();
+ }
+ });
}
/**
@@ -328,7 +314,9 @@ class FileInputStream extends InputStream
* @see java.io.FileDescriptor
*/
public final FileDescriptor getFD() throws IOException {
- if (fd != null) return fd;
+ if (fd != null) {
+ return fd;
+ }
throw new IOException();
}
@@ -352,13 +340,6 @@ class FileInputStream extends InputStream
synchronized (this) {
if (channel == null) {
channel = FileChannelImpl.open(fd, true, false, this);
-
- /*
- * Increment fd's use count. Invoking the channel's close()
- * method will result in decrementing the use count set for
- * the channel.
- */
- fd.incrementAndGetUseCount();
}
return channel;
}
@@ -381,7 +362,12 @@ class FileInputStream extends InputStream
*/
protected void finalize() throws IOException {
if ((fd != null) && (fd != FileDescriptor.in)) {
- close();
+ /* if fd is shared, the references in FileDescriptor
+ * will ensure that finalizer is only called when
+ * safe to do so. All references using the fd have
+ * become unreachable. We can call close()
+ */
+ close();
}
}
}
diff --git a/jdk/src/share/classes/java/io/FileOutputStream.java b/jdk/src/share/classes/java/io/FileOutputStream.java
index 4a8a724..50bd29b 100644
--- a/jdk/src/share/classes/java/io/FileOutputStream.java
+++ b/jdk/src/share/classes/java/io/FileOutputStream.java
@@ -197,9 +197,9 @@ class FileOutputStream extends OutputStream
throw new NullPointerException();
}
this.fd = new FileDescriptor();
+ fd.attach(this);
this.append = append;
- fd.incrementAndGetUseCount();
open(name, append);
}
@@ -237,12 +237,7 @@ class FileOutputStream extends OutputStream
this.fd = fdObj;
this.append = false;
- /*
- * FileDescriptor is being shared by streams.
- * Ensure that it's GC'ed only when all the streams/channels are done
- * using it.
- */
- fd.incrementAndGetUseCount();
+ fd.attach(this);
}
/**
@@ -331,27 +326,14 @@ class FileOutputStream extends OutputStream
}
if (channel != null) {
- /*
- * Decrement FD use count associated with the channel
- * The use count is incremented whenever a new channel
- * is obtained from this stream.
- */
- fd.decrementAndGetUseCount();
channel.close();
}
- /*
- * Decrement FD use count associated with this stream
- */
- int useCount = fd.decrementAndGetUseCount();
-
- /*
- * If FileDescriptor is still in use by another stream, we
- * will not close it.
- */
- if (useCount <= 0) {
- close0();
- }
+ fd.closeAll(new Closeable() {
+ public void close() throws IOException {
+ close0();
+ }
+ });
}
/**
@@ -365,7 +347,9 @@ class FileOutputStream extends OutputStream
* @see java.io.FileDescriptor
*/
public final FileDescriptor getFD() throws IOException {
- if (fd != null) return fd;
+ if (fd != null) {
+ return fd;
+ }
throw new IOException();
}
@@ -390,13 +374,6 @@ class FileOutputStream extends OutputStream
synchronized (this) {
if (channel == null) {
channel = FileChannelImpl.open(fd, false, true, append, this);
-
- /*
- * Increment fd's use count. Invoking the channel's close()
- * method will result in decrementing the use count set for
- * the channel.
- */
- fd.incrementAndGetUseCount();
}
return channel;
}
@@ -415,7 +392,12 @@ class FileOutputStream extends OutputStream
if (fd == FileDescriptor.out || fd == FileDescriptor.err) {
flush();
} else {
- close();
+ /* if fd is shared, the references in FileDescriptor
+ * will ensure that finalizer is only called when
+ * safe to do so. All references using the fd have
+ * become unreachable. We can call close()
+ */
+ close();
}
}
}
diff --git a/jdk/src/share/classes/java/io/LineNumberInputStream.java b/jdk/src/share/classes/java/io/LineNumberInputStream.java
index d3b5d9b..11cfdf8 100644
--- a/jdk/src/share/classes/java/io/LineNumberInputStream.java
+++ b/jdk/src/share/classes/java/io/LineNumberInputStream.java
@@ -87,6 +87,7 @@ class LineNumberInputStream extends FilterInputStream {
* @see java.io.FilterInputStream#in
* @see java.io.LineNumberInputStream#getLineNumber()
*/
+ @SuppressWarnings("fallthrough")
public int read() throws IOException {
int c = pushBack;
diff --git a/jdk/src/share/classes/java/io/LineNumberReader.java b/jdk/src/share/classes/java/io/LineNumberReader.java
index 31f1e87..40a0272 100644
--- a/jdk/src/share/classes/java/io/LineNumberReader.java
+++ b/jdk/src/share/classes/java/io/LineNumberReader.java
@@ -120,6 +120,7 @@ public class LineNumberReader extends BufferedReader {
* @throws IOException
* If an I/O error occurs
*/
+ @SuppressWarnings("fallthrough")
public int read() throws IOException {
synchronized (lock) {
int c = super.read();
@@ -159,6 +160,7 @@ public class LineNumberReader extends BufferedReader {
* @throws IOException
* If an I/O error occurs
*/
+ @SuppressWarnings("fallthrough")
public int read(char cbuf[], int off, int len) throws IOException {
synchronized (lock) {
int n = super.read(cbuf, off, len);
diff --git a/jdk/src/share/classes/java/io/ObjectInputStream.java b/jdk/src/share/classes/java/io/ObjectInputStream.java
index 04705e6..1963187 100644
--- a/jdk/src/share/classes/java/io/ObjectInputStream.java
+++ b/jdk/src/share/classes/java/io/ObjectInputStream.java
@@ -689,9 +689,9 @@ public class ObjectInputStream
boolean hasNonPublicInterface = false;
// define proxy in class loader of non-public interface(s), if any
- Class[] classObjs = new Class[interfaces.length];
+ Class<?>[] classObjs = new Class<?>[interfaces.length];
for (int i = 0; i < interfaces.length; i++) {
- Class cl = Class.forName(interfaces[i], false, latestLoader);
+ Class<?> cl = Class.forName(interfaces[i], false, latestLoader);
if ((cl.getModifiers() & Modifier.PUBLIC) == 0) {
if (hasNonPublicInterface) {
if (nonPublicLoader != cl.getClassLoader()) {
@@ -1229,7 +1229,7 @@ public class ObjectInputStream
* "enableSubclassImplementation" SerializablePermission is checked.
*/
private void verifySubclass() {
- Class cl = getClass();
+ Class<?> cl = getClass();
if (cl == ObjectInputStream.class) {
return;
}
@@ -1473,12 +1473,12 @@ public class ObjectInputStream
* ClassNotFoundException will be associated with the class' handle in the
* handle table).
*/
- private Class readClass(boolean unshared) throws IOException {
+ private Class<?> readClass(boolean unshared) throws IOException {
if (bin.readByte() != TC_CLASS) {
throw new InternalError();
}
ObjectStreamClass desc = readClassDesc(false);
- Class cl = desc.forClass();
+ Class<?> cl = desc.forClass();
passHandle = handles.assign(unshared ? unsharedMarker : cl);
ClassNotFoundException resolveEx = desc.getResolveException();
@@ -1542,7 +1542,7 @@ public class ObjectInputStream
ifaces[i] = bin.readUTF();
}
- Class cl = null;
+ Class<?> cl = null;
ClassNotFoundException resolveEx = null;
bin.setBlockDataMode(true);
try {
@@ -1586,7 +1586,7 @@ public class ObjectInputStream
"failed to read class descriptor").initCause(ex);
}
- Class cl = null;
+ Class<?> cl = null;
ClassNotFoundException resolveEx = null;
bin.setBlockDataMode(true);
try {
@@ -1643,7 +1643,7 @@ public class ObjectInputStream
int len = bin.readInt();
Object array = null;
- Class cl, ccl = null;
+ Class<?> cl, ccl = null;
if ((cl = desc.forClass()) != null) {
ccl = cl.getComponentType();
array = Array.newInstance(ccl, len);
@@ -1696,7 +1696,7 @@ public class ObjectInputStream
* Reads in and returns enum constant, or null if enum type is
* unresolvable. Sets passHandle to enum constant's assigned handle.
*/
- private Enum readEnum(boolean unshared) throws IOException {
+ private Enum<?> readEnum(boolean unshared) throws IOException {
if (bin.readByte() != TC_ENUM) {
throw new InternalError();
}
@@ -1713,24 +1713,26 @@ public class ObjectInputStream
}
String name = readString(false);
- Enum en = null;
- Class cl = desc.forClass();
+ Enum<?> result = null;
+ Class<?> cl = desc.forClass();
if (cl != null) {
try {
- en = Enum.valueOf(cl, name);
+ @SuppressWarnings("unchecked")
+ Enum<?> en = Enum.valueOf((Class)cl, name);
+ result = en;
} catch (IllegalArgumentException ex) {
throw (IOException) new InvalidObjectException(
"enum constant " + name + " does not exist in " +
cl).initCause(ex);
}
if (!unshared) {
- handles.setObject(enumHandle, en);
+ handles.setObject(enumHandle, result);
}
}
handles.finish(enumHandle);
passHandle = enumHandle;
- return en;
+ return result;
}
/**
@@ -1941,7 +1943,7 @@ public class ObjectInputStream
throws IOException
{
// REMIND: is isInstance check necessary?
- Class cl = desc.forClass();
+ Class<?> cl = desc.forClass();
if (cl != null && obj != null && !cl.isInstance(obj)) {
throw new ClassCastException();
}
@@ -2140,7 +2142,7 @@ public class ObjectInputStream
* class descriptor, returns -1. Throws IllegalArgumentException if
* neither incoming nor local class descriptor contains a match.
*/
- private int getFieldOffset(String name, Class type) {
+ private int getFieldOffset(String name, Class<?> type) {
ObjectStreamField field = desc.getField(name, type);
if (field != null) {
return field.getOffset();
@@ -2838,6 +2840,7 @@ public class ObjectInputStream
return readUTFBody(readUnsignedShort());
}
+ @SuppressWarnings("deprecation")
public String readLine() throws IOException {
return din.readLine(); // deprecated, not worth optimizing
}
diff --git a/jdk/src/share/classes/java/io/ObjectOutputStream.java b/jdk/src/share/classes/java/io/ObjectOutputStream.java
index 76a08f3..52e590f 100644
--- a/jdk/src/share/classes/java/io/ObjectOutputStream.java
+++ b/jdk/src/share/classes/java/io/ObjectOutputStream.java
@@ -1034,7 +1034,7 @@ public class ObjectOutputStream
* "enableSubclassImplementation" SerializablePermission is checked.
*/
private void verifySubclass() {
- Class cl = getClass();
+ Class<?> cl = getClass();
if (cl == ObjectOutputStream.class) {
return;
}
@@ -1060,22 +1060,22 @@ public class ObjectOutputStream
* override security-sensitive non-final methods. Returns true if subclass
* is "safe", false otherwise.
*/
- private static boolean auditSubclass(final Class subcl) {
+ private static boolean auditSubclass(final Class<?> subcl) {
Boolean result = AccessController.doPrivileged(
new PrivilegedAction<Boolean>() {
public Boolean run() {
- for (Class cl = subcl;
+ for (Class<?> cl = subcl;
cl != ObjectOutputStream.class;
cl = cl.getSuperclass())
{
try {
cl.getDeclaredMethod(
- "writeUnshared", new Class[] { Object.class });
+ "writeUnshared", new Class<?>[] { Object.class });
return Boolean.FALSE;
} catch (NoSuchMethodException ex) {
}
try {
- cl.getDeclaredMethod("putFields", (Class[]) null);
+ cl.getDeclaredMethod("putFields", (Class<?>[]) null);
return Boolean.FALSE;
} catch (NoSuchMethodException ex) {
}
@@ -1122,11 +1122,11 @@ public class ObjectOutputStream
// check for replacement object
Object orig = obj;
- Class cl = obj.getClass();
+ Class<?> cl = obj.getClass();
ObjectStreamClass desc;
for (;;) {
// REMIND: skip this check for strings/arrays?
- Class repCl;
+ Class<?> repCl;
desc = ObjectStreamClass.lookup(cl, true);
if (!desc.hasWriteReplaceMethod() ||
(obj = desc.invokeWriteReplace(obj)) == null ||
@@ -1169,7 +1169,7 @@ public class ObjectOutputStream
} else if (cl.isArray()) {
writeArray(obj, desc, unshared);
} else if (obj instanceof Enum) {
- writeEnum((Enum) obj, desc, unshared);
+ writeEnum((Enum<?>) obj, desc, unshared);
} else if (obj instanceof Serializable) {
writeOrdinaryObject(obj, desc, unshared);
} else {
@@ -1204,7 +1204,7 @@ public class ObjectOutputStream
/**
* Writes representation of given class to stream.
*/
- private void writeClass(Class cl, boolean unshared) throws IOException {
+ private void writeClass(Class<?> cl, boolean unshared) throws IOException {
bout.writeByte(TC_CLASS);
writeClassDesc(ObjectStreamClass.lookup(cl, true), false);
handles.assign(unshared ? null : cl);
@@ -1237,7 +1237,7 @@ public class ObjectOutputStream
bout.writeByte(TC_PROXYCLASSDESC);
handles.assign(unshared ? null : desc);
- Class cl = desc.forClass();
+ Class<?> cl = desc.forClass();
Class[] ifaces = cl.getInterfaces();
bout.writeInt(ifaces.length);
for (int i = 0; i < ifaces.length; i++) {
@@ -1269,7 +1269,7 @@ public class ObjectOutputStream
writeClassDescriptor(desc);
}
- Class cl = desc.forClass();
+ Class<?> cl = desc.forClass();
bout.setBlockDataMode(true);
annotateClass(cl);
bout.setBlockDataMode(false);
@@ -1306,7 +1306,7 @@ public class ObjectOutputStream
writeClassDesc(desc, false);
handles.assign(unshared ? null : array);
- Class ccl = desc.forClass().getComponentType();
+ Class<?> ccl = desc.forClass().getComponentType();
if (ccl.isPrimitive()) {
if (ccl == Integer.TYPE) {
int[] ia = (int[]) array;
@@ -1377,7 +1377,7 @@ public class ObjectOutputStream
/**
* Writes given enum constant to stream.
*/
- private void writeEnum(Enum en,
+ private void writeEnum(Enum<?> en,
ObjectStreamClass desc,
boolean unshared)
throws IOException
@@ -1700,7 +1700,7 @@ public class ObjectOutputStream
* types, and any other non-null type matches assignable types only.
* Throws IllegalArgumentException if no matching field found.
*/
- private int getFieldOffset(String name, Class type) {
+ private int getFieldOffset(String name, Class<?> type) {
ObjectStreamField field = desc.getField(name, type);
if (field == null) {
throw new IllegalArgumentException("no such field " + name +
diff --git a/jdk/src/share/classes/java/io/ObjectStreamClass.java b/jdk/src/share/classes/java/io/ObjectStreamClass.java
index f1c0d5b..1a03b6b 100644
--- a/jdk/src/share/classes/java/io/ObjectStreamClass.java
+++ b/jdk/src/share/classes/java/io/ObjectStreamClass.java
@@ -144,7 +144,7 @@ public class ObjectStreamClass implements Serializable {
private volatile ClassDataSlot[] dataLayout;
/** serialization-appropriate constructor, or null if none */
- private Constructor cons;
+ private Constructor<?> cons;
/** class-defined writeObject method, or null if none */
private Method writeObjectMethod;
/** class-defined readObject method, or null if none */
@@ -1308,9 +1308,9 @@ public class ObjectStreamClass implements Serializable {
* Access checks are disabled on the returned constructor (if any), since
* the defining class may still be non-public.
*/
- private static Constructor getExternalizableConstructor(Class<?> cl) {
+ private static Constructor<?> getExternalizableConstructor(Class<?> cl) {
try {
- Constructor cons = cl.getDeclaredConstructor((Class<?>[]) null);
+ Constructor<?> cons = cl.getDeclaredConstructor((Class<?>[]) null);
cons.setAccessible(true);
return ((cons.getModifiers() & Modifier.PUBLIC) != 0) ?
cons : null;
@@ -1324,7 +1324,7 @@ public class ObjectStreamClass implements Serializable {
* superclass, or null if none found. Access checks are disabled on the
* returned constructor (if any).
*/
- private static Constructor getSerializableConstructor(Class<?> cl) {
+ private static Constructor<?> getSerializableConstructor(Class<?> cl) {
Class<?> initCl = cl;
while (Serializable.class.isAssignableFrom(initCl)) {
if ((initCl = initCl.getSuperclass()) == null) {
@@ -1332,7 +1332,7 @@ public class ObjectStreamClass implements Serializable {
}
}
try {
- Constructor cons = initCl.getDeclaredConstructor((Class<?>[]) null);
+ Constructor<?> cons = initCl.getDeclaredConstructor((Class<?>[]) null);
int mods = cons.getModifiers();
if ((mods & Modifier.PRIVATE) != 0 ||
((mods & (Modifier.PUBLIC | Modifier.PROTECTED)) == 0 &&
@@ -1802,7 +1802,7 @@ public class ObjectStreamClass implements Serializable {
signature = getClassSignature(field.getType());
}
- public MemberSignature(Constructor cons) {
+ public MemberSignature(Constructor<?> cons) {
member = cons;
name = cons.getName();
signature = getMethodSignature(
diff --git a/jdk/src/share/classes/java/io/RandomAccessFile.java b/jdk/src/share/classes/java/io/RandomAccessFile.java
index a2863c5..893fc94 100644
--- a/jdk/src/share/classes/java/io/RandomAccessFile.java
+++ b/jdk/src/share/classes/java/io/RandomAccessFile.java
@@ -229,7 +229,7 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable {
throw new NullPointerException();
}
fd = new FileDescriptor();
- fd.incrementAndGetUseCount();
+ fd.attach(this);
open(name, imode);
}
@@ -242,7 +242,9 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable {
* @see java.io.FileDescriptor
*/
public final FileDescriptor getFD() throws IOException {
- if (fd != null) return fd;
+ if (fd != null) {
+ return fd;
+ }
throw new IOException();
}
@@ -268,17 +270,6 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable {
synchronized (this) {
if (channel == null) {
channel = FileChannelImpl.open(fd, true, rw, this);
-
- /*
- * FileDescriptor could be shared by FileInputStream or
- * FileOutputStream.
- * Ensure that FD is GC'ed only when all the streams/channels
- * are done using it.
- * Increment fd's use count. Invoking the channel's close()
- * method will result in decrementing the use count set for
- * the channel.
- */
- fd.incrementAndGetUseCount();
}
return channel;
}
@@ -577,28 +568,14 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable {
closed = true;
}
if (channel != null) {
- /*
- * Decrement FD use count associated with the channel. The FD use
- * count is incremented whenever a new channel is obtained from
- * this stream.
- */
- fd.decrementAndGetUseCount();
channel.close();
}
- /*
- * Decrement FD use count associated with this stream.
- * The count got incremented by FileDescriptor during its construction.
- */
- int useCount = fd.decrementAndGetUseCount();
-
- /*
- * If FileDescriptor is still in use by another stream, we
- * will not close it.
- */
- if (useCount <= 0) {
- close0();
- }
+ fd.closeAll(new Closeable() {
+ public void close() throws IOException {
+ close0();
+ }
+ });
}
//
@@ -1072,6 +1049,7 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable {
* @param s a string of bytes to be written.
* @exception IOException if an I/O error occurs.
*/
+ @SuppressWarnings("deprecation")
public final void writeBytes(String s) throws IOException {
int len = s.length();
byte[] b = new byte[len];
diff --git a/jdk/src/share/classes/java/io/SequenceInputStream.java b/jdk/src/share/classes/java/io/SequenceInputStream.java
index f64ec38..efc3af7 100644
--- a/jdk/src/share/classes/java/io/SequenceInputStream.java
+++ b/jdk/src/share/classes/java/io/SequenceInputStream.java
@@ -44,7 +44,7 @@ import java.util.Vector;
*/
public
class SequenceInputStream extends InputStream {
- Enumeration e;
+ Enumeration<? extends InputStream> e;
InputStream in;
/**
@@ -85,7 +85,7 @@ class SequenceInputStream extends InputStream {
* @param s2 the second input stream to read.
*/
public SequenceInputStream(InputStream s1, InputStream s2) {
- Vector v = new Vector(2);
+ Vector<InputStream> v = new Vector<>(2);
v.addElement(s1);
v.addElement(s2);
diff --git a/jdk/src/share/classes/java/io/Writer.java b/jdk/src/share/classes/java/io/Writer.java
index f0c6db4..fcab562 100644
--- a/jdk/src/share/classes/java/io/Writer.java
+++ b/jdk/src/share/classes/java/io/Writer.java
@@ -57,7 +57,7 @@ public abstract class Writer implements Appendable, Closeable, Flushable {
/**
* Size of writeBuffer, must be >= 1
*/
- private final int writeBufferSize = 1024;
+ private static final int WRITE_BUFFER_SIZE = 1024;
/**
* The object used to synchronize operations on this stream. For
@@ -107,7 +107,7 @@ public abstract class Writer implements Appendable, Closeable, Flushable {
public void write(int c) throws IOException {
synchronized (lock) {
if (writeBuffer == null){
- writeBuffer = new char[writeBufferSize];
+ writeBuffer = new char[WRITE_BUFFER_SIZE];
}
writeBuffer[0] = (char) c;
write(writeBuffer, 0, 1);
@@ -180,9 +180,9 @@ public abstract class Writer implements Appendable, Closeable, Flushable {
public void write(String str, int off, int len) throws IOException {
synchronized (lock) {
char cbuf[];
- if (len <= writeBufferSize) {
+ if (len <= WRITE_BUFFER_SIZE) {
if (writeBuffer == null) {
- writeBuffer = new char[writeBufferSize];
+ writeBuffer = new char[WRITE_BUFFER_SIZE];
}
cbuf = writeBuffer;
} else { // Don't permanently allocate very large buffers.
diff --git a/jdk/src/share/classes/java/lang/AssertionError.java b/jdk/src/share/classes/java/lang/AssertionError.java
index 984c3e4..926f711 100644
--- a/jdk/src/share/classes/java/lang/AssertionError.java
+++ b/jdk/src/share/classes/java/lang/AssertionError.java
@@ -71,7 +71,7 @@ public class AssertionError extends Error {
* @see Throwable#getCause()
*/
public AssertionError(Object detailMessage) {
- this("" + detailMessage);
+ this(String.valueOf(detailMessage));
if (detailMessage instanceof Throwable)
initCause((Throwable) detailMessage);
}
@@ -85,7 +85,7 @@ public class AssertionError extends Error {
* @param detailMessage value to be used in constructing detail message
*/
public AssertionError(boolean detailMessage) {
- this("" + detailMessage);
+ this(String.valueOf(detailMessage));
}
/**
@@ -97,7 +97,7 @@ public class AssertionError extends Error {
* @param detailMessage value to be used in constructing detail message
*/
public AssertionError(char detailMessage) {
- this("" + detailMessage);
+ this(String.valueOf(detailMessage));
}
/**
@@ -109,7 +109,7 @@ public class AssertionError extends Error {
* @param detailMessage value to be used in constructing detail message
*/
public AssertionError(int detailMessage) {
- this("" + detailMessage);
+ this(String.valueOf(detailMessage));
}
/**
@@ -121,7 +121,7 @@ public class AssertionError extends Error {
* @param detailMessage value to be used in constructing detail message
*/
public AssertionError(long detailMessage) {
- this("" + detailMessage);
+ this(String.valueOf(detailMessage));
}
/**
@@ -133,7 +133,7 @@ public class AssertionError extends Error {
* @param detailMessage value to be used in constructing detail message
*/
public AssertionError(float detailMessage) {
- this("" + detailMessage);
+ this(String.valueOf(detailMessage));
}
/**
@@ -145,7 +145,7 @@ public class AssertionError extends Error {
* @param detailMessage value to be used in constructing detail message
*/
public AssertionError(double detailMessage) {
- this("" + detailMessage);
+ this(String.valueOf(detailMessage));
}
/**
diff --git a/jdk/src/share/classes/java/lang/Boolean.java b/jdk/src/share/classes/java/lang/Boolean.java
index 9bf79a3..feb1994 100644
--- a/jdk/src/share/classes/java/lang/Boolean.java
+++ b/jdk/src/share/classes/java/lang/Boolean.java
@@ -60,7 +60,8 @@ public final class Boolean implements java.io.Serializable,
*
* @since JDK1.1
*/
- public static final Class<Boolean> TYPE = Class.getPrimitiveClass("boolean");
+ @SuppressWarnings("unchecked")
+ public static final Class<Boolean> TYPE = (Class<Boolean>) Class.getPrimitiveClass("boolean");
/**
* The value of the Boolean.
diff --git a/jdk/src/share/classes/java/lang/Byte.java b/jdk/src/share/classes/java/lang/Byte.java
index cb260f8..4c0b1c2 100644
--- a/jdk/src/share/classes/java/lang/Byte.java
+++ b/jdk/src/share/classes/java/lang/Byte.java
@@ -59,6 +59,7 @@ public final class Byte extends Number implements Comparable<Byte> {
* The {@code Class} instance representing the primitive type
* {@code byte}.
*/
+ @SuppressWarnings("unchecked")
public static final Class<Byte> TYPE = (Class<Byte>) Class.getPrimitiveClass("byte");
/**
diff --git a/jdk/src/share/classes/java/lang/Character.java b/jdk/src/share/classes/java/lang/Character.java
index 216098b..c03896d 100644
--- a/jdk/src/share/classes/java/lang/Character.java
+++ b/jdk/src/share/classes/java/lang/Character.java
@@ -172,7 +172,7 @@ class Character implements java.io.Serializable, Comparable<Character> {
* @since 1.1
*/
@SuppressWarnings("unchecked")
- public static final Class<Character> TYPE = Class.getPrimitiveClass("char");
+ public static final Class<Character> TYPE = (Class<Character>) Class.getPrimitiveClass("char");
/*
* Normative general types
diff --git a/jdk/src/share/classes/java/lang/CharacterName.java b/jdk/src/share/classes/java/lang/CharacterName.java
index a2d8463..b8e66e3 100644
--- a/jdk/src/share/classes/java/lang/CharacterName.java
+++ b/jdk/src/share/classes/java/lang/CharacterName.java
@@ -101,6 +101,8 @@ class CharacterName {
if (lookup[cp>>8] == null ||
(off = lookup[cp>>8][cp&0xff]) == 0)
return null;
- return new String(strPool, 0, off >>> 8, off & 0xff); // ASCII
+ @SuppressWarnings("deprecation")
+ String result = new String(strPool, 0, off >>> 8, off & 0xff); // ASCII
+ return result;
}
}
diff --git a/jdk/src/share/classes/java/lang/Class.java b/jdk/src/share/classes/java/lang/Class.java
index e6c709c..30d5df9 100644
--- a/jdk/src/share/classes/java/lang/Class.java
+++ b/jdk/src/share/classes/java/lang/Class.java
@@ -642,6 +642,7 @@ public final class Class<T>
* <cite>The Java™ Virtual Machine Specification</cite>
* @since 1.5
*/
+ @SuppressWarnings("unchecked")
public TypeVariable<Class<T>>[] getTypeParameters() {
if (getGenericSignature() != null)
return (TypeVariable<Class<T>>[])getGenericInfo().getTypeParameters();
@@ -1314,7 +1315,7 @@ public final class Class<T>
return java.security.AccessController.doPrivileged(
new java.security.PrivilegedAction<Class<?>[]>() {
- public Class[] run() {
+ public Class<?>[] run() {
List<Class<?>> list = new ArrayList<>();
Class<?> currentClass = Class.this;
while (currentClass != null) {
@@ -1326,7 +1327,7 @@ public final class Class<T>
}
currentClass = currentClass.getSuperclass();
}
- return list.toArray(new Class[0]);
+ return list.toArray(new Class<?>[0]);
}
});
}
@@ -2161,7 +2162,7 @@ public final class Class<T>
* Return the Virtual Machine's Class object for the named
* primitive type.
*/
- static native Class getPrimitiveClass(String name);
+ static native Class<?> getPrimitiveClass(String name);
/*
@@ -2406,7 +2407,9 @@ public final class Class<T>
}
// No cached value available; request value from VM
if (isInterface()) {
- res = new Constructor[0];
+ @SuppressWarnings("unchecked")
+ Constructor<T>[] temporaryRes = (Constructor<T>[]) new Constructor<?>[0];
+ res = temporaryRes;
} else {
res = getDeclaredConstructors0(publicOnly);
}
@@ -2962,7 +2965,9 @@ public final class Class<T>
return null;
}
});
- enumConstants = (T[])values.invoke(null);
+ @SuppressWarnings("unchecked")
+ T[] temporaryConstants = (T[])values.invoke(null);
+ enumConstants = temporaryConstants;
}
// These can happen when users concoct enum-like classes
// that don't comply with the enum spec.
@@ -3007,6 +3012,7 @@ public final class Class<T>
*
* @since 1.5
*/
+ @SuppressWarnings("unchecked")
public T cast(Object obj) {
if (obj != null && !isInstance(obj))
throw new ClassCastException(cannotCastMsg(obj));
@@ -3019,7 +3025,7 @@ public final class Class<T>
/**
* Casts this {@code Class} object to represent a subclass of the class
- * represented by the specified class object. Checks that that the cast
+ * represented by the specified class object. Checks that the cast
* is valid, and throws a {@code ClassCastException} if it is not. If
* this method succeeds, it always returns a reference to this class object.
*
@@ -3037,6 +3043,7 @@ public final class Class<T>
* the class itself).
* @since 1.5
*/
+ @SuppressWarnings("unchecked")
public <U> Class<? extends U> asSubclass(Class<U> clazz) {
if (clazz.isAssignableFrom(this))
return (Class<? extends U>) this;
@@ -3048,6 +3055,7 @@ public final class Class<T>
* @throws NullPointerException {@inheritDoc}
* @since 1.5
*/
+ @SuppressWarnings("unchecked")
public <A extends Annotation> A getAnnotation(Class<A> annotationClass) {
if (annotationClass == null)
throw new NullPointerException();
@@ -3122,6 +3130,10 @@ public final class Class<T>
return annotationType;
}
+ /* Backing store of user-defined values pertaining to this class.
+ * Maintained by the ClassValue class.
+ */
+ transient ClassValue.ClassValueMap classValueMap;
// -- Modules --
private Module module;
diff --git a/jdk/src/share/classes/java/lang/ClassLoader.java b/jdk/src/share/classes/java/lang/ClassLoader.java
index 994d399..ea7b9f9 100644
--- a/jdk/src/share/classes/java/lang/ClassLoader.java
+++ b/jdk/src/share/classes/java/lang/ClassLoader.java
@@ -258,7 +258,7 @@ public abstract class ClassLoader {
private final Set<ProtectionDomain> domains;
// Invoked by the VM to record every loaded class with this loader.
- void addClass(Class c) {
+ void addClass(Class<?> c) {
classes.addElement(c);
}
@@ -402,7 +402,7 @@ public abstract class ClassLoader {
{
synchronized (getClassLoadingLock(name)) {
// First, check if the class has already been loaded
- Class c = findLoadedClass(name);
+ Class<?> c = findLoadedClass(name);
if (c == null) {
long t0 = System.nanoTime();
try {
@@ -468,7 +468,7 @@ public abstract class ClassLoader {
}
// This method is invoked by the virtual machine to load a class.
- private Class loadClassInternal(String name)
+ private Class<?> loadClassInternal(String name)
throws ClassNotFoundException
{
// For backward compatibility, explicitly lock on 'this' when
@@ -483,7 +483,7 @@ public abstract class ClassLoader {
}
// Invoked by the VM after loading class with this loader.
- private void checkPackageAccess(Class cls, ProtectionDomain pd) {
+ private void checkPackageAccess(Class<?> cls, ProtectionDomain pd) {
final SecurityManager sm = System.getSecurityManager();
if (sm != null) {
final String name = cls.getName();
@@ -669,9 +669,9 @@ public abstract class ClassLoader {
return source;
}
- private Class defineTransformedClass(String name, byte[] b, int off, int len,
- ProtectionDomain pd,
- ClassFormatError cfe, String source)
+ private Class<?> defineTransformedClass(String name, byte[] b, int off, int len,
+ ProtectionDomain pd,
+ ClassFormatError cfe, String source)
throws ClassFormatError
{
// Class format error - try to transform the bytecode and
@@ -679,7 +679,7 @@ public abstract class ClassLoader {
//
ClassFileTransformer[] transformers =
ClassFileTransformer.getTransformers();
- Class c = null;
+ Class<?> c = null;
if (transformers != null) {
for (ClassFileTransformer transformer : transformers) {
@@ -704,7 +704,7 @@ public abstract class ClassLoader {
return c;
}
- private void postDefineClass(Class c, ProtectionDomain pd)
+ private void postDefineClass(Class<?> c, ProtectionDomain pd)
{
if (pd.getCodeSource() != null) {
Certificate certs[] = pd.getCodeSource().getCertificates();
@@ -784,7 +784,7 @@ public abstract class ClassLoader {
{
protectionDomain = preDefineClass(name, protectionDomain);
- Class c = null;
+ Class<?> c = null;
String source = defineClassSourceLocation(protectionDomain);
try {
@@ -882,7 +882,7 @@ public abstract class ClassLoader {
protectionDomain = preDefineClass(name, protectionDomain);
- Class c = null;
+ Class<?> c = null;
String source = defineClassSourceLocation(protectionDomain);
try {
@@ -899,15 +899,15 @@ public abstract class ClassLoader {
return c;
}
- private native Class defineClass0(String name, byte[] b, int off, int len,
- ProtectionDomain pd);
+ private native Class<?> defineClass0(String name, byte[] b, int off, int len,
+ ProtectionDomain pd);
- private native Class defineClass1(String name, byte[] b, int off, int len,
- ProtectionDomain pd, String source);
+ private native Class<?> defineClass1(String name, byte[] b, int off, int len,
+ ProtectionDomain pd, String source);
- private native Class defineClass2(String name, java.nio.ByteBuffer b,
- int off, int len, ProtectionDomain pd,
- String source);
+ private native Class<?> defineClass2(String name, java.nio.ByteBuffer b,
+ int off, int len, ProtectionDomain pd,
+ String source);
// true if the name is null or has the potential to be a valid binary name
private boolean checkName(String name) {
@@ -1010,7 +1010,7 @@ public abstract class ClassLoader {
resolveClass0(c);
}
- private native void resolveClass0(Class c);
+ private native void resolveClass0(Class<?> c);
/**
* Finds a class with the specified <a href="#name">binary name</a>,
@@ -1041,7 +1041,7 @@ public abstract class ClassLoader {
if (system == null) {
if (!checkName(name))
throw new ClassNotFoundException(name);
- Class cls = findBootstrapClass(name);
+ Class<?> cls = findBootstrapClass(name);
if (cls == null) {
throw new ClassNotFoundException(name);
}
@@ -1080,14 +1080,14 @@ public abstract class ClassLoader {
* Returns a class loaded by the bootstrap class loader;
* or return null if not found.
*/
- private Class findBootstrapClassOrNull(String name)
+ private Class<?> findBootstrapClassOrNull(String name)
{
if (!checkName(name)) return null;
return findBootstrapClass(name);
}
// return null if not found
- private native Class findBootstrapClass(String name);
+ private native Class<?> findBootstrapClass(String name);
/**
* Returns the class with the given <a href="#name">binary name</a> if this
@@ -1109,7 +1109,7 @@ public abstract class ClassLoader {
return findLoadedClass0(name);
}
- private native final Class findLoadedClass0(String name);
+ private native final Class<?> findLoadedClass0(String name);
/**
* Sets the signers of a class. This should be invoked after defining a
@@ -1192,7 +1192,8 @@ public abstract class ClassLoader {
* @since 1.2
*/
public Enumeration<URL> getResources(String name) throws IOException {
- Enumeration[] tmp = new Enumeration[2];
+ @SuppressWarnings("unchecked")
+ Enumeration<URL>[] tmp = (Enumeration<URL>[]) new Enumeration<?>[2];
if (parent != null) {
tmp[0] = parent.getResources(name);
} else {
@@ -1575,7 +1576,7 @@ public abstract class ClassLoader {
// invocation and the desired invoker.
static ClassLoader getCallerClassLoader() {
// NOTE use of more generic Reflection.getCallerClass()
- Class caller = Reflection.getCallerClass(3);
+ Class<?> caller = Reflection.getCallerClass(3);
// This can be null if the VM is requesting it
if (caller == null) {
return null;
@@ -1769,7 +1770,7 @@ public abstract class ClassLoader {
private int jniVersion;
// the class from which the library is loaded, also indicates
// the loader this native library belongs.
- private Class fromClass;
+ private Class<?> fromClass;
// the canonicalized name of the native library.
String name;
@@ -1777,7 +1778,7 @@ public abstract class ClassLoader {
native long find(String name);
native void unload();
- public NativeLibrary(Class fromClass, String name) {
+ public NativeLibrary(Class<?> fromClass, String name) {
this.name = name;
this.fromClass = fromClass;
}
@@ -1805,7 +1806,7 @@ public abstract class ClassLoader {
}
// Invoked in the VM to determine the context class in
// JNI_Load/JNI_Unload
- static Class getFromClass() {
+ static Class<?> getFromClass() {
return ClassLoader.nativeLibraryContext.peek().fromClass;
}
}
@@ -1860,7 +1861,7 @@ public abstract class ClassLoader {
}
// Invoked in the java.lang.Runtime class to implement load and loadLibrary.
- static void loadLibrary(Class fromClass, String name,
+ static void loadLibrary(Class<?> fromClass, String name,
boolean isAbsolute) {
ClassLoader loader =
(fromClass == null) ? null : fromClass.getClassLoader();
@@ -1907,7 +1908,7 @@ public abstract class ClassLoader {
throw new UnsatisfiedLinkError("no " + name + " in java.library.path");
}
- private static boolean loadLibrary0(Class fromClass, final File file) {
+ private static boolean loadLibrary0(Class<?> fromClass, final File file) {
boolean exists = AccessController.doPrivileged(
new PrivilegedAction<Object>() {
public Object run() {
@@ -2241,8 +2242,8 @@ class SystemClassLoaderAction
return parent;
}
- Constructor ctor = Class.forName(cls, true, parent)
- .getDeclaredConstructor(new Class[] { ClassLoader.class });
+ Constructor<?> ctor = Class.forName(cls, true, parent)
+ .getDeclaredConstructor(new Class<?>[] { ClassLoader.class });
ClassLoader sys = (ClassLoader) ctor.newInstance(
new Object[] { parent });
Thread.currentThread().setContextClassLoader(sys);
diff --git a/jdk/src/share/classes/java/lang/ClassValue.java b/jdk/src/share/classes/java/lang/ClassValue.java
index 02cf34f..6a824bc 100644
--- a/jdk/src/share/classes/java/lang/ClassValue.java
+++ b/jdk/src/share/classes/java/lang/ClassValue.java
@@ -25,9 +25,14 @@
package java.lang;
+import java.lang.ClassValue.ClassValueMap;
import java.util.WeakHashMap;
+import java.lang.ref.WeakReference;
import java.util.concurrent.atomic.AtomicInteger;
+import static java.lang.ClassValue.ClassValueMap.probeHomeLocation;
+import static java.lang.ClassValue.ClassValueMap.probeBackupLocations;
+
/**
* Lazily associate a computed value with (potentially) every type.
* For example, if a dynamic language needs to construct a message dispatch
@@ -92,14 +97,22 @@ public abstract class ClassValue<T> {
* @see #computeValue
*/
public T get(Class<?> type) {
- ClassValueMap map = getMap(type);
- if (map != null) {
- Object x = map.get(this);
- if (x != null) {
- return (T) map.unmaskNull(x);
- }
- }
- return setComputedValue(type);
+ // non-racing this.hashCodeForCache : final int
+ Entry<?>[] cache;
+ Entry<T> e = probeHomeLocation(cache = getCacheCarefully(type), this);
+ // racing e : current value <=> stale value from current cache or from stale cache
+ // invariant: e is null or an Entry with readable Entry.version and Entry.value
+ if (match(e))
+ // invariant: No false positive matches. False negatives are OK if rare.
+ // The key fact that makes this work: if this.version == e.version,
+ // then this thread has a right to observe (final) e.value.
+ return e.value();
+ // The fast path can fail for any of these reasons:
+ // 1. no entry has been computed yet
+ // 2. hash code collision (before or after reduction mod cache.length)
+ // 3. an entry has been removed (either on this type or another)
+ // 4. the GC has somehow managed to delete e.version and clear the reference
+ return getFromBackup(cache, type);
}
/**
@@ -157,83 +170,582 @@ public abstract class ClassValue<T> {
*/
public void remove(Class<?> type) {
ClassValueMap map = getMap(type);
- if (map != null) {
- synchronized (map) {
- map.remove(this);
- }
- }
+ map.removeEntry(this);
}
+ // Possible functionality for JSR 292 MR 1
+ /*public*/ void put(Class<?> type, T value) {
+ ClassValueMap map = getMap(type);
+ map.changeEntry(this, value);
+ }
+
+ /// --------
/// Implementation...
- // FIXME: Use a data structure here similar that of ThreadLocal (7030453).
+ /// --------
+
+ /** Return the cache, if it exists, else a dummy empty cache. */
+ private static Entry<?>[] getCacheCarefully(Class<?> type) {
+ // racing type.classValueMap{.cacheArray} : null => new Entry[X] <=> new Entry[Y]
+ ClassValueMap map = type.classValueMap;
+ if (map == null) return EMPTY_CACHE;
+ Entry<?>[] cache = map.getCache();
+ return cache;
+ // invariant: returned value is safe to dereference and check for an Entry
+ }
+
+ /** Initial, one-element, empty cache used by all Class instances. Must never be filled. */
+ private static final Entry<?>[] EMPTY_CACHE = { null };
+
+ /**
+ * Slow tail of ClassValue.get to retry at nearby locations in the cache,
+ * or take a slow lock and check the hash table.
+ * Called only if the first probe was empty or a collision.
+ * This is a separate method, so compilers can process it independently.
+ */
+ private T getFromBackup(Entry<?>[] cache, Class<?> type) {
+ Entry<T> e = probeBackupLocations(cache, this);
+ if (e != null)
+ return e.value();
+ return getFromHashMap(type);
+ }
- private static final AtomicInteger STORE_BARRIER = new AtomicInteger();
+ // Hack to suppress warnings on the (T) cast, which is a no-op.
+ @SuppressWarnings("unchecked")
+ Entry<T> castEntry(Entry<?> e) { return (Entry<T>) e; }
- /** Slow path for {@link #get}. */
- private T setComputedValue(Class<?> type) {
+ /** Called when the fast path of get fails, and cache reprobe also fails.
+ */
+ private T getFromHashMap(Class<?> type) {
+ // The fail-safe recovery is to fall back to the underlying classValueMap.
ClassValueMap map = getMap(type);
- if (map == null) {
- map = initializeMap(type);
- }
- T value = computeValue(type);
- STORE_BARRIER.lazySet(0);
- // All stores pending from computeValue are completed.
- synchronized (map) {
- // Warm up the table with a null entry.
- map.preInitializeEntry(this);
- }
- STORE_BARRIER.lazySet(0);
- // All stores pending from table expansion are completed.
- synchronized (map) {
- value = (T) map.initializeEntry(this, value);
- // One might fear a possible race condition here
- // if the code for map.put has flushed the write
- // to map.table[*] before the writes to the Map.Entry
- // are done. This is not possible, since we have
- // warmed up the table with an empty entry.
- }
- return value;
+ for (;;) {
+ Entry<T> e = map.startEntry(this);
+ if (!e.isPromise())
+ return e.value();
+ try {
+ // Try to make a real entry for the promised version.
+ e = makeEntry(e.version(), computeValue(type));
+ } finally {
+ // Whether computeValue throws or returns normally,
+ // be sure to remove the empty entry.
+ e = map.finishEntry(this, e);
+ }
+ if (e != null)
+ return e.value();
+ // else try again, in case a racing thread called remove (so e == null)
+ }
+ }
+
+ /** Check that e is non-null, matches this ClassValue, and is live. */
+ boolean match(Entry<?> e) {
+ // racing e.version : null (blank) => unique Version token => null (GC-ed version)
+ // non-racing this.version : v1 => v2 => ... (updates are read faithfully from volatile)
+ return (e != null && e.get() == this.version);
+ // invariant: No false positives on version match. Null is OK for false negative.
+ // invariant: If version matches, then e.value is readable (final set in Entry.<init>)
+ }
+
+ /** Internal hash code for accessing Class.classValueMap.cacheArray. */
+ final int hashCodeForCache = nextHashCode.getAndAdd(HASH_INCREMENT) & HASH_MASK;
+
+ /** Value stream for hashCodeForCache. See similar structure in ThreadLocal. */
+ private static final AtomicInteger nextHashCode = new AtomicInteger();
+
+ /** Good for power-of-two tables. See similar structure in ThreadLocal. */
+ private static final int HASH_INCREMENT = 0x61c88647;
+
+ /** Mask a hash code to be positive but not too large, to prevent wraparound. */
+ static final int HASH_MASK = (-1 >>> 2);
+
+ /**
+ * Private key for retrieval of this object from ClassValueMap.
+ */
+ static class Identity {
}
+ /**
+ * This ClassValue's identity, expressed as an opaque object.
+ * The main object {@code ClassValue.this} is incorrect since
+ * subclasses may override {@code ClassValue.equals}, which
+ * could confuse keys in the ClassValueMap.
+ */
+ final Identity identity = new Identity();
- // Replace this map by a per-class slot.
- private static final WeakHashMap<Class<?>, ClassValueMap> ROOT
- = new WeakHashMap<Class<?>, ClassValueMap>();
+ /**
+ * Current version for retrieving this class value from the cache.
+ * Any number of computeValue calls can be cached in association with one version.
+ * But the version changes when a remove (on any type) is executed.
+ * A version change invalidates all cache entries for the affected ClassValue,
+ * by marking them as stale. Stale cache entries do not force another call
+ * to computeValue, but they do require a synchronized visit to a backing map.
+ * <p>
+ * All user-visible state changes on the ClassValue take place under
+ * a lock inside the synchronized methods of ClassValueMap.
+ * Readers (of ClassValue.get) are notified of such state changes
+ * when this.version is bumped to a new token.
+ * This variable must be volatile so that an unsynchronized reader
+ * will receive the notification without delay.
+ * <p>
+ * If version were not volatile, one thread T1 could persistently hold onto
+ * a stale value this.value == V1, while while another thread T2 advances
+ * (under a lock) to this.value == V2. This will typically be harmless,
+ * but if T1 and T2 interact causally via some other channel, such that
+ * T1's further actions are constrained (in the JMM) to happen after
+ * the V2 event, then T1's observation of V1 will be an error.
+ * <p>
+ * The practical effect of making this.version be volatile is that it cannot
+ * be hoisted out of a loop (by an optimizing JIT) or otherwise cached.
+ * Some machines may also require a barrier instruction to execute
+ * before this.version.
+ */
+ private volatile Version<T> version = new Version<>(this);
+ Version<T> version() { return version; }
+ void bumpVersion() { version = new Version<>(this); }
+ static class Version<T> {
+ private final ClassValue<T> classValue;
+ private final Entry<T> promise = new Entry<>(this);
+ Version(ClassValue<T> classValue) { this.classValue = classValue; }
+ ClassValue<T> classValue() { return classValue; }
+ Entry<T> promise() { return promise; }
+ boolean isLive() { return classValue.version() == this; }
+ }
+
+ /** One binding of a value to a class via a ClassValue.
+ * States are:<ul>
+ * <li> promise if value == Entry.this
+ * <li> else dead if version == null
+ * <li> else stale if version != classValue.version
+ * <li> else live </ul>
+ * Promises are never put into the cache; they only live in the
+ * backing map while a computeValue call is in flight.
+ * Once an entry goes stale, it can be reset at any time
+ * into the dead state.
+ */
+ static class Entry<T> extends WeakReference<Version<T>> {
+ final Object value; // usually of type T, but sometimes (Entry)this
+ Entry(Version<T> version, T value) {
+ super(version);
+ this.value = value; // for a regular entry, value is of type T
+ }
+ private void assertNotPromise() { assert(!isPromise()); }
+ /** For creating a promise. */
+ Entry(Version<T> version) {
+ super(version);
+ this.value = this; // for a promise, value is not of type T, but Entry!
+ }
+ /** Fetch the value. This entry must not be a promise. */
+ @SuppressWarnings("unchecked") // if !isPromise, type is T
+ T value() { assertNotPromise(); return (T) value; }
+ boolean isPromise() { return value == this; }
+ Version<T> version() { return get(); }
+ ClassValue<T> classValueOrNull() {
+ Version<T> v = version();
+ return (v == null) ? null : v.classValue();
+ }
+ boolean isLive() {
+ Version<T> v = version();
+ if (v == null) return false;
+ if (v.isLive()) return true;
+ clear();
+ return false;
+ }
+ Entry<T> refreshVersion(Version<T> v2) {
+ assertNotPromise();
+ @SuppressWarnings("unchecked") // if !isPromise, type is T
+ Entry<T> e2 = new Entry<>(v2, (T) value);
+ clear();
+ // value = null -- caller must drop
+ return e2;
+ }
+ static final Entry<?> DEAD_ENTRY = new Entry<>(null, null);
+ }
+ /** Return the backing map associated with this type. */
private static ClassValueMap getMap(Class<?> type) {
- type.getClass(); // test for null
- return ROOT.get(type);
+ // racing type.classValueMap : null (blank) => unique ClassValueMap
+ // if a null is observed, a map is created (lazily, synchronously, uniquely)
+ // all further access to that map is synchronized
+ ClassValueMap map = type.classValueMap;
+ if (map != null) return map;
+ return initializeMap(type);
}
+ private static final Object CRITICAL_SECTION = new Object();
private static ClassValueMap initializeMap(Class<?> type) {
- synchronized (ClassValue.class) {
- ClassValueMap map = ROOT.get(type);
- if (map == null)
- ROOT.put(type, map = new ClassValueMap());
+ ClassValueMap map;
+ synchronized (CRITICAL_SECTION) { // private object to avoid deadlocks
+ // happens about once per type
+ if ((map = type.classValueMap) == null)
+ type.classValueMap = map = new ClassValueMap(type);
+ }
return map;
}
+
+ static <T> Entry<T> makeEntry(Version<T> explicitVersion, T value) {
+ // Note that explicitVersion might be different from this.version.
+ return new Entry<>(explicitVersion, value);
+
+ // As soon as the Entry is put into the cache, the value will be
+ // reachable via a data race (as defined by the Java Memory Model).
+ // This race is benign, assuming the value object itself can be
+ // read safely by multiple threads. This is up to the user.
+ //
+ // The entry and version fields themselves can be safely read via
+ // a race because they are either final or have controlled states.
+ // If the pointer from the entry to the version is still null,
+ // or if the version goes immediately dead and is nulled out,
+ // the reader will take the slow path and retry under a lock.
}
- static class ClassValueMap extends WeakHashMap<ClassValue, Object> {
- /** Make sure this table contains an Entry for the given key, even if it is empty. */
- void preInitializeEntry(ClassValue key) {
- if (!this.containsKey(key))
- this.put(key, null);
- }
- /** Make sure this table contains a non-empty Entry for the given key. */
- Object initializeEntry(ClassValue key, Object value) {
- Object prior = this.get(key);
- if (prior != null) {
- return unmaskNull(prior);
+ // The following class could also be top level and non-public:
+
+ /** A backing map for all ClassValues, relative a single given type.
+ * Gives a fully serialized "true state" for each pair (ClassValue cv, Class type).
+ * Also manages an unserialized fast-path cache.
+ */
+ static class ClassValueMap extends WeakHashMap<ClassValue.Identity, Entry<?>> {
+ private final Class<?> type;
+ private Entry<?>[] cacheArray;
+ private int cacheLoad, cacheLoadLimit;
+
+ /** Number of entries initially allocated to each type when first used with any ClassValue.
+ * It would be pointless to make this much smaller than the Class and ClassValueMap objects themselves.
+ * Must be a power of 2.
+ */
+ private static final int INITIAL_ENTRIES = 32;
+
+ /** Build a backing map for ClassValues, relative the given type.
+ * Also, create an empty cache array and install it on the class.
+ */
+ ClassValueMap(Class<?> type) {
+ this.type = type;
+ sizeCache(INITIAL_ENTRIES);
+ }
+
+ Entry<?>[] getCache() { return cacheArray; }
+
+ /** Initiate a query. Store a promise (placeholder) if there is no value yet. */
+ synchronized
+ <T> Entry<T> startEntry(ClassValue<T> classValue) {
+ @SuppressWarnings("unchecked") // one map has entries for all value types <T>
+ Entry<T> e = (Entry<T>) get(classValue.identity);
+ Version<T> v = classValue.version();
+ if (e == null) {
+ e = v.promise();
+ // The presence of a promise means that a value is pending for v.
+ // Eventually, finishEntry will overwrite the promise.
+ put(classValue.identity, e);
+ // Note that the promise is never entered into the cache!
+ return e;
+ } else if (e.isPromise()) {
+ // Somebody else has asked the same question.
+ // Let the races begin!
+ if (e.version() != v) {
+ e = v.promise();
+ put(classValue.identity, e);
+ }
+ return e;
+ } else {
+ // there is already a completed entry here; report it
+ if (e.version() != v) {
+ // There is a stale but valid entry here; make it fresh again.
+ // Once an entry is in the hash table, we don't care what its version is.
+ e = e.refreshVersion(v);
+ put(classValue.identity, e);
+ }
+ // Add to the cache, to enable the fast path, next time.
+ checkCacheLoad();
+ addToCache(classValue, e);
+ return e;
+ }
+ }
+
+ /** Finish a query. Overwrite a matching placeholder. Drop stale incoming values. */
+ synchronized
+ <T> Entry<T> finishEntry(ClassValue<T> classValue, Entry<T> e) {
+ @SuppressWarnings("unchecked") // one map has entries for all value types <T>
+ Entry<T> e0 = (Entry<T>) get(classValue.identity);
+ if (e == e0) {
+ // We can get here during exception processing, unwinding from computeValue.
+ assert(e.isPromise());
+ remove(classValue.identity);
+ return null;
+ } else if (e0 != null && e0.isPromise() && e0.version() == e.version()) {
+ // If e0 matches the intended entry, there has not been a remove call
+ // between the previous startEntry and now. So now overwrite e0.
+ Version<T> v = classValue.version();
+ if (e.version() != v)
+ e = e.refreshVersion(v);
+ put(classValue.identity, e);
+ // Add to the cache, to enable the fast path, next time.
+ checkCacheLoad();
+ addToCache(classValue, e);
+ return e;
+ } else {
+ // Some sort of mismatch; caller must try again.
+ return null;
+ }
+ }
+
+ /** Remove an entry. */
+ synchronized
+ void removeEntry(ClassValue<?> classValue) {
+ // make all cache elements for this guy go stale:
+ if (remove(classValue.identity) != null) {
+ classValue.bumpVersion();
+ removeStaleEntries(classValue);
+ }
+ }
+
+ /** Change the value for an entry. */
+ synchronized
+ <T> void changeEntry(ClassValue<T> classValue, T value) {
+ @SuppressWarnings("unchecked") // one map has entries for all value types <T>
+ Entry<T> e0 = (Entry<T>) get(classValue.identity);
+ Version<T> version = classValue.version();
+ if (e0 != null) {
+ if (e0.version() == version && e0.value() == value)
+ // no value change => no version change needed
+ return;
+ classValue.bumpVersion();
+ removeStaleEntries(classValue);
+ }
+ Entry<T> e = makeEntry(version, value);
+ put(classValue.identity, e);
+ // Add to the cache, to enable the fast path, next time.
+ checkCacheLoad();
+ addToCache(classValue, e);
+ }
+
+ /// --------
+ /// Cache management.
+ /// --------
+
+ // Statics do not need synchronization.
+
+ /** Load the cache entry at the given (hashed) location. */
+ static Entry<?> loadFromCache(Entry<?>[] cache, int i) {
+ // non-racing cache.length : constant
+ // racing cache[i & (mask)] : null <=> Entry
+ return cache[i & (cache.length-1)];
+ // invariant: returned value is null or well-constructed (ready to match)
+ }
+
+ /** Look in the cache, at the home location for the given ClassValue. */
+ static <T> Entry<T> probeHomeLocation(Entry<?>[] cache, ClassValue<T> classValue) {
+ return classValue.castEntry(loadFromCache(cache, classValue.hashCodeForCache));
+ }
+
+ /** Given that first probe was a collision, retry at nearby locations. */
+ static <T> Entry<T> probeBackupLocations(Entry<?>[] cache, ClassValue<T> classValue) {
+ if (PROBE_LIMIT <= 0) return null;
+ // Probe the cache carefully, in a range of slots.
+ int mask = (cache.length-1);
+ int home = (classValue.hashCodeForCache & mask);
+ Entry<?> e2 = cache[home]; // victim, if we find the real guy
+ if (e2 == null) {
+ return null; // if nobody is at home, no need to search nearby
+ }
+ // assume !classValue.match(e2), but do not assert, because of races
+ int pos2 = -1;
+ for (int i = home + 1; i < home + PROBE_LIMIT; i++) {
+ Entry<?> e = cache[i & mask];
+ if (e == null) {
+ break; // only search within non-null runs
+ }
+ if (classValue.match(e)) {
+ // relocate colliding entry e2 (from cache[home]) to first empty slot
+ cache[home] = e;
+ if (pos2 >= 0) {
+ cache[i & mask] = Entry.DEAD_ENTRY;
+ } else {
+ pos2 = i;
+ }
+ cache[pos2 & mask] = ((entryDislocation(cache, pos2, e2) < PROBE_LIMIT)
+ ? e2 // put e2 here if it fits
+ : Entry.DEAD_ENTRY);
+ return classValue.castEntry(e);
+ }
+ // Remember first empty slot, if any:
+ if (!e.isLive() && pos2 < 0) pos2 = i;
}
- this.put(key, maskNull(value));
- return value;
+ return null;
}
- Object maskNull(Object x) {
- return x == null ? this : x;
+ /** How far out of place is e? */
+ private static int entryDislocation(Entry<?>[] cache, int pos, Entry<?> e) {
+ ClassValue<?> cv = e.classValueOrNull();
+ if (cv == null) return 0; // entry is not live!
+ int mask = (cache.length-1);
+ return (pos - cv.hashCodeForCache) & mask;
}
- Object unmaskNull(Object x) {
- return x == this ? null : x;
+
+ /// --------
+ /// Below this line all functions are private, and assume synchronized access.
+ /// --------
+
+ private void sizeCache(int length) {
+ assert((length & (length-1)) == 0); // must be power of 2
+ cacheLoad = 0;
+ cacheLoadLimit = (int) ((double) length * CACHE_LOAD_LIMIT / 100);
+ cacheArray = new Entry<?>[length];
}
+
+ /** Make sure the cache load stays below its limit, if possible. */
+ private void checkCacheLoad() {
+ if (cacheLoad >= cacheLoadLimit) {
+ reduceCacheLoad();
+ }
+ }
+ private void reduceCacheLoad() {
+ removeStaleEntries();
+ if (cacheLoad < cacheLoadLimit)
+ return; // win
+ Entry<?>[] oldCache = getCache();
+ if (oldCache.length > HASH_MASK)
+ return; // lose
+ sizeCache(oldCache.length * 2);
+ for (Entry<?> e : oldCache) {
+ if (e != null && e.isLive()) {
+ addToCache(e);
+ }
+ }
+ }
+
+ /** Remove stale entries in the given range.
+ * Should be executed under a Map lock.
+ */
+ private void removeStaleEntries(Entry<?>[] cache, int begin, int count) {
+ if (PROBE_LIMIT <= 0) return;
+ int mask = (cache.length-1);
+ int removed = 0;
+ for (int i = begin; i < begin + count; i++) {
+ Entry<?> e = cache[i & mask];
+ if (e == null || e.isLive())
+ continue; // skip null and live entries
+ Entry<?> replacement = null;
+ if (PROBE_LIMIT > 1) {
+ // avoid breaking up a non-null run
+ replacement = findReplacement(cache, i);
+ }
+ cache[i & mask] = replacement;
+ if (replacement == null) removed += 1;
+ }
+ cacheLoad = Math.max(0, cacheLoad - removed);
+ }
+
+ /** Clearing a cache slot risks disconnecting following entries
+ * from the head of a non-null run, which would allow them
+ * to be found via reprobes. Find an entry after cache[begin]
+ * to plug into the hole, or return null if none is needed.
+ */
+ private Entry<?> findReplacement(Entry<?>[] cache, int home1) {
+ Entry<?> replacement = null;
+ int haveReplacement = -1, replacementPos = 0;
+ int mask = (cache.length-1);
+ for (int i2 = home1 + 1; i2 < home1 + PROBE_LIMIT; i2++) {
+ Entry<?> e2 = cache[i2 & mask];
+ if (e2 == null) break; // End of non-null run.
+ if (!e2.isLive()) continue; // Doomed anyway.
+ int dis2 = entryDislocation(cache, i2, e2);
+ if (dis2 == 0) continue; // e2 already optimally placed
+ int home2 = i2 - dis2;
+ if (home2 <= home1) {
+ // e2 can replace entry at cache[home1]
+ if (home2 == home1) {
+ // Put e2 exactly where he belongs.
+ haveReplacement = 1;
+ replacementPos = i2;
+ replacement = e2;
+ } else if (haveReplacement <= 0) {
+ haveReplacement = 0;
+ replacementPos = i2;
+ replacement = e2;
+ }
+ // And keep going, so we can favor larger dislocations.
+ }
+ }
+ if (haveReplacement >= 0) {
+ if (cache[(replacementPos+1) & mask] != null) {
+ // Be conservative, to avoid breaking up a non-null run.
+ cache[replacementPos & mask] = (Entry<?>) Entry.DEAD_ENTRY;
+ } else {
+ cache[replacementPos & mask] = null;
+ cacheLoad -= 1;
+ }
+ }
+ return replacement;
+ }
+
+ /** Remove stale entries in the range near classValue. */
+ private void removeStaleEntries(ClassValue<?> classValue) {
+ removeStaleEntries(getCache(), classValue.hashCodeForCache, PROBE_LIMIT);
+ }
+
+ /** Remove all stale entries, everywhere. */
+ private void removeStaleEntries() {
+ Entry[] cache = getCache();
+ removeStaleEntries(cache, 0, cache.length + PROBE_LIMIT - 1);
+ }
+
+ /** Add the given entry to the cache, in its home location, unless it is out of date. */
+ private <T> void addToCache(Entry<T> e) {
+ ClassValue<T> classValue = e.classValueOrNull();
+ if (classValue != null)
+ addToCache(classValue, e);
+ }
+
+ /** Add the given entry to the cache, in its home location. */
+ private <T> void addToCache(ClassValue<T> classValue, Entry<T> e) {
+ if (PROBE_LIMIT <= 0) return; // do not fill cache
+ // Add e to the cache.
+ Entry<?>[] cache = getCache();
+ int mask = (cache.length-1);
+ int home = classValue.hashCodeForCache & mask;
+ Entry<?> e2 = placeInCache(cache, home, e, false);
+ if (e2 == null) return; // done
+ if (PROBE_LIMIT > 1) {
+ // try to move e2 somewhere else in his probe range
+ int dis2 = entryDislocation(cache, home, e2);
+ int home2 = home - dis2;
+ for (int i2 = home2; i2 < home2 + PROBE_LIMIT; i2++) {
+ if (placeInCache(cache, i2 & mask, e2, true) == null) {
+ return;
+ }
+ }
+ }
+ // Note: At this point, e2 is just dropped from the cache.
+ }
+
+ /** Store the given entry. Update cacheLoad, and return any live victim.
+ * 'Gently' means return self rather than dislocating a live victim.
+ */
+ private Entry<?> placeInCache(Entry<?>[] cache, int pos, Entry<?> e, boolean gently) {
+ Entry<?> e2 = overwrittenEntry(cache[pos]);
+ if (gently && e2 != null) {
+ // do not overwrite a live entry
+ return e;
+ } else {
+ cache[pos] = e;
+ return e2;
+ }
+ }
+
+ /** Note an entry that is about to be overwritten.
+ * If it is not live, quietly replace it by null.
+ * If it is an actual null, increment cacheLoad,
+ * because the caller is going to store something
+ * in its place.
+ */
+ private <T> Entry<T> overwrittenEntry(Entry<T> e2) {
+ if (e2 == null) cacheLoad += 1;
+ else if (e2.isLive()) return e2;
+ return null;
+ }
+
+ /** Percent loading of cache before resize. */
+ private static final int CACHE_LOAD_LIMIT = 67; // 0..100
+ /** Maximum number of probes to attempt. */
+ private static final int PROBE_LIMIT = 6; // 1..
+ // N.B. Set PROBE_LIMIT=0 to disable all fast paths.
}
}
diff --git a/jdk/src/share/classes/java/lang/ConditionalSpecialCasing.java b/jdk/src/share/classes/java/lang/ConditionalSpecialCasing.java
index f45fe3a..9b2c850 100644
--- a/jdk/src/share/classes/java/lang/ConditionalSpecialCasing.java
+++ b/jdk/src/share/classes/java/lang/ConditionalSpecialCasing.java
@@ -92,15 +92,15 @@ final class ConditionalSpecialCasing {
};
// A hash table that contains the above entries
- static Hashtable entryTable = new Hashtable();
+ static Hashtable<Integer, HashSet<Entry>> entryTable = new Hashtable<>();
static {
// create hashtable from the entry
for (int i = 0; i < entry.length; i ++) {
Entry cur = entry[i];
Integer cp = new Integer(cur.getCodePoint());
- HashSet set = (HashSet)entryTable.get(cp);
+ HashSet<Entry> set = entryTable.get(cp);
if (set == null) {
- set = new HashSet();
+ set = new HashSet<Entry>();
}
set.add(cur);
entryTable.put(cp, set);
@@ -151,13 +151,13 @@ final class ConditionalSpecialCasing {
}
private static char[] lookUpTable(String src, int index, Locale locale, boolean bLowerCasing) {
- HashSet set = (HashSet)entryTable.get(new Integer(src.codePointAt(index)));
+ HashSet<Entry> set = entryTable.get(new Integer(src.codePointAt(index)));
if (set != null) {
- Iterator iter = set.iterator();
+ Iterator<Entry> iter = set.iterator();
String currentLang = locale.getLanguage();
while (iter.hasNext()) {
- Entry entry = (Entry)iter.next();
+ Entry entry = iter.next();
String conditionLang= entry.getLanguage();
if (((conditionLang == null) || (conditionLang.equals(currentLang))) &&
isConditionMet(src, index, locale, entry.getCondition())) {
diff --git a/jdk/src/share/classes/java/lang/Double.java b/jdk/src/share/classes/java/lang/Double.java
index 7d42618..8bf9853 100644
--- a/jdk/src/share/classes/java/lang/Double.java
+++ b/jdk/src/share/classes/java/lang/Double.java
@@ -128,6 +128,7 @@ public final class Double extends Number implements Comparable<Double> {
*
* @since JDK1.1
*/
+ @SuppressWarnings("unchecked")
public static final Class<Double> TYPE = (Class<Double>) Class.getPrimitiveClass("double");
/**
@@ -607,8 +608,7 @@ public final class Double extends Number implements Comparable<Double> {
* @see java.lang.Double#valueOf(java.lang.String)
*/
public Double(String s) throws NumberFormatException {
- // REMIND: this is inefficient
- this(valueOf(s).doubleValue());
+ value = parseDouble(s);
}
/**
@@ -716,7 +716,7 @@ public final class Double extends Number implements Comparable<Double> {
* @return the {@code double} value represented by this object
*/
public double doubleValue() {
- return (double)value;
+ return value;
}
/**
diff --git a/jdk/src/share/classes/java/lang/Enum.java b/jdk/src/share/classes/java/lang/Enum.java
index 798ae3f..80fcd9c 100644
--- a/jdk/src/share/classes/java/lang/Enum.java
+++ b/jdk/src/share/classes/java/lang/Enum.java
@@ -173,8 +173,8 @@ public abstract class Enum<E extends Enum<E>>
* method is the order in which the constants are declared.
*/
public final int compareTo(E o) {
- Enum other = (Enum)o;
- Enum self = this;
+ Enum<?> other = (Enum<?>)o;
+ Enum<E> self = this;
if (self.getClass() != other.getClass() && // optimization
self.getDeclaringClass() != other.getDeclaringClass())
throw new ClassCastException();
@@ -193,10 +193,11 @@ public abstract class Enum<E extends Enum<E>>
* @return the Class object corresponding to this enum constant's
* enum type
*/
+ @SuppressWarnings("unchecked")
public final Class<E> getDeclaringClass() {
- Class clazz = getClass();
- Class zuper = clazz.getSuperclass();
- return (zuper == Enum.class) ? clazz : zuper;
+ Class<?> clazz = getClass();
+ Class<?> zuper = clazz.getSuperclass();
+ return (zuper == Enum.class) ? (Class<E>)clazz : (Class<E>)zuper;
}
/**
diff --git a/jdk/src/share/classes/java/lang/EnumConstantNotPresentException.java b/jdk/src/share/classes/java/lang/EnumConstantNotPresentException.java
index 76bfd27..6db7df4 100644
--- a/jdk/src/share/classes/java/lang/EnumConstantNotPresentException.java
+++ b/jdk/src/share/classes/java/lang/EnumConstantNotPresentException.java
@@ -36,6 +36,7 @@ package java.lang;
* @see java.lang.reflect.AnnotatedElement
* @since 1.5
*/
+ at SuppressWarnings("rawtypes") /* rawtypes are part of the public api */
public class EnumConstantNotPresentException extends RuntimeException {
private static final long serialVersionUID = -6046998521960521108L;
diff --git a/jdk/src/share/classes/java/lang/Float.java b/jdk/src/share/classes/java/lang/Float.java
index 6aa381c..65a230a 100644
--- a/jdk/src/share/classes/java/lang/Float.java
+++ b/jdk/src/share/classes/java/lang/Float.java
@@ -126,7 +126,8 @@ public final class Float extends Number implements Comparable<Float> {
*
* @since JDK1.1
*/
- public static final Class<Float> TYPE = Class.getPrimitiveClass("float");
+ @SuppressWarnings("unchecked")
+ public static final Class<Float> TYPE = (Class<Float>) Class.getPrimitiveClass("float");
/**
* Returns a string representation of the {@code float}
@@ -529,8 +530,7 @@ public final class Float extends Number implements Comparable<Float> {
* @see java.lang.Float#valueOf(java.lang.String)
*/
public Float(String s) throws NumberFormatException {
- // REMIND: this is inefficient
- this(valueOf(s).floatValue());
+ value = parseFloat(s);
}
/**
diff --git a/jdk/src/share/classes/java/lang/Integer.java b/jdk/src/share/classes/java/lang/Integer.java
index f3bba73..dee52ae 100644
--- a/jdk/src/share/classes/java/lang/Integer.java
+++ b/jdk/src/share/classes/java/lang/Integer.java
@@ -68,6 +68,7 @@ public final class Integer extends Number implements Comparable<Integer> {
*
* @since JDK1.1
*/
+ @SuppressWarnings("unchecked")
public static final Class<Integer> TYPE = (Class<Integer>) Class.getPrimitiveClass("int");
/**
diff --git a/jdk/src/share/classes/java/lang/Long.java b/jdk/src/share/classes/java/lang/Long.java
index 31648ed..a87f409 100644
--- a/jdk/src/share/classes/java/lang/Long.java
+++ b/jdk/src/share/classes/java/lang/Long.java
@@ -66,6 +66,7 @@ public final class Long extends Number implements Comparable<Long> {
*
* @since JDK1.1
*/
+ @SuppressWarnings("unchecked")
public static final Class<Long> TYPE = (Class<Long>) Class.getPrimitiveClass("long");
/**
@@ -734,7 +735,7 @@ public final class Long extends Number implements Comparable<Long> {
* {@code long} value.
*/
public long longValue() {
- return (long)value;
+ return value;
}
/**
diff --git a/jdk/src/share/classes/java/lang/Math.java b/jdk/src/share/classes/java/lang/Math.java
index 059c202..5453010 100644
--- a/jdk/src/share/classes/java/lang/Math.java
+++ b/jdk/src/share/classes/java/lang/Math.java
@@ -818,8 +818,9 @@ public final class Math {
return (a >= b) ? a : b;
}
- private static long negativeZeroFloatBits = Float.floatToIntBits(-0.0f);
- private static long negativeZeroDoubleBits = Double.doubleToLongBits(-0.0d);
+ // Use raw bit-wise conversions on guaranteed non-NaN arguments.
+ private static long negativeZeroFloatBits = Float.floatToRawIntBits(-0.0f);
+ private static long negativeZeroDoubleBits = Double.doubleToRawLongBits(-0.0d);
/**
* Returns the greater of two {@code float} values. That is,
@@ -836,9 +837,12 @@ public final class Math {
* @return the larger of {@code a} and {@code b}.
*/
public static float max(float a, float b) {
- if (a != a) return a; // a is NaN
- if ((a == 0.0f) && (b == 0.0f)
- && (Float.floatToIntBits(a) == negativeZeroFloatBits)) {
+ if (a != a)
+ return a; // a is NaN
+ if ((a == 0.0f) &&
+ (b == 0.0f) &&
+ (Float.floatToRawIntBits(a) == negativeZeroFloatBits)) {
+ // Raw conversion ok since NaN can't map to -0.0.
return b;
}
return (a >= b) ? a : b;
@@ -859,9 +863,12 @@ public final class Math {
* @return the larger of {@code a} and {@code b}.
*/
public static double max(double a, double b) {
- if (a != a) return a; // a is NaN
- if ((a == 0.0d) && (b == 0.0d)
- && (Double.doubleToLongBits(a) == negativeZeroDoubleBits)) {
+ if (a != a)
+ return a; // a is NaN
+ if ((a == 0.0d) &&
+ (b == 0.0d) &&
+ (Double.doubleToRawLongBits(a) == negativeZeroDoubleBits)) {
+ // Raw conversion ok since NaN can't map to -0.0.
return b;
}
return (a >= b) ? a : b;
@@ -910,9 +917,12 @@ public final class Math {
* @return the smaller of {@code a} and {@code b}.
*/
public static float min(float a, float b) {
- if (a != a) return a; // a is NaN
- if ((a == 0.0f) && (b == 0.0f)
- && (Float.floatToIntBits(b) == negativeZeroFloatBits)) {
+ if (a != a)
+ return a; // a is NaN
+ if ((a == 0.0f) &&
+ (b == 0.0f) &&
+ (Float.floatToRawIntBits(b) == negativeZeroFloatBits)) {
+ // Raw conversion ok since NaN can't map to -0.0.
return b;
}
return (a <= b) ? a : b;
@@ -933,9 +943,12 @@ public final class Math {
* @return the smaller of {@code a} and {@code b}.
*/
public static double min(double a, double b) {
- if (a != a) return a; // a is NaN
- if ((a == 0.0d) && (b == 0.0d)
- && (Double.doubleToLongBits(b) == negativeZeroDoubleBits)) {
+ if (a != a)
+ return a; // a is NaN
+ if ((a == 0.0d) &&
+ (b == 0.0d) &&
+ (Double.doubleToRawLongBits(b) == negativeZeroDoubleBits)) {
+ // Raw conversion ok since NaN can't map to -0.0.
return b;
}
return (a <= b) ? a : b;
@@ -1900,7 +1913,7 @@ public final class Math {
/**
* Returns a floating-point power of two in the normal range.
*/
- public static float powerOfTwoF(int n) {
+ 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))
diff --git a/jdk/src/share/classes/java/lang/Object.java b/jdk/src/share/classes/java/lang/Object.java
index d47b0a0..763733c 100644
--- a/jdk/src/share/classes/java/lang/Object.java
+++ b/jdk/src/share/classes/java/lang/Object.java
@@ -58,8 +58,7 @@ public class Object {
*
* @return The {@code Class} object that represents the runtime
* class of this object.
- * @see Class Literals, section 15.8.2 of
- * <cite>The Java™ Language Specification</cite>.
+ * @jls 15.8.2 Class Literals
*/
public final native Class<?> getClass();
@@ -92,7 +91,7 @@ public class Object {
* objects. (This is typically implemented by converting the internal
* address of the object into an integer, but this implementation
* technique is not required by the
- * Java<font size="-2"><sup>TM</sup></font> programming language.)
+ * Java™ programming language.)
*
* @return a hash code value for this object.
* @see java.lang.Object#equals(java.lang.Object)
@@ -203,7 +202,7 @@ public class Object {
* exception at run time.
*
* @return a clone of this instance.
- * @exception CloneNotSupportedException if the object's class does not
+ * @throws CloneNotSupportedException if the object's class does not
* support the {@code Cloneable} interface. Subclasses
* that override the {@code clone} method can also
* throw this exception to indicate that an instance cannot
@@ -264,7 +263,7 @@ public class Object {
* <p>
* Only one thread at a time can own an object's monitor.
*
- * @exception IllegalMonitorStateException if the current thread is not
+ * @throws IllegalMonitorStateException if the current thread is not
* the owner of this object's monitor.
* @see java.lang.Object#notifyAll()
* @see java.lang.Object#wait()
@@ -288,7 +287,7 @@ public class Object {
* description of the ways in which a thread can become the owner of
* a monitor.
*
- * @exception IllegalMonitorStateException if the current thread is not
+ * @throws IllegalMonitorStateException if the current thread is not
* the owner of this object's monitor.
* @see java.lang.Object#notify()
* @see java.lang.Object#wait()
@@ -368,11 +367,11 @@ public class Object {
* a monitor.
*
* @param timeout the maximum time to wait in milliseconds.
- * @exception IllegalArgumentException if the value of timeout is
+ * @throws IllegalArgumentException if the value of timeout is
* negative.
- * @exception IllegalMonitorStateException if the current thread is not
+ * @throws IllegalMonitorStateException if the current thread is not
* the owner of the object's monitor.
- * @exception InterruptedException if any thread interrupted the
+ * @throws InterruptedException if any thread interrupted the
* current thread before or while the current thread
* was waiting for a notification. The <i>interrupted
* status</i> of the current thread is cleared when
@@ -433,12 +432,12 @@ public class Object {
* @param timeout the maximum time to wait in milliseconds.
* @param nanos additional time, in nanoseconds range
* 0-999999.
- * @exception IllegalArgumentException if the value of timeout is
+ * @throws IllegalArgumentException if the value of timeout is
* negative or the value of nanos is
* not in the range 0-999999.
- * @exception IllegalMonitorStateException if the current thread is not
+ * @throws IllegalMonitorStateException if the current thread is not
* the owner of this object's monitor.
- * @exception InterruptedException if any thread interrupted the
+ * @throws InterruptedException if any thread interrupted the
* current thread before or while the current thread
* was waiting for a notification. The <i>interrupted
* status</i> of the current thread is cleared when
@@ -489,9 +488,9 @@ public class Object {
* description of the ways in which a thread can become the owner of
* a monitor.
*
- * @exception IllegalMonitorStateException if the current thread is not
+ * @throws IllegalMonitorStateException if the current thread is not
* the owner of the object's monitor.
- * @exception InterruptedException if any thread interrupted the
+ * @throws InterruptedException if any thread interrupted the
* current thread before or while the current thread
* was waiting for a notification. The <i>interrupted
* status</i> of the current thread is cleared when
@@ -510,7 +509,7 @@ public class Object {
* system resources or to perform other cleanup.
* <p>
* The general contract of {@code finalize} is that it is invoked
- * if and when the Java<font size="-2"><sup>TM</sup></font> virtual
+ * if and when the Java™ virtual
* machine has determined that there is no longer any
* means by which this object can be accessed by any thread that has
* not yet died, except as a result of an action taken by the
@@ -549,6 +548,9 @@ public class Object {
* ignored.
*
* @throws Throwable the {@code Exception} raised by this method
+ * @see java.lang.ref.WeakReference
+ * @see java.lang.ref.PhantomReference
+ * @jls 12.6 Finalization of Class Instances
*/
protected void finalize() throws Throwable { }
}
diff --git a/jdk/src/share/classes/java/lang/Package.java b/jdk/src/share/classes/java/lang/Package.java
index 3ea8013..f7af97a 100644
--- a/jdk/src/share/classes/java/lang/Package.java
+++ b/jdk/src/share/classes/java/lang/Package.java
@@ -608,5 +608,5 @@ public class Package implements java.lang.reflect.AnnotatedElement {
private final String implVendor;
private final URL sealBase;
private transient final ClassLoader loader;
- private transient Class packageInfo;
+ private transient Class<?> packageInfo;
}
diff --git a/jdk/src/share/classes/java/lang/Runtime.java b/jdk/src/share/classes/java/lang/Runtime.java
index 3fc29d0..7f2ef46 100644
--- a/jdk/src/share/classes/java/lang/Runtime.java
+++ b/jdk/src/share/classes/java/lang/Runtime.java
@@ -780,7 +780,7 @@ public class Runtime {
load0(System.getCallerClass(), filename);
}
- synchronized void load0(Class fromClass, String filename) {
+ synchronized void load0(Class<?> fromClass, String filename) {
SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkLink(filename);
@@ -833,7 +833,7 @@ public class Runtime {
loadLibrary0(System.getCallerClass(), libname);
}
- synchronized void loadLibrary0(Class fromClass, String libname) {
+ synchronized void loadLibrary0(Class<?> fromClass, String libname) {
SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkLink(libname);
diff --git a/jdk/src/share/classes/java/lang/SecurityManager.java b/jdk/src/share/classes/java/lang/SecurityManager.java
index f9d03e5..1082f2c 100644
--- a/jdk/src/share/classes/java/lang/SecurityManager.java
+++ b/jdk/src/share/classes/java/lang/SecurityManager.java
@@ -401,7 +401,7 @@ class SecurityManager {
*/
@Deprecated
protected Class<?> currentLoadedClass() {
- Class c = currentLoadedClass0();
+ Class<?> c = currentLoadedClass0();
if ((c != null) && hasAllPermission())
c = null;
return c;
@@ -1726,7 +1726,7 @@ class SecurityManager {
checkPermission(new SecurityPermission(target));
}
- private native Class currentLoadedClass0();
+ private native Class<?> currentLoadedClass0();
/**
* Returns the thread group into which to instantiate any new
diff --git a/jdk/src/share/classes/java/lang/Short.java b/jdk/src/share/classes/java/lang/Short.java
index 15a00e1..6509039 100644
--- a/jdk/src/share/classes/java/lang/Short.java
+++ b/jdk/src/share/classes/java/lang/Short.java
@@ -58,6 +58,7 @@ public final class Short extends Number implements Comparable<Short> {
* The {@code Class} instance representing the primitive type
* {@code short}.
*/
+ @SuppressWarnings("unchecked")
public static final Class<Short> TYPE = (Class<Short>) Class.getPrimitiveClass("short");
/**
diff --git a/jdk/src/share/classes/java/lang/StrictMath.java b/jdk/src/share/classes/java/lang/StrictMath.java
index 723f1ec..e1c4895 100644
--- a/jdk/src/share/classes/java/lang/StrictMath.java
+++ b/jdk/src/share/classes/java/lang/StrictMath.java
@@ -161,6 +161,8 @@ public final class StrictMath {
* in radians.
*/
public static strictfp double toRadians(double angdeg) {
+ // Do not delegate to Math.toRadians(angdeg) because
+ // this method has the strictfp modifier.
return angdeg / 180.0 * PI;
}
@@ -176,6 +178,8 @@ public final class StrictMath {
* in degrees.
*/
public static strictfp double toDegrees(double angrad) {
+ // Do not delegate to Math.toDegrees(angrad) because
+ // this method has the strictfp modifier.
return angrad * 180.0 / PI;
}
@@ -708,7 +712,7 @@ public final class StrictMath {
* @return the absolute value of the argument.
*/
public static int abs(int a) {
- return (a < 0) ? -a : a;
+ return Math.abs(a);
}
/**
@@ -725,7 +729,7 @@ public final class StrictMath {
* @return the absolute value of the argument.
*/
public static long abs(long a) {
- return (a < 0) ? -a : a;
+ return Math.abs(a);
}
/**
@@ -744,7 +748,7 @@ public final class StrictMath {
* @return the absolute value of the argument.
*/
public static float abs(float a) {
- return (a <= 0.0F) ? 0.0F - a : a;
+ return Math.abs(a);
}
/**
@@ -763,7 +767,7 @@ public final class StrictMath {
* @return the absolute value of the argument.
*/
public static double abs(double a) {
- return (a <= 0.0D) ? 0.0D - a : a;
+ return Math.abs(a);
}
/**
@@ -777,7 +781,7 @@ public final class StrictMath {
* @return the larger of {@code a} and {@code b}.
*/
public static int max(int a, int b) {
- return (a >= b) ? a : b;
+ return Math.max(a, b);
}
/**
@@ -791,13 +795,9 @@ public final class StrictMath {
* @return the larger of {@code a} and {@code b}.
*/
public static long max(long a, long b) {
- return (a >= b) ? a : b;
+ return Math.max(a, b);
}
- // Use raw bit-wise conversions on guaranteed non-NaN arguments.
- private static long negativeZeroFloatBits = Float.floatToRawIntBits(-0.0f);
- private static long negativeZeroDoubleBits = Double.doubleToRawLongBits(-0.0d);
-
/**
* Returns the greater of two {@code float} values. That is,
* the result is the argument closer to positive infinity. If the
@@ -813,15 +813,7 @@ public final class StrictMath {
* @return the larger of {@code a} and {@code b}.
*/
public static float max(float a, float b) {
- if (a != a)
- return a; // a is NaN
- if ((a == 0.0f) &&
- (b == 0.0f) &&
- (Float.floatToRawIntBits(a) == negativeZeroFloatBits)) {
- // Raw conversion ok since NaN can't map to -0.0.
- return b;
- }
- return (a >= b) ? a : b;
+ return Math.max(a, b);
}
/**
@@ -839,15 +831,7 @@ public final class StrictMath {
* @return the larger of {@code a} and {@code b}.
*/
public static double max(double a, double b) {
- if (a != a)
- return a; // a is NaN
- if ((a == 0.0d) &&
- (b == 0.0d) &&
- (Double.doubleToRawLongBits(a) == negativeZeroDoubleBits)) {
- // Raw conversion ok since NaN can't map to -0.0.
- return b;
- }
- return (a >= b) ? a : b;
+ return Math.max(a, b);
}
/**
@@ -861,7 +845,7 @@ public final class StrictMath {
* @return the smaller of {@code a} and {@code b}.
*/
public static int min(int a, int b) {
- return (a <= b) ? a : b;
+ return Math.min(a, b);
}
/**
@@ -875,7 +859,7 @@ public final class StrictMath {
* @return the smaller of {@code a} and {@code b}.
*/
public static long min(long a, long b) {
- return (a <= b) ? a : b;
+ return Math.min(a, b);
}
/**
@@ -893,15 +877,7 @@ public final class StrictMath {
* @return the smaller of {@code a} and {@code b.}
*/
public static float min(float a, float b) {
- if (a != a)
- return a; // a is NaN
- if ((a == 0.0f) &&
- (b == 0.0f) &&
- (Float.floatToRawIntBits(b) == negativeZeroFloatBits)) {
- // Raw conversion ok since NaN can't map to -0.0.
- return b;
- }
- return (a <= b) ? a : b;
+ return Math.min(a, b);
}
/**
@@ -919,15 +895,7 @@ public final class StrictMath {
* @return the smaller of {@code a} and {@code b}.
*/
public static double min(double a, double b) {
- if (a != a)
- return a; // a is NaN
- if ((a == 0.0d) &&
- (b == 0.0d) &&
- (Double.doubleToRawLongBits(b) == negativeZeroDoubleBits)) {
- // Raw conversion ok since NaN can't map to -0.0.
- return b;
- }
- return (a <= b) ? a : b;
+ return Math.min(a, b);
}
/**
diff --git a/jdk/src/share/classes/java/lang/String.java b/jdk/src/share/classes/java/lang/String.java
index 1a40916..50b3f7b 100644
--- a/jdk/src/share/classes/java/lang/String.java
+++ b/jdk/src/share/classes/java/lang/String.java
@@ -1245,6 +1245,9 @@ public final class String
}
return n1 - n2;
}
+
+ /** Replaces the de-serialized object. */
+ private Object readResolve() { return CASE_INSENSITIVE_ORDER; }
}
/**
diff --git a/jdk/src/share/classes/java/lang/System.java b/jdk/src/share/classes/java/lang/System.java
index 303263a..9574b30 100644
--- a/jdk/src/share/classes/java/lang/System.java
+++ b/jdk/src/share/classes/java/lang/System.java
@@ -1033,7 +1033,7 @@ public final class System {
*/
@Deprecated
public static void runFinalizersOnExit(boolean value) {
- Runtime.getRuntime().runFinalizersOnExit(value);
+ Runtime.runFinalizersOnExit(value);
}
/**
@@ -1171,14 +1171,14 @@ public final class System {
private static void setJavaLangAccess() {
// Allow privileged classes outside of java.lang
- sun.misc.SharedSecrets.setJavaLangAccess(new sun.misc.JavaLangAccess() {
- public sun.reflect.ConstantPool getConstantPool(Class klass) {
+ sun.misc.SharedSecrets.setJavaLangAccess(new sun.misc.JavaLangAccess(){
+ public sun.reflect.ConstantPool getConstantPool(Class<?> klass) {
return klass.getConstantPool();
}
- public void setAnnotationType(Class klass, AnnotationType type) {
+ public void setAnnotationType(Class<?> klass, AnnotationType type) {
klass.setAnnotationType(type);
}
- public AnnotationType getAnnotationType(Class klass) {
+ public AnnotationType getAnnotationType(Class<?> klass) {
return klass.getAnnotationType();
}
public <E extends Enum<E>>
diff --git a/jdk/src/share/classes/java/lang/Thread.java b/jdk/src/share/classes/java/lang/Thread.java
index 45393eb..b3d2e39 100644
--- a/jdk/src/share/classes/java/lang/Thread.java
+++ b/jdk/src/share/classes/java/lang/Thread.java
@@ -1650,7 +1650,7 @@ class Thread implements Runnable {
* security-sensitive non-final methods, or else the
* "enableContextClassLoaderOverride" RuntimePermission is checked.
*/
- private static boolean isCCLOverridden(Class cl) {
+ private static boolean isCCLOverridden(Class<?> cl) {
if (cl == Thread.class)
return false;
@@ -1670,21 +1670,21 @@ class Thread implements Runnable {
* override security-sensitive non-final methods. Returns true if the
* subclass overrides any of the methods, false otherwise.
*/
- private static boolean auditSubclass(final Class subcl) {
+ private static boolean auditSubclass(final Class<?> subcl) {
Boolean result = AccessController.doPrivileged(
new PrivilegedAction<Boolean>() {
public Boolean run() {
- for (Class cl = subcl;
+ for (Class<?> cl = subcl;
cl != Thread.class;
cl = cl.getSuperclass())
{
try {
- cl.getDeclaredMethod("getContextClassLoader", new Class[0]);
+ cl.getDeclaredMethod("getContextClassLoader", new Class<?>[0]);
return Boolean.TRUE;
} catch (NoSuchMethodException ex) {
}
try {
- Class[] params = {ClassLoader.class};
+ Class<?>[] params = {ClassLoader.class};
cl.getDeclaredMethod("setContextClassLoader", params);
return Boolean.TRUE;
} catch (NoSuchMethodException ex) {
diff --git a/jdk/src/share/classes/java/lang/ThreadGroup.java b/jdk/src/share/classes/java/lang/ThreadGroup.java
index a0ec567..8b93210 100644
--- a/jdk/src/share/classes/java/lang/ThreadGroup.java
+++ b/jdk/src/share/classes/java/lang/ThreadGroup.java
@@ -670,6 +670,7 @@ class ThreadGroup implements Thread.UncaughtExceptionHandler {
* {@link Thread#suspend} for details.
*/
@Deprecated
+ @SuppressWarnings("deprecation")
public final void suspend() {
if (stopOrSuspend(true))
Thread.currentThread().suspend();
@@ -682,6 +683,7 @@ class ThreadGroup implements Thread.UncaughtExceptionHandler {
* if (and only if) the current thread is found to be in this thread
* group or one of its subgroups.
*/
+ @SuppressWarnings("deprecation")
private boolean stopOrSuspend(boolean suspend) {
boolean suicide = false;
Thread us = Thread.currentThread();
@@ -731,6 +733,7 @@ class ThreadGroup implements Thread.UncaughtExceptionHandler {
* deadlock-prone. See {@link Thread#suspend} for details.
*/
@Deprecated
+ @SuppressWarnings("deprecation")
public final void resume() {
int ngroupsSnapshot;
ThreadGroup[] groupsSnapshot;
diff --git a/jdk/src/share/classes/java/lang/ThreadLocal.java b/jdk/src/share/classes/java/lang/ThreadLocal.java
index 50dcf9b..e5c6e1f 100644
--- a/jdk/src/share/classes/java/lang/ThreadLocal.java
+++ b/jdk/src/share/classes/java/lang/ThreadLocal.java
@@ -144,8 +144,11 @@ public class ThreadLocal<T> {
ThreadLocalMap map = getMap(t);
if (map != null) {
ThreadLocalMap.Entry e = map.getEntry(this);
- if (e != null)
- return (T)e.value;
+ if (e != null) {
+ @SuppressWarnings("unchecked")
+ T result = (T)e.value;
+ return result;
+ }
}
return setInitialValue();
}
@@ -268,11 +271,11 @@ public class ThreadLocal<T> {
* entry can be expunged from table. Such entries are referred to
* as "stale entries" in the code that follows.
*/
- static class Entry extends WeakReference<ThreadLocal> {
+ static class Entry extends WeakReference<ThreadLocal<?>> {
/** The value associated with this ThreadLocal. */
Object value;
- Entry(ThreadLocal k, Object v) {
+ Entry(ThreadLocal<?> k, Object v) {
super(k);
value = v;
}
@@ -325,7 +328,7 @@ public class ThreadLocal<T> {
* ThreadLocalMaps are constructed lazily, so we only create
* one when we have at least one entry to put in it.
*/
- ThreadLocalMap(ThreadLocal firstKey, Object firstValue) {
+ ThreadLocalMap(ThreadLocal<?> firstKey, Object firstValue) {
table = new Entry[INITIAL_CAPACITY];
int i = firstKey.threadLocalHashCode & (INITIAL_CAPACITY - 1);
table[i] = new Entry(firstKey, firstValue);
@@ -348,7 +351,8 @@ public class ThreadLocal<T> {
for (int j = 0; j < len; j++) {
Entry e = parentTable[j];
if (e != null) {
- ThreadLocal key = e.get();
+ @SuppressWarnings("unchecked")
+ ThreadLocal<Object> key = (ThreadLocal<Object>) e.get();
if (key != null) {
Object value = key.childValue(e.value);
Entry c = new Entry(key, value);
@@ -372,7 +376,7 @@ public class ThreadLocal<T> {
* @param key the thread local object
* @return the entry associated with key, or null if no such
*/
- private Entry getEntry(ThreadLocal key) {
+ private Entry getEntry(ThreadLocal<?> key) {
int i = key.threadLocalHashCode & (table.length - 1);
Entry e = table[i];
if (e != null && e.get() == key)
@@ -390,12 +394,12 @@ public class ThreadLocal<T> {
* @param e the entry at table[i]
* @return the entry associated with key, or null if no such
*/
- private Entry getEntryAfterMiss(ThreadLocal key, int i, Entry e) {
+ private Entry getEntryAfterMiss(ThreadLocal<?> key, int i, Entry e) {
Entry[] tab = table;
int len = tab.length;
while (e != null) {
- ThreadLocal k = e.get();
+ ThreadLocal<?> k = e.get();
if (k == key)
return e;
if (k == null)
@@ -413,7 +417,7 @@ public class ThreadLocal<T> {
* @param key the thread local object
* @param value the value to be set
*/
- private void set(ThreadLocal key, Object value) {
+ private void set(ThreadLocal<?> key, Object value) {
// We don't use a fast path as with get() because it is at
// least as common to use set() to create new entries as
@@ -427,7 +431,7 @@ public class ThreadLocal<T> {
for (Entry e = tab[i];
e != null;
e = tab[i = nextIndex(i, len)]) {
- ThreadLocal k = e.get();
+ ThreadLocal<?> k = e.get();
if (k == key) {
e.value = value;
@@ -449,7 +453,7 @@ public class ThreadLocal<T> {
/**
* Remove the entry for key.
*/
- private void remove(ThreadLocal key) {
+ private void remove(ThreadLocal<?> key) {
Entry[] tab = table;
int len = tab.length;
int i = key.threadLocalHashCode & (len-1);
@@ -479,7 +483,7 @@ public class ThreadLocal<T> {
* @param staleSlot index of the first stale entry encountered while
* searching for key.
*/
- private void replaceStaleEntry(ThreadLocal key, Object value,
+ private void replaceStaleEntry(ThreadLocal<?> key, Object value,
int staleSlot) {
Entry[] tab = table;
int len = tab.length;
@@ -501,7 +505,7 @@ public class ThreadLocal<T> {
for (int i = nextIndex(staleSlot, len);
(e = tab[i]) != null;
i = nextIndex(i, len)) {
- ThreadLocal k = e.get();
+ ThreadLocal<?> k = e.get();
// If we find key, then we need to swap it
// with the stale entry to maintain hash table order.
@@ -563,7 +567,7 @@ public class ThreadLocal<T> {
for (i = nextIndex(staleSlot, len);
(e = tab[i]) != null;
i = nextIndex(i, len)) {
- ThreadLocal k = e.get();
+ ThreadLocal<?> k = e.get();
if (k == null) {
e.value = null;
tab[i] = null;
@@ -650,7 +654,7 @@ public class ThreadLocal<T> {
for (int j = 0; j < oldLen; ++j) {
Entry e = oldTab[j];
if (e != null) {
- ThreadLocal k = e.get();
+ ThreadLocal<?> k = e.get();
if (k == null) {
e.value = null; // Help the GC
} else {
diff --git a/jdk/src/share/classes/java/lang/Throwable.java b/jdk/src/share/classes/java/lang/Throwable.java
index 2319aaf..c9c14e3 100644
--- a/jdk/src/share/classes/java/lang/Throwable.java
+++ b/jdk/src/share/classes/java/lang/Throwable.java
@@ -625,7 +625,7 @@ public class Throwable implements Serializable {
* at Resource2.close(Resource2.java:20)
* at Foo4.main(Foo4.java:5)
* Caused by: java.lang.Exception: Rats, you caught me
- * at Resource2$CloseFailException.<init>(Resource2.java:45)
+ * at Resource2$CloseFailException.<init>(Resource2.java:45)
* ... 2 more
* </pre>
*/
diff --git a/jdk/src/share/classes/java/lang/Void.java b/jdk/src/share/classes/java/lang/Void.java
index 52a6f2f..9231b88 100644
--- a/jdk/src/share/classes/java/lang/Void.java
+++ b/jdk/src/share/classes/java/lang/Void.java
@@ -40,7 +40,8 @@ class Void {
* The {@code Class} object representing the pseudo-type corresponding to
* the keyword {@code void}.
*/
- public static final Class<Void> TYPE = Class.getPrimitiveClass("void");
+ @SuppressWarnings("unchecked")
+ public static final Class<Void> TYPE = (Class<Void>) Class.getPrimitiveClass("void");
/*
* The Void class cannot be instantiated.
diff --git a/jdk/src/share/classes/java/lang/instrument/ClassDefinition.java b/jdk/src/share/classes/java/lang/instrument/ClassDefinition.java
index db925e6..aa02609 100644
--- a/jdk/src/share/classes/java/lang/instrument/ClassDefinition.java
+++ b/jdk/src/share/classes/java/lang/instrument/ClassDefinition.java
@@ -40,12 +40,12 @@ public final class ClassDefinition {
/**
* The class to redefine
*/
- private final Class mClass;
+ private final Class<?> mClass;
/**
* The replacement class file bytes
*/
- private final byte[] mClassFile;
+ private final byte[] mClassFile;
/**
* Creates a new <code>ClassDefinition</code> binding using the supplied
diff --git a/jdk/src/share/classes/java/lang/invoke/AdapterMethodHandle.java b/jdk/src/share/classes/java/lang/invoke/AdapterMethodHandle.java
index 7cfc774..82ac570 100644
--- a/jdk/src/share/classes/java/lang/invoke/AdapterMethodHandle.java
+++ b/jdk/src/share/classes/java/lang/invoke/AdapterMethodHandle.java
@@ -378,6 +378,7 @@ class AdapterMethodHandle extends BoundMethodHandle {
}
/** Construct an adapter conversion descriptor for a single-argument conversion. */
+ @SuppressWarnings("cast") // some (int) casts below provide clarity but trigger warnings
private static long makeConv(int convOp, int argnum, int src, int dest) {
assert(src == (src & CONV_TYPE_MASK));
assert(dest == (dest & CONV_TYPE_MASK));
@@ -390,6 +391,7 @@ class AdapterMethodHandle extends BoundMethodHandle {
insertStackMove(stackMove)
);
}
+ @SuppressWarnings("cast") // some (int) casts below provide clarity but trigger warnings
private static long makeDupConv(int convOp, int argnum, int stackMove) {
// simple argument motion, requiring one slot to specify
assert(convOp == OP_DUP_ARGS || convOp == OP_DROP_ARGS);
@@ -401,6 +403,7 @@ class AdapterMethodHandle extends BoundMethodHandle {
insertStackMove(stackMove)
);
}
+ @SuppressWarnings("cast") // some (int) casts below provide clarity but trigger warnings
private static long makeSwapConv(int convOp, int srcArg, byte srcType, int destSlot, byte destType) {
// more complex argument motion, requiring two slots to specify
assert(convOp == OP_SWAP_ARGS || convOp == OP_ROT_ARGS);
@@ -411,6 +414,7 @@ class AdapterMethodHandle extends BoundMethodHandle {
(int) destSlot << CONV_VMINFO_SHIFT
);
}
+ @SuppressWarnings("cast") // some (int) casts below provide clarity but trigger warnings
private static long makeSpreadConv(int convOp, int argnum, int src, int dest, int stackMove) {
// spreading or collecting, at a particular slot location
assert(convOp == OP_SPREAD_ARGS || convOp == OP_COLLECT_ARGS || convOp == OP_FOLD_ARGS);
diff --git a/jdk/src/share/classes/java/lang/invoke/MemberName.java b/jdk/src/share/classes/java/lang/invoke/MemberName.java
index bf72c5b..5a431a5 100644
--- a/jdk/src/share/classes/java/lang/invoke/MemberName.java
+++ b/jdk/src/share/classes/java/lang/invoke/MemberName.java
@@ -353,7 +353,7 @@ import static java.lang.invoke.MethodHandleStatics.*;
assert(isResolved());
}
/** Create a name for the given reflected constructor. The resulting name will be in a resolved state. */
- public MemberName(Constructor ctor) {
+ public MemberName(Constructor<?> ctor) {
Object[] typeInfo = { void.class, ctor.getParameterTypes() };
init(ctor.getDeclaringClass(), CONSTRUCTOR_NAME, typeInfo, flagsMods(IS_CONSTRUCTOR, ctor.getModifiers()));
// fill in vmtarget, vmindex while we have ctor in hand:
diff --git a/jdk/src/share/classes/java/lang/invoke/MethodHandle.java b/jdk/src/share/classes/java/lang/invoke/MethodHandle.java
index 3eda73a..7bccf22 100644
--- a/jdk/src/share/classes/java/lang/invoke/MethodHandle.java
+++ b/jdk/src/share/classes/java/lang/invoke/MethodHandle.java
@@ -275,7 +275,7 @@ mh.invokeExact(System.out, "Hello, world.");
* generates a single invokevirtual instruction with
* the symbolic type descriptor indicated in the following comment.
* In these examples, the helper method {@code assertEquals} is assumed to
- * be a method which calls {@link Objects.equals java.util.Objects#equals}
+ * be a method which calls {@link java.util.Objects#equals(Object,Object) Objects.equals }
* on its arguments, and asserts that the result is true.
*
* <h3>Exceptions</h3>
diff --git a/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java b/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java
index c0beb39..2c5adb3 100644
--- a/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java
+++ b/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java
@@ -112,7 +112,7 @@ import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP;
assert(cookedConstructor.type().equals(ctype));
ctype = ctype.dropParameterTypes(0, 1);
cookedConstructor = AdapterMethodHandle.makeCollectArguments(cookedConstructor, returner, 0, true);
- MethodHandle allocator = new AllocateObject(allocateClass);
+ AllocateObject allocator = new AllocateObject(allocateClass);
// allocate() => new C(void)
assert(allocator.type().equals(MethodType.methodType(allocateClass)));
ctype = ctype.dropParameterTypes(0, 1);
@@ -120,19 +120,19 @@ import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP;
return fold;
}
- static final class AllocateObject<C> extends BoundMethodHandle {
+ static final class AllocateObject /*<C>*/ extends BoundMethodHandle {
private static final Unsafe unsafe = Unsafe.getUnsafe();
- private final Class<C> allocateClass;
+ private final Class<?> /*<C>*/ allocateClass;
// for allocation only:
- private AllocateObject(Class<C> allocateClass) {
+ private AllocateObject(Class<?> /*<C>*/ allocateClass) {
super(ALLOCATE.asType(MethodType.methodType(allocateClass, AllocateObject.class)));
this.allocateClass = allocateClass;
}
@SuppressWarnings("unchecked")
- private C allocate() throws InstantiationException {
- return (C) unsafe.allocateInstance(allocateClass);
+ private Object /*C*/ allocate() throws InstantiationException {
+ return unsafe.allocateInstance(allocateClass);
}
static final MethodHandle ALLOCATE;
static {
@@ -148,8 +148,8 @@ import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP;
MethodHandle accessField(MemberName member, boolean isSetter,
Class<?> lookupClass) {
// Use sun. misc.Unsafe to dig up the dirt on the field.
- MethodHandle mh = new FieldAccessor(member, isSetter);
- return mh;
+ FieldAccessor accessor = new FieldAccessor(member, isSetter);
+ return accessor;
}
static
@@ -175,7 +175,7 @@ import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP;
return mhs[isSetter ? 1 : 0];
}
- static final class FieldAccessor<C,V> extends BoundMethodHandle {
+ static final class FieldAccessor /*<C,V>*/ extends BoundMethodHandle {
private static final Unsafe unsafe = Unsafe.getUnsafe();
final Object base; // for static refs only
final long offset;
@@ -190,26 +190,24 @@ import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP;
@Override
String debugString() { return addTypeString(name, this); }
- int getFieldI(C obj) { return unsafe.getInt(obj, offset); }
- void setFieldI(C obj, int x) { unsafe.putInt(obj, offset, x); }
- long getFieldJ(C obj) { return unsafe.getLong(obj, offset); }
- void setFieldJ(C obj, long x) { unsafe.putLong(obj, offset, x); }
- float getFieldF(C obj) { return unsafe.getFloat(obj, offset); }
- void setFieldF(C obj, float x) { unsafe.putFloat(obj, offset, x); }
- double getFieldD(C obj) { return unsafe.getDouble(obj, offset); }
- void setFieldD(C obj, double x) { unsafe.putDouble(obj, offset, x); }
- boolean getFieldZ(C obj) { return unsafe.getBoolean(obj, offset); }
- void setFieldZ(C obj, boolean x) { unsafe.putBoolean(obj, offset, x); }
- byte getFieldB(C obj) { return unsafe.getByte(obj, offset); }
- void setFieldB(C obj, byte x) { unsafe.putByte(obj, offset, x); }
- short getFieldS(C obj) { return unsafe.getShort(obj, offset); }
- void setFieldS(C obj, short x) { unsafe.putShort(obj, offset, x); }
- char getFieldC(C obj) { return unsafe.getChar(obj, offset); }
- void setFieldC(C obj, char x) { unsafe.putChar(obj, offset, x); }
- @SuppressWarnings("unchecked")
- V getFieldL(C obj) { return (V) unsafe.getObject(obj, offset); }
- @SuppressWarnings("unchecked")
- void setFieldL(C obj, V x) { unsafe.putObject(obj, offset, x); }
+ int getFieldI(Object /*C*/ obj) { return unsafe.getInt(obj, offset); }
+ void setFieldI(Object /*C*/ obj, int x) { unsafe.putInt(obj, offset, x); }
+ long getFieldJ(Object /*C*/ obj) { return unsafe.getLong(obj, offset); }
+ void setFieldJ(Object /*C*/ obj, long x) { unsafe.putLong(obj, offset, x); }
+ float getFieldF(Object /*C*/ obj) { return unsafe.getFloat(obj, offset); }
+ void setFieldF(Object /*C*/ obj, float x) { unsafe.putFloat(obj, offset, x); }
+ double getFieldD(Object /*C*/ obj) { return unsafe.getDouble(obj, offset); }
+ void setFieldD(Object /*C*/ obj, double x) { unsafe.putDouble(obj, offset, x); }
+ boolean getFieldZ(Object /*C*/ obj) { return unsafe.getBoolean(obj, offset); }
+ void setFieldZ(Object /*C*/ obj, boolean x) { unsafe.putBoolean(obj, offset, x); }
+ byte getFieldB(Object /*C*/ obj) { return unsafe.getByte(obj, offset); }
+ void setFieldB(Object /*C*/ obj, byte x) { unsafe.putByte(obj, offset, x); }
+ short getFieldS(Object /*C*/ obj) { return unsafe.getShort(obj, offset); }
+ void setFieldS(Object /*C*/ obj, short x) { unsafe.putShort(obj, offset, x); }
+ char getFieldC(Object /*C*/ obj) { return unsafe.getChar(obj, offset); }
+ void setFieldC(Object /*C*/ obj, char x) { unsafe.putChar(obj, offset, x); }
+ Object /*V*/ getFieldL(Object /*C*/ obj) { return unsafe.getObject(obj, offset); }
+ void setFieldL(Object /*C*/ obj, Object /*V*/ x) { unsafe.putObject(obj, offset, x); }
// cast (V) is OK here, since we wrap convertArguments around the MH.
static Object staticBase(final MemberName field) {
@@ -244,8 +242,9 @@ import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP;
void setStaticS(short x) { unsafe.putShort(base, offset, x); }
char getStaticC() { return unsafe.getChar(base, offset); }
void setStaticC(char x) { unsafe.putChar(base, offset, x); }
- V getStaticL() { return (V) unsafe.getObject(base, offset); }
- void setStaticL(V x) { unsafe.putObject(base, offset, x); }
+ @SuppressWarnings("unchecked") // (V) is for internal clarity but triggers warning
+ Object /*V*/ getStaticL() { return unsafe.getObject(base, offset); }
+ void setStaticL(Object /*V*/ x) { unsafe.putObject(base, offset, x); }
static String fname(Class<?> vclass, boolean isSetter, boolean isStatic) {
String stem;
diff --git a/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java b/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java
index 46be8a9..8e06823 100644
--- a/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java
+++ b/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java
@@ -150,7 +150,7 @@ public class MethodHandleProxies {
}
return intfc.cast(Proxy.newProxyInstance(
intfc.getClassLoader(),
- new Class[]{ intfc, WrapperInstance.class },
+ new Class<?>[]{ intfc, WrapperInstance.class },
new InvocationHandler() {
private Object getArg(String name) {
if ((Object)name == "getWrapperInstanceTarget") return target;
diff --git a/jdk/src/share/classes/java/lang/invoke/MethodHandles.java b/jdk/src/share/classes/java/lang/invoke/MethodHandles.java
index e49169d..58b7e6d 100644
--- a/jdk/src/share/classes/java/lang/invoke/MethodHandles.java
+++ b/jdk/src/share/classes/java/lang/invoke/MethodHandles.java
@@ -948,10 +948,11 @@ return mh1;
public MethodHandle unreflect(Method m) throws IllegalAccessException {
MemberName method = new MemberName(m);
assert(method.isMethod());
- if (!m.isAccessible()) checkMethod(method.getDeclaringClass(), method, method.isStatic());
+ if (m.isAccessible())
+ return MethodHandleImpl.findMethod(method, true, /*no lookupClass*/ null);
+ checkMethod(method.getDeclaringClass(), method, method.isStatic());
MethodHandle mh = MethodHandleImpl.findMethod(method, true, lookupClassOrNull());
- if (!m.isAccessible()) mh = restrictProtectedReceiver(method, mh);
- return mh;
+ return restrictProtectedReceiver(method, mh);
}
/**
@@ -1006,11 +1007,17 @@ return mh1;
* is set and {@code asVarargsCollector} fails
* @throws NullPointerException if the argument is null
*/
+ @SuppressWarnings("rawtypes") // Will be Constructor<?> after JSR 292 MR
public MethodHandle unreflectConstructor(Constructor c) throws IllegalAccessException {
MemberName ctor = new MemberName(c);
assert(ctor.isConstructor());
- if (!c.isAccessible()) checkAccess(c.getDeclaringClass(), ctor);
- MethodHandle rawCtor = MethodHandleImpl.findMethod(ctor, false, lookupClassOrNull());
+ MethodHandle rawCtor;
+ if (c.isAccessible()) {
+ rawCtor = MethodHandleImpl.findMethod(ctor, false, /*no lookupClass*/ null);
+ } else {
+ checkAccess(c.getDeclaringClass(), ctor);
+ rawCtor = MethodHandleImpl.findMethod(ctor, false, lookupClassOrNull());
+ }
MethodHandle allocator = MethodHandleImpl.makeAllocator(rawCtor);
return fixVarargs(allocator, rawCtor);
}
@@ -1225,7 +1232,7 @@ return mh1;
? "expected a static field"
: "expected a non-static field", this);
if (trusted)
- return MethodHandleImpl.accessField(field, isSetter, lookupClassOrNull());
+ return MethodHandleImpl.accessField(field, isSetter, /*no lookupClass*/ null);
checkAccess(refc, field);
MethodHandle mh = MethodHandleImpl.accessField(field, isSetter, lookupClassOrNull());
return restrictProtectedReceiver(field, mh);
diff --git a/jdk/src/share/classes/java/lang/management/ManagementFactory.java b/jdk/src/share/classes/java/lang/management/ManagementFactory.java
index 695bc37..98f2e40 100644
--- a/jdk/src/share/classes/java/lang/management/ManagementFactory.java
+++ b/jdk/src/share/classes/java/lang/management/ManagementFactory.java
@@ -576,7 +576,7 @@ public class ManagementFactory {
Class<T> mxbeanInterface)
throws java.io.IOException {
- final Class interfaceClass = mxbeanInterface;
+ final Class<?> interfaceClass = mxbeanInterface;
// Only allow MXBean interfaces from rt.jar loaded by the
// bootstrap class loader
final ClassLoader loader =
diff --git a/jdk/src/share/classes/java/lang/management/PlatformComponent.java b/jdk/src/share/classes/java/lang/management/PlatformComponent.java
index 82b6e87..d924335 100644
--- a/jdk/src/share/classes/java/lang/management/PlatformComponent.java
+++ b/jdk/src/share/classes/java/lang/management/PlatformComponent.java
@@ -314,7 +314,7 @@ enum PlatformComponent {
private final String domain;
private final String type;
private final Set<String> keyProperties;
- private final MXBeanFetcher fetcher;
+ private final MXBeanFetcher<?> fetcher;
private final PlatformComponent[] subComponents;
private final boolean singleton;
@@ -322,7 +322,7 @@ enum PlatformComponent {
String domain, String type,
Set<String> keyProperties,
boolean singleton,
- MXBeanFetcher fetcher,
+ MXBeanFetcher<?> fetcher,
PlatformComponent... subComponents) {
this.mxbeanInterfaceName = intfName;
this.domain = domain;
@@ -373,7 +373,7 @@ enum PlatformComponent {
<T extends PlatformManagedObject>
List<T> getMXBeans(Class<T> mxbeanInterface)
{
- return fetcher.getMXBeans();
+ return (List<T>) fetcher.getMXBeans();
}
<T extends PlatformManagedObject> T getSingletonMXBean(Class<T> mxbeanInterface)
@@ -382,7 +382,7 @@ enum PlatformComponent {
throw new IllegalArgumentException(mxbeanInterfaceName +
" can have zero or more than one instances");
- List<T> list = fetcher.getMXBeans();
+ List<T> list = getMXBeans(mxbeanInterface);
assert list.size() == 1;
return list.isEmpty() ? null : list.get(0);
}
diff --git a/jdk/src/share/classes/java/net/ContentHandler.java b/jdk/src/share/classes/java/net/ContentHandler.java
index 319e619..87d578b 100644
--- a/jdk/src/share/classes/java/net/ContentHandler.java
+++ b/jdk/src/share/classes/java/net/ContentHandler.java
@@ -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++) {
diff --git a/jdk/src/share/classes/java/net/HttpCookie.java b/jdk/src/share/classes/java/net/HttpCookie.java
index a932a5f..bb12564 100644
--- a/jdk/src/share/classes/java/net/HttpCookie.java
+++ b/jdk/src/share/classes/java/net/HttpCookie.java
@@ -31,17 +31,15 @@ import java.util.NoSuchElementException;
import java.text.SimpleDateFormat;
import java.util.TimeZone;
import java.util.Date;
-
-import java.lang.NullPointerException; // for javadoc
import java.util.Locale;
import java.util.Objects;
/**
- * An HttpCookie object represents an http cookie, which carries state
+ * An HttpCookie object represents an HTTP cookie, which carries state
* information between server and user agent. Cookie is widely adopted
* to create stateful sessions.
*
- * <p>There are 3 http cookie specifications:
+ * <p> There are 3 HTTP cookie specifications:
* <blockquote>
* Netscape draft<br>
* RFC 2109 - <a href="http://www.ietf.org/rfc/rfc2109.txt">
@@ -50,25 +48,19 @@ import java.util.Objects;
* <i>http://www.ietf.org/rfc/rfc2965.txt</i></a>
* </blockquote>
*
- * <p>HttpCookie class can accept all these 3 forms of syntax.
+ * <p> HttpCookie class can accept all these 3 forms of syntax.
*
* @author Edward Wang
* @since 1.6
*/
public final class HttpCookie implements Cloneable {
- /* ---------------- Fields -------------- */
+ // ---------------- Fields --------------
- //
// The value of the cookie itself.
- //
-
- private String name; // NAME= ... "$Name" style is reserved
+ private final String name; // NAME= ... "$Name" style is reserved
private String value; // value of NAME
- //
// Attributes encoded in the header's cookie fields.
- //
-
private String comment; // Comment=VALUE ... describes cookie's use
private String commentURL; // CommentURL="http URL" ... describes cookie's use
private boolean toDiscard; // Discard ... discard cookie unconditionally
@@ -80,71 +72,70 @@ public final class HttpCookie implements Cloneable {
private boolean httpOnly; // HttpOnly ... i.e. not accessible to scripts
private int version = 1; // Version=1 ... RFC 2965 style
- //
+ // The original header this cookie was consructed from, if it was
+ // constructed by parsing a header, otherwise null.
+ private final String header;
+
// Hold the creation time (in seconds) of the http cookie for later
// expiration calculation
- //
- private long whenCreated = 0;
-
+ private final long whenCreated;
- //
// Since the positive and zero max-age have their meanings,
// this value serves as a hint as 'not specify max-age'
- //
private final static long MAX_AGE_UNSPECIFIED = -1;
-
- //
// date formats used by Netscape's cookie draft
// as well as formats seen on various sites
- //
private final static String[] COOKIE_DATE_FORMATS = {
"EEE',' dd-MMM-yyyy HH:mm:ss 'GMT'",
"EEE',' dd MMM yyyy HH:mm:ss 'GMT'",
"EEE MMM dd yyyy HH:mm:ss 'GMT'Z"
};
- //
// constant strings represent set-cookie header token
- //
private final static String SET_COOKIE = "set-cookie:";
private final static String SET_COOKIE2 = "set-cookie2:";
-
- /* ---------------- Ctors -------------- */
+ // ---------------- Ctors --------------
/**
* Constructs a cookie with a specified name and value.
*
- * <p>The name must conform to RFC 2965. That means it can contain
+ * <p> The name must conform to RFC 2965. That means it can contain
* only ASCII alphanumeric characters and cannot contain commas,
* semicolons, or white space or begin with a $ character. The cookie's
* name cannot be changed after creation.
*
- * <p>The value can be anything the server chooses to send. Its
+ * <p> The value can be anything the server chooses to send. Its
* value is probably of interest only to the server. The cookie's
* value can be changed after creation with the
- * <code>setValue</code> method.
+ * {@code setValue} method.
*
- * <p>By default, cookies are created according to the RFC 2965
+ * <p> By default, cookies are created according to the RFC 2965
* cookie specification. The version can be changed with the
- * <code>setVersion</code> method.
+ * {@code setVersion} method.
+ *
*
+ * @param name
+ * a {@code String} specifying the name of the cookie
*
- * @param name a <code>String</code> specifying the name of the cookie
+ * @param value
+ * a {@code String} specifying the value of the cookie
*
- * @param value a <code>String</code> specifying the value of the cookie
+ * @throws IllegalArgumentException
+ * if the cookie name contains illegal characters or it is one of
+ * the tokens reserved for use by the cookie protocol
+ * @throws NullPointerException
+ * if {@code name} is {@code null}
*
- * @throws IllegalArgumentException if the cookie name contains illegal characters
- * or it is one of the tokens reserved for use
- * by the cookie protocol
- * @throws NullPointerException if <tt>name</tt> is <tt>null</tt>
* @see #setValue
* @see #setVersion
- *
*/
-
public HttpCookie(String name, String value) {
+ this(name, value, null /*header*/);
+ }
+
+ private HttpCookie(String name, String value, String header) {
name = name.trim();
if (name.length() == 0 || !isToken(name) || isReserved(name)) {
throw new IllegalArgumentException("Illegal cookie name");
@@ -157,27 +148,39 @@ public final class HttpCookie implements Cloneable {
whenCreated = System.currentTimeMillis();
portlist = null;
+ this.header = header;
}
-
/**
* Constructs cookies from set-cookie or set-cookie2 header string.
* RFC 2965 section 3.2.2 set-cookie2 syntax indicates that one header line
* may contain more than one cookie definitions, so this is a static
* utility method instead of another constructor.
*
- * @param header a <tt>String</tt> specifying the set-cookie header.
- * The header should start with "set-cookie", or "set-cookie2"
- * token; or it should have no leading token at all.
- * @return a List of cookie parsed from header line string
- * @throws IllegalArgumentException if header string violates the cookie
- * specification's syntax, or the cookie
- * name contains llegal characters, or
- * the cookie name is one of the tokens
- * reserved for use by the cookie protocol
- * @throws NullPointerException if the header string is <tt>null</tt>
+ * @param header
+ * a {@code String} specifying the set-cookie header. The header
+ * should start with "set-cookie", or "set-cookie2" token; or it
+ * should have no leading token at all.
+ *
+ * @return a List of cookie parsed from header line string
+ *
+ * @throws IllegalArgumentException
+ * if header string violates the cookie specification's syntax, or
+ * the cookie name contains illegal characters, or the cookie name
+ * is one of the tokens reserved for use by the cookie protocol
+ * @throws NullPointerException
+ * if the header string is {@code null}
*/
public static List<HttpCookie> parse(String header) {
+ return parse(header, false);
+ }
+
+ // Private version of parse() that will store the original header used to
+ // create the cookie, in the cookie itself. This can be useful for filtering
+ // Set-Cookie[2] headers, using the internal parsing logic defined in this
+ // class.
+ private static List<HttpCookie> parse(String header, boolean retainHeader) {
+
int version = guessCookieVersion(header);
// if header start with set-cookie or set-cookie2, strip it off
@@ -187,14 +190,13 @@ public final class HttpCookie implements Cloneable {
header = header.substring(SET_COOKIE.length());
}
-
- List<HttpCookie> cookies = new java.util.ArrayList<HttpCookie>();
- // The Netscape cookie may have a comma in its expires attribute,
- // while the comma is the delimiter in rfc 2965/2109 cookie header string.
+ List<HttpCookie> cookies = new java.util.ArrayList<>();
+ // The Netscape cookie may have a comma in its expires attribute, while
+ // the comma is the delimiter in rfc 2965/2109 cookie header string.
// so the parse logic is slightly different
if (version == 0) {
// Netscape draft cookie
- HttpCookie cookie = parseInternal(header);
+ HttpCookie cookie = parseInternal(header, retainHeader);
cookie.setVersion(0);
cookies.add(cookie);
} else {
@@ -203,7 +205,7 @@ public final class HttpCookie implements Cloneable {
// it'll separate them with comma
List<String> cookieStrings = splitMultiCookies(header);
for (String cookieStr : cookieStrings) {
- HttpCookie cookie = parseInternal(cookieStr);
+ HttpCookie cookie = parseInternal(cookieStr, retainHeader);
cookie.setVersion(1);
cookies.add(cookie);
}
@@ -212,17 +214,13 @@ public final class HttpCookie implements Cloneable {
return cookies;
}
-
-
-
- /* ---------------- Public operations -------------- */
-
+ // ---------------- Public operations --------------
/**
- * Reports whether this http cookie has expired or not.
+ * Reports whether this HTTP cookie has expired or not.
*
- * @return <tt>true</tt> to indicate this http cookie has expired;
- * otherwise, <tt>false</tt>
+ * @return {@code true} to indicate this HTTP cookie has expired;
+ * otherwise, {@code false}
*/
public boolean hasExpired() {
if (maxAge == 0) return true;
@@ -240,155 +238,123 @@ public final class HttpCookie implements Cloneable {
}
/**
- *
* Specifies a comment that describes a cookie's purpose.
* The comment is useful if the browser presents the cookie
- * to the user. Comments
- * are not supported by Netscape Version 0 cookies.
+ * to the user. Comments are not supported by Netscape Version 0 cookies.
*
- * @param purpose a <code>String</code> specifying the comment
- * to display to the user
- *
- * @see #getComment
+ * @param purpose
+ * a {@code String} specifying the comment to display to the user
*
+ * @see #getComment
*/
-
public void setComment(String purpose) {
comment = purpose;
}
-
-
-
/**
* Returns the comment describing the purpose of this cookie, or
- * <code>null</code> if the cookie has no comment.
- *
- * @return a <code>String</code> containing the comment,
- * or <code>null</code> if none
+ * {@code null} if the cookie has no comment.
*
- * @see #setComment
+ * @return a {@code String} containing the comment, or {@code null} if none
*
+ * @see #setComment
*/
-
public String getComment() {
return comment;
}
-
/**
+ * Specifies a comment URL that describes a cookie's purpose.
+ * The comment URL is useful if the browser presents the cookie
+ * to the user. Comment URL is RFC 2965 only.
*
- * Specifies a comment url that describes a cookie's purpose.
- * The comment url is useful if the browser presents the cookie
- * to the user. Comment url is RFC 2965 only.
- *
- * @param purpose a <code>String</code> specifying the comment url
- * to display to the user
- *
- * @see #getCommentURL
+ * @param purpose
+ * a {@code String} specifying the comment URL to display to the user
*
+ * @see #getCommentURL
*/
-
public void setCommentURL(String purpose) {
commentURL = purpose;
}
-
-
-
/**
- * Returns the comment url describing the purpose of this cookie, or
- * <code>null</code> if the cookie has no comment url.
+ * Returns the comment URL describing the purpose of this cookie, or
+ * {@code null} if the cookie has no comment URL.
*
- * @return a <code>String</code> containing the comment url,
- * or <code>null</code> if none
- *
- * @see #setCommentURL
+ * @return a {@code String} containing the comment URL, or {@code null}
+ * if none
*
+ * @see #setCommentURL
*/
-
public String getCommentURL() {
return commentURL;
}
-
/**
* Specify whether user agent should discard the cookie unconditionally.
* This is RFC 2965 only attribute.
*
- * @param discard <tt>true</tt> indicates to discard cookie unconditionally
+ * @param discard
+ * {@code true} indicates to discard cookie unconditionally
*
- * @see #getDiscard
+ * @see #getDiscard
*/
-
public void setDiscard(boolean discard) {
toDiscard = discard;
}
-
-
-
/**
- * Return the discard attribute of the cookie
+ * Returns the discard attribute of the cookie
*
- * @return a <tt>boolean</tt> to represent this cookie's discard attribute
+ * @return a {@code boolean} to represent this cookie's discard attribute
*
- * @see #setDiscard
+ * @see #setDiscard
*/
-
public boolean getDiscard() {
return toDiscard;
}
-
/**
* Specify the portlist of the cookie, which restricts the port(s)
* to which a cookie may be sent back in a Cookie header.
*
- * @param ports a <tt>String</tt> specify the port list, which is
- * comma seperated series of digits
- * @see #getPortlist
+ * @param ports
+ * a {@code String} specify the port list, which is comma separated
+ * series of digits
+ *
+ * @see #getPortlist
*/
-
public void setPortlist(String ports) {
portlist = ports;
}
-
-
-
/**
- * Return the port list attribute of the cookie
+ * Returns the port list attribute of the cookie
*
- * @return a <tt>String</tt> contains the port list
- * or <tt>null</tt> if none
- * @see #setPortlist
+ * @return a {@code String} contains the port list or {@code null} if none
+ *
+ * @see #setPortlist
*/
-
public String getPortlist() {
return portlist;
}
/**
- *
* Specifies the domain within which this cookie should be presented.
*
- * <p>The form of the domain name is specified by RFC 2965. A domain
- * name begins with a dot (<code>.foo.com</code>) and means that
+ * <p> The form of the domain name is specified by RFC 2965. A domain
+ * name begins with a dot ({@code .foo.com}) and means that
* the cookie is visible to servers in a specified Domain Name System
- * (DNS) zone (for example, <code>www.foo.com</code>, but not
- * <code>a.b.foo.com</code>). By default, cookies are only returned
+ * (DNS) zone (for example, {@code www.foo.com}, but not
+ * {@code a.b.foo.com}). By default, cookies are only returned
* to the server that sent them.
*
+ * @param pattern
+ * a {@code String} containing the domain name within which this
+ * cookie is visible; form is according to RFC 2965
*
- * @param pattern a <code>String</code> containing the domain name
- * within which this cookie is visible;
- * form is according to RFC 2965
- *
- * @see #getDomain
- *
+ * @see #getDomain
*/
-
public void setDomain(String pattern) {
if (pattern != null)
domain = pattern.toLowerCase();
@@ -396,261 +362,187 @@ public final class HttpCookie implements Cloneable {
domain = pattern;
}
-
-
-
-
/**
- * Returns the domain name set for this cookie. The form of
- * the domain name is set by RFC 2965.
- *
- * @return a <code>String</code> containing the domain name
+ * Returns the domain name set for this cookie. The form of the domain name
+ * is set by RFC 2965.
*
- * @see #setDomain
+ * @return a {@code String} containing the domain name
*
+ * @see #setDomain
*/
-
public String getDomain() {
return domain;
}
-
/**
* Sets the maximum age of the cookie in seconds.
*
- * <p>A positive value indicates that the cookie will expire
+ * <p> A positive value indicates that the cookie will expire
* after that many seconds have passed. Note that the value is
* the <i>maximum</i> age when the cookie will expire, not the cookie's
* current age.
*
- * <p>A negative value means
- * that the cookie is not stored persistently and will be deleted
- * when the Web browser exits. A zero value causes the cookie
- * to be deleted.
+ * <p> A negative value means that the cookie is not stored persistently
+ * and will be deleted when the Web browser exits. A zero value causes the
+ * cookie to be deleted.
*
- * @param expiry an integer specifying the maximum age of the
- * cookie in seconds; if zero, the cookie
- * should be discarded immediately;
- * otherwise, the cookie's max age is unspecified.
- *
- * @see #getMaxAge
+ * @param expiry
+ * an integer specifying the maximum age of the cookie in seconds;
+ * if zero, the cookie should be discarded immediately; otherwise,
+ * the cookie's max age is unspecified.
*
+ * @see #getMaxAge
*/
public void setMaxAge(long expiry) {
maxAge = expiry;
}
-
-
-
/**
- * Returns the maximum age of the cookie, specified in seconds.
- * By default, <code>-1</code> indicating the cookie will persist
- * until browser shutdown.
- *
- *
- * @return an integer specifying the maximum age of the
- * cookie in seconds
+ * Returns the maximum age of the cookie, specified in seconds. By default,
+ * {@code -1} indicating the cookie will persist until browser shutdown.
*
+ * @return an integer specifying the maximum age of the cookie in seconds
*
- * @see #setMaxAge
- *
+ * @see #setMaxAge
*/
-
public long getMaxAge() {
return maxAge;
}
-
-
-
/**
- * Specifies a path for the cookie
- * to which the client should return the cookie.
+ * Specifies a path for the cookie to which the client should return
+ * the cookie.
*
- * <p>The cookie is visible to all the pages in the directory
+ * <p> The cookie is visible to all the pages in the directory
* you specify, and all the pages in that directory's subdirectories.
* A cookie's path must include the servlet that set the cookie,
* for example, <i>/catalog</i>, which makes the cookie
* visible to all directories on the server under <i>/catalog</i>.
*
- * <p>Consult RFC 2965 (available on the Internet) for more
+ * <p> Consult RFC 2965 (available on the Internet) for more
* information on setting path names for cookies.
*
+ * @param uri
+ * a {@code String} specifying a path
*
- * @param uri a <code>String</code> specifying a path
- *
- *
- * @see #getPath
- *
+ * @see #getPath
*/
-
public void setPath(String uri) {
path = uri;
}
-
-
-
/**
- * Returns the path on the server
- * to which the browser returns this cookie. The
- * cookie is visible to all subpaths on the server.
- *
- *
- * @return a <code>String</code> specifying a path that contains
- * a servlet name, for example, <i>/catalog</i>
+ * Returns the path on the server to which the browser returns this cookie.
+ * The cookie is visible to all subpaths on the server.
*
- * @see #setPath
+ * @return a {@code String} specifying a path that contains a servlet name,
+ * for example, <i>/catalog</i>
*
+ * @see #setPath
*/
-
public String getPath() {
return path;
}
-
-
-
-
/**
* Indicates whether the cookie should only be sent using a secure protocol,
* such as HTTPS or SSL.
*
- * <p>The default value is <code>false</code>.
+ * <p> The default value is {@code false}.
*
- * @param flag If <code>true</code>, the cookie can only be sent over
- * a secure protocol like https.
- * If <code>false</code>, it can be sent over any protocol.
- *
- * @see #getSecure
+ * @param flag
+ * If {@code true}, the cookie can only be sent over a secure
+ * protocol like HTTPS. If {@code false}, it can be sent over
+ * any protocol.
*
+ * @see #getSecure
*/
-
public void setSecure(boolean flag) {
secure = flag;
}
-
-
-
/**
- * Returns <code>true</code> if sending this cookie should be
- * restricted to a secure protocol, or <code>false</code> if the
- * it can be sent using any protocol.
- *
- * @return <code>false</code> if the cookie can be sent over
- * any standard protocol; otherwise, <code>true</code>
+ * Returns {@code true} if sending this cookie should be restricted to a
+ * secure protocol, or {@code false} if the it can be sent using any
+ * protocol.
*
- * @see #setSecure
+ * @return {@code false} if the cookie can be sent over any standard
+ * protocol; otherwise, <code>true</code>
*
+ * @see #setSecure
*/
-
public boolean getSecure() {
return secure;
}
-
-
-
-
/**
* Returns the name of the cookie. The name cannot be changed after
* creation.
*
- * @return a <code>String</code> specifying the cookie's name
- *
+ * @return a {@code String} specifying the cookie's name
*/
-
public String getName() {
return name;
}
-
-
-
-
/**
- *
* Assigns a new value to a cookie after the cookie is created.
* If you use a binary value, you may want to use BASE64 encoding.
*
- * <p>With Version 0 cookies, values should not contain white
- * space, brackets, parentheses, equals signs, commas,
- * double quotes, slashes, question marks, at signs, colons,
- * and semicolons. Empty values may not behave the same way
- * on all browsers.
- *
- * @param newValue a <code>String</code> specifying the new value
+ * <p> With Version 0 cookies, values should not contain white space,
+ * brackets, parentheses, equals signs, commas, double quotes, slashes,
+ * question marks, at signs, colons, and semicolons. Empty values may not
+ * behave the same way on all browsers.
*
+ * @param newValue
+ * a {@code String} specifying the new value
*
- * @see #getValue
- *
+ * @see #getValue
*/
-
public void setValue(String newValue) {
value = newValue;
}
-
-
-
/**
* Returns the value of the cookie.
*
- * @return a <code>String</code> containing the cookie's
- * present value
- *
- * @see #setValue
+ * @return a {@code String} containing the cookie's present value
*
+ * @see #setValue
*/
-
public String getValue() {
return value;
}
-
-
-
/**
- * Returns the version of the protocol this cookie complies
- * with. Version 1 complies with RFC 2965/2109,
- * and version 0 complies with the original
- * cookie specification drafted by Netscape. Cookies provided
- * by a browser use and identify the browser's cookie version.
+ * Returns the version of the protocol this cookie complies with. Version 1
+ * complies with RFC 2965/2109, and version 0 complies with the original
+ * cookie specification drafted by Netscape. Cookies provided by a browser
+ * use and identify the browser's cookie version.
*
+ * @return 0 if the cookie complies with the original Netscape
+ * specification; 1 if the cookie complies with RFC 2965/2109
*
- * @return 0 if the cookie complies with the
- * original Netscape specification; 1
- * if the cookie complies with RFC 2965/2109
- *
- * @see #setVersion
- *
+ * @see #setVersion
*/
-
public int getVersion() {
return version;
}
-
-
-
/**
* Sets the version of the cookie protocol this cookie complies
* with. Version 0 complies with the original Netscape cookie
* specification. Version 1 complies with RFC 2965/2109.
*
+ * @param v
+ * 0 if the cookie should comply with the original Netscape
+ * specification; 1 if the cookie should comply with RFC 2965/2109
*
- * @param v 0 if the cookie should comply with
- * the original Netscape specification;
- * 1 if the cookie should comply with RFC 2965/2109
- *
- * @throws IllegalArgumentException if <tt>v</tt> is neither 0 nor 1
- *
- * @see #getVersion
+ * @throws IllegalArgumentException
+ * if {@code v} is neither 0 nor 1
*
+ * @see #getVersion
*/
-
public void setVersion(int v) {
if (v != 0 && v != 1) {
throw new IllegalArgumentException("cookie version should be 0 or 1");
@@ -664,11 +556,11 @@ public final class HttpCookie implements Cloneable {
* attribute. This means that the cookie should not be accessible to
* scripting engines, like javascript.
*
- * @return {@code true} if this cookie should be considered http only.
- * @see #setHttpOnly(boolean)
+ * @return {@code true} if this cookie should be considered HTTPOnly
+ *
+ * @see #setHttpOnly(boolean)
*/
- public boolean isHttpOnly()
- {
+ public boolean isHttpOnly() {
return httpOnly;
}
@@ -677,24 +569,25 @@ public final class HttpCookie implements Cloneable {
* {@code true} it means the cookie should not be accessible to scripting
* engines like javascript.
*
- * @param httpOnly if {@code true} make the cookie HTTP only, i.e.
- * only visible as part of an HTTP request.
- * @see #isHttpOnly()
+ * @param httpOnly
+ * if {@code true} make the cookie HTTP only, i.e. only visible as
+ * part of an HTTP request.
+ *
+ * @see #isHttpOnly()
*/
- public void setHttpOnly(boolean httpOnly)
- {
+ public void setHttpOnly(boolean httpOnly) {
this.httpOnly = httpOnly;
}
/**
- * The utility method to check whether a host name is in a domain
- * or not.
+ * The utility method to check whether a host name is in a domain or not.
*
- * <p>This concept is described in the cookie specification.
+ * <p> This concept is described in the cookie specification.
* To understand the concept, some terminologies need to be defined first:
* <blockquote>
* effective host name = hostname if host name contains dot<br>
- * or = hostname.local if not
+ *
+ * or = hostname.local if not
* </blockquote>
* <p>Host A's name domain-matches host B's if:
* <blockquote><ul>
@@ -731,9 +624,13 @@ public final class HttpCookie implements Cloneable {
* host is example.local, and example.local domain-matches .local.</li>
* </ul></blockquote>
*
- * @param domain the domain name to check host name with
- * @param host the host name in question
- * @return <tt>true</tt> if they domain-matches; <tt>false</tt> if not
+ * @param domain
+ * the domain name to check host name with
+ *
+ * @param host
+ * the host name in question
+ *
+ * @return {@code true} if they domain-matches; {@code false} if not
*/
public static boolean domainMatches(String domain, String host) {
if (domain == null || host == null)
@@ -745,7 +642,8 @@ public final class HttpCookie implements Cloneable {
if (embeddedDotInDomain == 0)
embeddedDotInDomain = domain.indexOf('.', 1);
if (!isLocalDomain
- && (embeddedDotInDomain == -1 || embeddedDotInDomain == domain.length() - 1))
+ && (embeddedDotInDomain == -1 ||
+ embeddedDotInDomain == domain.length() - 1))
return false;
// if the host name contains no dot and the domain name
@@ -779,7 +677,6 @@ public final class HttpCookie implements Cloneable {
return false;
}
-
/**
* Constructs a cookie header string representation of this cookie,
* which is in the format defined by corresponding cookie specification,
@@ -796,17 +693,15 @@ public final class HttpCookie implements Cloneable {
}
}
-
/**
- * Test the equality of two http cookies.
+ * Test the equality of two HTTP cookies.
*
- * <p> The result is <tt>true</tt> only if two cookies
- * come from same domain (case-insensitive),
- * have same name (case-insensitive),
- * and have same path (case-sensitive).
+ * <p> The result is {@code true} only if two cookies come from same domain
+ * (case-insensitive), have same name (case-insensitive), and have same path
+ * (case-sensitive).
*
- * @return <tt>true</tt> if 2 http cookies equal to each other;
- * otherwise, <tt>false</tt>
+ * @return {@code true} if two HTTP cookies equal to each other;
+ * otherwise, {@code false}
*/
@Override
public boolean equals(Object obj) {
@@ -825,19 +720,17 @@ public final class HttpCookie implements Cloneable {
Objects.equals(getPath(), other.getPath());
}
-
/**
- * Return hash code of this http cookie. The result is the sum of
- * hash code value of three significant components of this cookie:
- * name, domain, and path.
- * That is, the hash code is the value of the expression:
+ * Returns the hash code of this HTTP cookie. The result is the sum of
+ * hash code value of three significant components of this cookie: name,
+ * domain, and path. That is, the hash code is the value of the expression:
* <blockquote>
* getName().toLowerCase().hashCode()<br>
* + getDomain().toLowerCase().hashCode()<br>
* + getPath().hashCode()
* </blockquote>
*
- * @return this http cookie's hash code
+ * @return this HTTP cookie's hash code
*/
@Override
public int hashCode() {
@@ -851,7 +744,7 @@ public final class HttpCookie implements Cloneable {
/**
* Create and return a copy of this object.
*
- * @return a clone of this http cookie
+ * @return a clone of this HTTP cookie
*/
@Override
public Object clone() {
@@ -862,8 +755,7 @@ public final class HttpCookie implements Cloneable {
}
}
-
- /* ---------------- Private operations -------------- */
+ // ---------------- Private operations --------------
// Note -- disabled for now to allow full Netscape compatibility
// from RFC 2068, token special case characters
@@ -872,15 +764,14 @@ public final class HttpCookie implements Cloneable {
private static final String tspecials = ",;";
/*
- * Tests a string and returns true if the string counts as a
- * token.
+ * Tests a string and returns true if the string counts as a token.
*
- * @param value the <code>String</code> to be tested
+ * @param value
+ * the {@code String} to be tested
*
- * @return <code>true</code> if the <code>String</code> is
- * a token; <code>false</code> if it is not
+ * @return {@code true} if the {@code String} is a token;
+ * {@code false} if it is not
*/
-
private static boolean isToken(String value) {
int len = value.length();
@@ -893,11 +784,12 @@ public final class HttpCookie implements Cloneable {
return true;
}
-
/*
- * @param name the name to be tested
- * @return <tt>true</tt> if the name is reserved by cookie
- * specification, <tt>false</tt> if it is not
+ * @param name
+ * the name to be tested
+ *
+ * @return {@code true} if the name is reserved by cookie specification,
+ * {@code false} if it is not
*/
private static boolean isReserved(String name) {
if (name.equalsIgnoreCase("Comment")
@@ -919,18 +811,19 @@ public final class HttpCookie implements Cloneable {
return false;
}
-
/*
* Parse header string to cookie object.
*
- * @param header header string; should contain only one NAME=VALUE pair
+ * @param header
+ * header string; should contain only one NAME=VALUE pair
*
- * @return an HttpCookie being extracted
+ * @return an HttpCookie being extracted
*
- * @throws IllegalArgumentException if header string violates the cookie
- * specification
+ * @throws IllegalArgumentException
+ * if header string violates the cookie specification
*/
- private static HttpCookie parseInternal(String header)
+ private static HttpCookie parseInternal(String header,
+ boolean retainHeader)
{
HttpCookie cookie = null;
String namevaluePair = null;
@@ -945,7 +838,13 @@ public final class HttpCookie implements Cloneable {
if (index != -1) {
String name = namevaluePair.substring(0, index).trim();
String value = namevaluePair.substring(index + 1).trim();
- cookie = new HttpCookie(name, stripOffSurroundingQuote(value));
+ if (retainHeader)
+ cookie = new HttpCookie(name,
+ stripOffSurroundingQuote(value),
+ header);
+ else
+ cookie = new HttpCookie(name,
+ stripOffSurroundingQuote(value));
} else {
// no "=" in name-value pair; it's an error
throw new IllegalArgumentException("Invalid cookie name-value pair");
@@ -974,69 +873,97 @@ public final class HttpCookie implements Cloneable {
return cookie;
}
-
/*
* assign cookie attribute value to attribute name;
* use a map to simulate method dispatch
*/
static interface CookieAttributeAssignor {
- public void assign(HttpCookie cookie, String attrName, String attrValue);
+ public void assign(HttpCookie cookie,
+ String attrName,
+ String attrValue);
}
- static java.util.Map<String, CookieAttributeAssignor> assignors = null;
+ static final java.util.Map<String, CookieAttributeAssignor> assignors =
+ new java.util.HashMap<>();
static {
- assignors = new java.util.HashMap<String, CookieAttributeAssignor>();
- assignors.put("comment", new CookieAttributeAssignor(){
- public void assign(HttpCookie cookie, String attrName, String attrValue) {
- if (cookie.getComment() == null) cookie.setComment(attrValue);
+ assignors.put("comment", new CookieAttributeAssignor() {
+ public void assign(HttpCookie cookie,
+ String attrName,
+ String attrValue) {
+ if (cookie.getComment() == null)
+ cookie.setComment(attrValue);
}
});
- assignors.put("commenturl", new CookieAttributeAssignor(){
- public void assign(HttpCookie cookie, String attrName, String attrValue) {
- if (cookie.getCommentURL() == null) cookie.setCommentURL(attrValue);
+ assignors.put("commenturl", new CookieAttributeAssignor() {
+ public void assign(HttpCookie cookie,
+ String attrName,
+ String attrValue) {
+ if (cookie.getCommentURL() == null)
+ cookie.setCommentURL(attrValue);
}
});
- assignors.put("discard", new CookieAttributeAssignor(){
- public void assign(HttpCookie cookie, String attrName, String attrValue) {
+ assignors.put("discard", new CookieAttributeAssignor() {
+ public void assign(HttpCookie cookie,
+ String attrName,
+ String attrValue) {
cookie.setDiscard(true);
}
});
assignors.put("domain", new CookieAttributeAssignor(){
- public void assign(HttpCookie cookie, String attrName, String attrValue) {
- if (cookie.getDomain() == null) cookie.setDomain(attrValue);
+ public void assign(HttpCookie cookie,
+ String attrName,
+ String attrValue) {
+ if (cookie.getDomain() == null)
+ cookie.setDomain(attrValue);
}
});
assignors.put("max-age", new CookieAttributeAssignor(){
- public void assign(HttpCookie cookie, String attrName, String attrValue) {
+ public void assign(HttpCookie cookie,
+ String attrName,
+ String attrValue) {
try {
long maxage = Long.parseLong(attrValue);
- if (cookie.getMaxAge() == MAX_AGE_UNSPECIFIED) cookie.setMaxAge(maxage);
+ if (cookie.getMaxAge() == MAX_AGE_UNSPECIFIED)
+ cookie.setMaxAge(maxage);
} catch (NumberFormatException ignored) {
- throw new IllegalArgumentException("Illegal cookie max-age attribute");
+ throw new IllegalArgumentException(
+ "Illegal cookie max-age attribute");
}
}
});
assignors.put("path", new CookieAttributeAssignor(){
- public void assign(HttpCookie cookie, String attrName, String attrValue) {
- if (cookie.getPath() == null) cookie.setPath(attrValue);
+ public void assign(HttpCookie cookie,
+ String attrName,
+ String attrValue) {
+ if (cookie.getPath() == null)
+ cookie.setPath(attrValue);
}
});
assignors.put("port", new CookieAttributeAssignor(){
- public void assign(HttpCookie cookie, String attrName, String attrValue) {
- if (cookie.getPortlist() == null) cookie.setPortlist(attrValue == null ? "" : attrValue);
+ public void assign(HttpCookie cookie,
+ String attrName,
+ String attrValue) {
+ if (cookie.getPortlist() == null)
+ cookie.setPortlist(attrValue == null ? "" : attrValue);
}
});
assignors.put("secure", new CookieAttributeAssignor(){
- public void assign(HttpCookie cookie, String attrName, String attrValue) {
+ public void assign(HttpCookie cookie,
+ String attrName,
+ String attrValue) {
cookie.setSecure(true);
}
});
assignors.put("httponly", new CookieAttributeAssignor(){
- public void assign(HttpCookie cookie, String attrName, String attrValue) {
+ public void assign(HttpCookie cookie,
+ String attrName,
+ String attrValue) {
cookie.setHttpOnly(true);
}
});
assignors.put("version", new CookieAttributeAssignor(){
- public void assign(HttpCookie cookie, String attrName, String attrValue) {
+ public void assign(HttpCookie cookie,
+ String attrName,
+ String attrValue) {
try {
int version = Integer.parseInt(attrValue);
cookie.setVersion(version);
@@ -1046,7 +973,9 @@ public final class HttpCookie implements Cloneable {
}
});
assignors.put("expires", new CookieAttributeAssignor(){ // Netscape only
- public void assign(HttpCookie cookie, String attrName, String attrValue) {
+ public void assign(HttpCookie cookie,
+ String attrName,
+ String attrValue) {
if (cookie.getMaxAge() == MAX_AGE_UNSPECIFIED) {
cookie.setMaxAge(cookie.expiryDate2DeltaSeconds(attrValue));
}
@@ -1054,8 +983,8 @@ public final class HttpCookie implements Cloneable {
});
}
private static void assignAttribute(HttpCookie cookie,
- String attrName,
- String attrValue)
+ String attrName,
+ String attrValue)
{
// strip off the surrounding "-sign if there's any
attrValue = stripOffSurroundingQuote(attrValue);
@@ -1068,16 +997,34 @@ public final class HttpCookie implements Cloneable {
}
}
+ static {
+ sun.misc.SharedSecrets.setJavaNetHttpCookieAccess(
+ new sun.misc.JavaNetHttpCookieAccess() {
+ public List<HttpCookie> parse(String header) {
+ return HttpCookie.parse(header, true);
+ }
+
+ public String header(HttpCookie cookie) {
+ return cookie.header;
+ }
+ }
+ );
+ }
+
+ /*
+ * Returns the original header this cookie was consructed from, if it was
+ * constructed by parsing a header, otherwise null.
+ */
+ private String header() {
+ return header;
+ }
+
/*
* Constructs a string representation of this cookie. The string format is
* as Netscape spec, but without leading "Cookie:" token.
*/
private String toNetscapeHeaderString() {
- StringBuilder sb = new StringBuilder();
-
- sb.append(getName() + "=" + getValue());
-
- return sb.toString();
+ return getName() + "=" + getValue();
}
/*
@@ -1101,15 +1048,16 @@ public final class HttpCookie implements Cloneable {
static final TimeZone GMT = TimeZone.getTimeZone("GMT");
/*
- * @param dateString a date string in one of the formats
- * defined in Netscape cookie spec
+ * @param dateString
+ * a date string in one of the formats defined in Netscape cookie spec
*
- * @return delta seconds between this cookie's creation
- * time and the time specified by dateString
+ * @return delta seconds between this cookie's creation time and the time
+ * specified by dateString
*/
private long expiryDate2DeltaSeconds(String dateString) {
for (int i = 0; i < COOKIE_DATE_FORMATS.length; i++) {
- SimpleDateFormat df = new SimpleDateFormat(COOKIE_DATE_FORMATS[i], Locale.US);
+ SimpleDateFormat df = new SimpleDateFormat(COOKIE_DATE_FORMATS[i],
+ Locale.US);
df.setTimeZone(GMT);
try {
Date date = df.parse(dateString);
@@ -1121,8 +1069,6 @@ public final class HttpCookie implements Cloneable {
return 0;
}
-
-
/*
* try to guess the cookie version through set-cookie header string
*/
@@ -1184,10 +1130,10 @@ public final class HttpCookie implements Cloneable {
* 2) but not the comma surrounding by double-quotes, which is the comma
* inside port list or embeded URIs.
*
- * @param header the cookie header string to split
- *
- * @return list of strings; never null
+ * @param header
+ * the cookie header string to split
*
+ * @return list of strings; never null
*/
private static List<String> splitMultiCookies(String header) {
List<String> cookies = new java.util.ArrayList<String>();
@@ -1197,7 +1143,8 @@ public final class HttpCookie implements Cloneable {
for (p = 0, q = 0; p < header.length(); p++) {
char c = header.charAt(p);
if (c == '"') quoteCount++;
- if (c == ',' && (quoteCount % 2 == 0)) { // it is comma and not surrounding by double-quotes
+ if (c == ',' && (quoteCount % 2 == 0)) {
+ // it is comma and not surrounding by double-quotes
cookies.add(header.substring(q, p));
q = p + 1;
}
diff --git a/jdk/src/share/classes/java/net/InetAddress.java b/jdk/src/share/classes/java/net/InetAddress.java
index 8758cab..d927d16 100644
--- a/jdk/src/share/classes/java/net/InetAddress.java
+++ b/jdk/src/share/classes/java/net/InetAddress.java
@@ -32,6 +32,7 @@ import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.ArrayList;
+import java.util.ServiceLoader;
import java.security.AccessController;
import java.io.ObjectStreamException;
import java.io.IOException;
@@ -39,7 +40,6 @@ import java.io.ObjectInputStream;
import sun.security.action.*;
import sun.net.InetAddressCachePolicy;
import sun.net.util.IPAddressUtil;
-import sun.misc.Service;
import sun.net.spi.nameservice.*;
/**
@@ -876,10 +876,9 @@ class InetAddress implements java.io.Serializable {
nameService = java.security.AccessController.doPrivileged(
new java.security.PrivilegedExceptionAction<NameService>() {
public NameService run() {
- // sun.misc.Service.providers returns a raw Iterator
- @SuppressWarnings("unchecked")
Iterator<NameServiceDescriptor> itr =
- Service.providers(NameServiceDescriptor.class);
+ ServiceLoader.load(NameServiceDescriptor.class)
+ .iterator();
while (itr.hasNext()) {
NameServiceDescriptor nsd = itr.next();
if (providerName.
diff --git a/jdk/src/share/classes/java/nio/file/FileTreeWalker.java b/jdk/src/share/classes/java/nio/file/FileTreeWalker.java
index 6e1a83f..7b1f43f 100644
--- a/jdk/src/share/classes/java/nio/file/FileTreeWalker.java
+++ b/jdk/src/share/classes/java/nio/file/FileTreeWalker.java
@@ -92,7 +92,7 @@ class FileTreeWalker {
(System.getSecurityManager() == null))
{
BasicFileAttributes cached = ((BasicFileAttributesHolder)file).get();
- if (!followLinks || !cached.isSymbolicLink())
+ if (cached != null && (!followLinks || !cached.isSymbolicLink()))
attrs = cached;
}
IOException exc = null;
diff --git a/jdk/src/share/classes/java/nio/file/Files.java b/jdk/src/share/classes/java/nio/file/Files.java
index 2683b7e..f46ae4c 100644
--- a/jdk/src/share/classes/java/nio/file/Files.java
+++ b/jdk/src/share/classes/java/nio/file/Files.java
@@ -1431,7 +1431,7 @@ public final class Files {
* <li>It is <i>transitive</i>: for three {@code Paths}
* {@code f}, {@code g}, and {@code h}, if {@code isSameFile(f,g)} returns
* {@code true} and {@code isSameFile(g,h)} returns {@code true}, then
- * {@code isSameFile(g,h)} will return return {@code true}.
+ * {@code isSameFile(f,h)} will return return {@code true}.
* </ul>
*
* @param path
diff --git a/jdk/src/share/classes/java/nio/file/Path.java b/jdk/src/share/classes/java/nio/file/Path.java
index 6e57268..92cd1f9 100644
--- a/jdk/src/share/classes/java/nio/file/Path.java
+++ b/jdk/src/share/classes/java/nio/file/Path.java
@@ -72,7 +72,7 @@ import java.util.Iterator;
* directory and is UTF-8 encoded.
* <pre>
* Path path = FileSystems.getDefault().getPath("logs", "access.log");
- * BufferReader reader = Files.newBufferedReader(path, StandardCharsets.UTF_8);
+ * BufferedReader reader = Files.newBufferedReader(path, StandardCharsets.UTF_8);
* </pre>
*
* <a name="interop"><h4>Interoperability</h4></a>
diff --git a/jdk/src/share/classes/java/nio/file/attribute/AclEntry.java b/jdk/src/share/classes/java/nio/file/attribute/AclEntry.java
index 25ad684..9b4ef8a 100644
--- a/jdk/src/share/classes/java/nio/file/attribute/AclEntry.java
+++ b/jdk/src/share/classes/java/nio/file/attribute/AclEntry.java
@@ -175,9 +175,15 @@ public final class AclEntry {
* AclEntryPermission}
*/
public Builder setPermissions(Set<AclEntryPermission> perms) {
- // copy and check for erroneous elements
- perms = EnumSet.copyOf(perms);
- checkSet(perms, AclEntryPermission.class);
+ if (perms.isEmpty()) {
+ // EnumSet.copyOf does not allow empty set
+ perms = Collections.emptySet();
+ } else {
+ // copy and check for erroneous elements
+ perms = EnumSet.copyOf(perms);
+ checkSet(perms, AclEntryPermission.class);
+ }
+
this.perms = perms;
return this;
}
@@ -212,9 +218,15 @@ public final class AclEntry {
* AclEntryFlag}
*/
public Builder setFlags(Set<AclEntryFlag> flags) {
- // copy and check for erroneous elements
- flags = EnumSet.copyOf(flags);
- checkSet(flags, AclEntryFlag.class);
+ if (flags.isEmpty()) {
+ // EnumSet.copyOf does not allow empty set
+ flags = Collections.emptySet();
+ } else {
+ // copy and check for erroneous elements
+ flags = EnumSet.copyOf(flags);
+ checkSet(flags, AclEntryFlag.class);
+ }
+
this.flags = flags;
return this;
}
diff --git a/jdk/src/share/classes/java/nio/file/spi/FileSystemProvider.java b/jdk/src/share/classes/java/nio/file/spi/FileSystemProvider.java
index 6d676a5..84e92d9 100644
--- a/jdk/src/share/classes/java/nio/file/spi/FileSystemProvider.java
+++ b/jdk/src/share/classes/java/nio/file/spi/FileSystemProvider.java
@@ -373,11 +373,13 @@ public abstract class FileSystemProvider {
{
if (options.length > 0) {
for (OpenOption opt: options) {
- if (opt != StandardOpenOption.READ)
+ // All OpenOption values except for APPEND and WRITE are allowed
+ if (opt == StandardOpenOption.APPEND ||
+ opt == StandardOpenOption.WRITE)
throw new UnsupportedOperationException("'" + opt + "' not allowed");
}
}
- return Channels.newInputStream(Files.newByteChannel(path));
+ return Channels.newInputStream(Files.newByteChannel(path, options));
}
/**
diff --git a/jdk/src/share/classes/java/rmi/MarshalledObject.java b/jdk/src/share/classes/java/rmi/MarshalledObject.java
index cd88129..4ac4a8b 100644
--- a/jdk/src/share/classes/java/rmi/MarshalledObject.java
+++ b/jdk/src/share/classes/java/rmi/MarshalledObject.java
@@ -156,6 +156,7 @@ public final class MarshalledObject<T> implements Serializable {
(locBytes == null ? null : new ByteArrayInputStream(locBytes));
MarshalledObjectInputStream in =
new MarshalledObjectInputStream(bin, lin);
+ @SuppressWarnings("unchecked")
T obj = (T) in.readObject();
in.close();
return obj;
@@ -190,7 +191,7 @@ public final class MarshalledObject<T> implements Serializable {
return true;
if (obj != null && obj instanceof MarshalledObject) {
- MarshalledObject other = (MarshalledObject) obj;
+ MarshalledObject<?> other = (MarshalledObject<?>) obj;
// if either is a ref to null, both must be
if (objBytes == null || other.objBytes == null)
diff --git a/jdk/src/share/classes/java/rmi/dgc/VMID.java b/jdk/src/share/classes/java/rmi/dgc/VMID.java
index c9f1647..5e9c0a5 100644
--- a/jdk/src/share/classes/java/rmi/dgc/VMID.java
+++ b/jdk/src/share/classes/java/rmi/dgc/VMID.java
@@ -118,7 +118,7 @@ public final class VMID implements java.io.Serializable {
StringBuffer result = new StringBuffer();
if (addr != null)
for (int i = 0; i < addr.length; ++ i) {
- int x = (int) (addr[i] & 0xFF);
+ int x = addr[i] & 0xFF;
result.append((x < 0x10 ? "0" : "") +
Integer.toString(x, 16));
}
diff --git a/jdk/src/share/classes/java/rmi/server/LogStream.java b/jdk/src/share/classes/java/rmi/server/LogStream.java
index 4120e32..cc35f7a 100644
--- a/jdk/src/share/classes/java/rmi/server/LogStream.java
+++ b/jdk/src/share/classes/java/rmi/server/LogStream.java
@@ -39,7 +39,7 @@ import java.util.*;
public class LogStream extends PrintStream {
/** table mapping known log names to log stream objects */
- private static Hashtable known = new Hashtable(5);
+ private static Map<String,LogStream> known = new HashMap<>(5);
/** default output stream for new logs */
private static PrintStream defaultStream = System.err;
@@ -90,7 +90,7 @@ public class LogStream extends PrintStream {
public static LogStream log(String name) {
LogStream stream;
synchronized (known) {
- stream = (LogStream)known.get(name);
+ stream = known.get(name);
if (stream == null) {
stream = new LogStream(name, defaultStream);
}
diff --git a/jdk/src/share/classes/java/rmi/server/RemoteObject.java b/jdk/src/share/classes/java/rmi/server/RemoteObject.java
index 31aab0c..b3b32c5 100644
--- a/jdk/src/share/classes/java/rmi/server/RemoteObject.java
+++ b/jdk/src/share/classes/java/rmi/server/RemoteObject.java
@@ -436,7 +436,7 @@ public abstract class RemoteObject implements Remote, java.io.Serializable {
*/
String internalRefClassName =
RemoteRef.packagePrefix + "." + refClassName;
- Class refClass = Class.forName(internalRefClassName);
+ Class<?> refClass = Class.forName(internalRefClassName);
try {
ref = (RemoteRef) refClass.newInstance();
diff --git a/jdk/src/share/classes/java/security/Policy.java b/jdk/src/share/classes/java/security/Policy.java
index 7ed0ce2..b402c76 100644
--- a/jdk/src/share/classes/java/security/Policy.java
+++ b/jdk/src/share/classes/java/security/Policy.java
@@ -28,6 +28,7 @@ package java.security;
import java.util.Enumeration;
import java.util.WeakHashMap;
+import java.util.concurrent.atomic.AtomicReference;
import sun.security.jca.GetInstance;
import sun.security.util.Debug;
import sun.security.util.SecurityConstants;
@@ -60,8 +61,8 @@ import sun.security.util.SecurityConstants;
* with a standard type. The default policy type is "JavaPolicy".
*
* <p> Once a Policy instance has been installed (either by default, or by
- * calling <code>setPolicy</code>),
- * the Java runtime invokes its <code>implies</code> when it needs to
+ * calling <code>setPolicy</code>), the Java runtime invokes its
+ * <code>implies</code> method when it needs to
* determine whether executing code (encapsulated in a ProtectionDomain)
* can perform SecurityManager-protected operations. How a Policy object
* retrieves its policy data is up to the Policy implementation itself.
@@ -94,18 +95,33 @@ public abstract class Policy {
public static final PermissionCollection UNSUPPORTED_EMPTY_COLLECTION =
new UnsupportedEmptyCollection();
- /** the system-wide policy. */
- private static Policy policy; // package private for AccessControlContext
+ // Information about the system-wide policy.
+ private static class PolicyInfo {
+ // the system-wide policy
+ final Policy policy;
+ // a flag indicating if the system-wide policy has been initialized
+ final boolean initialized;
+
+ PolicyInfo(Policy policy, boolean initialized) {
+ this.policy = policy;
+ this.initialized = initialized;
+ }
+ }
+
+ // PolicyInfo is stored in an AtomicReference
+ private static AtomicReference<PolicyInfo> policy =
+ new AtomicReference<>(new PolicyInfo(null, false));
private static final Debug debug = Debug.getInstance("policy");
// Cache mapping ProtectionDomain.Key to PermissionCollection
private WeakHashMap<ProtectionDomain.Key, PermissionCollection> pdMapping;
- /** package private for AccessControlContext */
+ /** package private for AccessControlContext and ProtectionDomain */
static boolean isSet()
{
- return policy != null;
+ PolicyInfo pi = policy.get();
+ return pi.policy != null && pi.initialized == true;
}
private static void checkPermission(String type) {
@@ -143,80 +159,92 @@ public abstract class Policy {
/**
* Returns the installed Policy object, skipping the security check.
- * Used by SecureClassLoader and getPolicy.
+ * Used by ProtectionDomain and getPolicy.
*
* @return the installed Policy.
- *
*/
- static synchronized Policy getPolicyNoCheck()
+ static Policy getPolicyNoCheck()
{
- if (policy == null) {
- String policy_class = null;
- policy_class = AccessController.doPrivileged(
- new PrivilegedAction<String>() {
- public String run() {
- return Security.getProperty("policy.provider");
+ PolicyInfo pi = policy.get();
+ // Use double-check idiom to avoid locking if system-wide policy is
+ // already initialized
+ if (pi.initialized == false || pi.policy == null) {
+ synchronized (Policy.class) {
+ PolicyInfo pinfo = policy.get();
+ if (pinfo.policy == null) {
+ String policy_class = AccessController.doPrivileged(
+ new PrivilegedAction<String>() {
+ public String run() {
+ return Security.getProperty("policy.provider");
+ }
+ });
+ if (policy_class == null) {
+ policy_class = "sun.security.provider.PolicyFile";
}
- });
- if (policy_class == null) {
- policy_class = "sun.security.provider.PolicyFile";
- }
- try {
- policy = (Policy)
- Class.forName(policy_class).newInstance();
- } catch (Exception e) {
- /*
- * The policy_class seems to be an extension
- * so we have to bootstrap loading it via a policy
- * provider that is on the bootclasspath
- * If it loads then shift gears to using the configured
- * provider.
- */
-
- // install the bootstrap provider to avoid recursion
- policy = new sun.security.provider.PolicyFile();
-
- final String pc = policy_class;
- Policy p = AccessController.doPrivileged(
- new PrivilegedAction<Policy>() {
- public Policy run() {
- try {
- ClassLoader cl =
- ClassLoader.getSystemClassLoader();
- // we want the extension loader
- ClassLoader extcl = null;
- while (cl != null) {
- extcl = cl;
- cl = cl.getParent();
- }
- return (extcl != null ? (Policy)Class.forName(
- pc, true, extcl).newInstance() : null);
- } catch (Exception e) {
- if (debug != null) {
- debug.println("policy provider " +
- pc +
- " not available");
- e.printStackTrace();
+ try {
+ pinfo = new PolicyInfo(
+ (Policy) Class.forName(policy_class).newInstance(),
+ true);
+ } catch (Exception e) {
+ /*
+ * The policy_class seems to be an extension
+ * so we have to bootstrap loading it via a policy
+ * provider that is on the bootclasspath.
+ * If it loads then shift gears to using the configured
+ * provider.
+ */
+
+ // install the bootstrap provider to avoid recursion
+ Policy polFile = new sun.security.provider.PolicyFile();
+ pinfo = new PolicyInfo(polFile, false);
+ policy.set(pinfo);
+
+ final String pc = policy_class;
+ Policy pol = AccessController.doPrivileged(
+ new PrivilegedAction<Policy>() {
+ public Policy run() {
+ try {
+ ClassLoader cl =
+ ClassLoader.getSystemClassLoader();
+ // we want the extension loader
+ ClassLoader extcl = null;
+ while (cl != null) {
+ extcl = cl;
+ cl = cl.getParent();
+ }
+ return (extcl != null ? (Policy)Class.forName(
+ pc, true, extcl).newInstance() : null);
+ } catch (Exception e) {
+ if (debug != null) {
+ debug.println("policy provider " +
+ pc +
+ " not available");
+ e.printStackTrace();
+ }
+ return null;
}
- return null;
}
+ });
+ /*
+ * if it loaded install it as the policy provider. Otherwise
+ * continue to use the system default implementation
+ */
+ if (pol != null) {
+ pinfo = new PolicyInfo(pol, true);
+ } else {
+ if (debug != null) {
+ debug.println("using sun.security.provider.PolicyFile");
+ }
+ pinfo = new PolicyInfo(polFile, true);
}
- });
- /*
- * if it loaded install it as the policy provider. Otherwise
- * continue to use the system default implementation
- */
- if (p != null) {
- policy = p;
- } else {
- if (debug != null) {
- debug.println("using sun.security.provider.PolicyFile");
}
+ policy.set(pinfo);
}
+ return pinfo.policy;
}
}
- return policy;
+ return pi.policy;
}
/**
@@ -245,7 +273,7 @@ public abstract class Policy {
initPolicy(p);
}
synchronized (Policy.class) {
- Policy.policy = p;
+ policy.set(new PolicyInfo(p, p != null));
}
}
@@ -292,14 +320,14 @@ public abstract class Policy {
PermissionCollection policyPerms = null;
synchronized (p) {
if (p.pdMapping == null) {
- p.pdMapping =
- new WeakHashMap<ProtectionDomain.Key, PermissionCollection>();
+ p.pdMapping = new WeakHashMap<>();
}
}
if (policyDomain.getCodeSource() != null) {
- if (Policy.isSet()) {
- policyPerms = policy.getPermissions(policyDomain);
+ Policy pol = policy.get().policy;
+ if (pol != null) {
+ policyPerms = pol.getPermissions(policyDomain);
}
if (policyPerms == null) { // assume it has all
@@ -434,7 +462,7 @@ public abstract class Policy {
type,
params);
} catch (NoSuchAlgorithmException nsae) {
- return handleException (nsae);
+ return handleException(nsae);
}
}
@@ -494,7 +522,7 @@ public abstract class Policy {
type,
params);
} catch (NoSuchAlgorithmException nsae) {
- return handleException (nsae);
+ return handleException(nsae);
}
}
@@ -808,7 +836,7 @@ public abstract class Policy {
*
* @param permission the Permission object to compare.
*
- * @return true if "permission" is implied by the permissions in
+ * @return true if "permission" is implied by the permissions in
* the collection, false if not.
*/
@Override public boolean implies(Permission permission) {
diff --git a/jdk/src/share/classes/java/sql/Date.java b/jdk/src/share/classes/java/sql/Date.java
index 1d82ab3..de39d14 100644
--- a/jdk/src/share/classes/java/sql/Date.java
+++ b/jdk/src/share/classes/java/sql/Date.java
@@ -150,6 +150,7 @@ public class Date extends java.util.Date {
* <P>
* @return a String in yyyy-mm-dd format
*/
+ @SuppressWarnings("deprecation")
public String toString () {
int year = super.getYear() + 1900;
int month = super.getMonth() + 1;
diff --git a/jdk/src/share/classes/java/sql/DriverManager.java b/jdk/src/share/classes/java/sql/DriverManager.java
index 4864eb2..0a7cd94 100644
--- a/jdk/src/share/classes/java/sql/DriverManager.java
+++ b/jdk/src/share/classes/java/sql/DriverManager.java
@@ -80,7 +80,7 @@ public class DriverManager {
// List of registered JDBC drivers
- private final static CopyOnWriteArrayList<DriverInfo> registeredDrivers = new CopyOnWriteArrayList<DriverInfo>();
+ private final static CopyOnWriteArrayList<DriverInfo> registeredDrivers = new CopyOnWriteArrayList<>();
private static volatile int loginTimeout = 0;
private static volatile java.io.PrintWriter logWriter = null;
private static volatile java.io.PrintStream logStream = null;
@@ -357,7 +357,7 @@ public class DriverManager {
* @return the list of JDBC Drivers loaded by the caller's class loader
*/
public static java.util.Enumeration<Driver> getDrivers() {
- java.util.Vector<Driver> result = new java.util.Vector<Driver>();
+ java.util.Vector<Driver> result = new java.util.Vector<>();
// Gets the classloader of the code that called this method, may
// be null.
@@ -621,15 +621,18 @@ class DriverInfo {
this.driver = driver;
}
+ @Override
public boolean equals(Object other) {
return (other instanceof DriverInfo)
&& this.driver == ((DriverInfo) other).driver;
}
+ @Override
public int hashCode() {
return driver.hashCode();
}
+ @Override
public String toString() {
return ("driver[className=" + driver + "]");
}
diff --git a/jdk/src/share/classes/java/sql/PreparedStatement.java b/jdk/src/share/classes/java/sql/PreparedStatement.java
index 1d32c3d..8d6ca60 100644
--- a/jdk/src/share/classes/java/sql/PreparedStatement.java
+++ b/jdk/src/share/classes/java/sql/PreparedStatement.java
@@ -767,7 +767,7 @@ public interface PreparedStatement extends Statement {
/**
- * Sets the designated paramter to the given <code>String</code> object.
+ * Sets the designated parameter to the given <code>String</code> object.
* The driver converts this to a SQL <code>NCHAR</code> or
* <code>NVARCHAR</code> or <code>LONGNVARCHAR</code> value
* (depending on the argument's
diff --git a/jdk/src/share/classes/java/sql/Statement.java b/jdk/src/share/classes/java/sql/Statement.java
index da7285e..0b467fb 100644
--- a/jdk/src/share/classes/java/sql/Statement.java
+++ b/jdk/src/share/classes/java/sql/Statement.java
@@ -991,7 +991,7 @@ public interface Statement extends Wrapper, AutoCloseable {
/**
* Requests that a <code>Statement</code> be pooled or not pooled. The value
* specified is a hint to the statement pool implementation indicating
- * whether the applicaiton wants the statement to be pooled. It is up to
+ * whether the application wants the statement to be pooled. It is up to
* the statement pool manager as to whether the hint is used.
* <p>
* The poolable value of a statement is applicable to both internal
diff --git a/jdk/src/share/classes/java/sql/Time.java b/jdk/src/share/classes/java/sql/Time.java
index 22d60d6..230e07b 100644
--- a/jdk/src/share/classes/java/sql/Time.java
+++ b/jdk/src/share/classes/java/sql/Time.java
@@ -115,6 +115,7 @@ public class Time extends java.util.Date {
*
* @return a <code>String</code> in hh:mm:ss format
*/
+ @SuppressWarnings("deprecation")
public String toString () {
int hour = super.getHours();
int minute = super.getMinutes();
diff --git a/jdk/src/share/classes/java/sql/Timestamp.java b/jdk/src/share/classes/java/sql/Timestamp.java
index 14f648b..18b61ed 100644
--- a/jdk/src/share/classes/java/sql/Timestamp.java
+++ b/jdk/src/share/classes/java/sql/Timestamp.java
@@ -271,6 +271,7 @@ public class Timestamp extends java.util.Date {
* @return a <code>String</code> object in
* <code>yyyy-mm-dd hh:mm:ss.fffffffff</code> format
*/
+ @SuppressWarnings("deprecation")
public String toString () {
int year = super.getYear() + 1900;
diff --git a/jdk/src/share/classes/java/util/Currency.java b/jdk/src/share/classes/java/util/Currency.java
index dc9271a..87b7e01 100644
--- a/jdk/src/share/classes/java/util/Currency.java
+++ b/jdk/src/share/classes/java/util/Currency.java
@@ -189,7 +189,7 @@ public final class Currency implements Serializable {
private static final int VALID_FORMAT_VERSION = 1;
static {
- AccessController.doPrivileged(new PrivilegedAction() {
+ AccessController.doPrivileged(new PrivilegedAction<Object>() {
public Object run() {
String homeDir = System.getProperty("java.home");
try {
@@ -431,7 +431,9 @@ public final class Currency implements Serializable {
}
}
- return (Set<Currency>) available.clone();
+ @SuppressWarnings("unchecked")
+ Set<Currency> result = (Set<Currency>) available.clone();
+ return result;
}
/**
diff --git a/jdk/src/share/classes/java/util/Date.java b/jdk/src/share/classes/java/util/Date.java
index e5e5e14..7735209 100644
--- a/jdk/src/share/classes/java/util/Date.java
+++ b/jdk/src/share/classes/java/util/Date.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2010, 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
@@ -770,7 +770,7 @@ public class Date
*/
@Deprecated
public int getDay() {
- return normalize().getDayOfWeek() - gcal.SUNDAY;
+ return normalize().getDayOfWeek() - BaseCalendar.SUNDAY;
}
/**
@@ -1027,7 +1027,7 @@ public class Date
BaseCalendar.Date date = normalize();
StringBuilder sb = new StringBuilder(28);
int index = date.getDayOfWeek();
- if (index == gcal.SUNDAY) {
+ if (index == BaseCalendar.SUNDAY) {
index = 8;
}
convertToAbbr(sb, wtb[index]).append(' '); // EEE
@@ -1039,7 +1039,7 @@ public class Date
CalendarUtils.sprintf0d(sb, date.getSeconds(), 2).append(' '); // ss
TimeZone zi = date.getZone();
if (zi != null) {
- sb.append(zi.getDisplayName(date.isDaylightTime(), zi.SHORT, Locale.US)); // zzz
+ sb.append(zi.getDisplayName(date.isDaylightTime(), TimeZone.SHORT, Locale.US)); // zzz
} else {
sb.append("GMT");
}
@@ -1237,7 +1237,7 @@ public class Date
}
GregorianCalendar gc = new GregorianCalendar(tz);
gc.clear();
- gc.set(gc.MILLISECOND, ms);
+ gc.set(GregorianCalendar.MILLISECOND, ms);
gc.set(y, m-1, d, hh, mm, ss);
fastTime = gc.getTimeInMillis();
BaseCalendar cal = getCalendarSystem(fastTime);
diff --git a/jdk/src/share/classes/java/util/Formatter.java b/jdk/src/share/classes/java/util/Formatter.java
index 038ec6e..65d34fa 100644
--- a/jdk/src/share/classes/java/util/Formatter.java
+++ b/jdk/src/share/classes/java/util/Formatter.java
@@ -2879,7 +2879,7 @@ public final class Formatter implements Closeable, Flushable {
}
public String toString() {
- StringBuilder sb = new StringBuilder('%');
+ StringBuilder sb = new StringBuilder("%");
// Flags.UPPERCASE is set internally for legal conversions.
Flags dupf = f.dup().remove(Flags.UPPERCASE);
sb.append(dupf.toString());
diff --git a/jdk/src/share/classes/java/util/GregorianCalendar.java b/jdk/src/share/classes/java/util/GregorianCalendar.java
index 3a6d203..586524b 100644
--- a/jdk/src/share/classes/java/util/GregorianCalendar.java
+++ b/jdk/src/share/classes/java/util/GregorianCalendar.java
@@ -947,7 +947,7 @@ public class GregorianCalendar extends Calendar {
}
if (month >= 0) {
- set(MONTH, (int) (month % 12));
+ set(MONTH, month % 12);
} else {
// month < 0
month %= 12;
@@ -1313,8 +1313,8 @@ public class GregorianCalendar extends Calendar {
}
// the first day of week of the month.
- long monthDay1st = calsys.getDayOfWeekDateOnOrBefore(month1 + 6,
- getFirstDayOfWeek());
+ long monthDay1st = BaseCalendar.getDayOfWeekDateOnOrBefore(month1 + 6,
+ getFirstDayOfWeek());
// if the week has enough days to form a week, the
// week starts from the previous month.
if ((int)(monthDay1st - month1) >= getMinimalDaysInFirstWeek()) {
@@ -1407,7 +1407,7 @@ public class GregorianCalendar extends Calendar {
return;
}
long fd = getCurrentFixedDate();
- long dowFirst = calsys.getDayOfWeekDateOnOrBefore(fd, getFirstDayOfWeek());
+ long dowFirst = BaseCalendar.getDayOfWeekDateOnOrBefore(fd, getFirstDayOfWeek());
fd += amount;
if (fd < dowFirst) {
fd += 7;
@@ -1926,7 +1926,7 @@ public class GregorianCalendar extends Calendar {
* Returns the millisecond offset from the beginning of this
* year. This Calendar object must have been normalized.
*/
- private final long getYearOffsetInMillis() {
+ private long getYearOffsetInMillis() {
long t = (internalGet(DAY_OF_YEAR) - 1) * 24;
t += internalGet(HOUR_OF_DAY);
t *= 60;
@@ -2485,8 +2485,8 @@ public class GregorianCalendar extends Calendar {
if (cdate.isLeapYear()) {
nextJan1++;
}
- long nextJan1st = calsys.getDayOfWeekDateOnOrBefore(nextJan1 + 6,
- getFirstDayOfWeek());
+ long nextJan1st = BaseCalendar.getDayOfWeekDateOnOrBefore(nextJan1 + 6,
+ getFirstDayOfWeek());
int ndays = (int)(nextJan1st - nextJan1);
if (ndays >= getMinimalDaysInFirstWeek() && fixedDate >= (nextJan1st - 7)) {
// The first days forms a week in which the date is included.
@@ -2518,8 +2518,8 @@ public class GregorianCalendar extends Calendar {
calForJan1 = gcal;
}
- long nextJan1st = calForJan1.getDayOfWeekDateOnOrBefore(nextJan1 + 6,
- getFirstDayOfWeek());
+ long nextJan1st = BaseCalendar.getDayOfWeekDateOnOrBefore(nextJan1 + 6,
+ getFirstDayOfWeek());
int ndays = (int)(nextJan1st - nextJan1);
if (ndays >= getMinimalDaysInFirstWeek() && fixedDate >= (nextJan1st - 7)) {
// The first days forms a week in which the date is included.
@@ -2543,11 +2543,11 @@ public class GregorianCalendar extends Calendar {
* @param fixedDate the fixed date of the last day of the period
* @return the number of weeks of the given period
*/
- private final int getWeekNumber(long fixedDay1, long fixedDate) {
+ private int getWeekNumber(long fixedDay1, long fixedDate) {
// We can always use `gcal' since Julian and Gregorian are the
// same thing for this calculation.
- long fixedDay1st = gcal.getDayOfWeekDateOnOrBefore(fixedDay1 + 6,
- getFirstDayOfWeek());
+ long fixedDay1st = Gregorian.getDayOfWeekDateOnOrBefore(fixedDay1 + 6,
+ getFirstDayOfWeek());
int ndays = (int)(fixedDay1st - fixedDay1);
assert ndays <= 7;
if (ndays >= getMinimalDaysInFirstWeek()) {
@@ -2818,16 +2818,16 @@ public class GregorianCalendar extends Calendar {
}
} else {
if (isFieldSet(fieldMask, WEEK_OF_MONTH)) {
- long firstDayOfWeek = cal.getDayOfWeekDateOnOrBefore(fixedDate + 6,
- getFirstDayOfWeek());
+ long firstDayOfWeek = BaseCalendar.getDayOfWeekDateOnOrBefore(fixedDate + 6,
+ getFirstDayOfWeek());
// If we have enough days in the first week, then
// move to the previous week.
if ((firstDayOfWeek - fixedDate) >= getMinimalDaysInFirstWeek()) {
firstDayOfWeek -= 7;
}
if (isFieldSet(fieldMask, DAY_OF_WEEK)) {
- firstDayOfWeek = cal.getDayOfWeekDateOnOrBefore(firstDayOfWeek + 6,
- internalGet(DAY_OF_WEEK));
+ firstDayOfWeek = BaseCalendar.getDayOfWeekDateOnOrBefore(firstDayOfWeek + 6,
+ internalGet(DAY_OF_WEEK));
}
// In lenient mode, we treat days of the previous
// months as a part of the specified
@@ -2850,15 +2850,15 @@ public class GregorianCalendar extends Calendar {
dowim = 1;
}
if (dowim >= 0) {
- fixedDate = cal.getDayOfWeekDateOnOrBefore(fixedDate + (7 * dowim) - 1,
- dayOfWeek);
+ fixedDate = BaseCalendar.getDayOfWeekDateOnOrBefore(fixedDate + (7 * dowim) - 1,
+ dayOfWeek);
} else {
// Go to the first day of the next week of
// the specified week boundary.
int lastDate = monthLength(month, year) + (7 * (dowim + 1));
// Then, get the day of week date on or before the last date.
- fixedDate = cal.getDayOfWeekDateOnOrBefore(fixedDate + lastDate - 1,
- dayOfWeek);
+ fixedDate = BaseCalendar.getDayOfWeekDateOnOrBefore(fixedDate + lastDate - 1,
+ dayOfWeek);
}
}
}
@@ -2877,8 +2877,8 @@ public class GregorianCalendar extends Calendar {
fixedDate += internalGet(DAY_OF_YEAR);
fixedDate--;
} else {
- long firstDayOfWeek = cal.getDayOfWeekDateOnOrBefore(fixedDate + 6,
- getFirstDayOfWeek());
+ long firstDayOfWeek = BaseCalendar.getDayOfWeekDateOnOrBefore(fixedDate + 6,
+ getFirstDayOfWeek());
// If we have enough days in the first week, then move
// to the previous week.
if ((firstDayOfWeek - fixedDate) >= getMinimalDaysInFirstWeek()) {
@@ -2887,8 +2887,8 @@ public class GregorianCalendar extends Calendar {
if (isFieldSet(fieldMask, DAY_OF_WEEK)) {
int dayOfWeek = internalGet(DAY_OF_WEEK);
if (dayOfWeek != getFirstDayOfWeek()) {
- firstDayOfWeek = cal.getDayOfWeekDateOnOrBefore(firstDayOfWeek + 6,
- dayOfWeek);
+ firstDayOfWeek = BaseCalendar.getDayOfWeekDateOnOrBefore(firstDayOfWeek + 6,
+ dayOfWeek);
}
}
fixedDate = firstDayOfWeek + 7 * ((long)internalGet(WEEK_OF_YEAR) - 1);
@@ -2903,7 +2903,7 @@ public class GregorianCalendar extends Calendar {
* in sync). Otherwise, a cloned object is returned after calling
* complete() in lenient mode.
*/
- private final GregorianCalendar getNormalizedCalendar() {
+ private GregorianCalendar getNormalizedCalendar() {
GregorianCalendar gc;
if (isFullyNormalized()) {
gc = this;
@@ -2920,7 +2920,7 @@ public class GregorianCalendar extends Calendar {
* Returns the Julian calendar system instance (singleton). 'jcal'
* and 'jeras' are set upon the return.
*/
- synchronized private static final BaseCalendar getJulianCalendarSystem() {
+ synchronized private static BaseCalendar getJulianCalendarSystem() {
if (jcal == null) {
jcal = (JulianCalendar) CalendarSystem.forName("julian");
jeras = jcal.getEras();
@@ -2958,7 +2958,7 @@ public class GregorianCalendar extends Calendar {
* or Julian).
* @param fixedDate the fixed date representation of the date
*/
- private final long getFixedDateJan1(BaseCalendar.Date date, long fixedDate) {
+ private long getFixedDateJan1(BaseCalendar.Date date, long fixedDate) {
assert date.getNormalizedYear() == gregorianCutoverYear ||
date.getNormalizedYear() == gregorianCutoverYearJulian;
if (gregorianCutoverYear != gregorianCutoverYearJulian) {
@@ -2984,7 +2984,7 @@ public class GregorianCalendar extends Calendar {
* or Julian).
* @param fixedDate the fixed date representation of the date
*/
- private final long getFixedDateMonth1(BaseCalendar.Date date, long fixedDate) {
+ private long getFixedDateMonth1(BaseCalendar.Date date, long fixedDate) {
assert date.getNormalizedYear() == gregorianCutoverYear ||
date.getNormalizedYear() == gregorianCutoverYearJulian;
BaseCalendar.Date gCutover = getGregorianCutoverDate();
@@ -3023,7 +3023,7 @@ public class GregorianCalendar extends Calendar {
*
* @param fd the fixed date
*/
- private final BaseCalendar.Date getCalendarDate(long fd) {
+ private BaseCalendar.Date getCalendarDate(long fd) {
BaseCalendar cal = (fd >= gregorianCutoverDate) ? gcal : getJulianCalendarSystem();
BaseCalendar.Date d = (BaseCalendar.Date) cal.newCalendarDate(TimeZone.NO_TIMEZONE);
cal.getCalendarDateFromFixedDate(d, fd);
@@ -3034,7 +3034,7 @@ public class GregorianCalendar extends Calendar {
* Returns the Gregorian cutover date as a BaseCalendar.Date. The
* date is a Gregorian date.
*/
- private final BaseCalendar.Date getGregorianCutoverDate() {
+ private BaseCalendar.Date getGregorianCutoverDate() {
return getCalendarDate(gregorianCutoverDate);
}
@@ -3042,7 +3042,7 @@ public class GregorianCalendar extends Calendar {
* Returns the day before the Gregorian cutover date as a
* BaseCalendar.Date. The date is a Julian date.
*/
- private final BaseCalendar.Date getLastJulianDate() {
+ private BaseCalendar.Date getLastJulianDate() {
return getCalendarDate(gregorianCutoverDate - 1);
}
@@ -3052,7 +3052,7 @@ public class GregorianCalendar extends Calendar {
*
* @see #isLeapYear(int)
*/
- private final int monthLength(int month, int year) {
+ private int monthLength(int month, int year) {
return isLeapYear(year) ? LEAP_MONTH_LENGTH[month] : MONTH_LENGTH[month];
}
@@ -3062,7 +3062,7 @@ public class GregorianCalendar extends Calendar {
*
* @see #isLeapYear(int)
*/
- private final int monthLength(int month) {
+ private int monthLength(int month) {
int year = internalGet(YEAR);
if (internalGetEra() == BCE) {
year = 1 - year;
@@ -3070,7 +3070,7 @@ public class GregorianCalendar extends Calendar {
return monthLength(month, year);
}
- private final int actualMonthLength() {
+ private int actualMonthLength() {
int year = cdate.getNormalizedYear();
if (year != gregorianCutoverYear && year != gregorianCutoverYearJulian) {
return calsys.getMonthLength(cdate);
@@ -3094,7 +3094,7 @@ public class GregorianCalendar extends Calendar {
* Returns the length (in days) of the specified year. The year
* must be normalized.
*/
- private final int yearLength(int year) {
+ private int yearLength(int year) {
return isLeapYear(year) ? 366 : 365;
}
@@ -3102,7 +3102,7 @@ public class GregorianCalendar extends Calendar {
* Returns the length (in days) of the year provided by
* internalGet(YEAR).
*/
- private final int yearLength() {
+ private int yearLength() {
int year = internalGet(YEAR);
if (internalGetEra() == BCE) {
year = 1 - year;
@@ -3116,7 +3116,7 @@ public class GregorianCalendar extends Calendar {
* 3, we want it to go to Feb 28. Adjustments which might run into this
* problem call this method to retain the proper month.
*/
- private final void pinDayOfMonth() {
+ private void pinDayOfMonth() {
int year = internalGet(YEAR);
int monthLen;
if (year > gregorianCutoverYear || year < gregorianCutoverYearJulian) {
@@ -3135,14 +3135,14 @@ public class GregorianCalendar extends Calendar {
* Returns the fixed date value of this object. The time value and
* calendar fields must be in synch.
*/
- private final long getCurrentFixedDate() {
+ private long getCurrentFixedDate() {
return (calsys == gcal) ? cachedFixedDate : calsys.getFixedDate(cdate);
}
/**
* Returns the new value after 'roll'ing the specified value and amount.
*/
- private static final int getRolledValue(int value, int amount, int min, int max) {
+ private static int getRolledValue(int value, int amount, int min, int max) {
assert value >= min && value <= max;
int range = max - min + 1;
amount %= range;
@@ -3160,7 +3160,7 @@ public class GregorianCalendar extends Calendar {
* Returns the ERA. We need a special method for this because the
* default ERA is CE, but a zero (unset) ERA is BCE.
*/
- private final int internalGetEra() {
+ private int internalGetEra() {
return isSet(ERA) ? internalGet(ERA) : CE;
}
diff --git a/jdk/src/share/classes/java/util/JapaneseImperialCalendar.java b/jdk/src/share/classes/java/util/JapaneseImperialCalendar.java
index c18c0bb..940ab62 100644
--- a/jdk/src/share/classes/java/util/JapaneseImperialCalendar.java
+++ b/jdk/src/share/classes/java/util/JapaneseImperialCalendar.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2006, 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
@@ -260,8 +260,9 @@ class JapaneseImperialCalendar extends Calendar {
// max value could be one year short. For example, if it's
// Showa 63 January 8, 63 is the actual max value since
// Showa 64 January 8 doesn't exist.
- if (!(lgd.getMonth() == BaseCalendar.JANUARY && lgd.getDayOfMonth() == 1))
+ if (!(lgd.getMonth() == BaseCalendar.JANUARY && lgd.getDayOfMonth() == 1)) {
y--;
+ }
year = Math.min(y, year);
}
LEAST_MAX_VALUES[YEAR] = year; // Max year could be smaller than this value.
@@ -294,7 +295,7 @@ class JapaneseImperialCalendar extends Calendar {
* @param zone the given time zone.
* @param aLocale the given locale.
*/
- public JapaneseImperialCalendar(TimeZone zone, Locale aLocale) {
+ JapaneseImperialCalendar(TimeZone zone, Locale aLocale) {
super(zone, aLocale);
jdate = jcal.newCalendarDate(zone);
setTimeInMillis(System.currentTimeMillis());
@@ -792,8 +793,8 @@ class JapaneseImperialCalendar extends Calendar {
}
// the first day of week of the month.
- long monthDay1st = jcal.getDayOfWeekDateOnOrBefore(month1 + 6,
- getFirstDayOfWeek());
+ long monthDay1st = LocalGregorianCalendar.getDayOfWeekDateOnOrBefore(month1 + 6,
+ getFirstDayOfWeek());
// if the week has enough days to form a week, the
// week starts from the previous month.
if ((int)(monthDay1st - month1) >= getMinimalDaysInFirstWeek()) {
@@ -884,7 +885,7 @@ class JapaneseImperialCalendar extends Calendar {
return;
}
long fd = cachedFixedDate;
- long dowFirst = jcal.getDayOfWeekDateOnOrBefore(fd, getFirstDayOfWeek());
+ long dowFirst = LocalGregorianCalendar.getDayOfWeekDateOnOrBefore(fd, getFirstDayOfWeek());
fd += amount;
if (fd < dowFirst) {
fd += 7;
@@ -963,8 +964,9 @@ class JapaneseImperialCalendar extends Calendar {
Era era = eras[index];
name = (style == SHORT) ? era.getAbbreviation() : era.getName();
} else {
- if (field == DAY_OF_WEEK)
+ if (field == DAY_OF_WEEK) {
--index;
+ }
name = strings[index];
}
}
@@ -1000,7 +1002,7 @@ class JapaneseImperialCalendar extends Calendar {
private Map<String,Integer> getDisplayNamesImpl(int field, int style, Locale locale) {
ResourceBundle rb = LocaleData.getDateFormatData(locale);
String key = getKey(field, style);
- Map<String,Integer> map = new HashMap<String,Integer>();
+ Map<String,Integer> map = new HashMap<>();
if (key != null) {
String[] strings = rb.getStringArray(key);
if (field == YEAR) {
@@ -1392,8 +1394,8 @@ class JapaneseImperialCalendar extends Calendar {
jcal.normalize(jd);
long jan1 = jcal.getFixedDate(d);
long nextJan1 = jcal.getFixedDate(jd);
- long nextJan1st = jcal.getDayOfWeekDateOnOrBefore(nextJan1 + 6,
- getFirstDayOfWeek());
+ long nextJan1st = LocalGregorianCalendar.getDayOfWeekDateOnOrBefore(nextJan1 + 6,
+ getFirstDayOfWeek());
int ndays = (int)(nextJan1st - nextJan1);
if (ndays >= getMinimalDaysInFirstWeek()) {
nextJan1st -= 7;
@@ -1523,7 +1525,7 @@ class JapaneseImperialCalendar extends Calendar {
* beyond the limit. The given CalendarDate object must have been
* normalized before calling this method.
*/
- private final long getYearOffsetInMillis(CalendarDate date) {
+ private long getYearOffsetInMillis(CalendarDate date) {
long t = (jcal.getDayOfYear(date) - 1) * ONE_DAY;
return t + date.getTimeOfDay() - date.getZoneOffset();
}
@@ -1755,7 +1757,7 @@ class JapaneseImperialCalendar extends Calendar {
d.setMonth(pd.getMonth()).setDayOfMonth(pd.getDayOfMonth());
}
} else {
- d.setMonth(jcal.JANUARY).setDayOfMonth(1);
+ d.setMonth(LocalGregorianCalendar.JANUARY).setDayOfMonth(1);
}
jcal.normalize(d);
prevJan1 = jcal.getFixedDate(d);
@@ -1780,8 +1782,8 @@ class JapaneseImperialCalendar extends Calendar {
if (jdate.isLeapYear()) {
nextJan1++;
}
- long nextJan1st = jcal.getDayOfWeekDateOnOrBefore(nextJan1 + 6,
- getFirstDayOfWeek());
+ long nextJan1st = LocalGregorianCalendar.getDayOfWeekDateOnOrBefore(nextJan1 + 6,
+ getFirstDayOfWeek());
int ndays = (int)(nextJan1st - nextJan1);
if (ndays >= getMinimalDaysInFirstWeek() && fixedDate >= (nextJan1st - 7)) {
// The first days forms a week in which the date is included.
@@ -1793,7 +1795,7 @@ class JapaneseImperialCalendar extends Calendar {
long nextJan1;
if (jdate.getYear() == 1) {
d.addYear(+1);
- d.setMonth(jcal.JANUARY).setDayOfMonth(1);
+ d.setMonth(LocalGregorianCalendar.JANUARY).setDayOfMonth(1);
nextJan1 = jcal.getFixedDate(d);
} else {
int nextEraIndex = getEraIndex(d) + 1;
@@ -1803,8 +1805,8 @@ class JapaneseImperialCalendar extends Calendar {
jcal.normalize(d);
nextJan1 = jcal.getFixedDate(d);
}
- long nextJan1st = jcal.getDayOfWeekDateOnOrBefore(nextJan1 + 6,
- getFirstDayOfWeek());
+ long nextJan1st = LocalGregorianCalendar.getDayOfWeekDateOnOrBefore(nextJan1 + 6,
+ getFirstDayOfWeek());
int ndays = (int)(nextJan1st - nextJan1);
if (ndays >= getMinimalDaysInFirstWeek() && fixedDate >= (nextJan1st - 7)) {
// The first days forms a week in which the date is included.
@@ -1828,11 +1830,11 @@ class JapaneseImperialCalendar extends Calendar {
* @param fixedDate the fixed date of the last day of the period
* @return the number of weeks of the given period
*/
- private final int getWeekNumber(long fixedDay1, long fixedDate) {
+ private int getWeekNumber(long fixedDay1, long fixedDate) {
// We can always use `jcal' since Julian and Gregorian are the
// same thing for this calculation.
- long fixedDay1st = jcal.getDayOfWeekDateOnOrBefore(fixedDay1 + 6,
- getFirstDayOfWeek());
+ long fixedDay1st = LocalGregorianCalendar.getDayOfWeekDateOnOrBefore(fixedDay1 + 6,
+ getFirstDayOfWeek());
int ndays = (int)(fixedDay1st - fixedDay1);
assert ndays <= 7;
if (ndays >= getMinimalDaysInFirstWeek()) {
@@ -2026,10 +2028,12 @@ class JapaneseImperialCalendar extends Calendar {
if (year == MIN_VALUES[YEAR]) {
CalendarDate dx = jcal.getCalendarDate(Long.MIN_VALUE, getZone());
int m = dx.getMonth() - 1;
- if (month < m)
+ if (month < m) {
month = m;
- if (month == m)
+ }
+ if (month == m) {
firstDayOfMonth = dx.getDayOfMonth();
+ }
}
LocalGregorianCalendar.Date date = jcal.newCalendarDate(TimeZone.NO_TIMEZONE);
@@ -2058,16 +2062,16 @@ class JapaneseImperialCalendar extends Calendar {
}
} else {
if (isFieldSet(fieldMask, WEEK_OF_MONTH)) {
- long firstDayOfWeek = jcal.getDayOfWeekDateOnOrBefore(fixedDate + 6,
- getFirstDayOfWeek());
+ long firstDayOfWeek = LocalGregorianCalendar.getDayOfWeekDateOnOrBefore(fixedDate + 6,
+ getFirstDayOfWeek());
// If we have enough days in the first week, then
// move to the previous week.
if ((firstDayOfWeek - fixedDate) >= getMinimalDaysInFirstWeek()) {
firstDayOfWeek -= 7;
}
if (isFieldSet(fieldMask, DAY_OF_WEEK)) {
- firstDayOfWeek = jcal.getDayOfWeekDateOnOrBefore(firstDayOfWeek + 6,
- internalGet(DAY_OF_WEEK));
+ firstDayOfWeek = LocalGregorianCalendar.getDayOfWeekDateOnOrBefore(firstDayOfWeek + 6,
+ internalGet(DAY_OF_WEEK));
}
// In lenient mode, we treat days of the previous
// months as a part of the specified
@@ -2090,15 +2094,15 @@ class JapaneseImperialCalendar extends Calendar {
dowim = 1;
}
if (dowim >= 0) {
- fixedDate = jcal.getDayOfWeekDateOnOrBefore(fixedDate + (7 * dowim) - 1,
- dayOfWeek);
+ fixedDate = LocalGregorianCalendar.getDayOfWeekDateOnOrBefore(fixedDate + (7 * dowim) - 1,
+ dayOfWeek);
} else {
// Go to the first day of the next week of
// the specified week boundary.
int lastDate = monthLength(month, year) + (7 * (dowim + 1));
// Then, get the day of week date on or before the last date.
- fixedDate = jcal.getDayOfWeekDateOnOrBefore(fixedDate + lastDate - 1,
- dayOfWeek);
+ fixedDate = LocalGregorianCalendar.getDayOfWeekDateOnOrBefore(fixedDate + lastDate - 1,
+ dayOfWeek);
}
}
}
@@ -2112,8 +2116,8 @@ class JapaneseImperialCalendar extends Calendar {
fixedDate += internalGet(DAY_OF_YEAR);
fixedDate--;
} else {
- long firstDayOfWeek = jcal.getDayOfWeekDateOnOrBefore(fixedDate + 6,
- getFirstDayOfWeek());
+ long firstDayOfWeek = LocalGregorianCalendar.getDayOfWeekDateOnOrBefore(fixedDate + 6,
+ getFirstDayOfWeek());
// If we have enough days in the first week, then move
// to the previous week.
if ((firstDayOfWeek - fixedDate) >= getMinimalDaysInFirstWeek()) {
@@ -2122,8 +2126,8 @@ class JapaneseImperialCalendar extends Calendar {
if (isFieldSet(fieldMask, DAY_OF_WEEK)) {
int dayOfWeek = internalGet(DAY_OF_WEEK);
if (dayOfWeek != getFirstDayOfWeek()) {
- firstDayOfWeek = jcal.getDayOfWeekDateOnOrBefore(firstDayOfWeek + 6,
- dayOfWeek);
+ firstDayOfWeek = LocalGregorianCalendar.getDayOfWeekDateOnOrBefore(firstDayOfWeek + 6,
+ dayOfWeek);
}
}
fixedDate = firstDayOfWeek + 7 * ((long)internalGet(WEEK_OF_YEAR) - 1);
@@ -2140,7 +2144,7 @@ class JapaneseImperialCalendar extends Calendar {
* calculated. The date has to be in the cut-over year.
* @param fixedDate the fixed date representation of the date
*/
- private final long getFixedDateJan1(LocalGregorianCalendar.Date date, long fixedDate) {
+ private long getFixedDateJan1(LocalGregorianCalendar.Date date, long fixedDate) {
Era era = date.getEra();
if (date.getEra() != null && date.getYear() == 1) {
for (int eraIndex = getEraIndex(date); eraIndex > 0; eraIndex--) {
@@ -2154,7 +2158,7 @@ class JapaneseImperialCalendar extends Calendar {
}
}
CalendarDate d = gcal.newCalendarDate(TimeZone.NO_TIMEZONE);
- d.setDate(date.getNormalizedYear(), gcal.JANUARY, 1);
+ d.setDate(date.getNormalizedYear(), Gregorian.JANUARY, 1);
return gcal.getFixedDate(d);
}
@@ -2166,7 +2170,7 @@ class JapaneseImperialCalendar extends Calendar {
* calculated. The date must be in the era transition year.
* @param fixedDate the fixed date representation of the date
*/
- private final long getFixedDateMonth1(LocalGregorianCalendar.Date date,
+ private long getFixedDateMonth1(LocalGregorianCalendar.Date date,
long fixedDate) {
int eraIndex = getTransitionEraIndex(date);
if (eraIndex != -1) {
@@ -2187,7 +2191,7 @@ class JapaneseImperialCalendar extends Calendar {
*
* @param fd the fixed date
*/
- private static final LocalGregorianCalendar.Date getCalendarDate(long fd) {
+ private static LocalGregorianCalendar.Date getCalendarDate(long fd) {
LocalGregorianCalendar.Date d = jcal.newCalendarDate(TimeZone.NO_TIMEZONE);
jcal.getCalendarDateFromFixedDate(d, fd);
return d;
@@ -2199,7 +2203,7 @@ class JapaneseImperialCalendar extends Calendar {
*
* @see #isLeapYear(int)
*/
- private final int monthLength(int month, int gregorianYear) {
+ private int monthLength(int month, int gregorianYear) {
return CalendarUtils.isGregorianLeapYear(gregorianYear) ?
GregorianCalendar.LEAP_MONTH_LENGTH[month] : GregorianCalendar.MONTH_LENGTH[month];
}
@@ -2210,13 +2214,13 @@ class JapaneseImperialCalendar extends Calendar {
*
* @see #isLeapYear(int)
*/
- private final int monthLength(int month) {
+ private int monthLength(int month) {
assert jdate.isNormalized();
return jdate.isLeapYear() ?
GregorianCalendar.LEAP_MONTH_LENGTH[month] : GregorianCalendar.MONTH_LENGTH[month];
}
- private final int actualMonthLength() {
+ private int actualMonthLength() {
int length = jcal.getMonthLength(jdate);
int eraIndex = getTransitionEraIndex(jdate);
if (eraIndex == -1) {
@@ -2239,7 +2243,7 @@ class JapaneseImperialCalendar extends Calendar {
* January 3, then the era index for Heisei is returned. If the
* given date is not in any transition month, then -1 is returned.
*/
- private static final int getTransitionEraIndex(LocalGregorianCalendar.Date date) {
+ private static int getTransitionEraIndex(LocalGregorianCalendar.Date date) {
int eraIndex = getEraIndex(date);
CalendarDate transitionDate = eras[eraIndex].getSinceDate();
if (transitionDate.getYear() == date.getNormalizedYear() &&
@@ -2256,7 +2260,7 @@ class JapaneseImperialCalendar extends Calendar {
return -1;
}
- private final boolean isTransitionYear(int normalizedYear) {
+ private boolean isTransitionYear(int normalizedYear) {
for (int i = eras.length - 1; i > 0; i--) {
int transitionYear = eras[i].getSinceDate().getYear();
if (normalizedYear == transitionYear) {
@@ -2269,7 +2273,7 @@ class JapaneseImperialCalendar extends Calendar {
return false;
}
- private static final int getEraIndex(LocalGregorianCalendar.Date date) {
+ private static int getEraIndex(LocalGregorianCalendar.Date date) {
Era era = date.getEra();
for (int i = eras.length - 1; i > 0; i--) {
if (eras[i] == era) {
@@ -2284,7 +2288,7 @@ class JapaneseImperialCalendar extends Calendar {
* in sync). Otherwise, a cloned object is returned after calling
* complete() in lenient mode.
*/
- private final JapaneseImperialCalendar getNormalizedCalendar() {
+ private JapaneseImperialCalendar getNormalizedCalendar() {
JapaneseImperialCalendar jc;
if (isFullyNormalized()) {
jc = this;
@@ -2303,7 +2307,7 @@ class JapaneseImperialCalendar extends Calendar {
* 3, we want it to go to Feb 28. Adjustments which might run into this
* problem call this method to retain the proper month.
*/
- private final void pinDayOfMonth(LocalGregorianCalendar.Date date) {
+ private void pinDayOfMonth(LocalGregorianCalendar.Date date) {
int year = date.getYear();
int dom = date.getDayOfMonth();
if (year != getMinimum(YEAR)) {
@@ -2347,7 +2351,7 @@ class JapaneseImperialCalendar extends Calendar {
/**
* Returns the new value after 'roll'ing the specified value and amount.
*/
- private static final int getRolledValue(int value, int amount, int min, int max) {
+ private static int getRolledValue(int value, int amount, int min, int max) {
assert value >= min && value <= max;
int range = max - min + 1;
amount %= range;
@@ -2365,7 +2369,7 @@ class JapaneseImperialCalendar extends Calendar {
* Returns the ERA. We need a special method for this because the
* default ERA is the current era, but a zero (unset) ERA means before Meiji.
*/
- private final int internalGetEra() {
+ private int internalGetEra() {
return isSet(ERA) ? internalGet(ERA) : eras.length - 1;
}
diff --git a/jdk/src/share/classes/java/util/Locale.java b/jdk/src/share/classes/java/util/Locale.java
index 100144e..4cf700e 100644
--- a/jdk/src/share/classes/java/util/Locale.java
+++ b/jdk/src/share/classes/java/util/Locale.java
@@ -737,10 +737,6 @@ public final class Locale implements Cloneable, Serializable {
*/
public static Locale getDefault() {
// do not synchronize this method - see 4071298
- // it's OK if more than one default locale happens to be created
- if (defaultLocale == null) {
- initDefault();
- }
return defaultLocale;
}
@@ -762,16 +758,23 @@ public final class Locale implements Cloneable, Serializable {
*/
public static Locale getDefault(Locale.Category category) {
// do not synchronize this method - see 4071298
- // it's OK if more than one default locale happens to be created
switch (category) {
case DISPLAY:
if (defaultDisplayLocale == null) {
- initDefault(category);
+ synchronized(Locale.class) {
+ if (defaultDisplayLocale == null) {
+ defaultDisplayLocale = initDefault(category);
+ }
+ }
}
return defaultDisplayLocale;
case FORMAT:
if (defaultFormatLocale == null) {
- initDefault(category);
+ synchronized(Locale.class) {
+ if (defaultFormatLocale == null) {
+ defaultFormatLocale = initDefault(category);
+ }
+ }
}
return defaultFormatLocale;
default:
@@ -780,7 +783,7 @@ public final class Locale implements Cloneable, Serializable {
return getDefault();
}
- private static void initDefault() {
+ private static Locale initDefault() {
String language, region, script, country, variant;
language = AccessController.doPrivileged(
new GetPropertyAction("user.language", "en"));
@@ -806,16 +809,12 @@ public final class Locale implements Cloneable, Serializable {
variant = AccessController.doPrivileged(
new GetPropertyAction("user.variant", ""));
}
- defaultLocale = getInstance(language, script, country, variant, null);
- }
- private static void initDefault(Locale.Category category) {
- // make sure defaultLocale is initialized
- if (defaultLocale == null) {
- initDefault();
- }
+ return getInstance(language, script, country, variant, null);
+ }
- Locale defaultCategoryLocale = getInstance(
+ private static Locale initDefault(Locale.Category category) {
+ return getInstance(
AccessController.doPrivileged(
new GetPropertyAction(category.languageKey, defaultLocale.getLanguage())),
AccessController.doPrivileged(
@@ -825,15 +824,6 @@ public final class Locale implements Cloneable, Serializable {
AccessController.doPrivileged(
new GetPropertyAction(category.variantKey, defaultLocale.getVariant())),
null);
-
- switch (category) {
- case DISPLAY:
- defaultDisplayLocale = defaultCategoryLocale;
- break;
- case FORMAT:
- defaultFormatLocale = defaultCategoryLocale;
- break;
- }
}
/**
@@ -1916,9 +1906,9 @@ public final class Locale implements Cloneable, Serializable {
*/
private transient volatile int hashCodeValue = 0;
- private static Locale defaultLocale = null;
- private static Locale defaultDisplayLocale = null;
- private static Locale defaultFormatLocale = null;
+ private volatile static Locale defaultLocale = initDefault();
+ private volatile static Locale defaultDisplayLocale = null;
+ private volatile static Locale defaultFormatLocale = null;
/**
* Return an array of the display names of the variant.
diff --git a/jdk/src/share/classes/java/util/PropertyPermission.java b/jdk/src/share/classes/java/util/PropertyPermission.java
index 026ce9b..1773188 100644
--- a/jdk/src/share/classes/java/util/PropertyPermission.java
+++ b/jdk/src/share/classes/java/util/PropertyPermission.java
@@ -305,7 +305,7 @@ public final class PropertyPermission extends BasicPermission {
switch(a[i-matchlen]) {
case ',':
seencomma = true;
- /*FALLTHROUGH*/
+ break;
case ' ': case '\r': case '\n':
case '\f': case '\t':
break;
@@ -442,7 +442,7 @@ implements Serializable
* Key is property name; value is PropertyPermission.
* Not serialized; see serialization section at end of class.
*/
- private transient Map perms;
+ private transient Map<String, Permission> perms;
/**
* Boolean saying if "*" is in the collection.
@@ -458,7 +458,7 @@ implements Serializable
*/
public PropertyPermissionCollection() {
- perms = new HashMap(32); // Capacity for default policy
+ perms = new HashMap<>(32); // Capacity for default policy
all_allowed = false;
}
@@ -593,7 +593,7 @@ implements Serializable
* @return an enumeration of all the PropertyPermission objects.
*/
- public Enumeration elements() {
+ public Enumeration<Permission> elements() {
// Convert Iterator of Map values into an Enumeration
synchronized (this) {
return Collections.enumeration(perms.values());
@@ -633,7 +633,7 @@ implements Serializable
// Don't call out.defaultWriteObject()
// Copy perms into a Hashtable
- Hashtable permissions = new Hashtable(perms.size()*2);
+ Hashtable<String, Permission> permissions = new Hashtable<>(perms.size()*2);
synchronized (this) {
permissions.putAll(perms);
}
@@ -660,8 +660,10 @@ implements Serializable
all_allowed = gfields.get("all_allowed", false);
// Get permissions
- Hashtable permissions = (Hashtable)gfields.get("permissions", null);
- perms = new HashMap(permissions.size()*2);
+ @SuppressWarnings("unchecked")
+ Hashtable<String, Permission> permissions =
+ (Hashtable<String, Permission>)gfields.get("permissions", null);
+ perms = new HashMap<>(permissions.size()*2);
perms.putAll(permissions);
}
}
diff --git a/jdk/src/share/classes/java/util/ResourceBundle.java b/jdk/src/share/classes/java/util/ResourceBundle.java
index cb2cd97..b007162 100644
--- a/jdk/src/share/classes/java/util/ResourceBundle.java
+++ b/jdk/src/share/classes/java/util/ResourceBundle.java
@@ -294,7 +294,7 @@ public abstract class ResourceBundle {
/**
* Queue for reference objects referring to class loaders or bundles.
*/
- private static final ReferenceQueue referenceQueue = new ReferenceQueue();
+ private static final ReferenceQueue<Object> referenceQueue = new ReferenceQueue<>();
/**
* The parent bundle of this bundle.
@@ -389,12 +389,13 @@ public abstract class ResourceBundle {
if (parent != null) {
obj = parent.getObject(key);
}
- if (obj == null)
+ if (obj == null) {
throw new MissingResourceException("Can't find resource for bundle "
+this.getClass().getName()
+", key "+key,
this.getClass().getName(),
key);
+ }
}
return obj;
}
@@ -418,7 +419,7 @@ public abstract class ResourceBundle {
private static ClassLoader getLoader() {
Class[] stack = getClassContext();
/* Magic number 2 identifies our caller's caller */
- Class c = stack[2];
+ Class<?> c = stack[2];
ClassLoader cl = (c == null) ? null : c.getClassLoader();
if (cl == null) {
// When the caller's loader is the boot class loader, cl is null
@@ -497,7 +498,7 @@ public abstract class ResourceBundle {
* null, but the base name and the locale must have a non-null
* value.
*/
- private static final class CacheKey implements Cloneable {
+ private static class CacheKey implements Cloneable {
// These three are the actual keys for lookup in Map.
private String name;
private Locale locale;
@@ -592,8 +593,7 @@ public abstract class ResourceBundle {
// treat it as unequal
&& (loader != null)
&& (loader == otherEntry.loaderRef.get());
- } catch (NullPointerException e) {
- } catch (ClassCastException e) {
+ } catch ( NullPointerException | ClassCastException e) {
}
return false;
}
@@ -678,11 +678,11 @@ public abstract class ResourceBundle {
* garbage collected when nobody else is using them. The ResourceBundle
* class has no reason to keep class loaders alive.
*/
- private static final class LoaderReference extends WeakReference<ClassLoader>
- implements CacheKeyReference {
+ private static class LoaderReference extends WeakReference<ClassLoader>
+ implements CacheKeyReference {
private CacheKey cacheKey;
- LoaderReference(ClassLoader referent, ReferenceQueue q, CacheKey key) {
+ LoaderReference(ClassLoader referent, ReferenceQueue<Object> q, CacheKey key) {
super(referent, q);
cacheKey = key;
}
@@ -696,11 +696,11 @@ public abstract class ResourceBundle {
* References to bundles are soft references so that they can be garbage
* collected when they have no hard references.
*/
- private static final class BundleReference extends SoftReference<ResourceBundle>
- implements CacheKeyReference {
+ private static class BundleReference extends SoftReference<ResourceBundle>
+ implements CacheKeyReference {
private CacheKey cacheKey;
- BundleReference(ResourceBundle referent, ReferenceQueue q, CacheKey key) {
+ BundleReference(ResourceBundle referent, ReferenceQueue<Object> q, CacheKey key) {
super(referent, q);
cacheKey = key;
}
@@ -1340,8 +1340,8 @@ public abstract class ResourceBundle {
* Checks if the given <code>List</code> is not null, not empty,
* not having null in its elements.
*/
- private static final boolean checkList(List a) {
- boolean valid = (a != null && a.size() != 0);
+ private static boolean checkList(List<?> a) {
+ boolean valid = (a != null && !a.isEmpty());
if (valid) {
int size = a.size();
for (int i = 0; valid && i < size; i++) {
@@ -1351,12 +1351,12 @@ public abstract class ResourceBundle {
return valid;
}
- private static final ResourceBundle findBundle(CacheKey cacheKey,
- List<Locale> candidateLocales,
- List<String> formats,
- int index,
- Control control,
- ResourceBundle baseBundle) {
+ private static ResourceBundle findBundle(CacheKey cacheKey,
+ List<Locale> candidateLocales,
+ List<String> formats,
+ int index,
+ Control control,
+ ResourceBundle baseBundle) {
Locale targetLocale = candidateLocales.get(index);
ResourceBundle parent = null;
if (index != candidateLocales.size() - 1) {
@@ -1428,10 +1428,10 @@ public abstract class ResourceBundle {
return parent;
}
- private static final ResourceBundle loadBundle(CacheKey cacheKey,
- List<String> formats,
- Control control,
- boolean reload) {
+ private static ResourceBundle loadBundle(CacheKey cacheKey,
+ List<String> formats,
+ Control control,
+ boolean reload) {
// Here we actually load the bundle in the order of formats
// specified by the getFormats() value.
@@ -1468,7 +1468,7 @@ public abstract class ResourceBundle {
return bundle;
}
- private static final boolean isValidBundle(ResourceBundle bundle) {
+ private static boolean isValidBundle(ResourceBundle bundle) {
return bundle != null && bundle != NONEXISTENT_BUNDLE;
}
@@ -1476,7 +1476,7 @@ public abstract class ResourceBundle {
* Determines whether any of resource bundles in the parent chain,
* including the leaf, have expired.
*/
- private static final boolean hasValidParentChain(ResourceBundle bundle) {
+ private static boolean hasValidParentChain(ResourceBundle bundle) {
long now = System.currentTimeMillis();
while (bundle != null) {
if (bundle.expired) {
@@ -1497,9 +1497,9 @@ public abstract class ResourceBundle {
/**
* Throw a MissingResourceException with proper message
*/
- private static final void throwMissingResourceException(String baseName,
- Locale locale,
- Throwable cause) {
+ private static void throwMissingResourceException(String baseName,
+ Locale locale,
+ Throwable cause) {
// If the cause is a MissingResourceException, avoid creating
// a long chain. (6355009)
if (cause instanceof MissingResourceException) {
@@ -1522,8 +1522,8 @@ public abstract class ResourceBundle {
* cache or its parent has expired. <code>bundle.expire</code> is true
* upon return if the bundle in the cache has expired.
*/
- private static final ResourceBundle findBundleInCache(CacheKey cacheKey,
- Control control) {
+ private static ResourceBundle findBundleInCache(CacheKey cacheKey,
+ Control control) {
BundleReference bundleRef = cacheList.get(cacheKey);
if (bundleRef == null) {
return null;
@@ -1629,9 +1629,9 @@ public abstract class ResourceBundle {
* the bundle before this call, the one found in the cache is
* returned.
*/
- private static final ResourceBundle putBundleInCache(CacheKey cacheKey,
- ResourceBundle bundle,
- Control control) {
+ private static ResourceBundle putBundleInCache(CacheKey cacheKey,
+ ResourceBundle bundle,
+ Control control) {
setExpirationTime(cacheKey, control);
if (cacheKey.expirationTime != Control.TTL_DONT_CACHE) {
CacheKey key = (CacheKey) cacheKey.clone();
@@ -1662,7 +1662,7 @@ public abstract class ResourceBundle {
return bundle;
}
- private static final void setExpirationTime(CacheKey cacheKey, Control control) {
+ private static void setExpirationTime(CacheKey cacheKey, Control control) {
long ttl = control.getTimeToLive(cacheKey.getName(),
cacheKey.getLocale());
if (ttl >= 0) {
@@ -2359,18 +2359,27 @@ public abstract class ResourceBundle {
if (script.length() == 0 && region.length() > 0) {
// Supply script for users who want to use zh_Hans/zh_Hant
// as bundle names (recommended for Java7+)
- if (region.equals("TW") || region.equals("HK") || region.equals("MO")) {
+ switch (region) {
+ case "TW":
+ case "HK":
+ case "MO":
script = "Hant";
- } else if (region.equals("CN") || region.equals("SG")) {
+ break;
+ case "CN":
+ case "SG":
script = "Hans";
+ break;
}
} else if (script.length() > 0 && region.length() == 0) {
// Supply region(country) for users who still package Chinese
// bundles using old convension.
- if (script.equals("Hans")) {
+ switch (script) {
+ case "Hans":
region = "CN";
- } else if (script.equals("Hant")) {
+ break;
+ case "Hant":
region = "TW";
+ break;
}
}
}
@@ -2571,6 +2580,7 @@ public abstract class ResourceBundle {
ResourceBundle bundle = null;
if (format.equals("java.class")) {
try {
+ @SuppressWarnings("unchecked")
Class<? extends ResourceBundle> bundleClass
= (Class<? extends ResourceBundle>)loader.loadClass(bundleName);
diff --git a/jdk/src/share/classes/java/util/concurrent/ArrayBlockingQueue.java b/jdk/src/share/classes/java/util/concurrent/ArrayBlockingQueue.java
index 32fd504..74f1e98 100644
--- a/jdk/src/share/classes/java/util/concurrent/ArrayBlockingQueue.java
+++ b/jdk/src/share/classes/java/util/concurrent/ArrayBlockingQueue.java
@@ -131,8 +131,9 @@ public class ArrayBlockingQueue<E> extends AbstractQueue<E>
/**
* Returns item at index i.
*/
+ @SuppressWarnings("unchecked")
final E itemAt(int i) {
- return this.<E>cast(items[i]);
+ return (E) items[i];
}
/**
@@ -162,7 +163,8 @@ public class ArrayBlockingQueue<E> extends AbstractQueue<E>
*/
private E extract() {
final Object[] items = this.items;
- E x = this.<E>cast(items[takeIndex]);
+ @SuppressWarnings("unchecked")
+ E x = (E) items[takeIndex];
items[takeIndex] = null;
takeIndex = inc(takeIndex);
--count;
@@ -647,7 +649,9 @@ public class ArrayBlockingQueue<E> extends AbstractQueue<E>
int n = 0;
int max = count;
while (n < max) {
- c.add(this.<E>cast(items[i]));
+ @SuppressWarnings("unchecked")
+ E x = (E) items[i];
+ c.add(x);
items[i] = null;
i = inc(i);
++n;
@@ -684,7 +688,9 @@ public class ArrayBlockingQueue<E> extends AbstractQueue<E>
int n = 0;
int max = (maxElements < count) ? maxElements : count;
while (n < max) {
- c.add(this.<E>cast(items[i]));
+ @SuppressWarnings("unchecked")
+ E x = (E) items[i];
+ c.add(x);
items[i] = null;
i = inc(i);
++n;
diff --git a/jdk/src/share/classes/java/util/concurrent/ConcurrentHashMap.java b/jdk/src/share/classes/java/util/concurrent/ConcurrentHashMap.java
index e821480..48b0021 100644
--- a/jdk/src/share/classes/java/util/concurrent/ConcurrentHashMap.java
+++ b/jdk/src/share/classes/java/util/concurrent/ConcurrentHashMap.java
@@ -37,9 +37,6 @@ package java.util.concurrent;
import java.util.concurrent.locks.*;
import java.util.*;
import java.io.Serializable;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
/**
* A hash table supporting full concurrency of retrievals and
@@ -228,7 +225,7 @@ public class ConcurrentHashMap<K, V> extends AbstractMap<K, V>
static {
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class k = HashEntry.class;
+ Class<?> k = HashEntry.class;
nextOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("next"));
} catch (Exception e) {
@@ -433,7 +430,7 @@ public class ConcurrentHashMap<K, V> extends AbstractMap<K, V>
int newCapacity = oldCapacity << 1;
threshold = (int)(newCapacity * loadFactor);
HashEntry<K,V>[] newTable =
- (HashEntry<K,V>[]) new HashEntry[newCapacity];
+ (HashEntry<K,V>[]) new HashEntry<?,?>[newCapacity];
int sizeMask = newCapacity - 1;
for (int i = 0; i < oldCapacity ; i++) {
HashEntry<K,V> e = oldTable[i];
@@ -677,7 +674,7 @@ public class ConcurrentHashMap<K, V> extends AbstractMap<K, V>
int cap = proto.table.length;
float lf = proto.loadFactor;
int threshold = (int)(cap * lf);
- HashEntry<K,V>[] tab = (HashEntry<K,V>[])new HashEntry[cap];
+ HashEntry<K,V>[] tab = (HashEntry<K,V>[])new HashEntry<?,?>[cap];
if ((seg = (Segment<K,V>)UNSAFE.getObjectVolatile(ss, u))
== null) { // recheck
Segment<K,V> s = new Segment<K,V>(lf, threshold, tab);
@@ -694,7 +691,7 @@ public class ConcurrentHashMap<K, V> extends AbstractMap<K, V>
// Hash-based segment and entry accesses
/**
- * Get the segment for the given hash
+ * Gets the segment for the given hash code.
*/
@SuppressWarnings("unchecked")
private Segment<K,V> segmentForHash(int h) {
@@ -703,7 +700,7 @@ public class ConcurrentHashMap<K, V> extends AbstractMap<K, V>
}
/**
- * Gets the table entry for the given segment and hash
+ * Gets the table entry for the given segment and hash code.
*/
@SuppressWarnings("unchecked")
static final <K,V> HashEntry<K,V> entryForHash(Segment<K,V> seg, int h) {
@@ -758,8 +755,8 @@ public class ConcurrentHashMap<K, V> extends AbstractMap<K, V>
// create segments and segments[0]
Segment<K,V> s0 =
new Segment<K,V>(loadFactor, (int)(cap * loadFactor),
- (HashEntry<K,V>[])new HashEntry[cap]);
- Segment<K,V>[] ss = (Segment<K,V>[])new Segment[ssize];
+ (HashEntry<K,V>[])new HashEntry<?,?>[cap]);
+ Segment<K,V>[] ss = (Segment<K,V>[])new Segment<?,?>[ssize];
UNSAFE.putOrderedObject(ss, SBASE, s0); // ordered write of segments[0]
this.segments = ss;
}
@@ -916,6 +913,7 @@ public class ConcurrentHashMap<K, V> extends AbstractMap<K, V>
*
* @throws NullPointerException if the specified key is null
*/
+ @SuppressWarnings("unchecked")
public V get(Object key) {
Segment<K,V> s; // manually integrate access methods to reduce overhead
HashEntry<K,V>[] tab;
@@ -1026,7 +1024,7 @@ public class ConcurrentHashMap<K, V> extends AbstractMap<K, V>
* full compatibility with class {@link java.util.Hashtable},
* which supported this method prior to introduction of the
* Java Collections framework.
-
+ *
* @param value a value to search for
* @return <tt>true</tt> if and only if some key maps to the
* <tt>value</tt> argument in this table as
@@ -1262,7 +1260,7 @@ public class ConcurrentHashMap<K, V> extends AbstractMap<K, V>
}
/**
- * Set nextEntry to first node of next non-empty table
+ * Sets nextEntry to first node of next non-empty table
* (in backwards order, to simplify checks).
*/
final void advance() {
@@ -1326,12 +1324,14 @@ public class ConcurrentHashMap<K, V> extends AbstractMap<K, V>
final class WriteThroughEntry
extends AbstractMap.SimpleEntry<K,V>
{
+ static final long serialVersionUID = 7249069246763182397L;
+
WriteThroughEntry(K k, V v) {
super(k,v);
}
/**
- * Set our entry's value and write through to the map. The
+ * Sets our entry's value and writes through to the map. The
* value to return is somewhat arbitrary here. Since a
* WriteThroughEntry does not necessarily track asynchronous
* changes, the most recent "previous" value could be
@@ -1427,15 +1427,16 @@ public class ConcurrentHashMap<K, V> extends AbstractMap<K, V>
/* ---------------- Serialization Support -------------- */
/**
- * Save the state of the <tt>ConcurrentHashMap</tt> instance to a
- * stream (i.e., serialize it).
+ * Saves the state of the <tt>ConcurrentHashMap</tt> instance to a
+ * stream (i.e., serializes it).
* @param s the stream
* @serialData
* the key (Object) and value (Object)
* for each key-value mapping, followed by a null pair.
* The key-value mappings are emitted in no particular order.
*/
- private void writeObject(java.io.ObjectOutputStream s) throws IOException {
+ private void writeObject(java.io.ObjectOutputStream s)
+ throws java.io.IOException {
// force all segments for serialization compatibility
for (int k = 0; k < segments.length; ++k)
ensureSegment(k);
@@ -1463,13 +1464,13 @@ public class ConcurrentHashMap<K, V> extends AbstractMap<K, V>
}
/**
- * Reconstitute the <tt>ConcurrentHashMap</tt> instance from a
- * stream (i.e., deserialize it).
+ * Reconstitutes the <tt>ConcurrentHashMap</tt> instance from a
+ * stream (i.e., deserializes it).
* @param s the stream
*/
@SuppressWarnings("unchecked")
private void readObject(java.io.ObjectInputStream s)
- throws IOException, ClassNotFoundException {
+ throws java.io.IOException, ClassNotFoundException {
s.defaultReadObject();
// Re-initialize segments to be minimally sized, and let grow.
@@ -1479,7 +1480,7 @@ public class ConcurrentHashMap<K, V> extends AbstractMap<K, V>
Segment<K,V> seg = segments[k];
if (seg != null) {
seg.threshold = (int)(cap * seg.loadFactor);
- seg.table = (HashEntry<K,V>[]) new HashEntry[cap];
+ seg.table = (HashEntry<K,V>[]) new HashEntry<?,?>[cap];
}
}
@@ -1504,8 +1505,8 @@ public class ConcurrentHashMap<K, V> extends AbstractMap<K, V>
int ss, ts;
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class tc = HashEntry[].class;
- Class sc = Segment[].class;
+ Class<?> tc = HashEntry[].class;
+ Class<?> sc = Segment[].class;
TBASE = UNSAFE.arrayBaseOffset(tc);
SBASE = UNSAFE.arrayBaseOffset(sc);
ts = UNSAFE.arrayIndexScale(tc);
diff --git a/jdk/src/share/classes/java/util/concurrent/ConcurrentLinkedDeque.java b/jdk/src/share/classes/java/util/concurrent/ConcurrentLinkedDeque.java
index 21d59cf..c26e371 100644
--- a/jdk/src/share/classes/java/util/concurrent/ConcurrentLinkedDeque.java
+++ b/jdk/src/share/classes/java/util/concurrent/ConcurrentLinkedDeque.java
@@ -335,7 +335,7 @@ public class ConcurrentLinkedDeque<E>
static {
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class k = Node.class;
+ Class<?> k = Node.class;
prevOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("prev"));
itemOffset = UNSAFE.objectFieldOffset
@@ -1457,7 +1457,7 @@ public class ConcurrentLinkedDeque<E>
NEXT_TERMINATOR.prev = NEXT_TERMINATOR;
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class k = ConcurrentLinkedDeque.class;
+ Class<?> k = ConcurrentLinkedDeque.class;
headOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("head"));
tailOffset = UNSAFE.objectFieldOffset
diff --git a/jdk/src/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java b/jdk/src/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java
index fcdfcf9..dfac05c 100644
--- a/jdk/src/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java
+++ b/jdk/src/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java
@@ -208,7 +208,7 @@ public class ConcurrentLinkedQueue<E> extends AbstractQueue<E>
static {
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class k = Node.class;
+ Class<?> k = Node.class;
itemOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("item"));
nextOffset = UNSAFE.objectFieldOffset
@@ -823,7 +823,7 @@ public class ConcurrentLinkedQueue<E> extends AbstractQueue<E>
static {
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class k = ConcurrentLinkedQueue.class;
+ Class<?> k = ConcurrentLinkedQueue.class;
headOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("head"));
tailOffset = UNSAFE.objectFieldOffset
diff --git a/jdk/src/share/classes/java/util/concurrent/ConcurrentSkipListMap.java b/jdk/src/share/classes/java/util/concurrent/ConcurrentSkipListMap.java
index 8d23964..fdf83d1 100644
--- a/jdk/src/share/classes/java/util/concurrent/ConcurrentSkipListMap.java
+++ b/jdk/src/share/classes/java/util/concurrent/ConcurrentSkipListMap.java
@@ -35,7 +35,6 @@
package java.util.concurrent;
import java.util.*;
-import java.util.concurrent.atomic.*;
/**
* A scalable concurrent {@link ConcurrentNavigableMap} implementation.
@@ -90,6 +89,7 @@ import java.util.concurrent.atomic.*;
* @param <V> the type of mapped values
* @since 1.6
*/
+ at SuppressWarnings("unchecked")
public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
implements ConcurrentNavigableMap<K,V>,
Cloneable,
@@ -352,11 +352,11 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
private transient int randomSeed;
/** Lazily initialized key set */
- private transient KeySet keySet;
+ private transient KeySet<K> keySet;
/** Lazily initialized entry set */
- private transient EntrySet entrySet;
+ private transient EntrySet<K,V> entrySet;
/** Lazily initialized values collection */
- private transient Values values;
+ private transient Values<V> values;
/** Lazily initialized descending key set */
private transient ConcurrentNavigableMap<K,V> descendingMap;
@@ -517,7 +517,7 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
static {
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class k = Node.class;
+ Class<?> k = Node.class;
valueOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("value"));
nextOffset = UNSAFE.objectFieldOffset
@@ -597,7 +597,7 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
static {
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class k = Index.class;
+ Class<?> k = Index.class;
rightOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("right"));
} catch (Exception e) {
@@ -933,7 +933,7 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
* direction.
*/
level = max + 1;
- Index<K,V>[] idxs = (Index<K,V>[])new Index[level+1];
+ Index<K,V>[] idxs = (Index<K,V>[])new Index<?,?>[level+1];
Index<K,V> idx = null;
for (int i = 1; i <= level; ++i)
idxs[i] = idx = new Index<K,V>(z, idx, null);
@@ -1436,16 +1436,16 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
* @return a shallow copy of this map
*/
public ConcurrentSkipListMap<K,V> clone() {
- ConcurrentSkipListMap<K,V> clone = null;
try {
- clone = (ConcurrentSkipListMap<K,V>) super.clone();
+ @SuppressWarnings("unchecked")
+ ConcurrentSkipListMap<K,V> clone =
+ (ConcurrentSkipListMap<K,V>) super.clone();
+ clone.initialize();
+ clone.buildFromSorted(this);
+ return clone;
} catch (CloneNotSupportedException e) {
throw new InternalError();
}
-
- clone.initialize();
- clone.buildFromSorted(this);
- return clone;
}
/**
@@ -1507,7 +1507,7 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
/* ---------------- Serialization -------------- */
/**
- * Save the state of this map to a stream.
+ * Saves the state of this map to a stream (that is, serializes it).
*
* @serialData The key (Object) and value (Object) for each
* key-value mapping represented by the map, followed by
@@ -1532,7 +1532,9 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
}
/**
- * Reconstitute the map from a stream.
+ * Reconstitutes the map from a stream (that is, deserializes it).
+ *
+ * @param s the stream
*/
private void readObject(final java.io.ObjectInputStream s)
throws java.io.IOException, ClassNotFoundException {
@@ -1755,13 +1757,13 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
* @return a navigable set view of the keys in this map
*/
public NavigableSet<K> keySet() {
- KeySet ks = keySet;
- return (ks != null) ? ks : (keySet = new KeySet(this));
+ KeySet<K> ks = keySet;
+ return (ks != null) ? ks : (keySet = new KeySet<K>(this));
}
public NavigableSet<K> navigableKeySet() {
- KeySet ks = keySet;
- return (ks != null) ? ks : (keySet = new KeySet(this));
+ KeySet<K> ks = keySet;
+ return (ks != null) ? ks : (keySet = new KeySet<K>(this));
}
/**
@@ -1783,8 +1785,8 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
* reflect any modifications subsequent to construction.
*/
public Collection<V> values() {
- Values vs = values;
- return (vs != null) ? vs : (values = new Values(this));
+ Values<V> vs = values;
+ return (vs != null) ? vs : (values = new Values<V>(this));
}
/**
@@ -1812,8 +1814,8 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
* sorted in ascending key order
*/
public Set<Map.Entry<K,V>> entrySet() {
- EntrySet es = entrySet;
- return (es != null) ? es : (entrySet = new EntrySet(this));
+ EntrySet<K,V> es = entrySet;
+ return (es != null) ? es : (entrySet = new EntrySet<K,V>(this));
}
public ConcurrentNavigableMap<K,V> descendingMap() {
@@ -2304,8 +2306,8 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
static final class KeySet<E>
extends AbstractSet<E> implements NavigableSet<E> {
- private final ConcurrentNavigableMap<E,Object> m;
- KeySet(ConcurrentNavigableMap<E,Object> map) { m = map; }
+ private final ConcurrentNavigableMap<E,?> m;
+ KeySet(ConcurrentNavigableMap<E,?> map) { m = map; }
public int size() { return m.size(); }
public boolean isEmpty() { return m.isEmpty(); }
public boolean contains(Object o) { return m.containsKey(o); }
@@ -2319,11 +2321,11 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
public E first() { return m.firstKey(); }
public E last() { return m.lastKey(); }
public E pollFirst() {
- Map.Entry<E,Object> e = m.pollFirstEntry();
+ Map.Entry<E,?> e = m.pollFirstEntry();
return (e == null) ? null : e.getKey();
}
public E pollLast() {
- Map.Entry<E,Object> e = m.pollLastEntry();
+ Map.Entry<E,?> e = m.pollLastEntry();
return (e == null) ? null : e.getKey();
}
public Iterator<E> iterator() {
@@ -2374,20 +2376,20 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
return tailSet(fromElement, true);
}
public NavigableSet<E> descendingSet() {
- return new KeySet(m.descendingMap());
+ return new KeySet<E>(m.descendingMap());
}
}
static final class Values<E> extends AbstractCollection<E> {
- private final ConcurrentNavigableMap<Object, E> m;
- Values(ConcurrentNavigableMap<Object, E> map) {
+ private final ConcurrentNavigableMap<?, E> m;
+ Values(ConcurrentNavigableMap<?, E> map) {
m = map;
}
public Iterator<E> iterator() {
if (m instanceof ConcurrentSkipListMap)
- return ((ConcurrentSkipListMap<Object,E>)m).valueIterator();
+ return ((ConcurrentSkipListMap<?,E>)m).valueIterator();
else
- return ((SubMap<Object,E>)m).valueIterator();
+ return ((SubMap<?,E>)m).valueIterator();
}
public boolean isEmpty() {
return m.isEmpty();
@@ -2421,14 +2423,14 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
public boolean contains(Object o) {
if (!(o instanceof Map.Entry))
return false;
- Map.Entry<K1,V1> e = (Map.Entry<K1,V1>)o;
+ Map.Entry<?,?> e = (Map.Entry<?,?>)o;
V1 v = m.get(e.getKey());
return v != null && v.equals(e.getValue());
}
public boolean remove(Object o) {
if (!(o instanceof Map.Entry))
return false;
- Map.Entry<K1,V1> e = (Map.Entry<K1,V1>)o;
+ Map.Entry<?,?> e = (Map.Entry<?,?>)o;
return m.remove(e.getKey(),
e.getValue());
}
@@ -2568,9 +2570,9 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
if (lo == null)
return m.findFirst();
else if (loInclusive)
- return m.findNear(lo, m.GT|m.EQ);
+ return m.findNear(lo, GT|EQ);
else
- return m.findNear(lo, m.GT);
+ return m.findNear(lo, GT);
}
/**
@@ -2581,9 +2583,9 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
if (hi == null)
return m.findLast();
else if (hiInclusive)
- return m.findNear(hi, m.LT|m.EQ);
+ return m.findNear(hi, LT|EQ);
else
- return m.findNear(hi, m.LT);
+ return m.findNear(hi, LT);
}
/**
@@ -2665,15 +2667,15 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
*/
private Map.Entry<K,V> getNearEntry(K key, int rel) {
if (isDescending) { // adjust relation for direction
- if ((rel & m.LT) == 0)
- rel |= m.LT;
+ if ((rel & LT) == 0)
+ rel |= LT;
else
- rel &= ~m.LT;
+ rel &= ~LT;
}
if (tooLow(key))
- return ((rel & m.LT) != 0) ? null : lowestEntry();
+ return ((rel & LT) != 0) ? null : lowestEntry();
if (tooHigh(key))
- return ((rel & m.LT) != 0) ? highestEntry() : null;
+ return ((rel & LT) != 0) ? highestEntry() : null;
for (;;) {
Node<K,V> n = m.findNear(key, rel);
if (n == null || !inBounds(n.key))
@@ -2688,13 +2690,13 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
// Almost the same as getNearEntry, except for keys
private K getNearKey(K key, int rel) {
if (isDescending) { // adjust relation for direction
- if ((rel & m.LT) == 0)
- rel |= m.LT;
+ if ((rel & LT) == 0)
+ rel |= LT;
else
- rel &= ~m.LT;
+ rel &= ~LT;
}
if (tooLow(key)) {
- if ((rel & m.LT) == 0) {
+ if ((rel & LT) == 0) {
ConcurrentSkipListMap.Node<K,V> n = loNode();
if (isBeforeEnd(n))
return n.key;
@@ -2702,7 +2704,7 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
return null;
}
if (tooHigh(key)) {
- if ((rel & m.LT) != 0) {
+ if ((rel & LT) != 0) {
ConcurrentSkipListMap.Node<K,V> n = hiNode();
if (n != null) {
K last = n.key;
@@ -2734,7 +2736,7 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
public V get(Object key) {
if (key == null) throw new NullPointerException();
K k = (K)key;
- return ((!inBounds(k)) ? null : m.get(k));
+ return (!inBounds(k)) ? null : m.get(k);
}
public V put(K key, V value) {
@@ -2901,35 +2903,35 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
/* ---------------- Relational methods -------------- */
public Map.Entry<K,V> ceilingEntry(K key) {
- return getNearEntry(key, (m.GT|m.EQ));
+ return getNearEntry(key, GT|EQ);
}
public K ceilingKey(K key) {
- return getNearKey(key, (m.GT|m.EQ));
+ return getNearKey(key, GT|EQ);
}
public Map.Entry<K,V> lowerEntry(K key) {
- return getNearEntry(key, (m.LT));
+ return getNearEntry(key, LT);
}
public K lowerKey(K key) {
- return getNearKey(key, (m.LT));
+ return getNearKey(key, LT);
}
public Map.Entry<K,V> floorEntry(K key) {
- return getNearEntry(key, (m.LT|m.EQ));
+ return getNearEntry(key, LT|EQ);
}
public K floorKey(K key) {
- return getNearKey(key, (m.LT|m.EQ));
+ return getNearKey(key, LT|EQ);
}
public Map.Entry<K,V> higherEntry(K key) {
- return getNearEntry(key, (m.GT));
+ return getNearEntry(key, GT);
}
public K higherKey(K key) {
- return getNearKey(key, (m.GT));
+ return getNearKey(key, GT);
}
public K firstKey() {
@@ -2960,22 +2962,22 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
public NavigableSet<K> keySet() {
KeySet<K> ks = keySetView;
- return (ks != null) ? ks : (keySetView = new KeySet(this));
+ return (ks != null) ? ks : (keySetView = new KeySet<K>(this));
}
public NavigableSet<K> navigableKeySet() {
KeySet<K> ks = keySetView;
- return (ks != null) ? ks : (keySetView = new KeySet(this));
+ return (ks != null) ? ks : (keySetView = new KeySet<K>(this));
}
public Collection<V> values() {
Collection<V> vs = valuesView;
- return (vs != null) ? vs : (valuesView = new Values(this));
+ return (vs != null) ? vs : (valuesView = new Values<V>(this));
}
public Set<Map.Entry<K,V>> entrySet() {
Set<Map.Entry<K,V>> es = entrySetView;
- return (es != null) ? es : (entrySetView = new EntrySet(this));
+ return (es != null) ? es : (entrySetView = new EntrySet<K,V>(this));
}
public NavigableSet<K> descendingKeySet() {
@@ -3109,7 +3111,7 @@ public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V>
static {
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class k = ConcurrentSkipListMap.class;
+ Class<?> k = ConcurrentSkipListMap.class;
headOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("head"));
} catch (Exception e) {
diff --git a/jdk/src/share/classes/java/util/concurrent/ConcurrentSkipListSet.java b/jdk/src/share/classes/java/util/concurrent/ConcurrentSkipListSet.java
index 7b5dc79..b250c1a 100644
--- a/jdk/src/share/classes/java/util/concurrent/ConcurrentSkipListSet.java
+++ b/jdk/src/share/classes/java/util/concurrent/ConcurrentSkipListSet.java
@@ -35,7 +35,6 @@
package java.util.concurrent;
import java.util.*;
-import sun.misc.Unsafe;
/**
* A scalable concurrent {@link NavigableSet} implementation based on
@@ -158,15 +157,15 @@ public class ConcurrentSkipListSet<E>
* @return a shallow copy of this set
*/
public ConcurrentSkipListSet<E> clone() {
- ConcurrentSkipListSet<E> clone = null;
try {
- clone = (ConcurrentSkipListSet<E>) super.clone();
- clone.setMap(new ConcurrentSkipListMap(m));
+ @SuppressWarnings("unchecked")
+ ConcurrentSkipListSet<E> clone =
+ (ConcurrentSkipListSet<E>) super.clone();
+ clone.setMap(new ConcurrentSkipListMap<E,Object>(m));
+ return clone;
} catch (CloneNotSupportedException e) {
throw new InternalError();
}
-
- return clone;
}
/* ---------------- Set operations -------------- */
@@ -322,8 +321,8 @@ public class ConcurrentSkipListSet<E>
public boolean removeAll(Collection<?> c) {
// Override AbstractSet version to avoid unnecessary call to size()
boolean modified = false;
- for (Iterator<?> i = c.iterator(); i.hasNext(); )
- if (remove(i.next()))
+ for (Object e : c)
+ if (remove(e))
modified = true;
return modified;
}
@@ -468,7 +467,7 @@ public class ConcurrentSkipListSet<E>
* @return a reverse order view of this set
*/
public NavigableSet<E> descendingSet() {
- return new ConcurrentSkipListSet(m.descendingMap());
+ return new ConcurrentSkipListSet<E>(m.descendingMap());
}
// Support for resetting map in clone
@@ -481,7 +480,7 @@ public class ConcurrentSkipListSet<E>
static {
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class k = ConcurrentSkipListSet.class;
+ Class<?> k = ConcurrentSkipListSet.class;
mapOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("m"));
} catch (Exception e) {
diff --git a/jdk/src/share/classes/java/util/concurrent/CopyOnWriteArrayList.java b/jdk/src/share/classes/java/util/concurrent/CopyOnWriteArrayList.java
index 785ec6f..e61dd79 100644
--- a/jdk/src/share/classes/java/util/concurrent/CopyOnWriteArrayList.java
+++ b/jdk/src/share/classes/java/util/concurrent/CopyOnWriteArrayList.java
@@ -36,7 +36,6 @@
package java.util.concurrent;
import java.util.*;
import java.util.concurrent.locks.*;
-import sun.misc.Unsafe;
/**
* A thread-safe variant of {@link java.util.ArrayList} in which all mutative
@@ -281,9 +280,11 @@ public class CopyOnWriteArrayList<E>
*/
public Object clone() {
try {
- CopyOnWriteArrayList c = (CopyOnWriteArrayList)(super.clone());
- c.resetLock();
- return c;
+ @SuppressWarnings("unchecked")
+ CopyOnWriteArrayList<E> clone =
+ (CopyOnWriteArrayList<E>) super.clone();
+ clone.resetLock();
+ return clone;
} catch (CloneNotSupportedException e) {
// this shouldn't happen, since we are Cloneable
throw new InternalError();
@@ -1330,7 +1331,7 @@ public class CopyOnWriteArrayList<E>
static {
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class k = CopyOnWriteArrayList.class;
+ Class<?> k = CopyOnWriteArrayList.class;
lockOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("lock"));
} catch (Exception e) {
diff --git a/jdk/src/share/classes/java/util/concurrent/DelayQueue.java b/jdk/src/share/classes/java/util/concurrent/DelayQueue.java
index dd36cc7..aa68b74 100644
--- a/jdk/src/share/classes/java/util/concurrent/DelayQueue.java
+++ b/jdk/src/share/classes/java/util/concurrent/DelayQueue.java
@@ -531,7 +531,7 @@ public class DelayQueue<E extends Delayed> extends AbstractQueue<E>
// not just a .equals element.
lock.lock();
try {
- for (Iterator it = q.iterator(); it.hasNext(); ) {
+ for (Iterator<E> it = q.iterator(); it.hasNext(); ) {
if (it.next() == x) {
it.remove();
return;
diff --git a/jdk/src/share/classes/java/util/concurrent/Exchanger.java b/jdk/src/share/classes/java/util/concurrent/Exchanger.java
index 99e3a35..5accdb1 100644
--- a/jdk/src/share/classes/java/util/concurrent/Exchanger.java
+++ b/jdk/src/share/classes/java/util/concurrent/Exchanger.java
@@ -279,6 +279,7 @@ public class Exchanger<V> {
* into hole. This class cannot be parameterized as "V" because
* of the use of non-V CANCEL sentinels.
*/
+ @SuppressWarnings("serial")
private static final class Node extends AtomicReference<Object> {
/** The element offered by the Thread creating this node. */
public final Object item;
@@ -303,6 +304,7 @@ public class Exchanger<V> {
* would improve throughput more than enough to outweigh using
* extra space.
*/
+ @SuppressWarnings("serial")
private static final class Slot extends AtomicReference<Object> {
// Improve likelihood of isolation on <= 64 byte cache lines
long q0, q1, q2, q3, q4, q5, q6, q7, q8, q9, qa, qb, qc, qd, qe;
@@ -616,13 +618,14 @@ public class Exchanger<V> {
* @throws InterruptedException if the current thread was
* interrupted while waiting
*/
+ @SuppressWarnings("unchecked")
public V exchange(V x) throws InterruptedException {
if (!Thread.interrupted()) {
- Object v = doExchange((x == null) ? NULL_ITEM : x, false, 0);
- if (v == NULL_ITEM)
+ Object o = doExchange((x == null) ? NULL_ITEM : x, false, 0);
+ if (o == NULL_ITEM)
return null;
- if (v != CANCEL)
- return (V)v;
+ if (o != CANCEL)
+ return (V)o;
Thread.interrupted(); // Clear interrupt status on IE throw
}
throw new InterruptedException();
@@ -670,15 +673,16 @@ public class Exchanger<V> {
* @throws TimeoutException if the specified waiting time elapses
* before another thread enters the exchange
*/
+ @SuppressWarnings("unchecked")
public V exchange(V x, long timeout, TimeUnit unit)
throws InterruptedException, TimeoutException {
if (!Thread.interrupted()) {
- Object v = doExchange((x == null) ? NULL_ITEM : x,
+ Object o = doExchange((x == null) ? NULL_ITEM : x,
true, unit.toNanos(timeout));
- if (v == NULL_ITEM)
+ if (o == NULL_ITEM)
return null;
- if (v != CANCEL)
- return (V)v;
+ if (o != CANCEL)
+ return (V)o;
if (!Thread.interrupted())
throw new TimeoutException();
}
diff --git a/jdk/src/share/classes/java/util/concurrent/ForkJoinPool.java b/jdk/src/share/classes/java/util/concurrent/ForkJoinPool.java
index 9c90f36..0887e83 100644
--- a/jdk/src/share/classes/java/util/concurrent/ForkJoinPool.java
+++ b/jdk/src/share/classes/java/util/concurrent/ForkJoinPool.java
@@ -2150,7 +2150,7 @@ public class ForkJoinPool extends AbstractExecutorService {
int s;
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class k = ForkJoinPool.class;
+ Class<?> k = ForkJoinPool.class;
ctlOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("ctl"));
stealCountOffset = UNSAFE.objectFieldOffset
@@ -2163,7 +2163,7 @@ public class ForkJoinPool extends AbstractExecutorService {
(k.getDeclaredField("scanGuard"));
nextWorkerNumberOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("nextWorkerNumber"));
- Class a = ForkJoinTask[].class;
+ Class<?> a = ForkJoinTask[].class;
ABASE = UNSAFE.arrayBaseOffset(a);
s = UNSAFE.arrayIndexScale(a);
} catch (Exception e) {
diff --git a/jdk/src/share/classes/java/util/concurrent/ForkJoinTask.java b/jdk/src/share/classes/java/util/concurrent/ForkJoinTask.java
index fbab843..de4b123 100644
--- a/jdk/src/share/classes/java/util/concurrent/ForkJoinTask.java
+++ b/jdk/src/share/classes/java/util/concurrent/ForkJoinTask.java
@@ -520,7 +520,7 @@ public abstract class ForkJoinTask<V> implements Future<V>, Serializable {
if (e == null || (ex = e.ex) == null)
return null;
if (e.thrower != Thread.currentThread().getId()) {
- Class ec = ex.getClass();
+ Class<? extends Throwable> ec = ex.getClass();
try {
Constructor<?> noArgCtor = null;
Constructor<?>[] cs = ec.getConstructors();// public ctors only
diff --git a/jdk/src/share/classes/java/util/concurrent/ForkJoinWorkerThread.java b/jdk/src/share/classes/java/util/concurrent/ForkJoinWorkerThread.java
index 3504abb..c60b23b 100644
--- a/jdk/src/share/classes/java/util/concurrent/ForkJoinWorkerThread.java
+++ b/jdk/src/share/classes/java/util/concurrent/ForkJoinWorkerThread.java
@@ -192,7 +192,7 @@ public class ForkJoinWorkerThread extends Thread {
/**
* The work-stealing queue array. Size must be a power of two.
- * Initialized when started (as oposed to when constructed), to
+ * Initialized when started (as opposed to when constructed), to
* improve memory locality.
*/
ForkJoinTask<?>[] queue;
@@ -360,7 +360,7 @@ public class ForkJoinWorkerThread extends Thread {
*/
protected void onStart() {
queue = new ForkJoinTask<?>[INITIAL_QUEUE_CAPACITY];
- int r = pool.workerSeedGenerator.nextInt();
+ int r = ForkJoinPool.workerSeedGenerator.nextInt();
seed = (r == 0) ? 1 : r; // must be nonzero
}
@@ -846,7 +846,7 @@ public class ForkJoinWorkerThread extends Thread {
(b = v.queueBase) != v.queueTop &&
(q = v.queue) != null &&
(i = (q.length - 1) & b) >= 0 &&
- q[i] == t) {
+ q[i] == t) {
long u = (i << ASHIFT) + ABASE;
if (v.queueBase == b &&
UNSAFE.compareAndSwapObject(q, u, t, null)) {
@@ -984,7 +984,7 @@ public class ForkJoinWorkerThread extends Thread {
int s;
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class a = ForkJoinTask[].class;
+ Class<?> a = ForkJoinTask[].class;
ABASE = UNSAFE.arrayBaseOffset(a);
s = UNSAFE.arrayIndexScale(a);
} catch (Exception e) {
diff --git a/jdk/src/share/classes/java/util/concurrent/LinkedBlockingDeque.java b/jdk/src/share/classes/java/util/concurrent/LinkedBlockingDeque.java
index c1978c8..60a18d0 100644
--- a/jdk/src/share/classes/java/util/concurrent/LinkedBlockingDeque.java
+++ b/jdk/src/share/classes/java/util/concurrent/LinkedBlockingDeque.java
@@ -742,6 +742,8 @@ public class LinkedBlockingDeque<E>
throw new NullPointerException();
if (c == this)
throw new IllegalArgumentException();
+ if (maxElements <= 0)
+ return 0;
final ReentrantLock lock = this.lock;
lock.lock();
try {
diff --git a/jdk/src/share/classes/java/util/concurrent/LinkedBlockingQueue.java b/jdk/src/share/classes/java/util/concurrent/LinkedBlockingQueue.java
index ae4d435..d1a6d5a 100644
--- a/jdk/src/share/classes/java/util/concurrent/LinkedBlockingQueue.java
+++ b/jdk/src/share/classes/java/util/concurrent/LinkedBlockingQueue.java
@@ -332,7 +332,7 @@ public class LinkedBlockingQueue<E> extends AbstractQueue<E>
// Note: convention in all put/take/etc is to preset local var
// holding count negative to indicate failure unless set.
int c = -1;
- Node<E> node = new Node(e);
+ Node<E> node = new Node<E>(e);
final ReentrantLock putLock = this.putLock;
final AtomicInteger count = this.count;
putLock.lockInterruptibly();
@@ -412,7 +412,7 @@ public class LinkedBlockingQueue<E> extends AbstractQueue<E>
if (count.get() == capacity)
return false;
int c = -1;
- Node<E> node = new Node(e);
+ Node<E> node = new Node<E>(e);
final ReentrantLock putLock = this.putLock;
putLock.lock();
try {
@@ -728,6 +728,8 @@ public class LinkedBlockingQueue<E> extends AbstractQueue<E>
throw new NullPointerException();
if (c == this)
throw new IllegalArgumentException();
+ if (maxElements <= 0)
+ return 0;
boolean signalNotFull = false;
final ReentrantLock takeLock = this.takeLock;
takeLock.lock();
diff --git a/jdk/src/share/classes/java/util/concurrent/LinkedTransferQueue.java b/jdk/src/share/classes/java/util/concurrent/LinkedTransferQueue.java
index ebdf223..171523f 100644
--- a/jdk/src/share/classes/java/util/concurrent/LinkedTransferQueue.java
+++ b/jdk/src/share/classes/java/util/concurrent/LinkedTransferQueue.java
@@ -330,8 +330,8 @@ public class LinkedTransferQueue<E> extends AbstractQueue<E>
* of less-contended queues. During spins threads check their
* interrupt status and generate a thread-local random number
* to decide to occasionally perform a Thread.yield. While
- * yield has underdefined specs, we assume that might it help,
- * and will not hurt in limiting impact of spinning on busy
+ * yield has underdefined specs, we assume that it might help,
+ * and will not hurt, in limiting impact of spinning on busy
* systems. We also use smaller (1/2) spins for nodes that are
* not known to be front but whose predecessors have not
* blocked -- these "chained" spins avoid artifacts of
@@ -542,7 +542,7 @@ public class LinkedTransferQueue<E> extends AbstractQueue<E>
static {
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class k = Node.class;
+ Class<?> k = Node.class;
itemOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("item"));
nextOffset = UNSAFE.objectFieldOffset
@@ -627,7 +627,7 @@ public class LinkedTransferQueue<E> extends AbstractQueue<E>
break; // unless slack < 2
}
LockSupport.unpark(p.waiter);
- return this.<E>cast(item);
+ return LinkedTransferQueue.<E>cast(item);
}
}
Node n = p.next;
@@ -705,7 +705,7 @@ public class LinkedTransferQueue<E> extends AbstractQueue<E>
if (item != e) { // matched
// assert item != s;
s.forgetContents(); // avoid garbage
- return this.<E>cast(item);
+ return LinkedTransferQueue.<E>cast(item);
}
if ((w.isInterrupted() || (timed && nanos <= 0)) &&
s.casItem(e, s)) { // cancel
@@ -786,7 +786,7 @@ public class LinkedTransferQueue<E> extends AbstractQueue<E>
Object item = p.item;
if (p.isData) {
if (item != null && item != p)
- return this.<E>cast(item);
+ return LinkedTransferQueue.<E>cast(item);
}
else if (item == null)
return null;
@@ -1008,7 +1008,6 @@ public class LinkedTransferQueue<E> extends AbstractQueue<E>
return false;
}
-
/**
* Creates an initially empty {@code LinkedTransferQueue}.
*/
@@ -1045,7 +1044,8 @@ public class LinkedTransferQueue<E> extends AbstractQueue<E>
* return {@code false}.
*
* @return {@code true} (as specified by
- * {@link BlockingQueue#offer(Object,long,TimeUnit) BlockingQueue.offer})
+ * {@link java.util.concurrent.BlockingQueue#offer(Object,long,TimeUnit)
+ * BlockingQueue.offer})
* @throws NullPointerException if the specified element is null
*/
public boolean offer(E e, long timeout, TimeUnit unit) {
@@ -1162,8 +1162,7 @@ public class LinkedTransferQueue<E> extends AbstractQueue<E>
if (c == this)
throw new IllegalArgumentException();
int n = 0;
- E e;
- while ( (e = poll()) != null) {
+ for (E e; (e = poll()) != null;) {
c.add(e);
++n;
}
@@ -1180,8 +1179,7 @@ public class LinkedTransferQueue<E> extends AbstractQueue<E>
if (c == this)
throw new IllegalArgumentException();
int n = 0;
- E e;
- while (n < maxElements && (e = poll()) != null) {
+ for (E e; n < maxElements && (e = poll()) != null;) {
c.add(e);
++n;
}
@@ -1288,7 +1286,8 @@ public class LinkedTransferQueue<E> extends AbstractQueue<E>
* {@code LinkedTransferQueue} is not capacity constrained.
*
* @return {@code Integer.MAX_VALUE} (as specified by
- * {@link BlockingQueue#remainingCapacity()})
+ * {@link java.util.concurrent.BlockingQueue#remainingCapacity()
+ * BlockingQueue.remainingCapacity})
*/
public int remainingCapacity() {
return Integer.MAX_VALUE;
@@ -1320,7 +1319,8 @@ public class LinkedTransferQueue<E> extends AbstractQueue<E>
throws java.io.IOException, ClassNotFoundException {
s.defaultReadObject();
for (;;) {
- @SuppressWarnings("unchecked") E item = (E) s.readObject();
+ @SuppressWarnings("unchecked")
+ E item = (E) s.readObject();
if (item == null)
break;
else
@@ -1337,7 +1337,7 @@ public class LinkedTransferQueue<E> extends AbstractQueue<E>
static {
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class k = LinkedTransferQueue.class;
+ Class<?> k = LinkedTransferQueue.class;
headOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("head"));
tailOffset = UNSAFE.objectFieldOffset
diff --git a/jdk/src/share/classes/java/util/concurrent/Phaser.java b/jdk/src/share/classes/java/util/concurrent/Phaser.java
index bdafbbb..c8afecc 100644
--- a/jdk/src/share/classes/java/util/concurrent/Phaser.java
+++ b/jdk/src/share/classes/java/util/concurrent/Phaser.java
@@ -1142,7 +1142,7 @@ public class Phaser {
static {
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class k = Phaser.class;
+ Class<?> k = Phaser.class;
stateOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("state"));
} catch (Exception e) {
diff --git a/jdk/src/share/classes/java/util/concurrent/PriorityBlockingQueue.java b/jdk/src/share/classes/java/util/concurrent/PriorityBlockingQueue.java
index 83dbb4d..37b44a1 100644
--- a/jdk/src/share/classes/java/util/concurrent/PriorityBlockingQueue.java
+++ b/jdk/src/share/classes/java/util/concurrent/PriorityBlockingQueue.java
@@ -94,6 +94,7 @@ import java.util.*;
* @author Doug Lea
* @param <E> the type of elements held in this collection
*/
+ at SuppressWarnings("unchecked")
public class PriorityBlockingQueue<E> extends AbstractQueue<E>
implements BlockingQueue<E>, java.io.Serializable {
private static final long serialVersionUID = 5595510919245408276L;
@@ -168,7 +169,7 @@ public class PriorityBlockingQueue<E> extends AbstractQueue<E>
* to maintain compatibility with previous versions
* of this class. Non-null only during serialization/deserialization.
*/
- private PriorityQueue q;
+ private PriorityQueue<E> q;
/**
* Creates a {@code PriorityBlockingQueue} with the default
@@ -968,7 +969,7 @@ public class PriorityBlockingQueue<E> extends AbstractQueue<E>
static {
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class k = PriorityBlockingQueue.class;
+ Class<?> k = PriorityBlockingQueue.class;
allocationSpinLockOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("allocationSpinLock"));
} catch (Exception e) {
diff --git a/jdk/src/share/classes/java/util/concurrent/ScheduledThreadPoolExecutor.java b/jdk/src/share/classes/java/util/concurrent/ScheduledThreadPoolExecutor.java
index 5101a9c..49195b8 100644
--- a/jdk/src/share/classes/java/util/concurrent/ScheduledThreadPoolExecutor.java
+++ b/jdk/src/share/classes/java/util/concurrent/ScheduledThreadPoolExecutor.java
@@ -34,8 +34,10 @@
*/
package java.util.concurrent;
-import java.util.concurrent.atomic.*;
-import java.util.concurrent.locks.*;
+import static java.util.concurrent.TimeUnit.NANOSECONDS;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Condition;
+import java.util.concurrent.locks.ReentrantLock;
import java.util.*;
/**
@@ -166,7 +168,7 @@ public class ScheduledThreadPoolExecutor
* Sequence number to break scheduling ties, and in turn to
* guarantee FIFO order among tied entries.
*/
- private static final AtomicLong sequencer = new AtomicLong(0);
+ private static final AtomicLong sequencer = new AtomicLong();
/**
* Returns current nanosecond time.
@@ -231,7 +233,7 @@ public class ScheduledThreadPoolExecutor
}
public long getDelay(TimeUnit unit) {
- return unit.convert(time - now(), TimeUnit.NANOSECONDS);
+ return unit.convert(time - now(), NANOSECONDS);
}
public int compareTo(Delayed other) {
@@ -249,8 +251,8 @@ public class ScheduledThreadPoolExecutor
else
return 1;
}
- long d = (getDelay(TimeUnit.NANOSECONDS) -
- other.getDelay(TimeUnit.NANOSECONDS));
+ long d = (getDelay(NANOSECONDS) -
+ other.getDelay(NANOSECONDS));
return (d == 0) ? 0 : ((d < 0) ? -1 : 1);
}
@@ -424,7 +426,7 @@ public class ScheduledThreadPoolExecutor
* @throws IllegalArgumentException if {@code corePoolSize < 0}
*/
public ScheduledThreadPoolExecutor(int corePoolSize) {
- super(corePoolSize, Integer.MAX_VALUE, 0, TimeUnit.NANOSECONDS,
+ super(corePoolSize, Integer.MAX_VALUE, 0, NANOSECONDS,
new DelayedWorkQueue());
}
@@ -441,7 +443,7 @@ public class ScheduledThreadPoolExecutor
*/
public ScheduledThreadPoolExecutor(int corePoolSize,
ThreadFactory threadFactory) {
- super(corePoolSize, Integer.MAX_VALUE, 0, TimeUnit.NANOSECONDS,
+ super(corePoolSize, Integer.MAX_VALUE, 0, NANOSECONDS,
new DelayedWorkQueue(), threadFactory);
}
@@ -458,7 +460,7 @@ public class ScheduledThreadPoolExecutor
*/
public ScheduledThreadPoolExecutor(int corePoolSize,
RejectedExecutionHandler handler) {
- super(corePoolSize, Integer.MAX_VALUE, 0, TimeUnit.NANOSECONDS,
+ super(corePoolSize, Integer.MAX_VALUE, 0, NANOSECONDS,
new DelayedWorkQueue(), handler);
}
@@ -479,7 +481,7 @@ public class ScheduledThreadPoolExecutor
public ScheduledThreadPoolExecutor(int corePoolSize,
ThreadFactory threadFactory,
RejectedExecutionHandler handler) {
- super(corePoolSize, Integer.MAX_VALUE, 0, TimeUnit.NANOSECONDS,
+ super(corePoolSize, Integer.MAX_VALUE, 0, NANOSECONDS,
new DelayedWorkQueue(), threadFactory, handler);
}
@@ -508,7 +510,7 @@ public class ScheduledThreadPoolExecutor
private long overflowFree(long delay) {
Delayed head = (Delayed) super.getQueue().peek();
if (head != null) {
- long headDelay = head.getDelay(TimeUnit.NANOSECONDS);
+ long headDelay = head.getDelay(NANOSECONDS);
if (headDelay < 0 && (delay - headDelay < 0))
delay = Long.MAX_VALUE + headDelay;
}
@@ -616,7 +618,7 @@ public class ScheduledThreadPoolExecutor
* @throws NullPointerException {@inheritDoc}
*/
public void execute(Runnable command) {
- schedule(command, 0, TimeUnit.NANOSECONDS);
+ schedule(command, 0, NANOSECONDS);
}
// Override AbstractExecutorService methods
@@ -626,7 +628,7 @@ public class ScheduledThreadPoolExecutor
* @throws NullPointerException {@inheritDoc}
*/
public Future<?> submit(Runnable task) {
- return schedule(task, 0, TimeUnit.NANOSECONDS);
+ return schedule(task, 0, NANOSECONDS);
}
/**
@@ -634,8 +636,7 @@ public class ScheduledThreadPoolExecutor
* @throws NullPointerException {@inheritDoc}
*/
public <T> Future<T> submit(Runnable task, T result) {
- return schedule(Executors.callable(task, result),
- 0, TimeUnit.NANOSECONDS);
+ return schedule(Executors.callable(task, result), 0, NANOSECONDS);
}
/**
@@ -643,7 +644,7 @@ public class ScheduledThreadPoolExecutor
* @throws NullPointerException {@inheritDoc}
*/
public <T> Future<T> submit(Callable<T> task) {
- return schedule(task, 0, TimeUnit.NANOSECONDS);
+ return schedule(task, 0, NANOSECONDS);
}
/**
@@ -831,8 +832,8 @@ public class ScheduledThreadPoolExecutor
*/
private static final int INITIAL_CAPACITY = 16;
- private RunnableScheduledFuture[] queue =
- new RunnableScheduledFuture[INITIAL_CAPACITY];
+ private RunnableScheduledFuture<?>[] queue =
+ new RunnableScheduledFuture<?>[INITIAL_CAPACITY];
private final ReentrantLock lock = new ReentrantLock();
private int size = 0;
@@ -863,7 +864,7 @@ public class ScheduledThreadPoolExecutor
/**
* Set f's heapIndex if it is a ScheduledFutureTask.
*/
- private void setIndex(RunnableScheduledFuture f, int idx) {
+ private void setIndex(RunnableScheduledFuture<?> f, int idx) {
if (f instanceof ScheduledFutureTask)
((ScheduledFutureTask)f).heapIndex = idx;
}
@@ -872,10 +873,10 @@ public class ScheduledThreadPoolExecutor
* Sift element added at bottom up to its heap-ordered spot.
* Call only when holding lock.
*/
- private void siftUp(int k, RunnableScheduledFuture key) {
+ private void siftUp(int k, RunnableScheduledFuture<?> key) {
while (k > 0) {
int parent = (k - 1) >>> 1;
- RunnableScheduledFuture e = queue[parent];
+ RunnableScheduledFuture<?> e = queue[parent];
if (key.compareTo(e) >= 0)
break;
queue[k] = e;
@@ -890,11 +891,11 @@ public class ScheduledThreadPoolExecutor
* Sift element added at top down to its heap-ordered spot.
* Call only when holding lock.
*/
- private void siftDown(int k, RunnableScheduledFuture key) {
+ private void siftDown(int k, RunnableScheduledFuture<?> key) {
int half = size >>> 1;
while (k < half) {
int child = (k << 1) + 1;
- RunnableScheduledFuture c = queue[child];
+ RunnableScheduledFuture<?> c = queue[child];
int right = child + 1;
if (right < size && c.compareTo(queue[right]) > 0)
c = queue[child = right];
@@ -959,7 +960,7 @@ public class ScheduledThreadPoolExecutor
setIndex(queue[i], -1);
int s = --size;
- RunnableScheduledFuture replacement = queue[s];
+ RunnableScheduledFuture<?> replacement = queue[s];
queue[s] = null;
if (s != i) {
siftDown(i, replacement);
@@ -990,7 +991,7 @@ public class ScheduledThreadPoolExecutor
return Integer.MAX_VALUE;
}
- public RunnableScheduledFuture peek() {
+ public RunnableScheduledFuture<?> peek() {
final ReentrantLock lock = this.lock;
lock.lock();
try {
@@ -1003,7 +1004,7 @@ public class ScheduledThreadPoolExecutor
public boolean offer(Runnable x) {
if (x == null)
throw new NullPointerException();
- RunnableScheduledFuture e = (RunnableScheduledFuture)x;
+ RunnableScheduledFuture<?> e = (RunnableScheduledFuture<?>)x;
final ReentrantLock lock = this.lock;
lock.lock();
try {
@@ -1045,9 +1046,9 @@ public class ScheduledThreadPoolExecutor
* holding lock.
* @param f the task to remove and return
*/
- private RunnableScheduledFuture finishPoll(RunnableScheduledFuture f) {
+ private RunnableScheduledFuture<?> finishPoll(RunnableScheduledFuture<?> f) {
int s = --size;
- RunnableScheduledFuture x = queue[s];
+ RunnableScheduledFuture<?> x = queue[s];
queue[s] = null;
if (s != 0)
siftDown(0, x);
@@ -1055,12 +1056,12 @@ public class ScheduledThreadPoolExecutor
return f;
}
- public RunnableScheduledFuture poll() {
+ public RunnableScheduledFuture<?> poll() {
final ReentrantLock lock = this.lock;
lock.lock();
try {
- RunnableScheduledFuture first = queue[0];
- if (first == null || first.getDelay(TimeUnit.NANOSECONDS) > 0)
+ RunnableScheduledFuture<?> first = queue[0];
+ if (first == null || first.getDelay(NANOSECONDS) > 0)
return null;
else
return finishPoll(first);
@@ -1069,16 +1070,16 @@ public class ScheduledThreadPoolExecutor
}
}
- public RunnableScheduledFuture take() throws InterruptedException {
+ public RunnableScheduledFuture<?> take() throws InterruptedException {
final ReentrantLock lock = this.lock;
lock.lockInterruptibly();
try {
for (;;) {
- RunnableScheduledFuture first = queue[0];
+ RunnableScheduledFuture<?> first = queue[0];
if (first == null)
available.await();
else {
- long delay = first.getDelay(TimeUnit.NANOSECONDS);
+ long delay = first.getDelay(NANOSECONDS);
if (delay <= 0)
return finishPoll(first);
else if (leader != null)
@@ -1102,21 +1103,21 @@ public class ScheduledThreadPoolExecutor
}
}
- public RunnableScheduledFuture poll(long timeout, TimeUnit unit)
+ public RunnableScheduledFuture<?> poll(long timeout, TimeUnit unit)
throws InterruptedException {
long nanos = unit.toNanos(timeout);
final ReentrantLock lock = this.lock;
lock.lockInterruptibly();
try {
for (;;) {
- RunnableScheduledFuture first = queue[0];
+ RunnableScheduledFuture<?> first = queue[0];
if (first == null) {
if (nanos <= 0)
return null;
else
nanos = available.awaitNanos(nanos);
} else {
- long delay = first.getDelay(TimeUnit.NANOSECONDS);
+ long delay = first.getDelay(NANOSECONDS);
if (delay <= 0)
return finishPoll(first);
if (nanos <= 0)
@@ -1148,7 +1149,7 @@ public class ScheduledThreadPoolExecutor
lock.lock();
try {
for (int i = 0; i < size; i++) {
- RunnableScheduledFuture t = queue[i];
+ RunnableScheduledFuture<?> t = queue[i];
if (t != null) {
queue[i] = null;
setIndex(t, -1);
@@ -1164,9 +1165,10 @@ public class ScheduledThreadPoolExecutor
* Return and remove first element only if it is expired.
* Used only by drainTo. Call only when holding lock.
*/
- private RunnableScheduledFuture pollExpired() {
- RunnableScheduledFuture first = queue[0];
- if (first == null || first.getDelay(TimeUnit.NANOSECONDS) > 0)
+ private RunnableScheduledFuture<?> pollExpired() {
+ // assert lock.isHeldByCurrentThread();
+ RunnableScheduledFuture<?> first = queue[0];
+ if (first == null || first.getDelay(NANOSECONDS) > 0)
return null;
return finishPoll(first);
}
@@ -1179,7 +1181,7 @@ public class ScheduledThreadPoolExecutor
final ReentrantLock lock = this.lock;
lock.lock();
try {
- RunnableScheduledFuture first;
+ RunnableScheduledFuture<?> first;
int n = 0;
while ((first = pollExpired()) != null) {
c.add(first);
@@ -1201,7 +1203,7 @@ public class ScheduledThreadPoolExecutor
final ReentrantLock lock = this.lock;
lock.lock();
try {
- RunnableScheduledFuture first;
+ RunnableScheduledFuture<?> first;
int n = 0;
while (n < maxElements && (first = pollExpired()) != null) {
c.add(first);
diff --git a/jdk/src/share/classes/java/util/concurrent/SynchronousQueue.java b/jdk/src/share/classes/java/util/concurrent/SynchronousQueue.java
index a1fa8e2..9d0d830 100644
--- a/jdk/src/share/classes/java/util/concurrent/SynchronousQueue.java
+++ b/jdk/src/share/classes/java/util/concurrent/SynchronousQueue.java
@@ -36,7 +36,6 @@
package java.util.concurrent;
import java.util.concurrent.locks.*;
-import java.util.concurrent.atomic.*;
import java.util.*;
/**
@@ -163,7 +162,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
/**
* Shared internal API for dual stacks and queues.
*/
- abstract static class Transferer {
+ abstract static class Transferer<E> {
/**
* Performs a put or take.
*
@@ -177,7 +176,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
* the caller can distinguish which of these occurred
* by checking Thread.interrupted.
*/
- abstract Object transfer(Object e, boolean timed, long nanos);
+ abstract E transfer(E e, boolean timed, long nanos);
}
/** The number of CPUs, for spin control */
@@ -206,7 +205,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
static final long spinForTimeoutThreshold = 1000L;
/** Dual stack */
- static final class TransferStack extends Transferer {
+ static final class TransferStack<E> extends Transferer<E> {
/*
* This extends Scherer-Scott dual stack algorithm, differing,
* among other ways, by using "covering" nodes rather than
@@ -286,7 +285,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
static {
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class k = SNode.class;
+ Class<?> k = SNode.class;
matchOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("match"));
nextOffset = UNSAFE.objectFieldOffset
@@ -322,7 +321,8 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
/**
* Puts or takes an item.
*/
- Object transfer(Object e, boolean timed, long nanos) {
+ @SuppressWarnings("unchecked")
+ E transfer(E e, boolean timed, long nanos) {
/*
* Basic algorithm is to loop trying one of three actions:
*
@@ -363,7 +363,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
}
if ((h = head) != null && h.next == s)
casHead(h, s.next); // help s's fulfiller
- return (mode == REQUEST) ? m.item : s.item;
+ return (E) ((mode == REQUEST) ? m.item : s.item);
}
} else if (!isFulfilling(h.mode)) { // try to fulfill
if (h.isCancelled()) // already cancelled
@@ -379,7 +379,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
SNode mn = m.next;
if (m.tryMatch(s)) {
casHead(s, mn); // pop both s and m
- return (mode == REQUEST) ? m.item : s.item;
+ return (E) ((mode == REQUEST) ? m.item : s.item);
} else // lost match
s.casNext(m, mn); // help unlink
}
@@ -513,7 +513,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
static {
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class k = TransferStack.class;
+ Class<?> k = TransferStack.class;
headOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("head"));
} catch (Exception e) {
@@ -523,7 +523,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
}
/** Dual Queue */
- static final class TransferQueue extends Transferer {
+ static final class TransferQueue<E> extends Transferer<E> {
/*
* This extends Scherer-Scott dual queue algorithm, differing,
* among other ways, by using modes within nodes rather than
@@ -583,7 +583,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
static {
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class k = QNode.class;
+ Class<?> k = QNode.class;
itemOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("item"));
nextOffset = UNSAFE.objectFieldOffset
@@ -640,7 +640,8 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
/**
* Puts or takes an item.
*/
- Object transfer(Object e, boolean timed, long nanos) {
+ @SuppressWarnings("unchecked")
+ E transfer(E e, boolean timed, long nanos) {
/* Basic algorithm is to loop trying to take either of
* two actions:
*
@@ -703,7 +704,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
s.item = s;
s.waiter = null;
}
- return (x != null) ? x : e;
+ return (x != null) ? (E)x : e;
} else { // complementary-mode
QNode m = h.next; // node to fulfill
@@ -720,7 +721,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
advanceHead(h, m); // successfully fulfilled
LockSupport.unpark(m.waiter);
- return (x != null) ? x : e;
+ return (x != null) ? (E)x : e;
}
}
}
@@ -734,7 +735,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
* @param nanos timeout value
* @return matched item, or s if cancelled
*/
- Object awaitFulfill(QNode s, Object e, boolean timed, long nanos) {
+ Object awaitFulfill(QNode s, E e, boolean timed, long nanos) {
/* Same idea as TransferStack.awaitFulfill */
long lastTime = timed ? System.nanoTime() : 0;
Thread w = Thread.currentThread();
@@ -827,7 +828,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
static {
try {
UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class k = TransferQueue.class;
+ Class<?> k = TransferQueue.class;
headOffset = UNSAFE.objectFieldOffset
(k.getDeclaredField("head"));
tailOffset = UNSAFE.objectFieldOffset
@@ -847,7 +848,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
* isn't a noticeable performance penalty for using volatile
* instead of final here.
*/
- private transient volatile Transferer transferer;
+ private transient volatile Transferer<E> transferer;
/**
* Creates a <tt>SynchronousQueue</tt> with nonfair access policy.
@@ -863,7 +864,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
* access; otherwise the order is unspecified.
*/
public SynchronousQueue(boolean fair) {
- transferer = fair ? new TransferQueue() : new TransferStack();
+ transferer = fair ? new TransferQueue<E>() : new TransferStack<E>();
}
/**
@@ -922,9 +923,9 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
* @throws InterruptedException {@inheritDoc}
*/
public E take() throws InterruptedException {
- Object e = transferer.transfer(null, false, 0);
+ E e = transferer.transfer(null, false, 0);
if (e != null)
- return (E)e;
+ return e;
Thread.interrupted();
throw new InterruptedException();
}
@@ -939,9 +940,9 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
* @throws InterruptedException {@inheritDoc}
*/
public E poll(long timeout, TimeUnit unit) throws InterruptedException {
- Object e = transferer.transfer(null, true, unit.toNanos(timeout));
+ E e = transferer.transfer(null, true, unit.toNanos(timeout));
if (e != null || !Thread.interrupted())
- return (E)e;
+ return e;
throw new InterruptedException();
}
@@ -953,7 +954,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
* element is available.
*/
public E poll() {
- return (E)transferer.transfer(null, true, 0);
+ return transferer.transfer(null, true, 0);
}
/**
@@ -1065,8 +1066,19 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
*
* @return an empty iterator
*/
+ @SuppressWarnings("unchecked")
public Iterator<E> iterator() {
- return Collections.emptyIterator();
+ return (Iterator<E>) EmptyIterator.EMPTY_ITERATOR;
+ }
+
+ // Replicated from a previous version of Collections
+ private static class EmptyIterator<E> implements Iterator<E> {
+ static final EmptyIterator<Object> EMPTY_ITERATOR
+ = new EmptyIterator<Object>();
+
+ public boolean hasNext() { return false; }
+ public E next() { throw new NoSuchElementException(); }
+ public void remove() { throw new IllegalStateException(); }
}
/**
@@ -1103,8 +1115,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
if (c == this)
throw new IllegalArgumentException();
int n = 0;
- E e;
- while ( (e = poll()) != null) {
+ for (E e; (e = poll()) != null;) {
c.add(e);
++n;
}
@@ -1123,8 +1134,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
if (c == this)
throw new IllegalArgumentException();
int n = 0;
- E e;
- while (n < maxElements && (e = poll()) != null) {
+ for (E e; n < maxElements && (e = poll()) != null;) {
c.add(e);
++n;
}
@@ -1139,6 +1149,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
* object is ever serialized or deserialized.
*/
+ @SuppressWarnings("serial")
static class WaitQueue implements java.io.Serializable { }
static class LifoWaitQueue extends WaitQueue {
private static final long serialVersionUID = -3633113410248163686L;
@@ -1151,7 +1162,7 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
private WaitQueue waitingConsumers;
/**
- * Save the state to a stream (that is, serialize it).
+ * Saves the state to a stream (that is, serializes it).
*
* @param s the stream
*/
@@ -1175,9 +1186,9 @@ public class SynchronousQueue<E> extends AbstractQueue<E>
throws java.io.IOException, ClassNotFoundException {
s.defaultReadObject();
if (waitingProducers instanceof FifoWaitQueue)
- transferer = new TransferQueue();
+ transferer = new TransferQueue<E>();
else
- transferer = new TransferStack();
+ transferer = new TransferStack<E>();
}
// Unsafe mechanics
diff --git a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicBoolean.java b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicBoolean.java
index c21df7b..a4d6d82 100644
--- a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicBoolean.java
+++ b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicBoolean.java
@@ -54,10 +54,10 @@ public class AtomicBoolean implements java.io.Serializable {
private static final long valueOffset;
static {
- try {
- valueOffset = unsafe.objectFieldOffset
- (AtomicBoolean.class.getDeclaredField("value"));
- } catch (Exception ex) { throw new Error(ex); }
+ try {
+ valueOffset = unsafe.objectFieldOffset
+ (AtomicBoolean.class.getDeclaredField("value"));
+ } catch (Exception ex) { throw new Error(ex); }
}
private volatile int value;
diff --git a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicInteger.java b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicInteger.java
index ec68acd..1bc7fa2 100644
--- a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicInteger.java
+++ b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicInteger.java
@@ -57,10 +57,10 @@ public class AtomicInteger extends Number implements java.io.Serializable {
private static final long valueOffset;
static {
- try {
- valueOffset = unsafe.objectFieldOffset
- (AtomicInteger.class.getDeclaredField("value"));
- } catch (Exception ex) { throw new Error(ex); }
+ try {
+ valueOffset = unsafe.objectFieldOffset
+ (AtomicInteger.class.getDeclaredField("value"));
+ } catch (Exception ex) { throw new Error(ex); }
}
private volatile int value;
@@ -247,8 +247,7 @@ public class AtomicInteger extends Number implements java.io.Serializable {
/**
- * Returns the value of this {@code AtomicInteger} as an
- * {@code int}.
+ * Returns the value of this {@code AtomicInteger} as an {@code int}.
*/
public int intValue() {
return get();
diff --git a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java
index 4622701..9928e59 100644
--- a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java
+++ b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java
@@ -35,7 +35,6 @@
package java.util.concurrent.atomic;
import sun.misc.Unsafe;
-import java.util.*;
/**
* An {@code int} array in which elements may be updated atomically.
diff --git a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java
index aed5d1f..9f4fee4 100644
--- a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java
+++ b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java
@@ -135,7 +135,6 @@ public abstract class AtomicIntegerFieldUpdater<T> {
*/
public abstract void lazySet(T obj, int newValue);
-
/**
* Gets the current value held in the field of the given object managed
* by this updater.
@@ -266,11 +265,11 @@ public abstract class AtomicIntegerFieldUpdater<T> {
private static final Unsafe unsafe = Unsafe.getUnsafe();
private final long offset;
private final Class<T> tclass;
- private final Class cclass;
+ private final Class<?> cclass;
AtomicIntegerFieldUpdaterImpl(Class<T> tclass, String fieldName) {
Field field = null;
- Class caller = null;
+ Class<?> caller = null;
int modifiers = 0;
try {
field = tclass.getDeclaredField(fieldName);
@@ -283,7 +282,7 @@ public abstract class AtomicIntegerFieldUpdater<T> {
throw new RuntimeException(ex);
}
- Class fieldt = field.getType();
+ Class<?> fieldt = field.getType();
if (fieldt != int.class)
throw new IllegalArgumentException("Must be integer type");
diff --git a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicLong.java b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicLong.java
index bf2c71a..f503d57 100644
--- a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicLong.java
+++ b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicLong.java
@@ -71,10 +71,10 @@ public class AtomicLong extends Number implements java.io.Serializable {
private static native boolean VMSupportsCS8();
static {
- try {
- valueOffset = unsafe.objectFieldOffset
- (AtomicLong.class.getDeclaredField("value"));
- } catch (Exception ex) { throw new Error(ex); }
+ try {
+ valueOffset = unsafe.objectFieldOffset
+ (AtomicLong.class.getDeclaredField("value"));
+ } catch (Exception ex) { throw new Error(ex); }
}
private volatile long value;
@@ -270,8 +270,7 @@ public class AtomicLong extends Number implements java.io.Serializable {
}
/**
- * Returns the value of this {@code AtomicLong} as a {@code long}
- * value.
+ * Returns the value of this {@code AtomicLong} as a {@code long}.
*/
public long longValue() {
return get();
@@ -287,8 +286,8 @@ public class AtomicLong extends Number implements java.io.Serializable {
}
/**
- * Returns the value of this {@code AtomicLong} as a {@code
- * double} after a widening primitive conversion.
+ * Returns the value of this {@code AtomicLong} as a {@code double}
+ * after a widening primitive conversion.
* @jls 5.1.2 Widening Primitive Conversions
*/
public double doubleValue() {
diff --git a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicLongArray.java b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicLongArray.java
index ece5b6a..856ab39 100644
--- a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicLongArray.java
+++ b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicLongArray.java
@@ -35,7 +35,6 @@
package java.util.concurrent.atomic;
import sun.misc.Unsafe;
-import java.util.*;
/**
* A {@code long} array in which elements may be updated atomically.
@@ -136,7 +135,6 @@ public class AtomicLongArray implements java.io.Serializable {
unsafe.putOrderedLong(array, checkedByteOffset(i), newValue);
}
-
/**
* Atomically sets the element at position {@code i} to the given value
* and returns the old value.
diff --git a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java
index fa0a857..ccc5acb 100644
--- a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java
+++ b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java
@@ -265,11 +265,11 @@ public abstract class AtomicLongFieldUpdater<T> {
private static final Unsafe unsafe = Unsafe.getUnsafe();
private final long offset;
private final Class<T> tclass;
- private final Class cclass;
+ private final Class<?> cclass;
CASUpdater(Class<T> tclass, String fieldName) {
Field field = null;
- Class caller = null;
+ Class<?> caller = null;
int modifiers = 0;
try {
field = tclass.getDeclaredField(fieldName);
@@ -282,7 +282,7 @@ public abstract class AtomicLongFieldUpdater<T> {
throw new RuntimeException(ex);
}
- Class fieldt = field.getType();
+ Class<?> fieldt = field.getType();
if (fieldt != long.class)
throw new IllegalArgumentException("Must be long type");
@@ -348,11 +348,11 @@ public abstract class AtomicLongFieldUpdater<T> {
private static final Unsafe unsafe = Unsafe.getUnsafe();
private final long offset;
private final Class<T> tclass;
- private final Class cclass;
+ private final Class<?> cclass;
LockedUpdater(Class<T> tclass, String fieldName) {
Field field = null;
- Class caller = null;
+ Class<?> caller = null;
int modifiers = 0;
try {
field = tclass.getDeclaredField(fieldName);
@@ -365,7 +365,7 @@ public abstract class AtomicLongFieldUpdater<T> {
throw new RuntimeException(ex);
}
- Class fieldt = field.getType();
+ Class<?> fieldt = field.getType();
if (fieldt != long.class)
throw new IllegalArgumentException("Must be long type");
diff --git a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicReference.java b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicReference.java
index 3178ca1..978664e 100644
--- a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicReference.java
+++ b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicReference.java
@@ -51,10 +51,10 @@ public class AtomicReference<V> implements java.io.Serializable {
private static final long valueOffset;
static {
- try {
- valueOffset = unsafe.objectFieldOffset
- (AtomicReference.class.getDeclaredField("value"));
- } catch (Exception ex) { throw new Error(ex); }
+ try {
+ valueOffset = unsafe.objectFieldOffset
+ (AtomicReference.class.getDeclaredField("value"));
+ } catch (Exception ex) { throw new Error(ex); }
}
private volatile V value;
diff --git a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java
index b173f26..d92bdb5 100644
--- a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java
+++ b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java
@@ -113,6 +113,7 @@ public class AtomicReferenceArray<E> implements java.io.Serializable {
return getRaw(checkedByteOffset(i));
}
+ @SuppressWarnings("unchecked")
private E getRaw(long offset) {
return (E) unsafe.getObjectVolatile(array, offset);
}
@@ -150,7 +151,7 @@ public class AtomicReferenceArray<E> implements java.io.Serializable {
public final E getAndSet(int i, E newValue) {
long offset = checkedByteOffset(i);
while (true) {
- E current = (E) getRaw(offset);
+ E current = getRaw(offset);
if (compareAndSetRaw(offset, current, newValue))
return current;
}
diff --git a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java
index 7b72f0f..f2e0118 100644
--- a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java
+++ b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java
@@ -183,7 +183,7 @@ public abstract class AtomicReferenceFieldUpdater<T, V> {
private final long offset;
private final Class<T> tclass;
private final Class<V> vclass;
- private final Class cclass;
+ private final Class<?> cclass;
/*
* Internal type checks within all update methods contain
@@ -201,8 +201,8 @@ public abstract class AtomicReferenceFieldUpdater<T, V> {
Class<V> vclass,
String fieldName) {
Field field = null;
- Class fieldClass = null;
- Class caller = null;
+ Class<?> fieldClass = null;
+ Class<?> caller = null;
int modifiers = 0;
try {
field = tclass.getDeclaredField(fieldName);
@@ -280,6 +280,7 @@ public abstract class AtomicReferenceFieldUpdater<T, V> {
unsafe.putOrderedObject(obj, offset, newValue);
}
+ @SuppressWarnings("unchecked")
public V get(T obj) {
if (obj == null || obj.getClass() != tclass || cclass != null)
targetCheck(obj);
diff --git a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicStampedReference.java b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicStampedReference.java
index 90aa3a0..5f8f1a0 100644
--- a/jdk/src/share/classes/java/util/concurrent/atomic/AtomicStampedReference.java
+++ b/jdk/src/share/classes/java/util/concurrent/atomic/AtomicStampedReference.java
@@ -155,7 +155,6 @@ public class AtomicStampedReference<V> {
casPair(current, Pair.of(newReference, newStamp)));
}
-
/**
* Unconditionally sets the value of both the reference and stamp.
*
diff --git a/jdk/src/share/classes/java/util/jar/Attributes.java b/jdk/src/share/classes/java/util/jar/Attributes.java
index 5885642..e090711 100644
--- a/jdk/src/share/classes/java/util/jar/Attributes.java
+++ b/jdk/src/share/classes/java/util/jar/Attributes.java
@@ -629,7 +629,7 @@ public class Attributes implements Map<Object,Object>, Cloneable {
public static final Name IMPLEMENTATION_VENDOR_ID = new Name("Implementation-Vendor-Id");
/**
- * <code>Name</code> object for <code>Implementation-Vendor-URL</code>
+ * <code>Name</code> object for <code>Implementation-URL</code>
* manifest attribute used for package versioning.
* @see <a href="../../../../technotes/guides/versioning/spec/versioning2.html#wp90779">
* Java Product Versioning Specification</a>
diff --git a/jdk/src/share/classes/java/util/jar/JarFile.java b/jdk/src/share/classes/java/util/jar/JarFile.java
index 2634adb..25ad730 100644
--- a/jdk/src/share/classes/java/util/jar/JarFile.java
+++ b/jdk/src/share/classes/java/util/jar/JarFile.java
@@ -193,7 +193,7 @@ class JarFile extends ZipFile {
} else {
man = new Manifest(super.getInputStream(manEntry));
}
- manRef = new SoftReference(man);
+ manRef = new SoftReference<>(man);
}
}
return man;
@@ -262,13 +262,13 @@ class JarFile extends ZipFile {
* Returns an enumeration of the zip file entries.
*/
public Enumeration<JarEntry> entries() {
- final Enumeration enum_ = super.entries();
+ final Enumeration<? extends ZipEntry> enum_ = super.entries();
return new Enumeration<JarEntry>() {
public boolean hasMoreElements() {
return enum_.hasMoreElements();
}
public JarFileEntry nextElement() {
- ZipEntry ze = (ZipEntry)enum_.nextElement();
+ ZipEntry ze = enum_.nextElement();
return new JarFileEntry(ze);
}
};
@@ -637,7 +637,7 @@ class JarFile extends ZipFile {
}
// screen out entries which are never signed
- final Enumeration enum_ = super.entries();
+ final Enumeration<? extends ZipEntry> enum_ = super.entries();
return new Enumeration<JarEntry>() {
ZipEntry entry;
@@ -647,7 +647,7 @@ class JarFile extends ZipFile {
return true;
}
while (enum_.hasMoreElements()) {
- ZipEntry ze = (ZipEntry) enum_.nextElement();
+ ZipEntry ze = enum_.nextElement();
if (JarVerifier.isSigningRelated(ze.getName())) {
continue;
}
@@ -678,7 +678,7 @@ class JarFile extends ZipFile {
* JAR file has no signed content. Is there a non-signing
* code source?
*/
- Enumeration unsigned = unsignedEntryNames();
+ Enumeration<String> unsigned = unsignedEntryNames();
if (unsigned.hasMoreElements()) {
return new CodeSource[]{JarVerifier.getUnsignedCS(url)};
} else {
@@ -687,7 +687,7 @@ class JarFile extends ZipFile {
}
private Enumeration<String> unsignedEntryNames() {
- final Enumeration entries = entries();
+ final Enumeration<JarEntry> entries = entries();
return new Enumeration<String>() {
String name;
@@ -702,7 +702,7 @@ class JarFile extends ZipFile {
}
while (entries.hasMoreElements()) {
String value;
- ZipEntry e = (ZipEntry) entries.nextElement();
+ ZipEntry e = entries.nextElement();
value = e.getName();
if (e.isDirectory() || JarVerifier.isSigningRelated(value)) {
continue;
@@ -755,11 +755,11 @@ class JarFile extends ZipFile {
}
}
- List getManifestDigests() {
+ List<Object> getManifestDigests() {
ensureInitialization();
if (jv != null) {
return jv.getManifestDigests();
}
- return new ArrayList();
+ return new ArrayList<Object>();
}
}
diff --git a/jdk/src/share/classes/java/util/jar/JarVerifier.java b/jdk/src/share/classes/java/util/jar/JarVerifier.java
index 4f84ac2..6a9a8b5 100644
--- a/jdk/src/share/classes/java/util/jar/JarVerifier.java
+++ b/jdk/src/share/classes/java/util/jar/JarVerifier.java
@@ -90,7 +90,7 @@ class JarVerifier {
private Object csdomain = new Object();
/** collect -DIGEST-MANIFEST values for blacklist */
- private List manifestDigests;
+ private List<Object> manifestDigests;
public JarVerifier(byte rawBytes[]) {
manifestRawBytes = rawBytes;
@@ -99,7 +99,7 @@ class JarVerifier {
sigFileData = new Hashtable(11);
pendingBlocks = new ArrayList();
baos = new ByteArrayOutputStream();
- manifestDigests = new ArrayList();
+ manifestDigests = new ArrayList<>();
}
/**
@@ -872,7 +872,7 @@ class JarVerifier {
eagerValidation = eager;
}
- public synchronized List getManifestDigests() {
+ public synchronized List<Object> getManifestDigests() {
return Collections.unmodifiableList(manifestDigests);
}
diff --git a/jdk/src/share/classes/java/util/jar/JavaUtilJarAccessImpl.java b/jdk/src/share/classes/java/util/jar/JavaUtilJarAccessImpl.java
index c53ba0c..9541a5a 100644
--- a/jdk/src/share/classes/java/util/jar/JavaUtilJarAccessImpl.java
+++ b/jdk/src/share/classes/java/util/jar/JavaUtilJarAccessImpl.java
@@ -57,7 +57,7 @@ class JavaUtilJarAccessImpl implements JavaUtilJarAccess {
jar.setEagerValidation(eager);
}
- public List getManifestDigests(JarFile jar) {
+ public List<Object> getManifestDigests(JarFile jar) {
return jar.getManifestDigests();
}
}
diff --git a/jdk/src/share/classes/java/util/jar/Manifest.java b/jdk/src/share/classes/java/util/jar/Manifest.java
index 8023d17..3bb5671 100644
--- a/jdk/src/share/classes/java/util/jar/Manifest.java
+++ b/jdk/src/share/classes/java/util/jar/Manifest.java
@@ -51,7 +51,7 @@ public class Manifest implements Cloneable {
private Attributes attr = new Attributes();
// manifest entries
- private Map entries = new HashMap();
+ private Map<String, Attributes> entries = new HashMap<>();
/**
* Constructs a new, empty Manifest.
@@ -148,11 +148,11 @@ public class Manifest implements Cloneable {
// Write out the main attributes for the manifest
attr.writeMain(dos);
// Now write out the pre-entry attributes
- Iterator it = entries.entrySet().iterator();
+ Iterator<Map.Entry<String, Attributes>> it = entries.entrySet().iterator();
while (it.hasNext()) {
- Map.Entry e = (Map.Entry)it.next();
+ Map.Entry<String, Attributes> e = it.next();
StringBuffer buffer = new StringBuffer("Name: ");
- String value = (String)e.getKey();
+ String value = e.getKey();
if (value != null) {
byte[] vb = value.getBytes("UTF8");
value = new String(vb, 0, 0, vb.length);
@@ -161,7 +161,7 @@ public class Manifest implements Cloneable {
buffer.append("\r\n");
make72Safe(buffer);
dos.writeBytes(buffer.toString());
- ((Attributes)e.getValue()).write(dos);
+ e.getValue().write(dos);
}
dos.flush();
}
diff --git a/jdk/src/share/classes/java/util/logging/LogManager.java b/jdk/src/share/classes/java/util/logging/LogManager.java
index a28b0d8..bf8a486 100644
--- a/jdk/src/share/classes/java/util/logging/LogManager.java
+++ b/jdk/src/share/classes/java/util/logging/LogManager.java
@@ -179,10 +179,10 @@ public class LogManager {
cname = System.getProperty("java.util.logging.manager");
if (cname != null) {
try {
- Class clz = ClassLoader.getSystemClassLoader().loadClass(cname);
+ Class<?> clz = ClassLoader.getSystemClassLoader().loadClass(cname);
manager = (LogManager) clz.newInstance();
} catch (ClassNotFoundException ex) {
- Class clz = Thread.currentThread().getContextClassLoader().loadClass(cname);
+ Class<?> clz = Thread.currentThread().getContextClassLoader().loadClass(cname);
manager = (LogManager) clz.newInstance();
}
}
@@ -200,8 +200,8 @@ public class LogManager {
// Adding the global Logger. Doing so in the Logger.<clinit>
// would deadlock with the LogManager.<clinit>.
- Logger.global.setLogManager(manager);
- manager.addLogger(Logger.global);
+ Logger.getGlobal().setLogManager(manager);
+ manager.addLogger(Logger.getGlobal());
// We don't call readConfiguration() here, as we may be running
// very early in the JVM startup sequence. Instead readConfiguration
@@ -415,8 +415,8 @@ public class LogManager {
for (int i = 0; i < names.length; i++) {
String word = names[i];
try {
- Class clz = ClassLoader.getSystemClassLoader().loadClass(word);
- Handler hdl = (Handler) clz.newInstance();
+ Class<?> clz = ClassLoader.getSystemClassLoader().loadClass(word);
+ Handler hdl = (Handler) clz.newInstance();
try {
// Check if there is a property defining the
// this handler's level.
@@ -782,11 +782,11 @@ public class LogManager {
// responsibility to initialize the logging configuration, by
// calling readConfiguration(InputStream) with a suitable stream.
try {
- Class clz = ClassLoader.getSystemClassLoader().loadClass(cname);
+ Class<?> clz = ClassLoader.getSystemClassLoader().loadClass(cname);
clz.newInstance();
return;
} catch (ClassNotFoundException ex) {
- Class clz = Thread.currentThread().getContextClassLoader().loadClass(cname);
+ Class<?> clz = Thread.currentThread().getContextClassLoader().loadClass(cname);
clz.newInstance();
return;
}
@@ -837,9 +837,9 @@ public class LogManager {
// the global handlers, if they haven't been initialized yet.
initializedGlobalHandlers = true;
}
- Enumeration enum_ = getLoggerNames();
+ Enumeration<String> enum_ = getLoggerNames();
while (enum_.hasMoreElements()) {
- String name = (String)enum_.nextElement();
+ String name = enum_.nextElement();
resetLogger(name);
}
}
@@ -926,7 +926,7 @@ public class LogManager {
for (int i = 0; i < names.length; i++) {
String word = names[i];
try {
- Class clz = ClassLoader.getSystemClassLoader().loadClass(word);
+ Class<?> clz = ClassLoader.getSystemClassLoader().loadClass(word);
clz.newInstance();
} catch (Exception ex) {
System.err.println("Can't load config class \"" + word + "\"");
@@ -1024,7 +1024,7 @@ public class LogManager {
String val = getProperty(name);
try {
if (val != null) {
- Class clz = ClassLoader.getSystemClassLoader().loadClass(val);
+ Class<?> clz = ClassLoader.getSystemClassLoader().loadClass(val);
return (Filter) clz.newInstance();
}
} catch (Exception ex) {
@@ -1045,7 +1045,7 @@ public class LogManager {
String val = getProperty(name);
try {
if (val != null) {
- Class clz = ClassLoader.getSystemClassLoader().loadClass(val);
+ Class<?> clz = ClassLoader.getSystemClassLoader().loadClass(val);
return (Formatter) clz.newInstance();
}
} catch (Exception ex) {
@@ -1163,7 +1163,7 @@ public class LogManager {
// Private method to be called when the configuration has
// changed to apply any level settings to any pre-existing loggers.
synchronized private void setLevelsOnExistingLoggers() {
- Enumeration enum_ = props.propertyNames();
+ Enumeration<?> enum_ = props.propertyNames();
while (enum_.hasMoreElements()) {
String key = (String)enum_.nextElement();
if (!key.endsWith(".level")) {
diff --git a/jdk/src/share/classes/java/util/prefs/Preferences.java b/jdk/src/share/classes/java/util/prefs/Preferences.java
index 0124f12..b95423e 100644
--- a/jdk/src/share/classes/java/util/prefs/Preferences.java
+++ b/jdk/src/share/classes/java/util/prefs/Preferences.java
@@ -416,7 +416,7 @@ public abstract class Preferences {
* @throws IllegalArgumentException if the package has node preferences
* node associated with it.
*/
- private static String nodeName(Class c) {
+ private static String nodeName(Class<?> c) {
if (c.isArray())
throw new IllegalArgumentException(
"Arrays have no associated preferences node.");
diff --git a/jdk/src/share/classes/java/util/prefs/XmlSupport.java b/jdk/src/share/classes/java/util/prefs/XmlSupport.java
index 33aa387..08f19d8 100644
--- a/jdk/src/share/classes/java/util/prefs/XmlSupport.java
+++ b/jdk/src/share/classes/java/util/prefs/XmlSupport.java
@@ -106,7 +106,7 @@ class XmlSupport {
xmlRoot.setAttribute("type", (p.isUserNode() ? "user" : "system"));
// Get bottom-up list of nodes from p to root, excluding root
- List ancestors = new ArrayList();
+ List<Preferences> ancestors = new ArrayList<>();
for (Preferences kid = p, dad = kid.parent(); dad != null;
kid = dad, dad = kid.parent()) {
@@ -116,7 +116,7 @@ class XmlSupport {
for (int i=ancestors.size()-1; i >= 0; i--) {
e.appendChild(doc.createElement("map"));
e = (Element) e.appendChild(doc.createElement("node"));
- e.setAttribute("name", ((Preferences)ancestors.get(i)).name());
+ e.setAttribute("name", ancestors.get(i).name());
}
putPreferencesInXml(e, doc, p, subTree);
@@ -339,17 +339,17 @@ class XmlSupport {
* @throws IOException if writing to the specified output stream
* results in an <tt>IOException</tt>.
*/
- static void exportMap(OutputStream os, Map map) throws IOException {
+ static void exportMap(OutputStream os, Map<String, String> map) throws IOException {
Document doc = createPrefsDoc("map");
Element xmlMap = doc.getDocumentElement( ) ;
xmlMap.setAttribute("MAP_XML_VERSION", MAP_XML_VERSION);
- for (Iterator i = map.entrySet().iterator(); i.hasNext(); ) {
- Map.Entry e = (Map.Entry) i.next();
+ for (Iterator<Map.Entry<String, String>> i = map.entrySet().iterator(); i.hasNext(); ) {
+ Map.Entry<String, String> e = i.next();
Element xe = (Element)
xmlMap.appendChild(doc.createElement("entry"));
- xe.setAttribute("key", (String) e.getKey());
- xe.setAttribute("value", (String) e.getValue());
+ xe.setAttribute("key", e.getKey());
+ xe.setAttribute("value", e.getValue());
}
writeDoc(doc, os);
@@ -368,7 +368,7 @@ class XmlSupport {
* @throws InvalidPreferencesFormatException Data on input stream does not
* constitute a valid XML document with the mandated document type.
*/
- static void importMap(InputStream is, Map m)
+ static void importMap(InputStream is, Map<String, String> m)
throws IOException, InvalidPreferencesFormatException
{
try {
diff --git a/jdk/src/share/classes/java/util/regex/Pattern.java b/jdk/src/share/classes/java/util/regex/Pattern.java
index d89eca9..626d5b0 100644
--- a/jdk/src/share/classes/java/util/regex/Pattern.java
+++ b/jdk/src/share/classes/java/util/regex/Pattern.java
@@ -1583,13 +1583,26 @@ loop: for(int x=0, offset=0; x<nCodePoints; x++, offset+=len) {
return;
int j = i;
i += 2;
- int[] newtemp = new int[j + 2*(pLen-i) + 2];
+ int[] newtemp = new int[j + 3*(pLen-i) + 2];
System.arraycopy(temp, 0, newtemp, 0, j);
boolean inQuote = true;
+ boolean beginQuote = true;
while (i < pLen) {
int c = temp[i++];
- if (! ASCII.isAscii(c) || ASCII.isAlnum(c)) {
+ if (!ASCII.isAscii(c) || ASCII.isAlpha(c)) {
+ newtemp[j++] = c;
+ } else if (ASCII.isDigit(c)) {
+ if (beginQuote) {
+ /*
+ * A unicode escape \[0xu] could be before this quote,
+ * and we don't want this numeric char to processed as
+ * part of the escape.
+ */
+ newtemp[j++] = '\\';
+ newtemp[j++] = 'x';
+ newtemp[j++] = '3';
+ }
newtemp[j++] = c;
} else if (c != '\\') {
if (inQuote) newtemp[j++] = '\\';
@@ -1606,12 +1619,16 @@ loop: for(int x=0, offset=0; x<nCodePoints; x++, offset+=len) {
if (temp[i] == 'Q') {
i++;
inQuote = true;
+ beginQuote = true;
+ continue;
} else {
newtemp[j++] = c;
if (i != pLen)
newtemp[j++] = temp[i++];
}
}
+
+ beginQuote = false;
}
patternLength = j;
diff --git a/jdk/src/share/classes/java/util/zip/Adler32.java b/jdk/src/share/classes/java/util/zip/Adler32.java
index fd53459..1e67a80 100644
--- a/jdk/src/share/classes/java/util/zip/Adler32.java
+++ b/jdk/src/share/classes/java/util/zip/Adler32.java
@@ -25,16 +25,23 @@
package java.util.zip;
+import java.nio.ByteBuffer;
+import sun.nio.ch.DirectBuffer;
+
/**
* A class that can be used to compute the Adler-32 checksum of a data
* stream. An Adler-32 checksum is almost as reliable as a CRC-32 but
* can be computed much faster.
*
+ * <p> Passing a {@code null} argument to a method in this class will cause
+ * a {@link NullPointerException} to be thrown.
+ *
* @see Checksum
* @author David Connelly
*/
public
class Adler32 implements Checksum {
+
private int adler = 1;
/**
@@ -75,6 +82,39 @@ class Adler32 implements Checksum {
adler = updateBytes(adler, b, 0, b.length);
}
+
+ /**
+ * Updates the checksum with the bytes from the specified buffer.
+ *
+ * The checksum is updated using
+ * buffer.{@link java.nio.Buffer#remaining() remaining()}
+ * bytes starting at
+ * buffer.{@link java.nio.Buffer#position() position()}
+ * Upon return, the buffer's position will be updated to its
+ * limit; its limit will not have been changed.
+ *
+ * @param buffer the ByteBuffer to update the checksum with
+ * @since 1.8
+ */
+ public void update(ByteBuffer buffer) {
+ int pos = buffer.position();
+ int limit = buffer.limit();
+ assert (pos <= limit);
+ int rem = limit - pos;
+ if (rem <= 0)
+ return;
+ if (buffer instanceof DirectBuffer) {
+ adler = updateByteBuffer(adler, ((DirectBuffer)buffer).address(), pos, rem);
+ } else if (buffer.hasArray()) {
+ adler = updateBytes(adler, buffer.array(), pos + buffer.arrayOffset(), rem);
+ } else {
+ byte[] b = new byte[rem];
+ buffer.get(b);
+ adler = updateBytes(adler, b, 0, b.length);
+ }
+ buffer.position(limit);
+ }
+
/**
* Resets the checksum to initial value.
*/
@@ -92,4 +132,6 @@ class Adler32 implements Checksum {
private native static int update(int adler, int b);
private native static int updateBytes(int adler, byte[] b, int off,
int len);
+ private native static int updateByteBuffer(int adler, long addr,
+ int off, int len);
}
diff --git a/jdk/src/share/classes/java/util/zip/CRC32.java b/jdk/src/share/classes/java/util/zip/CRC32.java
index 9f62c85..7c17369 100644
--- a/jdk/src/share/classes/java/util/zip/CRC32.java
+++ b/jdk/src/share/classes/java/util/zip/CRC32.java
@@ -25,9 +25,15 @@
package java.util.zip;
+import java.nio.ByteBuffer;
+import sun.nio.ch.DirectBuffer;
+
/**
* A class that can be used to compute the CRC-32 of a data stream.
*
+ * <p> Passing a {@code null} argument to a method in this class will cause
+ * a {@link NullPointerException} to be thrown.
+ *
* @see Checksum
* @author David Connelly
*/
@@ -75,6 +81,38 @@ class CRC32 implements Checksum {
}
/**
+ * Updates the checksum with the bytes from the specified buffer.
+ *
+ * The checksum is updated using
+ * buffer.{@link java.nio.Buffer#remaining() remaining()}
+ * bytes starting at
+ * buffer.{@link java.nio.Buffer#position() position()}
+ * Upon return, the buffer's position will
+ * be updated to its limit; its limit will not have been changed.
+ *
+ * @param buffer the ByteBuffer to update the checksum with
+ * @since 1.8
+ */
+ public void update(ByteBuffer buffer) {
+ int pos = buffer.position();
+ int limit = buffer.limit();
+ assert (pos <= limit);
+ int rem = limit - pos;
+ if (rem <= 0)
+ return;
+ if (buffer instanceof DirectBuffer) {
+ crc = updateByteBuffer(crc, ((DirectBuffer)buffer).address(), pos, rem);
+ } else if (buffer.hasArray()) {
+ crc = updateBytes(crc, buffer.array(), pos + buffer.arrayOffset(), rem);
+ } else {
+ byte[] b = new byte[rem];
+ buffer.get(b);
+ crc = updateBytes(crc, b, 0, b.length);
+ }
+ buffer.position(limit);
+ }
+
+ /**
* Resets CRC-32 to initial value.
*/
public void reset() {
@@ -90,4 +128,7 @@ class CRC32 implements Checksum {
private native static int update(int crc, int b);
private native static int updateBytes(int crc, byte[] b, int off, int len);
+
+ private native static int updateByteBuffer(int adler, long addr,
+ int off, int len);
}
diff --git a/jdk/src/share/classes/java/util/zip/ZipEntry.java b/jdk/src/share/classes/java/util/zip/ZipEntry.java
index 8ade6d6..847f8ba 100644
--- a/jdk/src/share/classes/java/util/zip/ZipEntry.java
+++ b/jdk/src/share/classes/java/util/zip/ZipEntry.java
@@ -281,6 +281,7 @@ class ZipEntry implements ZipConstants, Cloneable {
* Converts DOS time to Java time (number of milliseconds since epoch).
*/
private static long dosToJavaTime(long dtime) {
+ @SuppressWarnings("deprecation") // Use of date constructor.
Date d = new Date((int)(((dtime >> 25) & 0x7f) + 80),
(int)(((dtime >> 21) & 0x0f) - 1),
(int)((dtime >> 16) & 0x1f),
@@ -293,6 +294,7 @@ class ZipEntry implements ZipConstants, Cloneable {
/*
* Converts Java time to DOS time.
*/
+ @SuppressWarnings("deprecation") // Use of date methods
private static long javaToDosTime(long time) {
Date d = new Date(time);
int year = d.getYear() + 1900;
diff --git a/jdk/src/share/classes/javax/script/ScriptEngineManager.java b/jdk/src/share/classes/javax/script/ScriptEngineManager.java
index c87f481..bb43053 100644
--- a/jdk/src/share/classes/javax/script/ScriptEngineManager.java
+++ b/jdk/src/share/classes/javax/script/ScriptEngineManager.java
@@ -25,11 +25,9 @@
package javax.script;
import java.util.*;
-import java.net.URL;
-import java.io.*;
import java.security.*;
-import sun.misc.Service;
-import sun.misc.ServiceConfigurationError;
+import java.util.ServiceLoader;
+import java.util.ServiceConfigurationError;
import sun.reflect.Reflection;
import sun.security.util.SecurityConstants;
@@ -102,13 +100,15 @@ public class ScriptEngineManager {
}
private void initEngines(final ClassLoader loader) {
- Iterator itr = null;
+ Iterator<ScriptEngineFactory> itr = null;
try {
+ ServiceLoader<ScriptEngineFactory> sl;
if (loader != null) {
- itr = Service.providers(ScriptEngineFactory.class, loader);
+ sl = ServiceLoader.load(ScriptEngineFactory.class, loader);
} else {
- itr = Service.installedProviders(ScriptEngineFactory.class);
+ sl = ServiceLoader.loadInstalled(ScriptEngineFactory.class);
}
+ itr = sl.iterator();
} catch (ServiceConfigurationError err) {
System.err.println("Can't find ScriptEngineFactory providers: " +
err.getMessage());
@@ -124,7 +124,7 @@ public class ScriptEngineManager {
try {
while (itr.hasNext()) {
try {
- ScriptEngineFactory fact = (ScriptEngineFactory) itr.next();
+ ScriptEngineFactory fact = itr.next();
engineSpis.add(fact);
} catch (ServiceConfigurationError err) {
System.err.println("ScriptEngineManager providers.next(): "
@@ -441,7 +441,7 @@ public class ScriptEngineManager {
// Note that this code is same as ClassLoader.getCallerClassLoader().
// But, that method is package private and hence we can't call here.
private ClassLoader getCallerClassLoader() {
- Class caller = Reflection.getCallerClass(3);
+ Class<?> caller = Reflection.getCallerClass(3);
if (caller == null) {
return null;
}
diff --git a/jdk/src/share/classes/javax/script/ScriptException.java b/jdk/src/share/classes/javax/script/ScriptException.java
index 6ad4810..e9ffaab 100644
--- a/jdk/src/share/classes/javax/script/ScriptException.java
+++ b/jdk/src/share/classes/javax/script/ScriptException.java
@@ -36,6 +36,8 @@ package javax.script;
*/
public class ScriptException extends Exception {
+ private static final long serialVersionUID = 8265071037049225001L;
+
private String fileName;
private int lineNumber;
private int columnNumber;
diff --git a/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java b/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java
index c79d0e1..a22e8cc 100644
--- a/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java
+++ b/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java
@@ -369,7 +369,7 @@ public final class ServicePermission extends Permission
switch(a[i-matchlen]) {
case ',':
seencomma = true;
- /*FALLTHROUGH*/
+ break;
case ' ': case '\r': case '\n':
case '\f': case '\t':
break;
diff --git a/jdk/src/share/classes/javax/sql/StatementEvent.java b/jdk/src/share/classes/javax/sql/StatementEvent.java
index bb41be7..53c61c5 100644
--- a/jdk/src/share/classes/javax/sql/StatementEvent.java
+++ b/jdk/src/share/classes/javax/sql/StatementEvent.java
@@ -42,6 +42,7 @@ import java.util.EventObject;
*/
public class StatementEvent extends EventObject {
+ static final long serialVersionUID = -8089573731826608315L;
private SQLException exception;
private PreparedStatement statement;
diff --git a/jdk/src/share/classes/javax/sql/rowset/BaseRowSet.java b/jdk/src/share/classes/javax/sql/rowset/BaseRowSet.java
index cf0bbec..bbb1852 100644
--- a/jdk/src/share/classes/javax/sql/rowset/BaseRowSet.java
+++ b/jdk/src/share/classes/javax/sql/rowset/BaseRowSet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -619,8 +619,8 @@ public abstract class BaseRowSet implements Serializable, Cloneable {
checkforRowSetInterface();
if (listeners.isEmpty() == false) {
RowSetEvent event = new RowSetEvent((RowSet)this);
- for (Iterator i = listeners.iterator(); i.hasNext(); ) {
- ((RowSetListener)i.next()).cursorMoved(event);
+ for (RowSetListener rsl : listeners) {
+ rsl.cursorMoved(event);
}
}
}
@@ -644,8 +644,8 @@ public abstract class BaseRowSet implements Serializable, Cloneable {
checkforRowSetInterface();
if (listeners.isEmpty() == false) {
RowSetEvent event = new RowSetEvent((RowSet)this);
- for (Iterator i = listeners.iterator(); i.hasNext(); ) {
- ((RowSetListener)i.next()).rowChanged(event);
+ for (RowSetListener rsl : listeners) {
+ rsl.rowChanged(event);
}
}
}
@@ -669,8 +669,8 @@ public abstract class BaseRowSet implements Serializable, Cloneable {
checkforRowSetInterface();
if (listeners.isEmpty() == false) {
RowSetEvent event = new RowSetEvent((RowSet)this);
- for (Iterator i = listeners.iterator(); i.hasNext(); ) {
- ((RowSetListener)i.next()).rowSetChanged(event);
+ for (RowSetListener rsl : listeners) {
+ rsl.rowSetChanged(event);
}
}
}
diff --git a/jdk/src/share/classes/javax/sql/rowset/RowSetMetaDataImpl.java b/jdk/src/share/classes/javax/sql/rowset/RowSetMetaDataImpl.java
index f4591c0..659f2e5 100644
--- a/jdk/src/share/classes/javax/sql/rowset/RowSetMetaDataImpl.java
+++ b/jdk/src/share/classes/javax/sql/rowset/RowSetMetaDataImpl.java
@@ -97,7 +97,7 @@ public class RowSetMetaDataImpl implements RowSetMetaData, Serializable {
*/
private void checkColType(int SQLType) throws SQLException {
try {
- Class c = java.sql.Types.class;
+ Class<?> c = java.sql.Types.class;
Field[] publicFields = c.getFields();
int fieldValue = 0;
for (int i = 0; i < publicFields.length; i++) {
@@ -1091,5 +1091,7 @@ public class RowSetMetaDataImpl implements RowSetMetaData, Serializable {
*@serial
*/
public boolean writable = true;
+
+ static final long serialVersionUID = 5490834817919311283L;
}
}
diff --git a/jdk/src/share/classes/javax/sql/rowset/RowSetProvider.java b/jdk/src/share/classes/javax/sql/rowset/RowSetProvider.java
index c161ede..68226ee 100644
--- a/jdk/src/share/classes/javax/sql/rowset/RowSetProvider.java
+++ b/jdk/src/share/classes/javax/sql/rowset/RowSetProvider.java
@@ -181,7 +181,7 @@ public class RowSetProvider {
trace("***In newInstance()");
try {
- Class providerClass = getFactoryClass(factoryClassName, cl, false);
+ Class<?> providerClass = getFactoryClass(factoryClassName, cl, false);
RowSetFactory instance = (RowSetFactory) providerClass.newInstance();
if (debug) {
trace("Created new instance of " + providerClass +
@@ -229,7 +229,7 @@ public class RowSetProvider {
* context class loader followed by the current class loader.
* @return The class which was loaded
*/
- static private Class getFactoryClass(String factoryClassName, ClassLoader cl,
+ static private Class<?> getFactoryClass(String factoryClassName, ClassLoader cl,
boolean doFallback) throws ClassNotFoundException {
try {
if (cl == null) {
diff --git a/jdk/src/share/classes/javax/sql/rowset/serial/SQLInputImpl.java b/jdk/src/share/classes/javax/sql/rowset/serial/SQLInputImpl.java
index c84527d..c4b1e4d 100644
--- a/jdk/src/share/classes/javax/sql/rowset/serial/SQLInputImpl.java
+++ b/jdk/src/share/classes/javax/sql/rowset/serial/SQLInputImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -22,13 +22,9 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-
package javax.sql.rowset.serial;
import java.sql.*;
-import javax.sql.*;
-import java.io.*;
-import java.math.*;
import java.util.Map;
/**
@@ -91,7 +87,7 @@ public class SQLInputImpl implements SQLInput {
* <code>SQLData</code> (the Java class that defines how the UDT
* will be mapped).
*/
- private Map map;
+ private Map<String,Class<?>> map;
/**
@@ -279,7 +275,7 @@ public class SQLInputImpl implements SQLInput {
if (attrib == null) {
lastValueWasNull = true;
- return (int)0;
+ return 0;
} else {
lastValueWasNull = false;
return attrib.intValue();
@@ -591,7 +587,7 @@ public class SQLInputImpl implements SQLInput {
* position; or if there are no further values in the stream.
*/
public Object readObject() throws SQLException {
- Object attrib = (Object)getNextAttribute();
+ Object attrib = getNextAttribute();
if (attrib == null) {
lastValueWasNull = true;
@@ -601,7 +597,7 @@ public class SQLInputImpl implements SQLInput {
if (attrib instanceof Struct) {
Struct s = (Struct)attrib;
// look up the class in the map
- Class c = (Class)map.get(s.getSQLTypeName());
+ Class<?> c = map.get(s.getSQLTypeName());
if (c != null) {
// create new instance of the class
SQLData obj = null;
@@ -620,10 +616,10 @@ public class SQLInputImpl implements SQLInput {
SQLInputImpl sqlInput = new SQLInputImpl(attribs, map);
// read the values...
obj.readSQL(sqlInput, s.getSQLTypeName());
- return (Object)obj;
+ return obj;
}
}
- return (Object)attrib;
+ return attrib;
}
}
diff --git a/jdk/src/share/classes/javax/sql/rowset/serial/SQLOutputImpl.java b/jdk/src/share/classes/javax/sql/rowset/serial/SQLOutputImpl.java
index 7b5d8d4..2217e4e 100644
--- a/jdk/src/share/classes/javax/sql/rowset/serial/SQLOutputImpl.java
+++ b/jdk/src/share/classes/javax/sql/rowset/serial/SQLOutputImpl.java
@@ -60,6 +60,7 @@ public class SQLOutputImpl implements SQLOutput {
* A reference to an existing vector that
* contains the attributes of a <code>Struct</code> object.
*/
+ @SuppressWarnings("rawtypes")
private Vector attribs;
/**
@@ -70,6 +71,7 @@ public class SQLOutputImpl implements SQLOutput {
* method will in turn call the appropriate
* <code>SQLOutputImpl</code> writer methods.
*/
+ @SuppressWarnings("rawtypes")
private Map map;
/**
@@ -121,6 +123,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeString(String x) throws SQLException {
//System.out.println("Adding :"+x);
attribs.add(x);
@@ -136,6 +139,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeBoolean(boolean x) throws SQLException {
attribs.add(Boolean.valueOf(x));
}
@@ -150,6 +154,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeByte(byte x) throws SQLException {
attribs.add(Byte.valueOf(x));
}
@@ -164,6 +169,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeShort(short x) throws SQLException {
attribs.add(Short.valueOf(x));
}
@@ -178,6 +184,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeInt(int x) throws SQLException {
attribs.add(Integer.valueOf(x));
}
@@ -192,6 +199,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeLong(long x) throws SQLException {
attribs.add(Long.valueOf(x));
}
@@ -206,6 +214,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeFloat(float x) throws SQLException {
attribs.add(new Float(x));
}
@@ -220,6 +229,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeDouble(double x) throws SQLException{
attribs.add(new Double(x));
}
@@ -234,6 +244,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeBigDecimal(java.math.BigDecimal x) throws SQLException{
attribs.add(x);
}
@@ -249,6 +260,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeBytes(byte[] x) throws SQLException {
attribs.add(x);
}
@@ -263,6 +275,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeDate(java.sql.Date x) throws SQLException {
attribs.add(x);
}
@@ -277,6 +290,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeTime(java.sql.Time x) throws SQLException {
attribs.add(x);
}
@@ -291,6 +305,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeTimestamp(java.sql.Timestamp x) throws SQLException {
attribs.add(x);
}
@@ -305,6 +320,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeCharacterStream(java.io.Reader x) throws SQLException {
BufferedReader bufReader = new BufferedReader(x);
try {
@@ -334,6 +350,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeAsciiStream(java.io.InputStream x) throws SQLException {
BufferedReader bufReader = new BufferedReader(new InputStreamReader(x));
try {
@@ -363,6 +380,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeBinaryStream(java.io.InputStream x) throws SQLException {
BufferedReader bufReader = new BufferedReader(new InputStreamReader(x));
try {
@@ -414,6 +432,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeObject(SQLData x) throws SQLException {
/*
@@ -434,7 +453,7 @@ public class SQLOutputImpl implements SQLOutput {
* the name of this class otherwise we don't know
* what to re-instantiate during readSQL()
*/
- attribs.add(new SerialStruct((SQLData)x, map));
+ attribs.add(new SerialStruct(x, map));
}
/**
@@ -448,6 +467,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeRef(Ref x) throws SQLException {
if (x == null) {
attribs.add(x);
@@ -467,6 +487,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeBlob(Blob x) throws SQLException {
if (x == null) {
attribs.add(x);
@@ -486,6 +507,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeClob(Clob x) throws SQLException {
if (x == null) {
attribs.add(x);
@@ -511,6 +533,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeStruct(Struct x) throws SQLException {
SerialStruct s = new SerialStruct(x,map);;
attribs.add(s);
@@ -528,6 +551,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeArray(Array x) throws SQLException {
if (x == null) {
attribs.add(x);
@@ -547,6 +571,7 @@ public class SQLOutputImpl implements SQLOutput {
* use by a <code>SQLData</code> object attempting to write the attribute
* values of a UDT to the database.
*/
+ @SuppressWarnings("unchecked")
public void writeURL(java.net.URL url) throws SQLException {
if (url == null) {
attribs.add(url);
@@ -570,6 +595,7 @@ public class SQLOutputImpl implements SQLOutput {
* @exception SQLException if a database access error occurs
* @since 1.6
*/
+ @SuppressWarnings("unchecked")
public void writeNString(String x) throws SQLException {
throw new UnsupportedOperationException("Operation not supported");
}
@@ -583,6 +609,7 @@ public class SQLOutputImpl implements SQLOutput {
* @exception SQLException if a database access error occurs
* @since 1.6
*/
+ @SuppressWarnings("unchecked")
public void writeNClob(NClob x) throws SQLException {
throw new UnsupportedOperationException("Operation not supported");
}
@@ -597,6 +624,7 @@ public class SQLOutputImpl implements SQLOutput {
* @exception SQLException if a database access error occurs
* @since 1.6
*/
+ @SuppressWarnings("unchecked")
public void writeRowId(RowId x) throws SQLException {
throw new UnsupportedOperationException("Operation not supported");
}
@@ -611,6 +639,7 @@ public class SQLOutputImpl implements SQLOutput {
* @exception SQLException if a database access error occurs
* @since 1.6
*/
+ @SuppressWarnings("unchecked")
public void writeSQLXML(SQLXML x) throws SQLException {
throw new UnsupportedOperationException("Operation not supported");
}
diff --git a/jdk/src/share/classes/javax/sql/rowset/serial/SerialArray.java b/jdk/src/share/classes/javax/sql/rowset/serial/SerialArray.java
index 17856e1..5ab127c 100644
--- a/jdk/src/share/classes/javax/sql/rowset/serial/SerialArray.java
+++ b/jdk/src/share/classes/javax/sql/rowset/serial/SerialArray.java
@@ -186,10 +186,8 @@ public class SerialArray implements Array, Serializable, Cloneable {
case java.sql.Types.JAVA_OBJECT:
for (int i = 0; i < len; i++) {
- elements[i] = new SerialJavaObject((Object)elements[i]);
+ elements[i] = new SerialJavaObject(elements[i]);
}
- default:
- ;
}
}
@@ -285,11 +283,10 @@ public class SerialArray implements Array, Serializable, Cloneable {
case java.sql.Types.JAVA_OBJECT:
for (int i = 0; i < len; i++) {
- elements[i] = new SerialJavaObject((Object)elements[i]);
+ elements[i] = new SerialJavaObject(elements[i]);
}
+ break;
- default:
- ;
}
diff --git a/jdk/src/share/classes/javax/sql/rowset/serial/SerialBlob.java b/jdk/src/share/classes/javax/sql/rowset/serial/SerialBlob.java
index 795e404..bae2d93 100644
--- a/jdk/src/share/classes/javax/sql/rowset/serial/SerialBlob.java
+++ b/jdk/src/share/classes/javax/sql/rowset/serial/SerialBlob.java
@@ -207,7 +207,7 @@ public class SerialBlob implements Blob, Serializable, Cloneable {
*/
public java.io.InputStream getBinaryStream() throws SerialException {
InputStream stream = new ByteArrayInputStream(buf);
- return (java.io.InputStream)stream;
+ return stream;
}
/**
diff --git a/jdk/src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java b/jdk/src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java
index 5aa034f..4517ff3 100644
--- a/jdk/src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java
+++ b/jdk/src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java
@@ -142,14 +142,14 @@ public class SerialJavaObject implements Serializable, Cloneable {
* object. When there are multiple warnings, each warning is chained to the
* previous warning.
*/
- java.util.Vector chain;
+ java.util.Vector<RowSetWarning> chain;
/**
* Registers the given warning.
*/
private void setWarning(RowSetWarning e) {
if (chain == null) {
- chain = new java.util.Vector();
+ chain = new java.util.Vector<>();
}
chain.add(e);
}
diff --git a/jdk/src/share/classes/javax/sql/rowset/serial/SerialRef.java b/jdk/src/share/classes/javax/sql/rowset/serial/SerialRef.java
index 8503caa..efc8819 100644
--- a/jdk/src/share/classes/javax/sql/rowset/serial/SerialRef.java
+++ b/jdk/src/share/classes/javax/sql/rowset/serial/SerialRef.java
@@ -109,7 +109,7 @@ public class SerialRef implements Ref, Serializable, Cloneable {
public Object getObject(java.util.Map<String,Class<?>> map)
throws SerialException
{
- map = new Hashtable(map);
+ map = new Hashtable<String, Class<?>>(map);
if (object != null) {
return map.get(object);
} else {
diff --git a/jdk/src/share/classes/javax/sql/rowset/serial/SerialStruct.java b/jdk/src/share/classes/javax/sql/rowset/serial/SerialStruct.java
index b546da7..a9462eb 100644
--- a/jdk/src/share/classes/javax/sql/rowset/serial/SerialStruct.java
+++ b/jdk/src/share/classes/javax/sql/rowset/serial/SerialStruct.java
@@ -139,7 +139,7 @@ public class SerialStruct implements Struct, Serializable, Cloneable {
//set the type name
SQLTypeName = in.getSQLTypeName();
- Vector tmp = new Vector();
+ Vector<Object> tmp = new Vector<>();
in.writeSQL(new SQLOutputImpl(tmp, map));
attribs = tmp.toArray();
@@ -220,7 +220,7 @@ public class SerialStruct implements Struct, Serializable, Cloneable {
* that defines how the UDT is to be mapped
* @throws SerialException if an error occurs
*/
- private void mapToSerial(Map map) throws SerialException {
+ private void mapToSerial(Map<String,Class<?>> map) throws SerialException {
try {
diff --git a/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java b/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java
index 4e2b164..11a59c4 100644
--- a/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java
+++ b/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java
@@ -257,7 +257,7 @@ public class SyncFactory {
* See section 2.0 of the class comment for <code>SyncFactory</code> for an
* explanation of how a provider can be added to this registry.
*/
- private static Hashtable implementations;
+ private static Hashtable<String, SyncProvider> implementations;
/**
* Internal sync object used to maintain the SPI as a singleton
*/
@@ -344,7 +344,7 @@ public class SyncFactory {
Properties properties = new Properties();
if (implementations == null) {
- implementations = new Hashtable();
+ implementations = new Hashtable<>();
try {
@@ -445,7 +445,7 @@ public class SyncFactory {
String key = null;
String[] propertyNames = null;
- for (Enumeration e = p.propertyNames(); e.hasMoreElements();) {
+ for (Enumeration<?> e = p.propertyNames(); e.hasMoreElements();) {
String str = (String) e.nextElement();
@@ -541,7 +541,7 @@ public class SyncFactory {
}
// Attempt to invoke classname from registered SyncProvider list
- Class c = null;
+ Class<?> c = null;
try {
ClassLoader cl = Thread.currentThread().getContextClassLoader();
@@ -740,7 +740,7 @@ public class SyncFactory {
*/
private static Properties parseJNDIContext() throws NamingException {
- NamingEnumeration bindings = ic.listBindings("");
+ NamingEnumeration<?> bindings = ic.listBindings("");
Properties properties = new Properties();
// Hunt one level below context for available SyncProvider objects
@@ -755,7 +755,7 @@ public class SyncFactory {
* scan the current context using a re-entrant call to this method until all
* bindings have been enumerated.
*/
- private static void enumerateBindings(NamingEnumeration bindings,
+ private static void enumerateBindings(NamingEnumeration<?> bindings,
Properties properties) throws NamingException {
boolean syncProviderObj = false; // move to parameters ?
diff --git a/jdk/src/share/classes/javax/swing/AbstractButton.java b/jdk/src/share/classes/javax/swing/AbstractButton.java
index d95f1d4..b8612f1 100644
--- a/jdk/src/share/classes/javax/swing/AbstractButton.java
+++ b/jdk/src/share/classes/javax/swing/AbstractButton.java
@@ -1349,6 +1349,7 @@ public abstract class AbstractButton extends JComponent implements ItemSelectabl
return new ButtonActionPropertyChangeListener(this, a);
}
+ @SuppressWarnings("serial")
private static class ButtonActionPropertyChangeListener
extends ActionPropertyChangeListener<AbstractButton> {
ButtonActionPropertyChangeListener(AbstractButton b, Action a) {
@@ -1976,6 +1977,7 @@ public abstract class AbstractButton extends JComponent implements ItemSelectabl
* has been added to the <code>java.beans</code> package.
* Please see {@link java.beans.XMLEncoder}.
*/
+ @SuppressWarnings("serial")
protected class ButtonChangeListener implements ChangeListener, Serializable {
// NOTE: This class is NOT used, instead the functionality has
// been moved to Handler.
@@ -2320,6 +2322,7 @@ public abstract class AbstractButton extends JComponent implements ItemSelectabl
//
// Listeners that are added to model
//
+ @SuppressWarnings("serial")
class Handler implements ActionListener, ChangeListener, ItemListener,
Serializable {
//
@@ -2472,7 +2475,7 @@ public abstract class AbstractButton extends JComponent implements ItemSelectabl
// the members of the button group.
int len = group.getButtonCount();
Object [] target = new Object[len];
- Enumeration elem = group.getElements();
+ Enumeration<AbstractButton> elem = group.getElements();
for (int i = 0; i < len; i++) {
if (elem.hasMoreElements()) {
target[i] = elem.nextElement();
diff --git a/jdk/src/share/classes/javax/swing/ActionMap.java b/jdk/src/share/classes/javax/swing/ActionMap.java
index 9c0cbf7..d3a03ff 100644
--- a/jdk/src/share/classes/javax/swing/ActionMap.java
+++ b/jdk/src/share/classes/javax/swing/ActionMap.java
@@ -55,6 +55,7 @@ import java.util.Set;
* @author Scott Violet
* @since 1.3
*/
+ at SuppressWarnings("serial")
public class ActionMap implements Serializable {
/** Handles the mapping between Action name and Action. */
private transient ArrayTable arrayTable;
diff --git a/jdk/src/share/classes/javax/swing/ActionPropertyChangeListener.java b/jdk/src/share/classes/javax/swing/ActionPropertyChangeListener.java
index 558f51a..cccbd2a 100644
--- a/jdk/src/share/classes/javax/swing/ActionPropertyChangeListener.java
+++ b/jdk/src/share/classes/javax/swing/ActionPropertyChangeListener.java
@@ -101,9 +101,9 @@ abstract class ActionPropertyChangeListener<T extends JComponent>
// Check to see whether any old buttons have
// been enqueued for GC. If so, look up their
// PCL instance and remove it from its Action.
- OwnedWeakReference r;
+ OwnedWeakReference<?> r;
while ((r = (OwnedWeakReference)queue.poll()) != null) {
- ActionPropertyChangeListener oldPCL = r.getOwner();
+ ActionPropertyChangeListener<?> oldPCL = r.getOwner();
Action oldAction = oldPCL.getAction();
if (oldAction!=null) {
oldAction.removePropertyChangeListener(oldPCL);
@@ -142,15 +142,15 @@ abstract class ActionPropertyChangeListener<T extends JComponent>
private static class OwnedWeakReference<U extends JComponent> extends
WeakReference<U> {
- private ActionPropertyChangeListener owner;
+ private ActionPropertyChangeListener<?> owner;
OwnedWeakReference(U target, ReferenceQueue<? super U> queue,
- ActionPropertyChangeListener owner) {
+ ActionPropertyChangeListener<?> owner) {
super(target, queue);
this.owner = owner;
}
- public ActionPropertyChangeListener getOwner() {
+ public ActionPropertyChangeListener<?> getOwner() {
return owner;
}
}
diff --git a/jdk/src/share/classes/javax/swing/AncestorNotifier.java b/jdk/src/share/classes/javax/swing/AncestorNotifier.java
index 2c58f4a..288d7fd 100644
--- a/jdk/src/share/classes/javax/swing/AncestorNotifier.java
+++ b/jdk/src/share/classes/javax/swing/AncestorNotifier.java
@@ -42,6 +42,7 @@ import java.io.Serializable;
* @author Dave Moore
*/
+ at SuppressWarnings("serial")
class AncestorNotifier implements ComponentListener, PropertyChangeListener, Serializable
{
Component firstInvisibleAncestor;
diff --git a/jdk/src/share/classes/javax/swing/ArrayTable.java b/jdk/src/share/classes/javax/swing/ArrayTable.java
index 35b169d..7878092 100644
--- a/jdk/src/share/classes/javax/swing/ArrayTable.java
+++ b/jdk/src/share/classes/javax/swing/ArrayTable.java
@@ -133,7 +133,7 @@ class ArrayTable implements Cloneable {
if ((size==ARRAY_BOUNDARY) && isArray()) {
grow();
}
- ((Hashtable)table).put(key, value);
+ ((Hashtable<Object,Object>)table).put(key, value);
}
}
}
@@ -259,8 +259,8 @@ class ArrayTable implements Cloneable {
newArrayTable.put(array[i], array[i+1]);
}
} else {
- Hashtable tmp = (Hashtable)table;
- Enumeration keys = tmp.keys();
+ Hashtable<?,?> tmp = (Hashtable)table;
+ Enumeration<?> keys = tmp.keys();
while (keys.hasMoreElements()) {
Object o = keys.nextElement();
newArrayTable.put(o,tmp.get(o));
@@ -289,8 +289,8 @@ class ArrayTable implements Cloneable {
keys[index] = array[i];
}
} else {
- Hashtable tmp = (Hashtable)table;
- Enumeration enum_ = tmp.keys();
+ Hashtable<?,?> tmp = (Hashtable)table;
+ Enumeration<?> enum_ = tmp.keys();
int counter = tmp.size();
if (keys == null) {
keys = new Object[counter];
@@ -326,9 +326,9 @@ class ArrayTable implements Cloneable {
* Shrinks the storage from a hashtable to an array.
*/
private void shrink() {
- Hashtable tmp = (Hashtable)table;
+ Hashtable<?,?> tmp = (Hashtable)table;
Object[] array = new Object[tmp.size()*2];
- Enumeration keys = tmp.keys();
+ Enumeration<?> keys = tmp.keys();
int j = 0;
while (keys.hasMoreElements()) {
diff --git a/jdk/src/share/classes/javax/swing/Box.java b/jdk/src/share/classes/javax/swing/Box.java
index ff02a21..d1c1323 100644
--- a/jdk/src/share/classes/javax/swing/Box.java
+++ b/jdk/src/share/classes/javax/swing/Box.java
@@ -76,6 +76,7 @@ import javax.accessibility.*;
*
* @author Timothy Prinzing
*/
+ at SuppressWarnings("serial")
public class Box extends JComponent implements Accessible {
/**
@@ -301,6 +302,7 @@ public class Box extends JComponent implements Accessible {
* has been added to the <code>java.beans</code> package.
* Please see {@link java.beans.XMLEncoder}.
*/
+ @SuppressWarnings("serial")
public static class Filler extends JComponent implements Accessible {
/**
@@ -380,6 +382,7 @@ public class Box extends JComponent implements Accessible {
* This class implements accessibility support for the
* <code>Box.Filler</code> class.
*/
+ @SuppressWarnings("serial")
protected class AccessibleBoxFiller extends AccessibleAWTComponent {
// AccessibleContext methods
//
@@ -420,6 +423,7 @@ public class Box extends JComponent implements Accessible {
* This class implements accessibility support for the
* <code>Box</code> class.
*/
+ @SuppressWarnings("serial")
protected class AccessibleBox extends AccessibleAWTContainer {
// AccessibleContext methods
//
diff --git a/jdk/src/share/classes/javax/swing/BoxLayout.java b/jdk/src/share/classes/javax/swing/BoxLayout.java
index 4b5a875..de1703d 100644
--- a/jdk/src/share/classes/javax/swing/BoxLayout.java
+++ b/jdk/src/share/classes/javax/swing/BoxLayout.java
@@ -135,6 +135,7 @@ import java.io.PrintStream;
*
* @author Timothy Prinzing
*/
+ at SuppressWarnings("serial")
public class BoxLayout implements LayoutManager2, Serializable {
/**
diff --git a/jdk/src/share/classes/javax/swing/ButtonGroup.java b/jdk/src/share/classes/javax/swing/ButtonGroup.java
index 9346a2b..c2971f7 100644
--- a/jdk/src/share/classes/javax/swing/ButtonGroup.java
+++ b/jdk/src/share/classes/javax/swing/ButtonGroup.java
@@ -65,6 +65,7 @@ import java.io.Serializable;
*
* @author Jeff Dinkins
*/
+ at SuppressWarnings("serial")
public class ButtonGroup implements Serializable {
// the list of buttons participating in this group
diff --git a/jdk/src/share/classes/javax/swing/ComponentInputMap.java b/jdk/src/share/classes/javax/swing/ComponentInputMap.java
index 3d5ed5f..bf8cda3 100644
--- a/jdk/src/share/classes/javax/swing/ComponentInputMap.java
+++ b/jdk/src/share/classes/javax/swing/ComponentInputMap.java
@@ -35,6 +35,7 @@ package javax.swing;
* @author Scott Violet
* @since 1.3
*/
+ at SuppressWarnings("serial")
public class ComponentInputMap extends InputMap {
/** Component binding is created for. */
private JComponent component;
diff --git a/jdk/src/share/classes/javax/swing/InputMap.java b/jdk/src/share/classes/javax/swing/InputMap.java
index 4de3a75..fa2a036 100644
--- a/jdk/src/share/classes/javax/swing/InputMap.java
+++ b/jdk/src/share/classes/javax/swing/InputMap.java
@@ -52,6 +52,7 @@ import java.util.Set;
* @author Scott Violet
* @since 1.3
*/
+ at SuppressWarnings("serial")
public class InputMap implements Serializable {
/** Handles the mapping between KeyStroke and Action name. */
private transient ArrayTable arrayTable;
diff --git a/jdk/src/share/classes/javax/swing/JButton.java b/jdk/src/share/classes/javax/swing/JButton.java
index ad1aeff..afa1bf0 100644
--- a/jdk/src/share/classes/javax/swing/JButton.java
+++ b/jdk/src/share/classes/javax/swing/JButton.java
@@ -75,6 +75,7 @@ import java.io.IOException;
*
* @author Jeff Dinkins
*/
+ at SuppressWarnings("serial")
public class JButton extends AbstractButton implements Accessible {
/**
@@ -307,6 +308,7 @@ public class JButton extends AbstractButton implements Accessible {
* has been added to the <code>java.beans</code> package.
* Please see {@link java.beans.XMLEncoder}.
*/
+ @SuppressWarnings("serial")
protected class AccessibleJButton extends AccessibleAbstractButton {
/**
diff --git a/jdk/src/share/classes/javax/swing/JComponent.java b/jdk/src/share/classes/javax/swing/JComponent.java
index 3a9d168..314a931 100644
--- a/jdk/src/share/classes/javax/swing/JComponent.java
+++ b/jdk/src/share/classes/javax/swing/JComponent.java
@@ -2109,7 +2109,8 @@ public abstract class JComponent extends Container implements Serializable,
private void registerWithKeyboardManager(boolean onlyIfNew) {
InputMap inputMap = getInputMap(WHEN_IN_FOCUSED_WINDOW, false);
KeyStroke[] strokes;
- Hashtable<KeyStroke, KeyStroke> registered = (Hashtable)getClientProperty
+ Hashtable<KeyStroke, KeyStroke> registered =
+ (Hashtable<KeyStroke, KeyStroke>)getClientProperty
(WHEN_IN_FOCUSED_WINDOW_BINDINGS);
if (inputMap != null) {
@@ -2161,14 +2162,15 @@ public abstract class JComponent extends Container implements Serializable,
* <code>WHEN_IN_FOCUSED_WINDOW</code> <code>KeyStroke</code> bindings.
*/
private void unregisterWithKeyboardManager() {
- Hashtable registered = (Hashtable)getClientProperty
+ Hashtable<KeyStroke, KeyStroke> registered =
+ (Hashtable<KeyStroke, KeyStroke>)getClientProperty
(WHEN_IN_FOCUSED_WINDOW_BINDINGS);
if (registered != null && registered.size() > 0) {
- Enumeration keys = registered.keys();
+ Enumeration<KeyStroke> keys = registered.keys();
while (keys.hasMoreElements()) {
- KeyStroke ks = (KeyStroke)keys.nextElement();
+ KeyStroke ks = keys.nextElement();
unregisterWithKeyboardManager(ks);
}
}
@@ -3469,6 +3471,7 @@ public abstract class JComponent extends Container implements Serializable,
}
}
+ @SuppressWarnings("serial")
static class KeyboardState implements Serializable {
private static final Object keyCodesKey =
JComponent.KeyboardState.class;
@@ -4125,13 +4128,13 @@ public abstract class JComponent extends Container implements Serializable,
if (!getFlag(FOCUS_TRAVERSAL_KEYS_FORWARD_SET)) {
super.setFocusTraversalKeys(KeyboardFocusManager.
FORWARD_TRAVERSAL_KEYS,
- (Set)value);
+ (Set<AWTKeyStroke>)value);
}
} else if (propertyName == "focusTraversalKeysBackward") {
if (!getFlag(FOCUS_TRAVERSAL_KEYS_BACKWARD_SET)) {
super.setFocusTraversalKeys(KeyboardFocusManager.
BACKWARD_TRAVERSAL_KEYS,
- (Set)value);
+ (Set<AWTKeyStroke>)value);
}
} else {
throw new IllegalArgumentException("property \""+
@@ -4188,6 +4191,7 @@ public abstract class JComponent extends Container implements Serializable,
*
* @return true if this component is lightweight
*/
+ @SuppressWarnings("deprecation")
public static boolean isLightweightComponent(Component c) {
return c.getPeer() instanceof LightweightPeer;
}
diff --git a/jdk/src/share/classes/javax/swing/JLabel.java b/jdk/src/share/classes/javax/swing/JLabel.java
index 3717abd..106245a 100644
--- a/jdk/src/share/classes/javax/swing/JLabel.java
+++ b/jdk/src/share/classes/javax/swing/JLabel.java
@@ -104,6 +104,7 @@ import java.util.*;
*
* @author Hans Muller
*/
+ at SuppressWarnings("serial")
public class JLabel extends JComponent implements SwingConstants, Accessible
{
/**
@@ -1067,6 +1068,7 @@ public class JLabel extends JComponent implements SwingConstants, Accessible
* has been added to the <code>java.beans</code> package.
* Please see {@link java.beans.XMLEncoder}.
*/
+ @SuppressWarnings("serial")
protected class AccessibleJLabel extends AccessibleJComponent
implements AccessibleText, AccessibleExtendedComponent {
diff --git a/jdk/src/share/classes/javax/swing/JLayeredPane.java b/jdk/src/share/classes/javax/swing/JLayeredPane.java
index 182416b..3b61f28 100644
--- a/jdk/src/share/classes/javax/swing/JLayeredPane.java
+++ b/jdk/src/share/classes/javax/swing/JLayeredPane.java
@@ -154,6 +154,7 @@ import javax.accessibility.*;
*
* @author David Kloba
*/
+ at SuppressWarnings("serial")
public class JLayeredPane extends JComponent implements Accessible {
/// Watch the values in getObjectForLayer()
/** Convenience object defining the Default layer. Equivalent to new Integer(0).*/
@@ -256,7 +257,7 @@ public class JLayeredPane extends JComponent implements Accessible {
*/
public void removeAll() {
Component[] children = getComponents();
- Hashtable cToL = getComponentToLayer();
+ Hashtable<Component, Integer> cToL = getComponentToLayer();
for (int counter = children.length - 1; counter >= 0; counter--) {
Component c = children[counter];
if (c != null && !(c instanceof JComponent)) {
@@ -768,6 +769,7 @@ public class JLayeredPane extends JComponent implements Accessible {
* has been added to the <code>java.beans</code> package.
* Please see {@link java.beans.XMLEncoder}.
*/
+ @SuppressWarnings("serial")
protected class AccessibleJLayeredPane extends AccessibleJComponent {
/**
diff --git a/jdk/src/share/classes/javax/swing/JMenu.java b/jdk/src/share/classes/javax/swing/JMenu.java
index f00ff31..62b6f41 100644
--- a/jdk/src/share/classes/javax/swing/JMenu.java
+++ b/jdk/src/share/classes/javax/swing/JMenu.java
@@ -109,6 +109,7 @@ import java.lang.ref.WeakReference;
* @see JMenuBar
* @see JPopupMenu
*/
+ at SuppressWarnings("serial")
public class JMenu extends JMenuItem implements Accessible,MenuElement
{
/**
@@ -134,13 +135,6 @@ public class JMenu extends JMenuItem implements Accessible,MenuElement
*/
private MenuEvent menuEvent = null;
- /* Registry of listeners created for <code>Action-JMenuItem</code>
- * linkage. This is needed so that references can
- * be cleaned up at remove time to allow garbage collection
- * Default is <code>null</code>.
- */
- private static Hashtable listenerRegistry = null;
-
/*
* Used by the look and feel (L&F) code to handle
* implementation specific menu behaviors.
@@ -1111,6 +1105,7 @@ public class JMenu extends JMenuItem implements Accessible,MenuElement
void configureAcceleratorFromAction(Action a) {
}
+ @SuppressWarnings("serial")
class MenuChangeListener implements ChangeListener, Serializable {
boolean isSelected = false;
public void stateChanged(ChangeEvent e) {
@@ -1158,6 +1153,7 @@ public class JMenu extends JMenuItem implements Accessible,MenuElement
* has been added to the <code>java.beans</code> package.
* Please see {@link java.beans.XMLEncoder}.
*/
+ @SuppressWarnings("serial")
protected class WinListener extends WindowAdapter implements Serializable {
JPopupMenu popupMenu;
/**
@@ -1394,6 +1390,7 @@ public class JMenu extends JMenuItem implements Accessible,MenuElement
* has been added to the <code>java.beans</code> package.
* Please see {@link java.beans.XMLEncoder}.
*/
+ @SuppressWarnings("serial")
protected class AccessibleJMenu extends AccessibleJMenuItem
implements AccessibleSelection {
diff --git a/jdk/src/share/classes/javax/swing/JMenuBar.java b/jdk/src/share/classes/javax/swing/JMenuBar.java
index 4f77268..0a16c86 100644
--- a/jdk/src/share/classes/javax/swing/JMenuBar.java
+++ b/jdk/src/share/classes/javax/swing/JMenuBar.java
@@ -82,6 +82,7 @@ import javax.accessibility.*;
* @see JPopupMenu
* @see JMenuItem
*/
+ at SuppressWarnings("serial")
public class JMenuBar extends JComponent implements Accessible,MenuElement
{
/**
@@ -498,6 +499,7 @@ public class JMenuBar extends JComponent implements Accessible,MenuElement
* has been added to the <code>java.beans</code> package.
* Please see {@link java.beans.XMLEncoder}.
*/
+ @SuppressWarnings("serial")
protected class AccessibleJMenuBar extends AccessibleJComponent
implements AccessibleSelection {
diff --git a/jdk/src/share/classes/javax/swing/JMenuItem.java b/jdk/src/share/classes/javax/swing/JMenuItem.java
index eaecf4d..1e61686 100644
--- a/jdk/src/share/classes/javax/swing/JMenuItem.java
+++ b/jdk/src/share/classes/javax/swing/JMenuItem.java
@@ -87,6 +87,7 @@ import javax.accessibility.*;
* @see JCheckBoxMenuItem
* @see JRadioButtonMenuItem
*/
+ at SuppressWarnings("serial")
public class JMenuItem extends AbstractButton implements Accessible,MenuElement {
/**
@@ -829,6 +830,7 @@ public class JMenuItem extends AbstractButton implements Accessible,MenuElement
* has been added to the <code>java.beans</code> package.
* Please see {@link java.beans.XMLEncoder}.
*/
+ @SuppressWarnings("serial")
protected class AccessibleJMenuItem extends AccessibleAbstractButton implements ChangeListener {
private boolean isArmed = false;
diff --git a/jdk/src/share/classes/javax/swing/JPopupMenu.java b/jdk/src/share/classes/javax/swing/JPopupMenu.java
index 53926e4..286d1bb 100644
--- a/jdk/src/share/classes/javax/swing/JPopupMenu.java
+++ b/jdk/src/share/classes/javax/swing/JPopupMenu.java
@@ -81,6 +81,7 @@ import java.applet.Applet;
* @author David Karlton
* @author Arnaud Weber
*/
+ at SuppressWarnings("serial")
public class JPopupMenu extends JComponent implements Accessible,MenuElement {
/**
@@ -1200,6 +1201,7 @@ public class JPopupMenu extends JComponent implements Accessible,MenuElement {
* Java Accessibility API appropriate to popup menu user-interface
* elements.
*/
+ @SuppressWarnings("serial")
protected class AccessibleJPopupMenu extends AccessibleJComponent
implements PropertyChangeListener {
@@ -1268,7 +1270,7 @@ public class JPopupMenu extends JComponent implements Accessible,MenuElement {
private void fireActiveDescendant() {
if (JPopupMenu.this instanceof BasicComboPopup) {
// get the popup list
- JList popupList = ((BasicComboPopup)JPopupMenu.this).getList();
+ JList<?> popupList = ((BasicComboPopup)JPopupMenu.this).getList();
if (popupList == null) {
return;
}
@@ -1335,7 +1337,7 @@ public class JPopupMenu extends JComponent implements Accessible,MenuElement {
throws IOException, ClassNotFoundException {
s.defaultReadObject();
- Vector values = (Vector)s.readObject();
+ Vector<?> values = (Vector)s.readObject();
int indexCounter = 0;
int maxCounter = values.size();
@@ -1519,6 +1521,7 @@ public class JPopupMenu extends JComponent implements Accessible,MenuElement {
/**
* A popup menu-specific separator.
*/
+ @SuppressWarnings("serial")
static public class Separator extends JSeparator
{
public Separator( )
diff --git a/jdk/src/share/classes/javax/swing/JRootPane.java b/jdk/src/share/classes/javax/swing/JRootPane.java
index 0b55475..542f7e6 100644
--- a/jdk/src/share/classes/javax/swing/JRootPane.java
+++ b/jdk/src/share/classes/javax/swing/JRootPane.java
@@ -199,6 +199,7 @@ import sun.security.action.GetBooleanAction;
* @author David Kloba
*/
/// PENDING(klobad) Who should be opaque in this component?
+ at SuppressWarnings("serial")
public class JRootPane extends JComponent implements Accessible {
private static final String uiClassID = "RootPaneUI";
@@ -834,6 +835,7 @@ public class JRootPane extends JComponent implements Accessible {
}
}
+ @SuppressWarnings("serial")
static class DefaultAction extends AbstractAction {
JButton owner;
JRootPane root;
@@ -900,6 +902,7 @@ public class JRootPane extends JComponent implements Accessible {
* has been added to the <code>java.beans</code> package.
* Please see {@link java.beans.XMLEncoder}.
*/
+ @SuppressWarnings("serial")
protected class RootLayout implements LayoutManager2, Serializable
{
/**
@@ -1065,6 +1068,7 @@ public class JRootPane extends JComponent implements Accessible {
* has been added to the <code>java.beans</code> package.
* Please see {@link java.beans.XMLEncoder}.
*/
+ @SuppressWarnings("serial")
protected class AccessibleJRootPane extends AccessibleJComponent {
/**
* Get the role of this object.
diff --git a/jdk/src/share/classes/javax/swing/JSeparator.java b/jdk/src/share/classes/javax/swing/JSeparator.java
index 1f4793a..2556737 100644
--- a/jdk/src/share/classes/javax/swing/JSeparator.java
+++ b/jdk/src/share/classes/javax/swing/JSeparator.java
@@ -71,6 +71,7 @@ import java.io.IOException;
* @author Georges Saab
* @author Jeff Shapiro
*/
+ at SuppressWarnings("serial")
public class JSeparator extends JComponent implements SwingConstants, Accessible
{
/**
@@ -279,6 +280,7 @@ public class JSeparator extends JComponent implements SwingConstants, Accessible
* has been added to the <code>java.beans</code> package.
* Please see {@link java.beans.XMLEncoder}.
*/
+ @SuppressWarnings("serial")
protected class AccessibleJSeparator extends AccessibleJComponent {
/**
diff --git a/jdk/src/share/classes/javax/swing/JToolTip.java b/jdk/src/share/classes/javax/swing/JToolTip.java
index 0c85d1f..3879d23 100644
--- a/jdk/src/share/classes/javax/swing/JToolTip.java
+++ b/jdk/src/share/classes/javax/swing/JToolTip.java
@@ -66,6 +66,7 @@ import java.io.IOException;
* @author Dave Moore
* @author Rich Shiavi
*/
+ at SuppressWarnings("serial")
public class JToolTip extends JComponent implements Accessible {
/**
* @see #getUIClassID
@@ -251,6 +252,7 @@ public class JToolTip extends JComponent implements Accessible {
* has been added to the <code>java.beans</code> package.
* Please see {@link java.beans.XMLEncoder}.
*/
+ @SuppressWarnings("serial")
protected class AccessibleJToolTip extends AccessibleJComponent {
/**
diff --git a/jdk/src/share/classes/javax/swing/JTree.java b/jdk/src/share/classes/javax/swing/JTree.java
index c5ca4b6..f4d89e0 100644
--- a/jdk/src/share/classes/javax/swing/JTree.java
+++ b/jdk/src/share/classes/javax/swing/JTree.java
@@ -142,6 +142,7 @@ import static sun.swing.SwingUtilities2.Section.*;
* @author Ray Ryan
* @author Scott Violet
*/
+ at SuppressWarnings("serial")
public class JTree extends JComponent implements Scrollable, Accessible
{
/**
@@ -421,6 +422,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
*/
private int expandRow = -1;
+ @SuppressWarnings("serial")
private class TreeTimer extends Timer {
public TreeTimer() {
super(2000, null);
@@ -3077,7 +3079,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
expandedStack = new Stack<Stack<TreePath>>();
- Vector values = (Vector)s.readObject();
+ Vector<?> values = (Vector)s.readObject();
int indexCounter = 0;
int maxCounter = values.size();
@@ -3159,7 +3161,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
*/
private void unarchiveExpandedState(Object state) {
if(state instanceof Vector) {
- Vector paths = (Vector)state;
+ Vector<?> paths = (Vector)state;
for(int counter = paths.size() - 1; counter >= 0; counter--) {
Boolean eState = (Boolean)paths.elementAt(counter--);
@@ -3240,6 +3242,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
* has been added to the <code>java.beans</code> package.
* Please see {@link java.beans.XMLEncoder}.
*/
+ @SuppressWarnings("serial")
protected static class EmptySelectionModel extends
DefaultTreeSelectionModel
{
@@ -3361,6 +3364,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
* has been added to the <code>java.beans</code> package.
* Please see {@link java.beans.XMLEncoder}.
*/
+ @SuppressWarnings("serial")
protected class TreeSelectionRedirector implements Serializable,
TreeSelectionListener
{
@@ -3661,7 +3665,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
{
if(toRemove != null) {
while(toRemove.hasMoreElements()) {
- Enumeration descendants = getDescendantToggledPaths
+ Enumeration<?> descendants = getDescendantToggledPaths
(toRemove.nextElement());
if(descendants != null) {
@@ -3861,6 +3865,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
* has been added to the <code>java.beans</code> package.
* Please see {@link java.beans.XMLEncoder}.
*/
+ @SuppressWarnings("serial")
public static class DynamicUtilTreeNode extends DefaultMutableTreeNode {
/**
* Does the this <code>JTree</code> have children?
@@ -3882,7 +3887,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
public static void createChildren(DefaultMutableTreeNode parent,
Object children) {
if(children instanceof Vector) {
- Vector childVector = (Vector)children;
+ Vector<?> childVector = (Vector)children;
for(int counter = 0, maxCounter = childVector.size();
counter < maxCounter; counter++)
@@ -3891,8 +3896,8 @@ public class JTree extends JComponent implements Scrollable, Accessible
childVector.elementAt(counter)));
}
else if(children instanceof Hashtable) {
- Hashtable childHT = (Hashtable)children;
- Enumeration keys = childHT.keys();
+ Hashtable<?,?> childHT = (Hashtable)children;
+ Enumeration<?> keys = childHT.keys();
Object aKey;
while(keys.hasMoreElements()) {
@@ -4092,6 +4097,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
* has been added to the <code>java.beans</code> package.
* Please see {@link java.beans.XMLEncoder}.
*/
+ @SuppressWarnings("serial")
protected class AccessibleJTree extends AccessibleJComponent
implements AccessibleSelection, TreeSelectionListener,
TreeModelListener, TreeExpansionListener {
@@ -5242,6 +5248,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
}
}
+ @SuppressWarnings("deprecation")
public boolean isFocusTraversable() {
AccessibleContext ac = getCurrentAccessibleContext();
if (ac instanceof AccessibleComponent) {
diff --git a/jdk/src/share/classes/javax/swing/JWindow.java b/jdk/src/share/classes/javax/swing/JWindow.java
index 9ad82c7..4a12d02 100644
--- a/jdk/src/share/classes/javax/swing/JWindow.java
+++ b/jdk/src/share/classes/javax/swing/JWindow.java
@@ -89,6 +89,7 @@ import javax.accessibility.*;
*
* @author David Kloba
*/
+ at SuppressWarnings("serial")
public class JWindow extends Window implements Accessible,
RootPaneContainer,
TransferHandler.HasGetTransferHandler
@@ -663,6 +664,7 @@ public class JWindow extends Window implements Accessible,
* Java Accessibility API appropriate to window user-interface
* elements.
*/
+ @SuppressWarnings("serial")
protected class AccessibleJWindow extends AccessibleAWTWindow {
// everything is in the new parent, AccessibleAWTWindow
}
diff --git a/jdk/src/share/classes/javax/swing/MenuSelectionManager.java b/jdk/src/share/classes/javax/swing/MenuSelectionManager.java
index 0b98a7d..4de2ac8 100644
--- a/jdk/src/share/classes/javax/swing/MenuSelectionManager.java
+++ b/jdk/src/share/classes/javax/swing/MenuSelectionManager.java
@@ -213,7 +213,7 @@ public class MenuSelectionManager {
MenuElement menuElement;
MenuElement subElements[];
MenuElement path[];
- Vector tmp;
+ Vector<MenuElement> tmp;
int selectionSize;
p = event.getPoint();
@@ -242,7 +242,7 @@ public class MenuSelectionManager {
screenX = p.x;
screenY = p.y;
- tmp = (Vector)selection.clone();
+ tmp = (Vector<MenuElement>)selection.clone();
selectionSize = tmp.size();
boolean success = false;
for (i=selectionSize - 1;i >= 0 && success == false; i--) {
@@ -377,7 +377,7 @@ public class MenuSelectionManager {
int cWidth,cHeight;
MenuElement menuElement;
MenuElement subElements[];
- Vector tmp;
+ Vector<MenuElement> tmp;
int selectionSize;
SwingUtilities.convertPointToScreen(p,source);
@@ -385,7 +385,7 @@ public class MenuSelectionManager {
screenX = p.x;
screenY = p.y;
- tmp = (Vector)selection.clone();
+ tmp = (Vector<MenuElement>)selection.clone();
selectionSize = tmp.size();
for(i=selectionSize - 1 ; i >= 0 ; i--) {
menuElement = (MenuElement) tmp.elementAt(i);
diff --git a/jdk/src/share/classes/javax/swing/Popup.java b/jdk/src/share/classes/javax/swing/Popup.java
index 72f9f6a..e59d6d8 100644
--- a/jdk/src/share/classes/javax/swing/Popup.java
+++ b/jdk/src/share/classes/javax/swing/Popup.java
@@ -98,6 +98,8 @@ public class Popup {
* Makes the <code>Popup</code> visible. If the <code>Popup</code> is
* currently visible, this has no effect.
*/
+
+ @SuppressWarnings("deprecation")
public void show() {
Component component = getComponent();
@@ -114,6 +116,8 @@ public class Popup {
* on a <code>disposed</code> <code>Popup</code>, indeterminate
* behavior will result.
*/
+
+ @SuppressWarnings("deprecation")
public void hide() {
Component component = getComponent();
diff --git a/jdk/src/share/classes/javax/swing/RepaintManager.java b/jdk/src/share/classes/javax/swing/RepaintManager.java
index 59749fc..d1ba1f4 100644
--- a/jdk/src/share/classes/javax/swing/RepaintManager.java
+++ b/jdk/src/share/classes/javax/swing/RepaintManager.java
@@ -744,7 +744,6 @@ public class RepaintManager
int localBoundsY = 0;
int localBoundsH;
int localBoundsW;
- Enumeration keys;
roots = new ArrayList<Component>(count);
@@ -1073,9 +1072,9 @@ public class RepaintManager
}
}
// Clear out the VolatileImages
- Iterator gcs = volatileMap.keySet().iterator();
+ Iterator<GraphicsConfiguration> gcs = volatileMap.keySet().iterator();
while (gcs.hasNext()) {
- GraphicsConfiguration gc = (GraphicsConfiguration)gcs.next();
+ GraphicsConfiguration gc = gcs.next();
VolatileImage image = volatileMap.get(gc);
if (image.getWidth() > width || image.getHeight() > height) {
image.flush();
diff --git a/jdk/src/share/classes/javax/swing/Timer.java b/jdk/src/share/classes/javax/swing/Timer.java
index 5ac5a3f..e938a9d 100644
--- a/jdk/src/share/classes/javax/swing/Timer.java
+++ b/jdk/src/share/classes/javax/swing/Timer.java
@@ -146,6 +146,7 @@ import javax.swing.event.EventListenerList;
*
* @author Dave Moore
*/
+ at SuppressWarnings("serial")
public class Timer implements Serializable
{
/*
diff --git a/jdk/src/share/classes/javax/swing/border/AbstractBorder.java b/jdk/src/share/classes/javax/swing/border/AbstractBorder.java
index 4b0d7c0..e1d19fe 100644
--- a/jdk/src/share/classes/javax/swing/border/AbstractBorder.java
+++ b/jdk/src/share/classes/javax/swing/border/AbstractBorder.java
@@ -46,6 +46,7 @@ import java.io.Serializable;
*
* @author David Kloba
*/
+ at SuppressWarnings("serial")
public abstract class AbstractBorder implements Border, Serializable
{
/**
diff --git a/jdk/src/share/classes/javax/swing/border/CompoundBorder.java b/jdk/src/share/classes/javax/swing/border/CompoundBorder.java
index 2809ecd..56371a4 100644
--- a/jdk/src/share/classes/javax/swing/border/CompoundBorder.java
+++ b/jdk/src/share/classes/javax/swing/border/CompoundBorder.java
@@ -54,6 +54,7 @@ import java.beans.ConstructorProperties;
*
* @author David Kloba
*/
+ at SuppressWarnings("serial")
public class CompoundBorder extends AbstractBorder {
protected Border outsideBorder;
protected Border insideBorder;
diff --git a/jdk/src/share/classes/javax/swing/border/EmptyBorder.java b/jdk/src/share/classes/javax/swing/border/EmptyBorder.java
index 5767c53..a1b74c3 100644
--- a/jdk/src/share/classes/javax/swing/border/EmptyBorder.java
+++ b/jdk/src/share/classes/javax/swing/border/EmptyBorder.java
@@ -46,6 +46,7 @@ import java.beans.ConstructorProperties;
*
* @author David Kloba
*/
+ at SuppressWarnings("serial")
public class EmptyBorder extends AbstractBorder implements Serializable
{
protected int left, right, top, bottom;
diff --git a/jdk/src/share/classes/javax/swing/border/MatteBorder.java b/jdk/src/share/classes/javax/swing/border/MatteBorder.java
index 02ca200..80d49a7 100644
--- a/jdk/src/share/classes/javax/swing/border/MatteBorder.java
+++ b/jdk/src/share/classes/javax/swing/border/MatteBorder.java
@@ -46,6 +46,7 @@ import javax.swing.Icon;
*
* @author Amy Fowler
*/
+ at SuppressWarnings("serial")
public class MatteBorder extends EmptyBorder
{
protected Color color;
diff --git a/jdk/src/share/classes/javax/swing/border/TitledBorder.java b/jdk/src/share/classes/javax/swing/border/TitledBorder.java
index e20c403..6b5fdf5 100644
--- a/jdk/src/share/classes/javax/swing/border/TitledBorder.java
+++ b/jdk/src/share/classes/javax/swing/border/TitledBorder.java
@@ -67,6 +67,7 @@ import javax.swing.plaf.basic.BasicHTML;
* @author David Kloba
* @author Amy Fowler
*/
+ at SuppressWarnings("serial")
public class TitledBorder extends AbstractBorder
{
protected String title;
diff --git a/jdk/src/share/classes/javax/swing/event/AncestorEvent.java b/jdk/src/share/classes/javax/swing/event/AncestorEvent.java
index 633bb95..c166c19 100644
--- a/jdk/src/share/classes/javax/swing/event/AncestorEvent.java
+++ b/jdk/src/share/classes/javax/swing/event/AncestorEvent.java
@@ -43,6 +43,7 @@ import javax.swing.*;
*
* @author Dave Moore
*/
+ at SuppressWarnings("serial")
public class AncestorEvent extends AWTEvent {
/**
* An ancestor-component was added to the hierarchy of
diff --git a/jdk/src/share/classes/javax/swing/event/ChangeEvent.java b/jdk/src/share/classes/javax/swing/event/ChangeEvent.java
index 459f1d0..7c351c4 100644
--- a/jdk/src/share/classes/javax/swing/event/ChangeEvent.java
+++ b/jdk/src/share/classes/javax/swing/event/ChangeEvent.java
@@ -42,6 +42,7 @@ import java.util.EventObject;
*
* @author Jeff Dinkins
*/
+ at SuppressWarnings("serial")
public class ChangeEvent extends EventObject {
/**
* Constructs a ChangeEvent object.
diff --git a/jdk/src/share/classes/javax/swing/event/EventListenerList.java b/jdk/src/share/classes/javax/swing/event/EventListenerList.java
index f0f9ff8..237bf20 100644
--- a/jdk/src/share/classes/javax/swing/event/EventListenerList.java
+++ b/jdk/src/share/classes/javax/swing/event/EventListenerList.java
@@ -96,6 +96,7 @@ import java.lang.reflect.Array;
* @author Hans Muller
* @author James Gosling
*/
+ at SuppressWarnings("serial")
public class EventListenerList implements Serializable {
/* A null array to be shared by all empty listener lists*/
private final static Object[] NULL_ARRAY = new Object[0];
@@ -250,7 +251,7 @@ public class EventListenerList implements Serializable {
// Save the non-null event listeners:
for (int i = 0; i < lList.length; i+=2) {
- Class t = (Class)lList[i];
+ Class<?> t = (Class)lList[i];
EventListener l = (EventListener)lList[i+1];
if ((l!=null) && (l instanceof Serializable)) {
s.writeObject(t.getName());
diff --git a/jdk/src/share/classes/javax/swing/event/ListDataEvent.java b/jdk/src/share/classes/javax/swing/event/ListDataEvent.java
index 91fafc2..3ccf01e 100644
--- a/jdk/src/share/classes/javax/swing/event/ListDataEvent.java
+++ b/jdk/src/share/classes/javax/swing/event/ListDataEvent.java
@@ -42,6 +42,7 @@ import java.util.EventObject;
*
* @author Hans Muller
*/
+ at SuppressWarnings("serial")
public class ListDataEvent extends EventObject
{
/** Identifies one or more changes in the lists contents. */
diff --git a/jdk/src/share/classes/javax/swing/event/MenuDragMouseEvent.java b/jdk/src/share/classes/javax/swing/event/MenuDragMouseEvent.java
index 0ce27d3..905e76d 100644
--- a/jdk/src/share/classes/javax/swing/event/MenuDragMouseEvent.java
+++ b/jdk/src/share/classes/javax/swing/event/MenuDragMouseEvent.java
@@ -47,6 +47,7 @@ import java.awt.Component;
*
* @author Georges Saab
*/
+ at SuppressWarnings("serial")
public class MenuDragMouseEvent extends MouseEvent {
private MenuElement path[];
private MenuSelectionManager manager;
diff --git a/jdk/src/share/classes/javax/swing/event/MenuEvent.java b/jdk/src/share/classes/javax/swing/event/MenuEvent.java
index 765e40d..a506199 100644
--- a/jdk/src/share/classes/javax/swing/event/MenuEvent.java
+++ b/jdk/src/share/classes/javax/swing/event/MenuEvent.java
@@ -44,6 +44,7 @@ import java.util.EventObject;
* @author Georges Saab
* @author David Karlton
*/
+ at SuppressWarnings("serial")
public class MenuEvent extends EventObject {
/**
* Constructs a MenuEvent object.
diff --git a/jdk/src/share/classes/javax/swing/event/MenuKeyEvent.java b/jdk/src/share/classes/javax/swing/event/MenuKeyEvent.java
index 144b767..c932873 100644
--- a/jdk/src/share/classes/javax/swing/event/MenuKeyEvent.java
+++ b/jdk/src/share/classes/javax/swing/event/MenuKeyEvent.java
@@ -47,6 +47,7 @@ import java.awt.Component;
*
* @author Georges Saab
*/
+ at SuppressWarnings("serial")
public class MenuKeyEvent extends KeyEvent {
private MenuElement path[];
private MenuSelectionManager manager;
diff --git a/jdk/src/share/classes/javax/swing/event/PopupMenuEvent.java b/jdk/src/share/classes/javax/swing/event/PopupMenuEvent.java
index 91dbc25..ee1b28e 100644
--- a/jdk/src/share/classes/javax/swing/event/PopupMenuEvent.java
+++ b/jdk/src/share/classes/javax/swing/event/PopupMenuEvent.java
@@ -41,6 +41,7 @@ import java.util.EventObject;
*
* @author Arnaud Weber
*/
+ at SuppressWarnings("serial")
public class PopupMenuEvent extends EventObject {
/**
* Constructs a PopupMenuEvent object.
diff --git a/jdk/src/share/classes/javax/swing/plaf/ComponentUI.java b/jdk/src/share/classes/javax/swing/plaf/ComponentUI.java
index 20e45e0..5da213a 100644
--- a/jdk/src/share/classes/javax/swing/plaf/ComponentUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/ComponentUI.java
@@ -244,6 +244,7 @@ public abstract class ComponentUI {
* @see javax.swing.JComponent#contains
* @see java.awt.Component#contains
*/
+ @SuppressWarnings("deprecation")
public boolean contains(JComponent c, int x, int y) {
return c.inside(x, y);
}
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java
index f17b537..f74edaf 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java
@@ -1932,20 +1932,22 @@ public class BasicTreeUI extends TreeUI
else {
Rectangle beginRect = getPathBounds(tree, getPathForRow
(tree, beginRow));
- Rectangle visRect = tree.getVisibleRect();
- Rectangle testRect = beginRect;
- int beginY = beginRect.y;
- int maxY = beginY + visRect.height;
-
- for(int counter = beginRow + 1; counter <= endRow; counter++) {
- testRect = getPathBounds(tree,
- getPathForRow(tree, counter));
- if((testRect.y + testRect.height) > maxY)
- counter = endRow;
+ if (beginRect != null) {
+ Rectangle visRect = tree.getVisibleRect();
+ Rectangle testRect = beginRect;
+ int beginY = beginRect.y;
+ int maxY = beginY + visRect.height;
+
+ for(int counter = beginRow + 1; counter <= endRow; counter++) {
+ testRect = getPathBounds(tree,
+ getPathForRow(tree, counter));
+ if((testRect.y + testRect.height) > maxY)
+ counter = endRow;
+ }
+ tree.scrollRectToVisible(new Rectangle(visRect.x, beginY, 1,
+ testRect.y + testRect.height-
+ beginY));
}
- tree.scrollRectToVisible(new Rectangle(visRect.x, beginY, 1,
- testRect.y + testRect.height-
- beginY));
}
}
}
@@ -3485,7 +3487,7 @@ public class BasicTreeUI extends TreeUI
}
Rectangle bounds = getPathBounds(tree, path);
- if (y > (bounds.y + bounds.height)) {
+ if (bounds == null || y > (bounds.y + bounds.height)) {
return false;
}
diff --git a/jdk/src/share/classes/javax/swing/text/BadLocationException.java b/jdk/src/share/classes/javax/swing/text/BadLocationException.java
index 6dbbb93..783996a 100644
--- a/jdk/src/share/classes/javax/swing/text/BadLocationException.java
+++ b/jdk/src/share/classes/javax/swing/text/BadLocationException.java
@@ -39,6 +39,7 @@ package javax.swing.text;
*
* @author Timothy Prinzing
*/
+ at SuppressWarnings("serial")
public class BadLocationException extends Exception
{
/**
diff --git a/jdk/src/share/classes/javax/swing/text/DefaultCaret.java b/jdk/src/share/classes/javax/swing/text/DefaultCaret.java
index 464fff6..79a0cee 100644
--- a/jdk/src/share/classes/javax/swing/text/DefaultCaret.java
+++ b/jdk/src/share/classes/javax/swing/text/DefaultCaret.java
@@ -403,6 +403,10 @@ public class DefaultCaret extends Rectangle implements Caret, FocusListener, Mou
* @see MouseListener#mouseClicked
*/
public void mouseClicked(MouseEvent e) {
+ if (getComponent() == null) {
+ return;
+ }
+
int nclicks = SwingUtilities2.getAdjustedClickCount(getComponent(), e);
if (! e.isConsumed()) {
diff --git a/jdk/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java b/jdk/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java
index a6d39a7..6420139 100644
--- a/jdk/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java
+++ b/jdk/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java
@@ -61,6 +61,7 @@ import javax.swing.DefaultListSelectionModel;
*
* @author Scott Violet
*/
+ at SuppressWarnings("serial")
public class DefaultTreeSelectionModel implements Cloneable, Serializable, TreeSelectionModel
{
/** Property name for selectionMode. */
@@ -1073,7 +1074,7 @@ public class DefaultTreeSelectionModel implements Cloneable, Serializable, TreeS
* @deprecated As of JDK version 1.7
*/
@Deprecated
- protected void notifyPathChange(Vector changedPaths,
+ protected void notifyPathChange(Vector<?> changedPaths,
TreePath oldLeadSelection) {
int cPathCount = changedPaths.size();
boolean[] newness = new boolean[cPathCount];
diff --git a/jdk/src/share/classes/javax/xml/crypto/NodeSetData.java b/jdk/src/share/classes/javax/xml/crypto/NodeSetData.java
index a34302a..d835729 100644
--- a/jdk/src/share/classes/javax/xml/crypto/NodeSetData.java
+++ b/jdk/src/share/classes/javax/xml/crypto/NodeSetData.java
@@ -52,5 +52,6 @@ public interface NodeSetData extends Data {
* @return an <code>Iterator</code> over the nodes in this
* <code>NodeSetData</code> in document order
*/
+ @SuppressWarnings("rawtypes")
Iterator iterator();
}
diff --git a/jdk/src/share/classes/javax/xml/crypto/dom/DOMCryptoContext.java b/jdk/src/share/classes/javax/xml/crypto/dom/DOMCryptoContext.java
index 79f7294..d13f384 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dom/DOMCryptoContext.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dom/DOMCryptoContext.java
@@ -47,13 +47,13 @@ import org.w3c.dom.Element;
*/
public class DOMCryptoContext implements XMLCryptoContext {
- private HashMap nsMap = new HashMap();
- private HashMap idMap = new HashMap();
- private HashMap objMap = new HashMap();
+ private HashMap<String,String> nsMap = new HashMap<>();
+ private HashMap<String,Element> idMap = new HashMap<>();
+ private HashMap<Object,Object> objMap = new HashMap<>();
private String baseURI;
private KeySelector ks;
private URIDereferencer dereferencer;
- private HashMap propMap = new HashMap();
+ private HashMap<String,Object> propMap = new HashMap<>();
private String defaultPrefix;
/**
@@ -73,7 +73,7 @@ public class DOMCryptoContext implements XMLCryptoContext {
if (namespaceURI == null) {
throw new NullPointerException("namespaceURI cannot be null");
}
- String prefix = (String) nsMap.get(namespaceURI);
+ String prefix = nsMap.get(namespaceURI);
return (prefix != null ? prefix : defaultPrefix);
}
@@ -87,7 +87,7 @@ public class DOMCryptoContext implements XMLCryptoContext {
if (namespaceURI == null) {
throw new NullPointerException("namespaceURI is null");
}
- return (String) nsMap.put(namespaceURI, prefix);
+ return nsMap.put(namespaceURI, prefix);
}
public String getDefaultNamespacePrefix() {
@@ -170,7 +170,7 @@ public class DOMCryptoContext implements XMLCryptoContext {
if (idValue == null) {
throw new NullPointerException("idValue is null");
}
- return (Element) idMap.get(idValue);
+ return idMap.get(idValue);
}
/**
@@ -219,6 +219,7 @@ public class DOMCryptoContext implements XMLCryptoContext {
*
* @return a read-only iterator over the set of mappings
*/
+ @SuppressWarnings("rawtypes")
public Iterator iterator() {
return Collections.unmodifiableMap(idMap).entrySet().iterator();
}
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/Manifest.java b/jdk/src/share/classes/javax/xml/crypto/dsig/Manifest.java
index ebb0ec1..0800a64 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/Manifest.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/Manifest.java
@@ -86,5 +86,6 @@ public interface Manifest extends XMLStructure {
*
* @return an unmodifiable list of one or more <code>Reference</code>s
*/
+ @SuppressWarnings("rawtypes")
List getReferences();
}
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/Reference.java b/jdk/src/share/classes/javax/xml/crypto/dsig/Reference.java
index 6725b14..be71bbb 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/Reference.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/Reference.java
@@ -85,6 +85,7 @@ public interface Reference extends URIReference, XMLStructure {
* @return an unmodifiable list of <code>Transform</code>s
* (may be empty but never <code>null</code>)
*/
+ @SuppressWarnings("rawtypes")
List getTransforms();
/**
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/SignatureProperties.java b/jdk/src/share/classes/javax/xml/crypto/dsig/SignatureProperties.java
index 127143e..a6ef8e1 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/SignatureProperties.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/SignatureProperties.java
@@ -87,5 +87,6 @@ public interface SignatureProperties extends XMLStructure {
* @return an unmodifiable list of one or more
* <code>SignatureProperty</code>s
*/
+ @SuppressWarnings("rawtypes")
List getProperties();
}
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/SignatureProperty.java b/jdk/src/share/classes/javax/xml/crypto/dsig/SignatureProperty.java
index d6c8c8f..c808456 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/SignatureProperty.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/SignatureProperty.java
@@ -91,5 +91,6 @@ public interface SignatureProperty extends XMLStructure {
*
* @return an unmodifiable list of one or more <code>XMLStructure</code>s
*/
+ @SuppressWarnings("rawtypes")
List getContent();
}
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/SignedInfo.java b/jdk/src/share/classes/javax/xml/crypto/dsig/SignedInfo.java
index a603906..cba06dc 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/SignedInfo.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/SignedInfo.java
@@ -80,6 +80,7 @@ public interface SignedInfo extends XMLStructure {
*
* @return an unmodifiable list of one or more {@link Reference}s
*/
+ @SuppressWarnings("rawtypes")
List getReferences();
/**
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/TransformService.java b/jdk/src/share/classes/javax/xml/crypto/dsig/TransformService.java
index 70f4182..b009b9a 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/TransformService.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/TransformService.java
@@ -157,9 +157,9 @@ public abstract class TransformService implements Transform {
if (mechanismType.equals("DOM")) {
dom = true;
}
- List services = GetInstance.getServices("TransformService", algorithm);
- for (Iterator t = services.iterator(); t.hasNext(); ) {
- Service s = (Service)t.next();
+ List<Service> services = GetInstance.getServices("TransformService", algorithm);
+ for (Iterator<Service> t = services.iterator(); t.hasNext(); ) {
+ Service s = t.next();
String value = s.getAttribute("MechanismType");
if ((value == null && dom) ||
(value != null && value.equals(mechanismType))) {
@@ -277,7 +277,7 @@ public abstract class TransformService implements Transform {
+ " mechanism not available");
}
- private static class MechanismMapEntry implements Map.Entry {
+ private static class MechanismMapEntry implements Map.Entry<String,String> {
private final String mechanism;
private final String algorithm;
private final String key;
@@ -290,19 +290,19 @@ public abstract class TransformService implements Transform {
if (!(o instanceof Map.Entry)) {
return false;
}
- Map.Entry e = (Map.Entry) o;
+ Map.Entry<?,?> e = (Map.Entry<?,?>) o;
return (getKey()==null ?
e.getKey()==null : getKey().equals(e.getKey())) &&
(getValue()==null ?
e.getValue()==null : getValue().equals(e.getValue()));
}
- public Object getKey() {
+ public String getKey() {
return key;
}
- public Object getValue() {
+ public String getValue() {
return mechanism;
}
- public Object setValue(Object value) {
+ public String setValue(String value) {
throw new UnsupportedOperationException();
}
public int hashCode() {
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/XMLObject.java b/jdk/src/share/classes/javax/xml/crypto/dsig/XMLObject.java
index 88db693..5763ba6 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/XMLObject.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/XMLObject.java
@@ -100,6 +100,7 @@ public interface XMLObject extends XMLStructure {
* @return an unmodifiable list of <code>XMLStructure</code>s (may be empty
* but never <code>null</code>)
*/
+ @SuppressWarnings("rawtypes")
List getContent();
/**
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/XMLSignature.java b/jdk/src/share/classes/javax/xml/crypto/dsig/XMLSignature.java
index 829a41a..533976a 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/XMLSignature.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/XMLSignature.java
@@ -136,6 +136,7 @@ public interface XMLSignature extends XMLStructure {
* @return an unmodifiable list of <code>XMLObject</code>s (may be empty
* but never <code>null</code>)
*/
+ @SuppressWarnings("rawtypes")
List getObjects();
/**
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/XMLSignatureFactory.java b/jdk/src/share/classes/javax/xml/crypto/dsig/XMLSignatureFactory.java
index 3d3426b..e9932d5 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/XMLSignatureFactory.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/XMLSignatureFactory.java
@@ -365,6 +365,7 @@ public abstract class XMLSignatureFactory {
* @throws ClassCastException if any of the <code>objects</code> are not of
* type <code>XMLObject</code>
*/
+ @SuppressWarnings("rawtypes")
public abstract XMLSignature newXMLSignature(SignedInfo si, KeyInfo ki,
List objects, String id, String signatureValueId);
@@ -398,6 +399,7 @@ public abstract class XMLSignatureFactory {
* compliant
* @throws NullPointerException if <code>dm</code> is <code>null</code>
*/
+ @SuppressWarnings("rawtypes")
public abstract Reference newReference(String uri, DigestMethod dm,
List transforms, String type, String id);
@@ -428,6 +430,7 @@ public abstract class XMLSignatureFactory {
* @throws NullPointerException if <code>dm</code> or
* <code>digestValue</code> is <code>null</code>
*/
+ @SuppressWarnings("rawtypes")
public abstract Reference newReference(String uri, DigestMethod dm,
List transforms, String type, String id, byte[] digestValue);
@@ -470,6 +473,7 @@ public abstract class XMLSignatureFactory {
* <code>appliedTransforms</code> or <code>result</code> is
* <code>null</code>
*/
+ @SuppressWarnings("rawtypes")
public abstract Reference newReference(String uri, DigestMethod dm,
List appliedTransforms, Data result, List transforms, String type,
String id);
@@ -489,6 +493,7 @@ public abstract class XMLSignatureFactory {
* @throws NullPointerException if any of the parameters
* are <code>null</code>
*/
+ @SuppressWarnings("rawtypes")
public abstract SignedInfo newSignedInfo(CanonicalizationMethod cm,
SignatureMethod sm, List references);
@@ -507,6 +512,7 @@ public abstract class XMLSignatureFactory {
* @throws NullPointerException if <code>cm</code>, <code>sm</code>, or
* <code>references</code> are <code>null</code>
*/
+ @SuppressWarnings("rawtypes")
public abstract SignedInfo newSignedInfo(CanonicalizationMethod cm,
SignatureMethod sm, List references, String id);
@@ -524,6 +530,7 @@ public abstract class XMLSignatureFactory {
* @throws ClassCastException if <code>content</code> contains any
* entries that are not of type {@link XMLStructure}
*/
+ @SuppressWarnings("rawtypes")
public abstract XMLObject newXMLObject(List content, String id,
String mimeType, String encoding);
@@ -540,6 +547,7 @@ public abstract class XMLSignatureFactory {
* @throws ClassCastException if <code>references</code> contains any
* entries that are not of type {@link Reference}
*/
+ @SuppressWarnings("rawtypes")
public abstract Manifest newManifest(List references);
/**
@@ -556,6 +564,7 @@ public abstract class XMLSignatureFactory {
* @throws ClassCastException if <code>references</code> contains any
* entries that are not of type {@link Reference}
*/
+ @SuppressWarnings("rawtypes")
public abstract Manifest newManifest(List references, String id);
/**
@@ -574,6 +583,7 @@ public abstract class XMLSignatureFactory {
* @throws ClassCastException if <code>content</code> contains any
* entries that are not of type {@link XMLStructure}
*/
+ @SuppressWarnings("rawtypes")
public abstract SignatureProperty newSignatureProperty
(List content, String target, String id);
@@ -592,6 +602,7 @@ public abstract class XMLSignatureFactory {
* @throws ClassCastException if <code>properties</code> contains any
* entries that are not of type {@link SignatureProperty}
*/
+ @SuppressWarnings("rawtypes")
public abstract SignatureProperties newSignatureProperties
(List properties, String id);
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfo.java b/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfo.java
index a9f9833..74d8215 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfo.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfo.java
@@ -94,6 +94,7 @@ public interface KeyInfo extends XMLStructure {
* in this <code>KeyInfo</code>. Never returns <code>null</code> or an
* empty list.
*/
+ @SuppressWarnings("rawtypes")
List getContent();
/**
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.java b/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.java
index 54fd53b..b1fbbd0 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.java
@@ -305,6 +305,7 @@ public abstract class KeyInfoFactory {
* @throws ClassCastException if <code>content</code> contains any entries
* that are not of type {@link XMLStructure}
*/
+ @SuppressWarnings("rawtypes")
public abstract KeyInfo newKeyInfo(List content);
/**
@@ -324,6 +325,7 @@ public abstract class KeyInfoFactory {
* @throws ClassCastException if <code>content</code> contains any entries
* that are not of type {@link XMLStructure}
*/
+ @SuppressWarnings("rawtypes")
public abstract KeyInfo newKeyInfo(List content, String id);
/**
@@ -385,6 +387,7 @@ public abstract class KeyInfoFactory {
* @throws ClassCastException if <code>other</code> contains any
* entries that are not of type {@link XMLStructure}
*/
+ @SuppressWarnings("rawtypes")
public abstract PGPData newPGPData(byte[] keyId, byte[] keyPacket,
List other);
@@ -408,6 +411,7 @@ public abstract class KeyInfoFactory {
* @throws ClassCastException if <code>other</code> contains any
* entries that are not of type {@link XMLStructure}
*/
+ @SuppressWarnings("rawtypes")
public abstract PGPData newPGPData(byte[] keyPacket, List other);
/**
@@ -439,6 +443,7 @@ public abstract class KeyInfoFactory {
* @throws ClassCastException if <code>transforms</code> contains any
* entries that are not of type {@link Transform}
*/
+ @SuppressWarnings("rawtypes")
public abstract RetrievalMethod newRetrievalMethod(String uri, String type,
List transforms);
@@ -464,6 +469,7 @@ public abstract class KeyInfoFactory {
* @throws ClassCastException if <code>content</code> contains any entries
* that are not of one of the valid types mentioned above
*/
+ @SuppressWarnings("rawtypes")
public abstract X509Data newX509Data(List content);
/**
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/PGPData.java b/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/PGPData.java
index 917cbdd..c60eb42 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/PGPData.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/PGPData.java
@@ -112,5 +112,6 @@ public interface PGPData extends XMLStructure {
* @return an unmodifiable list of <code>XMLStructure</code>s (may be
* empty, but never <code>null</code>)
*/
+ @SuppressWarnings("rawtypes")
List getExternalElements();
}
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/RetrievalMethod.java b/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/RetrievalMethod.java
index bffbe1a..0b3402d 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/RetrievalMethod.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/RetrievalMethod.java
@@ -80,6 +80,7 @@ public interface RetrievalMethod extends URIReference, XMLStructure {
* @return an unmodifiable list of <code>Transform</code> objects (may be
* empty but never <code>null</code>).
*/
+ @SuppressWarnings("rawtypes")
List getTransforms();
/**
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/X509Data.java b/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/X509Data.java
index 88d6961..e2c8c6a 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/X509Data.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/keyinfo/X509Data.java
@@ -109,5 +109,6 @@ public interface X509Data extends XMLStructure {
* @return an unmodifiable list of the content in this <code>X509Data</code>
* (never <code>null</code> or empty)
*/
+ @SuppressWarnings("rawtypes")
List getContent();
}
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/spec/ExcC14NParameterSpec.java b/jdk/src/share/classes/javax/xml/crypto/dsig/spec/ExcC14NParameterSpec.java
index af07c1f..c686cfb 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/spec/ExcC14NParameterSpec.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/spec/ExcC14NParameterSpec.java
@@ -59,7 +59,7 @@ import java.util.List;
*/
public final class ExcC14NParameterSpec implements C14NMethodParameterSpec {
- private List preList;
+ private List<String> preList;
/**
* Indicates the default namespace ("#default").
@@ -71,7 +71,7 @@ public final class ExcC14NParameterSpec implements C14NMethodParameterSpec {
* list.
*/
public ExcC14NParameterSpec() {
- preList = Collections.EMPTY_LIST;
+ preList = Collections.emptyList();
}
/**
@@ -86,17 +86,22 @@ public final class ExcC14NParameterSpec implements C14NMethodParameterSpec {
* @throws ClassCastException if any of the entries in the list are not
* of type <code>String</code>
*/
+ @SuppressWarnings("rawtypes")
public ExcC14NParameterSpec(List prefixList) {
if (prefixList == null) {
throw new NullPointerException("prefixList cannot be null");
}
- this.preList = new ArrayList(prefixList);
- for (int i = 0, size = preList.size(); i < size; i++) {
- if (!(preList.get(i) instanceof String)) {
+ List<?> copy = new ArrayList<>((List<?>)prefixList);
+ for (int i = 0, size = copy.size(); i < size; i++) {
+ if (!(copy.get(i) instanceof String)) {
throw new ClassCastException("not a String");
}
}
- preList = Collections.unmodifiableList(preList);
+
+ @SuppressWarnings("unchecked")
+ List<String> temp = (List<String>)copy;
+
+ preList = Collections.unmodifiableList(temp);
}
/**
@@ -109,6 +114,7 @@ public final class ExcC14NParameterSpec implements C14NMethodParameterSpec {
* @return the inclusive namespace prefix list (may be empty but never
* <code>null</code>)
*/
+ @SuppressWarnings("rawtypes")
public List getPrefixList() {
return preList;
}
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/spec/XPathFilter2ParameterSpec.java b/jdk/src/share/classes/javax/xml/crypto/dsig/spec/XPathFilter2ParameterSpec.java
index 35854ab..6320f62 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/spec/XPathFilter2ParameterSpec.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/spec/XPathFilter2ParameterSpec.java
@@ -46,7 +46,7 @@ import javax.xml.crypto.dsig.Transform;
*/
public final class XPathFilter2ParameterSpec implements TransformParameterSpec {
- private final List xPathList;
+ private final List<XPathType> xPathList;
/**
* Creates an <code>XPathFilter2ParameterSpec</code>.
@@ -59,11 +59,12 @@ public final class XPathFilter2ParameterSpec implements TransformParameterSpec {
* @throws NullPointerException if <code>xPathList</code> is
* <code>null</code>
*/
+ @SuppressWarnings("rawtypes")
public XPathFilter2ParameterSpec(List xPathList) {
if (xPathList == null) {
throw new NullPointerException("xPathList cannot be null");
}
- List xPathListCopy = new ArrayList(xPathList);
+ List<?> xPathListCopy = new ArrayList<>((List<?>)xPathList);
if (xPathListCopy.isEmpty()) {
throw new IllegalArgumentException("xPathList cannot be empty");
}
@@ -74,7 +75,11 @@ public final class XPathFilter2ParameterSpec implements TransformParameterSpec {
("xPathList["+i+"] is not a valid type");
}
}
- this.xPathList = Collections.unmodifiableList(xPathListCopy);
+
+ @SuppressWarnings("unchecked")
+ List<XPathType> temp = (List<XPathType>)xPathListCopy;
+
+ this.xPathList = Collections.unmodifiableList(temp);
}
/**
@@ -86,6 +91,7 @@ public final class XPathFilter2ParameterSpec implements TransformParameterSpec {
* @return a <code>List</code> of <code>XPathType</code> objects
* (never <code>null</code> or empty)
*/
+ @SuppressWarnings("rawtypes")
public List getXPathList() {
return xPathList;
}
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/spec/XPathFilterParameterSpec.java b/jdk/src/share/classes/javax/xml/crypto/dsig/spec/XPathFilterParameterSpec.java
index 486bf27..36adde5 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/spec/XPathFilterParameterSpec.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/spec/XPathFilterParameterSpec.java
@@ -52,7 +52,7 @@ import java.util.Map.Entry;
public final class XPathFilterParameterSpec implements TransformParameterSpec {
private String xPath;
- private Map nsMap;
+ private Map<String,String> nsMap;
/**
* Creates an <code>XPathFilterParameterSpec</code> with the specified
@@ -66,7 +66,7 @@ public final class XPathFilterParameterSpec implements TransformParameterSpec {
throw new NullPointerException();
}
this.xPath = xPath;
- this.nsMap = Collections.EMPTY_MAP;
+ this.nsMap = Collections.emptyMap();
}
/**
@@ -83,21 +83,26 @@ public final class XPathFilterParameterSpec implements TransformParameterSpec {
* @throws ClassCastException if any of the map's keys or entries are not
* of type <code>String</code>
*/
+ @SuppressWarnings("rawtypes")
public XPathFilterParameterSpec(String xPath, Map namespaceMap) {
if (xPath == null || namespaceMap == null) {
throw new NullPointerException();
}
this.xPath = xPath;
- nsMap = new HashMap(namespaceMap);
- Iterator entries = nsMap.entrySet().iterator();
+ Map<?,?> copy = new HashMap<>((Map<?,?>)namespaceMap);
+ Iterator<? extends Map.Entry<?,?>> entries = copy.entrySet().iterator();
while (entries.hasNext()) {
- Map.Entry me = (Map.Entry) entries.next();
+ Map.Entry<?,?> me = entries.next();
if (!(me.getKey() instanceof String) ||
!(me.getValue() instanceof String)) {
throw new ClassCastException("not a String");
}
}
- nsMap = Collections.unmodifiableMap(nsMap);
+
+ @SuppressWarnings("unchecked")
+ Map<String,String> temp = (Map<String,String>)copy;
+
+ nsMap = Collections.unmodifiableMap(temp);
}
/**
@@ -120,6 +125,7 @@ public final class XPathFilterParameterSpec implements TransformParameterSpec {
* @return a <code>Map</code> of namespace prefixes to namespace URIs (may
* be empty, but never <code>null</code>)
*/
+ @SuppressWarnings("rawtypes")
public Map getNamespaceMap() {
return nsMap;
}
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/spec/XPathType.java b/jdk/src/share/classes/javax/xml/crypto/dsig/spec/XPathType.java
index 8ad417c..751df6c 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/spec/XPathType.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/spec/XPathType.java
@@ -106,7 +106,7 @@ public class XPathType {
private final String expression;
private final Filter filter;
- private Map nsMap;
+ private Map<String,String> nsMap;
/**
* Creates an <code>XPathType</code> instance with the specified XPath
@@ -127,7 +127,7 @@ public class XPathType {
}
this.expression = expression;
this.filter = filter;
- this.nsMap = Collections.EMPTY_MAP;
+ this.nsMap = Collections.emptyMap();
}
/**
@@ -147,21 +147,26 @@ public class XPathType {
* @throws ClassCastException if any of the map's keys or entries are
* not of type <code>String</code>
*/
+ @SuppressWarnings("rawtypes")
public XPathType(String expression, Filter filter, Map namespaceMap) {
this(expression, filter);
if (namespaceMap == null) {
throw new NullPointerException("namespaceMap cannot be null");
}
- nsMap = new HashMap(namespaceMap);
- Iterator entries = nsMap.entrySet().iterator();
+ Map<?,?> copy = new HashMap<>((Map<?,?>)namespaceMap);
+ Iterator<? extends Map.Entry<?,?>> entries = copy.entrySet().iterator();
while (entries.hasNext()) {
- Map.Entry me = (Map.Entry) entries.next();
+ Map.Entry<?,?> me = entries.next();
if (!(me.getKey() instanceof String) ||
!(me.getValue() instanceof String)) {
throw new ClassCastException("not a String");
}
}
- nsMap = Collections.unmodifiableMap(nsMap);
+
+ @SuppressWarnings("unchecked")
+ Map<String,String> temp = (Map<String,String>)copy;
+
+ nsMap = Collections.unmodifiableMap(temp);
}
/**
@@ -193,6 +198,7 @@ public class XPathType {
* @return a <code>Map</code> of namespace prefixes to namespace URIs
* (may be empty, but never <code>null</code>)
*/
+ @SuppressWarnings("rawtypes")
public Map getNamespaceMap() {
return nsMap;
}
diff --git a/jdk/src/share/classes/sun/awt/AWTAutoShutdown.java b/jdk/src/share/classes/sun/awt/AWTAutoShutdown.java
index 99735e7..81e351b 100644
--- a/jdk/src/share/classes/sun/awt/AWTAutoShutdown.java
+++ b/jdk/src/share/classes/sun/awt/AWTAutoShutdown.java
@@ -26,10 +26,13 @@
package sun.awt;
import java.awt.AWTEvent;
+
import java.util.Collections;
import java.util.HashSet;
import java.util.IdentityHashMap;
import java.util.Map;
+import java.util.Set;
+
import sun.util.logging.PlatformLogger;
/**
@@ -81,7 +84,7 @@ public final class AWTAutoShutdown implements Runnable {
* new event to appear in their event queue.
* Access is synchronized on the main lock object.
*/
- private final HashSet busyThreadSet = new HashSet(7);
+ private final Set<Thread> busyThreadSet = new HashSet<>(7);
/**
* Indicates whether the toolkit thread is waiting for a new native
@@ -93,7 +96,7 @@ public final class AWTAutoShutdown implements Runnable {
* This is a map between components and their peers.
* we should work with in under activationLock&mainLock lock.
*/
- private final Map peerMap = new IdentityHashMap();
+ private final Map<Object, Object> peerMap = new IdentityHashMap<>();
/**
* References the alive non-daemon thread that is currently used
@@ -319,8 +322,10 @@ public final class AWTAutoShutdown implements Runnable {
}
}
+ @SuppressWarnings("serial")
static AWTEvent getShutdownEvent() {
- return new AWTEvent(getInstance(), 0) {};
+ return new AWTEvent(getInstance(), 0) {
+ };
}
/**
diff --git a/jdk/src/share/classes/sun/awt/AppContext.java b/jdk/src/share/classes/sun/awt/AppContext.java
index e4b60a2..b42078a 100644
--- a/jdk/src/share/classes/sun/awt/AppContext.java
+++ b/jdk/src/share/classes/sun/awt/AppContext.java
@@ -171,7 +171,7 @@ public final class AppContext {
* HashMap's potentially risky methods, such as clear(), elements(),
* putAll(), etc.
*/
- private final HashMap table = new HashMap();
+ private final Map<Object, Object> table = new HashMap<>();
private final ThreadGroup threadGroup;
@@ -198,8 +198,8 @@ public final class AppContext {
// On the main Thread, we get the ThreadGroup, make a corresponding
// AppContext, and instantiate the Java EventQueue. This way, legacy
// code is unaffected by the move to multiple AppContext ability.
- AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
+ AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ public Void run() {
ThreadGroup currentThreadGroup =
Thread.currentThread().getThreadGroup();
ThreadGroup parentThreadGroup = currentThreadGroup.getParent();
@@ -210,7 +210,7 @@ public final class AppContext {
}
mainAppContext = new AppContext(currentThreadGroup);
numAppContexts = 1;
- return mainAppContext;
+ return null;
}
});
}
@@ -342,6 +342,16 @@ public final class AppContext {
return appContext;
}
+ /**
+ * Returns the main ("system") AppContext.
+ *
+ * @return the main AppContext
+ * @since 1.8
+ */
+ final static AppContext getMainAppContext() {
+ return mainAppContext;
+ }
+
private long DISPOSAL_TIMEOUT = 5000; // Default to 5-second timeout
// for disposal of all Frames
// (we wait for this time twice,
@@ -399,8 +409,8 @@ public final class AppContext {
log.finer("exception occured while disposing app context", t);
}
}
- AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
+ AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ public Void run() {
if (!GraphicsEnvironment.isHeadless() && SystemTray.isSupported())
{
SystemTray systemTray = SystemTray.getSystemTray();
@@ -523,7 +533,7 @@ public final class AppContext {
}
}
- static final class CreateThreadAction implements PrivilegedAction {
+ static final class CreateThreadAction implements PrivilegedAction<Thread> {
private final AppContext appContext;
private final Runnable runnable;
@@ -532,7 +542,7 @@ public final class AppContext {
runnable = r;
}
- public Object run() {
+ public Thread run() {
Thread t = new Thread(appContext.getThreadGroup(), runnable);
t.setContextClassLoader(appContext.getContextClassLoader());
t.setPriority(Thread.NORM_PRIORITY + 1);
@@ -552,8 +562,8 @@ public final class AppContext {
if (appContext != AppContext.getAppContext()) {
// Create a thread that belongs to the thread group associated
// with the AppContext and invokes EventQueue.postEvent.
- PrivilegedAction action = new CreateThreadAction(appContext, r);
- Thread thread = (Thread)AccessController.doPrivileged(action);
+ PrivilegedAction<Thread> action = new CreateThreadAction(appContext, r);
+ Thread thread = AccessController.doPrivileged(action);
thread.start();
} else {
r.run();
diff --git a/jdk/src/share/classes/sun/awt/CausedFocusEvent.java b/jdk/src/share/classes/sun/awt/CausedFocusEvent.java
index 805cbc8..9fa100a 100644
--- a/jdk/src/share/classes/sun/awt/CausedFocusEvent.java
+++ b/jdk/src/share/classes/sun/awt/CausedFocusEvent.java
@@ -35,6 +35,7 @@ import java.awt.Component;
* CausedFocusEvent class or implicitly, by calling appropriate requestFocusXXX method with "cause"
* parameter. The default cause is UNKNOWN.
*/
+ at SuppressWarnings("serial")
public class CausedFocusEvent extends FocusEvent {
public enum Cause {
UNKNOWN,
diff --git a/jdk/src/share/classes/sun/awt/DebugSettings.java b/jdk/src/share/classes/sun/awt/DebugSettings.java
index 4edf43b..9ee9d94 100644
--- a/jdk/src/share/classes/sun/awt/DebugSettings.java
+++ b/jdk/src/share/classes/sun/awt/DebugSettings.java
@@ -87,9 +87,9 @@ final class DebugSettings {
};
/* global instance of the settings object */
- private static DebugSettings instance = null;
+ private static DebugSettings instance = null;
- private Properties props = new Properties();
+ private Properties props = new Properties();
static void init() {
if (instance != null) {
@@ -102,12 +102,13 @@ final class DebugSettings {
}
private DebugSettings() {
- new java.security.PrivilegedAction() {
- public Object run() {
- loadProperties();
- return null;
- }
- }.run();
+ java.security.AccessController.doPrivileged(
+ new java.security.PrivilegedAction<Void>() {
+ public Void run() {
+ loadProperties();
+ return null;
+ }
+ });
}
/*
@@ -117,15 +118,14 @@ final class DebugSettings {
private synchronized void loadProperties() {
// setup initial properties
java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction()
- {
- public Object run() {
- loadDefaultProperties();
- loadFileProperties();
- loadSystemProperties();
- return null;
- }
- });
+ new java.security.PrivilegedAction<Void>() {
+ public Void run() {
+ loadDefaultProperties();
+ loadFileProperties();
+ loadSystemProperties();
+ return null;
+ }
+ });
// echo the initial property settings to stdout
if (log.isLoggable(PlatformLogger.FINE)) {
@@ -134,12 +134,9 @@ final class DebugSettings {
}
public String toString() {
- Enumeration enum_ = props.propertyNames();
ByteArrayOutputStream bout = new ByteArrayOutputStream();
PrintStream pout = new PrintStream(bout);
-
- while (enum_.hasMoreElements()) {
- String key = (String)enum_.nextElement();
+ for (String key : props.stringPropertyNames()) {
String value = props.getProperty(key, "");
pout.println(key + " = " + value);
}
@@ -198,9 +195,7 @@ final class DebugSettings {
private void loadSystemProperties() {
// override file properties with system properties
Properties sysProps = System.getProperties();
- Enumeration enum_ = sysProps.propertyNames();
- while ( enum_.hasMoreElements() ) {
- String key = (String)enum_.nextElement();
+ for (String key : sysProps.stringPropertyNames()) {
String value = sysProps.getProperty(key,"");
// copy any "awtdebug" properties over
if ( key.startsWith(PREFIX) ) {
@@ -244,17 +239,14 @@ final class DebugSettings {
return value;
}
- public synchronized Enumeration getPropertyNames() {
- Vector propNames = new Vector();
- Enumeration enum_ = props.propertyNames();
-
+ private synchronized List<String> getPropertyNames() {
+ List<String> propNames = new LinkedList<>();
// remove global prefix from property names
- while ( enum_.hasMoreElements() ) {
- String propName = (String)enum_.nextElement();
+ for (String propName : props.stringPropertyNames()) {
propName = propName.substring(PREFIX.length()+1);
- propNames.addElement(propName);
+ propNames.add(propName);
}
- return propNames.elements();
+ return propNames;
}
private void println(Object object) {
@@ -279,13 +271,11 @@ final class DebugSettings {
//
// Filter out file/line ctrace properties from debug settings
//
- Vector traces = new Vector();
- Enumeration enum_ = getPropertyNames();
+ List<String> traces = new LinkedList<>();
- while ( enum_.hasMoreElements() ) {
- String key = (String)enum_.nextElement();
- if ( key.startsWith(PROP_CTRACE) && key.length() > PROP_CTRACE_LEN ) {
- traces.addElement(key);
+ for (String key : getPropertyNames()) {
+ if (key.startsWith(PROP_CTRACE) && key.length() > PROP_CTRACE_LEN) {
+ traces.add(key);
}
}
@@ -295,15 +285,12 @@ final class DebugSettings {
//
// Setup the trace points
//
- Enumeration enumTraces = traces.elements();
-
- while ( enumTraces.hasMoreElements() ) {
- String key = (String)enumTraces.nextElement();
- String trace = key.substring(PROP_CTRACE_LEN+1);
+ for (String key : traces) {
+ String trace = key.substring(PROP_CTRACE_LEN+1);
String filespec;
String linespec;
- int delim= trace.indexOf('@');
- boolean enabled;
+ int delim= trace.indexOf('@');
+ boolean enabled;
// parse out the filename and linenumber from the property name
filespec = delim != -1 ? trace.substring(0, delim) : trace;
diff --git a/jdk/src/share/classes/sun/awt/EmbeddedFrame.java b/jdk/src/share/classes/sun/awt/EmbeddedFrame.java
index 344fae1..4cbf891 100644
--- a/jdk/src/share/classes/sun/awt/EmbeddedFrame.java
+++ b/jdk/src/share/classes/sun/awt/EmbeddedFrame.java
@@ -180,6 +180,7 @@ public abstract class EmbeddedFrame extends Frame
* reference to our EmbeddedFrame forever if the Frame is no longer in use, so we
* add listeners in show() and remove them in hide().
*/
+ @SuppressWarnings("deprecation")
public void show() {
if (appletKFM != null) {
addTraversingOutListeners(appletKFM);
@@ -193,6 +194,7 @@ public abstract class EmbeddedFrame extends Frame
* reference to our EmbeddedFrame forever if the Frame is no longer in use, so we
* add listeners in show() and remove them in hide().
*/
+ @SuppressWarnings("deprecation")
public void hide() {
if (appletKFM != null) {
removeTraversingOutListeners(appletKFM);
@@ -212,8 +214,8 @@ public abstract class EmbeddedFrame extends Frame
// belongs to. That's why we can't use public methods to find current focus cycle
// root. Instead, we access KFM's private field directly.
if (currentCycleRoot == null) {
- currentCycleRoot = (Field)AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
+ currentCycleRoot = AccessController.doPrivileged(new PrivilegedAction<Field>() {
+ public Field run() {
try {
Field unaccessibleRoot = KeyboardFocusManager.class.
getDeclaredField("currentFocusCycleRoot");
@@ -257,7 +259,7 @@ public abstract class EmbeddedFrame extends Frame
}
AWTKeyStroke stroke = AWTKeyStroke.getAWTKeyStrokeForEvent(e);
- Set toTest;
+ Set<AWTKeyStroke> toTest;
Component currentFocused = e.getComponent();
toTest = getFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS);
@@ -357,6 +359,7 @@ public abstract class EmbeddedFrame extends Frame
return true;
}
+ @SuppressWarnings("deprecation")
public void addNotify() {
synchronized (getTreeLock()) {
if (getPeer() == null) {
@@ -367,6 +370,7 @@ public abstract class EmbeddedFrame extends Frame
}
// These three functions consitute RFE 4100710. Do not remove.
+ @SuppressWarnings("deprecation")
public void setCursorAllowed(boolean isCursorAllowed) {
this.isCursorAllowed = isCursorAllowed;
getPeer().updateCursorImmediately();
@@ -380,27 +384,28 @@ public abstract class EmbeddedFrame extends Frame
: Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR);
}
- protected void setPeer(final ComponentPeer p){
+ @SuppressWarnings("deprecation")
+ protected void setPeer(final ComponentPeer p){
if (fieldPeer == null) {
- fieldPeer = (Field)AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
- try {
- Field lnkPeer = Component.class.getDeclaredField("peer");
- if (lnkPeer != null) {
- lnkPeer.setAccessible(true);
- }
- return lnkPeer;
- } catch (NoSuchFieldException e) {
- assert false;
- } catch (SecurityException e) {
- assert false;
+ fieldPeer = AccessController.doPrivileged(new PrivilegedAction<Field>() {
+ public Field run() {
+ try {
+ Field lnkPeer = Component.class.getDeclaredField("peer");
+ if (lnkPeer != null) {
+ lnkPeer.setAccessible(true);
}
- return null;
- }//run
- });
+ return lnkPeer;
+ } catch (NoSuchFieldException e) {
+ assert false;
+ } catch (SecurityException e) {
+ assert false;
+ }
+ return null;
+ }//run
+ });
}
try{
- if (fieldPeer !=null){
+ if (fieldPeer != null){
fieldPeer.set(EmbeddedFrame.this, p);
}
} catch (IllegalAccessException e) {
@@ -507,6 +512,7 @@ public abstract class EmbeddedFrame extends Frame
* @see #getBoundsPrivate
* @since 1.5
*/
+ @SuppressWarnings("deprecation")
protected void setBoundsPrivate(int x, int y, int width, int height) {
final FramePeer peer = (FramePeer)getPeer();
if (peer != null) {
@@ -538,6 +544,7 @@ public abstract class EmbeddedFrame extends Frame
* @see #setBoundsPrivate
* @since 1.6
*/
+ @SuppressWarnings("deprecation")
protected Rectangle getBoundsPrivate() {
final FramePeer peer = (FramePeer)getPeer();
if (peer != null) {
diff --git a/jdk/src/share/classes/sun/awt/EventListenerAggregate.java b/jdk/src/share/classes/sun/awt/EventListenerAggregate.java
index 26a86c9..b07c30e 100644
--- a/jdk/src/share/classes/sun/awt/EventListenerAggregate.java
+++ b/jdk/src/share/classes/sun/awt/EventListenerAggregate.java
@@ -53,20 +53,15 @@ public class EventListenerAggregate {
* @throws ClassCastException if <code>listenerClass</code> is not
* assignable to <code>java.util.EventListener</code>
*/
- public EventListenerAggregate(Class listenerClass) {
+ public EventListenerAggregate(Class<? extends EventListener> listenerClass) {
if (listenerClass == null) {
throw new NullPointerException("listener class is null");
}
- if (!EventListener.class.isAssignableFrom(listenerClass)) {
- throw new ClassCastException("listener class " + listenerClass +
- " is not assignable to EventListener");
- }
-
listenerList = (EventListener[])Array.newInstance(listenerClass, 0);
}
- private Class getListenerClass() {
+ private Class<?> getListenerClass() {
return listenerList.getClass().getComponentType();
}
@@ -80,7 +75,7 @@ public class EventListenerAggregate {
* in the constructor
*/
public synchronized void add(EventListener listener) {
- Class listenerClass = getListenerClass();
+ Class<?> listenerClass = getListenerClass();
if (!listenerClass.isInstance(listener)) { // null is not an instance of any class
throw new ClassCastException("listener " + listener + " is not " +
@@ -107,7 +102,7 @@ public class EventListenerAggregate {
* in the constructor
*/
public synchronized boolean remove(EventListener listener) {
- Class listenerClass = getListenerClass();
+ Class<?> listenerClass = getListenerClass();
if (!listenerClass.isInstance(listener)) { // null is not an instance of any class
throw new ClassCastException("listener " + listener + " is not " +
@@ -155,7 +150,7 @@ public class EventListenerAggregate {
* array if there are no listeners)
*/
public synchronized EventListener[] getListenersCopy() {
- return (listenerList.length == 0) ? listenerList : (EventListener[])listenerList.clone();
+ return (listenerList.length == 0) ? listenerList : listenerList.clone();
}
/**
diff --git a/jdk/src/share/classes/sun/awt/HeadlessToolkit.java b/jdk/src/share/classes/sun/awt/HeadlessToolkit.java
index 8dc8a19..1192623 100644
--- a/jdk/src/share/classes/sun/awt/HeadlessToolkit.java
+++ b/jdk/src/share/classes/sun/awt/HeadlessToolkit.java
@@ -396,6 +396,7 @@ public class HeadlessToolkit extends Toolkit
/*
* Fonts
*/
+ @SuppressWarnings("deprecation")
public FontPeer getFontPeer(String name, int style) {
if (componentFactory != null) {
return componentFactory.getFontPeer(name, style);
@@ -403,10 +404,12 @@ public class HeadlessToolkit extends Toolkit
return null;
}
+ @SuppressWarnings("deprecation")
public FontMetrics getFontMetrics(Font font) {
return tk.getFontMetrics(font);
}
+ @SuppressWarnings("deprecation")
public String[] getFontList() {
return tk.getFontList();
}
diff --git a/jdk/src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java b/jdk/src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java
index dd9ae67..775a767 100644
--- a/jdk/src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java
+++ b/jdk/src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java
@@ -80,6 +80,7 @@ public abstract class KeyboardFocusManagerPeerImpl implements KeyboardFocusManag
* 1) accepts focus on click (in general)
* 2) may be a focus owner (in particular)
*/
+ @SuppressWarnings("deprecation")
public static boolean shouldFocusOnClick(Component component) {
boolean acceptFocusOnClick = false;
@@ -110,6 +111,7 @@ public abstract class KeyboardFocusManagerPeerImpl implements KeyboardFocusManag
/*
* Posts proper lost/gain focus events to the event queue.
*/
+ @SuppressWarnings("deprecation")
public static boolean deliverFocus(Component lightweightChild,
Component target,
boolean temporary,
@@ -119,7 +121,7 @@ public abstract class KeyboardFocusManagerPeerImpl implements KeyboardFocusManag
Component currentFocusOwner) // provided by the descendant peers
{
if (lightweightChild == null) {
- lightweightChild = (Component)target;
+ lightweightChild = target;
}
Component currentOwner = currentFocusOwner;
diff --git a/jdk/src/share/classes/sun/awt/ModalityEvent.java b/jdk/src/share/classes/sun/awt/ModalityEvent.java
index 1c4446f..e3fbff6 100644
--- a/jdk/src/share/classes/sun/awt/ModalityEvent.java
+++ b/jdk/src/share/classes/sun/awt/ModalityEvent.java
@@ -30,6 +30,7 @@ import java.awt.*;
/**
* Event object describing changes in AWT modality
*/
+ at SuppressWarnings("serial")
public class ModalityEvent extends AWTEvent implements ActiveEvent {
public static final int MODALITY_PUSHED = 1300;
diff --git a/jdk/src/share/classes/sun/awt/PaintEventDispatcher.java b/jdk/src/share/classes/sun/awt/PaintEventDispatcher.java
index c6b3346..248dbdb 100644
--- a/jdk/src/share/classes/sun/awt/PaintEventDispatcher.java
+++ b/jdk/src/share/classes/sun/awt/PaintEventDispatcher.java
@@ -77,7 +77,7 @@ public class PaintEventDispatcher {
public PaintEvent createPaintEvent(Component target, int x, int y, int w,
int h) {
- return new PaintEvent((Component)target, PaintEvent.PAINT,
+ return new PaintEvent(target, PaintEvent.PAINT,
new Rectangle(x, y, w, h));
}
diff --git a/jdk/src/share/classes/sun/awt/PeerEvent.java b/jdk/src/share/classes/sun/awt/PeerEvent.java
index 5e63e13..8e5a65a 100644
--- a/jdk/src/share/classes/sun/awt/PeerEvent.java
+++ b/jdk/src/share/classes/sun/awt/PeerEvent.java
@@ -27,7 +27,9 @@ package sun.awt;
import java.awt.event.InvocationEvent;
+ at SuppressWarnings("serial")
public class PeerEvent extends InvocationEvent {
+
public static final long PRIORITY_EVENT = 0x01;
public static final long ULTIMATE_PRIORITY_EVENT = 0x02;
public static final long LOW_PRIORITY_EVENT = 0x04;
diff --git a/jdk/src/share/classes/sun/awt/SunDisplayChanger.java b/jdk/src/share/classes/sun/awt/SunDisplayChanger.java
index 80dd0db..c1ef6f3 100644
--- a/jdk/src/share/classes/sun/awt/SunDisplayChanger.java
+++ b/jdk/src/share/classes/sun/awt/SunDisplayChanger.java
@@ -28,9 +28,10 @@ package sun.awt;
import java.awt.IllegalComponentStateException;
import java.util.Collections;
import java.util.Iterator;
+import java.util.HashMap;
+import java.util.HashSet;
import java.util.Map;
import java.util.Set;
-import java.util.HashMap;
import java.util.WeakHashMap;
import sun.util.logging.PlatformLogger;
@@ -54,12 +55,14 @@ import sun.util.logging.PlatformLogger;
* screen to another on a system equipped with multiple displays.
*/
public class SunDisplayChanger {
+
private static final PlatformLogger log = PlatformLogger.getLogger("sun.awt.multiscreen.SunDisplayChanger");
- // Create a new synchronizedMap with initial capacity of one listener.
+ // Create a new synchronized map with initial capacity of one listener.
// It is asserted that the most common case is to have one GraphicsDevice
// and one top-level Window.
- private Map listeners = Collections.synchronizedMap(new WeakHashMap(1));
+ private Map<DisplayChangedListener, Void> listeners =
+ Collections.synchronizedMap(new WeakHashMap<DisplayChangedListener, Void>(1));
public SunDisplayChanger() {}
@@ -113,18 +116,15 @@ public class SunDisplayChanger {
// synchronization provides no protection against modifying the listener
// list while in the middle of iterating over it. -bchristi 7/10/2001
- HashMap listClone;
- Set cloneSet;
+ Set<DisplayChangedListener> cloneSet;
synchronized(listeners) {
- listClone = new HashMap(listeners);
+ cloneSet = new HashSet<DisplayChangedListener>(listeners.keySet());
}
- cloneSet = listClone.keySet();
- Iterator itr = cloneSet.iterator();
+ Iterator<DisplayChangedListener> itr = cloneSet.iterator();
while (itr.hasNext()) {
- DisplayChangedListener current =
- (DisplayChangedListener) itr.next();
+ DisplayChangedListener current = itr.next();
try {
if (log.isLoggable(PlatformLogger.FINEST)) {
log.finest("displayChanged for listener: " + current);
@@ -160,17 +160,14 @@ public class SunDisplayChanger {
// synchronization provides no protection against modifying the listener
// list while in the middle of iterating over it. -bchristi 7/10/2001
- HashMap listClone;
- Set cloneSet;
+ Set<DisplayChangedListener> cloneSet;
synchronized (listeners) {
- listClone = new HashMap(listeners);
+ cloneSet = new HashSet<DisplayChangedListener>(listeners.keySet());
}
- cloneSet = listClone.keySet();
- Iterator itr = cloneSet.iterator();
+ Iterator<DisplayChangedListener> itr = cloneSet.iterator();
while (itr.hasNext()) {
- DisplayChangedListener current =
- (DisplayChangedListener) itr.next();
+ DisplayChangedListener current = itr.next();
try {
if (log.isLoggable(PlatformLogger.FINEST)) {
log.finest("paletteChanged for listener: " + current);
diff --git a/jdk/src/share/classes/sun/awt/SunGraphicsCallback.java b/jdk/src/share/classes/sun/awt/SunGraphicsCallback.java
index 1e49bd7..69d2108 100644
--- a/jdk/src/share/classes/sun/awt/SunGraphicsCallback.java
+++ b/jdk/src/share/classes/sun/awt/SunGraphicsCallback.java
@@ -47,6 +47,7 @@ public abstract class SunGraphicsCallback {
g.clipRect(0, 0, bounds.width, bounds.height);
}
+ @SuppressWarnings("deprecation")
public final void runOneComponent(Component comp, Rectangle bounds,
Graphics g, Shape clip,
int weightFlags) {
diff --git a/jdk/src/share/classes/sun/awt/SunToolkit.java b/jdk/src/share/classes/sun/awt/SunToolkit.java
index e3e6ff3..95ff33a 100644
--- a/jdk/src/share/classes/sun/awt/SunToolkit.java
+++ b/jdk/src/share/classes/sun/awt/SunToolkit.java
@@ -101,30 +101,28 @@ public abstract class SunToolkit extends Toolkit
*/
public final static int MAX_BUTTONS_SUPPORTED = 20;
- public SunToolkit() {
- Runnable initEQ = new Runnable() {
- public void run () {
- EventQueue eventQueue;
+ private static void initEQ(AppContext appContext) {
+ EventQueue eventQueue;
- String eqName = System.getProperty("AWT.EventQueueClass",
- "java.awt.EventQueue");
+ String eqName = System.getProperty("AWT.EventQueueClass",
+ "java.awt.EventQueue");
- try {
- eventQueue = (EventQueue)Class.forName(eqName).newInstance();
- } catch (Exception e) {
- e.printStackTrace();
- System.err.println("Failed loading " + eqName + ": " + e);
- eventQueue = new EventQueue();
- }
- AppContext appContext = AppContext.getAppContext();
- appContext.put(AppContext.EVENT_QUEUE_KEY, eventQueue);
+ try {
+ eventQueue = (EventQueue)Class.forName(eqName).newInstance();
+ } catch (Exception e) {
+ e.printStackTrace();
+ System.err.println("Failed loading " + eqName + ": " + e);
+ eventQueue = new EventQueue();
+ }
+ appContext.put(AppContext.EVENT_QUEUE_KEY, eventQueue);
- PostEventQueue postEventQueue = new PostEventQueue(eventQueue);
- appContext.put(POST_EVENT_QUEUE_KEY, postEventQueue);
- }
- };
+ PostEventQueue postEventQueue = new PostEventQueue(eventQueue);
+ appContext.put(POST_EVENT_QUEUE_KEY, postEventQueue);
+ }
- initEQ.run();
+ public SunToolkit() {
+ // 7122796: Always create an EQ for the main AppContext
+ initEQ(AppContext.getMainAppContext());
}
public boolean useBufferPerWindow() {
@@ -197,6 +195,7 @@ public abstract class SunToolkit extends Toolkit
public abstract boolean isTraySupported();
+ @SuppressWarnings("deprecation")
public abstract FontPeer getFontPeer(String name, int style);
public abstract RobotPeer createRobot(Robot target, GraphicsDevice screen)
@@ -288,24 +287,12 @@ public abstract class SunToolkit extends Toolkit
// return correct values
AppContext appContext = new AppContext(threadGroup);
- EventQueue eventQueue;
- String eqName = System.getProperty("AWT.EventQueueClass",
- "java.awt.EventQueue");
- try {
- eventQueue = (EventQueue)Class.forName(eqName).newInstance();
- } catch (Exception e) {
- System.err.println("Failed loading " + eqName + ": " + e);
- eventQueue = new EventQueue();
- }
- appContext.put(AppContext.EVENT_QUEUE_KEY, eventQueue);
-
- PostEventQueue postEventQueue = new PostEventQueue(eventQueue);
- appContext.put(POST_EVENT_QUEUE_KEY, postEventQueue);
+ initEQ(appContext);
return appContext;
}
- public static Field getField(final Class klass, final String fieldName) {
+ public static Field getField(final Class<?> klass, final String fieldName) {
return AccessController.doPrivileged(new PrivilegedAction<Field>() {
public Field run() {
try {
@@ -325,8 +312,8 @@ public abstract class SunToolkit extends Toolkit
static void wakeupEventQueue(EventQueue q, boolean isShutdown){
if (wakeupMethod == null){
- wakeupMethod = (Method)AccessController.doPrivileged(new PrivilegedAction(){
- public Object run(){
+ wakeupMethod = AccessController.doPrivileged(new PrivilegedAction<Method>() {
+ public Method run() {
try {
Method method = EventQueue.class.getDeclaredMethod("wakeup",new Class [] {Boolean.TYPE} );
if (method != null) {
@@ -386,8 +373,8 @@ public abstract class SunToolkit extends Toolkit
// Maps from non-Component/MenuComponent to AppContext.
// WeakHashMap<Component,AppContext>
- private static final Map appContextMap =
- Collections.synchronizedMap(new WeakHashMap());
+ private static final Map<Object, AppContext> appContextMap =
+ Collections.synchronizedMap(new WeakHashMap<Object, AppContext>());
/**
* Sets the appContext field of target. If target is not a Component or
@@ -437,7 +424,7 @@ public abstract class SunToolkit extends Toolkit
if (context == null) {
// target is not a Component/MenuComponent, try the
// appContextMap.
- context = (AppContext)appContextMap.get(target);
+ context = appContextMap.get(target);
}
return context;
}
@@ -519,9 +506,9 @@ public abstract class SunToolkit extends Toolkit
private static FocusTraversalPolicy createLayoutPolicy() {
FocusTraversalPolicy policy = null;
try {
- Class layoutPolicyClass =
+ Class<?> layoutPolicyClass =
Class.forName("javax.swing.LayoutFocusTraversalPolicy");
- policy = (FocusTraversalPolicy) layoutPolicyClass.newInstance();
+ policy = (FocusTraversalPolicy)layoutPolicyClass.newInstance();
}
catch (ClassNotFoundException e) {
assert false;
@@ -642,11 +629,13 @@ public abstract class SunToolkit extends Toolkit
* Fixed 5064013: the InvocationEvent time should be equals
* the time of the ActionEvent
*/
+ @SuppressWarnings("serial")
public static void executeOnEventHandlerThread(Object target,
Runnable runnable,
final long when) {
- executeOnEventHandlerThread(new PeerEvent(target, runnable, PeerEvent.PRIORITY_EVENT){
- public long getWhen(){
+ executeOnEventHandlerThread(
+ new PeerEvent(target, runnable, PeerEvent.PRIORITY_EVENT) {
+ public long getWhen() {
return when;
}
});
@@ -727,10 +716,12 @@ public abstract class SunToolkit extends Toolkit
protected abstract int getScreenWidth();
protected abstract int getScreenHeight();
+ @SuppressWarnings("deprecation")
public FontMetrics getFontMetrics(Font font) {
return FontDesignMetrics.getMetrics(font);
}
+ @SuppressWarnings("deprecation")
public String[] getFontList() {
String[] hardwiredFontList = {
Font.DIALOG, Font.SANS_SERIF, Font.SERIF, Font.MONOSPACED,
@@ -1156,10 +1147,10 @@ public abstract class SunToolkit extends Toolkit
public static Locale getStartupLocale() {
if (startupLocale == null) {
String language, region, country, variant;
- language = (String) AccessController.doPrivileged(
+ language = AccessController.doPrivileged(
new GetPropertyAction("user.language", "en"));
// for compatibility, check for old user.region property
- region = (String) AccessController.doPrivileged(
+ region = AccessController.doPrivileged(
new GetPropertyAction("user.region"));
if (region != null) {
// region can be of form country, country_variant, or _variant
@@ -1172,9 +1163,9 @@ public abstract class SunToolkit extends Toolkit
variant = "";
}
} else {
- country = (String) AccessController.doPrivileged(
+ country = AccessController.doPrivileged(
new GetPropertyAction("user.country", ""));
- variant = (String) AccessController.doPrivileged(
+ variant = AccessController.doPrivileged(
new GetPropertyAction("user.variant", ""));
}
startupLocale = new Locale(language, country, variant);
@@ -1254,7 +1245,7 @@ public abstract class SunToolkit extends Toolkit
* @return <code>true</code>, if XEmbed is needed, <code>false</code> otherwise
*/
public static boolean needsXEmbed() {
- String noxembed = (String) AccessController.
+ String noxembed = AccessController.
doPrivileged(new GetPropertyAction("sun.awt.noxembed", "false"));
if ("true".equals(noxembed)) {
return false;
@@ -1466,7 +1457,7 @@ public abstract class SunToolkit extends Toolkit
|| comp instanceof Window);
}
- public static Method getMethod(final Class clz, final String methodName, final Class[] params) {
+ public static Method getMethod(final Class<?> clz, final String methodName, final Class[] params) {
Method res = null;
try {
res = AccessController.doPrivileged(new PrivilegedExceptionAction<Method>() {
@@ -1482,6 +1473,7 @@ public abstract class SunToolkit extends Toolkit
return res;
}
+ @SuppressWarnings("serial")
public static class OperationTimedOut extends RuntimeException {
public OperationTimedOut(String msg) {
super(msg);
@@ -1489,9 +1481,12 @@ public abstract class SunToolkit extends Toolkit
public OperationTimedOut() {
}
}
+
+ @SuppressWarnings("serial")
public static class InfiniteLoop extends RuntimeException {
}
+ @SuppressWarnings("serial")
public static class IllegalThreadException extends RuntimeException {
public IllegalThreadException(String msg) {
super(msg);
@@ -1648,6 +1643,7 @@ public abstract class SunToolkit extends Toolkit
* Should return <code>true</code> if more processing is
* necessary, <code>false</code> otherwise.
*/
+ @SuppressWarnings("serial")
protected final boolean waitForIdle(final long timeout) {
flushPendingEvents();
boolean queueWasEmpty = isEQEmpty();
@@ -1831,7 +1827,7 @@ public abstract class SunToolkit extends Toolkit
Toolkit tk = Toolkit.getDefaultToolkit();
if (tk instanceof SunToolkit) {
systemAAFonts =
- (String)AccessController.doPrivileged(
+ AccessController.doPrivileged(
new GetPropertyAction("awt.useSystemAAFontSettings"));
}
if (systemAAFonts != null) {
@@ -1898,7 +1894,7 @@ public abstract class SunToolkit extends Toolkit
if (consumeNextKeyTypedMethod == null) {
consumeNextKeyTypedMethod = getMethod(DefaultKeyboardFocusManager.class,
"consumeNextKeyTyped",
- new Class[] {KeyEvent.class});
+ new Class<?>[] {KeyEvent.class});
}
try {
consumeNextKeyTypedMethod.invoke(KeyboardFocusManager.getCurrentKeyboardFocusManager(),
@@ -1930,8 +1926,8 @@ public abstract class SunToolkit extends Toolkit
* Returns the value of the system property indicated by the specified key.
*/
public static String getSystemProperty(final String key) {
- return (String)AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
+ return AccessController.doPrivileged(new PrivilegedAction<String>() {
+ public String run() {
return System.getProperty(key);
}
});
@@ -1941,8 +1937,7 @@ public abstract class SunToolkit extends Toolkit
* Returns the boolean value of the system property indicated by the specified key.
*/
protected static Boolean getBooleanSystemProperty(String key) {
- return Boolean.valueOf(AccessController.
- doPrivileged(new GetBooleanAction(key)));
+ return AccessController.doPrivileged(new GetBooleanAction(key));
}
private static Boolean sunAwtDisableMixing = null;
@@ -2015,7 +2010,7 @@ public abstract class SunToolkit extends Toolkit
*/
public static boolean isContainingTopLevelTranslucent(Component c) {
Window w = getContainingWindow(c);
- return w != null && ((Window)w).getOpacity() < 1.0f;
+ return w != null && w.getOpacity() < 1.0f;
}
/**
@@ -2057,14 +2052,14 @@ public abstract class SunToolkit extends Toolkit
return isInstanceOf(obj.getClass(), type);
}
- private static boolean isInstanceOf(Class cls, String type) {
+ private static boolean isInstanceOf(Class<?> cls, String type) {
if (cls == null) return false;
if (cls.getName().equals(type)) {
return true;
}
- for (Class c : cls.getInterfaces()) {
+ for (Class<?> c : cls.getInterfaces()) {
if (c.getName().equals(type)) {
return true;
}
diff --git a/jdk/src/share/classes/sun/awt/UngrabEvent.java b/jdk/src/share/classes/sun/awt/UngrabEvent.java
index 460a46f..ee898ce 100644
--- a/jdk/src/share/classes/sun/awt/UngrabEvent.java
+++ b/jdk/src/share/classes/sun/awt/UngrabEvent.java
@@ -39,7 +39,9 @@ import java.awt.Component;
* <p>Notice that this event is not generated on mouse click inside of the window area.
* <p>To listen for this event, install AWTEventListener with {@value sun.awt.SunToolkit#GRAB_EVENT_MASK}
*/
+ at SuppressWarnings("serial")
public class UngrabEvent extends AWTEvent {
+
private final static int UNGRAB_EVENT_ID = 1998;
public UngrabEvent(Component source) {
diff --git a/jdk/src/share/classes/sun/awt/datatransfer/DataTransferer.java b/jdk/src/share/classes/sun/awt/datatransfer/DataTransferer.java
index 82ff889..f8dd9df 100644
--- a/jdk/src/share/classes/sun/awt/datatransfer/DataTransferer.java
+++ b/jdk/src/share/classes/sun/awt/datatransfer/DataTransferer.java
@@ -649,8 +649,9 @@ public abstract class DataTransferer {
* The map keys are sorted according to the native formats preference
* order.
*/
- public SortedMap getFormatsForTransferable(Transferable contents,
- FlavorTable map) {
+ public SortedMap<Long,DataFlavor> getFormatsForTransferable(
+ Transferable contents, FlavorTable map)
+ {
DataFlavor[] flavors = contents.getTransferDataFlavors();
if (flavors == null) {
return new TreeMap();
@@ -686,9 +687,13 @@ public abstract class DataTransferer {
* DataFlavors and data formats
* @throws NullPointerException if flavors or map is <code>null</code>
*/
- public SortedMap getFormatsForFlavors(DataFlavor[] flavors, FlavorTable map) {
- Map formatMap = new HashMap(flavors.length);
- Map textPlainMap = new HashMap(flavors.length);
+ public SortedMap <Long, DataFlavor> getFormatsForFlavors(
+ DataFlavor[] flavors, FlavorTable map)
+ {
+ Map <Long,DataFlavor> formatMap =
+ new HashMap <> (flavors.length);
+ Map <Long,DataFlavor> textPlainMap =
+ new HashMap <> (flavors.length);
// Maps formats to indices that will be used to sort the formats
// according to the preference order.
// Larger index value corresponds to the more preferable format.
diff --git a/jdk/src/share/classes/sun/awt/dnd/SunDragSourceContextPeer.java b/jdk/src/share/classes/sun/awt/dnd/SunDragSourceContextPeer.java
index 78dc341..cfc2405 100644
--- a/jdk/src/share/classes/sun/awt/dnd/SunDragSourceContextPeer.java
+++ b/jdk/src/share/classes/sun/awt/dnd/SunDragSourceContextPeer.java
@@ -52,6 +52,7 @@ import java.util.SortedMap;
import sun.awt.SunToolkit;
import sun.awt.datatransfer.DataTransferer;
+import java.awt.datatransfer.DataFlavor;
/**
* <p>
@@ -126,9 +127,9 @@ public abstract class SunDragSourceContextPeer implements DragSourceContextPeer
dragImageOffset = p;
Transferable transferable = getDragSourceContext().getTransferable();
- SortedMap formatMap = DataTransferer.getInstance().getFormatsForTransferable
- (transferable, DataTransferer.adaptFlavorMap
- (getTrigger().getDragSource().getFlavorMap()));
+ SortedMap<Long,DataFlavor> formatMap = DataTransferer.getInstance().
+ getFormatsForTransferable(transferable, DataTransferer.adaptFlavorMap
+ (getTrigger().getDragSource().getFlavorMap()));
long[] formats = DataTransferer.getInstance().
keysToLongArray(formatMap);
startDrag(transferable, formats, formatMap);
diff --git a/jdk/src/share/classes/sun/awt/im/CompositionArea.java b/jdk/src/share/classes/sun/awt/im/CompositionArea.java
index 5e0a19d..15eb088 100644
--- a/jdk/src/share/classes/sun/awt/im/CompositionArea.java
+++ b/jdk/src/share/classes/sun/awt/im/CompositionArea.java
@@ -313,4 +313,7 @@ public final class CompositionArea extends JPanel implements InputMethodListener
compositionWindow.pack();
}
+ // Proclaim serial compatibility with 1.7.0
+ private static final long serialVersionUID = -1057247068746557444L;
+
}
diff --git a/jdk/src/share/classes/sun/awt/im/CompositionAreaHandler.java b/jdk/src/share/classes/sun/awt/im/CompositionAreaHandler.java
index 7a5626d..6ae4a95 100644
--- a/jdk/src/share/classes/sun/awt/im/CompositionAreaHandler.java
+++ b/jdk/src/share/classes/sun/awt/im/CompositionAreaHandler.java
@@ -257,7 +257,7 @@ class CompositionAreaHandler implements InputMethodListener,
*/
InputMethodRequests getClientInputMethodRequests() {
if (clientComponent != null) {
- return (InputMethodRequests) clientComponent.getInputMethodRequests();
+ return clientComponent.getInputMethodRequests();
}
return null;
diff --git a/jdk/src/share/classes/sun/awt/im/InputContext.java b/jdk/src/share/classes/sun/awt/im/InputContext.java
index 226b7f9..27f0546 100644
--- a/jdk/src/share/classes/sun/awt/im/InputContext.java
+++ b/jdk/src/share/classes/sun/awt/im/InputContext.java
@@ -79,7 +79,7 @@ public class InputContext extends java.awt.im.InputContext
private boolean inputMethodCreationFailed;
// holding bin for previously used input method instances, but not the current one
- private HashMap usedInputMethods;
+ private HashMap<InputMethodLocator, InputMethod> usedInputMethods;
// the current client component is kept until the user focusses on a different
// client component served by the same input context. When that happens, we call
@@ -106,7 +106,7 @@ public class InputContext extends java.awt.im.InputContext
// cache location notification
private Rectangle clientWindowLocation = null;
// holding the state of clientWindowNotificationEnabled of only non-current input methods
- private HashMap perInputMethodState;
+ private HashMap<InputMethod, Boolean> perInputMethodState;
// Input Method selection hot key stuff
private static AWTKeyStroke inputMethodSelectionKey;
@@ -219,6 +219,7 @@ public class InputContext extends java.awt.im.InputContext
/**
* @see java.awt.im.InputContext#dispatchEvent
*/
+ @SuppressWarnings("fallthrough")
public void dispatchEvent(AWTEvent event) {
if (event instanceof InputMethodEvent) {
@@ -394,7 +395,7 @@ public class InputContext extends java.awt.im.InputContext
isInputMethodActive = true;
if (perInputMethodState != null) {
- Boolean state = (Boolean) perInputMethodState.remove(inputMethod);
+ Boolean state = perInputMethodState.remove(inputMethod);
if (state != null) {
clientWindowNotificationEnabled = state.booleanValue();
}
@@ -549,10 +550,10 @@ public class InputContext extends java.awt.im.InputContext
// keep the input method instance around for future use
if (usedInputMethods == null) {
- usedInputMethods = new HashMap(5);
+ usedInputMethods = new HashMap<>(5);
}
if (perInputMethodState == null) {
- perInputMethodState = new HashMap(5);
+ perInputMethodState = new HashMap<>(5);
}
usedInputMethods.put(inputMethodLocator.deriveLocator(null), inputMethod);
perInputMethodState.put(inputMethod,
@@ -689,10 +690,10 @@ public class InputContext extends java.awt.im.InputContext
}
inputMethodLocator = null;
if (usedInputMethods != null && !usedInputMethods.isEmpty()) {
- Iterator iterator = usedInputMethods.values().iterator();
+ Iterator<InputMethod> iterator = usedInputMethods.values().iterator();
usedInputMethods = null;
while (iterator.hasNext()) {
- ((InputMethod) iterator.next()).dispose();
+ iterator.next().dispose();
}
}
@@ -830,13 +831,13 @@ public class InputContext extends java.awt.im.InputContext
// see whether we have a previously used input method
if (usedInputMethods != null) {
- inputMethodInstance = (InputMethod) usedInputMethods.remove(locator.deriveLocator(null));
+ inputMethodInstance = usedInputMethods.remove(locator.deriveLocator(null));
if (inputMethodInstance != null) {
if (locale != null) {
inputMethodInstance.setLocale(locale);
}
inputMethodInstance.setCharacterSubsets(characterSubsets);
- Boolean state = (Boolean) perInputMethodState.remove(inputMethodInstance);
+ Boolean state = perInputMethodState.remove(inputMethodInstance);
if (state != null) {
enableClientWindowNotification(inputMethodInstance, state.booleanValue());
}
@@ -919,7 +920,7 @@ public class InputContext extends java.awt.im.InputContext
// method becomes the current one.
if (requester != inputMethod) {
if (perInputMethodState == null) {
- perInputMethodState = new HashMap(5);
+ perInputMethodState = new HashMap<>(5);
}
perInputMethodState.put(requester, Boolean.valueOf(enable));
return;
@@ -1029,7 +1030,7 @@ public class InputContext extends java.awt.im.InputContext
* Initializes the input method selection key definition in preference trees
*/
private void initializeInputMethodSelectionKey() {
- AccessController.doPrivileged(new PrivilegedAction() {
+ AccessController.doPrivileged(new PrivilegedAction<Object>() {
public Object run() {
// Look in user's tree
Preferences root = Preferences.userRoot();
diff --git a/jdk/src/share/classes/sun/awt/im/InputMethodContext.java b/jdk/src/share/classes/sun/awt/im/InputMethodContext.java
index 78706ba..98f3538 100644
--- a/jdk/src/share/classes/sun/awt/im/InputMethodContext.java
+++ b/jdk/src/share/classes/sun/awt/im/InputMethodContext.java
@@ -72,12 +72,11 @@ public class InputMethodContext
static {
// check whether we should use below-the-spot input
// get property from command line
- String inputStyle = (String) AccessController.doPrivileged
+ String inputStyle = AccessController.doPrivileged
(new GetPropertyAction("java.awt.im.style", null));
// get property from awt.properties file
if (inputStyle == null) {
- inputStyle = Toolkit.getDefaultToolkit().
- getProperty("java.awt.im.style", null);
+ inputStyle = Toolkit.getProperty("java.awt.im.style", null);
}
belowTheSpotInputRequested = "below-the-spot".equals(inputStyle);
}
diff --git a/jdk/src/share/classes/sun/awt/im/InputMethodJFrame.java b/jdk/src/share/classes/sun/awt/im/InputMethodJFrame.java
index 602b46d..e83dc9e 100644
--- a/jdk/src/share/classes/sun/awt/im/InputMethodJFrame.java
+++ b/jdk/src/share/classes/sun/awt/im/InputMethodJFrame.java
@@ -68,4 +68,7 @@ public class InputMethodJFrame
return super.getInputContext();
}
}
+
+ // Proclaim serial compatibility with 1.7.0
+ private static final long serialVersionUID = -4705856747771842549L;
}
diff --git a/jdk/src/share/classes/sun/awt/im/InputMethodManager.java b/jdk/src/share/classes/sun/awt/im/InputMethodManager.java
index 1b99c3d..0e15b7e 100644
--- a/jdk/src/share/classes/sun/awt/im/InputMethodManager.java
+++ b/jdk/src/share/classes/sun/awt/im/InputMethodManager.java
@@ -270,7 +270,7 @@ class ExecutableInputMethodManager extends InputMethodManager
// IM preference stuff
private static final String preferredIMNode = "/sun/awt/im/preferredInputMethod";
private static final String descriptorKey = "descriptor";
- private Hashtable preferredLocatorCache = new Hashtable();
+ private Hashtable<String, InputMethodLocator> preferredLocatorCache = new Hashtable<>();
private Preferences userRoot;
ExecutableInputMethodManager() {
@@ -430,7 +430,7 @@ class ExecutableInputMethodManager extends InputMethodManager
synchronized (javaInputMethodLocatorList) {
javaInputMethodLocatorList.clear();
try {
- AccessController.doPrivileged(new PrivilegedExceptionAction() {
+ AccessController.doPrivileged(new PrivilegedExceptionAction<Object>() {
public Object run() {
for (InputMethodDescriptor descriptor :
ServiceLoader.loadInstalled(InputMethodDescriptor.class)) {
@@ -611,7 +611,7 @@ class ExecutableInputMethodManager extends InputMethodManager
}
// look for the cached preference first.
- preferredLocator = (InputMethodLocator)preferredLocatorCache.get(locale.toString().intern());
+ preferredLocator = preferredLocatorCache.get(locale.toString().intern());
if (preferredLocator != null) {
return preferredLocator;
}
@@ -767,8 +767,8 @@ class ExecutableInputMethodManager extends InputMethodManager
}
private Preferences getUserRoot() {
- return (Preferences)AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
+ return AccessController.doPrivileged(new PrivilegedAction<Preferences>() {
+ public Preferences run() {
return Preferences.userRoot();
}
});
diff --git a/jdk/src/share/classes/sun/awt/im/SimpleInputMethodWindow.java b/jdk/src/share/classes/sun/awt/im/SimpleInputMethodWindow.java
index 2bcbdc3..5ed1340 100644
--- a/jdk/src/share/classes/sun/awt/im/SimpleInputMethodWindow.java
+++ b/jdk/src/share/classes/sun/awt/im/SimpleInputMethodWindow.java
@@ -61,4 +61,7 @@ public class SimpleInputMethodWindow
return super.getInputContext();
}
}
+
+ // Proclaim serial compatibility with 1.7.0
+ private static final long serialVersionUID = 5093376647036461555L;
}
diff --git a/jdk/src/share/classes/sun/awt/image/BufImgSurfaceData.java b/jdk/src/share/classes/sun/awt/image/BufImgSurfaceData.java
index 239f883..5910c4b 100644
--- a/jdk/src/share/classes/sun/awt/image/BufImgSurfaceData.java
+++ b/jdk/src/share/classes/sun/awt/image/BufImgSurfaceData.java
@@ -323,8 +323,8 @@ public class BufImgSurfaceData extends SurfaceData {
}
public RenderLoops getRenderLoops(SunGraphics2D sg2d) {
- if (sg2d.paintState <= sg2d.PAINT_ALPHACOLOR &&
- sg2d.compositeState <= sg2d.COMP_ISCOPY)
+ if (sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR &&
+ sg2d.compositeState <= SunGraphics2D.COMP_ISCOPY)
{
return solidloops;
}
diff --git a/jdk/src/share/classes/sun/instrument/InstrumentationImpl.java b/jdk/src/share/classes/sun/instrument/InstrumentationImpl.java
index 359cdbd..9957e1c 100644
--- a/jdk/src/share/classes/sun/instrument/InstrumentationImpl.java
+++ b/jdk/src/share/classes/sun/instrument/InstrumentationImpl.java
@@ -136,7 +136,7 @@ public class InstrumentationImpl implements Instrumentation {
}
public void
- retransformClasses(Class<?>[] classes) {
+ retransformClasses(Class<?>... classes) {
if (!isRetransformClassesSupported()) {
throw new UnsupportedOperationException(
"retransformClasses is not supported in this environment");
@@ -150,7 +150,7 @@ public class InstrumentationImpl implements Instrumentation {
}
public void
- redefineClasses(ClassDefinition[] definitions)
+ redefineClasses(ClassDefinition... definitions)
throws ClassNotFoundException {
if (!isRedefineClassesSupported()) {
throw new UnsupportedOperationException("redefineClasses is not supported in this environment");
@@ -321,7 +321,7 @@ public class InstrumentationImpl implements Instrumentation {
try {
m = javaAgentClass.getDeclaredMethod( methodname,
- new Class[] {
+ new Class<?>[] {
String.class,
java.lang.instrument.Instrumentation.class
}
@@ -336,7 +336,7 @@ public class InstrumentationImpl implements Instrumentation {
// now try the declared 1-arg method
try {
m = javaAgentClass.getDeclaredMethod(methodname,
- new Class[] { String.class });
+ new Class<?>[] { String.class });
} catch (NoSuchMethodException x) {
// ignore this exception because we'll try
// two arg inheritance next
@@ -347,7 +347,7 @@ public class InstrumentationImpl implements Instrumentation {
// now try the inherited 2-arg method
try {
m = javaAgentClass.getMethod( methodname,
- new Class[] {
+ new Class<?>[] {
String.class,
java.lang.instrument.Instrumentation.class
}
@@ -363,7 +363,7 @@ public class InstrumentationImpl implements Instrumentation {
// finally try the inherited 1-arg method
try {
m = javaAgentClass.getMethod(methodname,
- new Class[] { String.class });
+ new Class<?>[] { String.class });
} catch (NoSuchMethodException x) {
// none of the methods exists so we throw the
// first NoSuchMethodException as per 5.0
@@ -411,7 +411,7 @@ public class InstrumentationImpl implements Instrumentation {
private byte[]
transform( ClassLoader loader,
String classname,
- Class classBeingRedefined,
+ Class<?> classBeingRedefined,
ProtectionDomain protectionDomain,
byte[] classfileBuffer,
boolean isRetransformer) {
diff --git a/jdk/src/share/classes/sun/instrument/TransformerManager.java b/jdk/src/share/classes/sun/instrument/TransformerManager.java
index 2f8cfa1..b0a0205 100644
--- a/jdk/src/share/classes/sun/instrument/TransformerManager.java
+++ b/jdk/src/share/classes/sun/instrument/TransformerManager.java
@@ -169,7 +169,7 @@ public class TransformerManager
public byte[]
transform( ClassLoader loader,
String classname,
- Class classBeingRedefined,
+ Class<?> classBeingRedefined,
ProtectionDomain protectionDomain,
byte[] classfileBuffer) {
boolean someoneTouchedTheBytecode = false;
diff --git a/jdk/src/share/classes/sun/invoke/util/ValueConversions.java b/jdk/src/share/classes/sun/invoke/util/ValueConversions.java
index cab961a..5fd1e8b 100644
--- a/jdk/src/share/classes/sun/invoke/util/ValueConversions.java
+++ b/jdk/src/share/classes/sun/invoke/util/ValueConversions.java
@@ -55,9 +55,9 @@ public class ValueConversions {
private static final Lookup IMPL_LOOKUP = MethodHandles.lookup();
private static EnumMap<Wrapper, MethodHandle>[] newWrapperCaches(int n) {
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("unchecked") // generic array creation
EnumMap<Wrapper, MethodHandle>[] caches
- = (EnumMap<Wrapper, MethodHandle>[]) new EnumMap[n]; // unchecked warning expected here
+ = (EnumMap<Wrapper, MethodHandle>[]) new EnumMap<?,?>[n];
for (int i = 0; i < n; i++)
caches[i] = new EnumMap<>(Wrapper.class);
return caches;
@@ -1097,7 +1097,7 @@ public class ValueConversions {
}
private static MethodHandle buildNewArray(int nargs) {
- return MethodHandles.insertArguments(NEW_ARRAY, 0, (int) nargs);
+ return MethodHandles.insertArguments(NEW_ARRAY, 0, nargs);
}
private static final MethodHandle[] FILLERS = new MethodHandle[MAX_ARITY+1];
@@ -1122,7 +1122,7 @@ public class ValueConversions {
}
MethodHandle leftFill = filler(leftLen); // recursive fill
MethodHandle rightFill = FILL_ARRAYS[rightLen];
- rightFill = MethodHandles.insertArguments(rightFill, 1, (int) leftLen); // [leftLen..nargs-1]
+ rightFill = MethodHandles.insertArguments(rightFill, 1, leftLen); // [leftLen..nargs-1]
// Combine the two fills: right(left(newArray(nargs), x1..x20), x21..x23)
MethodHandle mh = filler(0); // identity function produces result
diff --git a/jdk/src/share/classes/sun/invoke/util/Wrapper.java b/jdk/src/share/classes/sun/invoke/util/Wrapper.java
index f1344bd..927322b 100644
--- a/jdk/src/share/classes/sun/invoke/util/Wrapper.java
+++ b/jdk/src/share/classes/sun/invoke/util/Wrapper.java
@@ -31,7 +31,7 @@ public enum Wrapper {
BYTE(Byte.class, byte.class, 'B', (Byte)(byte)0, new byte[0], Format.signed(8)),
SHORT(Short.class, short.class, 'S', (Short)(short)0, new short[0], Format.signed(16)),
CHAR(Character.class, char.class, 'C', (Character)(char)0, new char[0], Format.unsigned(16)),
- INT(Integer.class, int.class, 'I', (Integer)(int)0, new int[0], Format.signed(32)),
+ INT(Integer.class, int.class, 'I', (Integer)/*(int)*/0, new int[0], Format.signed(32)),
LONG(Long.class, long.class, 'J', (Long)(long)0, new long[0], Format.signed(64)),
FLOAT(Float.class, float.class, 'F', (Float)(float)0, new float[0], Format.floating(32)),
DOUBLE(Double.class, double.class, 'D', (Double)(double)0, new double[0], Format.floating(64)),
@@ -539,7 +539,7 @@ public enum Wrapper {
switch (basicTypeChar) {
case 'L': throw newIllegalArgumentException("cannot wrap to object type");
case 'V': return null;
- case 'I': return Integer.valueOf((int)x);
+ case 'I': return Integer.valueOf(x);
case 'J': return Long.valueOf(x);
case 'F': return Float.valueOf(x);
case 'D': return Double.valueOf(x);
diff --git a/jdk/src/share/classes/sun/java2d/SunGraphics2D.java b/jdk/src/share/classes/sun/java2d/SunGraphics2D.java
index 8d9c2ea..4571b81 100644
--- a/jdk/src/share/classes/sun/java2d/SunGraphics2D.java
+++ b/jdk/src/share/classes/sun/java2d/SunGraphics2D.java
@@ -941,7 +941,7 @@ public final class SunGraphics2D
}
}
}
- Class paintClass = paint.getClass();
+ Class<? extends Paint> paintClass = paint.getClass();
if (paintClass == GradientPaint.class) {
paintState = PAINT_GRADIENT;
} else if (paintClass == LinearGradientPaint.class) {
@@ -1280,7 +1280,7 @@ public final class SunGraphics2D
interpolationHint = -1;
interpolationType = AffineTransformOp.TYPE_NEAREST_NEIGHBOR;
boolean customHintPresent = false;
- Iterator iter = hints.keySet().iterator();
+ Iterator<?> iter = hints.keySet().iterator();
while (iter.hasNext()) {
Object key = iter.next();
if (key == SunHints.KEY_RENDERING ||
@@ -1311,7 +1311,7 @@ public final class SunGraphics2D
*/
public void addRenderingHints(Map<?,?> hints) {
boolean customHintPresent = false;
- Iterator iter = hints.keySet().iterator();
+ Iterator<?> iter = hints.keySet().iterator();
while (iter.hasNext()) {
Object key = iter.next();
if (key == SunHints.KEY_RENDERING ||
diff --git a/jdk/src/share/classes/sun/java2d/SurfaceData.java b/jdk/src/share/classes/sun/java2d/SurfaceData.java
index 9916c5b..bd88234 100644
--- a/jdk/src/share/classes/sun/java2d/SurfaceData.java
+++ b/jdk/src/share/classes/sun/java2d/SurfaceData.java
@@ -520,8 +520,8 @@ public abstract class SurfaceData
}
public boolean canRenderParallelograms(SunGraphics2D sg2d) {
- if (sg2d.paintState <= sg2d.PAINT_ALPHACOLOR) {
- if (sg2d.compositeState == sg2d.COMP_XOR) {
+ if (sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR) {
+ if (sg2d.compositeState == SunGraphics2D.COMP_XOR) {
if (havePgramXORLoop == LOOP_UNKNOWN) {
FillParallelogram loop =
FillParallelogram.locate(SurfaceType.AnyColor,
@@ -531,9 +531,9 @@ public abstract class SurfaceData
(loop != null) ? LOOP_FOUND : LOOP_NOTFOUND;
}
return havePgramXORLoop == LOOP_FOUND;
- } else if (sg2d.compositeState <= sg2d.COMP_ISCOPY &&
+ } else if (sg2d.compositeState <= SunGraphics2D.COMP_ISCOPY &&
sg2d.antialiasHint != SunHints.INTVAL_ANTIALIAS_ON &&
- sg2d.clipState != sg2d.CLIP_SHAPE)
+ sg2d.clipState != SunGraphics2D.CLIP_SHAPE)
{
if (havePgramSolidLoop == LOOP_UNKNOWN) {
FillParallelogram loop =
@@ -551,8 +551,8 @@ public abstract class SurfaceData
public void validatePipe(SunGraphics2D sg2d) {
sg2d.imagepipe = imagepipe;
- if (sg2d.compositeState == sg2d.COMP_XOR) {
- if (sg2d.paintState > sg2d.PAINT_ALPHACOLOR) {
+ if (sg2d.compositeState == SunGraphics2D.COMP_XOR) {
+ if (sg2d.paintState > SunGraphics2D.PAINT_ALPHACOLOR) {
sg2d.drawpipe = paintViaShape;
sg2d.fillpipe = paintViaShape;
sg2d.shapepipe = paintShape;
@@ -576,7 +576,7 @@ public abstract class SurfaceData
converter = colorViaShape;
sg2d.shapepipe = colorPrimitives;
}
- if (sg2d.clipState == sg2d.CLIP_SHAPE) {
+ if (sg2d.clipState == SunGraphics2D.CLIP_SHAPE) {
sg2d.drawpipe = converter;
sg2d.fillpipe = converter;
// REMIND: We should not be changing text strategies
@@ -589,11 +589,11 @@ public abstract class SurfaceData
// which is not defined for XOR.
sg2d.textpipe = outlineTextRenderer;
} else {
- if (sg2d.transformState >= sg2d.TRANSFORM_TRANSLATESCALE) {
+ if (sg2d.transformState >= SunGraphics2D.TRANSFORM_TRANSLATESCALE) {
sg2d.drawpipe = converter;
sg2d.fillpipe = converter;
} else {
- if (sg2d.strokeState != sg2d.STROKE_THIN) {
+ if (sg2d.strokeState != SunGraphics2D.STROKE_THIN) {
sg2d.drawpipe = converter;
} else {
sg2d.drawpipe = colorPrimitives;
@@ -604,9 +604,9 @@ public abstract class SurfaceData
}
// assert(sg2d.surfaceData == this);
}
- } else if (sg2d.compositeState == sg2d.COMP_CUSTOM) {
+ } else if (sg2d.compositeState == SunGraphics2D.COMP_CUSTOM) {
if (sg2d.antialiasHint == SunHints.INTVAL_ANTIALIAS_ON) {
- if (sg2d.clipState == sg2d.CLIP_SHAPE) {
+ if (sg2d.clipState == SunGraphics2D.CLIP_SHAPE) {
sg2d.drawpipe = AAClipCompViaShape;
sg2d.fillpipe = AAClipCompViaShape;
sg2d.shapepipe = AAClipCompViaShape;
@@ -621,7 +621,7 @@ public abstract class SurfaceData
sg2d.drawpipe = compViaShape;
sg2d.fillpipe = compViaShape;
sg2d.shapepipe = compShape;
- if (sg2d.clipState == sg2d.CLIP_SHAPE) {
+ if (sg2d.clipState == SunGraphics2D.CLIP_SHAPE) {
sg2d.textpipe = clipCompText;
} else {
sg2d.textpipe = compText;
@@ -631,7 +631,7 @@ public abstract class SurfaceData
sg2d.alphafill = getMaskFill(sg2d);
// assert(sg2d.surfaceData == this);
if (sg2d.alphafill != null) {
- if (sg2d.clipState == sg2d.CLIP_SHAPE) {
+ if (sg2d.clipState == SunGraphics2D.CLIP_SHAPE) {
sg2d.drawpipe = AAClipColorViaShape;
sg2d.fillpipe = AAClipColorViaShape;
sg2d.shapepipe = AAClipColorViaShape;
@@ -644,8 +644,8 @@ public abstract class SurfaceData
sg2d.drawpipe = converter;
sg2d.fillpipe = converter;
sg2d.shapepipe = converter;
- if (sg2d.paintState > sg2d.PAINT_ALPHACOLOR ||
- sg2d.compositeState > sg2d.COMP_ISCOPY)
+ if (sg2d.paintState > SunGraphics2D.PAINT_ALPHACOLOR ||
+ sg2d.compositeState > SunGraphics2D.COMP_ISCOPY)
{
sg2d.textpipe = colorText;
} else {
@@ -653,7 +653,7 @@ public abstract class SurfaceData
}
}
} else {
- if (sg2d.clipState == sg2d.CLIP_SHAPE) {
+ if (sg2d.clipState == SunGraphics2D.CLIP_SHAPE) {
sg2d.drawpipe = AAClipPaintViaShape;
sg2d.fillpipe = AAClipPaintViaShape;
sg2d.shapepipe = AAClipPaintViaShape;
@@ -665,9 +665,9 @@ public abstract class SurfaceData
sg2d.textpipe = paintText;
}
}
- } else if (sg2d.paintState > sg2d.PAINT_ALPHACOLOR ||
- sg2d.compositeState > sg2d.COMP_ISCOPY ||
- sg2d.clipState == sg2d.CLIP_SHAPE)
+ } else if (sg2d.paintState > SunGraphics2D.PAINT_ALPHACOLOR ||
+ sg2d.compositeState > SunGraphics2D.COMP_ISCOPY ||
+ sg2d.clipState == SunGraphics2D.CLIP_SHAPE)
{
sg2d.drawpipe = paintViaShape;
sg2d.fillpipe = paintViaShape;
@@ -675,13 +675,13 @@ public abstract class SurfaceData
sg2d.alphafill = getMaskFill(sg2d);
// assert(sg2d.surfaceData == this);
if (sg2d.alphafill != null) {
- if (sg2d.clipState == sg2d.CLIP_SHAPE) {
+ if (sg2d.clipState == SunGraphics2D.CLIP_SHAPE) {
sg2d.textpipe = clipColorText;
} else {
sg2d.textpipe = colorText;
}
} else {
- if (sg2d.clipState == sg2d.CLIP_SHAPE) {
+ if (sg2d.clipState == SunGraphics2D.CLIP_SHAPE) {
sg2d.textpipe = clipPaintText;
} else {
sg2d.textpipe = paintText;
@@ -700,11 +700,11 @@ public abstract class SurfaceData
converter = colorViaShape;
sg2d.shapepipe = colorPrimitives;
}
- if (sg2d.transformState >= sg2d.TRANSFORM_TRANSLATESCALE) {
+ if (sg2d.transformState >= SunGraphics2D.TRANSFORM_TRANSLATESCALE) {
sg2d.drawpipe = converter;
sg2d.fillpipe = converter;
} else {
- if (sg2d.strokeState != sg2d.STROKE_THIN) {
+ if (sg2d.strokeState != SunGraphics2D.STROKE_THIN) {
sg2d.drawpipe = converter;
} else {
sg2d.drawpipe = colorPrimitives;
@@ -817,7 +817,7 @@ public abstract class SurfaceData
private static CompositeType getFillCompositeType(SunGraphics2D sg2d) {
CompositeType compType = sg2d.imageComp;
- if (sg2d.compositeState == sg2d.COMP_ISCOPY) {
+ if (sg2d.compositeState == SunGraphics2D.COMP_ISCOPY) {
if (compType == CompositeType.SrcOverNoEa) {
compType = CompositeType.OpaqueSrcOverNoEa;
} else {
diff --git a/jdk/src/share/classes/sun/java2d/SurfaceDataProxy.java b/jdk/src/share/classes/sun/java2d/SurfaceDataProxy.java
index 638579c..fefb507 100644
--- a/jdk/src/share/classes/sun/java2d/SurfaceDataProxy.java
+++ b/jdk/src/share/classes/sun/java2d/SurfaceDataProxy.java
@@ -71,7 +71,7 @@ public abstract class SurfaceDataProxy
static {
cachingAllowed = true;
- String manimg = (String)AccessController.doPrivileged(
+ String manimg = AccessController.doPrivileged(
new GetPropertyAction("sun.java2d.managedimages"));
if (manimg != null && manimg.equals("false")) {
cachingAllowed = false;
@@ -79,7 +79,7 @@ public abstract class SurfaceDataProxy
}
defaultThreshold = 1;
- String num = (String)AccessController.doPrivileged(
+ String num = AccessController.doPrivileged(
new GetPropertyAction("sun.java2d.accthreshold"));
if (num != null) {
try {
diff --git a/jdk/src/share/classes/sun/java2d/loops/GraphicsPrimitive.java b/jdk/src/share/classes/sun/java2d/loops/GraphicsPrimitive.java
index 664d5ff..205da2f 100644
--- a/jdk/src/share/classes/sun/java2d/loops/GraphicsPrimitive.java
+++ b/jdk/src/share/classes/sun/java2d/loops/GraphicsPrimitive.java
@@ -328,7 +328,7 @@ public abstract class GraphicsPrimitive {
static {
GetPropertyAction gpa = new GetPropertyAction("sun.java2d.trace");
- String trace = (String)AccessController.doPrivileged(gpa);
+ String trace = AccessController.doPrivileged(gpa);
if (trace != null) {
boolean verbose = false;
int traceflags = 0;
@@ -391,9 +391,9 @@ public abstract class GraphicsPrimitive {
private static PrintStream getTraceOutputFile() {
if (traceout == null) {
if (tracefile != null) {
- Object o =
- AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
+ FileOutputStream o = AccessController.doPrivileged(
+ new PrivilegedAction<FileOutputStream>() {
+ public FileOutputStream run() {
try {
return new FileOutputStream(tracefile);
} catch (FileNotFoundException e) {
@@ -402,7 +402,7 @@ public abstract class GraphicsPrimitive {
}
});
if (o != null) {
- traceout = new PrintStream((OutputStream) o);
+ traceout = new PrintStream(o);
} else {
traceout = System.err;
}
@@ -415,8 +415,8 @@ public abstract class GraphicsPrimitive {
public static class TraceReporter extends Thread {
public static void setShutdownHook() {
- AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
+ AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ public Void run() {
TraceReporter t = new TraceReporter();
t.setContextClassLoader(null);
Runtime.getRuntime().addShutdownHook(t);
diff --git a/jdk/src/share/classes/sun/java2d/loops/SurfaceType.java b/jdk/src/share/classes/sun/java2d/loops/SurfaceType.java
index bcce58e..907c6f3 100644
--- a/jdk/src/share/classes/sun/java2d/loops/SurfaceType.java
+++ b/jdk/src/share/classes/sun/java2d/loops/SurfaceType.java
@@ -56,7 +56,7 @@ import java.util.HashMap;
public final class SurfaceType {
private static int unusedUID = 1;
- private static HashMap surfaceUIDMap = new HashMap(100);
+ private static HashMap<String, Integer> surfaceUIDMap = new HashMap<>(100);
/*
* CONSTANTS USED BY ALL PRIMITIVES TO DESCRIBE THE SURFACES
@@ -402,7 +402,7 @@ public final class SurfaceType {
}
public synchronized static final int makeUniqueID(String desc) {
- Integer i = (Integer) surfaceUIDMap.get((Object) desc);
+ Integer i = surfaceUIDMap.get(desc);
if (i == null) {
if (unusedUID > 255) {
diff --git a/jdk/src/share/classes/sun/java2d/opengl/OGLBufImgOps.java b/jdk/src/share/classes/sun/java2d/opengl/OGLBufImgOps.java
index 994b46e..8d8366b 100644
--- a/jdk/src/share/classes/sun/java2d/opengl/OGLBufImgOps.java
+++ b/jdk/src/share/classes/sun/java2d/opengl/OGLBufImgOps.java
@@ -78,12 +78,12 @@ class OGLBufImgOps extends BufferedBufImgOps {
}
SurfaceData srcData =
- dstData.getSourceSurfaceData(img, sg.TRANSFORM_ISIDENT,
+ dstData.getSourceSurfaceData(img, SunGraphics2D.TRANSFORM_ISIDENT,
CompositeType.SrcOver, null);
if (!(srcData instanceof OGLSurfaceData)) {
// REMIND: this hack tries to ensure that we have a cached texture
srcData =
- dstData.getSourceSurfaceData(img, sg.TRANSFORM_ISIDENT,
+ dstData.getSourceSurfaceData(img, SunGraphics2D.TRANSFORM_ISIDENT,
CompositeType.SrcOver, null);
if (!(srcData instanceof OGLSurfaceData)) {
return false;
diff --git a/jdk/src/share/classes/sun/java2d/opengl/OGLDrawImage.java b/jdk/src/share/classes/sun/java2d/opengl/OGLDrawImage.java
index 07a416e..9e373f2 100644
--- a/jdk/src/share/classes/sun/java2d/opengl/OGLDrawImage.java
+++ b/jdk/src/share/classes/sun/java2d/opengl/OGLDrawImage.java
@@ -60,7 +60,7 @@ public class OGLDrawImage extends DrawImage {
SurfaceData dstData = sg.surfaceData;
SurfaceData srcData =
dstData.getSourceSurfaceData(img,
- sg.TRANSFORM_GENERIC,
+ SunGraphics2D.TRANSFORM_GENERIC,
sg.imageComp,
bgColor);
diff --git a/jdk/src/share/classes/sun/java2d/opengl/OGLPaints.java b/jdk/src/share/classes/sun/java2d/opengl/OGLPaints.java
index 24b839b..62d4001 100644
--- a/jdk/src/share/classes/sun/java2d/opengl/OGLPaints.java
+++ b/jdk/src/share/classes/sun/java2d/opengl/OGLPaints.java
@@ -123,14 +123,16 @@ abstract class OGLPaints {
}
SurfaceData srcData =
- dstData.getSourceSurfaceData(bi, sg2d.TRANSFORM_ISIDENT,
+ dstData.getSourceSurfaceData(bi,
+ SunGraphics2D.TRANSFORM_ISIDENT,
CompositeType.SrcOver, null);
if (!(srcData instanceof OGLSurfaceData)) {
// REMIND: this is a hack that attempts to cache the system
// memory image from the TexturePaint instance into an
// OpenGL texture...
srcData =
- dstData.getSourceSurfaceData(bi, sg2d.TRANSFORM_ISIDENT,
+ dstData.getSourceSurfaceData(bi,
+ SunGraphics2D.TRANSFORM_ISIDENT,
CompositeType.SrcOver, null);
if (!(srcData instanceof OGLSurfaceData)) {
return false;
diff --git a/jdk/src/share/classes/sun/java2d/opengl/OGLSurfaceData.java b/jdk/src/share/classes/sun/java2d/opengl/OGLSurfaceData.java
index ca6c9a6..3968f05 100644
--- a/jdk/src/share/classes/sun/java2d/opengl/OGLSurfaceData.java
+++ b/jdk/src/share/classes/sun/java2d/opengl/OGLSurfaceData.java
@@ -428,18 +428,18 @@ public abstract class OGLSurfaceData extends SurfaceData
// by the CompositeType.SrcNoEa (any color) test below.)
if (/* CompositeType.SrcNoEa (any color) */
- (sg2d.compositeState <= sg2d.COMP_ISCOPY &&
- sg2d.paintState <= sg2d.PAINT_ALPHACOLOR) ||
+ (sg2d.compositeState <= SunGraphics2D.COMP_ISCOPY &&
+ sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR) ||
/* CompositeType.SrcOver (any color) */
- (sg2d.compositeState == sg2d.COMP_ALPHA &&
- sg2d.paintState <= sg2d.PAINT_ALPHACOLOR &&
+ (sg2d.compositeState == SunGraphics2D.COMP_ALPHA &&
+ sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR &&
(((AlphaComposite)sg2d.composite).getRule() ==
- AlphaComposite.SRC_OVER)) ||
+ AlphaComposite.SRC_OVER)) ||
/* CompositeType.Xor (any color) */
- (sg2d.compositeState == sg2d.COMP_XOR &&
- sg2d.paintState <= sg2d.PAINT_ALPHACOLOR))
+ (sg2d.compositeState == SunGraphics2D.COMP_XOR &&
+ sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR))
{
textpipe = oglTextPipe;
} else {
@@ -454,12 +454,12 @@ public abstract class OGLSurfaceData extends SurfaceData
OGLRenderer nonTxPipe = null;
if (sg2d.antialiasHint != SunHints.INTVAL_ANTIALIAS_ON) {
- if (sg2d.paintState <= sg2d.PAINT_ALPHACOLOR) {
- if (sg2d.compositeState <= sg2d.COMP_XOR) {
+ if (sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR) {
+ if (sg2d.compositeState <= SunGraphics2D.COMP_XOR) {
txPipe = oglTxRenderPipe;
nonTxPipe = oglRenderPipe;
}
- } else if (sg2d.compositeState <= sg2d.COMP_ALPHA) {
+ } else if (sg2d.compositeState <= SunGraphics2D.COMP_ALPHA) {
if (OGLPaints.isValid(sg2d)) {
txPipe = oglTxRenderPipe;
nonTxPipe = oglRenderPipe;
@@ -467,7 +467,7 @@ public abstract class OGLSurfaceData extends SurfaceData
// custom paints handled by super.validatePipe() below
}
} else {
- if (sg2d.paintState <= sg2d.PAINT_ALPHACOLOR) {
+ if (sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR) {
if (graphicsConfig.isCapPresent(CAPS_PS30) &&
(sg2d.imageComp == CompositeType.SrcOverNoEa ||
sg2d.imageComp == CompositeType.SrcOver))
@@ -484,7 +484,7 @@ public abstract class OGLSurfaceData extends SurfaceData
sg2d.drawpipe = aaConverter;
sg2d.fillpipe = aaConverter;
sg2d.shapepipe = aaConverter;
- } else if (sg2d.compositeState == sg2d.COMP_XOR) {
+ } else if (sg2d.compositeState == SunGraphics2D.COMP_XOR) {
// install the solid pipes when AA and XOR are both enabled
txPipe = oglTxRenderPipe;
nonTxPipe = oglRenderPipe;
@@ -494,10 +494,10 @@ public abstract class OGLSurfaceData extends SurfaceData
}
if (txPipe != null) {
- if (sg2d.transformState >= sg2d.TRANSFORM_TRANSLATESCALE) {
+ if (sg2d.transformState >= SunGraphics2D.TRANSFORM_TRANSLATESCALE) {
sg2d.drawpipe = txPipe;
sg2d.fillpipe = txPipe;
- } else if (sg2d.strokeState != sg2d.STROKE_THIN) {
+ } else if (sg2d.strokeState != SunGraphics2D.STROKE_THIN) {
sg2d.drawpipe = txPipe;
sg2d.fillpipe = nonTxPipe;
} else {
@@ -524,7 +524,7 @@ public abstract class OGLSurfaceData extends SurfaceData
@Override
protected MaskFill getMaskFill(SunGraphics2D sg2d) {
- if (sg2d.paintState > sg2d.PAINT_ALPHACOLOR) {
+ if (sg2d.paintState > SunGraphics2D.PAINT_ALPHACOLOR) {
/*
* We can only accelerate non-Color MaskFill operations if
* all of the following conditions hold true:
@@ -548,8 +548,8 @@ public abstract class OGLSurfaceData extends SurfaceData
public boolean copyArea(SunGraphics2D sg2d,
int x, int y, int w, int h, int dx, int dy)
{
- if (sg2d.transformState < sg2d.TRANSFORM_TRANSLATESCALE &&
- sg2d.compositeState < sg2d.COMP_XOR)
+ if (sg2d.transformState < SunGraphics2D.TRANSFORM_TRANSLATESCALE &&
+ sg2d.compositeState < SunGraphics2D.COMP_XOR)
{
x += sg2d.transX;
y += sg2d.transY;
diff --git a/jdk/src/share/classes/sun/java2d/pipe/AAShapePipe.java b/jdk/src/share/classes/sun/java2d/pipe/AAShapePipe.java
index eaa821d..7da9b58 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/AAShapePipe.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/AAShapePipe.java
@@ -144,7 +144,7 @@ public class AAShapePipe
public void renderPath(SunGraphics2D sg, Shape s, BasicStroke bs) {
boolean adjust = (bs != null &&
sg.strokeHint != SunHints.INTVAL_STROKE_PURE);
- boolean thin = (sg.strokeState <= sg.STROKE_THINDASHED);
+ boolean thin = (sg.strokeState <= SunGraphics2D.STROKE_THINDASHED);
Region clip = sg.getCompClip();
int abox[] = new int[4];
diff --git a/jdk/src/share/classes/sun/java2d/pipe/BufferedPaints.java b/jdk/src/share/classes/sun/java2d/pipe/BufferedPaints.java
index 87ff649..afdfe6d 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/BufferedPaints.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/BufferedPaints.java
@@ -247,7 +247,7 @@ public class BufferedPaints {
BufferedImage bi = paint.getImage();
SurfaceData dstData = sg2d.surfaceData;
SurfaceData srcData =
- dstData.getSourceSurfaceData(bi, sg2d.TRANSFORM_ISIDENT,
+ dstData.getSourceSurfaceData(bi, SunGraphics2D.TRANSFORM_ISIDENT,
CompositeType.SrcOver, null);
boolean filter =
(sg2d.interpolationType !=
diff --git a/jdk/src/share/classes/sun/java2d/pipe/BufferedRenderPipe.java b/jdk/src/share/classes/sun/java2d/pipe/BufferedRenderPipe.java
index c5f3097..3270a46 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/BufferedRenderPipe.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/BufferedRenderPipe.java
@@ -508,9 +508,9 @@ public abstract class BufferedRenderPipe
}
public void draw(SunGraphics2D sg2d, Shape s) {
- if (sg2d.strokeState == sg2d.STROKE_THIN) {
+ if (sg2d.strokeState == SunGraphics2D.STROKE_THIN) {
if (s instanceof Polygon) {
- if (sg2d.transformState < sg2d.TRANSFORM_TRANSLATESCALE) {
+ if (sg2d.transformState < SunGraphics2D.TRANSFORM_TRANSLATESCALE) {
Polygon p = (Polygon)s;
drawPolygon(sg2d, p.xpoints, p.ypoints, p.npoints);
return;
@@ -518,7 +518,7 @@ public abstract class BufferedRenderPipe
}
Path2D.Float p2df;
int transx, transy;
- if (sg2d.transformState <= sg2d.TRANSFORM_INT_TRANSLATE) {
+ if (sg2d.transformState <= SunGraphics2D.TRANSFORM_INT_TRANSLATE) {
if (s instanceof Path2D.Float) {
p2df = (Path2D.Float)s;
} else {
@@ -532,7 +532,7 @@ public abstract class BufferedRenderPipe
transy = 0;
}
drawPath(sg2d, p2df, transx, transy);
- } else if (sg2d.strokeState < sg2d.STROKE_CUSTOM) {
+ } else if (sg2d.strokeState < SunGraphics2D.STROKE_CUSTOM) {
ShapeSpanIterator si = LoopPipe.getStrokeSpans(sg2d, s);
try {
fillSpans(sg2d, si, 0, 0);
@@ -547,11 +547,11 @@ public abstract class BufferedRenderPipe
public void fill(SunGraphics2D sg2d, Shape s) {
int transx, transy;
- if (sg2d.strokeState == sg2d.STROKE_THIN) {
+ if (sg2d.strokeState == SunGraphics2D.STROKE_THIN) {
// Here we are able to use fillPath() for
// high-quality fills.
Path2D.Float p2df;
- if (sg2d.transformState <= sg2d.TRANSFORM_INT_TRANSLATE) {
+ if (sg2d.transformState <= SunGraphics2D.TRANSFORM_INT_TRANSLATE) {
if (s instanceof Path2D.Float) {
p2df = (Path2D.Float)s;
} else {
@@ -569,7 +569,7 @@ public abstract class BufferedRenderPipe
}
AffineTransform at;
- if (sg2d.transformState <= sg2d.TRANSFORM_INT_TRANSLATE) {
+ if (sg2d.transformState <= SunGraphics2D.TRANSFORM_INT_TRANSLATE) {
// Transform (translation) will be done by FillSpans (we could
// delegate to fillPolygon() here, but most hardware accelerated
// libraries cannot handle non-convex polygons, so we will use
diff --git a/jdk/src/share/classes/sun/java2d/pipe/DrawImage.java b/jdk/src/share/classes/sun/java2d/pipe/DrawImage.java
index f702a68..510a46b 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/DrawImage.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/DrawImage.java
@@ -146,7 +146,7 @@ public class DrawImage implements DrawImagePipe
int imgh = img.getHeight(null);
boolean checkfinalxform;
- if (sg.transformState <= sg.TRANSFORM_ANY_TRANSLATE &&
+ if (sg.transformState <= SunGraphics2D.TRANSFORM_ANY_TRANSLATE &&
(txtype == AffineTransform.TYPE_IDENTITY ||
txtype == AffineTransform.TYPE_TRANSLATION))
{
@@ -166,7 +166,7 @@ public class DrawImage implements DrawImagePipe
return;
}
checkfinalxform = false;
- } else if (sg.transformState <= sg.TRANSFORM_TRANSLATESCALE &&
+ } else if (sg.transformState <= SunGraphics2D.TRANSFORM_TRANSLATESCALE &&
((txtype & (AffineTransform.TYPE_FLIP |
AffineTransform.TYPE_MASK_ROTATION |
AffineTransform.TYPE_GENERAL_TRANSFORM)) == 0))
@@ -344,14 +344,14 @@ public class DrawImage implements DrawImagePipe
Region clip = sg.getCompClip();
SurfaceData dstData = sg.surfaceData;
SurfaceData srcData = dstData.getSourceSurfaceData(img,
- sg.TRANSFORM_GENERIC,
+ SunGraphics2D.TRANSFORM_GENERIC,
sg.imageComp,
bgColor);
if (srcData == null) {
img = getBufferedImage(img);
srcData = dstData.getSourceSurfaceData(img,
- sg.TRANSFORM_GENERIC,
+ SunGraphics2D.TRANSFORM_GENERIC,
sg.imageComp,
bgColor);
if (srcData == null) {
@@ -372,7 +372,7 @@ public class DrawImage implements DrawImagePipe
sx1 = sy1 = 0;
srcData = dstData.getSourceSurfaceData(img,
- sg.TRANSFORM_GENERIC,
+ SunGraphics2D.TRANSFORM_GENERIC,
sg.imageComp,
bgColor);
}
@@ -398,7 +398,7 @@ public class DrawImage implements DrawImagePipe
sx1 = sy1 = 0;
srcData = dstData.getSourceSurfaceData(img,
- sg.TRANSFORM_GENERIC,
+ SunGraphics2D.TRANSFORM_GENERIC,
sg.imageComp,
null);
srcType = srcData.getSurfaceType();
@@ -449,7 +449,7 @@ public class DrawImage implements DrawImagePipe
SurfaceType dstType = dstData.getSurfaceType();
MaskBlit maskblit;
Blit blit;
- if (sg.compositeState <= sg.COMP_ALPHA) {
+ if (sg.compositeState <= SunGraphics2D.COMP_ALPHA) {
/* NOTE: We either have, or we can make,
* a MaskBlit for any alpha composite type
*/
@@ -565,7 +565,7 @@ public class DrawImage implements DrawImagePipe
while (true) {
SurfaceData srcData =
dstData.getSourceSurfaceData(img,
- sg.TRANSFORM_ISIDENT,
+ SunGraphics2D.TRANSFORM_ISIDENT,
sg.imageComp,
bgColor);
if (srcData == null) {
@@ -628,7 +628,7 @@ public class DrawImage implements DrawImagePipe
while (true) {
SurfaceData srcData =
dstData.getSourceSurfaceData(img,
- sg.TRANSFORM_TRANSLATESCALE,
+ SunGraphics2D.TRANSFORM_TRANSLATESCALE,
sg.imageComp,
bgColor);
@@ -800,11 +800,11 @@ public class DrawImage implements DrawImagePipe
public static boolean isSimpleTranslate(SunGraphics2D sg) {
int ts = sg.transformState;
- if (ts <= sg.TRANSFORM_INT_TRANSLATE) {
+ if (ts <= SunGraphics2D.TRANSFORM_INT_TRANSLATE) {
// Integer translates are always "simple"
return true;
}
- if (ts >= sg.TRANSFORM_TRANSLATESCALE) {
+ if (ts >= SunGraphics2D.TRANSFORM_TRANSLATESCALE) {
// Scales and beyond are always "not simple"
return false;
}
@@ -846,8 +846,11 @@ public class DrawImage implements DrawImagePipe
}
int type = tx.getType();
boolean needTrans =
- ((type&(tx.TYPE_MASK_ROTATION|tx.TYPE_GENERAL_TRANSFORM)) != 0);
- if (! needTrans && type != tx.TYPE_TRANSLATION && type != tx.TYPE_IDENTITY)
+ ((type & (AffineTransform.TYPE_MASK_ROTATION |
+ AffineTransform.TYPE_GENERAL_TRANSFORM)) != 0);
+ if (! needTrans &&
+ type != AffineTransform.TYPE_TRANSLATION &&
+ type != AffineTransform.TYPE_IDENTITY)
{
double[] mtx = new double[4];
tx.getMatrix(mtx);
@@ -861,7 +864,7 @@ public class DrawImage implements DrawImagePipe
Raster raster = bImg.getRaster();
IndexColorModel icm = (IndexColorModel) cm;
// Just need to make sure that we have a transparent pixel
- if (needTrans && cm.getTransparency() == cm.OPAQUE) {
+ if (needTrans && cm.getTransparency() == Transparency.OPAQUE) {
// Fix 4221407
if (raster instanceof sun.awt.image.BytePackedRaster) {
dstCM = ColorModel.getRGBdefault();
@@ -892,7 +895,7 @@ public class DrawImage implements DrawImagePipe
} /* raster instanceof sun.awt.image.BytePackedRaster */
} /* if (cm.getTransparency() == cm.OPAQUE) */
} /* if (cm instanceof IndexColorModel) */
- else if (needTrans && cm.getTransparency() == cm.OPAQUE) {
+ else if (needTrans && cm.getTransparency() == Transparency.OPAQUE) {
// Need a bitmask transparency
// REMIND: for now, use full transparency since no loops
// for bitmask
@@ -902,7 +905,7 @@ public class DrawImage implements DrawImagePipe
else {
if (cm instanceof IndexColorModel ||
- (needTrans && cm.getTransparency() == cm.OPAQUE))
+ (needTrans && cm.getTransparency() == Transparency.OPAQUE))
{
// Need a bitmask transparency
// REMIND: for now, use full transparency since no loops
diff --git a/jdk/src/share/classes/sun/java2d/pipe/GlyphListPipe.java b/jdk/src/share/classes/sun/java2d/pipe/GlyphListPipe.java
index 5a44749..0467290 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/GlyphListPipe.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/GlyphListPipe.java
@@ -54,7 +54,7 @@ public abstract class GlyphListPipe implements TextPipe {
}
float devx, devy;
- if (sg2d.transformState >= sg2d.TRANSFORM_TRANSLATESCALE) {
+ if (sg2d.transformState >= SunGraphics2D.TRANSFORM_TRANSLATESCALE) {
double origin[] = {x + info.originX, y + info.originY};
sg2d.transform.transform(origin, 0, origin, 0, 1);
devx = (float)origin[0];
@@ -90,7 +90,7 @@ public abstract class GlyphListPipe implements TextPipe {
sg2d, data, offset, length, ix, iy);
return;
}
- if (sg2d.transformState >= sg2d.TRANSFORM_TRANSLATESCALE) {
+ if (sg2d.transformState >= SunGraphics2D.TRANSFORM_TRANSLATESCALE) {
double origin[] = {ix + info.originX, iy + info.originY};
sg2d.transform.transform(origin, 0, origin, 0, 1);
x = (float) origin[0];
@@ -122,7 +122,7 @@ public abstract class GlyphListPipe implements TextPipe {
SurfaceData.outlineTextRenderer.drawGlyphVector(sg2d, gv, x, y);
return;
}
- if (sg2d.transformState >= sg2d.TRANSFORM_TRANSLATESCALE) {
+ if (sg2d.transformState >= SunGraphics2D.TRANSFORM_TRANSLATESCALE) {
double origin[] = {x, y};
sg2d.transform.transform(origin, 0, origin, 0, 1);
x = (float) origin[0];
diff --git a/jdk/src/share/classes/sun/java2d/pipe/LoopPipe.java b/jdk/src/share/classes/sun/java2d/pipe/LoopPipe.java
index e975cc9..e70ab69 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/LoopPipe.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/LoopPipe.java
@@ -171,11 +171,11 @@ public class LoopPipe
public void draw(SunGraphics2D sg2d, Shape s) {
- if (sg2d.strokeState == sg2d.STROKE_THIN) {
+ if (sg2d.strokeState == SunGraphics2D.STROKE_THIN) {
Path2D.Float p2df;
int transX;
int transY;
- if (sg2d.transformState <= sg2d.TRANSFORM_INT_TRANSLATE) {
+ if (sg2d.transformState <= SunGraphics2D.TRANSFORM_INT_TRANSLATE) {
if (s instanceof Path2D.Float) {
p2df = (Path2D.Float)s;
} else {
@@ -193,7 +193,7 @@ public class LoopPipe
return;
}
- if (sg2d.strokeState == sg2d.STROKE_CUSTOM) {
+ if (sg2d.strokeState == SunGraphics2D.STROKE_CUSTOM) {
fill(sg2d, sg2d.stroke.createStrokedShape(s));
return;
}
@@ -271,7 +271,7 @@ public class LoopPipe
sr.setRule(PathIterator.WIND_NON_ZERO);
BasicStroke bs = (BasicStroke) sg2d.stroke;
- boolean thin = (sg2d.strokeState <= sg2d.STROKE_THINDASHED);
+ boolean thin = (sg2d.strokeState <= SunGraphics2D.STROKE_THINDASHED);
boolean normalize =
(sg2d.strokeHint != SunHints.INTVAL_STROKE_PURE);
@@ -288,11 +288,11 @@ public class LoopPipe
}
public void fill(SunGraphics2D sg2d, Shape s) {
- if (sg2d.strokeState == sg2d.STROKE_THIN) {
+ if (sg2d.strokeState == SunGraphics2D.STROKE_THIN) {
Path2D.Float p2df;
int transX;
int transY;
- if (sg2d.transformState <= sg2d.TRANSFORM_INT_TRANSLATE) {
+ if (sg2d.transformState <= SunGraphics2D.TRANSFORM_INT_TRANSLATE) {
if (s instanceof Path2D.Float) {
p2df = (Path2D.Float)s;
} else {
@@ -314,7 +314,7 @@ public class LoopPipe
try {
sr.setOutputArea(sg2d.getCompClip());
AffineTransform at =
- ((sg2d.transformState == sg2d.TRANSFORM_ISIDENT)
+ ((sg2d.transformState == SunGraphics2D.TRANSFORM_ISIDENT)
? null
: sg2d.transform);
sr.appendPath(s.getPathIterator(at));
@@ -328,7 +328,7 @@ public class LoopPipe
// REMIND: Eventually, the plan is that it will not be possible for
// fs to be null since the FillSpans loop will be the fundamental
// loop implemented for any destination type...
- if (sg2d.clipState == sg2d.CLIP_SHAPE) {
+ if (sg2d.clipState == SunGraphics2D.CLIP_SHAPE) {
si = sg2d.clipRegion.filter(si);
// REMIND: Region.filter produces a Java-only iterator
// with no native counterpart...
diff --git a/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java b/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java
index e2913ab..83b6911 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java
@@ -117,16 +117,16 @@ public abstract class RenderingEngine {
return reImpl;
}
- reImpl = (RenderingEngine)
- AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
+ reImpl =
+ AccessController.doPrivileged(new PrivilegedAction<RenderingEngine>() {
+ public RenderingEngine run() {
final String ductusREClass = "sun.dc.DuctusRenderingEngine";
String reClass =
System.getProperty("sun.java2d.renderer", ductusREClass);
if (reClass.equals(ductusREClass)) {
try {
- Class cls = Class.forName(ductusREClass);
- return cls.newInstance();
+ Class<?> cls = Class.forName(ductusREClass);
+ return (RenderingEngine) cls.newInstance();
} catch (ReflectiveOperationException ignored) {
// not found
}
@@ -153,7 +153,7 @@ public abstract class RenderingEngine {
GetPropertyAction gpa =
new GetPropertyAction("sun.java2d.renderer.trace");
- String reTrace = (String) AccessController.doPrivileged(gpa);
+ String reTrace = AccessController.doPrivileged(gpa);
if (reTrace != null) {
reImpl = new Tracer(reImpl);
}
diff --git a/jdk/src/share/classes/sun/launcher/LauncherHelper.java b/jdk/src/share/classes/sun/launcher/LauncherHelper.java
index 1ce70a0..77e21aa 100644
--- a/jdk/src/share/classes/sun/launcher/LauncherHelper.java
+++ b/jdk/src/share/classes/sun/launcher/LauncherHelper.java
@@ -430,7 +430,7 @@ public class LauncherHelper {
if (t != null) {
t.printStackTrace();
} else {
- Thread.currentThread().dumpStack();
+ Thread.dumpStack();
}
}
System.exit(1);
diff --git a/jdk/src/share/classes/sun/management/Agent.java b/jdk/src/share/classes/sun/management/Agent.java
index 0111f71..d590093 100644
--- a/jdk/src/share/classes/sun/management/Agent.java
+++ b/jdk/src/share/classes/sun/management/Agent.java
@@ -216,11 +216,8 @@ public class Agent {
adaptorClass.getMethod("initialize",
String.class, Properties.class);
initializeMethod.invoke(null,snmpPort,props);
- } catch (ClassNotFoundException x) {
- // The SNMP packages are not present: throws an exception.
- throw new UnsupportedOperationException("Unsupported management property: " + SNMP_PORT,x);
- } catch (NoSuchMethodException x) {
- // should not happen...
+ } catch (ClassNotFoundException | NoSuchMethodException | IllegalAccessException x) {
+ // snmp runtime doesn't exist - initialization fails
throw new UnsupportedOperationException("Unsupported management property: " + SNMP_PORT,x);
} catch (InvocationTargetException x) {
final Throwable cause = x.getCause();
@@ -230,9 +227,6 @@ public class Agent {
throw (Error) cause;
// should not happen...
throw new UnsupportedOperationException("Unsupported management property: " + SNMP_PORT,cause);
- } catch (IllegalAccessException x) {
- // should not happen...
- throw new UnsupportedOperationException("Unsupported management property: " + SNMP_PORT,x);
}
}
@@ -273,8 +267,8 @@ public class Agent {
} catch (IOException e) {
error(CONFIG_FILE_CLOSE_FAILED, fname);
}
- }
- }
+ }
+ }
}
public static void startAgent() throws Exception {
@@ -309,7 +303,7 @@ public class Agent {
// invoke the premain(String args) method
Class<?> clz = ClassLoader.getSystemClassLoader().loadClass(cname);
Method premain = clz.getMethod("premain",
- new Class[] { String.class });
+ new Class<?>[] { String.class });
premain.invoke(null, /* static */
new Object[] { args });
} catch (ClassNotFoundException ex) {
diff --git a/jdk/src/share/classes/sun/management/ConnectorAddressLink.java b/jdk/src/share/classes/sun/management/ConnectorAddressLink.java
index 82241e7..343ec45 100644
--- a/jdk/src/share/classes/sun/management/ConnectorAddressLink.java
+++ b/jdk/src/share/classes/sun/management/ConnectorAddressLink.java
@@ -117,11 +117,11 @@ public class ConnectorAddressLink {
} catch (IllegalArgumentException iae) {
throw new IOException(iae.getMessage());
}
- List counters =
+ List<Counter> counters =
new PerfInstrumentation(bb).findByPattern(CONNECTOR_ADDRESS_COUNTER);
- Iterator i = counters.iterator();
+ Iterator<Counter> i = counters.iterator();
if (i.hasNext()) {
- Counter c = (Counter) i.next();
+ Counter c = i.next();
return (String) c.getValue();
} else {
return null;
@@ -167,13 +167,13 @@ public class ConnectorAddressLink {
} catch (IllegalArgumentException iae) {
throw new IOException(iae.getMessage());
}
- List counters = new PerfInstrumentation(bb).getAllCounters();
- Map<String, String> properties = new HashMap<String, String>();
- for (Object c : counters) {
- String name = ((Counter) c).getName();
+ List<Counter> counters = new PerfInstrumentation(bb).getAllCounters();
+ Map<String, String> properties = new HashMap<>();
+ for (Counter c : counters) {
+ String name = c.getName();
if (name.startsWith(REMOTE_CONNECTOR_COUNTER_PREFIX) &&
!name.equals(CONNECTOR_ADDRESS_COUNTER)) {
- properties.put(name, ((Counter) c).getValue().toString());
+ properties.put(name, c.getValue().toString());
}
}
return properties;
diff --git a/jdk/src/share/classes/sun/management/Flag.java b/jdk/src/share/classes/sun/management/Flag.java
index f9109b8..05f5c55 100644
--- a/jdk/src/share/classes/sun/management/Flag.java
+++ b/jdk/src/share/classes/sun/management/Flag.java
@@ -91,7 +91,7 @@ class Flag {
Flag[] flags = new Flag[numFlags];
int count = getFlags(names, flags, numFlags);
- List<Flag> result = new ArrayList<Flag>();
+ List<Flag> result = new ArrayList<>();
for (Flag f : flags) {
if (f != null) {
result.add(f);
diff --git a/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java b/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java
index 3284b09..f245c5a 100644
--- a/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java
+++ b/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java
@@ -69,11 +69,7 @@ public class GarbageCollectionNotifInfoCompositeData extends LazyCompositeData {
Field f = cl.getDeclaredField("builder");
f.setAccessible(true);
return (GcInfoBuilder)f.get(gcNotifInfo.getGcInfo());
- } catch(ClassNotFoundException e) {
- return null;
- } catch(NoSuchFieldException e) {
- return null;
- } catch(IllegalAccessException e) {
+ } catch(ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
return null;
}
}
@@ -82,7 +78,7 @@ public class GarbageCollectionNotifInfoCompositeData extends LazyCompositeData {
synchronized(compositeTypeByBuilder) {
gict = compositeTypeByBuilder.get(builder);
if(gict == null) {
- OpenType[] gcNotifInfoItemTypes = new OpenType[] {
+ OpenType<?>[] gcNotifInfoItemTypes = new OpenType<?>[] {
SimpleType.STRING,
SimpleType.STRING,
SimpleType.STRING,
@@ -141,7 +137,7 @@ public class GarbageCollectionNotifInfoCompositeData extends LazyCompositeData {
GC_INFO
};
private static HashMap<GcInfoBuilder,CompositeType> compositeTypeByBuilder =
- new HashMap<GcInfoBuilder,CompositeType>();
+ new HashMap<>();
public static String getGcName(CompositeData cd) {
String gcname = getString(cd, GC_NAME);
@@ -195,7 +191,7 @@ public class GarbageCollectionNotifInfoCompositeData extends LazyCompositeData {
private static synchronized CompositeType getBaseGcNotifInfoCompositeType() {
if (baseGcNotifInfoCompositeType == null) {
try {
- OpenType[] baseGcNotifInfoItemTypes = new OpenType[] {
+ OpenType<?>[] baseGcNotifInfoItemTypes = new OpenType<?>[] {
SimpleType.STRING,
SimpleType.STRING,
SimpleType.STRING,
diff --git a/jdk/src/share/classes/sun/management/GarbageCollectorImpl.java b/jdk/src/share/classes/sun/management/GarbageCollectorImpl.java
index 09c1ffb..fa0d617 100644
--- a/jdk/src/share/classes/sun/management/GarbageCollectorImpl.java
+++ b/jdk/src/share/classes/sun/management/GarbageCollectorImpl.java
@@ -70,14 +70,11 @@ class GarbageCollectorImpl extends MemoryManagerImpl
private String[] poolNames = null;
synchronized String[] getAllPoolNames() {
if (poolNames == null) {
- List pools = ManagementFactory.getMemoryPoolMXBeans();
+ List<MemoryPoolMXBean> pools = ManagementFactory.getMemoryPoolMXBeans();
poolNames = new String[pools.size()];
int i = 0;
- for (ListIterator iter = pools.listIterator();
- iter.hasNext();
- i++) {
- MemoryPoolMXBean p = (MemoryPoolMXBean) iter.next();
- poolNames[i] = p.getName();
+ for (MemoryPoolMXBean m : pools) {
+ poolNames[i++] = m.getName();
}
}
return poolNames;
diff --git a/jdk/src/share/classes/sun/management/GcInfoBuilder.java b/jdk/src/share/classes/sun/management/GcInfoBuilder.java
index 04ac6df..1c3f53d 100644
--- a/jdk/src/share/classes/sun/management/GcInfoBuilder.java
+++ b/jdk/src/share/classes/sun/management/GcInfoBuilder.java
@@ -104,7 +104,7 @@ public class GcInfoBuilder {
int itemCount = numGcInfoItems + gcExtItemCount;
allItemNames = new String[itemCount];
String[] allItemDescs = new String[itemCount];
- OpenType[] allItemTypes = new OpenType[itemCount];
+ OpenType<?>[] allItemTypes = new OpenType<?>[itemCount];
System.arraycopy(gcInfoItemNames, 0, allItemNames, 0, numGcInfoItems);
System.arraycopy(gcInfoItemNames, 0, allItemDescs, 0, numGcInfoItems);
diff --git a/jdk/src/share/classes/sun/management/GcInfoCompositeData.java b/jdk/src/share/classes/sun/management/GcInfoCompositeData.java
index fb423e1..b3050a1 100644
--- a/jdk/src/share/classes/sun/management/GcInfoCompositeData.java
+++ b/jdk/src/share/classes/sun/management/GcInfoCompositeData.java
@@ -76,11 +76,7 @@ public class GcInfoCompositeData extends LazyCompositeData {
Field f = cl.getDeclaredField("builder");
f.setAccessible(true);
return (GcInfoBuilder)f.get(info);
- } catch(ClassNotFoundException e) {
- return null;
- } catch(NoSuchFieldException e) {
- return null;
- } catch(IllegalAccessException e) {
+ } catch(ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
return null;
}
}
@@ -92,11 +88,7 @@ public class GcInfoCompositeData extends LazyCompositeData {
Field f = cl.getDeclaredField("extAttributes");
f.setAccessible(true);
return (Object[])f.get(info);
- } catch(ClassNotFoundException e) {
- return null;
- } catch(NoSuchFieldException e) {
- return null;
- } catch(IllegalAccessException e) {
+ } catch(ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
return null;
}
}
@@ -180,10 +172,7 @@ public class GcInfoCompositeData extends LazyCompositeData {
Method m = GcInfo.class.getMethod("getMemoryUsageBeforeGc");
memoryUsageMapType =
MappedMXBeanType.getMappedType(m.getGenericReturnType());
- } catch (NoSuchMethodException e) {
- // Should never reach here
- throw new AssertionError(e);
- } catch (OpenDataException e) {
+ } catch (NoSuchMethodException | OpenDataException e) {
// Should never reach here
throw new AssertionError(e);
}
@@ -197,7 +186,7 @@ public class GcInfoCompositeData extends LazyCompositeData {
static synchronized OpenType[] getBaseGcInfoItemTypes() {
if (baseGcInfoItemTypes == null) {
OpenType<?> memoryUsageOpenType = memoryUsageMapType.getOpenType();
- baseGcInfoItemTypes = new OpenType[] {
+ baseGcInfoItemTypes = new OpenType<?>[] {
SimpleType.LONG,
SimpleType.LONG,
SimpleType.LONG,
@@ -225,10 +214,7 @@ public class GcInfoCompositeData extends LazyCompositeData {
try {
TabularData td = (TabularData) cd.get(MEMORY_USAGE_BEFORE_GC);
return cast(memoryUsageMapType.toJavaTypeData(td));
- } catch (InvalidObjectException e) {
- // Should never reach here
- throw new AssertionError(e);
- } catch (OpenDataException e) {
+ } catch (InvalidObjectException | OpenDataException e) {
// Should never reach here
throw new AssertionError(e);
}
@@ -244,10 +230,7 @@ public class GcInfoCompositeData extends LazyCompositeData {
TabularData td = (TabularData) cd.get(MEMORY_USAGE_AFTER_GC);
//return (Map<String,MemoryUsage>)
return cast(memoryUsageMapType.toJavaTypeData(td));
- } catch (InvalidObjectException e) {
- // Should never reach here
- throw new AssertionError(e);
- } catch (OpenDataException e) {
+ } catch (InvalidObjectException | OpenDataException e) {
// Should never reach here
throw new AssertionError(e);
}
diff --git a/jdk/src/share/classes/sun/management/HotSpotDiagnostic.java b/jdk/src/share/classes/sun/management/HotSpotDiagnostic.java
index 5848496..f48d098 100644
--- a/jdk/src/share/classes/sun/management/HotSpotDiagnostic.java
+++ b/jdk/src/share/classes/sun/management/HotSpotDiagnostic.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, 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
@@ -27,9 +27,13 @@ package sun.management;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import javax.management.ObjectName;
+import com.sun.management.DiagnosticCommandInfo;
+import com.sun.management.DiagnosticCommandArgumentInfo;
import com.sun.management.HotSpotDiagnosticMXBean;
import com.sun.management.VMOption;
@@ -44,7 +48,7 @@ public class HotSpotDiagnostic implements HotSpotDiagnosticMXBean {
public List<VMOption> getDiagnosticOptions() {
List<Flag> allFlags = Flag.getAllFlags();
- List<VMOption> result = new ArrayList<VMOption>();
+ List<VMOption> result = new ArrayList<>();
for (Flag flag : allFlags) {
if (flag.isWriteable() && flag.isExternal()) {
result.add(flag.getVMOption());
@@ -116,7 +120,54 @@ public class HotSpotDiagnostic implements HotSpotDiagnosticMXBean {
}
}
+ public List<String> getDiagnosticCommands() {
+ String[] commands = getDiagnosticCommands0();
+ return commands == null ? Collections.<String>emptyList() :
+ Arrays.asList(commands);
+ }
+
+ public DiagnosticCommandInfo getDiagnosticCommandInfo(String command) {
+ String[] array = new String[] { command };
+ return getDiagnosticCommandInfo0(array)[0];
+ }
+
+ public List<DiagnosticCommandInfo> getDiagnosticCommandInfo() {
+ String[] commands = getDiagnosticCommands0();
+ return Arrays.asList(getDiagnosticCommandInfo0(commands));
+ }
+
+ public List<DiagnosticCommandInfo> getDiagnosticCommandInfo(
+ List<String> commands) {
+ return Arrays.asList(getDiagnosticCommandInfo0(
+ commands.toArray(new String[commands.size()])));
+ }
+
+ public String execute(String command) {
+ Util.checkControlAccess();
+ return executeDiagnosticCommand0(command);
+ }
+
+ public String execute(String cmd, String... arguments) {
+ if(cmd == null) {
+ throw new NullPointerException("Missing command name");
+ }
+ StringBuilder sb = new StringBuilder();
+ sb.append(cmd);
+ sb.append(" ");
+ for(String arg : arguments) {
+ sb.append(arg);
+ sb.append(" ");
+ }
+ return execute(sb.toString());
+ }
+
public ObjectName getObjectName() {
return Util.newObjectName("com.sun.management:type=HotSpotDiagnostic");
}
+
+ private native String[] getDiagnosticCommands0();
+ private native DiagnosticCommandInfo[] getDiagnosticCommandInfo0(
+ String[] commands) throws IllegalArgumentException;
+ private native String executeDiagnosticCommand0(String command)
+ throws IllegalArgumentException;
}
diff --git a/jdk/src/share/classes/sun/management/HotspotCompilation.java b/jdk/src/share/classes/sun/management/HotspotCompilation.java
index 7e9ee0c..0c97c89 100644
--- a/jdk/src/share/classes/sun/management/HotspotCompilation.java
+++ b/jdk/src/share/classes/sun/management/HotspotCompilation.java
@@ -120,13 +120,13 @@ class HotspotCompilation
// current implementation. We first look up in the SUN_CI namespace
// since most counters are in SUN_CI namespace.
- if ((c = (Counter) counters.get(SUN_CI + name)) != null) {
+ if ((c = counters.get(SUN_CI + name)) != null) {
return c;
}
- if ((c = (Counter) counters.get(COM_SUN_CI + name)) != null) {
+ if ((c = counters.get(COM_SUN_CI + name)) != null) {
return c;
}
- if ((c = (Counter) counters.get(JAVA_CI + name)) != null) {
+ if ((c = counters.get(JAVA_CI + name)) != null) {
return c;
}
@@ -136,10 +136,8 @@ class HotspotCompilation
private void initCompilerCounters() {
// Build a tree map of the current list of performance counters
- ListIterator iter = getInternalCompilerCounters().listIterator();
- counters = new TreeMap<String, Counter>();
- while (iter.hasNext()) {
- Counter c = (Counter) iter.next();
+ counters = new TreeMap<>();
+ for (Counter c: getInternalCompilerCounters()) {
counters.put(c.getName(), c);
}
@@ -200,7 +198,7 @@ class HotspotCompilation
}
public java.util.List<CompilerThreadStat> getCompilerThreadStats() {
- List<CompilerThreadStat> list = new ArrayList<CompilerThreadStat>(threads.length);
+ List<CompilerThreadStat> list = new ArrayList<>(threads.length);
int i = 0;
if (threads[0] == null) {
// no adaptor thread
diff --git a/jdk/src/share/classes/sun/management/HotspotThread.java b/jdk/src/share/classes/sun/management/HotspotThread.java
index 62329d2..b9003c2 100644
--- a/jdk/src/share/classes/sun/management/HotspotThread.java
+++ b/jdk/src/share/classes/sun/management/HotspotThread.java
@@ -58,7 +58,7 @@ class HotspotThread
String[] names = new String[count];
long[] times = new long[count];
int numThreads = getInternalThreadTimes0(names, times);
- Map<String, Long> result = new HashMap<String, Long>(numThreads);
+ Map<String, Long> result = new HashMap<>(numThreads);
for (int i = 0; i < numThreads; i++) {
result.put(names[i], new Long(times[i]));
}
diff --git a/jdk/src/share/classes/sun/management/LazyCompositeData.java b/jdk/src/share/classes/sun/management/LazyCompositeData.java
index 6bae9b9..c11c9fa 100644
--- a/jdk/src/share/classes/sun/management/LazyCompositeData.java
+++ b/jdk/src/share/classes/sun/management/LazyCompositeData.java
@@ -81,7 +81,7 @@ public abstract class LazyCompositeData
return compositeData().toString();
}
- public Collection values() {
+ public Collection<?> values() {
return compositeData().values();
}
@@ -153,16 +153,15 @@ public abstract class LazyCompositeData
// We can't use CompositeType.isValue() since it returns false
// if the type name doesn't match.
- Set allItems = type1.keySet();
+ Set<String> allItems = type1.keySet();
// Check all items in the type1 exist in type2
if (!type2.keySet().containsAll(allItems))
return false;
- for (Iterator iter = allItems.iterator(); iter.hasNext(); ) {
- String item = (String) iter.next();
- OpenType ot1 = type1.getType(item);
- OpenType ot2 = type2.getType(item);
+ for (String item: allItems) {
+ OpenType<?> ot1 = type1.getType(item);
+ OpenType<?> ot2 = type2.getType(item);
if (ot1 instanceof CompositeType) {
if (! (ot2 instanceof CompositeType))
return false;
@@ -183,8 +182,8 @@ public abstract class LazyCompositeData
protected static boolean isTypeMatched(TabularType type1, TabularType type2) {
if (type1 == type2) return true;
- List list1 = type1.getIndexNames();
- List list2 = type2.getIndexNames();
+ List<String> list1 = type1.getIndexNames();
+ List<String> list2 = type2.getIndexNames();
// check if the list of index names are the same
if (!list1.equals(list2))
diff --git a/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java b/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java
index d290106..025b7a2 100644
--- a/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java
+++ b/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java
@@ -110,7 +110,7 @@ public class ManagementFactoryHelper {
public static List<MemoryPoolMXBean> getMemoryPoolMXBeans() {
MemoryPoolMXBean[] pools = MemoryImpl.getMemoryPools();
- List<MemoryPoolMXBean> list = new ArrayList<MemoryPoolMXBean>(pools.length);
+ List<MemoryPoolMXBean> list = new ArrayList<>(pools.length);
for (MemoryPoolMXBean p : pools) {
list.add(p);
}
@@ -119,7 +119,7 @@ public class ManagementFactoryHelper {
public static List<MemoryManagerMXBean> getMemoryManagerMXBeans() {
MemoryManagerMXBean[] mgrs = MemoryImpl.getMemoryManagers();
- List<MemoryManagerMXBean> result = new ArrayList<MemoryManagerMXBean>(mgrs.length);
+ List<MemoryManagerMXBean> result = new ArrayList<>(mgrs.length);
for (MemoryManagerMXBean m : mgrs) {
result.add(m);
}
@@ -128,7 +128,7 @@ public class ManagementFactoryHelper {
public static List<GarbageCollectorMXBean> getGarbageCollectorMXBeans() {
MemoryManagerMXBean[] mgrs = MemoryImpl.getMemoryManagers();
- List<GarbageCollectorMXBean> result = new ArrayList<GarbageCollectorMXBean>(mgrs.length);
+ List<GarbageCollectorMXBean> result = new ArrayList<>(mgrs.length);
for (MemoryManagerMXBean m : mgrs) {
if (GarbageCollectorMXBean.class.isInstance(m)) {
result.add(GarbageCollectorMXBean.class.cast(m));
diff --git a/jdk/src/share/classes/sun/management/MappedMXBeanType.java b/jdk/src/share/classes/sun/management/MappedMXBeanType.java
index 0efe335..db90899 100644
--- a/jdk/src/share/classes/sun/management/MappedMXBeanType.java
+++ b/jdk/src/share/classes/sun/management/MappedMXBeanType.java
@@ -62,18 +62,18 @@ import com.sun.management.VMOption;
@SuppressWarnings("unchecked")
public abstract class MappedMXBeanType {
private static final WeakHashMap<Type,MappedMXBeanType> convertedTypes =
- new WeakHashMap<Type,MappedMXBeanType>();
+ new WeakHashMap<>();
boolean isBasicType = false;
- OpenType openType = inProgress;
- Class mappedTypeClass;
+ OpenType<?> openType = inProgress;
+ Class<?> mappedTypeClass;
static synchronized MappedMXBeanType newMappedType(Type javaType)
throws OpenDataException {
MappedMXBeanType mt = null;
if (javaType instanceof Class) {
- final Class c = (Class) javaType;
+ final Class<?> c = (Class<?>) javaType;
if (c.isEnum()) {
mt = new EnumMXBeanType(c);
} else if (c.isArray()) {
@@ -85,7 +85,7 @@ public abstract class MappedMXBeanType {
final ParameterizedType pt = (ParameterizedType) javaType;
final Type rawType = pt.getRawType();
if (rawType instanceof Class) {
- final Class rc = (Class) rawType;
+ final Class<?> rc = (Class<?>) rawType;
if (rc == List.class) {
mt = new ListMXBeanType(pt);
} else if (rc == Map.class) {
@@ -106,7 +106,7 @@ public abstract class MappedMXBeanType {
}
// basic types do not require data mapping
- static synchronized MappedMXBeanType newBasicType(Class c, OpenType ot)
+ static synchronized MappedMXBeanType newBasicType(Class<?> c, OpenType<?> ot)
throws OpenDataException {
MappedMXBeanType mt = new BasicMXBeanType(c, ot);
convertedTypes.put(c, mt);
@@ -127,7 +127,7 @@ public abstract class MappedMXBeanType {
}
// Convert a class to an OpenType
- public static synchronized OpenType toOpenType(Type t)
+ public static synchronized OpenType<?> toOpenType(Type t)
throws OpenDataException {
MappedMXBeanType mt = getMappedType(t);
return mt.getOpenType();
@@ -152,7 +152,7 @@ public abstract class MappedMXBeanType {
}
// Return the mapped open type
- OpenType getOpenType() {
+ OpenType<?> getOpenType() {
return openType;
}
@@ -168,7 +168,7 @@ public abstract class MappedMXBeanType {
}
// Return the mapped open type
- Class getMappedTypeClass() {
+ Class<?> getMappedTypeClass() {
return mappedTypeClass;
}
@@ -192,8 +192,8 @@ public abstract class MappedMXBeanType {
// T <-> T (no conversion)
//
static class BasicMXBeanType extends MappedMXBeanType {
- final Class basicType;
- BasicMXBeanType(Class c, OpenType openType) {
+ final Class<?> basicType;
+ BasicMXBeanType(Class<?> c, OpenType<?> openType) {
this.basicType = c;
this.openType = openType;
this.mappedTypeClass = c;
@@ -228,7 +228,7 @@ public abstract class MappedMXBeanType {
//
static class EnumMXBeanType extends MappedMXBeanType {
final Class enumClass;
- EnumMXBeanType(Class c) {
+ EnumMXBeanType(Class<?> c) {
this.enumClass = c;
this.openType = STRING;
this.mappedTypeClass = String.class;
@@ -269,16 +269,16 @@ public abstract class MappedMXBeanType {
// E[] <-> openTypeData(E)[]
//
static class ArrayMXBeanType extends MappedMXBeanType {
- final Class arrayClass;
+ final Class<?> arrayClass;
protected MappedMXBeanType componentType;
protected MappedMXBeanType baseElementType;
- ArrayMXBeanType(Class c) throws OpenDataException {
+ ArrayMXBeanType(Class<?> c) throws OpenDataException {
this.arrayClass = c;
this.componentType = getMappedType(c.getComponentType());
StringBuilder className = new StringBuilder();
- Class et = c;
+ Class<?> et = c;
int dim;
for (dim = 0; et.isArray(); dim++) {
className.append('[');
@@ -299,7 +299,7 @@ public abstract class MappedMXBeanType {
throw ode;
}
- openType = new ArrayType(dim, baseElementType.getOpenType());
+ openType = new ArrayType<>(dim, baseElementType.getOpenType());
}
protected ArrayMXBeanType() {
@@ -395,7 +395,7 @@ public abstract class MappedMXBeanType {
throw ode;
}
- openType = new ArrayType(dim, baseElementType.getOpenType());
+ openType = new ArrayType<>(dim, baseElementType.getOpenType());
}
Type getJavaType() {
@@ -428,7 +428,7 @@ public abstract class MappedMXBeanType {
throw new OpenDataException("Element Type for " + pt +
" not supported");
}
- final Class et = (Class) argTypes[0];
+ final Class<?> et = (Class<?>) argTypes[0];
if (et.isArray()) {
throw new OpenDataException("Element Type for " + pt +
" not supported");
@@ -445,7 +445,7 @@ public abstract class MappedMXBeanType {
ode.initCause(e);
throw ode;
}
- openType = new ArrayType(1, paramType.getOpenType());
+ openType = new ArrayType<>(1, paramType.getOpenType());
}
Type getJavaType() {
@@ -473,7 +473,7 @@ public abstract class MappedMXBeanType {
throws OpenDataException, InvalidObjectException {
final Object[] openArray = (Object[]) data;
- List<Object> result = new ArrayList<Object>(openArray.length);
+ List<Object> result = new ArrayList<>(openArray.length);
for (Object o : openArray) {
result.add(paramType.toJavaTypeData(o));
}
@@ -514,7 +514,7 @@ public abstract class MappedMXBeanType {
// FIXME: generate typeName for generic
typeName = "Map<" + keyType.getName() + "," +
valueType.getName() + ">";
- final OpenType[] mapItemTypes = new OpenType[] {
+ final OpenType<?>[] mapItemTypes = new OpenType<?>[] {
keyType.getOpenType(),
valueType.getOpenType(),
};
@@ -543,7 +543,7 @@ public abstract class MappedMXBeanType {
final TabularData table = new TabularDataSupport(tabularType);
final CompositeType rowType = tabularType.getRowType();
- for (Map.Entry entry : map.entrySet()) {
+ for (Map.Entry<Object, Object> entry : map.entrySet()) {
final Object key = keyType.toOpenTypeData(entry.getKey());
final Object value = valueType.toOpenTypeData(entry.getValue());
final CompositeData row =
@@ -560,7 +560,7 @@ public abstract class MappedMXBeanType {
final TabularData td = (TabularData) data;
- Map<Object, Object> result = new HashMap<Object, Object>();
+ Map<Object, Object> result = new HashMap<>();
for (CompositeData row : (Collection<CompositeData>) td.values()) {
Object key = keyType.toJavaTypeData(row.get(KEY));
Object value = valueType.toJavaTypeData(row.get(VALUE));
@@ -607,7 +607,7 @@ public abstract class MappedMXBeanType {
final boolean isCompositeData;
Method fromMethod = null;
- CompositeDataMXBeanType(Class c) throws OpenDataException {
+ CompositeDataMXBeanType(Class<?> c) throws OpenDataException {
this.javaClass = c;
this.mappedTypeClass = COMPOSITE_DATA_CLASS;
@@ -639,8 +639,8 @@ public abstract class MappedMXBeanType {
return javaClass.getMethods();
}
});
- final List<String> names = new ArrayList<String>();
- final List<OpenType> types = new ArrayList<OpenType>();
+ final List<String> names = new ArrayList<>();
+ final List<OpenType<?>> types = new ArrayList<>();
/* Select public methods that look like "T getX()" or "boolean
isX()", where T is not void and X is not the empty
@@ -678,7 +678,7 @@ public abstract class MappedMXBeanType {
c.getName(),
nameArray, // field names
nameArray, // field descriptions
- types.toArray(new OpenType[0]));
+ types.toArray(new OpenType<?>[0]));
}
}
@@ -722,7 +722,7 @@ public abstract class MappedMXBeanType {
// so that no other classes are sent over the wire
CompositeData cd = (CompositeData) data;
CompositeType ct = cd.getCompositeType();
- String[] itemNames = (String[]) ct.keySet().toArray(new String[0]);
+ String[] itemNames = ct.keySet().toArray(new String[0]);
Object[] itemValues = cd.getAll(itemNames);
return new CompositeDataSupport(ct, itemNames, itemValues);
}
@@ -779,9 +779,9 @@ public abstract class MappedMXBeanType {
}
private static final long serialVersionUID = -3413063475064374490L;
}
- private static final OpenType inProgress;
+ private static final OpenType<?> inProgress;
static {
- OpenType t;
+ OpenType<?> t;
try {
t = new InProgress();
} catch (OpenDataException e) {
@@ -799,8 +799,8 @@ public abstract class MappedMXBeanType {
static {
try {
for (int i = 0; i < simpleTypes.length; i++) {
- final OpenType t = simpleTypes[i];
- Class c;
+ final OpenType<?> t = simpleTypes[i];
+ Class<?> c;
try {
c = Class.forName(t.getClassName(), false,
String.class.getClassLoader());
@@ -816,7 +816,7 @@ public abstract class MappedMXBeanType {
if (c.getName().startsWith("java.lang.")) {
try {
final Field typeField = c.getField("TYPE");
- final Class primitiveType = (Class) typeField.get(null);
+ final Class<?> primitiveType = (Class<?>) typeField.get(null);
MappedMXBeanType.newBasicType(primitiveType, t);
} catch (NoSuchFieldException e) {
// OK: must not be a primitive wrapper
diff --git a/jdk/src/share/classes/sun/management/MonitorInfoCompositeData.java b/jdk/src/share/classes/sun/management/MonitorInfoCompositeData.java
index 58bea9d..92b1ccc 100644
--- a/jdk/src/share/classes/sun/management/MonitorInfoCompositeData.java
+++ b/jdk/src/share/classes/sun/management/MonitorInfoCompositeData.java
@@ -92,7 +92,7 @@ public class MonitorInfoCompositeData extends LazyCompositeData {
monitorInfoCompositeType = (CompositeType)
MappedMXBeanType.toOpenType(MonitorInfo.class);
Set<String> s = monitorInfoCompositeType.keySet();
- monitorInfoItemNames = (String[]) s.toArray(new String[0]);
+ monitorInfoItemNames = s.toArray(new String[0]);
} catch (OpenDataException e) {
// Should never reach here
throw new AssertionError(e);
diff --git a/jdk/src/share/classes/sun/management/NotificationEmitterSupport.java b/jdk/src/share/classes/sun/management/NotificationEmitterSupport.java
index 436211d..580643b 100644
--- a/jdk/src/share/classes/sun/management/NotificationEmitterSupport.java
+++ b/jdk/src/share/classes/sun/management/NotificationEmitterSupport.java
@@ -71,7 +71,7 @@ abstract class NotificationEmitterSupport implements NotificationEmitter {
efficient solution would be to clone the listener list
every time a notification is sent. */
synchronized (listenerLock) {
- List<ListenerInfo> newList = new ArrayList<ListenerInfo>(listenerList.size() + 1);
+ List<ListenerInfo> newList = new ArrayList<>(listenerList.size() + 1);
newList.addAll(listenerList);
newList.add(new ListenerInfo(listener, filter, handback));
listenerList = newList;
@@ -82,12 +82,12 @@ abstract class NotificationEmitterSupport implements NotificationEmitter {
throws ListenerNotFoundException {
synchronized (listenerLock) {
- List<ListenerInfo> newList = new ArrayList<ListenerInfo>(listenerList);
+ List<ListenerInfo> newList = new ArrayList<>(listenerList);
/* We scan the list of listeners in reverse order because
in forward order we would have to repeat the loop with
the same index after a remove. */
for (int i=newList.size()-1; i>=0; i--) {
- ListenerInfo li = (ListenerInfo)newList.get(i);
+ ListenerInfo li = newList.get(i);
if (li.listener == listener)
newList.remove(i);
@@ -106,10 +106,10 @@ abstract class NotificationEmitterSupport implements NotificationEmitter {
boolean found = false;
synchronized (listenerLock) {
- List<ListenerInfo> newList = new ArrayList<ListenerInfo>(listenerList);
+ List<ListenerInfo> newList = new ArrayList<>(listenerList);
final int size = newList.size();
for (int i = 0; i < size; i++) {
- ListenerInfo li = (ListenerInfo) newList.get(i);
+ ListenerInfo li = newList.get(i);
if (li.listener == listener) {
found = true;
@@ -148,7 +148,7 @@ abstract class NotificationEmitterSupport implements NotificationEmitter {
final int size = currentList.size();
for (int i = 0; i < size; i++) {
- ListenerInfo li = (ListenerInfo) currentList.get(i);
+ ListenerInfo li = currentList.get(i);
if (li.filter == null
|| li.filter.isNotificationEnabled(notification)) {
diff --git a/jdk/src/share/classes/sun/management/RuntimeImpl.java b/jdk/src/share/classes/sun/management/RuntimeImpl.java
index 53f33ee..9f52969 100644
--- a/jdk/src/share/classes/sun/management/RuntimeImpl.java
+++ b/jdk/src/share/classes/sun/management/RuntimeImpl.java
@@ -128,7 +128,7 @@ class RuntimeImpl implements RuntimeMXBean {
public Map<String,String> getSystemProperties() {
Properties sysProps = System.getProperties();
- Map<String,String> map = new HashMap<String, String>();
+ Map<String,String> map = new HashMap<>();
// Properties.entrySet() does not include the entries in
// the default properties. So use Properties.stringPropertyNames()
diff --git a/jdk/src/share/classes/sun/management/ThreadInfoCompositeData.java b/jdk/src/share/classes/sun/management/ThreadInfoCompositeData.java
index 4c483d3..7a911e4 100644
--- a/jdk/src/share/classes/sun/management/ThreadInfoCompositeData.java
+++ b/jdk/src/share/classes/sun/management/ThreadInfoCompositeData.java
@@ -190,7 +190,7 @@ public class ThreadInfoCompositeData extends LazyCompositeData {
threadInfoV6Attributes.length;
String[] v5ItemNames = new String[numV5Attributes];
String[] v5ItemDescs = new String[numV5Attributes];
- OpenType[] v5ItemTypes = new OpenType[numV5Attributes];
+ OpenType<?>[] v5ItemTypes = new OpenType<?>[numV5Attributes];
int i = 0;
for (String n : itemNames) {
if (isV5Attribute(n)) {
diff --git a/jdk/src/share/classes/sun/management/counter/perf/PerfInstrumentation.java b/jdk/src/share/classes/sun/management/counter/perf/PerfInstrumentation.java
index 1541744..2d0cb5b 100644
--- a/jdk/src/share/classes/sun/management/counter/perf/PerfInstrumentation.java
+++ b/jdk/src/share/classes/sun/management/counter/perf/PerfInstrumentation.java
@@ -73,7 +73,7 @@ public class PerfInstrumentation {
buffer.position(prologue.getEntryOffset());
nextEntry = buffer.position();
// rebuild all the counters
- map = new TreeMap<String, Counter>();
+ map = new TreeMap<>();
}
boolean hasNext() {
@@ -154,7 +154,7 @@ public class PerfInstrumentation {
map.put(c.getName(), c);
}
}
- return new ArrayList<Counter>(map.values());
+ return new ArrayList<>(map.values());
}
public synchronized List<Counter> findByPattern(String patternString) {
@@ -167,19 +167,18 @@ public class PerfInstrumentation {
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher("");
- List<Counter> matches = new ArrayList<Counter>();
+ List<Counter> matches = new ArrayList<>();
- Iterator iter = map.entrySet().iterator();
- while (iter.hasNext()) {
- Map.Entry me = (Map.Entry) iter.next();
- String name = (String) me.getKey();
+
+ for (Map.Entry<String,Counter> me: map.entrySet()) {
+ String name = me.getKey();
// apply pattern to counter name
matcher.reset(name);
// if the pattern matches, then add Counter to list
if (matcher.lookingAt()) {
- matches.add((Counter)me.getValue());
+ matches.add(me.getValue());
}
}
return matches;
diff --git a/jdk/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java b/jdk/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java
index 3e48089..7101805 100644
--- a/jdk/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java
+++ b/jdk/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java
@@ -233,17 +233,16 @@ public final class ConnectorBootstrap {
"the access file [" + accessFile + "] as the " +
"authenticated Subject is null");
}
- final Set principals = subject.getPrincipals();
- for (Iterator i = principals.iterator(); i.hasNext();) {
- final Principal p = (Principal) i.next();
- if (properties.containsKey(p.getName())) {
+ final Set<Principal> principals = subject.getPrincipals();
+ for (Principal p1: principals) {
+ if (properties.containsKey(p1.getName())) {
return;
}
}
- final Set<String> principalsStr = new HashSet<String>();
- for (Iterator i = principals.iterator(); i.hasNext();) {
- final Principal p = (Principal) i.next();
- principalsStr.add(p.getName());
+
+ final Set<String> principalsStr = new HashSet<>();
+ for (Principal p2: principals) {
+ principalsStr.add(p2.getName());
}
throw new SecurityException(
"Access denied! No entries found in the access file [" +
@@ -257,9 +256,9 @@ public final class ConnectorBootstrap {
if (fname == null) {
return p;
}
- FileInputStream fin = new FileInputStream(fname);
- p.load(fin);
- fin.close();
+ try (FileInputStream fin = new FileInputStream(fname)) {
+ p.load(fin);
+ }
return p;
}
private final Map<String, Object> environment;
@@ -432,7 +431,7 @@ public final class ConnectorBootstrap {
try {
// Export remote connector address and associated configuration
// properties to the instrumentation buffer.
- Map<String, String> properties = new HashMap<String, String>();
+ Map<String, String> properties = new HashMap<>();
properties.put("remoteAddress", url.toString());
properties.put("authenticate", useAuthenticationStr);
properties.put("ssl", useSslStr);
@@ -458,7 +457,7 @@ public final class ConnectorBootstrap {
System.setProperty("java.rmi.server.randomIDs", "true");
// This RMI server should not keep the VM alive
- Map<String, Object> env = new HashMap<String, Object>();
+ Map<String, Object> env = new HashMap<>();
env.put(RMIExporter.EXPORTER_ATTRIBUTE, new PermanentExporter());
// The local connector server need only be available via the
@@ -601,12 +600,9 @@ public final class ConnectorBootstrap {
try {
// Load the SSL keystore properties from the config file
Properties p = new Properties();
- InputStream in = new FileInputStream(sslConfigFileName);
- try {
+ try (InputStream in = new FileInputStream(sslConfigFileName)) {
BufferedInputStream bin = new BufferedInputStream(in);
p.load(bin);
- } finally {
- in.close();
}
String keyStore =
p.getProperty("javax.net.ssl.keyStore");
@@ -630,11 +626,8 @@ public final class ConnectorBootstrap {
KeyStore ks = null;
if (keyStore != null) {
ks = KeyStore.getInstance(KeyStore.getDefaultType());
- FileInputStream ksfis = new FileInputStream(keyStore);
- try {
+ try (FileInputStream ksfis = new FileInputStream(keyStore)) {
ks.load(ksfis, keyStorePasswd);
- } finally {
- ksfis.close();
}
}
KeyManagerFactory kmf = KeyManagerFactory.getInstance(
@@ -644,16 +637,13 @@ public final class ConnectorBootstrap {
KeyStore ts = null;
if (trustStore != null) {
ts = KeyStore.getInstance(KeyStore.getDefaultType());
- FileInputStream tsfis = new FileInputStream(trustStore);
- try {
+ try (FileInputStream tsfis = new FileInputStream(trustStore)) {
ts.load(tsfis, trustStorePasswd);
- } finally {
- tsfis.close();
}
}
TrustManagerFactory tmf = TrustManagerFactory.getInstance(
TrustManagerFactory.getDefaultAlgorithm());
- tmf.init((KeyStore) ts);
+ tmf.init(ts);
SSLContext ctx = SSLContext.getInstance("SSL");
ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
@@ -691,7 +681,7 @@ public final class ConnectorBootstrap {
JMXServiceURL url = new JMXServiceURL("rmi", null, 0);
- Map<String, Object> env = new HashMap<String, Object>();
+ Map<String, Object> env = new HashMap<>();
PermanentExporter exporter = new PermanentExporter();
diff --git a/jdk/src/share/classes/sun/management/snmp/AdaptorBootstrap.java b/jdk/src/share/classes/sun/management/snmp/AdaptorBootstrap.java
index 27d28fc..fdc66ce 100644
--- a/jdk/src/share/classes/sun/management/snmp/AdaptorBootstrap.java
+++ b/jdk/src/share/classes/sun/management/snmp/AdaptorBootstrap.java
@@ -118,21 +118,22 @@ public final class AdaptorBootstrap {
/**
* Retrieve the Trap Target List from the ACL file.
**/
+ @SuppressWarnings("unchecked")
private static List<NotificationTarget> getTargetList(InetAddressAcl acl,
int defaultTrapPort) {
final ArrayList<NotificationTarget> result =
- new ArrayList<NotificationTarget>();
+ new ArrayList<>();
if (acl != null) {
if (log.isDebugOn())
log.debug("getTargetList",Agent.getText("jmxremote.AdaptorBootstrap.getTargetList.processing"));
- final Enumeration td=acl.getTrapDestinations();
+ final Enumeration td = acl.getTrapDestinations();
for (; td.hasMoreElements() ;) {
final InetAddress targetAddr = (InetAddress)td.nextElement();
final Enumeration tc =
acl.getTrapCommunities(targetAddr);
for (;tc.hasMoreElements() ;) {
- final String community = (String) tc.nextElement();
+ final String community = (String)tc.nextElement();
final NotificationTarget target =
new NotificationTargetImpl(targetAddr,
defaultTrapPort,
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JVM_MANAGEMENT_MIB_IMPL.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JVM_MANAGEMENT_MIB_IMPL.java
index 65b7b1b..a692889 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JVM_MANAGEMENT_MIB_IMPL.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JVM_MANAGEMENT_MIB_IMPL.java
@@ -90,14 +90,14 @@ public class JVM_MANAGEMENT_MIB_IMPL extends JVM_MANAGEMENT_MIB {
SnmpOidTable table = null;
if(tableRef == null) {
table = new JVM_MANAGEMENT_MIBOidTable();
- tableRef = new WeakReference<SnmpOidTable>(table);
+ tableRef = new WeakReference<>(table);
return table;
}
table = tableRef.get();
if(table == null) {
table = new JVM_MANAGEMENT_MIBOidTable();
- tableRef = new WeakReference<SnmpOidTable>(table);
+ tableRef = new WeakReference<>(table);
}
return table;
@@ -198,7 +198,7 @@ public class JVM_MANAGEMENT_MIB_IMPL extends JVM_MANAGEMENT_MIB {
* List of notification targets.
*/
private ArrayList<NotificationTarget> notificationTargets =
- new ArrayList<NotificationTarget>();
+ new ArrayList<>();
private final NotificationEmitter emitter;
private final NotificationHandler handler;
@@ -215,7 +215,7 @@ public class JVM_MANAGEMENT_MIB_IMPL extends JVM_MANAGEMENT_MIB {
}
private synchronized void sendTrap(SnmpOid trap, SnmpVarBindList list) {
- final Iterator iterator = notificationTargets.iterator();
+ final Iterator<NotificationTarget> iterator = notificationTargets.iterator();
final SnmpAdaptorServer adaptor =
(SnmpAdaptorServer) getSnmpAdaptor();
@@ -232,7 +232,7 @@ public class JVM_MANAGEMENT_MIB_IMPL extends JVM_MANAGEMENT_MIB {
while(iterator.hasNext()) {
NotificationTarget target = null;
try {
- target = (NotificationTarget) iterator.next();
+ target = iterator.next();
SnmpPeer peer =
new SnmpPeer(target.getAddress(), target.getPort());
SnmpParameters p = new SnmpParameters();
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemGCTableMetaImpl.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemGCTableMetaImpl.java
index 91facb1..c2d1a53 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemGCTableMetaImpl.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemGCTableMetaImpl.java
@@ -58,6 +58,8 @@ import sun.management.snmp.util.JvmContextFactory;
*/
public class JvmMemGCTableMetaImpl extends JvmMemGCTableMeta {
+ static final long serialVersionUID = 8250461197108867607L;
+
/**
* This class acts as a filter over the SnmpTableHandler
* used for the JvmMemoryManagerTable. It filters out
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemManagerTableMetaImpl.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemManagerTableMetaImpl.java
index 51bd51c..73cccfa 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemManagerTableMetaImpl.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemManagerTableMetaImpl.java
@@ -61,12 +61,17 @@ import sun.management.snmp.util.JvmContextFactory;
*/
public class JvmMemManagerTableMetaImpl extends JvmMemManagerTableMeta {
+ static final long serialVersionUID = 36176771566817592L;
+
/**
* A concrete implementation of {@link SnmpNamedListTableCache}, for the
* jvmMemManagerTable.
**/
private static class JvmMemManagerTableCache
extends SnmpNamedListTableCache {
+
+ static final long serialVersionUID = 6564294074653009240L;
+
/**
* Create a weak cache for the jvmMemManagerTable.
* @param validity validity of the cached data, in ms.
@@ -87,7 +92,7 @@ public class JvmMemManagerTableMetaImpl extends JvmMemManagerTableMeta {
* <code>MemoryManagerMXBean</code> in the list.
* @return <code>((MemoryManagerMXBean)item).getName()</code>
**/
- protected String getKey(Object context, List rawDatas,
+ protected String getKey(Object context, List<?> rawDatas,
int rank, Object item) {
if (item == null) return null;
final String name = ((MemoryManagerMXBean)item).getName();
@@ -99,7 +104,7 @@ public class JvmMemManagerTableMetaImpl extends JvmMemManagerTableMeta {
* Call <code>getTableHandler(JvmContextFactory.getUserData())</code>.
**/
public SnmpTableHandler getTableHandler() {
- final Map userData = JvmContextFactory.getUserData();
+ final Map<Object, Object> userData = JvmContextFactory.getUserData();
return getTableDatas(userData);
}
@@ -114,7 +119,7 @@ public class JvmMemManagerTableMetaImpl extends JvmMemManagerTableMeta {
* Call ManagementFactory.getMemoryManagerMXBeans() to
* load the raw data of this table.
**/
- protected List loadRawDatas(Map userData) {
+ protected List<MemoryManagerMXBean> loadRawDatas(Map<Object, Object> userData) {
return ManagementFactory.getMemoryManagerMXBeans();
}
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemMgrPoolRelTableMetaImpl.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemMgrPoolRelTableMetaImpl.java
index 36d9066..703c469 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemMgrPoolRelTableMetaImpl.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemMgrPoolRelTableMetaImpl.java
@@ -64,13 +64,17 @@ import sun.management.snmp.util.JvmContextFactory;
public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta
implements Serializable {
+ static final long serialVersionUID = 1896509775012355443L;
+
/**
* A concrete implementation of {@link SnmpTableCache}, for the
* jvmMemMgrPoolRelTable.
**/
+
private static class JvmMemMgrPoolRelTableCache
extends SnmpTableCache {
+ static final long serialVersionUID = 6059937161990659184L;
final private JvmMemMgrPoolRelTableMetaImpl meta;
/**
@@ -87,7 +91,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta
* Call <code>getTableDatas(JvmContextFactory.getUserData())</code>.
**/
public SnmpTableHandler getTableHandler() {
- final Map userData = JvmContextFactory.getUserData();
+ final Map<Object,Object> userData = JvmContextFactory.getUserData();
return getTableDatas(userData);
}
@@ -101,7 +105,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta
return buildPoolIndexMap((SnmpCachedData)handler);
// not optimizable... too bad.
- final Map<String, SnmpOid> m = new HashMap<String, SnmpOid>();
+ final Map<String, SnmpOid> m = new HashMap<>();
SnmpOid index=null;
while ((index = handler.getNext(index))!=null) {
final MemoryPoolMXBean mpm =
@@ -124,7 +128,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta
final SnmpOid[] indexes = cached.indexes;
final Object[] datas = cached.datas;
final int len = indexes.length;
- final Map<String, SnmpOid> m = new HashMap<String, SnmpOid>(len);
+ final Map<String, SnmpOid> m = new HashMap<>(len);
for (int i=0; i<len; i++) {
final SnmpOid index = indexes[i];
if (index == null) continue;
@@ -165,13 +169,13 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta
final long time = System.currentTimeMillis();
// Build a Map poolname -> index
- final Map poolIndexMap = buildPoolIndexMap(mpHandler);
+ final Map<String,SnmpOid> poolIndexMap = buildPoolIndexMap(mpHandler);
// For each memory manager, get the list of memory pools
// For each memory pool, find its index in the memory pool table
// Create a row in the relation table.
final TreeMap<SnmpOid, Object> table =
- new TreeMap<SnmpOid, Object>(SnmpCachedData.oidComparator);
+ new TreeMap<>(SnmpCachedData.oidComparator);
updateTreeMap(table,userData,mmHandler,mpHandler,poolIndexMap);
return new SnmpCachedData(time,table);
@@ -207,7 +211,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta
protected void updateTreeMap(TreeMap<SnmpOid, Object> table, Object userData,
MemoryManagerMXBean mmm,
SnmpOid mmIndex,
- Map poolIndexMap) {
+ Map<String, SnmpOid> poolIndexMap) {
// The MemoryManager index is an int, so it's the first
// and only subidentifier.
@@ -230,7 +234,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta
for (int i = 0; i < mpList.length; i++) {
final String mpmName = mpList[i];
if (mpmName == null) continue;
- final SnmpOid mpIndex = (SnmpOid)poolIndexMap.get(mpmName);
+ final SnmpOid mpIndex = poolIndexMap.get(mpmName);
if (mpIndex == null) continue;
// The MemoryPool index is an int, so it's the first
@@ -261,7 +265,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta
protected void updateTreeMap(TreeMap<SnmpOid, Object> table, Object userData,
SnmpTableHandler mmHandler,
SnmpTableHandler mpHandler,
- Map poolIndexMap) {
+ Map<String, SnmpOid> poolIndexMap) {
if (mmHandler instanceof SnmpCachedData) {
updateTreeMap(table,userData,(SnmpCachedData)mmHandler,
mpHandler,poolIndexMap);
@@ -280,7 +284,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta
protected void updateTreeMap(TreeMap<SnmpOid, Object> table, Object userData,
SnmpCachedData mmHandler,
SnmpTableHandler mpHandler,
- Map poolIndexMap) {
+ Map<String, SnmpOid> poolIndexMap) {
final SnmpOid[] indexes = mmHandler.indexes;
final Object[] datas = mmHandler.datas;
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemPoolTableMetaImpl.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemPoolTableMetaImpl.java
index 1a3bf60..cb2d686 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemPoolTableMetaImpl.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemPoolTableMetaImpl.java
@@ -61,11 +61,16 @@ import sun.management.snmp.util.JvmContextFactory;
*/
public class JvmMemPoolTableMetaImpl extends JvmMemPoolTableMeta {
+ static final long serialVersionUID = -2525820976094284957L;
+
/**
* A concrete implementation of {@link SnmpNamedListTableCache}, for the
* jvmMemPoolTable.
**/
private static class JvmMemPoolTableCache extends SnmpNamedListTableCache {
+
+ static final long serialVersionUID = -1755520683086760574L;
+
/**
* Create a weak cache for the jvmMemPoolTable.
* @param validity validity of the cached data, in ms.
@@ -86,7 +91,7 @@ public class JvmMemPoolTableMetaImpl extends JvmMemPoolTableMeta {
* <code>MemoryPoolMXBean</code> in the list.
* @return <code>((MemoryPoolMXBean)item).getName()</code>
**/
- protected String getKey(Object context, List rawDatas,
+ protected String getKey(Object context, List<?> rawDatas,
int rank, Object item) {
if (item == null) return null;
final String name = ((MemoryPoolMXBean)item).getName();
@@ -98,7 +103,7 @@ public class JvmMemPoolTableMetaImpl extends JvmMemPoolTableMeta {
* Call <code>getTableDatas(JvmContextFactory.getUserData())</code>.
**/
public SnmpTableHandler getTableHandler() {
- final Map userData = JvmContextFactory.getUserData();
+ final Map<Object, Object> userData = JvmContextFactory.getUserData();
return getTableDatas(userData);
}
@@ -113,7 +118,7 @@ public class JvmMemPoolTableMetaImpl extends JvmMemPoolTableMeta {
* Call ManagementFactory.getMemoryPoolMXBeans() to
* load the raw data of this table.
**/
- protected List loadRawDatas(Map userData) {
+ protected List<MemoryPoolMXBean> loadRawDatas(Map<Object, Object> userData) {
return ManagementFactory.getMemoryPoolMXBeans();
}
}
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemoryImpl.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemoryImpl.java
index 63a4e76..f95ec58 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemoryImpl.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemoryImpl.java
@@ -275,7 +275,7 @@ public class JvmMemoryImpl implements JvmMemoryMBean {
*/
public EnumJvmMemoryGCCall getJvmMemoryGCCall()
throws SnmpStatusException {
- final Map m = JvmContextFactory.getUserData();
+ final Map<Object,Object> m = JvmContextFactory.getUserData();
if (m != null) {
final EnumJvmMemoryGCCall cached
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemoryMetaImpl.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemoryMetaImpl.java
index be49606..207415e 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemoryMetaImpl.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmMemoryMetaImpl.java
@@ -50,6 +50,8 @@ import sun.management.snmp.util.MibLogger;
* The class is used for representing SNMP metadata for the "JvmMemory" group.
*/
public class JvmMemoryMetaImpl extends JvmMemoryMeta {
+
+ static final long serialVersionUID = -6500448253825893071L;
/**
* Constructor for the metadata associated to "JvmMemory".
*/
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmOSImpl.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmOSImpl.java
index 28c2929..e001697 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmOSImpl.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmOSImpl.java
@@ -47,6 +47,8 @@ import sun.management.snmp.jvmmib.JvmOSMBean;
*/
public class JvmOSImpl implements JvmOSMBean, Serializable {
+ static final long serialVersionUID = 1839834731763310809L;
+
/**
* Constructor for the "JvmOS" group.
* If the group contains a table, the entries created through an
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTBootClassPathEntryImpl.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTBootClassPathEntryImpl.java
index 6624af6..6e42329 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTBootClassPathEntryImpl.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTBootClassPathEntryImpl.java
@@ -44,6 +44,8 @@ import sun.management.snmp.jvmmib.JvmRTBootClassPathEntryMBean;
public class JvmRTBootClassPathEntryImpl
implements JvmRTBootClassPathEntryMBean, Serializable {
+ static final long serialVersionUID = -2282652055235913013L;
+
private final String item;
private final int index;
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTBootClassPathTableMetaImpl.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTBootClassPathTableMetaImpl.java
index abc548e..df79486 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTBootClassPathTableMetaImpl.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTBootClassPathTableMetaImpl.java
@@ -71,6 +71,8 @@ import sun.management.snmp.util.JvmContextFactory;
public class JvmRTBootClassPathTableMetaImpl
extends JvmRTBootClassPathTableMeta {
+ static final long serialVersionUID = -8659886610487538299L;
+
private SnmpTableCache cache;
/**
@@ -78,6 +80,7 @@ public class JvmRTBootClassPathTableMetaImpl
* JvmRTBootClassPathTable.
**/
private static class JvmRTBootClassPathTableCache extends SnmpTableCache {
+ static final long serialVersionUID = -2637458695413646098L;
private JvmRTBootClassPathTableMetaImpl meta;
JvmRTBootClassPathTableCache(JvmRTBootClassPathTableMetaImpl meta,
@@ -90,7 +93,7 @@ public class JvmRTBootClassPathTableMetaImpl
* Call <code>getTableDatas(JvmContextFactory.getUserData())</code>.
**/
public SnmpTableHandler getTableHandler() {
- final Map userData = JvmContextFactory.getUserData();
+ final Map<Object,Object> userData = JvmContextFactory.getUserData();
return getTableDatas(userData);
}
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTClassPathEntryImpl.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTClassPathEntryImpl.java
index d52d122..188051a 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTClassPathEntryImpl.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTClassPathEntryImpl.java
@@ -44,6 +44,7 @@ import sun.management.snmp.jvmmib.JvmRTClassPathEntryMBean;
public class JvmRTClassPathEntryImpl implements JvmRTClassPathEntryMBean,
Serializable {
+ static final long serialVersionUID = 8524792845083365742L;
private final String item;
private final int index;
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTClassPathTableMetaImpl.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTClassPathTableMetaImpl.java
index 0e952cb..df6168d 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTClassPathTableMetaImpl.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTClassPathTableMetaImpl.java
@@ -70,6 +70,8 @@ import sun.management.snmp.util.JvmContextFactory;
*/
public class JvmRTClassPathTableMetaImpl extends JvmRTClassPathTableMeta {
+ static final long serialVersionUID = -6914494148818455166L;
+
private SnmpTableCache cache;
/**
@@ -77,6 +79,7 @@ public class JvmRTClassPathTableMetaImpl extends JvmRTClassPathTableMeta {
* JvmRTClassPathTable.
**/
private static class JvmRTClassPathTableCache extends SnmpTableCache {
+ static final long serialVersionUID = 3805032372592117315L;
private JvmRTClassPathTableMetaImpl meta;
JvmRTClassPathTableCache(JvmRTClassPathTableMetaImpl meta,
@@ -89,7 +92,7 @@ public class JvmRTClassPathTableMetaImpl extends JvmRTClassPathTableMeta {
* Call <code>getTableDatas(JvmContextFactory.getUserData())</code>.
**/
public SnmpTableHandler getTableHandler() {
- final Map userData = JvmContextFactory.getUserData();
+ final Map<Object, Object> userData = JvmContextFactory.getUserData();
return getTableDatas(userData);
}
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTInputArgsEntryImpl.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTInputArgsEntryImpl.java
index b480c48..80811ed 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTInputArgsEntryImpl.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTInputArgsEntryImpl.java
@@ -44,6 +44,7 @@ import sun.management.snmp.jvmmib.JvmRTInputArgsEntryMBean;
public class JvmRTInputArgsEntryImpl implements JvmRTInputArgsEntryMBean,
Serializable {
+ static final long serialVersionUID = 1000306518436503395L;
private final String item;
private final int index;
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTInputArgsTableMetaImpl.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTInputArgsTableMetaImpl.java
index 259a284..13e5d4a 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTInputArgsTableMetaImpl.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTInputArgsTableMetaImpl.java
@@ -70,6 +70,7 @@ import sun.management.snmp.util.JvmContextFactory;
*/
public class JvmRTInputArgsTableMetaImpl extends JvmRTInputArgsTableMeta {
+ static final long serialVersionUID = -2083438094888099238L;
private SnmpTableCache cache;
/**
@@ -77,6 +78,8 @@ public class JvmRTInputArgsTableMetaImpl extends JvmRTInputArgsTableMeta {
* JvmRTInputArgsTable.
**/
private static class JvmRTInputArgsTableCache extends SnmpTableCache {
+
+ static final long serialVersionUID = 1693751105464785192L;
private JvmRTInputArgsTableMetaImpl meta;
JvmRTInputArgsTableCache(JvmRTInputArgsTableMetaImpl meta,
@@ -89,7 +92,7 @@ public class JvmRTInputArgsTableMetaImpl extends JvmRTInputArgsTableMeta {
* Call <code>getTableDatas(JvmContextFactory.getUserData())</code>.
**/
public SnmpTableHandler getTableHandler() {
- final Map userData = JvmContextFactory.getUserData();
+ final Map<Object,Object> userData = JvmContextFactory.getUserData();
return getTableDatas(userData);
}
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTLibraryPathEntryImpl.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTLibraryPathEntryImpl.java
index 5447768..554b342 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTLibraryPathEntryImpl.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTLibraryPathEntryImpl.java
@@ -44,6 +44,7 @@ import sun.management.snmp.jvmmib.JvmRTLibraryPathEntryMBean;
public class JvmRTLibraryPathEntryImpl implements JvmRTLibraryPathEntryMBean,
Serializable {
+ static final long serialVersionUID = -3322438153507369765L;
private final String item;
private final int index;
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTLibraryPathTableMetaImpl.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTLibraryPathTableMetaImpl.java
index 62b5ae8..971677b 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTLibraryPathTableMetaImpl.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRTLibraryPathTableMetaImpl.java
@@ -70,6 +70,7 @@ import sun.management.snmp.util.JvmContextFactory;
*/
public class JvmRTLibraryPathTableMetaImpl extends JvmRTLibraryPathTableMeta {
+ static final long serialVersionUID = 6713252710712502068L;
private SnmpTableCache cache;
/**
@@ -77,6 +78,7 @@ public class JvmRTLibraryPathTableMetaImpl extends JvmRTLibraryPathTableMeta {
* JvmRTLibraryPathTable.
**/
private static class JvmRTLibraryPathTableCache extends SnmpTableCache {
+ static final long serialVersionUID = 2035304445719393195L;
private JvmRTLibraryPathTableMetaImpl meta;
JvmRTLibraryPathTableCache(JvmRTLibraryPathTableMetaImpl meta,
@@ -89,7 +91,7 @@ public class JvmRTLibraryPathTableMetaImpl extends JvmRTLibraryPathTableMeta {
* Call <code>getTableDatas(JvmContextFactory.getUserData())</code>.
**/
public SnmpTableHandler getTableHandler() {
- final Map userData = JvmContextFactory.getUserData();
+ final Map<Object,Object> userData = JvmContextFactory.getUserData();
return getTableDatas(userData);
}
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRuntimeMetaImpl.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRuntimeMetaImpl.java
index 895e8d2..1f15b4f 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRuntimeMetaImpl.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmRuntimeMetaImpl.java
@@ -68,6 +68,7 @@ import sun.management.snmp.jvmmib.JvmRTLibraryPathTableMeta;
*/
public class JvmRuntimeMetaImpl extends JvmRuntimeMeta {
+ static final long serialVersionUID = -6570428414857608618L;
/**
* Constructor for the metadata associated to "JvmRuntime".
*/
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceEntryImpl.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceEntryImpl.java
index 4410a7c..77acb45 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceEntryImpl.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceEntryImpl.java
@@ -53,6 +53,8 @@ import sun.management.snmp.util.MibLogger;
public class JvmThreadInstanceEntryImpl
implements JvmThreadInstanceEntryMBean, Serializable {
+ static final long serialVersionUID = 910173589985461347L;
+
public final static class ThreadStateMap {
public final static class Byte0 {
public final static byte inNative = (byte)0x80; // bit 1
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceTableMetaImpl.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceTableMetaImpl.java
index 0c9c235..b2ce477 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceTableMetaImpl.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceTableMetaImpl.java
@@ -78,6 +78,8 @@ import sun.management.snmp.util.JvmContextFactory;
public class JvmThreadInstanceTableMetaImpl
extends JvmThreadInstanceTableMeta {
+ static final long serialVersionUID = -8432271929226397492L;
+
/**
* Maximum depth of the stacktrace that might be returned through
* SNMP.
@@ -135,6 +137,7 @@ public class JvmThreadInstanceTableMetaImpl
private static class JvmThreadInstanceTableCache
extends SnmpTableCache {
+ static final long serialVersionUID = 4947330124563406878L;
final private JvmThreadInstanceTableMetaImpl meta;
/**
@@ -151,7 +154,7 @@ public class JvmThreadInstanceTableMetaImpl
* Call <code>getTableDatas(JvmContextFactory.getUserData())</code>.
**/
public SnmpTableHandler getTableHandler() {
- final Map userData = JvmContextFactory.getUserData();
+ final Map<Object, Object> userData = JvmContextFactory.getUserData();
return getTableDatas(userData);
}
@@ -172,7 +175,7 @@ public class JvmThreadInstanceTableMetaImpl
SnmpOid indexes[] = new SnmpOid[id.length];
final TreeMap<SnmpOid, Object> table =
- new TreeMap<SnmpOid, Object>(SnmpCachedData.oidComparator);
+ new TreeMap<>(SnmpCachedData.oidComparator);
for(int i = 0; i < id.length; i++) {
log.debug("", "Making index for thread id [" + id[i] +"]");
//indexes[i] = makeOid(id[i]);
@@ -277,7 +280,7 @@ public class JvmThreadInstanceTableMetaImpl
// Get the request contextual cache (userData).
//
- final Map m = JvmContextFactory.getUserData();
+ final Map<Object,Object> m = JvmContextFactory.getUserData();
// Get the handler.
//
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmThreadingMetaImpl.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmThreadingMetaImpl.java
index 9239e7d..f2773c5 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmThreadingMetaImpl.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmThreadingMetaImpl.java
@@ -66,6 +66,8 @@ import sun.management.snmp.jvmmib.JvmThreadInstanceTableMeta;
*/
public class JvmThreadingMetaImpl extends JvmThreadingMeta {
+ static final long serialVersionUID = -2104788458393251457L;
+
/**
* Constructor for the metadata associated to "JvmThreading".
*/
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmClassesVerboseLevel.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmClassesVerboseLevel.java
index caa7bc9..16113d4 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmClassesVerboseLevel.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmClassesVerboseLevel.java
@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/
public class EnumJvmClassesVerboseLevel extends Enumerated implements Serializable {
+ static final long serialVersionUID = -620710366914810374L;
protected static Hashtable<Integer, String> intTable =
- new Hashtable<Integer, String>();
+ new Hashtable<>();
protected static Hashtable<String, Integer> stringTable =
- new Hashtable<String, Integer>();
+ new Hashtable<>();
static {
intTable.put(new Integer(2), "verbose");
intTable.put(new Integer(1), "silent");
@@ -70,11 +71,11 @@ public class EnumJvmClassesVerboseLevel extends Enumerated implements Serializab
super(x);
}
- protected Hashtable getIntTable() {
+ protected Hashtable<Integer,String> getIntTable() {
return intTable ;
}
- protected Hashtable getStringTable() {
+ protected Hashtable<String,Integer> getStringTable() {
return stringTable ;
}
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmJITCompilerTimeMonitoring.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmJITCompilerTimeMonitoring.java
index 038d379..e69bc4e 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmJITCompilerTimeMonitoring.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmJITCompilerTimeMonitoring.java
@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/
public class EnumJvmJITCompilerTimeMonitoring extends Enumerated implements Serializable {
+ static final long serialVersionUID = 3953565918146461236L;
protected static Hashtable<Integer, String> intTable =
- new Hashtable<Integer, String>();
+ new Hashtable<>();
protected static Hashtable<String, Integer> stringTable =
- new Hashtable<String, Integer>();
+ new Hashtable<>();
static {
intTable.put(new Integer(2), "supported");
intTable.put(new Integer(1), "unsupported");
@@ -70,11 +71,11 @@ public class EnumJvmJITCompilerTimeMonitoring extends Enumerated implements Seri
super(x);
}
- protected Hashtable getIntTable() {
+ protected Hashtable<Integer, String> getIntTable() {
return intTable ;
}
- protected Hashtable getStringTable() {
+ protected Hashtable<String, Integer> getStringTable() {
return stringTable ;
}
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemManagerState.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemManagerState.java
index fd2a324..6eea58e 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemManagerState.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemManagerState.java
@@ -43,10 +43,12 @@ import com.sun.jmx.snmp.Enumerated;
*/
public class EnumJvmMemManagerState extends Enumerated implements Serializable {
+ static final long serialVersionUID = 8249515157795166343L;
+
protected static Hashtable<Integer, String> intTable =
- new Hashtable<Integer, String>();
+ new Hashtable<>();
protected static Hashtable<String, Integer> stringTable =
- new Hashtable<String, Integer>();
+ new Hashtable<>();
static {
intTable.put(new Integer(2), "valid");
intTable.put(new Integer(1), "invalid");
@@ -70,11 +72,11 @@ public class EnumJvmMemManagerState extends Enumerated implements Serializable {
super(x);
}
- protected Hashtable getIntTable() {
+ protected Hashtable<Integer, String> getIntTable() {
return intTable ;
}
- protected Hashtable getStringTable() {
+ protected Hashtable<String, Integer> getStringTable() {
return stringTable ;
}
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolCollectThreshdSupport.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolCollectThreshdSupport.java
index 5246160..6982ae7 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolCollectThreshdSupport.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolCollectThreshdSupport.java
@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/
public class EnumJvmMemPoolCollectThreshdSupport extends Enumerated implements Serializable {
+ static final long serialVersionUID = 8610091819732806282L;
protected static Hashtable<Integer, String> intTable =
- new Hashtable<Integer, String>();
+ new Hashtable<>();
protected static Hashtable<String, Integer> stringTable =
- new Hashtable<String, Integer>();
+ new Hashtable<>();
static {
intTable.put(new Integer(2), "supported");
intTable.put(new Integer(1), "unsupported");
@@ -70,11 +71,11 @@ public class EnumJvmMemPoolCollectThreshdSupport extends Enumerated implements S
super(x);
}
- protected Hashtable getIntTable() {
+ protected Hashtable<Integer, String> getIntTable() {
return intTable ;
}
- protected Hashtable getStringTable() {
+ protected Hashtable<String, Integer> getStringTable() {
return stringTable ;
}
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolState.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolState.java
index 59c8f4b..5046997 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolState.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolState.java
@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/
public class EnumJvmMemPoolState extends Enumerated implements Serializable {
+ static final long serialVersionUID = 3038175407527743027L;
protected static Hashtable<Integer, String> intTable =
- new Hashtable<Integer, String>();
+ new Hashtable<>();
protected static Hashtable<String, Integer> stringTable =
- new Hashtable<String, Integer>();
+ new Hashtable<>();
static {
intTable.put(new Integer(2), "valid");
intTable.put(new Integer(1), "invalid");
@@ -70,11 +71,11 @@ public class EnumJvmMemPoolState extends Enumerated implements Serializable {
super(x);
}
- protected Hashtable getIntTable() {
+ protected Hashtable<Integer,String> getIntTable() {
return intTable ;
}
- protected Hashtable getStringTable() {
+ protected Hashtable<String,Integer> getStringTable() {
return stringTable ;
}
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolThreshdSupport.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolThreshdSupport.java
index acd00df..1da71f9 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolThreshdSupport.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolThreshdSupport.java
@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/
public class EnumJvmMemPoolThreshdSupport extends Enumerated implements Serializable {
+ static final long serialVersionUID = 7014693561120661029L;
protected static Hashtable<Integer, String> intTable =
- new Hashtable<Integer, String>();
+ new Hashtable<>();
protected static Hashtable<String, Integer> stringTable =
- new Hashtable<String, Integer>();
+ new Hashtable<>();
static {
intTable.put(new Integer(2), "supported");
intTable.put(new Integer(1), "unsupported");
@@ -70,11 +71,11 @@ public class EnumJvmMemPoolThreshdSupport extends Enumerated implements Serializ
super(x);
}
- protected Hashtable getIntTable() {
+ protected Hashtable<Integer,String> getIntTable() {
return intTable ;
}
- protected Hashtable getStringTable() {
+ protected Hashtable<String,Integer> getStringTable() {
return stringTable ;
}
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolType.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolType.java
index 99f0cd4..add9fd2 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolType.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemPoolType.java
@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/
public class EnumJvmMemPoolType extends Enumerated implements Serializable {
+ static final long serialVersionUID = -7214498472962396555L;
protected static Hashtable<Integer, String> intTable =
- new Hashtable<Integer, String>();
+ new Hashtable<>();
protected static Hashtable<String, Integer> stringTable =
- new Hashtable<String, Integer>();
+ new Hashtable<>();
static {
intTable.put(new Integer(2), "heap");
intTable.put(new Integer(1), "nonheap");
@@ -70,11 +71,11 @@ public class EnumJvmMemPoolType extends Enumerated implements Serializable {
super(x);
}
- protected Hashtable getIntTable() {
+ protected Hashtable<Integer,String> getIntTable() {
return intTable ;
}
- protected Hashtable getStringTable() {
+ protected Hashtable<String,Integer> getStringTable() {
return stringTable ;
}
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemoryGCCall.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemoryGCCall.java
index ecf024b..ca19740 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemoryGCCall.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemoryGCCall.java
@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/
public class EnumJvmMemoryGCCall extends Enumerated implements Serializable {
+ static final long serialVersionUID = -2869147994287351375L;
protected static Hashtable<Integer, String> intTable =
- new Hashtable<Integer, String>();
+ new Hashtable<>();
protected static Hashtable<String, Integer> stringTable =
- new Hashtable<String, Integer>();
+ new Hashtable<>();
static {
intTable.put(new Integer(2), "supported");
intTable.put(new Integer(5), "failed");
@@ -76,11 +77,11 @@ public class EnumJvmMemoryGCCall extends Enumerated implements Serializable {
super(x);
}
- protected Hashtable getIntTable() {
+ protected Hashtable<Integer, String> getIntTable() {
return intTable ;
}
- protected Hashtable getStringTable() {
+ protected Hashtable<String, Integer> getStringTable() {
return stringTable ;
}
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemoryGCVerboseLevel.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemoryGCVerboseLevel.java
index 5120508..90a718f 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemoryGCVerboseLevel.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmMemoryGCVerboseLevel.java
@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/
public class EnumJvmMemoryGCVerboseLevel extends Enumerated implements Serializable {
+ static final long serialVersionUID = 1362427628755978190L;
protected static Hashtable<Integer, String> intTable =
- new Hashtable<Integer, String>();
+ new Hashtable<>();
protected static Hashtable<String, Integer> stringTable =
- new Hashtable<String, Integer>();
+ new Hashtable<>();
static {
intTable.put(new Integer(2), "verbose");
intTable.put(new Integer(1), "silent");
@@ -70,11 +71,11 @@ public class EnumJvmMemoryGCVerboseLevel extends Enumerated implements Serializa
super(x);
}
- protected Hashtable getIntTable() {
+ protected Hashtable<Integer,String> getIntTable() {
return intTable ;
}
- protected Hashtable getStringTable() {
+ protected Hashtable<String,Integer> getStringTable() {
return stringTable ;
}
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmRTBootClassPathSupport.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmRTBootClassPathSupport.java
index 4ec327e..9d2276c 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmRTBootClassPathSupport.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmRTBootClassPathSupport.java
@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/
public class EnumJvmRTBootClassPathSupport extends Enumerated implements Serializable {
+ static final long serialVersionUID = -5957542680437939894L;
protected static Hashtable<Integer, String> intTable =
- new Hashtable<Integer, String>();
+ new Hashtable<>();
protected static Hashtable<String, Integer> stringTable =
- new Hashtable<String, Integer>();
+ new Hashtable<>();
static {
intTable.put(new Integer(2), "supported");
intTable.put(new Integer(1), "unsupported");
@@ -70,11 +71,11 @@ public class EnumJvmRTBootClassPathSupport extends Enumerated implements Seriali
super(x);
}
- protected Hashtable getIntTable() {
+ protected Hashtable<Integer, String> getIntTable() {
return intTable ;
}
- protected Hashtable getStringTable() {
+ protected Hashtable<String, Integer> getStringTable() {
return stringTable ;
}
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmThreadContentionMonitoring.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmThreadContentionMonitoring.java
index 04e7b6b..83400b9 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmThreadContentionMonitoring.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmThreadContentionMonitoring.java
@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/
public class EnumJvmThreadContentionMonitoring extends Enumerated implements Serializable {
+ static final long serialVersionUID = -6411827583604137210L;
protected static Hashtable<Integer, String> intTable =
- new Hashtable<Integer, String>();
+ new Hashtable<>();
protected static Hashtable<String, Integer> stringTable =
- new Hashtable<String, Integer>();
+ new Hashtable<>();
static {
intTable.put(new Integer(3), "enabled");
intTable.put(new Integer(4), "disabled");
@@ -72,11 +73,11 @@ public class EnumJvmThreadContentionMonitoring extends Enumerated implements Ser
super(x);
}
- protected Hashtable getIntTable() {
+ protected Hashtable<Integer,String> getIntTable() {
return intTable ;
}
- protected Hashtable getStringTable() {
+ protected Hashtable<String,Integer> getStringTable() {
return stringTable ;
}
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmThreadCpuTimeMonitoring.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmThreadCpuTimeMonitoring.java
index 9019364..aad2715 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmThreadCpuTimeMonitoring.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/EnumJvmThreadCpuTimeMonitoring.java
@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/
public class EnumJvmThreadCpuTimeMonitoring extends Enumerated implements Serializable {
+ static final long serialVersionUID = -532837824105215699L;
protected static Hashtable<Integer, String> intTable =
- new Hashtable<Integer, String>();
+ new Hashtable<>();
protected static Hashtable<String, Integer> stringTable =
- new Hashtable<String, Integer>();
+ new Hashtable<>();
static {
intTable.put(new Integer(3), "enabled");
intTable.put(new Integer(4), "disabled");
@@ -72,11 +73,11 @@ public class EnumJvmThreadCpuTimeMonitoring extends Enumerated implements Serial
super(x);
}
- protected Hashtable getIntTable() {
+ protected Hashtable<Integer,String> getIntTable() {
return intTable ;
}
- protected Hashtable getStringTable() {
+ protected Hashtable<String,Integer> getStringTable() {
return stringTable ;
}
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JVM_MANAGEMENT_MIB.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JVM_MANAGEMENT_MIB.java
index 4cdf366..9206a43 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JVM_MANAGEMENT_MIB.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JVM_MANAGEMENT_MIB.java
@@ -53,6 +53,7 @@ import com.sun.jmx.snmp.agent.SnmpStandardObjectServer;
*/
public abstract class JVM_MANAGEMENT_MIB extends SnmpMib implements Serializable {
+ static final long serialVersionUID = 6895037919735816732L;
/**
* Default constructor. Initialize the Mib tree.
*/
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JVM_MANAGEMENT_MIBOidTable.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JVM_MANAGEMENT_MIBOidTable.java
index 1f48df6..e9a896e 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JVM_MANAGEMENT_MIBOidTable.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JVM_MANAGEMENT_MIBOidTable.java
@@ -47,6 +47,7 @@ import com.sun.jmx.snmp.SnmpOidTableSupport;
*/
public class JVM_MANAGEMENT_MIBOidTable extends SnmpOidTableSupport implements Serializable {
+ static final long serialVersionUID = -5010870014488732061L;
/**
* Default constructor. Initialize the Mib tree.
*/
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmClassLoadingMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmClassLoadingMeta.java
index a318213..806e3e3 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmClassLoadingMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmClassLoadingMeta.java
@@ -70,6 +70,7 @@ import com.sun.jmx.snmp.SnmpDefinitions;
public class JvmClassLoadingMeta extends SnmpMibGroup
implements Serializable, SnmpStandardMetaServer {
+ static final long serialVersionUID = 5722857476941218568L;
/**
* Constructor for the metadata associated to "JvmClassLoading".
*/
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmCompilationMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmCompilationMeta.java
index 0fda62c..ab805b3 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmCompilationMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmCompilationMeta.java
@@ -70,6 +70,7 @@ import com.sun.jmx.snmp.SnmpDefinitions;
public class JvmCompilationMeta extends SnmpMibGroup
implements Serializable, SnmpStandardMetaServer {
+ static final long serialVersionUID = -95492874115033638L;
/**
* Constructor for the metadata associated to "JvmCompilation".
*/
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemGCEntryMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemGCEntryMeta.java
index c421937..4ee165a 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemGCEntryMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemGCEntryMeta.java
@@ -71,6 +71,7 @@ import com.sun.jmx.snmp.SnmpDefinitions;
public class JvmMemGCEntryMeta extends SnmpMibEntry
implements Serializable, SnmpStandardMetaServer {
+ static final long serialVersionUID = 6082082529298387063L;
/**
* Constructor for the metadata associated to "JvmMemGCEntry".
*/
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemGCTableMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemGCTableMeta.java
index 58ed92c..2eff503 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemGCTableMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemGCTableMeta.java
@@ -68,6 +68,7 @@ import com.sun.jmx.snmp.agent.SnmpStandardObjectServer;
*/
public class JvmMemGCTableMeta extends SnmpMibTable implements Serializable {
+ static final long serialVersionUID = -8843296871149264612L;
/**
* Constructor for the table. Initialize metadata for "JvmMemGCTableMeta".
* The reference on the MBean server is updated so the entries created through an SNMP SET will be AUTOMATICALLY REGISTERED in Java DMK.
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemManagerEntryMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemManagerEntryMeta.java
index dba7779..812ce8c 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemManagerEntryMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemManagerEntryMeta.java
@@ -71,6 +71,7 @@ import com.sun.jmx.snmp.SnmpDefinitions;
public class JvmMemManagerEntryMeta extends SnmpMibEntry
implements Serializable, SnmpStandardMetaServer {
+ static final long serialVersionUID = 8166956416408970453L;
/**
* Constructor for the metadata associated to "JvmMemManagerEntry".
*/
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemManagerTableMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemManagerTableMeta.java
index 3247b3f..cb0d502 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemManagerTableMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemManagerTableMeta.java
@@ -68,6 +68,7 @@ import com.sun.jmx.snmp.agent.SnmpStandardObjectServer;
*/
public class JvmMemManagerTableMeta extends SnmpMibTable implements Serializable {
+ static final long serialVersionUID = 5026520607518015233L;
/**
* Constructor for the table. Initialize metadata for "JvmMemManagerTableMeta".
* The reference on the MBean server is updated so the entries created through an SNMP SET will be AUTOMATICALLY REGISTERED in Java DMK.
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemMgrPoolRelEntryMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemMgrPoolRelEntryMeta.java
index 00a1c58..143b93c 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemMgrPoolRelEntryMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemMgrPoolRelEntryMeta.java
@@ -71,6 +71,7 @@ import com.sun.jmx.snmp.SnmpDefinitions;
public class JvmMemMgrPoolRelEntryMeta extends SnmpMibEntry
implements Serializable, SnmpStandardMetaServer {
+ static final long serialVersionUID = 7414270971113459798L;
/**
* Constructor for the metadata associated to "JvmMemMgrPoolRelEntry".
*/
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemMgrPoolRelTableMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemMgrPoolRelTableMeta.java
index 1cf8687..62af9f7 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemMgrPoolRelTableMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemMgrPoolRelTableMeta.java
@@ -68,6 +68,7 @@ import com.sun.jmx.snmp.agent.SnmpStandardObjectServer;
*/
public class JvmMemMgrPoolRelTableMeta extends SnmpMibTable implements Serializable {
+ static final long serialVersionUID = -310733366542788998L;
/**
* Constructor for the table. Initialize metadata for "JvmMemMgrPoolRelTableMeta".
* The reference on the MBean server is updated so the entries created through an SNMP SET will be AUTOMATICALLY REGISTERED in Java DMK.
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemPoolEntryMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemPoolEntryMeta.java
index 1486029..85cf528 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemPoolEntryMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemPoolEntryMeta.java
@@ -71,6 +71,7 @@ import com.sun.jmx.snmp.SnmpDefinitions;
public class JvmMemPoolEntryMeta extends SnmpMibEntry
implements Serializable, SnmpStandardMetaServer {
+ static final long serialVersionUID = 7220682779249102830L;
/**
* Constructor for the metadata associated to "JvmMemPoolEntry".
*/
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemPoolTableMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemPoolTableMeta.java
index 43c8ec7..150e4ee 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemPoolTableMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmMemPoolTableMeta.java
@@ -68,6 +68,8 @@ import com.sun.jmx.snmp.agent.SnmpStandardObjectServer;
*/
public class JvmMemPoolTableMeta extends SnmpMibTable implements Serializable {
+ static final long serialVersionUID = -2799470815264898659L;
+
/**
* Constructor for the table. Initialize metadata for "JvmMemPoolTableMeta".
* The reference on the MBean server is updated so the entries created through an SNMP SET will be AUTOMATICALLY REGISTERED in Java DMK.
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmOSMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmOSMeta.java
index f3ab763..971b606 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmOSMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmOSMeta.java
@@ -70,6 +70,8 @@ import com.sun.jmx.snmp.SnmpDefinitions;
public class JvmOSMeta extends SnmpMibGroup
implements Serializable, SnmpStandardMetaServer {
+ static final long serialVersionUID = -2024138733580127133L;
+
/**
* Constructor for the metadata associated to "JvmOS".
*/
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTBootClassPathEntryMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTBootClassPathEntryMeta.java
index 3516ba7..d0346a3 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTBootClassPathEntryMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTBootClassPathEntryMeta.java
@@ -71,6 +71,7 @@ import com.sun.jmx.snmp.SnmpDefinitions;
public class JvmRTBootClassPathEntryMeta extends SnmpMibEntry
implements Serializable, SnmpStandardMetaServer {
+ static final long serialVersionUID = 7703840715080588941L;
/**
* Constructor for the metadata associated to "JvmRTBootClassPathEntry".
*/
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTBootClassPathTableMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTBootClassPathTableMeta.java
index 91684f7..1b732a6 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTBootClassPathTableMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTBootClassPathTableMeta.java
@@ -68,6 +68,7 @@ import com.sun.jmx.snmp.agent.SnmpStandardObjectServer;
*/
public class JvmRTBootClassPathTableMeta extends SnmpMibTable implements Serializable {
+ static final long serialVersionUID = 42471379600792135L;
/**
* Constructor for the table. Initialize metadata for "JvmRTBootClassPathTableMeta".
* The reference on the MBean server is updated so the entries created through an SNMP SET will be AUTOMATICALLY REGISTERED in Java DMK.
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTClassPathEntryMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTClassPathEntryMeta.java
index 2b0089c..2c8464d 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTClassPathEntryMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTClassPathEntryMeta.java
@@ -71,6 +71,7 @@ import com.sun.jmx.snmp.SnmpDefinitions;
public class JvmRTClassPathEntryMeta extends SnmpMibEntry
implements Serializable, SnmpStandardMetaServer {
+ static final long serialVersionUID = 3388703998226830801L;
/**
* Constructor for the metadata associated to "JvmRTClassPathEntry".
*/
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTClassPathTableMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTClassPathTableMeta.java
index 12719af..1cf8930 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTClassPathTableMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTClassPathTableMeta.java
@@ -68,6 +68,7 @@ import com.sun.jmx.snmp.agent.SnmpStandardObjectServer;
*/
public class JvmRTClassPathTableMeta extends SnmpMibTable implements Serializable {
+ static final long serialVersionUID = -1518727175345404443L;
/**
* Constructor for the table. Initialize metadata for "JvmRTClassPathTableMeta".
* The reference on the MBean server is updated so the entries created through an SNMP SET will be AUTOMATICALLY REGISTERED in Java DMK.
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTInputArgsEntryMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTInputArgsEntryMeta.java
index dcb8660..1a8dcf0 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTInputArgsEntryMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTInputArgsEntryMeta.java
@@ -71,6 +71,7 @@ import com.sun.jmx.snmp.SnmpDefinitions;
public class JvmRTInputArgsEntryMeta extends SnmpMibEntry
implements Serializable, SnmpStandardMetaServer {
+ static final long serialVersionUID = -7729576810347358025L;
/**
* Constructor for the metadata associated to "JvmRTInputArgsEntry".
*/
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTInputArgsTableMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTInputArgsTableMeta.java
index cf7c836..8ee7982 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTInputArgsTableMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTInputArgsTableMeta.java
@@ -68,6 +68,7 @@ import com.sun.jmx.snmp.agent.SnmpStandardObjectServer;
*/
public class JvmRTInputArgsTableMeta extends SnmpMibTable implements Serializable {
+ static final long serialVersionUID = 5395531763015738645L;
/**
* Constructor for the table. Initialize metadata for "JvmRTInputArgsTableMeta".
* The reference on the MBean server is updated so the entries created through an SNMP SET will be AUTOMATICALLY REGISTERED in Java DMK.
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTLibraryPathEntryMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTLibraryPathEntryMeta.java
index 81a4e68..f89ac74 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTLibraryPathEntryMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTLibraryPathEntryMeta.java
@@ -71,6 +71,7 @@ import com.sun.jmx.snmp.SnmpDefinitions;
public class JvmRTLibraryPathEntryMeta extends SnmpMibEntry
implements Serializable, SnmpStandardMetaServer {
+ static final long serialVersionUID = -5851555586263475792L;
/**
* Constructor for the metadata associated to "JvmRTLibraryPathEntry".
*/
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTLibraryPathTableMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTLibraryPathTableMeta.java
index b052f87..5f9e116 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTLibraryPathTableMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRTLibraryPathTableMeta.java
@@ -68,6 +68,7 @@ import com.sun.jmx.snmp.agent.SnmpStandardObjectServer;
*/
public class JvmRTLibraryPathTableMeta extends SnmpMibTable implements Serializable {
+ static final long serialVersionUID = -632403620113109468L;
/**
* Constructor for the table. Initialize metadata for "JvmRTLibraryPathTableMeta".
* The reference on the MBean server is updated so the entries created through an SNMP SET will be AUTOMATICALLY REGISTERED in Java DMK.
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRuntimeMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRuntimeMeta.java
index 377b6e7..d0c4826 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRuntimeMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmRuntimeMeta.java
@@ -70,6 +70,7 @@ import com.sun.jmx.snmp.SnmpDefinitions;
public class JvmRuntimeMeta extends SnmpMibGroup
implements Serializable, SnmpStandardMetaServer {
+ static final long serialVersionUID = 1994595220765880109L;
/**
* Constructor for the metadata associated to "JvmRuntime".
*/
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmThreadInstanceEntryMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmThreadInstanceEntryMeta.java
index f921e02..a6c30c1 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmThreadInstanceEntryMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmThreadInstanceEntryMeta.java
@@ -71,6 +71,7 @@ import com.sun.jmx.snmp.SnmpDefinitions;
public class JvmThreadInstanceEntryMeta extends SnmpMibEntry
implements Serializable, SnmpStandardMetaServer {
+ static final long serialVersionUID = -2015330111801477399L;
/**
* Constructor for the metadata associated to "JvmThreadInstanceEntry".
*/
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmThreadInstanceTableMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmThreadInstanceTableMeta.java
index 3f2a436..68613ba 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmThreadInstanceTableMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmThreadInstanceTableMeta.java
@@ -68,6 +68,7 @@ import com.sun.jmx.snmp.agent.SnmpStandardObjectServer;
*/
public class JvmThreadInstanceTableMeta extends SnmpMibTable implements Serializable {
+ static final long serialVersionUID = 2519514732589115954L;
/**
* Constructor for the table. Initialize metadata for "JvmThreadInstanceTableMeta".
* The reference on the MBean server is updated so the entries created through an SNMP SET will be AUTOMATICALLY REGISTERED in Java DMK.
diff --git a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmThreadingMeta.java b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmThreadingMeta.java
index 39d3267..6d81f94 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmThreadingMeta.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvmmib/JvmThreadingMeta.java
@@ -70,6 +70,7 @@ import com.sun.jmx.snmp.SnmpDefinitions;
public class JvmThreadingMeta extends SnmpMibGroup
implements Serializable, SnmpStandardMetaServer {
+ static final long serialVersionUID = 5223833578005322854L;
/**
* Constructor for the metadata associated to "JvmThreading".
*/
diff --git a/jdk/src/share/classes/sun/management/snmp/util/MibLogger.java b/jdk/src/share/classes/sun/management/snmp/util/MibLogger.java
index 51fa0a0..4d1a5f0 100644
--- a/jdk/src/share/classes/sun/management/snmp/util/MibLogger.java
+++ b/jdk/src/share/classes/sun/management/snmp/util/MibLogger.java
@@ -32,7 +32,7 @@ public class MibLogger {
final Logger logger;
final String className;
- static String getClassName(Class clazz) {
+ static String getClassName(Class<?> clazz) {
if (clazz == null) return null;
if (clazz.isArray())
return getClassName(clazz.getComponentType()) + "[]";
@@ -44,7 +44,7 @@ public class MibLogger {
else return fullname.substring(lastpoint+1,len);
}
- static String getLoggerName(Class clazz) {
+ static String getLoggerName(Class<?> clazz) {
if (clazz == null) return "sun.management.snmp.jvminstr";
Package p = clazz.getPackage();
if (p == null) return "sun.management.snmp.jvminstr";
@@ -53,11 +53,11 @@ public class MibLogger {
else return pname;
}
- public MibLogger(Class clazz) {
+ public MibLogger(Class<?> clazz) {
this(getLoggerName(clazz),getClassName(clazz));
}
- public MibLogger(Class clazz, String postfix) {
+ public MibLogger(Class<?> clazz, String postfix) {
this(getLoggerName(clazz)+((postfix==null)?"":"."+postfix),
getClassName(clazz));
}
diff --git a/jdk/src/share/classes/sun/management/snmp/util/SnmpListTableCache.java b/jdk/src/share/classes/sun/management/snmp/util/SnmpListTableCache.java
index f2aab9f..634f2bf 100644
--- a/jdk/src/share/classes/sun/management/snmp/util/SnmpListTableCache.java
+++ b/jdk/src/share/classes/sun/management/snmp/util/SnmpListTableCache.java
@@ -59,7 +59,7 @@ public abstract class SnmpListTableCache extends SnmpTableCache {
* <var>rawDatas</var> list iterator.
* @param item The raw data object for which an index must be determined.
**/
- protected abstract SnmpOid getIndex(Object context, List rawDatas,
+ protected abstract SnmpOid getIndex(Object context, List<?> rawDatas,
int rank, Object item);
/**
@@ -75,7 +75,7 @@ public abstract class SnmpListTableCache extends SnmpTableCache {
* extracted.
* @return By default <var>item</var> is returned.
**/
- protected Object getData(Object context, List rawDatas,
+ protected Object getData(Object context, List<?> rawDatas,
int rank, Object item) {
return item;
}
@@ -95,14 +95,14 @@ public abstract class SnmpListTableCache extends SnmpTableCache {
* computed.
* @return the computed cached data.
**/
- protected SnmpCachedData updateCachedDatas(Object context, List rawDatas) {
+ protected SnmpCachedData updateCachedDatas(Object context, List<?> rawDatas) {
final int size = ((rawDatas == null)?0:rawDatas.size());
if (size == 0) return null;
final long time = System.currentTimeMillis();
- final Iterator it = rawDatas.iterator();
+ final Iterator<?> it = rawDatas.iterator();
final TreeMap<SnmpOid, Object> map =
- new TreeMap<SnmpOid, Object>(SnmpCachedData.oidComparator);
+ new TreeMap<>(SnmpCachedData.oidComparator);
for (int rank=0; it.hasNext() ; rank++) {
final Object item = it.next();
final SnmpOid index = getIndex(context, rawDatas, rank, item);
diff --git a/jdk/src/share/classes/sun/management/snmp/util/SnmpNamedListTableCache.java b/jdk/src/share/classes/sun/management/snmp/util/SnmpNamedListTableCache.java
index b3955f3..494919d 100644
--- a/jdk/src/share/classes/sun/management/snmp/util/SnmpNamedListTableCache.java
+++ b/jdk/src/share/classes/sun/management/snmp/util/SnmpNamedListTableCache.java
@@ -55,7 +55,7 @@ public abstract class SnmpNamedListTableCache extends SnmpListTableCache {
* This map associate an entry name with the SnmpOid index that's
* been allocated for it.
**/
- protected TreeMap names = new TreeMap();
+ protected TreeMap<String, SnmpOid> names = new TreeMap<>();
/**
* The last allocate index.
@@ -80,7 +80,7 @@ public abstract class SnmpNamedListTableCache extends SnmpListTableCache {
* <var>rawDatas</var> list iterator.
* @param item The raw data object for which a key name must be determined.
**/
- protected abstract String getKey(Object context, List rawDatas,
+ protected abstract String getKey(Object context, List<?> rawDatas,
int rank, Object item);
/**
@@ -97,7 +97,7 @@ public abstract class SnmpNamedListTableCache extends SnmpListTableCache {
* <var>rawDatas</var> list iterator.
* @param item The raw data object for which an index must be determined.
**/
- protected SnmpOid makeIndex(Object context, List rawDatas,
+ protected SnmpOid makeIndex(Object context, List<?> rawDatas,
int rank, Object item) {
// check we are in the limits of an unsigned32.
@@ -151,7 +151,7 @@ public abstract class SnmpNamedListTableCache extends SnmpListTableCache {
* <var>rawDatas</var> list iterator.
* @param item The raw data object for which an index must be determined.
**/
- protected SnmpOid getIndex(Object context, List rawDatas,
+ protected SnmpOid getIndex(Object context, List<?> rawDatas,
int rank, Object item) {
final String key = getKey(context,rawDatas,rank,item);
final Object index = (names==null||key==null)?null:names.get(key);
@@ -174,8 +174,8 @@ public abstract class SnmpNamedListTableCache extends SnmpListTableCache {
* @param rawDatas The table datas from which the cached data will be
* computed.
**/
- protected SnmpCachedData updateCachedDatas(Object context, List rawDatas) {
- TreeMap ctxt = new TreeMap();
+ protected SnmpCachedData updateCachedDatas(Object context, List<?> rawDatas) {
+ TreeMap<String,SnmpOid> ctxt = new TreeMap<>();
final SnmpCachedData result =
super.updateCachedDatas(context,rawDatas);
names = ctxt;
@@ -191,7 +191,7 @@ public abstract class SnmpNamedListTableCache extends SnmpListTableCache {
* the {@link JvmContextFactory}.
*
**/
- protected abstract List loadRawDatas(Map userData);
+ protected abstract List<?> loadRawDatas(Map<Object,Object> userData);
/**
*The name under which the raw data is to be found/put in
@@ -212,16 +212,16 @@ public abstract class SnmpNamedListTableCache extends SnmpListTableCache {
* the request contextual cache.
*
**/
- protected List getRawDatas(Map<Object, Object> userData, String key) {
- List rawDatas = null;
+ protected List<?> getRawDatas(Map<Object, Object> userData, String key) {
+ List<?> rawDatas = null;
// Look for memory manager list in request contextual cache.
if (userData != null)
- rawDatas = (List) userData.get(key);
+ rawDatas = (List<?>)userData.get(key);
if (rawDatas == null) {
// No list in contextual cache, get it from API
- rawDatas = loadRawDatas(userData);
+ rawDatas = loadRawDatas(userData);
// Put list in cache...
@@ -250,12 +250,12 @@ public abstract class SnmpNamedListTableCache extends SnmpListTableCache {
(context instanceof Map)?Util.<Map<Object, Object>>cast(context):null;
// Look for memory manager list in request contextual cache.
- final List rawDatas = getRawDatas(userData,getRawDatasKey());
+ final List<?> rawDatas = getRawDatas(userData,getRawDatasKey());
log.debug("updateCachedDatas","rawDatas.size()=" +
((rawDatas==null)?"<no data>":""+rawDatas.size()));
- TreeMap ctxt = new TreeMap();
+ TreeMap<String,SnmpOid> ctxt = new TreeMap<>();
final SnmpCachedData result =
super.updateCachedDatas(ctxt,rawDatas);
names = ctxt;
diff --git a/jdk/src/share/classes/sun/management/snmp/util/SnmpTableCache.java b/jdk/src/share/classes/sun/management/snmp/util/SnmpTableCache.java
index d65e5af..0786f21 100644
--- a/jdk/src/share/classes/sun/management/snmp/util/SnmpTableCache.java
+++ b/jdk/src/share/classes/sun/management/snmp/util/SnmpTableCache.java
@@ -98,7 +98,7 @@ public abstract class SnmpTableCache implements Serializable {
final SnmpCachedData cached = getCachedDatas();
if (cached != null) return cached;
final SnmpCachedData computedDatas = updateCachedDatas(context);
- if (validity != 0) datas = new WeakReference<SnmpCachedData>(computedDatas);
+ if (validity != 0) datas = new WeakReference<>(computedDatas);
return computedDatas;
}
diff --git a/jdk/src/share/classes/sun/misc/BASE64Decoder.java b/jdk/src/share/classes/sun/misc/BASE64Decoder.java
index 63f1228..d413252 100644
--- a/jdk/src/share/classes/sun/misc/BASE64Decoder.java
+++ b/jdk/src/share/classes/sun/misc/BASE64Decoder.java
@@ -102,6 +102,7 @@ public class BASE64Decoder extends CharacterDecoder {
/**
* Decode one BASE64 atom into 1, 2, or 3 bytes of data.
*/
+ @SuppressWarnings("fallthrough")
protected void decodeAtom(PushbackInputStream inStream, OutputStream outStream, int rem)
throws java.io.IOException
{
diff --git a/jdk/src/share/classes/sun/misc/CEFormatException.java b/jdk/src/share/classes/sun/misc/CEFormatException.java
index 974a55c..0b3aa05 100644
--- a/jdk/src/share/classes/sun/misc/CEFormatException.java
+++ b/jdk/src/share/classes/sun/misc/CEFormatException.java
@@ -28,7 +28,9 @@ package sun.misc;
import java.io.IOException;
public class CEFormatException extends IOException {
- public CEFormatException(String s) {
- super(s);
- }
+ static final long serialVersionUID = -7139121221067081482L;
+ public CEFormatException(String s) {
+ super(s);
+ }
}
+
diff --git a/jdk/src/share/classes/sun/misc/CEStreamExhausted.java b/jdk/src/share/classes/sun/misc/CEStreamExhausted.java
index 28e0ffe..d346d55 100644
--- a/jdk/src/share/classes/sun/misc/CEStreamExhausted.java
+++ b/jdk/src/share/classes/sun/misc/CEStreamExhausted.java
@@ -27,4 +27,7 @@ package sun.misc;
import java.io.IOException;
/** This exception is thrown when EOF is reached */
-public class CEStreamExhausted extends IOException { };
+public class CEStreamExhausted extends IOException {
+ static final long serialVersionUID = -5889118049525891904L;
+}
+
diff --git a/jdk/src/share/classes/sun/misc/ClassLoaderUtil.java b/jdk/src/share/classes/sun/misc/ClassLoaderUtil.java
index 61106db..81f00d4 100644
--- a/jdk/src/share/classes/sun/misc/ClassLoaderUtil.java
+++ b/jdk/src/share/classes/sun/misc/ClassLoaderUtil.java
@@ -79,9 +79,9 @@ public class ClassLoaderUtil {
URLClassPath ucp = SharedSecrets.getJavaNetAccess()
.getURLClassPath(classLoader);
- ArrayList loaders = ucp.loaders;
- Stack urls = ucp.urls;
- HashMap lmap = ucp.lmap;
+ ArrayList<?> loaders = ucp.loaders;
+ Stack<?> urls = ucp.urls;
+ HashMap<?,?> lmap = ucp.lmap;
/*
*The urls variable in the URLClassPath object holds URLs that have not yet
diff --git a/jdk/src/share/classes/sun/misc/CompoundEnumeration.java b/jdk/src/share/classes/sun/misc/CompoundEnumeration.java
index 69de7f8..fc3ecea 100644
--- a/jdk/src/share/classes/sun/misc/CompoundEnumeration.java
+++ b/jdk/src/share/classes/sun/misc/CompoundEnumeration.java
@@ -33,10 +33,10 @@ import java.util.NoSuchElementException;
* enumerations.
*/
public class CompoundEnumeration<E> implements Enumeration<E> {
- private Enumeration[] enums;
+ private Enumeration<E>[] enums;
private int index = 0;
- public CompoundEnumeration(Enumeration[] enums) {
+ public CompoundEnumeration(Enumeration<E>[] enums) {
this.enums = enums;
}
@@ -58,6 +58,6 @@ public class CompoundEnumeration<E> implements Enumeration<E> {
if (!next()) {
throw new NoSuchElementException();
}
- return (E)enums[index].nextElement();
+ return enums[index].nextElement();
}
}
diff --git a/jdk/src/share/classes/sun/misc/ExtensionDependency.java b/jdk/src/share/classes/sun/misc/ExtensionDependency.java
index ca9ad72..81a7774 100644
--- a/jdk/src/share/classes/sun/misc/ExtensionDependency.java
+++ b/jdk/src/share/classes/sun/misc/ExtensionDependency.java
@@ -70,7 +70,7 @@ import sun.net.www.ParseUtil;
public class ExtensionDependency {
/* Callbak interfaces to delegate installation of missing extensions */
- private static Vector providers;
+ private static Vector<ExtensionInstallationProvider> providers;
/**
* <p>
@@ -83,7 +83,7 @@ public class ExtensionDependency {
(ExtensionInstallationProvider eip)
{
if (providers == null) {
- providers = new Vector();
+ providers = new Vector<>();
}
providers.add(eip);
}
@@ -93,7 +93,7 @@ public class ExtensionDependency {
* Unregister a previously installed installation provider
* </p>
*/
- public synchronized static void removeExtensionInstallationProvider
+ public synchronized static void removeExtensionInstallationProvider
(ExtensionInstallationProvider eip)
{
providers.remove(eip);
@@ -348,14 +348,16 @@ public class ExtensionDependency {
ExtensionInfo instInfo)
throws ExtensionInstallationException
{
-
- Vector currentProviders;
+ Vector<ExtensionInstallationProvider> currentProviders;
synchronized(providers) {
- currentProviders = (Vector) providers.clone();
+ @SuppressWarnings("unchecked")
+ Vector<ExtensionInstallationProvider> tmp =
+ (Vector<ExtensionInstallationProvider>) providers.clone();
+ currentProviders = tmp;
}
- for (Enumeration e=currentProviders.elements();e.hasMoreElements();) {
- ExtensionInstallationProvider eip =
- (ExtensionInstallationProvider) e.nextElement();
+ for (Enumeration<ExtensionInstallationProvider> e = currentProviders.elements();
+ e.hasMoreElements();) {
+ ExtensionInstallationProvider eip = e.nextElement();
if (eip!=null) {
// delegate the installation to the provider
diff --git a/jdk/src/share/classes/sun/misc/ExtensionInstallationException.java b/jdk/src/share/classes/sun/misc/ExtensionInstallationException.java
index 61f484a..156ba0b 100644
--- a/jdk/src/share/classes/sun/misc/ExtensionInstallationException.java
+++ b/jdk/src/share/classes/sun/misc/ExtensionInstallationException.java
@@ -34,6 +34,8 @@ package sun.misc;
public class ExtensionInstallationException extends Exception {
+ static final long serialVersionUID = 3139688306909345924L;
+
/*
* <p>
* Construct a new exception with an exception reason
diff --git a/jdk/src/share/classes/sun/misc/FloatingDecimal.java b/jdk/src/share/classes/sun/misc/FloatingDecimal.java
index 4df0487..478f120 100644
--- a/jdk/src/share/classes/sun/misc/FloatingDecimal.java
+++ b/jdk/src/share/classes/sun/misc/FloatingDecimal.java
@@ -325,7 +325,7 @@ public class FloatingDecimal{
// can do int arithmetic rather than long!
int ivalue = (int)lvalue;
ndigits = 10;
- digits = (char[])(perThreadBuffer.get());
+ digits = perThreadBuffer.get();
digitno = ndigits-1;
c = ivalue%10;
ivalue /= 10;
@@ -345,7 +345,7 @@ public class FloatingDecimal{
// same algorithm as above (same bugs, too )
// but using long arithmetic.
ndigits = 20;
- digits = (char[])(perThreadBuffer.get());
+ digits = perThreadBuffer.get();
digitno = ndigits-1;
c = (int)(lvalue%10L);
lvalue /= 10L;
@@ -477,9 +477,9 @@ public class FloatingDecimal{
}
// Begin to unpack
// Discover obvious special cases of NaN and Infinity.
- binExp = (int)( (fBits&singleExpMask) >> singleExpShift );
+ binExp = (fBits&singleExpMask) >> singleExpShift;
fractBits = fBits&singleFractMask;
- if ( binExp == (int)(singleExpMask>>singleExpShift) ) {
+ if ( binExp == (singleExpMask>>singleExpShift) ) {
isExceptional = true;
if ( fractBits == 0L ){
digits = infinity;
@@ -900,7 +900,7 @@ public class FloatingDecimal{
}
public String toJavaFormatString() {
- char result[] = (char[])(perThreadBuffer.get());
+ char result[] = perThreadBuffer.get();
int i = getChars(result);
return new String(result, 0, i);
}
@@ -978,14 +978,14 @@ public class FloatingDecimal{
}
// Per-thread buffer for string/stringbuffer conversion
- private static ThreadLocal perThreadBuffer = new ThreadLocal() {
- protected synchronized Object initialValue() {
+ private static ThreadLocal<char[]> perThreadBuffer = new ThreadLocal<char[]>() {
+ protected synchronized char[] initialValue() {
return new char[26];
}
};
public void appendTo(Appendable buf) {
- char result[] = (char[])(perThreadBuffer.get());
+ char result[] = perThreadBuffer.get();
int i = getChars(result);
if (buf instanceof StringBuilder)
((StringBuilder) buf).append(result, 0, i);
@@ -995,6 +995,7 @@ public class FloatingDecimal{
assert false;
}
+ @SuppressWarnings("fallthrough")
public static FloatingDecimal
readJavaFormatString( String in ) throws NumberFormatException {
boolean isNegative = false;
@@ -2209,7 +2210,7 @@ public class FloatingDecimal{
// exponent correctly, even in the case of
// Double.MAX_VALUE overflowing to infinity.
- significand = (( ((long)exponent +
+ significand = (( (exponent +
(long)DoubleConsts.EXP_BIAS) <<
(DoubleConsts.SIGNIFICAND_WIDTH-1))
& DoubleConsts.EXP_BIT_MASK) |
diff --git a/jdk/src/share/classes/sun/misc/FormattedFloatingDecimal.java b/jdk/src/share/classes/sun/misc/FormattedFloatingDecimal.java
index 261dbc0..5532b92 100644
--- a/jdk/src/share/classes/sun/misc/FormattedFloatingDecimal.java
+++ b/jdk/src/share/classes/sun/misc/FormattedFloatingDecimal.java
@@ -333,7 +333,7 @@ public class FormattedFloatingDecimal{
// can do int arithmetic rather than long!
int ivalue = (int)lvalue;
ndigits = 10;
- digits = (char[])(perThreadBuffer.get());
+ digits = perThreadBuffer.get();
digitno = ndigits-1;
c = ivalue%10;
ivalue /= 10;
@@ -353,7 +353,7 @@ public class FormattedFloatingDecimal{
// same algorithm as above (same bugs, too )
// but using long arithmetic.
ndigits = 20;
- digits = (char[])(perThreadBuffer.get());
+ digits = perThreadBuffer.get();
digitno = ndigits-1;
c = (int)(lvalue%10L);
lvalue /= 10L;
@@ -554,9 +554,9 @@ public class FormattedFloatingDecimal{
}
// Begin to unpack
// Discover obvious special cases of NaN and Infinity.
- binExp = (int)( (fBits&singleExpMask) >> singleExpShift );
+ binExp = (fBits&singleExpMask) >> singleExpShift;
fractBits = fBits&singleFractMask;
- if ( binExp == (int)(singleExpMask>>singleExpShift) ) {
+ if ( binExp == (singleExpMask>>singleExpShift) ) {
isExceptional = true;
if ( fractBits == 0L ){
digits = infinity;
@@ -1140,8 +1140,8 @@ public class FormattedFloatingDecimal{
}
// Per-thread buffer for string/stringbuffer conversion
- private static ThreadLocal perThreadBuffer = new ThreadLocal() {
- protected synchronized Object initialValue() {
+ private static ThreadLocal<char[]> perThreadBuffer = new ThreadLocal<char[]>() {
+ protected synchronized char[] initialValue() {
return new char[26];
}
};
diff --git a/jdk/src/share/classes/sun/misc/InvalidJarIndexException.java b/jdk/src/share/classes/sun/misc/InvalidJarIndexException.java
index 83e8199..4c6de5d 100644
--- a/jdk/src/share/classes/sun/misc/InvalidJarIndexException.java
+++ b/jdk/src/share/classes/sun/misc/InvalidJarIndexException.java
@@ -38,6 +38,8 @@ import java.lang.LinkageError;
public
class InvalidJarIndexException extends RuntimeException {
+ static final long serialVersionUID = -6159797516569680148L;
+
/**
* Constructs an <code>InvalidJarIndexException</code> with no
* detail message.
diff --git a/jdk/src/share/classes/sun/misc/JarIndex.java b/jdk/src/share/classes/sun/misc/JarIndex.java
index f9781d6..02f3c52 100644
--- a/jdk/src/share/classes/sun/misc/JarIndex.java
+++ b/jdk/src/share/classes/sun/misc/JarIndex.java
@@ -48,13 +48,13 @@ public class JarIndex {
* The hash map that maintains mappings from
* package/classe/resource to jar file list(s)
*/
- private HashMap indexMap;
+ private HashMap<String,LinkedList<String>> indexMap;
/**
* The hash map that maintains mappings from
* jar file to package/class/resource lists
*/
- private HashMap jarMap;
+ private HashMap<String,LinkedList<String>> jarMap;
/*
* An ordered list of jar file names.
@@ -78,8 +78,8 @@ public class JarIndex {
* Constructs a new, empty jar index.
*/
public JarIndex() {
- indexMap = new HashMap();
- jarMap = new HashMap();
+ indexMap = new HashMap<>();
+ jarMap = new HashMap<>();
}
/**
@@ -150,10 +150,11 @@ public class JarIndex {
* Add the key, value pair to the hashmap, the value will
* be put in a linked list which is created if necessary.
*/
- private void addToList(String key, String value, HashMap t) {
- LinkedList list = (LinkedList)t.get(key);
+ private void addToList(String key, String value,
+ HashMap<String,LinkedList<String>> t) {
+ LinkedList<String> list = t.get(key);
if (list == null) {
- list = new LinkedList();
+ list = new LinkedList<>();
list.add(value);
t.put(key, list);
} else if (!list.contains(value)) {
@@ -166,13 +167,13 @@ public class JarIndex {
*
* @param fileName the key of the mapping
*/
- public LinkedList get(String fileName) {
- LinkedList jarFiles = null;
- if ((jarFiles = (LinkedList)indexMap.get(fileName)) == null) {
+ public LinkedList<String> get(String fileName) {
+ LinkedList<String> jarFiles = null;
+ if ((jarFiles = indexMap.get(fileName)) == null) {
/* try the package name again */
int pos;
if((pos = fileName.lastIndexOf("/")) != -1) {
- jarFiles = (LinkedList)indexMap.get(fileName.substring(0, pos));
+ jarFiles = indexMap.get(fileName.substring(0, pos));
}
}
return jarFiles;
@@ -235,9 +236,9 @@ public class JarIndex {
ZipFile zrf = new ZipFile(currentJar.replace
('/', File.separatorChar));
- Enumeration entries = zrf.entries();
+ Enumeration<? extends ZipEntry> entries = zrf.entries();
while(entries.hasMoreElements()) {
- ZipEntry entry = (ZipEntry) entries.nextElement();
+ ZipEntry entry = entries.nextElement();
String fileName = entry.getName();
// Skip the META-INF directory, the index, and manifest.
@@ -282,11 +283,11 @@ public class JarIndex {
/* print out the jar file name */
String jar = jarFiles[i];
bw.write(jar + "\n");
- LinkedList jarlist = (LinkedList)jarMap.get(jar);
+ LinkedList<String> jarlist = jarMap.get(jar);
if (jarlist != null) {
- Iterator listitr = jarlist.iterator();
+ Iterator<String> listitr = jarlist.iterator();
while(listitr.hasNext()) {
- bw.write((String)(listitr.next()) + "\n");
+ bw.write(listitr.next() + "\n");
}
}
bw.write("\n");
@@ -309,7 +310,7 @@ public class JarIndex {
String currentJar = null;
/* an ordered list of jar file names */
- Vector jars = new Vector();
+ Vector<String> jars = new Vector<>();
/* read until we see a .jar line */
while((line = br.readLine()) != null && !line.endsWith(".jar"));
@@ -328,7 +329,7 @@ public class JarIndex {
}
}
- jarFiles = (String[])jars.toArray(new String[jars.size()]);
+ jarFiles = jars.toArray(new String[jars.size()]);
}
/**
@@ -342,14 +343,14 @@ public class JarIndex {
*
*/
public void merge(JarIndex toIndex, String path) {
- Iterator itr = indexMap.entrySet().iterator();
+ Iterator<Map.Entry<String,LinkedList<String>>> itr = indexMap.entrySet().iterator();
while(itr.hasNext()) {
- Map.Entry e = (Map.Entry)itr.next();
- String packageName = (String)e.getKey();
- LinkedList from_list = (LinkedList)e.getValue();
- Iterator listItr = from_list.iterator();
+ Map.Entry<String,LinkedList<String>> e = itr.next();
+ String packageName = e.getKey();
+ LinkedList<String> from_list = e.getValue();
+ Iterator<String> listItr = from_list.iterator();
while(listItr.hasNext()) {
- String jarName = (String)listItr.next();
+ String jarName = listItr.next();
if (path != null) {
jarName = path.concat(jarName);
}
diff --git a/jdk/src/share/classes/sun/misc/JavaLangAccess.java b/jdk/src/share/classes/sun/misc/JavaLangAccess.java
index 82dc232..a021f10 100644
--- a/jdk/src/share/classes/sun/misc/JavaLangAccess.java
+++ b/jdk/src/share/classes/sun/misc/JavaLangAccess.java
@@ -34,19 +34,19 @@ import sun.nio.ch.Interruptible;
public interface JavaLangAccess {
/** Return the constant pool for a class. */
- ConstantPool getConstantPool(Class klass);
+ ConstantPool getConstantPool(Class<?> klass);
/**
* Set the AnnotationType instance corresponding to this class.
* (This method only applies to annotation types.)
*/
- void setAnnotationType(Class klass, AnnotationType annotationType);
+ void setAnnotationType(Class<?> klass, AnnotationType annotationType);
/**
* Get the AnnotationType instance corresponding to this class.
* (This method only applies to annotation types.)
*/
- AnnotationType getAnnotationType(Class klass);
+ AnnotationType getAnnotationType(Class<?> klass);
/**
* Returns the elements of an enum class or null if the
diff --git a/jdk/src/share/classes/sun/misc/JavaNetHttpCookieAccess.java b/jdk/src/share/classes/sun/misc/JavaNetHttpCookieAccess.java
new file mode 100644
index 0000000..8149a22
--- /dev/null
+++ b/jdk/src/share/classes/sun/misc/JavaNetHttpCookieAccess.java
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+package sun.misc;
+
+import java.net.HttpCookie;
+import java.util.List;
+
+public interface JavaNetHttpCookieAccess {
+ /*
+ * Constructs cookies from Set-Cookie or Set-Cookie2 header string,
+ * retaining the original header String in the cookie itself.
+ */
+ public List<HttpCookie> parse(String header);
+
+ /*
+ * Returns the original header this cookie was consructed from, if it was
+ * constructed by parsing a header, otherwise null.
+ */
+ public String header(HttpCookie cookie);
+}
+
diff --git a/jdk/src/share/classes/sun/misc/JavaUtilJarAccess.java b/jdk/src/share/classes/sun/misc/JavaUtilJarAccess.java
index 0f1efd1..8165482 100644
--- a/jdk/src/share/classes/sun/misc/JavaUtilJarAccess.java
+++ b/jdk/src/share/classes/sun/misc/JavaUtilJarAccess.java
@@ -40,5 +40,5 @@ public interface JavaUtilJarAccess {
public Enumeration<String> entryNames(JarFile jar, CodeSource[] cs);
public Enumeration<JarEntry> entries2(JarFile jar);
public void setEagerValidation(JarFile jar, boolean eager);
- public List getManifestDigests(JarFile jar);
+ public List<Object> getManifestDigests(JarFile jar);
}
diff --git a/jdk/src/share/classes/sun/misc/LRUCache.java b/jdk/src/share/classes/sun/misc/LRUCache.java
index d4b9554..f40f65a 100644
--- a/jdk/src/share/classes/sun/misc/LRUCache.java
+++ b/jdk/src/share/classes/sun/misc/LRUCache.java
@@ -52,7 +52,9 @@ public abstract class LRUCache<N,V> {
public V forName(N name) {
if (oa == null) {
- oa = (V[])new Object[size];
+ @SuppressWarnings("unchecked")
+ V[] temp = (V[])new Object[size];
+ oa = temp;
} else {
for (int i = 0; i < oa.length; i++) {
V ob = oa[i];
diff --git a/jdk/src/share/classes/sun/misc/Launcher.java b/jdk/src/share/classes/sun/misc/Launcher.java
index 3d9b336..71b3d3b 100644
--- a/jdk/src/share/classes/sun/misc/Launcher.java
+++ b/jdk/src/share/classes/sun/misc/Launcher.java
@@ -295,7 +295,7 @@ public class Launcher {
/**
* Override loadClass so we can checkPackageAccess.
*/
- public Class loadClass(String name, boolean resolve)
+ public Class<?> loadClass(String name, boolean resolve)
throws ClassNotFoundException
{
int i = name.lastIndexOf('.');
@@ -473,7 +473,7 @@ public class Launcher {
public URLStreamHandler createURLStreamHandler(String protocol) {
String name = PREFIX + "." + protocol + ".Handler";
try {
- Class c = Class.forName(name);
+ Class<?> c = Class.forName(name);
return (URLStreamHandler)c.newInstance();
} catch (ReflectiveOperationException e) {
throw new InternalError("could not load " + protocol +
diff --git a/jdk/src/share/classes/sun/misc/ProxyGenerator.java b/jdk/src/share/classes/sun/misc/ProxyGenerator.java
index c66f82c..4b5e361 100644
--- a/jdk/src/share/classes/sun/misc/ProxyGenerator.java
+++ b/jdk/src/share/classes/sun/misc/ProxyGenerator.java
@@ -351,7 +351,7 @@ public class ProxyGenerator {
try {
hashCodeMethod = Object.class.getMethod("hashCode");
equalsMethod =
- Object.class.getMethod("equals", new Class[] { Object.class });
+ Object.class.getMethod("equals", new Class<?>[] { Object.class });
toStringMethod = Object.class.getMethod("toString");
} catch (NoSuchMethodException e) {
throw new NoSuchMethodError(e.getMessage());
@@ -559,11 +559,11 @@ public class ProxyGenerator {
* passed to the invocation handler's "invoke" method for a given
* set of duplicate methods.
*/
- private void addProxyMethod(Method m, Class fromClass) {
+ private void addProxyMethod(Method m, Class<?> fromClass) {
String name = m.getName();
- Class[] parameterTypes = m.getParameterTypes();
- Class returnType = m.getReturnType();
- Class[] exceptionTypes = m.getExceptionTypes();
+ Class<?>[] parameterTypes = m.getParameterTypes();
+ Class<?> returnType = m.getReturnType();
+ Class<?>[] exceptionTypes = m.getExceptionTypes();
String sig = name + getParameterDescriptors(parameterTypes);
List<ProxyMethod> sigmethods = proxyMethods.get(sig);
@@ -581,7 +581,7 @@ public class ProxyGenerator {
exceptionTypes, pm.exceptionTypes, legalExceptions);
collectCompatibleTypes(
pm.exceptionTypes, exceptionTypes, legalExceptions);
- pm.exceptionTypes = new Class[legalExceptions.size()];
+ pm.exceptionTypes = new Class<?>[legalExceptions.size()];
pm.exceptionTypes =
legalExceptions.toArray(pm.exceptionTypes);
return;
@@ -848,15 +848,15 @@ public class ProxyGenerator {
private class ProxyMethod {
public String methodName;
- public Class[] parameterTypes;
- public Class returnType;
- public Class[] exceptionTypes;
- public Class fromClass;
+ public Class<?>[] parameterTypes;
+ public Class<?> returnType;
+ public Class<?>[] exceptionTypes;
+ public Class<?> fromClass;
public String methodFieldName;
- private ProxyMethod(String methodName, Class[] parameterTypes,
- Class returnType, Class[] exceptionTypes,
- Class fromClass)
+ private ProxyMethod(String methodName, Class<?>[] parameterTypes,
+ Class<?> returnType, Class<?>[] exceptionTypes,
+ Class<?> fromClass)
{
this.methodName = methodName;
this.parameterTypes = parameterTypes;
@@ -1001,7 +1001,7 @@ public class ProxyGenerator {
* invocation handler's "invoke" method. The code is written
* to the supplied stream.
*/
- private void codeWrapArgument(Class type, int slot,
+ private void codeWrapArgument(Class<?> type, int slot,
DataOutputStream out)
throws IOException
{
@@ -1042,7 +1042,7 @@ public class ProxyGenerator {
* Object) to its correct type. The code is written to the
* supplied stream.
*/
- private void codeUnwrapReturnValue(Class type, DataOutputStream out)
+ private void codeUnwrapReturnValue(Class<?> type, DataOutputStream out)
throws IOException
{
if (type.isPrimitive()) {
@@ -1391,7 +1391,7 @@ public class ProxyGenerator {
* the supplied stream. Note that the code generated by this method
* may caused the checked ClassNotFoundException to be thrown.
*/
- private void codeClassForName(Class cl, DataOutputStream out)
+ private void codeClassForName(Class<?> cl, DataOutputStream out)
throws IOException
{
code_ldc(cp.getString(cl.getName()), out);
@@ -1422,8 +1422,8 @@ public class ProxyGenerator {
* Return the "method descriptor" string for a method with the given
* parameter types and return type. See JVMS section 4.3.3.
*/
- private static String getMethodDescriptor(Class[] parameterTypes,
- Class returnType)
+ private static String getMethodDescriptor(Class<?>[] parameterTypes,
+ Class<?> returnType)
{
return getParameterDescriptors(parameterTypes) +
((returnType == void.class) ? "V" : getFieldType(returnType));
@@ -1436,7 +1436,7 @@ public class ProxyGenerator {
* string is useful for constructing string keys for methods without
* regard to their return type.
*/
- private static String getParameterDescriptors(Class[] parameterTypes) {
+ private static String getParameterDescriptors(Class<?>[] parameterTypes) {
StringBuilder desc = new StringBuilder("(");
for (int i = 0; i < parameterTypes.length; i++) {
desc.append(getFieldType(parameterTypes[i]));
@@ -1450,7 +1450,7 @@ public class ProxyGenerator {
* a field descriptor, a parameter descriptor, or a return descriptor
* other than "void". See JVMS section 4.3.2.
*/
- private static String getFieldType(Class type) {
+ private static String getFieldType(Class<?> type) {
if (type.isPrimitive()) {
return PrimitiveTypeInfo.get(type).baseTypeString;
} else if (type.isArray()) {
@@ -1472,7 +1472,7 @@ public class ProxyGenerator {
* method with the given name and parameter types.
*/
private static String getFriendlyMethodSignature(String name,
- Class[] parameterTypes)
+ Class<?>[] parameterTypes)
{
StringBuilder sig = new StringBuilder(name);
sig.append('(');
@@ -1480,7 +1480,7 @@ public class ProxyGenerator {
if (i > 0) {
sig.append(',');
}
- Class parameterType = parameterTypes[i];
+ Class<?> parameterType = parameterTypes[i];
int dimensions = 0;
while (parameterType.isArray()) {
parameterType = parameterType.getComponentType();
@@ -1504,7 +1504,7 @@ public class ProxyGenerator {
* this abstract notion of a "word" in section 3.4, but that definition
* was removed for the second edition.
*/
- private static int getWordsPerType(Class type) {
+ private static int getWordsPerType(Class<?> type) {
if (type == long.class || type == double.class) {
return 2;
} else {
@@ -1632,8 +1632,7 @@ public class ProxyGenerator {
/** descriptor of same method */
public String unwrapMethodDesc;
- private static Map<Class,PrimitiveTypeInfo> table =
- new HashMap<Class,PrimitiveTypeInfo>();
+ private static Map<Class<?>,PrimitiveTypeInfo> table = new HashMap<>();
static {
add(byte.class, Byte.class);
add(char.class, Character.class);
@@ -1645,12 +1644,12 @@ public class ProxyGenerator {
add(boolean.class, Boolean.class);
}
- private static void add(Class primitiveClass, Class wrapperClass) {
+ private static void add(Class<?> primitiveClass, Class<?> wrapperClass) {
table.put(primitiveClass,
new PrimitiveTypeInfo(primitiveClass, wrapperClass));
}
- private PrimitiveTypeInfo(Class primitiveClass, Class wrapperClass) {
+ private PrimitiveTypeInfo(Class<?> primitiveClass, Class<?> wrapperClass) {
assert primitiveClass.isPrimitive();
baseTypeString =
@@ -1663,7 +1662,7 @@ public class ProxyGenerator {
unwrapMethodDesc = "()" + baseTypeString;
}
- public static PrimitiveTypeInfo get(Class cl) {
+ public static PrimitiveTypeInfo get(Class<?> cl) {
return table.get(cl);
}
}
@@ -1694,7 +1693,7 @@ public class ProxyGenerator {
* and for assigning the next index value. Note that element 0
* of this list corresponds to constant pool index 1.
*/
- private List<Entry> pool = new ArrayList<Entry>(32);
+ private List<Entry> pool = new ArrayList<>(32);
/**
* maps constant pool data of all types to constant pool indexes.
@@ -1702,7 +1701,7 @@ public class ProxyGenerator {
* This map is used to look up the index of an existing entry for
* values of all types.
*/
- private Map<Object,Short> map = new HashMap<Object,Short>(16);
+ private Map<Object,Short> map = new HashMap<>(16);
/** true if no new constant pool entries may be added */
private boolean readOnly = false;
diff --git a/jdk/src/share/classes/sun/misc/Queue.java b/jdk/src/share/classes/sun/misc/Queue.java
index 4edc8c9..5a447a5 100644
--- a/jdk/src/share/classes/sun/misc/Queue.java
+++ b/jdk/src/share/classes/sun/misc/Queue.java
@@ -35,12 +35,12 @@ import java.util.NoSuchElementException;
* @author Herb Jellinek
*/
-public class Queue {
+public class Queue<T> {
int length = 0;
- QueueElement head = null;
- QueueElement tail = null;
+ QueueElement<T> head = null;
+ QueueElement<T> tail = null;
public Queue() {
}
@@ -48,9 +48,9 @@ public class Queue {
/**
* Enqueue an object.
*/
- public synchronized void enqueue(Object obj) {
+ public synchronized void enqueue(T obj) {
- QueueElement newElt = new QueueElement(obj);
+ QueueElement<T> newElt = new QueueElement<>(obj);
if (head == null) {
head = newElt;
@@ -72,7 +72,7 @@ public class Queue {
* @exception java.lang.InterruptedException if any thread has
* interrupted this thread.
*/
- public Object dequeue() throws InterruptedException {
+ public T dequeue() throws InterruptedException {
return dequeue(0L);
}
@@ -85,13 +85,13 @@ public class Queue {
* @exception java.lang.InterruptedException if any thread has
* interrupted this thread.
*/
- public synchronized Object dequeue(long timeOut)
+ public synchronized T dequeue(long timeOut)
throws InterruptedException {
while (tail == null) {
wait(timeOut);
}
- QueueElement elt = tail;
+ QueueElement<T> elt = tail;
tail = elt.prev;
if (tail == null) {
head = null;
@@ -115,8 +115,8 @@ public class Queue {
* order. Use the Enumeration methods on the returned object to
* fetch the elements sequentially.
*/
- public final synchronized Enumeration elements() {
- return new LIFOQueueEnumerator(this);
+ public final synchronized Enumeration<T> elements() {
+ return new LIFOQueueEnumerator<>(this);
}
/**
@@ -124,8 +124,8 @@ public class Queue {
* order. Use the Enumeration methods on the returned object to
* fetch the elements sequentially.
*/
- public final synchronized Enumeration reverseElements() {
- return new FIFOQueueEnumerator(this);
+ public final synchronized Enumeration<T> reverseElements() {
+ return new FIFOQueueEnumerator<>(this);
}
public synchronized void dump(String msg) {
@@ -133,8 +133,8 @@ public class Queue {
System.err.println("["+length+" elt(s); head = "+
(head == null ? "null" : (head.obj)+"")+
" tail = "+(tail == null ? "null" : (tail.obj)+""));
- QueueElement cursor = head;
- QueueElement last = null;
+ QueueElement<T> cursor = head;
+ QueueElement<T> last = null;
while (cursor != null) {
System.err.println(" "+cursor);
last = cursor;
@@ -147,11 +147,11 @@ public class Queue {
}
}
-final class FIFOQueueEnumerator implements Enumeration {
- Queue queue;
- QueueElement cursor;
+final class FIFOQueueEnumerator<T> implements Enumeration<T> {
+ Queue<T> queue;
+ QueueElement<T> cursor;
- FIFOQueueEnumerator(Queue q) {
+ FIFOQueueEnumerator(Queue<T> q) {
queue = q;
cursor = q.tail;
}
@@ -160,10 +160,10 @@ final class FIFOQueueEnumerator implements Enumeration {
return (cursor != null);
}
- public Object nextElement() {
+ public T nextElement() {
synchronized (queue) {
if (cursor != null) {
- QueueElement result = cursor;
+ QueueElement<T> result = cursor;
cursor = cursor.prev;
return result.obj;
}
@@ -172,11 +172,11 @@ final class FIFOQueueEnumerator implements Enumeration {
}
}
-final class LIFOQueueEnumerator implements Enumeration {
- Queue queue;
- QueueElement cursor;
+final class LIFOQueueEnumerator<T> implements Enumeration<T> {
+ Queue<T> queue;
+ QueueElement<T> cursor;
- LIFOQueueEnumerator(Queue q) {
+ LIFOQueueEnumerator(Queue<T> q) {
queue = q;
cursor = q.head;
}
@@ -185,10 +185,10 @@ final class LIFOQueueEnumerator implements Enumeration {
return (cursor != null);
}
- public Object nextElement() {
+ public T nextElement() {
synchronized (queue) {
if (cursor != null) {
- QueueElement result = cursor;
+ QueueElement<T> result = cursor;
cursor = cursor.next;
return result.obj;
}
@@ -197,13 +197,13 @@ final class LIFOQueueEnumerator implements Enumeration {
}
}
-class QueueElement {
- QueueElement next = null;
- QueueElement prev = null;
+class QueueElement<T> {
+ QueueElement<T> next = null;
+ QueueElement<T> prev = null;
- Object obj = null;
+ T obj = null;
- QueueElement(Object obj) {
+ QueueElement(T obj) {
this.obj = obj;
}
diff --git a/jdk/src/share/classes/sun/misc/RequestProcessor.java b/jdk/src/share/classes/sun/misc/RequestProcessor.java
index ae9e1b9..51b8e99 100644
--- a/jdk/src/share/classes/sun/misc/RequestProcessor.java
+++ b/jdk/src/share/classes/sun/misc/RequestProcessor.java
@@ -36,7 +36,7 @@ package sun.misc;
public class RequestProcessor implements Runnable {
- private static Queue requestQueue;
+ private static Queue<Request> requestQueue;
private static Thread dispatcher;
/**
@@ -55,15 +55,12 @@ public class RequestProcessor implements Runnable {
lazyInitialize();
while (true) {
try {
- Object obj = requestQueue.dequeue();
- if (obj instanceof Request) { // ignore bogons
- Request req = (Request)obj;
- try {
- req.execute();
- } catch (Throwable t) {
- // do nothing at the moment...maybe report an error
- // in the future
- }
+ Request req = requestQueue.dequeue();
+ try {
+ req.execute();
+ } catch (Throwable t) {
+ // do nothing at the moment...maybe report an error
+ // in the future
}
} catch (InterruptedException e) {
// do nothing at the present time.
@@ -92,7 +89,7 @@ public class RequestProcessor implements Runnable {
*/
private static synchronized void lazyInitialize() {
if (requestQueue == null) {
- requestQueue = new Queue();
+ requestQueue = new Queue<Request>();
}
}
diff --git a/jdk/src/share/classes/sun/misc/Service.java b/jdk/src/share/classes/sun/misc/Service.java
index ce0ed44..37d39b4 100644
--- a/jdk/src/share/classes/sun/misc/Service.java
+++ b/jdk/src/share/classes/sun/misc/Service.java
@@ -125,13 +125,13 @@ import java.util.TreeSet;
* @since 1.3
*/
-public final class Service {
+public final class Service<S> {
private static final String prefix = "META-INF/services/";
private Service() { }
- private static void fail(Class service, String msg, Throwable cause)
+ private static void fail(Class<?> service, String msg, Throwable cause)
throws ServiceConfigurationError
{
ServiceConfigurationError sce
@@ -140,13 +140,13 @@ public final class Service {
throw sce;
}
- private static void fail(Class service, String msg)
+ private static void fail(Class<?> service, String msg)
throws ServiceConfigurationError
{
throw new ServiceConfigurationError(service.getName() + ": " + msg);
}
- private static void fail(Class service, URL u, int line, String msg)
+ private static void fail(Class<?> service, URL u, int line, String msg)
throws ServiceConfigurationError
{
fail(service, u + ":" + line + ": " + msg);
@@ -157,8 +157,8 @@ public final class Service {
* on the line to both the names list and the returned set iff the name is
* not already a member of the returned set.
*/
- private static int parseLine(Class service, URL u, BufferedReader r, int lc,
- List names, Set returned)
+ private static int parseLine(Class<?> service, URL u, BufferedReader r, int lc,
+ List<String> names, Set<String> returned)
throws IOException, ServiceConfigurationError
{
String ln = r.readLine();
@@ -211,12 +211,12 @@ public final class Service {
* If an I/O error occurs while reading from the given URL, or
* if a configuration-file format error is detected
*/
- private static Iterator parse(Class service, URL u, Set returned)
+ private static Iterator<String> parse(Class<?> service, URL u, Set<String> returned)
throws ServiceConfigurationError
{
InputStream in = null;
BufferedReader r = null;
- ArrayList names = new ArrayList();
+ ArrayList<String> names = new ArrayList<>();
try {
in = u.openStream();
r = new BufferedReader(new InputStreamReader(in, "utf-8"));
@@ -239,16 +239,16 @@ public final class Service {
/**
* Private inner class implementing fully-lazy provider lookup
*/
- private static class LazyIterator implements Iterator {
+ private static class LazyIterator<S> implements Iterator<S> {
- Class service;
+ Class<S> service;
ClassLoader loader;
- Enumeration configs = null;
- Iterator pending = null;
- Set returned = new TreeSet();
+ Enumeration<URL> configs = null;
+ Iterator<String> pending = null;
+ Set<String> returned = new TreeSet<>();
String nextName = null;
- private LazyIterator(Class service, ClassLoader loader) {
+ private LazyIterator(Class<S> service, ClassLoader loader) {
this.service = service;
this.loader = loader;
}
@@ -272,20 +272,20 @@ public final class Service {
if (!configs.hasMoreElements()) {
return false;
}
- pending = parse(service, (URL)configs.nextElement(), returned);
+ pending = parse(service, configs.nextElement(), returned);
}
- nextName = (String)pending.next();
+ nextName = pending.next();
return true;
}
- public Object next() throws ServiceConfigurationError {
+ public S next() throws ServiceConfigurationError {
if (!hasNext()) {
throw new NoSuchElementException();
}
String cn = nextName;
nextName = null;
try {
- return Class.forName(cn, true, loader).newInstance();
+ return service.cast(Class.forName(cn, true, loader).newInstance());
} catch (ClassNotFoundException x) {
fail(service,
"Provider " + cn + " not found");
@@ -342,10 +342,10 @@ public final class Service {
* @see #providers(java.lang.Class)
* @see #installedProviders(java.lang.Class)
*/
- public static Iterator providers(Class service, ClassLoader loader)
+ public static <S> Iterator<S> providers(Class<S> service, ClassLoader loader)
throws ServiceConfigurationError
{
- return new LazyIterator(service, loader);
+ return new LazyIterator<S>(service, loader);
}
@@ -374,7 +374,7 @@ public final class Service {
*
* @see #providers(java.lang.Class, java.lang.ClassLoader)
*/
- public static Iterator providers(Class service)
+ public static <S> Iterator<S> providers(Class<S> service)
throws ServiceConfigurationError
{
ClassLoader cl = Thread.currentThread().getContextClassLoader();
@@ -411,7 +411,7 @@ public final class Service {
*
* @see #providers(java.lang.Class, java.lang.ClassLoader)
*/
- public static Iterator installedProviders(Class service)
+ public static <S> Iterator<S> installedProviders(Class<S> service)
throws ServiceConfigurationError
{
ClassLoader cl = ClassLoader.getSystemClassLoader();
diff --git a/jdk/src/share/classes/sun/misc/ServiceConfigurationError.java b/jdk/src/share/classes/sun/misc/ServiceConfigurationError.java
index 5659b23..74d0c84 100644
--- a/jdk/src/share/classes/sun/misc/ServiceConfigurationError.java
+++ b/jdk/src/share/classes/sun/misc/ServiceConfigurationError.java
@@ -43,6 +43,8 @@ package sun.misc;
public class ServiceConfigurationError extends Error {
+ static final long serialVersionUID = 8769866263384244465L;
+
/**
* Constructs a new instance with the specified detail string.
*/
diff --git a/jdk/src/share/classes/sun/misc/SharedSecrets.java b/jdk/src/share/classes/sun/misc/SharedSecrets.java
index 778d7ae..f03aa93 100644
--- a/jdk/src/share/classes/sun/misc/SharedSecrets.java
+++ b/jdk/src/share/classes/sun/misc/SharedSecrets.java
@@ -48,6 +48,7 @@ public class SharedSecrets {
private static JavaLangModuleAccess javaLangModuleAccess;
private static JavaIOAccess javaIOAccess;
private static JavaNetAccess javaNetAccess;
+ private static JavaNetHttpCookieAccess javaNetHttpCookieAccess;
private static JavaNioAccess javaNioAccess;
private static JavaIOFileDescriptorAccess javaIOFileDescriptorAccess;
private static JavaSecurityProtectionDomainAccess javaSecurityProtectionDomainAccess;
@@ -90,6 +91,16 @@ public class SharedSecrets {
return javaNetAccess;
}
+ public static void setJavaNetHttpCookieAccess(JavaNetHttpCookieAccess a) {
+ javaNetHttpCookieAccess = a;
+ }
+
+ public static JavaNetHttpCookieAccess getJavaNetHttpCookieAccess() {
+ if (javaNetHttpCookieAccess == null)
+ unsafe.ensureClassInitialized(java.net.HttpCookie.class);
+ return javaNetHttpCookieAccess;
+ }
+
public static void setJavaNioAccess(JavaNioAccess jna) {
javaNioAccess = jna;
}
diff --git a/jdk/src/share/classes/sun/misc/Signal.java b/jdk/src/share/classes/sun/misc/Signal.java
index 613cc38..b663c5b 100644
--- a/jdk/src/share/classes/sun/misc/Signal.java
+++ b/jdk/src/share/classes/sun/misc/Signal.java
@@ -72,8 +72,8 @@ import java.util.Hashtable;
* @since 1.2
*/
public final class Signal {
- private static Hashtable handlers = new Hashtable(4);
- private static Hashtable signals = new Hashtable(4);
+ private static Hashtable<Signal,SignalHandler> handlers = new Hashtable<>(4);
+ private static Hashtable<Integer,Signal> signals = new Hashtable<>(4);
private int number;
private String name;
@@ -166,9 +166,9 @@ public final class Signal {
throw new IllegalArgumentException
("Signal already used by VM or OS: " + sig);
}
- signals.put(new Integer(sig.number), sig);
+ signals.put(sig.number, sig);
synchronized (handlers) {
- SignalHandler oldHandler = (SignalHandler)handlers.get(sig);
+ SignalHandler oldHandler = handlers.get(sig);
handlers.remove(sig);
if (newH == 2) {
handlers.put(sig, handler);
@@ -200,8 +200,8 @@ public final class Signal {
/* Called by the VM to execute Java signal handlers. */
private static void dispatch(final int number) {
- final Signal sig = (Signal)signals.get(new Integer(number));
- final SignalHandler handler = (SignalHandler)handlers.get(sig);
+ final Signal sig = signals.get(number);
+ final SignalHandler handler = handlers.get(sig);
Runnable runnable = new Runnable () {
public void run() {
diff --git a/jdk/src/share/classes/sun/misc/URLClassPath.java b/jdk/src/share/classes/sun/misc/URLClassPath.java
index cee9823..eb6b86a 100644
--- a/jdk/src/share/classes/sun/misc/URLClassPath.java
+++ b/jdk/src/share/classes/sun/misc/URLClassPath.java
@@ -836,10 +836,9 @@ public class URLClassPath {
Set<String> visited) {
Resource res;
- Object[] jarFiles;
- boolean done = false;
+ String[] jarFiles;
int count = 0;
- LinkedList jarFilesList = null;
+ LinkedList<String> jarFilesList = null;
/* If there no jar files in the index that can potential contain
* this resource then return immediately.
@@ -848,11 +847,11 @@ public class URLClassPath {
return null;
do {
- jarFiles = jarFilesList.toArray();
int size = jarFilesList.size();
+ jarFiles = jarFilesList.toArray(new String[size]);
/* loop through the mapped jar file list */
while(count < size) {
- String jarName = (String)jarFiles[count++];
+ String jarName = jarFiles[count++];
JarLoader newLoader;
final URL url;
diff --git a/jdk/src/share/classes/sun/misc/Unsafe.java b/jdk/src/share/classes/sun/misc/Unsafe.java
index dba1628..da7ec27 100644
--- a/jdk/src/share/classes/sun/misc/Unsafe.java
+++ b/jdk/src/share/classes/sun/misc/Unsafe.java
@@ -81,7 +81,7 @@ public final class Unsafe {
* access to the system properties.
*/
public static Unsafe getUnsafe() {
- Class cc = sun.reflect.Reflection.getCallerClass(2);
+ Class<?> cc = sun.reflect.Reflection.getCallerClass(2);
if (cc.getClassLoader() != null)
throw new SecurityException("Unsafe");
return theUnsafe;
@@ -616,7 +616,7 @@ public final class Unsafe {
* for a given class in one place.
*/
@Deprecated
- public Object staticFieldBase(Class c) {
+ public Object staticFieldBase(Class<?> c) {
Field[] fields = c.getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
if (Modifier.isStatic(fields[i].getModifiers())) {
@@ -682,7 +682,7 @@ public final class Unsafe {
* needed in conjunction with obtaining the static field base of a
* class.
*/
- public native void ensureClassInitialized(Class c);
+ public native void ensureClassInitialized(Class<?> c);
/**
* Report the offset of the first element in the storage allocation of a
@@ -694,7 +694,7 @@ public final class Unsafe {
* @see #getInt(Object, long)
* @see #putInt(Object, long, int)
*/
- public native int arrayBaseOffset(Class arrayClass);
+ public native int arrayBaseOffset(Class<?> arrayClass);
/** The value of {@code arrayBaseOffset(boolean[].class)} */
public static final int ARRAY_BOOLEAN_BASE_OFFSET
@@ -743,7 +743,7 @@ public final class Unsafe {
* @see #getInt(Object, long)
* @see #putInt(Object, long, int)
*/
- public native int arrayIndexScale(Class arrayClass);
+ public native int arrayIndexScale(Class<?> arrayClass);
/** The value of {@code arrayIndexScale(boolean[].class)} */
public static final int ARRAY_BOOLEAN_INDEX_SCALE
@@ -805,11 +805,11 @@ public final class Unsafe {
* Tell the VM to define a class, without security checks. By default, the
* class loader and protection domain come from the caller's class.
*/
- public native Class defineClass(String name, byte[] b, int off, int len,
- ClassLoader loader,
- ProtectionDomain protectionDomain);
+ public native Class<?> defineClass(String name, byte[] b, int off, int len,
+ ClassLoader loader,
+ ProtectionDomain protectionDomain);
- public native Class defineClass(String name, byte[] b, int off, int len);
+ public native Class<?> defineClass(String name, byte[] b, int off, int len);
/**
* Define a class but do not make it known to the class loader or system dictionary.
@@ -827,12 +827,12 @@ public final class Unsafe {
* @params data bytes of a class file
* @params cpPatches where non-null entries exist, they replace corresponding CP entries in data
*/
- public native Class defineAnonymousClass(Class hostClass, byte[] data, Object[] cpPatches);
+ public native Class<?> defineAnonymousClass(Class<?> hostClass, byte[] data, Object[] cpPatches);
/** Allocate an instance but do not run any constructor.
Initializes the class if it has not yet been. */
- public native Object allocateInstance(Class cls)
+ public native Object allocateInstance(Class<?> cls)
throws InstantiationException;
/** Lock the object. It must get unlocked via {@link #monitorExit}. */
diff --git a/jdk/src/share/classes/sun/misc/VM.java b/jdk/src/share/classes/sun/misc/VM.java
index e1fb584..9928b84 100644
--- a/jdk/src/share/classes/sun/misc/VM.java
+++ b/jdk/src/share/classes/sun/misc/VM.java
@@ -48,6 +48,7 @@ public class VM {
return suspended;
}
+ @SuppressWarnings("deprecation")
public static boolean allowThreadSuspension(ThreadGroup g, boolean b) {
return g.allowThreadSuspension(b);
}
@@ -167,7 +168,7 @@ public class VM {
//
// The initial value of this field is arbitrary; during JRE initialization
// it will be reset to the value specified on the command line, if any,
- // otherwise to Runtime.getRuntime.maxDirectMemory().
+ // otherwise to Runtime.getRuntime().maxMemory().
//
private static long directMemory = 64 * 1024 * 1024;
diff --git a/jdk/src/share/classes/sun/net/RegisteredDomain.java b/jdk/src/share/classes/sun/net/RegisteredDomain.java
index 49c67c2..7e75b32 100644
--- a/jdk/src/share/classes/sun/net/RegisteredDomain.java
+++ b/jdk/src/share/classes/sun/net/RegisteredDomain.java
@@ -118,8 +118,8 @@ private static Set<String> usStateSet = new HashSet<String>(Arrays.asList("ak",
private static Set<String> usSubStateSet = new HashSet<String>(Arrays.asList("state",
"lib", "k12", "cc", "tec", "gen", "cog", "mus", "dst"));
-private static Map<String,Set> topMap = new HashMap<String,Set>();
-private static Map<String,Set> top3Map = new HashMap<String,Set>();
+private static Map<String,Set<String>> topMap = new HashMap<>();
+private static Map<String,Set<String>> top3Map = new HashMap<>();
static {
/*
@@ -764,7 +764,7 @@ static {
*/
String str = cname.substring(third + 1);
if (third != -1) {
- Set set = top3Map.get(s);
+ Set<String> set = top3Map.get(s);
if (set != null) {
if (set.contains(str)) {
return cname.substring(fourth + 1);
@@ -801,7 +801,7 @@ static {
/*
* XX.MA.US.
*/
- Set topSet = topMap.get(s);
+ Set<String> topSet = topMap.get(s);
if (topSet != null) {
if (topSet.contains(s2)) {
return cname.substring(third + 1);
diff --git a/jdk/src/share/classes/sun/net/ftp/FtpClientProvider.java b/jdk/src/share/classes/sun/net/ftp/FtpClientProvider.java
index 7a09810..06deae6 100644
--- a/jdk/src/share/classes/sun/net/ftp/FtpClientProvider.java
+++ b/jdk/src/share/classes/sun/net/ftp/FtpClientProvider.java
@@ -27,7 +27,7 @@ package sun.net.ftp;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.ServiceConfigurationError;
-//import sun.misc.Service;
+//import java.util.ServiceLoader;
/**
* Service provider class for FtpClient.
@@ -79,20 +79,22 @@ public abstract class FtpClientProvider {
}
private static boolean loadProviderAsService() {
- // Iterator i = Service.providers(FtpClientProvider.class,
- // ClassLoader.getSystemClassLoader());
- // while (i.hasNext()) {
- // try {
- // provider = (FtpClientProvider) i.next();
- // return true;
- // } catch (ServiceConfigurationError sce) {
- // if (sce.getCause() instanceof SecurityException) {
- // // Ignore, try next provider, if any
- // continue;
- // }
- // throw sce;
- // }
- // }
+// Iterator<FtpClientProvider> i =
+// ServiceLoader.load(FtpClientProvider.class,
+// ClassLoader.getSystemClassLoader()).iterator();
+//
+// while (i.hasNext()) {
+// try {
+// provider = i.next();
+// return true;
+// } catch (ServiceConfigurationError sce) {
+// if (sce.getCause() instanceof SecurityException) {
+// // Ignore, try next provider, if any
+// continue;
+// }
+// throw sce;
+// }
+// }
return false;
}
diff --git a/jdk/src/share/classes/sun/net/httpserver/ServerImpl.java b/jdk/src/share/classes/sun/net/httpserver/ServerImpl.java
index cce9c13..69a9e65 100644
--- a/jdk/src/share/classes/sun/net/httpserver/ServerImpl.java
+++ b/jdk/src/share/classes/sun/net/httpserver/ServerImpl.java
@@ -402,10 +402,10 @@ class ServerImpl implements TimeSource {
} catch (IOException e) {
logger.log (Level.FINER, "Dispatcher (4)", e);
} catch (Exception e) {
- e.printStackTrace();
logger.log (Level.FINER, "Dispatcher (7)", e);
}
}
+ try {selector.close(); } catch (Exception e) {}
}
private void handleException (SelectionKey key, Exception e) {
diff --git a/jdk/src/share/classes/sun/net/www/content/image/gif.java b/jdk/src/share/classes/sun/net/www/content/image/gif.java
index adba0c1..a1c9a44 100644
--- a/jdk/src/share/classes/sun/net/www/content/image/gif.java
+++ b/jdk/src/share/classes/sun/net/www/content/image/gif.java
@@ -37,15 +37,16 @@ public class gif extends ContentHandler {
return new URLImageSource(urlc);
}
- public Object getContent(URLConnection urlc, Class<?>[] classes) throws IOException {
- for (int i = 0; i < classes.length; i++) {
- if (classes[i].isAssignableFrom(URLImageSource.class)) {
+ public Object getContent(URLConnection urlc, Class[] classes) throws IOException {
+ Class<?>[] cls = classes;
+ for (int i = 0; i < cls.length; i++) {
+ if (cls[i].isAssignableFrom(URLImageSource.class)) {
return new URLImageSource(urlc);
- }
- if (classes[i].isAssignableFrom(Image.class)) {
- Toolkit tk = Toolkit.getDefaultToolkit();
- return tk.createImage(new URLImageSource(urlc));
- }
+ }
+ if (cls[i].isAssignableFrom(Image.class)) {
+ Toolkit tk = Toolkit.getDefaultToolkit();
+ return tk.createImage(new URLImageSource(urlc));
+ }
}
return null;
}
diff --git a/jdk/src/share/classes/sun/net/www/content/image/jpeg.java b/jdk/src/share/classes/sun/net/www/content/image/jpeg.java
index 8076954..c884c05 100644
--- a/jdk/src/share/classes/sun/net/www/content/image/jpeg.java
+++ b/jdk/src/share/classes/sun/net/www/content/image/jpeg.java
@@ -36,15 +36,16 @@ public class jpeg extends ContentHandler {
return new URLImageSource(urlc);
}
- public Object getContent(URLConnection urlc, Class<?>[] classes) throws IOException {
- for (int i = 0; i < classes.length; i++) {
- if (classes[i].isAssignableFrom(URLImageSource.class)) {
+ public Object getContent(URLConnection urlc, Class[] classes) throws IOException {
+ Class<?>[] cls = classes;
+ for (int i = 0; i < cls.length; i++) {
+ if (cls[i].isAssignableFrom(URLImageSource.class)) {
return new URLImageSource(urlc);
- }
- if (classes[i].isAssignableFrom(Image.class)) {
- Toolkit tk = Toolkit.getDefaultToolkit();
- return tk.createImage(new URLImageSource(urlc));
- }
+ }
+ if (cls[i].isAssignableFrom(Image.class)) {
+ Toolkit tk = Toolkit.getDefaultToolkit();
+ return tk.createImage(new URLImageSource(urlc));
+ }
}
return null;
}
diff --git a/jdk/src/share/classes/sun/net/www/content/image/png.java b/jdk/src/share/classes/sun/net/www/content/image/png.java
index 88026de..790d9e6 100644
--- a/jdk/src/share/classes/sun/net/www/content/image/png.java
+++ b/jdk/src/share/classes/sun/net/www/content/image/png.java
@@ -36,15 +36,16 @@ public class png extends ContentHandler {
return new URLImageSource(urlc);
}
- public Object getContent(URLConnection urlc, Class<?>[] classes) throws IOException {
- for (int i = 0; i < classes.length; i++) {
- if (classes[i].isAssignableFrom(URLImageSource.class)) {
+ public Object getContent(URLConnection urlc, Class[] classes) throws IOException {
+ Class<?>[] cls = classes;
+ for (int i = 0; i < cls.length; i++) {
+ if (cls[i].isAssignableFrom(URLImageSource.class)) {
return new URLImageSource(urlc);
- }
- if (classes[i].isAssignableFrom(Image.class)) {
- Toolkit tk = Toolkit.getDefaultToolkit();
- return tk.createImage(new URLImageSource(urlc));
- }
+ }
+ if (cls[i].isAssignableFrom(Image.class)) {
+ Toolkit tk = Toolkit.getDefaultToolkit();
+ return tk.createImage(new URLImageSource(urlc));
+ }
}
return null;
}
diff --git a/jdk/src/share/classes/sun/net/www/content/image/x_xbitmap.java b/jdk/src/share/classes/sun/net/www/content/image/x_xbitmap.java
index 10e7246..b826375 100644
--- a/jdk/src/share/classes/sun/net/www/content/image/x_xbitmap.java
+++ b/jdk/src/share/classes/sun/net/www/content/image/x_xbitmap.java
@@ -35,15 +35,16 @@ public class x_xbitmap extends ContentHandler {
return new URLImageSource(urlc);
}
- 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)) {
+ public Object getContent(URLConnection urlc, Class[] classes) throws java.io.IOException {
+ Class<?>[] cls = classes;
+ for (int i = 0; i < cls.length; i++) {
+ if (cls[i].isAssignableFrom(URLImageSource.class)) {
return new URLImageSource(urlc);
- }
- if (classes[i].isAssignableFrom(Image.class)) {
- Toolkit tk = Toolkit.getDefaultToolkit();
- return tk.createImage(new URLImageSource(urlc));
- }
+ }
+ if (cls[i].isAssignableFrom(Image.class)) {
+ Toolkit tk = Toolkit.getDefaultToolkit();
+ return tk.createImage(new URLImageSource(urlc));
+ }
}
return null;
}
diff --git a/jdk/src/share/classes/sun/net/www/content/image/x_xpixmap.java b/jdk/src/share/classes/sun/net/www/content/image/x_xpixmap.java
index 3b3ed40..e67206e 100644
--- a/jdk/src/share/classes/sun/net/www/content/image/x_xpixmap.java
+++ b/jdk/src/share/classes/sun/net/www/content/image/x_xpixmap.java
@@ -35,15 +35,16 @@ public class x_xpixmap extends ContentHandler {
return new URLImageSource(urlc);
}
- 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)) {
+ public Object getContent(URLConnection urlc, Class[] classes) throws java.io.IOException {
+ Class<?>[] cls = classes;
+ for (int i = 0; i < cls.length; i++) {
+ if (cls[i].isAssignableFrom(URLImageSource.class)) {
return new URLImageSource(urlc);
- }
- if (classes[i].isAssignableFrom(Image.class)) {
- Toolkit tk = Toolkit.getDefaultToolkit();
- return tk.createImage(new URLImageSource(urlc));
- }
+ }
+ if (cls[i].isAssignableFrom(Image.class)) {
+ Toolkit tk = Toolkit.getDefaultToolkit();
+ return tk.createImage(new URLImageSource(urlc));
+ }
}
return null;
}
diff --git a/jdk/src/share/classes/sun/net/www/http/HttpClient.java b/jdk/src/share/classes/sun/net/www/http/HttpClient.java
index fa8184f..140cc91 100644
--- a/jdk/src/share/classes/sun/net/www/http/HttpClient.java
+++ b/jdk/src/share/classes/sun/net/www/http/HttpClient.java
@@ -47,8 +47,6 @@ public class HttpClient extends NetworkClient {
private boolean inCache;
- protected CookieHandler cookieHandler;
-
// Http requests we send
MessageHeader requests;
@@ -201,14 +199,6 @@ public class HttpClient extends NetworkClient {
}
setConnectTimeout(to);
- // get the cookieHandler if there is any
- cookieHandler = java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<CookieHandler>() {
- public CookieHandler run() {
- return CookieHandler.getDefault();
- }
- });
-
capture = HttpCapture.getCapture(url);
openServer();
}
@@ -656,6 +646,7 @@ public class HttpClient extends NetworkClient {
// we've finished parsing http headers
// check if there are any applicable cookies to set (in cache)
+ CookieHandler cookieHandler = httpuc.getCookieHandler();
if (cookieHandler != null) {
URI uri = ParseUtil.toURI(url);
// NOTE: That cast from Map shouldn't be necessary but
diff --git a/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java b/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java
index 3a7737a..719ddc4 100644
--- a/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java
+++ b/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java
@@ -32,6 +32,7 @@ import java.net.ProtocolException;
import java.net.HttpRetryException;
import java.net.PasswordAuthentication;
import java.net.Authenticator;
+import java.net.HttpCookie;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.net.SocketTimeoutException;
@@ -46,6 +47,8 @@ import java.net.SecureCacheResponse;
import java.net.CacheRequest;
import java.net.Authenticator.RequestorType;
import java.io.*;
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.Date;
import java.util.Map;
import java.util.List;
@@ -2580,6 +2583,78 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
return false;
}
+ // constant strings represent set-cookie header names
+ private final static String SET_COOKIE = "set-cookie";
+ private final static String SET_COOKIE2 = "set-cookie2";
+
+ /**
+ * Returns a filtered version of the given headers value.
+ *
+ * Note: The implementation currently only filters out HttpOnly cookies
+ * from Set-Cookie and Set-Cookie2 headers.
+ */
+ private String filterHeaderField(String name, String value) {
+ if (value == null)
+ return null;
+
+ if (SET_COOKIE.equalsIgnoreCase(name) ||
+ SET_COOKIE2.equalsIgnoreCase(name)) {
+ // Filtering only if there is a cookie handler. [Assumption: the
+ // cookie handler will store/retrieve the HttpOnly cookies]
+ if (cookieHandler == null)
+ return value;
+
+ sun.misc.JavaNetHttpCookieAccess access =
+ sun.misc.SharedSecrets.getJavaNetHttpCookieAccess();
+ StringBuilder retValue = new StringBuilder();
+ List<HttpCookie> cookies = access.parse(value);
+ boolean multipleCookies = false;
+ for (HttpCookie cookie : cookies) {
+ // skip HttpOnly cookies
+ if (cookie.isHttpOnly())
+ continue;
+ if (multipleCookies)
+ retValue.append(','); // RFC 2965, comma separated
+ retValue.append(access.header(cookie));
+ multipleCookies = true;
+ }
+
+ return retValue.length() == 0 ? null : retValue.toString();
+ }
+
+ return value;
+ }
+
+ // Cache the filtered response headers so that they don't need
+ // to be generated for every getHeaderFields() call.
+ private Map<String, List<String>> filteredHeaders; // null
+
+ private Map<String, List<String>> getFilteredHeaderFields() {
+ if (filteredHeaders != null)
+ return filteredHeaders;
+
+ Map<String, List<String>> headers, tmpMap = new HashMap<>();
+
+ if (cachedHeaders != null)
+ headers = cachedHeaders.getHeaders();
+ else
+ headers = responses.getHeaders();
+
+ for (Map.Entry<String, List<String>> e: headers.entrySet()) {
+ String key = e.getKey();
+ List<String> values = e.getValue(), filteredVals = new ArrayList<>();
+ for (String value : values) {
+ String fVal = filterHeaderField(key, value);
+ if (fVal != null)
+ filteredVals.add(fVal);
+ }
+ if (!filteredVals.isEmpty())
+ tmpMap.put(key, Collections.unmodifiableList(filteredVals));
+ }
+
+ return filteredHeaders = Collections.unmodifiableMap(tmpMap);
+ }
+
/**
* Gets a header field by name. Returns null if not known.
* @param name the name of the header field
@@ -2591,10 +2666,10 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
} catch (IOException e) {}
if (cachedHeaders != null) {
- return cachedHeaders.findValue(name);
+ return filterHeaderField(name, cachedHeaders.findValue(name));
}
- return responses.findValue(name);
+ return filterHeaderField(name, responses.findValue(name));
}
/**
@@ -2613,11 +2688,7 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
getInputStream();
} catch (IOException e) {}
- if (cachedHeaders != null) {
- return cachedHeaders.getHeaders();
- }
-
- return responses.getHeaders();
+ return getFilteredHeaderFields();
}
/**
@@ -2631,9 +2702,10 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
} catch (IOException e) {}
if (cachedHeaders != null) {
- return cachedHeaders.getValue(n);
+ return filterHeaderField(cachedHeaders.getKey(n),
+ cachedHeaders.getValue(n));
}
- return responses.getValue(n);
+ return filterHeaderField(responses.getKey(n), responses.getValue(n));
}
/**
@@ -2831,6 +2903,10 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
return readTimeout < 0 ? 0 : readTimeout;
}
+ public CookieHandler getCookieHandler() {
+ return cookieHandler;
+ }
+
String getMethod() {
return method;
}
diff --git a/jdk/src/share/classes/sun/net/www/protocol/https/HttpsClient.java b/jdk/src/share/classes/sun/net/www/protocol/https/HttpsClient.java
index c83860b..fe570d4 100644
--- a/jdk/src/share/classes/sun/net/www/protocol/https/HttpsClient.java
+++ b/jdk/src/share/classes/sun/net/www/protocol/https/HttpsClient.java
@@ -36,7 +36,6 @@ import java.net.URL;
import java.net.UnknownHostException;
import java.net.InetSocketAddress;
import java.net.Proxy;
-import java.net.CookieHandler;
import java.security.Principal;
import java.security.cert.*;
import java.util.StringTokenizer;
@@ -268,13 +267,6 @@ final class HttpsClient extends HttpClient
port = getDefaultPort();
}
setConnectTimeout(connectTimeout);
- // get the cookieHandler if there is any
- cookieHandler = java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<CookieHandler>() {
- public CookieHandler run() {
- return CookieHandler.getDefault();
- }
- });
openServer();
}
diff --git a/jdk/src/share/classes/sun/net/www/protocol/jar/Handler.java b/jdk/src/share/classes/sun/net/www/protocol/jar/Handler.java
index 62686c6..8e9f8e3 100644
--- a/jdk/src/share/classes/sun/net/www/protocol/jar/Handler.java
+++ b/jdk/src/share/classes/sun/net/www/protocol/jar/Handler.java
@@ -123,6 +123,7 @@ public class Handler extends java.net.URLStreamHandler {
@Override
+ @SuppressWarnings("deprecation")
protected void parseURL(URL url, String spec,
int start, int limit) {
String file = null;
diff --git a/jdk/src/share/classes/sun/nio/ch/SocketAdaptor.java b/jdk/src/share/classes/sun/nio/ch/SocketAdaptor.java
index dd10a72..2fbc517 100644
--- a/jdk/src/share/classes/sun/nio/ch/SocketAdaptor.java
+++ b/jdk/src/share/classes/sun/nio/ch/SocketAdaptor.java
@@ -57,13 +57,17 @@ public class SocketAdaptor
// Timeout "option" value for reads
private volatile int timeout = 0;
- // ## super will create a useless impl
- private SocketAdaptor(SocketChannelImpl sc) {
+ private SocketAdaptor(SocketChannelImpl sc) throws SocketException {
+ super((SocketImpl) null);
this.sc = sc;
}
public static Socket create(SocketChannelImpl sc) {
- return new SocketAdaptor(sc);
+ try {
+ return new SocketAdaptor(sc);
+ } catch (SocketException e) {
+ throw new InternalError("Should not reach here");
+ }
}
public SocketChannel getChannel() {
diff --git a/jdk/src/share/classes/sun/rmi/registry/RegistryImpl.java b/jdk/src/share/classes/sun/rmi/registry/RegistryImpl.java
index db18eb3..1257132 100644
--- a/jdk/src/share/classes/sun/rmi/registry/RegistryImpl.java
+++ b/jdk/src/share/classes/sun/rmi/registry/RegistryImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
@@ -29,6 +29,7 @@ import java.util.Enumeration;
import java.util.Hashtable;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
+import java.io.FilePermission;
import java.io.IOException;
import java.net.*;
import java.rmi.*;
@@ -54,7 +55,6 @@ import sun.rmi.server.UnicastServerRef2;
import sun.rmi.transport.LiveRef;
import sun.rmi.transport.ObjectTable;
import sun.rmi.transport.Target;
-import sun.security.action.GetPropertyAction;
/**
* A "registry" exists on every node that allows RMI connections to
@@ -335,19 +335,6 @@ public class RegistryImpl extends java.rmi.server.RemoteServer
URL[] urls = sun.misc.URLClassPath.pathToURLs(envcp);
ClassLoader cl = new URLClassLoader(urls);
- String codebaseProperty = null;
- String prop = java.security.AccessController.doPrivileged(
- new GetPropertyAction("java.rmi.server.codebase"));
- if (prop != null && prop.trim().length() > 0) {
- codebaseProperty = prop;
- }
- URL[] codebaseURLs = null;
- if (codebaseProperty != null) {
- codebaseURLs = sun.misc.URLClassPath.pathToURLs(codebaseProperty);
- } else {
- codebaseURLs = new URL[0];
- }
-
/*
* Fix bugid 4242317: Classes defined by this class loader should
* be annotated with the value of the "java.rmi.server.codebase"
@@ -365,7 +352,7 @@ public class RegistryImpl extends java.rmi.server.RemoteServer
public RegistryImpl run() throws RemoteException {
return new RegistryImpl(regPort);
}
- }, getAccessControlContext(codebaseURLs));
+ }, getAccessControlContext());
} catch (PrivilegedActionException ex) {
throw (RemoteException) ex.getException();
}
@@ -391,11 +378,11 @@ public class RegistryImpl extends java.rmi.server.RemoteServer
}
/**
- * Generates an AccessControlContext from several URLs.
+ * Generates an AccessControlContext with minimal permissions.
* The approach used here is taken from the similar method
* getAccessControlContext() in the sun.applet.AppletPanel class.
*/
- private static AccessControlContext getAccessControlContext(URL[] urls) {
+ private static AccessControlContext getAccessControlContext() {
// begin with permissions granted to all code in current policy
PermissionCollection perms = AccessController.doPrivileged(
new java.security.PrivilegedAction<PermissionCollection>() {
@@ -420,17 +407,15 @@ public class RegistryImpl extends java.rmi.server.RemoteServer
perms.add(new RuntimePermission("accessClassInPackage.sun.*"));
- // add permissions required to load from codebase URL path
- LoaderHandler.addPermissionsForURLs(urls, perms, false);
+ perms.add(new FilePermission("<<ALL FILES>>", "read"));
/*
* Create an AccessControlContext that consists of a single
* protection domain with only the permissions calculated above.
*/
ProtectionDomain pd = new ProtectionDomain(
- new CodeSource((urls.length > 0 ? urls[0] : null),
- (java.security.cert.Certificate[]) null),
- perms);
+ new CodeSource(null,
+ (java.security.cert.Certificate[]) null), perms);
return new AccessControlContext(new ProtectionDomain[] { pd });
}
}
diff --git a/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java b/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java
index 52d9ee5..e7db8c8 100644
--- a/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java
+++ b/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
@@ -1031,7 +1031,7 @@ public final class LoaderHandler {
* loader. A given permission is only added to the collection if
* it is not already implied by the collection.
*/
- public static void addPermissionsForURLs(URL[] urls,
+ private static void addPermissionsForURLs(URL[] urls,
PermissionCollection perms,
boolean forLoader)
{
diff --git a/jdk/src/share/classes/sun/security/krb5/internal/KerberosTime.java b/jdk/src/share/classes/sun/security/krb5/internal/KerberosTime.java
index eae48e1..1ad85ec 100644
--- a/jdk/src/share/classes/sun/security/krb5/internal/KerberosTime.java
+++ b/jdk/src/share/classes/sun/security/krb5/internal/KerberosTime.java
@@ -68,8 +68,8 @@ public class KerberosTime implements Cloneable {
private int microSeconds; // the last three digits of the microsecond value
// The time when this class is loaded. Used in setNow()
- private static final long initMilli = System.currentTimeMillis();
- private static final long initMicro = System.nanoTime() / 1000;
+ private static long initMilli = System.currentTimeMillis();
+ private static long initMicro = System.nanoTime() / 1000;
private static long syncTime;
private static boolean DEBUG = Krb5.DEBUG;
@@ -212,9 +212,22 @@ public class KerberosTime implements Cloneable {
}
public void setNow() {
- long microElapsed = System.nanoTime() / 1000 - initMicro;
- setTime(initMilli + microElapsed/1000);
- microSeconds = (int)(microElapsed % 1000);
+ long newMilli = System.currentTimeMillis();
+ long newMicro = System.nanoTime() / 1000;
+ long microElapsed = newMicro - initMicro;
+ long calcMilli = initMilli + microElapsed/1000;
+ if (calcMilli - newMilli > 100 || newMilli - calcMilli > 100) {
+ if (DEBUG) {
+ System.out.println("System time adjusted");
+ }
+ initMilli = newMilli;
+ initMicro = newMicro;
+ setTime(newMilli);
+ microSeconds = 0;
+ } else {
+ setTime(calcMilli);
+ microSeconds = (int)(microElapsed % 1000);
+ }
}
public int getMicroSeconds() {
diff --git a/jdk/src/share/classes/sun/security/krb5/internal/ccache/CCacheInputStream.java b/jdk/src/share/classes/sun/security/krb5/internal/ccache/CCacheInputStream.java
index 4f387b9..ef7088f 100644
--- a/jdk/src/share/classes/sun/security/krb5/internal/ccache/CCacheInputStream.java
+++ b/jdk/src/share/classes/sun/security/krb5/internal/ccache/CCacheInputStream.java
@@ -375,7 +375,7 @@ public class CCacheInputStream extends KrbDataInputStream implements FileCCacheC
}
AuthorizationDataEntry[] auDataEntry = readAuth();
AuthorizationData auData = null;
- if (auData != null) {
+ if (auDataEntry != null) {
auData = new AuthorizationData(auDataEntry);
}
byte[] ticketData = readData();
diff --git a/jdk/src/share/classes/sun/security/krb5/internal/ccache/Credentials.java b/jdk/src/share/classes/sun/security/krb5/internal/ccache/Credentials.java
index b02cc6d..e040788 100644
--- a/jdk/src/share/classes/sun/security/krb5/internal/ccache/Credentials.java
+++ b/jdk/src/share/classes/sun/security/krb5/internal/ccache/Credentials.java
@@ -209,10 +209,24 @@ public class Credentials {
}
public sun.security.krb5.Credentials setKrbCreds() {
+ // Note: We will not pass authorizationData to s.s.k.Credentials. The
+ // field in that class will be passed to Krb5Context as the return
+ // value of ExtendedGSSContext.inquireSecContext(KRB5_GET_AUTHZ_DATA),
+ // which is documented as the authData in the service ticket. That
+ // is on the acceptor side.
+ //
+ // This class is for the initiator side. Also, authdata inside a ccache
+ // is most likely to be the one in Authenticator in PA-TGS-REQ encoded
+ // in TGS-REQ, therefore only stored with a service ticket. Currently
+ // in Java, we only reads TGTs.
return new sun.security.krb5.Credentials(ticket,
cname, sname, key, flags, authtime, starttime, endtime, renewTill, caddr);
}
+ public KerberosTime getStartTime() {
+ return starttime;
+ }
+
public KerberosTime getAuthTime() {
return authtime;
}
@@ -221,6 +235,10 @@ public class Credentials {
return endtime;
}
+ public KerberosTime getRenewTill() {
+ return renewTill;
+ }
+
public TicketFlags getTicketFlags() {
return flags;
}
@@ -228,4 +246,8 @@ public class Credentials {
public int getEType() {
return key.getEType();
}
+
+ public int getTktEType() {
+ return ticket.encPart.getEType();
+ }
}
diff --git a/jdk/src/share/classes/sun/security/krb5/internal/rcache/CacheTable.java b/jdk/src/share/classes/sun/security/krb5/internal/rcache/CacheTable.java
index e18bc6c..ac1879a 100644
--- a/jdk/src/share/classes/sun/security/krb5/internal/rcache/CacheTable.java
+++ b/jdk/src/share/classes/sun/security/krb5/internal/rcache/CacheTable.java
@@ -31,8 +31,6 @@
package sun.security.krb5.internal.rcache;
import java.util.Hashtable;
-import sun.security.krb5.internal.KerberosTime;
-
/**
* This class implements Hashtable to store the replay caches.
@@ -60,12 +58,15 @@ public class CacheTable extends Hashtable<String,ReplayCache> {
}
rc = new ReplayCache(principal, this);
rc.put(time, currTime);
- super.put(principal, rc);
+ if (!rc.isEmpty()) {
+ super.put(principal, rc);
+ }
}
else {
rc.put(time, currTime);
- // re-insert the entry, since rc.put could have removed the entry
- super.put(principal, rc);
+ if (rc.isEmpty()) {
+ super.remove(rc);
+ }
if (DEBUG) {
System.out.println("replay cache found.");
}
diff --git a/jdk/src/share/classes/sun/security/krb5/internal/rcache/ReplayCache.java b/jdk/src/share/classes/sun/security/krb5/internal/rcache/ReplayCache.java
index bcb1d46..97b8efe 100644
--- a/jdk/src/share/classes/sun/security/krb5/internal/rcache/ReplayCache.java
+++ b/jdk/src/share/classes/sun/security/krb5/internal/rcache/ReplayCache.java
@@ -31,8 +31,6 @@
package sun.security.krb5.internal.rcache;
-import sun.security.krb5.KrbException;
-import sun.security.krb5.Config;
import sun.security.krb5.internal.Krb5;
import java.util.LinkedList;
import java.util.ListIterator;
@@ -48,10 +46,13 @@ public class ReplayCache extends LinkedList<AuthTime> {
private static final long serialVersionUID = 2997933194993803994L;
+ // These 3 fields are now useless, keep for serialization compatibility
private String principal;
private CacheTable table;
private int nap = 10 * 60 * 1000; //10 minutes break
+
private boolean DEBUG = Krb5.DEBUG;
+
/**
* Constructs a ReplayCache for a client principal in specified <code>CacheTable</code>.
* @param p client principal name.
@@ -125,20 +126,11 @@ public class ReplayCache extends LinkedList<AuthTime> {
if (DEBUG) {
printList();
}
-
- // if there are no entries in the replay cache,
- // remove the replay cache from the table.
- if (this.size() == 0) {
- table.remove(principal);
- }
- if (DEBUG) {
- printList();
- }
}
/**
- * Printes out the debug message.
+ * Prints out the debug message.
*/
private void printList() {
Object[] total = toArray();
diff --git a/jdk/src/share/classes/sun/security/pkcs11/P11Cipher.java b/jdk/src/share/classes/sun/security/pkcs11/P11Cipher.java
index b6e3788..8179dc0 100644
--- a/jdk/src/share/classes/sun/security/pkcs11/P11Cipher.java
+++ b/jdk/src/share/classes/sun/security/pkcs11/P11Cipher.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -870,7 +870,7 @@ final class P11Cipher extends CipherSpi {
@Override
protected int engineGetKeySize(Key key) throws InvalidKeyException {
int n = P11SecretKeyFactory.convertKey
- (token, key, keyAlgorithm).keyLength();
+ (token, key, keyAlgorithm).length();
return n;
}
diff --git a/jdk/src/share/classes/sun/security/pkcs11/P11Digest.java b/jdk/src/share/classes/sun/security/pkcs11/P11Digest.java
index bb38a3d..08f22ff 100644
--- a/jdk/src/share/classes/sun/security/pkcs11/P11Digest.java
+++ b/jdk/src/share/classes/sun/security/pkcs11/P11Digest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -49,13 +49,12 @@ import static sun.security.pkcs11.wrapper.PKCS11Constants.*;
* @author Andreas Sterbenz
* @since 1.5
*/
-final class P11Digest extends MessageDigestSpi {
+final class P11Digest extends MessageDigestSpi implements Cloneable {
- /* unitialized, fields uninitialized, no session acquired */
+ /* fields initialized, no session acquired */
private final static int S_BLANK = 1;
- // data in buffer, all fields valid, session acquired
- // but digest not initialized
+ /* data in buffer, session acquired, but digest not initialized */
private final static int S_BUFFERED = 2;
/* session initialized for digesting */
@@ -69,8 +68,8 @@ final class P11Digest extends MessageDigestSpi {
// algorithm name
private final String algorithm;
- // mechanism id
- private final long mechanism;
+ // mechanism id object
+ private final CK_MECHANISM mechanism;
// length of the digest in bytes
private final int digestLength;
@@ -81,11 +80,8 @@ final class P11Digest extends MessageDigestSpi {
// current state, one of S_* above
private int state;
- // one byte buffer for the update(byte) method, initialized on demand
- private byte[] oneByte;
-
// buffer to reduce number of JNI calls
- private final byte[] buffer;
+ private byte[] buffer;
// offset into the buffer
private int bufOfs;
@@ -94,7 +90,7 @@ final class P11Digest extends MessageDigestSpi {
super();
this.token = token;
this.algorithm = algorithm;
- this.mechanism = mechanism;
+ this.mechanism = new CK_MECHANISM(mechanism);
switch ((int)mechanism) {
case (int)CKM_MD2:
case (int)CKM_MD5:
@@ -117,7 +113,6 @@ final class P11Digest extends MessageDigestSpi {
}
buffer = new byte[BUFFER_SIZE];
state = S_BLANK;
- engineReset();
}
// see JCA spec
@@ -125,44 +120,31 @@ final class P11Digest extends MessageDigestSpi {
return digestLength;
}
- private void cancelOperation() {
- token.ensureValid();
- if (session == null) {
- return;
- }
- if ((state != S_INIT) || (token.explicitCancel == false)) {
- return;
- }
- // need to explicitly "cancel" active op by finishing it
- try {
- token.p11.C_DigestFinal(session.id(), buffer, 0, buffer.length);
- } catch (PKCS11Exception e) {
- throw new ProviderException("cancel() failed", e);
- } finally {
- state = S_BUFFERED;
- }
- }
-
private void fetchSession() {
token.ensureValid();
if (state == S_BLANK) {
- engineReset();
+ try {
+ session = token.getOpSession();
+ state = S_BUFFERED;
+ } catch (PKCS11Exception e) {
+ throw new ProviderException("No more session available", e);
+ }
}
}
// see JCA spec
protected void engineReset() {
- try {
- cancelOperation();
- bufOfs = 0;
- if (session == null) {
- session = token.getOpSession();
+ token.ensureValid();
+
+ if (session != null) {
+ if (state == S_INIT && token.explicitCancel == true) {
+ session = token.killSession(session);
+ } else {
+ session = token.releaseSession(session);
}
- state = S_BUFFERED;
- } catch (PKCS11Exception e) {
- state = S_BLANK;
- throw new ProviderException("reset() failed, ", e);
}
+ state = S_BLANK;
+ bufOfs = 0;
}
// see JCA spec
@@ -180,18 +162,22 @@ final class P11Digest extends MessageDigestSpi {
protected int engineDigest(byte[] digest, int ofs, int len)
throws DigestException {
if (len < digestLength) {
- throw new DigestException("Length must be at least " + digestLength);
+ throw new DigestException("Length must be at least " +
+ digestLength);
}
+
fetchSession();
try {
int n;
if (state == S_BUFFERED) {
- n = token.p11.C_DigestSingle(session.id(),
- new CK_MECHANISM(mechanism),
- buffer, 0, bufOfs, digest, ofs, len);
+ n = token.p11.C_DigestSingle(session.id(), mechanism, buffer, 0,
+ bufOfs, digest, ofs, len);
+ bufOfs = 0;
} else {
if (bufOfs != 0) {
- doUpdate(buffer, 0, bufOfs);
+ token.p11.C_DigestUpdate(session.id(), 0, buffer, 0,
+ bufOfs);
+ bufOfs = 0;
}
n = token.p11.C_DigestFinal(session.id(), digest, ofs, len);
}
@@ -202,36 +188,44 @@ final class P11Digest extends MessageDigestSpi {
} catch (PKCS11Exception e) {
throw new ProviderException("digest() failed", e);
} finally {
- state = S_BLANK;
- bufOfs = 0;
- session = token.releaseSession(session);
+ engineReset();
}
}
// see JCA spec
protected void engineUpdate(byte in) {
- if (oneByte == null) {
- oneByte = new byte[1];
- }
- oneByte[0] = in;
- engineUpdate(oneByte, 0, 1);
+ byte[] temp = { in };
+ engineUpdate(temp, 0, 1);
}
// see JCA spec
protected void engineUpdate(byte[] in, int ofs, int len) {
- fetchSession();
if (len <= 0) {
return;
}
- if ((bufOfs != 0) && (bufOfs + len > buffer.length)) {
- doUpdate(buffer, 0, bufOfs);
- bufOfs = 0;
- }
- if (bufOfs + len > buffer.length) {
- doUpdate(in, ofs, len);
- } else {
- System.arraycopy(in, ofs, buffer, bufOfs, len);
- bufOfs += len;
+
+ fetchSession();
+ try {
+ if (state == S_BUFFERED) {
+ token.p11.C_DigestInit(session.id(), mechanism);
+ state = S_INIT;
+ }
+ if ((bufOfs != 0) && (bufOfs + len > buffer.length)) {
+ // process the buffered data
+ token.p11.C_DigestUpdate(session.id(), 0, buffer, 0, bufOfs);
+ bufOfs = 0;
+ }
+ if (bufOfs + len > buffer.length) {
+ // process the new data
+ token.p11.C_DigestUpdate(session.id(), 0, in, ofs, len);
+ } else {
+ // buffer the new data
+ System.arraycopy(in, ofs, buffer, bufOfs, len);
+ bufOfs += len;
+ }
+ } catch (PKCS11Exception e) {
+ engineReset();
+ throw new ProviderException("update() failed", e);
}
}
@@ -239,11 +233,7 @@ final class P11Digest extends MessageDigestSpi {
// the master secret is sensitive. We may want to consider making this
// method public in a future release.
protected void implUpdate(SecretKey key) throws InvalidKeyException {
- fetchSession();
- if (bufOfs != 0) {
- doUpdate(buffer, 0, bufOfs);
- bufOfs = 0;
- }
+
// SunJSSE calls this method only if the key does not have a RAW
// encoding, i.e. if it is sensitive. Therefore, no point in calling
// SecretKeyFactory to try to convert it. Just verify it ourselves.
@@ -252,60 +242,77 @@ final class P11Digest extends MessageDigestSpi {
}
P11Key p11Key = (P11Key)key;
if (p11Key.token != token) {
- throw new InvalidKeyException("Not a P11Key of this provider: " + key);
+ throw new InvalidKeyException("Not a P11Key of this provider: " +
+ key);
}
+
+ fetchSession();
try {
if (state == S_BUFFERED) {
- token.p11.C_DigestInit(session.id(), new CK_MECHANISM(mechanism));
+ token.p11.C_DigestInit(session.id(), mechanism);
state = S_INIT;
}
+
+ if (bufOfs != 0) {
+ token.p11.C_DigestUpdate(session.id(), 0, buffer, 0, bufOfs);
+ bufOfs = 0;
+ }
token.p11.C_DigestKey(session.id(), p11Key.keyID);
} catch (PKCS11Exception e) {
+ engineReset();
throw new ProviderException("update(SecretKey) failed", e);
}
}
// see JCA spec
protected void engineUpdate(ByteBuffer byteBuffer) {
- fetchSession();
int len = byteBuffer.remaining();
if (len <= 0) {
return;
}
+
if (byteBuffer instanceof DirectBuffer == false) {
super.engineUpdate(byteBuffer);
return;
}
+
+ fetchSession();
long addr = ((DirectBuffer)byteBuffer).address();
int ofs = byteBuffer.position();
try {
if (state == S_BUFFERED) {
- token.p11.C_DigestInit(session.id(), new CK_MECHANISM(mechanism));
+ token.p11.C_DigestInit(session.id(), mechanism);
state = S_INIT;
- if (bufOfs != 0) {
- doUpdate(buffer, 0, bufOfs);
- bufOfs = 0;
- }
+ }
+ if (bufOfs != 0) {
+ token.p11.C_DigestUpdate(session.id(), 0, buffer, 0, bufOfs);
+ bufOfs = 0;
}
token.p11.C_DigestUpdate(session.id(), addr + ofs, null, 0, len);
byteBuffer.position(ofs + len);
} catch (PKCS11Exception e) {
+ engineReset();
throw new ProviderException("update() failed", e);
}
}
- private void doUpdate(byte[] in, int ofs, int len) {
- if (len <= 0) {
- return;
- }
+ public Object clone() throws CloneNotSupportedException {
+ P11Digest copy = (P11Digest) super.clone();
+ copy.buffer = buffer.clone();
try {
- if (state == S_BUFFERED) {
- token.p11.C_DigestInit(session.id(), new CK_MECHANISM(mechanism));
- state = S_INIT;
+ if (session != null) {
+ copy.session = copy.token.getOpSession();
+ }
+ if (state == S_INIT) {
+ byte[] stateValues =
+ token.p11.C_GetOperationState(session.id());
+ token.p11.C_SetOperationState(copy.session.id(),
+ stateValues, 0, 0);
}
- token.p11.C_DigestUpdate(session.id(), 0, in, ofs, len);
} catch (PKCS11Exception e) {
- throw new ProviderException("update() failed", e);
+ throw (CloneNotSupportedException)
+ (new CloneNotSupportedException(algorithm).initCause(e));
}
+ return copy;
}
}
diff --git a/jdk/src/share/classes/sun/security/pkcs11/P11Key.java b/jdk/src/share/classes/sun/security/pkcs11/P11Key.java
index bbce898..acc35f2 100644
--- a/jdk/src/share/classes/sun/security/pkcs11/P11Key.java
+++ b/jdk/src/share/classes/sun/security/pkcs11/P11Key.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -46,6 +46,7 @@ import sun.security.pkcs11.wrapper.*;
import static sun.security.pkcs11.wrapper.PKCS11Constants.*;
import sun.security.util.DerValue;
+import sun.security.util.Length;
/**
* Key implementation classes.
@@ -61,7 +62,7 @@ import sun.security.util.DerValue;
* @author Andreas Sterbenz
* @since 1.5
*/
-abstract class P11Key implements Key {
+abstract class P11Key implements Key, Length {
private final static String PUBLIC = "public";
private final static String PRIVATE = "private";
@@ -212,7 +213,11 @@ abstract class P11Key implements Key {
return s1;
}
- int keyLength() {
+ /**
+ * Return bit length of the key.
+ */
+ @Override
+ public int length() {
return keyLength;
}
diff --git a/jdk/src/share/classes/sun/security/pkcs11/P11RSACipher.java b/jdk/src/share/classes/sun/security/pkcs11/P11RSACipher.java
index d9dc4e7..61cc1b3 100644
--- a/jdk/src/share/classes/sun/security/pkcs11/P11RSACipher.java
+++ b/jdk/src/share/classes/sun/security/pkcs11/P11RSACipher.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -216,7 +216,7 @@ final class P11RSACipher extends CipherSpi {
} else {
throw new InvalidKeyException("Unknown key type: " + p11Key);
}
- int n = (p11Key.keyLength() + 7) >> 3;
+ int n = (p11Key.length() + 7) >> 3;
outputSize = n;
buffer = new byte[n];
maxInputSize = ((padType == PAD_PKCS1 && encrypt) ?
@@ -495,7 +495,7 @@ final class P11RSACipher extends CipherSpi {
// see JCE spec
protected int engineGetKeySize(Key key) throws InvalidKeyException {
- int n = P11KeyFactory.convertKey(token, key, algorithm).keyLength();
+ int n = P11KeyFactory.convertKey(token, key, algorithm).length();
return n;
}
}
diff --git a/jdk/src/share/classes/sun/security/pkcs11/P11Signature.java b/jdk/src/share/classes/sun/security/pkcs11/P11Signature.java
index 009c263..70a79e4 100644
--- a/jdk/src/share/classes/sun/security/pkcs11/P11Signature.java
+++ b/jdk/src/share/classes/sun/security/pkcs11/P11Signature.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -272,7 +272,7 @@ final class P11Signature extends SignatureSpi {
if (keyAlgorithm.equals("DSA")) {
signature = new byte[40];
} else {
- signature = new byte[(p11Key.keyLength() + 7) >> 3];
+ signature = new byte[(p11Key.length() + 7) >> 3];
}
if (type == T_UPDATE) {
token.p11.C_VerifyFinal(session.id(), signature);
@@ -357,7 +357,7 @@ final class P11Signature extends SignatureSpi {
if (keyAlgorithm.equals("RSA") && publicKey != p11Key) {
int keyLen;
if (publicKey instanceof P11Key) {
- keyLen = ((P11Key) publicKey).keyLength();
+ keyLen = ((P11Key) publicKey).length();
} else {
keyLen = ((RSAKey) publicKey).getModulus().bitLength();
}
@@ -618,7 +618,7 @@ final class P11Signature extends SignatureSpi {
private byte[] pkcs1Pad(byte[] data) {
try {
- int len = (p11Key.keyLength() + 7) >> 3;
+ int len = (p11Key.length() + 7) >> 3;
RSAPadding padding = RSAPadding.getInstance
(RSAPadding.PAD_BLOCKTYPE_1, len);
byte[] padded = padding.pad(data);
diff --git a/jdk/src/share/classes/sun/security/pkcs11/SunPKCS11.java b/jdk/src/share/classes/sun/security/pkcs11/SunPKCS11.java
index b94ca87..8c43257 100644
--- a/jdk/src/share/classes/sun/security/pkcs11/SunPKCS11.java
+++ b/jdk/src/share/classes/sun/security/pkcs11/SunPKCS11.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -606,24 +606,32 @@ public final class SunPKCS11 extends AuthProvider {
m(CKM_DES_CBC));
d(CIP, "DES/CBC/PKCS5Padding", P11Cipher,
m(CKM_DES_CBC_PAD, CKM_DES_CBC));
- d(CIP, "DES/ECB", P11Cipher, s("DES"),
+ d(CIP, "DES/ECB/NoPadding", P11Cipher,
+ m(CKM_DES_ECB));
+ d(CIP, "DES/ECB/PKCS5Padding", P11Cipher, s("DES"),
m(CKM_DES_ECB));
d(CIP, "DESede/CBC/NoPadding", P11Cipher,
m(CKM_DES3_CBC));
d(CIP, "DESede/CBC/PKCS5Padding", P11Cipher,
m(CKM_DES3_CBC_PAD, CKM_DES3_CBC));
- d(CIP, "DESede/ECB", P11Cipher, s("DESede"),
+ d(CIP, "DESede/ECB/NoPadding", P11Cipher,
+ m(CKM_DES3_ECB));
+ d(CIP, "DESede/ECB/PKCS5Padding", P11Cipher, s("DESede"),
m(CKM_DES3_ECB));
d(CIP, "AES/CBC/NoPadding", P11Cipher,
m(CKM_AES_CBC));
d(CIP, "AES/CBC/PKCS5Padding", P11Cipher,
m(CKM_AES_CBC_PAD, CKM_AES_CBC));
- d(CIP, "AES/ECB", P11Cipher, s("AES"),
+ d(CIP, "AES/ECB/NoPadding", P11Cipher,
+ m(CKM_AES_ECB));
+ d(CIP, "AES/ECB/PKCS5Padding", P11Cipher, s("AES"),
m(CKM_AES_ECB));
d(CIP, "AES/CTR/NoPadding", P11Cipher,
m(CKM_AES_CTR));
- d(CIP, "Blowfish/CBC", P11Cipher,
+ d(CIP, "Blowfish/CBC/NoPadding", P11Cipher,
+ m(CKM_BLOWFISH_CBC));
+ d(CIP, "Blowfish/CBC/PKCS5Padding", P11Cipher,
m(CKM_BLOWFISH_CBC));
// XXX RSA_X_509, RSA_OAEP not yet supported
diff --git a/jdk/src/share/classes/sun/security/pkcs11/wrapper/PKCS11.java b/jdk/src/share/classes/sun/security/pkcs11/wrapper/PKCS11.java
index 771c343..b407e56 100644
--- a/jdk/src/share/classes/sun/security/pkcs11/wrapper/PKCS11.java
+++ b/jdk/src/share/classes/sun/security/pkcs11/wrapper/PKCS11.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
*/
/* Copyright (c) 2002 Graz University of Technology. All rights reserved.
@@ -133,14 +133,15 @@ public class PKCS11 {
* @preconditions (pkcs11ModulePath <> null)
* @postconditions
*/
- PKCS11(String pkcs11ModulePath, String functionListName) throws IOException {
+ PKCS11(String pkcs11ModulePath, String functionListName)
+ throws IOException {
connect(pkcs11ModulePath, functionListName);
this.pkcs11ModulePath = pkcs11ModulePath;
}
- public static synchronized PKCS11 getInstance(String pkcs11ModulePath, String functionList,
- CK_C_INITIALIZE_ARGS pInitArgs, boolean omitInitialize)
- throws IOException, PKCS11Exception {
+ public static synchronized PKCS11 getInstance(String pkcs11ModulePath,
+ String functionList, CK_C_INITIALIZE_ARGS pInitArgs,
+ boolean omitInitialize) throws IOException, PKCS11Exception {
// we may only call C_Initialize once per native .so/.dll
// so keep a cache using the (non-canonicalized!) path
PKCS11 pkcs11 = moduleMap.get(pkcs11ModulePath);
@@ -177,7 +178,8 @@ public class PKCS11 {
* @preconditions (pkcs11ModulePath <> null)
* @postconditions
*/
- private native void connect(String pkcs11ModulePath, String functionListName) throws IOException;
+ private native void connect(String pkcs11ModulePath, String functionListName)
+ throws IOException;
/**
* Disconnects the PKCS#11 library from this object. After calling this
@@ -255,7 +257,8 @@ public class PKCS11 {
* @preconditions
* @postconditions (result <> null)
*/
- public native long[] C_GetSlotList(boolean tokenPresent) throws PKCS11Exception;
+ public native long[] C_GetSlotList(boolean tokenPresent)
+ throws PKCS11Exception;
/**
@@ -287,7 +290,8 @@ public class PKCS11 {
* @preconditions
* @postconditions (result <> null)
*/
- public native CK_TOKEN_INFO C_GetTokenInfo(long slotID) throws PKCS11Exception;
+ public native CK_TOKEN_INFO C_GetTokenInfo(long slotID)
+ throws PKCS11Exception;
/**
@@ -322,7 +326,8 @@ public class PKCS11 {
* @preconditions
* @postconditions (result <> null)
*/
- public native CK_MECHANISM_INFO C_GetMechanismInfo(long slotID, long type) throws PKCS11Exception;
+ public native CK_MECHANISM_INFO C_GetMechanismInfo(long slotID, long type)
+ throws PKCS11Exception;
/**
@@ -339,7 +344,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
-// public native void C_InitToken(long slotID, char[] pPin, char[] pLabel) throws PKCS11Exception;
+// public native void C_InitToken(long slotID, char[] pPin, char[] pLabel)
+// throws PKCS11Exception;
/**
@@ -354,7 +360,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
-// public native void C_InitPIN(long hSession, char[] pPin) throws PKCS11Exception;
+// public native void C_InitPIN(long hSession, char[] pPin)
+// throws PKCS11Exception;
/**
@@ -371,7 +378,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
-// public native void C_SetPIN(long hSession, char[] pOldPin, char[] pNewPin) throws PKCS11Exception;
+// public native void C_SetPIN(long hSession, char[] pOldPin, char[] pNewPin)
+// throws PKCS11Exception;
@@ -398,7 +406,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
- public native long C_OpenSession(long slotID, long flags, Object pApplication, CK_NOTIFY Notify) throws PKCS11Exception;
+ public native long C_OpenSession(long slotID, long flags,
+ Object pApplication, CK_NOTIFY Notify) throws PKCS11Exception;
/**
@@ -440,7 +449,8 @@ public class PKCS11 {
* @preconditions
* @postconditions (result <> null)
*/
- public native CK_SESSION_INFO C_GetSessionInfo(long hSession) throws PKCS11Exception;
+ public native CK_SESSION_INFO C_GetSessionInfo(long hSession)
+ throws PKCS11Exception;
/**
@@ -457,7 +467,8 @@ public class PKCS11 {
* @preconditions
* @postconditions (result <> null)
*/
-// public native byte[] C_GetOperationState(long hSession) throws PKCS11Exception;
+ public native byte[] C_GetOperationState(long hSession)
+ throws PKCS11Exception;
/**
@@ -478,7 +489,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
-// public native void C_SetOperationState(long hSession, byte[] pOperationState, long hEncryptionKey, long hAuthenticationKey) throws PKCS11Exception;
+ public native void C_SetOperationState(long hSession, byte[] pOperationState,
+ long hEncryptionKey, long hAuthenticationKey) throws PKCS11Exception;
/**
@@ -495,7 +507,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
- public native void C_Login(long hSession, long userType, char[] pPin) throws PKCS11Exception;
+ public native void C_Login(long hSession, long userType, char[] pPin)
+ throws PKCS11Exception;
/**
@@ -531,7 +544,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
- public native long C_CreateObject(long hSession, CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception;
+ public native long C_CreateObject(long hSession, CK_ATTRIBUTE[] pTemplate)
+ throws PKCS11Exception;
/**
@@ -552,7 +566,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
- public native long C_CopyObject(long hSession, long hObject, CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception;
+ public native long C_CopyObject(long hSession, long hObject,
+ CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception;
/**
@@ -567,7 +582,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
- public native void C_DestroyObject(long hSession, long hObject) throws PKCS11Exception;
+ public native void C_DestroyObject(long hSession, long hObject)
+ throws PKCS11Exception;
/**
@@ -584,7 +600,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
-// public native long C_GetObjectSize(long hSession, long hObject) throws PKCS11Exception;
+// public native long C_GetObjectSize(long hSession, long hObject)
+// throws PKCS11Exception;
/**
@@ -604,7 +621,8 @@ public class PKCS11 {
* @preconditions (pTemplate <> null)
* @postconditions (result <> null)
*/
- public native void C_GetAttributeValue(long hSession, long hObject, CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception;
+ public native void C_GetAttributeValue(long hSession, long hObject,
+ CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception;
/**
@@ -623,7 +641,8 @@ public class PKCS11 {
* @preconditions (pTemplate <> null)
* @postconditions
*/
- public native void C_SetAttributeValue(long hSession, long hObject, CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception;
+ public native void C_SetAttributeValue(long hSession, long hObject,
+ CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception;
/**
@@ -640,7 +659,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
- public native void C_FindObjectsInit(long hSession, CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception;
+ public native void C_FindObjectsInit(long hSession, CK_ATTRIBUTE[] pTemplate)
+ throws PKCS11Exception;
/**
@@ -659,7 +679,8 @@ public class PKCS11 {
* @preconditions
* @postconditions (result <> null)
*/
- public native long[] C_FindObjects(long hSession, long ulMaxObjectCount) throws PKCS11Exception;
+ public native long[] C_FindObjects(long hSession, long ulMaxObjectCount)
+ throws PKCS11Exception;
/**
@@ -695,7 +716,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
- public native void C_EncryptInit(long hSession, CK_MECHANISM pMechanism, long hKey) throws PKCS11Exception;
+ public native void C_EncryptInit(long hSession, CK_MECHANISM pMechanism,
+ long hKey) throws PKCS11Exception;
/**
@@ -713,7 +735,8 @@ public class PKCS11 {
* @preconditions (pData <> null)
* @postconditions (result <> null)
*/
- public native int C_Encrypt(long hSession, byte[] in, int inOfs, int inLen, byte[] out, int outOfs, int outLen) throws PKCS11Exception;
+ public native int C_Encrypt(long hSession, byte[] in, int inOfs, int inLen,
+ byte[] out, int outOfs, int outLen) throws PKCS11Exception;
/**
@@ -732,7 +755,9 @@ public class PKCS11 {
* @preconditions (pPart <> null)
* @postconditions
*/
- public native int C_EncryptUpdate(long hSession, long directIn, byte[] in, int inOfs, int inLen, long directOut, byte[] out, int outOfs, int outLen) throws PKCS11Exception;
+ public native int C_EncryptUpdate(long hSession, long directIn, byte[] in,
+ int inOfs, int inLen, long directOut, byte[] out, int outOfs,
+ int outLen) throws PKCS11Exception;
/**
@@ -749,7 +774,8 @@ public class PKCS11 {
* @preconditions
* @postconditions (result <> null)
*/
- public native int C_EncryptFinal(long hSession, long directOut, byte[] out, int outOfs, int outLen) throws PKCS11Exception;
+ public native int C_EncryptFinal(long hSession, long directOut, byte[] out,
+ int outOfs, int outLen) throws PKCS11Exception;
/**
@@ -766,7 +792,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
- public native void C_DecryptInit(long hSession, CK_MECHANISM pMechanism, long hKey) throws PKCS11Exception;
+ public native void C_DecryptInit(long hSession, CK_MECHANISM pMechanism,
+ long hKey) throws PKCS11Exception;
/**
@@ -785,7 +812,8 @@ public class PKCS11 {
* @preconditions (pEncryptedPart <> null)
* @postconditions (result <> null)
*/
- public native int C_Decrypt(long hSession, byte[] in, int inOfs, int inLen, byte[] out, int outOfs, int outLen) throws PKCS11Exception;
+ public native int C_Decrypt(long hSession, byte[] in, int inOfs, int inLen,
+ byte[] out, int outOfs, int outLen) throws PKCS11Exception;
/**
@@ -805,7 +833,9 @@ public class PKCS11 {
* @preconditions (pEncryptedPart <> null)
* @postconditions
*/
- public native int C_DecryptUpdate(long hSession, long directIn, byte[] in, int inOfs, int inLen, long directOut, byte[] out, int outOfs, int outLen) throws PKCS11Exception;
+ public native int C_DecryptUpdate(long hSession, long directIn, byte[] in,
+ int inOfs, int inLen, long directOut, byte[] out, int outOfs,
+ int outLen) throws PKCS11Exception;
/**
@@ -822,7 +852,8 @@ public class PKCS11 {
* @preconditions
* @postconditions (result <> null)
*/
- public native int C_DecryptFinal(long hSession, long directOut, byte[] out, int outOfs, int outLen) throws PKCS11Exception;
+ public native int C_DecryptFinal(long hSession, long directOut, byte[] out,
+ int outOfs, int outLen) throws PKCS11Exception;
@@ -842,7 +873,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
- public native void C_DigestInit(long hSession, CK_MECHANISM pMechanism) throws PKCS11Exception;
+ public native void C_DigestInit(long hSession, CK_MECHANISM pMechanism)
+ throws PKCS11Exception;
// note that C_DigestSingle does not exist in PKCS#11
@@ -863,7 +895,9 @@ public class PKCS11 {
* @preconditions (data <> null)
* @postconditions (result <> null)
*/
- public native int C_DigestSingle(long hSession, CK_MECHANISM pMechanism, byte[] in, int inOfs, int inLen, byte[] digest, int digestOfs, int digestLen) throws PKCS11Exception;
+ public native int C_DigestSingle(long hSession, CK_MECHANISM pMechanism,
+ byte[] in, int inOfs, int inLen, byte[] digest, int digestOfs,
+ int digestLen) throws PKCS11Exception;
/**
@@ -879,7 +913,8 @@ public class PKCS11 {
* @preconditions (pPart <> null)
* @postconditions
*/
- public native void C_DigestUpdate(long hSession, long directIn, byte[] in, int inOfs, int inLen) throws PKCS11Exception;
+ public native void C_DigestUpdate(long hSession, long directIn, byte[] in,
+ int inOfs, int inLen) throws PKCS11Exception;
/**
@@ -896,7 +931,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
- public native void C_DigestKey(long hSession, long hKey) throws PKCS11Exception;
+ public native void C_DigestKey(long hSession, long hKey)
+ throws PKCS11Exception;
/**
@@ -912,7 +948,8 @@ public class PKCS11 {
* @preconditions
* @postconditions (result <> null)
*/
- public native int C_DigestFinal(long hSession, byte[] pDigest, int digestOfs, int digestLen) throws PKCS11Exception;
+ public native int C_DigestFinal(long hSession, byte[] pDigest, int digestOfs,
+ int digestLen) throws PKCS11Exception;
@@ -937,7 +974,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
- public native void C_SignInit(long hSession, CK_MECHANISM pMechanism, long hKey) throws PKCS11Exception;
+ public native void C_SignInit(long hSession, CK_MECHANISM pMechanism,
+ long hKey) throws PKCS11Exception;
/**
@@ -957,7 +995,8 @@ public class PKCS11 {
* @preconditions (pData <> null)
* @postconditions (result <> null)
*/
- public native byte[] C_Sign(long hSession, byte[] pData) throws PKCS11Exception;
+ public native byte[] C_Sign(long hSession, byte[] pData)
+ throws PKCS11Exception;
/**
@@ -974,7 +1013,8 @@ public class PKCS11 {
* @preconditions (pPart <> null)
* @postconditions
*/
- public native void C_SignUpdate(long hSession, long directIn, byte[] in, int inOfs, int inLen) throws PKCS11Exception;
+ public native void C_SignUpdate(long hSession, long directIn, byte[] in,
+ int inOfs, int inLen) throws PKCS11Exception;
/**
@@ -991,7 +1031,8 @@ public class PKCS11 {
* @preconditions
* @postconditions (result <> null)
*/
- public native byte[] C_SignFinal(long hSession, int expectedLen) throws PKCS11Exception;
+ public native byte[] C_SignFinal(long hSession, int expectedLen)
+ throws PKCS11Exception;
/**
@@ -1009,7 +1050,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
- public native void C_SignRecoverInit(long hSession, CK_MECHANISM pMechanism, long hKey) throws PKCS11Exception;
+ public native void C_SignRecoverInit(long hSession, CK_MECHANISM pMechanism,
+ long hKey) throws PKCS11Exception;
/**
@@ -1028,7 +1070,9 @@ public class PKCS11 {
* @preconditions (pData <> null)
* @postconditions (result <> null)
*/
- public native int C_SignRecover(long hSession, byte[] in, int inOfs, int inLen, byte[] out, int outOufs, int outLen) throws PKCS11Exception;
+ public native int C_SignRecover(long hSession, byte[] in, int inOfs,
+ int inLen, byte[] out, int outOufs, int outLen)
+ throws PKCS11Exception;
@@ -1052,7 +1096,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
- public native void C_VerifyInit(long hSession, CK_MECHANISM pMechanism, long hKey) throws PKCS11Exception;
+ public native void C_VerifyInit(long hSession, CK_MECHANISM pMechanism,
+ long hKey) throws PKCS11Exception;
/**
@@ -1071,7 +1116,8 @@ public class PKCS11 {
* @preconditions (pData <> null) and (pSignature <> null)
* @postconditions
*/
- public native void C_Verify(long hSession, byte[] pData, byte[] pSignature) throws PKCS11Exception;
+ public native void C_Verify(long hSession, byte[] pData, byte[] pSignature)
+ throws PKCS11Exception;
/**
@@ -1088,7 +1134,8 @@ public class PKCS11 {
* @preconditions (pPart <> null)
* @postconditions
*/
- public native void C_VerifyUpdate(long hSession, long directIn, byte[] in, int inOfs, int inLen) throws PKCS11Exception;
+ public native void C_VerifyUpdate(long hSession, long directIn, byte[] in,
+ int inOfs, int inLen) throws PKCS11Exception;
/**
@@ -1104,7 +1151,8 @@ public class PKCS11 {
* @preconditions (pSignature <> null)
* @postconditions
*/
- public native void C_VerifyFinal(long hSession, byte[] pSignature) throws PKCS11Exception;
+ public native void C_VerifyFinal(long hSession, byte[] pSignature)
+ throws PKCS11Exception;
/**
@@ -1122,7 +1170,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
- public native void C_VerifyRecoverInit(long hSession, CK_MECHANISM pMechanism, long hKey) throws PKCS11Exception;
+ public native void C_VerifyRecoverInit(long hSession,
+ CK_MECHANISM pMechanism, long hKey) throws PKCS11Exception;
/**
@@ -1140,7 +1189,9 @@ public class PKCS11 {
* @preconditions (pSignature <> null)
* @postconditions (result <> null)
*/
- public native int C_VerifyRecover(long hSession, byte[] in, int inOfs, int inLen, byte[] out, int outOufs, int outLen) throws PKCS11Exception;
+ public native int C_VerifyRecover(long hSession, byte[] in, int inOfs,
+ int inLen, byte[] out, int outOufs, int outLen)
+ throws PKCS11Exception;
@@ -1164,7 +1215,8 @@ public class PKCS11 {
* @preconditions (pPart <> null)
* @postconditions
*/
-// public native byte[] C_DigestEncryptUpdate(long hSession, byte[] pPart) throws PKCS11Exception;
+// public native byte[] C_DigestEncryptUpdate(long hSession, byte[] pPart)
+// throws PKCS11Exception;
/**
@@ -1184,7 +1236,8 @@ public class PKCS11 {
* @preconditions (pEncryptedPart <> null)
* @postconditions
*/
-// public native byte[] C_DecryptDigestUpdate(long hSession, byte[] pEncryptedPart) throws PKCS11Exception;
+// public native byte[] C_DecryptDigestUpdate(long hSession,
+// byte[] pEncryptedPart) throws PKCS11Exception;
/**
@@ -1204,7 +1257,8 @@ public class PKCS11 {
* @preconditions (pPart <> null)
* @postconditions
*/
-// public native byte[] C_SignEncryptUpdate(long hSession, byte[] pPart) throws PKCS11Exception;
+// public native byte[] C_SignEncryptUpdate(long hSession, byte[] pPart)
+// throws PKCS11Exception;
/**
@@ -1224,7 +1278,8 @@ public class PKCS11 {
* @preconditions (pEncryptedPart <> null)
* @postconditions
*/
-// public native byte[] C_DecryptVerifyUpdate(long hSession, byte[] pEncryptedPart) throws PKCS11Exception;
+// public native byte[] C_DecryptVerifyUpdate(long hSession,
+// byte[] pEncryptedPart) throws PKCS11Exception;
@@ -1250,7 +1305,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
- public native long C_GenerateKey(long hSession, CK_MECHANISM pMechanism, CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception;
+ public native long C_GenerateKey(long hSession, CK_MECHANISM pMechanism,
+ CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception;
/**
@@ -1280,9 +1336,8 @@ public class PKCS11 {
* @postconditions (result <> null) and (result.length == 2)
*/
public native long[] C_GenerateKeyPair(long hSession,
- CK_MECHANISM pMechanism,
- CK_ATTRIBUTE[] pPublicKeyTemplate,
- CK_ATTRIBUTE[] pPrivateKeyTemplate) throws PKCS11Exception;
+ CK_MECHANISM pMechanism, CK_ATTRIBUTE[] pPublicKeyTemplate,
+ CK_ATTRIBUTE[] pPrivateKeyTemplate) throws PKCS11Exception;
@@ -1305,7 +1360,8 @@ public class PKCS11 {
* @preconditions
* @postconditions (result <> null)
*/
- public native byte[] C_WrapKey(long hSession, CK_MECHANISM pMechanism, long hWrappingKey, long hKey) throws PKCS11Exception;
+ public native byte[] C_WrapKey(long hSession, CK_MECHANISM pMechanism,
+ long hWrappingKey, long hKey) throws PKCS11Exception;
/**
@@ -1331,8 +1387,8 @@ public class PKCS11 {
* @postconditions
*/
public native long C_UnwrapKey(long hSession, CK_MECHANISM pMechanism,
- long hUnwrappingKey, byte[] pWrappedKey,
- CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception;
+ long hUnwrappingKey, byte[] pWrappedKey, CK_ATTRIBUTE[] pTemplate)
+ throws PKCS11Exception;
/**
@@ -1356,7 +1412,7 @@ public class PKCS11 {
* @postconditions
*/
public native long C_DeriveKey(long hSession, CK_MECHANISM pMechanism,
- long hBaseKey, CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception;
+ long hBaseKey, CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception;
@@ -1377,7 +1433,8 @@ public class PKCS11 {
* @preconditions (pSeed <> null)
* @postconditions
*/
- public native void C_SeedRandom(long hSession, byte[] pSeed) throws PKCS11Exception;
+ public native void C_SeedRandom(long hSession, byte[] pSeed)
+ throws PKCS11Exception;
/**
@@ -1393,7 +1450,8 @@ public class PKCS11 {
* @preconditions (randomData <> null)
* @postconditions
*/
- public native void C_GenerateRandom(long hSession, byte[] randomData) throws PKCS11Exception;
+ public native void C_GenerateRandom(long hSession, byte[] randomData)
+ throws PKCS11Exception;
@@ -1413,7 +1471,8 @@ public class PKCS11 {
* @preconditions
* @postconditions
*/
-// public native void C_GetFunctionStatus(long hSession) throws PKCS11Exception;
+// public native void C_GetFunctionStatus(long hSession)
+// throws PKCS11Exception;
/**
@@ -1450,7 +1509,8 @@ public class PKCS11 {
* @preconditions (pRserved == null)
* @postconditions
*/
-// public native long C_WaitForSlotEvent(long flags, Object pRserved) throws PKCS11Exception;
+// public native long C_WaitForSlotEvent(long flags, Object pRserved)
+// throws PKCS11Exception;
/**
* Returns the string representation of this object.
@@ -1476,7 +1536,8 @@ public class PKCS11 {
// parent. Used for tokens that only support single threaded access
static class SynchronizedPKCS11 extends PKCS11 {
- SynchronizedPKCS11(String pkcs11ModulePath, String functionListName) throws IOException {
+ SynchronizedPKCS11(String pkcs11ModulePath, String functionListName)
+ throws IOException {
super(pkcs11ModulePath, functionListName);
}
@@ -1484,7 +1545,8 @@ static class SynchronizedPKCS11 extends PKCS11 {
super.C_Initialize(pInitArgs);
}
- public synchronized void C_Finalize(Object pReserved) throws PKCS11Exception {
+ public synchronized void C_Finalize(Object pReserved)
+ throws PKCS11Exception {
super.C_Finalize(pReserved);
}
@@ -1492,39 +1554,48 @@ static class SynchronizedPKCS11 extends PKCS11 {
return super.C_GetInfo();
}
- public synchronized long[] C_GetSlotList(boolean tokenPresent) throws PKCS11Exception {
+ public synchronized long[] C_GetSlotList(boolean tokenPresent)
+ throws PKCS11Exception {
return super.C_GetSlotList(tokenPresent);
}
- public synchronized CK_SLOT_INFO C_GetSlotInfo(long slotID) throws PKCS11Exception {
+ public synchronized CK_SLOT_INFO C_GetSlotInfo(long slotID)
+ throws PKCS11Exception {
return super.C_GetSlotInfo(slotID);
}
- public synchronized CK_TOKEN_INFO C_GetTokenInfo(long slotID) throws PKCS11Exception {
+ public synchronized CK_TOKEN_INFO C_GetTokenInfo(long slotID)
+ throws PKCS11Exception {
return super.C_GetTokenInfo(slotID);
}
- public synchronized long[] C_GetMechanismList(long slotID) throws PKCS11Exception {
+ public synchronized long[] C_GetMechanismList(long slotID)
+ throws PKCS11Exception {
return super.C_GetMechanismList(slotID);
}
- public synchronized CK_MECHANISM_INFO C_GetMechanismInfo(long slotID, long type) throws PKCS11Exception {
+ public synchronized CK_MECHANISM_INFO C_GetMechanismInfo(long slotID,
+ long type) throws PKCS11Exception {
return super.C_GetMechanismInfo(slotID, type);
}
- public synchronized long C_OpenSession(long slotID, long flags, Object pApplication, CK_NOTIFY Notify) throws PKCS11Exception {
+ public synchronized long C_OpenSession(long slotID, long flags,
+ Object pApplication, CK_NOTIFY Notify) throws PKCS11Exception {
return super.C_OpenSession(slotID, flags, pApplication, Notify);
}
- public synchronized void C_CloseSession(long hSession) throws PKCS11Exception {
+ public synchronized void C_CloseSession(long hSession)
+ throws PKCS11Exception {
super.C_CloseSession(hSession);
}
- public synchronized CK_SESSION_INFO C_GetSessionInfo(long hSession) throws PKCS11Exception {
+ public synchronized CK_SESSION_INFO C_GetSessionInfo(long hSession)
+ throws PKCS11Exception {
return super.C_GetSessionInfo(hSession);
}
- public synchronized void C_Login(long hSession, long userType, char[] pPin) throws PKCS11Exception {
+ public synchronized void C_Login(long hSession, long userType, char[] pPin)
+ throws PKCS11Exception {
super.C_Login(hSession, userType, pPin);
}
@@ -1532,157 +1603,207 @@ static class SynchronizedPKCS11 extends PKCS11 {
super.C_Logout(hSession);
}
- public synchronized long C_CreateObject(long hSession, CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception {
+ public synchronized long C_CreateObject(long hSession,
+ CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception {
return super.C_CreateObject(hSession, pTemplate);
}
- public synchronized long C_CopyObject(long hSession, long hObject, CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception {
+ public synchronized long C_CopyObject(long hSession, long hObject,
+ CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception {
return super.C_CopyObject(hSession, hObject, pTemplate);
}
- public synchronized void C_DestroyObject(long hSession, long hObject) throws PKCS11Exception {
+ public synchronized void C_DestroyObject(long hSession, long hObject)
+ throws PKCS11Exception {
super.C_DestroyObject(hSession, hObject);
}
- public synchronized void C_GetAttributeValue(long hSession, long hObject, CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception {
+ public synchronized void C_GetAttributeValue(long hSession, long hObject,
+ CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception {
super.C_GetAttributeValue(hSession, hObject, pTemplate);
}
- public synchronized void C_SetAttributeValue(long hSession, long hObject, CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception {
+ public synchronized void C_SetAttributeValue(long hSession, long hObject,
+ CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception {
super.C_SetAttributeValue(hSession, hObject, pTemplate);
}
- public synchronized void C_FindObjectsInit(long hSession, CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception {
+ public synchronized void C_FindObjectsInit(long hSession,
+ CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception {
super.C_FindObjectsInit(hSession, pTemplate);
}
- public synchronized long[] C_FindObjects(long hSession, long ulMaxObjectCount) throws PKCS11Exception {
+ public synchronized long[] C_FindObjects(long hSession,
+ long ulMaxObjectCount) throws PKCS11Exception {
return super.C_FindObjects(hSession, ulMaxObjectCount);
}
- public synchronized void C_FindObjectsFinal(long hSession) throws PKCS11Exception {
+ public synchronized void C_FindObjectsFinal(long hSession)
+ throws PKCS11Exception {
super.C_FindObjectsFinal(hSession);
}
- public synchronized void C_EncryptInit(long hSession, CK_MECHANISM pMechanism, long hKey) throws PKCS11Exception {
+ public synchronized void C_EncryptInit(long hSession,
+ CK_MECHANISM pMechanism, long hKey) throws PKCS11Exception {
super.C_EncryptInit(hSession, pMechanism, hKey);
}
- public synchronized int C_Encrypt(long hSession, byte[] in, int inOfs, int inLen, byte[] out, int outOfs, int outLen) throws PKCS11Exception {
+ public synchronized int C_Encrypt(long hSession, byte[] in, int inOfs,
+ int inLen, byte[] out, int outOfs, int outLen)
+ throws PKCS11Exception {
return super.C_Encrypt(hSession, in, inOfs, inLen, out, outOfs, outLen);
}
- public synchronized int C_EncryptUpdate(long hSession, long directIn, byte[] in, int inOfs, int inLen, long directOut, byte[] out, int outOfs, int outLen) throws PKCS11Exception {
- return super.C_EncryptUpdate(hSession, directIn, in, inOfs, inLen, directOut, out, outOfs, outLen);
+ public synchronized int C_EncryptUpdate(long hSession, long directIn,
+ byte[] in, int inOfs, int inLen, long directOut, byte[] out,
+ int outOfs, int outLen) throws PKCS11Exception {
+ return super.C_EncryptUpdate(hSession, directIn, in, inOfs, inLen,
+ directOut, out, outOfs, outLen);
}
- public synchronized int C_EncryptFinal(long hSession, long directOut, byte[] out, int outOfs, int outLen) throws PKCS11Exception {
+ public synchronized int C_EncryptFinal(long hSession, long directOut,
+ byte[] out, int outOfs, int outLen) throws PKCS11Exception {
return super.C_EncryptFinal(hSession, directOut, out, outOfs, outLen);
}
- public synchronized void C_DecryptInit(long hSession, CK_MECHANISM pMechanism, long hKey) throws PKCS11Exception {
+ public synchronized void C_DecryptInit(long hSession,
+ CK_MECHANISM pMechanism, long hKey) throws PKCS11Exception {
super.C_DecryptInit(hSession, pMechanism, hKey);
}
- public synchronized int C_Decrypt(long hSession, byte[] in, int inOfs, int inLen, byte[] out, int outOfs, int outLen) throws PKCS11Exception {
+ public synchronized int C_Decrypt(long hSession, byte[] in, int inOfs,
+ int inLen, byte[] out, int outOfs, int outLen)
+ throws PKCS11Exception {
return super.C_Decrypt(hSession, in, inOfs, inLen, out, outOfs, outLen);
}
- public synchronized int C_DecryptUpdate(long hSession, long directIn, byte[] in, int inOfs, int inLen, long directOut, byte[] out, int outOfs, int outLen) throws PKCS11Exception {
- return super.C_DecryptUpdate(hSession, directIn, in, inOfs, inLen, directOut, out, outOfs, outLen);
+ public synchronized int C_DecryptUpdate(long hSession, long directIn,
+ byte[] in, int inOfs, int inLen, long directOut, byte[] out,
+ int outOfs, int outLen) throws PKCS11Exception {
+ return super.C_DecryptUpdate(hSession, directIn, in, inOfs, inLen,
+ directOut, out, outOfs, outLen);
}
- public synchronized int C_DecryptFinal(long hSession, long directOut, byte[] out, int outOfs, int outLen) throws PKCS11Exception {
+ public synchronized int C_DecryptFinal(long hSession, long directOut,
+ byte[] out, int outOfs, int outLen) throws PKCS11Exception {
return super.C_DecryptFinal(hSession, directOut, out, outOfs, outLen);
}
- public synchronized void C_DigestInit(long hSession, CK_MECHANISM pMechanism) throws PKCS11Exception {
+ public synchronized void C_DigestInit(long hSession, CK_MECHANISM pMechanism)
+ throws PKCS11Exception {
super.C_DigestInit(hSession, pMechanism);
}
- public synchronized int C_DigestSingle(long hSession, CK_MECHANISM pMechanism, byte[] in, int inOfs, int inLen, byte[] digest, int digestOfs, int digestLen) throws PKCS11Exception {
- return super.C_DigestSingle(hSession, pMechanism, in, inOfs, inLen, digest, digestOfs, digestLen);
+ public synchronized int C_DigestSingle(long hSession,
+ CK_MECHANISM pMechanism, byte[] in, int inOfs, int inLen,
+ byte[] digest, int digestOfs, int digestLen) throws PKCS11Exception {
+ return super.C_DigestSingle(hSession, pMechanism, in, inOfs, inLen,
+ digest, digestOfs, digestLen);
}
- public synchronized void C_DigestUpdate(long hSession, long directIn, byte[] in, int inOfs, int inLen) throws PKCS11Exception {
+ public synchronized void C_DigestUpdate(long hSession, long directIn,
+ byte[] in, int inOfs, int inLen) throws PKCS11Exception {
super.C_DigestUpdate(hSession, directIn, in, inOfs, inLen);
}
- public synchronized void C_DigestKey(long hSession, long hKey) throws PKCS11Exception {
+ public synchronized void C_DigestKey(long hSession, long hKey)
+ throws PKCS11Exception {
super.C_DigestKey(hSession, hKey);
}
- public synchronized int C_DigestFinal(long hSession, byte[] pDigest, int digestOfs, int digestLen) throws PKCS11Exception {
+ public synchronized int C_DigestFinal(long hSession, byte[] pDigest,
+ int digestOfs, int digestLen) throws PKCS11Exception {
return super.C_DigestFinal(hSession, pDigest, digestOfs, digestLen);
}
- public synchronized void C_SignInit(long hSession, CK_MECHANISM pMechanism, long hKey) throws PKCS11Exception {
+ public synchronized void C_SignInit(long hSession, CK_MECHANISM pMechanism,
+ long hKey) throws PKCS11Exception {
super.C_SignInit(hSession, pMechanism, hKey);
}
- public synchronized byte[] C_Sign(long hSession, byte[] pData) throws PKCS11Exception {
+ public synchronized byte[] C_Sign(long hSession, byte[] pData)
+ throws PKCS11Exception {
return super.C_Sign(hSession, pData);
}
- public synchronized void C_SignUpdate(long hSession, long directIn, byte[] in, int inOfs, int inLen) throws PKCS11Exception {
+ public synchronized void C_SignUpdate(long hSession, long directIn,
+ byte[] in, int inOfs, int inLen) throws PKCS11Exception {
super.C_SignUpdate(hSession, directIn, in, inOfs, inLen);
}
- public synchronized byte[] C_SignFinal(long hSession, int expectedLen) throws PKCS11Exception {
+ public synchronized byte[] C_SignFinal(long hSession, int expectedLen)
+ throws PKCS11Exception {
return super.C_SignFinal(hSession, expectedLen);
}
- public synchronized void C_SignRecoverInit(long hSession, CK_MECHANISM pMechanism, long hKey) throws PKCS11Exception {
+ public synchronized void C_SignRecoverInit(long hSession,
+ CK_MECHANISM pMechanism, long hKey) throws PKCS11Exception {
super.C_SignRecoverInit(hSession, pMechanism, hKey);
}
- public synchronized int C_SignRecover(long hSession, byte[] in, int inOfs, int inLen, byte[] out, int outOufs, int outLen) throws PKCS11Exception {
- return super.C_SignRecover(hSession, in, inOfs, inLen, out, outOufs, outLen);
+ public synchronized int C_SignRecover(long hSession, byte[] in, int inOfs,
+ int inLen, byte[] out, int outOufs, int outLen)
+ throws PKCS11Exception {
+ return super.C_SignRecover(hSession, in, inOfs, inLen, out, outOufs,
+ outLen);
}
- public synchronized void C_VerifyInit(long hSession, CK_MECHANISM pMechanism, long hKey) throws PKCS11Exception {
+ public synchronized void C_VerifyInit(long hSession, CK_MECHANISM pMechanism,
+ long hKey) throws PKCS11Exception {
super.C_VerifyInit(hSession, pMechanism, hKey);
}
- public synchronized void C_Verify(long hSession, byte[] pData, byte[] pSignature) throws PKCS11Exception {
+ public synchronized void C_Verify(long hSession, byte[] pData,
+ byte[] pSignature) throws PKCS11Exception {
super.C_Verify(hSession, pData, pSignature);
}
- public synchronized void C_VerifyUpdate(long hSession, long directIn, byte[] in, int inOfs, int inLen) throws PKCS11Exception {
+ public synchronized void C_VerifyUpdate(long hSession, long directIn,
+ byte[] in, int inOfs, int inLen) throws PKCS11Exception {
super.C_VerifyUpdate(hSession, directIn, in, inOfs, inLen);
}
- public synchronized void C_VerifyFinal(long hSession, byte[] pSignature) throws PKCS11Exception {
+ public synchronized void C_VerifyFinal(long hSession, byte[] pSignature)
+ throws PKCS11Exception {
super.C_VerifyFinal(hSession, pSignature);
}
- public synchronized void C_VerifyRecoverInit(long hSession, CK_MECHANISM pMechanism, long hKey) throws PKCS11Exception {
+ public synchronized void C_VerifyRecoverInit(long hSession,
+ CK_MECHANISM pMechanism, long hKey) throws PKCS11Exception {
super.C_VerifyRecoverInit(hSession, pMechanism, hKey);
}
- public synchronized int C_VerifyRecover(long hSession, byte[] in, int inOfs, int inLen, byte[] out, int outOufs, int outLen) throws PKCS11Exception {
- return super.C_VerifyRecover(hSession, in, inOfs, inLen, out, outOufs, outLen);
+ public synchronized int C_VerifyRecover(long hSession, byte[] in, int inOfs,
+ int inLen, byte[] out, int outOufs, int outLen)
+ throws PKCS11Exception {
+ return super.C_VerifyRecover(hSession, in, inOfs, inLen, out, outOufs,
+ outLen);
}
- public synchronized long C_GenerateKey(long hSession, CK_MECHANISM pMechanism, CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception {
+ public synchronized long C_GenerateKey(long hSession,
+ CK_MECHANISM pMechanism, CK_ATTRIBUTE[] pTemplate)
+ throws PKCS11Exception {
return super.C_GenerateKey(hSession, pMechanism, pTemplate);
}
public synchronized long[] C_GenerateKeyPair(long hSession,
- CK_MECHANISM pMechanism,
- CK_ATTRIBUTE[] pPublicKeyTemplate,
- CK_ATTRIBUTE[] pPrivateKeyTemplate) throws PKCS11Exception {
- return super.C_GenerateKeyPair(hSession, pMechanism, pPublicKeyTemplate, pPrivateKeyTemplate);
+ CK_MECHANISM pMechanism, CK_ATTRIBUTE[] pPublicKeyTemplate,
+ CK_ATTRIBUTE[] pPrivateKeyTemplate)
+ throws PKCS11Exception {
+ return super.C_GenerateKeyPair(hSession, pMechanism, pPublicKeyTemplate,
+ pPrivateKeyTemplate);
}
- public synchronized byte[] C_WrapKey(long hSession, CK_MECHANISM pMechanism, long hWrappingKey, long hKey) throws PKCS11Exception {
+ public synchronized byte[] C_WrapKey(long hSession, CK_MECHANISM pMechanism,
+ long hWrappingKey, long hKey) throws PKCS11Exception {
return super.C_WrapKey(hSession, pMechanism, hWrappingKey, hKey);
}
public synchronized long C_UnwrapKey(long hSession, CK_MECHANISM pMechanism,
- long hUnwrappingKey, byte[] pWrappedKey,
- CK_ATTRIBUTE[] pTemplate) throws PKCS11Exception {
- return super.C_UnwrapKey(hSession, pMechanism, hUnwrappingKey, pWrappedKey, pTemplate);
+ long hUnwrappingKey, byte[] pWrappedKey, CK_ATTRIBUTE[] pTemplate)
+ throws PKCS11Exception {
+ return super.C_UnwrapKey(hSession, pMechanism, hUnwrappingKey,
+ pWrappedKey, pTemplate);
}
public synchronized long C_DeriveKey(long hSession, CK_MECHANISM pMechanism,
@@ -1690,14 +1811,14 @@ static class SynchronizedPKCS11 extends PKCS11 {
return super.C_DeriveKey(hSession, pMechanism, hBaseKey, pTemplate);
}
- public synchronized void C_SeedRandom(long hSession, byte[] pSeed) throws PKCS11Exception {
+ public synchronized void C_SeedRandom(long hSession, byte[] pSeed)
+ throws PKCS11Exception {
super.C_SeedRandom(hSession, pSeed);
}
- public synchronized void C_GenerateRandom(long hSession, byte[] randomData) throws PKCS11Exception {
+ public synchronized void C_GenerateRandom(long hSession, byte[] randomData)
+ throws PKCS11Exception {
super.C_GenerateRandom(hSession, randomData);
}
-
}
-
}
diff --git a/jdk/src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java b/jdk/src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java
index 5109e13..f2a999f 100644
--- a/jdk/src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java
+++ b/jdk/src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java
@@ -44,12 +44,16 @@ import java.security.cert.CertStoreSpi;
import java.security.cert.CRLSelector;
import java.security.cert.X509Certificate;
import java.security.cert.X509CRL;
+import java.net.Socket;
+import java.net.URLConnection;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
+import javax.net.ssl.SSLEngine;
+import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
-import javax.net.ssl.X509TrustManager;
+import javax.net.ssl.X509ExtendedTrustManager;
/**
* A CertStore that retrieves an SSL server's certificate chain.
@@ -57,31 +61,74 @@ import javax.net.ssl.X509TrustManager;
public final class SSLServerCertStore extends CertStoreSpi {
private final URI uri;
+ private final static GetChainTrustManager trustManager;
+ private final static SSLSocketFactory socketFactory;
+ private final static HostnameVerifier hostnameVerifier;
+
+ static {
+ trustManager = new GetChainTrustManager();
+ hostnameVerifier = new HostnameVerifier() {
+ public boolean verify(String hostname, SSLSession session) {
+ return true;
+ }
+ };
+
+ SSLSocketFactory tempFactory;
+ try {
+ SSLContext context = SSLContext.getInstance("SSL");
+ context.init(null, new TrustManager[] { trustManager }, null);
+ tempFactory = context.getSocketFactory();
+ } catch (GeneralSecurityException gse) {
+ tempFactory = null;
+ }
+
+ socketFactory = tempFactory;
+ }
SSLServerCertStore(URI uri) throws InvalidAlgorithmParameterException {
super(null);
this.uri = uri;
}
- public synchronized Collection<X509Certificate> engineGetCertificates
- (CertSelector selector) throws CertStoreException
- {
+ public Collection<X509Certificate> engineGetCertificates
+ (CertSelector selector) throws CertStoreException {
+
try {
- SSLContext sc = SSLContext.getInstance("SSL");
- GetChainTrustManager xtm = new GetChainTrustManager();
- sc.init(null, new TrustManager[] { xtm }, null);
- HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
- HttpsURLConnection.setDefaultHostnameVerifier(
- new HostnameVerifier() {
- public boolean verify(String hostname, SSLSession session) {
- return true;
+ URLConnection urlConn = uri.toURL().openConnection();
+ if (urlConn instanceof HttpsURLConnection) {
+ if (socketFactory == null) {
+ throw new CertStoreException(
+ "No initialized SSLSocketFactory");
+ }
+
+ HttpsURLConnection https = (HttpsURLConnection)urlConn;
+ https.setSSLSocketFactory(socketFactory);
+ https.setHostnameVerifier(hostnameVerifier);
+ synchronized (trustManager) {
+ try {
+ https.connect();
+ return getMatchingCerts(
+ trustManager.serverChain, selector);
+ } catch (IOException ioe) {
+ // If the server certificate has already been
+ // retrieved, don't mind the connection state.
+ if (trustManager.exchangedServerCerts) {
+ return getMatchingCerts(
+ trustManager.serverChain, selector);
+ }
+
+ // otherwise, rethrow the exception
+ throw ioe;
+ } finally {
+ trustManager.cleanup();
}
- });
- uri.toURL().openConnection().connect();
- return getMatchingCerts(xtm.serverChain, selector);
- } catch (GeneralSecurityException | IOException e) {
- throw new CertStoreException(e);
+ }
+ }
+ } catch (IOException ioe) {
+ throw new CertStoreException(ioe);
}
+
+ return Collections.<X509Certificate>emptySet();
}
private static List<X509Certificate> getMatchingCerts
@@ -106,37 +153,77 @@ public final class SSLServerCertStore extends CertStoreSpi {
throw new UnsupportedOperationException();
}
- static synchronized CertStore getInstance(URI uri)
+ static CertStore getInstance(URI uri)
throws InvalidAlgorithmParameterException
{
return new CS(new SSLServerCertStore(uri), null, "SSLServer", null);
}
/*
- * An X509TrustManager that simply stores a reference to the server's
- * certificate chain.
+ * An X509ExtendedTrustManager that ignores the server certificate
+ * validation.
*/
- private static class GetChainTrustManager implements X509TrustManager {
- private List<X509Certificate> serverChain;
+ private static class GetChainTrustManager
+ extends X509ExtendedTrustManager {
+
+ private List<X509Certificate> serverChain =
+ Collections.<X509Certificate>emptyList();
+ private boolean exchangedServerCerts = false;
+ @Override
public X509Certificate[] getAcceptedIssuers() {
- throw new UnsupportedOperationException();
+ return new X509Certificate[0];
}
+ @Override
public void checkClientTrusted(X509Certificate[] chain,
- String authType)
- throws CertificateException
- {
+ String authType) throws CertificateException {
+
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void checkClientTrusted(X509Certificate[] chain, String authType,
+ Socket socket) throws CertificateException {
+
throw new UnsupportedOperationException();
}
+ @Override
+ public void checkClientTrusted(X509Certificate[] chain, String authType,
+ SSLEngine engine) throws CertificateException {
+
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
public void checkServerTrusted(X509Certificate[] chain,
- String authType)
- throws CertificateException
- {
+ String authType) throws CertificateException {
+
+ exchangedServerCerts = true;
this.serverChain = (chain == null)
- ? Collections.<X509Certificate>emptyList()
- : Arrays.asList(chain);
+ ? Collections.<X509Certificate>emptyList()
+ : Arrays.<X509Certificate>asList(chain);
+
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] chain, String authType,
+ Socket socket) throws CertificateException {
+
+ checkServerTrusted(chain, authType);
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] chain, String authType,
+ SSLEngine engine) throws CertificateException {
+
+ checkServerTrusted(chain, authType);
+ }
+
+ void cleanup() {
+ exchangedServerCerts = false;
+ serverChain = Collections.<X509Certificate>emptyList();
}
}
diff --git a/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java b/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java
index fbf2319..9ebeb75 100644
--- a/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java
+++ b/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -957,7 +957,8 @@ final class ClientHandshaker extends Handshaker {
if (protocolVersion.v >= ProtocolVersion.TLS12.v) {
preferableSignatureAlgorithm =
SignatureAndHashAlgorithm.getPreferableAlgorithm(
- peerSupportedSignAlgs, signingKey.getAlgorithm());
+ peerSupportedSignAlgs, signingKey.getAlgorithm(),
+ signingKey);
if (preferableSignatureAlgorithm == null) {
throw new SSLHandshakeException(
diff --git a/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java b/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java
index b802604..a5da2f7 100644
--- a/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java
+++ b/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java
@@ -771,10 +771,15 @@ public abstract class SSLContextImpl extends SSLContextSpi {
final class AbstractTrustManagerWrapper extends X509ExtendedTrustManager
implements X509TrustManager {
+ // the delegated trust manager
private final X509TrustManager tm;
+ // Cache the trusted certificate to optimize the performance.
+ private final Collection<X509Certificate> trustedCerts = new HashSet<>();
+
AbstractTrustManagerWrapper(X509TrustManager tm) {
this.tm = tm;
+ Collections.addAll(trustedCerts, tm.getAcceptedIssuers());
}
@Override
@@ -863,20 +868,7 @@ final class AbstractTrustManagerWrapper extends X509ExtendedTrustManager
constraints = new SSLAlgorithmConstraints(sslSocket, true);
}
- AlgorithmChecker checker = new AlgorithmChecker(constraints);
- try {
- checker.init(false);
-
- // a forward checker, need to check from trust to target
- for (int i = chain.length - 1; i >= 0; i--) {
- Certificate cert = chain[i];
- // We don't care about the unresolved critical extensions.
- checker.check(cert, Collections.<String>emptySet());
- }
- } catch (CertPathValidatorException cpve) {
- throw new CertificateException(
- "Certificates does not conform to algorithm constraints");
- }
+ checkAlgorithmConstraints(chain, constraints);
}
}
@@ -918,20 +910,33 @@ final class AbstractTrustManagerWrapper extends X509ExtendedTrustManager
constraints = new SSLAlgorithmConstraints(engine, true);
}
- AlgorithmChecker checker = new AlgorithmChecker(constraints);
- try {
- checker.init(false);
+ checkAlgorithmConstraints(chain, constraints);
+ }
+ }
- // A forward checker, need to check from trust to target
- for (int i = chain.length - 1; i >= 0; i--) {
+ private void checkAlgorithmConstraints(X509Certificate[] chain,
+ AlgorithmConstraints constraints) throws CertificateException {
+
+ try {
+ // Does the certificate chain end with a trusted certificate?
+ int checkedLength = chain.length - 1;
+ if (trustedCerts.contains(chain[checkedLength])) {
+ checkedLength--;
+ }
+
+ // A forward checker, need to check from trust to target
+ if (checkedLength >= 0) {
+ AlgorithmChecker checker = new AlgorithmChecker(constraints);
+ checker.init(false);
+ for (int i = checkedLength; i >= 0; i--) {
Certificate cert = chain[i];
// We don't care about the unresolved critical extensions.
checker.check(cert, Collections.<String>emptySet());
}
- } catch (CertPathValidatorException cpve) {
- throw new CertificateException(
- "Certificates does not conform to algorithm constraints");
}
+ } catch (CertPathValidatorException cpve) {
+ throw new CertificateException(
+ "Certificates does not conform to algorithm constraints");
}
}
}
diff --git a/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java b/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java
index 814f7d2..db11db8 100644
--- a/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java
+++ b/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java
@@ -1485,7 +1485,8 @@ final public class SSLSocketImpl extends BaseSSLSocketImpl {
private void closeSocket(boolean selfInitiated) throws IOException {
if ((debug != null) && Debug.isOn("ssl")) {
- System.out.println(threadName() + ", called closeSocket(selfInitiated)");
+ System.out.println(threadName() +
+ ", called closeSocket(" + selfInitiated + ")");
}
if (self == this) {
super.close();
diff --git a/jdk/src/share/classes/sun/security/ssl/ServerHandshaker.java b/jdk/src/share/classes/sun/security/ssl/ServerHandshaker.java
index 125de5f..223494c 100644
--- a/jdk/src/share/classes/sun/security/ssl/ServerHandshaker.java
+++ b/jdk/src/share/classes/sun/security/ssl/ServerHandshaker.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -1024,37 +1024,39 @@ final class ServerHandshaker extends Handshaker {
}
break;
case K_DHE_RSA:
+ // need RSA certs for authentication
+ if (setupPrivateKeyAndChain("RSA") == false) {
+ return false;
+ }
+
// get preferable peer signature algorithm for server key exchange
if (protocolVersion.v >= ProtocolVersion.TLS12.v) {
preferableSignatureAlgorithm =
SignatureAndHashAlgorithm.getPreferableAlgorithm(
- supportedSignAlgs, "RSA");
+ supportedSignAlgs, "RSA", privateKey);
if (preferableSignatureAlgorithm == null) {
return false;
}
}
+ setupEphemeralDHKeys(suite.exportable);
+ break;
+ case K_ECDHE_RSA:
// need RSA certs for authentication
if (setupPrivateKeyAndChain("RSA") == false) {
return false;
}
- setupEphemeralDHKeys(suite.exportable);
- break;
- case K_ECDHE_RSA:
+
// get preferable peer signature algorithm for server key exchange
if (protocolVersion.v >= ProtocolVersion.TLS12.v) {
preferableSignatureAlgorithm =
SignatureAndHashAlgorithm.getPreferableAlgorithm(
- supportedSignAlgs, "RSA");
+ supportedSignAlgs, "RSA", privateKey);
if (preferableSignatureAlgorithm == null) {
return false;
}
}
- // need RSA certs for authentication
- if (setupPrivateKeyAndChain("RSA") == false) {
- return false;
- }
if (setupEphemeralECDHKeys() == false) {
return false;
}
diff --git a/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java b/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java
index dad0781..d1bc653 100644
--- a/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java
+++ b/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,7 @@ package sun.security.ssl;
import java.security.AlgorithmConstraints;
import java.security.CryptoPrimitive;
+import java.security.PrivateKey;
import java.util.Set;
import java.util.HashSet;
@@ -37,6 +38,8 @@ import java.util.Collection;
import java.util.Collections;
import java.util.ArrayList;
+import sun.security.util.KeyLength;
+
/**
* Signature and hash algorithm.
*
@@ -231,6 +234,14 @@ final class SignatureAndHashAlgorithm {
static SignatureAndHashAlgorithm getPreferableAlgorithm(
Collection<SignatureAndHashAlgorithm> algorithms, String expected) {
+ return SignatureAndHashAlgorithm.getPreferableAlgorithm(
+ algorithms, expected, null);
+ }
+
+ static SignatureAndHashAlgorithm getPreferableAlgorithm(
+ Collection<SignatureAndHashAlgorithm> algorithms,
+ String expected, PrivateKey signingKey) {
+
if (expected == null && !algorithms.isEmpty()) {
for (SignatureAndHashAlgorithm sigAlg : algorithms) {
if (sigAlg.priority <= SUPPORTED_ALG_PRIORITY_MAX_NUM) {
@@ -241,17 +252,58 @@ final class SignatureAndHashAlgorithm {
return null; // no supported algorithm
}
+ if (expected == null ) {
+ return null; // no expected algorithm, no supported algorithm
+ }
+
+ /*
+ * Need to check RSA key length to match the length of hash value
+ */
+ int maxDigestLength = Integer.MAX_VALUE;
+ if (signingKey != null &&
+ "rsa".equalsIgnoreCase(signingKey.getAlgorithm()) &&
+ expected.equalsIgnoreCase("rsa")) {
+ /*
+ * RSA keys of 512 bits have been shown to be practically
+ * breakable, it does not make much sense to use the strong
+ * hash algorithm for keys whose key size less than 512 bits.
+ * So it is not necessary to caculate the required max digest
+ * length exactly.
+ *
+ * If key size is greater than or equals to 768, there is no max
+ * digest length limitation in currect implementation.
+ *
+ * If key size is greater than or equals to 512, but less than
+ * 768, the digest length should be less than or equal to 32 bytes.
+ *
+ * If key size is less than 512, the digest length should be
+ * less than or equal to 20 bytes.
+ */
+ int keySize = KeyLength.getKeySize(signingKey);
+ if (keySize >= 768) {
+ maxDigestLength = HashAlgorithm.SHA512.length;
+ } else if ((keySize >= 512) && (keySize < 768)) {
+ maxDigestLength = HashAlgorithm.SHA256.length;
+ } else if ((keySize > 0) && (keySize < 512)) {
+ maxDigestLength = HashAlgorithm.SHA1.length;
+ } // Otherwise, cannot determine the key size, prefer the most
+ // perferable hash algorithm.
+ }
for (SignatureAndHashAlgorithm algorithm : algorithms) {
int signValue = algorithm.id & 0xFF;
- if ((expected.equalsIgnoreCase("dsa") &&
- signValue == SignatureAlgorithm.DSA.value) ||
- (expected.equalsIgnoreCase("rsa") &&
- signValue == SignatureAlgorithm.RSA.value) ||
- (expected.equalsIgnoreCase("ecdsa") &&
- signValue == SignatureAlgorithm.ECDSA.value) ||
- (expected.equalsIgnoreCase("ec") &&
- signValue == SignatureAlgorithm.ECDSA.value)) {
+ if (expected.equalsIgnoreCase("rsa") &&
+ signValue == SignatureAlgorithm.RSA.value) {
+ if (algorithm.hash.length <= maxDigestLength) {
+ return algorithm;
+ }
+ } else if (
+ (expected.equalsIgnoreCase("dsa") &&
+ signValue == SignatureAlgorithm.DSA.value) ||
+ (expected.equalsIgnoreCase("ecdsa") &&
+ signValue == SignatureAlgorithm.ECDSA.value) ||
+ (expected.equalsIgnoreCase("ec") &&
+ signValue == SignatureAlgorithm.ECDSA.value)) {
return algorithm;
}
}
@@ -260,25 +312,28 @@ final class SignatureAndHashAlgorithm {
}
static enum HashAlgorithm {
- UNDEFINED("undefined", "", -1),
- NONE( "none", "NONE", 0),
- MD5( "md5", "MD5", 1),
- SHA1( "sha1", "SHA-1", 2),
- SHA224( "sha224", "SHA-224", 3),
- SHA256( "sha256", "SHA-256", 4),
- SHA384( "sha384", "SHA-384", 5),
- SHA512( "sha512", "SHA-512", 6);
+ UNDEFINED("undefined", "", -1, -1),
+ NONE( "none", "NONE", 0, -1),
+ MD5( "md5", "MD5", 1, 16),
+ SHA1( "sha1", "SHA-1", 2, 20),
+ SHA224( "sha224", "SHA-224", 3, 28),
+ SHA256( "sha256", "SHA-256", 4, 32),
+ SHA384( "sha384", "SHA-384", 5, 48),
+ SHA512( "sha512", "SHA-512", 6, 64);
final String name; // not the standard signature algorithm name
// except the UNDEFINED, other names are defined
// by TLS 1.2 protocol
final String standardName; // the standard MessageDigest algorithm name
final int value;
+ final int length; // digest length in bytes, -1 means not applicable
- private HashAlgorithm(String name, String standardName, int value) {
+ private HashAlgorithm(String name, String standardName,
+ int value, int length) {
this.name = name;
this.standardName = standardName;
this.value = value;
+ this.length = length;
}
static HashAlgorithm valueOf(int value) {
diff --git a/jdk/src/share/classes/sun/security/tools/CertAndKeyGen.java b/jdk/src/share/classes/sun/security/tools/CertAndKeyGen.java
index 4c32a33..fad412e 100644
--- a/jdk/src/share/classes/sun/security/tools/CertAndKeyGen.java
+++ b/jdk/src/share/classes/sun/security/tools/CertAndKeyGen.java
@@ -33,18 +33,7 @@ import java.security.*;
import java.util.Date;
import sun.security.pkcs10.PKCS10;
-import sun.security.x509.AlgorithmId;
-import sun.security.x509.CertificateAlgorithmId;
-import sun.security.x509.CertificateIssuerName;
-import sun.security.x509.CertificateSerialNumber;
-import sun.security.x509.CertificateSubjectName;
-import sun.security.x509.CertificateValidity;
-import sun.security.x509.CertificateVersion;
-import sun.security.x509.CertificateX509Key;
-import sun.security.x509.X500Name;
-import sun.security.x509.X509CertImpl;
-import sun.security.x509.X509CertInfo;
-import sun.security.x509.X509Key;
+import sun.security.x509.*;
/**
@@ -165,6 +154,13 @@ public final class CertAndKeyGen {
publicKey = pair.getPublic();
privateKey = pair.getPrivate();
+
+ // publicKey's format must be X.509 otherwise
+ // the whole CertGen part of this class is broken.
+ if (!"X.509".equalsIgnoreCase(publicKey.getFormat())) {
+ throw new IllegalArgumentException("publicKey's is not X.509, but "
+ + publicKey.getFormat());
+ }
}
@@ -186,6 +182,16 @@ public final class CertAndKeyGen {
return (X509Key)publicKey;
}
+ /**
+ * Always returns the public key of the generated key pair. Used
+ * by KeyTool only.
+ *
+ * The publicKey is not necessarily to be an instance of
+ * X509Key in some JCA/JCE providers, for example SunPKCS11.
+ */
+ public PublicKey getPublicKeyAnyway() {
+ return publicKey;
+ }
/**
* Returns the private key of the generated key pair.
@@ -200,7 +206,6 @@ public final class CertAndKeyGen {
return privateKey;
}
-
/**
* Returns a self-signed X.509v3 certificate for the public key.
* The certificate is immediately valid. No extensions.
@@ -225,6 +230,15 @@ public final class CertAndKeyGen {
throws CertificateException, InvalidKeyException, SignatureException,
NoSuchAlgorithmException, NoSuchProviderException
{
+ return getSelfCertificate(myname, firstDate, validity, null);
+ }
+
+ // Like above, plus a CertificateExtensions argument, which can be null.
+ public X509Certificate getSelfCertificate (X500Name myname, Date firstDate,
+ long validity, CertificateExtensions ext)
+ throws CertificateException, InvalidKeyException, SignatureException,
+ NoSuchAlgorithmException, NoSuchProviderException
+ {
X509CertImpl cert;
Date lastDate;
@@ -248,6 +262,7 @@ public final class CertAndKeyGen {
info.set(X509CertInfo.KEY, new CertificateX509Key(publicKey));
info.set(X509CertInfo.VALIDITY, interval);
info.set(X509CertInfo.ISSUER, new CertificateIssuerName(myname));
+ if (ext != null) info.set(X509CertInfo.EXTENSIONS, ext);
cert = new X509CertImpl(info);
cert.sign(privateKey, this.sigAlg);
diff --git a/jdk/src/share/classes/sun/security/tools/KeyTool.java b/jdk/src/share/classes/sun/security/tools/KeyTool.java
index 0d92820..3125f6f 100644
--- a/jdk/src/share/classes/sun/security/tools/KeyTool.java
+++ b/jdk/src/share/classes/sun/security/tools/KeyTool.java
@@ -1518,9 +1518,16 @@ public final class KeyTool {
keypair.generate(keysize);
PrivateKey privKey = keypair.getPrivateKey();
+ CertificateExtensions ext = createV3Extensions(
+ null,
+ null,
+ v3ext,
+ keypair.getPublicKeyAnyway(),
+ null);
+
X509Certificate[] chain = new X509Certificate[1];
chain[0] = keypair.getSelfCertificate(
- x500Name, getStartDate(startDate), validity*24L*60L*60L);
+ x500Name, getStartDate(startDate), validity*24L*60L*60L, ext);
if (verbose) {
MessageFormat form = new MessageFormat(rb.getString
@@ -1537,9 +1544,6 @@ public final class KeyTool {
keyPass = promptForKeyPass(alias, null, storePass);
}
keyStore.setKeyEntry(alias, privKey, keyPass, chain);
-
- // resign so that -ext are applied.
- doSelfCert(alias, null, sigAlgName);
}
/**
diff --git a/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java b/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java
index a537c55..103c3d4 100644
--- a/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java
+++ b/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -33,11 +33,6 @@ import java.security.Key;
import java.security.Security;
import java.security.PrivilegedAction;
import java.security.AccessController;
-import java.security.interfaces.ECKey;
-import java.security.interfaces.RSAKey;
-import java.security.interfaces.DSAKey;
-import javax.crypto.SecretKey;
-import javax.crypto.interfaces.DHKey;
import java.util.Locale;
import java.util.Set;
@@ -443,40 +438,15 @@ public class DisabledAlgorithmConstraints implements AlgorithmConstraints {
// Does this key constraint disable the specified key?
public boolean disables(Key key) {
- int size = -1;
-
- // it is a SecretKey
- if (key instanceof SecretKey) {
- SecretKey sk = (SecretKey)key;
- if (sk.getFormat().equals("RAW") && sk.getEncoded() != null) {
- size = sk.getEncoded().length * 8;
-
- }
- }
-
- // it is an asymmetric key
- if (key instanceof RSAKey) {
- RSAKey pubk = (RSAKey)key;
- size = pubk.getModulus().bitLength();
- } else if (key instanceof ECKey) {
- ECKey pubk = (ECKey)key;
- size = pubk.getParams().getOrder().bitLength();
- } else if (key instanceof DSAKey) {
- DSAKey pubk = (DSAKey)key;
- size = pubk.getParams().getP().bitLength();
- } else if (key instanceof DHKey) {
- DHKey pubk = (DHKey)key;
- size = pubk.getParams().getP().bitLength();
- } // else, it is not a key we know.
+ int size = KeyLength.getKeySize(key);
if (size == 0) {
return true; // we don't allow any key of size 0.
- }
-
- if (size >= 0) {
+ } else if (size > 0) {
return ((size < minSize) || (size > maxSize) ||
(prohibitedSize == size));
- }
+ } // Otherwise, the key size is not accessible. Conservatively,
+ // please don't disable such keys.
return false;
}
diff --git a/jdk/src/share/classes/sun/security/util/KeyLength.java b/jdk/src/share/classes/sun/security/util/KeyLength.java
new file mode 100644
index 0000000..3ffbac3
--- /dev/null
+++ b/jdk/src/share/classes/sun/security/util/KeyLength.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * 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.
+ */
+
+package sun.security.util;
+
+import java.security.Key;
+import java.security.PrivilegedAction;
+import java.security.AccessController;
+import java.security.interfaces.ECKey;
+import java.security.interfaces.RSAKey;
+import java.security.interfaces.DSAKey;
+import javax.crypto.SecretKey;
+import javax.crypto.interfaces.DHKey;
+
+/**
+ * A utility class to get key length
+ */
+public final class KeyLength {
+
+ /**
+ * Returns the key size of the given key object in bits.
+ *
+ * @param key the key object, cannot be null
+ * @return the key size of the given key object in bits, or -1 if the
+ * key size is not accessible
+ */
+ final public static int getKeySize(Key key) {
+ int size = -1;
+
+ if (key instanceof Length) {
+ try {
+ Length ruler = (Length)key;
+ size = ruler.length();
+ } catch (UnsupportedOperationException usoe) {
+ // ignore the exception
+ }
+
+ if (size >= 0) {
+ return size;
+ }
+ }
+
+ // try to parse the length from key specification
+ if (key instanceof SecretKey) {
+ SecretKey sk = (SecretKey)key;
+ String format = sk.getFormat();
+ if ("RAW".equals(format) && sk.getEncoded() != null) {
+ size = (sk.getEncoded().length * 8);
+ } // Otherwise, it may be a unextractable key of PKCS#11, or
+ // a key we are not able to handle.
+ } else if (key instanceof RSAKey) {
+ RSAKey pubk = (RSAKey)key;
+ size = pubk.getModulus().bitLength();
+ } else if (key instanceof ECKey) {
+ ECKey pubk = (ECKey)key;
+ size = pubk.getParams().getOrder().bitLength();
+ } else if (key instanceof DSAKey) {
+ DSAKey pubk = (DSAKey)key;
+ size = pubk.getParams().getP().bitLength();
+ } else if (key instanceof DHKey) {
+ DHKey pubk = (DHKey)key;
+ size = pubk.getParams().getP().bitLength();
+ } // Otherwise, it may be a unextractable key of PKCS#11, or
+ // a key we are not able to handle.
+
+ return size;
+ }
+}
+
diff --git a/jdk/src/share/classes/sun/security/util/Length.java b/jdk/src/share/classes/sun/security/util/Length.java
new file mode 100644
index 0000000..1207e57
--- /dev/null
+++ b/jdk/src/share/classes/sun/security/util/Length.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * 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.
+ */
+
+package sun.security.util;
+
+/**
+ * The Length interface defines the length of an object
+ */
+public interface Length {
+
+ /**
+ * Gets the length of this object
+ * <p>
+ * Note that if a class of java.security.Key implements this interfaces,
+ * the length should be measured in bits.
+ *
+ * @return the length of this object
+ * @throws UnsupportedOperationException if the operation is not supported
+ */
+ public int length();
+}
diff --git a/jdk/src/share/classes/sun/text/CompactByteArray.java b/jdk/src/share/classes/sun/text/CompactByteArray.java
index 042d88f..d28b1db 100644
--- a/jdk/src/share/classes/sun/text/CompactByteArray.java
+++ b/jdk/src/share/classes/sun/text/CompactByteArray.java
@@ -264,9 +264,9 @@ public final class CompactByteArray implements Cloneable {
{
try {
CompactByteArray other = (CompactByteArray) super.clone();
- other.values = (byte[])values.clone();
- other.indices = (short[])indices.clone();
- if (hashes != null) other.hashes = (int[])hashes.clone();
+ other.values = values.clone();
+ other.indices = indices.clone();
+ if (hashes != null) other.hashes = hashes.clone();
return other;
} catch (CloneNotSupportedException e) {
throw new InternalError(e);
diff --git a/jdk/src/share/classes/sun/text/IntHashtable.java b/jdk/src/share/classes/sun/text/IntHashtable.java
index a066d09..679c710 100644
--- a/jdk/src/share/classes/sun/text/IntHashtable.java
+++ b/jdk/src/share/classes/sun/text/IntHashtable.java
@@ -122,11 +122,11 @@ public final class IntHashtable {
// this line just scrambles the bits as each value is added into the
// has value. This helps to make sure we affect all the bits and that
// the same values in a different order will produce a different hash value
- result = (int)(result * scrambler + 1);
+ result = result * scrambler + 1;
result += keyList[i];
}
for (int i = 0; i < values.length; ++i) {
- result = (int)(result * scrambler + 1);
+ result = result * scrambler + 1;
result += values[i];
}
return result;
@@ -135,8 +135,8 @@ public final class IntHashtable {
public Object clone ()
throws CloneNotSupportedException {
IntHashtable result = (IntHashtable) super.clone();
- values = (int[]) values.clone();
- keyList = (int[])keyList.clone();
+ values = values.clone();
+ keyList = keyList.clone();
return result;
}
diff --git a/jdk/src/share/classes/sun/text/bidi/BidiBase.java b/jdk/src/share/classes/sun/text/bidi/BidiBase.java
index d6733ce..a803f82 100644
--- a/jdk/src/share/classes/sun/text/bidi/BidiBase.java
+++ b/jdk/src/share/classes/sun/text/bidi/BidiBase.java
@@ -1106,7 +1106,7 @@ public class BidiBase {
* Assume sizeNeeded>0.
* If object != null, then assume size > 0.
*/
- private Object getMemory(String label, Object array, Class arrayClass,
+ private Object getMemory(String label, Object array, Class<?> arrayClass,
boolean mayAllocate, int sizeNeeded)
{
int len = Array.getLength(array);
@@ -1990,7 +1990,7 @@ public class BidiBase {
cell = impTab[oldStateSeq][_prop];
levState.state = GetState(cell); /* isolate the new state */
actionSeq = impAct[GetAction(cell)]; /* isolate the action */
- addLevel = (byte)impTab[levState.state][IMPTABLEVELS_RES];
+ addLevel = impTab[levState.state][IMPTABLEVELS_RES];
if (actionSeq != 0) {
switch (actionSeq) {
@@ -2014,7 +2014,7 @@ public class BidiBase {
/* nothing, just clean up */
levState.lastStrongRTL = -1;
/* check if we have a pending conditional segment */
- level = (byte)impTab[oldStateSeq][IMPTABLEVELS_RES];
+ level = impTab[oldStateSeq][IMPTABLEVELS_RES];
if ((level & 1) != 0 && levState.startON > 0) { /* after ON */
start = levState.startON; /* reset to basic run level */
}
@@ -2115,7 +2115,7 @@ public class BidiBase {
break;
case 11: /* L after L+ON+EN/AN/ON */
- level = (byte)levState.runLevel;
+ level = levState.runLevel;
for (k = start0-1; k >= levState.startON; k--) {
if (levels[k] == level+3) {
while (levels[k] == level+3) {
@@ -2178,7 +2178,7 @@ public class BidiBase {
levState.runLevel = levels[start];
levState.impTab = impTabPair.imptab[levState.runLevel & 1];
levState.impAct = impTabPair.impact[levState.runLevel & 1];
- processPropertySeq(levState, (short)sor, start, start);
+ processPropertySeq(levState, sor, start, start);
/* initialize for property state table */
if (dirProps[start] == NSM) {
stateImp = (short)(1 + sor);
@@ -2230,7 +2230,7 @@ public class BidiBase {
}
}
/* flush possible pending sequence, e.g. ON */
- processPropertySeq(levState, (short)eor, limit, limit);
+ processPropertySeq(levState, eor, limit, limit);
}
/* perform (L1) and (X9) ---------------------------------------------------- */
@@ -3484,6 +3484,7 @@ public class BidiBase {
}
}
+ @SuppressWarnings("serial")
private static AttributedCharacterIterator.Attribute
getTextAttribute(String name)
{
diff --git a/jdk/src/share/classes/sun/text/normalizer/ICUData.java b/jdk/src/share/classes/sun/text/normalizer/ICUData.java
index bf6e60f..6163329 100644
--- a/jdk/src/share/classes/sun/text/normalizer/ICUData.java
+++ b/jdk/src/share/classes/sun/text/normalizer/ICUData.java
@@ -48,12 +48,12 @@ import java.util.MissingResourceException;
*/
public final class ICUData {
- private static InputStream getStream(final Class root, final String resourceName, boolean required) {
+ private static InputStream getStream(final Class<ICUData> root, final String resourceName, boolean required) {
InputStream i = null;
if (System.getSecurityManager() != null) {
- i = (InputStream)AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
+ i = AccessController.doPrivileged(new PrivilegedAction<InputStream>() {
+ public InputStream run() {
return root.getResourceAsStream(resourceName);
}
});
diff --git a/jdk/src/share/classes/sun/text/normalizer/NormalizerBase.java b/jdk/src/share/classes/sun/text/normalizer/NormalizerBase.java
index 576e67b..875d059 100644
--- a/jdk/src/share/classes/sun/text/normalizer/NormalizerBase.java
+++ b/jdk/src/share/classes/sun/text/normalizer/NormalizerBase.java
@@ -886,6 +886,7 @@ public final class NormalizerBase implements Cloneable {
* @deprecated ICU 3.2
* @obsolete ICU 3.2
*/
+ @Deprecated
public int setIndex(int index) {
setIndexOnly(index);
return current();
@@ -899,6 +900,7 @@ public final class NormalizerBase implements Cloneable {
* @return The codepoint as an int
* @see #startIndex
*/
+ @Deprecated
public int getBeginIndex() {
return 0;
}
@@ -911,6 +913,7 @@ public final class NormalizerBase implements Cloneable {
* @return The codepoint as an int
* @see #endIndex
*/
+ @Deprecated
public int getEndIndex() {
return endIndex();
}
@@ -1235,11 +1238,11 @@ public final class NormalizerBase implements Cloneable {
mode, options);
if(pNeededToNormalize!=null) {
- pNeededToNormalize[0]=(boolean)(destLength!=bufferLength ||
- Utility.arrayRegionMatches(
- buffer,0,dest,
- destStart,destLimit
- ));
+ pNeededToNormalize[0]=destLength!=bufferLength ||
+ Utility.arrayRegionMatches(
+ buffer,0,dest,
+ destStart,destLimit
+ );
}
} else {
/* just copy the source characters */
@@ -1458,10 +1461,10 @@ public final class NormalizerBase implements Cloneable {
dest,destStart,destLimit, options);
if(pNeededToNormalize!=null) {
- pNeededToNormalize[0]=(boolean)(destLength!=bufferLength ||
- Utility.arrayRegionMatches(buffer,startIndex[0],
- dest,destStart,
- destLength));
+ pNeededToNormalize[0]=destLength!=bufferLength ||
+ Utility.arrayRegionMatches(buffer,startIndex[0],
+ dest,destStart,
+ destLength);
}
} else {
/* just copy the source characters */
diff --git a/jdk/src/share/classes/sun/text/normalizer/NormalizerImpl.java b/jdk/src/share/classes/sun/text/normalizer/NormalizerImpl.java
index b0b8e37..8f0c966 100644
--- a/jdk/src/share/classes/sun/text/normalizer/NormalizerImpl.java
+++ b/jdk/src/share/classes/sun/text/normalizer/NormalizerImpl.java
@@ -98,11 +98,11 @@ public final class NormalizerImpl {
private static final int EXTRA_SHIFT=16;
/* norm32 value constants using >16 bits */
- private static final long MIN_SPECIAL = (long)(0xfc000000 & UNSIGNED_INT_MASK);
- private static final long SURROGATES_TOP = (long)(0xfff00000 & UNSIGNED_INT_MASK);
- private static final long MIN_HANGUL = (long)(0xfff00000 & UNSIGNED_INT_MASK);
-// private static final long MIN_JAMO_V = (long)(0xfff20000 & UNSIGNED_INT_MASK);
- private static final long JAMO_V_TOP = (long)(0xfff30000 & UNSIGNED_INT_MASK);
+ private static final long MIN_SPECIAL = 0xfc000000 & UNSIGNED_INT_MASK;
+ private static final long SURROGATES_TOP = 0xfff00000 & UNSIGNED_INT_MASK;
+ private static final long MIN_HANGUL = 0xfff00000 & UNSIGNED_INT_MASK;
+// private static final long MIN_JAMO_V = 0xfff20000 & UNSIGNED_INT_MASK;
+ private static final long JAMO_V_TOP = 0xfff30000 & UNSIGNED_INT_MASK;
/* indexes[] value names */
@@ -134,7 +134,7 @@ public final class NormalizerImpl {
private static final int AUX_COMP_EX_SHIFT = 10;
private static final int AUX_NFC_SKIPPABLE_F_SHIFT = 12;
- private static final int AUX_MAX_FNC = ((int)1<<AUX_COMP_EX_SHIFT);
+ private static final int AUX_MAX_FNC = 1<<AUX_COMP_EX_SHIFT;
private static final int AUX_UNSAFE_MASK = (int)((1<<AUX_UNSAFE_SHIFT) & UNSIGNED_INT_MASK);
private static final int AUX_FNC_MASK = (int)((AUX_MAX_FNC-1) & UNSIGNED_INT_MASK);
private static final int AUX_COMP_EX_MASK = (int)((1<<AUX_COMP_EX_SHIFT) & UNSIGNED_INT_MASK);
@@ -188,7 +188,7 @@ public final class NormalizerImpl {
*/
/* auxTrie: the folding offset is in bits 9..0 of the 16-bit trie result */
public int getFoldingOffset(int value){
- return (int)(value &AUX_FNC_MASK)<<SURROGATE_BLOCK_BITS;
+ return (value &AUX_FNC_MASK)<<SURROGATE_BLOCK_BITS;
}
}
@@ -972,7 +972,7 @@ public final class NormalizerImpl {
/* copy these code units all at once */
if(srcIndex!=prevSrc) {
- length=(int)(srcIndex-prevSrc);
+ length=srcIndex-prevSrc;
if((destIndex+length)<=destLimit) {
System.arraycopy(src,prevSrc,dest,destIndex,length);
}
@@ -1814,7 +1814,7 @@ public final class NormalizerImpl {
/* copy these code units all at once */
if(srcIndex!=prevSrc) {
- length=(int)(srcIndex-prevSrc);
+ length=srcIndex-prevSrc;
if((destIndex+length)<=destLimit) {
System.arraycopy(src,prevSrc,dest,destIndex,length);
}
@@ -2022,13 +2022,13 @@ public final class NormalizerImpl {
public static int getCombiningClass(int c) {
long norm32;
norm32=getNorm32(c);
- return (char)((norm32>>CC_SHIFT)&0xFF);
+ return (int)((norm32>>CC_SHIFT)&0xFF);
}
public static boolean isFullCompositionExclusion(int c) {
if(isFormatVersion_2_1) {
int aux =AuxTrieImpl.auxTrie.getCodePointValue(c);
- return (boolean)((aux & AUX_COMP_EX_MASK)!=0);
+ return (aux & AUX_COMP_EX_MASK)!=0;
} else {
return false;
}
@@ -2037,7 +2037,7 @@ public final class NormalizerImpl {
public static boolean isCanonSafeStart(int c) {
if(isFormatVersion_2_1) {
int aux = AuxTrieImpl.auxTrie.getCodePointValue(c);
- return (boolean)((aux & AUX_UNSAFE_MASK)==0);
+ return (aux & AUX_UNSAFE_MASK)==0;
} else {
return false;
}
@@ -2546,7 +2546,7 @@ public final class NormalizerImpl {
// copy these code units all at once
if (srcIndex != prevSrc) {
- length = (int)(srcIndex - prevSrc);
+ length = srcIndex - prevSrc;
if ((destIndex + length) <= destLimit) {
System.arraycopy(src,prevSrc,dest,destIndex,length);
}
diff --git a/jdk/src/share/classes/sun/text/normalizer/SymbolTable.java b/jdk/src/share/classes/sun/text/normalizer/SymbolTable.java
index a1dfab5..95af219 100644
--- a/jdk/src/share/classes/sun/text/normalizer/SymbolTable.java
+++ b/jdk/src/share/classes/sun/text/normalizer/SymbolTable.java
@@ -65,6 +65,7 @@ import java.text.ParsePosition;
* @draft ICU 2.8
* @deprecated This is a draft API and might change in a future release of ICU.
*/
+ at Deprecated
public interface SymbolTable {
/**
@@ -72,6 +73,7 @@ public interface SymbolTable {
* @draft ICU 2.8
* @deprecated This is a draft API and might change in a future release of ICU.
*/
+ @Deprecated
static final char SYMBOL_REF = '$';
/**
@@ -84,6 +86,7 @@ public interface SymbolTable {
* @draft ICU 2.8
* @deprecated This is a draft API and might change in a future release of ICU.
*/
+ @Deprecated
char[] lookup(String s);
/**
@@ -95,6 +98,7 @@ public interface SymbolTable {
* @draft ICU 2.8
* @deprecated This is a draft API and might change in a future release of ICU.
*/
+ @Deprecated
UnicodeMatcher lookupMatcher(int ch);
/**
@@ -115,5 +119,6 @@ public interface SymbolTable {
* @draft ICU 2.8
* @deprecated This is a draft API and might change in a future release of ICU.
*/
+ @Deprecated
String parseReference(String text, ParsePosition pos, int limit);
}
diff --git a/jdk/src/share/classes/sun/text/normalizer/UnicodeSet.java b/jdk/src/share/classes/sun/text/normalizer/UnicodeSet.java
index 569daff..42f6fdb 100644
--- a/jdk/src/share/classes/sun/text/normalizer/UnicodeSet.java
+++ b/jdk/src/share/classes/sun/text/normalizer/UnicodeSet.java
@@ -298,7 +298,7 @@ public class UnicodeSet implements UnicodeMatcher {
// NOTE: normally the field should be of type SortedSet; but that is missing a public clone!!
// is not private so that UnicodeSetIterator can get access
- TreeSet strings = new TreeSet();
+ TreeSet<String> strings = new TreeSet<>();
/**
* The pattern representation of this set. This may not be the
@@ -368,7 +368,7 @@ public class UnicodeSet implements UnicodeMatcher {
* @stable ICU 2.0
*/
public UnicodeSet set(UnicodeSet other) {
- list = (int[]) other.list.clone();
+ list = other.list.clone();
len = other.len;
pat = other.pat;
strings = (TreeSet)other.strings.clone();
@@ -524,10 +524,10 @@ public class UnicodeSet implements UnicodeMatcher {
}
if (includeStrings && strings.size() > 0) {
- Iterator it = strings.iterator();
+ Iterator<String> it = strings.iterator();
while (it.hasNext()) {
result.append('{');
- _appendToPat(result, (String) it.next(), escapeUnprintable);
+ _appendToPat(result, it.next(), escapeUnprintable);
result.append('}');
}
}
@@ -1180,14 +1180,17 @@ public class UnicodeSet implements UnicodeMatcher {
}
}
syntaxError(chars, "'-' not after char or set");
+ break;
case '&':
if (lastItem == 2 && op == 0) {
op = (char) c;
continue;
}
syntaxError(chars, "'&' not after set");
+ break;
case '^':
syntaxError(chars, "'^' not after '['");
+ break;
case '{':
if (op != 0) {
syntaxError(chars, "Missing operand after operator");
@@ -1251,6 +1254,7 @@ public class UnicodeSet implements UnicodeMatcher {
continue;
}
syntaxError(chars, "Unquoted '$'");
+ break;
default:
break;
}
diff --git a/jdk/src/share/classes/sun/text/normalizer/UnicodeSetIterator.java b/jdk/src/share/classes/sun/text/normalizer/UnicodeSetIterator.java
index a27df03..53a145c 100644
--- a/jdk/src/share/classes/sun/text/normalizer/UnicodeSetIterator.java
+++ b/jdk/src/share/classes/sun/text/normalizer/UnicodeSetIterator.java
@@ -154,7 +154,7 @@ public class UnicodeSetIterator {
if (stringIterator == null) return false;
codepoint = IS_STRING; // signal that value is actually a string
- string = (String)stringIterator.next();
+ string = stringIterator.next();
if (!stringIterator.hasNext()) stringIterator = null;
return true;
}
@@ -203,7 +203,7 @@ public class UnicodeSetIterator {
* @internal
*/
protected int nextElement;
- private Iterator stringIterator = null;
+ private Iterator<String> stringIterator = null;
/**
* Invariant: stringIterator is null when there are no (more) strings remaining
diff --git a/jdk/src/share/classes/sun/text/normalizer/VersionInfo.java b/jdk/src/share/classes/sun/text/normalizer/VersionInfo.java
index 44b2e69..2f418b0 100644
--- a/jdk/src/share/classes/sun/text/normalizer/VersionInfo.java
+++ b/jdk/src/share/classes/sun/text/normalizer/VersionInfo.java
@@ -153,7 +153,7 @@ public final class VersionInfo
/**
* Map of singletons
*/
- private static final HashMap MAP_ = new HashMap();
+ private static final HashMap<Integer, Object> MAP_ = new HashMap<>();
/**
* Error statement string
*/
diff --git a/jdk/src/share/classes/sun/text/resources/FormatData_bg.java b/jdk/src/share/classes/sun/text/resources/FormatData_bg.java
index e812aaf..bca077b 100644
--- a/jdk/src/share/classes/sun/text/resources/FormatData_bg.java
+++ b/jdk/src/share/classes/sun/text/resources/FormatData_bg.java
@@ -130,16 +130,16 @@ public class FormatData_bg extends ListResourceBundle {
},
{ "DateTimePatterns",
new String[] {
- "HH:mm:ss z", // full time pattern
+ "HH:mm:ss zzzz", // full time pattern
"HH:mm:ss z", // long time pattern
- "H:mm:ss", // medium time pattern
- "H:mm", // short time pattern
- "EEEE, yyyy, MMMM d", // full date pattern
- "EEEE, yyyy, MMMM d", // long date pattern
- "yyyy-M-d", // medium date pattern
- "yy-M-d", // short date pattern
+ "HH:mm:ss", // medium time pattern
+ "HH:mm", // short time pattern
+ "dd MMMM y, EEEE", // full date pattern
+ "dd MMMM y", // long date pattern
+ "dd.MM.yyyy", // medium date pattern
+ "dd.MM.yy", // short date pattern
"{1} {0}" // date-time pattern
- }
+ }
},
{ "DateTimePatternChars", "GanjkHmsSEDFwWxhKzZ" },
};
diff --git a/jdk/src/share/classes/sun/tools/attach/HotSpotAttachProvider.java b/jdk/src/share/classes/sun/tools/attach/HotSpotAttachProvider.java
index 08535a1..c28ddda 100644
--- a/jdk/src/share/classes/sun/tools/attach/HotSpotAttachProvider.java
+++ b/jdk/src/share/classes/sun/tools/attach/HotSpotAttachProvider.java
@@ -75,7 +75,7 @@ public abstract class HotSpotAttachProvider extends AttachProvider {
new ArrayList<VirtualMachineDescriptor>();
MonitoredHost host;
- Set vms;
+ Set<Integer> vms;
try {
host = MonitoredHost.getMonitoredHost(new HostIdentifier((String)null));
vms = host.activeVms();
@@ -92,31 +92,29 @@ public abstract class HotSpotAttachProvider extends AttachProvider {
throw new InternalError(t); // shouldn't happen
}
- for (Object vmid: vms) {
- if (vmid instanceof Integer) {
- String pid = vmid.toString();
- String name = pid; // default to pid if name not available
- boolean isAttachable = false;
- MonitoredVm mvm = null;
+ for (Integer vmid: vms) {
+ String pid = vmid.toString();
+ String name = pid; // default to pid if name not available
+ boolean isAttachable = false;
+ MonitoredVm mvm = null;
+ try {
+ mvm = host.getMonitoredVm(new VmIdentifier(pid));
try {
- mvm = host.getMonitoredVm(new VmIdentifier(pid));
- try {
- isAttachable = MonitoredVmUtil.isAttachable(mvm);
- // use the command line as the display name
- name = MonitoredVmUtil.commandLine(mvm);
- } catch (Exception e) {
- }
- if (isAttachable) {
- result.add(new HotSpotVirtualMachineDescriptor(this, pid, name));
- }
- } catch (Throwable t) {
- if (t instanceof ThreadDeath) {
- throw (ThreadDeath)t;
- }
- } finally {
- if (mvm != null) {
- mvm.detach();
- }
+ isAttachable = MonitoredVmUtil.isAttachable(mvm);
+ // use the command line as the display name
+ name = MonitoredVmUtil.commandLine(mvm);
+ } catch (Exception e) {
+ }
+ if (isAttachable) {
+ result.add(new HotSpotVirtualMachineDescriptor(this, pid, name));
+ }
+ } catch (Throwable t) {
+ if (t instanceof ThreadDeath) {
+ throw (ThreadDeath)t;
+ }
+ } finally {
+ if (mvm != null) {
+ mvm.detach();
}
}
}
diff --git a/jdk/src/share/classes/sun/tools/attach/HotSpotVirtualMachine.java b/jdk/src/share/classes/sun/tools/attach/HotSpotVirtualMachine.java
index 2a21773..52d96c2 100644
--- a/jdk/src/share/classes/sun/tools/attach/HotSpotVirtualMachine.java
+++ b/jdk/src/share/classes/sun/tools/attach/HotSpotVirtualMachine.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2006, 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
@@ -195,6 +195,10 @@ public abstract class HotSpotVirtualMachine extends VirtualMachine {
return executeCommand("printflag", name);
}
+ public InputStream executeJCmd(String command) throws IOException {
+ return executeCommand("jcmd", command);
+ }
+
// -- Supporting methods
diff --git a/jdk/src/share/classes/sun/tools/jcmd/Arguments.java b/jdk/src/share/classes/sun/tools/jcmd/Arguments.java
new file mode 100644
index 0000000..d3b9e50
--- /dev/null
+++ b/jdk/src/share/classes/sun/tools/jcmd/Arguments.java
@@ -0,0 +1,129 @@
+/*
+ * 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.
+ */
+
+package sun.tools.jcmd;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.IOException;
+
+class Arguments {
+ private boolean listProcesses = false;
+ private boolean listCounters = false;
+ private boolean showUsage = false;
+ private int pid = -1;
+ private String command = null;
+ private String processSubstring;
+
+ public boolean isListProcesses() { return listProcesses; }
+ public boolean isListCounters() { return listCounters; }
+ public boolean isShowUsage() { return showUsage; }
+ public int getPid() { return pid; }
+ public String getCommand() { return command; }
+ public String getProcessSubstring() { return processSubstring; }
+
+ public Arguments(String[] args) {
+ if (args.length == 0 || args[0].equals("-l")) {
+ listProcesses = true;
+ return;
+ }
+
+ if (args[0].equals("-h") || args[0].equals("-help") ) {
+ showUsage = true;
+ return;
+ }
+
+ try {
+ pid = Integer.parseInt(args[0]);
+ } catch (NumberFormatException ex) {
+ // use as a partial class-name instead
+ if (args[0].charAt(0) != '-') {
+ // unless it starts with a '-'
+ processSubstring = args[0];
+ }
+ }
+
+ StringBuilder sb = new StringBuilder();
+ for (int i = 1; i < args.length; i++) {
+ if (args[i].equals("-f")) {
+ if (args.length == i + 1) {
+ throw new IllegalArgumentException(
+ "No file specified for parameter -f");
+ } else if (args.length == i + 2) {
+ try {
+ readCommandFile(args[i + 1]);
+ } catch(IOException e) {
+ throw new IllegalArgumentException(
+ "Could not read from file specified with -f option: "
+ + args[i + 1]);
+ }
+ return;
+ } else {
+ throw new IllegalArgumentException(
+ "Options after -f are not allowed");
+ }
+ } else if (args[i].equals("PerfCounter.print")) {
+ listCounters = true;
+ } else {
+ sb.append(args[i]).append(" ");
+ }
+ }
+
+ if (listCounters != true && sb.length() == 0) {
+ throw new IllegalArgumentException("No command specified");
+ }
+
+ command = sb.toString().trim();
+ }
+
+ private void readCommandFile(String path) throws IOException {
+ try (BufferedReader bf = new BufferedReader(new FileReader(path));) {
+ StringBuilder sb = new StringBuilder();
+ String s;
+ while ((s = bf.readLine()) != null) {
+ sb.append(s).append("\n");
+ }
+ command = sb.toString();
+ }
+ }
+
+ public static void usage() {
+ System.out.println("Usage: jcmd <pid | main class> <command ...|PerfCounter.print|-f file>");
+ System.out.println(" or: jcmd -l ");
+ System.out.println(" or: jcmd -h ");
+ System.out.println(" ");
+ System.out.println(" command must be a valid jcmd command for the selected jvm. ");
+ System.out.println(" Use the command \"help\" to see which commands are available. ");
+ System.out.println(" If the pid is 0, commands will be sent to all Java processes. ");
+ System.out.println(" The main class argument will be used to match (either partially ");
+ System.out.println(" or fully) the class used to start Java. ");
+ System.out.println(" If no options are given, lists Java processes (same as -p). ");
+ System.out.println(" ");
+ System.out.println(" PerfCounter.print display the counters exposed by this process ");
+ System.out.println(" -f read and execute commands from the file ");
+ System.out.println(" -l list JVM processes on the local machine ");
+ System.out.println(" -h this help ");
+ }
+}
diff --git a/jdk/src/share/classes/sun/tools/jcmd/JCmd.java b/jdk/src/share/classes/sun/tools/jcmd/JCmd.java
new file mode 100644
index 0000000..b84f112
--- /dev/null
+++ b/jdk/src/share/classes/sun/tools/jcmd/JCmd.java
@@ -0,0 +1,226 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *com.sun.tools.attach.AttachNotSupportedException
+
+ * 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.
+ */
+
+package sun.tools.jcmd;
+
+import java.io.InputStream;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.net.URISyntaxException;
+
+import com.sun.tools.attach.VirtualMachine;
+import com.sun.tools.attach.VirtualMachineDescriptor;
+import com.sun.tools.attach.AgentLoadException;
+import com.sun.tools.attach.AttachNotSupportedException;
+import sun.tools.attach.HotSpotVirtualMachine;
+import sun.tools.jstat.JStatLogger;
+import sun.jvmstat.monitor.Monitor;
+import sun.jvmstat.monitor.MonitoredHost;
+import sun.jvmstat.monitor.MonitoredVm;
+import sun.jvmstat.monitor.MonitoredVmUtil;
+import sun.jvmstat.monitor.MonitorException;
+import sun.jvmstat.monitor.VmIdentifier;
+
+public class JCmd {
+ public static void main(String[] args) {
+ Arguments arg = null;
+ try {
+ arg = new Arguments(args);
+ } catch (IllegalArgumentException ex) {
+ System.err.println("Error parsing arguments: " + ex.getMessage()
+ + "\n");
+ Arguments.usage();
+ System.exit(1);
+ }
+
+ if (arg.isShowUsage()) {
+ Arguments.usage();
+ System.exit(1);
+ }
+
+ if (arg.isListProcesses()) {
+ List<VirtualMachineDescriptor> vmds = VirtualMachine.list();
+ for (VirtualMachineDescriptor vmd : vmds) {
+ System.out.println(vmd.id() + " " + vmd.displayName());
+ }
+ System.exit(0);
+ }
+
+ List<String> pids = new ArrayList<String>();
+ if (arg.getPid() == 0) {
+ // find all VMs
+ List<VirtualMachineDescriptor> vmds = VirtualMachine.list();
+ for (VirtualMachineDescriptor vmd : vmds) {
+ if (!isJCmdProcess(vmd)) {
+ pids.add(vmd.id());
+ }
+ }
+ } else if (arg.getProcessSubstring() != null) {
+ // use the partial class-name match
+ List<VirtualMachineDescriptor> vmds = VirtualMachine.list();
+ for (VirtualMachineDescriptor vmd : vmds) {
+ if (isJCmdProcess(vmd)) {
+ continue;
+ }
+ try {
+ String mainClass = getMainClass(vmd);
+ if (mainClass != null
+ && mainClass.indexOf(arg.getProcessSubstring()) != -1) {
+ pids.add(vmd.id());
+ }
+ } catch (MonitorException|URISyntaxException e) {
+ if (e.getMessage() != null) {
+ System.err.println(e.getMessage());
+ } else {
+ Throwable cause = e.getCause();
+ if ((cause != null) && (cause.getMessage() != null)) {
+ System.err.println(cause.getMessage());
+ } else {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+ if (pids.isEmpty()) {
+ System.err.println("Could not find any processes matching : '"
+ + arg.getProcessSubstring() + "'");
+ System.exit(1);
+ }
+ } else if (arg.getPid() == -1) {
+ System.err.println("Invalid pid specified");
+ System.exit(1);
+ } else {
+ // Use the found pid
+ pids.add(arg.getPid() + "");
+ }
+
+ for (String pid : pids) {
+ System.out.println(pid + ":");
+ if (arg.isListCounters()) {
+ listCounters(pid);
+ } else {
+ try {
+ executeCommandForPid(pid, arg.getCommand());
+ } catch(Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+ }
+ }
+
+ private static void executeCommandForPid(String pid, String command)
+ throws AttachNotSupportedException, IOException,
+ UnsupportedEncodingException {
+ VirtualMachine vm = VirtualMachine.attach(pid);
+
+ // Cast to HotSpotVirtualMachine as this is an
+ // implementation specific method.
+ HotSpotVirtualMachine hvm = (HotSpotVirtualMachine) vm;
+ try (InputStream in = hvm.executeJCmd(command);) {
+ // read to EOF and just print output
+ byte b[] = new byte[256];
+ int n;
+ do {
+ n = in.read(b);
+ if (n > 0) {
+ String s = new String(b, 0, n, "UTF-8");
+ System.out.print(s);
+ }
+ } while (n > 0);
+ }
+ vm.detach();
+ }
+
+ private static void listCounters(String pid) {
+ // Code from JStat (can't call it directly since it does System.exit)
+ VmIdentifier vmId = null;
+ try {
+ vmId = new VmIdentifier(pid);
+ } catch (URISyntaxException e) {
+ System.err.println("Malformed VM Identifier: " + pid);
+ return;
+ }
+ try {
+ MonitoredHost monitoredHost = MonitoredHost.getMonitoredHost(vmId);
+ MonitoredVm monitoredVm = monitoredHost.getMonitoredVm(vmId, -1);
+ JStatLogger logger = new JStatLogger(monitoredVm);
+ logger.printSnapShot("\\w*", // all names
+ new AscendingMonitorComparator(), // comparator
+ false, // not verbose
+ true, // show unsupported
+ System.out);
+ monitoredHost.detach(monitoredVm);
+ } catch (MonitorException ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ private static boolean isJCmdProcess(VirtualMachineDescriptor vmd) {
+ try {
+ String mainClass = getMainClass(vmd);
+ return mainClass != null && mainClass.equals(JCmd.class.getName());
+ } catch (URISyntaxException|MonitorException ex) {
+ return false;
+ }
+ }
+
+ private static String getMainClass(VirtualMachineDescriptor vmd)
+ throws URISyntaxException, MonitorException {
+ try {
+ String mainClass = null;
+ VmIdentifier vmId = new VmIdentifier(vmd.id());
+ MonitoredHost monitoredHost = MonitoredHost.getMonitoredHost(vmId);
+ MonitoredVm monitoredVm = monitoredHost.getMonitoredVm(vmId, -1);
+ mainClass = MonitoredVmUtil.mainClass(monitoredVm, true);
+ monitoredHost.detach(monitoredVm);
+ return mainClass;
+ } catch(NullPointerException e) {
+ // There is a potential race, where a running java app is being
+ // queried, unfortunately the java app has shutdown after this
+ // method is started but before getMonitoredVM is called.
+ // If this is the case, then the /tmp/hsperfdata_xxx/pid file
+ // will have disappeared and we will get a NullPointerException.
+ // Handle this gracefully....
+ return null;
+ }
+ }
+
+ /**
+ * Class to compare two Monitor objects by name in ascending order.
+ * (from jstat)
+ */
+ static class AscendingMonitorComparator implements Comparator<Monitor> {
+
+ public int compare(Monitor m1, Monitor m2) {
+ String name1 = m1.getName();
+ String name2 = m2.getName();
+ return name1.compareTo(name2);
+ }
+ }
+}
diff --git a/jdk/src/share/classes/sun/tools/jinfo/JInfo.java b/jdk/src/share/classes/sun/tools/jinfo/JInfo.java
index 9812a1e..5a40534 100644
--- a/jdk/src/share/classes/sun/tools/jinfo/JInfo.java
+++ b/jdk/src/share/classes/sun/tools/jinfo/JInfo.java
@@ -98,7 +98,7 @@ public class JInfo {
}
// loads the given class using the system class loader
- private static Class loadClass(String name) {
+ private static Class<?> loadClass(String name) {
//
// We specify the system clas loader so as to cater for development
// environments where this class is on the boot class path but sa-jdi.jar
@@ -178,7 +178,7 @@ public class JInfo {
// print usage message
private static void usage() {
- Class c = loadClass("sun.jvm.hotspot.tools.JInfo");
+ Class<?> c = loadClass("sun.jvm.hotspot.tools.JInfo");
boolean usageSA = (c != null);
System.out.println("Usage:");
diff --git a/jdk/src/share/classes/sun/tools/jmap/JMap.java b/jdk/src/share/classes/sun/tools/jmap/JMap.java
index 0fb7b79..1d68b66 100644
--- a/jdk/src/share/classes/sun/tools/jmap/JMap.java
+++ b/jdk/src/share/classes/sun/tools/jmap/JMap.java
@@ -198,7 +198,7 @@ public class JMap {
}
// loads the given class using the system class loader
- private static Class loadClass(String name) {
+ private static Class<?> loadClass(String name) {
//
// We specify the system clas loader so as to cater for development
// environments where this class is on the boot class path but sa-jdi.jar
@@ -336,7 +336,7 @@ public class JMap {
// returns true if SA is available
private static boolean haveSA() {
- Class c = loadClass("sun.jvm.hotspot.tools.HeapSummary");
+ Class<?> c = loadClass("sun.jvm.hotspot.tools.HeapSummary");
return (c != null);
}
diff --git a/jdk/src/share/classes/sun/tools/jps/Jps.java b/jdk/src/share/classes/sun/tools/jps/Jps.java
index 9611dd3..9c65381 100644
--- a/jdk/src/share/classes/sun/tools/jps/Jps.java
+++ b/jdk/src/share/classes/sun/tools/jps/Jps.java
@@ -59,13 +59,13 @@ public class Jps {
MonitoredHost.getMonitoredHost(hostId);
// get the set active JVMs on the specified host.
- Set jvms = monitoredHost.activeVms();
+ Set<Integer> jvms = monitoredHost.activeVms();
- for (Iterator j = jvms.iterator(); j.hasNext(); /* empty */ ) {
+ for (Integer jvm: jvms) {
StringBuilder output = new StringBuilder();
Throwable lastError = null;
- int lvmid = ((Integer)j.next()).intValue();
+ int lvmid = jvm;
output.append(String.valueOf(lvmid));
diff --git a/jdk/src/share/classes/sun/tools/jstack/JStack.java b/jdk/src/share/classes/sun/tools/jstack/JStack.java
index 004c2ab..66fc672 100644
--- a/jdk/src/share/classes/sun/tools/jstack/JStack.java
+++ b/jdk/src/share/classes/sun/tools/jstack/JStack.java
@@ -137,7 +137,7 @@ public class JStack {
}
// Returns sun.jvm.hotspot.tools.JStack if available, otherwise null.
- private static Class loadSAClass() {
+ private static Class<?> loadSAClass() {
//
// Attempt to load JStack class - we specify the system class
// loader so as to cater for development environments where
diff --git a/jdk/src/share/classes/sun/tools/serialver/SerialVer.java b/jdk/src/share/classes/sun/tools/serialver/SerialVer.java
index 13ff359..4b310a8 100644
--- a/jdk/src/share/classes/sun/tools/serialver/SerialVer.java
+++ b/jdk/src/share/classes/sun/tools/serialver/SerialVer.java
@@ -98,6 +98,7 @@ public class SerialVer extends Applet {
classname_t.requestFocus();
}
+ @SuppressWarnings("deprecation")
public boolean action(Event ev, Object obj) {
if (ev.target == classname_t) {
show((String)ev.arg);
@@ -110,6 +111,7 @@ public class SerialVer extends Applet {
}
+ @SuppressWarnings("deprecation")
public boolean handleEvent(Event ev) {
boolean rc = super.handleEvent(ev);
return rc;
@@ -206,7 +208,7 @@ public class SerialVer extends Applet {
}
static String resolveClass(String classname) throws ClassNotFoundException {
- Class cl = Class.forName(classname, false, loader);
+ Class<?> cl = Class.forName(classname, false, loader);
ObjectStreamClass desc = ObjectStreamClass.lookup(cl);
if (desc != null) {
return " static final long serialVersionUID = " +
@@ -216,6 +218,10 @@ public class SerialVer extends Applet {
}
}
+ @SuppressWarnings("deprecation")
+ private static void showWindow(Window w) {
+ w.show();
+ }
public static void main(String[] args) {
boolean show = false;
@@ -316,7 +322,7 @@ public class SerialVer extends Applet {
f.add("Center", sv);
f.pack();
- f.show();
+ showWindow(f);
}
}
@@ -362,6 +368,7 @@ class SerialVerFrame extends Frame {
/*
* Handle a window destroy event by exiting.
*/
+ @SuppressWarnings("deprecation")
public boolean handleEvent(Event e) {
if (e.id == Event.WINDOW_DESTROY) {
exit(0);
@@ -371,6 +378,7 @@ class SerialVerFrame extends Frame {
/*
* Handle an Exit event by exiting.
*/
+ @SuppressWarnings("deprecation")
public boolean action(Event ev, Object obj) {
if (ev.target == exit_i) {
exit(0);
@@ -455,11 +463,7 @@ class Res {
}
try {
String message = messageRB.getString(key);
- String[] args = new String[3];
- args[0] = a1;
- args[1] = a2;
- args[2] = a3;
- return MessageFormat.format(message, args);
+ return MessageFormat.format(message, a1, a2, a3);
} catch (MissingResourceException e) {
throw new Error("Fatal: Resource for serialver is broken. There is no " + key + " key in resource.");
}
diff --git a/jdk/src/share/classes/sun/util/LocaleServiceProviderPool.java b/jdk/src/share/classes/sun/util/LocaleServiceProviderPool.java
index c45100d..349ce56 100644
--- a/jdk/src/share/classes/sun/util/LocaleServiceProviderPool.java
+++ b/jdk/src/share/classes/sun/util/LocaleServiceProviderPool.java
@@ -58,7 +58,7 @@ public final class LocaleServiceProviderPool {
* A Map that holds singleton instances of this class. Each instance holds a
* set of provider implementations of a particular locale sensitive service.
*/
- private static ConcurrentMap<Class, LocaleServiceProviderPool> poolOfPools =
+ private static ConcurrentMap<Class<? extends LocaleServiceProvider>, LocaleServiceProviderPool> poolOfPools =
new ConcurrentHashMap<>();
/**
@@ -147,6 +147,10 @@ public final class LocaleServiceProviderPool {
/**
* Lazy loaded set of available locales.
* Loading all locales is a very long operation.
+ *
+ * We know "providerClasses" contains classes that extends LocaleServiceProvider,
+ * but generic array creation is not allowed, thus the "unchecked" warning
+ * is suppressed here.
*/
private static class AllAvailableLocales {
/**
@@ -156,7 +160,9 @@ public final class LocaleServiceProviderPool {
static final Locale[] allAvailableLocales;
static {
- Class[] providerClasses = {
+ @SuppressWarnings("unchecked")
+ Class<LocaleServiceProvider>[] providerClasses =
+ (Class<LocaleServiceProvider>[]) new Class<?>[] {
java.text.spi.BreakIteratorProvider.class,
java.text.spi.CollatorProvider.class,
java.text.spi.DateFormatProvider.class,
@@ -174,7 +180,7 @@ public final class LocaleServiceProviderPool {
all.add(getLookupLocale(locale));
}
- for (Class providerClass : providerClasses) {
+ for (Class<LocaleServiceProvider> providerClass : providerClasses) {
LocaleServiceProviderPool pool =
LocaleServiceProviderPool.getPool(providerClass);
all.addAll(pool.getProviderLocales());
@@ -355,7 +361,6 @@ public final class LocaleServiceProviderPool {
}
Locale bundleLocale = (bundle != null ? bundle.getLocale() : null);
List<Locale> lookupLocales = getLookupLocales(locale);
- P lsp;
S providersObj = null;
// check whether a provider has an implementation that's closer
@@ -375,7 +380,9 @@ public final class LocaleServiceProviderPool {
}
}
if (provLoc.contains(current)) {
- lsp = (P)findProvider(current);
+ // It is safe to assume that findProvider() returns the instance of type P.
+ @SuppressWarnings("unchecked")
+ P lsp = (P)findProvider(current);
if (lsp != null) {
providersObj = getter.getObject(lsp, locale, key, params);
if (providersObj != null) {
@@ -397,7 +404,9 @@ public final class LocaleServiceProviderPool {
// JRE has it.
return null;
} else {
- lsp = (P)findProvider(bundleLocale);
+ // It is safe to assume that findProvider() returns the instance of type P.
+ @SuppressWarnings("unchecked")
+ P lsp = (P)findProvider(bundleLocale);
if (lsp != null) {
providersObj = getter.getObject(lsp, locale, key, params);
if (providersObj != null) {
diff --git a/jdk/src/share/classes/sun/util/calendar/BaseCalendar.java b/jdk/src/share/classes/sun/util/calendar/BaseCalendar.java
index 21528dc..a7e763a 100644
--- a/jdk/src/share/classes/sun/util/calendar/BaseCalendar.java
+++ b/jdk/src/share/classes/sun/util/calendar/BaseCalendar.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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,7 +25,6 @@
package sun.util.calendar;
-import java.util.Locale;
import java.util.TimeZone;
/**
@@ -203,7 +202,7 @@ public abstract class BaseCalendar extends AbstractCalendar {
return false;
}
int dow = bdate.getDayOfWeek();
- if (dow != bdate.FIELD_UNDEFINED && dow != getDayOfWeek(bdate)) {
+ if (dow != Date.FIELD_UNDEFINED && dow != getDayOfWeek(bdate)) {
return false;
}
@@ -329,7 +328,7 @@ public abstract class BaseCalendar extends AbstractCalendar {
}
// accepts 0 (December in the previous year) to 12.
- private final int getMonthLength(int year, int month) {
+ private int getMonthLength(int year, int month) {
int days = DAYS_IN_MONTH[month];
if (month == FEBRUARY && isLeapYear(year)) {
days++;
diff --git a/jdk/src/share/classes/sun/util/calendar/CalendarSystem.java b/jdk/src/share/classes/sun/util/calendar/CalendarSystem.java
index ac85641..fdbdcb0 100644
--- a/jdk/src/share/classes/sun/util/calendar/CalendarSystem.java
+++ b/jdk/src/share/classes/sun/util/calendar/CalendarSystem.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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,13 +25,6 @@
package sun.util.calendar;
-import java.lang.reflect.Field;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-import java.util.Set;
import java.util.TimeZone;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
@@ -99,7 +92,7 @@ public abstract class CalendarSystem {
};
private static void initNames() {
- ConcurrentMap<String,String> nameMap = new ConcurrentHashMap<String,String>();
+ ConcurrentMap<String,String> nameMap = new ConcurrentHashMap<>();
// Associate a calendar name with its class name and the
// calendar class name with its date class name.
@@ -112,7 +105,7 @@ public abstract class CalendarSystem {
synchronized (CalendarSystem.class) {
if (!initialized) {
names = nameMap;
- calendars = new ConcurrentHashMap<String,CalendarSystem>();
+ calendars = new ConcurrentHashMap<>();
initialized = true;
}
}
@@ -164,10 +157,10 @@ public abstract class CalendarSystem {
cal = LocalGregorianCalendar.getLocalGregorianCalendar(calendarName);
} else {
try {
- Class cl = Class.forName(className);
+ Class<?> cl = Class.forName(className);
cal = (CalendarSystem) cl.newInstance();
} catch (Exception e) {
- throw new RuntimeException("internal error", e);
+ throw new InternalError(e);
}
}
if (cal == null) {
diff --git a/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java b/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java
index 99da4cd..d107a00 100644
--- a/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java
+++ b/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java
@@ -29,7 +29,6 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.security.AccessController;
-import java.security.PrivilegedAction;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
import java.util.ArrayList;
@@ -124,8 +123,8 @@ public class LocalGregorianCalendar extends BaseCalendar {
new sun.security.action.GetPropertyAction("java.home"));
final String fname = homeDir + File.separator + "lib" + File.separator
+ "calendars.properties";
- calendarProps = (Properties) AccessController.doPrivileged(new PrivilegedExceptionAction() {
- public Object run() throws IOException {
+ calendarProps = AccessController.doPrivileged(new PrivilegedExceptionAction<Properties>() {
+ public Properties run() throws IOException {
Properties props = new Properties();
try (FileInputStream fis = new FileInputStream(fname)) {
props.load(fis);
@@ -142,7 +141,7 @@ public class LocalGregorianCalendar extends BaseCalendar {
if (props == null) {
return null;
}
- List<Era> eras = new ArrayList<Era>();
+ List<Era> eras = new ArrayList<>();
StringTokenizer eraTokens = new StringTokenizer(props, ";");
while (eraTokens.hasMoreTokens()) {
String items = eraTokens.nextToken().trim();
diff --git a/jdk/src/share/classes/sun/util/calendar/ZoneInfo.java b/jdk/src/share/classes/sun/util/calendar/ZoneInfo.java
index b79e7cc..975e3ed 100644
--- a/jdk/src/share/classes/sun/util/calendar/ZoneInfo.java
+++ b/jdk/src/share/classes/sun/util/calendar/ZoneInfo.java
@@ -31,7 +31,6 @@ import java.lang.ref.SoftReference;
import java.security.AccessController;
import java.util.ArrayList;
import java.util.Date;
-import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
@@ -318,7 +317,7 @@ public class ZoneInfo extends TimeZone {
return offset;
}
- private final int getTransitionIndex(long date, int type) {
+ private int getTransitionIndex(long date, int type) {
int low = 0;
int high = transitions.length - 1;
@@ -572,7 +571,7 @@ public class ZoneInfo extends TimeZone {
List<String> excluded = ZoneInfoFile.getExcludedZones();
if (excluded != null) {
// List all zones from the idList and excluded lists
- List<String> list = new ArrayList<String>(idList.size() + excluded.size());
+ List<String> list = new ArrayList<>(idList.size() + excluded.size());
list.addAll(idList);
list.addAll(excluded);
idList = list;
@@ -592,7 +591,7 @@ public class ZoneInfo extends TimeZone {
*/
public static String[] getAvailableIDs(int rawOffset) {
String[] result;
- List<String> matched = new ArrayList<String>();
+ List<String> matched = new ArrayList<>();
List<String> IDs = ZoneInfoFile.getZoneIDs();
int[] rawOffsets = ZoneInfoFile.getRawOffsets();
@@ -807,7 +806,7 @@ public class ZoneInfo extends TimeZone {
return (checksum == ((ZoneInfo)other).checksum);
}
- private static SoftReference<Map> aliasTable;
+ private static SoftReference<Map<String, String>> aliasTable;
/**
* Returns a Map from alias time zone IDs to their standard
@@ -820,7 +819,7 @@ public class ZoneInfo extends TimeZone {
public synchronized static Map<String, String> getAliasTable() {
Map<String, String> aliases = null;
- SoftReference<Map> cache = aliasTable;
+ SoftReference<Map<String, String>> cache = aliasTable;
if (cache != null) {
aliases = cache.get();
if (aliases != null) {
@@ -830,7 +829,7 @@ public class ZoneInfo extends TimeZone {
aliases = ZoneInfoFile.getZoneAliases();
if (aliases != null) {
- aliasTable = new SoftReference<Map>(aliases);
+ aliasTable = new SoftReference<>(aliases);
}
return aliases;
}
diff --git a/jdk/src/share/classes/sun/util/calendar/ZoneInfoFile.java b/jdk/src/share/classes/sun/util/calendar/ZoneInfoFile.java
index 8918177..2ad72b0 100644
--- a/jdk/src/share/classes/sun/util/calendar/ZoneInfoFile.java
+++ b/jdk/src/share/classes/sun/util/calendar/ZoneInfoFile.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -573,7 +573,7 @@ public class ZoneInfoFile {
synchronized static ZoneInfo addToCache(String id, ZoneInfo zi) {
if (zoneInfoObjects == null) {
- zoneInfoObjects = new HashMap<String, ZoneInfo>();
+ zoneInfoObjects = new HashMap<>();
} else {
ZoneInfo zone = zoneInfoObjects.get(id);
if (zone != null) {
@@ -758,7 +758,7 @@ public class ZoneInfoFile {
case TAG_ZoneIDs:
{
int n = (buf[index++] << 8) + (buf[index++] & 0xFF);
- ids = new ArrayList<String>(n);
+ ids = new ArrayList<>(n);
for (int i = 0; i < n; i++) {
byte m = buf[index++];
@@ -777,7 +777,7 @@ public class ZoneInfoFile {
System.err.println("ZoneInfo: corrupted " + JAVAZM_FILE_NAME);
}
- zoneIDs = new SoftReference<List<String>>(ids);
+ zoneIDs = new SoftReference<>(ids);
return ids;
}
@@ -802,7 +802,7 @@ public class ZoneInfoFile {
case TAG_ZoneAliases:
{
int n = (buf[index++] << 8) + (buf[index++] & 0xFF);
- aliases = new HashMap<String, String>(n);
+ aliases = new HashMap<>(n);
for (int i = 0; i < n; i++) {
byte m = buf[index++];
String name = new String(buf, index, m, "UTF-8");
@@ -865,7 +865,7 @@ public class ZoneInfoFile {
case TAG_ExcludedZones:
{
int n = (buf[index++] << 8) + (buf[index++] & 0xFF);
- excludeList = new ArrayList<String>();
+ excludeList = new ArrayList<>();
for (int i = 0; i < n; i++) {
byte m = buf[index++];
String name = new String(buf, index, m, "UTF-8");
@@ -886,7 +886,7 @@ public class ZoneInfoFile {
}
if (excludeList != null) {
- excludedIDs = new SoftReference<List<String>>(excludeList);
+ excludedIDs = new SoftReference<>(excludeList);
} else {
hasNoExcludeList = true;
}
@@ -935,7 +935,7 @@ public class ZoneInfoFile {
System.err.println("ZoneInfo: corrupted " + JAVAZM_FILE_NAME);
}
- rawOffsetIndices = new SoftReference<byte[]>(indices);
+ rawOffsetIndices = new SoftReference<>(indices);
return indices;
}
@@ -986,7 +986,7 @@ public class ZoneInfoFile {
System.err.println("ZoneInfo: corrupted " + JAVAZM_FILE_NAME);
}
- rawOffsets = new SoftReference<int[]>(offsets);
+ rawOffsets = new SoftReference<>(offsets);
return offsets;
}
@@ -1022,7 +1022,7 @@ public class ZoneInfoFile {
return null;
}
- zoneInfoMappings = new SoftReference<byte[]>(data);
+ zoneInfoMappings = new SoftReference<>(data);
return data;
}
@@ -1034,8 +1034,8 @@ public class ZoneInfoFile {
byte[] buffer = null;
try {
- buffer = (byte[]) AccessController.doPrivileged(new PrivilegedExceptionAction() {
- public Object run() throws IOException {
+ buffer = AccessController.doPrivileged(new PrivilegedExceptionAction<byte[]>() {
+ public byte[] run() throws IOException {
File file = new File(ziDir, fileName);
if (!file.exists() || !file.isFile()) {
return null;
@@ -1068,4 +1068,7 @@ public class ZoneInfoFile {
}
return buffer;
}
+
+ private ZoneInfoFile() {
+ }
}
diff --git a/jdk/src/share/classes/sun/util/resources/LocaleData.java b/jdk/src/share/classes/sun/util/resources/LocaleData.java
index a082a60..ac8fdd2 100644
--- a/jdk/src/share/classes/sun/util/resources/LocaleData.java
+++ b/jdk/src/share/classes/sun/util/resources/LocaleData.java
@@ -137,8 +137,8 @@ public class LocaleData {
}
private static ResourceBundle getBundle(final String baseName, final Locale locale) {
- return (ResourceBundle) AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
+ return AccessController.doPrivileged(new PrivilegedAction<ResourceBundle>() {
+ public ResourceBundle run() {
return ResourceBundle.
getBundle(baseName, locale,
LocaleDataResourceBundleControl.getRBControlInstance());
diff --git a/jdk/src/share/classes/sun/util/resources/OpenListResourceBundle.java b/jdk/src/share/classes/sun/util/resources/OpenListResourceBundle.java
index 86a91f8..f8d48a2 100644
--- a/jdk/src/share/classes/sun/util/resources/OpenListResourceBundle.java
+++ b/jdk/src/share/classes/sun/util/resources/OpenListResourceBundle.java
@@ -119,11 +119,12 @@ public abstract class OpenListResourceBundle extends ResourceBundle {
* loading.
*/
private synchronized void loadLookup() {
- if (lookup != null)
+ if (lookup != null) {
return;
+ }
Object[][] contents = getContents();
- Map temp = createMap(contents.length);
+ Map<String, Object> temp = createMap(contents.length);
for (int i = 0; i < contents.length; ++i) {
// key must be non-null String, value must be non-null
String key = (String) contents[i][0];
@@ -140,9 +141,9 @@ public abstract class OpenListResourceBundle extends ResourceBundle {
* Lets subclasses provide specialized Map implementations.
* Default uses HashMap.
*/
- protected Map createMap(int size) {
- return new HashMap(size);
+ protected Map<String, Object> createMap(int size) {
+ return new HashMap<>(size);
}
- private Map lookup = null;
+ private Map<String, Object> lookup = null;
}
diff --git a/jdk/src/share/classes/sun/util/resources/TimeZoneNamesBundle.java b/jdk/src/share/classes/sun/util/resources/TimeZoneNamesBundle.java
index 6360125..3757ed1 100644
--- a/jdk/src/share/classes/sun/util/resources/TimeZoneNamesBundle.java
+++ b/jdk/src/share/classes/sun/util/resources/TimeZoneNamesBundle.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2007, 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
@@ -80,17 +80,16 @@ public abstract class TimeZoneNamesBundle extends OpenListResourceBundle {
int clen = contents.length;
String[] tmpobj = new String[clen+1];
tmpobj[0] = key;
- for (int i = 0; i < clen; i++) {
- tmpobj[i+1] = contents[i];
- }
+ System.arraycopy(contents, 0, tmpobj, 1, clen);
return tmpobj;
}
/**
* Use LinkedHashMap to preserve order of bundle entries.
*/
- protected Map createMap(int size) {
- return new LinkedHashMap(size);
+ @Override
+ protected Map<String, Object> createMap(int size) {
+ return new LinkedHashMap<>(size);
}
/**
diff --git a/jdk/src/share/instrument/JPLISAgent.c b/jdk/src/share/instrument/JPLISAgent.c
index 7494c81..d7dfe26 100644
--- a/jdk/src/share/instrument/JPLISAgent.c
+++ b/jdk/src/share/instrument/JPLISAgent.c
@@ -1164,6 +1164,7 @@ redefineClasses(JNIEnv * jnienv, JPLISAgent * agent, jobjectArray classDefinitio
jmethodID getDefinitionClassMethodID = NULL;
jmethodID getDefinitionClassFileMethodID = NULL;
jvmtiClassDefinition* classDefs = NULL;
+ jbyteArray* targetFiles = NULL;
jsize numDefs = 0;
jplis_assert(classDefinitions != NULL);
@@ -1207,61 +1208,112 @@ redefineClasses(JNIEnv * jnienv, JPLISAgent * agent, jobjectArray classDefinitio
if ( errorOccurred ) {
createAndThrowThrowableFromJVMTIErrorCode(jnienv, JVMTI_ERROR_OUT_OF_MEMORY);
}
+
else {
- jint i;
- for (i = 0; i < numDefs; i++) {
- jclass classDef = NULL;
- jbyteArray targetFile = NULL;
+ /*
+ * We have to save the targetFile values that we compute so
+ * that we can release the class_bytes arrays that are
+ * returned by GetByteArrayElements(). In case of a JNI
+ * error, we can't (easily) recompute the targetFile values
+ * and we still want to free any memory we allocated.
+ */
+ targetFiles = (jbyteArray *) allocate(jvmtienv,
+ numDefs * sizeof(jbyteArray));
+ errorOccurred = (targetFiles == NULL);
+ jplis_assert(!errorOccurred);
+ if ( errorOccurred ) {
+ deallocate(jvmtienv, (void*)classDefs);
+ createAndThrowThrowableFromJVMTIErrorCode(jnienv,
+ JVMTI_ERROR_OUT_OF_MEMORY);
+ }
+ else {
+ jint i, j;
- classDef = (*jnienv)->GetObjectArrayElement(jnienv, classDefinitions, i);
- errorOccurred = checkForThrowable(jnienv);
- jplis_assert(!errorOccurred);
- if (errorOccurred) {
- break;
- }
+ // clear classDefs so we can correctly free memory during errors
+ memset(classDefs, 0, numDefs * sizeof(jvmtiClassDefinition));
- classDefs[i].klass = (*jnienv)->CallObjectMethod(jnienv, classDef, getDefinitionClassMethodID);
- errorOccurred = checkForThrowable(jnienv);
- jplis_assert(!errorOccurred);
- if (errorOccurred) {
- break;
- }
+ for (i = 0; i < numDefs; i++) {
+ jclass classDef = NULL;
- targetFile = (*jnienv)->CallObjectMethod(jnienv, classDef, getDefinitionClassFileMethodID);
- errorOccurred = checkForThrowable(jnienv);
- jplis_assert(!errorOccurred);
- if (errorOccurred) {
- break;
- }
+ classDef = (*jnienv)->GetObjectArrayElement(jnienv, classDefinitions, i);
+ errorOccurred = checkForThrowable(jnienv);
+ jplis_assert(!errorOccurred);
+ if (errorOccurred) {
+ break;
+ }
- classDefs[i].class_bytes = (unsigned char*)(*jnienv)->GetByteArrayElements(jnienv, targetFile, NULL);
- errorOccurred = checkForThrowable(jnienv);
- jplis_assert(!errorOccurred);
- if (errorOccurred) {
- break;
+ classDefs[i].klass = (*jnienv)->CallObjectMethod(jnienv, classDef, getDefinitionClassMethodID);
+ errorOccurred = checkForThrowable(jnienv);
+ jplis_assert(!errorOccurred);
+ if (errorOccurred) {
+ break;
+ }
+
+ targetFiles[i] = (*jnienv)->CallObjectMethod(jnienv, classDef, getDefinitionClassFileMethodID);
+ errorOccurred = checkForThrowable(jnienv);
+ jplis_assert(!errorOccurred);
+ if (errorOccurred) {
+ break;
+ }
+
+ classDefs[i].class_byte_count = (*jnienv)->GetArrayLength(jnienv, targetFiles[i]);
+ errorOccurred = checkForThrowable(jnienv);
+ jplis_assert(!errorOccurred);
+ if (errorOccurred) {
+ break;
+ }
+
+ /*
+ * Allocate class_bytes last so we don't have to free
+ * memory on a partial row error.
+ */
+ classDefs[i].class_bytes = (unsigned char*)(*jnienv)->GetByteArrayElements(jnienv, targetFiles[i], NULL);
+ errorOccurred = checkForThrowable(jnienv);
+ jplis_assert(!errorOccurred);
+ if (errorOccurred) {
+ break;
+ }
}
- classDefs[i].class_byte_count = (*jnienv)->GetArrayLength(jnienv, targetFile);
- errorOccurred = checkForThrowable(jnienv);
- jplis_assert(!errorOccurred);
- if (errorOccurred) {
- break;
+ if (!errorOccurred) {
+ jvmtiError errorCode = JVMTI_ERROR_NONE;
+ errorCode = (*jvmtienv)->RedefineClasses(jvmtienv, numDefs, classDefs);
+ if (errorCode == JVMTI_ERROR_WRONG_PHASE) {
+ /* insulate caller from the wrong phase error */
+ errorCode = JVMTI_ERROR_NONE;
+ } else {
+ errorOccurred = (errorCode != JVMTI_ERROR_NONE);
+ if ( errorOccurred ) {
+ createAndThrowThrowableFromJVMTIErrorCode(jnienv, errorCode);
+ }
+ }
}
- }
- if (!errorOccurred) {
- jvmtiError errorCode = JVMTI_ERROR_NONE;
- errorCode = (*jvmtienv)->RedefineClasses(jvmtienv, numDefs, classDefs);
- check_phase_blob_ret(errorCode, deallocate(jvmtienv, (void*)classDefs));
- errorOccurred = (errorCode != JVMTI_ERROR_NONE);
- if ( errorOccurred ) {
- createAndThrowThrowableFromJVMTIErrorCode(jnienv, errorCode);
+ /*
+ * Cleanup memory that we allocated above. If we had a
+ * JNI error, a JVM/TI error or no errors, index 'i'
+ * tracks how far we got in processing the classDefs
+ * array. Note: ReleaseByteArrayElements() is safe to
+ * call with a JNI exception pending.
+ */
+ for (j = 0; j < i; j++) {
+ if ((jbyte *)classDefs[j].class_bytes != NULL) {
+ (*jnienv)->ReleaseByteArrayElements(jnienv,
+ targetFiles[j], (jbyte *)classDefs[j].class_bytes,
+ 0 /* copy back and free */);
+ /*
+ * Only check for error if we didn't already have one
+ * so we don't overwrite errorOccurred.
+ */
+ if (!errorOccurred) {
+ errorOccurred = checkForThrowable(jnienv);
+ jplis_assert(!errorOccurred);
+ }
+ }
}
+ deallocate(jvmtienv, (void*)targetFiles);
+ deallocate(jvmtienv, (void*)classDefs);
}
-
- /* Give back the buffer if we allocated it.
- */
- deallocate(jvmtienv, (void*)classDefs);
}
}
diff --git a/jdk/src/share/javavm/export/jmm.h b/jdk/src/share/javavm/export/jmm.h
index 5297611..2347812 100644
--- a/jdk/src/share/javavm/export/jmm.h
+++ b/jdk/src/share/javavm/export/jmm.h
@@ -48,7 +48,8 @@ enum {
JMM_VERSION_1_0 = 0x20010000,
JMM_VERSION_1_1 = 0x20010100, // JDK 6
JMM_VERSION_1_2 = 0x20010200, // JDK 7
- JMM_VERSION = 0x20010201
+ JMM_VERSION_1_2_1 = 0x20010201, // JDK 7 GA
+ JMM_VERSION = 0x20010202
};
typedef struct {
@@ -188,6 +189,24 @@ typedef struct {
/* -1 indicates gc_ext_attribute_values is not big enough */
} jmmGCStat;
+typedef struct {
+ const char* name;
+ const char* description;
+ const char* impact;
+ int num_arguments;
+ jboolean enabled;
+} dcmdInfo;
+
+typedef struct {
+ const char* name;
+ const char* description;
+ const char* type;
+ const char* default_string;
+ jboolean mandatory;
+ jboolean option;
+ int position;
+} dcmdArgInfo;
+
typedef struct jmmInterface_1_ {
void* reserved1;
void* reserved2;
@@ -293,9 +312,21 @@ typedef struct jmmInterface_1_ {
jlongArray ids,
jboolean lockedMonitors,
jboolean lockedSynchronizers);
- void (JNICALL *SetGCNotificationEnabled) (JNIEnv *env,
- jobject mgr,
- jboolean enabled);
+ void (JNICALL *SetGCNotificationEnabled) (JNIEnv *env,
+ jobject mgr,
+ jboolean enabled);
+ jobjectArray (JNICALL *GetDiagnosticCommands) (JNIEnv *env);
+ void (JNICALL *GetDiagnosticCommandInfo)
+ (JNIEnv *env,
+ jobjectArray cmds,
+ dcmdInfo *infoArray);
+ void (JNICALL *GetDiagnosticCommandArgumentsInfo)
+ (JNIEnv *env,
+ jstring commandName,
+ dcmdArgInfo *infoArray);
+ jstring (JNICALL *ExecuteDiagnosticCommand)
+ (JNIEnv *env,
+ jstring command);
} JmmInterface;
#ifdef __cplusplus
diff --git a/jdk/src/share/lib/security/java.security-solaris b/jdk/src/share/lib/security/java.security-solaris
index 1a19f44..d01cfda 100644
--- a/jdk/src/share/lib/security/java.security-solaris
+++ b/jdk/src/share/lib/security/java.security-solaris
@@ -43,16 +43,17 @@
#
# List of providers and their preference orders (see above):
#
-security.provider.1=sun.security.pkcs11.SunPKCS11 ${java.home}/lib/security/sunpkcs11-solaris.cfg
-security.provider.2=sun.security.provider.Sun
-security.provider.3=sun.security.rsa.SunRsaSign
-security.provider.4=sun.security.ec.SunEC
-security.provider.5=com.sun.net.ssl.internal.ssl.Provider
-security.provider.6=com.sun.crypto.provider.SunJCE
-security.provider.7=sun.security.jgss.SunProvider
-security.provider.8=com.sun.security.sasl.Provider
-security.provider.9=org.jcp.xml.dsig.internal.dom.XMLDSigRI
-security.provider.10=sun.security.smartcardio.SunPCSC
+security.provider.1=com.oracle.security.ucrypto.UcryptoProvider ${java.home}/lib/security/ucrypto-solaris.cfg
+security.provider.2=sun.security.pkcs11.SunPKCS11 ${java.home}/lib/security/sunpkcs11-solaris.cfg
+security.provider.3=sun.security.provider.Sun
+security.provider.4=sun.security.rsa.SunRsaSign
+security.provider.5=sun.security.ec.SunEC
+security.provider.6=com.sun.net.ssl.internal.ssl.Provider
+security.provider.7=com.sun.crypto.provider.SunJCE
+security.provider.8=sun.security.jgss.SunProvider
+security.provider.9=com.sun.security.sasl.Provider
+security.provider.10=org.jcp.xml.dsig.internal.dom.XMLDSigRI
+security.provider.11=sun.security.smartcardio.SunPCSC
#
# Select the source of seed data for SecureRandom. By default an
diff --git a/jdk/src/share/lib/security/sunpkcs11-solaris.cfg b/jdk/src/share/lib/security/sunpkcs11-solaris.cfg
index 3b3f7fa..a2233d8 100644
--- a/jdk/src/share/lib/security/sunpkcs11-solaris.cfg
+++ b/jdk/src/share/lib/security/sunpkcs11-solaris.cfg
@@ -17,23 +17,27 @@ useEcX963Encoding = true
attributes = compatibility
disabledMechanisms = {
-# the following mechanisms are disabled due to lack of digest cloning support
-# need to fix 6414899 first
+ CKM_DSA_KEY_PAIR_GEN
+# the following mechanisms are disabled due to CKR_SAVED_STATE_INVALID bug
+# (Solaris bug 7058108)
CKM_MD2
CKM_MD5
CKM_SHA_1
+# the following mechanisms are disabled due to no cloning support
+# (Solaris bug 7050617)
CKM_SHA256
CKM_SHA384
CKM_SHA512
- CKM_DSA_KEY_PAIR_GEN
-# the following mechanisms are disabled due to performance issues (Solaris bug 6337157)
+# the following mechanisms are disabled due to performance issues
+# (Solaris bug 6337157)
CKM_DSA_SHA1
CKM_MD5_RSA_PKCS
CKM_SHA1_RSA_PKCS
CKM_SHA256_RSA_PKCS
CKM_SHA384_RSA_PKCS
CKM_SHA512_RSA_PKCS
-# the following mechanisms are disabled to ensure backward compatibility (Solaris bug 6545046)
+# the following mechanisms are disabled to ensure backward compatibility
+# (Solaris bug 6545046)
CKM_DES_CBC_PAD
CKM_DES3_CBC_PAD
CKM_AES_CBC_PAD
diff --git a/jdk/src/share/native/java/io/io_util.c b/jdk/src/share/native/java/io/io_util.c
index e17652a..8777ff0 100644
--- a/jdk/src/share/native/java/io/io_util.c
+++ b/jdk/src/share/native/java/io/io_util.c
@@ -44,7 +44,7 @@ readSingle(JNIEnv *env, jobject this, jfieldID fid) {
JNU_ThrowIOException(env, "Stream Closed");
return -1;
}
- nread = (jint)IO_Read(fd, &ret, 1);
+ nread = IO_Read(fd, &ret, 1);
if (nread == 0) { /* EOF */
return -1;
} else if (nread == JVM_IO_ERR) { /* error */
@@ -108,7 +108,7 @@ readBytes(JNIEnv *env, jobject this, jbyteArray bytes,
JNU_ThrowIOException(env, "Stream Closed");
nread = -1;
} else {
- nread = (jint)IO_Read(fd, buf, len);
+ nread = IO_Read(fd, buf, len);
if (nread > 0) {
(*env)->SetByteArrayRegion(env, bytes, off, nread, (jbyte *)buf);
} else if (nread == JVM_IO_ERR) {
@@ -137,9 +137,9 @@ writeSingle(JNIEnv *env, jobject this, jint byte, jboolean append, jfieldID fid)
return;
}
if (append == JNI_TRUE) {
- n = (jint)IO_Append(fd, &c, 1);
+ n = IO_Append(fd, &c, 1);
} else {
- n = (jint)IO_Write(fd, &c, 1);
+ n = IO_Write(fd, &c, 1);
}
if (n == JVM_IO_ERR) {
JNU_ThrowIOExceptionWithLastError(env, "Write error");
@@ -190,9 +190,9 @@ writeBytes(JNIEnv *env, jobject this, jbyteArray bytes,
break;
}
if (append == JNI_TRUE) {
- n = (jint)IO_Append(fd, buf+off, len);
+ n = IO_Append(fd, buf+off, len);
} else {
- n = (jint)IO_Write(fd, buf+off, len);
+ n = IO_Write(fd, buf+off, len);
}
if (n == JVM_IO_ERR) {
JNU_ThrowIOExceptionWithLastError(env, "Write error");
diff --git a/jdk/src/share/native/java/util/zip/Adler32.c b/jdk/src/share/native/java/util/zip/Adler32.c
index d7666ca..36b5499 100644
--- a/jdk/src/share/native/java/util/zip/Adler32.c
+++ b/jdk/src/share/native/java/util/zip/Adler32.c
@@ -30,6 +30,7 @@
#include "jni.h"
#include "jni_util.h"
#include "zlib.h"
+#include "jlong.h"
#include "java_util_zip_Adler32.h"
@@ -53,3 +54,17 @@ Java_java_util_zip_Adler32_updateBytes(JNIEnv *env, jclass cls, jint adler,
}
return adler;
}
+
+
+JNIEXPORT jint JNICALL
+Java_java_util_zip_Adler32_updateByteBuffer(JNIEnv *env, jclass cls, jint adler,
+ jlong address, jint off, jint len)
+{
+ Bytef *buf = (Bytef *)jlong_to_ptr(address);
+ if (buf) {
+ adler = adler32(adler, buf + off, len);
+ }
+ return adler;
+}
+
+
diff --git a/jdk/src/share/native/java/util/zip/CRC32.c b/jdk/src/share/native/java/util/zip/CRC32.c
index 48b6652..c8cb2de 100644
--- a/jdk/src/share/native/java/util/zip/CRC32.c
+++ b/jdk/src/share/native/java/util/zip/CRC32.c
@@ -58,3 +58,14 @@ JNIEXPORT jint ZIP_CRC32(jint crc, const jbyte *buf, jint len)
{
return crc32(crc, (Bytef*)buf, len);
}
+
+JNIEXPORT jint JNICALL
+Java_java_util_zip_CRC32_updateByteBuffer(JNIEnv *env, jclass cls, jint crc,
+ jlong address, jint off, jint len)
+{
+ Bytef *buf = (Bytef *)jlong_to_ptr(address);
+ if (buf) {
+ crc = crc32(crc, buf + off, len);
+ }
+ return crc;
+}
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/ChangeLog b/jdk/src/share/native/java/util/zip/zlib-1.2.5/ChangeLog
new file mode 100644
index 0000000..f310bb0
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/ChangeLog
@@ -0,0 +1,1208 @@
+
+ ChangeLog file for zlib
+
+Changes in 1.2.5 (19 Apr 2010)
+- Disable visibility attribute in win32/Makefile.gcc [Bar-Lev]
+- Default to libdir as sharedlibdir in configure [Nieder]
+- Update copyright dates on modified source files
+- Update trees.c to be able to generate modified trees.h
+- Exit configure for MinGW, suggesting win32/Makefile.gcc
+
+Changes in 1.2.4.5 (18 Apr 2010)
+- Set sharedlibdir in configure [Torok]
+- Set LDFLAGS in Makefile.in [Bar-Lev]
+- Avoid mkdir objs race condition in Makefile.in [Bowler]
+- Add ZLIB_INTERNAL in front of internal inter-module functions and arrays
+- Define ZLIB_INTERNAL to hide internal functions and arrays for GNU C
+- Don't use hidden attribute when it is a warning generator (e.g. Solaris)
+
+Changes in 1.2.4.4 (18 Apr 2010)
+- Fix CROSS_PREFIX executable testing, CHOST extract, mingw* [Torok]
+- Undefine _LARGEFILE64_SOURCE in zconf.h if it is zero, but not if empty
+- Try to use bash or ksh regardless of functionality of /bin/sh
+- Fix configure incompatibility with NetBSD sh
+- Remove attempt to run under bash or ksh since have better NetBSD fix
+- Fix win32/Makefile.gcc for MinGW [Bar-Lev]
+- Add diagnostic messages when using CROSS_PREFIX in configure
+- Added --sharedlibdir option to configure [Weigelt]
+- Use hidden visibility attribute when available [Frysinger]
+
+Changes in 1.2.4.3 (10 Apr 2010)
+- Only use CROSS_PREFIX in configure for ar and ranlib if they exist
+- Use CROSS_PREFIX for nm [Bar-Lev]
+- Assume _LARGEFILE64_SOURCE defined is equivalent to true
+- Avoid use of undefined symbols in #if with && and ||
+- Make *64 prototypes in gzguts.h consistent with functions
+- Add -shared load option for MinGW in configure [Bowler]
+- Move z_off64_t to public interface, use instead of off64_t
+- Remove ! from shell test in configure (not portable to Solaris)
+- Change +0 macro tests to -0 for possibly increased portability
+
+Changes in 1.2.4.2 (9 Apr 2010)
+- Add consistent carriage returns to readme.txt's in masmx86 and masmx64
+- Really provide prototypes for *64 functions when building without LFS
+- Only define unlink() in minigzip.c if unistd.h not included
+- Update README to point to contrib/vstudio project files
+- Move projects/vc6 to old/ and remove projects/
+- Include stdlib.h in minigzip.c for setmode() definition under WinCE
+- Clean up assembler builds in win32/Makefile.msc [Rowe]
+- Include sys/types.h for Microsoft for off_t definition
+- Fix memory leak on error in gz_open()
+- Symbolize nm as $NM in configure [Weigelt]
+- Use TEST_LDSHARED instead of LDSHARED to link test programs [Weigelt]
+- Add +0 to _FILE_OFFSET_BITS and _LFS64_LARGEFILE in case not defined
+- Fix bug in gzeof() to take into account unused input data
+- Avoid initialization of structures with variables in puff.c
+- Updated win32/README-WIN32.txt [Rowe]
+
+Changes in 1.2.4.1 (28 Mar 2010)
+- Remove the use of [a-z] constructs for sed in configure [gentoo 310225]
+- Remove $(SHAREDLIB) from LIBS in Makefile.in [Creech]
+- Restore "for debugging" comment on sprintf() in gzlib.c
+- Remove fdopen for MVS from gzguts.h
+- Put new README-WIN32.txt in win32 [Rowe]
+- Add check for shell to configure and invoke another shell if needed
+- Fix big fat stinking bug in gzseek() on uncompressed files
+- Remove vestigial F_OPEN64 define in zutil.h
+- Set and check the value of _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE
+- Avoid errors on non-LFS systems when applications define LFS macros
+- Set EXE to ".exe" in configure for MINGW [Kahle]
+- Match crc32() in crc32.c exactly to the prototype in zlib.h [Sherrill]
+- Add prefix for cross-compilation in win32/makefile.gcc [Bar-Lev]
+- Add DLL install in win32/makefile.gcc [Bar-Lev]
+- Allow Linux* or linux* from uname in configure [Bar-Lev]
+- Allow ldconfig to be redefined in configure and Makefile.in [Bar-Lev]
+- Add cross-compilation prefixes to configure [Bar-Lev]
+- Match type exactly in gz_load() invocation in gzread.c
+- Match type exactly of zcalloc() in zutil.c to zlib.h alloc_func
+- Provide prototypes for *64 functions when building zlib without LFS
+- Don't use -lc when linking shared library on MinGW
+- Remove errno.h check in configure and vestigial errno code in zutil.h
+
+Changes in 1.2.4 (14 Mar 2010)
+- Fix VER3 extraction in configure for no fourth subversion
+- Update zlib.3, add docs to Makefile.in to make .pdf out of it
+- Add zlib.3.pdf to distribution
+- Don't set error code in gzerror() if passed pointer is NULL
+- Apply destination directory fixes to CMakeLists.txt [Lowman]
+- Move #cmakedefine's to a new zconf.in.cmakein
+- Restore zconf.h for builds that don't use configure or cmake
+- Add distclean to dummy Makefile for convenience
+- Update and improve INDEX, README, and FAQ
+- Update CMakeLists.txt for the return of zconf.h [Lowman]
+- Update contrib/vstudio/vc9 and vc10 [Vollant]
+- Change libz.dll.a back to libzdll.a in win32/Makefile.gcc
+- Apply license and readme changes to contrib/asm686 [Raiter]
+- Check file name lengths and add -c option in minigzip.c [Li]
+- Update contrib/amd64 and contrib/masmx86/ [Vollant]
+- Avoid use of "eof" parameter in trees.c to not shadow library variable
+- Update make_vms.com for removal of zlibdefs.h [Zinser]
+- Update assembler code and vstudio projects in contrib [Vollant]
+- Remove outdated assembler code contrib/masm686 and contrib/asm586
+- Remove old vc7 and vc8 from contrib/vstudio
+- Update win32/Makefile.msc, add ZLIB_VER_SUBREVISION [Rowe]
+- Fix memory leaks in gzclose_r() and gzclose_w(), file leak in gz_open()
+- Add contrib/gcc_gvmat64 for longest_match and inflate_fast [Vollant]
+- Remove *64 functions from win32/zlib.def (they're not 64-bit yet)
+- Fix bug in void-returning vsprintf() case in gzwrite.c
+- Fix name change from inflate.h in contrib/inflate86/inffas86.c
+- Check if temporary file exists before removing in make_vms.com [Zinser]
+- Fix make install and uninstall for --static option
+- Fix usage of _MSC_VER in gzguts.h and zutil.h [Truta]
+- Update readme.txt in contrib/masmx64 and masmx86 to assemble
+
+Changes in 1.2.3.9 (21 Feb 2010)
+- Expunge gzio.c
+- Move as400 build information to old
+- Fix updates in contrib/minizip and contrib/vstudio
+- Add const to vsnprintf test in configure to avoid warnings [Weigelt]
+- Delete zconf.h (made by configure) [Weigelt]
+- Change zconf.in.h to zconf.h.in per convention [Weigelt]
+- Check for NULL buf in gzgets()
+- Return empty string for gzgets() with len == 1 (like fgets())
+- Fix description of gzgets() in zlib.h for end-of-file, NULL return
+- Update minizip to 1.1 [Vollant]
+- Avoid MSVC loss of data warnings in gzread.c, gzwrite.c
+- Note in zlib.h that gzerror() should be used to distinguish from EOF
+- Remove use of snprintf() from gzlib.c
+- Fix bug in gzseek()
+- Update contrib/vstudio, adding vc9 and vc10 [Kuno, Vollant]
+- Fix zconf.h generation in CMakeLists.txt [Lowman]
+- Improve comments in zconf.h where modified by configure
+
+Changes in 1.2.3.8 (13 Feb 2010)
+- Clean up text files (tabs, trailing whitespace, etc.) [Oberhumer]
+- Use z_off64_t in gz_zero() and gz_skip() to match state->skip
+- Avoid comparison problem when sizeof(int) == sizeof(z_off64_t)
+- Revert to Makefile.in from 1.2.3.6 (live with the clutter)
+- Fix missing error return in gzflush(), add zlib.h note
+- Add *64 functions to zlib.map [Levin]
+- Fix signed/unsigned comparison in gz_comp()
+- Use SFLAGS when testing shared linking in configure
+- Add --64 option to ./configure to use -m64 with gcc
+- Fix ./configure --help to correctly name options
+- Have make fail if a test fails [Levin]
+- Avoid buffer overrun in contrib/masmx64/gvmat64.asm [Simpson]
+- Remove assembler object files from contrib
+
+Changes in 1.2.3.7 (24 Jan 2010)
+- Always gzopen() with O_LARGEFILE if available
+- Fix gzdirect() to work immediately after gzopen() or gzdopen()
+- Make gzdirect() more precise when the state changes while reading
+- Improve zlib.h documentation in many places
+- Catch memory allocation failure in gz_open()
+- Complete close operation if seek forward in gzclose_w() fails
+- Return Z_ERRNO from gzclose_r() if close() fails
+- Return Z_STREAM_ERROR instead of EOF for gzclose() being passed NULL
+- Return zero for gzwrite() errors to match zlib.h description
+- Return -1 on gzputs() error to match zlib.h description
+- Add zconf.in.h to allow recovery from configure modification [Weigelt]
+- Fix static library permissions in Makefile.in [Weigelt]
+- Avoid warnings in configure tests that hide functionality [Weigelt]
+- Add *BSD and DragonFly to Linux case in configure [gentoo 123571]
+- Change libzdll.a to libz.dll.a in win32/Makefile.gcc [gentoo 288212]
+- Avoid access of uninitialized data for first inflateReset2 call [Gomes]
+- Keep object files in subdirectories to reduce the clutter somewhat
+- Remove default Makefile and zlibdefs.h, add dummy Makefile
+- Add new external functions to Z_PREFIX, remove duplicates, z_z_ -> z_
+- Remove zlibdefs.h completely -- modify zconf.h instead
+
+Changes in 1.2.3.6 (17 Jan 2010)
+- Avoid void * arithmetic in gzread.c and gzwrite.c
+- Make compilers happier with const char * for gz_error message
+- Avoid unused parameter warning in inflate.c
+- Avoid signed-unsigned comparison warning in inflate.c
+- Indent #pragma's for traditional C
+- Fix usage of strwinerror() in glib.c, change to gz_strwinerror()
+- Correct email address in configure for system options
+- Update make_vms.com and add make_vms.com to contrib/minizip [Zinser]
+- Update zlib.map [Brown]
+- Fix Makefile.in for Solaris 10 make of example64 and minizip64 [Torok]
+- Apply various fixes to CMakeLists.txt [Lowman]
+- Add checks on len in gzread() and gzwrite()
+- Add error message for no more room for gzungetc()
+- Remove zlib version check in gzwrite()
+- Defer compression of gzprintf() result until need to
+- Use snprintf() in gzdopen() if available
+- Remove USE_MMAP configuration determination (only used by minigzip)
+- Remove examples/pigz.c (available separately)
+- Update examples/gun.c to 1.6
+
+Changes in 1.2.3.5 (8 Jan 2010)
+- Add space after #if in zutil.h for some compilers
+- Fix relatively harmless bug in deflate_fast() [Exarevsky]
+- Fix same problem in deflate_slow()
+- Add $(SHAREDLIBV) to LIBS in Makefile.in [Brown]
+- Add deflate_rle() for faster Z_RLE strategy run-length encoding
+- Add deflate_huff() for faster Z_HUFFMAN_ONLY encoding
+- Change name of "write" variable in inffast.c to avoid library collisions
+- Fix premature EOF from gzread() in gzio.c [Brown]
+- Use zlib header window size if windowBits is 0 in inflateInit2()
+- Remove compressBound() call in deflate.c to avoid linking compress.o
+- Replace use of errno in gz* with functions, support WinCE [Alves]
+- Provide alternative to perror() in minigzip.c for WinCE [Alves]
+- Don't use _vsnprintf on later versions of MSVC [Lowman]
+- Add CMake build script and input file [Lowman]
+- Update contrib/minizip to 1.1 [Svensson, Vollant]
+- Moved nintendods directory from contrib to .
+- Replace gzio.c with a new set of routines with the same functionality
+- Add gzbuffer(), gzoffset(), gzclose_r(), gzclose_w() as part of above
+- Update contrib/minizip to 1.1b
+- Change gzeof() to return 0 on error instead of -1 to agree with zlib.h
+
+Changes in 1.2.3.4 (21 Dec 2009)
+- Use old school .SUFFIXES in Makefile.in for FreeBSD compatibility
+- Update comments in configure and Makefile.in for default --shared
+- Fix test -z's in configure [Marquess]
+- Build examplesh and minigzipsh when not testing
+- Change NULL's to Z_NULL's in deflate.c and in comments in zlib.h
+- Import LDFLAGS from the environment in configure
+- Fix configure to populate SFLAGS with discovered CFLAGS options
+- Adapt make_vms.com to the new Makefile.in [Zinser]
+- Add zlib2ansi script for C++ compilation [Marquess]
+- Add _FILE_OFFSET_BITS=64 test to make test (when applicable)
+- Add AMD64 assembler code for longest match to contrib [Teterin]
+- Include options from $SFLAGS when doing $LDSHARED
+- Simplify 64-bit file support by introducing z_off64_t type
+- Make shared object files in objs directory to work around old Sun cc
+- Use only three-part version number for Darwin shared compiles
+- Add rc option to ar in Makefile.in for when ./configure not run
+- Add -WI,-rpath,. to LDFLAGS for OSF 1 V4*
+- Set LD_LIBRARYN32_PATH for SGI IRIX shared compile
+- Protect against _FILE_OFFSET_BITS being defined when compiling zlib
+- Rename Makefile.in targets allstatic to static and allshared to shared
+- Fix static and shared Makefile.in targets to be independent
+- Correct error return bug in gz_open() by setting state [Brown]
+- Put spaces before ;;'s in configure for better sh compatibility
+- Add pigz.c (parallel implementation of gzip) to examples/
+- Correct constant in crc32.c to UL [Leventhal]
+- Reject negative lengths in crc32_combine()
+- Add inflateReset2() function to work like inflateEnd()/inflateInit2()
+- Include sys/types.h for _LARGEFILE64_SOURCE [Brown]
+- Correct typo in doc/algorithm.txt [Janik]
+- Fix bug in adler32_combine() [Zhu]
+- Catch missing-end-of-block-code error in all inflates and in puff
+ Assures that random input to inflate eventually results in an error
+- Added enough.c (calculation of ENOUGH for inftrees.h) to examples/
+- Update ENOUGH and its usage to reflect discovered bounds
+- Fix gzerror() error report on empty input file [Brown]
+- Add ush casts in trees.c to avoid pedantic runtime errors
+- Fix typo in zlib.h uncompress() description [Reiss]
+- Correct inflate() comments with regard to automatic header detection
+- Remove deprecation comment on Z_PARTIAL_FLUSH (it stays)
+- Put new version of gzlog (2.0) in examples with interruption recovery
+- Add puff compile option to permit invalid distance-too-far streams
+- Add puff TEST command options, ability to read piped input
+- Prototype the *64 functions in zlib.h when _FILE_OFFSET_BITS == 64, but
+ _LARGEFILE64_SOURCE not defined
+- Fix Z_FULL_FLUSH to truly erase the past by resetting s->strstart
+- Fix deflateSetDictionary() to use all 32K for output consistency
+- Remove extraneous #define MIN_LOOKAHEAD in deflate.c (in deflate.h)
+- Clear bytes after deflate lookahead to avoid use of uninitialized data
+- Change a limit in inftrees.c to be more transparent to Coverity Prevent
+- Update win32/zlib.def with exported symbols from zlib.h
+- Correct spelling error in zlib.h [Willem]
+- Allow Z_BLOCK for deflate() to force a new block
+- Allow negative bits in inflatePrime() to delete existing bit buffer
+- Add Z_TREES flush option to inflate() to return at end of trees
+- Add inflateMark() to return current state information for random access
+- Add Makefile for NintendoDS to contrib [Costa]
+- Add -w in configure compile tests to avoid spurious warnings [Beucler]
+- Fix typos in zlib.h comments for deflateSetDictionary()
+- Fix EOF detection in transparent gzread() [Maier]
+
+Changes in 1.2.3.3 (2 October 2006)
+- Make --shared the default for configure, add a --static option
+- Add compile option to permit invalid distance-too-far streams
+- Add inflateUndermine() function which is required to enable above
+- Remove use of "this" variable name for C++ compatibility [Marquess]
+- Add testing of shared library in make test, if shared library built
+- Use ftello() and fseeko() if available instead of ftell() and fseek()
+- Provide two versions of all functions that use the z_off_t type for
+ binary compatibility -- a normal version and a 64-bit offset version,
+ per the Large File Support Extension when _LARGEFILE64_SOURCE is
+ defined; use the 64-bit versions by default when _FILE_OFFSET_BITS
+ is defined to be 64
+- Add a --uname= option to configure to perhaps help with cross-compiling
+
+Changes in 1.2.3.2 (3 September 2006)
+- Turn off silly Borland warnings [Hay]
+- Use off64_t and define _LARGEFILE64_SOURCE when present
+- Fix missing dependency on inffixed.h in Makefile.in
+- Rig configure --shared to build both shared and static [Teredesai, Truta]
+- Remove zconf.in.h and instead create a new zlibdefs.h file
+- Fix contrib/minizip/unzip.c non-encrypted after encrypted [Vollant]
+- Add treebuild.xml (see http://treebuild.metux.de/) [Weigelt]
+
+Changes in 1.2.3.1 (16 August 2006)
+- Add watcom directory with OpenWatcom make files [Daniel]
+- Remove #undef of FAR in zconf.in.h for MVS [Fedtke]
+- Update make_vms.com [Zinser]
+- Use -fPIC for shared build in configure [Teredesai, Nicholson]
+- Use only major version number for libz.so on IRIX and OSF1 [Reinholdtsen]
+- Use fdopen() (not _fdopen()) for Interix in zutil.h [Bck]
+- Add some FAQ entries about the contrib directory
+- Update the MVS question in the FAQ
+- Avoid extraneous reads after EOF in gzio.c [Brown]
+- Correct spelling of "successfully" in gzio.c [Randers-Pehrson]
+- Add comments to zlib.h about gzerror() usage [Brown]
+- Set extra flags in gzip header in gzopen() like deflate() does
+- Make configure options more compatible with double-dash conventions
+ [Weigelt]
+- Clean up compilation under Solaris SunStudio cc [Rowe, Reinholdtsen]
+- Fix uninstall target in Makefile.in [Truta]
+- Add pkgconfig support [Weigelt]
+- Use $(DESTDIR) macro in Makefile.in [Reinholdtsen, Weigelt]
+- Replace set_data_type() with a more accurate detect_data_type() in
+ trees.c, according to the txtvsbin.txt document [Truta]
+- Swap the order of #include <stdio.h> and #include "zlib.h" in
+ gzio.c, example.c and minigzip.c [Truta]
+- Shut up annoying VS2005 warnings about standard C deprecation [Rowe,
+ Truta] (where?)
+- Fix target "clean" from win32/Makefile.bor [Truta]
+- Create .pdb and .manifest files in win32/makefile.msc [Ziegler, Rowe]
+- Update zlib www home address in win32/DLL_FAQ.txt [Truta]
+- Update contrib/masmx86/inffas32.asm for VS2005 [Vollant, Van Wassenhove]
+- Enable browse info in the "Debug" and "ASM Debug" configurations in
+ the Visual C++ 6 project, and set (non-ASM) "Debug" as default [Truta]
+- Add pkgconfig support [Weigelt]
+- Add ZLIB_VER_MAJOR, ZLIB_VER_MINOR and ZLIB_VER_REVISION in zlib.h,
+ for use in win32/zlib1.rc [Polushin, Rowe, Truta]
+- Add a document that explains the new text detection scheme to
+ doc/txtvsbin.txt [Truta]
+- Add rfc1950.txt, rfc1951.txt and rfc1952.txt to doc/ [Truta]
+- Move algorithm.txt into doc/ [Truta]
+- Synchronize FAQ with website
+- Fix compressBound(), was low for some pathological cases [Fearnley]
+- Take into account wrapper variations in deflateBound()
+- Set examples/zpipe.c input and output to binary mode for Windows
+- Update examples/zlib_how.html with new zpipe.c (also web site)
+- Fix some warnings in examples/gzlog.c and examples/zran.c (it seems
+ that gcc became pickier in 4.0)
+- Add zlib.map for Linux: "All symbols from zlib-1.1.4 remain
+ un-versioned, the patch adds versioning only for symbols introduced in
+ zlib-1.2.0 or later. It also declares as local those symbols which are
+ not designed to be exported." [Levin]
+- Update Z_PREFIX list in zconf.in.h, add --zprefix option to configure
+- Do not initialize global static by default in trees.c, add a response
+ NO_INIT_GLOBAL_POINTERS to initialize them if needed [Marquess]
+- Don't use strerror() in gzio.c under WinCE [Yakimov]
+- Don't use errno.h in zutil.h under WinCE [Yakimov]
+- Move arguments for AR to its usage to allow replacing ar [Marot]
+- Add HAVE_VISIBILITY_PRAGMA in zconf.in.h for Mozilla [Randers-Pehrson]
+- Improve inflateInit() and inflateInit2() documentation
+- Fix structure size comment in inflate.h
+- Change configure help option from --h* to --help [Santos]
+
+Changes in 1.2.3 (18 July 2005)
+- Apply security vulnerability fixes to contrib/infback9 as well
+- Clean up some text files (carriage returns, trailing space)
+- Update testzlib, vstudio, masmx64, and masmx86 in contrib [Vollant]
+
+Changes in 1.2.2.4 (11 July 2005)
+- Add inflatePrime() function for starting inflation at bit boundary
+- Avoid some Visual C warnings in deflate.c
+- Avoid more silly Visual C warnings in inflate.c and inftrees.c for 64-bit
+ compile
+- Fix some spelling errors in comments [Betts]
+- Correct inflateInit2() error return documentation in zlib.h
+- Add zran.c example of compressed data random access to examples
+ directory, shows use of inflatePrime()
+- Fix cast for assignments to strm->state in inflate.c and infback.c
+- Fix zlibCompileFlags() in zutil.c to use 1L for long shifts [Oberhumer]
+- Move declarations of gf2 functions to right place in crc32.c [Oberhumer]
+- Add cast in trees.c t avoid a warning [Oberhumer]
+- Avoid some warnings in fitblk.c, gun.c, gzjoin.c in examples [Oberhumer]
+- Update make_vms.com [Zinser]
+- Initialize state->write in inflateReset() since copied in inflate_fast()
+- Be more strict on incomplete code sets in inflate_table() and increase
+ ENOUGH and MAXD -- this repairs a possible security vulnerability for
+ invalid inflate input. Thanks to Tavis Ormandy and Markus Oberhumer for
+ discovering the vulnerability and providing test cases.
+- Add ia64 support to configure for HP-UX [Smith]
+- Add error return to gzread() for format or i/o error [Levin]
+- Use malloc.h for OS/2 [Necasek]
+
+Changes in 1.2.2.3 (27 May 2005)
+- Replace 1U constants in inflate.c and inftrees.c for 64-bit compile
+- Typecast fread() return values in gzio.c [Vollant]
+- Remove trailing space in minigzip.c outmode (VC++ can't deal with it)
+- Fix crc check bug in gzread() after gzungetc() [Heiner]
+- Add the deflateTune() function to adjust internal compression parameters
+- Add a fast gzip decompressor, gun.c, to examples (use of inflateBack)
+- Remove an incorrect assertion in examples/zpipe.c
+- Add C++ wrapper in infback9.h [Donais]
+- Fix bug in inflateCopy() when decoding fixed codes
+- Note in zlib.h how much deflateSetDictionary() actually uses
+- Remove USE_DICT_HEAD in deflate.c (would mess up inflate if used)
+- Add _WIN32_WCE to define WIN32 in zconf.in.h [Spencer]
+- Don't include stderr.h or errno.h for _WIN32_WCE in zutil.h [Spencer]
+- Add gzdirect() function to indicate transparent reads
+- Update contrib/minizip [Vollant]
+- Fix compilation of deflate.c when both ASMV and FASTEST [Oberhumer]
+- Add casts in crc32.c to avoid warnings [Oberhumer]
+- Add contrib/masmx64 [Vollant]
+- Update contrib/asm586, asm686, masmx86, testzlib, vstudio [Vollant]
+
+Changes in 1.2.2.2 (30 December 2004)
+- Replace structure assignments in deflate.c and inflate.c with zmemcpy to
+ avoid implicit memcpy calls (portability for no-library compilation)
+- Increase sprintf() buffer size in gzdopen() to allow for large numbers
+- Add INFLATE_STRICT to check distances against zlib header
+- Improve WinCE errno handling and comments [Chang]
+- Remove comment about no gzip header processing in FAQ
+- Add Z_FIXED strategy option to deflateInit2() to force fixed trees
+- Add updated make_vms.com [Coghlan], update README
+- Create a new "examples" directory, move gzappend.c there, add zpipe.c,
+ fitblk.c, gzlog.[ch], gzjoin.c, and zlib_how.html.
+- Add FAQ entry and comments in deflate.c on uninitialized memory access
+- Add Solaris 9 make options in configure [Gilbert]
+- Allow strerror() usage in gzio.c for STDC
+- Fix DecompressBuf in contrib/delphi/ZLib.pas [ManChesTer]
+- Update contrib/masmx86/inffas32.asm and gvmat32.asm [Vollant]
+- Use z_off_t for adler32_combine() and crc32_combine() lengths
+- Make adler32() much faster for small len
+- Use OS_CODE in deflate() default gzip header
+
+Changes in 1.2.2.1 (31 October 2004)
+- Allow inflateSetDictionary() call for raw inflate
+- Fix inflate header crc check bug for file names and comments
+- Add deflateSetHeader() and gz_header structure for custom gzip headers
+- Add inflateGetheader() to retrieve gzip headers
+- Add crc32_combine() and adler32_combine() functions
+- Add alloc_func, free_func, in_func, out_func to Z_PREFIX list
+- Use zstreamp consistently in zlib.h (inflate_back functions)
+- Remove GUNZIP condition from definition of inflate_mode in inflate.h
+ and in contrib/inflate86/inffast.S [Truta, Anderson]
+- Add support for AMD64 in contrib/inflate86/inffas86.c [Anderson]
+- Update projects/README.projects and projects/visualc6 [Truta]
+- Update win32/DLL_FAQ.txt [Truta]
+- Avoid warning under NO_GZCOMPRESS in gzio.c; fix typo [Truta]
+- Deprecate Z_ASCII; use Z_TEXT instead [Truta]
+- Use a new algorithm for setting strm->data_type in trees.c [Truta]
+- Do not define an exit() prototype in zutil.c unless DEBUG defined
+- Remove prototype of exit() from zutil.c, example.c, minigzip.c [Truta]
+- Add comment in zlib.h for Z_NO_FLUSH parameter to deflate()
+- Fix Darwin build version identification [Peterson]
+
+Changes in 1.2.2 (3 October 2004)
+- Update zlib.h comments on gzip in-memory processing
+- Set adler to 1 in inflateReset() to support Java test suite [Walles]
+- Add contrib/dotzlib [Ravn]
+- Update win32/DLL_FAQ.txt [Truta]
+- Update contrib/minizip [Vollant]
+- Move contrib/visual-basic.txt to old/ [Truta]
+- Fix assembler builds in projects/visualc6/ [Truta]
+
+Changes in 1.2.1.2 (9 September 2004)
+- Update INDEX file
+- Fix trees.c to update strm->data_type (no one ever noticed!)
+- Fix bug in error case in inflate.c, infback.c, and infback9.c [Brown]
+- Add "volatile" to crc table flag declaration (for DYNAMIC_CRC_TABLE)
+- Add limited multitasking protection to DYNAMIC_CRC_TABLE
+- Add NO_vsnprintf for VMS in zutil.h [Mozilla]
+- Don't declare strerror() under VMS [Mozilla]
+- Add comment to DYNAMIC_CRC_TABLE to use get_crc_table() to initialize
+- Update contrib/ada [Anisimkov]
+- Update contrib/minizip [Vollant]
+- Fix configure to not hardcode directories for Darwin [Peterson]
+- Fix gzio.c to not return error on empty files [Brown]
+- Fix indentation; update version in contrib/delphi/ZLib.pas and
+ contrib/pascal/zlibpas.pas [Truta]
+- Update mkasm.bat in contrib/masmx86 [Truta]
+- Update contrib/untgz [Truta]
+- Add projects/README.projects [Truta]
+- Add project for MS Visual C++ 6.0 in projects/visualc6 [Cadieux, Truta]
+- Update win32/DLL_FAQ.txt [Truta]
+- Update list of Z_PREFIX symbols in zconf.h [Randers-Pehrson, Truta]
+- Remove an unnecessary assignment to curr in inftrees.c [Truta]
+- Add OS/2 to exe builds in configure [Poltorak]
+- Remove err dummy parameter in zlib.h [Kientzle]
+
+Changes in 1.2.1.1 (9 January 2004)
+- Update email address in README
+- Several FAQ updates
+- Fix a big fat bug in inftrees.c that prevented decoding valid
+ dynamic blocks with only literals and no distance codes --
+ Thanks to "Hot Emu" for the bug report and sample file
+- Add a note to puff.c on no distance codes case.
+
+Changes in 1.2.1 (17 November 2003)
+- Remove a tab in contrib/gzappend/gzappend.c
+- Update some interfaces in contrib for new zlib functions
+- Update zlib version number in some contrib entries
+- Add Windows CE definition for ptrdiff_t in zutil.h [Mai, Truta]
+- Support shared libraries on Hurd and KFreeBSD [Brown]
+- Fix error in NO_DIVIDE option of adler32.c
+
+Changes in 1.2.0.8 (4 November 2003)
+- Update version in contrib/delphi/ZLib.pas and contrib/pascal/zlibpas.pas
+- Add experimental NO_DIVIDE #define in adler32.c
+ - Possibly faster on some processors (let me know if it is)
+- Correct Z_BLOCK to not return on first inflate call if no wrap
+- Fix strm->data_type on inflate() return to correctly indicate EOB
+- Add deflatePrime() function for appending in the middle of a byte
+- Add contrib/gzappend for an example of appending to a stream
+- Update win32/DLL_FAQ.txt [Truta]
+- Delete Turbo C comment in README [Truta]
+- Improve some indentation in zconf.h [Truta]
+- Fix infinite loop on bad input in configure script [Church]
+- Fix gzeof() for concatenated gzip files [Johnson]
+- Add example to contrib/visual-basic.txt [Michael B.]
+- Add -p to mkdir's in Makefile.in [vda]
+- Fix configure to properly detect presence or lack of printf functions
+- Add AS400 support [Monnerat]
+- Add a little Cygwin support [Wilson]
+
+Changes in 1.2.0.7 (21 September 2003)
+- Correct some debug formats in contrib/infback9
+- Cast a type in a debug statement in trees.c
+- Change search and replace delimiter in configure from % to # [Beebe]
+- Update contrib/untgz to 0.2 with various fixes [Truta]
+- Add build support for Amiga [Nikl]
+- Remove some directories in old that have been updated to 1.2
+- Add dylib building for Mac OS X in configure and Makefile.in
+- Remove old distribution stuff from Makefile
+- Update README to point to DLL_FAQ.txt, and add comment on Mac OS X
+- Update links in README
+
+Changes in 1.2.0.6 (13 September 2003)
+- Minor FAQ updates
+- Update contrib/minizip to 1.00 [Vollant]
+- Remove test of gz functions in example.c when GZ_COMPRESS defined [Truta]
+- Update POSTINC comment for 68060 [Nikl]
+- Add contrib/infback9 with deflate64 decoding (unsupported)
+- For MVS define NO_vsnprintf and undefine FAR [van Burik]
+- Add pragma for fdopen on MVS [van Burik]
+
+Changes in 1.2.0.5 (8 September 2003)
+- Add OF to inflateBackEnd() declaration in zlib.h
+- Remember start when using gzdopen in the middle of a file
+- Use internal off_t counters in gz* functions to properly handle seeks
+- Perform more rigorous check for distance-too-far in inffast.c
+- Add Z_BLOCK flush option to return from inflate at block boundary
+- Set strm->data_type on return from inflate
+ - Indicate bits unused, if at block boundary, and if in last block
+- Replace size_t with ptrdiff_t in crc32.c, and check for correct size
+- Add condition so old NO_DEFLATE define still works for compatibility
+- FAQ update regarding the Windows DLL [Truta]
+- INDEX update: add qnx entry, remove aix entry [Truta]
+- Install zlib.3 into mandir [Wilson]
+- Move contrib/zlib_dll_FAQ.txt to win32/DLL_FAQ.txt; update [Truta]
+- Adapt the zlib interface to the new DLL convention guidelines [Truta]
+- Introduce ZLIB_WINAPI macro to allow the export of functions using
+ the WINAPI calling convention, for Visual Basic [Vollant, Truta]
+- Update msdos and win32 scripts and makefiles [Truta]
+- Export symbols by name, not by ordinal, in win32/zlib.def [Truta]
+- Add contrib/ada [Anisimkov]
+- Move asm files from contrib/vstudio/vc70_32 to contrib/asm386 [Truta]
+- Rename contrib/asm386 to contrib/masmx86 [Truta, Vollant]
+- Add contrib/masm686 [Truta]
+- Fix offsets in contrib/inflate86 and contrib/masmx86/inffas32.asm
+ [Truta, Vollant]
+- Update contrib/delphi; rename to contrib/pascal; add example [Truta]
+- Remove contrib/delphi2; add a new contrib/delphi [Truta]
+- Avoid inclusion of the nonstandard <memory.h> in contrib/iostream,
+ and fix some method prototypes [Truta]
+- Fix the ZCR_SEED2 constant to avoid warnings in contrib/minizip
+ [Truta]
+- Avoid the use of backslash (\) in contrib/minizip [Vollant]
+- Fix file time handling in contrib/untgz; update makefiles [Truta]
+- Update contrib/vstudio/vc70_32 to comply with the new DLL guidelines
+ [Vollant]
+- Remove contrib/vstudio/vc15_16 [Vollant]
+- Rename contrib/vstudio/vc70_32 to contrib/vstudio/vc7 [Truta]
+- Update README.contrib [Truta]
+- Invert the assignment order of match_head and s->prev[...] in
+ INSERT_STRING [Truta]
+- Compare TOO_FAR with 32767 instead of 32768, to avoid 16-bit warnings
+ [Truta]
+- Compare function pointers with 0, not with NULL or Z_NULL [Truta]
+- Fix prototype of syncsearch in inflate.c [Truta]
+- Introduce ASMINF macro to be enabled when using an ASM implementation
+ of inflate_fast [Truta]
+- Change NO_DEFLATE to NO_GZCOMPRESS [Truta]
+- Modify test_gzio in example.c to take a single file name as a
+ parameter [Truta]
+- Exit the example.c program if gzopen fails [Truta]
+- Add type casts around strlen in example.c [Truta]
+- Remove casting to sizeof in minigzip.c; give a proper type
+ to the variable compared with SUFFIX_LEN [Truta]
+- Update definitions of STDC and STDC99 in zconf.h [Truta]
+- Synchronize zconf.h with the new Windows DLL interface [Truta]
+- Use SYS16BIT instead of __32BIT__ to distinguish between
+ 16- and 32-bit platforms [Truta]
+- Use far memory allocators in small 16-bit memory models for
+ Turbo C [Truta]
+- Add info about the use of ASMV, ASMINF and ZLIB_WINAPI in
+ zlibCompileFlags [Truta]
+- Cygwin has vsnprintf [Wilson]
+- In Windows16, OS_CODE is 0, as in MSDOS [Truta]
+- In Cygwin, OS_CODE is 3 (Unix), not 11 (Windows32) [Wilson]
+
+Changes in 1.2.0.4 (10 August 2003)
+- Minor FAQ updates
+- Be more strict when checking inflateInit2's windowBits parameter
+- Change NO_GUNZIP compile option to NO_GZIP to cover deflate as well
+- Add gzip wrapper option to deflateInit2 using windowBits
+- Add updated QNX rule in configure and qnx directory [Bonnefoy]
+- Make inflate distance-too-far checks more rigorous
+- Clean up FAR usage in inflate
+- Add casting to sizeof() in gzio.c and minigzip.c
+
+Changes in 1.2.0.3 (19 July 2003)
+- Fix silly error in gzungetc() implementation [Vollant]
+- Update contrib/minizip and contrib/vstudio [Vollant]
+- Fix printf format in example.c
+- Correct cdecl support in zconf.in.h [Anisimkov]
+- Minor FAQ updates
+
+Changes in 1.2.0.2 (13 July 2003)
+- Add ZLIB_VERNUM in zlib.h for numerical preprocessor comparisons
+- Attempt to avoid warnings in crc32.c for pointer-int conversion
+- Add AIX to configure, remove aix directory [Bakker]
+- Add some casts to minigzip.c
+- Improve checking after insecure sprintf() or vsprintf() calls
+- Remove #elif's from crc32.c
+- Change leave label to inf_leave in inflate.c and infback.c to avoid
+ library conflicts
+- Remove inflate gzip decoding by default--only enable gzip decoding by
+ special request for stricter backward compatibility
+- Add zlibCompileFlags() function to return compilation information
+- More typecasting in deflate.c to avoid warnings
+- Remove leading underscore from _Capital #defines [Truta]
+- Fix configure to link shared library when testing
+- Add some Windows CE target adjustments [Mai]
+- Remove #define ZLIB_DLL in zconf.h [Vollant]
+- Add zlib.3 [Rodgers]
+- Update RFC URL in deflate.c and algorithm.txt [Mai]
+- Add zlib_dll_FAQ.txt to contrib [Truta]
+- Add UL to some constants [Truta]
+- Update minizip and vstudio [Vollant]
+- Remove vestigial NEED_DUMMY_RETURN from zconf.in.h
+- Expand use of NO_DUMMY_DECL to avoid all dummy structures
+- Added iostream3 to contrib [Schwardt]
+- Replace rewind() with fseek() for WinCE [Truta]
+- Improve setting of zlib format compression level flags
+ - Report 0 for huffman and rle strategies and for level == 0 or 1
+ - Report 2 only for level == 6
+- Only deal with 64K limit when necessary at compile time [Truta]
+- Allow TOO_FAR check to be turned off at compile time [Truta]
+- Add gzclearerr() function [Souza]
+- Add gzungetc() function
+
+Changes in 1.2.0.1 (17 March 2003)
+- Add Z_RLE strategy for run-length encoding [Truta]
+ - When Z_RLE requested, restrict matches to distance one
+ - Update zlib.h, minigzip.c, gzopen(), gzdopen() for Z_RLE
+- Correct FASTEST compilation to allow level == 0
+- Clean up what gets compiled for FASTEST
+- Incorporate changes to zconf.in.h [Vollant]
+ - Refine detection of Turbo C need for dummy returns
+ - Refine ZLIB_DLL compilation
+ - Include additional header file on VMS for off_t typedef
+- Try to use _vsnprintf where it supplants vsprintf [Vollant]
+- Add some casts in inffast.c
+- Enchance comments in zlib.h on what happens if gzprintf() tries to
+ write more than 4095 bytes before compression
+- Remove unused state from inflateBackEnd()
+- Remove exit(0) from minigzip.c, example.c
+- Get rid of all those darn tabs
+- Add "check" target to Makefile.in that does the same thing as "test"
+- Add "mostlyclean" and "maintainer-clean" targets to Makefile.in
+- Update contrib/inflate86 [Anderson]
+- Update contrib/testzlib, contrib/vstudio, contrib/minizip [Vollant]
+- Add msdos and win32 directories with makefiles [Truta]
+- More additions and improvements to the FAQ
+
+Changes in 1.2.0 (9 March 2003)
+- New and improved inflate code
+ - About 20% faster
+ - Does not allocate 32K window unless and until needed
+ - Automatically detects and decompresses gzip streams
+ - Raw inflate no longer needs an extra dummy byte at end
+ - Added inflateBack functions using a callback interface--even faster
+ than inflate, useful for file utilities (gzip, zip)
+ - Added inflateCopy() function to record state for random access on
+ externally generated deflate streams (e.g. in gzip files)
+ - More readable code (I hope)
+- New and improved crc32()
+ - About 50% faster, thanks to suggestions from Rodney Brown
+- Add deflateBound() and compressBound() functions
+- Fix memory leak in deflateInit2()
+- Permit setting dictionary for raw deflate (for parallel deflate)
+- Fix const declaration for gzwrite()
+- Check for some malloc() failures in gzio.c
+- Fix bug in gzopen() on single-byte file 0x1f
+- Fix bug in gzread() on concatenated file with 0x1f at end of buffer
+ and next buffer doesn't start with 0x8b
+- Fix uncompress() to return Z_DATA_ERROR on truncated input
+- Free memory at end of example.c
+- Remove MAX #define in trees.c (conflicted with some libraries)
+- Fix static const's in deflate.c, gzio.c, and zutil.[ch]
+- Declare malloc() and free() in gzio.c if STDC not defined
+- Use malloc() instead of calloc() in zutil.c if int big enough
+- Define STDC for AIX
+- Add aix/ with approach for compiling shared library on AIX
+- Add HP-UX support for shared libraries in configure
+- Add OpenUNIX support for shared libraries in configure
+- Use $cc instead of gcc to build shared library
+- Make prefix directory if needed when installing
+- Correct Macintosh avoidance of typedef Byte in zconf.h
+- Correct Turbo C memory allocation when under Linux
+- Use libz.a instead of -lz in Makefile (assure use of compiled library)
+- Update configure to check for snprintf or vsnprintf functions and their
+ return value, warn during make if using an insecure function
+- Fix configure problem with compile-time knowledge of HAVE_UNISTD_H that
+ is lost when library is used--resolution is to build new zconf.h
+- Documentation improvements (in zlib.h):
+ - Document raw deflate and inflate
+ - Update RFCs URL
+ - Point out that zlib and gzip formats are different
+ - Note that Z_BUF_ERROR is not fatal
+ - Document string limit for gzprintf() and possible buffer overflow
+ - Note requirement on avail_out when flushing
+ - Note permitted values of flush parameter of inflate()
+- Add some FAQs (and even answers) to the FAQ
+- Add contrib/inflate86/ for x86 faster inflate
+- Add contrib/blast/ for PKWare Data Compression Library decompression
+- Add contrib/puff/ simple inflate for deflate format description
+
+Changes in 1.1.4 (11 March 2002)
+- ZFREE was repeated on same allocation on some error conditions.
+ This creates a security problem described in
+ http://www.zlib.org/advisory-2002-03-11.txt
+- Returned incorrect error (Z_MEM_ERROR) on some invalid data
+- Avoid accesses before window for invalid distances with inflate window
+ less than 32K.
+- force windowBits > 8 to avoid a bug in the encoder for a window size
+ of 256 bytes. (A complete fix will be available in 1.1.5).
+
+Changes in 1.1.3 (9 July 1998)
+- fix "an inflate input buffer bug that shows up on rare but persistent
+ occasions" (Mark)
+- fix gzread and gztell for concatenated .gz files (Didier Le Botlan)
+- fix gzseek(..., SEEK_SET) in write mode
+- fix crc check after a gzeek (Frank Faubert)
+- fix miniunzip when the last entry in a zip file is itself a zip file
+ (J Lillge)
+- add contrib/asm586 and contrib/asm686 (Brian Raiter)
+ See http://www.muppetlabs.com/~breadbox/software/assembly.html
+- add support for Delphi 3 in contrib/delphi (Bob Dellaca)
+- add support for C++Builder 3 and Delphi 3 in contrib/delphi2 (Davide Moretti)
+- do not exit prematurely in untgz if 0 at start of block (Magnus Holmgren)
+- use macro EXTERN instead of extern to support DLL for BeOS (Sander Stoks)
+- added a FAQ file
+
+- Support gzdopen on Mac with Metrowerks (Jason Linhart)
+- Do not redefine Byte on Mac (Brad Pettit & Jason Linhart)
+- define SEEK_END too if SEEK_SET is not defined (Albert Chin-A-Young)
+- avoid some warnings with Borland C (Tom Tanner)
+- fix a problem in contrib/minizip/zip.c for 16-bit MSDOS (Gilles Vollant)
+- emulate utime() for WIN32 in contrib/untgz (Gilles Vollant)
+- allow several arguments to configure (Tim Mooney, Frodo Looijaard)
+- use libdir and includedir in Makefile.in (Tim Mooney)
+- support shared libraries on OSF1 V4 (Tim Mooney)
+- remove so_locations in "make clean" (Tim Mooney)
+- fix maketree.c compilation error (Glenn, Mark)
+- Python interface to zlib now in Python 1.5 (Jeremy Hylton)
+- new Makefile.riscos (Rich Walker)
+- initialize static descriptors in trees.c for embedded targets (Nick Smith)
+- use "foo-gz" in example.c for RISCOS and VMS (Nick Smith)
+- add the OS/2 files in Makefile.in too (Andrew Zabolotny)
+- fix fdopen and halloc macros for Microsoft C 6.0 (Tom Lane)
+- fix maketree.c to allow clean compilation of inffixed.h (Mark)
+- fix parameter check in deflateCopy (Gunther Nikl)
+- cleanup trees.c, use compressed_len only in debug mode (Christian Spieler)
+- Many portability patches by Christian Spieler:
+ . zutil.c, zutil.h: added "const" for zmem*
+ . Make_vms.com: fixed some typos
+ . Make_vms.com: msdos/Makefile.*: removed zutil.h from some dependency lists
+ . msdos/Makefile.msc: remove "default rtl link library" info from obj files
+ . msdos/Makefile.*: use model-dependent name for the built zlib library
+ . msdos/Makefile.emx, nt/Makefile.emx, nt/Makefile.gcc:
+ new makefiles, for emx (DOS/OS2), emx&rsxnt and mingw32 (Windows 9x / NT)
+- use define instead of typedef for Bytef also for MSC small/medium (Tom Lane)
+- replace __far with _far for better portability (Christian Spieler, Tom Lane)
+- fix test for errno.h in configure (Tim Newsham)
+
+Changes in 1.1.2 (19 March 98)
+- added contrib/minzip, mini zip and unzip based on zlib (Gilles Vollant)
+ See http://www.winimage.com/zLibDll/unzip.html
+- preinitialize the inflate tables for fixed codes, to make the code
+ completely thread safe (Mark)
+- some simplifications and slight speed-up to the inflate code (Mark)
+- fix gzeof on non-compressed files (Allan Schrum)
+- add -std1 option in configure for OSF1 to fix gzprintf (Martin Mokrejs)
+- use default value of 4K for Z_BUFSIZE for 16-bit MSDOS (Tim Wegner + Glenn)
+- added os2/Makefile.def and os2/zlib.def (Andrew Zabolotny)
+- add shared lib support for UNIX_SV4.2MP (MATSUURA Takanori)
+- do not wrap extern "C" around system includes (Tom Lane)
+- mention zlib binding for TCL in README (Andreas Kupries)
+- added amiga/Makefile.pup for Amiga powerUP SAS/C PPC (Andreas Kleinert)
+- allow "make install prefix=..." even after configure (Glenn Randers-Pehrson)
+- allow "configure --prefix $HOME" (Tim Mooney)
+- remove warnings in example.c and gzio.c (Glenn Randers-Pehrson)
+- move Makefile.sas to amiga/Makefile.sas
+
+Changes in 1.1.1 (27 Feb 98)
+- fix macros _tr_tally_* in deflate.h for debug mode (Glenn Randers-Pehrson)
+- remove block truncation heuristic which had very marginal effect for zlib
+ (smaller lit_bufsize than in gzip 1.2.4) and degraded a little the
+ compression ratio on some files. This also allows inlining _tr_tally for
+ matches in deflate_slow.
+- added msdos/Makefile.w32 for WIN32 Microsoft Visual C++ (Bob Frazier)
+
+Changes in 1.1.0 (24 Feb 98)
+- do not return STREAM_END prematurely in inflate (John Bowler)
+- revert to the zlib 1.0.8 inflate to avoid the gcc 2.8.0 bug (Jeremy Buhler)
+- compile with -DFASTEST to get compression code optimized for speed only
+- in minigzip, try mmap'ing the input file first (Miguel Albrecht)
+- increase size of I/O buffers in minigzip.c and gzio.c (not a big gain
+ on Sun but significant on HP)
+
+- add a pointer to experimental unzip library in README (Gilles Vollant)
+- initialize variable gcc in configure (Chris Herborth)
+
+Changes in 1.0.9 (17 Feb 1998)
+- added gzputs and gzgets functions
+- do not clear eof flag in gzseek (Mark Diekhans)
+- fix gzseek for files in transparent mode (Mark Diekhans)
+- do not assume that vsprintf returns the number of bytes written (Jens Krinke)
+- replace EXPORT with ZEXPORT to avoid conflict with other programs
+- added compress2 in zconf.h, zlib.def, zlib.dnt
+- new asm code from Gilles Vollant in contrib/asm386
+- simplify the inflate code (Mark):
+ . Replace ZALLOC's in huft_build() with single ZALLOC in inflate_blocks_new()
+ . ZALLOC the length list in inflate_trees_fixed() instead of using stack
+ . ZALLOC the value area for huft_build() instead of using stack
+ . Simplify Z_FINISH check in inflate()
+
+- Avoid gcc 2.8.0 comparison bug a little differently than zlib 1.0.8
+- in inftrees.c, avoid cc -O bug on HP (Farshid Elahi)
+- in zconf.h move the ZLIB_DLL stuff earlier to avoid problems with
+ the declaration of FAR (Gilles VOllant)
+- install libz.so* with mode 755 (executable) instead of 644 (Marc Lehmann)
+- read_buf buf parameter of type Bytef* instead of charf*
+- zmemcpy parameters are of type Bytef*, not charf* (Joseph Strout)
+- do not redeclare unlink in minigzip.c for WIN32 (John Bowler)
+- fix check for presence of directories in "make install" (Ian Willis)
+
+Changes in 1.0.8 (27 Jan 1998)
+- fixed offsets in contrib/asm386/gvmat32.asm (Gilles Vollant)
+- fix gzgetc and gzputc for big endian systems (Markus Oberhumer)
+- added compress2() to allow setting the compression level
+- include sys/types.h to get off_t on some systems (Marc Lehmann & QingLong)
+- use constant arrays for the static trees in trees.c instead of computing
+ them at run time (thanks to Ken Raeburn for this suggestion). To create
+ trees.h, compile with GEN_TREES_H and run "make test".
+- check return code of example in "make test" and display result
+- pass minigzip command line options to file_compress
+- simplifying code of inflateSync to avoid gcc 2.8 bug
+
+- support CC="gcc -Wall" in configure -s (QingLong)
+- avoid a flush caused by ftell in gzopen for write mode (Ken Raeburn)
+- fix test for shared library support to avoid compiler warnings
+- zlib.lib -> zlib.dll in msdos/zlib.rc (Gilles Vollant)
+- check for TARGET_OS_MAC in addition to MACOS (Brad Pettit)
+- do not use fdopen for Metrowerks on Mac (Brad Pettit))
+- add checks for gzputc and gzputc in example.c
+- avoid warnings in gzio.c and deflate.c (Andreas Kleinert)
+- use const for the CRC table (Ken Raeburn)
+- fixed "make uninstall" for shared libraries
+- use Tracev instead of Trace in infblock.c
+- in example.c use correct compressed length for test_sync
+- suppress +vnocompatwarnings in configure for HPUX (not always supported)
+
+Changes in 1.0.7 (20 Jan 1998)
+- fix gzseek which was broken in write mode
+- return error for gzseek to negative absolute position
+- fix configure for Linux (Chun-Chung Chen)
+- increase stack space for MSC (Tim Wegner)
+- get_crc_table and inflateSyncPoint are EXPORTed (Gilles Vollant)
+- define EXPORTVA for gzprintf (Gilles Vollant)
+- added man page zlib.3 (Rick Rodgers)
+- for contrib/untgz, fix makedir() and improve Makefile
+
+- check gzseek in write mode in example.c
+- allocate extra buffer for seeks only if gzseek is actually called
+- avoid signed/unsigned comparisons (Tim Wegner, Gilles Vollant)
+- add inflateSyncPoint in zconf.h
+- fix list of exported functions in nt/zlib.dnt and mdsos/zlib.def
+
+Changes in 1.0.6 (19 Jan 1998)
+- add functions gzprintf, gzputc, gzgetc, gztell, gzeof, gzseek, gzrewind and
+ gzsetparams (thanks to Roland Giersig and Kevin Ruland for some of this code)
+- Fix a deflate bug occurring only with compression level 0 (thanks to
+ Andy Buckler for finding this one).
+- In minigzip, pass transparently also the first byte for .Z files.
+- return Z_BUF_ERROR instead of Z_OK if output buffer full in uncompress()
+- check Z_FINISH in inflate (thanks to Marc Schluper)
+- Implement deflateCopy (thanks to Adam Costello)
+- make static libraries by default in configure, add --shared option.
+- move MSDOS or Windows specific files to directory msdos
+- suppress the notion of partial flush to simplify the interface
+ (but the symbol Z_PARTIAL_FLUSH is kept for compatibility with 1.0.4)
+- suppress history buffer provided by application to simplify the interface
+ (this feature was not implemented anyway in 1.0.4)
+- next_in and avail_in must be initialized before calling inflateInit or
+ inflateInit2
+- add EXPORT in all exported functions (for Windows DLL)
+- added Makefile.nt (thanks to Stephen Williams)
+- added the unsupported "contrib" directory:
+ contrib/asm386/ by Gilles Vollant <info at winimage.com>
+ 386 asm code replacing longest_match().
+ contrib/iostream/ by Kevin Ruland <kevin at rodin.wustl.edu>
+ A C++ I/O streams interface to the zlib gz* functions
+ contrib/iostream2/ by Tyge Løvset <Tyge.Lovset at cmr.no>
+ Another C++ I/O streams interface
+ contrib/untgz/ by "Pedro A. Aranda Guti\irrez" <paag at tid.es>
+ A very simple tar.gz file extractor using zlib
+ contrib/visual-basic.txt by Carlos Rios <c_rios at sonda.cl>
+ How to use compress(), uncompress() and the gz* functions from VB.
+- pass params -f (filtered data), -h (huffman only), -1 to -9 (compression
+ level) in minigzip (thanks to Tom Lane)
+
+- use const for rommable constants in deflate
+- added test for gzseek and gztell in example.c
+- add undocumented function inflateSyncPoint() (hack for Paul Mackerras)
+- add undocumented function zError to convert error code to string
+ (for Tim Smithers)
+- Allow compilation of gzio with -DNO_DEFLATE to avoid the compression code.
+- Use default memcpy for Symantec MSDOS compiler.
+- Add EXPORT keyword for check_func (needed for Windows DLL)
+- add current directory to LD_LIBRARY_PATH for "make test"
+- create also a link for libz.so.1
+- added support for FUJITSU UXP/DS (thanks to Toshiaki Nomura)
+- use $(SHAREDLIB) instead of libz.so in Makefile.in (for HPUX)
+- added -soname for Linux in configure (Chun-Chung Chen,
+- assign numbers to the exported functions in zlib.def (for Windows DLL)
+- add advice in zlib.h for best usage of deflateSetDictionary
+- work around compiler bug on Atari (cast Z_NULL in call of s->checkfn)
+- allow compilation with ANSI keywords only enabled for TurboC in large model
+- avoid "versionString"[0] (Borland bug)
+- add NEED_DUMMY_RETURN for Borland
+- use variable z_verbose for tracing in debug mode (L. Peter Deutsch).
+- allow compilation with CC
+- defined STDC for OS/2 (David Charlap)
+- limit external names to 8 chars for MVS (Thomas Lund)
+- in minigzip.c, use static buffers only for 16-bit systems
+- fix suffix check for "minigzip -d foo.gz"
+- do not return an error for the 2nd of two consecutive gzflush() (Felix Lee)
+- use _fdopen instead of fdopen for MSC >= 6.0 (Thomas Fanslau)
+- added makelcc.bat for lcc-win32 (Tom St Denis)
+- in Makefile.dj2, use copy and del instead of install and rm (Frank Donahoe)
+- Avoid expanded $Id$. Use "rcs -kb" or "cvs admin -kb" to avoid Id expansion.
+- check for unistd.h in configure (for off_t)
+- remove useless check parameter in inflate_blocks_free
+- avoid useless assignment of s->check to itself in inflate_blocks_new
+- do not flush twice in gzclose (thanks to Ken Raeburn)
+- rename FOPEN as F_OPEN to avoid clash with /usr/include/sys/file.h
+- use NO_ERRNO_H instead of enumeration of operating systems with errno.h
+- work around buggy fclose on pipes for HP/UX
+- support zlib DLL with BORLAND C++ 5.0 (thanks to Glenn Randers-Pehrson)
+- fix configure if CC is already equal to gcc
+
+Changes in 1.0.5 (3 Jan 98)
+- Fix inflate to terminate gracefully when fed corrupted or invalid data
+- Use const for rommable constants in inflate
+- Eliminate memory leaks on error conditions in inflate
+- Removed some vestigial code in inflate
+- Update web address in README
+
+Changes in 1.0.4 (24 Jul 96)
+- In very rare conditions, deflate(s, Z_FINISH) could fail to produce an EOF
+ bit, so the decompressor could decompress all the correct data but went
+ on to attempt decompressing extra garbage data. This affected minigzip too.
+- zlibVersion and gzerror return const char* (needed for DLL)
+- port to RISCOS (no fdopen, no multiple dots, no unlink, no fileno)
+- use z_error only for DEBUG (avoid problem with DLLs)
+
+Changes in 1.0.3 (2 Jul 96)
+- use z_streamp instead of z_stream *, which is now a far pointer in MSDOS
+ small and medium models; this makes the library incompatible with previous
+ versions for these models. (No effect in large model or on other systems.)
+- return OK instead of BUF_ERROR if previous deflate call returned with
+ avail_out as zero but there is nothing to do
+- added memcmp for non STDC compilers
+- define NO_DUMMY_DECL for more Mac compilers (.h files merged incorrectly)
+- define __32BIT__ if __386__ or i386 is defined (pb. with Watcom and SCO)
+- better check for 16-bit mode MSC (avoids problem with Symantec)
+
+Changes in 1.0.2 (23 May 96)
+- added Windows DLL support
+- added a function zlibVersion (for the DLL support)
+- fixed declarations using Bytef in infutil.c (pb with MSDOS medium model)
+- Bytef is define's instead of typedef'd only for Borland C
+- avoid reading uninitialized memory in example.c
+- mention in README that the zlib format is now RFC1950
+- updated Makefile.dj2
+- added algorithm.doc
+
+Changes in 1.0.1 (20 May 96) [1.0 skipped to avoid confusion]
+- fix array overlay in deflate.c which sometimes caused bad compressed data
+- fix inflate bug with empty stored block
+- fix MSDOS medium model which was broken in 0.99
+- fix deflateParams() which could generated bad compressed data.
+- Bytef is define'd instead of typedef'ed (work around Borland bug)
+- added an INDEX file
+- new makefiles for DJGPP (Makefile.dj2), 32-bit Borland (Makefile.b32),
+ Watcom (Makefile.wat), Amiga SAS/C (Makefile.sas)
+- speed up adler32 for modern machines without auto-increment
+- added -ansi for IRIX in configure
+- static_init_done in trees.c is an int
+- define unlink as delete for VMS
+- fix configure for QNX
+- add configure branch for SCO and HPUX
+- avoid many warnings (unused variables, dead assignments, etc...)
+- no fdopen for BeOS
+- fix the Watcom fix for 32 bit mode (define FAR as empty)
+- removed redefinition of Byte for MKWERKS
+- work around an MWKERKS bug (incorrect merge of all .h files)
+
+Changes in 0.99 (27 Jan 96)
+- allow preset dictionary shared between compressor and decompressor
+- allow compression level 0 (no compression)
+- add deflateParams in zlib.h: allow dynamic change of compression level
+ and compression strategy.
+- test large buffers and deflateParams in example.c
+- add optional "configure" to build zlib as a shared library
+- suppress Makefile.qnx, use configure instead
+- fixed deflate for 64-bit systems (detected on Cray)
+- fixed inflate_blocks for 64-bit systems (detected on Alpha)
+- declare Z_DEFLATED in zlib.h (possible parameter for deflateInit2)
+- always return Z_BUF_ERROR when deflate() has nothing to do
+- deflateInit and inflateInit are now macros to allow version checking
+- prefix all global functions and types with z_ with -DZ_PREFIX
+- make falloc completely reentrant (inftrees.c)
+- fixed very unlikely race condition in ct_static_init
+- free in reverse order of allocation to help memory manager
+- use zlib-1.0/* instead of zlib/* inside the tar.gz
+- make zlib warning-free with "gcc -O3 -Wall -Wwrite-strings -Wpointer-arith
+ -Wconversion -Wstrict-prototypes -Wmissing-prototypes"
+- allow gzread on concatenated .gz files
+- deflateEnd now returns Z_DATA_ERROR if it was premature
+- deflate is finally (?) fully deterministic (no matches beyond end of input)
+- Document Z_SYNC_FLUSH
+- add uninstall in Makefile
+- Check for __cpluplus in zlib.h
+- Better test in ct_align for partial flush
+- avoid harmless warnings for Borland C++
+- initialize hash_head in deflate.c
+- avoid warning on fdopen (gzio.c) for HP cc -Aa
+- include stdlib.h for STDC compilers
+- include errno.h for Cray
+- ignore error if ranlib doesn't exist
+- call ranlib twice for NeXTSTEP
+- use exec_prefix instead of prefix for libz.a
+- renamed ct_* as _tr_* to avoid conflict with applications
+- clear z->msg in inflateInit2 before any error return
+- initialize opaque in example.c, gzio.c, deflate.c and inflate.c
+- fixed typo in zconf.h (_GNUC__ => __GNUC__)
+- check for WIN32 in zconf.h and zutil.c (avoid farmalloc in 32-bit mode)
+- fix typo in Make_vms.com (f$trnlnm -> f$getsyi)
+- in fcalloc, normalize pointer if size > 65520 bytes
+- don't use special fcalloc for 32 bit Borland C++
+- use STDC instead of __GO32__ to avoid redeclaring exit, calloc, etc...
+- use Z_BINARY instead of BINARY
+- document that gzclose after gzdopen will close the file
+- allow "a" as mode in gzopen.
+- fix error checking in gzread
+- allow skipping .gz extra-field on pipes
+- added reference to Perl interface in README
+- put the crc table in FAR data (I dislike more and more the medium model :)
+- added get_crc_table
+- added a dimension to all arrays (Borland C can't count).
+- workaround Borland C bug in declaration of inflate_codes_new & inflate_fast
+- guard against multiple inclusion of *.h (for precompiled header on Mac)
+- Watcom C pretends to be Microsoft C small model even in 32 bit mode.
+- don't use unsized arrays to avoid silly warnings by Visual C++:
+ warning C4746: 'inflate_mask' : unsized array treated as '__far'
+ (what's wrong with far data in far model?).
+- define enum out of inflate_blocks_state to allow compilation with C++
+
+Changes in 0.95 (16 Aug 95)
+- fix MSDOS small and medium model (now easier to adapt to any compiler)
+- inlined send_bits
+- fix the final (:-) bug for deflate with flush (output was correct but
+ not completely flushed in rare occasions).
+- default window size is same for compression and decompression
+ (it's now sufficient to set MAX_WBITS in zconf.h).
+- voidp -> voidpf and voidnp -> voidp (for consistency with other
+ typedefs and because voidnp was not near in large model).
+
+Changes in 0.94 (13 Aug 95)
+- support MSDOS medium model
+- fix deflate with flush (could sometimes generate bad output)
+- fix deflateReset (zlib header was incorrectly suppressed)
+- added support for VMS
+- allow a compression level in gzopen()
+- gzflush now calls fflush
+- For deflate with flush, flush even if no more input is provided.
+- rename libgz.a as libz.a
+- avoid complex expression in infcodes.c triggering Turbo C bug
+- work around a problem with gcc on Alpha (in INSERT_STRING)
+- don't use inline functions (problem with some gcc versions)
+- allow renaming of Byte, uInt, etc... with #define.
+- avoid warning about (unused) pointer before start of array in deflate.c
+- avoid various warnings in gzio.c, example.c, infblock.c, adler32.c, zutil.c
+- avoid reserved word 'new' in trees.c
+
+Changes in 0.93 (25 June 95)
+- temporarily disable inline functions
+- make deflate deterministic
+- give enough lookahead for PARTIAL_FLUSH
+- Set binary mode for stdin/stdout in minigzip.c for OS/2
+- don't even use signed char in inflate (not portable enough)
+- fix inflate memory leak for segmented architectures
+
+Changes in 0.92 (3 May 95)
+- don't assume that char is signed (problem on SGI)
+- Clear bit buffer when starting a stored block
+- no memcpy on Pyramid
+- suppressed inftest.c
+- optimized fill_window, put longest_match inline for gcc
+- optimized inflate on stored blocks.
+- untabify all sources to simplify patches
+
+Changes in 0.91 (2 May 95)
+- Default MEM_LEVEL is 8 (not 9 for Unix) as documented in zlib.h
+- Document the memory requirements in zconf.h
+- added "make install"
+- fix sync search logic in inflateSync
+- deflate(Z_FULL_FLUSH) now works even if output buffer too short
+- after inflateSync, don't scare people with just "lo world"
+- added support for DJGPP
+
+Changes in 0.9 (1 May 95)
+- don't assume that zalloc clears the allocated memory (the TurboC bug
+ was Mark's bug after all :)
+- let again gzread copy uncompressed data unchanged (was working in 0.71)
+- deflate(Z_FULL_FLUSH), inflateReset and inflateSync are now fully implemented
+- added a test of inflateSync in example.c
+- moved MAX_WBITS to zconf.h because users might want to change that.
+- document explicitly that zalloc(64K) on MSDOS must return a normalized
+ pointer (zero offset)
+- added Makefiles for Microsoft C, Turbo C, Borland C++
+- faster crc32()
+
+Changes in 0.8 (29 April 95)
+- added fast inflate (inffast.c)
+- deflate(Z_FINISH) now returns Z_STREAM_END when done. Warning: this
+ is incompatible with previous versions of zlib which returned Z_OK.
+- work around a TurboC compiler bug (bad code for b << 0, see infutil.h)
+ (actually that was not a compiler bug, see 0.81 above)
+- gzread no longer reads one extra byte in certain cases
+- In gzio destroy(), don't reference a freed structure
+- avoid many warnings for MSDOS
+- avoid the ERROR symbol which is used by MS Windows
+
+Changes in 0.71 (14 April 95)
+- Fixed more MSDOS compilation problems :( There is still a bug with
+ TurboC large model.
+
+Changes in 0.7 (14 April 95)
+- Added full inflate support.
+- Simplified the crc32() interface. The pre- and post-conditioning
+ (one's complement) is now done inside crc32(). WARNING: this is
+ incompatible with previous versions; see zlib.h for the new usage.
+
+Changes in 0.61 (12 April 95)
+- workaround for a bug in TurboC. example and minigzip now work on MSDOS.
+
+Changes in 0.6 (11 April 95)
+- added minigzip.c
+- added gzdopen to reopen a file descriptor as gzFile
+- added transparent reading of non-gziped files in gzread.
+- fixed bug in gzread (don't read crc as data)
+- fixed bug in destroy (gzio.c) (don't return Z_STREAM_END for gzclose).
+- don't allocate big arrays in the stack (for MSDOS)
+- fix some MSDOS compilation problems
+
+Changes in 0.5:
+- do real compression in deflate.c. Z_PARTIAL_FLUSH is supported but
+ not yet Z_FULL_FLUSH.
+- support decompression but only in a single step (forced Z_FINISH)
+- added opaque object for zalloc and zfree.
+- added deflateReset and inflateReset
+- added a variable zlib_version for consistency checking.
+- renamed the 'filter' parameter of deflateInit2 as 'strategy'.
+ Added Z_FILTERED and Z_HUFFMAN_ONLY constants.
+
+Changes in 0.4:
+- avoid "zip" everywhere, use zlib instead of ziplib.
+- suppress Z_BLOCK_FLUSH, interpret Z_PARTIAL_FLUSH as block flush
+ if compression method == 8.
+- added adler32 and crc32
+- renamed deflateOptions as deflateInit2, call one or the other but not both
+- added the method parameter for deflateInit2.
+- added inflateInit2
+- simplied considerably deflateInit and inflateInit by not supporting
+ user-provided history buffer. This is supported only in deflateInit2
+ and inflateInit2.
+
+Changes in 0.3:
+- prefix all macro names with Z_
+- use Z_FINISH instead of deflateEnd to finish compression.
+- added Z_HUFFMAN_ONLY
+- added gzerror()
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/README b/jdk/src/share/native/java/util/zip/zlib-1.2.5/README
new file mode 100644
index 0000000..d4219bf
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/README
@@ -0,0 +1,115 @@
+ZLIB DATA COMPRESSION LIBRARY
+
+zlib 1.2.5 is a general purpose data compression library. All the code is
+thread safe. The data format used by the zlib library is described by RFCs
+(Request for Comments) 1950 to 1952 in the files
+http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format)
+and rfc1952.txt (gzip format).
+
+All functions of the compression library are documented in the file zlib.h
+(volunteer to write man pages welcome, contact zlib at gzip.org). A usage example
+of the library is given in the file example.c which also tests that the library
+is working correctly. Another example is given in the file minigzip.c. The
+compression library itself is composed of all source files except example.c and
+minigzip.c.
+
+To compile all files and run the test program, follow the instructions given at
+the top of Makefile.in. In short "./configure; make test", and if that goes
+well, "make install" should work for most flavors of Unix. For Windows, use one
+of the special makefiles in win32/ or contrib/vstudio/ . For VMS, use
+make_vms.com.
+
+Questions about zlib should be sent to <zlib at gzip.org>, or to Gilles Vollant
+<info at winimage.com> for the Windows DLL version. The zlib home page is
+http://zlib.net/ . Before reporting a problem, please check this site to
+verify that you have the latest version of zlib; otherwise get the latest
+version and check whether the problem still exists or not.
+
+PLEASE read the zlib FAQ http://zlib.net/zlib_faq.html before asking for help.
+
+Mark Nelson <markn at ieee.org> wrote an article about zlib for the Jan. 1997
+issue of Dr. Dobb's Journal; a copy of the article is available at
+http://marknelson.us/1997/01/01/zlib-engine/ .
+
+The changes made in version 1.2.5 are documented in the file ChangeLog.
+
+Unsupported third party contributions are provided in directory contrib/ .
+
+zlib is available in Java using the java.util.zip package, documented at
+http://java.sun.com/developer/technicalArticles/Programming/compression/ .
+
+A Perl interface to zlib written by Paul Marquess <pmqs at cpan.org> is available
+at CPAN (Comprehensive Perl Archive Network) sites, including
+http://search.cpan.org/~pmqs/IO-Compress-Zlib/ .
+
+A Python interface to zlib written by A.M. Kuchling <amk at amk.ca> is
+available in Python 1.5 and later versions, see
+http://www.python.org/doc/lib/module-zlib.html .
+
+zlib is built into tcl: http://wiki.tcl.tk/4610 .
+
+An experimental package to read and write files in .zip format, written on top
+of zlib by Gilles Vollant <info at winimage.com>, is available in the
+contrib/minizip directory of zlib.
+
+
+Notes for some targets:
+
+- For Windows DLL versions, please see win32/DLL_FAQ.txt
+
+- For 64-bit Irix, deflate.c must be compiled without any optimization. With
+ -O, one libpng test fails. The test works in 32 bit mode (with the -n32
+ compiler flag). The compiler bug has been reported to SGI.
+
+- zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1 it works
+ when compiled with cc.
+
+- On Digital Unix 4.0D (formely OSF/1) on AlphaServer, the cc option -std1 is
+ necessary to get gzprintf working correctly. This is done by configure.
+
+- zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with
+ other compilers. Use "make test" to check your compiler.
+
+- gzdopen is not supported on RISCOS or BEOS.
+
+- For PalmOs, see http://palmzlib.sourceforge.net/
+
+
+Acknowledgments:
+
+ The deflate format used by zlib was defined by Phil Katz. The deflate and
+ zlib specifications were written by L. Peter Deutsch. Thanks to all the
+ people who reported problems and suggested various improvements in zlib; they
+ are too numerous to cite here.
+
+Copyright notice:
+
+ (C) 1995-2010 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Jean-loup Gailly Mark Adler
+ jloup at gzip.org madler at alumni.caltech.edu
+
+If you use the zlib library in a product, we would appreciate *not* receiving
+lengthy legal documents to sign. The sources are provided for free but without
+warranty of any kind. The library has been entirely written by Jean-loup
+Gailly and Mark Adler; it does not include third-party code.
+
+If you redistribute modified sources, we would appreciate that you include in
+the file ChangeLog history information documenting your changes. Please read
+the FAQ for more information on the distribution of modified source versions.
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/compress.c b/jdk/src/share/native/java/util/zip/zlib-1.2.5/compress.c
new file mode 100644
index 0000000..c05285a
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/compress.c
@@ -0,0 +1,104 @@
+/*
+ * 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.
+ */
+
+/* compress.c -- compress a memory buffer
+ * Copyright (C) 1995-2005 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* @(#) $Id$ */
+
+#define ZLIB_INTERNAL
+#include "zlib.h"
+
+/* ===========================================================================
+ Compresses the source buffer into the destination buffer. The level
+ parameter has the same meaning as in deflateInit. sourceLen is the byte
+ length of the source buffer. Upon entry, destLen is the total size of the
+ destination buffer, which must be at least 0.1% larger than sourceLen plus
+ 12 bytes. Upon exit, destLen is the actual size of the compressed buffer.
+
+ compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
+ memory, Z_BUF_ERROR if there was not enough room in the output buffer,
+ Z_STREAM_ERROR if the level parameter is invalid.
+*/
+int ZEXPORT compress2 (dest, destLen, source, sourceLen, level)
+ Bytef *dest;
+ uLongf *destLen;
+ const Bytef *source;
+ uLong sourceLen;
+ int level;
+{
+ z_stream stream;
+ int err;
+
+ stream.next_in = (Bytef*)source;
+ stream.avail_in = (uInt)sourceLen;
+#ifdef MAXSEG_64K
+ /* Check for source > 64K on 16-bit machine: */
+ if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
+#endif
+ stream.next_out = dest;
+ stream.avail_out = (uInt)*destLen;
+ if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR;
+
+ stream.zalloc = (alloc_func)0;
+ stream.zfree = (free_func)0;
+ stream.opaque = (voidpf)0;
+
+ err = deflateInit(&stream, level);
+ if (err != Z_OK) return err;
+
+ err = deflate(&stream, Z_FINISH);
+ if (err != Z_STREAM_END) {
+ deflateEnd(&stream);
+ return err == Z_OK ? Z_BUF_ERROR : err;
+ }
+ *destLen = (uLong)stream.total_out;
+
+ err = deflateEnd(&stream);
+ return err;
+}
+
+/* ===========================================================================
+ */
+int ZEXPORT compress (dest, destLen, source, sourceLen)
+ Bytef *dest;
+ uLongf *destLen;
+ const Bytef *source;
+ uLong sourceLen;
+{
+ return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION);
+}
+
+/* ===========================================================================
+ If the default memLevel or windowBits for deflateInit() is changed, then
+ this function needs to be updated.
+ */
+uLong ZEXPORT compressBound (sourceLen)
+ uLong sourceLen;
+{
+ return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) +
+ (sourceLen >> 25) + 13;
+}
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.3/crc32.h b/jdk/src/share/native/java/util/zip/zlib-1.2.5/crc32.h
similarity index 100%
copy from jdk/src/share/native/java/util/zip/zlib-1.2.3/crc32.h
copy to jdk/src/share/native/java/util/zip/zlib-1.2.5/crc32.h
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/deflate.c b/jdk/src/share/native/java/util/zip/zlib-1.2.5/deflate.c
new file mode 100644
index 0000000..1dce5b0
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/deflate.c
@@ -0,0 +1,1858 @@
+/*
+ * 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.
+ */
+
+/* deflate.c -- compress data using the deflation algorithm
+ * Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/*
+ * ALGORITHM
+ *
+ * The "deflation" process depends on being able to identify portions
+ * of the input text which are identical to earlier input (within a
+ * sliding window trailing behind the input currently being processed).
+ *
+ * The most straightforward technique turns out to be the fastest for
+ * most input files: try all possible matches and select the longest.
+ * The key feature of this algorithm is that insertions into the string
+ * dictionary are very simple and thus fast, and deletions are avoided
+ * completely. Insertions are performed at each input character, whereas
+ * string matches are performed only when the previous match ends. So it
+ * is preferable to spend more time in matches to allow very fast string
+ * insertions and avoid deletions. The matching algorithm for small
+ * strings is inspired from that of Rabin & Karp. A brute force approach
+ * is used to find longer strings when a small match has been found.
+ * A similar algorithm is used in comic (by Jan-Mark Wams) and freeze
+ * (by Leonid Broukhis).
+ * A previous version of this file used a more sophisticated algorithm
+ * (by Fiala and Greene) which is guaranteed to run in linear amortized
+ * time, but has a larger average cost, uses more memory and is patented.
+ * However the F&G algorithm may be faster for some highly redundant
+ * files if the parameter max_chain_length (described below) is too large.
+ *
+ * ACKNOWLEDGEMENTS
+ *
+ * The idea of lazy evaluation of matches is due to Jan-Mark Wams, and
+ * I found it in 'freeze' written by Leonid Broukhis.
+ * Thanks to many people for bug reports and testing.
+ *
+ * REFERENCES
+ *
+ * Deutsch, L.P.,"DEFLATE Compressed Data Format Specification".
+ * Available in http://www.ietf.org/rfc/rfc1951.txt
+ *
+ * A description of the Rabin and Karp algorithm is given in the book
+ * "Algorithms" by R. Sedgewick, Addison-Wesley, p252.
+ *
+ * Fiala,E.R., and Greene,D.H.
+ * Data Compression with Finite Windows, Comm.ACM, 32,4 (1989) 490-595
+ *
+ */
+
+/* @(#) $Id$ */
+
+#include "deflate.h"
+
+const char deflate_copyright[] =
+ " deflate 1.2.5 Copyright 1995-2010 Jean-loup Gailly and Mark Adler ";
+/*
+ If you use the zlib library in a product, an acknowledgment is welcome
+ in the documentation of your product. If for some reason you cannot
+ include such an acknowledgment, I would appreciate that you keep this
+ copyright string in the executable of your product.
+ */
+
+/* ===========================================================================
+ * Function prototypes.
+ */
+typedef enum {
+ need_more, /* block not completed, need more input or more output */
+ block_done, /* block flush performed */
+ finish_started, /* finish started, need only more output at next deflate */
+ finish_done /* finish done, accept no more input or output */
+} block_state;
+
+typedef block_state (*compress_func) OF((deflate_state *s, int flush));
+/* Compression function. Returns the block state after the call. */
+
+local void fill_window OF((deflate_state *s));
+local block_state deflate_stored OF((deflate_state *s, int flush));
+local block_state deflate_fast OF((deflate_state *s, int flush));
+#ifndef FASTEST
+local block_state deflate_slow OF((deflate_state *s, int flush));
+#endif
+local block_state deflate_rle OF((deflate_state *s, int flush));
+local block_state deflate_huff OF((deflate_state *s, int flush));
+local void lm_init OF((deflate_state *s));
+local void putShortMSB OF((deflate_state *s, uInt b));
+local void flush_pending OF((z_streamp strm));
+local int read_buf OF((z_streamp strm, Bytef *buf, unsigned size));
+#ifdef ASMV
+ void match_init OF((void)); /* asm code initialization */
+ uInt longest_match OF((deflate_state *s, IPos cur_match));
+#else
+local uInt longest_match OF((deflate_state *s, IPos cur_match));
+#endif
+
+#ifdef DEBUG
+local void check_match OF((deflate_state *s, IPos start, IPos match,
+ int length));
+#endif
+
+/* ===========================================================================
+ * Local data
+ */
+
+#define NIL 0
+/* Tail of hash chains */
+
+#ifndef TOO_FAR
+# define TOO_FAR 4096
+#endif
+/* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
+
+/* Values for max_lazy_match, good_match and max_chain_length, depending on
+ * the desired pack level (0..9). The values given below have been tuned to
+ * exclude worst case performance for pathological files. Better values may be
+ * found for specific files.
+ */
+typedef struct config_s {
+ ush good_length; /* reduce lazy search above this match length */
+ ush max_lazy; /* do not perform lazy search above this match length */
+ ush nice_length; /* quit search above this match length */
+ ush max_chain;
+ compress_func func;
+} config;
+
+#ifdef FASTEST
+local const config configuration_table[2] = {
+/* good lazy nice chain */
+/* 0 */ {0, 0, 0, 0, deflate_stored}, /* store only */
+/* 1 */ {4, 4, 8, 4, deflate_fast}}; /* max speed, no lazy matches */
+#else
+local const config configuration_table[10] = {
+/* good lazy nice chain */
+/* 0 */ {0, 0, 0, 0, deflate_stored}, /* store only */
+/* 1 */ {4, 4, 8, 4, deflate_fast}, /* max speed, no lazy matches */
+/* 2 */ {4, 5, 16, 8, deflate_fast},
+/* 3 */ {4, 6, 32, 32, deflate_fast},
+
+/* 4 */ {4, 4, 16, 16, deflate_slow}, /* lazy matches */
+/* 5 */ {8, 16, 32, 32, deflate_slow},
+/* 6 */ {8, 16, 128, 128, deflate_slow},
+/* 7 */ {8, 32, 128, 256, deflate_slow},
+/* 8 */ {32, 128, 258, 1024, deflate_slow},
+/* 9 */ {32, 258, 258, 4096, deflate_slow}}; /* max compression */
+#endif
+
+/* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4
+ * For deflate_fast() (levels <= 3) good is ignored and lazy has a different
+ * meaning.
+ */
+
+#define EQUAL 0
+/* result of memcmp for equal strings */
+
+#ifndef NO_DUMMY_DECL
+struct static_tree_desc_s {int dummy;}; /* for buggy compilers */
+#endif
+
+/* ===========================================================================
+ * Update a hash value with the given input byte
+ * IN assertion: all calls to to UPDATE_HASH are made with consecutive
+ * input characters, so that a running hash key can be computed from the
+ * previous key instead of complete recalculation each time.
+ */
+#define UPDATE_HASH(s,h,c) (h = (((h)<<s->hash_shift) ^ (c)) & s->hash_mask)
+
+
+/* ===========================================================================
+ * Insert string str in the dictionary and set match_head to the previous head
+ * of the hash chain (the most recent string with same hash key). Return
+ * the previous length of the hash chain.
+ * If this file is compiled with -DFASTEST, the compression level is forced
+ * to 1, and no hash chains are maintained.
+ * IN assertion: all calls to to INSERT_STRING are made with consecutive
+ * input characters and the first MIN_MATCH bytes of str are valid
+ * (except for the last MIN_MATCH-1 bytes of the input file).
+ */
+#ifdef FASTEST
+#define INSERT_STRING(s, str, match_head) \
+ (UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \
+ match_head = s->head[s->ins_h], \
+ s->head[s->ins_h] = (Pos)(str))
+#else
+#define INSERT_STRING(s, str, match_head) \
+ (UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \
+ match_head = s->prev[(str) & s->w_mask] = s->head[s->ins_h], \
+ s->head[s->ins_h] = (Pos)(str))
+#endif
+
+/* ===========================================================================
+ * Initialize the hash table (avoiding 64K overflow for 16 bit systems).
+ * prev[] will be initialized on the fly.
+ */
+#define CLEAR_HASH(s) \
+ s->head[s->hash_size-1] = NIL; \
+ zmemzero((Bytef *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head));
+
+/* ========================================================================= */
+int ZEXPORT deflateInit_(strm, level, version, stream_size)
+ z_streamp strm;
+ int level;
+ const char *version;
+ int stream_size;
+{
+ return deflateInit2_(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL,
+ Z_DEFAULT_STRATEGY, version, stream_size);
+ /* To do: ignore strm->next_in if we use it as window */
+}
+
+/* ========================================================================= */
+int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
+ version, stream_size)
+ z_streamp strm;
+ int level;
+ int method;
+ int windowBits;
+ int memLevel;
+ int strategy;
+ const char *version;
+ int stream_size;
+{
+ deflate_state *s;
+ int wrap = 1;
+ static const char my_version[] = ZLIB_VERSION;
+
+ ushf *overlay;
+ /* We overlay pending_buf and d_buf+l_buf. This works since the average
+ * output size for (length,distance) codes is <= 24 bits.
+ */
+
+ if (version == Z_NULL || version[0] != my_version[0] ||
+ stream_size != sizeof(z_stream)) {
+ return Z_VERSION_ERROR;
+ }
+ if (strm == Z_NULL) return Z_STREAM_ERROR;
+
+ strm->msg = Z_NULL;
+ if (strm->zalloc == (alloc_func)0) {
+ strm->zalloc = zcalloc;
+ strm->opaque = (voidpf)0;
+ }
+ if (strm->zfree == (free_func)0) strm->zfree = zcfree;
+
+#ifdef FASTEST
+ if (level != 0) level = 1;
+#else
+ if (level == Z_DEFAULT_COMPRESSION) level = 6;
+#endif
+
+ if (windowBits < 0) { /* suppress zlib wrapper */
+ wrap = 0;
+ windowBits = -windowBits;
+ }
+#ifdef GZIP
+ else if (windowBits > 15) {
+ wrap = 2; /* write gzip wrapper instead */
+ windowBits -= 16;
+ }
+#endif
+ if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method != Z_DEFLATED ||
+ windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||
+ strategy < 0 || strategy > Z_FIXED) {
+ return Z_STREAM_ERROR;
+ }
+ if (windowBits == 8) windowBits = 9; /* until 256-byte window bug fixed */
+ s = (deflate_state *) ZALLOC(strm, 1, sizeof(deflate_state));
+ if (s == Z_NULL) return Z_MEM_ERROR;
+ strm->state = (struct internal_state FAR *)s;
+ s->strm = strm;
+
+ s->wrap = wrap;
+ s->gzhead = Z_NULL;
+ s->w_bits = windowBits;
+ s->w_size = 1 << s->w_bits;
+ s->w_mask = s->w_size - 1;
+
+ s->hash_bits = memLevel + 7;
+ s->hash_size = 1 << s->hash_bits;
+ s->hash_mask = s->hash_size - 1;
+ s->hash_shift = ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH);
+
+ s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte));
+ s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos));
+ s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos));
+
+ s->high_water = 0; /* nothing written to s->window yet */
+
+ s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */
+
+ overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);
+ s->pending_buf = (uchf *) overlay;
+ s->pending_buf_size = (ulg)s->lit_bufsize * (sizeof(ush)+2L);
+
+ if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL ||
+ s->pending_buf == Z_NULL) {
+ s->status = FINISH_STATE;
+ strm->msg = (char*)ERR_MSG(Z_MEM_ERROR);
+ deflateEnd (strm);
+ return Z_MEM_ERROR;
+ }
+ s->d_buf = overlay + s->lit_bufsize/sizeof(ush);
+ s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;
+
+ s->level = level;
+ s->strategy = strategy;
+ s->method = (Byte)method;
+
+ return deflateReset(strm);
+}
+
+/* ========================================================================= */
+int ZEXPORT deflateSetDictionary (strm, dictionary, dictLength)
+ z_streamp strm;
+ const Bytef *dictionary;
+ uInt dictLength;
+{
+ deflate_state *s;
+ uInt length = dictLength;
+ uInt n;
+ IPos hash_head = 0;
+
+ if (strm == Z_NULL || strm->state == Z_NULL || dictionary == Z_NULL ||
+ strm->state->wrap == 2 ||
+ (strm->state->wrap == 1 && strm->state->status != INIT_STATE))
+ return Z_STREAM_ERROR;
+
+ s = strm->state;
+ if (s->wrap)
+ strm->adler = adler32(strm->adler, dictionary, dictLength);
+
+ if (length < MIN_MATCH) return Z_OK;
+ if (length > s->w_size) {
+ length = s->w_size;
+ dictionary += dictLength - length; /* use the tail of the dictionary */
+ }
+ zmemcpy(s->window, dictionary, length);
+ s->strstart = length;
+ s->block_start = (long)length;
+
+ /* Insert all strings in the hash table (except for the last two bytes).
+ * s->lookahead stays null, so s->ins_h will be recomputed at the next
+ * call of fill_window.
+ */
+ s->ins_h = s->window[0];
+ UPDATE_HASH(s, s->ins_h, s->window[1]);
+ for (n = 0; n <= length - MIN_MATCH; n++) {
+ INSERT_STRING(s, n, hash_head);
+ }
+ if (hash_head) hash_head = 0; /* to make compiler happy */
+ return Z_OK;
+}
+
+/* ========================================================================= */
+int ZEXPORT deflateReset (strm)
+ z_streamp strm;
+{
+ deflate_state *s;
+
+ if (strm == Z_NULL || strm->state == Z_NULL ||
+ strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0) {
+ return Z_STREAM_ERROR;
+ }
+
+ strm->total_in = strm->total_out = 0;
+ strm->msg = Z_NULL; /* use zfree if we ever allocate msg dynamically */
+ strm->data_type = Z_UNKNOWN;
+
+ s = (deflate_state *)strm->state;
+ s->pending = 0;
+ s->pending_out = s->pending_buf;
+
+ if (s->wrap < 0) {
+ s->wrap = -s->wrap; /* was made negative by deflate(..., Z_FINISH); */
+ }
+ s->status = s->wrap ? INIT_STATE : BUSY_STATE;
+ strm->adler =
+#ifdef GZIP
+ s->wrap == 2 ? crc32(0L, Z_NULL, 0) :
+#endif
+ adler32(0L, Z_NULL, 0);
+ s->last_flush = Z_NO_FLUSH;
+
+ _tr_init(s);
+ lm_init(s);
+
+ return Z_OK;
+}
+
+/* ========================================================================= */
+int ZEXPORT deflateSetHeader (strm, head)
+ z_streamp strm;
+ gz_headerp head;
+{
+ if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ if (strm->state->wrap != 2) return Z_STREAM_ERROR;
+ strm->state->gzhead = head;
+ return Z_OK;
+}
+
+/* ========================================================================= */
+int ZEXPORT deflatePrime (strm, bits, value)
+ z_streamp strm;
+ int bits;
+ int value;
+{
+ if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ strm->state->bi_valid = bits;
+ strm->state->bi_buf = (ush)(value & ((1 << bits) - 1));
+ return Z_OK;
+}
+
+/* ========================================================================= */
+int ZEXPORT deflateParams(strm, level, strategy)
+ z_streamp strm;
+ int level;
+ int strategy;
+{
+ deflate_state *s;
+ compress_func func;
+ int err = Z_OK;
+
+ if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ s = strm->state;
+
+#ifdef FASTEST
+ if (level != 0) level = 1;
+#else
+ if (level == Z_DEFAULT_COMPRESSION) level = 6;
+#endif
+ if (level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED) {
+ return Z_STREAM_ERROR;
+ }
+ func = configuration_table[s->level].func;
+
+ if ((strategy != s->strategy || func != configuration_table[level].func) &&
+ strm->total_in != 0) {
+ /* Flush the last buffer: */
+ err = deflate(strm, Z_BLOCK);
+ }
+ if (s->level != level) {
+ s->level = level;
+ s->max_lazy_match = configuration_table[level].max_lazy;
+ s->good_match = configuration_table[level].good_length;
+ s->nice_match = configuration_table[level].nice_length;
+ s->max_chain_length = configuration_table[level].max_chain;
+ }
+ s->strategy = strategy;
+ return err;
+}
+
+/* ========================================================================= */
+int ZEXPORT deflateTune(strm, good_length, max_lazy, nice_length, max_chain)
+ z_streamp strm;
+ int good_length;
+ int max_lazy;
+ int nice_length;
+ int max_chain;
+{
+ deflate_state *s;
+
+ if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ s = strm->state;
+ s->good_match = good_length;
+ s->max_lazy_match = max_lazy;
+ s->nice_match = nice_length;
+ s->max_chain_length = max_chain;
+ return Z_OK;
+}
+
+/* =========================================================================
+ * For the default windowBits of 15 and memLevel of 8, this function returns
+ * a close to exact, as well as small, upper bound on the compressed size.
+ * They are coded as constants here for a reason--if the #define's are
+ * changed, then this function needs to be changed as well. The return
+ * value for 15 and 8 only works for those exact settings.
+ *
+ * For any setting other than those defaults for windowBits and memLevel,
+ * the value returned is a conservative worst case for the maximum expansion
+ * resulting from using fixed blocks instead of stored blocks, which deflate
+ * can emit on compressed data for some combinations of the parameters.
+ *
+ * This function could be more sophisticated to provide closer upper bounds for
+ * every combination of windowBits and memLevel. But even the conservative
+ * upper bound of about 14% expansion does not seem onerous for output buffer
+ * allocation.
+ */
+uLong ZEXPORT deflateBound(strm, sourceLen)
+ z_streamp strm;
+ uLong sourceLen;
+{
+ deflate_state *s;
+ uLong complen, wraplen;
+ Bytef *str;
+
+ /* conservative upper bound for compressed data */
+ complen = sourceLen +
+ ((sourceLen + 7) >> 3) + ((sourceLen + 63) >> 6) + 5;
+
+ /* if can't get parameters, return conservative bound plus zlib wrapper */
+ if (strm == Z_NULL || strm->state == Z_NULL)
+ return complen + 6;
+
+ /* compute wrapper length */
+ s = strm->state;
+ switch (s->wrap) {
+ case 0: /* raw deflate */
+ wraplen = 0;
+ break;
+ case 1: /* zlib wrapper */
+ wraplen = 6 + (s->strstart ? 4 : 0);
+ break;
+ case 2: /* gzip wrapper */
+ wraplen = 18;
+ if (s->gzhead != Z_NULL) { /* user-supplied gzip header */
+ if (s->gzhead->extra != Z_NULL)
+ wraplen += 2 + s->gzhead->extra_len;
+ str = s->gzhead->name;
+ if (str != Z_NULL)
+ do {
+ wraplen++;
+ } while (*str++);
+ str = s->gzhead->comment;
+ if (str != Z_NULL)
+ do {
+ wraplen++;
+ } while (*str++);
+ if (s->gzhead->hcrc)
+ wraplen += 2;
+ }
+ break;
+ default: /* for compiler happiness */
+ wraplen = 6;
+ }
+
+ /* if not default parameters, return conservative bound */
+ if (s->w_bits != 15 || s->hash_bits != 8 + 7)
+ return complen + wraplen;
+
+ /* default settings: return tight bound for that case */
+ return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) +
+ (sourceLen >> 25) + 13 - 6 + wraplen;
+}
+
+/* =========================================================================
+ * Put a short in the pending buffer. The 16-bit value is put in MSB order.
+ * IN assertion: the stream state is correct and there is enough room in
+ * pending_buf.
+ */
+local void putShortMSB (s, b)
+ deflate_state *s;
+ uInt b;
+{
+ put_byte(s, (Byte)(b >> 8));
+ put_byte(s, (Byte)(b & 0xff));
+}
+
+/* =========================================================================
+ * Flush as much pending output as possible. All deflate() output goes
+ * through this function so some applications may wish to modify it
+ * to avoid allocating a large strm->next_out buffer and copying into it.
+ * (See also read_buf()).
+ */
+local void flush_pending(strm)
+ z_streamp strm;
+{
+ unsigned len = strm->state->pending;
+
+ if (len > strm->avail_out) len = strm->avail_out;
+ if (len == 0) return;
+
+ zmemcpy(strm->next_out, strm->state->pending_out, len);
+ strm->next_out += len;
+ strm->state->pending_out += len;
+ strm->total_out += len;
+ strm->avail_out -= len;
+ strm->state->pending -= len;
+ if (strm->state->pending == 0) {
+ strm->state->pending_out = strm->state->pending_buf;
+ }
+}
+
+/* ========================================================================= */
+int ZEXPORT deflate (strm, flush)
+ z_streamp strm;
+ int flush;
+{
+ int old_flush; /* value of flush param for previous deflate call */
+ deflate_state *s;
+
+ if (strm == Z_NULL || strm->state == Z_NULL ||
+ flush > Z_BLOCK || flush < 0) {
+ return Z_STREAM_ERROR;
+ }
+ s = strm->state;
+
+ if (strm->next_out == Z_NULL ||
+ (strm->next_in == Z_NULL && strm->avail_in != 0) ||
+ (s->status == FINISH_STATE && flush != Z_FINISH)) {
+ ERR_RETURN(strm, Z_STREAM_ERROR);
+ }
+ if (strm->avail_out == 0) ERR_RETURN(strm, Z_BUF_ERROR);
+
+ s->strm = strm; /* just in case */
+ old_flush = s->last_flush;
+ s->last_flush = flush;
+
+ /* Write the header */
+ if (s->status == INIT_STATE) {
+#ifdef GZIP
+ if (s->wrap == 2) {
+ strm->adler = crc32(0L, Z_NULL, 0);
+ put_byte(s, 31);
+ put_byte(s, 139);
+ put_byte(s, 8);
+ if (s->gzhead == Z_NULL) {
+ put_byte(s, 0);
+ put_byte(s, 0);
+ put_byte(s, 0);
+ put_byte(s, 0);
+ put_byte(s, 0);
+ put_byte(s, s->level == 9 ? 2 :
+ (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ?
+ 4 : 0));
+ put_byte(s, OS_CODE);
+ s->status = BUSY_STATE;
+ }
+ else {
+ put_byte(s, (s->gzhead->text ? 1 : 0) +
+ (s->gzhead->hcrc ? 2 : 0) +
+ (s->gzhead->extra == Z_NULL ? 0 : 4) +
+ (s->gzhead->name == Z_NULL ? 0 : 8) +
+ (s->gzhead->comment == Z_NULL ? 0 : 16)
+ );
+ put_byte(s, (Byte)(s->gzhead->time & 0xff));
+ put_byte(s, (Byte)((s->gzhead->time >> 8) & 0xff));
+ put_byte(s, (Byte)((s->gzhead->time >> 16) & 0xff));
+ put_byte(s, (Byte)((s->gzhead->time >> 24) & 0xff));
+ put_byte(s, s->level == 9 ? 2 :
+ (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ?
+ 4 : 0));
+ put_byte(s, s->gzhead->os & 0xff);
+ if (s->gzhead->extra != Z_NULL) {
+ put_byte(s, s->gzhead->extra_len & 0xff);
+ put_byte(s, (s->gzhead->extra_len >> 8) & 0xff);
+ }
+ if (s->gzhead->hcrc)
+ strm->adler = crc32(strm->adler, s->pending_buf,
+ s->pending);
+ s->gzindex = 0;
+ s->status = EXTRA_STATE;
+ }
+ }
+ else
+#endif
+ {
+ uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8;
+ uInt level_flags;
+
+ if (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2)
+ level_flags = 0;
+ else if (s->level < 6)
+ level_flags = 1;
+ else if (s->level == 6)
+ level_flags = 2;
+ else
+ level_flags = 3;
+ header |= (level_flags << 6);
+ if (s->strstart != 0) header |= PRESET_DICT;
+ header += 31 - (header % 31);
+
+ s->status = BUSY_STATE;
+ putShortMSB(s, header);
+
+ /* Save the adler32 of the preset dictionary: */
+ if (s->strstart != 0) {
+ putShortMSB(s, (uInt)(strm->adler >> 16));
+ putShortMSB(s, (uInt)(strm->adler & 0xffff));
+ }
+ strm->adler = adler32(0L, Z_NULL, 0);
+ }
+ }
+#ifdef GZIP
+ if (s->status == EXTRA_STATE) {
+ if (s->gzhead->extra != Z_NULL) {
+ uInt beg = s->pending; /* start of bytes to update crc */
+
+ while (s->gzindex < (s->gzhead->extra_len & 0xffff)) {
+ if (s->pending == s->pending_buf_size) {
+ if (s->gzhead->hcrc && s->pending > beg)
+ strm->adler = crc32(strm->adler, s->pending_buf + beg,
+ s->pending - beg);
+ flush_pending(strm);
+ beg = s->pending;
+ if (s->pending == s->pending_buf_size)
+ break;
+ }
+ put_byte(s, s->gzhead->extra[s->gzindex]);
+ s->gzindex++;
+ }
+ if (s->gzhead->hcrc && s->pending > beg)
+ strm->adler = crc32(strm->adler, s->pending_buf + beg,
+ s->pending - beg);
+ if (s->gzindex == s->gzhead->extra_len) {
+ s->gzindex = 0;
+ s->status = NAME_STATE;
+ }
+ }
+ else
+ s->status = NAME_STATE;
+ }
+ if (s->status == NAME_STATE) {
+ if (s->gzhead->name != Z_NULL) {
+ uInt beg = s->pending; /* start of bytes to update crc */
+ int val;
+
+ do {
+ if (s->pending == s->pending_buf_size) {
+ if (s->gzhead->hcrc && s->pending > beg)
+ strm->adler = crc32(strm->adler, s->pending_buf + beg,
+ s->pending - beg);
+ flush_pending(strm);
+ beg = s->pending;
+ if (s->pending == s->pending_buf_size) {
+ val = 1;
+ break;
+ }
+ }
+ val = s->gzhead->name[s->gzindex++];
+ put_byte(s, val);
+ } while (val != 0);
+ if (s->gzhead->hcrc && s->pending > beg)
+ strm->adler = crc32(strm->adler, s->pending_buf + beg,
+ s->pending - beg);
+ if (val == 0) {
+ s->gzindex = 0;
+ s->status = COMMENT_STATE;
+ }
+ }
+ else
+ s->status = COMMENT_STATE;
+ }
+ if (s->status == COMMENT_STATE) {
+ if (s->gzhead->comment != Z_NULL) {
+ uInt beg = s->pending; /* start of bytes to update crc */
+ int val;
+
+ do {
+ if (s->pending == s->pending_buf_size) {
+ if (s->gzhead->hcrc && s->pending > beg)
+ strm->adler = crc32(strm->adler, s->pending_buf + beg,
+ s->pending - beg);
+ flush_pending(strm);
+ beg = s->pending;
+ if (s->pending == s->pending_buf_size) {
+ val = 1;
+ break;
+ }
+ }
+ val = s->gzhead->comment[s->gzindex++];
+ put_byte(s, val);
+ } while (val != 0);
+ if (s->gzhead->hcrc && s->pending > beg)
+ strm->adler = crc32(strm->adler, s->pending_buf + beg,
+ s->pending - beg);
+ if (val == 0)
+ s->status = HCRC_STATE;
+ }
+ else
+ s->status = HCRC_STATE;
+ }
+ if (s->status == HCRC_STATE) {
+ if (s->gzhead->hcrc) {
+ if (s->pending + 2 > s->pending_buf_size)
+ flush_pending(strm);
+ if (s->pending + 2 <= s->pending_buf_size) {
+ put_byte(s, (Byte)(strm->adler & 0xff));
+ put_byte(s, (Byte)((strm->adler >> 8) & 0xff));
+ strm->adler = crc32(0L, Z_NULL, 0);
+ s->status = BUSY_STATE;
+ }
+ }
+ else
+ s->status = BUSY_STATE;
+ }
+#endif
+
+ /* Flush as much pending output as possible */
+ if (s->pending != 0) {
+ flush_pending(strm);
+ if (strm->avail_out == 0) {
+ /* Since avail_out is 0, deflate will be called again with
+ * more output space, but possibly with both pending and
+ * avail_in equal to zero. There won't be anything to do,
+ * but this is not an error situation so make sure we
+ * return OK instead of BUF_ERROR at next call of deflate:
+ */
+ s->last_flush = -1;
+ return Z_OK;
+ }
+
+ /* Make sure there is something to do and avoid duplicate consecutive
+ * flushes. For repeated and useless calls with Z_FINISH, we keep
+ * returning Z_STREAM_END instead of Z_BUF_ERROR.
+ */
+ } else if (strm->avail_in == 0 && flush <= old_flush &&
+ flush != Z_FINISH) {
+ ERR_RETURN(strm, Z_BUF_ERROR);
+ }
+
+ /* User must not provide more input after the first FINISH: */
+ if (s->status == FINISH_STATE && strm->avail_in != 0) {
+ ERR_RETURN(strm, Z_BUF_ERROR);
+ }
+
+ /* Start a new block or continue the current one.
+ */
+ if (strm->avail_in != 0 || s->lookahead != 0 ||
+ (flush != Z_NO_FLUSH && s->status != FINISH_STATE)) {
+ block_state bstate;
+
+ bstate = s->strategy == Z_HUFFMAN_ONLY ? deflate_huff(s, flush) :
+ (s->strategy == Z_RLE ? deflate_rle(s, flush) :
+ (*(configuration_table[s->level].func))(s, flush));
+
+ if (bstate == finish_started || bstate == finish_done) {
+ s->status = FINISH_STATE;
+ }
+ if (bstate == need_more || bstate == finish_started) {
+ if (strm->avail_out == 0) {
+ s->last_flush = -1; /* avoid BUF_ERROR next call, see above */
+ }
+ return Z_OK;
+ /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
+ * of deflate should use the same flush parameter to make sure
+ * that the flush is complete. So we don't have to output an
+ * empty block here, this will be done at next call. This also
+ * ensures that for a very small output buffer, we emit at most
+ * one empty block.
+ */
+ }
+ if (bstate == block_done) {
+ if (flush == Z_PARTIAL_FLUSH) {
+ _tr_align(s);
+ } else if (flush != Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */
+ _tr_stored_block(s, (char*)0, 0L, 0);
+ /* For a full flush, this empty block will be recognized
+ * as a special marker by inflate_sync().
+ */
+ if (flush == Z_FULL_FLUSH) {
+ CLEAR_HASH(s); /* forget history */
+ if (s->lookahead == 0) {
+ s->strstart = 0;
+ s->block_start = 0L;
+ }
+ }
+ }
+ flush_pending(strm);
+ if (strm->avail_out == 0) {
+ s->last_flush = -1; /* avoid BUF_ERROR at next call, see above */
+ return Z_OK;
+ }
+ }
+ }
+ Assert(strm->avail_out > 0, "bug2");
+
+ if (flush != Z_FINISH) return Z_OK;
+ if (s->wrap <= 0) return Z_STREAM_END;
+
+ /* Write the trailer */
+#ifdef GZIP
+ if (s->wrap == 2) {
+ put_byte(s, (Byte)(strm->adler & 0xff));
+ put_byte(s, (Byte)((strm->adler >> 8) & 0xff));
+ put_byte(s, (Byte)((strm->adler >> 16) & 0xff));
+ put_byte(s, (Byte)((strm->adler >> 24) & 0xff));
+ put_byte(s, (Byte)(strm->total_in & 0xff));
+ put_byte(s, (Byte)((strm->total_in >> 8) & 0xff));
+ put_byte(s, (Byte)((strm->total_in >> 16) & 0xff));
+ put_byte(s, (Byte)((strm->total_in >> 24) & 0xff));
+ }
+ else
+#endif
+ {
+ putShortMSB(s, (uInt)(strm->adler >> 16));
+ putShortMSB(s, (uInt)(strm->adler & 0xffff));
+ }
+ flush_pending(strm);
+ /* If avail_out is zero, the application will call deflate again
+ * to flush the rest.
+ */
+ if (s->wrap > 0) s->wrap = -s->wrap; /* write the trailer only once! */
+ return s->pending != 0 ? Z_OK : Z_STREAM_END;
+}
+
+/* ========================================================================= */
+int ZEXPORT deflateEnd (strm)
+ z_streamp strm;
+{
+ int status;
+
+ if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+
+ status = strm->state->status;
+ if (status != INIT_STATE &&
+ status != EXTRA_STATE &&
+ status != NAME_STATE &&
+ status != COMMENT_STATE &&
+ status != HCRC_STATE &&
+ status != BUSY_STATE &&
+ status != FINISH_STATE) {
+ return Z_STREAM_ERROR;
+ }
+
+ /* Deallocate in reverse order of allocations: */
+ TRY_FREE(strm, strm->state->pending_buf);
+ TRY_FREE(strm, strm->state->head);
+ TRY_FREE(strm, strm->state->prev);
+ TRY_FREE(strm, strm->state->window);
+
+ ZFREE(strm, strm->state);
+ strm->state = Z_NULL;
+
+ return status == BUSY_STATE ? Z_DATA_ERROR : Z_OK;
+}
+
+/* =========================================================================
+ * Copy the source state to the destination state.
+ * To simplify the source, this is not supported for 16-bit MSDOS (which
+ * doesn't have enough memory anyway to duplicate compression states).
+ */
+int ZEXPORT deflateCopy (dest, source)
+ z_streamp dest;
+ z_streamp source;
+{
+#ifdef MAXSEG_64K
+ return Z_STREAM_ERROR;
+#else
+ deflate_state *ds;
+ deflate_state *ss;
+ ushf *overlay;
+
+
+ if (source == Z_NULL || dest == Z_NULL || source->state == Z_NULL) {
+ return Z_STREAM_ERROR;
+ }
+
+ ss = source->state;
+
+ zmemcpy(dest, source, sizeof(z_stream));
+
+ ds = (deflate_state *) ZALLOC(dest, 1, sizeof(deflate_state));
+ if (ds == Z_NULL) return Z_MEM_ERROR;
+ dest->state = (struct internal_state FAR *) ds;
+ zmemcpy(ds, ss, sizeof(deflate_state));
+ ds->strm = dest;
+
+ ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte));
+ ds->prev = (Posf *) ZALLOC(dest, ds->w_size, sizeof(Pos));
+ ds->head = (Posf *) ZALLOC(dest, ds->hash_size, sizeof(Pos));
+ overlay = (ushf *) ZALLOC(dest, ds->lit_bufsize, sizeof(ush)+2);
+ ds->pending_buf = (uchf *) overlay;
+
+ if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL ||
+ ds->pending_buf == Z_NULL) {
+ deflateEnd (dest);
+ return Z_MEM_ERROR;
+ }
+ /* following zmemcpy do not work for 16-bit MSDOS */
+ zmemcpy(ds->window, ss->window, ds->w_size * 2 * sizeof(Byte));
+ zmemcpy(ds->prev, ss->prev, ds->w_size * sizeof(Pos));
+ zmemcpy(ds->head, ss->head, ds->hash_size * sizeof(Pos));
+ zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size);
+
+ ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf);
+ ds->d_buf = overlay + ds->lit_bufsize/sizeof(ush);
+ ds->l_buf = ds->pending_buf + (1+sizeof(ush))*ds->lit_bufsize;
+
+ ds->l_desc.dyn_tree = ds->dyn_ltree;
+ ds->d_desc.dyn_tree = ds->dyn_dtree;
+ ds->bl_desc.dyn_tree = ds->bl_tree;
+
+ return Z_OK;
+#endif /* MAXSEG_64K */
+}
+
+/* ===========================================================================
+ * Read a new buffer from the current input stream, update the adler32
+ * and total number of bytes read. All deflate() input goes through
+ * this function so some applications may wish to modify it to avoid
+ * allocating a large strm->next_in buffer and copying from it.
+ * (See also flush_pending()).
+ */
+local int read_buf(strm, buf, size)
+ z_streamp strm;
+ Bytef *buf;
+ unsigned size;
+{
+ unsigned len = strm->avail_in;
+
+ if (len > size) len = size;
+ if (len == 0) return 0;
+
+ strm->avail_in -= len;
+
+ if (strm->state->wrap == 1) {
+ strm->adler = adler32(strm->adler, strm->next_in, len);
+ }
+#ifdef GZIP
+ else if (strm->state->wrap == 2) {
+ strm->adler = crc32(strm->adler, strm->next_in, len);
+ }
+#endif
+ zmemcpy(buf, strm->next_in, len);
+ strm->next_in += len;
+ strm->total_in += len;
+
+ return (int)len;
+}
+
+/* ===========================================================================
+ * Initialize the "longest match" routines for a new zlib stream
+ */
+local void lm_init (s)
+ deflate_state *s;
+{
+ s->window_size = (ulg)2L*s->w_size;
+
+ CLEAR_HASH(s);
+
+ /* Set the default configuration parameters:
+ */
+ s->max_lazy_match = configuration_table[s->level].max_lazy;
+ s->good_match = configuration_table[s->level].good_length;
+ s->nice_match = configuration_table[s->level].nice_length;
+ s->max_chain_length = configuration_table[s->level].max_chain;
+
+ s->strstart = 0;
+ s->block_start = 0L;
+ s->lookahead = 0;
+ s->match_length = s->prev_length = MIN_MATCH-1;
+ s->match_available = 0;
+ s->ins_h = 0;
+#ifndef FASTEST
+#ifdef ASMV
+ match_init(); /* initialize the asm code */
+#endif
+#endif
+}
+
+#ifndef FASTEST
+/* ===========================================================================
+ * Set match_start to the longest match starting at the given string and
+ * return its length. Matches shorter or equal to prev_length are discarded,
+ * in which case the result is equal to prev_length and match_start is
+ * garbage.
+ * IN assertions: cur_match is the head of the hash chain for the current
+ * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
+ * OUT assertion: the match length is not greater than s->lookahead.
+ */
+#ifndef ASMV
+/* For 80x86 and 680x0, an optimized version will be provided in match.asm or
+ * match.S. The code will be functionally equivalent.
+ */
+local uInt longest_match(s, cur_match)
+ deflate_state *s;
+ IPos cur_match; /* current match */
+{
+ unsigned chain_length = s->max_chain_length;/* max hash chain length */
+ register Bytef *scan = s->window + s->strstart; /* current string */
+ register Bytef *match; /* matched string */
+ register int len; /* length of current match */
+ int best_len = s->prev_length; /* best match length so far */
+ int nice_match = s->nice_match; /* stop if match long enough */
+ IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
+ s->strstart - (IPos)MAX_DIST(s) : NIL;
+ /* Stop when cur_match becomes <= limit. To simplify the code,
+ * we prevent matches with the string of window index 0.
+ */
+ Posf *prev = s->prev;
+ uInt wmask = s->w_mask;
+
+#ifdef UNALIGNED_OK
+ /* Compare two bytes at a time. Note: this is not always beneficial.
+ * Try with and without -DUNALIGNED_OK to check.
+ */
+ register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
+ register ush scan_start = *(ushf*)scan;
+ register ush scan_end = *(ushf*)(scan+best_len-1);
+#else
+ register Bytef *strend = s->window + s->strstart + MAX_MATCH;
+ register Byte scan_end1 = scan[best_len-1];
+ register Byte scan_end = scan[best_len];
+#endif
+
+ /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
+ * It is easy to get rid of this optimization if necessary.
+ */
+ Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
+
+ /* Do not waste too much time if we already have a good match: */
+ if (s->prev_length >= s->good_match) {
+ chain_length >>= 2;
+ }
+ /* Do not look for matches beyond the end of the input. This is necessary
+ * to make deflate deterministic.
+ */
+ if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
+
+ Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
+
+ do {
+ Assert(cur_match < s->strstart, "no future");
+ match = s->window + cur_match;
+
+ /* Skip to next match if the match length cannot increase
+ * or if the match length is less than 2. Note that the checks below
+ * for insufficient lookahead only occur occasionally for performance
+ * reasons. Therefore uninitialized memory will be accessed, and
+ * conditional jumps will be made that depend on those values.
+ * However the length of the match is limited to the lookahead, so
+ * the output of deflate is not affected by the uninitialized values.
+ */
+#if (defined(UNALIGNED_OK) && MAX_MATCH == 258)
+ /* This code assumes sizeof(unsigned short) == 2. Do not use
+ * UNALIGNED_OK if your compiler uses a different size.
+ */
+ if (*(ushf*)(match+best_len-1) != scan_end ||
+ *(ushf*)match != scan_start) continue;
+
+ /* It is not necessary to compare scan[2] and match[2] since they are
+ * always equal when the other bytes match, given that the hash keys
+ * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at
+ * strstart+3, +5, ... up to strstart+257. We check for insufficient
+ * lookahead only every 4th comparison; the 128th check will be made
+ * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is
+ * necessary to put more guard bytes at the end of the window, or
+ * to check more often for insufficient lookahead.
+ */
+ Assert(scan[2] == match[2], "scan[2]?");
+ scan++, match++;
+ do {
+ } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
+ *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
+ *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
+ *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
+ scan < strend);
+ /* The funny "do {}" generates better code on most compilers */
+
+ /* Here, scan <= window+strstart+257 */
+ Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
+ if (*scan == *match) scan++;
+
+ len = (MAX_MATCH - 1) - (int)(strend-scan);
+ scan = strend - (MAX_MATCH-1);
+
+#else /* UNALIGNED_OK */
+
+ if (match[best_len] != scan_end ||
+ match[best_len-1] != scan_end1 ||
+ *match != *scan ||
+ *++match != scan[1]) continue;
+
+ /* The check at best_len-1 can be removed because it will be made
+ * again later. (This heuristic is not always a win.)
+ * It is not necessary to compare scan[2] and match[2] since they
+ * are always equal when the other bytes match, given that
+ * the hash keys are equal and that HASH_BITS >= 8.
+ */
+ scan += 2, match++;
+ Assert(*scan == *match, "match[2]?");
+
+ /* We check for insufficient lookahead only every 8th comparison;
+ * the 256th check will be made at strstart+258.
+ */
+ do {
+ } while (*++scan == *++match && *++scan == *++match &&
+ *++scan == *++match && *++scan == *++match &&
+ *++scan == *++match && *++scan == *++match &&
+ *++scan == *++match && *++scan == *++match &&
+ scan < strend);
+
+ Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
+
+ len = MAX_MATCH - (int)(strend - scan);
+ scan = strend - MAX_MATCH;
+
+#endif /* UNALIGNED_OK */
+
+ if (len > best_len) {
+ s->match_start = cur_match;
+ best_len = len;
+ if (len >= nice_match) break;
+#ifdef UNALIGNED_OK
+ scan_end = *(ushf*)(scan+best_len-1);
+#else
+ scan_end1 = scan[best_len-1];
+ scan_end = scan[best_len];
+#endif
+ }
+ } while ((cur_match = prev[cur_match & wmask]) > limit
+ && --chain_length != 0);
+
+ if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
+ return s->lookahead;
+}
+#endif /* ASMV */
+
+#else /* FASTEST */
+
+/* ---------------------------------------------------------------------------
+ * Optimized version for FASTEST only
+ */
+local uInt longest_match(s, cur_match)
+ deflate_state *s;
+ IPos cur_match; /* current match */
+{
+ register Bytef *scan = s->window + s->strstart; /* current string */
+ register Bytef *match; /* matched string */
+ register int len; /* length of current match */
+ register Bytef *strend = s->window + s->strstart + MAX_MATCH;
+
+ /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
+ * It is easy to get rid of this optimization if necessary.
+ */
+ Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
+
+ Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
+
+ Assert(cur_match < s->strstart, "no future");
+
+ match = s->window + cur_match;
+
+ /* Return failure if the match length is less than 2:
+ */
+ if (match[0] != scan[0] || match[1] != scan[1]) return MIN_MATCH-1;
+
+ /* The check at best_len-1 can be removed because it will be made
+ * again later. (This heuristic is not always a win.)
+ * It is not necessary to compare scan[2] and match[2] since they
+ * are always equal when the other bytes match, given that
+ * the hash keys are equal and that HASH_BITS >= 8.
+ */
+ scan += 2, match += 2;
+ Assert(*scan == *match, "match[2]?");
+
+ /* We check for insufficient lookahead only every 8th comparison;
+ * the 256th check will be made at strstart+258.
+ */
+ do {
+ } while (*++scan == *++match && *++scan == *++match &&
+ *++scan == *++match && *++scan == *++match &&
+ *++scan == *++match && *++scan == *++match &&
+ *++scan == *++match && *++scan == *++match &&
+ scan < strend);
+
+ Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
+
+ len = MAX_MATCH - (int)(strend - scan);
+
+ if (len < MIN_MATCH) return MIN_MATCH - 1;
+
+ s->match_start = cur_match;
+ return (uInt)len <= s->lookahead ? (uInt)len : s->lookahead;
+}
+
+#endif /* FASTEST */
+
+#ifdef DEBUG
+/* ===========================================================================
+ * Check that the match at match_start is indeed a match.
+ */
+local void check_match(s, start, match, length)
+ deflate_state *s;
+ IPos start, match;
+ int length;
+{
+ /* check that the match is indeed a match */
+ if (zmemcmp(s->window + match,
+ s->window + start, length) != EQUAL) {
+ fprintf(stderr, " start %u, match %u, length %d\n",
+ start, match, length);
+ do {
+ fprintf(stderr, "%c%c", s->window[match++], s->window[start++]);
+ } while (--length != 0);
+ z_error("invalid match");
+ }
+ if (z_verbose > 1) {
+ fprintf(stderr,"\\[%d,%d]", start-match, length);
+ do { putc(s->window[start++], stderr); } while (--length != 0);
+ }
+}
+#else
+# define check_match(s, start, match, length)
+#endif /* DEBUG */
+
+/* ===========================================================================
+ * Fill the window when the lookahead becomes insufficient.
+ * Updates strstart and lookahead.
+ *
+ * IN assertion: lookahead < MIN_LOOKAHEAD
+ * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
+ * At least one byte has been read, or avail_in == 0; reads are
+ * performed for at least two bytes (required for the zip translate_eol
+ * option -- not supported here).
+ */
+local void fill_window(s)
+ deflate_state *s;
+{
+ register unsigned n, m;
+ register Posf *p;
+ unsigned more; /* Amount of free space at the end of the window. */
+ uInt wsize = s->w_size;
+
+ do {
+ more = (unsigned)(s->window_size -(ulg)s->lookahead -(ulg)s->strstart);
+
+ /* Deal with !@#$% 64K limit: */
+ if (sizeof(int) <= 2) {
+ if (more == 0 && s->strstart == 0 && s->lookahead == 0) {
+ more = wsize;
+
+ } else if (more == (unsigned)(-1)) {
+ /* Very unlikely, but possible on 16 bit machine if
+ * strstart == 0 && lookahead == 1 (input done a byte at time)
+ */
+ more--;
+ }
+ }
+
+ /* If the window is almost full and there is insufficient lookahead,
+ * move the upper half to the lower one to make room in the upper half.
+ */
+ if (s->strstart >= wsize+MAX_DIST(s)) {
+
+ zmemcpy(s->window, s->window+wsize, (unsigned)wsize);
+ s->match_start -= wsize;
+ s->strstart -= wsize; /* we now have strstart >= MAX_DIST */
+ s->block_start -= (long) wsize;
+
+ /* Slide the hash table (could be avoided with 32 bit values
+ at the expense of memory usage). We slide even when level == 0
+ to keep the hash table consistent if we switch back to level > 0
+ later. (Using level 0 permanently is not an optimal usage of
+ zlib, so we don't care about this pathological case.)
+ */
+ n = s->hash_size;
+ p = &s->head[n];
+ do {
+ m = *--p;
+ *p = (Pos)(m >= wsize ? m-wsize : NIL);
+ } while (--n);
+
+ n = wsize;
+#ifndef FASTEST
+ p = &s->prev[n];
+ do {
+ m = *--p;
+ *p = (Pos)(m >= wsize ? m-wsize : NIL);
+ /* If n is not on any hash chain, prev[n] is garbage but
+ * its value will never be used.
+ */
+ } while (--n);
+#endif
+ more += wsize;
+ }
+ if (s->strm->avail_in == 0) return;
+
+ /* If there was no sliding:
+ * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
+ * more == window_size - lookahead - strstart
+ * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
+ * => more >= window_size - 2*WSIZE + 2
+ * In the BIG_MEM or MMAP case (not yet supported),
+ * window_size == input_size + MIN_LOOKAHEAD &&
+ * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
+ * Otherwise, window_size == 2*WSIZE so more >= 2.
+ * If there was sliding, more >= WSIZE. So in all cases, more >= 2.
+ */
+ Assert(more >= 2, "more < 2");
+
+ n = read_buf(s->strm, s->window + s->strstart + s->lookahead, more);
+ s->lookahead += n;
+
+ /* Initialize the hash value now that we have some input: */
+ if (s->lookahead >= MIN_MATCH) {
+ s->ins_h = s->window[s->strstart];
+ UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
+#if MIN_MATCH != 3
+ Call UPDATE_HASH() MIN_MATCH-3 more times
+#endif
+ }
+ /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
+ * but this is not important since only literal bytes will be emitted.
+ */
+
+ } while (s->lookahead < MIN_LOOKAHEAD && s->strm->avail_in != 0);
+
+ /* If the WIN_INIT bytes after the end of the current data have never been
+ * written, then zero those bytes in order to avoid memory check reports of
+ * the use of uninitialized (or uninitialised as Julian writes) bytes by
+ * the longest match routines. Update the high water mark for the next
+ * time through here. WIN_INIT is set to MAX_MATCH since the longest match
+ * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.
+ */
+ if (s->high_water < s->window_size) {
+ ulg curr = s->strstart + (ulg)(s->lookahead);
+ ulg init;
+
+ if (s->high_water < curr) {
+ /* Previous high water mark below current data -- zero WIN_INIT
+ * bytes or up to end of window, whichever is less.
+ */
+ init = s->window_size - curr;
+ if (init > WIN_INIT)
+ init = WIN_INIT;
+ zmemzero(s->window + curr, (unsigned)init);
+ s->high_water = curr + init;
+ }
+ else if (s->high_water < (ulg)curr + WIN_INIT) {
+ /* High water mark at or above current data, but below current data
+ * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up
+ * to end of window, whichever is less.
+ */
+ init = (ulg)curr + WIN_INIT - s->high_water;
+ if (init > s->window_size - s->high_water)
+ init = s->window_size - s->high_water;
+ zmemzero(s->window + s->high_water, (unsigned)init);
+ s->high_water += init;
+ }
+ }
+}
+
+/* ===========================================================================
+ * Flush the current block, with given end-of-file flag.
+ * IN assertion: strstart is set to the end of the current match.
+ */
+#define FLUSH_BLOCK_ONLY(s, last) { \
+ _tr_flush_block(s, (s->block_start >= 0L ? \
+ (charf *)&s->window[(unsigned)s->block_start] : \
+ (charf *)Z_NULL), \
+ (ulg)((long)s->strstart - s->block_start), \
+ (last)); \
+ s->block_start = s->strstart; \
+ flush_pending(s->strm); \
+ Tracev((stderr,"[FLUSH]")); \
+}
+
+/* Same but force premature exit if necessary. */
+#define FLUSH_BLOCK(s, last) { \
+ FLUSH_BLOCK_ONLY(s, last); \
+ if (s->strm->avail_out == 0) return (last) ? finish_started : need_more; \
+}
+
+/* ===========================================================================
+ * Copy without compression as much as possible from the input stream, return
+ * the current block state.
+ * This function does not insert new strings in the dictionary since
+ * uncompressible data is probably not useful. This function is used
+ * only for the level=0 compression option.
+ * NOTE: this function should be optimized to avoid extra copying from
+ * window to pending_buf.
+ */
+local block_state deflate_stored(s, flush)
+ deflate_state *s;
+ int flush;
+{
+ /* Stored blocks are limited to 0xffff bytes, pending_buf is limited
+ * to pending_buf_size, and each stored block has a 5 byte header:
+ */
+ ulg max_block_size = 0xffff;
+ ulg max_start;
+
+ if (max_block_size > s->pending_buf_size - 5) {
+ max_block_size = s->pending_buf_size - 5;
+ }
+
+ /* Copy as much as possible from input to output: */
+ for (;;) {
+ /* Fill the window as much as possible: */
+ if (s->lookahead <= 1) {
+
+ Assert(s->strstart < s->w_size+MAX_DIST(s) ||
+ s->block_start >= (long)s->w_size, "slide too late");
+
+ fill_window(s);
+ if (s->lookahead == 0 && flush == Z_NO_FLUSH) return need_more;
+
+ if (s->lookahead == 0) break; /* flush the current block */
+ }
+ Assert(s->block_start >= 0L, "block gone");
+
+ s->strstart += s->lookahead;
+ s->lookahead = 0;
+
+ /* Emit a stored block if pending_buf will be full: */
+ max_start = s->block_start + max_block_size;
+ if (s->strstart == 0 || (ulg)s->strstart >= max_start) {
+ /* strstart == 0 is possible when wraparound on 16-bit machine */
+ s->lookahead = (uInt)(s->strstart - max_start);
+ s->strstart = (uInt)max_start;
+ FLUSH_BLOCK(s, 0);
+ }
+ /* Flush if we may have to slide, otherwise block_start may become
+ * negative and the data will be gone:
+ */
+ if (s->strstart - (uInt)s->block_start >= MAX_DIST(s)) {
+ FLUSH_BLOCK(s, 0);
+ }
+ }
+ FLUSH_BLOCK(s, flush == Z_FINISH);
+ return flush == Z_FINISH ? finish_done : block_done;
+}
+
+/* ===========================================================================
+ * Compress as much as possible from the input stream, return the current
+ * block state.
+ * This function does not perform lazy evaluation of matches and inserts
+ * new strings in the dictionary only for unmatched strings or for short
+ * matches. It is used only for the fast compression options.
+ */
+local block_state deflate_fast(s, flush)
+ deflate_state *s;
+ int flush;
+{
+ IPos hash_head; /* head of the hash chain */
+ int bflush; /* set if current block must be flushed */
+
+ for (;;) {
+ /* Make sure that we always have enough lookahead, except
+ * at the end of the input file. We need MAX_MATCH bytes
+ * for the next match, plus MIN_MATCH bytes to insert the
+ * string following the next match.
+ */
+ if (s->lookahead < MIN_LOOKAHEAD) {
+ fill_window(s);
+ if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) {
+ return need_more;
+ }
+ if (s->lookahead == 0) break; /* flush the current block */
+ }
+
+ /* Insert the string window[strstart .. strstart+2] in the
+ * dictionary, and set hash_head to the head of the hash chain:
+ */
+ hash_head = NIL;
+ if (s->lookahead >= MIN_MATCH) {
+ INSERT_STRING(s, s->strstart, hash_head);
+ }
+
+ /* Find the longest match, discarding those <= prev_length.
+ * At this point we have always match_length < MIN_MATCH
+ */
+ if (hash_head != NIL && s->strstart - hash_head <= MAX_DIST(s)) {
+ /* To simplify the code, we prevent matches with the string
+ * of window index 0 (in particular we have to avoid a match
+ * of the string with itself at the start of the input file).
+ */
+ s->match_length = longest_match (s, hash_head);
+ /* longest_match() sets match_start */
+ }
+ if (s->match_length >= MIN_MATCH) {
+ check_match(s, s->strstart, s->match_start, s->match_length);
+
+ _tr_tally_dist(s, s->strstart - s->match_start,
+ s->match_length - MIN_MATCH, bflush);
+
+ s->lookahead -= s->match_length;
+
+ /* Insert new strings in the hash table only if the match length
+ * is not too large. This saves time but degrades compression.
+ */
+#ifndef FASTEST
+ if (s->match_length <= s->max_insert_length &&
+ s->lookahead >= MIN_MATCH) {
+ s->match_length--; /* string at strstart already in table */
+ do {
+ s->strstart++;
+ INSERT_STRING(s, s->strstart, hash_head);
+ /* strstart never exceeds WSIZE-MAX_MATCH, so there are
+ * always MIN_MATCH bytes ahead.
+ */
+ } while (--s->match_length != 0);
+ s->strstart++;
+ } else
+#endif
+ {
+ s->strstart += s->match_length;
+ s->match_length = 0;
+ s->ins_h = s->window[s->strstart];
+ UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
+#if MIN_MATCH != 3
+ Call UPDATE_HASH() MIN_MATCH-3 more times
+#endif
+ /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
+ * matter since it will be recomputed at next deflate call.
+ */
+ }
+ } else {
+ /* No match, output a literal byte */
+ Tracevv((stderr,"%c", s->window[s->strstart]));
+ _tr_tally_lit (s, s->window[s->strstart], bflush);
+ s->lookahead--;
+ s->strstart++;
+ }
+ if (bflush) FLUSH_BLOCK(s, 0);
+ }
+ FLUSH_BLOCK(s, flush == Z_FINISH);
+ return flush == Z_FINISH ? finish_done : block_done;
+}
+
+#ifndef FASTEST
+/* ===========================================================================
+ * Same as above, but achieves better compression. We use a lazy
+ * evaluation for matches: a match is finally adopted only if there is
+ * no better match at the next window position.
+ */
+local block_state deflate_slow(s, flush)
+ deflate_state *s;
+ int flush;
+{
+ IPos hash_head; /* head of hash chain */
+ int bflush; /* set if current block must be flushed */
+
+ /* Process the input block. */
+ for (;;) {
+ /* Make sure that we always have enough lookahead, except
+ * at the end of the input file. We need MAX_MATCH bytes
+ * for the next match, plus MIN_MATCH bytes to insert the
+ * string following the next match.
+ */
+ if (s->lookahead < MIN_LOOKAHEAD) {
+ fill_window(s);
+ if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) {
+ return need_more;
+ }
+ if (s->lookahead == 0) break; /* flush the current block */
+ }
+
+ /* Insert the string window[strstart .. strstart+2] in the
+ * dictionary, and set hash_head to the head of the hash chain:
+ */
+ hash_head = NIL;
+ if (s->lookahead >= MIN_MATCH) {
+ INSERT_STRING(s, s->strstart, hash_head);
+ }
+
+ /* Find the longest match, discarding those <= prev_length.
+ */
+ s->prev_length = s->match_length, s->prev_match = s->match_start;
+ s->match_length = MIN_MATCH-1;
+
+ if (hash_head != NIL && s->prev_length < s->max_lazy_match &&
+ s->strstart - hash_head <= MAX_DIST(s)) {
+ /* To simplify the code, we prevent matches with the string
+ * of window index 0 (in particular we have to avoid a match
+ * of the string with itself at the start of the input file).
+ */
+ s->match_length = longest_match (s, hash_head);
+ /* longest_match() sets match_start */
+
+ if (s->match_length <= 5 && (s->strategy == Z_FILTERED
+#if TOO_FAR <= 32767
+ || (s->match_length == MIN_MATCH &&
+ s->strstart - s->match_start > TOO_FAR)
+#endif
+ )) {
+
+ /* If prev_match is also MIN_MATCH, match_start is garbage
+ * but we will ignore the current match anyway.
+ */
+ s->match_length = MIN_MATCH-1;
+ }
+ }
+ /* If there was a match at the previous step and the current
+ * match is not better, output the previous match:
+ */
+ if (s->prev_length >= MIN_MATCH && s->match_length <= s->prev_length) {
+ uInt max_insert = s->strstart + s->lookahead - MIN_MATCH;
+ /* Do not insert strings in hash table beyond this. */
+
+ check_match(s, s->strstart-1, s->prev_match, s->prev_length);
+
+ _tr_tally_dist(s, s->strstart -1 - s->prev_match,
+ s->prev_length - MIN_MATCH, bflush);
+
+ /* Insert in hash table all strings up to the end of the match.
+ * strstart-1 and strstart are already inserted. If there is not
+ * enough lookahead, the last two strings are not inserted in
+ * the hash table.
+ */
+ s->lookahead -= s->prev_length-1;
+ s->prev_length -= 2;
+ do {
+ if (++s->strstart <= max_insert) {
+ INSERT_STRING(s, s->strstart, hash_head);
+ }
+ } while (--s->prev_length != 0);
+ s->match_available = 0;
+ s->match_length = MIN_MATCH-1;
+ s->strstart++;
+
+ if (bflush) FLUSH_BLOCK(s, 0);
+
+ } else if (s->match_available) {
+ /* If there was no match at the previous position, output a
+ * single literal. If there was a match but the current match
+ * is longer, truncate the previous match to a single literal.
+ */
+ Tracevv((stderr,"%c", s->window[s->strstart-1]));
+ _tr_tally_lit(s, s->window[s->strstart-1], bflush);
+ if (bflush) {
+ FLUSH_BLOCK_ONLY(s, 0);
+ }
+ s->strstart++;
+ s->lookahead--;
+ if (s->strm->avail_out == 0) return need_more;
+ } else {
+ /* There is no previous match to compare with, wait for
+ * the next step to decide.
+ */
+ s->match_available = 1;
+ s->strstart++;
+ s->lookahead--;
+ }
+ }
+ Assert (flush != Z_NO_FLUSH, "no flush?");
+ if (s->match_available) {
+ Tracevv((stderr,"%c", s->window[s->strstart-1]));
+ _tr_tally_lit(s, s->window[s->strstart-1], bflush);
+ s->match_available = 0;
+ }
+ FLUSH_BLOCK(s, flush == Z_FINISH);
+ return flush == Z_FINISH ? finish_done : block_done;
+}
+#endif /* FASTEST */
+
+/* ===========================================================================
+ * For Z_RLE, simply look for runs of bytes, generate matches only of distance
+ * one. Do not maintain a hash table. (It will be regenerated if this run of
+ * deflate switches away from Z_RLE.)
+ */
+local block_state deflate_rle(s, flush)
+ deflate_state *s;
+ int flush;
+{
+ int bflush; /* set if current block must be flushed */
+ uInt prev; /* byte at distance one to match */
+ Bytef *scan, *strend; /* scan goes up to strend for length of run */
+
+ for (;;) {
+ /* Make sure that we always have enough lookahead, except
+ * at the end of the input file. We need MAX_MATCH bytes
+ * for the longest encodable run.
+ */
+ if (s->lookahead < MAX_MATCH) {
+ fill_window(s);
+ if (s->lookahead < MAX_MATCH && flush == Z_NO_FLUSH) {
+ return need_more;
+ }
+ if (s->lookahead == 0) break; /* flush the current block */
+ }
+
+ /* See how many times the previous byte repeats */
+ s->match_length = 0;
+ if (s->lookahead >= MIN_MATCH && s->strstart > 0) {
+ scan = s->window + s->strstart - 1;
+ prev = *scan;
+ if (prev == *++scan && prev == *++scan && prev == *++scan) {
+ strend = s->window + s->strstart + MAX_MATCH;
+ do {
+ } while (prev == *++scan && prev == *++scan &&
+ prev == *++scan && prev == *++scan &&
+ prev == *++scan && prev == *++scan &&
+ prev == *++scan && prev == *++scan &&
+ scan < strend);
+ s->match_length = MAX_MATCH - (int)(strend - scan);
+ if (s->match_length > s->lookahead)
+ s->match_length = s->lookahead;
+ }
+ }
+
+ /* Emit match if have run of MIN_MATCH or longer, else emit literal */
+ if (s->match_length >= MIN_MATCH) {
+ check_match(s, s->strstart, s->strstart - 1, s->match_length);
+
+ _tr_tally_dist(s, 1, s->match_length - MIN_MATCH, bflush);
+
+ s->lookahead -= s->match_length;
+ s->strstart += s->match_length;
+ s->match_length = 0;
+ } else {
+ /* No match, output a literal byte */
+ Tracevv((stderr,"%c", s->window[s->strstart]));
+ _tr_tally_lit (s, s->window[s->strstart], bflush);
+ s->lookahead--;
+ s->strstart++;
+ }
+ if (bflush) FLUSH_BLOCK(s, 0);
+ }
+ FLUSH_BLOCK(s, flush == Z_FINISH);
+ return flush == Z_FINISH ? finish_done : block_done;
+}
+
+/* ===========================================================================
+ * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.
+ * (It will be regenerated if this run of deflate switches away from Huffman.)
+ */
+local block_state deflate_huff(s, flush)
+ deflate_state *s;
+ int flush;
+{
+ int bflush; /* set if current block must be flushed */
+
+ for (;;) {
+ /* Make sure that we have a literal to write. */
+ if (s->lookahead == 0) {
+ fill_window(s);
+ if (s->lookahead == 0) {
+ if (flush == Z_NO_FLUSH)
+ return need_more;
+ break; /* flush the current block */
+ }
+ }
+
+ /* Output a literal byte */
+ s->match_length = 0;
+ Tracevv((stderr,"%c", s->window[s->strstart]));
+ _tr_tally_lit (s, s->window[s->strstart], bflush);
+ s->lookahead--;
+ s->strstart++;
+ if (bflush) FLUSH_BLOCK(s, 0);
+ }
+ FLUSH_BLOCK(s, flush == Z_FINISH);
+ return flush == Z_FINISH ? finish_done : block_done;
+}
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/deflate.h b/jdk/src/share/native/java/util/zip/zlib-1.2.5/deflate.h
new file mode 100644
index 0000000..652be48
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/deflate.h
@@ -0,0 +1,366 @@
+/*
+ * 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.
+ */
+
+/* deflate.h -- internal compression state
+ * Copyright (C) 1995-2010 Jean-loup Gailly
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* WARNING: this file should *not* be used by applications. It is
+ part of the implementation of the compression library and is
+ subject to change. Applications should only use zlib.h.
+ */
+
+/* @(#) $Id$ */
+
+#ifndef DEFLATE_H
+#define DEFLATE_H
+
+#include "zutil.h"
+
+/* define NO_GZIP when compiling if you want to disable gzip header and
+ trailer creation by deflate(). NO_GZIP would be used to avoid linking in
+ the crc code when it is not needed. For shared libraries, gzip encoding
+ should be left enabled. */
+#ifndef NO_GZIP
+# define GZIP
+#endif
+
+/* ===========================================================================
+ * Internal compression state.
+ */
+
+#define LENGTH_CODES 29
+/* number of length codes, not counting the special END_BLOCK code */
+
+#define LITERALS 256
+/* number of literal bytes 0..255 */
+
+#define L_CODES (LITERALS+1+LENGTH_CODES)
+/* number of Literal or Length codes, including the END_BLOCK code */
+
+#define D_CODES 30
+/* number of distance codes */
+
+#define BL_CODES 19
+/* number of codes used to transfer the bit lengths */
+
+#define HEAP_SIZE (2*L_CODES+1)
+/* maximum heap size */
+
+#define MAX_BITS 15
+/* All codes must not exceed MAX_BITS bits */
+
+#define INIT_STATE 42
+#define EXTRA_STATE 69
+#define NAME_STATE 73
+#define COMMENT_STATE 91
+#define HCRC_STATE 103
+#define BUSY_STATE 113
+#define FINISH_STATE 666
+/* Stream status */
+
+
+/* Data structure describing a single value and its code string. */
+typedef struct ct_data_s {
+ union {
+ ush freq; /* frequency count */
+ ush code; /* bit string */
+ } fc;
+ union {
+ ush dad; /* father node in Huffman tree */
+ ush len; /* length of bit string */
+ } dl;
+} FAR ct_data;
+
+#define Freq fc.freq
+#define Code fc.code
+#define Dad dl.dad
+#define Len dl.len
+
+typedef struct static_tree_desc_s static_tree_desc;
+
+typedef struct tree_desc_s {
+ ct_data *dyn_tree; /* the dynamic tree */
+ int max_code; /* largest code with non zero frequency */
+ static_tree_desc *stat_desc; /* the corresponding static tree */
+} FAR tree_desc;
+
+typedef ush Pos;
+typedef Pos FAR Posf;
+typedef unsigned IPos;
+
+/* A Pos is an index in the character window. We use short instead of int to
+ * save space in the various tables. IPos is used only for parameter passing.
+ */
+
+typedef struct internal_state {
+ z_streamp strm; /* pointer back to this zlib stream */
+ int status; /* as the name implies */
+ Bytef *pending_buf; /* output still pending */
+ ulg pending_buf_size; /* size of pending_buf */
+ Bytef *pending_out; /* next pending byte to output to the stream */
+ uInt pending; /* nb of bytes in the pending buffer */
+ int wrap; /* bit 0 true for zlib, bit 1 true for gzip */
+ gz_headerp gzhead; /* gzip header information to write */
+ uInt gzindex; /* where in extra, name, or comment */
+ Byte method; /* STORED (for zip only) or DEFLATED */
+ int last_flush; /* value of flush param for previous deflate call */
+
+ /* used by deflate.c: */
+
+ uInt w_size; /* LZ77 window size (32K by default) */
+ uInt w_bits; /* log2(w_size) (8..16) */
+ uInt w_mask; /* w_size - 1 */
+
+ Bytef *window;
+ /* Sliding window. Input bytes are read into the second half of the window,
+ * and move to the first half later to keep a dictionary of at least wSize
+ * bytes. With this organization, matches are limited to a distance of
+ * wSize-MAX_MATCH bytes, but this ensures that IO is always
+ * performed with a length multiple of the block size. Also, it limits
+ * the window size to 64K, which is quite useful on MSDOS.
+ * To do: use the user input buffer as sliding window.
+ */
+
+ ulg window_size;
+ /* Actual size of window: 2*wSize, except when the user input buffer
+ * is directly used as sliding window.
+ */
+
+ Posf *prev;
+ /* Link to older string with same hash index. To limit the size of this
+ * array to 64K, this link is maintained only for the last 32K strings.
+ * An index in this array is thus a window index modulo 32K.
+ */
+
+ Posf *head; /* Heads of the hash chains or NIL. */
+
+ uInt ins_h; /* hash index of string to be inserted */
+ uInt hash_size; /* number of elements in hash table */
+ uInt hash_bits; /* log2(hash_size) */
+ uInt hash_mask; /* hash_size-1 */
+
+ uInt hash_shift;
+ /* Number of bits by which ins_h must be shifted at each input
+ * step. It must be such that after MIN_MATCH steps, the oldest
+ * byte no longer takes part in the hash key, that is:
+ * hash_shift * MIN_MATCH >= hash_bits
+ */
+
+ long block_start;
+ /* Window position at the beginning of the current output block. Gets
+ * negative when the window is moved backwards.
+ */
+
+ uInt match_length; /* length of best match */
+ IPos prev_match; /* previous match */
+ int match_available; /* set if previous match exists */
+ uInt strstart; /* start of string to insert */
+ uInt match_start; /* start of matching string */
+ uInt lookahead; /* number of valid bytes ahead in window */
+
+ uInt prev_length;
+ /* Length of the best match at previous step. Matches not greater than this
+ * are discarded. This is used in the lazy match evaluation.
+ */
+
+ uInt max_chain_length;
+ /* To speed up deflation, hash chains are never searched beyond this
+ * length. A higher limit improves compression ratio but degrades the
+ * speed.
+ */
+
+ uInt max_lazy_match;
+ /* Attempt to find a better match only when the current match is strictly
+ * smaller than this value. This mechanism is used only for compression
+ * levels >= 4.
+ */
+# define max_insert_length max_lazy_match
+ /* Insert new strings in the hash table only if the match length is not
+ * greater than this length. This saves time but degrades compression.
+ * max_insert_length is used only for compression levels <= 3.
+ */
+
+ int level; /* compression level (1..9) */
+ int strategy; /* favor or force Huffman coding*/
+
+ uInt good_match;
+ /* Use a faster search when the previous match is longer than this */
+
+ int nice_match; /* Stop searching when current match exceeds this */
+
+ /* used by trees.c: */
+ /* Didn't use ct_data typedef below to supress compiler warning */
+ struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */
+ struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */
+ struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */
+
+ struct tree_desc_s l_desc; /* desc. for literal tree */
+ struct tree_desc_s d_desc; /* desc. for distance tree */
+ struct tree_desc_s bl_desc; /* desc. for bit length tree */
+
+ ush bl_count[MAX_BITS+1];
+ /* number of codes at each bit length for an optimal tree */
+
+ int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */
+ int heap_len; /* number of elements in the heap */
+ int heap_max; /* element of largest frequency */
+ /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.
+ * The same heap array is used to build all trees.
+ */
+
+ uch depth[2*L_CODES+1];
+ /* Depth of each subtree used as tie breaker for trees of equal frequency
+ */
+
+ uchf *l_buf; /* buffer for literals or lengths */
+
+ uInt lit_bufsize;
+ /* Size of match buffer for literals/lengths. There are 4 reasons for
+ * limiting lit_bufsize to 64K:
+ * - frequencies can be kept in 16 bit counters
+ * - if compression is not successful for the first block, all input
+ * data is still in the window so we can still emit a stored block even
+ * when input comes from standard input. (This can also be done for
+ * all blocks if lit_bufsize is not greater than 32K.)
+ * - if compression is not successful for a file smaller than 64K, we can
+ * even emit a stored file instead of a stored block (saving 5 bytes).
+ * This is applicable only for zip (not gzip or zlib).
+ * - creating new Huffman trees less frequently may not provide fast
+ * adaptation to changes in the input data statistics. (Take for
+ * example a binary file with poorly compressible code followed by
+ * a highly compressible string table.) Smaller buffer sizes give
+ * fast adaptation but have of course the overhead of transmitting
+ * trees more frequently.
+ * - I can't count above 4
+ */
+
+ uInt last_lit; /* running index in l_buf */
+
+ ushf *d_buf;
+ /* Buffer for distances. To simplify the code, d_buf and l_buf have
+ * the same number of elements. To use different lengths, an extra flag
+ * array would be necessary.
+ */
+
+ ulg opt_len; /* bit length of current block with optimal trees */
+ ulg static_len; /* bit length of current block with static trees */
+ uInt matches; /* number of string matches in current block */
+ int last_eob_len; /* bit length of EOB code for last block */
+
+#ifdef DEBUG
+ ulg compressed_len; /* total bit length of compressed file mod 2^32 */
+ ulg bits_sent; /* bit length of compressed data sent mod 2^32 */
+#endif
+
+ ush bi_buf;
+ /* Output buffer. bits are inserted starting at the bottom (least
+ * significant bits).
+ */
+ int bi_valid;
+ /* Number of valid bits in bi_buf. All bits above the last valid bit
+ * are always zero.
+ */
+
+ ulg high_water;
+ /* High water mark offset in window for initialized bytes -- bytes above
+ * this are set to zero in order to avoid memory check warnings when
+ * longest match routines access bytes past the input. This is then
+ * updated to the new high water mark.
+ */
+
+} FAR deflate_state;
+
+/* Output a byte on the stream.
+ * IN assertion: there is enough room in pending_buf.
+ */
+#define put_byte(s, c) {s->pending_buf[s->pending++] = (c);}
+
+
+#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
+/* Minimum amount of lookahead, except at the end of the input file.
+ * See deflate.c for comments about the MIN_MATCH+1.
+ */
+
+#define MAX_DIST(s) ((s)->w_size-MIN_LOOKAHEAD)
+/* In order to simplify the code, particularly on 16 bit machines, match
+ * distances are limited to MAX_DIST instead of WSIZE.
+ */
+
+#define WIN_INIT MAX_MATCH
+/* Number of bytes after end of data in window to initialize in order to avoid
+ memory checker errors from longest match routines */
+
+ /* in trees.c */
+void ZLIB_INTERNAL _tr_init OF((deflate_state *s));
+int ZLIB_INTERNAL _tr_tally OF((deflate_state *s, unsigned dist, unsigned lc));
+void ZLIB_INTERNAL _tr_flush_block OF((deflate_state *s, charf *buf,
+ ulg stored_len, int last));
+void ZLIB_INTERNAL _tr_align OF((deflate_state *s));
+void ZLIB_INTERNAL _tr_stored_block OF((deflate_state *s, charf *buf,
+ ulg stored_len, int last));
+
+#define d_code(dist) \
+ ((dist) < 256 ? _dist_code[dist] : _dist_code[256+((dist)>>7)])
+/* Mapping from a distance to a distance code. dist is the distance - 1 and
+ * must not have side effects. _dist_code[256] and _dist_code[257] are never
+ * used.
+ */
+
+#ifndef DEBUG
+/* Inline versions of _tr_tally for speed: */
+
+#if defined(GEN_TREES_H) || !defined(STDC)
+ extern uch ZLIB_INTERNAL _length_code[];
+ extern uch ZLIB_INTERNAL _dist_code[];
+#else
+ extern const uch ZLIB_INTERNAL _length_code[];
+ extern const uch ZLIB_INTERNAL _dist_code[];
+#endif
+
+# define _tr_tally_lit(s, c, flush) \
+ { uch cc = (c); \
+ s->d_buf[s->last_lit] = 0; \
+ s->l_buf[s->last_lit++] = cc; \
+ s->dyn_ltree[cc].Freq++; \
+ flush = (s->last_lit == s->lit_bufsize-1); \
+ }
+# define _tr_tally_dist(s, distance, length, flush) \
+ { uch len = (length); \
+ ush dist = (distance); \
+ s->d_buf[s->last_lit] = dist; \
+ s->l_buf[s->last_lit++] = len; \
+ dist--; \
+ s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \
+ s->dyn_dtree[d_code(dist)].Freq++; \
+ flush = (s->last_lit == s->lit_bufsize-1); \
+ }
+#else
+# define _tr_tally_lit(s, c, flush) flush = _tr_tally(s, 0, c)
+# define _tr_tally_dist(s, distance, length, flush) \
+ flush = _tr_tally(s, distance, length)
+#endif
+
+#endif /* DEFLATE_H */
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/gzclose.c b/jdk/src/share/native/java/util/zip/zlib-1.2.5/gzclose.c
new file mode 100644
index 0000000..5cce4b0
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/gzclose.c
@@ -0,0 +1,49 @@
+/*
+ * 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.
+ */
+
+/* gzclose.c -- zlib gzclose() function
+ * Copyright (C) 2004, 2010 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+#include "gzguts.h"
+
+/* gzclose() is in a separate file so that it is linked in only if it is used.
+ That way the other gzclose functions can be used instead to avoid linking in
+ unneeded compression or decompression routines. */
+int ZEXPORT gzclose(file)
+ gzFile file;
+{
+#ifndef NO_GZCOMPRESS
+ gz_statep state;
+
+ if (file == NULL)
+ return Z_STREAM_ERROR;
+ state = (gz_statep)file;
+
+ return state->mode == GZ_READ ? gzclose_r(file) : gzclose_w(file);
+#else
+ return gzclose_r(file);
+#endif
+}
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/gzguts.h b/jdk/src/share/native/java/util/zip/zlib-1.2.5/gzguts.h
new file mode 100644
index 0000000..d8fbf1e
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/gzguts.h
@@ -0,0 +1,156 @@
+/*
+ * 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.
+ */
+
+/* gzguts.h -- zlib internal header definitions for gz* operations
+ * Copyright (C) 2004, 2005, 2010 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+#ifdef _LARGEFILE64_SOURCE
+# ifndef _LARGEFILE_SOURCE
+# define _LARGEFILE_SOURCE 1
+# endif
+# ifdef _FILE_OFFSET_BITS
+# undef _FILE_OFFSET_BITS
+# endif
+#endif
+
+#if ((__GNUC__-0) * 10 + __GNUC_MINOR__-0 >= 33) && !defined(NO_VIZ)
+# define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
+#else
+# define ZLIB_INTERNAL
+#endif
+
+#include <stdio.h>
+#include "zlib.h"
+#ifdef STDC
+# include <string.h>
+# include <stdlib.h>
+# include <limits.h>
+#endif
+#include <fcntl.h>
+
+#ifdef NO_DEFLATE /* for compatibility with old definition */
+# define NO_GZCOMPRESS
+#endif
+
+#ifdef _MSC_VER
+# include <io.h>
+# define vsnprintf _vsnprintf
+#endif
+
+#ifndef local
+# define local static
+#endif
+/* compile with -Dlocal if your debugger can't find static symbols */
+
+/* gz* functions always use library allocation functions */
+#ifndef STDC
+ extern voidp malloc OF((uInt size));
+ extern void free OF((voidpf ptr));
+#endif
+
+/* get errno and strerror definition */
+#if defined UNDER_CE
+# include <windows.h>
+# define zstrerror() gz_strwinerror((DWORD)GetLastError())
+#else
+# ifdef STDC
+# include <errno.h>
+# define zstrerror() strerror(errno)
+# else
+# define zstrerror() "stdio error (consult errno)"
+# endif
+#endif
+
+/* provide prototypes for these when building zlib without LFS */
+#if !defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0
+ ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
+ ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
+ ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
+ ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile));
+#endif
+
+/* default i/o buffer size -- double this for output when reading */
+#define GZBUFSIZE 8192
+
+/* gzip modes, also provide a little integrity check on the passed structure */
+#define GZ_NONE 0
+#define GZ_READ 7247
+#define GZ_WRITE 31153
+#define GZ_APPEND 1 /* mode set to GZ_WRITE after the file is opened */
+
+/* values for gz_state how */
+#define LOOK 0 /* look for a gzip header */
+#define COPY 1 /* copy input directly */
+#define GZIP 2 /* decompress a gzip stream */
+
+/* internal gzip file state data structure */
+typedef struct {
+ /* used for both reading and writing */
+ int mode; /* see gzip modes above */
+ int fd; /* file descriptor */
+ char *path; /* path or fd for error messages */
+ z_off64_t pos; /* current position in uncompressed data */
+ unsigned size; /* buffer size, zero if not allocated yet */
+ unsigned want; /* requested buffer size, default is GZBUFSIZE */
+ unsigned char *in; /* input buffer */
+ unsigned char *out; /* output buffer (double-sized when reading) */
+ unsigned char *next; /* next output data to deliver or write */
+ /* just for reading */
+ unsigned have; /* amount of output data unused at next */
+ int eof; /* true if end of input file reached */
+ z_off64_t start; /* where the gzip data started, for rewinding */
+ z_off64_t raw; /* where the raw data started, for seeking */
+ int how; /* 0: get header, 1: copy, 2: decompress */
+ int direct; /* true if last read direct, false if gzip */
+ /* just for writing */
+ int level; /* compression level */
+ int strategy; /* compression strategy */
+ /* seek request */
+ z_off64_t skip; /* amount to skip (already rewound if backwards) */
+ int seek; /* true if seek request pending */
+ /* error information */
+ int err; /* error code */
+ char *msg; /* error message */
+ /* zlib inflate or deflate stream */
+ z_stream strm; /* stream structure in-place (not a pointer) */
+} gz_state;
+typedef gz_state FAR *gz_statep;
+
+/* shared functions */
+void ZLIB_INTERNAL gz_error OF((gz_statep, int, const char *));
+#if defined UNDER_CE
+char ZLIB_INTERNAL *gz_strwinerror OF((DWORD error));
+#endif
+
+/* GT_OFF(x), where x is an unsigned value, is true if x > maximum z_off64_t
+ value -- needed when comparing unsigned to z_off64_t, which is signed
+ (possible z_off64_t types off_t, off64_t, and long are all signed) */
+#ifdef INT_MAX
+# define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > INT_MAX)
+#else
+unsigned ZLIB_INTERNAL gz_intmax OF((void));
+# define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > gz_intmax())
+#endif
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/gzlib.c b/jdk/src/share/native/java/util/zip/zlib-1.2.5/gzlib.c
new file mode 100644
index 0000000..d285126
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/gzlib.c
@@ -0,0 +1,560 @@
+/* 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.
+ */
+
+/*
+ * Copyright (C) 2004, 2010 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+#include "gzguts.h"
+
+#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
+# define LSEEK lseek64
+#else
+# define LSEEK lseek
+#endif
+
+/* Local functions */
+local void gz_reset OF((gz_statep));
+local gzFile gz_open OF((const char *, int, const char *));
+
+#if defined UNDER_CE
+
+/* Map the Windows error number in ERROR to a locale-dependent error message
+ string and return a pointer to it. Typically, the values for ERROR come
+ from GetLastError.
+
+ The string pointed to shall not be modified by the application, but may be
+ overwritten by a subsequent call to gz_strwinerror
+
+ The gz_strwinerror function does not change the current setting of
+ GetLastError. */
+char ZLIB_INTERNAL *gz_strwinerror (error)
+ DWORD error;
+{
+ static char buf[1024];
+
+ wchar_t *msgbuf;
+ DWORD lasterr = GetLastError();
+ DWORD chars = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM
+ | FORMAT_MESSAGE_ALLOCATE_BUFFER,
+ NULL,
+ error,
+ 0, /* Default language */
+ (LPVOID)&msgbuf,
+ 0,
+ NULL);
+ if (chars != 0) {
+ /* If there is an \r\n appended, zap it. */
+ if (chars >= 2
+ && msgbuf[chars - 2] == '\r' && msgbuf[chars - 1] == '\n') {
+ chars -= 2;
+ msgbuf[chars] = 0;
+ }
+
+ if (chars > sizeof (buf) - 1) {
+ chars = sizeof (buf) - 1;
+ msgbuf[chars] = 0;
+ }
+
+ wcstombs(buf, msgbuf, chars + 1);
+ LocalFree(msgbuf);
+ }
+ else {
+ sprintf(buf, "unknown win32 error (%ld)", error);
+ }
+
+ SetLastError(lasterr);
+ return buf;
+}
+
+#endif /* UNDER_CE */
+
+/* Reset gzip file state */
+local void gz_reset(state)
+ gz_statep state;
+{
+ if (state->mode == GZ_READ) { /* for reading ... */
+ state->have = 0; /* no output data available */
+ state->eof = 0; /* not at end of file */
+ state->how = LOOK; /* look for gzip header */
+ state->direct = 1; /* default for empty file */
+ }
+ state->seek = 0; /* no seek request pending */
+ gz_error(state, Z_OK, NULL); /* clear error */
+ state->pos = 0; /* no uncompressed data yet */
+ state->strm.avail_in = 0; /* no input data yet */
+}
+
+/* Open a gzip file either by name or file descriptor. */
+local gzFile gz_open(path, fd, mode)
+ const char *path;
+ int fd;
+ const char *mode;
+{
+ gz_statep state;
+
+ /* allocate gzFile structure to return */
+ state = malloc(sizeof(gz_state));
+ if (state == NULL)
+ return NULL;
+ state->size = 0; /* no buffers allocated yet */
+ state->want = GZBUFSIZE; /* requested buffer size */
+ state->msg = NULL; /* no error message yet */
+
+ /* interpret mode */
+ state->mode = GZ_NONE;
+ state->level = Z_DEFAULT_COMPRESSION;
+ state->strategy = Z_DEFAULT_STRATEGY;
+ while (*mode) {
+ if (*mode >= '0' && *mode <= '9')
+ state->level = *mode - '0';
+ else
+ switch (*mode) {
+ case 'r':
+ state->mode = GZ_READ;
+ break;
+#ifndef NO_GZCOMPRESS
+ case 'w':
+ state->mode = GZ_WRITE;
+ break;
+ case 'a':
+ state->mode = GZ_APPEND;
+ break;
+#endif
+ case '+': /* can't read and write at the same time */
+ free(state);
+ return NULL;
+ case 'b': /* ignore -- will request binary anyway */
+ break;
+ case 'f':
+ state->strategy = Z_FILTERED;
+ break;
+ case 'h':
+ state->strategy = Z_HUFFMAN_ONLY;
+ break;
+ case 'R':
+ state->strategy = Z_RLE;
+ break;
+ case 'F':
+ state->strategy = Z_FIXED;
+ default: /* could consider as an error, but just ignore */
+ ;
+ }
+ mode++;
+ }
+
+ /* must provide an "r", "w", or "a" */
+ if (state->mode == GZ_NONE) {
+ free(state);
+ return NULL;
+ }
+
+ /* save the path name for error messages */
+ state->path = malloc(strlen(path) + 1);
+ if (state->path == NULL) {
+ free(state);
+ return NULL;
+ }
+ strcpy(state->path, path);
+
+ /* open the file with the appropriate mode (or just use fd) */
+ state->fd = fd != -1 ? fd :
+ open(path,
+#ifdef O_LARGEFILE
+ O_LARGEFILE |
+#endif
+#ifdef O_BINARY
+ O_BINARY |
+#endif
+ (state->mode == GZ_READ ?
+ O_RDONLY :
+ (O_WRONLY | O_CREAT | (
+ state->mode == GZ_WRITE ?
+ O_TRUNC :
+ O_APPEND))),
+ 0666);
+ if (state->fd == -1) {
+ free(state->path);
+ free(state);
+ return NULL;
+ }
+ if (state->mode == GZ_APPEND)
+ state->mode = GZ_WRITE; /* simplify later checks */
+
+ /* save the current position for rewinding (only if reading) */
+ if (state->mode == GZ_READ) {
+ state->start = LSEEK(state->fd, 0, SEEK_CUR);
+ if (state->start == -1) state->start = 0;
+ }
+
+ /* initialize stream */
+ gz_reset(state);
+
+ /* return stream */
+ return (gzFile)state;
+}
+
+/* -- see zlib.h -- */
+gzFile ZEXPORT gzopen(path, mode)
+ const char *path;
+ const char *mode;
+{
+ return gz_open(path, -1, mode);
+}
+
+/* -- see zlib.h -- */
+gzFile ZEXPORT gzopen64(path, mode)
+ const char *path;
+ const char *mode;
+{
+ return gz_open(path, -1, mode);
+}
+
+/* -- see zlib.h -- */
+gzFile ZEXPORT gzdopen(fd, mode)
+ int fd;
+ const char *mode;
+{
+ char *path; /* identifier for error messages */
+ gzFile gz;
+
+ if (fd == -1 || (path = malloc(7 + 3 * sizeof(int))) == NULL)
+ return NULL;
+ sprintf(path, "<fd:%d>", fd); /* for debugging */
+ gz = gz_open(path, fd, mode);
+ free(path);
+ return gz;
+}
+
+/* -- see zlib.h -- */
+int ZEXPORT gzbuffer(file, size)
+ gzFile file;
+ unsigned size;
+{
+ gz_statep state;
+
+ /* get internal structure and check integrity */
+ if (file == NULL)
+ return -1;
+ state = (gz_statep)file;
+ if (state->mode != GZ_READ && state->mode != GZ_WRITE)
+ return -1;
+
+ /* make sure we haven't already allocated memory */
+ if (state->size != 0)
+ return -1;
+
+ /* check and set requested size */
+ if (size == 0)
+ return -1;
+ state->want = size;
+ return 0;
+}
+
+/* -- see zlib.h -- */
+int ZEXPORT gzrewind(file)
+ gzFile file;
+{
+ gz_statep state;
+
+ /* get internal structure */
+ if (file == NULL)
+ return -1;
+ state = (gz_statep)file;
+
+ /* check that we're reading and that there's no error */
+ if (state->mode != GZ_READ || state->err != Z_OK)
+ return -1;
+
+ /* back up and start over */
+ if (LSEEK(state->fd, state->start, SEEK_SET) == -1)
+ return -1;
+ gz_reset(state);
+ return 0;
+}
+
+/* -- see zlib.h -- */
+z_off64_t ZEXPORT gzseek64(file, offset, whence)
+ gzFile file;
+ z_off64_t offset;
+ int whence;
+{
+ unsigned n;
+ z_off64_t ret;
+ gz_statep state;
+
+ /* get internal structure and check integrity */
+ if (file == NULL)
+ return -1;
+ state = (gz_statep)file;
+ if (state->mode != GZ_READ && state->mode != GZ_WRITE)
+ return -1;
+
+ /* check that there's no error */
+ if (state->err != Z_OK)
+ return -1;
+
+ /* can only seek from start or relative to current position */
+ if (whence != SEEK_SET && whence != SEEK_CUR)
+ return -1;
+
+ /* normalize offset to a SEEK_CUR specification */
+ if (whence == SEEK_SET)
+ offset -= state->pos;
+ else if (state->seek)
+ offset += state->skip;
+ state->seek = 0;
+
+ /* if within raw area while reading, just go there */
+ if (state->mode == GZ_READ && state->how == COPY &&
+ state->pos + offset >= state->raw) {
+ ret = LSEEK(state->fd, offset - state->have, SEEK_CUR);
+ if (ret == -1)
+ return -1;
+ state->have = 0;
+ state->eof = 0;
+ state->seek = 0;
+ gz_error(state, Z_OK, NULL);
+ state->strm.avail_in = 0;
+ state->pos += offset;
+ return state->pos;
+ }
+
+ /* calculate skip amount, rewinding if needed for back seek when reading */
+ if (offset < 0) {
+ if (state->mode != GZ_READ) /* writing -- can't go backwards */
+ return -1;
+ offset += state->pos;
+ if (offset < 0) /* before start of file! */
+ return -1;
+ if (gzrewind(file) == -1) /* rewind, then skip to offset */
+ return -1;
+ }
+
+ /* if reading, skip what's in output buffer (one less gzgetc() check) */
+ if (state->mode == GZ_READ) {
+ n = GT_OFF(state->have) || (z_off64_t)state->have > offset ?
+ (unsigned)offset : state->have;
+ state->have -= n;
+ state->next += n;
+ state->pos += n;
+ offset -= n;
+ }
+
+ /* request skip (if not zero) */
+ if (offset) {
+ state->seek = 1;
+ state->skip = offset;
+ }
+ return state->pos + offset;
+}
+
+/* -- see zlib.h -- */
+z_off_t ZEXPORT gzseek(file, offset, whence)
+ gzFile file;
+ z_off_t offset;
+ int whence;
+{
+ z_off64_t ret;
+
+ ret = gzseek64(file, (z_off64_t)offset, whence);
+ return ret == (z_off_t)ret ? (z_off_t)ret : -1;
+}
+
+/* -- see zlib.h -- */
+z_off64_t ZEXPORT gztell64(file)
+ gzFile file;
+{
+ gz_statep state;
+
+ /* get internal structure and check integrity */
+ if (file == NULL)
+ return -1;
+ state = (gz_statep)file;
+ if (state->mode != GZ_READ && state->mode != GZ_WRITE)
+ return -1;
+
+ /* return position */
+ return state->pos + (state->seek ? state->skip : 0);
+}
+
+/* -- see zlib.h -- */
+z_off_t ZEXPORT gztell(file)
+ gzFile file;
+{
+ z_off64_t ret;
+
+ ret = gztell64(file);
+ return ret == (z_off_t)ret ? (z_off_t)ret : -1;
+}
+
+/* -- see zlib.h -- */
+z_off64_t ZEXPORT gzoffset64(file)
+ gzFile file;
+{
+ z_off64_t offset;
+ gz_statep state;
+
+ /* get internal structure and check integrity */
+ if (file == NULL)
+ return -1;
+ state = (gz_statep)file;
+ if (state->mode != GZ_READ && state->mode != GZ_WRITE)
+ return -1;
+
+ /* compute and return effective offset in file */
+ offset = LSEEK(state->fd, 0, SEEK_CUR);
+ if (offset == -1)
+ return -1;
+ if (state->mode == GZ_READ) /* reading */
+ offset -= state->strm.avail_in; /* don't count buffered input */
+ return offset;
+}
+
+/* -- see zlib.h -- */
+z_off_t ZEXPORT gzoffset(file)
+ gzFile file;
+{
+ z_off64_t ret;
+
+ ret = gzoffset64(file);
+ return ret == (z_off_t)ret ? (z_off_t)ret : -1;
+}
+
+/* -- see zlib.h -- */
+int ZEXPORT gzeof(file)
+ gzFile file;
+{
+ gz_statep state;
+
+ /* get internal structure and check integrity */
+ if (file == NULL)
+ return 0;
+ state = (gz_statep)file;
+ if (state->mode != GZ_READ && state->mode != GZ_WRITE)
+ return 0;
+
+ /* return end-of-file state */
+ return state->mode == GZ_READ ?
+ (state->eof && state->strm.avail_in == 0 && state->have == 0) : 0;
+}
+
+/* -- see zlib.h -- */
+const char * ZEXPORT gzerror(file, errnum)
+ gzFile file;
+ int *errnum;
+{
+ gz_statep state;
+
+ /* get internal structure and check integrity */
+ if (file == NULL)
+ return NULL;
+ state = (gz_statep)file;
+ if (state->mode != GZ_READ && state->mode != GZ_WRITE)
+ return NULL;
+
+ /* return error information */
+ if (errnum != NULL)
+ *errnum = state->err;
+ return state->msg == NULL ? "" : state->msg;
+}
+
+/* -- see zlib.h -- */
+void ZEXPORT gzclearerr(file)
+ gzFile file;
+{
+ gz_statep state;
+
+ /* get internal structure and check integrity */
+ if (file == NULL)
+ return;
+ state = (gz_statep)file;
+ if (state->mode != GZ_READ && state->mode != GZ_WRITE)
+ return;
+
+ /* clear error and end-of-file */
+ if (state->mode == GZ_READ)
+ state->eof = 0;
+ gz_error(state, Z_OK, NULL);
+}
+
+/* Create an error message in allocated memory and set state->err and
+ state->msg accordingly. Free any previous error message already there. Do
+ not try to free or allocate space if the error is Z_MEM_ERROR (out of
+ memory). Simply save the error message as a static string. If there is an
+ allocation failure constructing the error message, then convert the error to
+ out of memory. */
+void ZLIB_INTERNAL gz_error(state, err, msg)
+ gz_statep state;
+ int err;
+ const char *msg;
+{
+ /* free previously allocated message and clear */
+ if (state->msg != NULL) {
+ if (state->err != Z_MEM_ERROR)
+ free(state->msg);
+ state->msg = NULL;
+ }
+
+ /* set error code, and if no message, then done */
+ state->err = err;
+ if (msg == NULL)
+ return;
+
+ /* for an out of memory error, save as static string */
+ if (err == Z_MEM_ERROR) {
+ state->msg = (char *)msg;
+ return;
+ }
+
+ /* construct error message with path */
+ if ((state->msg = malloc(strlen(state->path) + strlen(msg) + 3)) == NULL) {
+ state->err = Z_MEM_ERROR;
+ state->msg = (char *)"out of memory";
+ return;
+ }
+ strcpy(state->msg, state->path);
+ strcat(state->msg, ": ");
+ strcat(state->msg, msg);
+ return;
+}
+
+#ifndef INT_MAX
+/* portably return maximum value for an int (when limits.h presumed not
+ available) -- we need to do this to cover cases where 2's complement not
+ used, since C standard permits 1's complement and sign-bit representations,
+ otherwise we could just use ((unsigned)-1) >> 1 */
+unsigned ZLIB_INTERNAL gz_intmax()
+{
+ unsigned p, q;
+
+ p = 1;
+ do {
+ q = p;
+ p <<= 1;
+ p++;
+ } while (p > q);
+ return q >> 1;
+}
+#endif
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/gzread.c b/jdk/src/share/native/java/util/zip/zlib-1.2.5/gzread.c
new file mode 100644
index 0000000..15e8502
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/gzread.c
@@ -0,0 +1,677 @@
+/*
+ * 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.
+ */
+
+/* gzread.c -- zlib functions for reading gzip files
+ * Copyright (C) 2004, 2005, 2010 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+#include "gzguts.h"
+
+/* Local functions */
+local int gz_load OF((gz_statep, unsigned char *, unsigned, unsigned *));
+local int gz_avail OF((gz_statep));
+local int gz_next4 OF((gz_statep, unsigned long *));
+local int gz_head OF((gz_statep));
+local int gz_decomp OF((gz_statep));
+local int gz_make OF((gz_statep));
+local int gz_skip OF((gz_statep, z_off64_t));
+
+/* Use read() to load a buffer -- return -1 on error, otherwise 0. Read from
+ state->fd, and update state->eof, state->err, and state->msg as appropriate.
+ This function needs to loop on read(), since read() is not guaranteed to
+ read the number of bytes requested, depending on the type of descriptor. */
+local int gz_load(state, buf, len, have)
+ gz_statep state;
+ unsigned char *buf;
+ unsigned len;
+ unsigned *have;
+{
+ int ret;
+
+ *have = 0;
+ do {
+ ret = read(state->fd, buf + *have, len - *have);
+ if (ret <= 0)
+ break;
+ *have += ret;
+ } while (*have < len);
+ if (ret < 0) {
+ gz_error(state, Z_ERRNO, zstrerror());
+ return -1;
+ }
+ if (ret == 0)
+ state->eof = 1;
+ return 0;
+}
+
+/* Load up input buffer and set eof flag if last data loaded -- return -1 on
+ error, 0 otherwise. Note that the eof flag is set when the end of the input
+ file is reached, even though there may be unused data in the buffer. Once
+ that data has been used, no more attempts will be made to read the file.
+ gz_avail() assumes that strm->avail_in == 0. */
+local int gz_avail(state)
+ gz_statep state;
+{
+ z_streamp strm = &(state->strm);
+
+ if (state->err != Z_OK)
+ return -1;
+ if (state->eof == 0) {
+ if (gz_load(state, state->in, state->size,
+ (unsigned *)&(strm->avail_in)) == -1)
+ return -1;
+ strm->next_in = state->in;
+ }
+ return 0;
+}
+
+/* Get next byte from input, or -1 if end or error. */
+#define NEXT() ((strm->avail_in == 0 && gz_avail(state) == -1) ? -1 : \
+ (strm->avail_in == 0 ? -1 : \
+ (strm->avail_in--, *(strm->next_in)++)))
+
+/* Get a four-byte little-endian integer and return 0 on success and the value
+ in *ret. Otherwise -1 is returned and *ret is not modified. */
+local int gz_next4(state, ret)
+ gz_statep state;
+ unsigned long *ret;
+{
+ int ch;
+ unsigned long val;
+ z_streamp strm = &(state->strm);
+
+ val = NEXT();
+ val += (unsigned)NEXT() << 8;
+ val += (unsigned long)NEXT() << 16;
+ ch = NEXT();
+ if (ch == -1)
+ return -1;
+ val += (unsigned long)ch << 24;
+ *ret = val;
+ return 0;
+}
+
+/* Look for gzip header, set up for inflate or copy. state->have must be zero.
+ If this is the first time in, allocate required memory. state->how will be
+ left unchanged if there is no more input data available, will be set to COPY
+ if there is no gzip header and direct copying will be performed, or it will
+ be set to GZIP for decompression, and the gzip header will be skipped so
+ that the next available input data is the raw deflate stream. If direct
+ copying, then leftover input data from the input buffer will be copied to
+ the output buffer. In that case, all further file reads will be directly to
+ either the output buffer or a user buffer. If decompressing, the inflate
+ state and the check value will be initialized. gz_head() will return 0 on
+ success or -1 on failure. Failures may include read errors or gzip header
+ errors. */
+local int gz_head(state)
+ gz_statep state;
+{
+ z_streamp strm = &(state->strm);
+ int flags;
+ unsigned len;
+
+ /* allocate read buffers and inflate memory */
+ if (state->size == 0) {
+ /* allocate buffers */
+ state->in = malloc(state->want);
+ state->out = malloc(state->want << 1);
+ if (state->in == NULL || state->out == NULL) {
+ if (state->out != NULL)
+ free(state->out);
+ if (state->in != NULL)
+ free(state->in);
+ gz_error(state, Z_MEM_ERROR, "out of memory");
+ return -1;
+ }
+ state->size = state->want;
+
+ /* allocate inflate memory */
+ state->strm.zalloc = Z_NULL;
+ state->strm.zfree = Z_NULL;
+ state->strm.opaque = Z_NULL;
+ state->strm.avail_in = 0;
+ state->strm.next_in = Z_NULL;
+ if (inflateInit2(&(state->strm), -15) != Z_OK) { /* raw inflate */
+ free(state->out);
+ free(state->in);
+ state->size = 0;
+ gz_error(state, Z_MEM_ERROR, "out of memory");
+ return -1;
+ }
+ }
+
+ /* get some data in the input buffer */
+ if (strm->avail_in == 0) {
+ if (gz_avail(state) == -1)
+ return -1;
+ if (strm->avail_in == 0)
+ return 0;
+ }
+
+ /* look for the gzip magic header bytes 31 and 139 */
+ if (strm->next_in[0] == 31) {
+ strm->avail_in--;
+ strm->next_in++;
+ if (strm->avail_in == 0 && gz_avail(state) == -1)
+ return -1;
+ if (strm->avail_in && strm->next_in[0] == 139) {
+ /* we have a gzip header, woo hoo! */
+ strm->avail_in--;
+ strm->next_in++;
+
+ /* skip rest of header */
+ if (NEXT() != 8) { /* compression method */
+ gz_error(state, Z_DATA_ERROR, "unknown compression method");
+ return -1;
+ }
+ flags = NEXT();
+ if (flags & 0xe0) { /* reserved flag bits */
+ gz_error(state, Z_DATA_ERROR, "unknown header flags set");
+ return -1;
+ }
+ NEXT(); /* modification time */
+ NEXT();
+ NEXT();
+ NEXT();
+ NEXT(); /* extra flags */
+ NEXT(); /* operating system */
+ if (flags & 4) { /* extra field */
+ len = (unsigned)NEXT();
+ len += (unsigned)NEXT() << 8;
+ while (len--)
+ if (NEXT() < 0)
+ break;
+ }
+ if (flags & 8) /* file name */
+ while (NEXT() > 0)
+ ;
+ if (flags & 16) /* comment */
+ while (NEXT() > 0)
+ ;
+ if (flags & 2) { /* header crc */
+ NEXT();
+ NEXT();
+ }
+ /* an unexpected end of file is not checked for here -- it will be
+ noticed on the first request for uncompressed data */
+
+ /* set up for decompression */
+ inflateReset(strm);
+ strm->adler = crc32(0L, Z_NULL, 0);
+ state->how = GZIP;
+ state->direct = 0;
+ return 0;
+ }
+ else {
+ /* not a gzip file -- save first byte (31) and fall to raw i/o */
+ state->out[0] = 31;
+ state->have = 1;
+ }
+ }
+
+ /* doing raw i/o, save start of raw data for seeking, copy any leftover
+ input to output -- this assumes that the output buffer is larger than
+ the input buffer, which also assures space for gzungetc() */
+ state->raw = state->pos;
+ state->next = state->out;
+ if (strm->avail_in) {
+ memcpy(state->next + state->have, strm->next_in, strm->avail_in);
+ state->have += strm->avail_in;
+ strm->avail_in = 0;
+ }
+ state->how = COPY;
+ state->direct = 1;
+ return 0;
+}
+
+/* Decompress from input to the provided next_out and avail_out in the state.
+ If the end of the compressed data is reached, then verify the gzip trailer
+ check value and length (modulo 2^32). state->have and state->next are set
+ to point to the just decompressed data, and the crc is updated. If the
+ trailer is verified, state->how is reset to LOOK to look for the next gzip
+ stream or raw data, once state->have is depleted. Returns 0 on success, -1
+ on failure. Failures may include invalid compressed data or a failed gzip
+ trailer verification. */
+local int gz_decomp(state)
+ gz_statep state;
+{
+ int ret;
+ unsigned had;
+ unsigned long crc, len;
+ z_streamp strm = &(state->strm);
+
+ /* fill output buffer up to end of deflate stream */
+ had = strm->avail_out;
+ do {
+ /* get more input for inflate() */
+ if (strm->avail_in == 0 && gz_avail(state) == -1)
+ return -1;
+ if (strm->avail_in == 0) {
+ gz_error(state, Z_DATA_ERROR, "unexpected end of file");
+ return -1;
+ }
+
+ /* decompress and handle errors */
+ ret = inflate(strm, Z_NO_FLUSH);
+ if (ret == Z_STREAM_ERROR || ret == Z_NEED_DICT) {
+ gz_error(state, Z_STREAM_ERROR,
+ "internal error: inflate stream corrupt");
+ return -1;
+ }
+ if (ret == Z_MEM_ERROR) {
+ gz_error(state, Z_MEM_ERROR, "out of memory");
+ return -1;
+ }
+ if (ret == Z_DATA_ERROR) { /* deflate stream invalid */
+ gz_error(state, Z_DATA_ERROR,
+ strm->msg == NULL ? "compressed data error" : strm->msg);
+ return -1;
+ }
+ } while (strm->avail_out && ret != Z_STREAM_END);
+
+ /* update available output and crc check value */
+ state->have = had - strm->avail_out;
+ state->next = strm->next_out - state->have;
+ strm->adler = crc32(strm->adler, state->next, state->have);
+
+ /* check gzip trailer if at end of deflate stream */
+ if (ret == Z_STREAM_END) {
+ if (gz_next4(state, &crc) == -1 || gz_next4(state, &len) == -1) {
+ gz_error(state, Z_DATA_ERROR, "unexpected end of file");
+ return -1;
+ }
+ if (crc != strm->adler) {
+ gz_error(state, Z_DATA_ERROR, "incorrect data check");
+ return -1;
+ }
+ if (len != (strm->total_out & 0xffffffffL)) {
+ gz_error(state, Z_DATA_ERROR, "incorrect length check");
+ return -1;
+ }
+ state->how = LOOK; /* ready for next stream, once have is 0 (leave
+ state->direct unchanged to remember how) */
+ }
+
+ /* good decompression */
+ return 0;
+}
+
+/* Make data and put in the output buffer. Assumes that state->have == 0.
+ Data is either copied from the input file or decompressed from the input
+ file depending on state->how. If state->how is LOOK, then a gzip header is
+ looked for (and skipped if found) to determine wither to copy or decompress.
+ Returns -1 on error, otherwise 0. gz_make() will leave state->have as COPY
+ or GZIP unless the end of the input file has been reached and all data has
+ been processed. */
+local int gz_make(state)
+ gz_statep state;
+{
+ z_streamp strm = &(state->strm);
+
+ if (state->how == LOOK) { /* look for gzip header */
+ if (gz_head(state) == -1)
+ return -1;
+ if (state->have) /* got some data from gz_head() */
+ return 0;
+ }
+ if (state->how == COPY) { /* straight copy */
+ if (gz_load(state, state->out, state->size << 1, &(state->have)) == -1)
+ return -1;
+ state->next = state->out;
+ }
+ else if (state->how == GZIP) { /* decompress */
+ strm->avail_out = state->size << 1;
+ strm->next_out = state->out;
+ if (gz_decomp(state) == -1)
+ return -1;
+ }
+ return 0;
+}
+
+/* Skip len uncompressed bytes of output. Return -1 on error, 0 on success. */
+local int gz_skip(state, len)
+ gz_statep state;
+ z_off64_t len;
+{
+ unsigned n;
+
+ /* skip over len bytes or reach end-of-file, whichever comes first */
+ while (len)
+ /* skip over whatever is in output buffer */
+ if (state->have) {
+ n = GT_OFF(state->have) || (z_off64_t)state->have > len ?
+ (unsigned)len : state->have;
+ state->have -= n;
+ state->next += n;
+ state->pos += n;
+ len -= n;
+ }
+
+ /* output buffer empty -- return if we're at the end of the input */
+ else if (state->eof && state->strm.avail_in == 0)
+ break;
+
+ /* need more data to skip -- load up output buffer */
+ else {
+ /* get more output, looking for header if required */
+ if (gz_make(state) == -1)
+ return -1;
+ }
+ return 0;
+}
+
+/* -- see zlib.h -- */
+int ZEXPORT gzread(file, buf, len)
+ gzFile file;
+ voidp buf;
+ unsigned len;
+{
+ unsigned got, n;
+ gz_statep state;
+ z_streamp strm;
+
+ /* get internal structure */
+ if (file == NULL)
+ return -1;
+ state = (gz_statep)file;
+ strm = &(state->strm);
+
+ /* check that we're reading and that there's no error */
+ if (state->mode != GZ_READ || state->err != Z_OK)
+ return -1;
+
+ /* since an int is returned, make sure len fits in one, otherwise return
+ with an error (this avoids the flaw in the interface) */
+ if ((int)len < 0) {
+ gz_error(state, Z_BUF_ERROR, "requested length does not fit in int");
+ return -1;
+ }
+
+ /* if len is zero, avoid unnecessary operations */
+ if (len == 0)
+ return 0;
+
+ /* process a skip request */
+ if (state->seek) {
+ state->seek = 0;
+ if (gz_skip(state, state->skip) == -1)
+ return -1;
+ }
+
+ /* get len bytes to buf, or less than len if at the end */
+ got = 0;
+ do {
+ /* first just try copying data from the output buffer */
+ if (state->have) {
+ n = state->have > len ? len : state->have;
+ memcpy(buf, state->next, n);
+ state->next += n;
+ state->have -= n;
+ }
+
+ /* output buffer empty -- return if we're at the end of the input */
+ else if (state->eof && strm->avail_in == 0)
+ break;
+
+ /* need output data -- for small len or new stream load up our output
+ buffer */
+ else if (state->how == LOOK || len < (state->size << 1)) {
+ /* get more output, looking for header if required */
+ if (gz_make(state) == -1)
+ return -1;
+ continue; /* no progress yet -- go back to memcpy() above */
+ /* the copy above assures that we will leave with space in the
+ output buffer, allowing at least one gzungetc() to succeed */
+ }
+
+ /* large len -- read directly into user buffer */
+ else if (state->how == COPY) { /* read directly */
+ if (gz_load(state, buf, len, &n) == -1)
+ return -1;
+ }
+
+ /* large len -- decompress directly into user buffer */
+ else { /* state->how == GZIP */
+ strm->avail_out = len;
+ strm->next_out = buf;
+ if (gz_decomp(state) == -1)
+ return -1;
+ n = state->have;
+ state->have = 0;
+ }
+
+ /* update progress */
+ len -= n;
+ buf = (char *)buf + n;
+ got += n;
+ state->pos += n;
+ } while (len);
+
+ /* return number of bytes read into user buffer (will fit in int) */
+ return (int)got;
+}
+
+/* -- see zlib.h -- */
+int ZEXPORT gzgetc(file)
+ gzFile file;
+{
+ int ret;
+ unsigned char buf[1];
+ gz_statep state;
+
+ /* get internal structure */
+ if (file == NULL)
+ return -1;
+ state = (gz_statep)file;
+
+ /* check that we're reading and that there's no error */
+ if (state->mode != GZ_READ || state->err != Z_OK)
+ return -1;
+
+ /* try output buffer (no need to check for skip request) */
+ if (state->have) {
+ state->have--;
+ state->pos++;
+ return *(state->next)++;
+ }
+
+ /* nothing there -- try gzread() */
+ ret = gzread(file, buf, 1);
+ return ret < 1 ? -1 : buf[0];
+}
+
+/* -- see zlib.h -- */
+int ZEXPORT gzungetc(c, file)
+ int c;
+ gzFile file;
+{
+ gz_statep state;
+
+ /* get internal structure */
+ if (file == NULL)
+ return -1;
+ state = (gz_statep)file;
+
+ /* check that we're reading and that there's no error */
+ if (state->mode != GZ_READ || state->err != Z_OK)
+ return -1;
+
+ /* process a skip request */
+ if (state->seek) {
+ state->seek = 0;
+ if (gz_skip(state, state->skip) == -1)
+ return -1;
+ }
+
+ /* can't push EOF */
+ if (c < 0)
+ return -1;
+
+ /* if output buffer empty, put byte at end (allows more pushing) */
+ if (state->have == 0) {
+ state->have = 1;
+ state->next = state->out + (state->size << 1) - 1;
+ state->next[0] = c;
+ state->pos--;
+ return c;
+ }
+
+ /* if no room, give up (must have already done a gzungetc()) */
+ if (state->have == (state->size << 1)) {
+ gz_error(state, Z_BUF_ERROR, "out of room to push characters");
+ return -1;
+ }
+
+ /* slide output data if needed and insert byte before existing data */
+ if (state->next == state->out) {
+ unsigned char *src = state->out + state->have;
+ unsigned char *dest = state->out + (state->size << 1);
+ while (src > state->out)
+ *--dest = *--src;
+ state->next = dest;
+ }
+ state->have++;
+ state->next--;
+ state->next[0] = c;
+ state->pos--;
+ return c;
+}
+
+/* -- see zlib.h -- */
+char * ZEXPORT gzgets(file, buf, len)
+ gzFile file;
+ char *buf;
+ int len;
+{
+ unsigned left, n;
+ char *str;
+ unsigned char *eol;
+ gz_statep state;
+
+ /* check parameters and get internal structure */
+ if (file == NULL || buf == NULL || len < 1)
+ return NULL;
+ state = (gz_statep)file;
+
+ /* check that we're reading and that there's no error */
+ if (state->mode != GZ_READ || state->err != Z_OK)
+ return NULL;
+
+ /* process a skip request */
+ if (state->seek) {
+ state->seek = 0;
+ if (gz_skip(state, state->skip) == -1)
+ return NULL;
+ }
+
+ /* copy output bytes up to new line or len - 1, whichever comes first --
+ append a terminating zero to the string (we don't check for a zero in
+ the contents, let the user worry about that) */
+ str = buf;
+ left = (unsigned)len - 1;
+ if (left) do {
+ /* assure that something is in the output buffer */
+ if (state->have == 0) {
+ if (gz_make(state) == -1)
+ return NULL; /* error */
+ if (state->have == 0) { /* end of file */
+ if (buf == str) /* got bupkus */
+ return NULL;
+ break; /* got something -- return it */
+ }
+ }
+
+ /* look for end-of-line in current output buffer */
+ n = state->have > left ? left : state->have;
+ eol = memchr(state->next, '\n', n);
+ if (eol != NULL)
+ n = (unsigned)(eol - state->next) + 1;
+
+ /* copy through end-of-line, or remainder if not found */
+ memcpy(buf, state->next, n);
+ state->have -= n;
+ state->next += n;
+ state->pos += n;
+ left -= n;
+ buf += n;
+ } while (left && eol == NULL);
+
+ /* found end-of-line or out of space -- terminate string and return it */
+ buf[0] = 0;
+ return str;
+}
+
+/* -- see zlib.h -- */
+int ZEXPORT gzdirect(file)
+ gzFile file;
+{
+ gz_statep state;
+
+ /* get internal structure */
+ if (file == NULL)
+ return 0;
+ state = (gz_statep)file;
+
+ /* check that we're reading */
+ if (state->mode != GZ_READ)
+ return 0;
+
+ /* if the state is not known, but we can find out, then do so (this is
+ mainly for right after a gzopen() or gzdopen()) */
+ if (state->how == LOOK && state->have == 0)
+ (void)gz_head(state);
+
+ /* return 1 if reading direct, 0 if decompressing a gzip stream */
+ return state->direct;
+}
+
+/* -- see zlib.h -- */
+int ZEXPORT gzclose_r(file)
+ gzFile file;
+{
+ int ret;
+ gz_statep state;
+
+ /* get internal structure */
+ if (file == NULL)
+ return Z_STREAM_ERROR;
+ state = (gz_statep)file;
+
+ /* check that we're reading */
+ if (state->mode != GZ_READ)
+ return Z_STREAM_ERROR;
+
+ /* free memory and close file */
+ if (state->size) {
+ inflateEnd(&(state->strm));
+ free(state->out);
+ free(state->in);
+ }
+ gz_error(state, Z_OK, NULL);
+ free(state->path);
+ ret = close(state->fd);
+ free(state);
+ return ret ? Z_ERRNO : Z_OK;
+}
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/gzwrite.c b/jdk/src/share/native/java/util/zip/zlib-1.2.5/gzwrite.c
new file mode 100644
index 0000000..bff643e
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/gzwrite.c
@@ -0,0 +1,555 @@
+/*
+ * 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.
+ */
+
+/* gzwrite.c -- zlib functions for writing gzip files
+ * Copyright (C) 2004, 2005, 2010 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+#include "gzguts.h"
+
+/* Local functions */
+local int gz_init OF((gz_statep));
+local int gz_comp OF((gz_statep, int));
+local int gz_zero OF((gz_statep, z_off64_t));
+
+/* Initialize state for writing a gzip file. Mark initialization by setting
+ state->size to non-zero. Return -1 on failure or 0 on success. */
+local int gz_init(state)
+ gz_statep state;
+{
+ int ret;
+ z_streamp strm = &(state->strm);
+
+ /* allocate input and output buffers */
+ state->in = malloc(state->want);
+ state->out = malloc(state->want);
+ if (state->in == NULL || state->out == NULL) {
+ if (state->out != NULL)
+ free(state->out);
+ if (state->in != NULL)
+ free(state->in);
+ gz_error(state, Z_MEM_ERROR, "out of memory");
+ return -1;
+ }
+
+ /* allocate deflate memory, set up for gzip compression */
+ strm->zalloc = Z_NULL;
+ strm->zfree = Z_NULL;
+ strm->opaque = Z_NULL;
+ ret = deflateInit2(strm, state->level, Z_DEFLATED,
+ 15 + 16, 8, state->strategy);
+ if (ret != Z_OK) {
+ free(state->in);
+ gz_error(state, Z_MEM_ERROR, "out of memory");
+ return -1;
+ }
+
+ /* mark state as initialized */
+ state->size = state->want;
+
+ /* initialize write buffer */
+ strm->avail_out = state->size;
+ strm->next_out = state->out;
+ state->next = strm->next_out;
+ return 0;
+}
+
+/* Compress whatever is at avail_in and next_in and write to the output file.
+ Return -1 if there is an error writing to the output file, otherwise 0.
+ flush is assumed to be a valid deflate() flush value. If flush is Z_FINISH,
+ then the deflate() state is reset to start a new gzip stream. */
+local int gz_comp(state, flush)
+ gz_statep state;
+ int flush;
+{
+ int ret, got;
+ unsigned have;
+ z_streamp strm = &(state->strm);
+
+ /* allocate memory if this is the first time through */
+ if (state->size == 0 && gz_init(state) == -1)
+ return -1;
+
+ /* run deflate() on provided input until it produces no more output */
+ ret = Z_OK;
+ do {
+ /* write out current buffer contents if full, or if flushing, but if
+ doing Z_FINISH then don't write until we get to Z_STREAM_END */
+ if (strm->avail_out == 0 || (flush != Z_NO_FLUSH &&
+ (flush != Z_FINISH || ret == Z_STREAM_END))) {
+ have = (unsigned)(strm->next_out - state->next);
+ if (have && ((got = write(state->fd, state->next, have)) < 0 ||
+ (unsigned)got != have)) {
+ gz_error(state, Z_ERRNO, zstrerror());
+ return -1;
+ }
+ if (strm->avail_out == 0) {
+ strm->avail_out = state->size;
+ strm->next_out = state->out;
+ }
+ state->next = strm->next_out;
+ }
+
+ /* compress */
+ have = strm->avail_out;
+ ret = deflate(strm, flush);
+ if (ret == Z_STREAM_ERROR) {
+ gz_error(state, Z_STREAM_ERROR,
+ "internal error: deflate stream corrupt");
+ return -1;
+ }
+ have -= strm->avail_out;
+ } while (have);
+
+ /* if that completed a deflate stream, allow another to start */
+ if (flush == Z_FINISH)
+ deflateReset(strm);
+
+ /* all done, no errors */
+ return 0;
+}
+
+/* Compress len zeros to output. Return -1 on error, 0 on success. */
+local int gz_zero(state, len)
+ gz_statep state;
+ z_off64_t len;
+{
+ int first;
+ unsigned n;
+ z_streamp strm = &(state->strm);
+
+ /* consume whatever's left in the input buffer */
+ if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1)
+ return -1;
+
+ /* compress len zeros (len guaranteed > 0) */
+ first = 1;
+ while (len) {
+ n = GT_OFF(state->size) || (z_off64_t)state->size > len ?
+ (unsigned)len : state->size;
+ if (first) {
+ memset(state->in, 0, n);
+ first = 0;
+ }
+ strm->avail_in = n;
+ strm->next_in = state->in;
+ state->pos += n;
+ if (gz_comp(state, Z_NO_FLUSH) == -1)
+ return -1;
+ len -= n;
+ }
+ return 0;
+}
+
+/* -- see zlib.h -- */
+int ZEXPORT gzwrite(file, buf, len)
+ gzFile file;
+ voidpc buf;
+ unsigned len;
+{
+ unsigned put = len;
+ unsigned n;
+ gz_statep state;
+ z_streamp strm;
+
+ /* get internal structure */
+ if (file == NULL)
+ return 0;
+ state = (gz_statep)file;
+ strm = &(state->strm);
+
+ /* check that we're writing and that there's no error */
+ if (state->mode != GZ_WRITE || state->err != Z_OK)
+ return 0;
+
+ /* since an int is returned, make sure len fits in one, otherwise return
+ with an error (this avoids the flaw in the interface) */
+ if ((int)len < 0) {
+ gz_error(state, Z_BUF_ERROR, "requested length does not fit in int");
+ return 0;
+ }
+
+ /* if len is zero, avoid unnecessary operations */
+ if (len == 0)
+ return 0;
+
+ /* allocate memory if this is the first time through */
+ if (state->size == 0 && gz_init(state) == -1)
+ return 0;
+
+ /* check for seek request */
+ if (state->seek) {
+ state->seek = 0;
+ if (gz_zero(state, state->skip) == -1)
+ return 0;
+ }
+
+ /* for small len, copy to input buffer, otherwise compress directly */
+ if (len < state->size) {
+ /* copy to input buffer, compress when full */
+ do {
+ if (strm->avail_in == 0)
+ strm->next_in = state->in;
+ n = state->size - strm->avail_in;
+ if (n > len)
+ n = len;
+ memcpy(strm->next_in + strm->avail_in, buf, n);
+ strm->avail_in += n;
+ state->pos += n;
+ buf = (char *)buf + n;
+ len -= n;
+ if (len && gz_comp(state, Z_NO_FLUSH) == -1)
+ return 0;
+ } while (len);
+ }
+ else {
+ /* consume whatever's left in the input buffer */
+ if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1)
+ return 0;
+
+ /* directly compress user buffer to file */
+ strm->avail_in = len;
+ strm->next_in = (voidp)buf;
+ state->pos += len;
+ if (gz_comp(state, Z_NO_FLUSH) == -1)
+ return 0;
+ }
+
+ /* input was all buffered or compressed (put will fit in int) */
+ return (int)put;
+}
+
+/* -- see zlib.h -- */
+int ZEXPORT gzputc(file, c)
+ gzFile file;
+ int c;
+{
+ unsigned char buf[1];
+ gz_statep state;
+ z_streamp strm;
+
+ /* get internal structure */
+ if (file == NULL)
+ return -1;
+ state = (gz_statep)file;
+ strm = &(state->strm);
+
+ /* check that we're writing and that there's no error */
+ if (state->mode != GZ_WRITE || state->err != Z_OK)
+ return -1;
+
+ /* check for seek request */
+ if (state->seek) {
+ state->seek = 0;
+ if (gz_zero(state, state->skip) == -1)
+ return -1;
+ }
+
+ /* try writing to input buffer for speed (state->size == 0 if buffer not
+ initialized) */
+ if (strm->avail_in < state->size) {
+ if (strm->avail_in == 0)
+ strm->next_in = state->in;
+ strm->next_in[strm->avail_in++] = c;
+ state->pos++;
+ return c;
+ }
+
+ /* no room in buffer or not initialized, use gz_write() */
+ buf[0] = c;
+ if (gzwrite(file, buf, 1) != 1)
+ return -1;
+ return c;
+}
+
+/* -- see zlib.h -- */
+int ZEXPORT gzputs(file, str)
+ gzFile file;
+ const char *str;
+{
+ int ret;
+ unsigned len;
+
+ /* write string */
+ len = (unsigned)strlen(str);
+ ret = gzwrite(file, str, len);
+ return ret == 0 && len != 0 ? -1 : ret;
+}
+
+#ifdef STDC
+#include <stdarg.h>
+
+/* -- see zlib.h -- */
+int ZEXPORTVA gzprintf (gzFile file, const char *format, ...)
+{
+ int size, len;
+ gz_statep state;
+ z_streamp strm;
+ va_list va;
+
+ /* get internal structure */
+ if (file == NULL)
+ return -1;
+ state = (gz_statep)file;
+ strm = &(state->strm);
+
+ /* check that we're writing and that there's no error */
+ if (state->mode != GZ_WRITE || state->err != Z_OK)
+ return 0;
+
+ /* make sure we have some buffer space */
+ if (state->size == 0 && gz_init(state) == -1)
+ return 0;
+
+ /* check for seek request */
+ if (state->seek) {
+ state->seek = 0;
+ if (gz_zero(state, state->skip) == -1)
+ return 0;
+ }
+
+ /* consume whatever's left in the input buffer */
+ if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1)
+ return 0;
+
+ /* do the printf() into the input buffer, put length in len */
+ size = (int)(state->size);
+ state->in[size - 1] = 0;
+ va_start(va, format);
+#ifdef NO_vsnprintf
+# ifdef HAS_vsprintf_void
+ (void)vsprintf(state->in, format, va);
+ va_end(va);
+ for (len = 0; len < size; len++)
+ if (state->in[len] == 0) break;
+# else
+ len = vsprintf(state->in, format, va);
+ va_end(va);
+# endif
+#else
+# ifdef HAS_vsnprintf_void
+ (void)vsnprintf(state->in, size, format, va);
+ va_end(va);
+ len = strlen(state->in);
+# else
+ len = vsnprintf((char *)(state->in), size, format, va);
+ va_end(va);
+# endif
+#endif
+
+ /* check that printf() results fit in buffer */
+ if (len <= 0 || len >= (int)size || state->in[size - 1] != 0)
+ return 0;
+
+ /* update buffer and position, defer compression until needed */
+ strm->avail_in = (unsigned)len;
+ strm->next_in = state->in;
+ state->pos += len;
+ return len;
+}
+
+#else /* !STDC */
+
+/* -- see zlib.h -- */
+int ZEXPORTVA gzprintf (file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
+ a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)
+ gzFile file;
+ const char *format;
+ int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
+ a11, a12, a13, a14, a15, a16, a17, a18, a19, a20;
+{
+ int size, len;
+ gz_statep state;
+ z_streamp strm;
+
+ /* get internal structure */
+ if (file == NULL)
+ return -1;
+ state = (gz_statep)file;
+ strm = &(state->strm);
+
+ /* check that we're writing and that there's no error */
+ if (state->mode != GZ_WRITE || state->err != Z_OK)
+ return 0;
+
+ /* make sure we have some buffer space */
+ if (state->size == 0 && gz_init(state) == -1)
+ return 0;
+
+ /* check for seek request */
+ if (state->seek) {
+ state->seek = 0;
+ if (gz_zero(state, state->skip) == -1)
+ return 0;
+ }
+
+ /* consume whatever's left in the input buffer */
+ if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1)
+ return 0;
+
+ /* do the printf() into the input buffer, put length in len */
+ size = (int)(state->size);
+ state->in[size - 1] = 0;
+#ifdef NO_snprintf
+# ifdef HAS_sprintf_void
+ sprintf(state->in, format, a1, a2, a3, a4, a5, a6, a7, a8,
+ a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
+ for (len = 0; len < size; len++)
+ if (state->in[len] == 0) break;
+# else
+ len = sprintf(state->in, format, a1, a2, a3, a4, a5, a6, a7, a8,
+ a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
+# endif
+#else
+# ifdef HAS_snprintf_void
+ snprintf(state->in, size, format, a1, a2, a3, a4, a5, a6, a7, a8,
+ a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
+ len = strlen(state->in);
+# else
+ len = snprintf(state->in, size, format, a1, a2, a3, a4, a5, a6, a7, a8,
+ a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
+# endif
+#endif
+
+ /* check that printf() results fit in buffer */
+ if (len <= 0 || len >= (int)size || state->in[size - 1] != 0)
+ return 0;
+
+ /* update buffer and position, defer compression until needed */
+ strm->avail_in = (unsigned)len;
+ strm->next_in = state->in;
+ state->pos += len;
+ return len;
+}
+
+#endif
+
+/* -- see zlib.h -- */
+int ZEXPORT gzflush(file, flush)
+ gzFile file;
+ int flush;
+{
+ gz_statep state;
+
+ /* get internal structure */
+ if (file == NULL)
+ return -1;
+ state = (gz_statep)file;
+
+ /* check that we're writing and that there's no error */
+ if (state->mode != GZ_WRITE || state->err != Z_OK)
+ return Z_STREAM_ERROR;
+
+ /* check flush parameter */
+ if (flush < 0 || flush > Z_FINISH)
+ return Z_STREAM_ERROR;
+
+ /* check for seek request */
+ if (state->seek) {
+ state->seek = 0;
+ if (gz_zero(state, state->skip) == -1)
+ return -1;
+ }
+
+ /* compress remaining data with requested flush */
+ gz_comp(state, flush);
+ return state->err;
+}
+
+/* -- see zlib.h -- */
+int ZEXPORT gzsetparams(file, level, strategy)
+ gzFile file;
+ int level;
+ int strategy;
+{
+ gz_statep state;
+ z_streamp strm;
+
+ /* get internal structure */
+ if (file == NULL)
+ return Z_STREAM_ERROR;
+ state = (gz_statep)file;
+ strm = &(state->strm);
+
+ /* check that we're writing and that there's no error */
+ if (state->mode != GZ_WRITE || state->err != Z_OK)
+ return Z_STREAM_ERROR;
+
+ /* if no change is requested, then do nothing */
+ if (level == state->level && strategy == state->strategy)
+ return Z_OK;
+
+ /* check for seek request */
+ if (state->seek) {
+ state->seek = 0;
+ if (gz_zero(state, state->skip) == -1)
+ return -1;
+ }
+
+ /* change compression parameters for subsequent input */
+ if (state->size) {
+ /* flush previous input with previous parameters before changing */
+ if (strm->avail_in && gz_comp(state, Z_PARTIAL_FLUSH) == -1)
+ return state->err;
+ deflateParams(strm, level, strategy);
+ }
+ state->level = level;
+ state->strategy = strategy;
+ return Z_OK;
+}
+
+/* -- see zlib.h -- */
+int ZEXPORT gzclose_w(file)
+ gzFile file;
+{
+ int ret = 0;
+ gz_statep state;
+
+ /* get internal structure */
+ if (file == NULL)
+ return Z_STREAM_ERROR;
+ state = (gz_statep)file;
+
+ /* check that we're writing */
+ if (state->mode != GZ_WRITE)
+ return Z_STREAM_ERROR;
+
+ /* check for seek request */
+ if (state->seek) {
+ state->seek = 0;
+ ret += gz_zero(state, state->skip);
+ }
+
+ /* flush, free memory, and close file */
+ ret += gz_comp(state, Z_FINISH);
+ (void)deflateEnd(&(state->strm));
+ free(state->out);
+ free(state->in);
+ gz_error(state, Z_OK, NULL);
+ free(state->path);
+ ret += close(state->fd);
+ free(state);
+ return ret ? Z_ERRNO : Z_OK;
+}
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/infback.c b/jdk/src/share/native/java/util/zip/zlib-1.2.5/infback.c
new file mode 100644
index 0000000..783274e
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/infback.c
@@ -0,0 +1,656 @@
+/*
+ * 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.
+ */
+
+/* infback.c -- inflate using a call-back interface
+ * Copyright (C) 1995-2009 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/*
+ This code is largely copied from inflate.c. Normally either infback.o or
+ inflate.o would be linked into an application--not both. The interface
+ with inffast.c is retained so that optimized assembler-coded versions of
+ inflate_fast() can be used with either inflate.c or infback.c.
+ */
+
+#include "zutil.h"
+#include "inftrees.h"
+#include "inflate.h"
+#include "inffast.h"
+
+/* function prototypes */
+local void fixedtables OF((struct inflate_state FAR *state));
+
+/*
+ strm provides memory allocation functions in zalloc and zfree, or
+ Z_NULL to use the library memory allocation functions.
+
+ windowBits is in the range 8..15, and window is a user-supplied
+ window and output buffer that is 2**windowBits bytes.
+ */
+int ZEXPORT inflateBackInit_(strm, windowBits, window, version, stream_size)
+z_streamp strm;
+int windowBits;
+unsigned char FAR *window;
+const char *version;
+int stream_size;
+{
+ struct inflate_state FAR *state;
+
+ if (version == Z_NULL || version[0] != ZLIB_VERSION[0] ||
+ stream_size != (int)(sizeof(z_stream)))
+ return Z_VERSION_ERROR;
+ if (strm == Z_NULL || window == Z_NULL ||
+ windowBits < 8 || windowBits > 15)
+ return Z_STREAM_ERROR;
+ strm->msg = Z_NULL; /* in case we return an error */
+ if (strm->zalloc == (alloc_func)0) {
+ strm->zalloc = zcalloc;
+ strm->opaque = (voidpf)0;
+ }
+ if (strm->zfree == (free_func)0) strm->zfree = zcfree;
+ state = (struct inflate_state FAR *)ZALLOC(strm, 1,
+ sizeof(struct inflate_state));
+ if (state == Z_NULL) return Z_MEM_ERROR;
+ Tracev((stderr, "inflate: allocated\n"));
+ strm->state = (struct internal_state FAR *)state;
+ state->dmax = 32768U;
+ state->wbits = windowBits;
+ state->wsize = 1U << windowBits;
+ state->window = window;
+ state->wnext = 0;
+ state->whave = 0;
+ return Z_OK;
+}
+
+/*
+ Return state with length and distance decoding tables and index sizes set to
+ fixed code decoding. Normally this returns fixed tables from inffixed.h.
+ If BUILDFIXED is defined, then instead this routine builds the tables the
+ first time it's called, and returns those tables the first time and
+ thereafter. This reduces the size of the code by about 2K bytes, in
+ exchange for a little execution time. However, BUILDFIXED should not be
+ used for threaded applications, since the rewriting of the tables and virgin
+ may not be thread-safe.
+ */
+local void fixedtables(state)
+struct inflate_state FAR *state;
+{
+#ifdef BUILDFIXED
+ static int virgin = 1;
+ static code *lenfix, *distfix;
+ static code fixed[544];
+
+ /* build fixed huffman tables if first call (may not be thread safe) */
+ if (virgin) {
+ unsigned sym, bits;
+ static code *next;
+
+ /* literal/length table */
+ sym = 0;
+ while (sym < 144) state->lens[sym++] = 8;
+ while (sym < 256) state->lens[sym++] = 9;
+ while (sym < 280) state->lens[sym++] = 7;
+ while (sym < 288) state->lens[sym++] = 8;
+ next = fixed;
+ lenfix = next;
+ bits = 9;
+ inflate_table(LENS, state->lens, 288, &(next), &(bits), state->work);
+
+ /* distance table */
+ sym = 0;
+ while (sym < 32) state->lens[sym++] = 5;
+ distfix = next;
+ bits = 5;
+ inflate_table(DISTS, state->lens, 32, &(next), &(bits), state->work);
+
+ /* do this just once */
+ virgin = 0;
+ }
+#else /* !BUILDFIXED */
+# include "inffixed.h"
+#endif /* BUILDFIXED */
+ state->lencode = lenfix;
+ state->lenbits = 9;
+ state->distcode = distfix;
+ state->distbits = 5;
+}
+
+/* Macros for inflateBack(): */
+
+/* Load returned state from inflate_fast() */
+#define LOAD() \
+ do { \
+ put = strm->next_out; \
+ left = strm->avail_out; \
+ next = strm->next_in; \
+ have = strm->avail_in; \
+ hold = state->hold; \
+ bits = state->bits; \
+ } while (0)
+
+/* Set state from registers for inflate_fast() */
+#define RESTORE() \
+ do { \
+ strm->next_out = put; \
+ strm->avail_out = left; \
+ strm->next_in = next; \
+ strm->avail_in = have; \
+ state->hold = hold; \
+ state->bits = bits; \
+ } while (0)
+
+/* Clear the input bit accumulator */
+#define INITBITS() \
+ do { \
+ hold = 0; \
+ bits = 0; \
+ } while (0)
+
+/* Assure that some input is available. If input is requested, but denied,
+ then return a Z_BUF_ERROR from inflateBack(). */
+#define PULL() \
+ do { \
+ if (have == 0) { \
+ have = in(in_desc, &next); \
+ if (have == 0) { \
+ next = Z_NULL; \
+ ret = Z_BUF_ERROR; \
+ goto inf_leave; \
+ } \
+ } \
+ } while (0)
+
+/* Get a byte of input into the bit accumulator, or return from inflateBack()
+ with an error if there is no input available. */
+#define PULLBYTE() \
+ do { \
+ PULL(); \
+ have--; \
+ hold += (unsigned long)(*next++) << bits; \
+ bits += 8; \
+ } while (0)
+
+/* Assure that there are at least n bits in the bit accumulator. If there is
+ not enough available input to do that, then return from inflateBack() with
+ an error. */
+#define NEEDBITS(n) \
+ do { \
+ while (bits < (unsigned)(n)) \
+ PULLBYTE(); \
+ } while (0)
+
+/* Return the low n bits of the bit accumulator (n < 16) */
+#define BITS(n) \
+ ((unsigned)hold & ((1U << (n)) - 1))
+
+/* Remove n bits from the bit accumulator */
+#define DROPBITS(n) \
+ do { \
+ hold >>= (n); \
+ bits -= (unsigned)(n); \
+ } while (0)
+
+/* Remove zero to seven bits as needed to go to a byte boundary */
+#define BYTEBITS() \
+ do { \
+ hold >>= bits & 7; \
+ bits -= bits & 7; \
+ } while (0)
+
+/* Assure that some output space is available, by writing out the window
+ if it's full. If the write fails, return from inflateBack() with a
+ Z_BUF_ERROR. */
+#define ROOM() \
+ do { \
+ if (left == 0) { \
+ put = state->window; \
+ left = state->wsize; \
+ state->whave = left; \
+ if (out(out_desc, put, left)) { \
+ ret = Z_BUF_ERROR; \
+ goto inf_leave; \
+ } \
+ } \
+ } while (0)
+
+/*
+ strm provides the memory allocation functions and window buffer on input,
+ and provides information on the unused input on return. For Z_DATA_ERROR
+ returns, strm will also provide an error message.
+
+ in() and out() are the call-back input and output functions. When
+ inflateBack() needs more input, it calls in(). When inflateBack() has
+ filled the window with output, or when it completes with data in the
+ window, it calls out() to write out the data. The application must not
+ change the provided input until in() is called again or inflateBack()
+ returns. The application must not change the window/output buffer until
+ inflateBack() returns.
+
+ in() and out() are called with a descriptor parameter provided in the
+ inflateBack() call. This parameter can be a structure that provides the
+ information required to do the read or write, as well as accumulated
+ information on the input and output such as totals and check values.
+
+ in() should return zero on failure. out() should return non-zero on
+ failure. If either in() or out() fails, than inflateBack() returns a
+ Z_BUF_ERROR. strm->next_in can be checked for Z_NULL to see whether it
+ was in() or out() that caused in the error. Otherwise, inflateBack()
+ returns Z_STREAM_END on success, Z_DATA_ERROR for an deflate format
+ error, or Z_MEM_ERROR if it could not allocate memory for the state.
+ inflateBack() can also return Z_STREAM_ERROR if the input parameters
+ are not correct, i.e. strm is Z_NULL or the state was not initialized.
+ */
+int ZEXPORT inflateBack(strm, in, in_desc, out, out_desc)
+z_streamp strm;
+in_func in;
+void FAR *in_desc;
+out_func out;
+void FAR *out_desc;
+{
+ struct inflate_state FAR *state;
+ unsigned char FAR *next; /* next input */
+ unsigned char FAR *put; /* next output */
+ unsigned have, left; /* available input and output */
+ unsigned long hold; /* bit buffer */
+ unsigned bits; /* bits in bit buffer */
+ unsigned copy; /* number of stored or match bytes to copy */
+ unsigned char FAR *from; /* where to copy match bytes from */
+ code here; /* current decoding table entry */
+ code last; /* parent table entry */
+ unsigned len; /* length to copy for repeats, bits to drop */
+ int ret; /* return code */
+ static const unsigned short order[19] = /* permutation of code lengths */
+ {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
+
+ /* Check that the strm exists and that the state was initialized */
+ if (strm == Z_NULL || strm->state == Z_NULL)
+ return Z_STREAM_ERROR;
+ state = (struct inflate_state FAR *)strm->state;
+
+ /* Reset the state */
+ strm->msg = Z_NULL;
+ state->mode = TYPE;
+ state->last = 0;
+ state->whave = 0;
+ next = strm->next_in;
+ have = next != Z_NULL ? strm->avail_in : 0;
+ hold = 0;
+ bits = 0;
+ put = state->window;
+ left = state->wsize;
+
+ /* Inflate until end of block marked as last */
+ for (;;)
+ switch (state->mode) {
+ case TYPE:
+ /* determine and dispatch block type */
+ if (state->last) {
+ BYTEBITS();
+ state->mode = DONE;
+ break;
+ }
+ NEEDBITS(3);
+ state->last = BITS(1);
+ DROPBITS(1);
+ switch (BITS(2)) {
+ case 0: /* stored block */
+ Tracev((stderr, "inflate: stored block%s\n",
+ state->last ? " (last)" : ""));
+ state->mode = STORED;
+ break;
+ case 1: /* fixed block */
+ fixedtables(state);
+ Tracev((stderr, "inflate: fixed codes block%s\n",
+ state->last ? " (last)" : ""));
+ state->mode = LEN; /* decode codes */
+ break;
+ case 2: /* dynamic block */
+ Tracev((stderr, "inflate: dynamic codes block%s\n",
+ state->last ? " (last)" : ""));
+ state->mode = TABLE;
+ break;
+ case 3:
+ strm->msg = (char *)"invalid block type";
+ state->mode = BAD;
+ }
+ DROPBITS(2);
+ break;
+
+ case STORED:
+ /* get and verify stored block length */
+ BYTEBITS(); /* go to byte boundary */
+ NEEDBITS(32);
+ if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) {
+ strm->msg = (char *)"invalid stored block lengths";
+ state->mode = BAD;
+ break;
+ }
+ state->length = (unsigned)hold & 0xffff;
+ Tracev((stderr, "inflate: stored length %u\n",
+ state->length));
+ INITBITS();
+
+ /* copy stored block from input to output */
+ while (state->length != 0) {
+ copy = state->length;
+ PULL();
+ ROOM();
+ if (copy > have) copy = have;
+ if (copy > left) copy = left;
+ zmemcpy(put, next, copy);
+ have -= copy;
+ next += copy;
+ left -= copy;
+ put += copy;
+ state->length -= copy;
+ }
+ Tracev((stderr, "inflate: stored end\n"));
+ state->mode = TYPE;
+ break;
+
+ case TABLE:
+ /* get dynamic table entries descriptor */
+ NEEDBITS(14);
+ state->nlen = BITS(5) + 257;
+ DROPBITS(5);
+ state->ndist = BITS(5) + 1;
+ DROPBITS(5);
+ state->ncode = BITS(4) + 4;
+ DROPBITS(4);
+#ifndef PKZIP_BUG_WORKAROUND
+ if (state->nlen > 286 || state->ndist > 30) {
+ strm->msg = (char *)"too many length or distance symbols";
+ state->mode = BAD;
+ break;
+ }
+#endif
+ Tracev((stderr, "inflate: table sizes ok\n"));
+
+ /* get code length code lengths (not a typo) */
+ state->have = 0;
+ while (state->have < state->ncode) {
+ NEEDBITS(3);
+ state->lens[order[state->have++]] = (unsigned short)BITS(3);
+ DROPBITS(3);
+ }
+ while (state->have < 19)
+ state->lens[order[state->have++]] = 0;
+ state->next = state->codes;
+ state->lencode = (code const FAR *)(state->next);
+ state->lenbits = 7;
+ ret = inflate_table(CODES, state->lens, 19, &(state->next),
+ &(state->lenbits), state->work);
+ if (ret) {
+ strm->msg = (char *)"invalid code lengths set";
+ state->mode = BAD;
+ break;
+ }
+ Tracev((stderr, "inflate: code lengths ok\n"));
+
+ /* get length and distance code code lengths */
+ state->have = 0;
+ while (state->have < state->nlen + state->ndist) {
+ for (;;) {
+ here = state->lencode[BITS(state->lenbits)];
+ if ((unsigned)(here.bits) <= bits) break;
+ PULLBYTE();
+ }
+ if (here.val < 16) {
+ NEEDBITS(here.bits);
+ DROPBITS(here.bits);
+ state->lens[state->have++] = here.val;
+ }
+ else {
+ if (here.val == 16) {
+ NEEDBITS(here.bits + 2);
+ DROPBITS(here.bits);
+ if (state->have == 0) {
+ strm->msg = (char *)"invalid bit length repeat";
+ state->mode = BAD;
+ break;
+ }
+ len = (unsigned)(state->lens[state->have - 1]);
+ copy = 3 + BITS(2);
+ DROPBITS(2);
+ }
+ else if (here.val == 17) {
+ NEEDBITS(here.bits + 3);
+ DROPBITS(here.bits);
+ len = 0;
+ copy = 3 + BITS(3);
+ DROPBITS(3);
+ }
+ else {
+ NEEDBITS(here.bits + 7);
+ DROPBITS(here.bits);
+ len = 0;
+ copy = 11 + BITS(7);
+ DROPBITS(7);
+ }
+ if (state->have + copy > state->nlen + state->ndist) {
+ strm->msg = (char *)"invalid bit length repeat";
+ state->mode = BAD;
+ break;
+ }
+ while (copy--)
+ state->lens[state->have++] = (unsigned short)len;
+ }
+ }
+
+ /* handle error breaks in while */
+ if (state->mode == BAD) break;
+
+ /* check for end-of-block code (better have one) */
+ if (state->lens[256] == 0) {
+ strm->msg = (char *)"invalid code -- missing end-of-block";
+ state->mode = BAD;
+ break;
+ }
+
+ /* build code tables -- note: do not change the lenbits or distbits
+ values here (9 and 6) without reading the comments in inftrees.h
+ concerning the ENOUGH constants, which depend on those values */
+ state->next = state->codes;
+ state->lencode = (code const FAR *)(state->next);
+ state->lenbits = 9;
+ ret = inflate_table(LENS, state->lens, state->nlen, &(state->next),
+ &(state->lenbits), state->work);
+ if (ret) {
+ strm->msg = (char *)"invalid literal/lengths set";
+ state->mode = BAD;
+ break;
+ }
+ state->distcode = (code const FAR *)(state->next);
+ state->distbits = 6;
+ ret = inflate_table(DISTS, state->lens + state->nlen, state->ndist,
+ &(state->next), &(state->distbits), state->work);
+ if (ret) {
+ strm->msg = (char *)"invalid distances set";
+ state->mode = BAD;
+ break;
+ }
+ Tracev((stderr, "inflate: codes ok\n"));
+ state->mode = LEN;
+
+ case LEN:
+ /* use inflate_fast() if we have enough input and output */
+ if (have >= 6 && left >= 258) {
+ RESTORE();
+ if (state->whave < state->wsize)
+ state->whave = state->wsize - left;
+ inflate_fast(strm, state->wsize);
+ LOAD();
+ break;
+ }
+
+ /* get a literal, length, or end-of-block code */
+ for (;;) {
+ here = state->lencode[BITS(state->lenbits)];
+ if ((unsigned)(here.bits) <= bits) break;
+ PULLBYTE();
+ }
+ if (here.op && (here.op & 0xf0) == 0) {
+ last = here;
+ for (;;) {
+ here = state->lencode[last.val +
+ (BITS(last.bits + last.op) >> last.bits)];
+ if ((unsigned)(last.bits + here.bits) <= bits) break;
+ PULLBYTE();
+ }
+ DROPBITS(last.bits);
+ }
+ DROPBITS(here.bits);
+ state->length = (unsigned)here.val;
+
+ /* process literal */
+ if (here.op == 0) {
+ Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
+ "inflate: literal '%c'\n" :
+ "inflate: literal 0x%02x\n", here.val));
+ ROOM();
+ *put++ = (unsigned char)(state->length);
+ left--;
+ state->mode = LEN;
+ break;
+ }
+
+ /* process end of block */
+ if (here.op & 32) {
+ Tracevv((stderr, "inflate: end of block\n"));
+ state->mode = TYPE;
+ break;
+ }
+
+ /* invalid code */
+ if (here.op & 64) {
+ strm->msg = (char *)"invalid literal/length code";
+ state->mode = BAD;
+ break;
+ }
+
+ /* length code -- get extra bits, if any */
+ state->extra = (unsigned)(here.op) & 15;
+ if (state->extra != 0) {
+ NEEDBITS(state->extra);
+ state->length += BITS(state->extra);
+ DROPBITS(state->extra);
+ }
+ Tracevv((stderr, "inflate: length %u\n", state->length));
+
+ /* get distance code */
+ for (;;) {
+ here = state->distcode[BITS(state->distbits)];
+ if ((unsigned)(here.bits) <= bits) break;
+ PULLBYTE();
+ }
+ if ((here.op & 0xf0) == 0) {
+ last = here;
+ for (;;) {
+ here = state->distcode[last.val +
+ (BITS(last.bits + last.op) >> last.bits)];
+ if ((unsigned)(last.bits + here.bits) <= bits) break;
+ PULLBYTE();
+ }
+ DROPBITS(last.bits);
+ }
+ DROPBITS(here.bits);
+ if (here.op & 64) {
+ strm->msg = (char *)"invalid distance code";
+ state->mode = BAD;
+ break;
+ }
+ state->offset = (unsigned)here.val;
+
+ /* get distance extra bits, if any */
+ state->extra = (unsigned)(here.op) & 15;
+ if (state->extra != 0) {
+ NEEDBITS(state->extra);
+ state->offset += BITS(state->extra);
+ DROPBITS(state->extra);
+ }
+ if (state->offset > state->wsize - (state->whave < state->wsize ?
+ left : 0)) {
+ strm->msg = (char *)"invalid distance too far back";
+ state->mode = BAD;
+ break;
+ }
+ Tracevv((stderr, "inflate: distance %u\n", state->offset));
+
+ /* copy match from window to output */
+ do {
+ ROOM();
+ copy = state->wsize - state->offset;
+ if (copy < left) {
+ from = put + copy;
+ copy = left - copy;
+ }
+ else {
+ from = put - state->offset;
+ copy = left;
+ }
+ if (copy > state->length) copy = state->length;
+ state->length -= copy;
+ left -= copy;
+ do {
+ *put++ = *from++;
+ } while (--copy);
+ } while (state->length != 0);
+ break;
+
+ case DONE:
+ /* inflate stream terminated properly -- write leftover output */
+ ret = Z_STREAM_END;
+ if (left < state->wsize) {
+ if (out(out_desc, state->window, state->wsize - left))
+ ret = Z_BUF_ERROR;
+ }
+ goto inf_leave;
+
+ case BAD:
+ ret = Z_DATA_ERROR;
+ goto inf_leave;
+
+ default: /* can't happen, but makes compilers happy */
+ ret = Z_STREAM_ERROR;
+ goto inf_leave;
+ }
+
+ /* Return unused input */
+ inf_leave:
+ strm->next_in = next;
+ strm->avail_in = have;
+ return ret;
+}
+
+int ZEXPORT inflateBackEnd(strm)
+z_streamp strm;
+{
+ if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0)
+ return Z_STREAM_ERROR;
+ ZFREE(strm, strm->state);
+ strm->state = Z_NULL;
+ Tracev((stderr, "inflate: end\n"));
+ return Z_OK;
+}
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/inffast.c b/jdk/src/share/native/java/util/zip/zlib-1.2.5/inffast.c
new file mode 100644
index 0000000..e6a0572
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/inffast.c
@@ -0,0 +1,364 @@
+/*
+ * 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.
+ */
+
+/* inffast.c -- fast decoding
+ * Copyright (C) 1995-2008, 2010 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+#include "zutil.h"
+#include "inftrees.h"
+#include "inflate.h"
+#include "inffast.h"
+
+#ifndef ASMINF
+
+/* Allow machine dependent optimization for post-increment or pre-increment.
+ Based on testing to date,
+ Pre-increment preferred for:
+ - PowerPC G3 (Adler)
+ - MIPS R5000 (Randers-Pehrson)
+ Post-increment preferred for:
+ - none
+ No measurable difference:
+ - Pentium III (Anderson)
+ - M68060 (Nikl)
+ */
+#ifdef POSTINC
+# define OFF 0
+# define PUP(a) *(a)++
+#else
+# define OFF 1
+# define PUP(a) *++(a)
+#endif
+
+/*
+ Decode literal, length, and distance codes and write out the resulting
+ literal and match bytes until either not enough input or output is
+ available, an end-of-block is encountered, or a data error is encountered.
+ When large enough input and output buffers are supplied to inflate(), for
+ example, a 16K input buffer and a 64K output buffer, more than 95% of the
+ inflate execution time is spent in this routine.
+
+ Entry assumptions:
+
+ state->mode == LEN
+ strm->avail_in >= 6
+ strm->avail_out >= 258
+ start >= strm->avail_out
+ state->bits < 8
+
+ On return, state->mode is one of:
+
+ LEN -- ran out of enough output space or enough available input
+ TYPE -- reached end of block code, inflate() to interpret next block
+ BAD -- error in block data
+
+ Notes:
+
+ - The maximum input bits used by a length/distance pair is 15 bits for the
+ length code, 5 bits for the length extra, 15 bits for the distance code,
+ and 13 bits for the distance extra. This totals 48 bits, or six bytes.
+ Therefore if strm->avail_in >= 6, then there is enough input to avoid
+ checking for available input while decoding.
+
+ - The maximum bytes that a single length/distance pair can output is 258
+ bytes, which is the maximum length that can be coded. inflate_fast()
+ requires strm->avail_out >= 258 for each loop to avoid checking for
+ output space.
+ */
+void ZLIB_INTERNAL inflate_fast(strm, start)
+z_streamp strm;
+unsigned start; /* inflate()'s starting value for strm->avail_out */
+{
+ struct inflate_state FAR *state;
+ unsigned char FAR *in; /* local strm->next_in */
+ unsigned char FAR *last; /* while in < last, enough input available */
+ unsigned char FAR *out; /* local strm->next_out */
+ unsigned char FAR *beg; /* inflate()'s initial strm->next_out */
+ unsigned char FAR *end; /* while out < end, enough space available */
+#ifdef INFLATE_STRICT
+ unsigned dmax; /* maximum distance from zlib header */
+#endif
+ unsigned wsize; /* window size or zero if not using window */
+ unsigned whave; /* valid bytes in the window */
+ unsigned wnext; /* window write index */
+ unsigned char FAR *window; /* allocated sliding window, if wsize != 0 */
+ unsigned long hold; /* local strm->hold */
+ unsigned bits; /* local strm->bits */
+ code const FAR *lcode; /* local strm->lencode */
+ code const FAR *dcode; /* local strm->distcode */
+ unsigned lmask; /* mask for first level of length codes */
+ unsigned dmask; /* mask for first level of distance codes */
+ code here; /* retrieved table entry */
+ unsigned op; /* code bits, operation, extra bits, or */
+ /* window position, window bytes to copy */
+ unsigned len; /* match length, unused bytes */
+ unsigned dist; /* match distance */
+ unsigned char FAR *from; /* where to copy match from */
+
+ /* copy state to local variables */
+ state = (struct inflate_state FAR *)strm->state;
+ in = strm->next_in - OFF;
+ last = in + (strm->avail_in - 5);
+ out = strm->next_out - OFF;
+ beg = out - (start - strm->avail_out);
+ end = out + (strm->avail_out - 257);
+#ifdef INFLATE_STRICT
+ dmax = state->dmax;
+#endif
+ wsize = state->wsize;
+ whave = state->whave;
+ wnext = state->wnext;
+ window = state->window;
+ hold = state->hold;
+ bits = state->bits;
+ lcode = state->lencode;
+ dcode = state->distcode;
+ lmask = (1U << state->lenbits) - 1;
+ dmask = (1U << state->distbits) - 1;
+
+ /* decode literals and length/distances until end-of-block or not enough
+ input data or output space */
+ do {
+ if (bits < 15) {
+ hold += (unsigned long)(PUP(in)) << bits;
+ bits += 8;
+ hold += (unsigned long)(PUP(in)) << bits;
+ bits += 8;
+ }
+ here = lcode[hold & lmask];
+ dolen:
+ op = (unsigned)(here.bits);
+ hold >>= op;
+ bits -= op;
+ op = (unsigned)(here.op);
+ if (op == 0) { /* literal */
+ Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
+ "inflate: literal '%c'\n" :
+ "inflate: literal 0x%02x\n", here.val));
+ PUP(out) = (unsigned char)(here.val);
+ }
+ else if (op & 16) { /* length base */
+ len = (unsigned)(here.val);
+ op &= 15; /* number of extra bits */
+ if (op) {
+ if (bits < op) {
+ hold += (unsigned long)(PUP(in)) << bits;
+ bits += 8;
+ }
+ len += (unsigned)hold & ((1U << op) - 1);
+ hold >>= op;
+ bits -= op;
+ }
+ Tracevv((stderr, "inflate: length %u\n", len));
+ if (bits < 15) {
+ hold += (unsigned long)(PUP(in)) << bits;
+ bits += 8;
+ hold += (unsigned long)(PUP(in)) << bits;
+ bits += 8;
+ }
+ here = dcode[hold & dmask];
+ dodist:
+ op = (unsigned)(here.bits);
+ hold >>= op;
+ bits -= op;
+ op = (unsigned)(here.op);
+ if (op & 16) { /* distance base */
+ dist = (unsigned)(here.val);
+ op &= 15; /* number of extra bits */
+ if (bits < op) {
+ hold += (unsigned long)(PUP(in)) << bits;
+ bits += 8;
+ if (bits < op) {
+ hold += (unsigned long)(PUP(in)) << bits;
+ bits += 8;
+ }
+ }
+ dist += (unsigned)hold & ((1U << op) - 1);
+#ifdef INFLATE_STRICT
+ if (dist > dmax) {
+ strm->msg = (char *)"invalid distance too far back";
+ state->mode = BAD;
+ break;
+ }
+#endif
+ hold >>= op;
+ bits -= op;
+ Tracevv((stderr, "inflate: distance %u\n", dist));
+ op = (unsigned)(out - beg); /* max distance in output */
+ if (dist > op) { /* see if copy from window */
+ op = dist - op; /* distance back in window */
+ if (op > whave) {
+ if (state->sane) {
+ strm->msg =
+ (char *)"invalid distance too far back";
+ state->mode = BAD;
+ break;
+ }
+#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
+ if (len <= op - whave) {
+ do {
+ PUP(out) = 0;
+ } while (--len);
+ continue;
+ }
+ len -= op - whave;
+ do {
+ PUP(out) = 0;
+ } while (--op > whave);
+ if (op == 0) {
+ from = out - dist;
+ do {
+ PUP(out) = PUP(from);
+ } while (--len);
+ continue;
+ }
+#endif
+ }
+ from = window - OFF;
+ if (wnext == 0) { /* very common case */
+ from += wsize - op;
+ if (op < len) { /* some from window */
+ len -= op;
+ do {
+ PUP(out) = PUP(from);
+ } while (--op);
+ from = out - dist; /* rest from output */
+ }
+ }
+ else if (wnext < op) { /* wrap around window */
+ from += wsize + wnext - op;
+ op -= wnext;
+ if (op < len) { /* some from end of window */
+ len -= op;
+ do {
+ PUP(out) = PUP(from);
+ } while (--op);
+ from = window - OFF;
+ if (wnext < len) { /* some from start of window */
+ op = wnext;
+ len -= op;
+ do {
+ PUP(out) = PUP(from);
+ } while (--op);
+ from = out - dist; /* rest from output */
+ }
+ }
+ }
+ else { /* contiguous in window */
+ from += wnext - op;
+ if (op < len) { /* some from window */
+ len -= op;
+ do {
+ PUP(out) = PUP(from);
+ } while (--op);
+ from = out - dist; /* rest from output */
+ }
+ }
+ while (len > 2) {
+ PUP(out) = PUP(from);
+ PUP(out) = PUP(from);
+ PUP(out) = PUP(from);
+ len -= 3;
+ }
+ if (len) {
+ PUP(out) = PUP(from);
+ if (len > 1)
+ PUP(out) = PUP(from);
+ }
+ }
+ else {
+ from = out - dist; /* copy direct from output */
+ do { /* minimum length is three */
+ PUP(out) = PUP(from);
+ PUP(out) = PUP(from);
+ PUP(out) = PUP(from);
+ len -= 3;
+ } while (len > 2);
+ if (len) {
+ PUP(out) = PUP(from);
+ if (len > 1)
+ PUP(out) = PUP(from);
+ }
+ }
+ }
+ else if ((op & 64) == 0) { /* 2nd level distance code */
+ here = dcode[here.val + (hold & ((1U << op) - 1))];
+ goto dodist;
+ }
+ else {
+ strm->msg = (char *)"invalid distance code";
+ state->mode = BAD;
+ break;
+ }
+ }
+ else if ((op & 64) == 0) { /* 2nd level length code */
+ here = lcode[here.val + (hold & ((1U << op) - 1))];
+ goto dolen;
+ }
+ else if (op & 32) { /* end-of-block */
+ Tracevv((stderr, "inflate: end of block\n"));
+ state->mode = TYPE;
+ break;
+ }
+ else {
+ strm->msg = (char *)"invalid literal/length code";
+ state->mode = BAD;
+ break;
+ }
+ } while (in < last && out < end);
+
+ /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
+ len = bits >> 3;
+ in -= len;
+ bits -= len << 3;
+ hold &= (1U << bits) - 1;
+
+ /* update state and return */
+ strm->next_in = in + OFF;
+ strm->next_out = out + OFF;
+ strm->avail_in = (unsigned)(in < last ? 5 + (last - in) : 5 - (in - last));
+ strm->avail_out = (unsigned)(out < end ?
+ 257 + (end - out) : 257 - (out - end));
+ state->hold = hold;
+ state->bits = bits;
+ return;
+}
+
+/*
+ inflate_fast() speedups that turned out slower (on a PowerPC G3 750CXe):
+ - Using bit fields for code structure
+ - Different op definition to avoid & for extra bits (do & for table bits)
+ - Three separate decoding do-loops for direct, window, and wnext == 0
+ - Special case for distance > 1 copies to do overlapped load and store copy
+ - Explicit branch predictions (based on measured branch probabilities)
+ - Deferring match copy and interspersed it with decoding subsequent codes
+ - Swapping literal/length else
+ - Swapping window/direct else
+ - Larger unrolled copy loops (three is about right)
+ - Moving len -= 3 statement into middle of loop
+ */
+
+#endif /* !ASMINF */
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/inffast.h b/jdk/src/share/native/java/util/zip/zlib-1.2.5/inffast.h
new file mode 100644
index 0000000..b8da8bb
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/inffast.h
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+/* inffast.h -- header to use inffast.c
+ * Copyright (C) 1995-2003, 2010 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* WARNING: this file should *not* be used by applications. It is
+ part of the implementation of the compression library and is
+ subject to change. Applications should only use zlib.h.
+ */
+
+void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start));
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.3/inffixed.h b/jdk/src/share/native/java/util/zip/zlib-1.2.5/inffixed.h
similarity index 100%
copy from jdk/src/share/native/java/util/zip/zlib-1.2.3/inffixed.h
copy to jdk/src/share/native/java/util/zip/zlib-1.2.5/inffixed.h
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/inflate.c b/jdk/src/share/native/java/util/zip/zlib-1.2.5/inflate.c
new file mode 100644
index 0000000..98e210a
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/inflate.c
@@ -0,0 +1,1504 @@
+/*
+ * 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.
+ */
+
+/* inflate.c -- zlib decompression
+ * Copyright (C) 1995-2010 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/*
+ * Change history:
+ *
+ * 1.2.beta0 24 Nov 2002
+ * - First version -- complete rewrite of inflate to simplify code, avoid
+ * creation of window when not needed, minimize use of window when it is
+ * needed, make inffast.c even faster, implement gzip decoding, and to
+ * improve code readability and style over the previous zlib inflate code
+ *
+ * 1.2.beta1 25 Nov 2002
+ * - Use pointers for available input and output checking in inffast.c
+ * - Remove input and output counters in inffast.c
+ * - Change inffast.c entry and loop from avail_in >= 7 to >= 6
+ * - Remove unnecessary second byte pull from length extra in inffast.c
+ * - Unroll direct copy to three copies per loop in inffast.c
+ *
+ * 1.2.beta2 4 Dec 2002
+ * - Change external routine names to reduce potential conflicts
+ * - Correct filename to inffixed.h for fixed tables in inflate.c
+ * - Make hbuf[] unsigned char to match parameter type in inflate.c
+ * - Change strm->next_out[-state->offset] to *(strm->next_out - state->offset)
+ * to avoid negation problem on Alphas (64 bit) in inflate.c
+ *
+ * 1.2.beta3 22 Dec 2002
+ * - Add comments on state->bits assertion in inffast.c
+ * - Add comments on op field in inftrees.h
+ * - Fix bug in reuse of allocated window after inflateReset()
+ * - Remove bit fields--back to byte structure for speed
+ * - Remove distance extra == 0 check in inflate_fast()--only helps for lengths
+ * - Change post-increments to pre-increments in inflate_fast(), PPC biased?
+ * - Add compile time option, POSTINC, to use post-increments instead (Intel?)
+ * - Make MATCH copy in inflate() much faster for when inflate_fast() not used
+ * - Use local copies of stream next and avail values, as well as local bit
+ * buffer and bit count in inflate()--for speed when inflate_fast() not used
+ *
+ * 1.2.beta4 1 Jan 2003
+ * - Split ptr - 257 statements in inflate_table() to avoid compiler warnings
+ * - Move a comment on output buffer sizes from inffast.c to inflate.c
+ * - Add comments in inffast.c to introduce the inflate_fast() routine
+ * - Rearrange window copies in inflate_fast() for speed and simplification
+ * - Unroll last copy for window match in inflate_fast()
+ * - Use local copies of window variables in inflate_fast() for speed
+ * - Pull out common wnext == 0 case for speed in inflate_fast()
+ * - Make op and len in inflate_fast() unsigned for consistency
+ * - Add FAR to lcode and dcode declarations in inflate_fast()
+ * - Simplified bad distance check in inflate_fast()
+ * - Added inflateBackInit(), inflateBack(), and inflateBackEnd() in new
+ * source file infback.c to provide a call-back interface to inflate for
+ * programs like gzip and unzip -- uses window as output buffer to avoid
+ * window copying
+ *
+ * 1.2.beta5 1 Jan 2003
+ * - Improved inflateBack() interface to allow the caller to provide initial
+ * input in strm.
+ * - Fixed stored blocks bug in inflateBack()
+ *
+ * 1.2.beta6 4 Jan 2003
+ * - Added comments in inffast.c on effectiveness of POSTINC
+ * - Typecasting all around to reduce compiler warnings
+ * - Changed loops from while (1) or do {} while (1) to for (;;), again to
+ * make compilers happy
+ * - Changed type of window in inflateBackInit() to unsigned char *
+ *
+ * 1.2.beta7 27 Jan 2003
+ * - Changed many types to unsigned or unsigned short to avoid warnings
+ * - Added inflateCopy() function
+ *
+ * 1.2.0 9 Mar 2003
+ * - Changed inflateBack() interface to provide separate opaque descriptors
+ * for the in() and out() functions
+ * - Changed inflateBack() argument and in_func typedef to swap the length
+ * and buffer address return values for the input function
+ * - Check next_in and next_out for Z_NULL on entry to inflate()
+ *
+ * The history for versions after 1.2.0 are in ChangeLog in zlib distribution.
+ */
+
+#include "zutil.h"
+#include "inftrees.h"
+#include "inflate.h"
+#include "inffast.h"
+
+#ifdef MAKEFIXED
+# ifndef BUILDFIXED
+# define BUILDFIXED
+# endif
+#endif
+
+/* function prototypes */
+local void fixedtables OF((struct inflate_state FAR *state));
+local int updatewindow OF((z_streamp strm, unsigned out));
+#ifdef BUILDFIXED
+ void makefixed OF((void));
+#endif
+local unsigned syncsearch OF((unsigned FAR *have, unsigned char FAR *buf,
+ unsigned len));
+
+int ZEXPORT inflateReset(strm)
+z_streamp strm;
+{
+ struct inflate_state FAR *state;
+
+ if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ state = (struct inflate_state FAR *)strm->state;
+ strm->total_in = strm->total_out = state->total = 0;
+ strm->msg = Z_NULL;
+ strm->adler = 1; /* to support ill-conceived Java test suite */
+ state->mode = HEAD;
+ state->last = 0;
+ state->havedict = 0;
+ state->dmax = 32768U;
+ state->head = Z_NULL;
+ state->wsize = 0;
+ state->whave = 0;
+ state->wnext = 0;
+ state->hold = 0;
+ state->bits = 0;
+ state->lencode = state->distcode = state->next = state->codes;
+ state->sane = 1;
+ state->back = -1;
+ Tracev((stderr, "inflate: reset\n"));
+ return Z_OK;
+}
+
+int ZEXPORT inflateReset2(strm, windowBits)
+z_streamp strm;
+int windowBits;
+{
+ int wrap;
+ struct inflate_state FAR *state;
+
+ /* get the state */
+ if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ state = (struct inflate_state FAR *)strm->state;
+
+ /* extract wrap request from windowBits parameter */
+ if (windowBits < 0) {
+ wrap = 0;
+ windowBits = -windowBits;
+ }
+ else {
+ wrap = (windowBits >> 4) + 1;
+#ifdef GUNZIP
+ if (windowBits < 48)
+ windowBits &= 15;
+#endif
+ }
+
+ /* set number of window bits, free window if different */
+ if (windowBits && (windowBits < 8 || windowBits > 15))
+ return Z_STREAM_ERROR;
+ if (state->window != Z_NULL && state->wbits != (unsigned)windowBits) {
+ ZFREE(strm, state->window);
+ state->window = Z_NULL;
+ }
+
+ /* update state and reset the rest of it */
+ state->wrap = wrap;
+ state->wbits = (unsigned)windowBits;
+ return inflateReset(strm);
+}
+
+int ZEXPORT inflateInit2_(strm, windowBits, version, stream_size)
+z_streamp strm;
+int windowBits;
+const char *version;
+int stream_size;
+{
+ int ret;
+ struct inflate_state FAR *state;
+
+ if (version == Z_NULL || version[0] != ZLIB_VERSION[0] ||
+ stream_size != (int)(sizeof(z_stream)))
+ return Z_VERSION_ERROR;
+ if (strm == Z_NULL) return Z_STREAM_ERROR;
+ strm->msg = Z_NULL; /* in case we return an error */
+ if (strm->zalloc == (alloc_func)0) {
+ strm->zalloc = zcalloc;
+ strm->opaque = (voidpf)0;
+ }
+ if (strm->zfree == (free_func)0) strm->zfree = zcfree;
+ state = (struct inflate_state FAR *)
+ ZALLOC(strm, 1, sizeof(struct inflate_state));
+ if (state == Z_NULL) return Z_MEM_ERROR;
+ Tracev((stderr, "inflate: allocated\n"));
+ strm->state = (struct internal_state FAR *)state;
+ state->window = Z_NULL;
+ ret = inflateReset2(strm, windowBits);
+ if (ret != Z_OK) {
+ ZFREE(strm, state);
+ strm->state = Z_NULL;
+ }
+ return ret;
+}
+
+int ZEXPORT inflateInit_(strm, version, stream_size)
+z_streamp strm;
+const char *version;
+int stream_size;
+{
+ return inflateInit2_(strm, DEF_WBITS, version, stream_size);
+}
+
+int ZEXPORT inflatePrime(strm, bits, value)
+z_streamp strm;
+int bits;
+int value;
+{
+ struct inflate_state FAR *state;
+
+ if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ state = (struct inflate_state FAR *)strm->state;
+ if (bits < 0) {
+ state->hold = 0;
+ state->bits = 0;
+ return Z_OK;
+ }
+ if (bits > 16 || state->bits + bits > 32) return Z_STREAM_ERROR;
+ value &= (1L << bits) - 1;
+ state->hold += value << state->bits;
+ state->bits += bits;
+ return Z_OK;
+}
+
+/*
+ Return state with length and distance decoding tables and index sizes set to
+ fixed code decoding. Normally this returns fixed tables from inffixed.h.
+ If BUILDFIXED is defined, then instead this routine builds the tables the
+ first time it's called, and returns those tables the first time and
+ thereafter. This reduces the size of the code by about 2K bytes, in
+ exchange for a little execution time. However, BUILDFIXED should not be
+ used for threaded applications, since the rewriting of the tables and virgin
+ may not be thread-safe.
+ */
+local void fixedtables(state)
+struct inflate_state FAR *state;
+{
+#ifdef BUILDFIXED
+ static int virgin = 1;
+ static code *lenfix, *distfix;
+ static code fixed[544];
+
+ /* build fixed huffman tables if first call (may not be thread safe) */
+ if (virgin) {
+ unsigned sym, bits;
+ static code *next;
+
+ /* literal/length table */
+ sym = 0;
+ while (sym < 144) state->lens[sym++] = 8;
+ while (sym < 256) state->lens[sym++] = 9;
+ while (sym < 280) state->lens[sym++] = 7;
+ while (sym < 288) state->lens[sym++] = 8;
+ next = fixed;
+ lenfix = next;
+ bits = 9;
+ inflate_table(LENS, state->lens, 288, &(next), &(bits), state->work);
+
+ /* distance table */
+ sym = 0;
+ while (sym < 32) state->lens[sym++] = 5;
+ distfix = next;
+ bits = 5;
+ inflate_table(DISTS, state->lens, 32, &(next), &(bits), state->work);
+
+ /* do this just once */
+ virgin = 0;
+ }
+#else /* !BUILDFIXED */
+# include "inffixed.h"
+#endif /* BUILDFIXED */
+ state->lencode = lenfix;
+ state->lenbits = 9;
+ state->distcode = distfix;
+ state->distbits = 5;
+}
+
+#ifdef MAKEFIXED
+#include <stdio.h>
+
+/*
+ Write out the inffixed.h that is #include'd above. Defining MAKEFIXED also
+ defines BUILDFIXED, so the tables are built on the fly. makefixed() writes
+ those tables to stdout, which would be piped to inffixed.h. A small program
+ can simply call makefixed to do this:
+
+ void makefixed(void);
+
+ int main(void)
+ {
+ makefixed();
+ return 0;
+ }
+
+ Then that can be linked with zlib built with MAKEFIXED defined and run:
+
+ a.out > inffixed.h
+ */
+void makefixed()
+{
+ unsigned low, size;
+ struct inflate_state state;
+
+ fixedtables(&state);
+ puts(" /* inffixed.h -- table for decoding fixed codes");
+ puts(" * Generated automatically by makefixed().");
+ puts(" */");
+ puts("");
+ puts(" /* WARNING: this file should *not* be used by applications.");
+ puts(" It is part of the implementation of this library and is");
+ puts(" subject to change. Applications should only use zlib.h.");
+ puts(" */");
+ puts("");
+ size = 1U << 9;
+ printf(" static const code lenfix[%u] = {", size);
+ low = 0;
+ for (;;) {
+ if ((low % 7) == 0) printf("\n ");
+ printf("{%u,%u,%d}", state.lencode[low].op, state.lencode[low].bits,
+ state.lencode[low].val);
+ if (++low == size) break;
+ putchar(',');
+ }
+ puts("\n };");
+ size = 1U << 5;
+ printf("\n static const code distfix[%u] = {", size);
+ low = 0;
+ for (;;) {
+ if ((low % 6) == 0) printf("\n ");
+ printf("{%u,%u,%d}", state.distcode[low].op, state.distcode[low].bits,
+ state.distcode[low].val);
+ if (++low == size) break;
+ putchar(',');
+ }
+ puts("\n };");
+}
+#endif /* MAKEFIXED */
+
+/*
+ Update the window with the last wsize (normally 32K) bytes written before
+ returning. If window does not exist yet, create it. This is only called
+ when a window is already in use, or when output has been written during this
+ inflate call, but the end of the deflate stream has not been reached yet.
+ It is also called to create a window for dictionary data when a dictionary
+ is loaded.
+
+ Providing output buffers larger than 32K to inflate() should provide a speed
+ advantage, since only the last 32K of output is copied to the sliding window
+ upon return from inflate(), and since all distances after the first 32K of
+ output will fall in the output data, making match copies simpler and faster.
+ The advantage may be dependent on the size of the processor's data caches.
+ */
+local int updatewindow(strm, out)
+z_streamp strm;
+unsigned out;
+{
+ struct inflate_state FAR *state;
+ unsigned copy, dist;
+
+ state = (struct inflate_state FAR *)strm->state;
+
+ /* if it hasn't been done already, allocate space for the window */
+ if (state->window == Z_NULL) {
+ state->window = (unsigned char FAR *)
+ ZALLOC(strm, 1U << state->wbits,
+ sizeof(unsigned char));
+ if (state->window == Z_NULL) return 1;
+ }
+
+ /* if window not in use yet, initialize */
+ if (state->wsize == 0) {
+ state->wsize = 1U << state->wbits;
+ state->wnext = 0;
+ state->whave = 0;
+ }
+
+ /* copy state->wsize or less output bytes into the circular window */
+ copy = out - strm->avail_out;
+ if (copy >= state->wsize) {
+ zmemcpy(state->window, strm->next_out - state->wsize, state->wsize);
+ state->wnext = 0;
+ state->whave = state->wsize;
+ }
+ else {
+ dist = state->wsize - state->wnext;
+ if (dist > copy) dist = copy;
+ zmemcpy(state->window + state->wnext, strm->next_out - copy, dist);
+ copy -= dist;
+ if (copy) {
+ zmemcpy(state->window, strm->next_out - copy, copy);
+ state->wnext = copy;
+ state->whave = state->wsize;
+ }
+ else {
+ state->wnext += dist;
+ if (state->wnext == state->wsize) state->wnext = 0;
+ if (state->whave < state->wsize) state->whave += dist;
+ }
+ }
+ return 0;
+}
+
+/* Macros for inflate(): */
+
+/* check function to use adler32() for zlib or crc32() for gzip */
+#ifdef GUNZIP
+# define UPDATE(check, buf, len) \
+ (state->flags ? crc32(check, buf, len) : adler32(check, buf, len))
+#else
+# define UPDATE(check, buf, len) adler32(check, buf, len)
+#endif
+
+/* check macros for header crc */
+#ifdef GUNZIP
+# define CRC2(check, word) \
+ do { \
+ hbuf[0] = (unsigned char)(word); \
+ hbuf[1] = (unsigned char)((word) >> 8); \
+ check = crc32(check, hbuf, 2); \
+ } while (0)
+
+# define CRC4(check, word) \
+ do { \
+ hbuf[0] = (unsigned char)(word); \
+ hbuf[1] = (unsigned char)((word) >> 8); \
+ hbuf[2] = (unsigned char)((word) >> 16); \
+ hbuf[3] = (unsigned char)((word) >> 24); \
+ check = crc32(check, hbuf, 4); \
+ } while (0)
+#endif
+
+/* Load registers with state in inflate() for speed */
+#define LOAD() \
+ do { \
+ put = strm->next_out; \
+ left = strm->avail_out; \
+ next = strm->next_in; \
+ have = strm->avail_in; \
+ hold = state->hold; \
+ bits = state->bits; \
+ } while (0)
+
+/* Restore state from registers in inflate() */
+#define RESTORE() \
+ do { \
+ strm->next_out = put; \
+ strm->avail_out = left; \
+ strm->next_in = next; \
+ strm->avail_in = have; \
+ state->hold = hold; \
+ state->bits = bits; \
+ } while (0)
+
+/* Clear the input bit accumulator */
+#define INITBITS() \
+ do { \
+ hold = 0; \
+ bits = 0; \
+ } while (0)
+
+/* Get a byte of input into the bit accumulator, or return from inflate()
+ if there is no input available. */
+#define PULLBYTE() \
+ do { \
+ if (have == 0) goto inf_leave; \
+ have--; \
+ hold += (unsigned long)(*next++) << bits; \
+ bits += 8; \
+ } while (0)
+
+/* Assure that there are at least n bits in the bit accumulator. If there is
+ not enough available input to do that, then return from inflate(). */
+#define NEEDBITS(n) \
+ do { \
+ while (bits < (unsigned)(n)) \
+ PULLBYTE(); \
+ } while (0)
+
+/* Return the low n bits of the bit accumulator (n < 16) */
+#define BITS(n) \
+ ((unsigned)hold & ((1U << (n)) - 1))
+
+/* Remove n bits from the bit accumulator */
+#define DROPBITS(n) \
+ do { \
+ hold >>= (n); \
+ bits -= (unsigned)(n); \
+ } while (0)
+
+/* Remove zero to seven bits as needed to go to a byte boundary */
+#define BYTEBITS() \
+ do { \
+ hold >>= bits & 7; \
+ bits -= bits & 7; \
+ } while (0)
+
+/* Reverse the bytes in a 32-bit value */
+#define REVERSE(q) \
+ ((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \
+ (((q) & 0xff00) << 8) + (((q) & 0xff) << 24))
+
+/*
+ inflate() uses a state machine to process as much input data and generate as
+ much output data as possible before returning. The state machine is
+ structured roughly as follows:
+
+ for (;;) switch (state) {
+ ...
+ case STATEn:
+ if (not enough input data or output space to make progress)
+ return;
+ ... make progress ...
+ state = STATEm;
+ break;
+ ...
+ }
+
+ so when inflate() is called again, the same case is attempted again, and
+ if the appropriate resources are provided, the machine proceeds to the
+ next state. The NEEDBITS() macro is usually the way the state evaluates
+ whether it can proceed or should return. NEEDBITS() does the return if
+ the requested bits are not available. The typical use of the BITS macros
+ is:
+
+ NEEDBITS(n);
+ ... do something with BITS(n) ...
+ DROPBITS(n);
+
+ where NEEDBITS(n) either returns from inflate() if there isn't enough
+ input left to load n bits into the accumulator, or it continues. BITS(n)
+ gives the low n bits in the accumulator. When done, DROPBITS(n) drops
+ the low n bits off the accumulator. INITBITS() clears the accumulator
+ and sets the number of available bits to zero. BYTEBITS() discards just
+ enough bits to put the accumulator on a byte boundary. After BYTEBITS()
+ and a NEEDBITS(8), then BITS(8) would return the next byte in the stream.
+
+ NEEDBITS(n) uses PULLBYTE() to get an available byte of input, or to return
+ if there is no input available. The decoding of variable length codes uses
+ PULLBYTE() directly in order to pull just enough bytes to decode the next
+ code, and no more.
+
+ Some states loop until they get enough input, making sure that enough
+ state information is maintained to continue the loop where it left off
+ if NEEDBITS() returns in the loop. For example, want, need, and keep
+ would all have to actually be part of the saved state in case NEEDBITS()
+ returns:
+
+ case STATEw:
+ while (want < need) {
+ NEEDBITS(n);
+ keep[want++] = BITS(n);
+ DROPBITS(n);
+ }
+ state = STATEx;
+ case STATEx:
+
+ As shown above, if the next state is also the next case, then the break
+ is omitted.
+
+ A state may also return if there is not enough output space available to
+ complete that state. Those states are copying stored data, writing a
+ literal byte, and copying a matching string.
+
+ When returning, a "goto inf_leave" is used to update the total counters,
+ update the check value, and determine whether any progress has been made
+ during that inflate() call in order to return the proper return code.
+ Progress is defined as a change in either strm->avail_in or strm->avail_out.
+ When there is a window, goto inf_leave will update the window with the last
+ output written. If a goto inf_leave occurs in the middle of decompression
+ and there is no window currently, goto inf_leave will create one and copy
+ output to the window for the next call of inflate().
+
+ In this implementation, the flush parameter of inflate() only affects the
+ return code (per zlib.h). inflate() always writes as much as possible to
+ strm->next_out, given the space available and the provided input--the effect
+ documented in zlib.h of Z_SYNC_FLUSH. Furthermore, inflate() always defers
+ the allocation of and copying into a sliding window until necessary, which
+ provides the effect documented in zlib.h for Z_FINISH when the entire input
+ stream available. So the only thing the flush parameter actually does is:
+ when flush is set to Z_FINISH, inflate() cannot return Z_OK. Instead it
+ will return Z_BUF_ERROR if it has not reached the end of the stream.
+ */
+
+int ZEXPORT inflate(strm, flush)
+z_streamp strm;
+int flush;
+{
+ struct inflate_state FAR *state;
+ unsigned char FAR *next; /* next input */
+ unsigned char FAR *put; /* next output */
+ unsigned have, left; /* available input and output */
+ unsigned long hold; /* bit buffer */
+ unsigned bits; /* bits in bit buffer */
+ unsigned in, out; /* save starting available input and output */
+ unsigned copy; /* number of stored or match bytes to copy */
+ unsigned char FAR *from; /* where to copy match bytes from */
+ code here; /* current decoding table entry */
+ code last; /* parent table entry */
+ unsigned len; /* length to copy for repeats, bits to drop */
+ int ret; /* return code */
+#ifdef GUNZIP
+ unsigned char hbuf[4]; /* buffer for gzip header crc calculation */
+#endif
+ static const unsigned short order[19] = /* permutation of code lengths */
+ {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
+
+ if (strm == Z_NULL || strm->state == Z_NULL || strm->next_out == Z_NULL ||
+ (strm->next_in == Z_NULL && strm->avail_in != 0))
+ return Z_STREAM_ERROR;
+
+ state = (struct inflate_state FAR *)strm->state;
+ if (state->mode == TYPE) state->mode = TYPEDO; /* skip check */
+ LOAD();
+ in = have;
+ out = left;
+ ret = Z_OK;
+ for (;;)
+ switch (state->mode) {
+ case HEAD:
+ if (state->wrap == 0) {
+ state->mode = TYPEDO;
+ break;
+ }
+ NEEDBITS(16);
+#ifdef GUNZIP
+ if ((state->wrap & 2) && hold == 0x8b1f) { /* gzip header */
+ state->check = crc32(0L, Z_NULL, 0);
+ CRC2(state->check, hold);
+ INITBITS();
+ state->mode = FLAGS;
+ break;
+ }
+ state->flags = 0; /* expect zlib header */
+ if (state->head != Z_NULL)
+ state->head->done = -1;
+ if (!(state->wrap & 1) || /* check if zlib header allowed */
+#else
+ if (
+#endif
+ ((BITS(8) << 8) + (hold >> 8)) % 31) {
+ strm->msg = (char *)"incorrect header check";
+ state->mode = BAD;
+ break;
+ }
+ if (BITS(4) != Z_DEFLATED) {
+ strm->msg = (char *)"unknown compression method";
+ state->mode = BAD;
+ break;
+ }
+ DROPBITS(4);
+ len = BITS(4) + 8;
+ if (state->wbits == 0)
+ state->wbits = len;
+ else if (len > state->wbits) {
+ strm->msg = (char *)"invalid window size";
+ state->mode = BAD;
+ break;
+ }
+ state->dmax = 1U << len;
+ Tracev((stderr, "inflate: zlib header ok\n"));
+ strm->adler = state->check = adler32(0L, Z_NULL, 0);
+ state->mode = hold & 0x200 ? DICTID : TYPE;
+ INITBITS();
+ break;
+#ifdef GUNZIP
+ case FLAGS:
+ NEEDBITS(16);
+ state->flags = (int)(hold);
+ if ((state->flags & 0xff) != Z_DEFLATED) {
+ strm->msg = (char *)"unknown compression method";
+ state->mode = BAD;
+ break;
+ }
+ if (state->flags & 0xe000) {
+ strm->msg = (char *)"unknown header flags set";
+ state->mode = BAD;
+ break;
+ }
+ if (state->head != Z_NULL)
+ state->head->text = (int)((hold >> 8) & 1);
+ if (state->flags & 0x0200) CRC2(state->check, hold);
+ INITBITS();
+ state->mode = TIME;
+ case TIME:
+ NEEDBITS(32);
+ if (state->head != Z_NULL)
+ state->head->time = hold;
+ if (state->flags & 0x0200) CRC4(state->check, hold);
+ INITBITS();
+ state->mode = OS;
+ case OS:
+ NEEDBITS(16);
+ if (state->head != Z_NULL) {
+ state->head->xflags = (int)(hold & 0xff);
+ state->head->os = (int)(hold >> 8);
+ }
+ if (state->flags & 0x0200) CRC2(state->check, hold);
+ INITBITS();
+ state->mode = EXLEN;
+ case EXLEN:
+ if (state->flags & 0x0400) {
+ NEEDBITS(16);
+ state->length = (unsigned)(hold);
+ if (state->head != Z_NULL)
+ state->head->extra_len = (unsigned)hold;
+ if (state->flags & 0x0200) CRC2(state->check, hold);
+ INITBITS();
+ }
+ else if (state->head != Z_NULL)
+ state->head->extra = Z_NULL;
+ state->mode = EXTRA;
+ case EXTRA:
+ if (state->flags & 0x0400) {
+ copy = state->length;
+ if (copy > have) copy = have;
+ if (copy) {
+ if (state->head != Z_NULL &&
+ state->head->extra != Z_NULL) {
+ len = state->head->extra_len - state->length;
+ zmemcpy(state->head->extra + len, next,
+ len + copy > state->head->extra_max ?
+ state->head->extra_max - len : copy);
+ }
+ if (state->flags & 0x0200)
+ state->check = crc32(state->check, next, copy);
+ have -= copy;
+ next += copy;
+ state->length -= copy;
+ }
+ if (state->length) goto inf_leave;
+ }
+ state->length = 0;
+ state->mode = NAME;
+ case NAME:
+ if (state->flags & 0x0800) {
+ if (have == 0) goto inf_leave;
+ copy = 0;
+ do {
+ len = (unsigned)(next[copy++]);
+ if (state->head != Z_NULL &&
+ state->head->name != Z_NULL &&
+ state->length < state->head->name_max)
+ state->head->name[state->length++] = len;
+ } while (len && copy < have);
+ if (state->flags & 0x0200)
+ state->check = crc32(state->check, next, copy);
+ have -= copy;
+ next += copy;
+ if (len) goto inf_leave;
+ }
+ else if (state->head != Z_NULL)
+ state->head->name = Z_NULL;
+ state->length = 0;
+ state->mode = COMMENT;
+ case COMMENT:
+ if (state->flags & 0x1000) {
+ if (have == 0) goto inf_leave;
+ copy = 0;
+ do {
+ len = (unsigned)(next[copy++]);
+ if (state->head != Z_NULL &&
+ state->head->comment != Z_NULL &&
+ state->length < state->head->comm_max)
+ state->head->comment[state->length++] = len;
+ } while (len && copy < have);
+ if (state->flags & 0x0200)
+ state->check = crc32(state->check, next, copy);
+ have -= copy;
+ next += copy;
+ if (len) goto inf_leave;
+ }
+ else if (state->head != Z_NULL)
+ state->head->comment = Z_NULL;
+ state->mode = HCRC;
+ case HCRC:
+ if (state->flags & 0x0200) {
+ NEEDBITS(16);
+ if (hold != (state->check & 0xffff)) {
+ strm->msg = (char *)"header crc mismatch";
+ state->mode = BAD;
+ break;
+ }
+ INITBITS();
+ }
+ if (state->head != Z_NULL) {
+ state->head->hcrc = (int)((state->flags >> 9) & 1);
+ state->head->done = 1;
+ }
+ strm->adler = state->check = crc32(0L, Z_NULL, 0);
+ state->mode = TYPE;
+ break;
+#endif
+ case DICTID:
+ NEEDBITS(32);
+ strm->adler = state->check = REVERSE(hold);
+ INITBITS();
+ state->mode = DICT;
+ case DICT:
+ if (state->havedict == 0) {
+ RESTORE();
+ return Z_NEED_DICT;
+ }
+ strm->adler = state->check = adler32(0L, Z_NULL, 0);
+ state->mode = TYPE;
+ case TYPE:
+ if (flush == Z_BLOCK || flush == Z_TREES) goto inf_leave;
+ case TYPEDO:
+ if (state->last) {
+ BYTEBITS();
+ state->mode = CHECK;
+ break;
+ }
+ NEEDBITS(3);
+ state->last = BITS(1);
+ DROPBITS(1);
+ switch (BITS(2)) {
+ case 0: /* stored block */
+ Tracev((stderr, "inflate: stored block%s\n",
+ state->last ? " (last)" : ""));
+ state->mode = STORED;
+ break;
+ case 1: /* fixed block */
+ fixedtables(state);
+ Tracev((stderr, "inflate: fixed codes block%s\n",
+ state->last ? " (last)" : ""));
+ state->mode = LEN_; /* decode codes */
+ if (flush == Z_TREES) {
+ DROPBITS(2);
+ goto inf_leave;
+ }
+ break;
+ case 2: /* dynamic block */
+ Tracev((stderr, "inflate: dynamic codes block%s\n",
+ state->last ? " (last)" : ""));
+ state->mode = TABLE;
+ break;
+ case 3:
+ strm->msg = (char *)"invalid block type";
+ state->mode = BAD;
+ }
+ DROPBITS(2);
+ break;
+ case STORED:
+ BYTEBITS(); /* go to byte boundary */
+ NEEDBITS(32);
+ if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) {
+ strm->msg = (char *)"invalid stored block lengths";
+ state->mode = BAD;
+ break;
+ }
+ state->length = (unsigned)hold & 0xffff;
+ Tracev((stderr, "inflate: stored length %u\n",
+ state->length));
+ INITBITS();
+ state->mode = COPY_;
+ if (flush == Z_TREES) goto inf_leave;
+ case COPY_:
+ state->mode = COPY;
+ case COPY:
+ copy = state->length;
+ if (copy) {
+ if (copy > have) copy = have;
+ if (copy > left) copy = left;
+ if (copy == 0) goto inf_leave;
+ zmemcpy(put, next, copy);
+ have -= copy;
+ next += copy;
+ left -= copy;
+ put += copy;
+ state->length -= copy;
+ break;
+ }
+ Tracev((stderr, "inflate: stored end\n"));
+ state->mode = TYPE;
+ break;
+ case TABLE:
+ NEEDBITS(14);
+ state->nlen = BITS(5) + 257;
+ DROPBITS(5);
+ state->ndist = BITS(5) + 1;
+ DROPBITS(5);
+ state->ncode = BITS(4) + 4;
+ DROPBITS(4);
+#ifndef PKZIP_BUG_WORKAROUND
+ if (state->nlen > 286 || state->ndist > 30) {
+ strm->msg = (char *)"too many length or distance symbols";
+ state->mode = BAD;
+ break;
+ }
+#endif
+ Tracev((stderr, "inflate: table sizes ok\n"));
+ state->have = 0;
+ state->mode = LENLENS;
+ case LENLENS:
+ while (state->have < state->ncode) {
+ NEEDBITS(3);
+ state->lens[order[state->have++]] = (unsigned short)BITS(3);
+ DROPBITS(3);
+ }
+ while (state->have < 19)
+ state->lens[order[state->have++]] = 0;
+ state->next = state->codes;
+ state->lencode = (code const FAR *)(state->next);
+ state->lenbits = 7;
+ ret = inflate_table(CODES, state->lens, 19, &(state->next),
+ &(state->lenbits), state->work);
+ if (ret) {
+ strm->msg = (char *)"invalid code lengths set";
+ state->mode = BAD;
+ break;
+ }
+ Tracev((stderr, "inflate: code lengths ok\n"));
+ state->have = 0;
+ state->mode = CODELENS;
+ case CODELENS:
+ while (state->have < state->nlen + state->ndist) {
+ for (;;) {
+ here = state->lencode[BITS(state->lenbits)];
+ if ((unsigned)(here.bits) <= bits) break;
+ PULLBYTE();
+ }
+ if (here.val < 16) {
+ NEEDBITS(here.bits);
+ DROPBITS(here.bits);
+ state->lens[state->have++] = here.val;
+ }
+ else {
+ if (here.val == 16) {
+ NEEDBITS(here.bits + 2);
+ DROPBITS(here.bits);
+ if (state->have == 0) {
+ strm->msg = (char *)"invalid bit length repeat";
+ state->mode = BAD;
+ break;
+ }
+ len = state->lens[state->have - 1];
+ copy = 3 + BITS(2);
+ DROPBITS(2);
+ }
+ else if (here.val == 17) {
+ NEEDBITS(here.bits + 3);
+ DROPBITS(here.bits);
+ len = 0;
+ copy = 3 + BITS(3);
+ DROPBITS(3);
+ }
+ else {
+ NEEDBITS(here.bits + 7);
+ DROPBITS(here.bits);
+ len = 0;
+ copy = 11 + BITS(7);
+ DROPBITS(7);
+ }
+ if (state->have + copy > state->nlen + state->ndist) {
+ strm->msg = (char *)"invalid bit length repeat";
+ state->mode = BAD;
+ break;
+ }
+ while (copy--)
+ state->lens[state->have++] = (unsigned short)len;
+ }
+ }
+
+ /* handle error breaks in while */
+ if (state->mode == BAD) break;
+
+ /* check for end-of-block code (better have one) */
+ if (state->lens[256] == 0) {
+ strm->msg = (char *)"invalid code -- missing end-of-block";
+ state->mode = BAD;
+ break;
+ }
+
+ /* build code tables -- note: do not change the lenbits or distbits
+ values here (9 and 6) without reading the comments in inftrees.h
+ concerning the ENOUGH constants, which depend on those values */
+ state->next = state->codes;
+ state->lencode = (code const FAR *)(state->next);
+ state->lenbits = 9;
+ ret = inflate_table(LENS, state->lens, state->nlen, &(state->next),
+ &(state->lenbits), state->work);
+ if (ret) {
+ strm->msg = (char *)"invalid literal/lengths set";
+ state->mode = BAD;
+ break;
+ }
+ state->distcode = (code const FAR *)(state->next);
+ state->distbits = 6;
+ ret = inflate_table(DISTS, state->lens + state->nlen, state->ndist,
+ &(state->next), &(state->distbits), state->work);
+ if (ret) {
+ strm->msg = (char *)"invalid distances set";
+ state->mode = BAD;
+ break;
+ }
+ Tracev((stderr, "inflate: codes ok\n"));
+ state->mode = LEN_;
+ if (flush == Z_TREES) goto inf_leave;
+ case LEN_:
+ state->mode = LEN;
+ case LEN:
+ if (have >= 6 && left >= 258) {
+ RESTORE();
+ inflate_fast(strm, out);
+ LOAD();
+ if (state->mode == TYPE)
+ state->back = -1;
+ break;
+ }
+ state->back = 0;
+ for (;;) {
+ here = state->lencode[BITS(state->lenbits)];
+ if ((unsigned)(here.bits) <= bits) break;
+ PULLBYTE();
+ }
+ if (here.op && (here.op & 0xf0) == 0) {
+ last = here;
+ for (;;) {
+ here = state->lencode[last.val +
+ (BITS(last.bits + last.op) >> last.bits)];
+ if ((unsigned)(last.bits + here.bits) <= bits) break;
+ PULLBYTE();
+ }
+ DROPBITS(last.bits);
+ state->back += last.bits;
+ }
+ DROPBITS(here.bits);
+ state->back += here.bits;
+ state->length = (unsigned)here.val;
+ if ((int)(here.op) == 0) {
+ Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
+ "inflate: literal '%c'\n" :
+ "inflate: literal 0x%02x\n", here.val));
+ state->mode = LIT;
+ break;
+ }
+ if (here.op & 32) {
+ Tracevv((stderr, "inflate: end of block\n"));
+ state->back = -1;
+ state->mode = TYPE;
+ break;
+ }
+ if (here.op & 64) {
+ strm->msg = (char *)"invalid literal/length code";
+ state->mode = BAD;
+ break;
+ }
+ state->extra = (unsigned)(here.op) & 15;
+ state->mode = LENEXT;
+ case LENEXT:
+ if (state->extra) {
+ NEEDBITS(state->extra);
+ state->length += BITS(state->extra);
+ DROPBITS(state->extra);
+ state->back += state->extra;
+ }
+ Tracevv((stderr, "inflate: length %u\n", state->length));
+ state->was = state->length;
+ state->mode = DIST;
+ case DIST:
+ for (;;) {
+ here = state->distcode[BITS(state->distbits)];
+ if ((unsigned)(here.bits) <= bits) break;
+ PULLBYTE();
+ }
+ if ((here.op & 0xf0) == 0) {
+ last = here;
+ for (;;) {
+ here = state->distcode[last.val +
+ (BITS(last.bits + last.op) >> last.bits)];
+ if ((unsigned)(last.bits + here.bits) <= bits) break;
+ PULLBYTE();
+ }
+ DROPBITS(last.bits);
+ state->back += last.bits;
+ }
+ DROPBITS(here.bits);
+ state->back += here.bits;
+ if (here.op & 64) {
+ strm->msg = (char *)"invalid distance code";
+ state->mode = BAD;
+ break;
+ }
+ state->offset = (unsigned)here.val;
+ state->extra = (unsigned)(here.op) & 15;
+ state->mode = DISTEXT;
+ case DISTEXT:
+ if (state->extra) {
+ NEEDBITS(state->extra);
+ state->offset += BITS(state->extra);
+ DROPBITS(state->extra);
+ state->back += state->extra;
+ }
+#ifdef INFLATE_STRICT
+ if (state->offset > state->dmax) {
+ strm->msg = (char *)"invalid distance too far back";
+ state->mode = BAD;
+ break;
+ }
+#endif
+ Tracevv((stderr, "inflate: distance %u\n", state->offset));
+ state->mode = MATCH;
+ case MATCH:
+ if (left == 0) goto inf_leave;
+ copy = out - left;
+ if (state->offset > copy) { /* copy from window */
+ copy = state->offset - copy;
+ if (copy > state->whave) {
+ if (state->sane) {
+ strm->msg = (char *)"invalid distance too far back";
+ state->mode = BAD;
+ break;
+ }
+#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
+ Trace((stderr, "inflate.c too far\n"));
+ copy -= state->whave;
+ if (copy > state->length) copy = state->length;
+ if (copy > left) copy = left;
+ left -= copy;
+ state->length -= copy;
+ do {
+ *put++ = 0;
+ } while (--copy);
+ if (state->length == 0) state->mode = LEN;
+ break;
+#endif
+ }
+ if (copy > state->wnext) {
+ copy -= state->wnext;
+ from = state->window + (state->wsize - copy);
+ }
+ else
+ from = state->window + (state->wnext - copy);
+ if (copy > state->length) copy = state->length;
+ }
+ else { /* copy from output */
+ from = put - state->offset;
+ copy = state->length;
+ }
+ if (copy > left) copy = left;
+ left -= copy;
+ state->length -= copy;
+ do {
+ *put++ = *from++;
+ } while (--copy);
+ if (state->length == 0) state->mode = LEN;
+ break;
+ case LIT:
+ if (left == 0) goto inf_leave;
+ *put++ = (unsigned char)(state->length);
+ left--;
+ state->mode = LEN;
+ break;
+ case CHECK:
+ if (state->wrap) {
+ NEEDBITS(32);
+ out -= left;
+ strm->total_out += out;
+ state->total += out;
+ if (out)
+ strm->adler = state->check =
+ UPDATE(state->check, put - out, out);
+ out = left;
+ if ((
+#ifdef GUNZIP
+ state->flags ? hold :
+#endif
+ REVERSE(hold)) != state->check) {
+ strm->msg = (char *)"incorrect data check";
+ state->mode = BAD;
+ break;
+ }
+ INITBITS();
+ Tracev((stderr, "inflate: check matches trailer\n"));
+ }
+#ifdef GUNZIP
+ state->mode = LENGTH;
+ case LENGTH:
+ if (state->wrap && state->flags) {
+ NEEDBITS(32);
+ if (hold != (state->total & 0xffffffffUL)) {
+ strm->msg = (char *)"incorrect length check";
+ state->mode = BAD;
+ break;
+ }
+ INITBITS();
+ Tracev((stderr, "inflate: length matches trailer\n"));
+ }
+#endif
+ state->mode = DONE;
+ case DONE:
+ ret = Z_STREAM_END;
+ goto inf_leave;
+ case BAD:
+ ret = Z_DATA_ERROR;
+ goto inf_leave;
+ case MEM:
+ return Z_MEM_ERROR;
+ case SYNC:
+ default:
+ return Z_STREAM_ERROR;
+ }
+
+ /*
+ Return from inflate(), updating the total counts and the check value.
+ If there was no progress during the inflate() call, return a buffer
+ error. Call updatewindow() to create and/or update the window state.
+ Note: a memory error from inflate() is non-recoverable.
+ */
+ inf_leave:
+ RESTORE();
+ if (state->wsize || (state->mode < CHECK && out != strm->avail_out))
+ if (updatewindow(strm, out)) {
+ state->mode = MEM;
+ return Z_MEM_ERROR;
+ }
+ in -= strm->avail_in;
+ out -= strm->avail_out;
+ strm->total_in += in;
+ strm->total_out += out;
+ state->total += out;
+ if (state->wrap && out)
+ strm->adler = state->check =
+ UPDATE(state->check, strm->next_out - out, out);
+ strm->data_type = state->bits + (state->last ? 64 : 0) +
+ (state->mode == TYPE ? 128 : 0) +
+ (state->mode == LEN_ || state->mode == COPY_ ? 256 : 0);
+ if (((in == 0 && out == 0) || flush == Z_FINISH) && ret == Z_OK)
+ ret = Z_BUF_ERROR;
+ return ret;
+}
+
+int ZEXPORT inflateEnd(strm)
+z_streamp strm;
+{
+ struct inflate_state FAR *state;
+ if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0)
+ return Z_STREAM_ERROR;
+ state = (struct inflate_state FAR *)strm->state;
+ if (state->window != Z_NULL) ZFREE(strm, state->window);
+ ZFREE(strm, strm->state);
+ strm->state = Z_NULL;
+ Tracev((stderr, "inflate: end\n"));
+ return Z_OK;
+}
+
+int ZEXPORT inflateSetDictionary(strm, dictionary, dictLength)
+z_streamp strm;
+const Bytef *dictionary;
+uInt dictLength;
+{
+ struct inflate_state FAR *state;
+ unsigned long id;
+
+ /* check state */
+ if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ state = (struct inflate_state FAR *)strm->state;
+ if (state->wrap != 0 && state->mode != DICT)
+ return Z_STREAM_ERROR;
+
+ /* check for correct dictionary id */
+ if (state->mode == DICT) {
+ id = adler32(0L, Z_NULL, 0);
+ id = adler32(id, dictionary, dictLength);
+ if (id != state->check)
+ return Z_DATA_ERROR;
+ }
+
+ /* copy dictionary to window */
+ if (updatewindow(strm, strm->avail_out)) {
+ state->mode = MEM;
+ return Z_MEM_ERROR;
+ }
+ if (dictLength > state->wsize) {
+ zmemcpy(state->window, dictionary + dictLength - state->wsize,
+ state->wsize);
+ state->whave = state->wsize;
+ }
+ else {
+ zmemcpy(state->window + state->wsize - dictLength, dictionary,
+ dictLength);
+ state->whave = dictLength;
+ }
+ state->havedict = 1;
+ Tracev((stderr, "inflate: dictionary set\n"));
+ return Z_OK;
+}
+
+int ZEXPORT inflateGetHeader(strm, head)
+z_streamp strm;
+gz_headerp head;
+{
+ struct inflate_state FAR *state;
+
+ /* check state */
+ if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ state = (struct inflate_state FAR *)strm->state;
+ if ((state->wrap & 2) == 0) return Z_STREAM_ERROR;
+
+ /* save header structure */
+ state->head = head;
+ head->done = 0;
+ return Z_OK;
+}
+
+/*
+ Search buf[0..len-1] for the pattern: 0, 0, 0xff, 0xff. Return when found
+ or when out of input. When called, *have is the number of pattern bytes
+ found in order so far, in 0..3. On return *have is updated to the new
+ state. If on return *have equals four, then the pattern was found and the
+ return value is how many bytes were read including the last byte of the
+ pattern. If *have is less than four, then the pattern has not been found
+ yet and the return value is len. In the latter case, syncsearch() can be
+ called again with more data and the *have state. *have is initialized to
+ zero for the first call.
+ */
+local unsigned syncsearch(have, buf, len)
+unsigned FAR *have;
+unsigned char FAR *buf;
+unsigned len;
+{
+ unsigned got;
+ unsigned next;
+
+ got = *have;
+ next = 0;
+ while (next < len && got < 4) {
+ if ((int)(buf[next]) == (got < 2 ? 0 : 0xff))
+ got++;
+ else if (buf[next])
+ got = 0;
+ else
+ got = 4 - got;
+ next++;
+ }
+ *have = got;
+ return next;
+}
+
+int ZEXPORT inflateSync(strm)
+z_streamp strm;
+{
+ unsigned len; /* number of bytes to look at or looked at */
+ long long in, out; /* temporary to save total_in and total_out */
+ unsigned char buf[4]; /* to restore bit buffer to byte string */
+ struct inflate_state FAR *state;
+
+ /* check parameters */
+ if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ state = (struct inflate_state FAR *)strm->state;
+ if (strm->avail_in == 0 && state->bits < 8) return Z_BUF_ERROR;
+
+ /* if first time, start search in bit buffer */
+ if (state->mode != SYNC) {
+ state->mode = SYNC;
+ state->hold <<= state->bits & 7;
+ state->bits -= state->bits & 7;
+ len = 0;
+ while (state->bits >= 8) {
+ buf[len++] = (unsigned char)(state->hold);
+ state->hold >>= 8;
+ state->bits -= 8;
+ }
+ state->have = 0;
+ syncsearch(&(state->have), buf, len);
+ }
+
+ /* search available input */
+ len = syncsearch(&(state->have), strm->next_in, strm->avail_in);
+ strm->avail_in -= len;
+ strm->next_in += len;
+ strm->total_in += len;
+
+ /* return no joy or set up to restart inflate() on a new block */
+ if (state->have != 4) return Z_DATA_ERROR;
+ in = strm->total_in; out = strm->total_out;
+ inflateReset(strm);
+ strm->total_in = in; strm->total_out = out;
+ state->mode = TYPE;
+ return Z_OK;
+}
+
+/*
+ Returns true if inflate is currently at the end of a block generated by
+ Z_SYNC_FLUSH or Z_FULL_FLUSH. This function is used by one PPP
+ implementation to provide an additional safety check. PPP uses
+ Z_SYNC_FLUSH but removes the length bytes of the resulting empty stored
+ block. When decompressing, PPP checks that at the end of input packet,
+ inflate is waiting for these length bytes.
+ */
+int ZEXPORT inflateSyncPoint(strm)
+z_streamp strm;
+{
+ struct inflate_state FAR *state;
+
+ if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ state = (struct inflate_state FAR *)strm->state;
+ return state->mode == STORED && state->bits == 0;
+}
+
+int ZEXPORT inflateCopy(dest, source)
+z_streamp dest;
+z_streamp source;
+{
+ struct inflate_state FAR *state;
+ struct inflate_state FAR *copy;
+ unsigned char FAR *window;
+ unsigned wsize;
+
+ /* check input */
+ if (dest == Z_NULL || source == Z_NULL || source->state == Z_NULL ||
+ source->zalloc == (alloc_func)0 || source->zfree == (free_func)0)
+ return Z_STREAM_ERROR;
+ state = (struct inflate_state FAR *)source->state;
+
+ /* allocate space */
+ copy = (struct inflate_state FAR *)
+ ZALLOC(source, 1, sizeof(struct inflate_state));
+ if (copy == Z_NULL) return Z_MEM_ERROR;
+ window = Z_NULL;
+ if (state->window != Z_NULL) {
+ window = (unsigned char FAR *)
+ ZALLOC(source, 1U << state->wbits, sizeof(unsigned char));
+ if (window == Z_NULL) {
+ ZFREE(source, copy);
+ return Z_MEM_ERROR;
+ }
+ }
+
+ /* copy state */
+ zmemcpy(dest, source, sizeof(z_stream));
+ zmemcpy(copy, state, sizeof(struct inflate_state));
+ if (state->lencode >= state->codes &&
+ state->lencode <= state->codes + ENOUGH - 1) {
+ copy->lencode = copy->codes + (state->lencode - state->codes);
+ copy->distcode = copy->codes + (state->distcode - state->codes);
+ }
+ copy->next = copy->codes + (state->next - state->codes);
+ if (window != Z_NULL) {
+ wsize = 1U << state->wbits;
+ zmemcpy(window, state->window, wsize);
+ }
+ copy->window = window;
+ dest->state = (struct internal_state FAR *)copy;
+ return Z_OK;
+}
+
+int ZEXPORT inflateUndermine(strm, subvert)
+z_streamp strm;
+int subvert;
+{
+ struct inflate_state FAR *state;
+
+ if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ state = (struct inflate_state FAR *)strm->state;
+ state->sane = !subvert;
+#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
+ return Z_OK;
+#else
+ state->sane = 1;
+ return Z_DATA_ERROR;
+#endif
+}
+
+long ZEXPORT inflateMark(strm)
+z_streamp strm;
+{
+ struct inflate_state FAR *state;
+
+ if (strm == Z_NULL || strm->state == Z_NULL) return -1L << 16;
+ state = (struct inflate_state FAR *)strm->state;
+ return ((long)(state->back) << 16) +
+ (state->mode == COPY ? state->length :
+ (state->mode == MATCH ? state->was - state->length : 0));
+}
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/inflate.h b/jdk/src/share/native/java/util/zip/zlib-1.2.5/inflate.h
new file mode 100644
index 0000000..090cb8a
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/inflate.h
@@ -0,0 +1,146 @@
+/*
+ * 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.
+ */
+
+/* inflate.h -- internal inflate state definition
+ * Copyright (C) 1995-2009 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* WARNING: this file should *not* be used by applications. It is
+ part of the implementation of the compression library and is
+ subject to change. Applications should only use zlib.h.
+ */
+
+/* define NO_GZIP when compiling if you want to disable gzip header and
+ trailer decoding by inflate(). NO_GZIP would be used to avoid linking in
+ the crc code when it is not needed. For shared libraries, gzip decoding
+ should be left enabled. */
+#ifndef NO_GZIP
+# define GUNZIP
+#endif
+
+/* Possible inflate modes between inflate() calls */
+typedef enum {
+ HEAD, /* i: waiting for magic header */
+ FLAGS, /* i: waiting for method and flags (gzip) */
+ TIME, /* i: waiting for modification time (gzip) */
+ OS, /* i: waiting for extra flags and operating system (gzip) */
+ EXLEN, /* i: waiting for extra length (gzip) */
+ EXTRA, /* i: waiting for extra bytes (gzip) */
+ NAME, /* i: waiting for end of file name (gzip) */
+ COMMENT, /* i: waiting for end of comment (gzip) */
+ HCRC, /* i: waiting for header crc (gzip) */
+ DICTID, /* i: waiting for dictionary check value */
+ DICT, /* waiting for inflateSetDictionary() call */
+ TYPE, /* i: waiting for type bits, including last-flag bit */
+ TYPEDO, /* i: same, but skip check to exit inflate on new block */
+ STORED, /* i: waiting for stored size (length and complement) */
+ COPY_, /* i/o: same as COPY below, but only first time in */
+ COPY, /* i/o: waiting for input or output to copy stored block */
+ TABLE, /* i: waiting for dynamic block table lengths */
+ LENLENS, /* i: waiting for code length code lengths */
+ CODELENS, /* i: waiting for length/lit and distance code lengths */
+ LEN_, /* i: same as LEN below, but only first time in */
+ LEN, /* i: waiting for length/lit/eob code */
+ LENEXT, /* i: waiting for length extra bits */
+ DIST, /* i: waiting for distance code */
+ DISTEXT, /* i: waiting for distance extra bits */
+ MATCH, /* o: waiting for output space to copy string */
+ LIT, /* o: waiting for output space to write literal */
+ CHECK, /* i: waiting for 32-bit check value */
+ LENGTH, /* i: waiting for 32-bit length (gzip) */
+ DONE, /* finished check, done -- remain here until reset */
+ BAD, /* got a data error -- remain here until reset */
+ MEM, /* got an inflate() memory error -- remain here until reset */
+ SYNC /* looking for synchronization bytes to restart inflate() */
+} inflate_mode;
+
+/*
+ State transitions between above modes -
+
+ (most modes can go to BAD or MEM on error -- not shown for clarity)
+
+ Process header:
+ HEAD -> (gzip) or (zlib) or (raw)
+ (gzip) -> FLAGS -> TIME -> OS -> EXLEN -> EXTRA -> NAME -> COMMENT ->
+ HCRC -> TYPE
+ (zlib) -> DICTID or TYPE
+ DICTID -> DICT -> TYPE
+ (raw) -> TYPEDO
+ Read deflate blocks:
+ TYPE -> TYPEDO -> STORED or TABLE or LEN_ or CHECK
+ STORED -> COPY_ -> COPY -> TYPE
+ TABLE -> LENLENS -> CODELENS -> LEN_
+ LEN_ -> LEN
+ Read deflate codes in fixed or dynamic block:
+ LEN -> LENEXT or LIT or TYPE
+ LENEXT -> DIST -> DISTEXT -> MATCH -> LEN
+ LIT -> LEN
+ Process trailer:
+ CHECK -> LENGTH -> DONE
+ */
+
+/* state maintained between inflate() calls. Approximately 10K bytes. */
+struct inflate_state {
+ inflate_mode mode; /* current inflate mode */
+ int last; /* true if processing last block */
+ int wrap; /* bit 0 true for zlib, bit 1 true for gzip */
+ int havedict; /* true if dictionary provided */
+ int flags; /* gzip header method and flags (0 if zlib) */
+ unsigned dmax; /* zlib header max distance (INFLATE_STRICT) */
+ unsigned long check; /* protected copy of check value */
+ unsigned long total; /* protected copy of output count */
+ gz_headerp head; /* where to save gzip header information */
+ /* sliding window */
+ unsigned wbits; /* log base 2 of requested window size */
+ unsigned wsize; /* window size or zero if not using window */
+ unsigned whave; /* valid bytes in the window */
+ unsigned wnext; /* window write index */
+ unsigned char FAR *window; /* allocated sliding window, if needed */
+ /* bit accumulator */
+ unsigned long hold; /* input bit accumulator */
+ unsigned bits; /* number of bits in "in" */
+ /* for string and stored block copying */
+ unsigned length; /* literal or length of data to copy */
+ unsigned offset; /* distance back to copy string from */
+ /* for table and code decoding */
+ unsigned extra; /* extra bits needed */
+ /* fixed and dynamic code tables */
+ code const FAR *lencode; /* starting table for length/literal codes */
+ code const FAR *distcode; /* starting table for distance codes */
+ unsigned lenbits; /* index bits for lencode */
+ unsigned distbits; /* index bits for distcode */
+ /* dynamic table building */
+ unsigned ncode; /* number of code length code lengths */
+ unsigned nlen; /* number of length code lengths */
+ unsigned ndist; /* number of distance code lengths */
+ unsigned have; /* number of code lengths in lens[] */
+ code FAR *next; /* next available space in codes[] */
+ unsigned short lens[320]; /* temporary storage for code lengths */
+ unsigned short work[288]; /* work area for code table building */
+ code codes[ENOUGH]; /* space for code tables */
+ int sane; /* if false, allow invalid distance too far */
+ int back; /* bits back of last unprocessed length/lit */
+ unsigned was; /* initial length of match */
+};
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/inftrees.c b/jdk/src/share/native/java/util/zip/zlib-1.2.5/inftrees.c
new file mode 100644
index 0000000..9842631
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/inftrees.c
@@ -0,0 +1,354 @@
+/*
+ * 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.
+ */
+
+/* inftrees.c -- generate Huffman trees for efficient decoding
+ * Copyright (C) 1995-2010 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+#include "zutil.h"
+#include "inftrees.h"
+
+#define MAXBITS 15
+
+const char inflate_copyright[] =
+ " inflate 1.2.5 Copyright 1995-2010 Mark Adler ";
+/*
+ If you use the zlib library in a product, an acknowledgment is welcome
+ in the documentation of your product. If for some reason you cannot
+ include such an acknowledgment, I would appreciate that you keep this
+ copyright string in the executable of your product.
+ */
+
+/*
+ Build a set of tables to decode the provided canonical Huffman code.
+ The code lengths are lens[0..codes-1]. The result starts at *table,
+ whose indices are 0..2^bits-1. work is a writable array of at least
+ lens shorts, which is used as a work area. type is the type of code
+ to be generated, CODES, LENS, or DISTS. On return, zero is success,
+ -1 is an invalid code, and +1 means that ENOUGH isn't enough. table
+ on return points to the next available entry's address. bits is the
+ requested root table index bits, and on return it is the actual root
+ table index bits. It will differ if the request is greater than the
+ longest code or if it is less than the shortest code.
+ */
+int ZLIB_INTERNAL inflate_table(type, lens, codes, table, bits, work)
+codetype type;
+unsigned short FAR *lens;
+unsigned codes;
+code FAR * FAR *table;
+unsigned FAR *bits;
+unsigned short FAR *work;
+{
+ unsigned len; /* a code's length in bits */
+ unsigned sym; /* index of code symbols */
+ unsigned min, max; /* minimum and maximum code lengths */
+ unsigned root; /* number of index bits for root table */
+ unsigned curr; /* number of index bits for current table */
+ unsigned drop; /* code bits to drop for sub-table */
+ int left; /* number of prefix codes available */
+ unsigned used; /* code entries in table used */
+ unsigned huff; /* Huffman code */
+ unsigned incr; /* for incrementing code, index */
+ unsigned fill; /* index for replicating entries */
+ unsigned low; /* low bits for current root entry */
+ unsigned mask; /* mask for low root bits */
+ code here; /* table entry for duplication */
+ code FAR *next; /* next available space in table */
+ const unsigned short FAR *base; /* base value table to use */
+ const unsigned short FAR *extra; /* extra bits table to use */
+ int end; /* use base and extra for symbol > end */
+ unsigned short count[MAXBITS+1]; /* number of codes of each length */
+ unsigned short offs[MAXBITS+1]; /* offsets in table for each length */
+ static const unsigned short lbase[31] = { /* Length codes 257..285 base */
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
+ 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
+ static const unsigned short lext[31] = { /* Length codes 257..285 extra */
+ 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
+ 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 73, 195};
+ static const unsigned short dbase[32] = { /* Distance codes 0..29 base */
+ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
+ 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
+ 8193, 12289, 16385, 24577, 0, 0};
+ static const unsigned short dext[32] = { /* Distance codes 0..29 extra */
+ 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,
+ 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,
+ 28, 28, 29, 29, 64, 64};
+
+ /*
+ Process a set of code lengths to create a canonical Huffman code. The
+ code lengths are lens[0..codes-1]. Each length corresponds to the
+ symbols 0..codes-1. The Huffman code is generated by first sorting the
+ symbols by length from short to long, and retaining the symbol order
+ for codes with equal lengths. Then the code starts with all zero bits
+ for the first code of the shortest length, and the codes are integer
+ increments for the same length, and zeros are appended as the length
+ increases. For the deflate format, these bits are stored backwards
+ from their more natural integer increment ordering, and so when the
+ decoding tables are built in the large loop below, the integer codes
+ are incremented backwards.
+
+ This routine assumes, but does not check, that all of the entries in
+ lens[] are in the range 0..MAXBITS. The caller must assure this.
+ 1..MAXBITS is interpreted as that code length. zero means that that
+ symbol does not occur in this code.
+
+ The codes are sorted by computing a count of codes for each length,
+ creating from that a table of starting indices for each length in the
+ sorted table, and then entering the symbols in order in the sorted
+ table. The sorted table is work[], with that space being provided by
+ the caller.
+
+ The length counts are used for other purposes as well, i.e. finding
+ the minimum and maximum length codes, determining if there are any
+ codes at all, checking for a valid set of lengths, and looking ahead
+ at length counts to determine sub-table sizes when building the
+ decoding tables.
+ */
+
+ /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */
+ for (len = 0; len <= MAXBITS; len++)
+ count[len] = 0;
+ for (sym = 0; sym < codes; sym++)
+ count[lens[sym]]++;
+
+ /* bound code lengths, force root to be within code lengths */
+ root = *bits;
+ for (max = MAXBITS; max >= 1; max--)
+ if (count[max] != 0) break;
+ if (root > max) root = max;
+ if (max == 0) { /* no symbols to code at all */
+ here.op = (unsigned char)64; /* invalid code marker */
+ here.bits = (unsigned char)1;
+ here.val = (unsigned short)0;
+ *(*table)++ = here; /* make a table to force an error */
+ *(*table)++ = here;
+ *bits = 1;
+ return 0; /* no symbols, but wait for decoding to report error */
+ }
+ for (min = 1; min < max; min++)
+ if (count[min] != 0) break;
+ if (root < min) root = min;
+
+ /* check for an over-subscribed or incomplete set of lengths */
+ left = 1;
+ for (len = 1; len <= MAXBITS; len++) {
+ left <<= 1;
+ left -= count[len];
+ if (left < 0) return -1; /* over-subscribed */
+ }
+ if (left > 0 && (type == CODES || max != 1))
+ return -1; /* incomplete set */
+
+ /* generate offsets into symbol table for each length for sorting */
+ offs[1] = 0;
+ for (len = 1; len < MAXBITS; len++)
+ offs[len + 1] = offs[len] + count[len];
+
+ /* sort symbols by length, by symbol order within each length */
+ for (sym = 0; sym < codes; sym++)
+ if (lens[sym] != 0) work[offs[lens[sym]]++] = (unsigned short)sym;
+
+ /*
+ Create and fill in decoding tables. In this loop, the table being
+ filled is at next and has curr index bits. The code being used is huff
+ with length len. That code is converted to an index by dropping drop
+ bits off of the bottom. For codes where len is less than drop + curr,
+ those top drop + curr - len bits are incremented through all values to
+ fill the table with replicated entries.
+
+ root is the number of index bits for the root table. When len exceeds
+ root, sub-tables are created pointed to by the root entry with an index
+ of the low root bits of huff. This is saved in low to check for when a
+ new sub-table should be started. drop is zero when the root table is
+ being filled, and drop is root when sub-tables are being filled.
+
+ When a new sub-table is needed, it is necessary to look ahead in the
+ code lengths to determine what size sub-table is needed. The length
+ counts are used for this, and so count[] is decremented as codes are
+ entered in the tables.
+
+ used keeps track of how many table entries have been allocated from the
+ provided *table space. It is checked for LENS and DIST tables against
+ the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in
+ the initial root table size constants. See the comments in inftrees.h
+ for more information.
+
+ sym increments through all symbols, and the loop terminates when
+ all codes of length max, i.e. all codes, have been processed. This
+ routine permits incomplete codes, so another loop after this one fills
+ in the rest of the decoding tables with invalid code markers.
+ */
+
+ /* set up for code type */
+ switch (type) {
+ case CODES:
+ base = extra = work; /* dummy value--not used */
+ end = 19;
+ break;
+ case LENS:
+ base = lbase;
+ base -= 257;
+ extra = lext;
+ extra -= 257;
+ end = 256;
+ break;
+ default: /* DISTS */
+ base = dbase;
+ extra = dext;
+ end = -1;
+ }
+
+ /* initialize state for loop */
+ huff = 0; /* starting code */
+ sym = 0; /* starting code symbol */
+ len = min; /* starting code length */
+ next = *table; /* current table to fill in */
+ curr = root; /* current table index bits */
+ drop = 0; /* current bits to drop from code for index */
+ low = (unsigned)(-1); /* trigger new sub-table when len > root */
+ used = 1U << root; /* use root table entries */
+ mask = used - 1; /* mask for comparing low */
+
+ /* check available table space */
+ if ((type == LENS && used >= ENOUGH_LENS) ||
+ (type == DISTS && used >= ENOUGH_DISTS))
+ return 1;
+
+ /* process all codes and make table entries */
+ for (;;) {
+ /* create table entry */
+ here.bits = (unsigned char)(len - drop);
+ if ((int)(work[sym]) < end) {
+ here.op = (unsigned char)0;
+ here.val = work[sym];
+ }
+ else if ((int)(work[sym]) > end) {
+ here.op = (unsigned char)(extra[work[sym]]);
+ here.val = base[work[sym]];
+ }
+ else {
+ here.op = (unsigned char)(32 + 64); /* end of block */
+ here.val = 0;
+ }
+
+ /* replicate for those indices with low len bits equal to huff */
+ incr = 1U << (len - drop);
+ fill = 1U << curr;
+ min = fill; /* save offset to next table */
+ do {
+ fill -= incr;
+ next[(huff >> drop) + fill] = here;
+ } while (fill != 0);
+
+ /* backwards increment the len-bit code huff */
+ incr = 1U << (len - 1);
+ while (huff & incr)
+ incr >>= 1;
+ if (incr != 0) {
+ huff &= incr - 1;
+ huff += incr;
+ }
+ else
+ huff = 0;
+
+ /* go to next symbol, update count, len */
+ sym++;
+ if (--(count[len]) == 0) {
+ if (len == max) break;
+ len = lens[work[sym]];
+ }
+
+ /* create new sub-table if needed */
+ if (len > root && (huff & mask) != low) {
+ /* if first time, transition to sub-tables */
+ if (drop == 0)
+ drop = root;
+
+ /* increment past last table */
+ next += min; /* here min is 1 << curr */
+
+ /* determine length of next table */
+ curr = len - drop;
+ left = (int)(1 << curr);
+ while (curr + drop < max) {
+ left -= count[curr + drop];
+ if (left <= 0) break;
+ curr++;
+ left <<= 1;
+ }
+
+ /* check for enough space */
+ used += 1U << curr;
+ if ((type == LENS && used >= ENOUGH_LENS) ||
+ (type == DISTS && used >= ENOUGH_DISTS))
+ return 1;
+
+ /* point entry in root table to sub-table */
+ low = huff & mask;
+ (*table)[low].op = (unsigned char)curr;
+ (*table)[low].bits = (unsigned char)root;
+ (*table)[low].val = (unsigned short)(next - *table);
+ }
+ }
+
+ /*
+ Fill in rest of table for incomplete codes. This loop is similar to the
+ loop above in incrementing huff for table indices. It is assumed that
+ len is equal to curr + drop, so there is no loop needed to increment
+ through high index bits. When the current sub-table is filled, the loop
+ drops back to the root table to fill in any remaining entries there.
+ */
+ here.op = (unsigned char)64; /* invalid code marker */
+ here.bits = (unsigned char)(len - drop);
+ here.val = (unsigned short)0;
+ while (huff != 0) {
+ /* when done with sub-table, drop back to root table */
+ if (drop != 0 && (huff & mask) != low) {
+ drop = 0;
+ len = root;
+ next = *table;
+ here.bits = (unsigned char)len;
+ }
+
+ /* put invalid code marker in table */
+ next[huff >> drop] = here;
+
+ /* backwards increment the len-bit code huff */
+ incr = 1U << (len - 1);
+ while (huff & incr)
+ incr >>= 1;
+ if (incr != 0) {
+ huff &= incr - 1;
+ huff += incr;
+ }
+ else
+ huff = 0;
+ }
+
+ /* set return parameters */
+ *table += used;
+ *bits = root;
+ return 0;
+}
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/inftrees.h b/jdk/src/share/native/java/util/zip/zlib-1.2.5/inftrees.h
new file mode 100644
index 0000000..77326a7
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/inftrees.h
@@ -0,0 +1,86 @@
+/*
+ * 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.
+ */
+
+/* inftrees.h -- header to use inftrees.c
+ * Copyright (C) 1995-2005, 2010 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* WARNING: this file should *not* be used by applications. It is
+ part of the implementation of the compression library and is
+ subject to change. Applications should only use zlib.h.
+ */
+
+/* Structure for decoding tables. Each entry provides either the
+ information needed to do the operation requested by the code that
+ indexed that table entry, or it provides a pointer to another
+ table that indexes more bits of the code. op indicates whether
+ the entry is a pointer to another table, a literal, a length or
+ distance, an end-of-block, or an invalid code. For a table
+ pointer, the low four bits of op is the number of index bits of
+ that table. For a length or distance, the low four bits of op
+ is the number of extra bits to get after the code. bits is
+ the number of bits in this code or part of the code to drop off
+ of the bit buffer. val is the actual byte to output in the case
+ of a literal, the base length or distance, or the offset from
+ the current table to the next table. Each entry is four bytes. */
+typedef struct {
+ unsigned char op; /* operation, extra bits, table bits */
+ unsigned char bits; /* bits in this part of the code */
+ unsigned short val; /* offset in table or code value */
+} code;
+
+/* op values as set by inflate_table():
+ 00000000 - literal
+ 0000tttt - table link, tttt != 0 is the number of table index bits
+ 0001eeee - length or distance, eeee is the number of extra bits
+ 01100000 - end of block
+ 01000000 - invalid code
+ */
+
+/* Maximum size of the dynamic table. The maximum number of code structures is
+ 1444, which is the sum of 852 for literal/length codes and 592 for distance
+ codes. These values were found by exhaustive searches using the program
+ examples/enough.c found in the zlib distribtution. The arguments to that
+ program are the number of symbols, the initial root table size, and the
+ maximum bit length of a code. "enough 286 9 15" for literal/length codes
+ returns returns 852, and "enough 30 6 15" for distance codes returns 592.
+ The initial root table size (9 or 6) is found in the fifth argument of the
+ inflate_table() calls in inflate.c and infback.c. If the root table size is
+ changed, then these maximum sizes would be need to be recalculated and
+ updated. */
+#define ENOUGH_LENS 852
+#define ENOUGH_DISTS 592
+#define ENOUGH (ENOUGH_LENS+ENOUGH_DISTS)
+
+/* Type of code to build for inflate_table() */
+typedef enum {
+ CODES,
+ LENS,
+ DISTS
+} codetype;
+
+int ZLIB_INTERNAL inflate_table OF((codetype type, unsigned short FAR *lens,
+ unsigned codes, code FAR * FAR *table,
+ unsigned FAR *bits, unsigned short FAR *work));
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/patches/ChangeLog_java b/jdk/src/share/native/java/util/zip/zlib-1.2.5/patches/ChangeLog_java
new file mode 100644
index 0000000..8d6957f
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/patches/ChangeLog_java
@@ -0,0 +1,19 @@
+(1)renamed
+ adler32.c -> zadler32.c
+ zcrc32c -> zcrc32.c
+
+(2)added _LP64 to make uLong a 32-bit int on 64-bit platform
+ zconf.h:
+ uLong -> 32-bit int
+
+(3)updated crc32.c/crc32()
+ unsigned long -> uLong
+
+(4)updated zlib.h (to support > 4G zipfile):
+ total_in/out: uLong -> long long
+
+(5)updated inflate.c/inflateSync()
+ unsigned long in, out; --> long long in, out;
+
+(6)updated compress.c/uncompr.c
+ *destLen = stream.total_out; --> *destLen = (uLong)stream.total_out;
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/trees.c b/jdk/src/share/native/java/util/zip/zlib-1.2.5/trees.c
new file mode 100644
index 0000000..04da4d7
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/trees.c
@@ -0,0 +1,1268 @@
+/*
+ * 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.
+ */
+
+/* trees.c -- output deflated data using Huffman coding
+ * Copyright (C) 1995-2010 Jean-loup Gailly
+ * detect_data_type() function provided freely by Cosmin Truta, 2006
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/*
+ * ALGORITHM
+ *
+ * The "deflation" process uses several Huffman trees. The more
+ * common source values are represented by shorter bit sequences.
+ *
+ * Each code tree is stored in a compressed form which is itself
+ * a Huffman encoding of the lengths of all the code strings (in
+ * ascending order by source values). The actual code strings are
+ * reconstructed from the lengths in the inflate process, as described
+ * in the deflate specification.
+ *
+ * REFERENCES
+ *
+ * Deutsch, L.P.,"'Deflate' Compressed Data Format Specification".
+ * Available in ftp.uu.net:/pub/archiving/zip/doc/deflate-1.1.doc
+ *
+ * Storer, James A.
+ * Data Compression: Methods and Theory, pp. 49-50.
+ * Computer Science Press, 1988. ISBN 0-7167-8156-5.
+ *
+ * Sedgewick, R.
+ * Algorithms, p290.
+ * Addison-Wesley, 1983. ISBN 0-201-06672-6.
+ */
+
+/* @(#) $Id$ */
+
+/* #define GEN_TREES_H */
+
+#include "deflate.h"
+
+#ifdef DEBUG
+# include <ctype.h>
+#endif
+
+/* ===========================================================================
+ * Constants
+ */
+
+#define MAX_BL_BITS 7
+/* Bit length codes must not exceed MAX_BL_BITS bits */
+
+#define END_BLOCK 256
+/* end of block literal code */
+
+#define REP_3_6 16
+/* repeat previous bit length 3-6 times (2 bits of repeat count) */
+
+#define REPZ_3_10 17
+/* repeat a zero length 3-10 times (3 bits of repeat count) */
+
+#define REPZ_11_138 18
+/* repeat a zero length 11-138 times (7 bits of repeat count) */
+
+local const int extra_lbits[LENGTH_CODES] /* extra bits for each length code */
+ = {0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0};
+
+local const int extra_dbits[D_CODES] /* extra bits for each distance code */
+ = {0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13};
+
+local const int extra_blbits[BL_CODES]/* extra bits for each bit length code */
+ = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7};
+
+local const uch bl_order[BL_CODES]
+ = {16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15};
+/* The lengths of the bit length codes are sent in order of decreasing
+ * probability, to avoid transmitting the lengths for unused bit length codes.
+ */
+
+#define Buf_size (8 * 2*sizeof(char))
+/* Number of bits used within bi_buf. (bi_buf might be implemented on
+ * more than 16 bits on some systems.)
+ */
+
+/* ===========================================================================
+ * Local data. These are initialized only once.
+ */
+
+#define DIST_CODE_LEN 512 /* see definition of array dist_code below */
+
+#if defined(GEN_TREES_H) || !defined(STDC)
+/* non ANSI compilers may not accept trees.h */
+
+local ct_data static_ltree[L_CODES+2];
+/* The static literal tree. Since the bit lengths are imposed, there is no
+ * need for the L_CODES extra codes used during heap construction. However
+ * The codes 286 and 287 are needed to build a canonical tree (see _tr_init
+ * below).
+ */
+
+local ct_data static_dtree[D_CODES];
+/* The static distance tree. (Actually a trivial tree since all codes use
+ * 5 bits.)
+ */
+
+uch _dist_code[DIST_CODE_LEN];
+/* Distance codes. The first 256 values correspond to the distances
+ * 3 .. 258, the last 256 values correspond to the top 8 bits of
+ * the 15 bit distances.
+ */
+
+uch _length_code[MAX_MATCH-MIN_MATCH+1];
+/* length code for each normalized match length (0 == MIN_MATCH) */
+
+local int base_length[LENGTH_CODES];
+/* First normalized length for each code (0 = MIN_MATCH) */
+
+local int base_dist[D_CODES];
+/* First normalized distance for each code (0 = distance of 1) */
+
+#else
+# include "trees.h"
+#endif /* GEN_TREES_H */
+
+struct static_tree_desc_s {
+ const ct_data *static_tree; /* static tree or NULL */
+ const intf *extra_bits; /* extra bits for each code or NULL */
+ int extra_base; /* base index for extra_bits */
+ int elems; /* max number of elements in the tree */
+ int max_length; /* max bit length for the codes */
+};
+
+local static_tree_desc static_l_desc =
+{static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS};
+
+local static_tree_desc static_d_desc =
+{static_dtree, extra_dbits, 0, D_CODES, MAX_BITS};
+
+local static_tree_desc static_bl_desc =
+{(const ct_data *)0, extra_blbits, 0, BL_CODES, MAX_BL_BITS};
+
+/* ===========================================================================
+ * Local (static) routines in this file.
+ */
+
+local void tr_static_init OF((void));
+local void init_block OF((deflate_state *s));
+local void pqdownheap OF((deflate_state *s, ct_data *tree, int k));
+local void gen_bitlen OF((deflate_state *s, tree_desc *desc));
+local void gen_codes OF((ct_data *tree, int max_code, ushf *bl_count));
+local void build_tree OF((deflate_state *s, tree_desc *desc));
+local void scan_tree OF((deflate_state *s, ct_data *tree, int max_code));
+local void send_tree OF((deflate_state *s, ct_data *tree, int max_code));
+local int build_bl_tree OF((deflate_state *s));
+local void send_all_trees OF((deflate_state *s, int lcodes, int dcodes,
+ int blcodes));
+local void compress_block OF((deflate_state *s, ct_data *ltree,
+ ct_data *dtree));
+local int detect_data_type OF((deflate_state *s));
+local unsigned bi_reverse OF((unsigned value, int length));
+local void bi_windup OF((deflate_state *s));
+local void bi_flush OF((deflate_state *s));
+local void copy_block OF((deflate_state *s, charf *buf, unsigned len,
+ int header));
+
+#ifdef GEN_TREES_H
+local void gen_trees_header OF((void));
+#endif
+
+#ifndef DEBUG
+# define send_code(s, c, tree) send_bits(s, tree[c].Code, tree[c].Len)
+ /* Send a code of the given tree. c and tree must not have side effects */
+
+#else /* DEBUG */
+# define send_code(s, c, tree) \
+ { if (z_verbose>2) fprintf(stderr,"\ncd %3d ",(c)); \
+ send_bits(s, tree[c].Code, tree[c].Len); }
+#endif
+
+/* ===========================================================================
+ * Output a short LSB first on the stream.
+ * IN assertion: there is enough room in pendingBuf.
+ */
+#define put_short(s, w) { \
+ put_byte(s, (uch)((w) & 0xff)); \
+ put_byte(s, (uch)((ush)(w) >> 8)); \
+}
+
+/* ===========================================================================
+ * Send a value on a given number of bits.
+ * IN assertion: length <= 16 and value fits in length bits.
+ */
+#ifdef DEBUG
+local void send_bits OF((deflate_state *s, int value, int length));
+
+local void send_bits(s, value, length)
+ deflate_state *s;
+ int value; /* value to send */
+ int length; /* number of bits */
+{
+ Tracevv((stderr," l %2d v %4x ", length, value));
+ Assert(length > 0 && length <= 15, "invalid length");
+ s->bits_sent += (ulg)length;
+
+ /* If not enough room in bi_buf, use (valid) bits from bi_buf and
+ * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid))
+ * unused bits in value.
+ */
+ if (s->bi_valid > (int)Buf_size - length) {
+ s->bi_buf |= (ush)value << s->bi_valid;
+ put_short(s, s->bi_buf);
+ s->bi_buf = (ush)value >> (Buf_size - s->bi_valid);
+ s->bi_valid += length - Buf_size;
+ } else {
+ s->bi_buf |= (ush)value << s->bi_valid;
+ s->bi_valid += length;
+ }
+}
+#else /* !DEBUG */
+
+#define send_bits(s, value, length) \
+{ int len = length;\
+ if (s->bi_valid > (int)Buf_size - len) {\
+ int val = value;\
+ s->bi_buf |= (ush)val << s->bi_valid;\
+ put_short(s, s->bi_buf);\
+ s->bi_buf = (ush)val >> (Buf_size - s->bi_valid);\
+ s->bi_valid += len - Buf_size;\
+ } else {\
+ s->bi_buf |= (ush)(value) << s->bi_valid;\
+ s->bi_valid += len;\
+ }\
+}
+#endif /* DEBUG */
+
+
+/* the arguments must not have side effects */
+
+/* ===========================================================================
+ * Initialize the various 'constant' tables.
+ */
+local void tr_static_init()
+{
+#if defined(GEN_TREES_H) || !defined(STDC)
+ static int static_init_done = 0;
+ int n; /* iterates over tree elements */
+ int bits; /* bit counter */
+ int length; /* length value */
+ int code; /* code value */
+ int dist; /* distance index */
+ ush bl_count[MAX_BITS+1];
+ /* number of codes at each bit length for an optimal tree */
+
+ if (static_init_done) return;
+
+ /* For some embedded targets, global variables are not initialized: */
+#ifdef NO_INIT_GLOBAL_POINTERS
+ static_l_desc.static_tree = static_ltree;
+ static_l_desc.extra_bits = extra_lbits;
+ static_d_desc.static_tree = static_dtree;
+ static_d_desc.extra_bits = extra_dbits;
+ static_bl_desc.extra_bits = extra_blbits;
+#endif
+
+ /* Initialize the mapping length (0..255) -> length code (0..28) */
+ length = 0;
+ for (code = 0; code < LENGTH_CODES-1; code++) {
+ base_length[code] = length;
+ for (n = 0; n < (1<<extra_lbits[code]); n++) {
+ _length_code[length++] = (uch)code;
+ }
+ }
+ Assert (length == 256, "tr_static_init: length != 256");
+ /* Note that the length 255 (match length 258) can be represented
+ * in two different ways: code 284 + 5 bits or code 285, so we
+ * overwrite length_code[255] to use the best encoding:
+ */
+ _length_code[length-1] = (uch)code;
+
+ /* Initialize the mapping dist (0..32K) -> dist code (0..29) */
+ dist = 0;
+ for (code = 0 ; code < 16; code++) {
+ base_dist[code] = dist;
+ for (n = 0; n < (1<<extra_dbits[code]); n++) {
+ _dist_code[dist++] = (uch)code;
+ }
+ }
+ Assert (dist == 256, "tr_static_init: dist != 256");
+ dist >>= 7; /* from now on, all distances are divided by 128 */
+ for ( ; code < D_CODES; code++) {
+ base_dist[code] = dist << 7;
+ for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) {
+ _dist_code[256 + dist++] = (uch)code;
+ }
+ }
+ Assert (dist == 256, "tr_static_init: 256+dist != 512");
+
+ /* Construct the codes of the static literal tree */
+ for (bits = 0; bits <= MAX_BITS; bits++) bl_count[bits] = 0;
+ n = 0;
+ while (n <= 143) static_ltree[n++].Len = 8, bl_count[8]++;
+ while (n <= 255) static_ltree[n++].Len = 9, bl_count[9]++;
+ while (n <= 279) static_ltree[n++].Len = 7, bl_count[7]++;
+ while (n <= 287) static_ltree[n++].Len = 8, bl_count[8]++;
+ /* Codes 286 and 287 do not exist, but we must include them in the
+ * tree construction to get a canonical Huffman tree (longest code
+ * all ones)
+ */
+ gen_codes((ct_data *)static_ltree, L_CODES+1, bl_count);
+
+ /* The static distance tree is trivial: */
+ for (n = 0; n < D_CODES; n++) {
+ static_dtree[n].Len = 5;
+ static_dtree[n].Code = bi_reverse((unsigned)n, 5);
+ }
+ static_init_done = 1;
+
+# ifdef GEN_TREES_H
+ gen_trees_header();
+# endif
+#endif /* defined(GEN_TREES_H) || !defined(STDC) */
+}
+
+/* ===========================================================================
+ * Genererate the file trees.h describing the static trees.
+ */
+#ifdef GEN_TREES_H
+# ifndef DEBUG
+# include <stdio.h>
+# endif
+
+# define SEPARATOR(i, last, width) \
+ ((i) == (last)? "\n};\n\n" : \
+ ((i) % (width) == (width)-1 ? ",\n" : ", "))
+
+void gen_trees_header()
+{
+ FILE *header = fopen("trees.h", "w");
+ int i;
+
+ Assert (header != NULL, "Can't open trees.h");
+ fprintf(header,
+ "/* header created automatically with -DGEN_TREES_H */\n\n");
+
+ fprintf(header, "local const ct_data static_ltree[L_CODES+2] = {\n");
+ for (i = 0; i < L_CODES+2; i++) {
+ fprintf(header, "{{%3u},{%3u}}%s", static_ltree[i].Code,
+ static_ltree[i].Len, SEPARATOR(i, L_CODES+1, 5));
+ }
+
+ fprintf(header, "local const ct_data static_dtree[D_CODES] = {\n");
+ for (i = 0; i < D_CODES; i++) {
+ fprintf(header, "{{%2u},{%2u}}%s", static_dtree[i].Code,
+ static_dtree[i].Len, SEPARATOR(i, D_CODES-1, 5));
+ }
+
+ fprintf(header, "const uch ZLIB_INTERNAL _dist_code[DIST_CODE_LEN] = {\n");
+ for (i = 0; i < DIST_CODE_LEN; i++) {
+ fprintf(header, "%2u%s", _dist_code[i],
+ SEPARATOR(i, DIST_CODE_LEN-1, 20));
+ }
+
+ fprintf(header,
+ "const uch ZLIB_INTERNAL _length_code[MAX_MATCH-MIN_MATCH+1]= {\n");
+ for (i = 0; i < MAX_MATCH-MIN_MATCH+1; i++) {
+ fprintf(header, "%2u%s", _length_code[i],
+ SEPARATOR(i, MAX_MATCH-MIN_MATCH, 20));
+ }
+
+ fprintf(header, "local const int base_length[LENGTH_CODES] = {\n");
+ for (i = 0; i < LENGTH_CODES; i++) {
+ fprintf(header, "%1u%s", base_length[i],
+ SEPARATOR(i, LENGTH_CODES-1, 20));
+ }
+
+ fprintf(header, "local const int base_dist[D_CODES] = {\n");
+ for (i = 0; i < D_CODES; i++) {
+ fprintf(header, "%5u%s", base_dist[i],
+ SEPARATOR(i, D_CODES-1, 10));
+ }
+
+ fclose(header);
+}
+#endif /* GEN_TREES_H */
+
+/* ===========================================================================
+ * Initialize the tree data structures for a new zlib stream.
+ */
+void ZLIB_INTERNAL _tr_init(s)
+ deflate_state *s;
+{
+ tr_static_init();
+
+ s->l_desc.dyn_tree = s->dyn_ltree;
+ s->l_desc.stat_desc = &static_l_desc;
+
+ s->d_desc.dyn_tree = s->dyn_dtree;
+ s->d_desc.stat_desc = &static_d_desc;
+
+ s->bl_desc.dyn_tree = s->bl_tree;
+ s->bl_desc.stat_desc = &static_bl_desc;
+
+ s->bi_buf = 0;
+ s->bi_valid = 0;
+ s->last_eob_len = 8; /* enough lookahead for inflate */
+#ifdef DEBUG
+ s->compressed_len = 0L;
+ s->bits_sent = 0L;
+#endif
+
+ /* Initialize the first block of the first file: */
+ init_block(s);
+}
+
+/* ===========================================================================
+ * Initialize a new block.
+ */
+local void init_block(s)
+ deflate_state *s;
+{
+ int n; /* iterates over tree elements */
+
+ /* Initialize the trees. */
+ for (n = 0; n < L_CODES; n++) s->dyn_ltree[n].Freq = 0;
+ for (n = 0; n < D_CODES; n++) s->dyn_dtree[n].Freq = 0;
+ for (n = 0; n < BL_CODES; n++) s->bl_tree[n].Freq = 0;
+
+ s->dyn_ltree[END_BLOCK].Freq = 1;
+ s->opt_len = s->static_len = 0L;
+ s->last_lit = s->matches = 0;
+}
+
+#define SMALLEST 1
+/* Index within the heap array of least frequent node in the Huffman tree */
+
+
+/* ===========================================================================
+ * Remove the smallest element from the heap and recreate the heap with
+ * one less element. Updates heap and heap_len.
+ */
+#define pqremove(s, tree, top) \
+{\
+ top = s->heap[SMALLEST]; \
+ s->heap[SMALLEST] = s->heap[s->heap_len--]; \
+ pqdownheap(s, tree, SMALLEST); \
+}
+
+/* ===========================================================================
+ * Compares to subtrees, using the tree depth as tie breaker when
+ * the subtrees have equal frequency. This minimizes the worst case length.
+ */
+#define smaller(tree, n, m, depth) \
+ (tree[n].Freq < tree[m].Freq || \
+ (tree[n].Freq == tree[m].Freq && depth[n] <= depth[m]))
+
+/* ===========================================================================
+ * Restore the heap property by moving down the tree starting at node k,
+ * exchanging a node with the smallest of its two sons if necessary, stopping
+ * when the heap property is re-established (each father smaller than its
+ * two sons).
+ */
+local void pqdownheap(s, tree, k)
+ deflate_state *s;
+ ct_data *tree; /* the tree to restore */
+ int k; /* node to move down */
+{
+ int v = s->heap[k];
+ int j = k << 1; /* left son of k */
+ while (j <= s->heap_len) {
+ /* Set j to the smallest of the two sons: */
+ if (j < s->heap_len &&
+ smaller(tree, s->heap[j+1], s->heap[j], s->depth)) {
+ j++;
+ }
+ /* Exit if v is smaller than both sons */
+ if (smaller(tree, v, s->heap[j], s->depth)) break;
+
+ /* Exchange v with the smallest son */
+ s->heap[k] = s->heap[j]; k = j;
+
+ /* And continue down the tree, setting j to the left son of k */
+ j <<= 1;
+ }
+ s->heap[k] = v;
+}
+
+/* ===========================================================================
+ * Compute the optimal bit lengths for a tree and update the total bit length
+ * for the current block.
+ * IN assertion: the fields freq and dad are set, heap[heap_max] and
+ * above are the tree nodes sorted by increasing frequency.
+ * OUT assertions: the field len is set to the optimal bit length, the
+ * array bl_count contains the frequencies for each bit length.
+ * The length opt_len is updated; static_len is also updated if stree is
+ * not null.
+ */
+local void gen_bitlen(s, desc)
+ deflate_state *s;
+ tree_desc *desc; /* the tree descriptor */
+{
+ ct_data *tree = desc->dyn_tree;
+ int max_code = desc->max_code;
+ const ct_data *stree = desc->stat_desc->static_tree;
+ const intf *extra = desc->stat_desc->extra_bits;
+ int base = desc->stat_desc->extra_base;
+ int max_length = desc->stat_desc->max_length;
+ int h; /* heap index */
+ int n, m; /* iterate over the tree elements */
+ int bits; /* bit length */
+ int xbits; /* extra bits */
+ ush f; /* frequency */
+ int overflow = 0; /* number of elements with bit length too large */
+
+ for (bits = 0; bits <= MAX_BITS; bits++) s->bl_count[bits] = 0;
+
+ /* In a first pass, compute the optimal bit lengths (which may
+ * overflow in the case of the bit length tree).
+ */
+ tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */
+
+ for (h = s->heap_max+1; h < HEAP_SIZE; h++) {
+ n = s->heap[h];
+ bits = tree[tree[n].Dad].Len + 1;
+ if (bits > max_length) bits = max_length, overflow++;
+ tree[n].Len = (ush)bits;
+ /* We overwrite tree[n].Dad which is no longer needed */
+
+ if (n > max_code) continue; /* not a leaf node */
+
+ s->bl_count[bits]++;
+ xbits = 0;
+ if (n >= base) xbits = extra[n-base];
+ f = tree[n].Freq;
+ s->opt_len += (ulg)f * (bits + xbits);
+ if (stree) s->static_len += (ulg)f * (stree[n].Len + xbits);
+ }
+ if (overflow == 0) return;
+
+ Trace((stderr,"\nbit length overflow\n"));
+ /* This happens for example on obj2 and pic of the Calgary corpus */
+
+ /* Find the first bit length which could increase: */
+ do {
+ bits = max_length-1;
+ while (s->bl_count[bits] == 0) bits--;
+ s->bl_count[bits]--; /* move one leaf down the tree */
+ s->bl_count[bits+1] += 2; /* move one overflow item as its brother */
+ s->bl_count[max_length]--;
+ /* The brother of the overflow item also moves one step up,
+ * but this does not affect bl_count[max_length]
+ */
+ overflow -= 2;
+ } while (overflow > 0);
+
+ /* Now recompute all bit lengths, scanning in increasing frequency.
+ * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
+ * lengths instead of fixing only the wrong ones. This idea is taken
+ * from 'ar' written by Haruhiko Okumura.)
+ */
+ for (bits = max_length; bits != 0; bits--) {
+ n = s->bl_count[bits];
+ while (n != 0) {
+ m = s->heap[--h];
+ if (m > max_code) continue;
+ if ((unsigned) tree[m].Len != (unsigned) bits) {
+ Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
+ s->opt_len += ((long)bits - (long)tree[m].Len)
+ *(long)tree[m].Freq;
+ tree[m].Len = (ush)bits;
+ }
+ n--;
+ }
+ }
+}
+
+/* ===========================================================================
+ * Generate the codes for a given tree and bit counts (which need not be
+ * optimal).
+ * IN assertion: the array bl_count contains the bit length statistics for
+ * the given tree and the field len is set for all tree elements.
+ * OUT assertion: the field code is set for all tree elements of non
+ * zero code length.
+ */
+local void gen_codes (tree, max_code, bl_count)
+ ct_data *tree; /* the tree to decorate */
+ int max_code; /* largest code with non zero frequency */
+ ushf *bl_count; /* number of codes at each bit length */
+{
+ ush next_code[MAX_BITS+1]; /* next code value for each bit length */
+ ush code = 0; /* running code value */
+ int bits; /* bit index */
+ int n; /* code index */
+
+ /* The distribution counts are first used to generate the code values
+ * without bit reversal.
+ */
+ for (bits = 1; bits <= MAX_BITS; bits++) {
+ next_code[bits] = code = (code + bl_count[bits-1]) << 1;
+ }
+ /* Check that the bit counts in bl_count are consistent. The last code
+ * must be all ones.
+ */
+ Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,
+ "inconsistent bit counts");
+ Tracev((stderr,"\ngen_codes: max_code %d ", max_code));
+
+ for (n = 0; n <= max_code; n++) {
+ int len = tree[n].Len;
+ if (len == 0) continue;
+ /* Now reverse the bits */
+ tree[n].Code = bi_reverse(next_code[len]++, len);
+
+ Tracecv(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ",
+ n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));
+ }
+}
+
+/* ===========================================================================
+ * Construct one Huffman tree and assigns the code bit strings and lengths.
+ * Update the total bit length for the current block.
+ * IN assertion: the field freq is set for all tree elements.
+ * OUT assertions: the fields len and code are set to the optimal bit length
+ * and corresponding code. The length opt_len is updated; static_len is
+ * also updated if stree is not null. The field max_code is set.
+ */
+local void build_tree(s, desc)
+ deflate_state *s;
+ tree_desc *desc; /* the tree descriptor */
+{
+ ct_data *tree = desc->dyn_tree;
+ const ct_data *stree = desc->stat_desc->static_tree;
+ int elems = desc->stat_desc->elems;
+ int n, m; /* iterate over heap elements */
+ int max_code = -1; /* largest code with non zero frequency */
+ int node; /* new node being created */
+
+ /* Construct the initial heap, with least frequent element in
+ * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].
+ * heap[0] is not used.
+ */
+ s->heap_len = 0, s->heap_max = HEAP_SIZE;
+
+ for (n = 0; n < elems; n++) {
+ if (tree[n].Freq != 0) {
+ s->heap[++(s->heap_len)] = max_code = n;
+ s->depth[n] = 0;
+ } else {
+ tree[n].Len = 0;
+ }
+ }
+
+ /* The pkzip format requires that at least one distance code exists,
+ * and that at least one bit should be sent even if there is only one
+ * possible code. So to avoid special checks later on we force at least
+ * two codes of non zero frequency.
+ */
+ while (s->heap_len < 2) {
+ node = s->heap[++(s->heap_len)] = (max_code < 2 ? ++max_code : 0);
+ tree[node].Freq = 1;
+ s->depth[node] = 0;
+ s->opt_len--; if (stree) s->static_len -= stree[node].Len;
+ /* node is 0 or 1 so it does not have extra bits */
+ }
+ desc->max_code = max_code;
+
+ /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,
+ * establish sub-heaps of increasing lengths:
+ */
+ for (n = s->heap_len/2; n >= 1; n--) pqdownheap(s, tree, n);
+
+ /* Construct the Huffman tree by repeatedly combining the least two
+ * frequent nodes.
+ */
+ node = elems; /* next internal node of the tree */
+ do {
+ pqremove(s, tree, n); /* n = node of least frequency */
+ m = s->heap[SMALLEST]; /* m = node of next least frequency */
+
+ s->heap[--(s->heap_max)] = n; /* keep the nodes sorted by frequency */
+ s->heap[--(s->heap_max)] = m;
+
+ /* Create a new node father of n and m */
+ tree[node].Freq = tree[n].Freq + tree[m].Freq;
+ s->depth[node] = (uch)((s->depth[n] >= s->depth[m] ?
+ s->depth[n] : s->depth[m]) + 1);
+ tree[n].Dad = tree[m].Dad = (ush)node;
+#ifdef DUMP_BL_TREE
+ if (tree == s->bl_tree) {
+ fprintf(stderr,"\nnode %d(%d), sons %d(%d) %d(%d)",
+ node, tree[node].Freq, n, tree[n].Freq, m, tree[m].Freq);
+ }
+#endif
+ /* and insert the new node in the heap */
+ s->heap[SMALLEST] = node++;
+ pqdownheap(s, tree, SMALLEST);
+
+ } while (s->heap_len >= 2);
+
+ s->heap[--(s->heap_max)] = s->heap[SMALLEST];
+
+ /* At this point, the fields freq and dad are set. We can now
+ * generate the bit lengths.
+ */
+ gen_bitlen(s, (tree_desc *)desc);
+
+ /* The field len is now set, we can generate the bit codes */
+ gen_codes ((ct_data *)tree, max_code, s->bl_count);
+}
+
+/* ===========================================================================
+ * Scan a literal or distance tree to determine the frequencies of the codes
+ * in the bit length tree.
+ */
+local void scan_tree (s, tree, max_code)
+ deflate_state *s;
+ ct_data *tree; /* the tree to be scanned */
+ int max_code; /* and its largest code of non zero frequency */
+{
+ int n; /* iterates over all tree elements */
+ int prevlen = -1; /* last emitted length */
+ int curlen; /* length of current code */
+ int nextlen = tree[0].Len; /* length of next code */
+ int count = 0; /* repeat count of the current code */
+ int max_count = 7; /* max repeat count */
+ int min_count = 4; /* min repeat count */
+
+ if (nextlen == 0) max_count = 138, min_count = 3;
+ tree[max_code+1].Len = (ush)0xffff; /* guard */
+
+ for (n = 0; n <= max_code; n++) {
+ curlen = nextlen; nextlen = tree[n+1].Len;
+ if (++count < max_count && curlen == nextlen) {
+ continue;
+ } else if (count < min_count) {
+ s->bl_tree[curlen].Freq += count;
+ } else if (curlen != 0) {
+ if (curlen != prevlen) s->bl_tree[curlen].Freq++;
+ s->bl_tree[REP_3_6].Freq++;
+ } else if (count <= 10) {
+ s->bl_tree[REPZ_3_10].Freq++;
+ } else {
+ s->bl_tree[REPZ_11_138].Freq++;
+ }
+ count = 0; prevlen = curlen;
+ if (nextlen == 0) {
+ max_count = 138, min_count = 3;
+ } else if (curlen == nextlen) {
+ max_count = 6, min_count = 3;
+ } else {
+ max_count = 7, min_count = 4;
+ }
+ }
+}
+
+/* ===========================================================================
+ * Send a literal or distance tree in compressed form, using the codes in
+ * bl_tree.
+ */
+local void send_tree (s, tree, max_code)
+ deflate_state *s;
+ ct_data *tree; /* the tree to be scanned */
+ int max_code; /* and its largest code of non zero frequency */
+{
+ int n; /* iterates over all tree elements */
+ int prevlen = -1; /* last emitted length */
+ int curlen; /* length of current code */
+ int nextlen = tree[0].Len; /* length of next code */
+ int count = 0; /* repeat count of the current code */
+ int max_count = 7; /* max repeat count */
+ int min_count = 4; /* min repeat count */
+
+ /* tree[max_code+1].Len = -1; */ /* guard already set */
+ if (nextlen == 0) max_count = 138, min_count = 3;
+
+ for (n = 0; n <= max_code; n++) {
+ curlen = nextlen; nextlen = tree[n+1].Len;
+ if (++count < max_count && curlen == nextlen) {
+ continue;
+ } else if (count < min_count) {
+ do { send_code(s, curlen, s->bl_tree); } while (--count != 0);
+
+ } else if (curlen != 0) {
+ if (curlen != prevlen) {
+ send_code(s, curlen, s->bl_tree); count--;
+ }
+ Assert(count >= 3 && count <= 6, " 3_6?");
+ send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2);
+
+ } else if (count <= 10) {
+ send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3);
+
+ } else {
+ send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7);
+ }
+ count = 0; prevlen = curlen;
+ if (nextlen == 0) {
+ max_count = 138, min_count = 3;
+ } else if (curlen == nextlen) {
+ max_count = 6, min_count = 3;
+ } else {
+ max_count = 7, min_count = 4;
+ }
+ }
+}
+
+/* ===========================================================================
+ * Construct the Huffman tree for the bit lengths and return the index in
+ * bl_order of the last bit length code to send.
+ */
+local int build_bl_tree(s)
+ deflate_state *s;
+{
+ int max_blindex; /* index of last bit length code of non zero freq */
+
+ /* Determine the bit length frequencies for literal and distance trees */
+ scan_tree(s, (ct_data *)s->dyn_ltree, s->l_desc.max_code);
+ scan_tree(s, (ct_data *)s->dyn_dtree, s->d_desc.max_code);
+
+ /* Build the bit length tree: */
+ build_tree(s, (tree_desc *)(&(s->bl_desc)));
+ /* opt_len now includes the length of the tree representations, except
+ * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.
+ */
+
+ /* Determine the number of bit length codes to send. The pkzip format
+ * requires that at least 4 bit length codes be sent. (appnote.txt says
+ * 3 but the actual value used is 4.)
+ */
+ for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {
+ if (s->bl_tree[bl_order[max_blindex]].Len != 0) break;
+ }
+ /* Update opt_len to include the bit length tree and counts */
+ s->opt_len += 3*(max_blindex+1) + 5+5+4;
+ Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
+ s->opt_len, s->static_len));
+
+ return max_blindex;
+}
+
+/* ===========================================================================
+ * Send the header for a block using dynamic Huffman trees: the counts, the
+ * lengths of the bit length codes, the literal tree and the distance tree.
+ * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
+ */
+local void send_all_trees(s, lcodes, dcodes, blcodes)
+ deflate_state *s;
+ int lcodes, dcodes, blcodes; /* number of codes for each tree */
+{
+ int rank; /* index in bl_order */
+
+ Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes");
+ Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,
+ "too many codes");
+ Tracev((stderr, "\nbl counts: "));
+ send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */
+ send_bits(s, dcodes-1, 5);
+ send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */
+ for (rank = 0; rank < blcodes; rank++) {
+ Tracev((stderr, "\nbl code %2d ", bl_order[rank]));
+ send_bits(s, s->bl_tree[bl_order[rank]].Len, 3);
+ }
+ Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent));
+
+ send_tree(s, (ct_data *)s->dyn_ltree, lcodes-1); /* literal tree */
+ Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent));
+
+ send_tree(s, (ct_data *)s->dyn_dtree, dcodes-1); /* distance tree */
+ Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent));
+}
+
+/* ===========================================================================
+ * Send a stored block
+ */
+void ZLIB_INTERNAL _tr_stored_block(s, buf, stored_len, last)
+ deflate_state *s;
+ charf *buf; /* input block */
+ ulg stored_len; /* length of input block */
+ int last; /* one if this is the last block for a file */
+{
+ send_bits(s, (STORED_BLOCK<<1)+last, 3); /* send block type */
+#ifdef DEBUG
+ s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L;
+ s->compressed_len += (stored_len + 4) << 3;
+#endif
+ copy_block(s, buf, (unsigned)stored_len, 1); /* with header */
+}
+
+/* ===========================================================================
+ * Send one empty static block to give enough lookahead for inflate.
+ * This takes 10 bits, of which 7 may remain in the bit buffer.
+ * The current inflate code requires 9 bits of lookahead. If the
+ * last two codes for the previous block (real code plus EOB) were coded
+ * on 5 bits or less, inflate may have only 5+3 bits of lookahead to decode
+ * the last real code. In this case we send two empty static blocks instead
+ * of one. (There are no problems if the previous block is stored or fixed.)
+ * To simplify the code, we assume the worst case of last real code encoded
+ * on one bit only.
+ */
+void ZLIB_INTERNAL _tr_align(s)
+ deflate_state *s;
+{
+ send_bits(s, STATIC_TREES<<1, 3);
+ send_code(s, END_BLOCK, static_ltree);
+#ifdef DEBUG
+ s->compressed_len += 10L; /* 3 for block type, 7 for EOB */
+#endif
+ bi_flush(s);
+ /* Of the 10 bits for the empty block, we have already sent
+ * (10 - bi_valid) bits. The lookahead for the last real code (before
+ * the EOB of the previous block) was thus at least one plus the length
+ * of the EOB plus what we have just sent of the empty static block.
+ */
+ if (1 + s->last_eob_len + 10 - s->bi_valid < 9) {
+ send_bits(s, STATIC_TREES<<1, 3);
+ send_code(s, END_BLOCK, static_ltree);
+#ifdef DEBUG
+ s->compressed_len += 10L;
+#endif
+ bi_flush(s);
+ }
+ s->last_eob_len = 7;
+}
+
+/* ===========================================================================
+ * Determine the best encoding for the current block: dynamic trees, static
+ * trees or store, and output the encoded block to the zip file.
+ */
+void ZLIB_INTERNAL _tr_flush_block(s, buf, stored_len, last)
+ deflate_state *s;
+ charf *buf; /* input block, or NULL if too old */
+ ulg stored_len; /* length of input block */
+ int last; /* one if this is the last block for a file */
+{
+ ulg opt_lenb, static_lenb; /* opt_len and static_len in bytes */
+ int max_blindex = 0; /* index of last bit length code of non zero freq */
+
+ /* Build the Huffman trees unless a stored block is forced */
+ if (s->level > 0) {
+
+ /* Check if the file is binary or text */
+ if (s->strm->data_type == Z_UNKNOWN)
+ s->strm->data_type = detect_data_type(s);
+
+ /* Construct the literal and distance trees */
+ build_tree(s, (tree_desc *)(&(s->l_desc)));
+ Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len,
+ s->static_len));
+
+ build_tree(s, (tree_desc *)(&(s->d_desc)));
+ Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len,
+ s->static_len));
+ /* At this point, opt_len and static_len are the total bit lengths of
+ * the compressed block data, excluding the tree representations.
+ */
+
+ /* Build the bit length tree for the above two trees, and get the index
+ * in bl_order of the last bit length code to send.
+ */
+ max_blindex = build_bl_tree(s);
+
+ /* Determine the best encoding. Compute the block lengths in bytes. */
+ opt_lenb = (s->opt_len+3+7)>>3;
+ static_lenb = (s->static_len+3+7)>>3;
+
+ Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",
+ opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,
+ s->last_lit));
+
+ if (static_lenb <= opt_lenb) opt_lenb = static_lenb;
+
+ } else {
+ Assert(buf != (char*)0, "lost buf");
+ opt_lenb = static_lenb = stored_len + 5; /* force a stored block */
+ }
+
+#ifdef FORCE_STORED
+ if (buf != (char*)0) { /* force stored block */
+#else
+ if (stored_len+4 <= opt_lenb && buf != (char*)0) {
+ /* 4: two words for the lengths */
+#endif
+ /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
+ * Otherwise we can't have processed more than WSIZE input bytes since
+ * the last block flush, because compression would have been
+ * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
+ * transform a block into a stored block.
+ */
+ _tr_stored_block(s, buf, stored_len, last);
+
+#ifdef FORCE_STATIC
+ } else if (static_lenb >= 0) { /* force static trees */
+#else
+ } else if (s->strategy == Z_FIXED || static_lenb == opt_lenb) {
+#endif
+ send_bits(s, (STATIC_TREES<<1)+last, 3);
+ compress_block(s, (ct_data *)static_ltree, (ct_data *)static_dtree);
+#ifdef DEBUG
+ s->compressed_len += 3 + s->static_len;
+#endif
+ } else {
+ send_bits(s, (DYN_TREES<<1)+last, 3);
+ send_all_trees(s, s->l_desc.max_code+1, s->d_desc.max_code+1,
+ max_blindex+1);
+ compress_block(s, (ct_data *)s->dyn_ltree, (ct_data *)s->dyn_dtree);
+#ifdef DEBUG
+ s->compressed_len += 3 + s->opt_len;
+#endif
+ }
+ Assert (s->compressed_len == s->bits_sent, "bad compressed size");
+ /* The above check is made mod 2^32, for files larger than 512 MB
+ * and uLong implemented on 32 bits.
+ */
+ init_block(s);
+
+ if (last) {
+ bi_windup(s);
+#ifdef DEBUG
+ s->compressed_len += 7; /* align on byte boundary */
+#endif
+ }
+ Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3,
+ s->compressed_len-7*last));
+}
+
+/* ===========================================================================
+ * Save the match info and tally the frequency counts. Return true if
+ * the current block must be flushed.
+ */
+int ZLIB_INTERNAL _tr_tally (s, dist, lc)
+ deflate_state *s;
+ unsigned dist; /* distance of matched string */
+ unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */
+{
+ s->d_buf[s->last_lit] = (ush)dist;
+ s->l_buf[s->last_lit++] = (uch)lc;
+ if (dist == 0) {
+ /* lc is the unmatched char */
+ s->dyn_ltree[lc].Freq++;
+ } else {
+ s->matches++;
+ /* Here, lc is the match length - MIN_MATCH */
+ dist--; /* dist = match distance - 1 */
+ Assert((ush)dist < (ush)MAX_DIST(s) &&
+ (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
+ (ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match");
+
+ s->dyn_ltree[_length_code[lc]+LITERALS+1].Freq++;
+ s->dyn_dtree[d_code(dist)].Freq++;
+ }
+
+#ifdef TRUNCATE_BLOCK
+ /* Try to guess if it is profitable to stop the current block here */
+ if ((s->last_lit & 0x1fff) == 0 && s->level > 2) {
+ /* Compute an upper bound for the compressed length */
+ ulg out_length = (ulg)s->last_lit*8L;
+ ulg in_length = (ulg)((long)s->strstart - s->block_start);
+ int dcode;
+ for (dcode = 0; dcode < D_CODES; dcode++) {
+ out_length += (ulg)s->dyn_dtree[dcode].Freq *
+ (5L+extra_dbits[dcode]);
+ }
+ out_length >>= 3;
+ Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ",
+ s->last_lit, in_length, out_length,
+ 100L - out_length*100L/in_length));
+ if (s->matches < s->last_lit/2 && out_length < in_length/2) return 1;
+ }
+#endif
+ return (s->last_lit == s->lit_bufsize-1);
+ /* We avoid equality with lit_bufsize because of wraparound at 64K
+ * on 16 bit machines and because stored blocks are restricted to
+ * 64K-1 bytes.
+ */
+}
+
+/* ===========================================================================
+ * Send the block data compressed using the given Huffman trees
+ */
+local void compress_block(s, ltree, dtree)
+ deflate_state *s;
+ ct_data *ltree; /* literal tree */
+ ct_data *dtree; /* distance tree */
+{
+ unsigned dist; /* distance of matched string */
+ int lc; /* match length or unmatched char (if dist == 0) */
+ unsigned lx = 0; /* running index in l_buf */
+ unsigned code; /* the code to send */
+ int extra; /* number of extra bits to send */
+
+ if (s->last_lit != 0) do {
+ dist = s->d_buf[lx];
+ lc = s->l_buf[lx++];
+ if (dist == 0) {
+ send_code(s, lc, ltree); /* send a literal byte */
+ Tracecv(isgraph(lc), (stderr," '%c' ", lc));
+ } else {
+ /* Here, lc is the match length - MIN_MATCH */
+ code = _length_code[lc];
+ send_code(s, code+LITERALS+1, ltree); /* send the length code */
+ extra = extra_lbits[code];
+ if (extra != 0) {
+ lc -= base_length[code];
+ send_bits(s, lc, extra); /* send the extra length bits */
+ }
+ dist--; /* dist is now the match distance - 1 */
+ code = d_code(dist);
+ Assert (code < D_CODES, "bad d_code");
+
+ send_code(s, code, dtree); /* send the distance code */
+ extra = extra_dbits[code];
+ if (extra != 0) {
+ dist -= base_dist[code];
+ send_bits(s, dist, extra); /* send the extra distance bits */
+ }
+ } /* literal or match pair ? */
+
+ /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */
+ Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,
+ "pendingBuf overflow");
+
+ } while (lx < s->last_lit);
+
+ send_code(s, END_BLOCK, ltree);
+ s->last_eob_len = ltree[END_BLOCK].Len;
+}
+
+/* ===========================================================================
+ * Check if the data type is TEXT or BINARY, using the following algorithm:
+ * - TEXT if the two conditions below are satisfied:
+ * a) There are no non-portable control characters belonging to the
+ * "black list" (0..6, 14..25, 28..31).
+ * b) There is at least one printable character belonging to the
+ * "white list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).
+ * - BINARY otherwise.
+ * - The following partially-portable control characters form a
+ * "gray list" that is ignored in this detection algorithm:
+ * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).
+ * IN assertion: the fields Freq of dyn_ltree are set.
+ */
+local int detect_data_type(s)
+ deflate_state *s;
+{
+ /* black_mask is the bit mask of black-listed bytes
+ * set bits 0..6, 14..25, and 28..31
+ * 0xf3ffc07f = binary 11110011111111111100000001111111
+ */
+ unsigned long black_mask = 0xf3ffc07fUL;
+ int n;
+
+ /* Check for non-textual ("black-listed") bytes. */
+ for (n = 0; n <= 31; n++, black_mask >>= 1)
+ if ((black_mask & 1) && (s->dyn_ltree[n].Freq != 0))
+ return Z_BINARY;
+
+ /* Check for textual ("white-listed") bytes. */
+ if (s->dyn_ltree[9].Freq != 0 || s->dyn_ltree[10].Freq != 0
+ || s->dyn_ltree[13].Freq != 0)
+ return Z_TEXT;
+ for (n = 32; n < LITERALS; n++)
+ if (s->dyn_ltree[n].Freq != 0)
+ return Z_TEXT;
+
+ /* There are no "black-listed" or "white-listed" bytes:
+ * this stream either is empty or has tolerated ("gray-listed") bytes only.
+ */
+ return Z_BINARY;
+}
+
+/* ===========================================================================
+ * Reverse the first len bits of a code, using straightforward code (a faster
+ * method would use a table)
+ * IN assertion: 1 <= len <= 15
+ */
+local unsigned bi_reverse(code, len)
+ unsigned code; /* the value to invert */
+ int len; /* its bit length */
+{
+ register unsigned res = 0;
+ do {
+ res |= code & 1;
+ code >>= 1, res <<= 1;
+ } while (--len > 0);
+ return res >> 1;
+}
+
+/* ===========================================================================
+ * Flush the bit buffer, keeping at most 7 bits in it.
+ */
+local void bi_flush(s)
+ deflate_state *s;
+{
+ if (s->bi_valid == 16) {
+ put_short(s, s->bi_buf);
+ s->bi_buf = 0;
+ s->bi_valid = 0;
+ } else if (s->bi_valid >= 8) {
+ put_byte(s, (Byte)s->bi_buf);
+ s->bi_buf >>= 8;
+ s->bi_valid -= 8;
+ }
+}
+
+/* ===========================================================================
+ * Flush the bit buffer and align the output on a byte boundary
+ */
+local void bi_windup(s)
+ deflate_state *s;
+{
+ if (s->bi_valid > 8) {
+ put_short(s, s->bi_buf);
+ } else if (s->bi_valid > 0) {
+ put_byte(s, (Byte)s->bi_buf);
+ }
+ s->bi_buf = 0;
+ s->bi_valid = 0;
+#ifdef DEBUG
+ s->bits_sent = (s->bits_sent+7) & ~7;
+#endif
+}
+
+/* ===========================================================================
+ * Copy a stored block, storing first the length and its
+ * one's complement if requested.
+ */
+local void copy_block(s, buf, len, header)
+ deflate_state *s;
+ charf *buf; /* the input data */
+ unsigned len; /* its length */
+ int header; /* true if block header must be written */
+{
+ bi_windup(s); /* align on byte boundary */
+ s->last_eob_len = 8; /* enough lookahead for inflate */
+
+ if (header) {
+ put_short(s, (ush)len);
+ put_short(s, (ush)~len);
+#ifdef DEBUG
+ s->bits_sent += 2*16;
+#endif
+ }
+#ifdef DEBUG
+ s->bits_sent += (ulg)len<<3;
+#endif
+ while (len--) {
+ put_byte(s, *buf++);
+ }
+}
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/trees.h b/jdk/src/share/native/java/util/zip/zlib-1.2.5/trees.h
new file mode 100644
index 0000000..5cbff5c
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/trees.h
@@ -0,0 +1,152 @@
+/*
+ * 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.
+ */
+
+/* header created automatically with -DGEN_TREES_H */
+
+local const ct_data static_ltree[L_CODES+2] = {
+{{ 12},{ 8}}, {{140},{ 8}}, {{ 76},{ 8}}, {{204},{ 8}}, {{ 44},{ 8}},
+{{172},{ 8}}, {{108},{ 8}}, {{236},{ 8}}, {{ 28},{ 8}}, {{156},{ 8}},
+{{ 92},{ 8}}, {{220},{ 8}}, {{ 60},{ 8}}, {{188},{ 8}}, {{124},{ 8}},
+{{252},{ 8}}, {{ 2},{ 8}}, {{130},{ 8}}, {{ 66},{ 8}}, {{194},{ 8}},
+{{ 34},{ 8}}, {{162},{ 8}}, {{ 98},{ 8}}, {{226},{ 8}}, {{ 18},{ 8}},
+{{146},{ 8}}, {{ 82},{ 8}}, {{210},{ 8}}, {{ 50},{ 8}}, {{178},{ 8}},
+{{114},{ 8}}, {{242},{ 8}}, {{ 10},{ 8}}, {{138},{ 8}}, {{ 74},{ 8}},
+{{202},{ 8}}, {{ 42},{ 8}}, {{170},{ 8}}, {{106},{ 8}}, {{234},{ 8}},
+{{ 26},{ 8}}, {{154},{ 8}}, {{ 90},{ 8}}, {{218},{ 8}}, {{ 58},{ 8}},
+{{186},{ 8}}, {{122},{ 8}}, {{250},{ 8}}, {{ 6},{ 8}}, {{134},{ 8}},
+{{ 70},{ 8}}, {{198},{ 8}}, {{ 38},{ 8}}, {{166},{ 8}}, {{102},{ 8}},
+{{230},{ 8}}, {{ 22},{ 8}}, {{150},{ 8}}, {{ 86},{ 8}}, {{214},{ 8}},
+{{ 54},{ 8}}, {{182},{ 8}}, {{118},{ 8}}, {{246},{ 8}}, {{ 14},{ 8}},
+{{142},{ 8}}, {{ 78},{ 8}}, {{206},{ 8}}, {{ 46},{ 8}}, {{174},{ 8}},
+{{110},{ 8}}, {{238},{ 8}}, {{ 30},{ 8}}, {{158},{ 8}}, {{ 94},{ 8}},
+{{222},{ 8}}, {{ 62},{ 8}}, {{190},{ 8}}, {{126},{ 8}}, {{254},{ 8}},
+{{ 1},{ 8}}, {{129},{ 8}}, {{ 65},{ 8}}, {{193},{ 8}}, {{ 33},{ 8}},
+{{161},{ 8}}, {{ 97},{ 8}}, {{225},{ 8}}, {{ 17},{ 8}}, {{145},{ 8}},
+{{ 81},{ 8}}, {{209},{ 8}}, {{ 49},{ 8}}, {{177},{ 8}}, {{113},{ 8}},
+{{241},{ 8}}, {{ 9},{ 8}}, {{137},{ 8}}, {{ 73},{ 8}}, {{201},{ 8}},
+{{ 41},{ 8}}, {{169},{ 8}}, {{105},{ 8}}, {{233},{ 8}}, {{ 25},{ 8}},
+{{153},{ 8}}, {{ 89},{ 8}}, {{217},{ 8}}, {{ 57},{ 8}}, {{185},{ 8}},
+{{121},{ 8}}, {{249},{ 8}}, {{ 5},{ 8}}, {{133},{ 8}}, {{ 69},{ 8}},
+{{197},{ 8}}, {{ 37},{ 8}}, {{165},{ 8}}, {{101},{ 8}}, {{229},{ 8}},
+{{ 21},{ 8}}, {{149},{ 8}}, {{ 85},{ 8}}, {{213},{ 8}}, {{ 53},{ 8}},
+{{181},{ 8}}, {{117},{ 8}}, {{245},{ 8}}, {{ 13},{ 8}}, {{141},{ 8}},
+{{ 77},{ 8}}, {{205},{ 8}}, {{ 45},{ 8}}, {{173},{ 8}}, {{109},{ 8}},
+{{237},{ 8}}, {{ 29},{ 8}}, {{157},{ 8}}, {{ 93},{ 8}}, {{221},{ 8}},
+{{ 61},{ 8}}, {{189},{ 8}}, {{125},{ 8}}, {{253},{ 8}}, {{ 19},{ 9}},
+{{275},{ 9}}, {{147},{ 9}}, {{403},{ 9}}, {{ 83},{ 9}}, {{339},{ 9}},
+{{211},{ 9}}, {{467},{ 9}}, {{ 51},{ 9}}, {{307},{ 9}}, {{179},{ 9}},
+{{435},{ 9}}, {{115},{ 9}}, {{371},{ 9}}, {{243},{ 9}}, {{499},{ 9}},
+{{ 11},{ 9}}, {{267},{ 9}}, {{139},{ 9}}, {{395},{ 9}}, {{ 75},{ 9}},
+{{331},{ 9}}, {{203},{ 9}}, {{459},{ 9}}, {{ 43},{ 9}}, {{299},{ 9}},
+{{171},{ 9}}, {{427},{ 9}}, {{107},{ 9}}, {{363},{ 9}}, {{235},{ 9}},
+{{491},{ 9}}, {{ 27},{ 9}}, {{283},{ 9}}, {{155},{ 9}}, {{411},{ 9}},
+{{ 91},{ 9}}, {{347},{ 9}}, {{219},{ 9}}, {{475},{ 9}}, {{ 59},{ 9}},
+{{315},{ 9}}, {{187},{ 9}}, {{443},{ 9}}, {{123},{ 9}}, {{379},{ 9}},
+{{251},{ 9}}, {{507},{ 9}}, {{ 7},{ 9}}, {{263},{ 9}}, {{135},{ 9}},
+{{391},{ 9}}, {{ 71},{ 9}}, {{327},{ 9}}, {{199},{ 9}}, {{455},{ 9}},
+{{ 39},{ 9}}, {{295},{ 9}}, {{167},{ 9}}, {{423},{ 9}}, {{103},{ 9}},
+{{359},{ 9}}, {{231},{ 9}}, {{487},{ 9}}, {{ 23},{ 9}}, {{279},{ 9}},
+{{151},{ 9}}, {{407},{ 9}}, {{ 87},{ 9}}, {{343},{ 9}}, {{215},{ 9}},
+{{471},{ 9}}, {{ 55},{ 9}}, {{311},{ 9}}, {{183},{ 9}}, {{439},{ 9}},
+{{119},{ 9}}, {{375},{ 9}}, {{247},{ 9}}, {{503},{ 9}}, {{ 15},{ 9}},
+{{271},{ 9}}, {{143},{ 9}}, {{399},{ 9}}, {{ 79},{ 9}}, {{335},{ 9}},
+{{207},{ 9}}, {{463},{ 9}}, {{ 47},{ 9}}, {{303},{ 9}}, {{175},{ 9}},
+{{431},{ 9}}, {{111},{ 9}}, {{367},{ 9}}, {{239},{ 9}}, {{495},{ 9}},
+{{ 31},{ 9}}, {{287},{ 9}}, {{159},{ 9}}, {{415},{ 9}}, {{ 95},{ 9}},
+{{351},{ 9}}, {{223},{ 9}}, {{479},{ 9}}, {{ 63},{ 9}}, {{319},{ 9}},
+{{191},{ 9}}, {{447},{ 9}}, {{127},{ 9}}, {{383},{ 9}}, {{255},{ 9}},
+{{511},{ 9}}, {{ 0},{ 7}}, {{ 64},{ 7}}, {{ 32},{ 7}}, {{ 96},{ 7}},
+{{ 16},{ 7}}, {{ 80},{ 7}}, {{ 48},{ 7}}, {{112},{ 7}}, {{ 8},{ 7}},
+{{ 72},{ 7}}, {{ 40},{ 7}}, {{104},{ 7}}, {{ 24},{ 7}}, {{ 88},{ 7}},
+{{ 56},{ 7}}, {{120},{ 7}}, {{ 4},{ 7}}, {{ 68},{ 7}}, {{ 36},{ 7}},
+{{100},{ 7}}, {{ 20},{ 7}}, {{ 84},{ 7}}, {{ 52},{ 7}}, {{116},{ 7}},
+{{ 3},{ 8}}, {{131},{ 8}}, {{ 67},{ 8}}, {{195},{ 8}}, {{ 35},{ 8}},
+{{163},{ 8}}, {{ 99},{ 8}}, {{227},{ 8}}
+};
+
+local const ct_data static_dtree[D_CODES] = {
+{{ 0},{ 5}}, {{16},{ 5}}, {{ 8},{ 5}}, {{24},{ 5}}, {{ 4},{ 5}},
+{{20},{ 5}}, {{12},{ 5}}, {{28},{ 5}}, {{ 2},{ 5}}, {{18},{ 5}},
+{{10},{ 5}}, {{26},{ 5}}, {{ 6},{ 5}}, {{22},{ 5}}, {{14},{ 5}},
+{{30},{ 5}}, {{ 1},{ 5}}, {{17},{ 5}}, {{ 9},{ 5}}, {{25},{ 5}},
+{{ 5},{ 5}}, {{21},{ 5}}, {{13},{ 5}}, {{29},{ 5}}, {{ 3},{ 5}},
+{{19},{ 5}}, {{11},{ 5}}, {{27},{ 5}}, {{ 7},{ 5}}, {{23},{ 5}}
+};
+
+const uch ZLIB_INTERNAL _dist_code[DIST_CODE_LEN] = {
+ 0, 1, 2, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8,
+ 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10,
+10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
+11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13,
+13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15,
+15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
+15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 16, 17,
+18, 18, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22,
+23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27,
+27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
+28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
+28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
+28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29
+};
+
+const uch ZLIB_INTERNAL _length_code[MAX_MATCH-MIN_MATCH+1]= {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 12,
+13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16,
+17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19,
+19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22,
+22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23,
+23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26,
+26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28
+};
+
+local const int base_length[LENGTH_CODES] = {
+0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56,
+64, 80, 96, 112, 128, 160, 192, 224, 0
+};
+
+local const int base_dist[D_CODES] = {
+ 0, 1, 2, 3, 4, 6, 8, 12, 16, 24,
+ 32, 48, 64, 96, 128, 192, 256, 384, 512, 768,
+ 1024, 1536, 2048, 3072, 4096, 6144, 8192, 12288, 16384, 24576
+};
+
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/uncompr.c b/jdk/src/share/native/java/util/zip/zlib-1.2.5/uncompr.c
new file mode 100644
index 0000000..e71d018
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/uncompr.c
@@ -0,0 +1,83 @@
+/*
+ * 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.
+ */
+
+/* uncompr.c -- decompress a memory buffer
+ * Copyright (C) 1995-2003, 2010 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* @(#) $Id$ */
+
+#define ZLIB_INTERNAL
+#include "zlib.h"
+
+/* ===========================================================================
+ Decompresses the source buffer into the destination buffer. sourceLen is
+ the byte length of the source buffer. Upon entry, destLen is the total
+ size of the destination buffer, which must be large enough to hold the
+ entire uncompressed data. (The size of the uncompressed data must have
+ been saved previously by the compressor and transmitted to the decompressor
+ by some mechanism outside the scope of this compression library.)
+ Upon exit, destLen is the actual size of the compressed buffer.
+
+ uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_BUF_ERROR if there was not enough room in the output
+ buffer, or Z_DATA_ERROR if the input data was corrupted.
+*/
+int ZEXPORT uncompress (dest, destLen, source, sourceLen)
+ Bytef *dest;
+ uLongf *destLen;
+ const Bytef *source;
+ uLong sourceLen;
+{
+ z_stream stream;
+ int err;
+
+ stream.next_in = (Bytef*)source;
+ stream.avail_in = (uInt)sourceLen;
+ /* Check for source > 64K on 16-bit machine: */
+ if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
+
+ stream.next_out = dest;
+ stream.avail_out = (uInt)*destLen;
+ if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR;
+
+ stream.zalloc = (alloc_func)0;
+ stream.zfree = (free_func)0;
+
+ err = inflateInit(&stream);
+ if (err != Z_OK) return err;
+
+ err = inflate(&stream, Z_FINISH);
+ if (err != Z_STREAM_END) {
+ inflateEnd(&stream);
+ if (err == Z_NEED_DICT || (err == Z_BUF_ERROR && stream.avail_in == 0))
+ return Z_DATA_ERROR;
+ return err;
+ }
+ *destLen = (uLong)stream.total_out;
+
+ err = inflateEnd(&stream);
+ return err;
+}
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/zadler32.c b/jdk/src/share/native/java/util/zip/zlib-1.2.5/zadler32.c
new file mode 100644
index 0000000..c4465e1
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/zadler32.c
@@ -0,0 +1,193 @@
+/*
+ * 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.
+ */
+
+/* adler32.c -- compute the Adler-32 checksum of a data stream
+ * Copyright (C) 1995-2007 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* @(#) $Id$ */
+
+#include "zutil.h"
+
+#define local static
+
+local uLong adler32_combine_(uLong adler1, uLong adler2, z_off64_t len2);
+
+#define BASE 65521UL /* largest prime smaller than 65536 */
+#define NMAX 5552
+/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
+
+#define DO1(buf,i) {adler += (buf)[i]; sum2 += adler;}
+#define DO2(buf,i) DO1(buf,i); DO1(buf,i+1);
+#define DO4(buf,i) DO2(buf,i); DO2(buf,i+2);
+#define DO8(buf,i) DO4(buf,i); DO4(buf,i+4);
+#define DO16(buf) DO8(buf,0); DO8(buf,8);
+
+/* use NO_DIVIDE if your processor does not do division in hardware */
+#ifdef NO_DIVIDE
+# define MOD(a) \
+ do { \
+ if (a >= (BASE << 16)) a -= (BASE << 16); \
+ if (a >= (BASE << 15)) a -= (BASE << 15); \
+ if (a >= (BASE << 14)) a -= (BASE << 14); \
+ if (a >= (BASE << 13)) a -= (BASE << 13); \
+ if (a >= (BASE << 12)) a -= (BASE << 12); \
+ if (a >= (BASE << 11)) a -= (BASE << 11); \
+ if (a >= (BASE << 10)) a -= (BASE << 10); \
+ if (a >= (BASE << 9)) a -= (BASE << 9); \
+ if (a >= (BASE << 8)) a -= (BASE << 8); \
+ if (a >= (BASE << 7)) a -= (BASE << 7); \
+ if (a >= (BASE << 6)) a -= (BASE << 6); \
+ if (a >= (BASE << 5)) a -= (BASE << 5); \
+ if (a >= (BASE << 4)) a -= (BASE << 4); \
+ if (a >= (BASE << 3)) a -= (BASE << 3); \
+ if (a >= (BASE << 2)) a -= (BASE << 2); \
+ if (a >= (BASE << 1)) a -= (BASE << 1); \
+ if (a >= BASE) a -= BASE; \
+ } while (0)
+# define MOD4(a) \
+ do { \
+ if (a >= (BASE << 4)) a -= (BASE << 4); \
+ if (a >= (BASE << 3)) a -= (BASE << 3); \
+ if (a >= (BASE << 2)) a -= (BASE << 2); \
+ if (a >= (BASE << 1)) a -= (BASE << 1); \
+ if (a >= BASE) a -= BASE; \
+ } while (0)
+#else
+# define MOD(a) a %= BASE
+# define MOD4(a) a %= BASE
+#endif
+
+/* ========================================================================= */
+uLong ZEXPORT adler32(adler, buf, len)
+ uLong adler;
+ const Bytef *buf;
+ uInt len;
+{
+ unsigned long sum2;
+ unsigned n;
+
+ /* split Adler-32 into component sums */
+ sum2 = (adler >> 16) & 0xffff;
+ adler &= 0xffff;
+
+ /* in case user likes doing a byte at a time, keep it fast */
+ if (len == 1) {
+ adler += buf[0];
+ if (adler >= BASE)
+ adler -= BASE;
+ sum2 += adler;
+ if (sum2 >= BASE)
+ sum2 -= BASE;
+ return adler | (sum2 << 16);
+ }
+
+ /* initial Adler-32 value (deferred check for len == 1 speed) */
+ if (buf == Z_NULL)
+ return 1L;
+
+ /* in case short lengths are provided, keep it somewhat fast */
+ if (len < 16) {
+ while (len--) {
+ adler += *buf++;
+ sum2 += adler;
+ }
+ if (adler >= BASE)
+ adler -= BASE;
+ MOD4(sum2); /* only added so many BASE's */
+ return adler | (sum2 << 16);
+ }
+
+ /* do length NMAX blocks -- requires just one modulo operation */
+ while (len >= NMAX) {
+ len -= NMAX;
+ n = NMAX / 16; /* NMAX is divisible by 16 */
+ do {
+ DO16(buf); /* 16 sums unrolled */
+ buf += 16;
+ } while (--n);
+ MOD(adler);
+ MOD(sum2);
+ }
+
+ /* do remaining bytes (less than NMAX, still just one modulo) */
+ if (len) { /* avoid modulos if none remaining */
+ while (len >= 16) {
+ len -= 16;
+ DO16(buf);
+ buf += 16;
+ }
+ while (len--) {
+ adler += *buf++;
+ sum2 += adler;
+ }
+ MOD(adler);
+ MOD(sum2);
+ }
+
+ /* return recombined sums */
+ return adler | (sum2 << 16);
+}
+
+/* ========================================================================= */
+local uLong adler32_combine_(adler1, adler2, len2)
+ uLong adler1;
+ uLong adler2;
+ z_off64_t len2;
+{
+ unsigned long sum1;
+ unsigned long sum2;
+ unsigned rem;
+
+ /* the derivation of this formula is left as an exercise for the reader */
+ rem = (unsigned)(len2 % BASE);
+ sum1 = adler1 & 0xffff;
+ sum2 = rem * sum1;
+ MOD(sum2);
+ sum1 += (adler2 & 0xffff) + BASE - 1;
+ sum2 += ((adler1 >> 16) & 0xffff) + ((adler2 >> 16) & 0xffff) + BASE - rem;
+ if (sum1 >= BASE) sum1 -= BASE;
+ if (sum1 >= BASE) sum1 -= BASE;
+ if (sum2 >= (BASE << 1)) sum2 -= (BASE << 1);
+ if (sum2 >= BASE) sum2 -= BASE;
+ return sum1 | (sum2 << 16);
+}
+
+/* ========================================================================= */
+uLong ZEXPORT adler32_combine(adler1, adler2, len2)
+ uLong adler1;
+ uLong adler2;
+ z_off_t len2;
+{
+ return adler32_combine_(adler1, adler2, len2);
+}
+
+uLong ZEXPORT adler32_combine64(adler1, adler2, len2)
+ uLong adler1;
+ uLong adler2;
+ z_off64_t len2;
+{
+ return adler32_combine_(adler1, adler2, len2);
+}
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/zconf.h b/jdk/src/share/native/java/util/zip/zlib-1.2.5/zconf.h
new file mode 100644
index 0000000..78f162c
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/zconf.h
@@ -0,0 +1,459 @@
+/*
+ * 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.
+ */
+
+/* zconf.h -- configuration of the zlib compression library
+ * Copyright (C) 1995-2010 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* @(#) $Id$ */
+
+#ifndef ZCONF_H
+#define ZCONF_H
+
+/* for _LP64 */
+#include <sys/types.h>
+
+/*
+ * If you *really* need a unique prefix for all types and library functions,
+ * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
+ * Even better than compiling with -DZ_PREFIX would be to use configure to set
+ * this permanently in zconf.h using "./configure --zprefix".
+ */
+#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */
+
+/* all linked symbols */
+# define _dist_code z__dist_code
+# define _length_code z__length_code
+# define _tr_align z__tr_align
+# define _tr_flush_block z__tr_flush_block
+# define _tr_init z__tr_init
+# define _tr_stored_block z__tr_stored_block
+# define _tr_tally z__tr_tally
+# define adler32 z_adler32
+# define adler32_combine z_adler32_combine
+# define adler32_combine64 z_adler32_combine64
+# define compress z_compress
+# define compress2 z_compress2
+# define compressBound z_compressBound
+# define crc32 z_crc32
+# define crc32_combine z_crc32_combine
+# define crc32_combine64 z_crc32_combine64
+# define deflate z_deflate
+# define deflateBound z_deflateBound
+# define deflateCopy z_deflateCopy
+# define deflateEnd z_deflateEnd
+# define deflateInit2_ z_deflateInit2_
+# define deflateInit_ z_deflateInit_
+# define deflateParams z_deflateParams
+# define deflatePrime z_deflatePrime
+# define deflateReset z_deflateReset
+# define deflateSetDictionary z_deflateSetDictionary
+# define deflateSetHeader z_deflateSetHeader
+# define deflateTune z_deflateTune
+# define deflate_copyright z_deflate_copyright
+# define get_crc_table z_get_crc_table
+# define gz_error z_gz_error
+# define gz_intmax z_gz_intmax
+# define gz_strwinerror z_gz_strwinerror
+# define gzbuffer z_gzbuffer
+# define gzclearerr z_gzclearerr
+# define gzclose z_gzclose
+# define gzclose_r z_gzclose_r
+# define gzclose_w z_gzclose_w
+# define gzdirect z_gzdirect
+# define gzdopen z_gzdopen
+# define gzeof z_gzeof
+# define gzerror z_gzerror
+# define gzflush z_gzflush
+# define gzgetc z_gzgetc
+# define gzgets z_gzgets
+# define gzoffset z_gzoffset
+# define gzoffset64 z_gzoffset64
+# define gzopen z_gzopen
+# define gzopen64 z_gzopen64
+# define gzprintf z_gzprintf
+# define gzputc z_gzputc
+# define gzputs z_gzputs
+# define gzread z_gzread
+# define gzrewind z_gzrewind
+# define gzseek z_gzseek
+# define gzseek64 z_gzseek64
+# define gzsetparams z_gzsetparams
+# define gztell z_gztell
+# define gztell64 z_gztell64
+# define gzungetc z_gzungetc
+# define gzwrite z_gzwrite
+# define inflate z_inflate
+# define inflateBack z_inflateBack
+# define inflateBackEnd z_inflateBackEnd
+# define inflateBackInit_ z_inflateBackInit_
+# define inflateCopy z_inflateCopy
+# define inflateEnd z_inflateEnd
+# define inflateGetHeader z_inflateGetHeader
+# define inflateInit2_ z_inflateInit2_
+# define inflateInit_ z_inflateInit_
+# define inflateMark z_inflateMark
+# define inflatePrime z_inflatePrime
+# define inflateReset z_inflateReset
+# define inflateReset2 z_inflateReset2
+# define inflateSetDictionary z_inflateSetDictionary
+# define inflateSync z_inflateSync
+# define inflateSyncPoint z_inflateSyncPoint
+# define inflateUndermine z_inflateUndermine
+# define inflate_copyright z_inflate_copyright
+# define inflate_fast z_inflate_fast
+# define inflate_table z_inflate_table
+# define uncompress z_uncompress
+# define zError z_zError
+# define zcalloc z_zcalloc
+# define zcfree z_zcfree
+# define zlibCompileFlags z_zlibCompileFlags
+# define zlibVersion z_zlibVersion
+
+/* all zlib typedefs in zlib.h and zconf.h */
+# define Byte z_Byte
+# define Bytef z_Bytef
+# define alloc_func z_alloc_func
+# define charf z_charf
+# define free_func z_free_func
+# define gzFile z_gzFile
+# define gz_header z_gz_header
+# define gz_headerp z_gz_headerp
+# define in_func z_in_func
+# define intf z_intf
+# define out_func z_out_func
+# define uInt z_uInt
+# define uIntf z_uIntf
+# define uLong z_uLong
+# define uLongf z_uLongf
+# define voidp z_voidp
+# define voidpc z_voidpc
+# define voidpf z_voidpf
+
+/* all zlib structs in zlib.h and zconf.h */
+# define gz_header_s z_gz_header_s
+# define internal_state z_internal_state
+
+#endif
+
+#if defined(__MSDOS__) && !defined(MSDOS)
+# define MSDOS
+#endif
+#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
+# define OS2
+#endif
+#if defined(_WINDOWS) && !defined(WINDOWS)
+# define WINDOWS
+#endif
+#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
+# ifndef WIN32
+# define WIN32
+# endif
+#endif
+#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
+# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
+# ifndef SYS16BIT
+# define SYS16BIT
+# endif
+# endif
+#endif
+
+/*
+ * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
+ * than 64k bytes at a time (needed on systems with 16-bit int).
+ */
+#ifdef SYS16BIT
+# define MAXSEG_64K
+#endif
+#ifdef MSDOS
+# define UNALIGNED_OK
+#endif
+
+#ifdef __STDC_VERSION__
+# ifndef STDC
+# define STDC
+# endif
+# if __STDC_VERSION__ >= 199901L
+# ifndef STDC99
+# define STDC99
+# endif
+# endif
+#endif
+#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
+# define STDC
+#endif
+#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
+# define STDC
+#endif
+#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
+# define STDC
+#endif
+#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
+# define STDC
+#endif
+
+#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
+# define STDC
+#endif
+
+#ifndef STDC
+# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
+# define const /* note: need a more gentle solution here */
+# endif
+#endif
+
+/* Some Mac compilers merge all .h files incorrectly: */
+#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
+# define NO_DUMMY_DECL
+#endif
+
+/* Maximum value for memLevel in deflateInit2 */
+#ifndef MAX_MEM_LEVEL
+# ifdef MAXSEG_64K
+# define MAX_MEM_LEVEL 8
+# else
+# define MAX_MEM_LEVEL 9
+# endif
+#endif
+
+/* Maximum value for windowBits in deflateInit2 and inflateInit2.
+ * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
+ * created by gzip. (Files created by minigzip can still be extracted by
+ * gzip.)
+ */
+#ifndef MAX_WBITS
+# define MAX_WBITS 15 /* 32K LZ77 window */
+#endif
+
+/* The memory requirements for deflate are (in bytes):
+ (1 << (windowBits+2)) + (1 << (memLevel+9))
+ that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
+ plus a few kilobytes for small objects. For example, if you want to reduce
+ the default memory requirements from 256K to 128K, compile with
+ make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
+ Of course this will generally degrade compression (there's no free lunch).
+
+ The memory requirements for inflate are (in bytes) 1 << windowBits
+ that is, 32K for windowBits=15 (default value) plus a few kilobytes
+ for small objects.
+*/
+
+ /* Type declarations */
+
+#ifndef OF /* function prototypes */
+# ifdef STDC
+# define OF(args) args
+# else
+# define OF(args) ()
+# endif
+#endif
+
+/* The following definitions for FAR are needed only for MSDOS mixed
+ * model programming (small or medium model with some far allocations).
+ * This was tested only with MSC; for other MSDOS compilers you may have
+ * to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
+ * just define FAR to be empty.
+ */
+#ifdef SYS16BIT
+# if defined(M_I86SM) || defined(M_I86MM)
+ /* MSC small or medium model */
+# define SMALL_MEDIUM
+# ifdef _MSC_VER
+# define FAR _far
+# else
+# define FAR far
+# endif
+# endif
+# if (defined(__SMALL__) || defined(__MEDIUM__))
+ /* Turbo C small or medium model */
+# define SMALL_MEDIUM
+# ifdef __BORLANDC__
+# define FAR _far
+# else
+# define FAR far
+# endif
+# endif
+#endif
+
+#if defined(WINDOWS) || defined(WIN32)
+ /* If building or using zlib as a DLL, define ZLIB_DLL.
+ * This is not mandatory, but it offers a little performance increase.
+ */
+# ifdef ZLIB_DLL
+# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
+# ifdef ZLIB_INTERNAL
+# define ZEXTERN extern __declspec(dllexport)
+# else
+# define ZEXTERN extern __declspec(dllimport)
+# endif
+# endif
+# endif /* ZLIB_DLL */
+ /* If building or using zlib with the WINAPI/WINAPIV calling convention,
+ * define ZLIB_WINAPI.
+ * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
+ */
+# ifdef ZLIB_WINAPI
+# ifdef FAR
+# undef FAR
+# endif
+# include <windows.h>
+ /* No need for _export, use ZLIB.DEF instead. */
+ /* For complete Windows compatibility, use WINAPI, not __stdcall. */
+# define ZEXPORT WINAPI
+# ifdef WIN32
+# define ZEXPORTVA WINAPIV
+# else
+# define ZEXPORTVA FAR CDECL
+# endif
+# endif
+#endif
+
+#if defined (__BEOS__)
+# ifdef ZLIB_DLL
+# ifdef ZLIB_INTERNAL
+# define ZEXPORT __declspec(dllexport)
+# define ZEXPORTVA __declspec(dllexport)
+# else
+# define ZEXPORT __declspec(dllimport)
+# define ZEXPORTVA __declspec(dllimport)
+# endif
+# endif
+#endif
+
+#ifndef ZEXTERN
+# define ZEXTERN extern
+#endif
+#ifndef ZEXPORT
+# define ZEXPORT
+#endif
+#ifndef ZEXPORTVA
+# define ZEXPORTVA
+#endif
+
+#ifndef FAR
+# define FAR
+#endif
+
+#if !defined(__MACTYPES__)
+typedef unsigned char Byte; /* 8 bits */
+#endif
+typedef unsigned int uInt; /* 16 bits or more */
+#ifdef _LP64
+typedef unsigned int uLong; /* 32 bits or more */
+#else
+typedef unsigned long uLong; /* 32 bits or more */
+#endif
+
+#ifdef SMALL_MEDIUM
+ /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
+# define Bytef Byte FAR
+#else
+ typedef Byte FAR Bytef;
+#endif
+typedef char FAR charf;
+typedef int FAR intf;
+typedef uInt FAR uIntf;
+typedef uLong FAR uLongf;
+
+#ifdef STDC
+ typedef void const *voidpc;
+ typedef void FAR *voidpf;
+ typedef void *voidp;
+#else
+ typedef Byte const *voidpc;
+ typedef Byte FAR *voidpf;
+ typedef Byte *voidp;
+#endif
+
+#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
+# define Z_HAVE_UNISTD_H
+#endif
+
+#ifdef STDC
+# include <sys/types.h> /* for off_t */
+#endif
+
+/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
+ * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
+ * though the former does not conform to the LFS document), but considering
+ * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
+ * equivalently requesting no 64-bit operations
+ */
+#if -_LARGEFILE64_SOURCE - -1 == 1
+# undef _LARGEFILE64_SOURCE
+#endif
+
+#if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
+# include <unistd.h> /* for SEEK_* and off_t */
+# ifdef VMS
+# include <unixio.h> /* for off_t */
+# endif
+# ifndef z_off_t
+# define z_off_t off_t
+# endif
+#endif
+
+#ifndef SEEK_SET
+# define SEEK_SET 0 /* Seek from beginning of file. */
+# define SEEK_CUR 1 /* Seek from current position. */
+# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
+#endif
+
+#ifndef z_off_t
+# define z_off_t long
+#endif
+
+#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
+# define z_off64_t off64_t
+#else
+# define z_off64_t z_off_t
+#endif
+
+#if defined(__OS400__)
+# define NO_vsnprintf
+#endif
+
+#if defined(__MVS__)
+# define NO_vsnprintf
+#endif
+
+/* MVS linker does not support external names larger than 8 bytes */
+#if defined(__MVS__)
+ #pragma map(deflateInit_,"DEIN")
+ #pragma map(deflateInit2_,"DEIN2")
+ #pragma map(deflateEnd,"DEEND")
+ #pragma map(deflateBound,"DEBND")
+ #pragma map(inflateInit_,"ININ")
+ #pragma map(inflateInit2_,"ININ2")
+ #pragma map(inflateEnd,"INEND")
+ #pragma map(inflateSync,"INSY")
+ #pragma map(inflateSetDictionary,"INSEDI")
+ #pragma map(compressBound,"CMBND")
+ #pragma map(inflate_table,"INTABL")
+ #pragma map(inflate_fast,"INFA")
+ #pragma map(inflate_copyright,"INCOPY")
+#endif
+
+#endif /* ZCONF_H */
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/zcrc32.c b/jdk/src/share/native/java/util/zip/zlib-1.2.5/zcrc32.c
new file mode 100644
index 0000000..0eb5b64
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/zcrc32.c
@@ -0,0 +1,466 @@
+/*
+ * 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.
+ */
+
+/* crc32.c -- compute the CRC-32 of a data stream
+ * Copyright (C) 1995-2006, 2010 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ *
+ * Thanks to Rodney Brown <rbrown64 at csc.com.au> for his contribution of faster
+ * CRC methods: exclusive-oring 32 bits of data at a time, and pre-computing
+ * tables for updating the shift register in one step with three exclusive-ors
+ * instead of four steps with four exclusive-ors. This results in about a
+ * factor of two increase in speed on a Power PC G4 (PPC7455) using gcc -O3.
+ */
+
+/* @(#) $Id$ */
+
+/*
+ Note on the use of DYNAMIC_CRC_TABLE: there is no mutex or semaphore
+ protection on the static variables used to control the first-use generation
+ of the crc tables. Therefore, if you #define DYNAMIC_CRC_TABLE, you should
+ first call get_crc_table() to initialize the tables before allowing more than
+ one thread to use crc32().
+ */
+
+#ifdef MAKECRCH
+# include <stdio.h>
+# ifndef DYNAMIC_CRC_TABLE
+# define DYNAMIC_CRC_TABLE
+# endif /* !DYNAMIC_CRC_TABLE */
+#endif /* MAKECRCH */
+
+#include "zutil.h" /* for STDC and FAR definitions */
+
+#define local static
+
+/* Find a four-byte integer type for crc32_little() and crc32_big(). */
+#ifndef NOBYFOUR
+# ifdef STDC /* need ANSI C limits.h to determine sizes */
+# include <limits.h>
+# define BYFOUR
+# if (UINT_MAX == 0xffffffffUL)
+ typedef unsigned int u4;
+# else
+# if (ULONG_MAX == 0xffffffffUL)
+ typedef unsigned long u4;
+# else
+# if (USHRT_MAX == 0xffffffffUL)
+ typedef unsigned short u4;
+# else
+# undef BYFOUR /* can't find a four-byte integer type! */
+# endif
+# endif
+# endif
+# endif /* STDC */
+#endif /* !NOBYFOUR */
+
+/* Definitions for doing the crc four data bytes at a time. */
+#ifdef BYFOUR
+# define REV(w) ((((w)>>24)&0xff)+(((w)>>8)&0xff00)+ \
+ (((w)&0xff00)<<8)+(((w)&0xff)<<24))
+ local unsigned long crc32_little OF((unsigned long,
+ const unsigned char FAR *, unsigned));
+ local unsigned long crc32_big OF((unsigned long,
+ const unsigned char FAR *, unsigned));
+# define TBLS 8
+#else
+# define TBLS 1
+#endif /* BYFOUR */
+
+/* Local functions for crc concatenation */
+local unsigned long gf2_matrix_times OF((unsigned long *mat,
+ unsigned long vec));
+local void gf2_matrix_square OF((unsigned long *square, unsigned long *mat));
+local uLong crc32_combine_(uLong crc1, uLong crc2, z_off64_t len2);
+
+
+#ifdef DYNAMIC_CRC_TABLE
+
+local volatile int crc_table_empty = 1;
+local unsigned long FAR crc_table[TBLS][256];
+local void make_crc_table OF((void));
+#ifdef MAKECRCH
+ local void write_table OF((FILE *, const unsigned long FAR *));
+#endif /* MAKECRCH */
+/*
+ Generate tables for a byte-wise 32-bit CRC calculation on the polynomial:
+ x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1.
+
+ Polynomials over GF(2) are represented in binary, one bit per coefficient,
+ with the lowest powers in the most significant bit. Then adding polynomials
+ is just exclusive-or, and multiplying a polynomial by x is a right shift by
+ one. If we call the above polynomial p, and represent a byte as the
+ polynomial q, also with the lowest power in the most significant bit (so the
+ byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p,
+ where a mod b means the remainder after dividing a by b.
+
+ This calculation is done using the shift-register method of multiplying and
+ taking the remainder. The register is initialized to zero, and for each
+ incoming bit, x^32 is added mod p to the register if the bit is a one (where
+ x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by
+ x (which is shifting right by one and adding x^32 mod p if the bit shifted
+ out is a one). We start with the highest power (least significant bit) of
+ q and repeat for all eight bits of q.
+
+ The first table is simply the CRC of all possible eight bit values. This is
+ all the information needed to generate CRCs on data a byte at a time for all
+ combinations of CRC register values and incoming bytes. The remaining tables
+ allow for word-at-a-time CRC calculation for both big-endian and little-
+ endian machines, where a word is four bytes.
+*/
+local void make_crc_table()
+{
+ unsigned long c;
+ int n, k;
+ unsigned long poly; /* polynomial exclusive-or pattern */
+ /* terms of polynomial defining this crc (except x^32): */
+ static volatile int first = 1; /* flag to limit concurrent making */
+ static const unsigned char p[] = {0,1,2,4,5,7,8,10,11,12,16,22,23,26};
+
+ /* See if another task is already doing this (not thread-safe, but better
+ than nothing -- significantly reduces duration of vulnerability in
+ case the advice about DYNAMIC_CRC_TABLE is ignored) */
+ if (first) {
+ first = 0;
+
+ /* make exclusive-or pattern from polynomial (0xedb88320UL) */
+ poly = 0UL;
+ for (n = 0; n < sizeof(p)/sizeof(unsigned char); n++)
+ poly |= 1UL << (31 - p[n]);
+
+ /* generate a crc for every 8-bit value */
+ for (n = 0; n < 256; n++) {
+ c = (unsigned long)n;
+ for (k = 0; k < 8; k++)
+ c = c & 1 ? poly ^ (c >> 1) : c >> 1;
+ crc_table[0][n] = c;
+ }
+
+#ifdef BYFOUR
+ /* generate crc for each value followed by one, two, and three zeros,
+ and then the byte reversal of those as well as the first table */
+ for (n = 0; n < 256; n++) {
+ c = crc_table[0][n];
+ crc_table[4][n] = REV(c);
+ for (k = 1; k < 4; k++) {
+ c = crc_table[0][c & 0xff] ^ (c >> 8);
+ crc_table[k][n] = c;
+ crc_table[k + 4][n] = REV(c);
+ }
+ }
+#endif /* BYFOUR */
+
+ crc_table_empty = 0;
+ }
+ else { /* not first */
+ /* wait for the other guy to finish (not efficient, but rare) */
+ while (crc_table_empty)
+ ;
+ }
+
+#ifdef MAKECRCH
+ /* write out CRC tables to crc32.h */
+ {
+ FILE *out;
+
+ out = fopen("crc32.h", "w");
+ if (out == NULL) return;
+ fprintf(out, "/* crc32.h -- tables for rapid CRC calculation\n");
+ fprintf(out, " * Generated automatically by crc32.c\n */\n\n");
+ fprintf(out, "local const unsigned long FAR ");
+ fprintf(out, "crc_table[TBLS][256] =\n{\n {\n");
+ write_table(out, crc_table[0]);
+# ifdef BYFOUR
+ fprintf(out, "#ifdef BYFOUR\n");
+ for (k = 1; k < 8; k++) {
+ fprintf(out, " },\n {\n");
+ write_table(out, crc_table[k]);
+ }
+ fprintf(out, "#endif\n");
+# endif /* BYFOUR */
+ fprintf(out, " }\n};\n");
+ fclose(out);
+ }
+#endif /* MAKECRCH */
+}
+
+#ifdef MAKECRCH
+local void write_table(out, table)
+ FILE *out;
+ const unsigned long FAR *table;
+{
+ int n;
+
+ for (n = 0; n < 256; n++)
+ fprintf(out, "%s0x%08lxUL%s", n % 5 ? "" : " ", table[n],
+ n == 255 ? "\n" : (n % 5 == 4 ? ",\n" : ", "));
+}
+#endif /* MAKECRCH */
+
+#else /* !DYNAMIC_CRC_TABLE */
+/* ========================================================================
+ * Tables of CRC-32s of all single-byte values, made by make_crc_table().
+ */
+#include "crc32.h"
+#endif /* DYNAMIC_CRC_TABLE */
+
+/* =========================================================================
+ * This function can be used by asm versions of crc32()
+ */
+const unsigned long FAR * ZEXPORT get_crc_table()
+{
+#ifdef DYNAMIC_CRC_TABLE
+ if (crc_table_empty)
+ make_crc_table();
+#endif /* DYNAMIC_CRC_TABLE */
+ return (const unsigned long FAR *)crc_table;
+}
+
+/* ========================================================================= */
+#define DO1 crc = crc_table[0][((int)crc ^ (*buf++)) & 0xff] ^ (crc >> 8)
+#define DO8 DO1; DO1; DO1; DO1; DO1; DO1; DO1; DO1
+
+/* ========================================================================= */
+uLong ZEXPORT crc32(crc, buf, len)
+ uLong crc;
+ const unsigned char FAR *buf;
+ uInt len;
+{
+ if (buf == Z_NULL) return 0UL;
+
+#ifdef DYNAMIC_CRC_TABLE
+ if (crc_table_empty)
+ make_crc_table();
+#endif /* DYNAMIC_CRC_TABLE */
+
+#ifdef BYFOUR
+ if (sizeof(void *) == sizeof(ptrdiff_t)) {
+ u4 endian;
+
+ endian = 1;
+ if (*((unsigned char *)(&endian)))
+ return (uLong)crc32_little(crc, buf, len);
+ else
+ return (uLong)crc32_big(crc, buf, len);
+ }
+#endif /* BYFOUR */
+ crc = crc ^ 0xffffffffUL;
+ while (len >= 8) {
+ DO8;
+ len -= 8;
+ }
+ if (len) do {
+ DO1;
+ } while (--len);
+ return crc ^ 0xffffffffUL;
+}
+
+#ifdef BYFOUR
+
+/* ========================================================================= */
+#define DOLIT4 c ^= *buf4++; \
+ c = crc_table[3][c & 0xff] ^ crc_table[2][(c >> 8) & 0xff] ^ \
+ crc_table[1][(c >> 16) & 0xff] ^ crc_table[0][c >> 24]
+#define DOLIT32 DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4
+
+/* ========================================================================= */
+local unsigned long crc32_little(crc, buf, len)
+ unsigned long crc;
+ const unsigned char FAR *buf;
+ unsigned len;
+{
+ register u4 c;
+ register const u4 FAR *buf4;
+
+ c = (u4)crc;
+ c = ~c;
+ while (len && ((ptrdiff_t)buf & 3)) {
+ c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8);
+ len--;
+ }
+
+ buf4 = (const u4 FAR *)(const void FAR *)buf;
+ while (len >= 32) {
+ DOLIT32;
+ len -= 32;
+ }
+ while (len >= 4) {
+ DOLIT4;
+ len -= 4;
+ }
+ buf = (const unsigned char FAR *)buf4;
+
+ if (len) do {
+ c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8);
+ } while (--len);
+ c = ~c;
+ return (unsigned long)c;
+}
+
+/* ========================================================================= */
+#define DOBIG4 c ^= *++buf4; \
+ c = crc_table[4][c & 0xff] ^ crc_table[5][(c >> 8) & 0xff] ^ \
+ crc_table[6][(c >> 16) & 0xff] ^ crc_table[7][c >> 24]
+#define DOBIG32 DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4
+
+/* ========================================================================= */
+local unsigned long crc32_big(crc, buf, len)
+ unsigned long crc;
+ const unsigned char FAR *buf;
+ unsigned len;
+{
+ register u4 c;
+ register const u4 FAR *buf4;
+
+ c = REV((u4)crc);
+ c = ~c;
+ while (len && ((ptrdiff_t)buf & 3)) {
+ c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8);
+ len--;
+ }
+
+ buf4 = (const u4 FAR *)(const void FAR *)buf;
+ buf4--;
+ while (len >= 32) {
+ DOBIG32;
+ len -= 32;
+ }
+ while (len >= 4) {
+ DOBIG4;
+ len -= 4;
+ }
+ buf4++;
+ buf = (const unsigned char FAR *)buf4;
+
+ if (len) do {
+ c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8);
+ } while (--len);
+ c = ~c;
+ return (unsigned long)(REV(c));
+}
+
+#endif /* BYFOUR */
+
+#define GF2_DIM 32 /* dimension of GF(2) vectors (length of CRC) */
+
+/* ========================================================================= */
+local unsigned long gf2_matrix_times(mat, vec)
+ unsigned long *mat;
+ unsigned long vec;
+{
+ unsigned long sum;
+
+ sum = 0;
+ while (vec) {
+ if (vec & 1)
+ sum ^= *mat;
+ vec >>= 1;
+ mat++;
+ }
+ return sum;
+}
+
+/* ========================================================================= */
+local void gf2_matrix_square(square, mat)
+ unsigned long *square;
+ unsigned long *mat;
+{
+ int n;
+
+ for (n = 0; n < GF2_DIM; n++)
+ square[n] = gf2_matrix_times(mat, mat[n]);
+}
+
+/* ========================================================================= */
+local uLong crc32_combine_(crc1, crc2, len2)
+ uLong crc1;
+ uLong crc2;
+ z_off64_t len2;
+{
+ int n;
+ unsigned long row;
+ unsigned long even[GF2_DIM]; /* even-power-of-two zeros operator */
+ unsigned long odd[GF2_DIM]; /* odd-power-of-two zeros operator */
+
+ /* degenerate case (also disallow negative lengths) */
+ if (len2 <= 0)
+ return crc1;
+
+ /* put operator for one zero bit in odd */
+ odd[0] = 0xedb88320UL; /* CRC-32 polynomial */
+ row = 1;
+ for (n = 1; n < GF2_DIM; n++) {
+ odd[n] = row;
+ row <<= 1;
+ }
+
+ /* put operator for two zero bits in even */
+ gf2_matrix_square(even, odd);
+
+ /* put operator for four zero bits in odd */
+ gf2_matrix_square(odd, even);
+
+ /* apply len2 zeros to crc1 (first square will put the operator for one
+ zero byte, eight zero bits, in even) */
+ do {
+ /* apply zeros operator for this bit of len2 */
+ gf2_matrix_square(even, odd);
+ if (len2 & 1)
+ crc1 = gf2_matrix_times(even, crc1);
+ len2 >>= 1;
+
+ /* if no more bits set, then done */
+ if (len2 == 0)
+ break;
+
+ /* another iteration of the loop with odd and even swapped */
+ gf2_matrix_square(odd, even);
+ if (len2 & 1)
+ crc1 = gf2_matrix_times(odd, crc1);
+ len2 >>= 1;
+
+ /* if no more bits set, then done */
+ } while (len2 != 0);
+
+ /* return combined crc */
+ crc1 ^= crc2;
+ return crc1;
+}
+
+/* ========================================================================= */
+uLong ZEXPORT crc32_combine(crc1, crc2, len2)
+ uLong crc1;
+ uLong crc2;
+ z_off_t len2;
+{
+ return crc32_combine_(crc1, crc2, len2);
+}
+
+uLong ZEXPORT crc32_combine64(crc1, crc2, len2)
+ uLong crc1;
+ uLong crc2;
+ z_off64_t len2;
+{
+ return crc32_combine_(crc1, crc2, len2);
+}
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/zlib.h b/jdk/src/share/native/java/util/zip/zlib-1.2.5/zlib.h
new file mode 100644
index 0000000..b847c10
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/zlib.h
@@ -0,0 +1,1637 @@
+/*
+ * 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.
+ */
+
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+ version 1.2.5, April 19th, 2010
+
+ Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Jean-loup Gailly Mark Adler
+ jloup at gzip.org madler at alumni.caltech.edu
+
+
+ The data format used by the zlib library is described by RFCs (Request for
+ Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt
+ (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).
+*/
+
+#ifndef ZLIB_H
+#define ZLIB_H
+
+#include "zconf.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define ZLIB_VERSION "1.2.5"
+#define ZLIB_VERNUM 0x1250
+#define ZLIB_VER_MAJOR 1
+#define ZLIB_VER_MINOR 2
+#define ZLIB_VER_REVISION 5
+#define ZLIB_VER_SUBREVISION 0
+
+/*
+ The 'zlib' compression library provides in-memory compression and
+ decompression functions, including integrity checks of the uncompressed data.
+ This version of the library supports only one compression method (deflation)
+ but other algorithms will be added later and will have the same stream
+ interface.
+
+ Compression can be done in a single step if the buffers are large enough,
+ or can be done by repeated calls of the compression function. In the latter
+ case, the application must provide more input and/or consume the output
+ (providing more output space) before each call.
+
+ The compressed data format used by default by the in-memory functions is
+ the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped
+ around a deflate stream, which is itself documented in RFC 1951.
+
+ The library also supports reading and writing files in gzip (.gz) format
+ with an interface similar to that of stdio using the functions that start
+ with "gz". The gzip format is different from the zlib format. gzip is a
+ gzip wrapper, documented in RFC 1952, wrapped around a deflate stream.
+
+ This library can optionally read and write gzip streams in memory as well.
+
+ The zlib format was designed to be compact and fast for use in memory
+ and on communications channels. The gzip format was designed for single-
+ file compression on file systems, has a larger header than zlib to maintain
+ directory information, and uses a different, slower check method than zlib.
+
+ The library does not install any signal handler. The decoder checks
+ the consistency of the compressed data, so the library should never crash
+ even in case of corrupted input.
+*/
+
+typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
+typedef void (*free_func) OF((voidpf opaque, voidpf address));
+
+struct internal_state;
+
+typedef struct z_stream_s {
+ Bytef *next_in; /* next input byte */
+ uInt avail_in; /* number of bytes available at next_in */
+ long long total_in; /* total nb of input bytes read so far */
+
+ Bytef *next_out; /* next output byte should be put there */
+ uInt avail_out; /* remaining free space at next_out */
+ long long total_out;/* total nb of bytes output so far */
+
+ char *msg; /* last error message, NULL if no error */
+ struct internal_state FAR *state; /* not visible by applications */
+
+ alloc_func zalloc; /* used to allocate the internal state */
+ free_func zfree; /* used to free the internal state */
+ voidpf opaque; /* private data object passed to zalloc and zfree */
+
+ int data_type; /* best guess about the data type: binary or text */
+ uLong adler; /* adler32 value of the uncompressed data */
+ uLong reserved; /* reserved for future use */
+} z_stream;
+
+typedef z_stream FAR *z_streamp;
+
+/*
+ gzip header information passed to and from zlib routines. See RFC 1952
+ for more details on the meanings of these fields.
+*/
+typedef struct gz_header_s {
+ int text; /* true if compressed data believed to be text */
+ uLong time; /* modification time */
+ int xflags; /* extra flags (not used when writing a gzip file) */
+ int os; /* operating system */
+ Bytef *extra; /* pointer to extra field or Z_NULL if none */
+ uInt extra_len; /* extra field length (valid if extra != Z_NULL) */
+ uInt extra_max; /* space at extra (only when reading header) */
+ Bytef *name; /* pointer to zero-terminated file name or Z_NULL */
+ uInt name_max; /* space at name (only when reading header) */
+ Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */
+ uInt comm_max; /* space at comment (only when reading header) */
+ int hcrc; /* true if there was or will be a header crc */
+ int done; /* true when done reading gzip header (not used
+ when writing a gzip file) */
+} gz_header;
+
+typedef gz_header FAR *gz_headerp;
+
+/*
+ The application must update next_in and avail_in when avail_in has dropped
+ to zero. It must update next_out and avail_out when avail_out has dropped
+ to zero. The application must initialize zalloc, zfree and opaque before
+ calling the init function. All other fields are set by the compression
+ library and must not be updated by the application.
+
+ The opaque value provided by the application will be passed as the first
+ parameter for calls of zalloc and zfree. This can be useful for custom
+ memory management. The compression library attaches no meaning to the
+ opaque value.
+
+ zalloc must return Z_NULL if there is not enough memory for the object.
+ If zlib is used in a multi-threaded application, zalloc and zfree must be
+ thread safe.
+
+ On 16-bit systems, the functions zalloc and zfree must be able to allocate
+ exactly 65536 bytes, but will not be required to allocate more than this if
+ the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS, pointers
+ returned by zalloc for objects of exactly 65536 bytes *must* have their
+ offset normalized to zero. The default allocation function provided by this
+ library ensures this (see zutil.c). To reduce memory requirements and avoid
+ any allocation of 64K objects, at the expense of compression ratio, compile
+ the library with -DMAX_WBITS=14 (see zconf.h).
+
+ The fields total_in and total_out can be used for statistics or progress
+ reports. After compression, total_in holds the total size of the
+ uncompressed data and may be saved for use in the decompressor (particularly
+ if the decompressor wants to decompress everything in a single step).
+*/
+
+ /* constants */
+
+#define Z_NO_FLUSH 0
+#define Z_PARTIAL_FLUSH 1
+#define Z_SYNC_FLUSH 2
+#define Z_FULL_FLUSH 3
+#define Z_FINISH 4
+#define Z_BLOCK 5
+#define Z_TREES 6
+/* Allowed flush values; see deflate() and inflate() below for details */
+
+#define Z_OK 0
+#define Z_STREAM_END 1
+#define Z_NEED_DICT 2
+#define Z_ERRNO (-1)
+#define Z_STREAM_ERROR (-2)
+#define Z_DATA_ERROR (-3)
+#define Z_MEM_ERROR (-4)
+#define Z_BUF_ERROR (-5)
+#define Z_VERSION_ERROR (-6)
+/* Return codes for the compression/decompression functions. Negative values
+ * are errors, positive values are used for special but normal events.
+ */
+
+#define Z_NO_COMPRESSION 0
+#define Z_BEST_SPEED 1
+#define Z_BEST_COMPRESSION 9
+#define Z_DEFAULT_COMPRESSION (-1)
+/* compression levels */
+
+#define Z_FILTERED 1
+#define Z_HUFFMAN_ONLY 2
+#define Z_RLE 3
+#define Z_FIXED 4
+#define Z_DEFAULT_STRATEGY 0
+/* compression strategy; see deflateInit2() below for details */
+
+#define Z_BINARY 0
+#define Z_TEXT 1
+#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */
+#define Z_UNKNOWN 2
+/* Possible values of the data_type field (though see inflate()) */
+
+#define Z_DEFLATED 8
+/* The deflate compression method (the only one supported in this version) */
+
+#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
+
+#define zlib_version zlibVersion()
+/* for compatibility with versions < 1.0.2 */
+
+
+ /* basic functions */
+
+ZEXTERN const char * ZEXPORT zlibVersion OF((void));
+/* The application can compare zlibVersion and ZLIB_VERSION for consistency.
+ If the first character differs, the library code actually used is not
+ compatible with the zlib.h header file used by the application. This check
+ is automatically made by deflateInit and inflateInit.
+ */
+
+/*
+ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
+
+ Initializes the internal stream state for compression. The fields
+ zalloc, zfree and opaque must be initialized before by the caller. If
+ zalloc and zfree are set to Z_NULL, deflateInit updates them to use default
+ allocation functions.
+
+ The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9:
+ 1 gives best speed, 9 gives best compression, 0 gives no compression at all
+ (the input data is simply copied a block at a time). Z_DEFAULT_COMPRESSION
+ requests a default compromise between speed and compression (currently
+ equivalent to level 6).
+
+ deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
+ memory, Z_STREAM_ERROR if level is not a valid compression level, or
+ Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible
+ with the version assumed by the caller (ZLIB_VERSION). msg is set to null
+ if there is no error message. deflateInit does not perform any compression:
+ this will be done by deflate().
+*/
+
+
+ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
+/*
+ deflate compresses as much data as possible, and stops when the input
+ buffer becomes empty or the output buffer becomes full. It may introduce
+ some output latency (reading input without producing any output) except when
+ forced to flush.
+
+ The detailed semantics are as follows. deflate performs one or both of the
+ following actions:
+
+ - Compress more input starting at next_in and update next_in and avail_in
+ accordingly. If not all input can be processed (because there is not
+ enough room in the output buffer), next_in and avail_in are updated and
+ processing will resume at this point for the next call of deflate().
+
+ - Provide more output starting at next_out and update next_out and avail_out
+ accordingly. This action is forced if the parameter flush is non zero.
+ Forcing flush frequently degrades the compression ratio, so this parameter
+ should be set only when necessary (in interactive applications). Some
+ output may be provided even if flush is not set.
+
+ Before the call of deflate(), the application should ensure that at least
+ one of the actions is possible, by providing more input and/or consuming more
+ output, and updating avail_in or avail_out accordingly; avail_out should
+ never be zero before the call. The application can consume the compressed
+ output when it wants, for example when the output buffer is full (avail_out
+ == 0), or after each call of deflate(). If deflate returns Z_OK and with
+ zero avail_out, it must be called again after making room in the output
+ buffer because there might be more output pending.
+
+ Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to
+ decide how much data to accumulate before producing output, in order to
+ maximize compression.
+
+ If the parameter flush is set to Z_SYNC_FLUSH, all pending output is
+ flushed to the output buffer and the output is aligned on a byte boundary, so
+ that the decompressor can get all input data available so far. (In
+ particular avail_in is zero after the call if enough output space has been
+ provided before the call.) Flushing may degrade compression for some
+ compression algorithms and so it should be used only when necessary. This
+ completes the current deflate block and follows it with an empty stored block
+ that is three bits plus filler bits to the next byte, followed by four bytes
+ (00 00 ff ff).
+
+ If flush is set to Z_PARTIAL_FLUSH, all pending output is flushed to the
+ output buffer, but the output is not aligned to a byte boundary. All of the
+ input data so far will be available to the decompressor, as for Z_SYNC_FLUSH.
+ This completes the current deflate block and follows it with an empty fixed
+ codes block that is 10 bits long. This assures that enough bytes are output
+ in order for the decompressor to finish the block before the empty fixed code
+ block.
+
+ If flush is set to Z_BLOCK, a deflate block is completed and emitted, as
+ for Z_SYNC_FLUSH, but the output is not aligned on a byte boundary, and up to
+ seven bits of the current block are held to be written as the next byte after
+ the next deflate block is completed. In this case, the decompressor may not
+ be provided enough bits at this point in order to complete decompression of
+ the data provided so far to the compressor. It may need to wait for the next
+ block to be emitted. This is for advanced applications that need to control
+ the emission of deflate blocks.
+
+ If flush is set to Z_FULL_FLUSH, all output is flushed as with
+ Z_SYNC_FLUSH, and the compression state is reset so that decompression can
+ restart from this point if previous compressed data has been damaged or if
+ random access is desired. Using Z_FULL_FLUSH too often can seriously degrade
+ compression.
+
+ If deflate returns with avail_out == 0, this function must be called again
+ with the same value of the flush parameter and more output space (updated
+ avail_out), until the flush is complete (deflate returns with non-zero
+ avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that
+ avail_out is greater than six to avoid repeated flush markers due to
+ avail_out == 0 on return.
+
+ If the parameter flush is set to Z_FINISH, pending input is processed,
+ pending output is flushed and deflate returns with Z_STREAM_END if there was
+ enough output space; if deflate returns with Z_OK, this function must be
+ called again with Z_FINISH and more output space (updated avail_out) but no
+ more input data, until it returns with Z_STREAM_END or an error. After
+ deflate has returned Z_STREAM_END, the only possible operations on the stream
+ are deflateReset or deflateEnd.
+
+ Z_FINISH can be used immediately after deflateInit if all the compression
+ is to be done in a single step. In this case, avail_out must be at least the
+ value returned by deflateBound (see below). If deflate does not return
+ Z_STREAM_END, then it must be called again as described above.
+
+ deflate() sets strm->adler to the adler32 checksum of all input read
+ so far (that is, total_in bytes).
+
+ deflate() may update strm->data_type if it can make a good guess about
+ the input data type (Z_BINARY or Z_TEXT). In doubt, the data is considered
+ binary. This field is only for information purposes and does not affect the
+ compression algorithm in any manner.
+
+ deflate() returns Z_OK if some progress has been made (more input
+ processed or more output produced), Z_STREAM_END if all input has been
+ consumed and all output has been produced (only when flush is set to
+ Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
+ if next_in or next_out was Z_NULL), Z_BUF_ERROR if no progress is possible
+ (for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not
+ fatal, and deflate() can be called again with more input and more output
+ space to continue compressing.
+*/
+
+
+ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
+/*
+ All dynamically allocated data structures for this stream are freed.
+ This function discards any unprocessed input and does not flush any pending
+ output.
+
+ deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
+ stream state was inconsistent, Z_DATA_ERROR if the stream was freed
+ prematurely (some input or output was discarded). In the error case, msg
+ may be set but then points to a static string (which must not be
+ deallocated).
+*/
+
+
+/*
+ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
+
+ Initializes the internal stream state for decompression. The fields
+ next_in, avail_in, zalloc, zfree and opaque must be initialized before by
+ the caller. If next_in is not Z_NULL and avail_in is large enough (the
+ exact value depends on the compression method), inflateInit determines the
+ compression method from the zlib header and allocates all data structures
+ accordingly; otherwise the allocation will be deferred to the first call of
+ inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to
+ use default allocation functions.
+
+ inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
+ memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
+ version assumed by the caller, or Z_STREAM_ERROR if the parameters are
+ invalid, such as a null pointer to the structure. msg is set to null if
+ there is no error message. inflateInit does not perform any decompression
+ apart from possibly reading the zlib header if present: actual decompression
+ will be done by inflate(). (So next_in and avail_in may be modified, but
+ next_out and avail_out are unused and unchanged.) The current implementation
+ of inflateInit() does not process any header information -- that is deferred
+ until inflate() is called.
+*/
+
+
+ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
+/*
+ inflate decompresses as much data as possible, and stops when the input
+ buffer becomes empty or the output buffer becomes full. It may introduce
+ some output latency (reading input without producing any output) except when
+ forced to flush.
+
+ The detailed semantics are as follows. inflate performs one or both of the
+ following actions:
+
+ - Decompress more input starting at next_in and update next_in and avail_in
+ accordingly. If not all input can be processed (because there is not
+ enough room in the output buffer), next_in is updated and processing will
+ resume at this point for the next call of inflate().
+
+ - Provide more output starting at next_out and update next_out and avail_out
+ accordingly. inflate() provides as much output as possible, until there is
+ no more input data or no more space in the output buffer (see below about
+ the flush parameter).
+
+ Before the call of inflate(), the application should ensure that at least
+ one of the actions is possible, by providing more input and/or consuming more
+ output, and updating the next_* and avail_* values accordingly. The
+ application can consume the uncompressed output when it wants, for example
+ when the output buffer is full (avail_out == 0), or after each call of
+ inflate(). If inflate returns Z_OK and with zero avail_out, it must be
+ called again after making room in the output buffer because there might be
+ more output pending.
+
+ The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH,
+ Z_BLOCK, or Z_TREES. Z_SYNC_FLUSH requests that inflate() flush as much
+ output as possible to the output buffer. Z_BLOCK requests that inflate()
+ stop if and when it gets to the next deflate block boundary. When decoding
+ the zlib or gzip format, this will cause inflate() to return immediately
+ after the header and before the first block. When doing a raw inflate,
+ inflate() will go ahead and process the first block, and will return when it
+ gets to the end of that block, or when it runs out of data.
+
+ The Z_BLOCK option assists in appending to or combining deflate streams.
+ Also to assist in this, on return inflate() will set strm->data_type to the
+ number of unused bits in the last byte taken from strm->next_in, plus 64 if
+ inflate() is currently decoding the last block in the deflate stream, plus
+ 128 if inflate() returned immediately after decoding an end-of-block code or
+ decoding the complete header up to just before the first byte of the deflate
+ stream. The end-of-block will not be indicated until all of the uncompressed
+ data from that block has been written to strm->next_out. The number of
+ unused bits may in general be greater than seven, except when bit 7 of
+ data_type is set, in which case the number of unused bits will be less than
+ eight. data_type is set as noted here every time inflate() returns for all
+ flush options, and so can be used to determine the amount of currently
+ consumed input in bits.
+
+ The Z_TREES option behaves as Z_BLOCK does, but it also returns when the
+ end of each deflate block header is reached, before any actual data in that
+ block is decoded. This allows the caller to determine the length of the
+ deflate block header for later use in random access within a deflate block.
+ 256 is added to the value of strm->data_type when inflate() returns
+ immediately after reaching the end of the deflate block header.
+
+ inflate() should normally be called until it returns Z_STREAM_END or an
+ error. However if all decompression is to be performed in a single step (a
+ single call of inflate), the parameter flush should be set to Z_FINISH. In
+ this case all pending input is processed and all pending output is flushed;
+ avail_out must be large enough to hold all the uncompressed data. (The size
+ of the uncompressed data may have been saved by the compressor for this
+ purpose.) The next operation on this stream must be inflateEnd to deallocate
+ the decompression state. The use of Z_FINISH is never required, but can be
+ used to inform inflate that a faster approach may be used for the single
+ inflate() call.
+
+ In this implementation, inflate() always flushes as much output as
+ possible to the output buffer, and always uses the faster approach on the
+ first call. So the only effect of the flush parameter in this implementation
+ is on the return value of inflate(), as noted below, or when it returns early
+ because Z_BLOCK or Z_TREES is used.
+
+ If a preset dictionary is needed after this call (see inflateSetDictionary
+ below), inflate sets strm->adler to the adler32 checksum of the dictionary
+ chosen by the compressor and returns Z_NEED_DICT; otherwise it sets
+ strm->adler to the adler32 checksum of all output produced so far (that is,
+ total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described
+ below. At the end of the stream, inflate() checks that its computed adler32
+ checksum is equal to that saved by the compressor and returns Z_STREAM_END
+ only if the checksum is correct.
+
+ inflate() can decompress and check either zlib-wrapped or gzip-wrapped
+ deflate data. The header type is detected automatically, if requested when
+ initializing with inflateInit2(). Any information contained in the gzip
+ header is not retained, so applications that need that information should
+ instead use raw inflate, see inflateInit2() below, or inflateBack() and
+ perform their own processing of the gzip header and trailer.
+
+ inflate() returns Z_OK if some progress has been made (more input processed
+ or more output produced), Z_STREAM_END if the end of the compressed data has
+ been reached and all uncompressed output has been produced, Z_NEED_DICT if a
+ preset dictionary is needed at this point, Z_DATA_ERROR if the input data was
+ corrupted (input stream not conforming to the zlib format or incorrect check
+ value), Z_STREAM_ERROR if the stream structure was inconsistent (for example
+ next_in or next_out was Z_NULL), Z_MEM_ERROR if there was not enough memory,
+ Z_BUF_ERROR if no progress is possible or if there was not enough room in the
+ output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and
+ inflate() can be called again with more input and more output space to
+ continue decompressing. If Z_DATA_ERROR is returned, the application may
+ then call inflateSync() to look for a good compression block if a partial
+ recovery of the data is desired.
+*/
+
+
+ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
+/*
+ All dynamically allocated data structures for this stream are freed.
+ This function discards any unprocessed input and does not flush any pending
+ output.
+
+ inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
+ was inconsistent. In the error case, msg may be set but then points to a
+ static string (which must not be deallocated).
+*/
+
+
+ /* Advanced functions */
+
+/*
+ The following functions are needed only in some special applications.
+*/
+
+/*
+ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
+ int level,
+ int method,
+ int windowBits,
+ int memLevel,
+ int strategy));
+
+ This is another version of deflateInit with more compression options. The
+ fields next_in, zalloc, zfree and opaque must be initialized before by the
+ caller.
+
+ The method parameter is the compression method. It must be Z_DEFLATED in
+ this version of the library.
+
+ The windowBits parameter is the base two logarithm of the window size
+ (the size of the history buffer). It should be in the range 8..15 for this
+ version of the library. Larger values of this parameter result in better
+ compression at the expense of memory usage. The default value is 15 if
+ deflateInit is used instead.
+
+ windowBits can also be -8..-15 for raw deflate. In this case, -windowBits
+ determines the window size. deflate() will then generate raw deflate data
+ with no zlib header or trailer, and will not compute an adler32 check value.
+
+ windowBits can also be greater than 15 for optional gzip encoding. Add
+ 16 to windowBits to write a simple gzip header and trailer around the
+ compressed data instead of a zlib wrapper. The gzip header will have no
+ file name, no extra data, no comment, no modification time (set to zero), no
+ header crc, and the operating system will be set to 255 (unknown). If a
+ gzip stream is being written, strm->adler is a crc32 instead of an adler32.
+
+ The memLevel parameter specifies how much memory should be allocated
+ for the internal compression state. memLevel=1 uses minimum memory but is
+ slow and reduces compression ratio; memLevel=9 uses maximum memory for
+ optimal speed. The default value is 8. See zconf.h for total memory usage
+ as a function of windowBits and memLevel.
+
+ The strategy parameter is used to tune the compression algorithm. Use the
+ value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a
+ filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no
+ string match), or Z_RLE to limit match distances to one (run-length
+ encoding). Filtered data consists mostly of small values with a somewhat
+ random distribution. In this case, the compression algorithm is tuned to
+ compress them better. The effect of Z_FILTERED is to force more Huffman
+ coding and less string matching; it is somewhat intermediate between
+ Z_DEFAULT_STRATEGY and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as
+ fast as Z_HUFFMAN_ONLY, but give better compression for PNG image data. The
+ strategy parameter only affects the compression ratio but not the
+ correctness of the compressed output even if it is not set appropriately.
+ Z_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler
+ decoder for special applications.
+
+ deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
+ memory, Z_STREAM_ERROR if any parameter is invalid (such as an invalid
+ method), or Z_VERSION_ERROR if the zlib library version (zlib_version) is
+ incompatible with the version assumed by the caller (ZLIB_VERSION). msg is
+ set to null if there is no error message. deflateInit2 does not perform any
+ compression: this will be done by deflate().
+*/
+
+ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
+ const Bytef *dictionary,
+ uInt dictLength));
+/*
+ Initializes the compression dictionary from the given byte sequence
+ without producing any compressed output. This function must be called
+ immediately after deflateInit, deflateInit2 or deflateReset, before any call
+ of deflate. The compressor and decompressor must use exactly the same
+ dictionary (see inflateSetDictionary).
+
+ The dictionary should consist of strings (byte sequences) that are likely
+ to be encountered later in the data to be compressed, with the most commonly
+ used strings preferably put towards the end of the dictionary. Using a
+ dictionary is most useful when the data to be compressed is short and can be
+ predicted with good accuracy; the data can then be compressed better than
+ with the default empty dictionary.
+
+ Depending on the size of the compression data structures selected by
+ deflateInit or deflateInit2, a part of the dictionary may in effect be
+ discarded, for example if the dictionary is larger than the window size
+ provided in deflateInit or deflateInit2. Thus the strings most likely to be
+ useful should be put at the end of the dictionary, not at the front. In
+ addition, the current implementation of deflate will use at most the window
+ size minus 262 bytes of the provided dictionary.
+
+ Upon return of this function, strm->adler is set to the adler32 value
+ of the dictionary; the decompressor may later use this value to determine
+ which dictionary has been used by the compressor. (The adler32 value
+ applies to the whole dictionary even if only a subset of the dictionary is
+ actually used by the compressor.) If a raw deflate was requested, then the
+ adler32 value is not computed and strm->adler is not set.
+
+ deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
+ parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
+ inconsistent (for example if deflate has already been called for this stream
+ or if the compression method is bsort). deflateSetDictionary does not
+ perform any compression: this will be done by deflate().
+*/
+
+ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
+ z_streamp source));
+/*
+ Sets the destination stream as a complete copy of the source stream.
+
+ This function can be useful when several compression strategies will be
+ tried, for example when there are several ways of pre-processing the input
+ data with a filter. The streams that will be discarded should then be freed
+ by calling deflateEnd. Note that deflateCopy duplicates the internal
+ compression state which can be quite large, so this strategy is slow and can
+ consume lots of memory.
+
+ deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
+ (such as zalloc being Z_NULL). msg is left unchanged in both source and
+ destination.
+*/
+
+ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
+/*
+ This function is equivalent to deflateEnd followed by deflateInit,
+ but does not free and reallocate all the internal compression state. The
+ stream will keep the same compression level and any other attributes that
+ may have been set by deflateInit2.
+
+ deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent (such as zalloc or state being Z_NULL).
+*/
+
+ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
+ int level,
+ int strategy));
+/*
+ Dynamically update the compression level and compression strategy. The
+ interpretation of level and strategy is as in deflateInit2. This can be
+ used to switch between compression and straight copy of the input data, or
+ to switch to a different kind of input data requiring a different strategy.
+ If the compression level is changed, the input available so far is
+ compressed with the old level (and may be flushed); the new level will take
+ effect only at the next call of deflate().
+
+ Before the call of deflateParams, the stream state must be set as for
+ a call of deflate(), since the currently available input may have to be
+ compressed and flushed. In particular, strm->avail_out must be non-zero.
+
+ deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source
+ stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR if
+ strm->avail_out was zero.
+*/
+
+ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm,
+ int good_length,
+ int max_lazy,
+ int nice_length,
+ int max_chain));
+/*
+ Fine tune deflate's internal compression parameters. This should only be
+ used by someone who understands the algorithm used by zlib's deflate for
+ searching for the best matching string, and even then only by the most
+ fanatic optimizer trying to squeeze out the last compressed bit for their
+ specific input data. Read the deflate.c source code for the meaning of the
+ max_lazy, good_length, nice_length, and max_chain parameters.
+
+ deflateTune() can be called after deflateInit() or deflateInit2(), and
+ returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream.
+ */
+
+ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm,
+ uLong sourceLen));
+/*
+ deflateBound() returns an upper bound on the compressed size after
+ deflation of sourceLen bytes. It must be called after deflateInit() or
+ deflateInit2(), and after deflateSetHeader(), if used. This would be used
+ to allocate an output buffer for deflation in a single pass, and so would be
+ called before deflate().
+*/
+
+ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
+ int bits,
+ int value));
+/*
+ deflatePrime() inserts bits in the deflate output stream. The intent
+ is that this function is used to start off the deflate output with the bits
+ leftover from a previous deflate stream when appending to it. As such, this
+ function can only be used for raw deflate, and must be used before the first
+ deflate() call after a deflateInit2() or deflateReset(). bits must be less
+ than or equal to 16, and that many of the least significant bits of value
+ will be inserted in the output.
+
+ deflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent.
+*/
+
+ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm,
+ gz_headerp head));
+/*
+ deflateSetHeader() provides gzip header information for when a gzip
+ stream is requested by deflateInit2(). deflateSetHeader() may be called
+ after deflateInit2() or deflateReset() and before the first call of
+ deflate(). The text, time, os, extra field, name, and comment information
+ in the provided gz_header structure are written to the gzip header (xflag is
+ ignored -- the extra flags are set according to the compression level). The
+ caller must assure that, if not Z_NULL, name and comment are terminated with
+ a zero byte, and that if extra is not Z_NULL, that extra_len bytes are
+ available there. If hcrc is true, a gzip header crc is included. Note that
+ the current versions of the command-line version of gzip (up through version
+ 1.3.x) do not support header crc's, and will report that it is a "multi-part
+ gzip file" and give up.
+
+ If deflateSetHeader is not used, the default gzip header has text false,
+ the time set to zero, and os set to 255, with no extra, name, or comment
+ fields. The gzip header is returned to the default state by deflateReset().
+
+ deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent.
+*/
+
+/*
+ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
+ int windowBits));
+
+ This is another version of inflateInit with an extra parameter. The
+ fields next_in, avail_in, zalloc, zfree and opaque must be initialized
+ before by the caller.
+
+ The windowBits parameter is the base two logarithm of the maximum window
+ size (the size of the history buffer). It should be in the range 8..15 for
+ this version of the library. The default value is 15 if inflateInit is used
+ instead. windowBits must be greater than or equal to the windowBits value
+ provided to deflateInit2() while compressing, or it must be equal to 15 if
+ deflateInit2() was not used. If a compressed stream with a larger window
+ size is given as input, inflate() will return with the error code
+ Z_DATA_ERROR instead of trying to allocate a larger window.
+
+ windowBits can also be zero to request that inflate use the window size in
+ the zlib header of the compressed stream.
+
+ windowBits can also be -8..-15 for raw inflate. In this case, -windowBits
+ determines the window size. inflate() will then process raw deflate data,
+ not looking for a zlib or gzip header, not generating a check value, and not
+ looking for any check values for comparison at the end of the stream. This
+ is for use with other formats that use the deflate compressed data format
+ such as zip. Those formats provide their own check values. If a custom
+ format is developed using the raw deflate format for compressed data, it is
+ recommended that a check value such as an adler32 or a crc32 be applied to
+ the uncompressed data as is done in the zlib, gzip, and zip formats. For
+ most applications, the zlib format should be used as is. Note that comments
+ above on the use in deflateInit2() applies to the magnitude of windowBits.
+
+ windowBits can also be greater than 15 for optional gzip decoding. Add
+ 32 to windowBits to enable zlib and gzip decoding with automatic header
+ detection, or add 16 to decode only the gzip format (the zlib format will
+ return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a
+ crc32 instead of an adler32.
+
+ inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
+ memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
+ version assumed by the caller, or Z_STREAM_ERROR if the parameters are
+ invalid, such as a null pointer to the structure. msg is set to null if
+ there is no error message. inflateInit2 does not perform any decompression
+ apart from possibly reading the zlib header if present: actual decompression
+ will be done by inflate(). (So next_in and avail_in may be modified, but
+ next_out and avail_out are unused and unchanged.) The current implementation
+ of inflateInit2() does not process any header information -- that is
+ deferred until inflate() is called.
+*/
+
+ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
+ const Bytef *dictionary,
+ uInt dictLength));
+/*
+ Initializes the decompression dictionary from the given uncompressed byte
+ sequence. This function must be called immediately after a call of inflate,
+ if that call returned Z_NEED_DICT. The dictionary chosen by the compressor
+ can be determined from the adler32 value returned by that call of inflate.
+ The compressor and decompressor must use exactly the same dictionary (see
+ deflateSetDictionary). For raw inflate, this function can be called
+ immediately after inflateInit2() or inflateReset() and before any call of
+ inflate() to set the dictionary. The application must insure that the
+ dictionary that was used for compression is provided.
+
+ inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
+ parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
+ inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
+ expected one (incorrect adler32 value). inflateSetDictionary does not
+ perform any decompression: this will be done by subsequent calls of
+ inflate().
+*/
+
+ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
+/*
+ Skips invalid compressed data until a full flush point (see above the
+ description of deflate with Z_FULL_FLUSH) can be found, or until all
+ available input is skipped. No output is provided.
+
+ inflateSync returns Z_OK if a full flush point has been found, Z_BUF_ERROR
+ if no more input was provided, Z_DATA_ERROR if no flush point has been
+ found, or Z_STREAM_ERROR if the stream structure was inconsistent. In the
+ success case, the application may save the current current value of total_in
+ which indicates where valid compressed data was found. In the error case,
+ the application may repeatedly call inflateSync, providing more input each
+ time, until success or end of the input data.
+*/
+
+ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
+ z_streamp source));
+/*
+ Sets the destination stream as a complete copy of the source stream.
+
+ This function can be useful when randomly accessing a large stream. The
+ first pass through the stream can periodically record the inflate state,
+ allowing restarting inflate at those points when randomly accessing the
+ stream.
+
+ inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
+ (such as zalloc being Z_NULL). msg is left unchanged in both source and
+ destination.
+*/
+
+ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
+/*
+ This function is equivalent to inflateEnd followed by inflateInit,
+ but does not free and reallocate all the internal decompression state. The
+ stream will keep attributes that may have been set by inflateInit2.
+
+ inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent (such as zalloc or state being Z_NULL).
+*/
+
+ZEXTERN int ZEXPORT inflateReset2 OF((z_streamp strm,
+ int windowBits));
+/*
+ This function is the same as inflateReset, but it also permits changing
+ the wrap and window size requests. The windowBits parameter is interpreted
+ the same as it is for inflateInit2.
+
+ inflateReset2 returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent (such as zalloc or state being Z_NULL), or if
+ the windowBits parameter is invalid.
+*/
+
+ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm,
+ int bits,
+ int value));
+/*
+ This function inserts bits in the inflate input stream. The intent is
+ that this function is used to start inflating at a bit position in the
+ middle of a byte. The provided bits will be used before any bytes are used
+ from next_in. This function should only be used with raw inflate, and
+ should be used before the first inflate() call after inflateInit2() or
+ inflateReset(). bits must be less than or equal to 16, and that many of the
+ least significant bits of value will be inserted in the input.
+
+ If bits is negative, then the input stream bit buffer is emptied. Then
+ inflatePrime() can be called again to put bits in the buffer. This is used
+ to clear out bits leftover after feeding inflate a block description prior
+ to feeding inflate codes.
+
+ inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent.
+*/
+
+ZEXTERN long ZEXPORT inflateMark OF((z_streamp strm));
+/*
+ This function returns two values, one in the lower 16 bits of the return
+ value, and the other in the remaining upper bits, obtained by shifting the
+ return value down 16 bits. If the upper value is -1 and the lower value is
+ zero, then inflate() is currently decoding information outside of a block.
+ If the upper value is -1 and the lower value is non-zero, then inflate is in
+ the middle of a stored block, with the lower value equaling the number of
+ bytes from the input remaining to copy. If the upper value is not -1, then
+ it is the number of bits back from the current bit position in the input of
+ the code (literal or length/distance pair) currently being processed. In
+ that case the lower value is the number of bytes already emitted for that
+ code.
+
+ A code is being processed if inflate is waiting for more input to complete
+ decoding of the code, or if it has completed decoding but is waiting for
+ more output space to write the literal or match data.
+
+ inflateMark() is used to mark locations in the input data for random
+ access, which may be at bit positions, and to note those cases where the
+ output of a code may span boundaries of random access blocks. The current
+ location in the input stream can be determined from avail_in and data_type
+ as noted in the description for the Z_BLOCK flush parameter for inflate.
+
+ inflateMark returns the value noted above or -1 << 16 if the provided
+ source stream state was inconsistent.
+*/
+
+ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm,
+ gz_headerp head));
+/*
+ inflateGetHeader() requests that gzip header information be stored in the
+ provided gz_header structure. inflateGetHeader() may be called after
+ inflateInit2() or inflateReset(), and before the first call of inflate().
+ As inflate() processes the gzip stream, head->done is zero until the header
+ is completed, at which time head->done is set to one. If a zlib stream is
+ being decoded, then head->done is set to -1 to indicate that there will be
+ no gzip header information forthcoming. Note that Z_BLOCK or Z_TREES can be
+ used to force inflate() to return immediately after header processing is
+ complete and before any actual data is decompressed.
+
+ The text, time, xflags, and os fields are filled in with the gzip header
+ contents. hcrc is set to true if there is a header CRC. (The header CRC
+ was valid if done is set to one.) If extra is not Z_NULL, then extra_max
+ contains the maximum number of bytes to write to extra. Once done is true,
+ extra_len contains the actual extra field length, and extra contains the
+ extra field, or that field truncated if extra_max is less than extra_len.
+ If name is not Z_NULL, then up to name_max characters are written there,
+ terminated with a zero unless the length is greater than name_max. If
+ comment is not Z_NULL, then up to comm_max characters are written there,
+ terminated with a zero unless the length is greater than comm_max. When any
+ of extra, name, or comment are not Z_NULL and the respective field is not
+ present in the header, then that field is set to Z_NULL to signal its
+ absence. This allows the use of deflateSetHeader() with the returned
+ structure to duplicate the header. However if those fields are set to
+ allocated memory, then the application will need to save those pointers
+ elsewhere so that they can be eventually freed.
+
+ If inflateGetHeader is not used, then the header information is simply
+ discarded. The header is always checked for validity, including the header
+ CRC if present. inflateReset() will reset the process to discard the header
+ information. The application would need to call inflateGetHeader() again to
+ retrieve the header from the next gzip stream.
+
+ inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent.
+*/
+
+/*
+ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits,
+ unsigned char FAR *window));
+
+ Initialize the internal stream state for decompression using inflateBack()
+ calls. The fields zalloc, zfree and opaque in strm must be initialized
+ before the call. If zalloc and zfree are Z_NULL, then the default library-
+ derived memory allocation routines are used. windowBits is the base two
+ logarithm of the window size, in the range 8..15. window is a caller
+ supplied buffer of that size. Except for special applications where it is
+ assured that deflate was used with small window sizes, windowBits must be 15
+ and a 32K byte window must be supplied to be able to decompress general
+ deflate streams.
+
+ See inflateBack() for the usage of these routines.
+
+ inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of
+ the paramaters are invalid, Z_MEM_ERROR if the internal state could not be
+ allocated, or Z_VERSION_ERROR if the version of the library does not match
+ the version of the header file.
+*/
+
+typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *));
+typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
+
+ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
+ in_func in, void FAR *in_desc,
+ out_func out, void FAR *out_desc));
+/*
+ inflateBack() does a raw inflate with a single call using a call-back
+ interface for input and output. This is more efficient than inflate() for
+ file i/o applications in that it avoids copying between the output and the
+ sliding window by simply making the window itself the output buffer. This
+ function trusts the application to not change the output buffer passed by
+ the output function, at least until inflateBack() returns.
+
+ inflateBackInit() must be called first to allocate the internal state
+ and to initialize the state with the user-provided window buffer.
+ inflateBack() may then be used multiple times to inflate a complete, raw
+ deflate stream with each call. inflateBackEnd() is then called to free the
+ allocated state.
+
+ A raw deflate stream is one with no zlib or gzip header or trailer.
+ This routine would normally be used in a utility that reads zip or gzip
+ files and writes out uncompressed files. The utility would decode the
+ header and process the trailer on its own, hence this routine expects only
+ the raw deflate stream to decompress. This is different from the normal
+ behavior of inflate(), which expects either a zlib or gzip header and
+ trailer around the deflate stream.
+
+ inflateBack() uses two subroutines supplied by the caller that are then
+ called by inflateBack() for input and output. inflateBack() calls those
+ routines until it reads a complete deflate stream and writes out all of the
+ uncompressed data, or until it encounters an error. The function's
+ parameters and return types are defined above in the in_func and out_func
+ typedefs. inflateBack() will call in(in_desc, &buf) which should return the
+ number of bytes of provided input, and a pointer to that input in buf. If
+ there is no input available, in() must return zero--buf is ignored in that
+ case--and inflateBack() will return a buffer error. inflateBack() will call
+ out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out()
+ should return zero on success, or non-zero on failure. If out() returns
+ non-zero, inflateBack() will return with an error. Neither in() nor out()
+ are permitted to change the contents of the window provided to
+ inflateBackInit(), which is also the buffer that out() uses to write from.
+ The length written by out() will be at most the window size. Any non-zero
+ amount of input may be provided by in().
+
+ For convenience, inflateBack() can be provided input on the first call by
+ setting strm->next_in and strm->avail_in. If that input is exhausted, then
+ in() will be called. Therefore strm->next_in must be initialized before
+ calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called
+ immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in
+ must also be initialized, and then if strm->avail_in is not zero, input will
+ initially be taken from strm->next_in[0 .. strm->avail_in - 1].
+
+ The in_desc and out_desc parameters of inflateBack() is passed as the
+ first parameter of in() and out() respectively when they are called. These
+ descriptors can be optionally used to pass any information that the caller-
+ supplied in() and out() functions need to do their job.
+
+ On return, inflateBack() will set strm->next_in and strm->avail_in to
+ pass back any unused input that was provided by the last in() call. The
+ return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR
+ if in() or out() returned an error, Z_DATA_ERROR if there was a format error
+ in the deflate stream (in which case strm->msg is set to indicate the nature
+ of the error), or Z_STREAM_ERROR if the stream was not properly initialized.
+ In the case of Z_BUF_ERROR, an input or output error can be distinguished
+ using strm->next_in which will be Z_NULL only if in() returned an error. If
+ strm->next_in is not Z_NULL, then the Z_BUF_ERROR was due to out() returning
+ non-zero. (in() will always be called before out(), so strm->next_in is
+ assured to be defined if out() returns non-zero.) Note that inflateBack()
+ cannot return Z_OK.
+*/
+
+ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm));
+/*
+ All memory allocated by inflateBackInit() is freed.
+
+ inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream
+ state was inconsistent.
+*/
+
+ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
+/* Return flags indicating compile-time options.
+
+ Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other:
+ 1.0: size of uInt
+ 3.2: size of uLong
+ 5.4: size of voidpf (pointer)
+ 7.6: size of z_off_t
+
+ Compiler, assembler, and debug options:
+ 8: DEBUG
+ 9: ASMV or ASMINF -- use ASM code
+ 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention
+ 11: 0 (reserved)
+
+ One-time table building (smaller code, but not thread-safe if true):
+ 12: BUILDFIXED -- build static block decoding tables when needed
+ 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed
+ 14,15: 0 (reserved)
+
+ Library content (indicates missing functionality):
+ 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking
+ deflate code when not needed)
+ 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect
+ and decode gzip streams (to avoid linking crc code)
+ 18-19: 0 (reserved)
+
+ Operation variations (changes in library functionality):
+ 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate
+ 21: FASTEST -- deflate algorithm with only one, lowest compression level
+ 22,23: 0 (reserved)
+
+ The sprintf variant used by gzprintf (zero is best):
+ 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format
+ 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure!
+ 26: 0 = returns value, 1 = void -- 1 means inferred string length returned
+
+ Remainder:
+ 27-31: 0 (reserved)
+ */
+
+
+ /* utility functions */
+
+/*
+ The following utility functions are implemented on top of the basic
+ stream-oriented functions. To simplify the interface, some default options
+ are assumed (compression level and memory usage, standard memory allocation
+ functions). The source code of these utility functions can be modified if
+ you need special options.
+*/
+
+ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen));
+/*
+ Compresses the source buffer into the destination buffer. sourceLen is
+ the byte length of the source buffer. Upon entry, destLen is the total size
+ of the destination buffer, which must be at least the value returned by
+ compressBound(sourceLen). Upon exit, destLen is the actual size of the
+ compressed buffer.
+
+ compress returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_BUF_ERROR if there was not enough room in the output
+ buffer.
+*/
+
+ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen,
+ int level));
+/*
+ Compresses the source buffer into the destination buffer. The level
+ parameter has the same meaning as in deflateInit. sourceLen is the byte
+ length of the source buffer. Upon entry, destLen is the total size of the
+ destination buffer, which must be at least the value returned by
+ compressBound(sourceLen). Upon exit, destLen is the actual size of the
+ compressed buffer.
+
+ compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
+ memory, Z_BUF_ERROR if there was not enough room in the output buffer,
+ Z_STREAM_ERROR if the level parameter is invalid.
+*/
+
+ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen));
+/*
+ compressBound() returns an upper bound on the compressed size after
+ compress() or compress2() on sourceLen bytes. It would be used before a
+ compress() or compress2() call to allocate the destination buffer.
+*/
+
+ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen));
+/*
+ Decompresses the source buffer into the destination buffer. sourceLen is
+ the byte length of the source buffer. Upon entry, destLen is the total size
+ of the destination buffer, which must be large enough to hold the entire
+ uncompressed data. (The size of the uncompressed data must have been saved
+ previously by the compressor and transmitted to the decompressor by some
+ mechanism outside the scope of this compression library.) Upon exit, destLen
+ is the actual size of the uncompressed buffer.
+
+ uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_BUF_ERROR if there was not enough room in the output
+ buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete.
+*/
+
+
+ /* gzip file access functions */
+
+/*
+ This library supports reading and writing files in gzip (.gz) format with
+ an interface similar to that of stdio, using the functions that start with
+ "gz". The gzip format is different from the zlib format. gzip is a gzip
+ wrapper, documented in RFC 1952, wrapped around a deflate stream.
+*/
+
+typedef voidp gzFile; /* opaque gzip file descriptor */
+
+/*
+ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
+
+ Opens a gzip (.gz) file for reading or writing. The mode parameter is as
+ in fopen ("rb" or "wb") but can also include a compression level ("wb9") or
+ a strategy: 'f' for filtered data as in "wb6f", 'h' for Huffman-only
+ compression as in "wb1h", 'R' for run-length encoding as in "wb1R", or 'F'
+ for fixed code compression as in "wb9F". (See the description of
+ deflateInit2 for more information about the strategy parameter.) Also "a"
+ can be used instead of "w" to request that the gzip stream that will be
+ written be appended to the file. "+" will result in an error, since reading
+ and writing to the same gzip file is not supported.
+
+ gzopen can be used to read a file which is not in gzip format; in this
+ case gzread will directly read from the file without decompression.
+
+ gzopen returns NULL if the file could not be opened, if there was
+ insufficient memory to allocate the gzFile state, or if an invalid mode was
+ specified (an 'r', 'w', or 'a' was not provided, or '+' was provided).
+ errno can be checked to determine if the reason gzopen failed was that the
+ file could not be opened.
+*/
+
+ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
+/*
+ gzdopen associates a gzFile with the file descriptor fd. File descriptors
+ are obtained from calls like open, dup, creat, pipe or fileno (if the file
+ has been previously opened with fopen). The mode parameter is as in gzopen.
+
+ The next call of gzclose on the returned gzFile will also close the file
+ descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor
+ fd. If you want to keep fd open, use fd = dup(fd_keep); gz = gzdopen(fd,
+ mode);. The duplicated descriptor should be saved to avoid a leak, since
+ gzdopen does not close fd if it fails.
+
+ gzdopen returns NULL if there was insufficient memory to allocate the
+ gzFile state, if an invalid mode was specified (an 'r', 'w', or 'a' was not
+ provided, or '+' was provided), or if fd is -1. The file descriptor is not
+ used until the next gz* read, write, seek, or close operation, so gzdopen
+ will not detect if fd is invalid (unless fd is -1).
+*/
+
+ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size));
+/*
+ Set the internal buffer size used by this library's functions. The
+ default buffer size is 8192 bytes. This function must be called after
+ gzopen() or gzdopen(), and before any other calls that read or write the
+ file. The buffer memory allocation is always deferred to the first read or
+ write. Two buffers are allocated, either both of the specified size when
+ writing, or one of the specified size and the other twice that size when
+ reading. A larger buffer size of, for example, 64K or 128K bytes will
+ noticeably increase the speed of decompression (reading).
+
+ The new buffer size also affects the maximum length for gzprintf().
+
+ gzbuffer() returns 0 on success, or -1 on failure, such as being called
+ too late.
+*/
+
+ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
+/*
+ Dynamically update the compression level or strategy. See the description
+ of deflateInit2 for the meaning of these parameters.
+
+ gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not
+ opened for writing.
+*/
+
+ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
+/*
+ Reads the given number of uncompressed bytes from the compressed file. If
+ the input file was not in gzip format, gzread copies the given number of
+ bytes into the buffer.
+
+ After reaching the end of a gzip stream in the input, gzread will continue
+ to read, looking for another gzip stream, or failing that, reading the rest
+ of the input file directly without decompression. The entire input file
+ will be read if gzread is called until it returns less than the requested
+ len.
+
+ gzread returns the number of uncompressed bytes actually read, less than
+ len for end of file, or -1 for error.
+*/
+
+ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
+ voidpc buf, unsigned len));
+/*
+ Writes the given number of uncompressed bytes into the compressed file.
+ gzwrite returns the number of uncompressed bytes written or 0 in case of
+ error.
+*/
+
+ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
+/*
+ Converts, formats, and writes the arguments to the compressed file under
+ control of the format string, as in fprintf. gzprintf returns the number of
+ uncompressed bytes actually written, or 0 in case of error. The number of
+ uncompressed bytes written is limited to 8191, or one less than the buffer
+ size given to gzbuffer(). The caller should assure that this limit is not
+ exceeded. If it is exceeded, then gzprintf() will return an error (0) with
+ nothing written. In this case, there may also be a buffer overflow with
+ unpredictable consequences, which is possible only if zlib was compiled with
+ the insecure functions sprintf() or vsprintf() because the secure snprintf()
+ or vsnprintf() functions were not available. This can be determined using
+ zlibCompileFlags().
+*/
+
+ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
+/*
+ Writes the given null-terminated string to the compressed file, excluding
+ the terminating null character.
+
+ gzputs returns the number of characters written, or -1 in case of error.
+*/
+
+ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
+/*
+ Reads bytes from the compressed file until len-1 characters are read, or a
+ newline character is read and transferred to buf, or an end-of-file
+ condition is encountered. If any characters are read or if len == 1, the
+ string is terminated with a null character. If no characters are read due
+ to an end-of-file or len < 1, then the buffer is left untouched.
+
+ gzgets returns buf which is a null-terminated string, or it returns NULL
+ for end-of-file or in case of error. If there was an error, the contents at
+ buf are indeterminate.
+*/
+
+ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
+/*
+ Writes c, converted to an unsigned char, into the compressed file. gzputc
+ returns the value that was written, or -1 in case of error.
+*/
+
+ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
+/*
+ Reads one byte from the compressed file. gzgetc returns this byte or -1
+ in case of end of file or error.
+*/
+
+ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
+/*
+ Push one character back onto the stream to be read as the first character
+ on the next read. At least one character of push-back is allowed.
+ gzungetc() returns the character pushed, or -1 on failure. gzungetc() will
+ fail if c is -1, and may fail if a character has been pushed but not read
+ yet. If gzungetc is used immediately after gzopen or gzdopen, at least the
+ output buffer size of pushed characters is allowed. (See gzbuffer above.)
+ The pushed character will be discarded if the stream is repositioned with
+ gzseek() or gzrewind().
+*/
+
+ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
+/*
+ Flushes all pending output into the compressed file. The parameter flush
+ is as in the deflate() function. The return value is the zlib error number
+ (see function gzerror below). gzflush is only permitted when writing.
+
+ If the flush parameter is Z_FINISH, the remaining data is written and the
+ gzip stream is completed in the output. If gzwrite() is called again, a new
+ gzip stream will be started in the output. gzread() is able to read such
+ concatented gzip streams.
+
+ gzflush should be called only when strictly necessary because it will
+ degrade compression if called too often.
+*/
+
+/*
+ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
+ z_off_t offset, int whence));
+
+ Sets the starting position for the next gzread or gzwrite on the given
+ compressed file. The offset represents a number of bytes in the
+ uncompressed data stream. The whence parameter is defined as in lseek(2);
+ the value SEEK_END is not supported.
+
+ If the file is opened for reading, this function is emulated but can be
+ extremely slow. If the file is opened for writing, only forward seeks are
+ supported; gzseek then compresses a sequence of zeroes up to the new
+ starting position.
+
+ gzseek returns the resulting offset location as measured in bytes from
+ the beginning of the uncompressed stream, or -1 in case of error, in
+ particular if the file is opened for writing and the new starting position
+ would be before the current position.
+*/
+
+ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
+/*
+ Rewinds the given file. This function is supported only for reading.
+
+ gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
+*/
+
+/*
+ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
+
+ Returns the starting position for the next gzread or gzwrite on the given
+ compressed file. This position represents a number of bytes in the
+ uncompressed data stream, and is zero when starting, even if appending or
+ reading a gzip stream from the middle of a file using gzdopen().
+
+ gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
+*/
+
+/*
+ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file));
+
+ Returns the current offset in the file being read or written. This offset
+ includes the count of bytes that precede the gzip stream, for example when
+ appending or when using gzdopen() for reading. When reading, the offset
+ does not include as yet unused buffered input. This information can be used
+ for a progress indicator. On error, gzoffset() returns -1.
+*/
+
+ZEXTERN int ZEXPORT gzeof OF((gzFile file));
+/*
+ Returns true (1) if the end-of-file indicator has been set while reading,
+ false (0) otherwise. Note that the end-of-file indicator is set only if the
+ read tried to go past the end of the input, but came up short. Therefore,
+ just like feof(), gzeof() may return false even if there is no more data to
+ read, in the event that the last read request was for the exact number of
+ bytes remaining in the input file. This will happen if the input file size
+ is an exact multiple of the buffer size.
+
+ If gzeof() returns true, then the read functions will return no more data,
+ unless the end-of-file indicator is reset by gzclearerr() and the input file
+ has grown since the previous end of file was detected.
+*/
+
+ZEXTERN int ZEXPORT gzdirect OF((gzFile file));
+/*
+ Returns true (1) if file is being copied directly while reading, or false
+ (0) if file is a gzip stream being decompressed. This state can change from
+ false to true while reading the input file if the end of a gzip stream is
+ reached, but is followed by data that is not another gzip stream.
+
+ If the input file is empty, gzdirect() will return true, since the input
+ does not contain a gzip stream.
+
+ If gzdirect() is used immediately after gzopen() or gzdopen() it will
+ cause buffers to be allocated to allow reading the file to determine if it
+ is a gzip file. Therefore if gzbuffer() is used, it should be called before
+ gzdirect().
+*/
+
+ZEXTERN int ZEXPORT gzclose OF((gzFile file));
+/*
+ Flushes all pending output if necessary, closes the compressed file and
+ deallocates the (de)compression state. Note that once file is closed, you
+ cannot call gzerror with file, since its structures have been deallocated.
+ gzclose must not be called more than once on the same file, just as free
+ must not be called more than once on the same allocation.
+
+ gzclose will return Z_STREAM_ERROR if file is not valid, Z_ERRNO on a
+ file operation error, or Z_OK on success.
+*/
+
+ZEXTERN int ZEXPORT gzclose_r OF((gzFile file));
+ZEXTERN int ZEXPORT gzclose_w OF((gzFile file));
+/*
+ Same as gzclose(), but gzclose_r() is only for use when reading, and
+ gzclose_w() is only for use when writing or appending. The advantage to
+ using these instead of gzclose() is that they avoid linking in zlib
+ compression or decompression code that is not used when only reading or only
+ writing respectively. If gzclose() is used, then both compression and
+ decompression code will be included the application when linking to a static
+ zlib library.
+*/
+
+ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
+/*
+ Returns the error message for the last error which occurred on the given
+ compressed file. errnum is set to zlib error number. If an error occurred
+ in the file system and not in the compression library, errnum is set to
+ Z_ERRNO and the application may consult errno to get the exact error code.
+
+ The application must not modify the returned string. Future calls to
+ this function may invalidate the previously returned string. If file is
+ closed, then the string previously returned by gzerror will no longer be
+ available.
+
+ gzerror() should be used to distinguish errors from end-of-file for those
+ functions above that do not distinguish those cases in their return values.
+*/
+
+ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
+/*
+ Clears the error and end-of-file flags for file. This is analogous to the
+ clearerr() function in stdio. This is useful for continuing to read a gzip
+ file that is being written concurrently.
+*/
+
+
+ /* checksum functions */
+
+/*
+ These functions are not related to compression but are exported
+ anyway because they might be useful in applications using the compression
+ library.
+*/
+
+ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
+/*
+ Update a running Adler-32 checksum with the bytes buf[0..len-1] and
+ return the updated checksum. If buf is Z_NULL, this function returns the
+ required initial value for the checksum.
+
+ An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
+ much faster.
+
+ Usage example:
+
+ uLong adler = adler32(0L, Z_NULL, 0);
+
+ while (read_buffer(buffer, length) != EOF) {
+ adler = adler32(adler, buffer, length);
+ }
+ if (adler != original_adler) error();
+*/
+
+/*
+ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2,
+ z_off_t len2));
+
+ Combine two Adler-32 checksums into one. For two sequences of bytes, seq1
+ and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for
+ each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of
+ seq1 and seq2 concatenated, requiring only adler1, adler2, and len2.
+*/
+
+ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
+/*
+ Update a running CRC-32 with the bytes buf[0..len-1] and return the
+ updated CRC-32. If buf is Z_NULL, this function returns the required
+ initial value for the for the crc. Pre- and post-conditioning (one's
+ complement) is performed within this function so it shouldn't be done by the
+ application.
+
+ Usage example:
+
+ uLong crc = crc32(0L, Z_NULL, 0);
+
+ while (read_buffer(buffer, length) != EOF) {
+ crc = crc32(crc, buffer, length);
+ }
+ if (crc != original_crc) error();
+*/
+
+/*
+ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2));
+
+ Combine two CRC-32 check values into one. For two sequences of bytes,
+ seq1 and seq2 with lengths len1 and len2, CRC-32 check values were
+ calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32
+ check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and
+ len2.
+*/
+
+
+ /* various hacks, don't look :) */
+
+/* deflateInit and inflateInit are macros to allow checking the zlib version
+ * and the compiler's view of z_stream:
+ */
+ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
+ const char *version, int stream_size));
+ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
+ const char *version, int stream_size));
+ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
+ int windowBits, int memLevel,
+ int strategy, const char *version,
+ int stream_size));
+ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
+ const char *version, int stream_size));
+ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
+ unsigned char FAR *window,
+ const char *version,
+ int stream_size));
+#define deflateInit(strm, level) \
+ deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream))
+#define inflateInit(strm) \
+ inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream))
+#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
+ deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
+ (strategy), ZLIB_VERSION, sizeof(z_stream))
+#define inflateInit2(strm, windowBits) \
+ inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream))
+#define inflateBackInit(strm, windowBits, window) \
+ inflateBackInit_((strm), (windowBits), (window), \
+ ZLIB_VERSION, sizeof(z_stream))
+
+/* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or
+ * change the regular functions to 64 bits if _FILE_OFFSET_BITS is 64 (if
+ * both are true, the application gets the *64 functions, and the regular
+ * functions are changed to 64 bits) -- in case these are set on systems
+ * without large file support, _LFS64_LARGEFILE must also be true
+ */
+#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
+ ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
+ ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
+ ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
+ ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile));
+ ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t));
+ ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t));
+#endif
+
+#if !defined(ZLIB_INTERNAL) && _FILE_OFFSET_BITS-0 == 64 && _LFS64_LARGEFILE-0
+# define gzopen gzopen64
+# define gzseek gzseek64
+# define gztell gztell64
+# define gzoffset gzoffset64
+# define adler32_combine adler32_combine64
+# define crc32_combine crc32_combine64
+# ifdef _LARGEFILE64_SOURCE
+ ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
+ ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int));
+ ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile));
+ ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile));
+ ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
+ ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
+# endif
+#else
+ ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *));
+ ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile, z_off_t, int));
+ ZEXTERN z_off_t ZEXPORT gztell OF((gzFile));
+ ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile));
+ ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
+ ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
+#endif
+
+/* hack for buggy compilers */
+#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL)
+ struct internal_state {int dummy;};
+#endif
+
+/* undocumented functions */
+ZEXTERN const char * ZEXPORT zError OF((int));
+ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
+ZEXTERN const unsigned long FAR * ZEXPORT get_crc_table OF((void));
+ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int));
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZLIB_H */
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/zutil.c b/jdk/src/share/native/java/util/zip/zlib-1.2.5/zutil.c
new file mode 100644
index 0000000..041aa97
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/zutil.c
@@ -0,0 +1,342 @@
+/*
+ * 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.
+ */
+
+/* zutil.c -- target dependent utility functions for the compression library
+ * Copyright (C) 1995-2005, 2010 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* @(#) $Id$ */
+
+#include "zutil.h"
+
+#ifndef NO_DUMMY_DECL
+struct internal_state {int dummy;}; /* for buggy compilers */
+#endif
+
+const char * const z_errmsg[10] = {
+"need dictionary", /* Z_NEED_DICT 2 */
+"stream end", /* Z_STREAM_END 1 */
+"", /* Z_OK 0 */
+"file error", /* Z_ERRNO (-1) */
+"stream error", /* Z_STREAM_ERROR (-2) */
+"data error", /* Z_DATA_ERROR (-3) */
+"insufficient memory", /* Z_MEM_ERROR (-4) */
+"buffer error", /* Z_BUF_ERROR (-5) */
+"incompatible version",/* Z_VERSION_ERROR (-6) */
+""};
+
+
+const char * ZEXPORT zlibVersion()
+{
+ return ZLIB_VERSION;
+}
+
+uLong ZEXPORT zlibCompileFlags()
+{
+ uLong flags;
+
+ flags = 0;
+ switch ((int)(sizeof(uInt))) {
+ case 2: break;
+ case 4: flags += 1; break;
+ case 8: flags += 2; break;
+ default: flags += 3;
+ }
+ switch ((int)(sizeof(uLong))) {
+ case 2: break;
+ case 4: flags += 1 << 2; break;
+ case 8: flags += 2 << 2; break;
+ default: flags += 3 << 2;
+ }
+ switch ((int)(sizeof(voidpf))) {
+ case 2: break;
+ case 4: flags += 1 << 4; break;
+ case 8: flags += 2 << 4; break;
+ default: flags += 3 << 4;
+ }
+ switch ((int)(sizeof(z_off_t))) {
+ case 2: break;
+ case 4: flags += 1 << 6; break;
+ case 8: flags += 2 << 6; break;
+ default: flags += 3 << 6;
+ }
+#ifdef DEBUG
+ flags += 1 << 8;
+#endif
+#if defined(ASMV) || defined(ASMINF)
+ flags += 1 << 9;
+#endif
+#ifdef ZLIB_WINAPI
+ flags += 1 << 10;
+#endif
+#ifdef BUILDFIXED
+ flags += 1 << 12;
+#endif
+#ifdef DYNAMIC_CRC_TABLE
+ flags += 1 << 13;
+#endif
+#ifdef NO_GZCOMPRESS
+ flags += 1L << 16;
+#endif
+#ifdef NO_GZIP
+ flags += 1L << 17;
+#endif
+#ifdef PKZIP_BUG_WORKAROUND
+ flags += 1L << 20;
+#endif
+#ifdef FASTEST
+ flags += 1L << 21;
+#endif
+#ifdef STDC
+# ifdef NO_vsnprintf
+ flags += 1L << 25;
+# ifdef HAS_vsprintf_void
+ flags += 1L << 26;
+# endif
+# else
+# ifdef HAS_vsnprintf_void
+ flags += 1L << 26;
+# endif
+# endif
+#else
+ flags += 1L << 24;
+# ifdef NO_snprintf
+ flags += 1L << 25;
+# ifdef HAS_sprintf_void
+ flags += 1L << 26;
+# endif
+# else
+# ifdef HAS_snprintf_void
+ flags += 1L << 26;
+# endif
+# endif
+#endif
+ return flags;
+}
+
+#ifdef DEBUG
+
+# ifndef verbose
+# define verbose 0
+# endif
+int ZLIB_INTERNAL z_verbose = verbose;
+
+void ZLIB_INTERNAL z_error (m)
+ char *m;
+{
+ fprintf(stderr, "%s\n", m);
+ exit(1);
+}
+#endif
+
+/* exported to allow conversion of error code to string for compress() and
+ * uncompress()
+ */
+const char * ZEXPORT zError(err)
+ int err;
+{
+ return ERR_MSG(err);
+}
+
+#if defined(_WIN32_WCE)
+ /* The Microsoft C Run-Time Library for Windows CE doesn't have
+ * errno. We define it as a global variable to simplify porting.
+ * Its value is always 0 and should not be used.
+ */
+ int errno = 0;
+#endif
+
+#ifndef HAVE_MEMCPY
+
+void ZLIB_INTERNAL zmemcpy(dest, source, len)
+ Bytef* dest;
+ const Bytef* source;
+ uInt len;
+{
+ if (len == 0) return;
+ do {
+ *dest++ = *source++; /* ??? to be unrolled */
+ } while (--len != 0);
+}
+
+int ZLIB_INTERNAL zmemcmp(s1, s2, len)
+ const Bytef* s1;
+ const Bytef* s2;
+ uInt len;
+{
+ uInt j;
+
+ for (j = 0; j < len; j++) {
+ if (s1[j] != s2[j]) return 2*(s1[j] > s2[j])-1;
+ }
+ return 0;
+}
+
+void ZLIB_INTERNAL zmemzero(dest, len)
+ Bytef* dest;
+ uInt len;
+{
+ if (len == 0) return;
+ do {
+ *dest++ = 0; /* ??? to be unrolled */
+ } while (--len != 0);
+}
+#endif
+
+
+#ifdef SYS16BIT
+
+#ifdef __TURBOC__
+/* Turbo C in 16-bit mode */
+
+# define MY_ZCALLOC
+
+/* Turbo C malloc() does not allow dynamic allocation of 64K bytes
+ * and farmalloc(64K) returns a pointer with an offset of 8, so we
+ * must fix the pointer. Warning: the pointer must be put back to its
+ * original form in order to free it, use zcfree().
+ */
+
+#define MAX_PTR 10
+/* 10*64K = 640K */
+
+local int next_ptr = 0;
+
+typedef struct ptr_table_s {
+ voidpf org_ptr;
+ voidpf new_ptr;
+} ptr_table;
+
+local ptr_table table[MAX_PTR];
+/* This table is used to remember the original form of pointers
+ * to large buffers (64K). Such pointers are normalized with a zero offset.
+ * Since MSDOS is not a preemptive multitasking OS, this table is not
+ * protected from concurrent access. This hack doesn't work anyway on
+ * a protected system like OS/2. Use Microsoft C instead.
+ */
+
+voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size)
+{
+ voidpf buf = opaque; /* just to make some compilers happy */
+ ulg bsize = (ulg)items*size;
+
+ /* If we allocate less than 65520 bytes, we assume that farmalloc
+ * will return a usable pointer which doesn't have to be normalized.
+ */
+ if (bsize < 65520L) {
+ buf = farmalloc(bsize);
+ if (*(ush*)&buf != 0) return buf;
+ } else {
+ buf = farmalloc(bsize + 16L);
+ }
+ if (buf == NULL || next_ptr >= MAX_PTR) return NULL;
+ table[next_ptr].org_ptr = buf;
+
+ /* Normalize the pointer to seg:0 */
+ *((ush*)&buf+1) += ((ush)((uch*)buf-0) + 15) >> 4;
+ *(ush*)&buf = 0;
+ table[next_ptr++].new_ptr = buf;
+ return buf;
+}
+
+void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
+{
+ int n;
+ if (*(ush*)&ptr != 0) { /* object < 64K */
+ farfree(ptr);
+ return;
+ }
+ /* Find the original pointer */
+ for (n = 0; n < next_ptr; n++) {
+ if (ptr != table[n].new_ptr) continue;
+
+ farfree(table[n].org_ptr);
+ while (++n < next_ptr) {
+ table[n-1] = table[n];
+ }
+ next_ptr--;
+ return;
+ }
+ ptr = opaque; /* just to make some compilers happy */
+ Assert(0, "zcfree: ptr not found");
+}
+
+#endif /* __TURBOC__ */
+
+
+#ifdef M_I86
+/* Microsoft C in 16-bit mode */
+
+# define MY_ZCALLOC
+
+#if (!defined(_MSC_VER) || (_MSC_VER <= 600))
+# define _halloc halloc
+# define _hfree hfree
+#endif
+
+voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, uInt items, uInt size)
+{
+ if (opaque) opaque = 0; /* to make compiler happy */
+ return _halloc((long)items, size);
+}
+
+void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
+{
+ if (opaque) opaque = 0; /* to make compiler happy */
+ _hfree(ptr);
+}
+
+#endif /* M_I86 */
+
+#endif /* SYS16BIT */
+
+
+#ifndef MY_ZCALLOC /* Any system without a special alloc function */
+
+#ifndef STDC
+extern voidp malloc OF((uInt size));
+extern voidp calloc OF((uInt items, uInt size));
+extern void free OF((voidpf ptr));
+#endif
+
+voidpf ZLIB_INTERNAL zcalloc (opaque, items, size)
+ voidpf opaque;
+ unsigned items;
+ unsigned size;
+{
+ if (opaque) items += size - size; /* make compiler happy */
+ return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) :
+ (voidpf)calloc(items, size);
+}
+
+void ZLIB_INTERNAL zcfree (opaque, ptr)
+ voidpf opaque;
+ voidpf ptr;
+{
+ free(ptr);
+ if (opaque) return; /* make compiler happy */
+}
+
+#endif /* MY_ZCALLOC */
diff --git a/jdk/src/share/native/java/util/zip/zlib-1.2.5/zutil.h b/jdk/src/share/native/java/util/zip/zlib-1.2.5/zutil.h
new file mode 100644
index 0000000..1c4e8d3
--- /dev/null
+++ b/jdk/src/share/native/java/util/zip/zlib-1.2.5/zutil.h
@@ -0,0 +1,298 @@
+/*
+ * 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.
+ */
+
+/* zutil.h -- internal interface and configuration of the compression library
+ * Copyright (C) 1995-2010 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* WARNING: this file should *not* be used by applications. It is
+ part of the implementation of the compression library and is
+ subject to change. Applications should only use zlib.h.
+ */
+
+/* @(#) $Id$ */
+
+#ifndef ZUTIL_H
+#define ZUTIL_H
+
+#if ((__GNUC__-0) * 10 + __GNUC_MINOR__-0 >= 33) && !defined(NO_VIZ)
+# define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
+#else
+# define ZLIB_INTERNAL
+#endif
+
+#include "zlib.h"
+
+#ifdef STDC
+# if !(defined(_WIN32_WCE) && defined(_MSC_VER))
+# include <stddef.h>
+# endif
+# include <string.h>
+# include <stdlib.h>
+#endif
+
+#ifndef local
+# define local static
+#endif
+/* compile with -Dlocal if your debugger can't find static symbols */
+
+typedef unsigned char uch;
+typedef uch FAR uchf;
+typedef unsigned short ush;
+typedef ush FAR ushf;
+typedef unsigned long ulg;
+
+extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
+/* (size given to avoid silly warnings with Visual C++) */
+
+#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
+
+#define ERR_RETURN(strm,err) \
+ return (strm->msg = (char*)ERR_MSG(err), (err))
+/* To be used only when the state is known to be valid */
+
+ /* common constants */
+
+#ifndef DEF_WBITS
+# define DEF_WBITS MAX_WBITS
+#endif
+/* default windowBits for decompression. MAX_WBITS is for compression only */
+
+#if MAX_MEM_LEVEL >= 8
+# define DEF_MEM_LEVEL 8
+#else
+# define DEF_MEM_LEVEL MAX_MEM_LEVEL
+#endif
+/* default memLevel */
+
+#define STORED_BLOCK 0
+#define STATIC_TREES 1
+#define DYN_TREES 2
+/* The three kinds of block type */
+
+#define MIN_MATCH 3
+#define MAX_MATCH 258
+/* The minimum and maximum match lengths */
+
+#define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */
+
+ /* target dependencies */
+
+#if defined(MSDOS) || (defined(WINDOWS) && !defined(WIN32))
+# define OS_CODE 0x00
+# if defined(__TURBOC__) || defined(__BORLANDC__)
+# if (__STDC__ == 1) && (defined(__LARGE__) || defined(__COMPACT__))
+ /* Allow compilation with ANSI keywords only enabled */
+ void _Cdecl farfree( void *block );
+ void *_Cdecl farmalloc( unsigned long nbytes );
+# else
+# include <alloc.h>
+# endif
+# else /* MSC or DJGPP */
+# include <malloc.h>
+# endif
+#endif
+
+#ifdef AMIGA
+# define OS_CODE 0x01
+#endif
+
+#if defined(VAXC) || defined(VMS)
+# define OS_CODE 0x02
+# define F_OPEN(name, mode) \
+ fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
+#endif
+
+#if defined(ATARI) || defined(atarist)
+# define OS_CODE 0x05
+#endif
+
+#ifdef OS2
+# define OS_CODE 0x06
+# ifdef M_I86
+# include <malloc.h>
+# endif
+#endif
+
+#if defined(MACOS) || defined(TARGET_OS_MAC)
+# define OS_CODE 0x07
+# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
+# include <unix.h> /* for fdopen */
+# else
+# ifndef fdopen
+# define fdopen(fd,mode) NULL /* No fdopen() */
+# endif
+# endif
+#endif
+
+#ifdef TOPS20
+# define OS_CODE 0x0a
+#endif
+
+#ifdef WIN32
+# ifndef __CYGWIN__ /* Cygwin is Unix, not Win32 */
+# define OS_CODE 0x0b
+# endif
+#endif
+
+#ifdef __50SERIES /* Prime/PRIMOS */
+# define OS_CODE 0x0f
+#endif
+
+#if defined(_BEOS_) || defined(RISCOS)
+# define fdopen(fd,mode) NULL /* No fdopen() */
+#endif
+
+#if (defined(_MSC_VER) && (_MSC_VER > 600)) && !defined __INTERIX
+# if defined(_WIN32_WCE)
+# define fdopen(fd,mode) NULL /* No fdopen() */
+# ifndef _PTRDIFF_T_DEFINED
+ typedef int ptrdiff_t;
+# define _PTRDIFF_T_DEFINED
+# endif
+# else
+# define fdopen(fd,type) _fdopen(fd,type)
+# endif
+#endif
+
+#if defined(__BORLANDC__)
+ #pragma warn -8004
+ #pragma warn -8008
+ #pragma warn -8066
+#endif
+
+/* provide prototypes for these when building zlib without LFS */
+#if !defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0
+ ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
+ ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
+#endif
+
+ /* common defaults */
+
+#ifndef OS_CODE
+# define OS_CODE 0x03 /* assume Unix */
+#endif
+
+#ifndef F_OPEN
+# define F_OPEN(name, mode) fopen((name), (mode))
+#endif
+
+ /* functions */
+
+#if defined(STDC99) || (defined(__TURBOC__) && __TURBOC__ >= 0x550)
+# ifndef HAVE_VSNPRINTF
+# define HAVE_VSNPRINTF
+# endif
+#endif
+#if defined(__CYGWIN__)
+# ifndef HAVE_VSNPRINTF
+# define HAVE_VSNPRINTF
+# endif
+#endif
+#ifndef HAVE_VSNPRINTF
+# ifdef MSDOS
+ /* vsnprintf may exist on some MS-DOS compilers (DJGPP?),
+ but for now we just assume it doesn't. */
+# define NO_vsnprintf
+# endif
+# ifdef __TURBOC__
+# define NO_vsnprintf
+# endif
+# ifdef WIN32
+ /* In Win32, vsnprintf is available as the "non-ANSI" _vsnprintf. */
+# if !defined(vsnprintf) && !defined(NO_vsnprintf)
+# if !defined(_MSC_VER) || ( defined(_MSC_VER) && _MSC_VER < 1500 )
+# define vsnprintf _vsnprintf
+# endif
+# endif
+# endif
+# ifdef __SASC
+# define NO_vsnprintf
+# endif
+#endif
+#ifdef VMS
+# define NO_vsnprintf
+#endif
+
+#if defined(pyr)
+# define NO_MEMCPY
+#endif
+#if defined(SMALL_MEDIUM) && !defined(_MSC_VER) && !defined(__SC__)
+ /* Use our own functions for small and medium model with MSC <= 5.0.
+ * You may have to use the same strategy for Borland C (untested).
+ * The __SC__ check is for Symantec.
+ */
+# define NO_MEMCPY
+#endif
+#if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY)
+# define HAVE_MEMCPY
+#endif
+#ifdef HAVE_MEMCPY
+# ifdef SMALL_MEDIUM /* MSDOS small or medium model */
+# define zmemcpy _fmemcpy
+# define zmemcmp _fmemcmp
+# define zmemzero(dest, len) _fmemset(dest, 0, len)
+# else
+# define zmemcpy memcpy
+# define zmemcmp memcmp
+# define zmemzero(dest, len) memset(dest, 0, len)
+# endif
+#else
+ void ZLIB_INTERNAL zmemcpy OF((Bytef* dest, const Bytef* source, uInt len));
+ int ZLIB_INTERNAL zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len));
+ void ZLIB_INTERNAL zmemzero OF((Bytef* dest, uInt len));
+#endif
+
+/* Diagnostic functions */
+#ifdef DEBUG
+# include <stdio.h>
+ extern int ZLIB_INTERNAL z_verbose;
+ extern void ZLIB_INTERNAL z_error OF((char *m));
+# define Assert(cond,msg) {if(!(cond)) z_error(msg);}
+# define Trace(x) {if (z_verbose>=0) fprintf x ;}
+# define Tracev(x) {if (z_verbose>0) fprintf x ;}
+# define Tracevv(x) {if (z_verbose>1) fprintf x ;}
+# define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;}
+# define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;}
+#else
+# define Assert(cond,msg)
+# define Trace(x)
+# define Tracev(x)
+# define Tracevv(x)
+# define Tracec(c,x)
+# define Tracecv(c,x)
+#endif
+
+
+voidpf ZLIB_INTERNAL zcalloc OF((voidpf opaque, unsigned items,
+ unsigned size));
+void ZLIB_INTERNAL zcfree OF((voidpf opaque, voidpf ptr));
+
+#define ZALLOC(strm, items, size) \
+ (*((strm)->zalloc))((strm)->opaque, (items), (size))
+#define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
+#define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
+
+#endif /* ZUTIL_H */
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_types.h b/jdk/src/share/native/sun/awt/medialib/mlib_types.h
index b917b7e..b35375b 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_types.h
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_types.h
@@ -59,13 +59,8 @@ typedef double mlib_d64;
#if defined(__SUNPRO_C) || defined(__SUNPRO_CC) || defined(__GNUC__)
-#if defined(__linux__)
-#include <stdint.h> /* for uintptr_t */
-#include <malloc.h> /* for ptrdiff_t */
-#else
-#include <link.h> /* for uintptr_t */
-#include <stddef.h> /* for ptrdiff_t */
-#endif /* __linux__ */
+#include <stdint.h>
+#include <stddef.h>
#ifdef MLIB_OS64BIT
diff --git a/jdk/src/share/native/sun/management/HotSpotDiagnostic.c b/jdk/src/share/native/sun/management/HotSpotDiagnostic.c
index bf558c3..c970dbb 100644
--- a/jdk/src/share/native/sun/management/HotSpotDiagnostic.c
+++ b/jdk/src/share/native/sun/management/HotSpotDiagnostic.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2006, 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
@@ -34,3 +34,141 @@ Java_sun_management_HotSpotDiagnostic_dumpHeap
{
jmm_interface->DumpHeap0(env, outputfile, live);
}
+
+JNIEXPORT jobjectArray JNICALL
+Java_sun_management_HotSpotDiagnostic_getDiagnosticCommands0
+ (JNIEnv *env, jobject dummy)
+{
+ if ((jmm_version > JMM_VERSION_1_2_1)
+ || (jmm_version == JMM_VERSION_1_2 && ((jmm_version&0xFF)>=2))) {
+ return jmm_interface->GetDiagnosticCommands(env);
+ }
+ JNU_ThrowByName(env, "java/lang/UnsupportedOperationException",
+ "Diagnostic commands are not supported by this VM");
+}
+
+jobject getDiagnosticCommandArgumentInfoArray(JNIEnv *env, jstring command,
+ int num_arg) {
+ int i;
+ jobject obj;
+ jobjectArray result;
+ dcmdArgInfo* dcmd_arg_info_array;
+ jclass dcmdArgInfoCls;
+ jclass arraysCls;
+ jmethodID mid;
+ jobject resultList;
+
+ dcmd_arg_info_array = (dcmdArgInfo*) malloc(num_arg * sizeof(dcmdArgInfo));
+ if (dcmd_arg_info_array == NULL) {
+ return NULL;
+ }
+ jmm_interface->GetDiagnosticCommandArgumentsInfo(env, command,
+ dcmd_arg_info_array);
+ dcmdArgInfoCls = (*env)->FindClass(env,
+ "com/sun/management/DiagnosticCommandArgumentInfo");
+ result = (*env)->NewObjectArray(env, num_arg, dcmdArgInfoCls, NULL);
+ if (result == NULL) {
+ free(dcmd_arg_info_array);
+ return NULL;
+ }
+ for (i=0; i<num_arg; i++) {
+ obj = JNU_NewObjectByName(env,
+ "com/sun/management/DiagnosticCommandArgumentInfo",
+ "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZI)V",
+ (*env)->NewStringUTF(env,dcmd_arg_info_array[i].name),
+ (*env)->NewStringUTF(env,dcmd_arg_info_array[i].description),
+ (*env)->NewStringUTF(env,dcmd_arg_info_array[i].type),
+ dcmd_arg_info_array[i].default_string == NULL ? NULL:
+ (*env)->NewStringUTF(env, dcmd_arg_info_array[i].default_string),
+ dcmd_arg_info_array[i].mandatory,
+ dcmd_arg_info_array[i].option,
+ dcmd_arg_info_array[i].position);
+ if (obj == NULL) {
+ free(dcmd_arg_info_array);
+ return NULL;
+ }
+ (*env)->SetObjectArrayElement(env, result, i, obj);
+ }
+ free(dcmd_arg_info_array);
+ arraysCls = (*env)->FindClass(env, "java/util/Arrays");
+ mid = (*env)->GetStaticMethodID(env, arraysCls,
+ "asList", "([Ljava/lang/Object;)Ljava/util/List;");
+ resultList = (*env)->CallStaticObjectMethod(env, arraysCls, mid, result);
+ return resultList;
+}
+
+/* Throws IllegalArgumentException if at least one the diagnostic command
+ * passed in argument is not supported by the JVM
+ */
+JNIEXPORT jobjectArray JNICALL
+Java_sun_management_HotSpotDiagnostic_getDiagnosticCommandInfo0
+(JNIEnv *env, jobject dummy, jobjectArray commands)
+{
+ int i;
+ jclass dcmdInfoCls;
+ jobject result;
+ jobjectArray args;
+ jobject obj;
+
+ if (commands == NULL) {
+ JNU_ThrowNullPointerException(env, "Invalid String Array");
+ return NULL;
+ }
+ if ((jmm_version > JMM_VERSION_1_2_1)
+ || (jmm_version == JMM_VERSION_1_2 && ((jmm_version&0xFF)>=2))) {
+ jsize num_commands = (*env)->GetArrayLength(env, commands);
+ dcmdInfo* dcmd_info_array = (dcmdInfo*) malloc(num_commands *
+ sizeof(dcmdInfo));
+ if (dcmd_info_array == NULL) {
+ JNU_ThrowOutOfMemoryError(env, NULL);
+ }
+ jmm_interface->GetDiagnosticCommandInfo(env, commands, dcmd_info_array);
+ dcmdInfoCls = (*env)->FindClass(env,
+ "com/sun/management/DiagnosticCommandInfo");
+ result = (*env)->NewObjectArray(env, num_commands, dcmdInfoCls, NULL);
+ if (result == NULL) {
+ free(dcmd_info_array);
+ JNU_ThrowOutOfMemoryError(env, 0);
+ }
+ for (i=0; i<num_commands; i++) {
+ args = getDiagnosticCommandArgumentInfoArray(env,
+ (*env)->GetObjectArrayElement(env,commands,i),
+ dcmd_info_array[i].num_arguments);
+ if (args == NULL) {
+ free(dcmd_info_array);
+ JNU_ThrowOutOfMemoryError(env, 0);
+ }
+ obj = JNU_NewObjectByName(env,
+ "com/sun/management/DiagnosticCommandInfo",
+ "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/util/List;)V",
+ (*env)->NewStringUTF(env,dcmd_info_array[i].name),
+ (*env)->NewStringUTF(env,dcmd_info_array[i].description),
+ (*env)->NewStringUTF(env,dcmd_info_array[i].impact),
+ dcmd_info_array[i].enabled,
+ args);
+ if (obj == NULL) {
+ free(dcmd_info_array);
+ JNU_ThrowOutOfMemoryError(env, 0);
+ }
+ (*env)->SetObjectArrayElement(env, result, i, obj);
+ }
+ free(dcmd_info_array);
+ return result;
+ }
+ JNU_ThrowByName(env, "java/lang/UnsupportedOperationException",
+ "Diagnostic commands are not supported by this VM");
+}
+
+/* Throws IllegalArgumentException if the diagnostic command
+ * passed in argument is not supported by the JVM
+ */
+JNIEXPORT jstring JNICALL
+Java_sun_management_HotSpotDiagnostic_executeDiagnosticCommand0
+(JNIEnv *env, jobject dummy, jstring command) {
+ if((jmm_version > JMM_VERSION_1_2_1 )
+ || (jmm_version == JMM_VERSION_1_2 && ((jmm_version&0xFF)>=2))) {
+ return jmm_interface->ExecuteDiagnosticCommand(env, command);
+ }
+ JNU_ThrowByName(env, "java/lang/UnsupportedOperationException",
+ "Diagnostic commands are not supported by this VM");
+}
diff --git a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c
index 3408023..82cb5af 100644
--- a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c
+++ b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c
@@ -374,7 +374,7 @@ CK_DATE * jDateObjectPtrToCKDatePtr(JNIEnv *env, jobject jDate)
return NULL;
}
- for (i = 0; (i < ckLength) && (i < 4) ; i++) {
+ for (i = 0; (i < ckLength) && (i < 2) ; i++) {
ckpDate->month[i] = jCharToCKChar(jTempChars[i]);
}
free(jTempChars);
@@ -398,7 +398,7 @@ CK_DATE * jDateObjectPtrToCKDatePtr(JNIEnv *env, jobject jDate)
return NULL;
}
- for (i = 0; (i < ckLength) && (i < 4) ; i++) {
+ for (i = 0; (i < ckLength) && (i < 2) ; i++) {
ckpDate->day[i] = jCharToCKChar(jTempChars[i]);
}
free(jTempChars);
diff --git a/jdk/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h b/jdk/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h
index bf3adf8..81e79b9 100644
--- a/jdk/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h
+++ b/jdk/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
*/
/* Copyright (c) 2002 Graz University of Technology. All rights reserved.
@@ -96,8 +96,8 @@
#define P11_ENABLE_C_CLOSESESSION
#undef P11_ENABLE_C_CLOSEALLSESSIONS
#define P11_ENABLE_C_GETSESSIONINFO
-#undef P11_ENABLE_C_GETOPERATIONSTATE
-#undef P11_ENABLE_C_SETOPERATIONSTATE
+#define P11_ENABLE_C_GETOPERATIONSTATE
+#define P11_ENABLE_C_SETOPERATIONSTATE
#define P11_ENABLE_C_LOGIN
#define P11_ENABLE_C_LOGOUT
#define P11_ENABLE_C_CREATEOBJECT
diff --git a/jdk/src/solaris/classes/java/io/FileDescriptor.java b/jdk/src/solaris/classes/java/io/FileDescriptor.java
index 9e7390d..1f0d086 100644
--- a/jdk/src/solaris/classes/java/io/FileDescriptor.java
+++ b/jdk/src/solaris/classes/java/io/FileDescriptor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2008, 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,7 +25,8 @@
package java.io;
-import java.util.concurrent.atomic.AtomicInteger;
+import java.util.ArrayList;
+import java.util.List;
/**
* Instances of the file descriptor class serve as an opaque handle
@@ -46,12 +47,9 @@ public final class FileDescriptor {
private int fd;
- /**
- * A counter for tracking the FIS/FOS/RAF instances that
- * use this FileDescriptor. The FIS/FOS.finalize() will not release
- * the FileDescriptor if it is still under user by a stream.
- */
- private AtomicInteger useCount;
+ private Closeable parent;
+ private List<Closeable> otherParents;
+ private boolean closed;
/**
* Constructs an (invalid) FileDescriptor
@@ -59,12 +57,10 @@ public final class FileDescriptor {
*/
public /**/ FileDescriptor() {
fd = -1;
- useCount = new AtomicInteger();
}
private /* */ FileDescriptor(int fd) {
this.fd = fd;
- useCount = new AtomicInteger();
}
/**
@@ -164,13 +160,67 @@ public final class FileDescriptor {
);
}
- // package private methods used by FIS, FOS and RAF
+ /*
+ * Package private methods to track referents.
+ * If multiple streams point to the same FileDescriptor, we cycle
+ * through the list of all referents and call close()
+ */
- int incrementAndGetUseCount() {
- return useCount.incrementAndGet();
+ /**
+ * Attach a Closeable to this FD for tracking.
+ * parent reference is added to otherParents when
+ * needed to make closeAll simpler.
+ */
+ synchronized void attach(Closeable c) {
+ if (parent == null) {
+ // first caller gets to do this
+ parent = c;
+ } else if (otherParents == null) {
+ otherParents = new ArrayList<>();
+ otherParents.add(parent);
+ otherParents.add(c);
+ } else {
+ otherParents.add(c);
+ }
}
- int decrementAndGetUseCount() {
- return useCount.decrementAndGet();
+ /**
+ * Cycle through all Closeables sharing this FD and call
+ * close() on each one.
+ *
+ * The caller closeable gets to call close0().
+ */
+ @SuppressWarnings("try")
+ synchronized void closeAll(Closeable releaser) throws IOException {
+ if (!closed) {
+ closed = true;
+ IOException ioe = null;
+ try (Closeable c = releaser) {
+ if (otherParents != null) {
+ for (Closeable referent : otherParents) {
+ try {
+ referent.close();
+ } catch(IOException x) {
+ if (ioe == null) {
+ ioe = x;
+ } else {
+ ioe.addSuppressed(x);
+ }
+ }
+ }
+ }
+ } catch(IOException ex) {
+ /*
+ * If releaser close() throws IOException
+ * add other exceptions as suppressed.
+ */
+ if (ioe != null)
+ ex.addSuppressed(ioe);
+ ioe = ex;
+ } finally {
+ if (ioe != null)
+ throw ioe;
+ }
+ }
}
}
diff --git a/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java b/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java
index bb60c71..c5cfbaa 100644
--- a/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java
+++ b/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java
@@ -91,6 +91,7 @@ final class ProcessEnvironment
}
/* Only for use by ProcessBuilder.environment() */
+ @SuppressWarnings("unchecked")
static Map<String,String> environment() {
return new StringEnvironment
((Map<Variable,Value>)(theEnvironment.clone()));
diff --git a/jdk/src/solaris/classes/sun/awt/X11/GtkFileDialogPeer.java b/jdk/src/solaris/classes/sun/awt/X11/GtkFileDialogPeer.java
index 41f5398..ebd434a 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/GtkFileDialogPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/GtkFileDialogPeer.java
@@ -76,9 +76,12 @@ class GtkFileDialogPeer extends XDialogPeer implements FileDialogPeer {
accessor.setFiles(fd, null, null);
} else {
// Fix 6987233: add the trailing slash if it's absent
- accessor.setDirectory(fd, directory +
- (directory.endsWith(File.separator) ?
- "" : File.separator));
+ String with_separator = directory;
+ if (directory != null) {
+ with_separator = directory.endsWith(File.separator) ?
+ directory : (directory + File.separator);
+ }
+ accessor.setDirectory(fd, with_separator);
accessor.setFile(fd, filenames[0]);
accessor.setFiles(fd, directory, filenames);
}
diff --git a/jdk/src/solaris/classes/sun/awt/X11/ListHelper.java b/jdk/src/solaris/classes/sun/awt/X11/ListHelper.java
index f959137..9301eaf 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/ListHelper.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/ListHelper.java
@@ -29,10 +29,8 @@ import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseWheelEvent;
import java.awt.event.AdjustmentEvent;
-import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
-import sun.awt.motif.X11FontMetrics;
import sun.util.logging.PlatformLogger;
// FIXME: implement multi-select
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XClipboard.java b/jdk/src/solaris/classes/sun/awt/X11/XClipboard.java
index 9a0a6c9..44ee617 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XClipboard.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XClipboard.java
@@ -26,6 +26,7 @@
package sun.awt.X11;
import java.awt.datatransfer.Transferable;
+import java.awt.datatransfer.DataFlavor;
import java.util.SortedMap;
import java.io.IOException;
import java.security.AccessController;
@@ -83,7 +84,8 @@ public final class XClipboard extends SunClipboard implements OwnershipListener
}
protected synchronized void setContentsNative(Transferable contents) {
- SortedMap formatMap = DataTransferer.getInstance().getFormatsForTransferable
+ SortedMap<Long,DataFlavor> formatMap =
+ DataTransferer.getInstance().getFormatsForTransferable
(contents, DataTransferer.adaptFlavorMap(flavorMap));
long[] formats = DataTransferer.keysToLongArray(formatMap);
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java
index 9e7ac7c..2d8a528 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java
@@ -35,7 +35,6 @@ import java.awt.image.ImageProducer;
import java.awt.image.VolatileImage;
import java.awt.peer.*;
import sun.awt.*;
-import sun.awt.motif.X11FontMetrics;
import java.lang.reflect.*;
import sun.util.logging.PlatformLogger;
import java.util.*;
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java
index 1ab53e6..4d75d21 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java
@@ -34,8 +34,6 @@ import java.awt.image.VolatileImage;
import java.awt.peer.*;
import sun.java2d.pipe.Region;
import sun.awt.*;
-import sun.awt.motif.MToolkit;
-import sun.awt.motif.X11FontMetrics;
public class XEmbedChildProxyPeer implements ComponentPeer, XEventDispatcher{
XEmbeddingContainer container;
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java b/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java
index 9f29d73..e49f783 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java
@@ -51,6 +51,7 @@ import javax.swing.UIDefaults;
import sun.awt.*;
import sun.font.FontConfigManager;
import sun.font.FontManager;
+import sun.java2d.SunGraphicsEnvironment;
import sun.misc.PerformanceLogger;
import sun.print.PrintJob2D;
import sun.security.action.GetBooleanAction;
@@ -109,7 +110,7 @@ public final class XToolkit extends UNIXToolkit implements Runnable {
static int awt_multiclick_time;
static boolean securityWarningEnabled;
- private static int screenWidth = -1, screenHeight = -1; // Dimensions of default screen
+ private static volatile int screenWidth = -1, screenHeight = -1; // Dimensions of default screen
static long awt_defaultFg; // Pixel
private static XMouseInfoPeer xPeer;
private static Method m_removeSourceEvents;
@@ -310,6 +311,19 @@ public final class XToolkit extends UNIXToolkit implements Runnable {
System.setProperty("sun.awt.enableExtraMouseButtons", ""+areExtraMouseButtonsEnabled);
saved_error_handler = XlibWrapper.SetToolkitErrorHandler();
+
+ // Detect display mode changes
+ XlibWrapper.XSelectInput(XToolkit.getDisplay(), XToolkit.getDefaultRootWindow(), XConstants.StructureNotifyMask);
+ XToolkit.addEventDispatcher(XToolkit.getDefaultRootWindow(), new XEventDispatcher() {
+ @Override
+ public void dispatchEvent(XEvent ev) {
+ if (ev.get_type() == XConstants.ConfigureNotify) {
+ ((X11GraphicsEnvironment)GraphicsEnvironment.
+ getLocalGraphicsEnvironment()).
+ displayChanged();
+ }
+ }
+ });
} finally {
awtUnlock();
}
@@ -684,29 +698,49 @@ public final class XToolkit extends UNIXToolkit implements Runnable {
}
}
- static int getDefaultScreenWidth() {
- if (screenWidth == -1) {
- long display = getDisplay();
+ static {
+ GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
+ if (ge instanceof SunGraphicsEnvironment) {
+ ((SunGraphicsEnvironment)ge).addDisplayChangedListener(
+ new DisplayChangedListener() {
+ @Override
+ public void displayChanged() {
+ // 7045370: Reset the cached values
+ XToolkit.screenWidth = -1;
+ XToolkit.screenHeight = -1;
+ }
+
+ @Override
+ public void paletteChanged() {}
+ });
+ }
+ }
+
+ private static void initScreenSize() {
+ if (screenWidth == -1 || screenHeight == -1) {
awtLock();
try {
- screenWidth = (int) XlibWrapper.DisplayWidth(display, XlibWrapper.DefaultScreen(display));
+ XWindowAttributes pattr = new XWindowAttributes();
+ try {
+ XlibWrapper.XGetWindowAttributes(XToolkit.getDisplay(), XToolkit.getDefaultRootWindow(), pattr.pData);
+ screenWidth = (int) pattr.get_width();
+ screenHeight = (int) pattr.get_height();
+ } finally {
+ pattr.dispose();
+ }
} finally {
awtUnlock();
}
}
+ }
+
+ static int getDefaultScreenWidth() {
+ initScreenSize();
return screenWidth;
}
static int getDefaultScreenHeight() {
- if (screenHeight == -1) {
- long display = getDisplay();
- awtLock();
- try {
- screenHeight = (int) XlibWrapper.DisplayHeight(display, XlibWrapper.DefaultScreen(display));
- } finally {
- awtUnlock();
- }
- }
+ initScreenSize();
return screenHeight;
}
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java
index 395dbcd..9d7daf0 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java
@@ -208,12 +208,19 @@ class XWindowPeer extends XPanelPeer implements WindowPeer,
return name;
}
+ private static native String getLocalHostname();
+ private static native int getJvmPID();
+
void postInit(XCreateWindowParams params) {
super.postInit(params);
// Init WM_PROTOCOLS atom
initWMProtocols();
+ // Set _NET_WM_PID and WM_CLIENT_MACHINE using this JVM
+ XAtom.get("WM_CLIENT_MACHINE").setProperty(getWindow(), getLocalHostname());
+ XAtom.get("_NET_WM_PID").setCard32Property(getWindow(), getJvmPID());
+
// Set WM_TRANSIENT_FOR and group_leader
Window t_window = (Window)target;
Window owner = t_window.getOwner();
diff --git a/jdk/src/solaris/classes/sun/awt/X11GraphicsDevice.java b/jdk/src/solaris/classes/sun/awt/X11GraphicsDevice.java
index ca415b1..cedf90a 100644
--- a/jdk/src/solaris/classes/sun/awt/X11GraphicsDevice.java
+++ b/jdk/src/solaris/classes/sun/awt/X11GraphicsDevice.java
@@ -487,14 +487,9 @@ public class X11GraphicsDevice
* X11GraphicsEnvironment when the display mode has been changed.
*/
public synchronized void displayChanged() {
- // reset the list of configs (and default config)
- defaultConfig = null;
- configs = null;
- doubleBufferVisuals = null;
-
- // reset the native data structures associated with this device (they
- // will be reinitialized when the GraphicsConfigs are configured)
- resetNativeData(screen);
+ // On X11 the visuals do not change, and therefore we don't need
+ // to reset the defaultConfig, config, doubleBufferVisuals,
+ // neither do we need to reset the native data.
// pass on to all top-level windows on this screen
topLevels.notifyListeners();
diff --git a/jdk/src/solaris/classes/sun/awt/motif/MFontConfiguration.java b/jdk/src/solaris/classes/sun/awt/motif/MFontConfiguration.java
index 25e676e..6c28d20 100644
--- a/jdk/src/solaris/classes/sun/awt/motif/MFontConfiguration.java
+++ b/jdk/src/solaris/classes/sun/awt/motif/MFontConfiguration.java
@@ -25,26 +25,19 @@
package sun.awt.motif;
-import java.awt.Font;
-import java.io.BufferedReader;
+import sun.awt.FontConfiguration;
+import sun.awt.X11FontManager;
+import sun.font.FontUtilities;
+import sun.font.SunFontManager;
+import sun.util.logging.PlatformLogger;
+
import java.io.File;
import java.io.FileInputStream;
-import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.Locale;
import java.util.Properties;
import java.util.Scanner;
-import sun.awt.FontConfiguration;
-import sun.awt.X11FontManager;
-import sun.awt.X11GraphicsEnvironment;
-import sun.font.FontManager;
-import sun.font.SunFontManager;
-import sun.font.FontManagerFactory;
-import sun.font.FontUtilities;
-import sun.java2d.SunGraphicsEnvironment;
-import sun.util.logging.PlatformLogger;
public class MFontConfiguration extends FontConfiguration {
@@ -258,47 +251,6 @@ public class MFontConfiguration extends FontConfiguration {
return Charset.forName("ISO8859_1");
}
- /* methods for Motif support *********************************************/
-
- private String[][] motifFontSets = new String[NUM_FONTS][NUM_STYLES];
-
- public String getMotifFontSet(String fontName, int style) {
- assert isLogicalFontFamilyName(fontName);
- fontName = fontName.toLowerCase(Locale.ENGLISH);
- int fontIndex = getFontIndex(fontName);
- int styleIndex = getStyleIndex(style);
- return getMotifFontSet(fontIndex, styleIndex);
- }
-
- private String getMotifFontSet(int fontIndex, int styleIndex) {
- String fontSet = motifFontSets[fontIndex][styleIndex];
- if (fontSet == null) {
- fontSet = buildMotifFontSet(fontIndex, styleIndex);
- motifFontSets[fontIndex][styleIndex] = fontSet;
- }
- return fontSet;
- }
-
- private String buildMotifFontSet(int fontIndex, int styleIndex) {
- StringBuilder buffer = new StringBuilder();
- short[] scripts = getCoreScripts(fontIndex);
- for (int i = 0; i < scripts.length; i++) {
- short nameID = getComponentFontIDMotif(scripts[i], fontIndex, styleIndex);
- if (nameID == 0) {
- nameID = getComponentFontID(scripts[i], fontIndex, styleIndex);
- }
- String name = getComponentFontName(nameID);
- if (name == null || name.endsWith("fontspecific")) {
- continue;
- }
- if (buffer.length() > 0) {
- buffer.append(',');
- }
- buffer.append(name);
- }
- return buffer.toString();
- }
-
protected String getFaceNameFromComponentFontName(String componentFontName) {
return null;
}
@@ -315,36 +267,6 @@ public class MFontConfiguration extends FontConfiguration {
return ((X11FontManager) fontManager).getFileNameFromXLFD(componentFontName);
}
- /**
- * Get default font for Motif widgets to use, preventing them from
- * wasting time accessing inappropriate X resources. This is called
- * only from native code.
- *
- * This is part of a Motif specific performance enhancement. By
- * default, when Motif widgets are created and initialized, Motif will
- * set up default fonts for the widgets, which we ALWAYS override.
- * This set up includes finding the default font in the widget's X
- * resources and fairly expensive requests of the X server to identify
- * the specific font or fontset. We avoid all of this overhead by
- * providing a well known font to use at the creation of widgets, where
- * possible.
- *
- * The X11 fonts are specified by XLFD strings which have %d as a
- * marker to indicate where the fontsize should be substituted. [The
- * libc function sprintf() is used to replace it.] The value 140
- * specifies a font size of 14 points.
- */
- private static String getDefaultMotifFontSet() {
- String font = ((MFontConfiguration) getFontConfiguration()).getMotifFontSet("sansserif", Font.PLAIN);
- if (font != null) {
- int i;
- while ((i = font.indexOf("%d")) >= 0) {
- font = font.substring(0, i) + "140" + font.substring(i+2);
- }
- }
- return font;
- }
-
public HashSet<String> getAWTFontPathSet() {
HashSet<String> fontDirs = new HashSet<String>();
short[] scripts = getCoreScripts(0);
diff --git a/jdk/src/solaris/classes/sun/java2d/x11/X11Renderer.java b/jdk/src/solaris/classes/sun/java2d/x11/X11Renderer.java
index c25d7ab..f335781 100644
--- a/jdk/src/solaris/classes/sun/java2d/x11/X11Renderer.java
+++ b/jdk/src/solaris/classes/sun/java2d/x11/X11Renderer.java
@@ -299,7 +299,7 @@ public class X11Renderer implements
private void doPath(SunGraphics2D sg2d, Shape s, boolean isFill) {
Path2D.Float p2df;
int transx, transy;
- if (sg2d.transformState <= sg2d.TRANSFORM_INT_TRANSLATE) {
+ if (sg2d.transformState <= SunGraphics2D.TRANSFORM_INT_TRANSLATE) {
if (s instanceof Path2D.Float) {
p2df = (Path2D.Float)s;
} else {
@@ -323,10 +323,10 @@ public class X11Renderer implements
}
public void draw(SunGraphics2D sg2d, Shape s) {
- if (sg2d.strokeState == sg2d.STROKE_THIN) {
+ if (sg2d.strokeState == SunGraphics2D.STROKE_THIN) {
// Delegate to drawPolygon() if possible...
if (s instanceof Polygon &&
- sg2d.transformState < sg2d.TRANSFORM_TRANSLATESCALE)
+ sg2d.transformState < SunGraphics2D.TRANSFORM_TRANSLATESCALE)
{
Polygon p = (Polygon) s;
drawPolygon(sg2d, p.xpoints, p.ypoints, p.npoints);
@@ -336,7 +336,7 @@ public class X11Renderer implements
// Otherwise we will use drawPath() for
// high-quality thin paths.
doPath(sg2d, s, false);
- } else if (sg2d.strokeState < sg2d.STROKE_CUSTOM) {
+ } else if (sg2d.strokeState < SunGraphics2D.STROKE_CUSTOM) {
// REMIND: X11 can handle uniform scaled wide lines
// and dashed lines itself if we set the appropriate
// XGC attributes (TBD).
@@ -360,10 +360,10 @@ public class X11Renderer implements
}
public void fill(SunGraphics2D sg2d, Shape s) {
- if (sg2d.strokeState == sg2d.STROKE_THIN) {
+ if (sg2d.strokeState == SunGraphics2D.STROKE_THIN) {
// Delegate to fillPolygon() if possible...
if (s instanceof Polygon &&
- sg2d.transformState < sg2d.TRANSFORM_TRANSLATESCALE)
+ sg2d.transformState < SunGraphics2D.TRANSFORM_TRANSLATESCALE)
{
Polygon p = (Polygon) s;
fillPolygon(sg2d, p.xpoints, p.ypoints, p.npoints);
@@ -378,7 +378,7 @@ public class X11Renderer implements
AffineTransform at;
int transx, transy;
- if (sg2d.transformState < sg2d.TRANSFORM_TRANSLATESCALE) {
+ if (sg2d.transformState < SunGraphics2D.TRANSFORM_TRANSLATESCALE) {
// Transform (translation) will be done by XFillSpans
at = null;
transx = sg2d.transX;
diff --git a/jdk/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java b/jdk/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java
index 24513aa..d9d883a 100644
--- a/jdk/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java
+++ b/jdk/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java
@@ -295,9 +295,9 @@ public abstract class X11SurfaceData extends XSurfaceData {
public void validatePipe(SunGraphics2D sg2d) {
if (sg2d.antialiasHint != SunHints.INTVAL_ANTIALIAS_ON &&
- sg2d.paintState <= sg2d.PAINT_ALPHACOLOR &&
- (sg2d.compositeState <= sg2d.COMP_ISCOPY ||
- sg2d.compositeState == sg2d.COMP_XOR))
+ sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR &&
+ (sg2d.compositeState <= SunGraphics2D.COMP_ISCOPY ||
+ sg2d.compositeState == SunGraphics2D.COMP_XOR))
{
if (x11txpipe == null) {
/*
@@ -315,7 +315,7 @@ public abstract class X11SurfaceData extends XSurfaceData {
return;
}
- if (sg2d.clipState == sg2d.CLIP_SHAPE) {
+ if (sg2d.clipState == SunGraphics2D.CLIP_SHAPE) {
// Do this to init textpipe correctly; we will override the
// other non-text pipes below
// REMIND: we should clean this up eventually instead of
@@ -329,7 +329,7 @@ public abstract class X11SurfaceData extends XSurfaceData {
case SunHints.INTVAL_TEXT_ANTIALIAS_OFF:
// Use X11 pipe even if DGA is available since DGA
// text slows everything down when mixed with X11 calls
- if (sg2d.compositeState == sg2d.COMP_ISCOPY) {
+ if (sg2d.compositeState == SunGraphics2D.COMP_ISCOPY) {
sg2d.textpipe = x11textpipe;
} else {
sg2d.textpipe = solidTextRenderer;
@@ -353,7 +353,7 @@ public abstract class X11SurfaceData extends XSurfaceData {
case SunHints.INTVAL_TEXT_ANTIALIAS_OFF:
// Use X11 pipe even if DGA is available since DGA
// text slows everything down when mixed with X11 calls
- if (sg2d.compositeState == sg2d.COMP_ISCOPY) {
+ if (sg2d.compositeState == SunGraphics2D.COMP_ISCOPY) {
sg2d.textpipe = x11textpipe;
} else {
sg2d.textpipe = solidTextRenderer;
@@ -370,10 +370,10 @@ public abstract class X11SurfaceData extends XSurfaceData {
}
}
- if (sg2d.transformState >= sg2d.TRANSFORM_TRANSLATESCALE) {
+ if (sg2d.transformState >= SunGraphics2D.TRANSFORM_TRANSLATESCALE) {
sg2d.drawpipe = x11txpipe;
sg2d.fillpipe = x11txpipe;
- } else if (sg2d.strokeState != sg2d.STROKE_THIN){
+ } else if (sg2d.strokeState != SunGraphics2D.STROKE_THIN){
sg2d.drawpipe = x11txpipe;
sg2d.fillpipe = x11pipe;
} else {
@@ -398,8 +398,8 @@ public abstract class X11SurfaceData extends XSurfaceData {
}
public RenderLoops getRenderLoops(SunGraphics2D sg2d) {
- if (sg2d.paintState <= sg2d.PAINT_ALPHACOLOR &&
- sg2d.compositeState <= sg2d.COMP_ISCOPY)
+ if (sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR &&
+ sg2d.compositeState <= SunGraphics2D.COMP_ISCOPY)
{
return solidloops;
}
@@ -488,7 +488,7 @@ public abstract class X11SurfaceData extends XSurfaceData {
makePipes();
}
CompositeType comptype = sg2d.imageComp;
- if (sg2d.transformState < sg2d.TRANSFORM_TRANSLATESCALE &&
+ if (sg2d.transformState < SunGraphics2D.TRANSFORM_TRANSLATESCALE &&
(CompositeType.SrcOverNoEa.equals(comptype) ||
CompositeType.SrcNoEa.equals(comptype)))
{
diff --git a/jdk/src/solaris/classes/sun/java2d/xr/XRCompositeManager.java b/jdk/src/solaris/classes/sun/java2d/xr/XRCompositeManager.java
index b4b8c4c..1264d53 100644
--- a/jdk/src/solaris/classes/sun/java2d/xr/XRCompositeManager.java
+++ b/jdk/src/solaris/classes/sun/java2d/xr/XRCompositeManager.java
@@ -28,6 +28,9 @@ package sun.java2d.xr;
import java.awt.*;
import java.awt.geom.*;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
import sun.font.*;
import sun.java2d.*;
import sun.java2d.jules.*;
@@ -83,7 +86,13 @@ public class XRCompositeManager {
con = new XRBackendNative();
// con = XRBackendJava.getInstance();
- String gradProp = System.getProperty("sun.java2d.xrgradcache");
+ String gradProp =
+ AccessController.doPrivileged(new PrivilegedAction<String>() {
+ public String run() {
+ return System.getProperty("sun.java2d.xrgradcache");
+ }
+ });
+
enableGradCache = gradProp == null ||
!(gradProp.equalsIgnoreCase("false") ||
gradProp.equalsIgnoreCase("f"));
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java b/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java
index 963e377..d7a1f8b 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java
@@ -36,8 +36,6 @@ import sun.nio.ch.SimpleAsynchronousFileChannelImpl;
import sun.misc.SharedSecrets;
import sun.misc.JavaIOFileDescriptorAccess;
-import com.sun.nio.file.ExtendedOpenOption;
-
import static sun.nio.fs.UnixNativeDispatcher.*;
import static sun.nio.fs.UnixConstants.*;
@@ -86,13 +84,13 @@ class UnixChannelFactory {
}
continue;
}
- if (option == LinkOption.NOFOLLOW_LINKS) {
+ if (option == LinkOption.NOFOLLOW_LINKS && supportsNoFollowLinks()) {
flags.noFollowLinks = true;
continue;
}
if (option == null)
throw new NullPointerException();
- throw new UnsupportedOperationException();
+ throw new UnsupportedOperationException(option + " not supported");
}
return flags;
}
@@ -220,6 +218,15 @@ class UnixChannelFactory {
// follow links by default
boolean followLinks = true;
if (!flags.createNew && (flags.noFollowLinks || flags.deleteOnClose)) {
+ if (flags.deleteOnClose && !supportsNoFollowLinks()) {
+ try {
+ if (UnixFileAttributes.get(path, false).isSymbolicLink())
+ throw new UnixException("DELETE_ON_CLOSE specified and file is a symbolic link");
+ } catch (UnixException x) {
+ if (!flags.create || x.errno() != ENOENT)
+ throw x;
+ }
+ }
followLinks = false;
oflags |= O_NOFOLLOW;
}
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java b/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java
index 0c14ef0..ea9df0c 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java
@@ -395,7 +395,7 @@ public abstract class UnixFileSystemProvider
// can't return SecureDirectoryStream on kernels that don't support
// openat, etc.
- if (!supportsAtSysCalls()) {
+ if (!supportsAtSysCalls() || !supportsNoFollowLinks()) {
try {
long ptr = opendir(dir);
return new UnixDirectoryStream(dir, ptr, filter);
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java b/jdk/src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java
index 2d037f3..8865988 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java
@@ -548,6 +548,10 @@ class UnixNativeDispatcher {
return hasAtSysCalls;
}
+ static boolean supportsNoFollowLinks() {
+ return UnixConstants.O_NOFOLLOW != 0;
+ }
+
// initialize syscalls and fieldIDs
private static native int init();
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java b/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java
index 30c4dfe..52b8841 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java
@@ -767,8 +767,11 @@ class UnixPath
// package-private
int openForAttributeAccess(boolean followLinks) throws IOException {
int flags = O_RDONLY;
- if (!followLinks)
+ if (!followLinks) {
+ if (!supportsNoFollowLinks())
+ throw new IOException("NOFOLLOW_LINKS is not supported on this platform");
flags |= O_NOFOLLOW;
+ }
try {
return open(this, flags, 0);
} catch (UnixException x) {
diff --git a/jdk/src/solaris/doc/sun/man/man1/jcmd.1 b/jdk/src/solaris/doc/sun/man/man1/jcmd.1
new file mode 100644
index 0000000..7d69057
--- /dev/null
+++ b/jdk/src/solaris/doc/sun/man/man1/jcmd.1
@@ -0,0 +1,124 @@
+." 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.
+."
+." 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.
+."
+.TH jcmd 1 "22 Novembre 2011"
+
+.LP
+.SH "Name"
+jcmd \- Diagnostic Command
+.br
+
+.LP
+.SH "SYNOPSIS"
+.LP
+.nf
+\f3
+.fl
+\fP\f3jcmd\fP [ option ]
+.fl
+\f3jcmd\fP <\fIpid\fR | \fImain class\fR> PerfCounter.print
+.fl
+\f3jcmd\fP <\fIpid\fR | \fImain class\fR> \fIcommand\fR [\fIarguments\fR]
+.fl
+\f3jcmd\fP <\fIpid\fR | \fImain class\fR> -f \fIfile\fR
+.fl
+.fl
+.fi
+
+.LP
+.SH "DESCRIPTION"
+.LP
+.LP
+\f3jcmd\fP is a utility to send diagnostic command requests to a Java
+Virtual Machine supporting this feature. Used without arguments or with the \-l option, jcmd prints the list of running Java processes with their process id, their main class and their command line arguments. When a process id is specified on the command line, jcmd sends the diagnostic command request to the process with this id. When a main class is specified on the command line, jcmd sends the diagnostic command request to all Java processes with this main class. With the PerfCounter.print argument, jcmd prints the performance counters available on the targeted Java process(es). With the \-f option, jcmd sends to the targeted Java process(es) the diagnostic commands stored in the file \fIfile\fR.
+.LP
+\fP
+.fi
+
+.SH "OPTIONS"
+.LP
+.LP
+Options are mutually exclusive. Options, if used, should follow immediately after the command name.
+.LP
+.RS 3
+.TP 3
+\-l
+prints the list of running Java processes with their process id, their
+main class and their command line arguments.
+.TP 3
+\-h
+prints a help message.
+.br
+.br
+.TP 3
+\-help
+prints a help message
+.br
+.RE
+
+.LP
+.SH "PARAMETERS"
+.LP
+.RS 3
+.TP 3
+\fIpid\fR
+Identifies the process which will receive the diagnostic command requests. The process must be a Java process. To get a list of Java processes running on a machine, jps(1) or jcmd(1) may be used.
+.RE
+.LP
+.RS 3
+.TP 3
+\fImain class\fR
+Main class of the process which will receive the diagnostic command requests. If several running Java processes share this main class, the diagnostic command request will be sent to all these processes. To get a list of Java processes running on a machine, jps(1) or jcmd(1) may be used.
+.RE
+.RS 3
+.TP 3
+\fIcommand\fR [\fIarguments\fR]
+Invoke the diagnostic command called \fIcommand\fR on the targeted Java
+process(es). The list of available diagnostic commands for a given
+process can be obtained by invoking the 'help' command on this process.
+Each diagnostic command has its own set of \fIarguments\fR which can be
+obtained by invoking the 'help' command followed by the command name.
+.RE
+.RS 3
+.TP 3
+\fIPerfCounter.print\fR
+Print the performance counters available on the targeted Java
+process(es). The list of performance counters may vary with the Java
+process.
+.RE
+.RS 3
+.TP 3
+\fI-f file\fR
+Read commands from \fIfile\fR and invoke them on the targeted Java
+process(es). In \fIfile\fR, each command must be written on a single line.
+Lines starting with # are ignored. Processing of \fIfile\fR ends when
+all lines have been invoked or when a line containing the 'stop' keyword
+is read.
+.LP
+.SH "SEE ALSO"
+.LP
+.RS 3
+.TP 2
+o
+jps(1)
+.RE
+
+
diff --git a/jdk/src/solaris/native/java/net/Inet4AddressImpl.c b/jdk/src/solaris/native/java/net/Inet4AddressImpl.c
index 9a5b78e..e6bd2cc 100644
--- a/jdk/src/solaris/native/java/net/Inet4AddressImpl.c
+++ b/jdk/src/solaris/native/java/net/Inet4AddressImpl.c
@@ -43,8 +43,9 @@
#include "java_net_Inet4AddressImpl.h"
/* the initial size of our hostent buffers */
-#define HENT_BUF_SIZE 1024
-#define BIG_HENT_BUF_SIZE 10240 /* a jumbo-sized one */
+#ifndef NI_MAXHOST
+#define NI_MAXHOST 1025
+#endif
/************************************************************************
* Inet4AddressImpl
@@ -57,60 +58,36 @@
*/
JNIEXPORT jstring JNICALL
Java_java_net_Inet4AddressImpl_getLocalHostName(JNIEnv *env, jobject this) {
- char hostname[MAXHOSTNAMELEN+1];
+ char hostname[NI_MAXHOST+1];
hostname[0] = '\0';
if (JVM_GetHostName(hostname, sizeof(hostname))) {
/* Something went wrong, maybe networking is not setup? */
strcpy(hostname, "localhost");
} else {
-#ifdef __linux__
- /* On Linux gethostname() says "host.domain.sun.com". On
- * Solaris gethostname() says "host", so extra work is needed.
- */
-#else
- /* Solaris doesn't want to give us a fully qualified domain name.
- * We do a reverse lookup to try and get one. This works
- * if DNS occurs before NIS in /etc/resolv.conf, but fails
- * if NIS comes first (it still gets only a partial name).
- * We use thread-safe system calls.
- */
-#endif /* __linux__ */
- struct hostent res, res2, *hp;
- // these buffers must be pointer-aligned so they are declared
- // with pointer type
- char *buf[HENT_BUF_SIZE/(sizeof (char *))];
- char *buf2[HENT_BUF_SIZE/(sizeof (char *))];
- int h_error=0;
-
- // ensure null-terminated
- hostname[MAXHOSTNAMELEN] = '\0';
-
-#ifdef __GLIBC__
- gethostbyname_r(hostname, &res, (char*)buf, sizeof(buf), &hp, &h_error);
-#else
- hp = gethostbyname_r(hostname, &res, (char*)buf, sizeof(buf), &h_error);
-#endif
- if (hp) {
-#ifdef __GLIBC__
- gethostbyaddr_r(hp->h_addr, hp->h_length, AF_INET,
- &res2, (char*)buf2, sizeof(buf2), &hp, &h_error);
-#else
- hp = gethostbyaddr_r(hp->h_addr, hp->h_length, AF_INET,
- &res2, (char*)buf2, sizeof(buf2), &h_error);
-#endif
- if (hp) {
- /*
- * If gethostbyaddr_r() found a fully qualified host name,
- * returns that name. Otherwise, returns the hostname
- * found by gethostname().
- */
- char *p = hp->h_name;
- if ((strlen(hp->h_name) > strlen(hostname))
- && (strncmp(hostname, hp->h_name, strlen(hostname)) == 0)
- && (*(p + strlen(hostname)) == '.'))
- strcpy(hostname, hp->h_name);
- }
+ struct addrinfo hints, *res;
+ int error;
+
+ hostname[NI_MAXHOST] = '\0';
+ memset(&hints, 0, sizeof(hints));
+ hints.ai_flags = AI_CANONNAME;
+ hints.ai_family = AF_INET;
+
+ error = getaddrinfo(hostname, NULL, &hints, &res);
+
+ if (error == 0) {/* host is known to name service */
+ getnameinfo(res->ai_addr,
+ res->ai_addrlen,
+ hostname,
+ NI_MAXHOST,
+ NULL,
+ 0,
+ NI_NAMEREQD);
+
+ /* if getnameinfo fails hostname is still the value
+ from gethostname */
+
+ freeaddrinfo(res);
}
}
return (*env)->NewStringUTF(env, hostname);
@@ -140,14 +117,9 @@ Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
jstring host) {
const char *hostname;
jobjectArray ret = 0;
- struct hostent res, *hp = 0;
- // this buffer must be pointer-aligned so is declared
- // with pointer type
- char *buf[HENT_BUF_SIZE/(sizeof (char *))];
-
- /* temporary buffer, on the off chance we need to expand */
- char *tmp = NULL;
- int h_error=0;
+ int retLen = 0;
+ int error = 0;
+ struct addrinfo hints, *res, *resNew = NULL;
if (!initialized) {
ni_iacls = (*env)->FindClass(env, "java/net/InetAddress");
@@ -168,6 +140,11 @@ Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
hostname = JNU_GetStringPlatformChars(env, host, JNI_FALSE);
CHECK_NULL_RETURN(hostname, NULL);
+ /* Try once, with our static buffer. */
+ memset(&hints, 0, sizeof(hints));
+ hints.ai_flags = AI_CANONNAME;
+ hints.ai_family = AF_INET;
+
#ifdef __solaris__
/*
* Workaround for Solaris bug 4160367 - if a hostname contains a
@@ -181,69 +158,93 @@ Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
}
#endif
- /* Try once, with our static buffer. */
-#ifdef __GLIBC__
- gethostbyname_r(hostname, &res, (char*)buf, sizeof(buf), &hp, &h_error);
-#else
- hp = gethostbyname_r(hostname, &res, (char*)buf, sizeof(buf), &h_error);
-#endif
+ error = getaddrinfo(hostname, NULL, &hints, &res);
- /* With the re-entrant system calls, it's possible that the buffer
- * we pass to it is not large enough to hold an exceptionally
- * large DNS entry. This is signaled by errno->ERANGE. We try once
- * more, with a very big size.
- */
- if (hp == NULL && errno == ERANGE) {
- if ((tmp = (char*)malloc(BIG_HENT_BUF_SIZE))) {
-#ifdef __GLIBC__
- gethostbyname_r(hostname, &res, tmp, BIG_HENT_BUF_SIZE,
- &hp, &h_error);
-#else
- hp = gethostbyname_r(hostname, &res, tmp, BIG_HENT_BUF_SIZE,
- &h_error);
-#endif
- }
- }
- if (hp != NULL) {
- struct in_addr **addrp = (struct in_addr **) hp->h_addr_list;
+ if (error) {
+ /* report error */
+ ThrowUnknownHostExceptionWithGaiError(env, hostname, error);
+ JNU_ReleaseStringPlatformChars(env, host, hostname);
+ return NULL;
+ } else {
int i = 0;
+ struct addrinfo *itr, *last = NULL, *iterator = res;
+
+ while (iterator != NULL) {
+ // remove the duplicate one
+ int skip = 0;
+ itr = resNew;
+ while (itr != NULL) {
+ struct sockaddr_in *addr1, *addr2;
+ addr1 = (struct sockaddr_in *)iterator->ai_addr;
+ addr2 = (struct sockaddr_in *)itr->ai_addr;
+ if (addr1->sin_addr.s_addr ==
+ addr2->sin_addr.s_addr) {
+ skip = 1;
+ break;
+ }
+ itr = itr->ai_next;
+ }
- while (*addrp != (struct in_addr *) 0) {
- i++;
- addrp++;
+ if (!skip) {
+ struct addrinfo *next
+ = (struct addrinfo*) malloc(sizeof(struct addrinfo));
+ if (!next) {
+ JNU_ThrowOutOfMemoryError(env, "heap allocation failed");
+ ret = NULL;
+ goto cleanupAndReturn;
+ }
+ memcpy(next, iterator, sizeof(struct addrinfo));
+ next->ai_next = NULL;
+ if (resNew == NULL) {
+ resNew = next;
+ } else {
+ last->ai_next = next;
+ }
+ last = next;
+ i++;
+ }
+ iterator = iterator->ai_next;
}
- ret = (*env)->NewObjectArray(env, i, ni_iacls, NULL);
+ retLen = i;
+ iterator = resNew;
+
+ ret = (*env)->NewObjectArray(env, retLen, ni_iacls, NULL);
+
if (IS_NULL(ret)) {
/* we may have memory to free at the end of this */
goto cleanupAndReturn;
}
- addrp = (struct in_addr **) hp->h_addr_list;
+
i = 0;
- while (*addrp) {
- jobject iaObj = (*env)->NewObject(env, ni_ia4cls, ni_ia4ctrID);
- if (IS_NULL(iaObj)) {
- ret = NULL;
- goto cleanupAndReturn;
- }
- (*env)->SetIntField(env, iaObj, ni_iaaddressID,
- ntohl((*addrp)->s_addr));
- (*env)->SetObjectField(env, iaObj, ni_iahostID, host);
- (*env)->SetObjectArrayElement(env, ret, i, iaObj);
- addrp++;
- i++;
+ while (iterator != NULL) {
+ jobject iaObj = (*env)->NewObject(env, ni_ia4cls, ni_ia4ctrID);
+ if (IS_NULL(iaObj)) {
+ ret = NULL;
+ goto cleanupAndReturn;
+ }
+ (*env)->SetIntField(env, iaObj, ni_iaaddressID,
+ ntohl(((struct sockaddr_in*)iterator->ai_addr)->sin_addr.s_addr));
+ (*env)->SetObjectField(env, iaObj, ni_iahostID, host);
+ (*env)->SetObjectArrayElement(env, ret, i++, iaObj);
+ iterator = iterator->ai_next;
}
- } else {
- JNU_ThrowByName(env, JNU_JAVANETPKG "UnknownHostException",
- (char *)hostname);
- ret = NULL;
}
-cleanupAndReturn:
- JNU_ReleaseStringPlatformChars(env, host, hostname);
- if (tmp != NULL) {
- free(tmp);
+ cleanupAndReturn:
+ {
+ struct addrinfo *iterator, *tmp;
+ iterator = resNew;
+ while (iterator != NULL) {
+ tmp = iterator;
+ iterator = iterator->ai_next;
+ free(tmp);
+ }
+ JNU_ReleaseStringPlatformChars(env, host, hostname);
}
+
+ freeaddrinfo(res);
+
return ret;
}
@@ -256,63 +257,38 @@ JNIEXPORT jstring JNICALL
Java_java_net_Inet4AddressImpl_getHostByAddr(JNIEnv *env, jobject this,
jbyteArray addrArray) {
jstring ret = NULL;
- jint addr;
- struct hostent hent, *hp = 0;
- // this buffer must be pointer-aligned so is declared
- // with pointer type
- char *buf[HENT_BUF_SIZE/(sizeof (char *))];
- int h_error = 0;
- char *tmp = NULL;
- /*
- * We are careful here to use the reentrant version of
- * gethostbyname because at the Java level this routine is not
- * protected by any synchronization.
- *
- * Still keeping the reentrant platform dependent calls temporarily
- * We should probably conform to one interface later.
- *
- */
+ char host[NI_MAXHOST+1];
+ int error = 0;
+ int len = 0;
jbyte caddr[4];
+
+ struct sockaddr_in him4;
+ struct sockaddr *sa;
+
+ jint addr;
(*env)->GetByteArrayRegion(env, addrArray, 0, 4, caddr);
addr = ((caddr[0]<<24) & 0xff000000);
addr |= ((caddr[1] <<16) & 0xff0000);
addr |= ((caddr[2] <<8) & 0xff00);
addr |= (caddr[3] & 0xff);
- addr = htonl(addr);
-#ifdef __GLIBC__
- gethostbyaddr_r((char *)&addr, sizeof(addr), AF_INET, &hent,
- (char*)buf, sizeof(buf), &hp, &h_error);
-#else
- hp = gethostbyaddr_r((char *)&addr, sizeof(addr), AF_INET, &hent,
- (char*)buf, sizeof(buf), &h_error);
-#endif
- /* With the re-entrant system calls, it's possible that the buffer
- * we pass to it is not large enough to hold an exceptionally
- * large DNS entry. This is signaled by errno->ERANGE. We try once
- * more, with a very big size.
- */
- if (hp == NULL && errno == ERANGE) {
- if ((tmp = (char*)malloc(BIG_HENT_BUF_SIZE))) {
-#ifdef __GLIBC__
- gethostbyaddr_r((char *)&addr, sizeof(addr), AF_INET,
- &hent, tmp, BIG_HENT_BUF_SIZE, &hp, &h_error);
-#else
- hp = gethostbyaddr_r((char *)&addr, sizeof(addr), AF_INET,
- &hent, tmp, BIG_HENT_BUF_SIZE, &h_error);
-#endif
- } else {
- JNU_ThrowOutOfMemoryError(env, "getHostByAddr");
- }
+ memset((void *) &him4, 0, sizeof(him4));
+ him4.sin_addr.s_addr = (uint32_t) htonl(addr);
+ him4.sin_family = AF_INET;
+ sa = (struct sockaddr *) &him4;
+ len = sizeof(him4);
+
+ error = getnameinfo(sa, len, host, NI_MAXHOST, NULL, 0,
+ NI_NAMEREQD);
+
+ if (!error) {
+ ret = (*env)->NewStringUTF(env, host);
}
- if (hp == NULL) {
+
+ if (ret == NULL) {
JNU_ThrowByName(env, JNU_JAVANETPKG "UnknownHostException", NULL);
- } else {
- ret = (*env)->NewStringUTF(env, hp->h_name);
- }
- if (tmp) {
- free(tmp);
}
+
return ret;
}
@@ -391,11 +367,11 @@ ping4(JNIEnv *env, jint fd, struct sockaddr_in* him, jint timeout,
sizeof(struct sockaddr));
if (n < 0 && errno != EINPROGRESS ) {
#ifdef __linux__
- if (errno != EINVAL)
+ if (errno != EINVAL && errno != EHOSTUNREACH)
/*
* On some Linuxes, when bound to the loopback interface, sendto
- * will fail and errno will be set to EINVAL. When that happens,
- * don't throw an exception, just return false.
+ * will fail and errno will be set to EINVAL or EHOSTUNREACH.
+ * When that happens, don't throw an exception, just return false.
*/
#endif /*__linux__ */
NET_ThrowNew(env, errno, "Can't send ICMP packet");
@@ -549,10 +525,11 @@ Java_java_net_Inet4AddressImpl_isReachable0(JNIEnv *env, jobject this,
case EADDRNOTAVAIL: /* address is not available on the remote machine */
#ifdef __linux__
case EINVAL:
+ case EHOSTUNREACH:
/*
* On some Linuxes, when bound to the loopback interface, connect
- * will fail and errno will be set to EINVAL. When that happens,
- * don't throw an exception, just return false.
+ * will fail and errno will be set to EINVAL or EHOSTUNREACH.
+ * When that happens, don't throw an exception, just return false.
*/
#endif /* __linux__ */
close(fd);
diff --git a/jdk/src/solaris/native/java/net/Inet6AddressImpl.c b/jdk/src/solaris/native/java/net/Inet6AddressImpl.c
index bb5bae7..051326b 100644
--- a/jdk/src/solaris/native/java/net/Inet6AddressImpl.c
+++ b/jdk/src/solaris/native/java/net/Inet6AddressImpl.c
@@ -82,31 +82,29 @@ Java_java_net_Inet6AddressImpl_getLocalHostName(JNIEnv *env, jobject this) {
* We use thread-safe system calls.
*/
#ifdef AF_INET6
- if (NET_addrtransAvailable()) {
- struct addrinfo hints, *res;
- int error;
-
- bzero(&hints, sizeof(hints));
- hints.ai_flags = AI_CANONNAME;
- hints.ai_family = AF_UNSPEC;
-
- error = (*getaddrinfo_ptr)(hostname, NULL, &hints, &res);
-
- if (error == 0) {
- /* host is known to name service */
- error = (*getnameinfo_ptr)(res->ai_addr,
- res->ai_addrlen,
- hostname,
- NI_MAXHOST,
- NULL,
- 0,
- NI_NAMEREQD);
-
- /* if getnameinfo fails hostname is still the value
- from gethostname */
-
- (*freeaddrinfo_ptr)(res);
- }
+ struct addrinfo hints, *res;
+ int error;
+
+ memset(&hints, 0, sizeof(hints));
+ hints.ai_flags = AI_CANONNAME;
+ hints.ai_family = AF_UNSPEC;
+
+ error = getaddrinfo(hostname, NULL, &hints, &res);
+
+ if (error == 0) {
+ /* host is known to name service */
+ error = getnameinfo(res->ai_addr,
+ res->ai_addrlen,
+ hostname,
+ NI_MAXHOST,
+ NULL,
+ 0,
+ NI_NAMEREQD);
+
+ /* if getnameinfo fails hostname is still the value
+ from gethostname */
+
+ freeaddrinfo(res);
}
#endif /* AF_INET6 */
#endif /* __linux__ */
@@ -173,193 +171,191 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
CHECK_NULL_RETURN(hostname, NULL);
#ifdef AF_INET6
- if (NET_addrtransAvailable()) {
- static jfieldID ia_preferIPv6AddressID;
+ static jfieldID ia_preferIPv6AddressID;
+ if (ia_preferIPv6AddressID == NULL) {
+ jclass c = (*env)->FindClass(env,"java/net/InetAddress");
+ if (c) {
+ ia_preferIPv6AddressID =
+ (*env)->GetStaticFieldID(env, c, "preferIPv6Address", "Z");
+ }
if (ia_preferIPv6AddressID == NULL) {
- jclass c = (*env)->FindClass(env,"java/net/InetAddress");
- if (c) {
- ia_preferIPv6AddressID =
- (*env)->GetStaticFieldID(env, c, "preferIPv6Address", "Z");
- }
- if (ia_preferIPv6AddressID == NULL) {
- JNU_ReleaseStringPlatformChars(env, host, hostname);
- return NULL;
- }
+ JNU_ReleaseStringPlatformChars(env, host, hostname);
+ return NULL;
}
- /* get the address preference */
- preferIPv6Address
- = (*env)->GetStaticBooleanField(env, ia_class, ia_preferIPv6AddressID);
+ }
+ /* get the address preference */
+ preferIPv6Address
+ = (*env)->GetStaticBooleanField(env, ia_class, ia_preferIPv6AddressID);
- /* Try once, with our static buffer. */
- bzero(&hints, sizeof(hints));
- hints.ai_flags = AI_CANONNAME;
- hints.ai_family = AF_UNSPEC;
+ /* Try once, with our static buffer. */
+ memset(&hints, 0, sizeof(hints));
+ hints.ai_flags = AI_CANONNAME;
+ hints.ai_family = AF_UNSPEC;
#ifdef __solaris__
- /*
- * Workaround for Solaris bug 4160367 - if a hostname contains a
- * white space then 0.0.0.0 is returned
- */
- if (isspace((unsigned char)hostname[0])) {
- JNU_ThrowByName(env, JNU_JAVANETPKG "UnknownHostException",
- hostname);
- JNU_ReleaseStringPlatformChars(env, host, hostname);
- return NULL;
- }
+ /*
+ * Workaround for Solaris bug 4160367 - if a hostname contains a
+ * white space then 0.0.0.0 is returned
+ */
+ if (isspace((unsigned char)hostname[0])) {
+ JNU_ThrowByName(env, JNU_JAVANETPKG "UnknownHostException",
+ hostname);
+ JNU_ReleaseStringPlatformChars(env, host, hostname);
+ return NULL;
+ }
#endif
- error = (*getaddrinfo_ptr)(hostname, NULL, &hints, &res);
+ error = getaddrinfo(hostname, NULL, &hints, &res);
- if (error) {
- /* report error */
- ThrowUnknownHostExceptionWithGaiError(env, hostname, error);
- JNU_ReleaseStringPlatformChars(env, host, hostname);
- return NULL;
- } else {
- int i = 0;
- int inetCount = 0, inet6Count = 0, inetIndex, inet6Index;
- struct addrinfo *itr, *last = NULL, *iterator = res;
- while (iterator != NULL) {
- int skip = 0;
- itr = resNew;
- while (itr != NULL) {
- if (iterator->ai_family == itr->ai_family &&
- iterator->ai_addrlen == itr->ai_addrlen) {
- if (itr->ai_family == AF_INET) { /* AF_INET */
- struct sockaddr_in *addr1, *addr2;
- addr1 = (struct sockaddr_in *)iterator->ai_addr;
- addr2 = (struct sockaddr_in *)itr->ai_addr;
- if (addr1->sin_addr.s_addr ==
- addr2->sin_addr.s_addr) {
- skip = 1;
+ if (error) {
+ /* report error */
+ ThrowUnknownHostExceptionWithGaiError(env, hostname, error);
+ JNU_ReleaseStringPlatformChars(env, host, hostname);
+ return NULL;
+ } else {
+ int i = 0;
+ int inetCount = 0, inet6Count = 0, inetIndex, inet6Index;
+ struct addrinfo *itr, *last = NULL, *iterator = res;
+ while (iterator != NULL) {
+ int skip = 0;
+ itr = resNew;
+ while (itr != NULL) {
+ if (iterator->ai_family == itr->ai_family &&
+ iterator->ai_addrlen == itr->ai_addrlen) {
+ if (itr->ai_family == AF_INET) { /* AF_INET */
+ struct sockaddr_in *addr1, *addr2;
+ addr1 = (struct sockaddr_in *)iterator->ai_addr;
+ addr2 = (struct sockaddr_in *)itr->ai_addr;
+ if (addr1->sin_addr.s_addr ==
+ addr2->sin_addr.s_addr) {
+ skip = 1;
+ break;
+ }
+ } else {
+ int t;
+ struct sockaddr_in6 *addr1, *addr2;
+ addr1 = (struct sockaddr_in6 *)iterator->ai_addr;
+ addr2 = (struct sockaddr_in6 *)itr->ai_addr;
+
+ for (t = 0; t < 16; t++) {
+ if (addr1->sin6_addr.s6_addr[t] !=
+ addr2->sin6_addr.s6_addr[t]) {
break;
}
+ }
+ if (t < 16) {
+ itr = itr->ai_next;
+ continue;
} else {
- int t;
- struct sockaddr_in6 *addr1, *addr2;
- addr1 = (struct sockaddr_in6 *)iterator->ai_addr;
- addr2 = (struct sockaddr_in6 *)itr->ai_addr;
-
- for (t = 0; t < 16; t++) {
- if (addr1->sin6_addr.s6_addr[t] !=
- addr2->sin6_addr.s6_addr[t]) {
- break;
- }
- }
- if (t < 16) {
- itr = itr->ai_next;
- continue;
- } else {
- skip = 1;
- break;
- }
+ skip = 1;
+ break;
}
- } else if (iterator->ai_family != AF_INET &&
- iterator->ai_family != AF_INET6) {
- /* we can't handle other family types */
- skip = 1;
- break;
}
- itr = itr->ai_next;
+ } else if (iterator->ai_family != AF_INET &&
+ iterator->ai_family != AF_INET6) {
+ /* we can't handle other family types */
+ skip = 1;
+ break;
}
+ itr = itr->ai_next;
+ }
- if (!skip) {
- struct addrinfo *next
- = (struct addrinfo*) malloc(sizeof(struct addrinfo));
- if (!next) {
- JNU_ThrowOutOfMemoryError(env, "heap allocation failed");
- ret = NULL;
- goto cleanupAndReturn;
- }
- memcpy(next, iterator, sizeof(struct addrinfo));
- next->ai_next = NULL;
- if (resNew == NULL) {
- resNew = next;
- } else {
- last->ai_next = next;
- }
- last = next;
- i++;
- if (iterator->ai_family == AF_INET) {
- inetCount ++;
- } else if (iterator->ai_family == AF_INET6) {
- inet6Count ++;
- }
+ if (!skip) {
+ struct addrinfo *next
+ = (struct addrinfo*) malloc(sizeof(struct addrinfo));
+ if (!next) {
+ JNU_ThrowOutOfMemoryError(env, "heap allocation failed");
+ ret = NULL;
+ goto cleanupAndReturn;
+ }
+ memcpy(next, iterator, sizeof(struct addrinfo));
+ next->ai_next = NULL;
+ if (resNew == NULL) {
+ resNew = next;
+ } else {
+ last->ai_next = next;
+ }
+ last = next;
+ i++;
+ if (iterator->ai_family == AF_INET) {
+ inetCount ++;
+ } else if (iterator->ai_family == AF_INET6) {
+ inet6Count ++;
}
- iterator = iterator->ai_next;
}
- retLen = i;
- iterator = resNew;
+ iterator = iterator->ai_next;
+ }
+ retLen = i;
+ iterator = resNew;
- ret = (*env)->NewObjectArray(env, retLen, ni_iacls, NULL);
+ ret = (*env)->NewObjectArray(env, retLen, ni_iacls, NULL);
- if (IS_NULL(ret)) {
- /* we may have memory to free at the end of this */
- goto cleanupAndReturn;
- }
+ if (IS_NULL(ret)) {
+ /* we may have memory to free at the end of this */
+ goto cleanupAndReturn;
+ }
- if (preferIPv6Address) {
- /* AF_INET addresses will be offset by inet6Count */
- inetIndex = inet6Count;
- inet6Index = 0;
- } else {
- /* AF_INET6 addresses will be offset by inetCount */
- inetIndex = 0;
- inet6Index = inetCount;
- }
+ if (preferIPv6Address) {
+ /* AF_INET addresses will be offset by inet6Count */
+ inetIndex = inet6Count;
+ inet6Index = 0;
+ } else {
+ /* AF_INET6 addresses will be offset by inetCount */
+ inetIndex = 0;
+ inet6Index = inetCount;
+ }
- while (iterator != NULL) {
- if (iterator->ai_family == AF_INET) {
+ while (iterator != NULL) {
+ if (iterator->ai_family == AF_INET) {
jobject iaObj = (*env)->NewObject(env, ni_ia4cls, ni_ia4ctrID);
if (IS_NULL(iaObj)) {
- ret = NULL;
- goto cleanupAndReturn;
+ ret = NULL;
+ goto cleanupAndReturn;
}
(*env)->SetIntField(env, iaObj, ni_iaaddressID,
ntohl(((struct sockaddr_in*)iterator->ai_addr)->sin_addr.s_addr));
(*env)->SetObjectField(env, iaObj, ni_iahostID, host);
(*env)->SetObjectArrayElement(env, ret, inetIndex, iaObj);
inetIndex++;
- } else if (iterator->ai_family == AF_INET6) {
+ } else if (iterator->ai_family == AF_INET6) {
jint scope = 0;
jbyteArray ipaddress;
jobject iaObj = (*env)->NewObject(env, ni_ia6cls, ni_ia6ctrID);
if (IS_NULL(iaObj)) {
- ret = NULL;
- goto cleanupAndReturn;
+ ret = NULL;
+ goto cleanupAndReturn;
}
ipaddress = (*env)->NewByteArray(env, 16);
if (IS_NULL(ipaddress)) {
- ret = NULL;
- goto cleanupAndReturn;
+ ret = NULL;
+ goto cleanupAndReturn;
}
(*env)->SetByteArrayRegion(env, ipaddress, 0, 16,
(jbyte *)&(((struct sockaddr_in6*)iterator->ai_addr)->sin6_addr));
#ifdef __linux__
if (!kernelIsV22()) {
- scope = ((struct sockaddr_in6*)iterator->ai_addr)->sin6_scope_id;
+ scope = ((struct sockaddr_in6*)iterator->ai_addr)->sin6_scope_id;
}
#else
scope = ((struct sockaddr_in6*)iterator->ai_addr)->sin6_scope_id;
#endif
if (scope != 0) { /* zero is default value, no need to set */
- (*env)->SetIntField(env, iaObj, ia6_scopeidID, scope);
- (*env)->SetBooleanField(env, iaObj, ia6_scopeidsetID, JNI_TRUE);
+ (*env)->SetIntField(env, iaObj, ia6_scopeidID, scope);
+ (*env)->SetBooleanField(env, iaObj, ia6_scopeidsetID, JNI_TRUE);
}
(*env)->SetObjectField(env, iaObj, ni_ia6ipaddressID, ipaddress);
(*env)->SetObjectField(env, iaObj, ni_iahostID, host);
(*env)->SetObjectArrayElement(env, ret, inet6Index, iaObj);
inet6Index++;
- }
- iterator = iterator->ai_next;
}
+ iterator = iterator->ai_next;
}
}
-cleanupAndReturn:
+ cleanupAndReturn:
{
- struct addrinfo *iterator, *tmp;
+ struct addrinfo *iterator, *tmp;
iterator = resNew;
while (iterator != NULL) {
tmp = iterator;
@@ -369,8 +365,7 @@ cleanupAndReturn:
JNU_ReleaseStringPlatformChars(env, host, hostname);
}
- if (NET_addrtransAvailable())
- (*freeaddrinfo_ptr)(res);
+ freeaddrinfo(res);
#endif /* AF_INET6 */
return ret;
@@ -393,44 +388,42 @@ Java_java_net_Inet6AddressImpl_getHostByAddr(JNIEnv *env, jobject this,
int len = 0;
jbyte caddr[16];
- if (NET_addrtransAvailable()) {
- struct sockaddr_in him4;
- struct sockaddr_in6 him6;
- struct sockaddr *sa;
+ struct sockaddr_in him4;
+ struct sockaddr_in6 him6;
+ struct sockaddr *sa;
+ /*
+ * For IPv4 addresses construct a sockaddr_in structure.
+ */
+ if ((*env)->GetArrayLength(env, addrArray) == 4) {
+ jint addr;
+ (*env)->GetByteArrayRegion(env, addrArray, 0, 4, caddr);
+ addr = ((caddr[0]<<24) & 0xff000000);
+ addr |= ((caddr[1] <<16) & 0xff0000);
+ addr |= ((caddr[2] <<8) & 0xff00);
+ addr |= (caddr[3] & 0xff);
+ memset((void *) &him4, 0, sizeof(him4));
+ him4.sin_addr.s_addr = (uint32_t) htonl(addr);
+ him4.sin_family = AF_INET;
+ sa = (struct sockaddr *) &him4;
+ len = sizeof(him4);
+ } else {
/*
- * For IPv4 addresses construct a sockaddr_in structure.
+ * For IPv6 address construct a sockaddr_in6 structure.
*/
- if ((*env)->GetArrayLength(env, addrArray) == 4) {
- jint addr;
- (*env)->GetByteArrayRegion(env, addrArray, 0, 4, caddr);
- addr = ((caddr[0]<<24) & 0xff000000);
- addr |= ((caddr[1] <<16) & 0xff0000);
- addr |= ((caddr[2] <<8) & 0xff00);
- addr |= (caddr[3] & 0xff);
- memset((void *) &him4, 0, sizeof(him4));
- him4.sin_addr.s_addr = (uint32_t) htonl(addr);
- him4.sin_family = AF_INET;
- sa = (struct sockaddr *) &him4;
- len = sizeof(him4);
- } else {
- /*
- * For IPv6 address construct a sockaddr_in6 structure.
- */
- (*env)->GetByteArrayRegion(env, addrArray, 0, 16, caddr);
- memset((void *) &him6, 0, sizeof(him6));
- memcpy((void *)&(him6.sin6_addr), caddr, sizeof(struct in6_addr) );
- him6.sin6_family = AF_INET6;
- sa = (struct sockaddr *) &him6 ;
- len = sizeof(him6) ;
- }
+ (*env)->GetByteArrayRegion(env, addrArray, 0, 16, caddr);
+ memset((void *) &him6, 0, sizeof(him6));
+ memcpy((void *)&(him6.sin6_addr), caddr, sizeof(struct in6_addr) );
+ him6.sin6_family = AF_INET6;
+ sa = (struct sockaddr *) &him6 ;
+ len = sizeof(him6) ;
+ }
- error = (*getnameinfo_ptr)(sa, len, host, NI_MAXHOST, NULL, 0,
- NI_NAMEREQD);
+ error = getnameinfo(sa, len, host, NI_MAXHOST, NULL, 0,
+ NI_NAMEREQD);
- if (!error) {
- ret = (*env)->NewStringUTF(env, host);
- }
+ if (!error) {
+ ret = (*env)->NewStringUTF(env, host);
}
#endif /* AF_INET6 */
@@ -509,11 +502,11 @@ ping6(JNIEnv *env, jint fd, struct sockaddr_in6* him, jint timeout,
n = sendto(fd, sendbuf, plen, 0, (struct sockaddr*) him, sizeof(struct sockaddr_in6));
if (n < 0 && errno != EINPROGRESS) {
#ifdef __linux__
- if (errno != EINVAL)
+ if (errno != EINVAL && errno != EHOSTUNREACH)
/*
* On some Linuxes, when bound to the loopback interface, sendto
- * will fail and errno will be set to EINVAL. When that happens,
- * don't throw an exception, just return false.
+ * will fail and errno will be set to EINVAL or EHOSTUNREACH.
+ * When that happens, don't throw an exception, just return false.
*/
#endif /*__linux__ */
NET_ThrowNew(env, errno, "Can't send ICMP packet");
@@ -677,10 +670,11 @@ Java_java_net_Inet6AddressImpl_isReachable0(JNIEnv *env, jobject this,
case EADDRNOTAVAIL: /* address is not available on the remote machine */
#ifdef __linux__
case EINVAL:
+ case EHOSTUNREACH:
/*
* On some Linuxes, when bound to the loopback interface, connect
- * will fail and errno will be set to EINVAL. When that happens,
- * don't throw an exception, just return false.
+ * will fail and errno will be set to EINVAL or EHOSTUNREACH.
+ * When that happens, don't throw an exception, just return false.
*/
#endif /* __linux__ */
close(fd);
diff --git a/jdk/src/solaris/native/java/net/NetworkInterface.c b/jdk/src/solaris/native/java/net/NetworkInterface.c
index e4f8965..049b2f8 100644
--- a/jdk/src/solaris/native/java/net/NetworkInterface.c
+++ b/jdk/src/solaris/native/java/net/NetworkInterface.c
@@ -1109,7 +1109,7 @@ static netif *enumIPv6Interfaces(JNIEnv *env, int sock, netif *ifs) {
uint8_t ipv6addr[16];
if ((f = fopen(_PATH_PROCNET_IFINET6, "r")) != NULL) {
- while (fscanf(f, "%4s%4s%4s%4s%4s%4s%4s%4s %02x %02x %02x %02x %20s\n",
+ while (fscanf(f, "%4s%4s%4s%4s%4s%4s%4s%4s %08x %02x %02x %02x %20s\n",
addr6p[0], addr6p[1], addr6p[2], addr6p[3], addr6p[4], addr6p[5], addr6p[6], addr6p[7],
&if_idx, &plen, &scope, &dad_status, devname) != EOF) {
diff --git a/jdk/src/solaris/native/java/net/net_util_md.c b/jdk/src/solaris/native/java/net/net_util_md.c
index 25b58f6..963ef2e 100644
--- a/jdk/src/solaris/native/java/net/net_util_md.c
+++ b/jdk/src/solaris/native/java/net/net_util_md.c
@@ -377,37 +377,12 @@ jint IPv6_supported()
* we should also check if the APIs are available.
*/
ipv6_fn = JVM_FindLibraryEntry(RTLD_DEFAULT, "inet_pton");
+ close(fd);
if (ipv6_fn == NULL ) {
- close(fd);
return JNI_FALSE;
+ } else {
+ return JNI_TRUE;
}
-
- /*
- * We've got the library, let's get the pointers to some
- * IPV6 specific functions. We have to do that because, at least
- * on Solaris we may build on a system without IPV6 networking
- * libraries, therefore we can't have a hard link to these
- * functions.
- */
- getaddrinfo_ptr = (getaddrinfo_f)
- JVM_FindLibraryEntry(RTLD_DEFAULT, "getaddrinfo");
-
- freeaddrinfo_ptr = (freeaddrinfo_f)
- JVM_FindLibraryEntry(RTLD_DEFAULT, "freeaddrinfo");
-
- gai_strerror_ptr = (gai_strerror_f)
- JVM_FindLibraryEntry(RTLD_DEFAULT, "gai_strerror");
-
- getnameinfo_ptr = (getnameinfo_f)
- JVM_FindLibraryEntry(RTLD_DEFAULT, "getnameinfo");
-
- if (freeaddrinfo_ptr == NULL || getnameinfo_ptr == NULL) {
- /* We need all 3 of them */
- getaddrinfo_ptr = NULL;
- }
-
- close(fd);
- return JNI_TRUE;
#endif /* AF_INET6 */
}
@@ -613,7 +588,7 @@ static void initLoopbackRoutes() {
int plen, scope, dad_status, if_idx;
if ((f = fopen("/proc/net/if_inet6", "r")) != NULL) {
- while (fscanf(f, "%4s%4s%4s%4s%4s%4s%4s%4s %02x %02x %02x %02x %20s\n",
+ while (fscanf(f, "%4s%4s%4s%4s%4s%4s%4s%4s %08x %02x %02x %02x %20s\n",
addr6p[0], addr6p[1], addr6p[2], addr6p[3],
addr6p[4], addr6p[5], addr6p[6], addr6p[7],
&if_idx, &plen, &scope, &dad_status, devname) == 13) {
@@ -920,10 +895,6 @@ NET_IsEqual(jbyte* caddr1, jbyte* caddr2) {
return 1;
}
-jboolean NET_addrtransAvailable() {
- return (jboolean)(getaddrinfo_ptr != NULL);
-}
-
/*
* Map the Java level socket option to the platform specific
* level and option name.
@@ -1107,7 +1078,7 @@ int getDefaultIPv6Interface(struct in6_addr *target_addr) {
int plen, scope, dad_status, if_idx;
if ((f = fopen("/proc/net/if_inet6", "r")) != NULL) {
- while (fscanf(f, "%4s%4s%4s%4s%4s%4s%4s%4s %02x %02x %02x %02x %20s\n",
+ while (fscanf(f, "%4s%4s%4s%4s%4s%4s%4s%4s %08x %02x %02x %02x %20s\n",
addr6p[0], addr6p[1], addr6p[2], addr6p[3],
addr6p[4], addr6p[5], addr6p[6], addr6p[7],
&if_idx, &plen, &scope, &dad_status, devname) == 13) {
diff --git a/jdk/src/solaris/native/java/net/net_util_md.h b/jdk/src/solaris/native/java/net/net_util_md.h
index 5df5894..28664ab 100644
--- a/jdk/src/solaris/native/java/net/net_util_md.h
+++ b/jdk/src/solaris/native/java/net/net_util_md.h
@@ -102,10 +102,6 @@ void ThrowUnknownHostExceptionWithGaiError(JNIEnv *env,
const char* hostname,
int gai_error);
-/* do we have address translation support */
-
-extern jboolean NET_addrtransAvailable();
-
#define NET_WAIT_READ 0x01
#define NET_WAIT_WRITE 0x02
#define NET_WAIT_CONNECT 0x04
diff --git a/jdk/src/solaris/native/sun/awt/HeadlessToolkit.c b/jdk/src/solaris/native/sun/awt/HeadlessToolkit.c
new file mode 100644
index 0000000..fd17f3b
--- /dev/null
+++ b/jdk/src/solaris/native/sun/awt/HeadlessToolkit.c
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+#include <jni.h>
+#include <jni_util.h>
+
+#ifdef HEADLESS
+
+extern JavaVM *jvm;
+
+JNIEXPORT jint JNICALL
+JNI_OnLoad(JavaVM *vm, void *reserved)
+{
+ jvm = vm;
+ return JNI_VERSION_1_2;
+}
+
+JNIEXPORT jboolean JNICALL AWTIsHeadless() {
+ return JNI_TRUE;
+}
+
+#endif
diff --git a/jdk/src/solaris/native/sun/awt/awt.h b/jdk/src/solaris/native/sun/awt/awt.h
index d83d645..c591300 100644
--- a/jdk/src/solaris/native/sun/awt/awt.h
+++ b/jdk/src/solaris/native/sun/awt/awt.h
@@ -90,74 +90,12 @@ extern void awt_output_flush();
* Unfortunately AWT_LOCK debugging does not work with XAWT due to mixed
* Java/C use of AWT lock.
*/
-#if defined(DEBUG_AWT_LOCK) && !defined(XAWT)
-extern int awt_locked;
-extern char *lastF;
-extern int lastL;
-
-#define AWT_LOCK() do { \
- if (!awtLockInited) { \
- jio_fprintf(stderr, "AWT lock error, awt_lock is null\n"); \
- } \
- if (awt_locked < 0) { \
- jio_fprintf(stderr, \
- "AWT lock error (%s,%d) (last held by %s,%d) %d\n", \
- __FILE__, __LINE__, lastF, lastL, awt_locked); \
- } \
- lastF = __FILE__; \
- lastL = __LINE__; \
- AWT_LOCK_IMPL(); \
- ++awt_locked; \
-} while (0)
-
-#define AWT_NOFLUSH_UNLOCK() do { \
- lastF = ""; \
- lastL = -1; \
- if (awt_locked < 1) { \
- jio_fprintf(stderr, "AWT unlock error (%s,%d,%d)\n", \
- __FILE__, __LINE__, awt_locked); \
- } \
- --awt_locked; \
- AWT_NOFLUSH_UNLOCK_IMPL(); \
-} while (0)
-
-#define AWT_WAIT(tm) do { \
- int old_lockcount = awt_locked; \
- if (awt_locked < 1) { \
- jio_fprintf(stderr, "AWT wait error (%s,%d,%d)\n", \
- __FILE__, __LINE__, awt_locked); \
- } \
- awt_locked = 0; \
- AWT_WAIT_IMPL(tm); \
- awt_locked = old_lockcount; \
-} while (0)
-
-#define AWT_NOTIFY() do { \
- if (awt_locked < 1) { \
- jio_fprintf(stderr, "AWT notify error (%s,%d,%d)\n", \
- __FILE__, __LINE__, awt_locked); \
- } \
- AWT_NOTIFY_IMPL(); \
-} while(0)
-
-#define AWT_NOTIFY_ALL() do { \
- if (awt_locked < 1) { \
- jio_fprintf(stderr, "AWT notify all error (%s,%d,%d)\n", \
- __FILE__, __LINE__, awt_locked); \
- } \
- AWT_NOTIFY_ALL_IMPL(); \
-} while (0)
-
-#else
-
#define AWT_LOCK() AWT_LOCK_IMPL()
#define AWT_NOFLUSH_UNLOCK() AWT_NOFLUSH_UNLOCK_IMPL()
#define AWT_WAIT(tm) AWT_WAIT_IMPL(tm)
#define AWT_NOTIFY() AWT_NOTIFY_IMPL()
#define AWT_NOTIFY_ALL() AWT_NOTIFY_ALL_IMPL()
-#endif /* DEBUG_AWT_LOCK && !XAWT */
-
#ifndef HEADLESS
extern Display *awt_display; /* awt_GraphicsEnv.c */
extern Boolean awt_ModLockIsShiftLock; /* XToolkit.c */
diff --git a/jdk/src/solaris/native/sun/awt/awt_AWTEvent.c b/jdk/src/solaris/native/sun/awt/awt_AWTEvent.c
index aee39e7..72c0b56 100644
--- a/jdk/src/solaris/native/sun/awt/awt_AWTEvent.c
+++ b/jdk/src/solaris/native/sun/awt/awt_AWTEvent.c
@@ -40,14 +40,11 @@
#include "java_awt_event_KeyEvent.h"
#include "jni_util.h"
-#include "canvas.h"
#include "awt_AWTEvent.h"
-#include "awt_Component.h"
struct AWTEventIDs awtEventIDs;
struct InputEventIDs inputEventIDs;
struct KeyEventIDs keyEventIDs;
-struct MComponentPeerIDs mComponentPeerIDs;
JNIEXPORT void JNICALL
Java_java_awt_AWTEvent_initIDs(JNIEnv *env, jclass cls)
@@ -69,61 +66,10 @@ Java_java_awt_event_KeyEvent_initIDs(JNIEnv *env, jclass cls)
keyEventIDs.keyCode = (*env)->GetFieldID(env, cls, "keyCode", "I");
keyEventIDs.keyChar = (*env)->GetFieldID(env, cls, "keyChar", "C");
}
-#ifndef XAWT
-JNIEXPORT void JNICALL
-Java_java_awt_AWTEvent_nativeSetSource(JNIEnv *env, jobject self,
- jobject newSource)
-{
- jbyteArray bdata;
-
- AWT_LOCK();
-
- bdata = (jbyteArray)(*env)->GetObjectField(env, self, awtEventIDs.bdata);
-
- if (bdata != NULL) {
- XEvent *xev;
- Window w;
- jboolean dummy;
- /* get the widget out of the peer newSource */
- struct ComponentData *cdata = (struct ComponentData *)
- JNU_GetLongFieldAsPtr(env, newSource, mComponentPeerIDs.pData);
- if (JNU_IsNull(env, cdata) || (cdata == NULL) ||
- ((cdata->widget != NULL) && (XtIsObject(cdata->widget)) &&
- (cdata->widget->core.being_destroyed))) {
- JNU_ThrowNullPointerException(env, "null widget");
- AWT_UNLOCK();
- return;
- }
-
- /* get the Window out of the widget */
- w = XtWindow(cdata->widget);
-
- if (w == None) {
- JNU_ThrowNullPointerException(env, "null window");
- AWT_UNLOCK();
- return;
- }
-
- /* reset the filed in the event */
- xev = (XEvent *)(*env)->GetPrimitiveArrayCritical(env, bdata, &dummy);
- if (xev == NULL) {
- JNU_ThrowNullPointerException(env, "null data");
- AWT_UNLOCK();
- return;
- }
- xev->xany.window = w;
- (*env)->ReleasePrimitiveArrayCritical(env, bdata, (void *)xev, 0);
- }
-
- AWT_UNLOCK();
-}
-#else
JNIEXPORT void JNICALL
Java_java_awt_AWTEvent_nativeSetSource(JNIEnv *env, jobject self,
jobject newSource)
{
}
-
-#endif
diff --git a/jdk/src/solaris/native/sun/awt/awt_Component.h b/jdk/src/solaris/native/sun/awt/awt_Component.h
index 560b63e..7a43ab8 100644
--- a/jdk/src/solaris/native/sun/awt/awt_Component.h
+++ b/jdk/src/solaris/native/sun/awt/awt_Component.h
@@ -42,25 +42,3 @@ struct ComponentIDs {
jmethodID getParent;
jmethodID getLocationOnScreen;
};
-
-/* field and method IDs for Container */
-struct ContainerIDs {
- jfieldID layoutMgr;
- jmethodID getComponents;
- jmethodID findComponentAt;
-};
-
-/* fieldIDs for MComponentPeer fields that may be accessed from C */
-struct MComponentPeerIDs {
- jfieldID pData;
- jfieldID target;
- jfieldID jniGlobalRef;
- jfieldID graphicsConfig;
- jfieldID drawState;
- jmethodID isFocusableMID;
-};
-
-#ifndef HEADLESS
-extern void processTree(Widget from, Widget to, Boolean action);
-#endif // HEADLESS
-
diff --git a/jdk/src/solaris/native/sun/awt/awt_DrawingSurface.c b/jdk/src/solaris/native/sun/awt/awt_DrawingSurface.c
index 21cc862..fe19f99 100644
--- a/jdk/src/solaris/native/sun/awt/awt_DrawingSurface.c
+++ b/jdk/src/solaris/native/sun/awt/awt_DrawingSurface.c
@@ -29,30 +29,21 @@
#include "awt_p.h"
#include "java_awt_Component.h"
-//#include "sun_awt_motif_MComponentPeer.h"
#include "awt_Component.h"
-
#include <jni.h>
#include <jni_util.h>
#include <jawt_md.h>
-extern struct MComponentPeerIDs mComponentPeerIDs;
extern struct ComponentIDs componentIDs;
-#ifndef XAWT
-extern AwtGraphicsConfigDataPtr
-getGraphicsConfigFromComponentPeer(JNIEnv *env, jobject this);
-#endif
-#ifdef XAWT
#include "awt_GraphicsEnv.h"
extern jfieldID windowID;
extern jfieldID targetID;
extern jfieldID graphicsConfigID;
extern jfieldID drawStateID;
extern struct X11GraphicsConfigIDs x11GraphicsConfigIDs;
-#endif
/*
* Lock the surface of the target component for native rendering.
@@ -109,13 +100,8 @@ JNIEXPORT jint JNICALL awt_DrawingSurface_Lock(JAWT_DrawingSurface* ds)
return (jint)JAWT_LOCK_ERROR;
}
-#ifndef XAWT
- drawState = (*env)->GetIntField(env, peer, mComponentPeerIDs.drawState);
- (*env)->SetIntField(env, peer, mComponentPeerIDs.drawState, 0);
-#else
drawState = (*env)->GetIntField(env, peer, drawStateID);
(*env)->SetIntField(env, peer, drawStateID, 0);
-#endif
return drawState;
}
@@ -127,9 +113,7 @@ JNIEXPORT int32_t JNICALL
jclass componentClass;
AwtGraphicsConfigDataPtr adata;
int32_t result;
-#ifdef XAWT
jobject gc_object;
-#endif
if (ds == NULL) {
#ifdef DEBUG
fprintf(stderr, "Drawing Surface is NULL\n");
@@ -164,9 +148,6 @@ JNIEXPORT int32_t JNICALL
AWT_UNLOCK();
return (int32_t) 0;
}
-#ifndef XAWT
- adata = getGraphicsConfigFromComponentPeer(env, peer);
-#else
/* GraphicsConfiguration object of MComponentPeer */
gc_object = (*env)->GetObjectField(env, peer, graphicsConfigID);
@@ -177,7 +158,6 @@ JNIEXPORT int32_t JNICALL
} else {
adata = getDefaultConfig(DefaultScreen(awt_display));
}
-#endif
result = adata->AwtColorMatch(r, g, b, adata);
AWT_UNLOCK();
@@ -201,9 +181,6 @@ awt_DrawingSurface_GetDrawingSurfaceInfo(JAWT_DrawingSurface* ds)
jclass componentClass;
JAWT_X11DrawingSurfaceInfo* px;
JAWT_DrawingSurfaceInfo* p;
-#ifndef XAWT
- struct ComponentData *cdata;
-#endif
XWindowAttributes attrs;
if (ds == NULL) {
@@ -241,31 +218,14 @@ awt_DrawingSurface_GetDrawingSurfaceInfo(JAWT_DrawingSurface* ds)
return NULL;
}
-#ifndef XAWT
- /* Get the component data from the peer */
- cdata = (struct ComponentData *)
- JNU_GetLongFieldAsPtr(env, peer, mComponentPeerIDs.pData);
- if (cdata == NULL) {
-#ifdef DEBUG
- fprintf(stderr, "Component data is NULL\n");
-#endif
- AWT_UNLOCK();
- return NULL;
- }
-#endif
-
- AWT_UNLOCK();
+ AWT_UNLOCK();
/* Allocate platform-specific data */
px = (JAWT_X11DrawingSurfaceInfo*)
malloc(sizeof(JAWT_X11DrawingSurfaceInfo));
/* Set drawable and display */
-#ifndef XAWT
- px->drawable = XtWindow(cdata->widget);
-#else
px->drawable = (*env)->GetLongField(env, peer, windowID);
-#endif
px->display = awt_display;
/* Get window attributes to set other values */
@@ -392,21 +352,7 @@ JNIEXPORT jobject JNICALL
AWT_LOCK();
-#ifndef XAWT
- if (window != None) {
- widget = XtWindowToWidget(awt_display, window);
- }
-
- if (widget != NULL) {
- XtVaGetValues (widget, XmNuserData, &peer, NULL);
- }
-
- if (peer != NULL) {
- target = (*env)->GetObjectField(env, peer, mComponentPeerIDs.target);
- }
-#else
target = (*env)->GetObjectField(env, peer, targetID);
-#endif
if (target == NULL) {
JNU_ThrowNullPointerException(env, "NullPointerException");
diff --git a/jdk/src/solaris/native/sun/awt/awt_Font.c b/jdk/src/solaris/native/sun/awt/awt_Font.c
index 871a19c..239ea32 100644
--- a/jdk/src/solaris/native/sun/awt/awt_Font.c
+++ b/jdk/src/solaris/native/sun/awt/awt_Font.c
@@ -30,8 +30,6 @@
#include "java_awt_Component.h"
#include "java_awt_Font.h"
#include "java_awt_FontMetrics.h"
-#include "sun_awt_motif_MToolkit.h"
-#include "sun_awt_motif_X11FontMetrics.h"
#include "sun_awt_X11GraphicsEnvironment.h"
#include "awt_Font.h"
@@ -100,57 +98,6 @@ Java_java_awt_Font_initIDs
}
#ifndef HEADLESS
-
-/* fieldIDs for X11FontMetrics fields that may be accessed from C */
-static struct X11FontMetricsIDs {
- jfieldID widths;
- jfieldID font;
- jfieldID ascent;
- jfieldID descent;
- jfieldID leading;
- jfieldID height;
- jfieldID maxAscent;
- jfieldID maxDescent;
- jfieldID maxHeight;
- jfieldID maxAdvance;
-} x11FontMetricsIDs;
-
-/*
- * Class: sun_awt_motif_X11FontMetrics
- * Method: initIDs
- * Signature: ()V
- */
-
-/* This function gets called from the static initializer for
- X11FontMetrics.java to initialize the fieldIDs for fields
- that may be accessed from C */
-
-JNIEXPORT void JNICALL
-Java_sun_awt_motif_X11FontMetrics_initIDs
- (JNIEnv *env, jclass cls)
-{
- x11FontMetricsIDs.widths = (*env)->GetFieldID(env, cls, "widths", "[I");
- x11FontMetricsIDs.font =
- (*env)->GetFieldID(env, cls, "font", "Ljava/awt/Font;");
- x11FontMetricsIDs.ascent =
- (*env)->GetFieldID(env, cls, "ascent", "I");
- x11FontMetricsIDs.descent =
- (*env)->GetFieldID(env, cls, "descent", "I");
- x11FontMetricsIDs.leading =
- (*env)->GetFieldID(env, cls, "leading", "I");
- x11FontMetricsIDs.height =
- (*env)->GetFieldID(env, cls, "height", "I");
- x11FontMetricsIDs.maxAscent =
- (*env)->GetFieldID(env, cls, "maxAscent", "I");
- x11FontMetricsIDs.maxDescent =
- (*env)->GetFieldID(env, cls, "maxDescent", "I");
- x11FontMetricsIDs.maxHeight =
- (*env)->GetFieldID(env, cls, "maxHeight", "I");
- x11FontMetricsIDs.maxAdvance =
- (*env)->GetFieldID(env, cls, "maxAdvance", "I");
-}
-
-
/* fieldIDs for FontDescriptor fields that may be accessed from C */
static struct FontDescriptorIDs {
jfieldID nativeName;
@@ -182,27 +129,6 @@ Java_sun_awt_FontDescriptor_initIDs
#endif /* !HEADLESS */
}
-#ifndef HEADLESS
-struct MFontPeerIDs mFontPeerIDs;
-/*
- * Class: sun_awt_motif_MFontPeer
- * Method: initIDs
- * Signature: ()V
- */
-
-/* This function gets called from the static initializer for
- MFontPeer.java to initialize the fieldIDs for fields
- that may be accessed from C */
-
-JNIEXPORT void JNICALL
-Java_sun_awt_motif_MFontPeer_initIDs
- (JNIEnv *env, jclass cls)
-{
- mFontPeerIDs.xfsname =
- (*env)->GetFieldID(env, cls, "xfsname", "Ljava/lang/String;");
-}
-#endif /* !HEADLESS */
-
/*
* Class: sun_awt_PlatformFont
* Method: initIDs
@@ -747,193 +673,6 @@ awtJNI_GetFontData(JNIEnv * env, jobject font, char **errmsg)
}
/*
- * Class: sun_awt_motif_X11FontMetrics
- * Method: getMFCharsWidth
- * Signature: ([CIILjava/awt/Font;)I
- */
-JNIEXPORT jint JNICALL Java_sun_awt_motif_X11FontMetrics_getMFCharsWidth
- (JNIEnv *env, jobject this, jcharArray data, jint offset, jint length, jobject font)
-{
- jint retVal = 0;
-
- AWT_LOCK();
-
- retVal = awtJNI_GetMFStringWidth(env, data, offset, length, font);
-
- AWT_UNLOCK();
- return retVal;
-}
-
-/*
- * Class: sun_awt_motif_X11FontMetrics
- * Method: bytesWidth
- * Signature: ([BII)I
- */
-JNIEXPORT jint JNICALL Java_sun_awt_motif_X11FontMetrics_bytesWidth
- (JNIEnv *env, jobject this, jbyteArray str, jint off, jint len)
-{
- jint w = 0;
- unsigned char *s = NULL, *tmpPointer = NULL;
- int32_t ch = 0;
- int32_t cnt = 0;
- jobject widths = NULL;
- jint tempWidths[256];
- jint maxAdvance = 0;
- int32_t widlen = 0;
-
- if (JNU_IsNull(env, str)) {
- JNU_ThrowNullPointerException(env, "NullPointerException");
- return 0;
- }
-
- cnt = (*env)->GetArrayLength(env, str);
- if (cnt == 0) {
- return 0;
- }
-
- widths = (*env)->GetObjectField(env, this, x11FontMetricsIDs.widths);
- maxAdvance = (*env)->GetIntField(env, this, x11FontMetricsIDs.maxAdvance);
- if (!JNU_IsNull(env, widths)) {
- w = 0;
- widlen = (*env)->GetArrayLength(env, widths);
- (*env)->GetIntArrayRegion(env, widths, 0, widlen, (jint *) tempWidths);
-
- s = tmpPointer = (unsigned char *) (*env)->GetPrimitiveArrayCritical(env, str, NULL);
- if (s == NULL) {
- return 0;
- }
-
- while (--cnt >= 0) {
- ch = *tmpPointer++;
- if (ch < widlen) {
- w += tempWidths[ch];
- } else {
- w += maxAdvance;
- }
- }
-
- (*env)->ReleasePrimitiveArrayCritical(env, str, (jchar *) s, JNI_ABORT);
- } else {
- w = maxAdvance * cnt;
- }
- return w;
-}
-
-/*
- * Class: sun_awt_motif_X11FontMetrics
- * Method: init
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_sun_awt_motif_X11FontMetrics_init
- (JNIEnv *env, jobject this)
-{
- jobject font = NULL;
- struct FontData *fdata = NULL;
- jint tempWidths[256];
- jintArray widths = NULL;
- int32_t ccount = 0;
- int32_t i = 0;
- int32_t tempWidthsIndex = 0;
- char *err = NULL;
-
- if (JNU_IsNull(env, this)) {
- JNU_ThrowNullPointerException(env, "NullPointerException");
- return;
- }
- AWT_LOCK();
-
- font = (*env)->GetObjectField(env, this, x11FontMetricsIDs.font);
- if (JNU_IsNull(env, this)) {
- JNU_ThrowNullPointerException(env, "NullPointerException");
- AWT_UNLOCK();
- return;
- }
- fdata = awtJNI_GetFontData(env, font, &err);
- if (fdata == NULL) {
- JNU_ThrowInternalError(env, err);
- AWT_UNLOCK();
- return;
- }
-
- /*
- * Bug 4103248, 4120310. We must take all of the fonts into
- * consideration in providing the metrics, not just the 8859-1 font,
- * because the underlying Motif widgets are.
- */
- if (awtJNI_IsMultiFont(env, font) && fdata->xfs == NULL) {
- fdata->xfs = awtJNI_MakeFontSet(env, font);
- }
- if (fdata->xfs != NULL) {
- XFontSetExtents *fs_extents = NULL;
- fs_extents = XExtentsOfFontSet(fdata->xfs);
-
- (*env)->SetIntField(env, this, x11FontMetricsIDs.maxAscent,
- (jint)(-fs_extents->max_logical_extent.y));
- (*env)->SetIntField(env, this, x11FontMetricsIDs.maxDescent,
- (jint)(fs_extents->max_logical_extent.height +
- fs_extents->max_logical_extent.y));
- (*env)->SetIntField(env, this, x11FontMetricsIDs.maxAdvance,
- (jint)(fs_extents->max_logical_extent.width));
- (*env)->SetIntField(env, this, x11FontMetricsIDs.ascent,
- (jint)(-fs_extents->max_ink_extent.y));
- (*env)->SetIntField(env, this, x11FontMetricsIDs.descent,
- (jint)(fs_extents->max_ink_extent.height +
- fs_extents->max_ink_extent.y));
- } else {
- (*env)->SetIntField(env, this, x11FontMetricsIDs.maxAscent,
- (jint) fdata->xfont->max_bounds.ascent);
- (*env)->SetIntField(env, this, x11FontMetricsIDs.maxDescent,
- (jint) fdata->xfont->max_bounds.descent);
- (*env)->SetIntField(env, this, x11FontMetricsIDs.maxAdvance,
- (jint) fdata->xfont->max_bounds.width);
- (*env)->SetIntField(env, this, x11FontMetricsIDs.ascent,
- (jint) fdata->xfont->ascent);
- (*env)->SetIntField(env, this, x11FontMetricsIDs.descent,
- (jint) fdata->xfont->descent);
- }
-
- (*env)->SetIntField(env, this, x11FontMetricsIDs.leading, (jint) 1);
- (*env)->SetIntField(env, this, x11FontMetricsIDs.height,
- (jint) fdata->xfont->ascent + fdata->xfont->descent + 1);
- (*env)->SetIntField(env, this, x11FontMetricsIDs.maxHeight,
- (jint) fdata->xfont->max_bounds.ascent
- + fdata->xfont->max_bounds.descent + 1);
-
-
- widths = (*env)->NewIntArray(env, 256);
- (*env)->SetObjectField(env, this, x11FontMetricsIDs.widths, widths);
- if (JNU_IsNull(env, widths)) {
- JNU_ThrowOutOfMemoryError(env, "OutOfMemoryError");
- AWT_UNLOCK();
- return;
- }
- /*
- * We could pin the array and then release it, but I believe this method
- * is faster and perturbs the VM less
- *
- */
- memset(tempWidths, 0, 256 * sizeof(jint));
-
- tempWidthsIndex = fdata->xfont->min_char_or_byte2;
-
- ccount = fdata->xfont->max_char_or_byte2 - fdata->xfont->min_char_or_byte2;
-
- if (fdata->xfont->per_char) {
- for (i = 0; i <= ccount; i++) {
- tempWidths[tempWidthsIndex++] = (jint) fdata->xfont->per_char[i].width;
- }
- } else {
- for (i = 0; i <= ccount; i++) {
- tempWidths[tempWidthsIndex++] = (jint) fdata->xfont->max_bounds.width;
- }
- }
-
- (*env)->SetIntArrayRegion(env, widths, 0, 256, (jint *) tempWidths);
-
- AWT_UNLOCK();
-}
-
-/*
* Registered with the 2D disposer to be called after the Font is GC'd.
*/
static void pDataDisposeMethod(JNIEnv *env, jlong pData)
diff --git a/jdk/src/solaris/native/sun/awt/awt_Font.h b/jdk/src/solaris/native/sun/awt/awt_Font.h
index 6231799..ca00288 100644
--- a/jdk/src/solaris/native/sun/awt/awt_Font.h
+++ b/jdk/src/solaris/native/sun/awt/awt_Font.h
@@ -34,8 +34,8 @@ struct FontIDs {
jmethodID getFamily;
};
-/* fieldIDs for MFontPeer fields that may be accessed from C */
-struct MFontPeerIDs {
+/* fieldIDs for XFontPeer fields that may be accessed from C */
+struct XFontPeerIDs {
jfieldID xfsname;
};
diff --git a/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c b/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c
index 301df87..f6e4b06 100644
--- a/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c
+++ b/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c
@@ -45,7 +45,6 @@
#include <stdlib.h>
#include "awt_GraphicsEnv.h"
-#include "awt_Window.h"
#include "awt_util.h"
#include "gdefs.h"
#include <dlfcn.h>
@@ -94,8 +93,6 @@ jboolean awtLockInited = JNI_FALSE;
struct X11GraphicsConfigIDs x11GraphicsConfigIDs;
struct X11GraphicsDeviceIDs x11GraphicsDeviceIDs;
-extern struct WindowIDs mWindowIDs;
-extern struct MWindowPeerIDs mWindowPeerIDs;
#ifndef HEADLESS
int awtCreateX11Colormap(AwtGraphicsConfigDataPtr adata);
@@ -570,75 +567,6 @@ getAllConfigs (JNIEnv *env, int screen, AwtScreenDataPtr screenDataPtr) {
AWT_UNLOCK ();
}
-/*
- * Determing if this top-level has been moved onto another Xinerama screen.
- * Called from awt_TopLevel.c
- *
- * ASSUME: wdata != null
- */
-#ifndef HEADLESS
-void checkNewXineramaScreen(JNIEnv* env, jobject peer, struct FrameData* wdata,
- int32_t newX, int32_t newY,
- int32_t newWidth, int32_t newHeight) {
- int i;
- int amt;
- int totAmt = 0;
- int largestAmt = 0;
- int largestAmtScr = 0;
-
- int horiz;
- int vert;
-
- if (!usingXinerama) { return; }
-
- totAmt = newWidth * newHeight;
-
- /* assert that peer implements WindowPeer */
- DASSERT(JNU_IsInstanceOfByName(env, peer, "java/awt/peer/WindowPeer"));
-
- DTRACE_PRINTLN4("checkNewXineramaScreen() x=%i y=%i w=%i h=%i\n",newX, newY, newWidth, newHeight);
-
- /* decide which screen we're on
- * if we're spanning, figure out which screen we're most on
- */
- for (i = 0; i < awt_numScreens; i++) {
- if (INTERSECTS(newX, newX + newWidth, newY, newY + newHeight,
- fbrects[i].x, fbrects[i].x + fbrects[i].width,
- fbrects[i].y, fbrects[i].y + fbrects[i].height)) {
-
- /* calc how much of window is on this screen */
- horiz = MIN(newX + newWidth, fbrects[i].x + fbrects[i].width) -
- MAX(newX, fbrects[i].x);
- vert = MIN(newY + newHeight, fbrects[i].y + fbrects[i].height) -
- MAX(newY, fbrects[i].y);
- DASSERT(horiz > 0);
- DASSERT(vert > 0);
-
- amt = horiz * vert;
- if (amt == totAmt) {
- /* completely on this screen - done! */
- largestAmtScr = i;
- break;
- }
- if (amt > largestAmt) {
- largestAmt = amt;
- largestAmtScr = i;
- }
- }
- }
-
-#ifndef XAWT
- /* check if we're on a new screen */
- if (largestAmtScr != wdata->screenNum) {
- wdata->screenNum = largestAmtScr;
- /* update peer, target Comp */
- (*env)->CallVoidMethod(env, peer,
- mWindowPeerIDs.draggedToScreenMID, largestAmtScr);
- }
-#endif /* XAWT */
-}
-#endif /* HEADLESS */
-
#ifndef HEADLESS
#ifdef __linux__
static void xinerama_init_linux()
@@ -1434,11 +1362,17 @@ Java_sun_awt_X11GraphicsConfig_pGetBounds(JNIEnv *env, jobject this, jint screen
fbrects[screen].height);
}
else {
+ XWindowAttributes xwa;
+ memset(&xwa, 0, sizeof(xwa));
+
+ AWT_LOCK ();
+ XGetWindowAttributes(awt_display,
+ RootWindow(awt_display, adata->awt_visInfo.screen),
+ &xwa);
+ AWT_UNLOCK ();
+
bounds = (*env)->NewObject(env, clazz, mid, 0, 0,
- DisplayWidth(awt_display,
- adata->awt_visInfo.screen),
- DisplayHeight(awt_display,
- adata->awt_visInfo.screen));
+ xwa.width, xwa.height);
}
if ((*env)->ExceptionOccurred(env)) {
diff --git a/jdk/src/solaris/native/sun/awt/awt_InputMethod.c b/jdk/src/solaris/native/sun/awt/awt_InputMethod.c
index 116a531..af85e48 100644
--- a/jdk/src/solaris/native/sun/awt/awt_InputMethod.c
+++ b/jdk/src/solaris/native/sun/awt/awt_InputMethod.c
@@ -30,28 +30,14 @@
#include <stdio.h>
#include <stdlib.h>
#include <X11/Xlib.h>
-#ifdef XAWT
#include <sys/time.h>
-#else /* !XAWT */
-#include <Xm/Xm.h>
-#include <Xm/RowColumn.h>
-#include <Xm/MwmUtil.h>
-#include <Xm/MenuShell.h>
-#endif /* XAWT */
#include "awt.h"
#include "awt_p.h"
#include <sun_awt_X11InputMethod.h>
-#ifdef XAWT
#include <sun_awt_X11_XComponentPeer.h>
#include <sun_awt_X11_XInputMethod.h>
-#else /* !XAWT */
-#include <sun_awt_motif_MComponentPeer.h>
-#include <sun_awt_motif_MInputMethod.h>
-
-#define MCOMPONENTPEER_CLASS_NAME "sun/awt/motif/MComponentPeer"
-#endif /* XAWT */
#define THROW_OUT_OF_MEMORY_ERROR() \
JNU_ThrowOutOfMemoryError((JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2), NULL)
@@ -111,11 +97,7 @@ static XIMProc callback_funcs[NCALLBACKS] = {
typedef struct {
Window w; /*status window id */
Window root; /*the root window id */
-#ifdef XAWT
Window parent; /*parent shell window */
-#else
- Widget parent; /*parent shell window */
-#endif
int x, y; /*parent's upperleft position */
int width, height; /*parent's width, height */
GC lightGC; /*gc for light border */
@@ -141,17 +123,10 @@ typedef struct _X11InputMethodData {
XIC ic_active; /* X Input Context for active clients */
XIC ic_passive; /* X Input Context for passive clients */
XIMCallback *callbacks; /* callback parameters */
-#ifndef XAWT
- jobject peer; /* MComponentPeer of client Window */
-#endif /* XAWT */
jobject x11inputmethod; /* global ref to X11InputMethod instance */
/* associated with the XIC */
#ifdef __linux__
StatusWindow *statusWindow; /* our own status window */
-#else
-#ifndef XAWT
- Widget statusWidget; /* IM status window widget */
-#endif /* XAWT */
#endif
char *lookup_buf; /* buffer used for XmbLookupString */
int lookup_buf_len; /* lookup buffer size in bytes */
@@ -191,12 +166,6 @@ Display * dpy = NULL;
#define GetJNIEnv() (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2)
-#ifndef XAWT
-static jobject mcompClass = NULL;
-static jobject awteventClass = NULL;
-static jfieldID mcompPDataID = NULL;
-#endif /* XAWT */
-
static void DestroyXIMCallback(XIM, XPointer, XPointer);
static void OpenXIMCallback(Display *, XPointer, XPointer);
/* Solaris XIM Extention */
@@ -261,28 +230,6 @@ wcstombsdmp(wchar_t *wcs, int len)
return mbs;
}
-#ifndef XAWT
-/*
- * Find a class for the given class name and return a global reference to the
- * class.
- */
-static jobject
-findClass(const char *className)
-{
- JNIEnv *env = GetJNIEnv();
- jclass classClass;
- jobject objectClass;
-
- classClass = (*env)->FindClass(env, className);
- objectClass = (*env)->NewGlobalRef(env,classClass);
-
- if (JNU_IsNull(env, objectClass)) {
- JNU_ThrowClassNotFoundException(env, className);
- }
- return objectClass;
-}
-#endif /* XAWT */
-
/*
* Returns True if the global reference is still in the list,
* otherwise False.
@@ -444,9 +391,6 @@ freeX11InputMethodData(JNIEnv *env, X11InputMethodData *pX11IMData)
free((void *)pX11IMData->callbacks);
if (env) {
-#ifndef XAWT
- (*env)->DeleteGlobalRef(env, pX11IMData->peer);
-#endif /* XAWT */
/* Remove the global reference from the list, so that
the callback function or whoever refers to it could know.
*/
@@ -580,23 +524,10 @@ awt_x11inputmethod_lookupString(XKeyPressedEvent *event, KeySym *keysymp)
/* Get keysym without taking modifiers into account first to map
* to AWT keyCode table.
*/
-#ifndef XAWT
- if (((event->state & ShiftMask) ||
- (event->state & LockMask)) &&
- keysym >= 'A' && keysym <= 'Z')
- {
- keysym = XLookupKeysym(event, 0);
- }
-#endif
-
switch (status) {
case XLookupBoth:
if (!composing) {
-#ifdef XAWT
if (event->keycode != 0) {
-#else
- if (keysym < 128 || ((keysym & 0xff00) == 0xff00)) {
-#endif
*keysymp = keysym;
result = False;
break;
@@ -650,11 +581,7 @@ awt_x11inputmethod_lookupString(XKeyPressedEvent *event, KeySym *keysymp)
#ifdef __linux__
static StatusWindow *createStatusWindow(
-#ifdef XAWT
Window parent) {
-#else
- Widget parent) {
-#endif
StatusWindow *statusWindow;
XSetWindowAttributes attrib;
unsigned long attribmask;
@@ -682,22 +609,12 @@ static StatusWindow *createStatusWindow(
Window *ignoreWindowPtr;
unsigned int ignoreUnit;
-#ifdef XAWT
XGetGeometry(dpy, parent, &rootWindow, &x, &y, &w, &h, &bw, &depth);
-#else
- while (!XtIsShell(parent)){
- parent = XtParent(parent);
- }
-#endif
attrib.override_redirect = True;
attribmask = CWOverrideRedirect;
for (i = 0; i < awt_numScreens; i++) {
-#ifdef XAWT
if (RootWindow(dpy, i) == rootWindow) {
-#else
- if (ScreenOfDisplay(dpy, i) == XtScreen(parent)) {
-#endif
screen = i;
break;
}
@@ -798,11 +715,7 @@ static StatusWindow *createStatusWindow(
/* This method is to turn off or turn on the status window. */
static void onoffStatusWindow(X11InputMethodData* pX11IMData,
-#ifdef XAWT
Window parent,
-#else
- Widget parent,
-#endif
Bool ON){
XWindowAttributes xwa;
Window child;
@@ -820,15 +733,9 @@ static void onoffStatusWindow(X11InputMethodData* pX11IMData,
statusWindow->on = False;
return;
}
-#ifdef XAWT
parent = JNU_CallMethodByName(GetJNIEnv(), NULL, pX11IMData->x11inputmethod,
"getCurrentParentWindow",
"()J").j;
-#else
- while (!XtIsShell(parent)){
- parent = XtParent(parent);
- }
-#endif
if (statusWindow->parent != parent){
statusWindow->parent = parent;
}
@@ -941,11 +848,7 @@ void statusWindowEventHandler(XEvent event){
}
}
-#ifdef XAWT
static void adjustStatusWindow(Window shell){
-#else
-void adjustStatusWindow(Widget shell){
-#endif
JNIEnv *env = GetJNIEnv();
X11InputMethodData *pX11IMData = NULL;
StatusWindow *statusWindow;
@@ -957,11 +860,7 @@ void adjustStatusWindow(Widget shell){
|| !statusWindow->on) {
return;
}
-#ifdef XAWT
{
-#else
- if (statusWindow->parent == shell) {
-#endif
XWindowAttributes xwa;
int x, y;
Window child;
@@ -1009,12 +908,7 @@ void adjustStatusWindow(Widget shell){
* fallback to None styles.
*/
static Bool
-#ifdef XAWT
createXIC(JNIEnv * env, X11InputMethodData *pX11IMData, Window w)
-#else /* !XAWT */
-createXIC(Widget w, X11InputMethodData *pX11IMData,
- jobject tc, jobject peer)
-#endif /* XAWT */
{
XIC active_ic, passive_ic;
XVaNestedList preedit = NULL;
@@ -1031,17 +925,9 @@ createXIC(Widget w, X11InputMethodData *pX11IMData,
if (X11im == NULL) {
return False;
}
-#ifdef XAWT
if (!w) {
return False;
}
-#else /* !XAWT */
- /*
- * If the parent window has one or more TextComponents, the status
- * area of Motif will be shared with the created XIC. Otherwise,
- * root-window style status is used.
- */
-#endif /* XAWT */
ret = XGetIMValues(X11im, XNQueryInputStyle, &im_styles, NULL);
@@ -1064,28 +950,7 @@ createXIC(Widget w, X11InputMethodData *pX11IMData,
}
}
#else /*! __linux__ */
-#ifdef XAWT
on_the_spot_styles |= XIMStatusNothing;
-#else /* !XAWT */
- /*
- * If the parent window has one or more TextComponents, the status
- * area of Motif will be shared with the created XIC. Otherwise,
- * root-window style status is used.
- */
- if (tc != NULL){
- XVaNestedList status = NULL;
- status = awt_motif_getXICStatusAreaList(w, tc);
- if (status != NULL){
- on_the_spot_styles |= XIMStatusArea;
- XFree(status);
- }
- else
- on_the_spot_styles |= XIMStatusNothing;
- }
- else
- on_the_spot_styles |= XIMStatusNothing;
-
-#endif /* XAWT */
#endif /* __linux__ */
for (i = 0; i < im_styles->count_styles; i++) {
@@ -1157,32 +1022,12 @@ createXIC(Widget w, X11InputMethodData *pX11IMData,
XFree((void *)preedit);
}
#else /* !__linux__ */
-#ifndef XAWT
- if (on_the_spot_styles & XIMStatusArea) {
- Widget parent;
- status = awt_motif_getXICStatusAreaList(w, tc);
- if (status == NULL)
- goto err;
- pX11IMData->statusWidget = awt_util_getXICStatusAreaWindow(w);
- pX11IMData->ic_active = XCreateIC(X11im,
- XNClientWindow, pX11IMData->statusWidget,
- XNFocusWindow, w,
- XNInputStyle, active_styles,
- XNPreeditAttributes, preedit,
- XNStatusAttributes, status,
- NULL);
- XFree((void *)status);
- } else {
-#endif /* XAWT */
pX11IMData->ic_active = XCreateIC(X11im,
XNClientWindow, w,
XNFocusWindow, w,
XNInputStyle, active_styles,
XNPreeditAttributes, preedit,
NULL);
-#ifndef XAWT
- }
-#endif /* XAWT */
XFree((void *)preedit);
#endif /* __linux__ */
pX11IMData->ic_passive = XCreateIC(X11im,
@@ -1479,7 +1324,7 @@ static void DestroyXIMCallback(XIM im, XPointer client_data, XPointer call_data)
}
/*
- * Class: java_sun_awt_motif_X11InputMethod
+ * Class: sun_awt_X11InputMethod
* Method: initIDs
* Signature: ()V
*/
@@ -1495,24 +1340,15 @@ Java_sun_awt_X11InputMethod_initIDs(JNIEnv *env, jclass cls)
JNIEXPORT jboolean JNICALL
-#ifdef XAWT
Java_sun_awt_X11_XInputMethod_openXIMNative(JNIEnv *env,
jobject this,
jlong display)
-#else
-Java_sun_awt_motif_MInputMethod_openXIMNative(JNIEnv *env,
- jobject this)
-#endif
{
Bool registered;
AWT_LOCK();
-#ifdef XAWT
dpy = (Display *)jlong_to_ptr(display);
-#else
- dpy = awt_display;
-#endif
/* Use IMInstantiate call back only on Linux, as there is a bug in Solaris
(4768335)
@@ -1534,30 +1370,17 @@ Java_sun_awt_motif_MInputMethod_openXIMNative(JNIEnv *env,
}
JNIEXPORT jboolean JNICALL
-#ifdef XAWT
Java_sun_awt_X11_XInputMethod_createXICNative(JNIEnv *env,
jobject this,
jlong window)
{
-#else /* !XAWT */
-Java_sun_awt_motif_MInputMethod_createXICNative(JNIEnv *env,
- jobject this,
- jobject comp,
- jobject tc)
-{
- struct ComponentData *cdata;
-#endif /* XAWT */
X11InputMethodData *pX11IMData;
jobject globalRef;
XIC ic;
AWT_LOCK();
-#ifdef XAWT
if (!window) {
-#else /* !XAWT */
- if (JNU_IsNull(env, comp)) {
-#endif /* XAWT */
JNU_ThrowNullPointerException(env, "NullPointerException");
AWT_UNLOCK();
return JNI_FALSE;
@@ -1570,40 +1393,16 @@ Java_sun_awt_motif_MInputMethod_createXICNative(JNIEnv *env,
return JNI_FALSE;
}
-#ifndef XAWT
- if (mcompClass == NULL) {
- mcompClass = findClass(MCOMPONENTPEER_CLASS_NAME);
- mcompPDataID = (*env)->GetFieldID(env, mcompClass, "pData", "J");
- }
- cdata = (struct ComponentData *) JNU_GetLongFieldAsPtr(env,comp,mcompPDataID);
-
- if (cdata == 0) {
- free((void *)pX11IMData);
- JNU_ThrowNullPointerException(env, "createXIC");
- AWT_UNLOCK();
- return JNI_FALSE;
- }
-
- pX11IMData->peer = (*env)->NewGlobalRef(env, comp);
-#endif /* XAWT */
globalRef = (*env)->NewGlobalRef(env, this);
pX11IMData->x11inputmethod = globalRef;
#ifdef __linux__
pX11IMData->statusWindow = NULL;
-#else /* __linux__ */
-#ifndef XAWT
- pX11IMData->statusWidget = (Widget) NULL;
-#endif /* XAWT */
#endif /* __linux__ */
pX11IMData->lookup_buf = 0;
pX11IMData->lookup_buf_len = 0;
-#ifdef XAWT
if (createXIC(env, pX11IMData, (Window)window)
-#else /* !XAWT */
- if (createXIC(cdata->widget, pX11IMData, tc, comp)
-#endif /* XAWT */
== False) {
destroyX11InputMethodData((JNIEnv *) NULL, pX11IMData);
pX11IMData = (X11InputMethodData *) NULL;
@@ -1615,77 +1414,6 @@ Java_sun_awt_motif_MInputMethod_createXICNative(JNIEnv *env,
return (pX11IMData != NULL);
}
-#ifndef XAWT
-JNIEXPORT void JNICALL
-Java_sun_awt_motif_MInputMethod_reconfigureXICNative(JNIEnv *env,
- jobject this,
- jobject comp,
- jobject tc)
-{
- X11InputMethodData *pX11IMData;
-
- AWT_LOCK();
-
- pX11IMData = getX11InputMethodData(env, this);
- if (pX11IMData == NULL) {
- AWT_UNLOCK();
- return;
- }
-
- if (pX11IMData->current_ic == (XIC)0) {
- destroyX11InputMethodData(env, pX11IMData);
- pX11IMData = (X11InputMethodData *)NULL;
- } else {
- Bool active;
- struct ComponentData *cdata;
-
- active = pX11IMData->current_ic == pX11IMData->ic_active;
- if (mcompClass == NULL) {
- mcompClass = findClass(MCOMPONENTPEER_CLASS_NAME);
- mcompPDataID = (*env)->GetFieldID(env, mcompClass, "pData", "J");
- }
- cdata = (struct ComponentData *) JNU_GetLongFieldAsPtr(env,comp,mcompPDataID);
- if (cdata == 0) {
- JNU_ThrowNullPointerException(env, "reconfigureXICNative");
- destroyX11InputMethodData(env, pX11IMData);
- pX11IMData = (X11InputMethodData *)NULL;
- }
- XDestroyIC(pX11IMData->ic_active);
- if (pX11IMData->ic_active != pX11IMData->ic_passive)
- XDestroyIC(pX11IMData->ic_passive);
- pX11IMData->current_ic = (XIC)0;
- pX11IMData->ic_active = (XIC)0;
- pX11IMData->ic_passive = (XIC)0;
- if (createXIC(cdata->widget, pX11IMData, tc, comp)) {
- pX11IMData->current_ic = active ?
- pX11IMData->ic_active : pX11IMData->ic_passive;
- /*
- * On Solaris2.6, setXICWindowFocus() has to be invoked
- * before setting focus.
- */
- setXICWindowFocus(pX11IMData->current_ic, cdata->widget);
- setXICFocus(pX11IMData->current_ic, True);
- } else {
- destroyX11InputMethodData((JNIEnv *) NULL, pX11IMData);
- pX11IMData = (X11InputMethodData *)NULL;
- }
- }
-
- setX11InputMethodData(env, this, pX11IMData);
-
- AWT_UNLOCK();
-}
-
-JNIEXPORT void JNICALL
-Java_sun_awt_motif_MInputMethod_setXICFocusNative(JNIEnv *env,
- jobject this,
- jobject comp,
- jboolean req,
- jboolean active)
-{
- struct ComponentData *cdata;
- Widget w;
-#else /* !XAWT */
JNIEXPORT void JNICALL
Java_sun_awt_X11_XInputMethod_setXICFocusNative(JNIEnv *env,
jobject this,
@@ -1693,7 +1421,6 @@ Java_sun_awt_X11_XInputMethod_setXICFocusNative(JNIEnv *env,
jboolean req,
jboolean active)
{
-#endif /* XAWT */
X11InputMethodData *pX11IMData;
AWT_LOCK();
pX11IMData = getX11InputMethodData(env, this);
@@ -1703,40 +1430,16 @@ Java_sun_awt_X11_XInputMethod_setXICFocusNative(JNIEnv *env,
}
if (req) {
-#ifdef XAWT
if (!w) {
AWT_UNLOCK();
return;
}
-#else /* !XAWT */
- struct ComponentData *cdata;
-
- if (JNU_IsNull(env, comp)) {
- AWT_UNLOCK();
- return;
- }
- if (mcompClass == NULL) {
- mcompClass = findClass(MCOMPONENTPEER_CLASS_NAME);
- mcompPDataID = (*env)->GetFieldID(env, mcompClass, "pData", "J");
- }
- cdata = (struct ComponentData *)JNU_GetLongFieldAsPtr(env, comp,
- mcompPDataID);
- if (cdata == 0) {
- JNU_ThrowNullPointerException(env, "setXICFocus pData");
- AWT_UNLOCK();
- return;
- }
-#endif /* XAWT */
-
pX11IMData->current_ic = active ?
pX11IMData->ic_active : pX11IMData->ic_passive;
/*
* On Solaris2.6, setXICWindowFocus() has to be invoked
* before setting focus.
*/
-#ifndef XAWT
- w = cdata->widget;
-#endif /* XAWT */
setXICWindowFocus(pX11IMData->current_ic, w);
setXICFocus(pX11IMData->current_ic, req);
currentX11InputMethodInstance = pX11IMData->x11inputmethod;
@@ -1853,40 +1556,6 @@ Java_sun_awt_X11InputMethod_resetXIC(JNIEnv *env,
return jText;
}
-#ifndef XAWT
-JNIEXPORT void JNICALL
-Java_sun_awt_motif_MInputMethod_configureStatusAreaNative(JNIEnv *env,
- jobject this,
- jobject tc)
-{
- X11InputMethodData *pX11IMData;
- XVaNestedList status;
-
-#ifdef __linux__
- /*do nothing for linux? */
-#else
- AWT_LOCK();
- pX11IMData = getX11InputMethodData(env, this);
-
- if ((pX11IMData == NULL) || (pX11IMData->ic_active == (XIC)0)) {
- AWT_UNLOCK();
- return;
- }
-
- if (pX11IMData->statusWidget) {
- status = awt_motif_getXICStatusAreaList(pX11IMData->statusWidget, tc);
- if (status != (XVaNestedList)NULL) {
- XSetICValues(pX11IMData->ic_active,
- XNStatusAttributes, status,
- NULL);
- XFree((void *)status);
- }
- }
- AWT_UNLOCK();
-#endif
-}
-#endif /* XAWT */
-
/*
* Class: sun_awt_X11InputMethod
* Method: setCompositionEnabledNative
@@ -1964,7 +1633,6 @@ JNIEXPORT jboolean JNICALL Java_sun_awt_X11InputMethod_isCompositionEnabledNativ
return (jboolean)(state == XIMPreeditEnable);
}
-#ifdef XAWT
JNIEXPORT void JNICALL Java_sun_awt_X11_XInputMethod_adjustStatusWindow
(JNIEnv *env, jobject this, jlong window)
{
@@ -1974,4 +1642,3 @@ JNIEXPORT void JNICALL Java_sun_awt_X11_XInputMethod_adjustStatusWindow
AWT_UNLOCK();
#endif
}
-#endif
diff --git a/jdk/src/solaris/native/sun/awt/awt_Robot.c b/jdk/src/solaris/native/sun/awt/awt_Robot.c
index c3384b2..a830756 100644
--- a/jdk/src/solaris/native/sun/awt/awt_Robot.c
+++ b/jdk/src/solaris/native/sun/awt/awt_Robot.c
@@ -28,7 +28,6 @@
#endif
#include "awt_p.h"
-#include "awt_Component.h"
#include "awt_GraphicsEnv.h"
#define XK_MISCELLANY
#include <X11/keysymdef.h>
diff --git a/jdk/src/solaris/native/sun/awt/awt_p.h b/jdk/src/solaris/native/sun/awt/awt_p.h
index 70f1ccf..97d96b3 100644
--- a/jdk/src/solaris/native/sun/awt/awt_p.h
+++ b/jdk/src/solaris/native/sun/awt/awt_p.h
@@ -49,28 +49,6 @@
#include <X11/keysym.h>
#include <X11/keysymdef.h>
#include <X11/extensions/Xrender.h>
-#ifndef XAWT
-#include <Xm/CascadeB.h>
-#include <Xm/DrawingA.h>
-#include <Xm/FileSB.h>
-#include <Xm/BulletinB.h>
-#include <Xm/Form.h>
-#include <Xm/Frame.h>
-#include <Xm/Label.h>
-#include <Xm/PushB.h>
-#include <Xm/PushBG.h>
-#include <Xm/RowColumn.h>
-#include <Xm/ScrollBar.h>
-#include <Xm/ScrolledW.h>
-#include <Xm/SelectioB.h>
-#include <Xm/SeparatoG.h>
-#include <Xm/ToggleB.h>
-#include <Xm/TextF.h>
-#include <Xm/Text.h>
-#include <Xm/List.h>
-#include <Xm/Xm.h>
-#include <Xm/MainW.h>
-#endif
#endif /* !HEADLESS */
#include "awt.h"
#include "awt_util.h"
@@ -78,33 +56,13 @@
#include "colordata.h"
#include "gdefs.h"
-#ifndef XAWT
-#include "GLXGraphicsConfig.h"
-//#include <sun_awt_motif_MComponentPeer.h>
-#endif
-
#ifndef HEADLESS
-#ifndef XAWT
-#include "awt_motif.h"
-#endif
#ifndef min
#define min(a,b) ((a) <= (b)? (a):(b))
#endif
#ifndef max
#define max(a,b) ((a) >= (b)? (a):(b))
#endif
-
-extern Pixel awt_pixel_by_name(Display *dpy, char *color, char *defaultColor);
-
-typedef struct DropSiteInfo* DropSitePtr;
-
-struct WidgetInfo {
- Widget widget;
- Widget origin;
- void* peer;
- jlong event_mask;
- struct WidgetInfo* next;
-};
#endif /* !HEADLESS */
#define RepaintPending_NONE 0
@@ -112,13 +70,6 @@ struct WidgetInfo {
#define RepaintPending_EXPOSE (1 << 1)
#define LOOKUPSIZE 32
-typedef struct _DamageRect {
- int x1;
- int y1;
- int x2;
- int y2;
-} DamageRect;
-
#ifndef HEADLESS
typedef XRenderPictFormat *
@@ -157,110 +108,9 @@ typedef struct _AwtScreenData {
typedef AwtScreenData* AwtScreenDataPtr;
-struct ComponentData {
- Widget widget;
- int repaintPending;
- DamageRect repaintRect;
- DamageRect exposeRect;
- DropSitePtr dsi;
-};
-
-struct MessageDialogData {
- struct ComponentData comp;
- int isModal;
-};
-
-struct CanvasData {
- struct ComponentData comp;
- Widget shell;
- int flags;
-};
-
-struct MenuItemData {
- struct ComponentData comp;
- int index;
-};
-
-struct MenuData {
- struct ComponentData comp;
- struct MenuItemData itemData;
-};
-
-
#define W_GRAVITY_INITIALIZED 1
#define W_IS_EMBEDDED 2
-struct FrameData {
- struct CanvasData winData;
- int isModal;
- Widget mainWindow;
- Widget focusProxy; /* for all key events */
- Widget menuBar;
- Widget warningWindow;
- int top; /* these four are the insets... */
- int bottom;
- int left;
- int right;
- int topGuess; /* these four are the guessed insets */
- int bottomGuess;
- int leftGuess;
- int rightGuess;
- int mbHeight; /* height of the menubar window */
- int wwHeight; /* height of the warning window */
- jint state; /* java.awt.Frame.state bits */
- Boolean reparented;
- Boolean configure_seen;
- Boolean shellResized; /* frame shell has been resized */
- Boolean canvasResized; /* frame inner canvas resized */
- Boolean menuBarReset; /* frame menu bar added/removed */
- Boolean isResizable; /* is this window resizable ? */
- Boolean isFixedSizeSet; /* is fixed size already set ? */
- Boolean isShowing; /* is this window now showing ? */
- Boolean hasTextComponentNative;
- Boolean need_reshape;
- Boolean callbacksAdded; /* needed for fix for 4078176 */
- Pixmap iconPixmap; /* Pixmap to hold icon image */
- int iconWidth;
- int iconHeight;
- int imHeight; /* imStatusBar's height */
- Boolean imRemove; /* ImStatusBar is being removed */
- Boolean fixInsets; /* [jk] REMINDER: remove if possible */
- int decor; /* type of native decorations */
- Boolean initialFocus; /* does Window take focus initially */
- Boolean isInputMethodWindow;
-
- /*
- * Fix for BugTraq ID 4060975.
- * firstShellEH() stores to this field handle of the widget that had
- * focus before the shell was resized so that we can later restore it.
- */
- Widget focusWidget;
- int screenNum; /* Which screen this Window is on. Xinerama-aware. */
- Boolean isDisposeScheduled;
- Boolean isFocusableWindow; /* a cache of Window.isFocusableWindow() return value */
-};
-
-struct ListData {
- struct ComponentData comp;
- Widget list;
-};
-
-struct TextAreaData {
- struct ComponentData comp;
- Widget txt;
-};
-
-struct TextFieldData {
- struct ComponentData comp;
- int echoContextID;
- Boolean echoContextIDInit;
-};
-
-struct FileDialogData {
- struct ComponentData comp;
- char *file;
-};
-
typedef struct awtFontList {
char *xlfd;
int index_length;
@@ -276,33 +126,6 @@ struct FontData {
XFontStruct *xfont; /* Latin1 font */
};
-#ifndef XAWT
-extern XmFontList getMotifFontList(void);
-extern XFontSet getMotifFontSet(void);
-extern XFontStruct *getMotifFontStruct(void);
-extern Boolean awt_isAwtWidget(Widget widget);
-#endif
-
-struct ChoiceData {
- struct ComponentData comp;
- Widget menu;
- Widget *items;
- int maxitems;
- int n_items;
- short n_columns;
-/* Bug 4255631 Solaris: Size returned by Choice.getSize() does not match
- * actual size
- * y and height which Choice takes in pReshape
-*/
- jint bounds_y;
- jint bounds_height;
-};
-
-struct MenuList {
- Widget menu;
- struct MenuList* next;
-};
-
extern struct FontData *awtJNI_GetFontData(JNIEnv *env,jobject font, char **errmsg);
extern AwtGraphicsConfigDataPtr getDefaultConfig(int screen);
@@ -315,20 +138,6 @@ extern AwtScreenDataPtr getScreenData(int screen);
#ifndef HEADLESS
#define XDISPLAY awt_display;
-extern Boolean awt_currentThreadIsPrivileged(JNIEnv *env);
-extern void null_event_handler(Widget w, XtPointer client_data,
- XEvent * event, Boolean * cont);
-
-extern void awt_put_back_event(JNIEnv *env, XEvent *event);
-extern void awt_MToolkit_modalWait(int (*terminateFn)(void *data), void *data);
-extern void awt_Frame_guessInsets(struct FrameData *fdata);
-
-extern void awt_addWidget(Widget w, Widget origin, void *peer, jlong event_mask);
-extern void awt_delWidget(Widget w);
-
-extern void awt_addMenuWidget(Widget w);
-extern void awt_delMenuWidget(Widget w);
-
extern int awt_allocate_colors(AwtGraphicsConfigDataPtr);
extern void awt_allocate_systemcolors(XColor *, int, AwtGraphicsConfigDataPtr);
extern void awt_allocate_systemrgbcolors(jint *, int, AwtGraphicsConfigDataPtr);
@@ -338,24 +147,5 @@ extern int awtJNI_GetColorForVis (JNIEnv *, jobject, AwtGraphicsConfigDataPtr);
extern jobject awtJNI_GetColorModel(JNIEnv *, AwtGraphicsConfigDataPtr);
extern void awtJNI_CreateColorData (JNIEnv *, AwtGraphicsConfigDataPtr, int lock);
-extern Boolean awtJNI_isSelectionOwner(JNIEnv *env, char *sel_str);
-extern void awtJNI_notifySelectionLost(JNIEnv *env, char *sel_str);
-extern void removePopupMenus();
-extern Boolean awtMenuIsActive();
#endif /* !HEADLESS */
-
-extern void awtJNI_DeleteGlobalRef(JNIEnv *env,jobject thiscomp);
-extern void awtJNI_DeleteGlobalMenuRef(JNIEnv *env,jobject thismenu);
-extern jobject awtJNI_CreateAndSetGlobalRef(JNIEnv *env,jobject thiscomp);
-extern void awtJNI_CleanupGlobalRefs(void);
-
-#ifndef HEADLESS
-/* XXX: Motif internals. Need to fix 4090493. */
-#define MOTIF_XmINVALID_DIMENSION ((Dimension) 0xFFFF)
-#define MOTIF_XmDEFAULT_INDICATOR_DIM ((Dimension) 9)
-
-extern Dimension awt_computeIndicatorSize(struct FontData *fdata);
-extern Dimension awt_adjustIndicatorSizeForMenu(Dimension indSize);
-#endif /* !HEADLESS */
-
#endif /* _AWT_P_H_ */
diff --git a/jdk/src/solaris/native/sun/awt/awt_util.c b/jdk/src/solaris/native/sun/awt/awt_util.c
index bf48c09..f1f897c 100644
--- a/jdk/src/solaris/native/sun/awt/awt_util.c
+++ b/jdk/src/solaris/native/sun/awt/awt_util.c
@@ -29,31 +29,15 @@
#include "awt_p.h"
#include "color.h"
-#include "awt_TopLevel.h"
#include <X11/IntrinsicP.h>
#include <X11/Xatom.h>
#include <X11/Xmd.h>
#include <X11/Xutil.h>
#include <X11/Xproto.h>
-#ifndef XAWT
-#include <Xm/MenuShell.h>
-#include <Xm/List.h>
-#include <Xm/Form.h>
-#include <Xm/RowColumn.h>
-#include <Xm/MwmUtil.h>
-#endif /* XAWT */
#include <jni.h>
#include <jni_util.h>
#include <sys/time.h>
-#include "awt_xembed.h"
-
-
-#ifndef XAWT
-#if MOTIF_VERSION!=1
- #include <Xm/GrabShell.h>
-#endif
-#endif
#include "java_awt_event_MouseWheelEvent.h"
@@ -72,7 +56,6 @@ unsigned char xerror_code;
extern jint getModifiers(uint32_t state, jint button, jint keyCode);
extern jint getButton(uint32_t button);
-static int32_t winmgr_running = 0;
static Atom OLDecorDelAtom = 0;
static Atom MWMHints = 0;
static Atom DTWMHints = 0;
@@ -86,840 +69,6 @@ static Atom decor_list[9];
#define MIN(a,b) ((a) < (b) ? (a) : (b))
#endif
-#ifndef XAWT
-/*
- * The following three funtions are to work around menu problems
- */
-
-/*
- * test if there is a menu that has the current focus
- * called from awt_Dialog.c and awt_Component.c
- */
-Boolean
-awt_util_focusIsOnMenu(Display *display)
-{
- Window window;
- Widget widget;
- int32_t rtr;
-
- XGetInputFocus(display, &window, &rtr);
- if (window == None) {
- return False;
- }
-
- widget = XtWindowToWidget(display, window);
- if (widget == NULL) {
- return False;
- }
-
- if (XtIsSubclass(widget, xmMenuShellWidgetClass)) {
- return True;
- }
-
- #if MOTIF_VERSION!=1
- /* Motif 2.1 uses XmGrabShell on XmComboBox instead
- of XmMenuShell
- */
- if (XtIsSubclass(widget, xmGrabShellWidgetClass)) {
- return True;
- }
- /* Fix 4800638 check the ancestor of focus widget is
- GrabSell
- */
- if (XtIsSubclass(widget, xmListWidgetClass))
- {
- Widget shell = getShellWidget(widget);
- if (shell && XtIsSubclass(shell,
- xmGrabShellWidgetClass))
- {
- return True;
- }
- }
- #endif
-
- if (XtIsSubclass(widget, xmRowColumnWidgetClass)) {
- unsigned char type;
- XtVaGetValues(widget, XmNrowColumnType, &type, NULL);
- if (type == XmMENU_BAR) {
- return True;
- }
- }
- return False;
-}
-
-static
-void fillButtonEvent(XButtonEvent *ev, int32_t type, Display *display, Window window) {
- ev->type = type;
- ev->display = display;
- ev->window = window;
- ev->send_event = True;
-
- /* REMIND: multi-screen */
- ev->root = RootWindow(display, DefaultScreen(display));
- ev->subwindow = (Window)None;
- ev->time = CurrentTime;
- ev->x = 0;
- ev->y = 0;
- ev->x_root = 0;
- ev->y_root = 0;
- ev->same_screen = True;
- ev->button = Button1;
- ev->state = Button1Mask;
-}
-
-/*
- * generates a mouse press event and a release event
- * called from awt_Dialog.c
- */
-int32_t
-awt_util_sendButtonClick(Display *display, Window window)
-{
- XButtonEvent ev;
- int32_t status;
-
- fillButtonEvent(&ev, ButtonPress, display, window);
- status = XSendEvent(display, window, True, ButtonPressMask, (XEvent *)&ev);
-
- if (status != 0) {
- fillButtonEvent(&ev, ButtonRelease, display, window);
- status = XSendEvent(display, window, False, ButtonReleaseMask,
- (XEvent *)&ev);
- }
- return status;
-}
-
-Widget
-awt_util_createWarningWindow(Widget parent, char *warning)
-{
- Widget warningWindow;
-#ifdef NETSCAPE
- extern Widget FE_MakeAppletSecurityChrome(Widget parent, char* message);
- warningWindow = FE_MakeAppletSecurityChrome(parent, warning);
-#else
- Widget label;
- int32_t argc;
-#define MAX_ARGC 10
- Arg args[MAX_ARGC];
- int32_t screen = 0;
- int32_t i;
- AwtGraphicsConfigDataPtr adata;
- extern int32_t awt_numScreens;
-
- Pixel gray;
- Pixel black;
-
- for (i = 0; i < awt_numScreens; i++) {
- if (ScreenOfDisplay(awt_display, i) == XtScreen(parent)) {
- screen = i;
- break;
- }
- }
- adata = getDefaultConfig(screen);
-
- gray = adata->AwtColorMatch(192, 192, 192, adata);
- black = adata->AwtColorMatch(0, 0, 0, adata);
-
- argc = 0;
- XtSetArg(args[argc], XmNbackground, gray); argc++;
- XtSetArg(args[argc], XmNmarginHeight, 0); argc++;
- XtSetArg(args[argc], XmNmarginWidth, 0); argc++;
- XtSetArg (args[argc], XmNscreen, XtScreen(parent)); argc++;
-
- DASSERT(!(argc > MAX_ARGC));
- warningWindow = XmCreateForm(parent, "main", args, argc);
-
- XtManageChild(warningWindow);
- label = XtVaCreateManagedWidget(warning,
- xmLabelWidgetClass, warningWindow,
- XmNhighlightThickness, 0,
- XmNbackground, gray,
- XmNforeground, black,
- XmNalignment, XmALIGNMENT_CENTER,
- XmNrecomputeSize, False,
- NULL);
- XtVaSetValues(label,
- XmNbottomAttachment, XmATTACH_FORM,
- XmNtopAttachment, XmATTACH_FORM,
- XmNleftAttachment, XmATTACH_FORM,
- XmNrightAttachment, XmATTACH_FORM,
- NULL);
-#endif
- return warningWindow;
-}
-
-void
-awt_setWidgetGravity(Widget w, int32_t gravity)
-{
- XSetWindowAttributes xattr;
- Window win = XtWindow(w);
-
- if (win != None) {
- xattr.bit_gravity = StaticGravity;
- xattr.win_gravity = StaticGravity;
- XChangeWindowAttributes(XtDisplay(w), win,
- CWBitGravity|CWWinGravity,
- &xattr);
- }
-}
-
-Widget get_shell_focused_widget(Widget w) {
- while (w != NULL && !XtIsShell(w)) {
- w = XtParent(w);
- }
- if (w != NULL) {
- return XmGetFocusWidget(w);
- } else {
- return NULL;
- }
-}
-
-void
-awt_util_reshape(Widget w, jint x, jint y, jint wd, jint ht)
-{
- Widget parent;
- Dimension ww, wh;
- Position wx, wy;
- Boolean move = False;
- Boolean resize = False;
- Boolean mapped_when_managed = False;
- Boolean need_to_unmanage = True;
- Widget saved_focus_widget = NULL;
-
- if (w == NULL) {
- JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
- JNU_ThrowNullPointerException(env,"NullPointerException");
- return;
- }
- parent = XtParent(w);
-
- /* Aim: hack to prevent direct children of scrollpane from
- * being unmanaged during a reshape operation (which results
- * in too many expose events).
- */
- if (parent != NULL && XtParent(parent) != NULL &&
- XtIsSubclass(XtParent(parent), xmScrolledWindowWidgetClass)) {
- need_to_unmanage = False;
- }
-
- XtVaGetValues(w,
- XmNwidth, &ww,
- XmNheight, &wh,
- XmNx, &wx,
- XmNy, &wy,
- NULL);
-
- if (x != wx || y != wy) {
- move = True;
- }
- if (wd != ww || ht != wh) {
- resize = True;
- }
- if (!move && !resize) {
- return;
- }
-
- if (need_to_unmanage) {
- if (!resize) {
- mapped_when_managed = w->core.mapped_when_managed;
- w->core.mapped_when_managed = False;
- }
- saved_focus_widget = get_shell_focused_widget(w);
- XtUnmanageChild(w);
- }
-
- /* GES: AVH's hack:
- * Motif ignores attempts to move a toplevel window to 0,0.
- * Instead we set the position to 1,1. The expected value is
- * returned by Frame.getBounds() since it uses the internally
- * held rectangle rather than querying the peer.
- * N.B. [pauly, 9/97] This is only required for wm shells
- * under the Motif Window Manager (MWM), not for any others.
- * Note. Utilizes C short-circuiting if w is not a wm shell.
- */
- if ((x == 0) && (y == 0) &&
- (XtIsSubclass(w, wmShellWidgetClass)) &&
- (XmIsMotifWMRunning(w))) {
- XtVaSetValues(w, XmNx, 1, XmNy, 1, NULL);
- }
-
- if (move && !resize) {
- XtVaSetValues(w, XmNx, x, XmNy, y, NULL);
-
- } else if (resize && !move) {
- XtVaSetValues(w,
- XmNwidth, (wd > 0) ? wd : 1,
- XmNheight, (ht > 0) ? ht : 1,
- NULL);
-
- } else {
- XtVaSetValues(w,
- XmNx, x,
- XmNy, y,
- XmNwidth, (wd > 0) ? wd : 1,
- XmNheight, (ht > 0) ? ht : 1,
- NULL);
- }
-
- if (need_to_unmanage) {
- XtManageChild(w);
- if (!resize) {
- w->core.mapped_when_managed = mapped_when_managed;
- }
- if (saved_focus_widget != NULL) {
- Boolean result = XmProcessTraversal(saved_focus_widget, XmTRAVERSE_CURRENT);
- if (!result)
- {
- Widget shell = saved_focus_widget;
- while(shell != NULL && !XtIsShell(shell)) {
- shell = XtParent(shell);
- }
- XtSetKeyboardFocus(shell, saved_focus_widget);
- }
- }
- }
-}
-
-void
-awt_util_hide(Widget w)
-{
- if (w == NULL) {
- JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
- JNU_ThrowNullPointerException(env,"NullPointerException");
- return;
- }
- XtSetMappedWhenManaged(w, False);
-}
-
-void
-awt_util_show(Widget w)
-{
-/*
- extern Boolean scrollBugWorkAround;
-*/
- if (w == NULL) {
- JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
- JNU_ThrowNullPointerException(env,"NullPointerException");
- return;
- }
- XtSetMappedWhenManaged(w, True);
-/*
- XXX: causes problems on 2.5
- if (!scrollBugWorkAround) {
- awt_setWidgetGravity(w, StaticGravity);
- }
-*/
-}
-
-void
-awt_util_enable(Widget w)
-{
- XtSetSensitive(w, True);
-}
-
-void
-awt_util_disable(Widget w)
-{
- XtSetSensitive(w, False);
-}
-
-void
-awt_util_mapChildren(Widget w, void (*func)(Widget,void *),
- int32_t applyToCurrent, void *data) {
- WidgetList wlist;
- Cardinal wlen = 0;
- Cardinal i;
-
- /* The widget may have been destroyed by another thread. */
- if ((w == NULL) || (!XtIsObject(w)) || (w->core.being_destroyed))
- return;
-
- if (applyToCurrent != 0) {
- (*func)(w, data);
- }
- if (!XtIsComposite(w)) {
- return;
- }
-
- XtVaGetValues(w,
- XmNchildren, &wlist,
- XmNnumChildren, &wlen,
- NULL);
- if (wlen > 0) {
- for (i=0; i < wlen; i++) {
- awt_util_mapChildren(wlist[i], func, 1, data);
- }
- }
-}
-
-void
-awt_changeAttributes(Display *dpy, Widget w, unsigned long mask,
- XSetWindowAttributes *xattr)
-{
- WidgetList wlist;
- Cardinal wlen = 0;
- Cardinal i;
-
- if (XtWindow(w) && XtIsRealized(w)) {
- XChangeWindowAttributes(dpy,
- XtWindow(w),
- mask,
- xattr);
- } else {
- return;
- }
- XtVaGetValues(w,
- XmNchildren, &wlist,
- XmNnumChildren, &wlen,
- NULL);
- for (i = 0; i < wlen; i++) {
- if (XtWindow(wlist[i]) && XtIsRealized(wlist[i])) {
- XChangeWindowAttributes(dpy,
- XtWindow(wlist[i]),
- mask,
- xattr);
- }
- }
-}
-
-static Widget prevWgt = NULL;
-
-static void
-DestroyCB(Widget w, XtPointer client_data, XtPointer call_data) {
- if (prevWgt == w) {
- prevWgt = NULL;
- }
-}
-
-int32_t
-awt_util_setCursor(Widget w, Cursor c) {
- static Cursor prevCur = None;
-
- if (XtIsRealized(w)) {
- unsigned long valuemask = 0;
- XSetWindowAttributes attributes;
-
- valuemask = CWCursor;
- if (prevWgt != NULL) {
- attributes.cursor = None;
- XChangeWindowAttributes(awt_display,
- XtWindow(prevWgt),
- valuemask,
- &attributes);
- }
-
- if (c == None) {
- c = prevCur;
- if (w != NULL) {
- XtAddCallback(w, XmNdestroyCallback, DestroyCB, NULL);
- }
- prevWgt = w;
- } else {
- prevCur = c;
- prevWgt = NULL;
- }
- attributes.cursor = c;
- XChangeWindowAttributes(awt_display,
- XtWindow(w),
- valuemask,
- &attributes);
- XFlush(awt_display);
- return 1;
- } else
- return 0;
-}
-
-void
-awt_util_convertEventTimeAndModifiers(XEvent *event,
- ConvertEventTimeAndModifiers *output) {
- switch (event->type) {
- case KeyPress:
- case KeyRelease:
- output->when = awt_util_nowMillisUTC_offset(event->xkey.time);
- output->modifiers = getModifiers(event->xkey.state, 0, 0);
- break;
- case ButtonPress:
- case ButtonRelease:
- output->when = awt_util_nowMillisUTC_offset(event->xbutton.time);
- output->modifiers = getModifiers(event->xbutton.state,
- getButton(event->xbutton.button), 0);
- break;
- default:
- output->when = awt_util_nowMillisUTC();
- output->modifiers =0;
- break;
- }
-}
-
-
-/*
- Part fix for bug id 4017222. Return the widget at the given screen coords
- by searching the widget tree beginning at root. This function will return
- null if the pointer is not over the root widget or child of the root widget.
-
- Additionally, this function will only return a Widget with non-nil XmNuserData.
- In 1.2.1, when the mouse was dragged over a Choice component, this function
- returned the GadgetButton associated with the Choice. This GadgetButton had
- nil as its XmNuserData. This lead to a crash when the nil XmNuserData was
- extracted and used as a reference to a peer. Ooops.
- Now the GadgetButton is not returned and the function goes on to find a widget
- which contains the correct peer reference in XmNuserData.
-*/
-Widget
-awt_WidgetAtXY(Widget root, Position pointerx, Position pointery) {
- Widget answer = NULL;
-
- if(!root) return NULL;
-
- if(XtIsComposite(root)) {
- int32_t i=0;
- WidgetList wl=NULL;
- Cardinal wlen=0;
-
- XtVaGetValues(root, XmNchildren, &wl, XmNnumChildren, &wlen, NULL);
-
- if(wlen>0) {
- for(i=0; i<wlen && !answer; i++) {
- answer = awt_WidgetAtXY(wl[i], pointerx, pointery);
- }
- }
- }
-
- if(!answer) {
- Position wx=0, wy=0;
- Dimension width=0, height=0;
- int32_t lastx=0, lasty=0;
- XtPointer widgetUserData=NULL;
-
- XtVaGetValues(root, XmNwidth, &width, XmNheight, &height,
- XmNuserData, &widgetUserData,
- NULL);
-
- XtTranslateCoords(root, 0, 0, &wx, &wy);
- lastx = wx + width;
- lasty = wy + height;
-
- if(pointerx>=wx && pointerx<=lastx && pointery>=wy && pointery<=lasty &&
- widgetUserData)
- answer = root;
- }
-
- return answer;
-}
-#ifdef __linux__
-
-
-#define MAXARGS 10
-static Arg xic_vlist[MAXARGS];
-static Arg status_vlist[MAXARGS];
-static Arg preedit_vlist[MAXARGS];
-
-#define NO_ARG_VAL -1
-#define SEPARATOR_HEIGHT 2
-
-static XFontSet extract_fontset(XmFontList);
-
-/* get_im_height: returns height of the input method status area in pixels.
- *
- * This function assumes that if any XIM related information cannot be
- * queried then the app must not have an input method status area in the
- * current locale and returns zero as the status area height
- */
-
-static XtPointer*
-get_im_info_ptr(Widget w,
- Boolean create)
-{
- Widget p;
- XmVendorShellExtObject ve;
- XmWidgetExtData extData;
- XmImShellInfo im_info;
- XmImDisplayInfo xim_info;
-
- if (w == NULL)
- return NULL;
-
- p = w;
- while (!XtIsShell(p))
- p = XtParent(p);
-
- /* Check extension data since app could be attempting to create
- * a text widget as child of menu shell. This is illegal, and will
- * be detected later, but check here so we don't core dump.
- */
- if ((extData = _XmGetWidgetExtData((Widget)p, XmSHELL_EXTENSION)) == NULL)
- return NULL;
-
- ve = (XmVendorShellExtObject) extData->widget;
-
- return &ve->vendor.im_info;
-}
-
-static XmImShellInfo
-get_im_info(Widget w,
- Boolean create)
-{
- XmImShellInfo* ptr = (XmImShellInfo *) get_im_info_ptr(w, create);
- if (ptr != NULL)
- return *ptr;
- else
- return NULL;
-}
-
-#endif /* !linux */
-
-Widget
-awt_util_getXICStatusAreaWindow(Widget w)
-{
- while (!XtIsShell(w)){
- w = XtParent(w);
- }
- return w;
-}
-
-#ifdef __linux__
-static XRectangle geometryRect;
-XVaNestedList awt_util_getXICStatusAreaList(Widget w)
-{
- XIC xic;
- XmImXICInfo icp;
- XmVendorShellExtObject ve;
- XmWidgetExtData extData;
- XmImShellInfo im_info;
- XmFontList fl=NULL;
-
- XRectangle *ssgeometry = &geometryRect;
- XRectangle geomRect ;
- XRectangle *im_rect;
- XFontSet *im_font;
-
- Pixel bg ;
- Pixel fg ;
- Dimension height, width ;
- Position x,y ;
- Pixmap bpm, *bpmout ;
-
- XVaNestedList list = NULL;
-
- char *ret;
- Widget p=w;
-
- while (!XtIsShell(p)) {
- p = XtParent(p);
- }
-
- XtVaGetValues(p,
- XmNx, &x,
- XmNy, &y,
- XmNwidth, &width,
- XmNheight, &height,
- XmNbackgroundPixmap, &bpm,
- NULL);
-
- extData = _XmGetWidgetExtData((Widget) p, XmSHELL_EXTENSION);
- if (extData == NULL) {
- return NULL;
- }
- ve = (XmVendorShellExtObject) extData->widget;
- im_info = get_im_info(w, False);
-
- if (im_info == NULL) {
- return NULL;
- } else {
- icp = im_info->iclist;
- }
-
- if (icp) {
- /*
- * We have at least a textfield/textarea in the frame, use the
- * first one.
- */
- ssgeometry->x = 0;
- ssgeometry->y = height - icp->sp_height;
- ssgeometry->width = icp->status_width;
- ssgeometry->height = icp->sp_height;
- XtVaGetValues(w, XmNbackground, &bg, NULL);
- XtVaGetValues(w, XmNforeground, &fg, NULL);
- XtVaGetValues(w, XmNfontList, &fl, NULL);
- /*
- * use motif TextComponent's resource
- */
-
- list = XVaCreateNestedList(0,
- XNFontSet, extract_fontset(fl),
- XNArea, ssgeometry,
- XNBackground, bg,
- XNForeground, fg,
- NULL);
- }
- return list ;
-}
-
-static XFontSet
-extract_fontset(XmFontList fl)
-{
- XmFontContext context;
- XmFontListEntry next_entry;
- XmFontType type_return;
- XtPointer tmp_font;
- XFontSet first_fs = NULL;
- char *font_tag;
-
- if (!XmFontListInitFontContext(&context, fl))
- return NULL;
-
- do {
- next_entry = XmFontListNextEntry(context);
- if (next_entry) {
- tmp_font = XmFontListEntryGetFont(next_entry, &type_return);
- if (type_return == XmFONT_IS_FONTSET) {
- font_tag = XmFontListEntryGetTag(next_entry);
- if (!strcmp(font_tag, XmFONTLIST_DEFAULT_TAG)) {
- XmFontListFreeFontContext(context);
- XtFree(font_tag);
- return (XFontSet) tmp_font;
- }
- XtFree(font_tag);
- if (first_fs == NULL)
- first_fs = (XFontSet) tmp_font;
- }
- }
- } while (next_entry);
-
- XmFontListFreeFontContext(context);
- return first_fs;
-}
-#endif
-
-/*the caller does have the responsibility to free the memory return
- from this function...*/
-char* awt_util_makeWMMenuItem(char *target, Atom protocol){
- char *buf = NULL;
- int32_t buflen = 0;
-
- /*a label in a menuitem is not supposed to be a FullOfSpaceString... */
- buflen = strlen(target) * 3;
- buf = (char*)malloc(buflen + 20);
- if (buf == NULL){
- JNU_ThrowOutOfMemoryError((JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2), NULL);
- }
- else{
- int32_t off = 0;
- char *ptr = target;
- while ((off < (buflen - 20)) && (*ptr != '\0')){
- if (*ptr == ' '){
- *(buf + off++) = 0x5c;
- }
- *(buf + off++) = *ptr++;
- }
- sprintf(buf + off, " f.send_msg %ld", protocol);
- }
- return buf;
-}
-
-/*
- * This callback proc is installed via setting the XmNinsertPosition
- * resource on a widget. It ensures that components added
- * to a widget are inserted in the correct z-order position
- * to match up with their peer/target ordering in Container.java
- */
-Cardinal
-awt_util_insertCallback(Widget w)
-{
- jobject peer;
- WidgetList children;
- Cardinal num_children;
- Widget parent;
- XtPointer userdata;
- Cardinal index;
- int32_t pos;
- JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
-
- parent = XtParent(w);
- XtVaGetValues(parent,
- XmNnumChildren, &num_children,
- XmNchildren, &children,
- NULL);
- XtVaGetValues(w, XmNuserData, &userdata, NULL);
-
- index = num_children; /* default is to add to end */
-
- if (userdata != NULL) {
- peer = (jobject) userdata;
-
- // SECURITY: We are running on the privileged toolkit thread.
- // The peer must *NOT* call into user code
- pos = (int32_t) JNU_CallMethodByName(env
- ,NULL
- ,(jobject) peer
- ,"getZOrderPosition_NoClientCode"
- ,"()I").i;
- if ((*env)->ExceptionOccurred(env)) {
- (*env)->ExceptionDescribe(env);
- (*env)->ExceptionClear(env);
- }
- index = (Cardinal) (pos != -1 ? pos : num_children);
- }
- return index;
-}
-
-void
-awt_util_consumeAllXEvents(Widget widget)
-{
- /* Remove all queued X Events for the window of the widget. */
-
-#define ALL_EVENTS_MASK 0xFFFF
-
- XEvent xev;
-
- XFlush(awt_display);
- while (XCheckWindowEvent(awt_display, XtWindow(widget),
- ALL_EVENTS_MASK, &xev)) ;
-}
-
-#endif /* XAWT */
-/**
- * Gets the thread we are currently executing on
- */
-jobject
-awtJNI_GetCurrentThread(JNIEnv *env) {
- static jclass threadClass = NULL;
- static jmethodID currentThreadMethodID = NULL;
-
- jobject currentThread = NULL;
-
- /* Initialize our java identifiers once. Checking before locking
- * is a huge performance win.
- */
- if (threadClass == NULL) {
- // should enter a monitor here...
- Boolean err = FALSE;
- if (threadClass == NULL) {
- jclass tc = (*env)->FindClass(env, "java/lang/Thread");
- threadClass = (*env)->NewGlobalRef(env, tc);
- if (threadClass != NULL) {
- currentThreadMethodID = (*env)->GetStaticMethodID(env,
- threadClass,
- "currentThread",
- "()Ljava/lang/Thread;"
- );
- }
- }
- if (currentThreadMethodID == NULL) {
- threadClass = NULL;
- err = TRUE;
- }
- if (err) {
- return NULL;
- }
- } /* threadClass == NULL*/
-
- currentThread = (*env)->CallStaticObjectMethod(
- env, threadClass, currentThreadMethodID);
- DASSERT(!((*env)->ExceptionOccurred(env)));
- /*JNU_PrintString(env, "getCurrentThread() -> ", JNU_ToString(env,currentThread));*/
- return currentThread;
-} /* awtJNI_GetCurrentThread() */
-
void
awtJNI_ThreadYield(JNIEnv *env) {
@@ -956,426 +105,3 @@ awtJNI_ThreadYield(JNIEnv *env) {
(*env)->CallStaticVoidMethod(env, threadClass, yieldMethodID);
DASSERT(!((*env)->ExceptionOccurred(env)));
} /* awtJNI_ThreadYield() */
-
-#ifndef XAWT
-
-void
-awt_util_cleanupBeforeDestroyWidget(Widget widget)
-{
- /* Bug 4017222: Drag processing uses global prevWidget. */
- if (widget == prevWidget) {
- prevWidget = NULL;
- }
-}
-
-static Boolean timeStampUpdated = False;
-
-static int32_t
-isTimeStampUpdated(void* p) {
- return timeStampUpdated;
-}
-
-static void
-propertyChangeEventHandler(Widget w, XtPointer client_data,
- XEvent* event, Boolean* continue_to_dispatch) {
- timeStampUpdated = True;
-}
-
-/*
- * If the application doesn't receive events with timestamp for a long time
- * XtLastTimestampProcessed() will return out-of-date value. This may cause
- * selection handling routines to fail (see BugTraq ID 4085183).
- * This routine is to resolve this problem. It queries the current X server
- * time by appending a zero-length data to a property as prescribed by
- * X11 Reference Manual.
- * Note that this is a round-trip request, so it can be slow. If you know
- * that the Xt timestamp is up-to-date use XtLastTimestampProcessed().
- */
-Time
-awt_util_getCurrentServerTime() {
-
- JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
- static Atom _XA_JAVA_TIME_PROPERTY_ATOM = 0;
- Time server_time = 0;
-
- AWT_LOCK();
-
- if (_XA_JAVA_TIME_PROPERTY_ATOM == 0) {
- XtAddEventHandler(awt_root_shell, PropertyChangeMask, False,
- propertyChangeEventHandler, NULL);
- _XA_JAVA_TIME_PROPERTY_ATOM = XInternAtom(awt_display, "_SUNW_JAVA_AWT_TIME", False);
- }
-
- timeStampUpdated = False;
- XChangeProperty(awt_display, XtWindow(awt_root_shell),
- _XA_JAVA_TIME_PROPERTY_ATOM, XA_ATOM, 32, PropModeAppend,
- (unsigned char *)"", 0);
- XFlush(awt_display);
-
- if (awt_currentThreadIsPrivileged(env)) {
- XEvent event;
- XMaskEvent(awt_display, PropertyChangeMask, &event);
- XtDispatchEvent(&event);
- } else {
- awt_MToolkit_modalWait(isTimeStampUpdated, NULL);
- }
- server_time = XtLastTimestampProcessed(awt_display);
-
- AWT_UNLOCK();
-
- return server_time;
-}
-
-/*
- * This function is stolen from /src/solaris/hpi/src/system_md.c
- * It is used in setting the time in Java-level InputEvents
- */
-jlong
-awt_util_nowMillisUTC()
-{
- struct timeval t;
- gettimeofday(&t, NULL);
- return ((jlong)t.tv_sec) * 1000 + (jlong)(t.tv_usec/1000);
-}
-
-/*
- * This function converts between the X server time (number of milliseconds
- * since the last server reset) and the UTC time for the 'when' field of an
- * InputEvent (or another event type with a timestamp).
- */
-jlong
-awt_util_nowMillisUTC_offset(Time server_offset)
-{
- /*
- * Because Time is of type 'unsigned long', it is possible that Time will
- * never wrap when using 64-bit Xlib. However, if a 64-bit client
- * connects to a 32-bit server, I suspect the values will still wrap. So
- * we should not attempt to remove the wrap checking even if _LP64 is
- * true.
- */
- static const jlong WRAP_TIME_MILLIS = (jlong)((uint32_t)-1);
- static jlong reset_time_utc;
-
- jlong current_time_utc = awt_util_nowMillisUTC();
-
- if ((current_time_utc - reset_time_utc) > WRAP_TIME_MILLIS) {
- reset_time_utc = awt_util_nowMillisUTC() -
- awt_util_getCurrentServerTime();
- }
-
- return reset_time_utc + server_offset;
-}
-
-void awt_util_do_wheel_scroll(Widget scrolled_window, jint scrollType,
- jint scrollAmt, jint wheelAmt) {
- Widget scrollbar = NULL;
- int value;
- int slider_size;
- int min;
- int max;
- int increment;
- int page_increment;
- int scrollAdjustment;
- int newValue;
-
- /* TODO:
- * If a TextArea's scrollbar policy is set to never, it should still
- * wheel scroll, but right now it doesn't.
- */
-
- scrollbar = awt_util_get_scrollbar_to_scroll(scrolled_window);
- if (scrollbar == NULL) { /* no suitable scrollbar for scrolling */
- return;
- }
-
- XtVaGetValues(scrollbar, XmNvalue, &value,
- XmNsliderSize, &slider_size,
- XmNminimum, &min,
- XmNmaximum, &max,
- XmNincrement, &increment,
- XmNpageIncrement, &page_increment, NULL);
-
- if (scrollType == java_awt_event_MouseWheelEvent_WHEEL_BLOCK_SCROLL) {
- scrollAdjustment = page_increment;
- }
- else { // WHEEL_UNIT_SCROLL
- scrollAdjustment = increment * scrollAmt;
- }
-
- if (wheelAmt < 0) {
- // Don't need to check that newValue < max - slider_size because
- // newValue < current value. If scrollAmt is ever user-configurable,
- // we'll have to check this.
- newValue = MAX(min, value+ (scrollAdjustment * wheelAmt));
- }
- else {
- newValue = MIN(max - slider_size,
- value + (scrollAdjustment * wheelAmt));
- }
-
- XtVaSetValues(scrollbar, XmNvalue, newValue, NULL);
- XtCallCallbacks(scrollbar, XmNvalueChangedCallback, NULL);
-}
-
-
-/* Given a ScrollWindow widget, return the Scrollbar that the wheel should
- * scroll. A null return value means that the ScrollWindow has a scrollbar
- * display policy of none, or that neither scrollbar can be scrolled.
- */
-Widget awt_util_get_scrollbar_to_scroll(Widget scrolled_window) {
- Widget scrollbar = NULL;
- int value;
- int slider_size;
- int min;
- int max;
-
- /* first, try the vertical scrollbar */
- XtVaGetValues(scrolled_window, XmNverticalScrollBar, &scrollbar, NULL);
- if (scrollbar != NULL) {
- XtVaGetValues(scrollbar, XmNvalue, &value,
- XmNsliderSize, &slider_size,
- XmNminimum, &min,
- XmNmaximum, &max, NULL);
- if (slider_size < max - min) {
- return scrollbar;
- }
- }
-
- /* then, try the horiz */
- XtVaGetValues(scrolled_window, XmNhorizontalScrollBar, &scrollbar, NULL);
- if (scrollbar != NULL) {
- XtVaGetValues(scrollbar, XmNvalue, &value,
- XmNsliderSize, &slider_size,
- XmNminimum, &min,
- XmNmaximum, &max, NULL);
- if (slider_size < max - min) {
- return scrollbar;
- }
- }
- /* neither is suitable for scrolling */
- return NULL;
-}
-
-EmbeddedFrame *theEmbeddedFrameList = NULL;
-
-static void awt_util_updateXtCoordinatesForEmbeddedFrame(Widget ef)
-{
- Window ef_window;
- Window win;
- int32_t x, y;
- ef_window = XtWindow(ef);
- if (ef_window != None) {
- if (XTranslateCoordinates(awt_display, ef_window,
- RootWindowOfScreen(XtScreen(ef)),
- 0, 0, &x, &y, &win)) {
- DTRACE_PRINTLN("correcting coordinates");
- ef->core.x = x;
- ef->core.y = y;
- }
- }
-}
-
-Boolean awt_util_processEventForEmbeddedFrame(XEvent *ev)
-{
- EmbeddedFrame *ef;
- Boolean dummy;
- Boolean eventProcessed = False;
- switch (ev->type) {
- case FocusIn:
- case FocusOut:
- ef = theEmbeddedFrameList;
- while (ef != NULL) {
- if (ef->frameContainer == ev->xfocus.window) {
- eventProcessed = True;
- if (isXEmbedActiveByWindow(XtWindow(ef->embeddedFrame))) {
- return True;
- }
- // pretend that the embedded frame gets a focus event
- // the event's window field is not the same as
- // the embeddedFrame's widget, but luckily the shellEH
- // doesnt seem to care about this.
- shellEH(ef->embeddedFrame, ef->javaRef, ev, &dummy);
- }
- ef = ef->next;
- }
- return eventProcessed;
- case ConfigureNotify:
- for (ef = theEmbeddedFrameList; ef != NULL; ef = ef->next) {
- awt_util_updateXtCoordinatesForEmbeddedFrame(ef->embeddedFrame);
- }
- return True;
- }
- return False;
-}
-
-void awt_util_addEmbeddedFrame(Widget embeddedFrame, jobject javaRef)
-{
- EmbeddedFrame *ef, *eflist;
- Atom WM_STATE;
- Window win;
- Window parent, root;
- Window *children;
- uint32_t nchildren;
- Atom type = None;
- int32_t format;
- unsigned long nitems, after;
- unsigned char * data;
- XWindowAttributes win_attributes;
-
- WM_STATE = XInternAtom(awt_display, "WM_STATE", True);
- if (WM_STATE == None) {
- return;
- }
- win = XtWindow(embeddedFrame);
- if (win == None)
- return;
- /*
- * according to XICCM, we search our toplevel window
- * by looking for WM_STATE property
- */
- while (True) {
- if (!XQueryTree(awt_display, win, &root, &parent,
- &children, &nchildren)) {
- return;
- }
- if (children) {
- XFree(children);
- }
- if (parent == NULL || parent == root) {
- return;
- }
- win = parent;
- /*
- * Add StructureNotifyMask through hierarchy upto toplevel
- */
- XGetWindowAttributes(awt_display, win, &win_attributes);
- XSelectInput(awt_display, win, win_attributes.your_event_mask |
- StructureNotifyMask);
-
- if (XGetWindowProperty(awt_display, win, WM_STATE,
- 0, 0, False, AnyPropertyType,
- &type, &format, &nitems, &after, &data) == Success) {
- XFree(data);
- if (type) {
- break;
- }
- }
- }
- ef = (EmbeddedFrame *) malloc(sizeof(EmbeddedFrame));
- if (ef == NULL) {
- JNU_ThrowOutOfMemoryError((JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2),
- "OutOfMemory in awt_util_addEmbeddedFrame");
- return;
- }
- ef->embeddedFrame = embeddedFrame;
- ef->frameContainer = win;
- ef->javaRef = javaRef;
- ef->eventSelectedPreviously = False;
- /* initialize the xt coordinates */
- awt_util_updateXtCoordinatesForEmbeddedFrame(embeddedFrame);
-
- /*
- * go through the exisiting embedded frames see if we have
- * already selected the event on the same frameContainer
- */
- eflist = theEmbeddedFrameList;
- while (eflist != NULL) {
- if (eflist->frameContainer == win) {
- break;
- }
- eflist = eflist->next;
- }
- if (eflist != NULL) {
- /*
- * we already have a embedded frame selecting this container's
- * event, we remember its eventSelectedPreviously value
- * so that we know whether to deselect later when we are removed
- */
- ef->eventSelectedPreviously = eflist->eventSelectedPreviously;
- } else {
- XGetWindowAttributes(awt_display, ef->frameContainer,
- &win_attributes);
- XSelectInput(awt_display, ef->frameContainer,
- win_attributes.your_event_mask | FocusChangeMask);
- }
-
- /* ef will become the head of the embedded frame list */
- ef->next = theEmbeddedFrameList;
- if (theEmbeddedFrameList != NULL) {
- theEmbeddedFrameList->prev = ef;
- }
- ef->prev = NULL;
- theEmbeddedFrameList = ef;
-}
-
-void awt_util_delEmbeddedFrame(Widget embeddedFrame)
-{
- EmbeddedFrame *ef = theEmbeddedFrameList;
- Window frameContainer;
- XWindowAttributes win_attributes;
- Boolean needToDeselect;
-
- while (ef != NULL) {
- if (ef->embeddedFrame == embeddedFrame) {
- break;
- }
- ef = ef->next;
- }
- if (ef == NULL) { /* cannot find specified embedded frame */
- return;
- }
- /* remove ef from link list EmbeddedFrameList */
- if (ef->prev) {
- ef->prev->next = ef->next;
- }
- if (ef->next) {
- ef->next->prev = ef->prev;
- }
- if (theEmbeddedFrameList == ef) {
- theEmbeddedFrameList = ef->next;
- }
-
- frameContainer = ef->frameContainer;
- needToDeselect = ef->eventSelectedPreviously ? False : True;
- free(ef);
- if (!needToDeselect) {
- return;
- }
- /*
- * now decide whether we need to stop listenning event for
- * frameContainer
- */
- ef = theEmbeddedFrameList;
- while (ef != NULL) {
- if (ef->frameContainer == frameContainer) {
- break;
- }
- ef = ef->next;
- }
- if (ef == NULL) {
- /*
- * if we get here, no one is interested in this frame
- * and StructureNotify was not selected by anyone else
- * so we deselect it
- */
- DTRACE_PRINTLN("remove event from frame");
- XGetWindowAttributes(awt_display, frameContainer, &win_attributes);
- XSelectInput(awt_display, frameContainer,
- win_attributes.your_event_mask &
- (~FocusChangeMask));
- }
-}
-
-#endif /* XAWT */
-
-void awt_util_debug_init() {
-#if defined(DEBUG)
- DTrace_Initialize();
-#endif
-}
-
-static void awt_util_debug_fini() {
-#if defined(DEBUG)
- DTrace_Shutdown();
-#endif
-}
diff --git a/jdk/src/solaris/native/sun/awt/awt_util.h b/jdk/src/solaris/native/sun/awt/awt_util.h
index 38e2fbc..5fb113f 100644
--- a/jdk/src/solaris/native/sun/awt/awt_util.h
+++ b/jdk/src/solaris/native/sun/awt/awt_util.h
@@ -27,58 +27,8 @@
#define _AWT_UTIL_H_
#ifndef HEADLESS
-#ifndef XAWT
-#include <Xm/VendorSEP.h>
-#include <Xm/VendorSP.h>
-#endif
#include "gdefs.h"
-typedef struct ConvertEventTimeAndModifiers {
- jlong when;
- jint modifiers;
-} ConvertEventTimeAndModifiers;
-
-Boolean awt_util_focusIsOnMenu(Display *display);
-int32_t awt_util_sendButtonClick(Display *display, Window window);
-
-Widget awt_util_createWarningWindow(Widget parent, char *warning);
-void awt_util_show(Widget w);
-void awt_util_hide(Widget w);
-void awt_util_enable(Widget w);
-void awt_util_disable(Widget w);
-void awt_util_reshape(Widget w, jint x, jint y, jint wd, jint ht);
-void awt_util_mapChildren(Widget w, void (*func)(Widget,void *),
- int32_t applyToSelf, void *data);
-int32_t awt_util_setCursor(Widget w, Cursor c);
-void awt_util_convertEventTimeAndModifiers
- (XEvent *event, ConvertEventTimeAndModifiers *output);
-Widget awt_WidgetAtXY(Widget root, Position x, Position y);
-char *awt_util_makeWMMenuItem(char *target, Atom protocol);
-Cardinal awt_util_insertCallback(Widget w);
-void awt_util_consumeAllXEvents(Widget widget);
-void awt_util_cleanupBeforeDestroyWidget(Widget widget);
-void awt_util_debug_init();
-Time awt_util_getCurrentServerTime();
-jlong awt_util_nowMillisUTC();
-jlong awt_util_nowMillisUTC_offset(Time server_offset);
-void awt_util_do_wheel_scroll(Widget scrolled_window, jint scrollType,
- jint scrollAmt, jint wheelAmt);
-Widget awt_util_get_scrollbar_to_scroll(Widget window);
-
-
-typedef struct _EmbeddedFrame {
- Widget embeddedFrame;
- Window frameContainer;
- jobject javaRef;
- Boolean eventSelectedPreviously;
- struct _EmbeddedFrame * next;
- struct _EmbeddedFrame * prev;
-} EmbeddedFrame;
-
-void awt_util_addEmbeddedFrame(Widget embeddedFrame, jobject javaRef);
-void awt_util_delEmbeddedFrame(Widget embeddedFrame);
-Boolean awt_util_processEventForEmbeddedFrame(XEvent *ev);
-
#define WITH_XERROR_HANDLER(f) do { \
XSync(awt_display, False); \
xerror_code = Success; \
@@ -115,8 +65,6 @@ extern XErrorHandler xerror_saved_handler;
*/
extern unsigned char xerror_code;
-extern int xerror_ignore_bad_window(Display *dpy, XErrorEvent *err);
-
#endif /* !HEADLESS */
#ifndef INTERSECTS
@@ -143,13 +91,8 @@ struct DPos {
int32_t echoC;
};
-extern jobject awtJNI_GetCurrentThread(JNIEnv *env);
extern void awtJNI_ThreadYield(JNIEnv *env);
-#ifndef HEADLESS
-extern Widget prevWidget;
-#endif /* !HEADLESS */
-
/*
* Functions for accessing fields by name and signature
*/
@@ -183,69 +126,4 @@ JNU_SetBooleanField(JNIEnv *env, jobject self, const char *name, jboolean val);
JNIEXPORT jint JNICALL
JNU_GetCharField(JNIEnv *env, jobject self, const char *name);
-#ifndef HEADLESS
-#ifdef __solaris__
-extern Widget awt_util_getXICStatusAreaWindow(Widget w);
-#else
-int32_t awt_util_getIMStatusHeight(Widget vw);
-XVaNestedList awt_util_getXICStatusAreaList(Widget w);
-Widget awt_util_getXICStatusAreaWindow(Widget w);
-#endif
-
-
-
-
-#ifdef __linux__
-typedef struct _XmImRefRec {
- Cardinal num_refs; /* Number of referencing widgets. */
- Cardinal max_refs; /* Maximum length of refs array. */
- Widget* refs; /* Array of referencing widgets. */
- XtPointer **callbacks;
-} XmImRefRec, *XmImRefInfo;
-
-typedef struct _PreeditBufferRec {
- unsigned short length;
- wchar_t *text;
- XIMFeedback *feedback;
- int32_t caret;
- XIMCaretStyle style;
-} PreeditBufferRec, *PreeditBuffer;
-
-typedef struct _XmImXICRec {
- struct _XmImXICRec *next; /* Links all have the same XIM. */
- XIC xic; /* The XIC. */
- Window focus_window; /* Cached information about the XIC. */
- XIMStyle input_style; /* ...ditto... */
- int32_t status_width; /* ...ditto... */
- int32_t preedit_width; /* ...ditto... */
- int32_t sp_height; /* ...ditto... */
- Boolean has_focus; /* Does this XIC have keyboard focus. */
- Boolean anonymous; /* Do we have exclusive rights to this XIC. */
- XmImRefRec widget_refs; /* Widgets referencing this XIC. */
- struct _XmImXICRec **source; /* Original source of shared XICs. */
- PreeditBuffer preedit_buffer;
-} XmImXICRec, *XmImXICInfo;
-
-typedef struct _XmImShellRec {
- /* per-Shell fields. */
- Widget im_widget; /* Dummy widget to make intrinsics behave. */
- Widget current_widget; /* Widget whose visual we're matching. */
-
- /* per <Shell,XIM> fields. */
- XmImXICInfo shell_xic; /* For PER_SHELL sharing policy. */
- XmImXICInfo iclist; /* All known XICs for this <XIM,Shell>. */
-} XmImShellRec, *XmImShellInfo;
-
-typedef struct {
- /* per-Display fields. */
- XContext current_xics; /* Map widget -> current XmImXICInfo. */
-
- /* per-XIM fields. */
- XIM xim; /* The XIM. */
- XIMStyles *styles; /* XNQueryInputStyle result. */
- XmImRefRec shell_refs; /* Shells referencing this XIM. */
-} XmImDisplayRec, *XmImDisplayInfo;
-
-#endif
-#endif /* !HEADLESS */
#endif /* _AWT_UTIL_H_ */
diff --git a/jdk/src/solaris/native/sun/awt/canvas.h b/jdk/src/solaris/native/sun/awt/canvas.h
index 45cc7da..eafc118 100644
--- a/jdk/src/solaris/native/sun/awt/canvas.h
+++ b/jdk/src/solaris/native/sun/awt/canvas.h
@@ -26,44 +26,7 @@
#define _CANVAS_H_
#ifndef HEADLESS
-void awt_canvas_reconfigure(struct FrameData *wdata);
-Widget awt_canvas_create(XtPointer this,
- Widget parent,
- char *base,
- int32_t width,
- int32_t height,
- Boolean parentIsFrame,
- struct FrameData *wdata,
- AwtGraphicsConfigDataPtr awtData);
-void awt_canvas_scroll(XtPointer this, struct CanvasData *wdata, long dx, long dy);
-void awt_canvas_event_handler(Widget w, XtPointer client_data,
- XEvent *event, Boolean *cont);
-void awt_canvas_handleEvent(Widget w, XtPointer client_data,
- XEvent *event, struct WidgetInfo *winfo,
- Boolean *cont, Boolean passEvent);
-
-void awt_copyXEventToAWTEvent(JNIEnv* env, XEvent * xevent, jobject jevent);
KeySym awt_getX11KeySym(jint awtKey);
-jobject awt_canvas_getFocusOwnerPeer();
-jobject awt_canvas_getFocusedWindowPeer();
-void awt_canvas_setFocusOwnerPeer(jobject peer);
-void awt_canvas_setFocusedWindowPeer(jobject peer);
-jobject awt_canvas_wrapInSequenced(jobject awtevent);
-extern void keysymToAWTKeyCode(KeySym x11Key, jint *keycode, Boolean *mapsToUnicodeChar,
- jint *keyLocation);
-#define awt_canvas_addToFocusList awt_canvas_addToFocusListDefault
-void awt_canvas_addToFocusListDefault(jobject target);
-void awt_canvas_addToFocusListWithDuplicates(jobject target, jboolean acceptDuplicate);
-extern void callFocusCallback(jobject focusPeer, int focus_type, jobject cause);
-extern void callFocusHandler(Widget w, int eventType, jobject cause);
-
-typedef struct FocusListElt{
- jweak requestor;
- struct FocusListElt * next;
-} FocusListElt;
-extern FocusListElt *focusList;
-extern FocusListElt *focusListEnd;
-extern jweak forGained;
#endif /* !HEADLESS */
#endif /* _CANVAS_H_ */
diff --git a/jdk/src/solaris/native/sun/awt/multi_font.c b/jdk/src/solaris/native/sun/awt/multi_font.c
index 0cb6e5b..e131564 100644
--- a/jdk/src/solaris/native/sun/awt/multi_font.c
+++ b/jdk/src/solaris/native/sun/awt/multi_font.c
@@ -38,24 +38,15 @@
#include <jni.h>
#include <jni_util.h>
#include <jvm.h>
-#ifndef XAWT
-#include <Xm/Display.h>
-#endif
#include "awt_Font.h"
-#ifndef XAWT
-#include "awt_Component.h"
-#endif
-#include "awt_MenuItem.h"
#include "awt_p.h"
#include "multi_font.h"
extern XFontStruct *loadFont(Display *, char *, int32_t);
extern struct FontIDs fontIDs;
-//extern struct MComponentPeerIDs mComponentPeerIDs;
-//extern struct MMenuItemPeerIDs mMenuItemPeerIDs;
extern struct PlatformFontIDs platformFontIDs;
-extern struct MFontPeerIDs mFontPeerIDs;
+extern struct XFontPeerIDs xFontPeerIDs;
/*
* make string with str + string representation of num
@@ -70,145 +61,7 @@ makeTag(char *str, int32_t num, char *buf)
buf[len] = '0' + num % 100;
buf[len + 1] = '\0';
}
-#ifndef XAWT
-jobject
-awtJNI_CreateAndSetGlobalRef(JNIEnv * env, jobject this)
-{
- jobject gRef;
-
- gRef = (*env)->NewGlobalRef(env, this);
-
- JNU_SetLongFieldFromPtr(env, this, mComponentPeerIDs.jniGlobalRef, gRef);
-
- return gRef;
-}
-
-struct gRefStruct
-{
- jobject gRef;
- struct gRefStruct *next;
-};
-
-static struct gRefStruct *gRefHead = NULL;
-static struct gRefStruct *gRefTail = NULL;
-
-/*
- * This function is called by components that
- * are being disposed. It used to invalidate
- * the global ref immediately, but the awt is
- * rather full of thread race conditions involving
- * component disposal and outstanding events.
- * Now we queue up 'to be deleted' global refs
- * as they come in, and don't invalidate them
- * until the X event queue is empty. Callers of
- * either of these functions _must_ have AWT_LOCK'd
- * before using them!
- */
-void
-awtJNI_DeleteGlobalRef(JNIEnv * env, jobject this)
-{
- jobject gRef;
- struct gRefStruct *newGRef;
- struct gRefStruct *temp;
-
- gRef = (jobject)
- JNU_GetLongFieldAsPtr(env, this, mComponentPeerIDs.jniGlobalRef);
- JNU_SetLongFieldFromPtr(env, this, mComponentPeerIDs.jniGlobalRef, NULL);
-
- /*
- * Verra handy for tracking down race conditions. If you
- * have a peer getting called after its been disposed...
- */
- /* jio_fprintf(stderr,"%p\n",(void *)gRef); */
-
- newGRef = (struct gRefStruct *)malloc((size_t)sizeof(struct gRefStruct));
-
- if(newGRef == NULL)
- (*env)->DeleteGlobalRef(env, gRef);
- else
- {
- newGRef->gRef = gRef;
- newGRef->next = NULL;
-
- if(gRefHead == NULL)
- {
- gRefTail = newGRef;
- gRefHead = newGRef;
- }
- else
- {
- gRefTail->next = newGRef;
- gRefTail = newGRef;
- }
- }
-}
-void
-awtJNI_DeleteGlobalMenuRef(JNIEnv * env, jobject this)
-{
- jobject gRef;
- struct gRefStruct *newGRef;
- struct gRefStruct *temp;
-
- gRef = (jobject)
- //JNU_GetLongFieldAsPtr(env, this, mMenuItemPeerIDs.jniGlobalRef);
- //JNU_SetLongFieldFromPtr(env, this, mMenuItemPeerIDs.jniGlobalRef, NULL);
-
- /*
- * Verra handy for tracking down race conditions. If you
- * have a peer getting called after its been disposed...
- */
- /* jio_fprintf(stderr,"%p\n",(void *)gRef); */
-
- newGRef = (struct gRefStruct *)malloc((size_t)sizeof(struct gRefStruct));
-
- if(newGRef == NULL)
- (*env)->DeleteGlobalRef(env, gRef);
- else
- {
- newGRef->gRef = gRef;
- newGRef->next = NULL;
-
- if(gRefHead == NULL)
- {
- gRefTail = newGRef;
- gRefHead = newGRef;
- }
- else
- {
- gRefTail->next = newGRef;
- gRefTail = newGRef;
- }
- }
-}
-
-void awtJNI_CleanupGlobalRefs()
-{
- struct gRefStruct *working,*next;
- JNIEnv *env;
- int32_t count = 0;
-
- if(gRefHead == NULL) {
- return;
- }
-
- env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
-
- working = gRefHead;
- gRefHead = gRefTail = NULL;
-
- while(working != NULL)
- {
- count++;
- next = working->next;
- (*env)->DeleteGlobalRef(env, working->gRef);
-
- free((void *)working);
-
- working = next;
- }
-}
-#endif
static int32_t
awtJNI_GetFontDescriptorNumber(JNIEnv * env
,jobject font
@@ -255,25 +108,7 @@ awtJNI_GetFontDescriptorNumber(JNIEnv * env
return 0;
}
-#ifndef XAWT
-jobject
-awtJNI_GetFont(JNIEnv * env, jobject this)
-{
- jobject target = NULL;
- jobject font = NULL;
- target = (*env)->GetObjectField(env, this, mComponentPeerIDs.target);
- // SECURITY: Must call _NoClientCode() methods to ensure that we
- // are not invoking client code on the privileged thread
- font = JNU_CallMethodByName(env,
- NULL,
- target,
- "getFont_NoClientCode",
- "()Ljava/awt/Font;").l;
- (*env)->DeleteLocalRef(env, target);
- return font;
-}
-#endif
jobject
awtJNI_GetFMFont(JNIEnv * env, jobject this)
{
@@ -347,258 +182,7 @@ awtJNI_IsMultiFontMetrics(JNIEnv * env, jobject this)
return JNI_TRUE;
}
-#ifndef XAWT
-#ifdef __linux__
-XmString
-unicodeXmStringCreate(char* text, char* tag, int len) {
- XmString ret_val;
- XtProcessLock();
- ret_val = _XmStringNCreate (text, tag, len);
- XtProcessUnlock();
- return ret_val;
-}
-#endif
-
-/*
- * Unicode to Motif Multi Font Compound String converter
- *
- * ASSUMES: We are not running on a privileged thread
- */
-XmString
-awtJNI_MakeMultiFontString(JNIEnv * env, jstring s, jobject font)
-{
- XmString xmstr = NULL, xmtmp1, xmtmp2;
- jobjectArray dataArray = NULL;
- char *err = NULL;
- int32_t stringCount,i;
- int32_t fdnumber;
- struct FontData *fdata = awtJNI_GetFontData(env, font, &err);
- jobject fontDescriptor = NULL;
- jbyteArray data = NULL;
- char *stringData = NULL;
- char tag[BUFSIZ];
-
- if ((*env)->PushLocalFrame(env, 16) < 0)
- return NULL;
-
- if (!JNU_IsNull(env, s) && !JNU_IsNull(env, font)) {
- jobject peer;
-
- peer = (*env)->CallObjectMethod(env,font,fontIDs.getPeer);
-
- DASSERT(!awt_currentThreadIsPrivileged(env));
- dataArray =
- (*env)->CallObjectMethod(
- env,
- peer,
- platformFontIDs.makeConvertedMultiFontString,
- s);
-
- if ((*env)->ExceptionOccurred(env)) {
- (*env)->ExceptionDescribe(env);
- (*env)->ExceptionClear(env);
-
- (*env)->PopLocalFrame(env, NULL);
- return (XmString) NULL;
- }
-
- if(dataArray == NULL) {
- (*env)->PopLocalFrame(env, NULL);
- return (XmString) NULL;
- }
- } else {
- (*env)->PopLocalFrame(env, NULL);
- return (XmString) NULL;
- }
-
- stringCount = (*env)->GetArrayLength(env, dataArray);
-
- for (i = 0; i < stringCount; i+=2) {
- fontDescriptor = (*env)->GetObjectArrayElement(env, dataArray, i);
- data = (*env)->GetObjectArrayElement(env, dataArray, i + 1);
-
- /* Bail if we've finished */
- if(fontDescriptor == NULL || data == NULL)
- break;
-
- fdnumber = awtJNI_GetFontDescriptorNumber(env, font, fontDescriptor);
- fdata = awtJNI_GetFontData(env, font, &err);
-
- makeTag(fdata->flist[fdnumber].charset_name, fdnumber, tag);
-
- stringData = (char *)(*env)->GetPrimitiveArrayCritical(env, data, NULL);
- if(stringData != NULL) {
- unsigned char* buf = stringData;
- int len;
- char *offsetStringData;
-
- offsetStringData = stringData + (4 * sizeof(char));
-#ifdef __linux__
- len = buf[0] << 24 | buf[1] << 16 | buf[2] << 8 | buf[3];
- /* Motif XmStringCreate() API requests "text must be a NULL-terminated
- string" and its implementation uses "strlen()" to calculate the length
- of the text string. Unfortunately when we deal with iso10646 font
- on linux, the "text" is requested to be encoded in UTF16, which has the
- posibility of including code points like "0xYY00" ("0xYY" + "0x00") that
- causes problem when XmStringCreate() calls _XmStringNCreate() without
- specifying a specific text lenth (see Motif XmString.c). The workaround is
- to call _XmStringNCreate() directly with specific text length at this
- cirsumstance.
- */
- if (strstr(fdata->flist[fdnumber].charset_name, "UnicodeBigUnmarked"))
- xmtmp1 = unicodeXmStringCreate(offsetStringData, tag, len);
- else
- xmtmp1 = XmStringCreate(offsetStringData, tag);
- if (xmstr == NULL)
- xmstr = xmtmp1;
- else {
- xmtmp2 = XmStringConcat(xmstr, xmtmp1);
- XmStringFree(xmtmp1);
- XmStringFree(xmstr);
- xmstr = xmtmp2;
- }
-#else
- if(xmstr == NULL) {
- xmstr = XmStringCreate(offsetStringData, tag);
- }
- else {
- xmtmp1 = XmStringCreate(offsetStringData, tag);
- xmtmp2 = XmStringConcat(xmstr, xmtmp1);
- XmStringFree(xmtmp1);
- XmStringFree(xmstr);
- xmstr = xmtmp2;
- }
-#endif
- }
-
- (*env)->ReleasePrimitiveArrayCritical(env, data, stringData, JNI_ABORT);
- (*env)->DeleteLocalRef(env, fontDescriptor);
- (*env)->DeleteLocalRef(env, data);
- }
- (*env)->PopLocalFrame(env, NULL);
- return xmstr;
-}
-/*
- * Find the character encoding for a given font and register that encoding
- * with the given tag. The encoding is the last two fields of the XLFD of
- * the font (converted to uppercase).
- */
-static void registerEncoding(char *xlfd, char *tag)
-{
- char *e = xlfd + strlen(xlfd);
- char *ret = NULL;
-
- do { --e; } while (e != xlfd && *e != '-');
- do { --e; } while (e != xlfd && *e != '-');
- if (e != xlfd) {
- char *encoding = strdup(++e);
- char *u = NULL;
-
- for (u = encoding; *u != '\0'; ++u) {
- if (islower(*u)) {
- *u = toupper(*u);
- }
- }
-
- /*
- * Motif will core dump on or otherwise mishandle unknown (or
- * non-standard) character encodings (in conversion to compound
- * text, bug 4122785). Register Sun private encodings for
- * Symbol or dingbat fonts as ISO8859-1, which is a lie,
- * but produces predictable results.
- */
- if (strncmp(encoding, "SUN-", 4) == 0) {
- free(encoding);
- encoding = strdup("ISO8859-1");
- }
- ret = XmRegisterSegmentEncoding(tag, encoding);
- if (ret != NULL)
- XtFree(ret);
- free(encoding);
- }
-}
-
-
-XmFontList
-awtJNI_GetFontList(JNIEnv * env, jobject font)
-{
- int32_t i;
- XmFontListEntry fle;
- XmFontList fontlist;
- XFontStruct *xf = NULL;
- int32_t size;
- struct FontData *fdata = NULL;
- char *err = NULL, tag[BUFSIZ];
-
- fdata = awtJNI_GetFontData(env, font, &err);
-
- makeTag(fdata->flist[0].charset_name, 0, tag);
-
- size = (int32_t) (*env)->GetIntField(env, font, fontIDs.size);
-
- if (fdata->flist[0].load == 0) {
- xf = loadFont(awt_display, fdata->flist[0].xlfd, size * 10);
-
- if (xf == NULL) {
- /* printf("Cannot load font: %s\n", fdata->list[0].xlfd); */
- } else {
- fdata->flist[0].xfont = xf;
- fdata->flist[0].load = 1;
-
- if (xf->min_byte1 == 0 && xf->max_byte1 == 0)
- fdata->flist[0].index_length = 1;
- else
- fdata->flist[0].index_length = 2;
- }
- }
- registerEncoding(fdata->flist[0].xlfd, tag);
- fle = XmFontListEntryCreate(tag, XmFONT_IS_FONT,
- (XtPointer) fdata->flist[0].xfont);
-
- fontlist = XmFontListAppendEntry(NULL, fle);
- /*
- * Some versions of motif have a bug in
- * XmFontListEntryFree() which causes it to free more than it
- * should. Use XtFree() is used instead. See O'Reilly's
- * Motif Reference Manual for more information.
- */
- XmFontListEntryFree(&fle);
-
- for (i = 1; i < fdata->charset_num; i++) {
- makeTag(fdata->flist[i].charset_name, i, tag);
-
- if (fdata->flist[i].load == 0) {
- xf = loadFont(awt_display, fdata->flist[i].xlfd, size * 10);
-
- if (xf == NULL) {
- /* printf("Cannot load font: %s\n", fdata->flist[0].xlfd); */
- continue;
- }
- fdata->flist[i].xfont = xf;
- fdata->flist[i].load = 1;
- if (xf->min_byte1 == 0 && xf->max_byte1 == 0) {
- fdata->flist[i].index_length = 1;
- } else {
- fdata->flist[i].index_length = 2;
- }
- }
- registerEncoding(fdata->flist[i].xlfd, tag);
- fle = XmFontListEntryCreate(tag, XmFONT_IS_FONT,
- (XtPointer) fdata->flist[i].xfont);
- fontlist = XmFontListAppendEntry(fontlist, fle);
- /*
- * Some versions of motif have a bug in
- * XmFontListEntryFree() which causes it to free more than it
- * should. Use XtFree() instead. See O'Reilly's
- * Motif Reference Manual for more information.
- */
- XmFontListEntryFree(&fle);
- }
-
- return fontlist;
-}
-#endif
/* #define FONT_DEBUG 2 */
XFontSet
@@ -625,7 +209,7 @@ awtJNI_MakeFontSet(JNIEnv * env, jobject font)
size = (*env)->GetIntField(env, font, fontIDs.size) * 10;
peer = (*env)->CallObjectMethod(env,font,fontIDs.getPeer);
- xfsname = (*env)->GetObjectField(env, peer, mFontPeerIDs.xfsname);
+ xfsname = (*env)->GetObjectField(env, peer, xFontPeerIDs.xfsname);
if (JNU_IsNull(env, xfsname))
xfontset = "";
@@ -703,9 +287,6 @@ awtJNI_GetMFStringWidth(JNIEnv * env, jcharArray s, int offset, int sLength, job
int32_t length;
XFontStruct *xf = NULL;
jobjectArray dataArray = NULL;
-#ifndef XAWT
- DASSERT(!awt_currentThreadIsPrivileged(env));
-#endif
if ((*env)->EnsureLocalCapacity(env, 3) < 0)
return 0;
diff --git a/jdk/src/solaris/native/sun/awt/multi_font.h b/jdk/src/solaris/native/sun/awt/multi_font.h
index ae8d8f9..460eab0 100644
--- a/jdk/src/solaris/native/sun/awt/multi_font.h
+++ b/jdk/src/solaris/native/sun/awt/multi_font.h
@@ -29,13 +29,8 @@
#define _MULTI_FONT_H_
#ifndef HEADLESS
-jobject awtJNI_GetFont(JNIEnv *env,jobject this);
jboolean awtJNI_IsMultiFont(JNIEnv *env,jobject this);
jboolean awtJNI_IsMultiFontMetrics(JNIEnv *env,jobject this);
-#ifndef XAWT
-XmString awtJNI_MakeMultiFontString(JNIEnv *env,jstring s,jobject font);
-XmFontList awtJNI_GetFontList(JNIEnv *env,jobject font);
-#endif
XFontSet awtJNI_MakeFontSet(JNIEnv *env,jobject font);
struct FontData *awtJNI_GetFontData(JNIEnv *env,jobject font, char **errmsg);
int32_t awtJNI_GetMFStringWidth(JNIEnv * env, jcharArray s, int32_t offset,
diff --git a/jdk/src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c b/jdk/src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c
index 76c8c8b..d389e16 100644
--- a/jdk/src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c
+++ b/jdk/src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c
@@ -45,8 +45,6 @@ extern GetRasInfoFunc OGLSD_GetRasInfo;
extern UnlockFunc OGLSD_Unlock;
extern DisposeFunc OGLSD_Dispose;
-extern struct MComponentPeerIDs mComponentPeerIDs;
-
extern void
OGLSD_SetNativeDimensions(JNIEnv *env, OGLSDOps *oglsdo, jint w, jint h);
@@ -86,34 +84,12 @@ Java_sun_java2d_opengl_GLXSurfaceData_initOps(JNIEnv *env, jobject glxsd,
oglsdo->activeBuffer = GL_FRONT;
oglsdo->needsInit = JNI_TRUE;
-#ifdef XAWT
if (peer != NULL) {
glxsdo->window = JNU_CallMethodByName(env, NULL, peer,
"getContentWindow", "()J").j;
} else {
glxsdo->window = 0;
}
-#else
- if (peer != NULL) {
- struct ComponentData *cdata;
- cdata = (struct ComponentData *)
- JNU_GetLongFieldAsPtr(env, peer, mComponentPeerIDs.pData);
- if (cdata == NULL) {
- free(glxsdo);
- JNU_ThrowNullPointerException(env, "Component data missing");
- return;
- }
- if (cdata->widget == NULL) {
- free(glxsdo);
- JNU_ThrowInternalError(env, "Widget is NULL in initOps");
- return;
- }
- glxsdo->widget = cdata->widget;
- } else {
- glxsdo->widget = NULL;
- }
-#endif
-
glxsdo->configData = (AwtGraphicsConfigDataPtr)jlong_to_ptr(aData);
if (glxsdo->configData == NULL) {
free(glxsdo);
@@ -331,11 +307,7 @@ OGLSD_InitOGLWindow(JNIEnv *env, OGLSDOps *oglsdo)
{
GLXSDOps *glxsdo;
Window window;
-#ifdef XAWT
XWindowAttributes attr;
-#else
- Widget widget;
-#endif
J2dTraceLn(J2D_TRACE_INFO, "OGLSD_InitOGLWindow");
@@ -352,7 +324,6 @@ OGLSD_InitOGLWindow(JNIEnv *env, OGLSDOps *oglsdo)
return JNI_FALSE;
}
-#ifdef XAWT
window = glxsdo->window;
if (window == 0) {
J2dRlsTraceLn(J2D_TRACE_ERROR,
@@ -363,22 +334,6 @@ OGLSD_InitOGLWindow(JNIEnv *env, OGLSDOps *oglsdo)
XGetWindowAttributes(awt_display, window, &attr);
oglsdo->width = attr.width;
oglsdo->height = attr.height;
-#else
- widget = glxsdo->widget;
- if (widget == NULL) {
- J2dTraceLn(J2D_TRACE_WARNING, "OGLSD_InitOGLWindow: widget is null");
- }
-
- if (!XtIsRealized(widget)) {
- J2dRlsTraceLn(J2D_TRACE_ERROR,
- "OGLSD_InitOGLWindow: widget is unrealized");
- return JNI_FALSE;
- }
-
- window = XtWindow(widget);
- oglsdo->width = widget->core.width;
- oglsdo->height = widget->core.height;
-#endif
oglsdo->drawableType = OGLSD_WINDOW;
oglsdo->isOpaque = JNI_TRUE;
diff --git a/jdk/src/solaris/native/sun/java2d/opengl/GLXSurfaceData.h b/jdk/src/solaris/native/sun/java2d/opengl/GLXSurfaceData.h
index 7019406..9cbec5c 100644
--- a/jdk/src/solaris/native/sun/java2d/opengl/GLXSurfaceData.h
+++ b/jdk/src/solaris/native/sun/java2d/opengl/GLXSurfaceData.h
@@ -38,16 +38,11 @@
* The GLXSDOps structure contains the GLX-specific information for a given
* OGLSurfaceData. It is referenced by the native OGLSDOps structure.
*
- * Window window; (used in XAWT only)
+ * Window window;
* For onscreen windows, we maintain a reference to that window's associated
* XWindow handle here. Offscreen surfaces have no associated Window, so for
* those surfaces, this value will simply be zero.
*
- * Widget widget; (used in MAWT only)
- * For onscreen windows, we maintain a reference to that window's associated
- * Widget handle here. Offscreen surfaces have no associated Widget, so for
- * those surfaces, this value will simply be zero.
- *
* Drawable xdrawable;
* If a GLXDrawable has a corresponding X11 Drawable, it is stored here. For
* example, each GLXWindow has an associated Window and each GLXPixmap has an
@@ -63,11 +58,7 @@
* created.
*/
typedef struct _GLXSDOps {
-#ifdef XAWT
Window window;
-#else
- Widget widget;
-#endif
Drawable xdrawable;
GLXDrawable drawable;
struct _AwtGraphicsConfigData *configData;
diff --git a/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c b/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c
index 9b3e706..a993217 100644
--- a/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c
+++ b/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c
@@ -64,9 +64,6 @@ static UnlockFunc X11SD_Unlock;
static DisposeFunc X11SD_Dispose;
static GetPixmapBgFunc X11SD_GetPixmapWithBg;
static ReleasePixmapBgFunc X11SD_ReleasePixmapWithBg;
-#ifndef XAWT
-extern struct MComponentPeerIDs mComponentPeerIDs;
-#endif
extern int J2DXErrHandler(Display *display, XErrorEvent *xerr);
extern AwtGraphicsConfigDataPtr
getGraphicsConfigFromComponentPeer(JNIEnv *env, jobject this);
@@ -263,31 +260,12 @@ Java_sun_java2d_x11_XSurfaceData_initOps(JNIEnv *env, jobject xsd,
xsdo->sdOps.Dispose = X11SD_Dispose;
xsdo->GetPixmapWithBg = X11SD_GetPixmapWithBg;
xsdo->ReleasePixmapWithBg = X11SD_ReleasePixmapWithBg;
-#ifndef XAWT
- if (peer != NULL) {
- struct ComponentData *cdata;
- cdata = (struct ComponentData *)
- JNU_GetLongFieldAsPtr(env, peer, mComponentPeerIDs.pData);
- if (cdata == NULL) {
- JNU_ThrowNullPointerException(env, "Component data missing");
- return;
- }
- if (cdata->widget == NULL) {
- JNU_ThrowInternalError(env, "Widget is NULL in initOps");
- return;
- }
- xsdo->widget = cdata->widget;
- } else {
- xsdo->widget = NULL;
- }
-#else
xsdo->widget = NULL;
if (peer != NULL) {
xsdo->drawable = JNU_CallMethodByName(env, NULL, peer, "getWindow", "()J").j;
} else {
xsdo->drawable = 0;
}
-#endif
xsdo->depth = depth;
xsdo->dgaAvailable = dgaAvailable;
xsdo->isPixmap = JNI_FALSE;
@@ -775,14 +753,6 @@ jint X11SD_InitWindow(JNIEnv *env, X11SDOps *xsdo)
if (xsdo->isPixmap == JNI_TRUE) {
return SD_FAILURE;
}
-#ifndef XAWT
- if (!XtIsRealized(xsdo->widget)) {
- J2dTraceLn(J2D_TRACE_WARNING, "X11SD_InitWindow: widget is unrealized");
- /* AWT_UNLOCK(); unlock it in caller */
- return SD_FAILURE;
- }
- xsdo->drawable = XtWindow(xsdo->widget);
-#endif
xsdo->cData = xsdo->configData->color_data;
return SD_SUCCESS;
@@ -804,9 +774,7 @@ static jint X11SD_Lock(JNIEnv *env,
SurfaceData_ThrowInvalidPipeException(env, "bounds changed");
return SD_FAILURE;
}
-#ifdef XAWT
xsdo->cData = xsdo->configData->color_data;
-#endif
if (xsdo->drawable == 0 && X11SD_InitWindow(env, xsdo) == SD_FAILURE) {
AWT_UNLOCK();
return SD_FAILURE;
@@ -1081,30 +1049,6 @@ X11SD_ClipToRoot(SurfaceDataBounds *b, SurfaceDataBounds *bounds,
int tmpx, tmpy;
Window tmpchild;
-#ifndef XAWT
- Widget w = xsdo->widget;
-
- x1 = y1 = 0;
- for (; w != NULL && ! XtIsShell(w); w = w->core.parent) {
- x1 += w->core.x + w->core.border_width;
- y1 += w->core.y + w->core.border_width;
- }
- if (w == NULL) {
- return FALSE;
- }
-
- /*
- * REMIND: We should not be offsetting here by border_width
- * but for some unknown reason if we do not do that the
- * results will be off exactly by border_width. We were unable
- * to find cause of this.
- */
- (void) XTranslateCoordinates(XtDisplay(w), XtWindow(w),
- RootWindowOfScreen(XtScreen(w)),
- (int) w->core.border_width,
- (int) w->core.border_width,
- &tmpx, &tmpy, &tmpchild);
-#else
Window window = (Window)(xsdo->drawable); /* is always a Window */
XWindowAttributes winAttr;
@@ -1118,7 +1062,6 @@ X11SD_ClipToRoot(SurfaceDataBounds *b, SurfaceDataBounds *bounds,
0, 0, &tmpx, &tmpy, &tmpchild)) {
return FALSE;
}
-#endif
x1 = -(x1 + tmpx);
y1 = -(y1 + tmpy);
@@ -1150,89 +1093,6 @@ X11SD_ClipToRoot(SurfaceDataBounds *b, SurfaceDataBounds *bounds,
static int
X11SD_FindClip(SurfaceDataBounds *b, SurfaceDataBounds *bounds, X11SDOps *xsdo)
{
-#ifndef XAWT
- int x1, y1, x2, y2, px1, py1, px2, py2, child_x, child_y;
- Widget current_widget, child_widget;
-
- XWindowAttributes attr;
- Window ignore_root, current_window, *ignore_children;
- unsigned int pborder, ignore_uint;
-
- x1 = bounds->x1;
- y1 = bounds->y1;
- x2 = bounds->x2;
- y2 = bounds->y2;
-
- px1 = py1 = 0;
-
- child_widget = xsdo->widget;
- current_widget = XtParent(xsdo->widget);
- while (current_widget != NULL && !XtIsShell(current_widget)) {
- px1 = px1 - (child_widget->core.x + child_widget->core.border_width);
- py1 = py1 - (child_widget->core.y + child_widget->core.border_width);
- px2 = px1 + current_widget->core.width;
- py2 = py1 + current_widget->core.height;
- x1 = MAX(x1, px1);
- y1 = MAX(y1, py1);
- x2 = MIN(x2, px2);
- y2 = MIN(y2, py2);
- if ((x1 >= x2) || (y1 >= y2)) {
- return FALSE;
- }
-
- child_widget = current_widget;
- current_widget = current_widget->core.parent;
- }
-
- if (current_widget == NULL) {
- XQueryTree(awt_display,
- XtWindow(child_widget),
- &ignore_root,
- ¤t_window,
- &ignore_children,
- &ignore_uint);
- XFree(ignore_children);
- } else {
- current_window = XtWindow(current_widget);
- }
-
- child_x = child_widget->core.x + child_widget->core.border_width;
- child_y = child_widget->core.y + child_widget->core.border_width;
- while (current_window != 0) {
- px1 = px1 - child_x;
- py1 = py1 - child_y;
- if (!XGetGeometry(awt_display, current_window, &ignore_root,
- &child_x, &child_y,
- (unsigned int *)&px2, (unsigned int *)&py2,
- &pborder, &ignore_uint)) {
- return FALSE;
- }
- child_x += pborder;
- child_y += pborder;
- px2 += px1;
- py2 += py1;
-
- x1 = MAX(x1, px1);
- y1 = MAX(y1, py1);
- x2 = MIN(x2, px2);
- y2 = MIN(y2, py2);
- if ((x1 >= x2) || (y1 >= y2)) {
- return FALSE;
- }
- XQueryTree(awt_display,
- current_window,
- &ignore_root,
- ¤t_window,
- &ignore_children,
- &ignore_uint);
- XFree(ignore_children);
- }
-
- b->x1 = x1;
- b->y1 = y1;
- b->x2 = x2;
- b->y2 = y2;
-#endif
return TRUE;
}
diff --git a/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.h b/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.h
index a082df9..91ad462 100644
--- a/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.h
+++ b/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.h
@@ -30,6 +30,10 @@
#include <jdga.h>
+#ifdef HEADLESS
+#include "GLXGraphicsConfig.h"
+#endif
+
#include <X11/extensions/Xrender.h>
/**
diff --git a/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c b/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c
index f41409b..57882b6 100644
--- a/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c
+++ b/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c
@@ -996,7 +996,7 @@ Java_sun_nio_fs_UnixNativeDispatcher_getpwnam0(JNIEnv* env, jclass this,
if (res != 0 || p == NULL || p->pw_name == NULL || *(p->pw_name) == '\0') {
/* not found or error */
- if (errno != 0 && errno != ENOENT)
+ if (errno != 0 && errno != ENOENT && errno != ESRCH)
throwUnixException(env, errno);
} else {
uid = p->pw_uid;
@@ -1042,7 +1042,7 @@ Java_sun_nio_fs_UnixNativeDispatcher_getgrnam0(JNIEnv* env, jclass this,
retry = 0;
if (res != 0 || g == NULL || g->gr_name == NULL || *(g->gr_name) == '\0') {
/* not found or error */
- if (errno != 0 && errno != ENOENT) {
+ if (errno != 0 && errno != ENOENT && errno != ESRCH) {
if (errno == ERANGE) {
/* insufficient buffer size so need larger buffer */
buflen += ENT_BUF_SIZE;
diff --git a/jdk/src/solaris/native/sun/nio/fs/genUnixConstants.c b/jdk/src/solaris/native/sun/nio/fs/genUnixConstants.c
index 56984a7..7699828 100644
--- a/jdk/src/solaris/native/sun/nio/fs/genUnixConstants.c
+++ b/jdk/src/solaris/native/sun/nio/fs/genUnixConstants.c
@@ -64,7 +64,12 @@ int main(int argc, const char* argv[]) {
DEFX(O_TRUNC);
DEFX(O_SYNC);
DEFX(O_DSYNC);
+#ifdef O_NOFOLLOW
DEFX(O_NOFOLLOW);
+#else
+ // not supported (dummy values will not be used at runtime).
+ emitX("O_NOFOLLOW", 0x0);
+#endif
// mode masks
emitX("S_IAMB",
diff --git a/jdk/src/solaris/native/sun/xawt/XToolkit.c b/jdk/src/solaris/native/sun/xawt/XToolkit.c
index 69620ff..6dfb80d 100644
--- a/jdk/src/solaris/native/sun/xawt/XToolkit.c
+++ b/jdk/src/solaris/native/sun/xawt/XToolkit.c
@@ -39,7 +39,6 @@
#include "awt_p.h"
#include "awt_Component.h"
#include "awt_MenuComponent.h"
-#include "awt_KeyboardFocusManager.h"
#include "awt_Font.h"
#include "sun_awt_X11_XToolkit.h"
@@ -47,6 +46,8 @@
#include "java_awt_TrayIcon.h"
#include <X11/extensions/XTest.h>
+#include <unistd.h>
+
uint32_t awt_NumLockMask = 0;
Boolean awt_ModLockIsShiftLock = False;
@@ -72,19 +73,17 @@ struct ComponentIDs componentIDs;
struct MenuComponentIDs menuComponentIDs;
-struct KeyboardFocusManagerIDs keyboardFocusManagerIDs;
-
#ifndef HEADLESS
extern Display* awt_init_Display(JNIEnv *env, jobject this);
-extern struct MFontPeerIDs mFontPeerIDs;
+struct XFontPeerIDs xFontPeerIDs;
JNIEXPORT void JNICALL
Java_sun_awt_X11_XFontPeer_initIDs
(JNIEnv *env, jclass cls)
{
- mFontPeerIDs.xfsname =
+ xFontPeerIDs.xfsname =
(*env)->GetFieldID(env, cls, "xfsname", "Ljava/lang/String;");
}
#endif /* !HEADLESS */
@@ -1087,3 +1086,38 @@ int32_t getNumButtons() {
return local_num_buttons;
}
+
+/*
+ * Class: sun_awt_X11_XWindowPeer
+ * Method: getJvmPID
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_sun_awt_X11_XWindowPeer_getJvmPID
+(JNIEnv *env, jclass cls)
+{
+ /* Return the JVM's PID. */
+ return getpid();
+}
+
+#ifndef HOST_NAME_MAX
+#define HOST_NAME_MAX 1024 /* Overestimated */
+#endif
+
+/*
+ * Class: sun_awt_X11_XWindowPeer
+ * Method: getLocalHostname
+ * Signature: ()Ljava/lang/String;
+ */
+JNIEXPORT jstring JNICALL Java_sun_awt_X11_XWindowPeer_getLocalHostname
+(JNIEnv *env, jclass cls)
+{
+ /* Return the machine's FQDN. */
+ char hostname[HOST_NAME_MAX + 1];
+ if (gethostname(hostname, HOST_NAME_MAX + 1) == 0) {
+ hostname[HOST_NAME_MAX] = '\0';
+ jstring res = (*env)->NewStringUTF(env, hostname);
+ return res;
+ }
+
+ return (jstring)NULL;
+}
diff --git a/jdk/src/windows/classes/java/io/FileDescriptor.java b/jdk/src/windows/classes/java/io/FileDescriptor.java
index 606d080..bfcda5b 100644
--- a/jdk/src/windows/classes/java/io/FileDescriptor.java
+++ b/jdk/src/windows/classes/java/io/FileDescriptor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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,7 +25,8 @@
package java.io;
-import java.util.concurrent.atomic.AtomicInteger;
+import java.util.ArrayList;
+import java.util.List;
/**
* Instances of the file descriptor class serve as an opaque handle
@@ -45,13 +46,9 @@ public final class FileDescriptor {
private long handle;
- /**
- * A use counter for tracking the FIS/FOS/RAF instances that
- * use this FileDescriptor. The FIS/FOS.finalize() will not release
- * the FileDescriptor if it is still under use by any stream.
- */
- private AtomicInteger useCount;
-
+ private Closeable parent;
+ private List<Closeable> otherParents;
+ private boolean closed;
/**
* Constructs an (invalid) FileDescriptor
@@ -60,7 +57,6 @@ public final class FileDescriptor {
public /**/ FileDescriptor() {
fd = -1;
handle = -1;
- useCount = new AtomicInteger();
}
static {
@@ -168,13 +164,67 @@ public final class FileDescriptor {
return desc;
}
- // package private methods used by FIS, FOS and RAF.
+ /*
+ * Package private methods to track referents.
+ * If multiple streams point to the same FileDescriptor, we cycle
+ * through the list of all referents and call close()
+ */
- int incrementAndGetUseCount() {
- return useCount.incrementAndGet();
+ /**
+ * Attach a Closeable to this FD for tracking.
+ * parent reference is added to otherParents when
+ * needed to make closeAll simpler.
+ */
+ synchronized void attach(Closeable c) {
+ if (parent == null) {
+ // first caller gets to do this
+ parent = c;
+ } else if (otherParents == null) {
+ otherParents = new ArrayList<>();
+ otherParents.add(parent);
+ otherParents.add(c);
+ } else {
+ otherParents.add(c);
+ }
}
- int decrementAndGetUseCount() {
- return useCount.decrementAndGet();
+ /**
+ * Cycle through all Closeables sharing this FD and call
+ * close() on each one.
+ *
+ * The caller closeable gets to call close0().
+ */
+ @SuppressWarnings("try")
+ synchronized void closeAll(Closeable releaser) throws IOException {
+ if (!closed) {
+ closed = true;
+ IOException ioe = null;
+ try (Closeable c = releaser) {
+ if (otherParents != null) {
+ for (Closeable referent : otherParents) {
+ try {
+ referent.close();
+ } catch(IOException x) {
+ if (ioe == null) {
+ ioe = x;
+ } else {
+ ioe.addSuppressed(x);
+ }
+ }
+ }
+ }
+ } catch(IOException ex) {
+ /*
+ * If releaser close() throws IOException
+ * add other exceptions as suppressed.
+ */
+ if (ioe != null)
+ ex.addSuppressed(ioe);
+ ioe = ex;
+ } finally {
+ if (ioe != null)
+ throw ioe;
+ }
+ }
}
}
diff --git a/jdk/src/windows/classes/java/lang/ProcessEnvironment.java b/jdk/src/windows/classes/java/lang/ProcessEnvironment.java
index 89e4689..c49f1f3 100644
--- a/jdk/src/windows/classes/java/lang/ProcessEnvironment.java
+++ b/jdk/src/windows/classes/java/lang/ProcessEnvironment.java
@@ -68,6 +68,9 @@ import java.util.*;
final class ProcessEnvironment extends HashMap<String,String>
{
+
+ private static final long serialVersionUID = -8017839552603542824L;
+
private static String validateName(String name) {
// An initial `=' indicates a magic Windows variable name -- OK
if (name.indexOf('=', 1) != -1 ||
@@ -144,6 +147,7 @@ final class ProcessEnvironment extends HashMap<String,String>
};
}
private static Map.Entry<String,String> checkedEntry(Object o) {
+ @SuppressWarnings("unchecked")
Map.Entry<String,String> e = (Map.Entry<String,String>) o;
nonNullString(e.getKey());
nonNullString(e.getValue());
@@ -281,6 +285,7 @@ final class ProcessEnvironment extends HashMap<String,String>
}
// Only for use by ProcessBuilder.environment()
+ @SuppressWarnings("unchecked")
static Map<String,String> environment() {
return (Map<String,String>) theEnvironment.clone();
}
diff --git a/jdk/src/windows/classes/java/net/PlainSocketImpl.java b/jdk/src/windows/classes/java/net/PlainSocketImpl.java
index ea11fa6..bcb01f1 100644
--- a/jdk/src/windows/classes/java/net/PlainSocketImpl.java
+++ b/jdk/src/windows/classes/java/net/PlainSocketImpl.java
@@ -314,7 +314,7 @@ class PlainSocketImpl extends AbstractPlainSocketImpl
void socketSetOption(int cmd, boolean on, Object value)
throws SocketException {
- socketSetOption(cmd, on, value);
+ impl.socketSetOption(cmd, on, value);
}
int socketGetOption(int opt, Object iaContainerObj) throws SocketException {
diff --git a/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java b/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java
index f744ee2..8a6106a 100644
--- a/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java
+++ b/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java
@@ -40,6 +40,7 @@ import sun.java2d.DestSurfaceProvider;
import sun.java2d.InvalidPipeException;
import sun.java2d.Surface;
import sun.java2d.pipe.RenderQueue;
+import sun.java2d.pipe.BufferedContext;
import sun.java2d.pipe.hw.AccelGraphicsConfig;
import sun.java2d.pipe.hw.AccelSurface;
import sun.security.action.GetPropertyAction;
@@ -310,7 +311,7 @@ public abstract class TranslucentWindowPainter {
RenderQueue rq = as.getContext().getRenderQueue();
rq.lock();
try {
- as.getContext().validateContext(as);
+ BufferedContext.validateContext(as);
rq.flushAndInvokeNow(new Runnable() {
public void run() {
long psdops = as.getNativeOps();
diff --git a/jdk/src/windows/classes/sun/awt/windows/WBufferStrategy.java b/jdk/src/windows/classes/sun/awt/windows/WBufferStrategy.java
index 5a4ce2a..4b346ca 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WBufferStrategy.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WBufferStrategy.java
@@ -37,7 +37,7 @@ import java.awt.Component;
*/
public class WBufferStrategy {
- private static native void initIDs(Class componentClass);
+ private static native void initIDs(Class <?> componentClass);
static {
initIDs(Component.class);
diff --git a/jdk/src/windows/classes/sun/awt/windows/WChoicePeer.java b/jdk/src/windows/classes/sun/awt/windows/WChoicePeer.java
index 28a2a05..8ecc83e 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WChoicePeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WChoicePeer.java
@@ -84,6 +84,7 @@ class WChoicePeer extends WComponentPeer implements ChoicePeer {
native void create(WComponentPeer parent);
+ @SuppressWarnings("deprecation")
void initialize() {
Choice opt = (Choice)target;
int itemCount = opt.getItemCount();
@@ -116,6 +117,7 @@ class WChoicePeer extends WComponentPeer implements ChoicePeer {
super.initialize();
}
+ @SuppressWarnings("deprecation")
protected void disposeImpl() {
// TODO: we should somehow reset the listener when the choice
// is moved to another toplevel without destroying its peer.
diff --git a/jdk/src/windows/classes/sun/awt/windows/WClipboard.java b/jdk/src/windows/classes/sun/awt/windows/WClipboard.java
index 62570ac..602d228 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WClipboard.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WClipboard.java
@@ -71,17 +71,14 @@ public class WClipboard extends SunClipboard {
// Get all of the target formats into which the Transferable can be
// translated. Then, for each format, translate the data and post
// it to the Clipboard.
- Map formatMap = WDataTransferer.getInstance().
+ Map <Long, DataFlavor> formatMap = WDataTransferer.getInstance().
getFormatsForTransferable(contents, flavorMap);
openClipboard(this);
try {
- for (Iterator iter = formatMap.keySet().iterator();
- iter.hasNext(); ) {
- Long lFormat = (Long)iter.next();
- long format = lFormat.longValue();
- DataFlavor flavor = (DataFlavor)formatMap.get(lFormat);
+ for (Long format : formatMap.keySet()) {
+ DataFlavor flavor = formatMap.get(format);
try {
byte[] bytes = WDataTransferer.getInstance().
diff --git a/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java b/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java
index a482fd9..6f788c2 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java
@@ -222,7 +222,7 @@ public abstract class WComponentPeer extends WObjectPeer
updateWindow();
// make sure paint events are transferred to main event queue
// for coalescing
- WToolkit.getWToolkit().flushPendingEvents();
+ SunToolkit.flushPendingEvents();
// paint the damaged area
paintArea.paint(target, shouldClearRectBeforePaint());
}
@@ -320,6 +320,7 @@ public abstract class WComponentPeer extends WObjectPeer
native void nativeHandleEvent(AWTEvent e);
+ @SuppressWarnings("fallthrough")
public void handleEvent(AWTEvent e) {
int id = e.getID();
@@ -549,6 +550,7 @@ public abstract class WComponentPeer extends WObjectPeer
// fallback default font object
final static Font defaultFont = new Font(Font.DIALOG, Font.PLAIN, 12);
+ @SuppressWarnings("deprecation")
public Graphics getGraphics() {
if (isDisposed()) {
return null;
@@ -656,6 +658,7 @@ public abstract class WComponentPeer extends WObjectPeer
}
// TODO: consider moving it to KeyboardFocusManagerPeerImpl
+ @SuppressWarnings("deprecation")
public boolean requestFocus(Component lightweightChild, boolean temporary,
boolean focusedWindowChangeAllowed, long time,
CausedFocusEvent.Cause cause)
@@ -1058,6 +1061,7 @@ public abstract class WComponentPeer extends WObjectPeer
// in the browser on Vista when DWM is enabled.
// @return true if the toplevel container is not an EmbeddedFrame or
// if this EmbeddedFrame is acceleration capable, false otherwise
+ @SuppressWarnings("deprecation")
private static final boolean isContainingTopLevelAccelCapable(Component c) {
while (c != null && !(c instanceof WEmbeddedFrame)) {
c = c.getParent();
@@ -1072,6 +1076,7 @@ public abstract class WComponentPeer extends WObjectPeer
* Applies the shape to the native component window.
* @since 1.7
*/
+ @SuppressWarnings("deprecation")
public void applyShape(Region shape) {
if (shapeLog.isLoggable(PlatformLogger.FINER)) {
shapeLog.finer(
diff --git a/jdk/src/windows/classes/sun/awt/windows/WDataTransferer.java b/jdk/src/windows/classes/sun/awt/windows/WDataTransferer.java
index 47dcf27..10888ed 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WDataTransferer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WDataTransferer.java
@@ -107,13 +107,15 @@ public class WDataTransferer extends DataTransferer {
"DIBV5"
};
- private static final Map predefinedClipboardNameMap;
+ private static final Map <String, Long> predefinedClipboardNameMap;
static {
- Map tempMap = new HashMap(predefinedClipboardNames.length, 1.0f);
+ Map <String,Long> tempMap =
+ new HashMap <> (predefinedClipboardNames.length, 1.0f);
for (int i = 1; i < predefinedClipboardNames.length; i++) {
tempMap.put(predefinedClipboardNames[i], Long.valueOf(i));
}
- predefinedClipboardNameMap = Collections.synchronizedMap(tempMap);
+ predefinedClipboardNameMap =
+ Collections.synchronizedMap(tempMap);
}
/**
@@ -135,7 +137,7 @@ public class WDataTransferer extends DataTransferer {
public static final long CF_FILEGROUPDESCRIPTORA = registerClipboardFormat("FileGroupDescriptor");
//CF_FILECONTENTS supported as mandatory associated clipboard
- private static final Long L_CF_LOCALE = (Long)
+ private static final Long L_CF_LOCALE =
predefinedClipboardNameMap.get(predefinedClipboardNames[CF_LOCALE]);
private static final DirectColorModel directColorModel =
@@ -168,8 +170,11 @@ public class WDataTransferer extends DataTransferer {
return transferer;
}
- public SortedMap getFormatsForFlavors(DataFlavor[] flavors, FlavorTable map) {
- SortedMap retval = super.getFormatsForFlavors(flavors, map);
+ public SortedMap <Long, DataFlavor> getFormatsForFlavors(
+ DataFlavor[] flavors, FlavorTable map)
+ {
+ SortedMap <Long, DataFlavor> retval =
+ super.getFormatsForFlavors(flavors, map);
// The Win32 native code does not support exporting LOCALE data, nor
// should it.
@@ -266,7 +271,7 @@ public class WDataTransferer extends DataTransferer {
}
protected Long getFormatForNativeAsLong(String str) {
- Long format = (Long)predefinedClipboardNameMap.get(str);
+ Long format = predefinedClipboardNameMap.get(str);
if (format == null) {
format = Long.valueOf(registerClipboardFormat(str));
}
diff --git a/jdk/src/windows/classes/sun/awt/windows/WDesktopProperties.java b/jdk/src/windows/classes/sun/awt/windows/WDesktopProperties.java
index 525d429..3c8f8c0 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WDesktopProperties.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WDesktopProperties.java
@@ -238,6 +238,7 @@ class WDesktopProperties {
* Called by WToolkit when Windows settings change-- we (re)load properties and
* set new values.
*/
+ @SuppressWarnings("unchecked")
synchronized Map<String, Object> getProperties() {
ThemeReader.flush();
diff --git a/jdk/src/windows/classes/sun/awt/windows/WDialogPeer.java b/jdk/src/windows/classes/sun/awt/windows/WDialogPeer.java
index a5d2c27..716a77f 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WDialogPeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WDialogPeer.java
@@ -87,6 +87,7 @@ class WDialogPeer extends WWindowPeer implements DialogPeer {
}
}
+ @SuppressWarnings("deprecation")
public void hide() {
Dialog dlg = (Dialog)target;
if (dlg.getModalityType() != Dialog.ModalityType.MODELESS) {
diff --git a/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFrame.java b/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFrame.java
index 4e4e383..b0f9cd3 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFrame.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFrame.java
@@ -27,14 +27,12 @@ package sun.awt.windows;
import sun.awt.*;
import java.awt.*;
-import java.awt.event.*;
import java.awt.peer.ComponentPeer;
-import java.util.*;
-import java.awt.color.*;
import java.awt.image.*;
import sun.awt.image.ByteInterleavedRaster;
import sun.security.action.GetPropertyAction;
-import java.lang.reflect.*;
+import java.security.PrivilegedAction;
+import java.security.AccessController;
public class WEmbeddedFrame extends EmbeddedFrame {
@@ -52,8 +50,8 @@ public class WEmbeddedFrame extends EmbeddedFrame {
private static int pScale = 0;
private static final int MAX_BAND_SIZE = (1024*30);
- private static String printScale = (String) java.security.AccessController
- .doPrivileged(new GetPropertyAction("sun.java2d.print.pluginscalefactor"));
+ private static String printScale = AccessController.doPrivileged(
+ new GetPropertyAction("sun.java2d.print.pluginscalefactor"));
public WEmbeddedFrame() {
this((long)0);
@@ -75,6 +73,7 @@ public class WEmbeddedFrame extends EmbeddedFrame {
}
}
+ @SuppressWarnings("deprecation")
public void addNotify() {
if (getPeer() == null) {
WToolkit toolkit = (WToolkit)Toolkit.getDefaultToolkit();
@@ -134,8 +133,8 @@ public class WEmbeddedFrame extends EmbeddedFrame {
bandHeight = Math.min(MAX_BAND_SIZE/bandWidth, frameHeight);
- imgWid = (int)(bandWidth * xscale);
- imgHgt = (int)(bandHeight * yscale);
+ imgWid = bandWidth * xscale;
+ imgHgt = bandHeight * yscale;
bandImage = new BufferedImage(imgWid, imgHgt,
BufferedImage.TYPE_3BYTE_BGR);
}
@@ -159,7 +158,7 @@ public class WEmbeddedFrame extends EmbeddedFrame {
if ((bandTop+bandHeight) > frameHeight) {
// last band
currBandHeight = frameHeight - bandTop;
- currImgHeight = (int)(currBandHeight*yscale);
+ currImgHeight = currBandHeight*yscale;
// multiply by 3 because the image is a 3 byte BGR
imageOffset = imgWid*(imgHgt-currImgHeight)*3;
@@ -179,9 +178,9 @@ public class WEmbeddedFrame extends EmbeddedFrame {
if (printScale == null) {
// if no system property is specified,
// check for environment setting
- printScale = (String) java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction() {
- public Object run() {
+ printScale = AccessController.doPrivileged(
+ new PrivilegedAction<String>() {
+ public String run() {
return System.getenv("JAVA2D_PLUGIN_PRINT_SCALE");
}
}
@@ -226,6 +225,7 @@ public class WEmbeddedFrame extends EmbeddedFrame {
public void activateEmbeddingTopLevel() {
}
+ @SuppressWarnings("deprecation")
public void synthesizeWindowActivation(final boolean doActivate) {
if (!doActivate || EventQueue.isDispatchThread()) {
((WEmbeddedFramePeer)getPeer()).synthesizeWmActivate(doActivate);
diff --git a/jdk/src/windows/classes/sun/awt/windows/WFileDialogPeer.java b/jdk/src/windows/classes/sun/awt/windows/WFileDialogPeer.java
index ed216c0..56568dc 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WFileDialogPeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WFileDialogPeer.java
@@ -167,7 +167,7 @@ public class WFileDialogPeer extends WWindowPeer implements FileDialogPeer {
WToolkit.executeOnEventHandlerThread(fileDialog, new Runnable() {
public void run() {
- fileDialog.hide();
+ fileDialog.setVisible(false);
}
});
} // handleSelected()
@@ -182,16 +182,16 @@ public class WFileDialogPeer extends WWindowPeer implements FileDialogPeer {
WToolkit.executeOnEventHandlerThread(fileDialog, new Runnable() {
public void run() {
- fileDialog.hide();
+ fileDialog.setVisible(false);
}
});
} // handleCancel()
//This whole static block is a part of 4152317 fix
static {
- String filterString = (String) AccessController.doPrivileged(
- new PrivilegedAction() {
- public Object run() {
+ String filterString = AccessController.doPrivileged(
+ new PrivilegedAction<String>() {
+ public String run() {
try {
ResourceBundle rb = ResourceBundle.getBundle("sun.awt.windows.awtLocalization");
return rb.getString("allFiles");
diff --git a/jdk/src/windows/classes/sun/awt/windows/WFramePeer.java b/jdk/src/windows/classes/sun/awt/windows/WFramePeer.java
index 94cde03..368b8f6 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WFramePeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WFramePeer.java
@@ -24,25 +24,12 @@
*/
package sun.awt.windows;
-import java.util.Vector;
-
import java.awt.*;
import java.awt.peer.*;
-import java.awt.image.ImageObserver;
-
-import java.awt.image.Raster;
-import java.awt.image.DataBuffer;
-import java.awt.image.DataBufferInt;
-import java.awt.image.BufferedImage;
-
-import java.awt.image.ColorModel;
-
-import sun.awt.image.ImageRepresentation;
-import sun.awt.image.IntegerComponentRaster;
-import sun.awt.image.ToolkitImage;
-import sun.awt.im.*;
-import sun.awt.Win32GraphicsDevice;
import sun.awt.AWTAccessor;
+import sun.awt.im.InputMethodManager;
+import java.security.AccessController;
+import sun.security.action.GetPropertyAction;
class WFramePeer extends WWindowPeer implements FramePeer {
@@ -71,9 +58,9 @@ class WFramePeer extends WWindowPeer implements FramePeer {
private native void clearMaximizedBounds();
private static final boolean keepOnMinimize = "true".equals(
- (String)java.security.AccessController.doPrivileged(
- new sun.security.action.GetPropertyAction(
- "sun.awt.keepWorkingSetOnMinimize")));
+ AccessController.doPrivileged(
+ new GetPropertyAction(
+ "sun.awt.keepWorkingSetOnMinimize")));
public void setMaximizedBounds(Rectangle b) {
if (b == null) {
diff --git a/jdk/src/windows/classes/sun/awt/windows/WInputMethod.java b/jdk/src/windows/classes/sun/awt/windows/WInputMethod.java
index d1423a3..dbecc23 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WInputMethod.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WInputMethod.java
@@ -82,12 +82,12 @@ public class WInputMethod extends InputMethodAdapter
private final static boolean COMMIT_INPUT = true;
private final static boolean DISCARD_INPUT = false;
- private static Map[] highlightStyles;
+ private static Map<TextAttribute,Object> [] highlightStyles;
// Initialize highlight mapping table
static {
- Map styles[] = new Map[4];
- HashMap map;
+ Map<TextAttribute,Object> styles[] = new Map[4];
+ HashMap<TextAttribute,Object> map;
// UNSELECTED_RAW_TEXT_HIGHLIGHT
map = new HashMap(1);
@@ -410,7 +410,7 @@ public class WInputMethod extends InputMethodAdapter
/**
* @see java.awt.Toolkit#mapInputMethodHighlight
*/
- static Map mapInputMethodHighlight(InputMethodHighlight highlight) {
+ static Map<TextAttribute,?> mapInputMethodHighlight(InputMethodHighlight highlight) {
int index;
int state = highlight.getState();
if (state == InputMethodHighlight.RAW_TEXT) {
diff --git a/jdk/src/windows/classes/sun/awt/windows/WMenuItemPeer.java b/jdk/src/windows/classes/sun/awt/windows/WMenuItemPeer.java
index 1c71b62..716ab5d 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WMenuItemPeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WMenuItemPeer.java
@@ -158,9 +158,9 @@ class WMenuItemPeer extends WObjectPeer implements MenuItemPeer {
private static Font defaultMenuFont;
static {
- defaultMenuFont = (Font) AccessController.doPrivileged(
- new PrivilegedAction() {
- public Object run() {
+ defaultMenuFont = AccessController.doPrivileged(
+ new PrivilegedAction <Font> () {
+ public Font run() {
try {
ResourceBundle rb = ResourceBundle.getBundle("sun.awt.windows.awtLocalization");
return Font.decode(rb.getString("menuFont"));
diff --git a/jdk/src/windows/classes/sun/awt/windows/WPageDialog.java b/jdk/src/windows/classes/sun/awt/windows/WPageDialog.java
index 6beda8b..08e73c5 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WPageDialog.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WPageDialog.java
@@ -55,6 +55,7 @@ public class WPageDialog extends WPrintDialog {
this.painter = painter;
}
+ @SuppressWarnings("deprecation")
public void addNotify() {
synchronized(getTreeLock()) {
Container parent = getParent();
diff --git a/jdk/src/windows/classes/sun/awt/windows/WPageDialogPeer.java b/jdk/src/windows/classes/sun/awt/windows/WPageDialogPeer.java
index e1fb9b0..707bc3f 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WPageDialogPeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WPageDialogPeer.java
@@ -49,7 +49,7 @@ public class WPageDialogPeer extends WPrintDialogPeer {
// but if it is we need to trap it so the thread does
// not hide is called and the thread doesn't hang.
}
- ((WPrintDialog)target).hide();
+ ((WPrintDialog)target).setVisible(false);
}
}).start();
}
diff --git a/jdk/src/windows/classes/sun/awt/windows/WPrintDialog.java b/jdk/src/windows/classes/sun/awt/windows/WPrintDialog.java
index 0708d92..af1a5dc 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WPrintDialog.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WPrintDialog.java
@@ -53,6 +53,7 @@ public class WPrintDialog extends Dialog {
// Use native code to circumvent access restrictions on Component.peer
protected native void setPeer(ComponentPeer peer);
+ @SuppressWarnings("deprecation")
public void addNotify() {
synchronized(getTreeLock()) {
Container parent = getParent();
diff --git a/jdk/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java b/jdk/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java
index 769e73a..988098e 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java
@@ -73,7 +73,7 @@ public class WPrintDialogPeer extends WWindowPeer implements DialogPeer {
// but if it is we need to trap it so the thread does
// not hide is called and the thread doesn't hang.
}
- ((WPrintDialog)target).hide();
+ ((WPrintDialog)target).setVisible(false);
}
}).start();
}
diff --git a/jdk/src/windows/classes/sun/awt/windows/WToolkit.java b/jdk/src/windows/classes/sun/awt/windows/WToolkit.java
index 26b234f..0c0cdd4 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WToolkit.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WToolkit.java
@@ -74,7 +74,7 @@ public class WToolkit extends SunToolkit implements Runnable {
WClipboard clipboard;
// cache of font peers
- private Hashtable cacheFontPeer;
+ private Hashtable<String,FontPeer> cacheFontPeer;
// Windows properties
private WDesktopProperties wprops;
@@ -110,10 +110,10 @@ public class WToolkit extends SunToolkit implements Runnable {
log.fine("Win version: " + getWindowsVersion());
}
- java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction()
+ AccessController.doPrivileged(
+ new PrivilegedAction <Void> ()
{
- public Object run() {
+ public Void run() {
String browserProp = System.getProperty("browser");
if (browserProp != null && browserProp.equals("sun.plugin")) {
disableCustomPalette();
@@ -261,8 +261,8 @@ public class WToolkit extends SunToolkit implements Runnable {
}
private final void registerShutdownHook() {
- AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
+ AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ public Void run() {
ThreadGroup currentTG =
Thread.currentThread().getThreadGroup();
ThreadGroup parentTG = currentTG.getParent();
@@ -399,6 +399,7 @@ public class WToolkit extends SunToolkit implements Runnable {
return peer;
}
+ @SuppressWarnings("deprecation")
public void disableBackgroundErase(Canvas canvas) {
WCanvasPeer peer = (WCanvasPeer)canvas.getPeer();
if (peer == null) {
@@ -592,7 +593,7 @@ public class WToolkit extends SunToolkit implements Runnable {
FontPeer retval = null;
String lcName = name.toLowerCase();
if (null != cacheFontPeer) {
- retval = (FontPeer)cacheFontPeer.get(lcName + style);
+ retval = cacheFontPeer.get(lcName + style);
if (null != retval) {
return retval;
}
@@ -600,7 +601,7 @@ public class WToolkit extends SunToolkit implements Runnable {
retval = new WFontPeer(name, style);
if (retval != null) {
if (null == cacheFontPeer) {
- cacheFontPeer = new Hashtable(5, (float)0.9);
+ cacheFontPeer = new Hashtable<>(5, 0.9f);
}
if (null != cacheFontPeer) {
cacheFontPeer.put(lcName + style, retval);
@@ -698,7 +699,9 @@ public class WToolkit extends SunToolkit implements Runnable {
/**
* Returns a style map for the input method highlight.
*/
- public Map mapInputMethodHighlight(InputMethodHighlight highlight) {
+ public Map<java.awt.font.TextAttribute,?> mapInputMethodHighlight(
+ InputMethodHighlight highlight)
+ {
return WInputMethod.mapInputMethodHighlight(highlight);
}
@@ -968,12 +971,14 @@ public class WToolkit extends SunToolkit implements Runnable {
return !Win32GraphicsEnvironment.isDWMCompositionEnabled();
}
+ @SuppressWarnings("deprecation")
public void grab(Window w) {
if (w.getPeer() != null) {
((WWindowPeer)w.getPeer()).grab();
}
}
+ @SuppressWarnings("deprecation")
public void ungrab(Window w) {
if (w.getPeer() != null) {
((WWindowPeer)w.getPeer()).ungrab();
diff --git a/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java b/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java
index cdd46ed..450535e 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java
@@ -92,7 +92,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer,
}
// WComponentPeer overrides
-
+ @SuppressWarnings("unchecked")
protected void disposeImpl() {
AppContext appContext = SunToolkit.targetToAppContext(target);
synchronized (appContext) {
@@ -378,6 +378,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer,
return modalBlocker != null;
}
+ @SuppressWarnings("deprecation")
public void setModalBlocked(Dialog dialog, boolean blocked) {
synchronized (((Component)getTarget()).getTreeLock()) // State lock should always be after awtLock
{
@@ -417,6 +418,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer,
* The list is sorted by the time of activation, so the latest
* active window is always at the end.
*/
+ @SuppressWarnings("unchecked")
public static long[] getActiveWindowHandles() {
AppContext appContext = AppContext.getAppContext();
synchronized (appContext) {
@@ -571,6 +573,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer,
super.print(g);
}
+ @SuppressWarnings("deprecation")
private void replaceSurfaceDataRecursively(Component c) {
if (c instanceof Container) {
for (Component child : ((Container)c).getComponents()) {
@@ -691,13 +694,13 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer,
// its shape only. To restore the correct visual appearance
// of the window (i.e. w/ the correct shape) we have to reset
// the shape.
- Shape shape = ((Window)target).getShape();
+ Shape shape = target.getShape();
if (shape != null) {
- ((Window)target).setShape(shape);
+ target.setShape(shape);
}
}
- if (((Window)target).isVisible()) {
+ if (target.isVisible()) {
updateWindow(true);
}
}
@@ -730,6 +733,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer,
* then the method registers ActiveWindowListener, GuiDisposedListener listeners;
* it executes the initilialization only once per AppContext.
*/
+ @SuppressWarnings("unchecked")
private static void initActiveWindowsTracking(Window w) {
AppContext appContext = AppContext.getAppContext();
synchronized (appContext) {
@@ -774,6 +778,7 @@ public class WWindowPeer extends WPanelPeer implements WindowPeer,
* updates the list of active windows per AppContext, so the latest active
* window is always at the end of the list. The list is stored in AppContext.
*/
+ @SuppressWarnings( value = {"deprecation", "unchecked"})
private static class ActiveWindowListener implements PropertyChangeListener {
public void propertyChange(PropertyChangeEvent e) {
Window w = (Window)e.getNewValue();
diff --git a/jdk/src/windows/classes/sun/security/krb5/internal/tools/Klist.java b/jdk/src/windows/classes/sun/security/krb5/internal/tools/Klist.java
index ddfe95c..e892353 100644
--- a/jdk/src/windows/classes/sun/security/krb5/internal/tools/Klist.java
+++ b/jdk/src/windows/classes/sun/security/krb5/internal/tools/Klist.java
@@ -207,7 +207,7 @@ public class Klist {
}
if (options[2] == 't') {
System.out.println("\t Time stamp: " +
- reformat(entries[i].getTimeStamp().toDate().toString()));
+ format(entries[i].getTimeStamp()));
}
}
}
@@ -234,30 +234,39 @@ public class Klist {
System.out.println("\nDefault principal: " +
defaultPrincipal + ", " +
creds.length + " entries found.\n");
- String starttime = null;
- String endtime = null;
- String servicePrincipal = null;
- String etype = null;
if (creds != null) {
for (int i = 0; i < creds.length; i++) {
try {
- starttime =
- reformat(creds[i].getAuthTime().toDate().toString());
- endtime =
- reformat(creds[i].getEndTime().toDate().toString());
+ String starttime;
+ String endtime;
+ String renewTill;
+ String servicePrincipal;
+ if (creds[i].getStartTime() != null) {
+ starttime = format(creds[i].getStartTime());
+ } else {
+ starttime = format(creds[i].getAuthTime());
+ }
+ endtime = format(creds[i].getEndTime());
servicePrincipal =
creds[i].getServicePrincipal().toString();
System.out.println("[" + (i + 1) + "] " +
" Service Principal: " +
servicePrincipal);
- System.out.println(" Valid starting: " + starttime);
- System.out.println(" Expires: " + endtime);
+ System.out.println(" Valid starting: " + starttime);
+ System.out.println(" Expires: " + endtime);
+ if (creds[i].getRenewTill() != null) {
+ renewTill = format(creds[i].getRenewTill());
+ System.out.println(
+ " Renew until: " + renewTill);
+ }
if (options[0] == 'e') {
- etype = EType.toString(creds[i].getEType());
- System.out.println(" Encryption type: " + etype);
+ String eskey = EType.toString(creds[i].getEType());
+ String etkt = EType.toString(creds[i].getTktEType());
+ System.out.println(" EType (skey, tkt): "
+ + eskey + ", " + etkt);
}
if (options[1] == 'f') {
- System.out.println(" Flags: " +
+ System.out.println(" Flags: " +
creds[i].getTicketFlags().toString());
}
if (options[2] == 'a') {
@@ -312,13 +321,14 @@ public class Klist {
* and yyyy is the year.
* @param date the string form of Date object.
*/
- String reformat(String date) {
+ private String format(KerberosTime kt) {
+ String date = kt.toDate().toString();
return (date.substring(4, 7) + " " + date.substring(8, 10) +
", " + date.substring(24)
- + " " + date.substring(11, 16));
+ + " " + date.substring(11, 19));
}
/**
- * Printes out the help information.
+ * Prints out the help information.
*/
void printHelp() {
System.out.println("\nUsage: klist " +
diff --git a/jdk/src/windows/classes/sun/security/mscapi/Key.java b/jdk/src/windows/classes/sun/security/mscapi/Key.java
index 9a548bf..6fa195a 100644
--- a/jdk/src/windows/classes/sun/security/mscapi/Key.java
+++ b/jdk/src/windows/classes/sun/security/mscapi/Key.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,8 @@
package sun.security.mscapi;
+import sun.security.util.Length;
+
/**
* The handle for an RSA or DSA key using the Microsoft Crypto API.
*
@@ -35,7 +37,7 @@ package sun.security.mscapi;
* @since 1.6
* @author Stanley Man-Kit Ho
*/
-abstract class Key implements java.security.Key
+abstract class Key implements java.security.Key, Length
{
// Native handle
@@ -81,7 +83,8 @@ abstract class Key implements java.security.Key
/**
* Return bit length of the key.
*/
- public int bitLength()
+ @Override
+ public int length()
{
return keyLength;
}
diff --git a/jdk/src/windows/classes/sun/security/mscapi/RSACipher.java b/jdk/src/windows/classes/sun/security/mscapi/RSACipher.java
index 4b14653..7ab2962 100644
--- a/jdk/src/windows/classes/sun/security/mscapi/RSACipher.java
+++ b/jdk/src/windows/classes/sun/security/mscapi/RSACipher.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -235,12 +235,12 @@ public final class RSACipher extends CipherSpi {
mode = encrypt ? MODE_ENCRYPT : MODE_VERIFY;
publicKey = (sun.security.mscapi.Key)key;
privateKey = null;
- outputSize = publicKey.bitLength() / 8;
+ outputSize = publicKey.length() / 8;
} else if (key instanceof PrivateKey) {
mode = encrypt ? MODE_SIGN : MODE_DECRYPT;
privateKey = (sun.security.mscapi.Key)key;
publicKey = null;
- outputSize = privateKey.bitLength() / 8;
+ outputSize = privateKey.length() / 8;
} else {
throw new InvalidKeyException("Unknown key type: " + key);
}
@@ -395,7 +395,7 @@ public final class RSACipher extends CipherSpi {
protected int engineGetKeySize(Key key) throws InvalidKeyException {
if (key instanceof sun.security.mscapi.Key) {
- return ((sun.security.mscapi.Key) key).bitLength();
+ return ((sun.security.mscapi.Key) key).length();
} else if (key instanceof RSAKey) {
return ((RSAKey) key).getModulus().bitLength();
diff --git a/jdk/src/windows/classes/sun/security/mscapi/RSASignature.java b/jdk/src/windows/classes/sun/security/mscapi/RSASignature.java
index 3154173..488c236 100644
--- a/jdk/src/windows/classes/sun/security/mscapi/RSASignature.java
+++ b/jdk/src/windows/classes/sun/security/mscapi/RSASignature.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -290,7 +290,7 @@ abstract class RSASignature extends java.security.SignatureSpi
// Check against the local and global values to make sure
// the sizes are ok. Round up to nearest byte.
- RSAKeyFactory.checkKeyLengths(((privateKey.bitLength() + 7) & ~7),
+ RSAKeyFactory.checkKeyLengths(((privateKey.length() + 7) & ~7),
null, RSAKeyPairGenerator.KEY_SIZE_MIN,
RSAKeyPairGenerator.KEY_SIZE_MAX);
diff --git a/jdk/src/windows/lib/tzmappings b/jdk/src/windows/lib/tzmappings
index 7f6f0d3..706eff6 100644
--- a/jdk/src/windows/lib/tzmappings
+++ b/jdk/src/windows/lib/tzmappings
@@ -167,7 +167,7 @@ Greenwich Standard Time:88,89::GMT:
Argentina Standard Time:900,900::America/Buenos_Aires:
Azerbaijan Standard Time:901,901:AZ:Asia/Baku:
Bangladesh Standard Time:902,902::Asia/Dhaka:
-Central Brazilian Standard Time:903,903:BR:America/Manaus:
+Central Brazilian Standard Time:903,903:BR:America/Cuiaba:
Central Standard Time (Mexico):904,904::America/Mexico_City:
Georgian Standard Time:905,905:GE:Asia/Tbilisi:
Jordan Standard Time:906,906:JO:Asia/Amman:
@@ -189,5 +189,8 @@ UTC-11:921,921::GMT-1100:
Ulaanbaatar Standard Time:922,922::Asia/Ulaanbaatar:
Venezuela Standard Time:923,923::America/Caracas:
Magadan Standard Time:924,924::Asia/Magadan:
-Western Brazilian Standard Time:925,925:BR:America/Rio_Branco:
-Armenian Standard Time:926,926:AM:Asia/Yerevan:
+Kaliningrad Standard Time:925,925:RU:Europe/Kaliningrad:
+Turkey Standard Time:926,926::Asia/Istanbul:
+Bahia Standard Time:927,927::America/Bahia:
+Western Brazilian Standard Time:928,928:BR:America/Rio_Branco:
+Armenian Standard Time:929,929:AM:Asia/Yerevan:
diff --git a/jdk/src/windows/native/java/io/io_util_md.c b/jdk/src/windows/native/java/io/io_util_md.c
index 345f955..787617e 100644
--- a/jdk/src/windows/native/java/io/io_util_md.c
+++ b/jdk/src/windows/native/java/io/io_util_md.c
@@ -478,7 +478,7 @@ handleSetLength(jlong fd, jlong length) {
}
JNIEXPORT
-size_t
+jint
handleRead(jlong fd, void *buf, jint len)
{
DWORD read = 0;
@@ -499,10 +499,10 @@ handleRead(jlong fd, void *buf, jint len)
}
return -1;
}
- return read;
+ return (jint)read;
}
-static size_t writeInternal(jlong fd, const void *buf, jint len, jboolean append)
+static jint writeInternal(jlong fd, const void *buf, jint len, jboolean append)
{
BOOL result = 0;
DWORD written = 0;
@@ -527,16 +527,16 @@ static size_t writeInternal(jlong fd, const void *buf, jint len, jboolean append
if ((h == INVALID_HANDLE_VALUE) || (result == 0)) {
return -1;
}
- return (size_t)written;
+ return (jint)written;
}
JNIEXPORT
-size_t handleWrite(jlong fd, const void *buf, jint len) {
+jint handleWrite(jlong fd, const void *buf, jint len) {
return writeInternal(fd, buf, len, JNI_FALSE);
}
JNIEXPORT
-size_t handleAppend(jlong fd, const void *buf, jint len) {
+jint handleAppend(jlong fd, const void *buf, jint len) {
return writeInternal(fd, buf, len, JNI_TRUE);
}
diff --git a/jdk/src/windows/native/java/io/io_util_md.h b/jdk/src/windows/native/java/io/io_util_md.h
index d979970..392b8c3 100644
--- a/jdk/src/windows/native/java/io/io_util_md.h
+++ b/jdk/src/windows/native/java/io/io_util_md.h
@@ -39,9 +39,9 @@ void fileOpen(JNIEnv *env, jobject this, jstring path, jfieldID fid, int flags);
int handleAvailable(jlong fd, jlong *pbytes);
JNIEXPORT int handleSync(jlong fd);
int handleSetLength(jlong fd, jlong length);
-JNIEXPORT size_t handleRead(jlong fd, void *buf, jint len);
-JNIEXPORT size_t handleWrite(jlong fd, const void *buf, jint len);
-JNIEXPORT size_t handleAppend(jlong fd, const void *buf, jint len);
+JNIEXPORT jint handleRead(jlong fd, void *buf, jint len);
+JNIEXPORT jint handleWrite(jlong fd, const void *buf, jint len);
+JNIEXPORT jint handleAppend(jlong fd, const void *buf, jint len);
jint handleClose(JNIEnv *env, jobject this, jfieldID fid);
jlong handleLseek(jlong fd, jlong offset, jint whence);
diff --git a/jdk/test/Makefile b/jdk/test/Makefile
index 8cc2452..084465e 100644
--- a/jdk/test/Makefile
+++ b/jdk/test/Makefile
@@ -333,8 +333,8 @@ BUNDLE_UP_AND_EXIT = \
################################################################
-# Default make rule (runs jtreg_tests)
-all: jtreg_tests
+# Default make rule (runs default jdk tests)
+all: jdk_default
@$(ECHO) "Testing completed successfully"
# Prep for output
@@ -445,6 +445,7 @@ endef
# ------------------------------------------------------------------
# Batches of tests (somewhat arbitrary assigments to jdk_* targets)
+JDK_DEFAULT_TARGETS =
JDK_ALL_TARGETS =
# Stable othervm testruns (minus items from PROBLEM_LIST)
@@ -456,6 +457,7 @@ jdk_awt: $(call TestDirs, com/sun/awt java/awt sun/awt \
# Stable agentvm testruns (minus items from PROBLEM_LIST)
JDK_ALL_TARGETS += jdk_beans1
+JDK_DEFAULT_TARGETS += jdk_beans1
jdk_beans1: $(call TestDirs, \
java/beans/beancontext java/beans/PropertyChangeSupport \
java/beans/Introspector java/beans/Performance \
@@ -482,11 +484,13 @@ jdk_beans: jdk_beans1 jdk_beans2 jdk_beans3
# Stable agentvm testruns (minus items from PROBLEM_LIST)
JDK_ALL_TARGETS += jdk_io
+JDK_DEFAULT_TARGETS += jdk_io
jdk_io: $(call TestDirs, java/io)
$(call RunAgentvmBatch)
# Stable agentvm testruns (minus items from PROBLEM_LIST)
JDK_ALL_TARGETS += jdk_lang
+JDK_DEFAULT_TARGETS += jdk_lang
jdk_lang: $(call TestDirs, java/lang)
$(call RunAgentvmBatch)
@@ -508,11 +512,13 @@ jdk_management: jdk_management1 jdk_management2
# Stable agentvm testruns (minus items from PROBLEM_LIST)
JDK_ALL_TARGETS += jdk_math
+JDK_DEFAULT_TARGETS += jdk_math
jdk_math: $(call TestDirs, java/math)
$(call RunAgentvmBatch)
# Stable agentvm testruns (minus items from PROBLEM_LIST)
JDK_ALL_TARGETS += jdk_misc
+JDK_DEFAULT_TARGETS += jdk_misc
jdk_misc: $(call TestDirs, \
demo/jvmti demo/zipfs javax/naming javax/script \
javax/smartcardio com/sun/jndi com/sun/xml sun/misc)
@@ -520,16 +526,19 @@ jdk_misc: $(call TestDirs, \
# Stable agentvm testruns (minus items from PROBLEM_LIST)
JDK_ALL_TARGETS += jdk_net
+JDK_DEFAULT_TARGETS += jdk_net
jdk_net: $(call TestDirs, com/sun/net java/net sun/net)
$(call RunAgentvmBatch)
# Stable agentvm testruns (minus items from PROBLEM_LIST)
JDK_ALL_TARGETS += jdk_nio1
+JDK_DEFAULT_TARGETS += jdk_nio1
jdk_nio1: $(call TestDirs, java/nio/file)
$(call RunAgentvmBatch)
# Stable agentvm testruns (minus items from PROBLEM_LIST)
JDK_ALL_TARGETS += jdk_nio2
+JDK_DEFAULT_TARGETS += jdk_nio2
jdk_nio2: $(call TestDirs, java/nio/Buffer java/nio/ByteOrder \
java/nio/channels java/nio/MappedByteBuffer)
$(call SharedLibraryPermissions,java/nio/channels)
@@ -537,6 +546,7 @@ jdk_nio2: $(call TestDirs, java/nio/Buffer java/nio/ByteOrder \
# Stable agentvm testruns (minus items from PROBLEM_LIST)
JDK_ALL_TARGETS += jdk_nio3
+JDK_DEFAULT_TARGETS += jdk_nio3
jdk_nio3: $(call TestDirs, sun/nio)
$(call RunAgentvmBatch)
@@ -556,6 +566,7 @@ jdk_rmi: $(call TestDirs, java/rmi javax/rmi sun/rmi)
# Stable agentvm testruns (minus items from PROBLEM_LIST)
JDK_ALL_TARGETS += jdk_security1
+JDK_DEFAULT_TARGETS += jdk_security1
jdk_security1: $(call TestDirs, java/security)
$(call RunAgentvmBatch)
@@ -567,7 +578,8 @@ jdk_security2: $(call TestDirs, javax/crypto javax/xml/crypto com/sun/crypto)
# Stable agentvm testruns (minus items from PROBLEM_LIST)
JDK_ALL_TARGETS += jdk_security3
jdk_security3: $(call TestDirs, com/sun/security lib/security javax/security \
- sun/security com/sun/org/apache/xml/internal/security)
+ sun/security com/sun/org/apache/xml/internal/security \
+ com/oracle/secrity/ucrypto)
$(call SharedLibraryPermissions,sun/security)
$(call RunAgentvmBatch)
@@ -589,6 +601,7 @@ jdk_swing: $(call TestDirs, javax/swing sun/java2d \
# Stable agentvm testruns (minus items from PROBLEM_LIST)
JDK_ALL_TARGETS += jdk_text
+JDK_DEFAULT_TARGETS += jdk_text
jdk_text: $(call TestDirs, java/text sun/text)
$(call RunAgentvmBatch)
@@ -612,6 +625,7 @@ jdk_tools: jdk_tools1 jdk_tools2
# Stable agentvm testruns (minus items from PROBLEM_LIST)
JDK_ALL_TARGETS += jdk_util
+JDK_DEFAULT_TARGETS += jdk_util
jdk_util: $(call TestDirs, java/util sun/util)
$(call RunAgentvmBatch)
@@ -625,19 +639,22 @@ ifeq ($(MODULE_BUILD),true)
endif
JDK_ALL_TARGETS += jdk_jigsaw
+JDK_DEFAULT_TARGETS += jdk_jigsaw
jdk_jigsaw: java/lang/module $(JIGSAW_TESTS)
$(call RunOthervmBatch)
# ------------------------------------------------------------------
+# Run default tests
+jdk_default: $(JDK_DEFAULT_TARGETS)
+ @$(SummaryInfo)
+
# Run all tests
-FILTER_OUT_LIST=jdk_awt jdk_rmi jdk_swing
+jdk_all: $(JDK_ALL_TARGETS)
ifeq ($(MODULE_BUILD),false)
FILTER_OUT_LIST+=jdk_jigsaw
endif
-JDK_ALL_STABLE_TARGETS := $(filter-out $(FILTER_OUT_LIST), $(JDK_ALL_TARGETS))
-jdk_all: $(JDK_ALL_STABLE_TARGETS)
@$(SummaryInfo)
# These are all phony targets
diff --git a/jdk/test/ProblemList.txt b/jdk/test/ProblemList.txt
index 0860daf..2f4d91e 100644
--- a/jdk/test/ProblemList.txt
+++ b/jdk/test/ProblemList.txt
@@ -195,19 +195,22 @@ java/beans/XMLEncoder/6329581/Test6329581.java generic-all
# jdk_lang
+# 7123972
+java/lang/annotation/loaderLeak/Main.java generic-all
+
# 7079093
java/lang/instrument/ManifestTest.sh windows-all
-############################################################################
-
-# jdk_management
-
# 6944188
java/lang/management/ThreadMXBean/ThreadStateTest.java generic-all
# 7067973
java/lang/management/MemoryMXBean/CollectionUsageThreshold.java generic-all
+############################################################################
+
+# jdk_management
+
# Failing, bug was filed: 6959636
javax/management/loading/LibraryLoader/LibraryLoaderTest.java generic-all
@@ -289,6 +292,9 @@ javax/management/monitor/AttributeArbitraryDataTypeTest.java generic-all
# jdk_misc
+# 6988950
+demo/jvmti/compiledMethodLoad/CompiledMethodLoadTest.java generic-all
+
# Need to be marked othervm, or changed to be samevm safe
com/sun/jndi/rmi/registry/RegistryContext/UnbindIdempotent.java generic-all
@@ -387,9 +393,6 @@ java/net/PortUnreachableException/OneExceptionOnly.java windows-all
# 6962637
java/io/File/MaxPathLength.java windows-all
-# 6671616
-java/io/File/BlockIsDirectory.java solaris-all
-
# 7076644
java/io/File/Basic.java windows-all
@@ -400,8 +403,8 @@ java/io/File/Basic.java windows-all
# 6963118
java/nio/channels/Selector/Wakeup.java windows-all
-# 7076700
-java/nio/channels/SocketChannel/AdaptSocket.java generic-all
+# 7052549
+java/nio/channels/FileChannel/ReleaseOnCloseDeadlock.java windows-all
############################################################################
diff --git a/jdk/test/com/oracle/security/ucrypto/TestAES.java b/jdk/test/com/oracle/security/ucrypto/TestAES.java
new file mode 100644
index 0000000..9f280ae
--- /dev/null
+++ b/jdk/test/com/oracle/security/ucrypto/TestAES.java
@@ -0,0 +1,339 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7088989
+ * @summary Ensure the AES ciphers of OracleUcrypto provider works correctly
+ */
+import java.io.*;
+import java.security.*;
+import java.security.spec.*;
+import java.util.*;
+import javax.crypto.*;
+import javax.crypto.spec.*;
+
+public class TestAES extends UcryptoTest {
+
+ private static final String[] PADDEDCIPHER_ALGOS = {
+ "AES/ECB/PKCS5Padding",
+ "AES/CBC/PKCS5Padding",
+ "AES/CFB128/PKCS5Padding"
+ };
+
+ private static final String[] CIPHER_ALGOS = {
+ "AES/ECB/NoPadding",
+ "AES/CBC/NoPadding",
+ "AES/CFB128/NoPadding",
+ "AES/CTR/NoPadding",
+ };
+
+ private static final SecretKey CIPHER_KEY =
+ new SecretKeySpec(new byte[16], "AES");
+
+ public static void main(String[] args) throws Exception {
+ main(new TestAES(), null);
+ }
+
+ public void doTest(Provider prov) throws Exception {
+ // Provider for testing Interoperability
+ Provider sunJCEProv = Security.getProvider("SunJCE");
+
+ testCipherInterop(CIPHER_ALGOS, CIPHER_KEY, prov, sunJCEProv);
+ testCipherInterop(PADDEDCIPHER_ALGOS, CIPHER_KEY, prov, sunJCEProv);
+
+ testCipherOffset(CIPHER_ALGOS, CIPHER_KEY, prov);
+ testCipherOffset(PADDEDCIPHER_ALGOS, CIPHER_KEY, prov);
+
+ testCipherKeyWrapping(PADDEDCIPHER_ALGOS, CIPHER_KEY, prov, sunJCEProv);
+ testCipherGCM(CIPHER_KEY, prov);
+ }
+
+ private static void testCipherInterop(String[] algos, SecretKey key,
+ Provider p,
+ Provider interopP) {
+ boolean testPassed = true;
+ byte[] in = new byte[32];
+ (new SecureRandom()).nextBytes(in);
+
+ for (String algo : algos) {
+ try {
+ // check ENC
+ Cipher c;
+ try {
+ c = Cipher.getInstance(algo, p);
+ } catch (NoSuchAlgorithmException nsae) {
+ System.out.println("Skipping Unsupported CIP algo: " + algo);
+ continue;
+ }
+ c.init(Cipher.ENCRYPT_MODE, key, (AlgorithmParameters)null, null);
+ byte[] eout = c.doFinal(in, 0, in.length);
+
+ AlgorithmParameters params = c.getParameters();
+ Cipher c2 = Cipher.getInstance(algo, interopP);
+ c2.init(Cipher.ENCRYPT_MODE, key, params, null);
+ byte[] eout2 = c2.doFinal(in, 0, in.length);
+
+ if (!Arrays.equals(eout, eout2)) {
+ System.out.println(algo + ": DIFF FAILED");
+ testPassed = false;
+ } else {
+ System.out.println(algo + ": ENC Passed");
+ }
+
+ // check DEC
+ c.init(Cipher.DECRYPT_MODE, key, params, null);
+ byte[] dout = c.doFinal(eout);
+ c2.init(Cipher.DECRYPT_MODE, key, params, null);
+ byte[] dout2 = c2.doFinal(eout2);
+
+ if (!Arrays.equals(dout, dout2)) {
+ System.out.println(algo + ": DIFF FAILED");
+ testPassed = false;
+ } else {
+ System.out.println(algo + ": DEC Passed");
+ }
+ } catch(Exception ex) {
+ System.out.println("Unexpected Exception: " + algo);
+ ex.printStackTrace();
+ testPassed = false;
+ }
+ }
+
+ if (!testPassed) {
+ throw new RuntimeException("One or more CIPHER test failed!");
+ } else {
+ System.out.println("CIPHER Interop Tests Passed");
+ }
+ }
+
+ private static void testCipherOffset(String[] algos, SecretKey key,
+ Provider p) {
+ boolean testPassed = true;
+ byte[] in = new byte[16];
+ (new SecureRandom()).nextBytes(in);
+ int blockSize = 16;
+
+ for (int j = 1; j < (in.length - 1); j++) {
+ System.out.println("Input offset size: " + j);
+ for (int i = 0; i < algos.length; i++) {
+ try {
+ // check ENC
+ Cipher c;
+ try {
+ c = Cipher.getInstance(algos[i], p);
+ } catch (NoSuchAlgorithmException nsae) {
+ System.out.println("Skip Unsupported CIP algo: " + algos[i]);
+ continue;
+ }
+ c.init(Cipher.ENCRYPT_MODE, key, (AlgorithmParameters)null, null);
+ byte[] eout = new byte[c.getOutputSize(in.length)];
+ int firstPartLen = in.length - j - 1;
+ //System.out.print("1st UPDATE: " + firstPartLen);
+ int k = c.update(in, 0, firstPartLen, eout, 0);
+ k += c.update(in, firstPartLen, 1, eout, k);
+ k += c.doFinal(in, firstPartLen+1, j, eout, k);
+
+ AlgorithmParameters params = c.getParameters();
+
+ Cipher c2 = Cipher.getInstance(algos[i], p);
+ c2.init(Cipher.ENCRYPT_MODE, key, params, null);
+ byte[] eout2 = new byte[c2.getOutputSize(in.length)];
+ int k2 = c2.update(in, 0, j, eout2, 0);
+ k2 += c2.update(in, j, 1, eout2, k2);
+ k2 += c2.doFinal(in, j+1, firstPartLen, eout2, k2);
+
+ if (!checkArrays(eout, k, eout2, k2)) testPassed = false;
+
+ // check DEC
+ c.init(Cipher.DECRYPT_MODE, key, params, null);
+ byte[] dout = new byte[c.getOutputSize(eout.length)];
+ k = c.update(eout, 0, firstPartLen, dout, 0);
+ k += c.update(eout, firstPartLen, 1, dout, k);
+ k += c.doFinal(eout, firstPartLen+1, eout.length - firstPartLen - 1, dout, k);
+ if (!checkArrays(in, in.length, dout, k)) testPassed = false;
+ } catch(Exception ex) {
+ System.out.println("Unexpected Exception: " + algos[i]);
+ ex.printStackTrace();
+ testPassed = false;
+ }
+ }
+ }
+ if (!testPassed) {
+ throw new RuntimeException("One or more CIPHER test failed!");
+ } else {
+ System.out.println("CIPHER Offset Tests Passed");
+ }
+ }
+
+ private static void testCipherKeyWrapping(String[] algos, SecretKey key,
+ Provider p, Provider interopP)
+ throws NoSuchAlgorithmException {
+ boolean testPassed = true;
+
+ // Test SecretKey, PrivateKey and PublicKey
+ Key[] tbwKeys = new Key[3];
+ int[] tbwKeyTypes = { Cipher.SECRET_KEY, Cipher.PRIVATE_KEY, Cipher.PUBLIC_KEY };
+ tbwKeys[0] = new SecretKeySpec(new byte[20], "Blowfish");
+ KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
+ kpg.initialize(1024);
+ KeyPair kp = kpg.generateKeyPair();
+ tbwKeys[1] = kp.getPrivate();
+ tbwKeys[2] = kp.getPublic();
+
+ for (int i = 0; i < algos.length; i++) {
+ try {
+ System.out.println(algos[i] + " - Native WRAP/Java UNWRAP");
+
+ Cipher c1;
+ try {
+ c1 = Cipher.getInstance(algos[i], p);
+ } catch (NoSuchAlgorithmException nsae) {
+ System.out.println("Skipping Unsupported CIP algo: " + algos[i]);
+ continue;
+ }
+ c1.init(Cipher.WRAP_MODE, key, (AlgorithmParameters)null, null);
+ AlgorithmParameters params = c1.getParameters();
+ Cipher c2 = Cipher.getInstance(algos[i], interopP);
+ c2.init(Cipher.UNWRAP_MODE, key, params, null);
+
+ for (int j = 0; j < tbwKeys.length ; j++) {
+ byte[] wrappedKey = c1.wrap(tbwKeys[j]);
+ Key recovered = c2.unwrap(wrappedKey,
+ tbwKeys[j].getAlgorithm(), tbwKeyTypes[j]);
+ if (!checkKeys(tbwKeys[j], recovered)) testPassed = false;
+ }
+
+ System.out.println(algos[i] + " - Java WRAP/Native UNWRAP");
+ c1 = Cipher.getInstance(algos[i], interopP);
+ c1.init(Cipher.WRAP_MODE, key, (AlgorithmParameters)null, null);
+ params = c1.getParameters();
+ c2 = Cipher.getInstance(algos[i], p);
+ c2.init(Cipher.UNWRAP_MODE, key, params, null);
+
+ for (int j = 0; j < tbwKeys.length ; j++) {
+ byte[] wrappedKey = c1.wrap(tbwKeys[j]);
+ Key recovered = c2.unwrap(wrappedKey,
+ tbwKeys[j].getAlgorithm(), tbwKeyTypes[j]);
+ if (!checkKeys(tbwKeys[j], recovered)) testPassed = false;
+ }
+
+ } catch(Exception ex) {
+ System.out.println("Unexpected Exception: " + algos[i]);
+ ex.printStackTrace();
+ testPassed = false;
+ }
+ }
+ if (!testPassed) {
+ throw new RuntimeException("One or more CIPHER test failed!");
+ } else {
+ System.out.println("CIPHER KeyWrapping Tests Passed");
+ }
+ }
+
+
+ private static void testCipherGCM(SecretKey key,
+ Provider p) {
+ boolean testPassed = true;
+ byte[] in = new byte[16];
+ (new SecureRandom()).nextBytes(in);
+
+ byte[] iv = new byte[16];
+ (new SecureRandom()).nextBytes(iv);
+
+
+ String algo = "AES/GCM/NoPadding";
+ int tagLen[] = { 128, 120, 112, 104, 96, 64, 32 };
+
+ try {
+ Cipher c;
+ try {
+ c = Cipher.getInstance(algo, p);
+ } catch (NoSuchAlgorithmException nsae) {
+ System.out.println("Skipping Unsupported CIP algo: " + algo);
+ return;
+ }
+ for (int i = 0; i < tagLen.length; i++) {
+ AlgorithmParameterSpec paramSpec = new GCMParameterSpec(tagLen[i], iv);
+ // check ENC
+ c.init(Cipher.ENCRYPT_MODE, key, paramSpec, null);
+ c.updateAAD(iv);
+ byte[] eout = c.doFinal(in, 0, in.length);
+
+ AlgorithmParameters param = c.getParameters();
+ // check DEC
+ c.init(Cipher.DECRYPT_MODE, key, param, null);
+ c.updateAAD(iv);
+ byte[] dout = c.doFinal(eout, 0, eout.length);
+
+ if (!Arrays.equals(dout, in)) {
+ System.out.println(algo + ": PT and RT DIFF FAILED");
+ testPassed = false;
+ } else {
+ System.out.println(algo + ": tagLen " + tagLen[i] + " done");
+ }
+ }
+ } catch(Exception ex) {
+ System.out.println("Unexpected Exception: " + algo);
+ ex.printStackTrace();
+ testPassed = false;
+ }
+ if (!testPassed) {
+ throw new RuntimeException("One or more CIPHER test failed!");
+ } else {
+ System.out.println("CIPHER GCM Tests Passed");
+ }
+ }
+
+ private static boolean checkArrays(byte[] a1, int a1Len, byte[] a2, int a2Len) {
+ boolean equal = true;
+ if (a1Len != a2Len) {
+ System.out.println("DIFFERENT OUT LENGTH");
+ equal = false;
+ } else {
+ for (int p = 0; p < a1Len; p++) {
+ if (a1[p] != a2[p]) {
+ System.out.println("DIFF FAILED");
+ equal = false;
+ break;
+ }
+ }
+ }
+ return equal;
+ }
+
+ private static boolean checkKeys(Key k1, Key k2) {
+ boolean equal = true;
+ if (!k1.getAlgorithm().equalsIgnoreCase(k2.getAlgorithm())) {
+ System.out.println("DIFFERENT Key Algorithm");
+ equal = false;
+ } else if (!k1.getFormat().equalsIgnoreCase(k2.getFormat())) {
+ System.out.println("DIFFERENT Key Format");
+ equal = false;
+ } else if (!Arrays.equals(k1.getEncoded(), k2.getEncoded())) {
+ System.out.println("DIFFERENT Key Encoding");
+ equal = false;
+ }
+ return equal;
+ }
+}
diff --git a/jdk/test/com/oracle/security/ucrypto/TestDigest.java b/jdk/test/com/oracle/security/ucrypto/TestDigest.java
new file mode 100644
index 0000000..3bc85dc
--- /dev/null
+++ b/jdk/test/com/oracle/security/ucrypto/TestDigest.java
@@ -0,0 +1,127 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7088989
+ * @summary Ensure the various message digests works correctly
+ */
+import java.io.*;
+import java.security.*;
+import java.security.spec.*;
+import java.util.*;
+import javax.crypto.*;
+import javax.crypto.spec.*;
+
+public class TestDigest extends UcryptoTest {
+
+ private static final String[] MD_ALGOS = {
+ "MD5",
+ "SHA",
+ "SHA-256",
+ "SHA-384",
+ "SHA-512"
+ };
+
+ public static void main(String[] args) throws Exception {
+ main(new TestDigest(), null);
+ }
+
+ public void doTest(Provider p) {
+ boolean testPassed = true;
+ byte[] msg = new byte[200];
+ (new SecureRandom()).nextBytes(msg);
+ String interopProvName = "SUN";
+
+ for (String a : MD_ALGOS) {
+ try {
+ MessageDigest md, md2;
+ try {
+ md = MessageDigest.getInstance(a, p);
+ } catch (NoSuchAlgorithmException nsae) {
+ System.out.println("Skipping Unsupported MD algo: " + a);
+ continue;
+ }
+ md2 = MessageDigest.getInstance(a, interopProvName);
+ // Test Interoperability for update+digest calls
+ for (int i = 0; i < 3; i++) {
+ md.update(msg);
+ byte[] digest = md.digest();
+ md2.update(msg);
+ byte[] digest2 = md2.digest();
+ if (!Arrays.equals(digest, digest2)) {
+ System.out.println("DIFF1 FAILED for: " + a + " at iter " + i);
+ testPassed = false;
+ }
+ }
+
+ // Test Interoperability for digest calls
+ md = MessageDigest.getInstance(a, p);
+ md2 = MessageDigest.getInstance(a, interopProvName);
+
+ for (int i = 0; i < 3; i++) {
+ byte[] digest = md.digest();
+ byte[] digest2 = md2.digest();
+ if (!Arrays.equals(digest, digest2)) {
+ System.out.println("DIFF2 FAILED for: " + a + " at iter " + i);
+ testPassed = false;
+ }
+ }
+
+ // Test Cloning functionality
+ md = MessageDigest.getInstance(a, p);
+ md2 = (MessageDigest) md.clone(); // clone right after construction
+ byte[] digest = md.digest();
+ byte[] digest2 = md2.digest();
+ if (!Arrays.equals(digest, digest2)) {
+ System.out.println("DIFF-3.1 FAILED for: " + a);
+ testPassed = false;
+ }
+ md.update(msg);
+ md2 = (MessageDigest) md.clone(); // clone again after update call
+ digest = md.digest();
+ digest2 = md2.digest();
+ if (!Arrays.equals(digest, digest2)) {
+ System.out.println("DIFF-3.2 FAILED for: " + a);
+ testPassed = false;
+ }
+ md2 = (MessageDigest) md.clone(); // clone after digest
+ digest = md.digest();
+ digest2 = md2.digest();
+ if (!Arrays.equals(digest, digest2)) {
+ System.out.println("DIFF-3.3 FAILED for: " + a);
+ testPassed = false;
+ }
+ } catch(Exception ex) {
+ System.out.println("Unexpected Exception: " + a);
+ ex.printStackTrace();
+ testPassed = false;
+ }
+ }
+ if (!testPassed) {
+ throw new RuntimeException("One or more MD test failed!");
+ } else {
+ System.out.println("MD Tests Passed");
+ }
+ }
+}
diff --git a/jdk/test/com/oracle/security/ucrypto/TestRSA.java b/jdk/test/com/oracle/security/ucrypto/TestRSA.java
new file mode 100644
index 0000000..3f4364e
--- /dev/null
+++ b/jdk/test/com/oracle/security/ucrypto/TestRSA.java
@@ -0,0 +1,421 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7088989
+ * @summary Ensure the RSA ciphers and signatures works correctly
+ */
+import java.io.*;
+import java.security.*;
+import java.security.spec.*;
+import java.util.*;
+import java.math.*;
+import javax.crypto.*;
+
+public class TestRSA extends UcryptoTest {
+
+ // KAT
+ private static final byte PLAINTEXT[] = Arrays.copyOf
+ (new String("Known plaintext message utilized" +
+ "for RSA Encryption & Decryption" +
+ "block, SHA1, SHA256, SHA384 and" +
+ "SHA512 RSA Signature KAT tests.").getBytes(), 128);
+
+ private static final byte MOD[] = {
+ (byte)0xd5, (byte)0x84, (byte)0x95, (byte)0x07, (byte)0xf4, (byte)0xd0,
+ (byte)0x1f, (byte)0x82, (byte)0xf3, (byte)0x79, (byte)0xf4, (byte)0x99,
+ (byte)0x48, (byte)0x10, (byte)0xe1, (byte)0x71, (byte)0xa5, (byte)0x62,
+ (byte)0x22, (byte)0xa3, (byte)0x4b, (byte)0x00, (byte)0xe3, (byte)0x5b,
+ (byte)0x3a, (byte)0xcc, (byte)0x10, (byte)0x83, (byte)0xe0, (byte)0xaf,
+ (byte)0x61, (byte)0x13, (byte)0x54, (byte)0x6a, (byte)0xa2, (byte)0x6a,
+ (byte)0x2c, (byte)0x5e, (byte)0xb3, (byte)0xcc, (byte)0xa3, (byte)0x71,
+ (byte)0x9a, (byte)0xb2, (byte)0x3e, (byte)0x78, (byte)0xec, (byte)0xb5,
+ (byte)0x0e, (byte)0x6e, (byte)0x31, (byte)0x3b, (byte)0x77, (byte)0x1f,
+ (byte)0x6e, (byte)0x94, (byte)0x41, (byte)0x60, (byte)0xd5, (byte)0x6e,
+ (byte)0xd9, (byte)0xc6, (byte)0xf9, (byte)0x29, (byte)0xc3, (byte)0x40,
+ (byte)0x36, (byte)0x25, (byte)0xdb, (byte)0xea, (byte)0x0b, (byte)0x07,
+ (byte)0xae, (byte)0x76, (byte)0xfd, (byte)0x99, (byte)0x29, (byte)0xf4,
+ (byte)0x22, (byte)0xc1, (byte)0x1a, (byte)0x8f, (byte)0x05, (byte)0xfe,
+ (byte)0x98, (byte)0x09, (byte)0x07, (byte)0x05, (byte)0xc2, (byte)0x0f,
+ (byte)0x0b, (byte)0x11, (byte)0x83, (byte)0x39, (byte)0xca, (byte)0xc7,
+ (byte)0x43, (byte)0x63, (byte)0xff, (byte)0x33, (byte)0x80, (byte)0xe7,
+ (byte)0xc3, (byte)0x78, (byte)0xae, (byte)0xf1, (byte)0x73, (byte)0x52,
+ (byte)0x98, (byte)0x1d, (byte)0xde, (byte)0x5c, (byte)0x53, (byte)0x6e,
+ (byte)0x01, (byte)0x73, (byte)0x0d, (byte)0x12, (byte)0x7e, (byte)0x77,
+ (byte)0x03, (byte)0xf1, (byte)0xef, (byte)0x1b, (byte)0xc8, (byte)0xa8,
+ (byte)0x0f, (byte)0x97
+ };
+
+ private static final byte PUB_EXP[] = {(byte)0x01, (byte)0x00, (byte)0x01};
+
+ private static final byte PRIV_EXP[] = {
+ (byte)0x85, (byte)0x27, (byte)0x47, (byte)0x61, (byte)0x4c, (byte)0xd4,
+ (byte)0xb5, (byte)0xb2, (byte)0x0e, (byte)0x70, (byte)0x91, (byte)0x8f,
+ (byte)0x3d, (byte)0x97, (byte)0xf9, (byte)0x5f, (byte)0xcc, (byte)0x09,
+ (byte)0x65, (byte)0x1c, (byte)0x7c, (byte)0x5b, (byte)0xb3, (byte)0x6d,
+ (byte)0x63, (byte)0x3f, (byte)0x7b, (byte)0x55, (byte)0x22, (byte)0xbb,
+ (byte)0x7c, (byte)0x48, (byte)0x77, (byte)0xae, (byte)0x80, (byte)0x56,
+ (byte)0xc2, (byte)0x10, (byte)0xd5, (byte)0x03, (byte)0xdb, (byte)0x31,
+ (byte)0xaf, (byte)0x8d, (byte)0x54, (byte)0xd4, (byte)0x48, (byte)0x99,
+ (byte)0xa8, (byte)0xc4, (byte)0x23, (byte)0x43, (byte)0xb8, (byte)0x48,
+ (byte)0x0b, (byte)0xc7, (byte)0xbc, (byte)0xf5, (byte)0xcc, (byte)0x64,
+ (byte)0x72, (byte)0xbf, (byte)0x59, (byte)0x06, (byte)0x04, (byte)0x1c,
+ (byte)0x32, (byte)0xf5, (byte)0x14, (byte)0x2e, (byte)0x6e, (byte)0xe2,
+ (byte)0x0f, (byte)0x5c, (byte)0xde, (byte)0x36, (byte)0x3c, (byte)0x6e,
+ (byte)0x7c, (byte)0x4d, (byte)0xcc, (byte)0xd3, (byte)0x00, (byte)0x6e,
+ (byte)0xe5, (byte)0x45, (byte)0x46, (byte)0xef, (byte)0x4d, (byte)0x25,
+ (byte)0x46, (byte)0x6d, (byte)0x7f, (byte)0xed, (byte)0xbb, (byte)0x4f,
+ (byte)0x4d, (byte)0x9f, (byte)0xda, (byte)0x87, (byte)0x47, (byte)0x8f,
+ (byte)0x74, (byte)0x44, (byte)0xb7, (byte)0xbe, (byte)0x9d, (byte)0xf5,
+ (byte)0xdd, (byte)0xd2, (byte)0x4c, (byte)0xa5, (byte)0xab, (byte)0x74,
+ (byte)0xe5, (byte)0x29, (byte)0xa1, (byte)0xd2, (byte)0x45, (byte)0x3b,
+ (byte)0x33, (byte)0xde, (byte)0xd5, (byte)0xae, (byte)0xf7, (byte)0x03,
+ (byte)0x10, (byte)0x21
+ };
+
+ private static final byte PRIME_P[] = {
+ (byte)0xf9, (byte)0x74, (byte)0x8f, (byte)0x16, (byte)0x02, (byte)0x6b,
+ (byte)0xa0, (byte)0xee, (byte)0x7f, (byte)0x28, (byte)0x97, (byte)0x91,
+ (byte)0xdc, (byte)0xec, (byte)0xc0, (byte)0x7c, (byte)0x49, (byte)0xc2,
+ (byte)0x85, (byte)0x76, (byte)0xee, (byte)0x66, (byte)0x74, (byte)0x2d,
+ (byte)0x1a, (byte)0xb8, (byte)0xf7, (byte)0x2f, (byte)0x11, (byte)0x5b,
+ (byte)0x36, (byte)0xd8, (byte)0x46, (byte)0x33, (byte)0x3b, (byte)0xd8,
+ (byte)0xf3, (byte)0x2d, (byte)0xa1, (byte)0x03, (byte)0x83, (byte)0x2b,
+ (byte)0xec, (byte)0x35, (byte)0x43, (byte)0x32, (byte)0xff, (byte)0xdd,
+ (byte)0x81, (byte)0x7c, (byte)0xfd, (byte)0x65, (byte)0x13, (byte)0x04,
+ (byte)0x7c, (byte)0xfc, (byte)0x03, (byte)0x97, (byte)0xf0, (byte)0xd5,
+ (byte)0x62, (byte)0xdc, (byte)0x0d, (byte)0xbf
+ };
+
+ private static final byte PRIME_Q[] = {
+ (byte)0xdb, (byte)0x1e, (byte)0xa7, (byte)0x3d, (byte)0xe7, (byte)0xfa,
+ (byte)0x8b, (byte)0x04, (byte)0x83, (byte)0x48, (byte)0xf3, (byte)0xa5,
+ (byte)0x31, (byte)0x9d, (byte)0x35, (byte)0x5e, (byte)0x4d, (byte)0x54,
+ (byte)0x77, (byte)0xcc, (byte)0x84, (byte)0x09, (byte)0xf3, (byte)0x11,
+ (byte)0x0d, (byte)0x54, (byte)0xed, (byte)0x85, (byte)0x39, (byte)0xa9,
+ (byte)0xca, (byte)0xa8, (byte)0xea, (byte)0xae, (byte)0x19, (byte)0x9c,
+ (byte)0x75, (byte)0xdb, (byte)0x88, (byte)0xb8, (byte)0x04, (byte)0x8d,
+ (byte)0x54, (byte)0xc6, (byte)0xa4, (byte)0x80, (byte)0xf8, (byte)0x93,
+ (byte)0xf0, (byte)0xdb, (byte)0x19, (byte)0xef, (byte)0xd7, (byte)0x87,
+ (byte)0x8a, (byte)0x8f, (byte)0x5a, (byte)0x09, (byte)0x2e, (byte)0x54,
+ (byte)0xf3, (byte)0x45, (byte)0x24, (byte)0x29
+ };
+
+ private static final byte EXP_P[] = {
+ (byte)0x6a, (byte)0xd1, (byte)0x25, (byte)0x80, (byte)0x18, (byte)0x33,
+ (byte)0x3c, (byte)0x2b, (byte)0x44, (byte)0x19, (byte)0xfe, (byte)0xa5,
+ (byte)0x40, (byte)0x03, (byte)0xc4, (byte)0xfc, (byte)0xb3, (byte)0x9c,
+ (byte)0xef, (byte)0x07, (byte)0x99, (byte)0x58, (byte)0x17, (byte)0xc1,
+ (byte)0x44, (byte)0xa3, (byte)0x15, (byte)0x7d, (byte)0x7b, (byte)0x22,
+ (byte)0x22, (byte)0xdf, (byte)0x03, (byte)0x58, (byte)0x66, (byte)0xf5,
+ (byte)0x24, (byte)0x54, (byte)0x52, (byte)0x91, (byte)0x2d, (byte)0x76,
+ (byte)0xfe, (byte)0x63, (byte)0x64, (byte)0x4e, (byte)0x0f, (byte)0x50,
+ (byte)0x2b, (byte)0x65, (byte)0x79, (byte)0x1f, (byte)0xf1, (byte)0xbf,
+ (byte)0xc7, (byte)0x41, (byte)0x26, (byte)0xcc, (byte)0xc6, (byte)0x1c,
+ (byte)0xa9, (byte)0x83, (byte)0x6f, (byte)0x03
+ };
+
+ private static final byte EXP_Q[] = {
+ (byte)0x12, (byte)0x84, (byte)0x1a, (byte)0x99, (byte)0xce, (byte)0x9a,
+ (byte)0x8b, (byte)0x58, (byte)0xcc, (byte)0x47, (byte)0x43, (byte)0xdf,
+ (byte)0x77, (byte)0xbb, (byte)0xd3, (byte)0x20, (byte)0xae, (byte)0xe4,
+ (byte)0x2e, (byte)0x63, (byte)0x67, (byte)0xdc, (byte)0xf7, (byte)0x5f,
+ (byte)0x3f, (byte)0x83, (byte)0x27, (byte)0xb7, (byte)0x14, (byte)0x52,
+ (byte)0x56, (byte)0xbf, (byte)0xc3, (byte)0x65, (byte)0x06, (byte)0xe1,
+ (byte)0x03, (byte)0xcc, (byte)0x93, (byte)0x57, (byte)0x09, (byte)0x7b,
+ (byte)0x6f, (byte)0xe8, (byte)0x81, (byte)0x4a, (byte)0x2c, (byte)0xb7,
+ (byte)0x43, (byte)0xa9, (byte)0x20, (byte)0x1d, (byte)0xf6, (byte)0x56,
+ (byte)0x8b, (byte)0xcc, (byte)0xe5, (byte)0x4c, (byte)0xd5, (byte)0x4f,
+ (byte)0x74, (byte)0x67, (byte)0x29, (byte)0x51
+ };
+
+ private static final byte CRT_COEFF[] = {
+ (byte)0x23, (byte)0xab, (byte)0xf4, (byte)0x03, (byte)0x2f, (byte)0x29,
+ (byte)0x95, (byte)0x74, (byte)0xac, (byte)0x1a, (byte)0x33, (byte)0x96,
+ (byte)0x62, (byte)0xed, (byte)0xf7, (byte)0xf6, (byte)0xae, (byte)0x07,
+ (byte)0x2a, (byte)0x2e, (byte)0xe8, (byte)0xab, (byte)0xfb, (byte)0x1e,
+ (byte)0xb9, (byte)0xb2, (byte)0x88, (byte)0x1e, (byte)0x85, (byte)0x05,
+ (byte)0x42, (byte)0x64, (byte)0x03, (byte)0xb2, (byte)0x8b, (byte)0xc1,
+ (byte)0x81, (byte)0x75, (byte)0xd7, (byte)0xba, (byte)0xaa, (byte)0xd4,
+ (byte)0x31, (byte)0x3c, (byte)0x8a, (byte)0x96, (byte)0x23, (byte)0x9d,
+ (byte)0x3f, (byte)0x06, (byte)0x3e, (byte)0x44, (byte)0xa9, (byte)0x62,
+ (byte)0x2f, (byte)0x61, (byte)0x5a, (byte)0x51, (byte)0x82, (byte)0x2c,
+ (byte)0x04, (byte)0x85, (byte)0x73, (byte)0xd1
+ };
+
+ private static KeyPair genRSAKey(int keyLength) throws Exception {
+ KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
+ kpg.initialize(keyLength);
+ return kpg.generateKeyPair();
+ }
+
+ private static KeyPair genPredefinedRSAKeyPair() throws Exception {
+ KeyFactory kf = KeyFactory.getInstance("RSA");
+ BigInteger mod = new BigInteger(MOD);
+ BigInteger pub = new BigInteger(PUB_EXP);
+
+ PrivateKey privKey = kf.generatePrivate
+ (new RSAPrivateCrtKeySpec
+ (mod, pub, new BigInteger(PRIV_EXP),
+ new BigInteger(PRIME_P), new BigInteger(PRIME_Q),
+ new BigInteger(EXP_P), new BigInteger(EXP_Q),
+ new BigInteger(CRT_COEFF)));
+ PublicKey pubKey = kf.generatePublic(new RSAPublicKeySpec(mod, pub));
+ return new KeyPair(pubKey, privKey);
+ }
+
+ private static final String CIP_ALGOS[] = {
+ "RSA/ECB/NoPadding",
+ "RSA/ECB/PKCS1Padding"
+ };
+ private static final int INPUT_SIZE_REDUCTION[] = {
+ 0,
+ 11,
+ };
+ private static final String SIG_ALGOS[] = {
+ "MD5WithRSA",
+ "SHA1WithRSA",
+ "SHA256WithRSA",
+ "SHA384WithRSA",
+ "SHA512WithRSA"
+ };
+
+ private static KeyPair kp[] = null;
+
+ public static void main(String argv[]) throws Exception {
+ main(new TestRSA(), null);
+ }
+
+ public void doTest(Provider prov) throws Exception {
+ // first test w/ predefine KeyPair
+ KeyPair pkp = genPredefinedRSAKeyPair();
+ System.out.println("Test against Predefined RSA Key Pair");
+ testCipher(pkp, 128, true, prov);
+ testSignature(pkp, true, prov);
+
+ for (int i = 0; i < 10; i++) {
+ // then test w/ various key lengths
+ int keyLens[] = { 1024, 2048 };
+ kp = new KeyPair[keyLens.length];
+
+ testCipher(keyLens, false, prov);
+ testSignature(keyLens, false, prov);
+ }
+ }
+
+
+ private static void testCipher(KeyPair kp, int inputSizeInBytes,
+ boolean checkInterop, Provider prov)
+ throws Exception {
+ Cipher c1, c2;
+ for (int i = 0; i < CIP_ALGOS.length; i++) {
+ String algo = CIP_ALGOS[i];
+ try {
+ c1 = Cipher.getInstance(algo, prov);
+ } catch (NoSuchAlgorithmException nsae) {
+ System.out.println("Skip unsupported Cipher algo: " + algo);
+ continue;
+ }
+
+ if (checkInterop) {
+ c2 = Cipher.getInstance(algo, "SunJCE");
+ } else {
+ c2 = Cipher.getInstance(algo, prov);
+ }
+ byte[] data = Arrays.copyOf
+ (PLAINTEXT, inputSizeInBytes - INPUT_SIZE_REDUCTION[i]);
+
+ testEncryption(c1, c2, kp, data);
+ }
+ }
+
+ private static void testCipher(int keyLens[], boolean checkInterop,
+ Provider prov)
+ throws Exception {
+ // RSA CipherText will always differ due to the random nonce in padding
+ // so we check whether both
+ // 1) Java Encrypt/C Decrypt
+ // 2) C Encrypt/Java Decrypt
+ // works
+ Cipher c1, c2;
+ for (int i = 0; i < CIP_ALGOS.length; i++) {
+ String algo = CIP_ALGOS[i];
+ try {
+ c1 = Cipher.getInstance(algo, prov);
+ } catch (NoSuchAlgorithmException nsae) {
+ System.out.println("Skip unsupported Cipher algo: " + algo);
+ continue;
+ }
+
+ if (checkInterop) {
+ c2 = Cipher.getInstance(algo, "SunJCE");
+ } else {
+ c2 = Cipher.getInstance(algo, prov);
+ }
+
+ for (int h = 0; h < keyLens.length; h++) {
+ // Defer key pair generation until now when it'll soon be used.
+ if (kp[h] == null) {
+ kp[h] = genRSAKey(keyLens[h]);
+ }
+ System.out.println("\tTesting Cipher " + algo + " w/ KeySize " + keyLens[h]);
+ byte[] data = Arrays.copyOf
+ (PLAINTEXT, keyLens[h]/8 - INPUT_SIZE_REDUCTION[i]);
+ testEncryption(c1, c2, kp[h], data);
+ }
+ }
+ }
+
+ private static void testEncryption(Cipher c1, Cipher c2, KeyPair kp, byte[] data)
+ throws Exception {
+ // C1 Encrypt + C2 Decrypt
+ byte[] out1 = null;
+ byte[] recoveredText = null;
+ try {
+ c1.init(Cipher.ENCRYPT_MODE, kp.getPublic());
+ out1 = c1.doFinal(data);
+ c2.init(Cipher.DECRYPT_MODE, kp.getPrivate());
+ recoveredText = c2.doFinal(out1);
+ } catch (Exception ex) {
+ System.out.println("\tDEC ERROR: unexpected exception");
+ ex.printStackTrace();
+ throw ex;
+ }
+ if(!Arrays.equals(recoveredText, data)) {
+ throw new RuntimeException("\tDEC ERROR: different PT bytes!");
+ }
+ // C2 Encrypt + C1 Decrypt
+ byte[] cipherText = null;
+ try {
+ c2.init(Cipher.ENCRYPT_MODE, kp.getPublic());
+ cipherText = c2.doFinal(data);
+ c1.init(Cipher.DECRYPT_MODE, kp.getPrivate());
+ try {
+ out1 = c1.doFinal(cipherText);
+ } catch (Exception ex) {
+ System.out.println("\tENC ERROR: invalid encrypted output");
+ ex.printStackTrace();
+ throw ex;
+ }
+ } catch (Exception ex) {
+ System.out.println("\tENC ERROR: unexpected exception");
+ ex.printStackTrace();
+ throw ex;
+ }
+ if (!Arrays.equals(out1, data)) {
+ throw new RuntimeException("\tENC ERROR: Decrypted result DIFF!");
+ }
+ System.out.println("\t=> PASS");
+ }
+
+ private static void testSignature(KeyPair kp, boolean checkInterop,
+ Provider prov) throws Exception {
+ byte[] data = PLAINTEXT;
+ Signature sig1, sig2;
+ for (int i = 0; i < SIG_ALGOS.length; i++) {
+ String algo = SIG_ALGOS[i];
+ try {
+ sig1 = Signature.getInstance(algo, prov);
+ } catch (NoSuchAlgorithmException nsae) {
+ System.out.println("Skip unsupported Signature algo: " + algo);
+ continue;
+ }
+
+ if (checkInterop) {
+ sig2 = Signature.getInstance(algo, "SunRsaSign");
+ } else {
+ sig2 = Signature.getInstance(algo, prov);
+ }
+ testSigning(sig1, sig2, kp, data);
+ }
+ }
+
+ private static void testSignature(int keyLens[], boolean checkInterop,
+ Provider prov) throws Exception {
+ byte[] data = PLAINTEXT;
+ Signature sig1, sig2;
+ for (int i = 0; i < SIG_ALGOS.length; i++) {
+ String algo = SIG_ALGOS[i];
+ try {
+ sig1 = Signature.getInstance(algo, prov);
+ } catch (NoSuchAlgorithmException nsae) {
+ System.out.println("Skip unsupported Signature algo: " + algo);
+ continue;
+ }
+
+ if (checkInterop) {
+ sig2 = Signature.getInstance(algo, "SunRsaSign");
+ } else {
+ sig2 = Signature.getInstance(algo, prov);
+ }
+
+ for (int h = 0; h < keyLens.length; h++) {
+ // Defer key pair generation until now when it'll soon be used.
+ if (kp[h] == null) {
+ kp[h] = genRSAKey(keyLens[h]);
+ }
+ System.out.println("\tTesting Signature " + algo + " w/ KeySize " + keyLens[h]);
+
+ testSigning(sig1, sig2, kp[h], data);
+ }
+ }
+ }
+
+ private static void testSigning(Signature sig1, Signature sig2, KeyPair kp, byte[] data)
+ throws Exception {
+ boolean sameSig = false;
+ byte[] out = null;
+ try {
+ sig1.initSign(kp.getPrivate());
+ sig1.update(data);
+ out = sig1.sign();
+ } catch (Exception ex) {
+ System.out.println("\tSIGN ERROR: unexpected exception!");
+ ex.printStackTrace();
+ }
+
+ sig2.initSign(kp.getPrivate());
+ sig2.update(data);
+ byte[] out2 = sig2.sign();
+ if (!Arrays.equals(out2, out)) {
+ throw new RuntimeException("\tSIGN ERROR: Signature DIFF!");
+ }
+
+ boolean verify = false;
+ try {
+ System.out.println("\tVERIFY1 using native out");
+ sig1.initVerify(kp.getPublic());
+ sig1.update(data);
+ verify = sig1.verify(out);
+ if (!verify) {
+ throw new RuntimeException("VERIFY1 FAIL!");
+ }
+ } catch (Exception ex) {
+ System.out.println("\tVERIFY1 ERROR: unexpected exception!");
+ ex.printStackTrace();
+ throw ex;
+ }
+ System.out.println("\t=> PASS");
+ }
+}
diff --git a/jdk/test/com/oracle/security/ucrypto/UcryptoTest.java b/jdk/test/com/oracle/security/ucrypto/UcryptoTest.java
new file mode 100644
index 0000000..c2343c9
--- /dev/null
+++ b/jdk/test/com/oracle/security/ucrypto/UcryptoTest.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+// common infrastructure for OracleUcrypto provider tests
+
+import java.io.*;
+import java.util.*;
+import java.lang.reflect.*;
+
+import java.security.*;
+
+public abstract class UcryptoTest {
+
+ protected static final boolean hasUcrypto;
+ static {
+ hasUcrypto = (Security.getProvider("OracleUcrypto") != null);
+ }
+
+ private static Provider getCustomizedUcrypto(String config) throws Exception {
+ Class clazz = Class.forName("com.oracle.security.ucrypto.OracleUcrypto");
+ Constructor cons = clazz.getConstructor(new Class[] {String.class});
+ Object obj = cons.newInstance(new Object[] {config});
+ return (Provider)obj;
+ }
+
+ public abstract void doTest(Provider p) throws Exception;
+
+ public static void main(UcryptoTest test, String config) throws Exception {
+ Provider prov = null;
+ if (hasUcrypto) {
+ if (config != null) {
+ prov = getCustomizedUcrypto(config);
+ } else {
+ prov = Security.getProvider("OracleUcrypto");
+ }
+ }
+ if (prov == null) {
+ // un-available, skip testing...
+ System.out.println("No OracleUcrypto provider found, skipping test");
+ return;
+ }
+ test.doTest(prov);
+ }
+}
diff --git a/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/ExecuteDiagnosticCommand.java b/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/ExecuteDiagnosticCommand.java
new file mode 100644
index 0000000..da978e6
--- /dev/null
+++ b/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/ExecuteDiagnosticCommand.java
@@ -0,0 +1,64 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7104647
+ * @summary Basic Test for HotSpotDiagnosticMXBean.execute()
+ * @author Frederic Parain
+ *
+ * @run main ExecuteDiagnosticCommand
+ */
+
+import com.sun.management.HotSpotDiagnosticMXBean;
+import com.sun.management.VMOption;
+import java.lang.management.ManagementFactory;
+import java.util.List;
+import javax.management.MBeanServer;
+
+public class ExecuteDiagnosticCommand {
+ private static String HOTSPOT_DIAGNOSTIC_MXBEAN_NAME =
+ "com.sun.management:type=HotSpotDiagnostic";
+
+ public static void main(String[] args) throws Exception {
+ HotSpotDiagnosticMXBean mbean =
+ ManagementFactory.getPlatformMXBean(HotSpotDiagnosticMXBean.class);
+ executeDiagnosticCommand(mbean);
+
+ MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+ mbean = ManagementFactory.newPlatformMXBeanProxy(mbs,
+ HOTSPOT_DIAGNOSTIC_MXBEAN_NAME,
+ HotSpotDiagnosticMXBean.class);
+ executeDiagnosticCommand(mbean);
+ }
+
+ private static void executeDiagnosticCommand(HotSpotDiagnosticMXBean mbean) {
+ String s = mbean.execute("help help");
+ System.out.println(s);
+ s = mbean.execute("help", "help");
+ System.out.println(s);
+ String tab[] = { "help"};
+ s = mbean.execute("help", tab);
+ System.out.println(s);
+ }
+}
diff --git a/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommandInfo.java b/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommandInfo.java
new file mode 100644
index 0000000..938dfe0
--- /dev/null
+++ b/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommandInfo.java
@@ -0,0 +1,117 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7104647
+ * @summary Basic Test for HotSpotDiagnosticMXBean.getDiagnosticCommandInfo()
+ * @author Frederic Parain
+ *
+ * @run main GetDiagnosticCommandInfo
+ */
+
+import com.sun.management.HotSpotDiagnosticMXBean;
+import com.sun.management.DiagnosticCommandInfo;
+import com.sun.management.DiagnosticCommandArgumentInfo;
+import com.sun.management.VMOption;
+import java.lang.management.ManagementFactory;
+import java.util.List;
+import javax.management.MBeanServer;
+
+public class GetDiagnosticCommandInfo {
+ private static String HOTSPOT_DIAGNOSTIC_MXBEAN_NAME =
+ "com.sun.management:type=HotSpotDiagnostic";
+
+ public static void main(String[] args) throws Exception {
+ HotSpotDiagnosticMXBean mbean =
+ ManagementFactory.getPlatformMXBean(HotSpotDiagnosticMXBean.class);
+ checkDiagnosticCommandArguments(mbean);
+
+ MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+ mbean = ManagementFactory.newPlatformMXBeanProxy(mbs,
+ HOTSPOT_DIAGNOSTIC_MXBEAN_NAME,
+ HotSpotDiagnosticMXBean.class);
+ checkDiagnosticCommandArguments(mbean);
+ }
+
+ private static void checkDiagnosticCommandArguments(HotSpotDiagnosticMXBean mbean) {
+ // check getDiagnosticCommandInfo()
+ StringBuilder sb = new StringBuilder();
+ List<DiagnosticCommandInfo> infoList = mbean.getDiagnosticCommandInfo();
+ for(DiagnosticCommandInfo info : infoList) {
+ printCommandInfo(info,sb);
+ }
+ // check getDiagnosticCommandInfo(List<String>)
+ List<String> commands = mbean.getDiagnosticCommands();
+ List<DiagnosticCommandInfo> list2 =
+ mbean.getDiagnosticCommandInfo(commands);
+ for(DiagnosticCommandInfo info : list2) {
+ printCommandInfo(info,sb);
+ }
+ // check getDiagnosticCommandInfo(String)
+ for(String cmd : commands) {
+ DiagnosticCommandInfo info2 = mbean.getDiagnosticCommandInfo(cmd);
+ printCommandInfo(info2,sb);
+ }
+ System.out.println(sb.toString());
+ }
+
+ private static void printCommandInfo(DiagnosticCommandInfo info,
+ StringBuilder sb) {
+ sb.append("\t").append(info.getName()).append(":\n");
+ sb.append("\t\tDescription=").append(info.getDescription()).append("\n");
+ sb.append("\t\tImpact=").append(info.getImpact()).append("\n");
+ sb.append("\t\tStatus=");
+ if (info.isEnabled()) {
+ sb.append("Enabled\n");
+ } else {
+ sb.append("Disbled\n");
+ }
+ sb.append("\t\tArguments=");
+ for(DiagnosticCommandArgumentInfo arg : info.getArgumentsInfo()) {
+ printArgumentInfo(arg,sb);
+ }
+ }
+
+ private static void printArgumentInfo(DiagnosticCommandArgumentInfo info,
+ StringBuilder sb) {
+ sb.append("\t\t\t").append(info.getName()).append(":\n");
+ sb.append("\t\t\t\tType=").append(info.getType()).append("\n");
+ sb.append("\t\t\t\tDescription=").append(info.getDescription()).append("\n");
+ if(info.getDefault() != null) {
+ sb.append("\t\t\t\tDefault=").append(info.getDefault()).append("\n");
+ }
+ if(info.isMandatory()) {
+ sb.append("\t\t\t\tMandatory\n");
+ } else {
+ sb.append("\t\t\t\tOptional\n");
+ }
+ if(info.isOption()) {
+ sb.append("\t\t\t\tIs an option\n");
+ } else {
+ sb.append("\t\t\t\tIs an argument expected at position");
+ sb.append(info.getPosition());
+ sb.append("\n");
+ }
+ }
+}
diff --git a/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommands.java b/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommands.java
new file mode 100644
index 0000000..2540727
--- /dev/null
+++ b/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/GetDiagnosticCommands.java
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7104647
+ * @summary Basic Test for HotSpotDiagnosticMXBean.getDiagnosticCommands()
+ * @author Frederic Parain
+ *
+ * @run main GetDiagnosticCommands
+ */
+
+import com.sun.management.HotSpotDiagnosticMXBean;
+import com.sun.management.VMOption;
+import java.lang.management.ManagementFactory;
+import java.util.List;
+import javax.management.MBeanServer;
+
+public class GetDiagnosticCommands {
+ private static String HOTSPOT_DIAGNOSTIC_MXBEAN_NAME =
+ "com.sun.management:type=HotSpotDiagnostic";
+
+ public static void main(String[] args) throws Exception {
+ HotSpotDiagnosticMXBean mbean =
+ ManagementFactory.getPlatformMXBean(HotSpotDiagnosticMXBean.class);
+ checkDiagnosticCommands(mbean);
+
+ MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+ mbean = ManagementFactory.newPlatformMXBeanProxy(mbs,
+ HOTSPOT_DIAGNOSTIC_MXBEAN_NAME,
+ HotSpotDiagnosticMXBean.class);
+ checkDiagnosticCommands(mbean);
+ }
+
+ private static void checkDiagnosticCommands(HotSpotDiagnosticMXBean mbean) {
+ List<String> commands = mbean.getDiagnosticCommands();
+ System.out.println("Commands:");
+ for (String cmd : commands) {
+ System.out.println(cmd);
+ }
+ }
+}
diff --git a/jdk/test/java/awt/EventQueue/MainAppContext/MainAppContext.java b/jdk/test/java/awt/EventQueue/MainAppContext/MainAppContext.java
new file mode 100644
index 0000000..2a20320
--- /dev/null
+++ b/jdk/test/java/awt/EventQueue/MainAppContext/MainAppContext.java
@@ -0,0 +1,36 @@
+/*
+ * @test
+ * @bug 7122796
+ * @summary Tests 7122796
+ * @author anthony.petrov at oracle.com
+ */
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import sun.awt.*;
+
+public class MainAppContext {
+
+ public static void main(String[] args) {
+ ThreadGroup secondGroup = new ThreadGroup("test");
+ new Thread(secondGroup, new Runnable() {
+ public void run() {
+ SunToolkit.createNewAppContext();
+ test(true);
+ }
+ }).start();
+
+ // Sleep on the main thread so that the AWT Toolkit is initialized
+ // in a user AppContext first
+ try { Thread.sleep(2000); } catch (Exception e) {}
+
+ test(false);
+ }
+
+ private static void test(boolean userAppContext) {
+ if (Toolkit.getDefaultToolkit().getSystemEventQueue() == null) {
+ throw new RuntimeException("No EventQueue for the current app context! userAppContext: " + userAppContext);
+ }
+ }
+}
diff --git a/jdk/test/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java b/jdk/test/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java
new file mode 100644
index 0000000..294f455
--- /dev/null
+++ b/jdk/test/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java
@@ -0,0 +1,175 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7108598
+ * @summary Container.paint/KeyboardFocusManager.clearMostRecentFocusOwner methods deadlock
+ * @library ../../regtesthelpers
+ * @author Oleg Pekhovskiy
+ * @build Util
+ * @run main/timeout=20 PaintSetEnabledDeadlock
+ */
+
+import java.awt.*;
+import java.awt.event.*;
+import test.java.awt.regtesthelpers.Util;
+
+public class PaintSetEnabledDeadlock extends Frame {
+
+ final TestPanel panel;
+ final Button button;
+
+ public static void main(String[] args) {
+ PaintSetEnabledDeadlock frame = new PaintSetEnabledDeadlock();
+ frame.setSize(200, 200);
+ frame.setVisible(true);
+
+ Robot robot = Util.createRobot();
+ robot.setAutoDelay(100);
+ robot.setAutoWaitForIdle(true);
+
+ for (int i = 0; i < 20; ++i) {
+ Util.clickOnComp(frame.panel, robot);
+ Util.clickOnComp(frame.button, robot);
+ }
+
+ frame.panel.stop();
+ frame.dispose();
+
+ System.out.println("Test passed.");
+ }
+
+ public PaintSetEnabledDeadlock() {
+ super("7108598 test");
+ setLayout(new GridLayout(1, 2));
+ addWindowListener(new WindowAdapter() {
+
+ @Override
+ public void windowClosing(WindowEvent e) {
+ panel.stop();
+ System.exit(0);
+ }
+ });
+ panel = new TestPanel();
+ add(panel);
+ button = new Button("Enable");
+ button.addMouseListener(new MouseAdapter() {
+
+ @Override
+ public void mousePressed(MouseEvent e) {
+ panel.setEnabled(true);
+ panel.sync();
+ panel.repaint();
+ }
+ });
+ add(button);
+ }
+}
+
+class TestPanel extends Panel implements Runnable {
+
+ Image image = null;
+ Thread thread = null;
+ volatile boolean active = true;
+ final Object sync = new Object();
+ Panel panel = this;
+
+ public TestPanel() {
+ addMouseListener(new MouseAdapter() {
+
+ @Override
+ public void mouseReleased(MouseEvent e) {
+ synchronized (panel) {
+ sync();
+ panel.setEnabled(false);
+ }
+ panel.repaint();
+ }
+ });
+ thread = new Thread(this);
+ thread.start();
+ }
+
+ @Override
+ public void paint(Graphics paramGraphics) {
+ synchronized (getTreeLock()) {
+ Rectangle rect = getBounds();
+ if (image == null) {
+ image = createImage(rect.width, rect.height);
+ }
+
+ if (image != null) {
+ paramGraphics.drawImage(image, 0, 0, this);
+ }
+ }
+ }
+
+ @Override
+ public void run() {
+ while (active) {
+ try {
+ synchronized (sync) {
+ sync.wait();
+ }
+ } catch (InterruptedException ex) {
+ }
+ if (active) {
+ draw();
+ }
+ }
+ }
+
+ public void stop() {
+ active = false;
+ try {
+ synchronized (sync) {
+ sync.notify();
+ }
+ synchronized (thread) {
+ thread.wait();
+ }
+ } catch (InterruptedException ex) {
+ }
+ }
+
+ public void draw() {
+ synchronized (getTreeLock()) {
+ if (image != null) {
+ Graphics localGraphics = image.getGraphics();
+ Dimension size = getSize();
+ localGraphics.setColor(isEnabled() ? Color.green : Color.red);
+ localGraphics.fillRect(0, 0, size.width, size.height);
+ super.paint(localGraphics);
+ localGraphics.dispose();
+ getTreeLock().notifyAll();
+ }
+ }
+ }
+
+ public void sync() {
+ synchronized (sync) {
+ sync.notify();
+ }
+ }
+}
diff --git a/jdk/test/java/beans/Beans/6669869/TestDesignTime.java b/jdk/test/java/beans/Beans/6669869/TestDesignTime.java
index b73cee4..731ab4a 100644
--- a/jdk/test/java/beans/Beans/6669869/TestDesignTime.java
+++ b/jdk/test/java/beans/Beans/6669869/TestDesignTime.java
@@ -29,7 +29,6 @@
*/
import java.beans.Beans;
-import sun.awt.SunToolkit;
public class TestDesignTime implements Runnable {
public static void main(String[] args) throws InterruptedException {
@@ -44,7 +43,6 @@ public class TestDesignTime implements Runnable {
}
public void run() {
- SunToolkit.createNewAppContext();
if (Beans.isDesignTime()) {
throw new Error("shared DesignTime property");
}
diff --git a/jdk/test/java/beans/Beans/6669869/TestGuiAvailable.java b/jdk/test/java/beans/Beans/6669869/TestGuiAvailable.java
index 6156882..67d88ae 100644
--- a/jdk/test/java/beans/Beans/6669869/TestGuiAvailable.java
+++ b/jdk/test/java/beans/Beans/6669869/TestGuiAvailable.java
@@ -30,7 +30,6 @@
import java.awt.GraphicsEnvironment;
import java.beans.Beans;
-import sun.awt.SunToolkit;
public class TestGuiAvailable implements Runnable {
public static void main(String[] args) throws InterruptedException {
@@ -45,7 +44,6 @@ public class TestGuiAvailable implements Runnable {
}
public void run() {
- SunToolkit.createNewAppContext();
if (Beans.isGuiAvailable() == GraphicsEnvironment.isHeadless()) {
throw new Error("shared GuiAvailable property");
}
diff --git a/jdk/test/java/beans/Introspector/6380849/TestBeanInfo.java b/jdk/test/java/beans/Introspector/6380849/TestBeanInfo.java
index 8232756..6d68535 100644
--- a/jdk/test/java/beans/Introspector/6380849/TestBeanInfo.java
+++ b/jdk/test/java/beans/Introspector/6380849/TestBeanInfo.java
@@ -41,8 +41,6 @@ import java.beans.Introspector;
import java.lang.ref.Reference;
import java.lang.reflect.Field;
-import sun.awt.SunToolkit;
-
public class TestBeanInfo implements Runnable {
private static final String[] SEARCH_PATH = { "infos" }; // NON-NLS: package name
@@ -81,9 +79,6 @@ public class TestBeanInfo implements Runnable {
private boolean passed;
public void run() {
- if (this.passed) {
- SunToolkit.createNewAppContext();
- }
Introspector.flushCaches();
test(FirstBean.class, FirstBeanBeanInfo.class);
@@ -98,7 +93,5 @@ public class TestBeanInfo implements Runnable {
test(SecondBean.class, SecondBeanBeanInfo.class);
test(ThirdBean.class, null);
test(ThirdBeanBeanInfo.class, ThirdBeanBeanInfo.class);
-
- this.passed = true;
}
}
diff --git a/jdk/test/java/beans/Introspector/7064279/Test7064279.java b/jdk/test/java/beans/Introspector/7064279/Test7064279.java
new file mode 100644
index 0000000..91d10fe
--- /dev/null
+++ b/jdk/test/java/beans/Introspector/7064279/Test7064279.java
@@ -0,0 +1,75 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7064279
+ * @summary Tests that Introspector does not have strong references to context class loader
+ * @author Sergey Malenkov
+ */
+
+import java.beans.Introspector;
+import java.io.File;
+import java.lang.ref.WeakReference;
+import java.net.URL;
+import java.net.URLClassLoader;
+
+public class Test7064279 {
+
+ public static void main(String[] args) throws Exception {
+ WeakReference ref = new WeakReference(test("test.jar", "test.Test"));
+ try {
+ int[] array = new int[1024];
+ while (true) {
+ array = new int[array.length << 1];
+ }
+ }
+ catch (OutOfMemoryError error) {
+ System.gc();
+ }
+ if (null != ref.get()) {
+ throw new Error("ClassLoader is not released");
+ }
+ }
+
+ private static Object test(String jarName, String className) throws Exception {
+ StringBuilder sb = new StringBuilder(256);
+ sb.append("file:");
+ sb.append(System.getProperty("test.src", "."));
+ sb.append(File.separatorChar);
+ sb.append(jarName);
+
+ ClassLoader newLoader = new URLClassLoader(new URL[] { new URL(sb.toString()) });
+ ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
+
+ Thread.currentThread().setContextClassLoader(newLoader);
+ test(newLoader.loadClass(className));
+ Thread.currentThread().setContextClassLoader(oldLoader);
+
+ return newLoader;
+ }
+
+ private static void test(Class type) throws Exception {
+ Introspector.getBeanInfo(type);
+ }
+}
diff --git a/jdk/test/java/beans/XMLDecoder/4676532/test.jar b/jdk/test/java/beans/Introspector/7064279/test.jar
similarity index 100%
copy from jdk/test/java/beans/XMLDecoder/4676532/test.jar
copy to jdk/test/java/beans/Introspector/7064279/test.jar
diff --git a/jdk/test/java/beans/Introspector/Test6660539.java b/jdk/test/java/beans/Introspector/Test6660539.java
index d1cb628..349f1b3 100644
--- a/jdk/test/java/beans/Introspector/Test6660539.java
+++ b/jdk/test/java/beans/Introspector/Test6660539.java
@@ -28,8 +28,6 @@
* @author Sergey Malenkov
*/
-import sun.awt.SunToolkit;
-
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
@@ -49,7 +47,6 @@ public class Test6660539 implements Runnable {
}
public void run() {
- SunToolkit.createNewAppContext();
for (PropertyDescriptor pd : getPropertyDescriptors()) {
if (pd.getDisplayName().equals(NAME))
throw new Error("shared BeanInfo cache");
diff --git a/jdk/test/java/beans/Introspector/TestTypeResolver.java b/jdk/test/java/beans/Introspector/TestTypeResolver.java
index 0e03782..6704d8f 100644
--- a/jdk/test/java/beans/Introspector/TestTypeResolver.java
+++ b/jdk/test/java/beans/Introspector/TestTypeResolver.java
@@ -29,6 +29,7 @@
import com.sun.beans.TypeResolver;
+import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.GenericDeclaration;
import java.lang.reflect.Method;
@@ -170,6 +171,22 @@ public class TestTypeResolver {
public int hashCode() {
return hash(name) ^ hash(gd) ^ Arrays.hashCode(bounds);
}
+
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass) {
+ return false; // not used
+ }
+
+ public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
+ return null; // not used
+ }
+
+ public Annotation[] getAnnotations() {
+ return null; // not used
+ }
+
+ public Annotation[] getDeclaredAnnotations() {
+ return null; // not used
+ }
}
private static class ClassTypeVariable extends TypeVariableImpl<Class<?>> {
diff --git a/jdk/test/java/beans/PropertyChangeSupport/Test7087429.java b/jdk/test/java/beans/PropertyChangeSupport/Test7087429.java
new file mode 100644
index 0000000..4a829d8
--- /dev/null
+++ b/jdk/test/java/beans/PropertyChangeSupport/Test7087429.java
@@ -0,0 +1,45 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7087429
+ * @summary Tests IllegalArgumentException from the PropertyChangeEvent constructor
+ * @author Sergey Malenkov
+ */
+
+import java.beans.PropertyChangeEvent;
+
+public final class Test7087429 {
+ public static void main(String[] args) {
+ try {
+ new PropertyChangeEvent(null, null, null, null);
+ }
+ catch (IllegalArgumentException exception) {
+ if (exception.getMessage().equals("null source")) {
+ return;
+ }
+ }
+ throw new Error("IllegalArgumentException expected");
+ }
+}
diff --git a/jdk/test/java/beans/PropertyEditor/6380849/TestPropertyEditor.java b/jdk/test/java/beans/PropertyEditor/6380849/TestPropertyEditor.java
index 5d42144..e07254a 100644
--- a/jdk/test/java/beans/PropertyEditor/6380849/TestPropertyEditor.java
+++ b/jdk/test/java/beans/PropertyEditor/6380849/TestPropertyEditor.java
@@ -36,7 +36,6 @@ import java.awt.Font;
import java.beans.PropertyEditor;
import java.beans.PropertyEditorManager;
-import sun.awt.SunToolkit;
import sun.beans.editors.BooleanEditor;
import sun.beans.editors.ByteEditor;
import sun.beans.editors.ColorEditor;
@@ -77,12 +76,7 @@ public class TestPropertyEditor implements Runnable {
}
}
- private boolean passed;
-
public void run() {
- if (this.passed) {
- SunToolkit.createNewAppContext();
- }
PropertyEditorManager.registerEditor(ThirdBean.class, ThirdBeanEditor.class);
test(FirstBean.class, FirstBeanEditor.class);
@@ -135,7 +129,5 @@ public class TestPropertyEditor implements Runnable {
test(Color.class, null);
test(Font.class, null);
test(Enumeration.class, EnumEditor.class);
-
- this.passed = true;
}
}
diff --git a/jdk/test/java/beans/PropertyEditor/Test7087876.java b/jdk/test/java/beans/PropertyEditor/Test7087876.java
new file mode 100644
index 0000000..9088934
--- /dev/null
+++ b/jdk/test/java/beans/PropertyEditor/Test7087876.java
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7087876
+ * @summary Tests spec of the createPropertyEditor method
+ * @author Sergey Malenkov
+ */
+
+import java.beans.IntrospectionException;
+import java.beans.PropertyDescriptor;
+import java.beans.PropertyEditorSupport;
+
+public class Test7087876 {
+
+ public static void main(String[] args) throws IntrospectionException {
+ PropertyDescriptor pd = new PropertyDescriptor("value", Bean.class);
+ pd.setPropertyEditorClass(Editor.class);
+ pd.createPropertyEditor(new Bean());
+ }
+
+ public static class Bean {
+ private String value;
+
+ public String getValue() {
+ return this.value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+
+ public static class Editor extends PropertyEditorSupport {
+ private Editor() {
+ }
+ }
+}
diff --git a/jdk/test/java/beans/XMLEncoder/Test7092744.java b/jdk/test/java/beans/XMLEncoder/Test7092744.java
new file mode 100644
index 0000000..52f029b
--- /dev/null
+++ b/jdk/test/java/beans/XMLEncoder/Test7092744.java
@@ -0,0 +1,66 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7092744
+ * @summary Tests for ambiguous methods
+ * @author Sergey Malenkov
+ */
+
+public class Test7092744 extends AbstractTest {
+
+ public static void main(String[] args) {
+ new Test7092744().test(true);
+ }
+
+ protected Object getObject() {
+ return new Bean();
+ }
+
+ protected Object getAnotherObject() {
+ Bean bean = new Bean();
+ bean.setValue(99);
+ return bean;
+ }
+
+ public static interface I<T extends Number> {
+
+ T getValue();
+
+ void setValue(T value);
+ }
+
+ public static class Bean implements I<Integer> {
+
+ private Integer value;
+
+ public Integer getValue() {
+ return this.value;
+ }
+
+ public void setValue(Integer value) {
+ this.value = value;
+ }
+ }
+}
diff --git a/jdk/test/java/io/FileDescriptor/Sharing.java b/jdk/test/java/io/FileDescriptor/Sharing.java
new file mode 100644
index 0000000..c340a98
--- /dev/null
+++ b/jdk/test/java/io/FileDescriptor/Sharing.java
@@ -0,0 +1,408 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7105952 6322678 7082769
+ * @summary Improve finalisation for FileInputStream/FileOutputStream/RandomAccessFile
+ * @run main/othervm Sharing
+ */
+
+import java.io.*;
+import java.nio.channels.FileChannel;
+import java.nio.channels.FileLock;
+import java.util.concurrent.CountDownLatch;
+
+public class Sharing {
+
+ final static int numFiles = 10;
+ volatile static boolean fail;
+
+ public static void main(String[] args) throws Exception {
+ TestFinalizer();
+ TestMultipleFD();
+ TestIsValid();
+ MultiThreadedFD();
+ TestCloseAll();
+ }
+
+ /**
+ * Finalizer shouldn't discard a file descriptor until all streams have
+ * finished with it.
+ */
+ private static void TestFinalizer() throws Exception {
+ FileDescriptor fd = null;
+ File tempFile = new File("TestFinalizer1.txt");
+ tempFile.deleteOnExit();
+ try (Writer writer = new FileWriter(tempFile)) {
+ for (int i=0; i<5; i++) {
+ writer.write("test file content test file content");
+ }
+ }
+
+ FileInputStream fis1 = new FileInputStream(tempFile);
+ fd = fis1.getFD();
+ // Create a new FIS based on the existing FD (so the two FIS's share the same native fd)
+ try (FileInputStream fis2 = new FileInputStream(fd)) {
+ // allow fis1 to be gc'ed
+ fis1 = null;
+ int ret = 0;
+ while(ret >= 0) {
+ // encourage gc
+ System.gc();
+ // read from fis2 - when fis1 is gc'ed and finalizer is run, read will fail
+ System.out.print(".");
+ ret = fis2.read();
+ }
+ }
+
+ // variation of above. Use RandomAccessFile to obtain a filedescriptor
+ File testFinalizerFile = new File("TestFinalizer");
+ RandomAccessFile raf = new RandomAccessFile(testFinalizerFile, "rw");
+ raf.writeBytes("test file content test file content");
+ raf.seek(0L);
+ fd = raf.getFD();
+ try (FileInputStream fis3 = new FileInputStream(fd)) {
+ // allow raf to be gc'ed
+ raf = null;
+ int ret = 0;
+ while (ret >= 0) {
+ // encourage gc
+ System.gc();
+ /*
+ * read from fis3 - when raf is gc'ed and finalizer is run,
+ * fd should still be valid.
+ */
+ System.out.print(".");
+ ret = fis3.read();
+ }
+ } finally {
+ testFinalizerFile.delete();
+ }
+ }
+
+ /**
+ * Exercise FileDispatcher close()/preClose()
+ */
+ private static void TestMultipleFD() throws Exception {
+ RandomAccessFile raf = null;
+ FileOutputStream fos = null;
+ FileInputStream fis = null;
+ FileChannel fc = null;
+ FileLock fileLock = null;
+
+ File test1 = new File("test1");
+ try {
+ raf = new RandomAccessFile(test1, "rw");
+ fos = new FileOutputStream(raf.getFD());
+ fis = new FileInputStream(raf.getFD());
+ fc = raf.getChannel();
+ fileLock = fc.lock();
+ raf.setLength(0L);
+ fos.flush();
+ fos.write("TEST".getBytes());
+ } finally {
+ if (fileLock != null) fileLock.release();
+ if (fis != null) fis.close();
+ if (fos != null) fos.close();
+ if (raf != null) raf.close();
+ test1.delete();
+ }
+
+ /*
+ * Close out in different order to ensure FD is not
+ * closed out too early
+ */
+ File test2 = new File("test2");
+ try {
+ raf = new RandomAccessFile(test2, "rw");
+ fos = new FileOutputStream(raf.getFD());
+ fis = new FileInputStream(raf.getFD());
+ fc = raf.getChannel();
+ fileLock = fc.lock();
+ raf.setLength(0L);
+ fos.flush();
+ fos.write("TEST".getBytes());
+ } finally {
+ if (fileLock != null) fileLock.release();
+ if (raf != null) raf.close();
+ if (fos != null) fos.close();
+ if (fis != null) fis.close();
+ test2.delete();
+ }
+
+ // one more time, fos first this time
+ File test3 = new File("test3");
+ try {
+ raf = new RandomAccessFile(test3, "rw");
+ fos = new FileOutputStream(raf.getFD());
+ fis = new FileInputStream(raf.getFD());
+ fc = raf.getChannel();
+ fileLock = fc.lock();
+ raf.setLength(0L);
+ fos.flush();
+ fos.write("TEST".getBytes());
+ } finally {
+ if (fileLock != null) fileLock.release();
+ if (fos != null) fos.close();
+ if (raf != null) raf.close();
+ if (fis != null) fis.close();
+ test3.delete();
+ }
+ }
+
+ /**
+ * Similar to TestMultipleFD() but this time we
+ * just get and use FileDescriptor.valid() for testing.
+ */
+ private static void TestIsValid() throws Exception {
+ FileDescriptor fd = null;
+ RandomAccessFile raf = null;
+ FileOutputStream fos = null;
+ FileInputStream fis = null;
+ FileChannel fc = null;
+
+ File test1 = new File("test1");
+ try {
+ raf = new RandomAccessFile(test1, "rw");
+ fd = raf.getFD();
+ fos = new FileOutputStream(fd);
+ fis = new FileInputStream(fd);
+ } finally {
+ try {
+ if (fis != null) fis.close();
+ if (fd.valid()) {
+ throw new RuntimeException("[FIS close()] FileDescriptor shouldn't be valid");
+ }
+ if (fos != null) fos.close();
+ if (raf != null) raf.close();
+ } finally {
+ test1.delete();
+ }
+ }
+
+ /*
+ * Close out in different order to ensure FD is
+ * closed correctly.
+ */
+ File test2 = new File("test2");
+ try {
+ raf = new RandomAccessFile(test2, "rw");
+ fd = raf.getFD();
+ fos = new FileOutputStream(fd);
+ fis = new FileInputStream(fd);
+ } finally {
+ try {
+ if (raf != null) raf.close();
+ if (fd.valid()) {
+ throw new RuntimeException("[RAF close()] FileDescriptor shouldn't be valid");
+ }
+ if (fos != null) fos.close();
+ if (fis != null) fis.close();
+ } finally {
+ test2.delete();
+ }
+ }
+
+ // one more time, fos first this time
+ File test3 = new File("test3");
+ try {
+ raf = new RandomAccessFile(test3, "rw");
+ fd = raf.getFD();
+ fos = new FileOutputStream(fd);
+ fis = new FileInputStream(fd);
+ } finally {
+ try {
+ if (fos != null) fos.close();
+ if (fd.valid()) {
+ throw new RuntimeException("[FOS close()] FileDescriptor shouldn't be valid");
+ }
+ if (raf != null) raf.close();
+ if (fis != null) fis.close();
+ } finally {
+ test3.delete();
+ }
+ }
+ }
+
+ /**
+ * Test concurrent access to the same FileDescriptor
+ */
+ private static void MultiThreadedFD() throws Exception {
+ RandomAccessFile raf = null;
+ FileDescriptor fd = null;
+ int numThreads = 2;
+ CountDownLatch done = new CountDownLatch(numThreads);
+ OpenClose[] fileOpenClose = new OpenClose[numThreads];
+ File MultipleThreadedFD = new File("MultipleThreadedFD");
+ try {
+ raf = new RandomAccessFile(MultipleThreadedFD, "rw");
+ fd = raf.getFD();
+ for(int count=0;count<numThreads;count++) {
+ fileOpenClose[count] = new OpenClose(fd, done);
+ fileOpenClose[count].start();
+ }
+ done.await();
+ } finally {
+ try {
+ if(raf != null) raf.close();
+ // fd should now no longer be valid
+ if(fd.valid()) {
+ throw new RuntimeException("FileDescriptor should not be valid");
+ }
+ // OpenClose thread tests failed
+ if(fail) {
+ throw new RuntimeException("OpenClose thread tests failed.");
+ }
+ } finally {
+ MultipleThreadedFD.delete();
+ }
+ }
+ }
+
+ /**
+ * Test closeAll handling in FileDescriptor
+ */
+ private static void TestCloseAll() throws Exception {
+ File testFile = new File("test");
+ testFile.deleteOnExit();
+ RandomAccessFile raf = new RandomAccessFile(testFile, "rw");
+ FileInputStream fis = new FileInputStream(raf.getFD());
+ fis.close();
+ if (raf.getFD().valid()) {
+ throw new RuntimeException("FD should not be valid.");
+ }
+
+ // Test the suppressed exception handling - FileInputStream
+
+ raf = new RandomAccessFile(testFile, "rw");
+ fis = new FileInputStream(raf.getFD());
+ BadFileInputStream bfis1 = new BadFileInputStream(raf.getFD());
+ BadFileInputStream bfis2 = new BadFileInputStream(raf.getFD());
+ BadFileInputStream bfis3 = new BadFileInputStream(raf.getFD());
+ // extra test - set bfis3 to null
+ bfis3 = null;
+ try {
+ fis.close();
+ } catch (IOException ioe) {
+ ioe.printStackTrace();
+ if (ioe.getSuppressed().length != 2) {
+ throw new RuntimeException("[FIS]Incorrect number of suppressed " +
+ "exceptions received : " + ioe.getSuppressed().length);
+ }
+ }
+ if (raf.getFD().valid()) {
+ // we should still have closed the FD
+ // even with the exception.
+ throw new RuntimeException("[FIS]TestCloseAll : FD still valid.");
+ }
+
+ // Now test with FileOutputStream
+
+ raf = new RandomAccessFile(testFile, "rw");
+ FileOutputStream fos = new FileOutputStream(raf.getFD());
+ BadFileOutputStream bfos1 = new BadFileOutputStream(raf.getFD());
+ BadFileOutputStream bfos2 = new BadFileOutputStream(raf.getFD());
+ BadFileOutputStream bfos3 = new BadFileOutputStream(raf.getFD());
+ // extra test - set bfos3 to null
+ bfos3 = null;
+ try {
+ fos.close();
+ } catch (IOException ioe) {
+ ioe.printStackTrace();
+ if (ioe.getSuppressed().length != 2) {
+ throw new RuntimeException("[FOS]Incorrect number of suppressed " +
+ "exceptions received : " + ioe.getSuppressed().length);
+ }
+ }
+ if (raf.getFD().valid()) {
+ // we should still have closed the FD
+ // even with the exception.
+ throw new RuntimeException("[FOS]TestCloseAll : FD still valid.");
+ }
+ }
+
+ /**
+ * A thread which will open and close a number of FileInputStreams and
+ * FileOutputStreams referencing the same native file descriptor.
+ */
+ private static class OpenClose extends Thread {
+ private FileDescriptor fd = null;
+ private CountDownLatch done;
+ FileInputStream[] fisArray = new FileInputStream[numFiles];
+ FileOutputStream[] fosArray = new FileOutputStream[numFiles];
+
+ OpenClose(FileDescriptor filedescriptor, CountDownLatch done) {
+ this.fd = filedescriptor;
+ this.done = done;
+ }
+
+ public void run() {
+ try {
+ for(int i=0;i<numFiles;i++) {
+ fisArray[i] = new FileInputStream(fd);
+ fosArray[i] = new FileOutputStream(fd);
+ }
+
+ // Now close out
+ for(int i=0;i<numFiles;i++) {
+ if(fisArray[i] != null) fisArray[i].close();
+ if(fosArray[i] != null) fosArray[i].close();
+ }
+
+ } catch(IOException ioe) {
+ System.out.println("OpenClose encountered IO issue :" + ioe);
+ fail = true;
+ } finally {
+ if (fd.valid()) { // fd should not be valid after first close() call
+ System.out.println("OpenClose: FileDescriptor shouldn't be valid");
+ fail = true;
+ }
+ done.countDown();
+ }
+ }
+ }
+
+ private static class BadFileInputStream extends FileInputStream {
+
+ BadFileInputStream(FileDescriptor fd) {
+ super(fd);
+ }
+
+ public void close() throws IOException {
+ throw new IOException("Bad close operation");
+ }
+ }
+
+ private static class BadFileOutputStream extends FileOutputStream {
+
+ BadFileOutputStream(FileDescriptor fd) {
+ super(fd);
+ }
+
+ public void close() throws IOException {
+ throw new IOException("Bad close operation");
+ }
+ }
+
+}
diff --git a/jdk/test/java/io/FileInputStream/LargeFileAvailable.java b/jdk/test/java/io/FileInputStream/LargeFileAvailable.java
index 4f82ec1..b6fbe4d 100644
--- a/jdk/test/java/io/FileInputStream/LargeFileAvailable.java
+++ b/jdk/test/java/io/FileInputStream/LargeFileAvailable.java
@@ -23,7 +23,7 @@
/*
* @test
- * @bug 6402006
+ * @bug 6402006 7030573
* @summary Test if available returns correct value when reading
* a large file.
*/
@@ -35,23 +35,35 @@ import java.nio.file.Files;
import static java.nio.file.StandardOpenOption.*;
public class LargeFileAvailable {
- private static final long FILESIZE = 7405576182L;
public static void main(String args[]) throws Exception {
- File file = createLargeFile(FILESIZE);
+ // Create a temporary file in the current directory.
+ // Use it to check if we have 7G available for
+ // a large sparse file test. As a fallback use whatever
+ // space is available, so the test can proceed.
+ File file = File.createTempFile("largefile", null, new File("."));
+ long spaceavailable = file.getUsableSpace();
+ long filesize = Math.min(spaceavailable, 7405576182L);
+ if (spaceavailable == 0L) {
+ // A full disk is considered fatal.
+ throw new RuntimeException("No space available for temp file.");
+ }
+
+ createLargeFile(filesize, file);
+
try (FileInputStream fis = new FileInputStream(file)) {
- if (file.length() != FILESIZE) {
- throw new RuntimeException("unexpected file size = " + file.length());
+ if (file.length() != filesize) {
+ throw new RuntimeException("unexpected file size = "
+ + file.length());
}
- long bigSkip = 3110608882L;
- long remaining = FILESIZE;
+ long bigSkip = Math.min(filesize/2, 3110608882L);
+ long remaining = filesize;
remaining -= skipBytes(fis, bigSkip, remaining);
remaining -= skipBytes(fis, 10L, remaining);
remaining -= skipBytes(fis, bigSkip, remaining);
if (fis.available() != (int) remaining) {
- throw new RuntimeException("available() returns " +
- fis.available() +
- " but expected " + remaining);
+ throw new RuntimeException("available() returns "
+ + fis.available() + " but expected " + remaining);
}
} finally {
file.delete();
@@ -64,39 +76,41 @@ public class LargeFileAvailable {
throws IOException {
long skip = is.skip(toSkip);
if (skip != toSkip) {
- throw new RuntimeException("skip() returns " + skip +
- " but expected " + toSkip);
+ throw new RuntimeException("skip() returns " + skip
+ + " but expected " + toSkip);
}
long remaining = avail - skip;
int expected = remaining >= Integer.MAX_VALUE
? Integer.MAX_VALUE
: (int) remaining;
- System.out.println("Skipped " + skip + " bytes " +
- " available() returns " + expected +
+ System.out.println("Skipped " + skip + " bytes "
+ + " available() returns " + expected +
" remaining=" + remaining);
if (is.available() != expected) {
- throw new RuntimeException("available() returns " +
- is.available() + " but expected " + expected);
+ throw new RuntimeException("available() returns "
+ + is.available() + " but expected " + expected);
}
return skip;
}
- private static File createLargeFile(long filesize) throws Exception {
- // Create a large file as a sparse file if possible
- File largefile = File.createTempFile("largefile", null);
- // re-create as a sparse file
- Files.delete(largefile.toPath());
+ private static void createLargeFile(long filesize,
+ File file) throws Exception {
+ // Recreate a large file as a sparse file if possible
+ Files.delete(file.toPath());
+
try (FileChannel fc =
- FileChannel.open(largefile.toPath(),
- CREATE_NEW, WRITE, SPARSE)) {
+ FileChannel.open(file.toPath(),
+ CREATE_NEW, WRITE, SPARSE)) {
ByteBuffer bb = ByteBuffer.allocate(1).put((byte)1);
bb.rewind();
- int rc = fc.write(bb, filesize-1);
+ int rc = fc.write(bb, filesize - 1);
+
if (rc != 1) {
- throw new RuntimeException("Failed to write 1 byte to the large file");
+ throw new RuntimeException("Failed to write 1 byte"
+ + " to the large file");
}
}
- return largefile;
+ return;
}
}
diff --git a/jdk/test/java/lang/Runtime/exec/StreamsSurviveDestroy.java b/jdk/test/java/lang/Runtime/exec/StreamsSurviveDestroy.java
index 82d9f9f..3b51171 100644
--- a/jdk/test/java/lang/Runtime/exec/StreamsSurviveDestroy.java
+++ b/jdk/test/java/lang/Runtime/exec/StreamsSurviveDestroy.java
@@ -28,6 +28,7 @@
*/
import java.io.*;
+import java.util.concurrent.*;
public class StreamsSurviveDestroy {
@@ -40,15 +41,17 @@ public class StreamsSurviveDestroy {
boolean wantInterrupt;
boolean acceptException;
Exception exc = null;
+ CountDownLatch latch;
Copier(String name, InputStream in, OutputStream out,
- boolean ae, boolean wi)
+ boolean ae, boolean wi, CountDownLatch l)
{
this.name = name;
this.in = in;
this.out = out;
this.acceptException = ae;
this.wantInterrupt = wi;
+ this.latch = l;
setName(name);
start();
}
@@ -59,6 +62,7 @@ public class StreamsSurviveDestroy {
public void run() {
byte[] buf = new byte[4242];
+ latch.countDown();
for (;;) {
try {
int n = in.read(buf);
@@ -95,13 +99,17 @@ public class StreamsSurviveDestroy {
}
static void test() throws Exception {
+ CountDownLatch latch = new CountDownLatch(2);
+
System.err.println("test");
Process p = Runtime.getRuntime().exec("/bin/cat");
Copier cp1 = new Copier("out", p.getInputStream(), System.err,
- false, false);
+ false, false, latch);
Copier cp2 = new Copier("err", p.getErrorStream(), System.err,
- false, false);
- Thread.sleep(100);
+ false, false, latch);
+ latch.await(); // Wait till both Copiers about to read
+ Thread.sleep(100);// Give both Copiers a chance to start read
+
p.destroy();
System.err.println(" exit: " + p.waitFor());
cp1.join();
@@ -111,13 +119,17 @@ public class StreamsSurviveDestroy {
}
static void testCloseBeforeDestroy() throws Exception {
+ CountDownLatch latch = new CountDownLatch(2);
+
System.err.println("testCloseBeforeDestroy");
Process p = Runtime.getRuntime().exec("/bin/cat");
Copier cp1 = new Copier("out", p.getInputStream(), System.err,
- true, false);
+ true, false, latch);
Copier cp2 = new Copier("err", p.getErrorStream(), System.err,
- true, false);
- Thread.sleep(100);
+ true, false, latch);
+ latch.await(); // Wait till both Copiers about to read
+ Thread.sleep(100);// Give both Copiers a chance to start read
+
p.getInputStream().close();
p.getErrorStream().close();
p.destroy();
@@ -129,13 +141,17 @@ public class StreamsSurviveDestroy {
}
static void testCloseAfterDestroy() throws Exception {
+ CountDownLatch latch = new CountDownLatch(2);
System.err.println("testCloseAfterDestroy");
Process p = Runtime.getRuntime().exec("/bin/cat");
Copier cp1 = new Copier("out", p.getInputStream(), System.err,
- true, false);
+ true, false,latch);
Copier cp2 = new Copier("err", p.getErrorStream(), System.err,
- true, false);
- Thread.sleep(100);
+ true, false, latch);
+
+ latch.await(); // Wait till both Copiers about to read
+ Thread.sleep(100);// Give both Copiers a chance to start read
+
p.destroy();
p.getInputStream().close();
p.getErrorStream().close();
@@ -147,13 +163,16 @@ public class StreamsSurviveDestroy {
}
static void testInterrupt() throws Exception {
+ CountDownLatch latch = new CountDownLatch(2);
System.err.println("testInterrupt");
Process p = Runtime.getRuntime().exec("/bin/cat");
Copier cp1 = new Copier("out", p.getInputStream(), System.err,
- false, true);
+ false, true, latch);
Copier cp2 = new Copier("err", p.getErrorStream(), System.err,
- false, true);
- Thread.sleep(100);
+ false, true, latch);
+ latch.await(); // Wait till both Copiers about to read
+ Thread.sleep(100);// Give both Copiers a chance to start read
+
cp1.interrupt();
cp2.interrupt();
Thread.sleep(100);
@@ -176,7 +195,5 @@ public class StreamsSurviveDestroy {
testCloseBeforeDestroy();
testCloseAfterDestroy();
testInterrupt();
-
}
-
}
diff --git a/jdk/test/java/lang/String/CaseInsensitiveComparator.java b/jdk/test/java/lang/String/CaseInsensitiveComparator.java
new file mode 100644
index 0000000..0393932
--- /dev/null
+++ b/jdk/test/java/lang/String/CaseInsensitiveComparator.java
@@ -0,0 +1,68 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+/*
+ * This test tests that the String.CaseInsensitiveComparator.readResolve method
+ * deserializes String.CASE_INSENSITIVE_ORDER into an object which satisfies the
+ * equals method.
+ *
+ * @test
+ * @bug 5035850
+ * @summary Test for String.CaseInsensitiveComparator.readResolve
+ */
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
+public class CaseInsensitiveComparator {
+ public static void main(String[] args) throws Exception {
+ Object result;
+
+ try (ByteArrayOutputStream outBuffer = new ByteArrayOutputStream();
+ ObjectOutputStream out = new ObjectOutputStream(outBuffer))
+ {
+ out.writeObject(String.CASE_INSENSITIVE_ORDER);
+ out.close();
+
+ try (ByteArrayInputStream inBuffer = new ByteArrayInputStream(outBuffer.toByteArray());
+ ObjectInputStream in = new ObjectInputStream(inBuffer))
+ {
+ result = in.readObject();
+ }
+ }
+
+ if (!String.CASE_INSENSITIVE_ORDER.equals(result)) {
+ throw new Exception("Value restored from serial form does not equal original!");
+ }
+
+ if (!result.equals(String.CASE_INSENSITIVE_ORDER)) {
+ throw new Exception("Value restored from serial form does not equal original!");
+ }
+
+ if (String.CASE_INSENSITIVE_ORDER != result) {
+ throw new Exception("Value restored from serial form does not equal original!");
+ }
+ }
+}
diff --git a/jdk/test/java/lang/ThreadGroup/NullThreadName.java b/jdk/test/java/lang/ThreadGroup/NullThreadName.java
index 4d847c6..4179b22 100644
--- a/jdk/test/java/lang/ThreadGroup/NullThreadName.java
+++ b/jdk/test/java/lang/ThreadGroup/NullThreadName.java
@@ -24,7 +24,6 @@
/*
* @test
* @bug 6576763
- * @ignore until hotspot 6776144 bug is resolved
* @summary (thread) Thread constructors throw undocumented NPE for null name
*/
@@ -64,8 +63,8 @@ public class NullThreadName
try { Thread.sleep(2000); }
catch (InterruptedException unused) {}
- /* do not wait forever */
- if (count++ > 5)
+ /* do not wait forever - allow 120 seconds same as jtreg default timeout. */
+ if (count++ > 60)
throw new AssertionError("GoodThread is still alive!");
}
diff --git a/jdk/test/java/lang/ThreadGroup/Stop.java b/jdk/test/java/lang/ThreadGroup/Stop.java
index 9c663c3..4763acc 100644
--- a/jdk/test/java/lang/ThreadGroup/Stop.java
+++ b/jdk/test/java/lang/ThreadGroup/Stop.java
@@ -29,37 +29,58 @@
*/
public class Stop implements Runnable {
- private static Thread first=null;
- private static Thread second=null;
- private static ThreadGroup group = new ThreadGroup("");
+ private static boolean groupStopped = false ;
+ private static final Object lock = new Object();
- Stop() {
- Thread thread = new Thread(group, this);
- if (first == null)
- first = thread;
- else
- second = thread;
-
- thread.start();
- }
+ private static final ThreadGroup group = new ThreadGroup("");
+ private static final Thread first = new Thread(group, new Stop());
+ private static final Thread second = new Thread(group, new Stop());
public void run() {
while (true) {
+ // Give the other thread a chance to start
try {
- Thread.sleep(1000); // Give other thread a chance to start
- if (Thread.currentThread() == first)
- group.stop();
- } catch(InterruptedException e){
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ }
+
+ // When the first thread runs, it will stop the group.
+ if (Thread.currentThread() == first) {
+ synchronized (lock) {
+ try {
+ group.stop();
+ } finally {
+ // Signal the main thread it is time to check
+ // that the stopped thread group was successful
+ groupStopped = true;
+ lock.notifyAll();
+ }
+ }
}
}
}
public static void main(String[] args) throws Exception {
- for (int i=0; i<2; i++)
- new Stop();
- Thread.sleep(3000);
+ // Launch two threads as part of the same thread group
+ first.start();
+ second.start();
+
+ // Wait for the thread group stop to be issued
+ synchronized(lock){
+ while (!groupStopped) {
+ lock.wait();
+ // Give the other thread a chance to stop
+ Thread.sleep(1000);
+ }
+ }
+
+ // Check that the second thread is terminated when the
+ // first thread terminates the thread group.
boolean failed = second.isAlive();
- first.stop(); second.stop();
+
+ // Clean up any threads that may have not been terminated
+ first.stop();
+ second.stop();
if (failed)
throw new RuntimeException("Failure.");
}
diff --git a/jdk/test/java/lang/instrument/BigClass.java b/jdk/test/java/lang/instrument/BigClass.java
new file mode 100644
index 0000000..b0afbbf
--- /dev/null
+++ b/jdk/test/java/lang/instrument/BigClass.java
@@ -0,0 +1,10105 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+public class BigClass {
+ void func000() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+ void func001() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+ void func002() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+ void func003() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+ void func004() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+ void func005() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+ void func006() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+ void func007() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+ void func008() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+ void func009() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+ void func010() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+ void func011() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+ void func012() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+ void func013() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+ void func014() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+ void func015() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+ void func016() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+ void func017() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+ void func018() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+ void func019() {
+ byte[] data = {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ };
+ }
+}
diff --git a/jdk/test/java/lang/instrument/MakeJAR4.sh b/jdk/test/java/lang/instrument/MakeJAR4.sh
new file mode 100644
index 0000000..78580d5
--- /dev/null
+++ b/jdk/test/java/lang/instrument/MakeJAR4.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+AGENT="$1"
+OTHER="$2"
+shift 2
+
+if [ "${TESTSRC}" = "" ]
+then
+ echo "TESTSRC not set. Test cannot execute. Failed."
+ exit 1
+fi
+echo "TESTSRC=${TESTSRC}"
+
+if [ "${TESTJAVA}" = "" ]
+then
+ echo "TESTJAVA not set. Test cannot execute. Failed."
+ exit 1
+fi
+echo "TESTJAVA=${TESTJAVA}"
+
+if [ "${TESTCLASSES}" = "" ]
+then
+ echo "TESTCLASSES not set. Test cannot execute. Failed."
+ exit 1
+fi
+
+JAVAC="${TESTJAVA}/bin/javac -g"
+JAR="${TESTJAVA}/bin/jar"
+
+cp ${TESTSRC}/${AGENT}.java ${TESTSRC}/${OTHER}.java .
+${JAVAC} ${AGENT}.java ${OTHER}.java
+
+echo "Manifest-Version: 1.0" > ${AGENT}.mf
+echo Premain-Class: ${AGENT} >> ${AGENT}.mf
+while [ $# != 0 ] ; do
+ echo $1 >> ${AGENT}.mf
+ shift
+done
+
+
+${JAR} cvfm ${AGENT}.jar ${AGENT}.mf ${AGENT}*.class ${OTHER}*.java
diff --git a/jdk/test/java/lang/instrument/RedefineBigClass.sh b/jdk/test/java/lang/instrument/RedefineBigClass.sh
new file mode 100644
index 0000000..84196cf
--- /dev/null
+++ b/jdk/test/java/lang/instrument/RedefineBigClass.sh
@@ -0,0 +1,82 @@
+#
+# 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.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+# @test
+# @bug 7121600
+# @summary Redefine a big class.
+# @author Daniel D. Daugherty
+#
+# @run shell MakeJAR3.sh RedefineBigClassAgent 'Can-Redefine-Classes: true'
+# @run build BigClass RedefineBigClassApp
+# @run shell/timeout=600 RedefineBigClass.sh
+#
+
+if [ "${TESTJAVA}" = "" ]
+then
+ echo "TESTJAVA not set. Test cannot execute. Failed."
+ exit 1
+fi
+
+if [ "${TESTSRC}" = "" ]
+then
+ echo "TESTSRC not set. Test cannot execute. Failed."
+ exit 1
+fi
+
+if [ "${TESTCLASSES}" = "" ]
+then
+ echo "TESTCLASSES not set. Test cannot execute. Failed."
+ exit 1
+fi
+
+JAVAC="${TESTJAVA}"/bin/javac
+JAVA="${TESTJAVA}"/bin/java
+
+"${JAVA}" ${TESTVMOPTS} \
+ -XX:TraceRedefineClasses=3 \
+ -javaagent:RedefineBigClassAgent.jar=BigClass.class \
+ -classpath "${TESTCLASSES}" RedefineBigClassApp \
+ > output.log 2>&1
+result=$?
+
+cat output.log
+
+if [ "$result" = 0 ]; then
+ echo "PASS: RedefineBigClassApp exited with status of 0."
+else
+ echo "FAIL: RedefineBigClassApp exited with status of $result"
+ exit "$result"
+fi
+
+MESG="Exception"
+grep "$MESG" output.log
+result=$?
+if [ "$result" = 0 ]; then
+ echo "FAIL: found '$MESG' in the test output"
+ result=1
+else
+ echo "PASS: did NOT find '$MESG' in the test output"
+ result=0
+fi
+
+exit $result
diff --git a/jdk/test/java/lang/instrument/RedefineBigClassAgent.java b/jdk/test/java/lang/instrument/RedefineBigClassAgent.java
new file mode 100644
index 0000000..8652ce9
--- /dev/null
+++ b/jdk/test/java/lang/instrument/RedefineBigClassAgent.java
@@ -0,0 +1,85 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+import java.lang.instrument.*;
+import java.net.*;
+import java.util.*;
+import java.io.*;
+
+public class RedefineBigClassAgent {
+ // N_REDEFINES = 2000 made my Solaris X86 box crawl on its knees
+ // with the Server VM. The timeout is 600 seconds, but the test
+ // ran for 675 seconds so it took the harness 75 seconds to kill
+ // the test.
+ private static int N_REDEFINES = 1000;
+ public static Class clz;
+ public static volatile boolean doneRedefining = false;
+
+ // just read the original class and redefine in a loop via a Timer
+ public static void premain(String agentArgs, final Instrumentation inst) throws Exception {
+ String s = agentArgs.substring(0, agentArgs.indexOf(".class"));
+ clz = Class.forName(s.replace('/', '.'));
+ ClassLoader loader =
+ RedefineBigClassAgent.class.getClassLoader();
+ URL classURL = loader.getResource(agentArgs);
+ if (classURL == null) {
+ throw new Exception("Cannot find class: " + agentArgs);
+ }
+
+ int redefineLength;
+ InputStream redefineStream;
+
+ System.out.println("Reading test class from " + classURL);
+ if (classURL.getProtocol().equals("file")) {
+ File f = new File(classURL.getFile());
+ redefineStream = new FileInputStream(f);
+ redefineLength = (int) f.length();
+ } else {
+ URLConnection conn = classURL.openConnection();
+ redefineStream = conn.getInputStream();
+ redefineLength = conn.getContentLength();
+ }
+
+ final byte[] buffer = new byte[redefineLength];
+ new BufferedInputStream(redefineStream).read(buffer);
+
+ System.gc(); // throw away anything we can before we start testing
+
+ new Timer(true).schedule(new TimerTask() {
+ public void run() {
+ try {
+ int i;
+ System.out.println("Redefining");
+ ClassDefinition cld = new ClassDefinition(clz, buffer);
+ for (i = 0; i < N_REDEFINES; i++) {
+ inst.redefineClasses(new ClassDefinition[] { cld });
+ System.gc(); // throw away anything we can
+ }
+ System.out.println("Redefined " + i + " times.");
+ RedefineBigClassAgent.doneRedefining = true;
+ }
+ catch (Exception e) { e.printStackTrace(); }
+ }
+ }, 500);
+ }
+}
diff --git a/jdk/test/java/lang/instrument/RedefineBigClassApp.java b/jdk/test/java/lang/instrument/RedefineBigClassApp.java
new file mode 100644
index 0000000..6f2233a
--- /dev/null
+++ b/jdk/test/java/lang/instrument/RedefineBigClassApp.java
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+public class RedefineBigClassApp {
+ public static void main(String[] args) throws Exception {
+ System.out.println("Creating instance of " +
+ RedefineBigClassAgent.clz);
+ RedefineBigClassAgent.clz.newInstance();
+
+ int count = 0;
+ while (!RedefineBigClassAgent.doneRedefining) {
+ System.out.println("App loop count: " + ++count);
+ try {
+ Thread.sleep(10 * 1000);
+ } catch (InterruptedException ie) {
+ }
+ }
+ System.out.println("App looped " + count + " times.");
+
+ System.exit(0);
+ }
+}
diff --git a/jdk/test/java/lang/instrument/RetransformBigClass.sh b/jdk/test/java/lang/instrument/RetransformBigClass.sh
new file mode 100644
index 0000000..6a06a78
--- /dev/null
+++ b/jdk/test/java/lang/instrument/RetransformBigClass.sh
@@ -0,0 +1,83 @@
+#
+# 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.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+# @test
+# @bug 7122253
+# @ignore until the fix for 7122253 (from HotSpot) is in a promoted build
+# @summary Retransform a big class.
+# @author Daniel D. Daugherty
+#
+# @run shell MakeJAR4.sh RetransformBigClassAgent SimpleIdentityTransformer 'Can-Retransform-Classes: true'
+# @run build BigClass RetransformBigClassApp
+# @run shell/timeout=600 RetransformBigClass.sh
+#
+
+if [ "${TESTJAVA}" = "" ]
+then
+ echo "TESTJAVA not set. Test cannot execute. Failed."
+ exit 1
+fi
+
+if [ "${TESTSRC}" = "" ]
+then
+ echo "TESTSRC not set. Test cannot execute. Failed."
+ exit 1
+fi
+
+if [ "${TESTCLASSES}" = "" ]
+then
+ echo "TESTCLASSES not set. Test cannot execute. Failed."
+ exit 1
+fi
+
+JAVAC="${TESTJAVA}"/bin/javac
+JAVA="${TESTJAVA}"/bin/java
+
+"${JAVA}" ${TESTVMOPTS} \
+ -XX:TraceRedefineClasses=3 \
+ -javaagent:RetransformBigClassAgent.jar=BigClass.class \
+ -classpath "${TESTCLASSES}" RetransformBigClassApp \
+ > output.log 2>&1
+result=$?
+
+cat output.log
+
+if [ "$result" = 0 ]; then
+ echo "PASS: RetransformBigClassApp exited with status of 0."
+else
+ echo "FAIL: RetransformBigClassApp exited with status of $result"
+ exit "$result"
+fi
+
+MESG="Exception"
+grep "$MESG" output.log
+result=$?
+if [ "$result" = 0 ]; then
+ echo "FAIL: found '$MESG' in the test output"
+ result=1
+else
+ echo "PASS: did NOT find '$MESG' in the test output"
+ result=0
+fi
+
+exit $result
diff --git a/jdk/test/java/lang/instrument/RetransformBigClassAgent.java b/jdk/test/java/lang/instrument/RetransformBigClassAgent.java
new file mode 100644
index 0000000..f15b7c3
--- /dev/null
+++ b/jdk/test/java/lang/instrument/RetransformBigClassAgent.java
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+import java.lang.instrument.*;
+import java.util.*;
+
+public class RetransformBigClassAgent {
+ private static int N_RETRANSFORMS = 1000;
+ public static Class clz;
+ public static volatile boolean doneRetransforming = false;
+
+ // just retransform the class in a loop via a Timer
+ public static void premain(String agentArgs, final Instrumentation inst) throws Exception {
+ String s = agentArgs.substring(0, agentArgs.indexOf(".class"));
+ clz = Class.forName(s.replace('/', '.'));
+
+ ClassFileTransformer trans = new SimpleIdentityTransformer();
+ inst.addTransformer(trans, true /* canRetransform */);
+
+ System.gc(); // throw away anything we can before we start testing
+
+ new Timer(true).schedule(new TimerTask() {
+ public void run() {
+ try {
+ int i;
+ System.out.println("Retransforming");
+ for (i = 0; i < N_RETRANSFORMS; i++) {
+ inst.retransformClasses(clz);
+ System.gc(); // throw away anything we can
+ }
+ System.out.println("Retransformed " + i + " times.");
+ RetransformBigClassAgent.doneRetransforming = true;
+ }
+ catch (Exception e) { e.printStackTrace(); }
+ }
+ }, 500);
+ }
+}
diff --git a/jdk/test/java/lang/instrument/RetransformBigClassApp.java b/jdk/test/java/lang/instrument/RetransformBigClassApp.java
new file mode 100644
index 0000000..37a40e9
--- /dev/null
+++ b/jdk/test/java/lang/instrument/RetransformBigClassApp.java
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+public class RetransformBigClassApp {
+ public static void main(String[] args) throws Exception {
+ System.out.println("Creating instance of " +
+ RetransformBigClassAgent.clz);
+ RetransformBigClassAgent.clz.newInstance();
+
+ int count = 0;
+ while (!RetransformBigClassAgent.doneRetransforming) {
+ System.out.println("App loop count: " + ++count);
+ try {
+ Thread.sleep(10 * 1000);
+ } catch (InterruptedException ie) {
+ }
+ }
+ System.out.println("App looped " + count + " times.");
+
+ System.exit(0);
+ }
+}
diff --git a/jdk/test/java/lang/invoke/CallSiteTest.java b/jdk/test/java/lang/invoke/CallSiteTest.java
index ee60499..5e0a875 100644
--- a/jdk/test/java/lang/invoke/CallSiteTest.java
+++ b/jdk/test/java/lang/invoke/CallSiteTest.java
@@ -43,7 +43,7 @@ import static java.lang.invoke.MethodHandles.*;
import static java.lang.invoke.MethodType.*;
public class CallSiteTest {
- private final static Class CLASS = CallSiteTest.class;
+ private final static Class<?> CLASS = CallSiteTest.class;
private static CallSite mcs;
private static CallSite vcs;
diff --git a/jdk/test/java/lang/invoke/ClassValueTest.java b/jdk/test/java/lang/invoke/ClassValueTest.java
index 121c260..56b5771 100644
--- a/jdk/test/java/lang/invoke/ClassValueTest.java
+++ b/jdk/test/java/lang/invoke/ClassValueTest.java
@@ -38,10 +38,6 @@
package test.java.lang.invoke;
-import java.util.*;
-
-import java.lang.invoke.*;
-
import org.junit.*;
import static org.junit.Assert.*;
@@ -61,7 +57,7 @@ public class ClassValueTest {
}
}
- static final Class[] CLASSES = {
+ static final Class<?>[] CLASSES = {
String.class,
Integer.class,
int.class,
@@ -73,11 +69,11 @@ public class ClassValueTest {
@Test
public void testGet() {
countForCV1 = 0;
- for (Class c : CLASSES) {
+ for (Class<?> c : CLASSES) {
assertEquals(nameForCV1(c), CV1.get(c));
}
assertEquals(CLASSES.length, countForCV1);
- for (Class c : CLASSES) {
+ for (Class<?> c : CLASSES) {
assertEquals(nameForCV1(c), CV1.get(c));
}
assertEquals(CLASSES.length, countForCV1);
@@ -85,7 +81,7 @@ public class ClassValueTest {
@Test
public void testRemove() {
- for (Class c : CLASSES) {
+ for (Class<?> c : CLASSES) {
CV1.get(c);
}
countForCV1 = 0;
@@ -94,7 +90,7 @@ public class ClassValueTest {
CV1.remove(CLASSES[i]);
}
assertEquals(0, countForCV1); // no change
- for (Class c : CLASSES) {
+ for (Class<?> c : CLASSES) {
assertEquals(nameForCV1(c), CV1.get(c));
}
assertEquals(REMCOUNT, countForCV1);
@@ -124,7 +120,7 @@ public class ClassValueTest {
for (int pass = 0; pass <= 2; pass++) {
for (int i1 = 0; i1 < CVN_COUNT1; i1++) {
eachClass:
- for (Class c : CLASSES) {
+ for (Class<?> c : CLASSES) {
for (int i2 = 0; i2 < CVN_COUNT2; i2++) {
int n = i1*CVN_COUNT2 + i2;
assertEquals(0, countForCVN);
@@ -156,8 +152,10 @@ public class ClassValueTest {
}
}
assertEquals(countForCVN, 0);
- for (int n = 0; n < cvns.length; n++) {
- for (Class c : CLASSES) {
+ System.out.println("[rechecking values]");
+ for (int i = 0; i < cvns.length * 10; i++) {
+ int n = i % cvns.length;
+ for (Class<?> c : CLASSES) {
assertEquals(nameForCVN(c, n), cvns[n].get(c));
}
}
diff --git a/jdk/test/java/lang/invoke/InvokeGenericTest.java b/jdk/test/java/lang/invoke/InvokeGenericTest.java
index 87393b4..b95a5d3 100644
--- a/jdk/test/java/lang/invoke/InvokeGenericTest.java
+++ b/jdk/test/java/lang/invoke/InvokeGenericTest.java
@@ -45,6 +45,7 @@ import static org.junit.Assume.*;
*
* @author jrose
*/
+ at SuppressWarnings("cast") // various casts help emphasize arguments to invokeExact
public class InvokeGenericTest {
// How much output?
static int verbosity = 0;
@@ -129,7 +130,7 @@ public class InvokeGenericTest {
}
}
- static List<Object> calledLog = new ArrayList<Object>();
+ static List<Object> calledLog = new ArrayList<>();
static Object logEntry(String name, Object... args) {
return Arrays.asList(name, Arrays.asList(args));
}
@@ -237,8 +238,7 @@ public class InvokeGenericTest {
else
try {
return param.newInstance();
- } catch (InstantiationException ex) {
- } catch (IllegalAccessException ex) {
+ } catch (InstantiationException | IllegalAccessException ex) {
}
return null; // random class not Object, String, Integer, etc.
}
@@ -274,9 +274,11 @@ public class InvokeGenericTest {
return zeroArgs(params.toArray(new Class<?>[0]));
}
+ @SafeVarargs @SuppressWarnings("varargs")
static <T, E extends T> T[] array(Class<T[]> atype, E... a) {
return Arrays.copyOf(a, a.length, atype);
}
+ @SafeVarargs @SuppressWarnings("varargs")
static <T> T[] cat(T[] a, T... b) {
int alen = a.length, blen = b.length;
if (blen == 0) return a;
@@ -311,7 +313,7 @@ public class InvokeGenericTest {
int beg, int end, Class<?> argType) {
MethodType targetType = target.type();
end = Math.min(end, targetType.parameterCount());
- ArrayList<Class<?>> argTypes = new ArrayList<Class<?>>(targetType.parameterList());
+ ArrayList<Class<?>> argTypes = new ArrayList<>(targetType.parameterList());
Collections.fill(argTypes.subList(beg, end), argType);
MethodType ttype2 = MethodType.methodType(targetType.returnType(), argTypes);
return target.asType(ttype2);
@@ -320,7 +322,7 @@ public class InvokeGenericTest {
// This lookup is good for all members in and under InvokeGenericTest.
static final Lookup LOOKUP = MethodHandles.lookup();
- Map<List<Class<?>>, MethodHandle> CALLABLES = new HashMap<List<Class<?>>, MethodHandle>();
+ Map<List<Class<?>>, MethodHandle> CALLABLES = new HashMap<>();
MethodHandle callable(List<Class<?>> params) {
MethodHandle mh = CALLABLES.get(params);
if (mh == null) {
@@ -353,8 +355,8 @@ public class InvokeGenericTest {
countTest();
String[] args = { "one", "two" };
MethodHandle mh = callable(Object.class, String.class);
- Object res; List resl;
- res = resl = (List) mh.invoke((String)args[0], (Object)args[1]);
+ Object res; List<?> resl;
+ res = resl = (List<?>) mh.invoke((String)args[0], (Object)args[1]);
//System.out.println(res);
assertEquals(Arrays.asList(args), res);
}
@@ -365,8 +367,8 @@ public class InvokeGenericTest {
countTest();
int[] args = { 1, 2 };
MethodHandle mh = callable(Object.class, Object.class);
- Object res; List resl;
- res = resl = (List) mh.invoke(args[0], args[1]);
+ Object res; List<?> resl;
+ res = resl = (List<?>) mh.invoke(args[0], args[1]);
//System.out.println(res);
assertEquals(Arrays.toString(args), res.toString());
}
@@ -377,8 +379,8 @@ public class InvokeGenericTest {
countTest();
String[] args = { "one", "two" };
MethodHandle mh = callable(Object.class, String.class);
- Object res; List resl;
- res = resl = (List) mh.invoke((String)args[0], (Object)args[1]);
+ Object res; List<?> resl;
+ res = resl = (List<?>) mh.invoke((String)args[0], (Object)args[1]);
//System.out.println(res);
assertEquals(Arrays.asList(args), res);
}
@@ -440,9 +442,9 @@ public class InvokeGenericTest {
* A void return type is possible iff the first type is void.class.
*/
static List<MethodType> allMethodTypes(int minargc, int maxargc, Class<?>... types) {
- ArrayList<MethodType> result = new ArrayList<MethodType>();
+ ArrayList<MethodType> result = new ArrayList<>();
if (types.length > 0) {
- ArrayList<MethodType> argcTypes = new ArrayList<MethodType>();
+ ArrayList<MethodType> argcTypes = new ArrayList<>();
// build arity-zero types first
for (Class<?> rtype : types) {
argcTypes.add(MethodType.methodType(rtype));
@@ -456,7 +458,7 @@ public class InvokeGenericTest {
if (argc >= maxargc)
break;
ArrayList<MethodType> prevTypes = argcTypes;
- argcTypes = new ArrayList<MethodType>();
+ argcTypes = new ArrayList<>();
for (MethodType prevType : prevTypes) {
for (Class<?> ptype : types) {
argcTypes.add(prevType.insertParameterTypes(argc, ptype));
@@ -524,8 +526,8 @@ public class InvokeGenericTest {
countTest();
Object[] args = { 1, 2 };
MethodHandle mh = callable(Object.class, int.class);
- Object res; List resl; int resi;
- res = resl = (List) mh.invoke((int)args[0], (Object)args[1]);
+ Object res; List<?> resl; int resi;
+ res = resl = (List<?>) mh.invoke((int)args[0], (Object)args[1]);
//System.out.println(res);
assertEquals(Arrays.asList(args), res);
mh = MethodHandles.identity(int.class);
diff --git a/jdk/test/java/lang/invoke/JavaDocExamplesTest.java b/jdk/test/java/lang/invoke/JavaDocExamplesTest.java
index 5206df9..9c10f6a 100644
--- a/jdk/test/java/lang/invoke/JavaDocExamplesTest.java
+++ b/jdk/test/java/lang/invoke/JavaDocExamplesTest.java
@@ -54,6 +54,7 @@ import static org.junit.Assert.*;
/**
* @author jrose
*/
+ at SuppressWarnings("LocalVariableHidesMemberVariable")
public class JavaDocExamplesTest {
/** Wrapper for running the JUnit tests in this module.
* Put JUnit on the classpath!
@@ -336,6 +337,7 @@ assertEquals("[123]", (String) longsToString.invokeExact((long)123));
}}
}
+ @SuppressWarnings("rawtypes")
@Test public void testAsVarargsCollector() throws Throwable {
{{
{} /// JAVADOC
diff --git a/jdk/test/java/lang/invoke/MethodHandlesTest.java b/jdk/test/java/lang/invoke/MethodHandlesTest.java
index bea81b6..7f04ee0 100644
--- a/jdk/test/java/lang/invoke/MethodHandlesTest.java
+++ b/jdk/test/java/lang/invoke/MethodHandlesTest.java
@@ -176,7 +176,7 @@ public class MethodHandlesTest {
}
}
- static List<Object> calledLog = new ArrayList<Object>();
+ static List<Object> calledLog = new ArrayList<>();
static Object logEntry(String name, Object... args) {
return Arrays.asList(name, Arrays.asList(args));
}
@@ -211,6 +211,7 @@ public class MethodHandlesTest {
return dst.cast(value);
}
+ @SuppressWarnings("cast") // primitive cast to (long) is part of the pattern
static Object castToWrapperOrNull(long value, Class<?> dst) {
if (dst == int.class || dst == Integer.class)
return (int)(value);
@@ -284,8 +285,7 @@ public class MethodHandlesTest {
else
try {
return param.newInstance();
- } catch (InstantiationException ex) {
- } catch (IllegalAccessException ex) {
+ } catch (InstantiationException | IllegalAccessException ex) {
}
return null; // random class not Object, String, Integer, etc.
}
@@ -302,9 +302,11 @@ public class MethodHandlesTest {
return args;
}
+ @SafeVarargs @SuppressWarnings("varargs")
static <T, E extends T> T[] array(Class<T[]> atype, E... a) {
return Arrays.copyOf(a, a.length, atype);
}
+ @SafeVarargs @SuppressWarnings("varargs")
static <T> T[] cat(T[] a, T... b) {
int alen = a.length, blen = b.length;
if (blen == 0) return a;
@@ -354,14 +356,14 @@ public class MethodHandlesTest {
try {
LIST_TO_STRING = PRIVATE.findStatic(PRIVATE.lookupClass(), "listToString",
MethodType.methodType(String.class, List.class));
- } catch (Exception ex) { throw new RuntimeException(ex); }
+ } catch (NoSuchMethodException | IllegalAccessException ex) { throw new RuntimeException(ex); }
list = MethodHandles.filterReturnValue(list, LIST_TO_STRING);
} else if (rtype.isPrimitive()) {
if (LIST_TO_INT == null)
try {
LIST_TO_INT = PRIVATE.findStatic(PRIVATE.lookupClass(), "listToInt",
MethodType.methodType(int.class, List.class));
- } catch (Exception ex) { throw new RuntimeException(ex); }
+ } catch (NoSuchMethodException | IllegalAccessException ex) { throw new RuntimeException(ex); }
list = MethodHandles.filterReturnValue(list, LIST_TO_INT);
list = MethodHandles.explicitCastArguments(list, listType);
} else {
@@ -370,8 +372,8 @@ public class MethodHandlesTest {
return list.asType(listType);
}
private static MethodHandle LIST_TO_STRING, LIST_TO_INT;
- private static String listToString(List x) { return x.toString(); }
- private static int listToInt(List x) { return x.toString().hashCode(); }
+ private static String listToString(List<?> x) { return x.toString(); }
+ private static int listToInt(List<?> x) { return x.toString().hashCode(); }
static MethodHandle changeArgTypes(MethodHandle target, Class<?> argType) {
return changeArgTypes(target, 0, 999, argType);
@@ -380,7 +382,7 @@ public class MethodHandlesTest {
int beg, int end, Class<?> argType) {
MethodType targetType = target.type();
end = Math.min(end, targetType.parameterCount());
- ArrayList<Class<?>> argTypes = new ArrayList<Class<?>>(targetType.parameterList());
+ ArrayList<Class<?>> argTypes = new ArrayList<>(targetType.parameterList());
Collections.fill(argTypes.subList(beg, end), argType);
MethodType ttype2 = MethodType.methodType(targetType.returnType(), argTypes);
return target.asType(ttype2);
@@ -405,6 +407,7 @@ public class MethodHandlesTest {
final String name;
public Example() { name = "Example#"+nextArg(); }
protected Example(String name) { this.name = name; }
+ @SuppressWarnings("LeakingThisInConstructor")
protected Example(int x) { this(); called("protected <init>", this, x); }
@Override public String toString() { return name; }
@@ -441,6 +444,7 @@ public class MethodHandlesTest {
static class SubExample extends Example {
@Override public void v0() { called("Sub/v0", this); }
@Override void pkg_v0() { called("Sub/pkg_v0", this); }
+ @SuppressWarnings("LeakingThisInConstructor")
private SubExample(int x) { called("<init>", this, x); }
public SubExample() { super("SubExample#"+nextArg()); }
}
@@ -912,7 +916,7 @@ public class MethodHandlesTest {
static final Object[][] CASES;
static {
- ArrayList<Object[]> cases = new ArrayList<Object[]>();
+ ArrayList<Object[]> cases = new ArrayList<>();
Object types[][] = {
{'L',Object.class}, {'R',String.class},
{'I',int.class}, {'J',long.class},
@@ -931,12 +935,12 @@ public class MethodHandlesTest {
Field field;
try {
field = HasFields.class.getDeclaredField(name);
- } catch (Exception ex) {
+ } catch (NoSuchFieldException | SecurityException ex) {
throw new InternalError("no field HasFields."+name);
}
try {
value = field.get(fields);
- } catch (Exception ex) {
+ } catch (IllegalArgumentException | IllegalAccessException ex) {
throw new InternalError("cannot fetch field HasFields."+name);
}
if (type == float.class) {
@@ -1257,7 +1261,7 @@ public class MethodHandlesTest {
List<Object> array2list(Object array) {
int length = Array.getLength(array);
- ArrayList<Object> model = new ArrayList<Object>(length);
+ ArrayList<Object> model = new ArrayList<>(length);
for (int i = 0; i < length; i++)
model.add(Array.get(array, i));
return model;
@@ -1288,7 +1292,7 @@ public class MethodHandlesTest {
String name = pfx+"id";
try {
return PRIVATE.findStatic(Callee.class, name, type);
- } catch (Exception ex) {
+ } catch (NoSuchMethodException | IllegalAccessException ex) {
throw new RuntimeException(ex);
}
}
@@ -1365,7 +1369,7 @@ public class MethodHandlesTest {
MethodHandle vac = vac0.asVarargsCollector(Object[].class);
testConvert(true, vac.asType(MethodType.genericMethodType(0)), null, "vac");
testConvert(true, vac.asType(MethodType.genericMethodType(0)), null, "vac");
- for (Class<?> at : new Class[] { Object.class, String.class, Integer.class }) {
+ for (Class<?> at : new Class<?>[] { Object.class, String.class, Integer.class }) {
testConvert(true, vac.asType(MethodType.genericMethodType(1)), null, "vac", at);
testConvert(true, vac.asType(MethodType.genericMethodType(2)), null, "vac", at, at);
}
@@ -1514,7 +1518,7 @@ public class MethodHandlesTest {
public void testSpreadArguments() throws Throwable {
if (CAN_SKIP_WORKING) return;
startTest("spreadArguments");
- for (Class<?> argType : new Class[]{Object.class, Integer.class, int.class}) {
+ for (Class<?> argType : new Class<?>[]{Object.class, Integer.class, int.class}) {
if (verbosity >= 3)
System.out.println("spreadArguments "+argType);
for (int nargs = 0; nargs < 50; nargs++) {
@@ -1538,7 +1542,7 @@ public class MethodHandlesTest {
Object[] args = randomArgs(target2.type().parameterArray());
// make sure the target does what we think it does:
if (pos == 0 && nargs < 5 && !argType.isPrimitive()) {
- Object[] check = (Object[]) (Object) target.invokeWithArguments(args);
+ Object[] check = (Object[]) target.invokeWithArguments(args);
assertArrayEquals(args, check);
switch (nargs) {
case 0:
@@ -1555,7 +1559,7 @@ public class MethodHandlesTest {
break;
}
}
- List<Class<?>> newParams = new ArrayList<Class<?>>(target2.type().parameterList());
+ List<Class<?>> newParams = new ArrayList<>(target2.type().parameterList());
{ // modify newParams in place
List<Class<?>> spreadParams = newParams.subList(pos, nargs);
spreadParams.clear(); spreadParams.add(arrayType);
@@ -1608,7 +1612,7 @@ public class MethodHandlesTest {
public void testCollectArguments() throws Throwable {
if (CAN_SKIP_WORKING) return;
startTest("collectArguments");
- for (Class<?> argType : new Class[]{Object.class, Integer.class, int.class}) {
+ for (Class<?> argType : new Class<?>[]{Object.class, Integer.class, int.class}) {
if (verbosity >= 3)
System.out.println("collectArguments "+argType);
for (int nargs = 0; nargs < 50; nargs++) {
@@ -1670,12 +1674,13 @@ public class MethodHandlesTest {
MethodHandle target = varargsArray(nargs + ins);
Object[] args = randomArgs(target.type().parameterArray());
List<Object> resList = Arrays.asList(args);
- List<Object> argsToPass = new ArrayList<Object>(resList);
+ List<Object> argsToPass = new ArrayList<>(resList);
List<Object> argsToInsert = argsToPass.subList(pos, pos + ins);
if (verbosity >= 3)
System.out.println("insert: "+argsToInsert+" into "+target);
+ @SuppressWarnings("cast") // cast to spread Object... is helpful
MethodHandle target2 = MethodHandles.insertArguments(target, pos,
- (Object[]) argsToInsert.toArray());
+ (Object[]/*...*/) argsToInsert.toArray());
argsToInsert.clear(); // remove from argsToInsert
Object res2 = target2.invokeWithArguments(argsToPass);
Object res2List = Arrays.asList((Object[])res2);
@@ -1693,7 +1698,7 @@ public class MethodHandlesTest {
Class<?> classOfVCList = varargsList(1).invokeWithArguments(0).getClass();
assertTrue(List.class.isAssignableFrom(classOfVCList));
for (int nargs = 0; nargs <= 3; nargs++) {
- for (Class<?> rtype : new Class[] { Object.class,
+ for (Class<?> rtype : new Class<?>[] { Object.class,
List.class,
int.class,
byte.class,
@@ -1790,7 +1795,7 @@ public class MethodHandlesTest {
System.out.println("fold "+target+" with "+combine);
MethodHandle target2 = MethodHandles.foldArguments(target, combine);
// Simulate expected effect of combiner on arglist:
- List<Object> expected = new ArrayList<Object>(argsToPass);
+ List<Object> expected = new ArrayList<>(argsToPass);
List<Object> argsToFold = expected.subList(pos, pos + fold);
if (verbosity >= 3)
System.out.println("fold: "+argsToFold+" into "+target2);
@@ -1822,9 +1827,9 @@ public class MethodHandlesTest {
MethodHandle target = varargsArray(nargs);
Object[] args = randomArgs(target.type().parameterArray());
MethodHandle target2 = MethodHandles.dropArguments(target, pos,
- Collections.nCopies(drop, Object.class).toArray(new Class[0]));
+ Collections.nCopies(drop, Object.class).toArray(new Class<?>[0]));
List<Object> resList = Arrays.asList(args);
- List<Object> argsToDrop = new ArrayList<Object>(resList);
+ List<Object> argsToDrop = new ArrayList<>(resList);
for (int i = drop; i > 0; i--) {
argsToDrop.add(pos, "blort#"+i);
}
@@ -1840,11 +1845,11 @@ public class MethodHandlesTest {
if (CAN_SKIP_WORKING) return;
startTest("exactInvoker, genericInvoker, varargsInvoker, dynamicInvoker");
// exactInvoker, genericInvoker, varargsInvoker[0..N], dynamicInvoker
- Set<MethodType> done = new HashSet<MethodType>();
+ Set<MethodType> done = new HashSet<>();
for (int i = 0; i <= 6; i++) {
if (CAN_TEST_LIGHTLY && i > 3) break;
MethodType gtype = MethodType.genericMethodType(i);
- for (Class<?> argType : new Class[]{Object.class, Integer.class, int.class}) {
+ for (Class<?> argType : new Class<?>[]{Object.class, Integer.class, int.class}) {
for (int j = -1; j < i; j++) {
MethodType type = gtype;
if (j < 0)
@@ -1873,7 +1878,7 @@ public class MethodHandlesTest {
assertTrue(target.isVarargsCollector());
target = target.asType(type);
Object[] args = randomArgs(type.parameterArray());
- List<Object> targetPlusArgs = new ArrayList<Object>(Arrays.asList(args));
+ List<Object> targetPlusArgs = new ArrayList<>(Arrays.asList(args));
targetPlusArgs.add(0, target);
int code = (Integer) invokee(args);
Object log = logEntry("invokee", args);
@@ -1960,7 +1965,7 @@ public class MethodHandlesTest {
.appendParameterTypes(Object[].class)
.insertParameterTypes(0, MethodHandle.class));
assertEquals(expType, inv.type());
- List<Object> targetPlusVarArgs = new ArrayList<Object>(targetPlusArgs);
+ List<Object> targetPlusVarArgs = new ArrayList<>(targetPlusArgs);
List<Object> tailList = targetPlusVarArgs.subList(1+k, 1+nargs);
Object[] tail = tailList.toArray();
tailList.clear(); tailList.add(tail);
@@ -2191,7 +2196,7 @@ public class MethodHandlesTest {
if (throwMode == THROW_NOTHING) {
assertSame(arg0, returned);
} else if (throwMode == THROW_CAUGHT) {
- List<Object> catchArgs = new ArrayList<Object>(Arrays.asList(args));
+ List<Object> catchArgs = new ArrayList<>(Arrays.asList(args));
// catcher receives an initial subsequence of target arguments:
catchArgs.subList(nargs - catchDrops, nargs).clear();
// catcher also receives the exception, prepended:
@@ -2317,12 +2322,13 @@ public class MethodHandlesTest {
INT_IDENTITY = PRIVATE.findStatic(
Surprise.class, "intIdentity",
MethodType.methodType(int.class, int.class));
- } catch (Exception ex) {
+ } catch (NoSuchMethodException | IllegalAccessException ex) {
throw new RuntimeException(ex);
}
}
}
+ @SuppressWarnings("ConvertToStringSwitch")
void testCastFailure(String mode, int okCount) throws Throwable {
countTest(false);
if (verbosity > 2) System.out.println("mode="+mode);
@@ -2418,13 +2424,14 @@ public class MethodHandlesTest {
}
public interface Fooable {
// overloads:
- Object foo(Object x, String y);
- List foo(String x, int y);
- Object foo(String x);
+ Object foo(Object x, String y);
+ List<?> foo(String x, int y);
+ Object foo(String x);
}
static Object fooForFooable(String x, Object... y) {
return called("fooForFooable/"+x, y);
}
+ @SuppressWarnings("serial") // not really a public API, just a test case
public static class MyCheckedException extends Exception {
}
public interface WillThrow {
@@ -2453,7 +2460,7 @@ public class MethodHandlesTest {
{
countTest();
if (verbosity >= 2) System.out.println("Appendable");
- ArrayList<List> appendResults = new ArrayList<List>();
+ ArrayList<List<?>> appendResults = new ArrayList<>();
MethodHandle append = lookup.bind(appendResults, "add", MethodType.methodType(boolean.class, Object.class));
append = append.asType(MethodType.methodType(void.class, List.class)); // specialize the type
MethodHandle asList = lookup.findStatic(Arrays.class, "asList", MethodType.methodType(List.class, Object[].class));
@@ -2475,11 +2482,11 @@ public class MethodHandlesTest {
formatter.format(fmt, fmtArgs);
String actual = "";
if (verbosity >= 3) System.out.println("appendResults="+appendResults);
- for (List l : appendResults) {
+ for (List<?> l : appendResults) {
Object x = l.get(0);
switch (l.size()) {
case 1: actual += x; continue;
- case 3: actual += ((String)x).substring((int)l.get(1), (int)l.get(2)); continue;
+ case 3: actual += ((String)x).substring((int)(Object)l.get(1), (int)(Object)l.get(2)); continue;
}
actual += l;
}
@@ -2551,7 +2558,7 @@ public class MethodHandlesTest {
}
}
// Test error checking on bad interfaces:
- for (Class<?> nonSMI : new Class[] { Object.class,
+ for (Class<?> nonSMI : new Class<?>[] { Object.class,
String.class,
CharSequence.class,
java.io.Serializable.class,
@@ -2579,7 +2586,7 @@ public class MethodHandlesTest {
}
}
// Test error checking on interfaces with the wrong method type:
- for (Class<?> intfc : new Class[] { Runnable.class /*arity 0*/,
+ for (Class<?> intfc : new Class<?>[] { Runnable.class /*arity 0*/,
Fooable.class /*arity 1 & 2*/ }) {
int badArity = 1; // known to be incompatible
if (verbosity > 2) System.out.println(intfc.getName());
@@ -2657,7 +2664,7 @@ class ValueConversions {
Object a8, Object a9)
{ return makeArray(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
static MethodHandle[] makeArrays() {
- ArrayList<MethodHandle> arrays = new ArrayList<MethodHandle>();
+ ArrayList<MethodHandle> arrays = new ArrayList<>();
MethodHandles.Lookup lookup = IMPL_LOOKUP;
for (;;) {
int nargs = arrays.size();
@@ -2746,7 +2753,7 @@ class ValueConversions {
Object a8, Object a9)
{ return makeList(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }
static MethodHandle[] makeLists() {
- ArrayList<MethodHandle> lists = new ArrayList<MethodHandle>();
+ ArrayList<MethodHandle> lists = new ArrayList<>();
MethodHandles.Lookup lookup = IMPL_LOOKUP;
for (;;) {
int nargs = lists.size();
@@ -2769,7 +2776,7 @@ class ValueConversions {
static {
try {
AS_LIST = IMPL_LOOKUP.findStatic(Arrays.class, "asList", MethodType.methodType(List.class, Object[].class));
- } catch (Exception ex) { throw new RuntimeException(ex); }
+ } catch (NoSuchMethodException | IllegalAccessException ex) { throw new RuntimeException(ex); }
}
/** Return a method handle that takes the indicated number of Object
diff --git a/jdk/test/java/lang/invoke/MethodTypeTest.java b/jdk/test/java/lang/invoke/MethodTypeTest.java
index aa540b0..d8d460f 100644
--- a/jdk/test/java/lang/invoke/MethodTypeTest.java
+++ b/jdk/test/java/lang/invoke/MethodTypeTest.java
@@ -29,6 +29,7 @@
package test.java.lang.invoke;
+import java.io.IOException;
import java.lang.invoke.MethodType;
import java.lang.reflect.Method;
@@ -378,7 +379,7 @@ public class MethodTypeTest {
public void testHashCode() {
System.out.println("hashCode");
MethodType instance = mt_viS;
- ArrayList<Class<?>> types = new ArrayList<Class<?>>();
+ ArrayList<Class<?>> types = new ArrayList<>();
types.add(instance.returnType());
types.addAll(instance.parameterList());
int expResult = types.hashCode();
@@ -556,7 +557,7 @@ public class MethodTypeTest {
Object decode;
try {
decode = readSerial(wire);
- } catch (Exception ex) {
+ } catch (IOException | ClassNotFoundException ex) {
decode = ex; // oops!
}
assertEquals(mt, decode);
diff --git a/jdk/test/java/lang/invoke/PermuteArgsTest.java b/jdk/test/java/lang/invoke/PermuteArgsTest.java
index e02137e..07cbbe5 100644
--- a/jdk/test/java/lang/invoke/PermuteArgsTest.java
+++ b/jdk/test/java/lang/invoke/PermuteArgsTest.java
@@ -45,7 +45,7 @@ import static java.lang.invoke.MethodHandles.*;
import static java.lang.invoke.MethodType.*;
public class PermuteArgsTest {
- private static final Class CLASS = PermuteArgsTest.class;
+ private static final Class<?> CLASS = PermuteArgsTest.class;
private static final int MAX_ARITY = Integer.getInteger(CLASS.getSimpleName()+".MAX_ARITY", 8);
private static final boolean DRY_RUN = Boolean.getBoolean(CLASS.getSimpleName()+".DRY_RUN");
private static final boolean VERBOSE = Boolean.getBoolean(CLASS.getSimpleName()+".VERBOSE") || DRY_RUN;
@@ -99,12 +99,12 @@ public class PermuteArgsTest {
return Arrays.asList(w, x, y, z);
}
static Object listI_etc(int... va) {
- ArrayList<Object> res = new ArrayList<Object>();
+ ArrayList<Object> res = new ArrayList<>();
for (int x : va) res.add(x);
return res;
}
static Object listIJL_etc(int x, long y, Object z, Object... va) {
- ArrayList<Object> res = new ArrayList<Object>();
+ ArrayList<Object> res = new ArrayList<>();
res.addAll(Arrays.asList(x, y, z));
res.addAll(Arrays.asList(va));
return res;
@@ -168,7 +168,7 @@ public class PermuteArgsTest {
mh1 = adjustArity(mh, arity);
} catch (IllegalArgumentException ex) {
System.out.println("*** mh = "+name+" : "+mh+"; arity = "+arity+" => "+ex);
- ex.printStackTrace();
+ ex.printStackTrace(System.out);
break; // cannot get this arity for this type
}
test("("+arity+")"+name, mh1);
@@ -213,7 +213,7 @@ public class PermuteArgsTest {
}
static void testPermutations(MethodHandle mh) throws Throwable {
- HashSet<String> done = new HashSet<String>();
+ HashSet<String> done = new HashSet<>();
MethodType mt = mh.type();
int[] perm = nullPerm(mt.parameterCount());
final int MARGIN = (perm.length <= 10 ? 2 : 0);
@@ -326,8 +326,8 @@ public class PermuteArgsTest {
Class<?> pt = ptypes[i];
Object arg;
if (pt == Void.class) arg = null;
- else if (pt == int.class) arg = (int) i + 101;
- else if (pt == long.class) arg = (long) i + 10_000_000_001L;
+ else if (pt == int.class) arg = i + 101;
+ else if (pt == long.class) arg = i + 10_000_000_001L;
else arg = "#" + (i + 1);
args[i] = arg;
}
diff --git a/jdk/test/java/lang/invoke/RicochetTest.java b/jdk/test/java/lang/invoke/RicochetTest.java
index bc59ae3..d260375 100644
--- a/jdk/test/java/lang/invoke/RicochetTest.java
+++ b/jdk/test/java/lang/invoke/RicochetTest.java
@@ -40,7 +40,6 @@ import org.junit.*;
import static java.lang.invoke.MethodType.*;
import static java.lang.invoke.MethodHandles.*;
import static org.junit.Assert.*;
-import static org.junit.Assume.*;
/**
@@ -48,7 +47,7 @@ import static org.junit.Assume.*;
* @author jrose
*/
public class RicochetTest {
- private static final Class CLASS = RicochetTest.class;
+ private static final Class<?> CLASS = RicochetTest.class;
private static final int MAX_ARITY = Integer.getInteger(CLASS.getSimpleName()+".MAX_ARITY", 40);
public static void main(String... av) throws Throwable {
@@ -148,7 +147,7 @@ public class RicochetTest {
for (int nargs = 0; nargs <= MAX; nargs++) {
if (nargs > 30 && nargs < MAX-20) nargs += 10;
int[] args = new int[nargs];
- for (int j = 0; j < args.length; j++) args[j] = (int)(j + 11);
+ for (int j = 0; j < args.length; j++) args[j] = j + 11;
//System.out.println("testIntSpreads "+Arrays.toString(args));
int[] args1 = (int[]) id.invokeExact(args);
assertArrayEquals(args, args1);
@@ -388,6 +387,7 @@ public class RicochetTest {
java.util.Random random;
final MethodHandle[] fns;
int depth;
+ @SuppressWarnings("LeakingThisInConstructor")
RFCB(int seed) throws Throwable {
this.random = new java.util.Random(seed);
this.fns = new MethodHandle[Math.max(29, (1 << MAX_DEPTH-2)/3)];
@@ -408,7 +408,7 @@ public class RicochetTest {
case 1:
Throwable ex = new RuntimeException();
ex.fillInStackTrace();
- if (VERBOSITY >= 2) ex.printStackTrace();
+ if (VERBOSITY >= 2) ex.printStackTrace(System.out);
x = "ST; " + x;
break;
case 2:
@@ -467,7 +467,7 @@ public class RicochetTest {
return mh.invokeWithArguments(args);
} catch (Throwable ex) {
System.out.println("threw: "+mh+Arrays.asList(args));
- ex.printStackTrace();
+ ex.printStackTrace(System.out);
return ex;
}
}
@@ -515,8 +515,8 @@ public class RicochetTest {
private static long opJ(long x) { return (long) opI((int)x); }
private static Object opL2(Object x, Object y) { return (Object) opI2((int)x, (int)y); }
private static Object opL(Object x) { return (Object) opI((int)x); }
- private static int opL2_I(Object x, Object y) { return (int) opI2((int)x, (int)y); }
- private static int opL_I(Object x) { return (int) opI((int)x); }
+ private static int opL2_I(Object x, Object y) { return opI2((int)x, (int)y); }
+ private static int opL_I(Object x) { return opI((int)x); }
private static long opL_J(Object x) { return (long) opI((int)x); }
private static final MethodHandle opI, opI2, opI3, opI4, opI_L, opJ, opJ2, opJ3, opL2, opL, opL2_I, opL_I, opL_J;
static {
@@ -570,8 +570,8 @@ public class RicochetTest {
INT_LISTERS[i] = lister;
LONG_LISTERS[i] = llister;
if (i == 0) break;
- lister = insertArguments(lister, i-1, (int)0);
- llister = insertArguments(llister, i-1, (long)0);
+ lister = insertArguments(lister, i-1, 0);
+ llister = insertArguments(llister, i-1, 0L);
}
}
diff --git a/jdk/test/java/lang/invoke/ThrowExceptionsTest.java b/jdk/test/java/lang/invoke/ThrowExceptionsTest.java
index 0065e92..7729015 100644
--- a/jdk/test/java/lang/invoke/ThrowExceptionsTest.java
+++ b/jdk/test/java/lang/invoke/ThrowExceptionsTest.java
@@ -40,7 +40,7 @@ import static java.lang.invoke.MethodHandles.*;
import static java.lang.invoke.MethodType.*;
public class ThrowExceptionsTest {
- private static final Class CLASS = ThrowExceptionsTest.class;
+ private static final Class<?> CLASS = ThrowExceptionsTest.class;
private static final Lookup LOOKUP = lookup();
public static void main(String argv[]) throws Throwable {
@@ -132,9 +132,9 @@ public class ThrowExceptionsTest {
int tc = testCases;
try {
m.invoke(this);
- } catch (Throwable ex) {
+ } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) {
System.out.println("*** "+ex);
- ex.printStackTrace();
+ ex.printStackTrace(System.out);
}
if (testCases == tc) testCases++;
}
diff --git a/jdk/test/java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java b/jdk/test/java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java
index 17569b4..26b3b66 100644
--- a/jdk/test/java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java
+++ b/jdk/test/java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java
@@ -23,7 +23,7 @@
/*
* @test
- * @bug 7024172
+ * @bug 7024172 7067691
* @summary Test if proxy for PlatformLoggingMXBean is equivalent
* to proxy for LoggingMXBean
*
@@ -43,6 +43,13 @@ public class LoggingMXBeanTest
static String LOGGER_NAME_2 = "com.sun.management.Logger.Logger2";
static String UNKNOWN_LOGGER_NAME = "com.sun.management.Unknown";
+ // These instance variables prevent premature logger garbage collection
+ // See getLogger() weak reference warnings.
+ Logger logger1;
+ Logger logger2;
+
+ static LoggingMXBeanTest test;
+
public static void main(String[] argv) throws Exception {
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
LoggingMXBean proxy =
@@ -51,7 +58,7 @@ public class LoggingMXBeanTest
LoggingMXBean.class);
// test LoggingMXBean proxy
- LoggingMXBeanTest p = new LoggingMXBeanTest(proxy);
+ test = new LoggingMXBeanTest(proxy);
// check if the attributes implemented by PlatformLoggingMXBean
// and LoggingMXBean return the same value
@@ -64,9 +71,9 @@ public class LoggingMXBeanTest
// same verification as in java/util/logging/LoggingMXBeanTest2
public LoggingMXBeanTest(LoggingMXBean mbean) throws Exception {
- Logger logger1 = Logger.getLogger( LOGGER_NAME_1 );
+ logger1 = Logger.getLogger( LOGGER_NAME_1 );
logger1.setLevel(Level.FINE);
- Logger logger2 = Logger.getLogger( LOGGER_NAME_2 );
+ logger2 = Logger.getLogger( LOGGER_NAME_2 );
logger2.setLevel(null);
/*
@@ -207,6 +214,7 @@ public class LoggingMXBeanTest
// verify logger names
List<String> loggers1 = mxbean1.getLoggerNames();
List<String> loggers2 = mxbean2.getLoggerNames();
+
if (loggers1.size() != loggers2.size())
throw new RuntimeException("LoggerNames: unmatched number of entries");
List<String> loggers3 = new ArrayList<>(loggers1);
@@ -219,7 +227,10 @@ public class LoggingMXBeanTest
if (!mxbean1.getLoggerLevel(logger)
.equals(mxbean2.getLoggerLevel(logger)))
throw new RuntimeException(
- "LoggerLevel: unmatched level for " + logger);
+ "LoggerLevel: unmatched level for " + logger
+ + ", " + mxbean1.getLoggerLevel(logger)
+ + ", " + mxbean2.getLoggerLevel(logger));
+
if (!mxbean1.getParentLoggerName(logger)
.equals(mxbean2.getParentLoggerName(logger)))
throw new RuntimeException(
diff --git a/jdk/test/java/lang/management/PlatformLoggingMXBean/PlatformLoggingMXBeanTest.java b/jdk/test/java/lang/management/PlatformLoggingMXBean/PlatformLoggingMXBeanTest.java
index 3694641..9d13b95 100644
--- a/jdk/test/java/lang/management/PlatformLoggingMXBean/PlatformLoggingMXBeanTest.java
+++ b/jdk/test/java/lang/management/PlatformLoggingMXBean/PlatformLoggingMXBeanTest.java
@@ -23,7 +23,7 @@
/*
* @test
- * @bug 6876135 7024172
+ * @bug 6876135 7024172 7067691
*
* @summary Test PlatformLoggingMXBean
* This test performs similar testing as
@@ -41,11 +41,15 @@ import java.util.List;
public class PlatformLoggingMXBeanTest
{
-
ObjectName objectName = null;
static String LOGGER_NAME_1 = "com.sun.management.Logger1";
static String LOGGER_NAME_2 = "com.sun.management.Logger2";
+ // Use Logger instance variables to prevent premature garbage collection
+ // of weak references.
+ Logger logger1;
+ Logger logger2;
+
public PlatformLoggingMXBeanTest() throws Exception {
}
@@ -135,8 +139,8 @@ public class PlatformLoggingMXBeanTest
System.out.println( "*********** Phase 3 ***********" );
System.out.println( "*******************************" );
System.out.println( " Create and test new Loggers" );
- Logger logger1 = Logger.getLogger( LOGGER_NAME_1 );
- Logger logger2 = Logger.getLogger( LOGGER_NAME_2 );
+ logger1 = Logger.getLogger( LOGGER_NAME_1 );
+ logger2 = Logger.getLogger( LOGGER_NAME_2 );
// check that Level object are returned properly
try {
@@ -187,6 +191,7 @@ public class PlatformLoggingMXBeanTest
System.out.println( " Set and Check the Logger Level" );
log1 = false;
log2 = false;
+
try {
// Set the level of logger1 to ALL
params = new Object[2];
diff --git a/jdk/test/java/net/HttpURLConnection/UnmodifiableMaps.java b/jdk/test/java/net/HttpURLConnection/UnmodifiableMaps.java
new file mode 100644
index 0000000..40205c8
--- /dev/null
+++ b/jdk/test/java/net/HttpURLConnection/UnmodifiableMaps.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * @test
+ * @bug 7128648
+ * @summary HttpURLConnection.getHeaderFields should return an unmodifiable Map
+ */
+
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.URI;
+import java.net.HttpURLConnection;
+import java.util.Collection;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import com.sun.net.httpserver.HttpExchange;
+import com.sun.net.httpserver.HttpHandler;
+import com.sun.net.httpserver.HttpServer;
+import com.sun.net.httpserver.Headers;
+
+public class UnmodifiableMaps {
+
+ void test(String[] args) throws Exception {
+ HttpServer server = startHttpServer();
+ try {
+ InetSocketAddress address = server.getAddress();
+ URI uri = new URI("http://" + InetAddress.getLocalHost().getHostAddress()
+ + ":" + address.getPort() + "/foo");
+ doClient(uri);
+ } finally {
+ server.stop(0);
+ }
+ }
+
+ void doClient(URI uri) throws Exception {
+ HttpURLConnection uc = (HttpURLConnection) uri.toURL().openConnection();
+
+ // Test1: getRequestProperties is unmodifiable
+ System.out.println("Check getRequestProperties");
+ checkUnmodifiable(uc.getRequestProperties());
+ uc.addRequestProperty("X", "V");
+ uc.addRequestProperty("X1", "V1");
+ checkUnmodifiable(uc.getRequestProperties());
+
+ int resp = uc.getResponseCode();
+ check(resp == 200,
+ "Unexpected response code. Expected 200, got " + resp);
+
+ // Test2: getHeaderFields is unmodifiable
+ System.out.println("Check getHeaderFields");
+ checkUnmodifiable(uc.getHeaderFields());
+ // If the implementation does caching, check again.
+ checkUnmodifiable(uc.getHeaderFields());
+ }
+
+ // HTTP Server
+ HttpServer startHttpServer() throws IOException {
+ HttpServer httpServer = HttpServer.create(new InetSocketAddress(0), 0);
+ httpServer.createContext("/foo", new SimpleHandler());
+ httpServer.start();
+ return httpServer;
+ }
+
+ class SimpleHandler implements HttpHandler {
+ @Override
+ public void handle(HttpExchange t) throws IOException {
+ Headers respHeaders = t.getResponseHeaders();
+ // ensure some response headers, over the usual ones
+ respHeaders.add("RespHdr1", "Value1");
+ respHeaders.add("RespHdr2", "Value2");
+ respHeaders.add("RespHdr3", "Value3");
+ t.sendResponseHeaders(200, -1);
+ t.close();
+ }
+ }
+
+ void checkUnmodifiable(Map<String,List<String>> map) {
+ checkUnmodifiableMap(map);
+
+ // Now check the individual values
+ Collection<List<String>> values = map.values();
+ for (List<String> value : values) {
+ checkUnmodifiableList(value);
+ }
+ }
+
+ void checkUnmodifiableMap(final Map<String,List<String>> map) {
+ expectThrow( new Runnable() {
+ public void run() { map.clear(); }});
+ expectThrow( new Runnable() {
+ public void run() { map.put("X", new ArrayList<String>()); }});
+ expectThrow( new Runnable() {
+ public void run() { map.remove("X"); }});
+ }
+
+ void checkUnmodifiableList(final List<String> list) {
+ expectThrow( new Runnable() {
+ public void run() { list.clear(); }});
+ expectThrow( new Runnable() {
+ public void run() { list.add("X"); }});
+ expectThrow( new Runnable() {
+ public void run() { list.remove("X"); }});
+ }
+
+ void expectThrow(Runnable r) {
+ try { r.run(); fail("Excepted UOE to be thrown."); Thread.dumpStack(); }
+ catch (UnsupportedOperationException e) { pass(); }
+ }
+
+ volatile int passed = 0, failed = 0;
+ void pass() {passed++;}
+ void fail() {failed++;}
+ void fail(String msg) {System.err.println(msg); fail();}
+ void unexpected(Throwable t) {failed++; t.printStackTrace();}
+ void check(boolean cond, String failMessage) {if (cond) pass(); else fail(failMessage);}
+ public static void main(String[] args) throws Throwable {
+ Class<?> k = new Object(){}.getClass().getEnclosingClass();
+ try {k.getMethod("instanceMain",String[].class)
+ .invoke( k.newInstance(), (Object) args);}
+ catch (Throwable e) {throw e.getCause();}}
+ public void instanceMain(String[] args) throws Throwable {
+ try {test(args);} catch (Throwable t) {unexpected(t);}
+ System.out.printf("%nPassed = %d, failed = %d%n%n", passed, failed);
+ if (failed > 0) throw new AssertionError("Some tests failed");}
+}
+
diff --git a/jdk/test/java/nio/channels/AsynchronousSocketChannel/Basic.java b/jdk/test/java/nio/channels/AsynchronousSocketChannel/Basic.java
index 32b6c83..9442f9b 100644
--- a/jdk/test/java/nio/channels/AsynchronousSocketChannel/Basic.java
+++ b/jdk/test/java/nio/channels/AsynchronousSocketChannel/Basic.java
@@ -63,7 +63,9 @@ public class Basic {
testRead3();
testWrite1();
testWrite2();
- testTimeout();
+ // skip timeout tests until 7052549 is fixed
+ if (!System.getProperty("os.name").startsWith("Windows"))
+ testTimeout();
testShutdown();
}
diff --git a/jdk/test/java/nio/file/Files/CustomOptions.java b/jdk/test/java/nio/file/Files/CustomOptions.java
new file mode 100644
index 0000000..a39cc6a
--- /dev/null
+++ b/jdk/test/java/nio/file/Files/CustomOptions.java
@@ -0,0 +1,112 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7087549
+ * @summary Test custom options with newInputStream.
+ * @author Brandon Passanisi
+ * @library ..
+ * @build CustomOptions PassThroughFileSystem
+ */
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URI;
+import java.nio.file.*;
+import java.nio.file.attribute.FileAttribute;
+import java.nio.file.spi.FileSystemProvider;
+import java.nio.channels.SeekableByteChannel;
+import java.util.Collections;
+import java.util.Set;
+import java.util.Map;
+
+public class CustomOptions {
+
+ // Create a custom option
+ static enum CustomOption implements OpenOption {
+ IGNORE,
+ }
+
+ // number of times that IGNORE option is observed
+ static int ignoreCount;
+
+ // A pass through provider that supports a custom open option
+ static class MyCustomProvider extends PassThroughFileSystem.PassThroughProvider {
+ public MyCustomProvider() { }
+
+ @Override
+ public SeekableByteChannel newByteChannel(Path path,
+ Set<? extends OpenOption> options,
+ FileAttribute<?>... attrs)
+ throws IOException
+ {
+ if (options.contains(CustomOption.IGNORE)) {
+ ignoreCount++;
+ options.remove(CustomOption.IGNORE);
+ }
+ return super.newByteChannel(path, options, attrs);
+ }
+ }
+
+ public static void main(String[] args) throws Exception {
+ FileSystemProvider provider = new MyCustomProvider();
+ Map<String,?> env = Collections.emptyMap();
+ URI uri = URI.create("pass:///");
+ FileSystem fs = provider.newFileSystem(uri, env);
+
+ // Create temp dir for testing
+ Path dir = TestUtil.createTemporaryDirectory();
+ try {
+
+ // Create temp file for testing
+ Path path = fs.getPath(dir.resolve("foo").toString());
+ Files.createFile(path);
+
+ // Test custom option
+ Files.newInputStream(path, CustomOption.IGNORE).close();
+ if (ignoreCount != 1)
+ throw new RuntimeException("IGNORE option not passed through");
+
+ // Test null option
+ try {
+ Files.newInputStream(path, new OpenOption[] { null }).close();
+ throw new RuntimeException("NullPointerException expected");
+ } catch (NullPointerException ignore) { }
+
+ // Test unsupported options
+ try {
+ Files.newInputStream(path, StandardOpenOption.WRITE).close();
+ throw new RuntimeException("UnsupportedOperationException expected");
+ } catch (UnsupportedOperationException uoe) { }
+ try {
+ Files.newInputStream(path, StandardOpenOption.APPEND).close();
+ throw new RuntimeException("UnsupportedOperationException expected");
+ } catch (UnsupportedOperationException uoe) { }
+
+ } finally {
+ // Cleanup
+ TestUtil.removeAll(dir);
+ }
+ }
+}
diff --git a/jdk/test/java/nio/file/attribute/AclEntry/EmptySet.java b/jdk/test/java/nio/file/attribute/AclEntry/EmptySet.java
new file mode 100644
index 0000000..c6466d3
--- /dev/null
+++ b/jdk/test/java/nio/file/attribute/AclEntry/EmptySet.java
@@ -0,0 +1,47 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/* @test
+ * @bug 7076310
+ * @summary Test AclEntry.Builder setFlags and setPermissions with empty sets
+ */
+
+import java.nio.file.attribute.*;
+import java.util.*;
+
+/*
+ * Test for bug 7076310 "(file) AclEntry.Builder setFlags throws
+ * IllegalArgumentException if set argument is empty"
+ * The bug is only applies when the given Set is NOT an instance of EnumSet.
+ *
+ * The setPermissions method also has the same problem.
+ */
+public class EmptySet {
+ public static void main(String[] args) {
+ Set<AclEntryFlag> flags = new HashSet<>();
+ AclEntry.newBuilder().setFlags(flags);
+
+ Set<AclEntryPermission> perms = new HashSet<>();
+ AclEntry.newBuilder().setPermissions(perms);
+ }
+}
diff --git a/jdk/test/java/rmi/registry/readTest/readTest.java b/jdk/test/java/rmi/registry/readTest/readTest.java
new file mode 100644
index 0000000..8942b0c
--- /dev/null
+++ b/jdk/test/java/rmi/registry/readTest/readTest.java
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+import java.rmi.registry.Registry;
+import java.rmi.registry.LocateRegistry;
+import java.rmi.RemoteException;
+import java.rmi.server.UnicastRemoteObject;
+
+public class readTest {
+
+ public static void main(String args[]) throws Exception {
+ int port = 7491;
+ try {
+ testPkg.Server obj = new testPkg.Server();
+ testPkg.Hello stub = (testPkg.Hello) UnicastRemoteObject.exportObject(obj, 0);
+ // Bind the remote object's stub in the registry
+ Registry registry = LocateRegistry.getRegistry(port);
+ registry.bind("Hello", stub);
+
+ System.err.println("Server ready");
+
+ // now, let's test client
+ testPkg.Client client = new testPkg.Client(port);
+ String testStubReturn = client.testStub();
+ if(!testStubReturn.equals(obj.hello)) {
+ throw new RuntimeException("Test Fails : unexpected string from stub call");
+ } else {
+ System.out.println("Test passed");
+ }
+ registry.unbind("Hello");
+
+ } catch (Exception e) {
+ System.err.println("Server exception: " + e.toString());
+ e.printStackTrace();
+ }
+
+ }
+}
diff --git a/jdk/test/java/rmi/registry/readTest/readTest.sh b/jdk/test/java/rmi/registry/readTest/readTest.sh
new file mode 100644
index 0000000..54be1d7
--- /dev/null
+++ b/jdk/test/java/rmi/registry/readTest/readTest.sh
@@ -0,0 +1,95 @@
+#
+# 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.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+# @test
+# @bug 7102369 7094468 7100592
+# @summary remove java.rmi.server.codebase property parsing from registyimpl
+# @run shell readTest.sh
+
+OS=`uname -s`
+case "$OS" in
+ SunOS | Linux )
+ PS=":"
+ FS="/"
+ FILEURL="file:"
+ ;;
+ Windows* | CYGWIN* )
+ PS=";"
+ FS="\\"
+ FILEURL="file:/"
+ ;;
+ * )
+ echo "Unrecognized system!"
+ exit 1;
+ ;;
+esac
+
+cp -r ${TESTSRC}${FS}* .
+${TESTJAVA}${FS}bin${FS}javac testPkg${FS}*java
+${TESTJAVA}${FS}bin${FS}javac readTest.java
+
+mkdir rmi_tmp
+RMIREG_OUT=rmi.out
+#start rmiregistry without any local classes on classpath
+cd rmi_tmp
+${TESTJAVA}${FS}bin${FS}rmiregistry 7491 > ..${FS}${RMIREG_OUT} 2>&1 &
+RMIREG_PID=$!
+# allow some time to start
+sleep 3
+cd ..
+
+# trailing / after code base is important for rmi codebase property.
+${TESTJAVA}${FS}bin${FS}java -Djava.rmi.server.codebase=${FILEURL}`pwd`/ readTest > OUT.TXT 2>&1 &
+TEST_PID=$!
+#bulk of testcase - let it run for a while
+sleep 5
+
+#we're done, kill processes first
+kill -9 ${RMIREG_PID} ${TEST_PID}
+sleep 3
+
+echo "Test output : "
+
+cat OUT.TXT
+echo "=============="
+echo "rmiregistry output : "
+cat ${RMIREG_OUT}
+echo "=============="
+
+grep "Server ready" OUT.TXT
+result1=$?
+grep "Test passed" OUT.TXT
+result2=$?
+
+if [ $result1 -eq 0 -a $result2 -eq 0 ]
+then
+ echo "Passed"
+ exitCode=0;
+else
+ echo "Failed"
+ exitCode=1
+fi
+rm -rf OUT.TXT ${RMIREG_OUT} rmi_tmp
+exit ${exitCode}
+
+
diff --git a/jdk/test/java/rmi/registry/readTest/testPkg/Client.java b/jdk/test/java/rmi/registry/readTest/testPkg/Client.java
new file mode 100644
index 0000000..c569ae4
--- /dev/null
+++ b/jdk/test/java/rmi/registry/readTest/testPkg/Client.java
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package testPkg;
+
+import java.rmi.registry.LocateRegistry;
+import java.rmi.registry.Registry;
+
+public class Client {
+ int port;
+
+ public Client(int p) {
+ port = p;
+ }
+
+ public String testStub() throws Exception {
+ try {
+ Registry registry = LocateRegistry.getRegistry(port);
+ Hello stub = (Hello) registry.lookup("Hello");
+ String response = stub.sayHello();
+ return response;
+ } catch (Exception e) {
+ System.err.println("Client exception: " + e.toString());
+ throw e;
+ }
+ }
+ }
+
diff --git a/jdk/test/java/rmi/registry/readTest/testPkg/Hello.java b/jdk/test/java/rmi/registry/readTest/testPkg/Hello.java
new file mode 100644
index 0000000..c2f38b1
--- /dev/null
+++ b/jdk/test/java/rmi/registry/readTest/testPkg/Hello.java
@@ -0,0 +1,31 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package testPkg;
+
+import java.rmi.Remote;
+import java.rmi.RemoteException;
+
+public interface Hello extends Remote {
+ String sayHello() throws RemoteException;
+}
diff --git a/jdk/test/java/rmi/registry/readTest/testPkg/Server.java b/jdk/test/java/rmi/registry/readTest/testPkg/Server.java
new file mode 100644
index 0000000..b76e978
--- /dev/null
+++ b/jdk/test/java/rmi/registry/readTest/testPkg/Server.java
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package testPkg;
+
+public class Server implements Hello {
+
+ public String hello = "Hello, world!";
+
+ public Server() {}
+
+ public String sayHello() {
+ return hello;
+ }
+
+}
diff --git a/jdk/test/java/security/Provider/DefaultPKCS11.java b/jdk/test/java/security/Provider/DefaultPKCS11.java
index 8bfd141..46b82dd 100644
--- a/jdk/test/java/security/Provider/DefaultPKCS11.java
+++ b/jdk/test/java/security/Provider/DefaultPKCS11.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -57,7 +57,10 @@ public class DefaultPKCS11 {
System.out.println("Test only applies to Solaris 10 and later, skipping");
return;
}
- if (ps[0].getName().equals("SunPKCS11-Solaris") == false) {
+ // SunPKCS11-Solaris provider should be either the first one or
+ // the second one
+ if (ps[0].getName().equals("SunPKCS11-Solaris") == false &&
+ ps[1].getName().equals("SunPKCS11-Solaris") == false) {
throw new Exception("SunPKCS11-Solaris provider not installed");
}
System.out.println("OK");
diff --git a/jdk/test/java/util/Collections/EmptyIterator.java b/jdk/test/java/util/Collections/EmptyIterator.java
index a2b2f41..902f034 100644
--- a/jdk/test/java/util/Collections/EmptyIterator.java
+++ b/jdk/test/java/util/Collections/EmptyIterator.java
@@ -35,8 +35,6 @@ public class EmptyIterator {
void test(String[] args) throws Throwable {
testEmptyCollection(Collections.<Object>emptyList());
testEmptyCollection(Collections.<Object>emptySet());
- testEmptyCollection(new java.util.concurrent.
- SynchronousQueue<Object>());
testEmptyMap(Collections.<Object, Object>emptyMap());
diff --git a/jdk/test/java/util/MissingFormatArgumentException/GetFormatSpecifier.java b/jdk/test/java/util/MissingFormatArgumentException/GetFormatSpecifier.java
new file mode 100644
index 0000000..24722cf
--- /dev/null
+++ b/jdk/test/java/util/MissingFormatArgumentException/GetFormatSpecifier.java
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 5063455
+ * @summary Unit test for MissingFormatArgumentException.getFormatSpecifier
+ * @author Brandon Passanisi
+ */
+import java.util.MissingFormatArgumentException;
+
+public class GetFormatSpecifier {
+
+ static void fail(String s) {
+ throw new RuntimeException(s);
+ }
+
+ public static void main(String[] args) {
+
+ // Use the format specifier below, which should throw a
+ // MissingFormatArgumentException. Then, use getFormatSpecifier()
+ // to make sure the returned value equals the original format string.
+ final String formatSpecifier = "%1$5.3s";
+ try {
+ String formatResult = String.format(formatSpecifier);
+ fail("MissingFormatArgumentException not thrown.");
+ } catch (MissingFormatArgumentException ex) {
+ final String returnedFormatSpecifier = ex.getFormatSpecifier();
+ if (!returnedFormatSpecifier.equals(formatSpecifier)) {
+ fail("The specified format specifier: " + formatSpecifier
+ + " does not match the value from getFormatSpecifier(): "
+ + returnedFormatSpecifier);
+ }
+ }
+ }
+}
diff --git a/jdk/test/java/util/Timer/Args.java b/jdk/test/java/util/Timer/Args.java
index ca3077d..ab8065c 100644
--- a/jdk/test/java/util/Timer/Args.java
+++ b/jdk/test/java/util/Timer/Args.java
@@ -92,19 +92,22 @@ public class Args {
new F(){void f(){ t.scheduleAtFixedRate(x, (Date)null, 42); }}
);
- final long start = System.currentTimeMillis();
- final Date past = new Date(start - 10500);
final CountDownLatch y1 = new CountDownLatch(1);
final CountDownLatch y2 = new CountDownLatch(1);
final CountDownLatch y3 = new CountDownLatch(11);
+ final long start = System.currentTimeMillis();
+ final Date past = new Date(start - 10500);
+
schedule( t, counter(y1), past);
schedule( t, counter(y2), past, 1000);
scheduleAtFixedRate(t, counter(y3), past, 1000);
y3.await();
y1.await();
y2.await();
- System.out.printf("elapsed=%d%n", System.currentTimeMillis() - start);
- check(System.currentTimeMillis() - start < 500);
+
+ final long elapsed = System.currentTimeMillis() - start;
+ System.out.printf("elapsed=%d%n", elapsed);
+ check(elapsed < 500);
t.cancel();
diff --git a/jdk/test/java/util/Timer/KillThread.java b/jdk/test/java/util/Timer/KillThread.java
index 386e569..dee5eee 100644
--- a/jdk/test/java/util/Timer/KillThread.java
+++ b/jdk/test/java/util/Timer/KillThread.java
@@ -31,21 +31,26 @@
import java.util.*;
public class KillThread {
+ static volatile Thread tdThread;
public static void main (String[] args) throws Exception {
Timer t = new Timer();
// Start a mean event that kills the timer thread
t.schedule(new TimerTask() {
public void run() {
+ tdThread = Thread.currentThread();
throw new ThreadDeath();
}
}, 0);
// Wait for mean event to do the deed and thread to die.
try {
- Thread.sleep(100);
+ do {
+ Thread.sleep(100);
+ } while(tdThread == null);
} catch(InterruptedException e) {
}
+ tdThread.join();
// Try to start another event
try {
diff --git a/jdk/test/java/util/regex/RegExTest.java b/jdk/test/java/util/regex/RegExTest.java
index 10644e4..159e9af 100644
--- a/jdk/test/java/util/regex/RegExTest.java
+++ b/jdk/test/java/util/regex/RegExTest.java
@@ -32,7 +32,7 @@
* 4872664 4803179 4892980 4900747 4945394 4938995 4979006 4994840 4997476
* 5013885 5003322 4988891 5098443 5110268 6173522 4829857 5027748 6376940
* 6358731 6178785 6284152 6231989 6497148 6486934 6233084 6504326 6635133
- * 6350801 6676425 6878475 6919132 6931676 6948903 7014645 7039066
+ * 6350801 6676425 6878475 6919132 6931676 6948903 6990617 7014645 7039066
*/
import java.util.regex.*;
@@ -50,6 +50,7 @@ public class RegExTest {
private static Random generator = new Random();
private static boolean failure = false;
private static int failCount = 0;
+ private static String firstFailure = null;
/**
* Main to interpret arguments and run several tests.
@@ -133,15 +134,19 @@ public class RegExTest {
hitEndTest();
toMatchResultTest();
surrogatesInClassTest();
+ removeQEQuotingTest();
namedGroupCaptureTest();
nonBmpClassComplementTest();
unicodePropertiesTest();
unicodeHexNotationTest();
unicodeClassesTest();
- if (failure)
- throw new RuntimeException("Failure in the RE handling.");
- else
+ if (failure) {
+ throw new
+ RuntimeException("RegExTest failed, 1st failure: " +
+ firstFailure);
+ } else {
System.err.println("OKAY: All tests passed.");
+ }
}
// Utility functions
@@ -215,8 +220,14 @@ public class RegExTest {
String paddedName = paddedNameBuffer.toString();
System.err.println(paddedName + ": " +
(failCount==0 ? "Passed":"Failed("+failCount+")"));
- if (failCount > 0)
+ if (failCount > 0) {
failure = true;
+
+ if (firstFailure == null) {
+ firstFailure = testName;
+ }
+ }
+
failCount = 0;
}
@@ -295,6 +306,22 @@ public class RegExTest {
Matcher matcher = pattern.matcher("\ud834\udd22");
if (!matcher.find())
failCount++;
+
+ report("Surrogate pair in Unicode escape");
+ }
+
+ // This is for bug6990617
+ // Test if Pattern.RemoveQEQuoting works correctly if the octal unicode
+ // char encoding is only 2 or 3 digits instead of 4 and the first quoted
+ // char is an octal digit.
+ private static void removeQEQuotingTest() throws Exception {
+ Pattern pattern =
+ Pattern.compile("\\011\\Q1sometext\\E\\011\\Q2sometext\\E");
+ Matcher matcher = pattern.matcher("\t1sometext\t2sometext");
+ if (!matcher.find())
+ failCount++;
+
+ report("Remove Q/E Quoting");
}
// This is for bug 4988891
diff --git a/jdk/test/java/util/zip/DeInflate.java b/jdk/test/java/util/zip/DeInflate.java
new file mode 100644
index 0000000..c3ca7ac
--- /dev/null
+++ b/jdk/test/java/util/zip/DeInflate.java
@@ -0,0 +1,96 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * @test
+ * @bug 7110149
+ * @summary Test basic deflater & inflater functionality
+ */
+
+import java.io.*;
+import java.util.*;
+import java.util.zip.*;
+
+public class DeInflate {
+
+ static void check(Deflater compresser, byte[] in, int len,
+ byte[] out1, byte[] out2, boolean nowrap)
+ throws Throwable
+ {
+ Arrays.fill(out1, (byte)0);
+ Arrays.fill(out2, (byte)0);
+
+ compresser.setInput(in, 0, len);
+ compresser.finish();
+ int m = compresser.deflate(out1);
+
+ Inflater decompresser = new Inflater(nowrap);
+ decompresser.setInput(out1, 0, m);
+ int n = decompresser.inflate(out2);
+
+ if (n != len ||
+ !Arrays.equals(Arrays.copyOf(in, len), Arrays.copyOf(out2, len)) ||
+ decompresser.inflate(out2) != 0) {
+ System.out.printf("m=%d, n=%d, len=%d, eq=%b%n",
+ m, n, len, Arrays.equals(in, out2));
+ throw new RuntimeException("De/inflater failed:" + compresser);
+ }
+ }
+
+ public static void main(String[] args) throws Throwable {
+ byte[] dataIn = new byte[1024 * 512];
+ new Random().nextBytes(dataIn);
+ byte[] dataOut1 = new byte[dataIn.length + 1024];
+ byte[] dataOut2 = new byte[dataIn.length];
+ boolean wrap[] = new boolean[] { false, true };
+
+ for (int level = Deflater.DEFAULT_COMPRESSION;
+ level <= Deflater.BEST_COMPRESSION; level++) {
+ System.out.print("level=" + level + ", strategy= ");
+ for (int strategy = Deflater.DEFAULT_STRATEGY;
+ strategy <= Deflater.HUFFMAN_ONLY; strategy++) {
+ System.out.print(" " + strategy + " nowrap[");
+ for (int dowrap = 0; dowrap <= 1; dowrap++) {
+ System.out.print(" " + wrap[dowrap]);
+ for (int i = 0; i < 5; i++) {
+ Deflater def = new Deflater(level, wrap[dowrap]);
+ if (strategy != Deflater.DEFAULT_STRATEGY) {
+ def.setStrategy(strategy);
+ // The first invocation after setLevel/Strategy()
+ // with a different level/stragety returns 0, if
+ // there is no need to flush out anything for the
+ // previous setting/"data", this is tricky and
+ // appears un-documented.
+ def.deflate(dataOut2);
+ }
+ int len = (i == 0)? dataIn.length
+ : new Random().nextInt(dataIn.length);
+ check(def, dataIn, len, dataOut1, dataOut2, wrap[dowrap]);
+ }
+ }
+ System.out.print("] ");
+ }
+ System.out.println();
+ }
+ }
+}
diff --git a/jdk/test/java/util/zip/TimeChecksum.java b/jdk/test/java/util/zip/TimeChecksum.java
new file mode 100644
index 0000000..cc81f1e
--- /dev/null
+++ b/jdk/test/java/util/zip/TimeChecksum.java
@@ -0,0 +1,205 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/* @test
+ * @bug 7109837
+ * @summary Test Adler32/CRC32.update(ByteBuffer)
+ */
+
+import java.util.*;
+import java.util.zip.*;
+import java.nio.*;
+
+public class TimeChecksum {
+
+ static long time(Adler32 adler32, byte[] data, int iters, int len) {
+ long start_t = System.nanoTime();
+ for (int i = 0; i < iters; i++) {
+ adler32.reset();
+ adler32.update(data, 0, len);
+ }
+ long t = System.nanoTime() - start_t;
+ System.out.printf("%,12d", t / len);
+ return t;
+ }
+
+ static long time(Adler32 adler32, ByteBuffer buf, int iters) {
+ long start_t = System.nanoTime();
+ for (int i = 0; i < iters; i++) {
+ adler32.reset();
+ buf.mark();
+ adler32.update(buf);
+ buf.reset();
+ }
+ long t = System.nanoTime() - start_t;
+ System.out.printf("%,12d", t / buf.remaining());
+ return t;
+ }
+
+ static void testPosLimit(Adler32 adler32, ByteBuffer buf) {
+ int pos = buf.position();
+ int limit = buf.limit();
+ adler32.update(buf);
+ if (limit != buf.position() || limit != buf.limit()) {
+ System.out.printf("%nFAILED: pos,limit=(%d, %d), expected (%d, %d)%n",
+ buf.position(), buf.limit(), limit, limit);
+ throw new RuntimeException();
+ }
+ buf.position(pos);
+ }
+
+ static long time(CRC32 crc32, byte[] data, int iters, int len) {
+ long start_t = System.nanoTime();
+ for (int i = 0; i < iters; i++) {
+ crc32.reset();
+ crc32.update(data, 0, len);
+ }
+ long t = System.nanoTime() - start_t;
+ System.out.printf("%,12d", t / len);
+ return t;
+ }
+
+ static long time(CRC32 crc32, ByteBuffer buf, int iters) {
+ long start_t = System.nanoTime();
+ for (int i = 0; i < iters; i++) {
+ crc32.reset();
+ buf.mark();
+ crc32.update(buf);
+ buf.reset();
+ }
+ long t = System.nanoTime() - start_t;
+ System.out.printf("%,12d", t / buf.remaining());
+ return t;
+ }
+
+ static void testPosLimit(CRC32 crc32, ByteBuffer buf) {
+ int pos = buf.position();
+ int limit = buf.limit();
+ crc32.update(buf);
+ if (limit != buf.position() || limit != buf.limit()) {
+ System.out.printf("%nFAILED: pos,limit=(%d, %d), expected (%d, %d)%n",
+ buf.position(), buf.limit(), limit, limit);
+ throw new RuntimeException();
+ }
+ buf.position(pos);
+ }
+
+ public static void main(String[] args) {
+ int len = 1024 * 32;
+ int iters = 1;
+ if (args.length != 0 && "-benchmark".equals(args[0]))
+ iters = 100000;
+ Adler32 adler32 = new Adler32();
+ CRC32 crc32 = new CRC32();
+ Random rdm = new Random();
+ byte[] data = new byte[len];
+ new Random().nextBytes(data);
+ ByteBuffer buf;
+
+ System.out.println("---------- Adler32 ----------");
+ System.out.print("Warmup...");
+ time(adler32, data, iters, len);
+ time(adler32, ByteBuffer.wrap(data), iters);
+ buf = ByteBuffer.allocateDirect(len);
+ buf.put(data, 0, len);
+ buf.flip();
+ time(adler32, buf, iters);
+ System.out.println("\n");
+
+ System.out.println("Length byte[](ns/len) ByteBuffer(direct) ByteBuffer");
+ for (int testlen = 1; testlen < data.length; testlen <<= 1) {
+ System.out.print(testlen + "\t");
+ long baT = time(adler32, data, iters, testlen);
+ long baV = adler32.getValue();
+ System.out.print("\t");
+
+ buf = ByteBuffer.allocateDirect(testlen);
+ buf.put(data, 0, testlen);
+ buf.flip();
+ long bbdT = time(adler32, buf, iters);
+ long bbdV = adler32.getValue();
+ if (baV != bbdV) {
+ System.out.printf("%nFAILED: baV=%x,bbdV=%x%n", baV, bbdV);
+ throw new RuntimeException();
+ }
+ System.out.printf(" (%.2f)", (float)bbdT/baT);
+ testPosLimit(adler32, buf);
+
+ buf = ByteBuffer.allocate(testlen);
+ buf.put(data, 0, testlen);
+ buf.flip();
+ long bbT = time(adler32, buf, iters);
+ long bbV = adler32.getValue();
+ if (baV != bbV) {
+ System.out.printf("%nFAILED: baV=%x,bbV=%x%n", baV, bbV);
+ throw new RuntimeException();
+ }
+ testPosLimit(adler32, buf);
+ System.out.printf(" (%.2f) checksum=%x%n", (float)bbT/baT, bbV);
+ }
+
+ System.out.println("\n---------- CRC32 ----------");
+ System.out.print("Warmup...");
+ time(crc32, data, iters, len);
+ time(crc32, ByteBuffer.wrap(data), iters);
+ buf = ByteBuffer.allocateDirect(len);
+ buf.put(data, 0, len);
+ buf.flip();
+ time(crc32, buf, iters);
+ System.out.println("\n");
+
+
+ System.out.println("Length byte[](ns/len) ByteBuffer(direct) ByteBuffer");
+ for (int testlen = 1; testlen < data.length; testlen <<= 1) {
+ System.out.print(testlen + "\t");
+ long baT = time(crc32, data, iters, testlen);
+ long baV = crc32.getValue();
+ System.out.print("\t");
+
+ buf = ByteBuffer.allocateDirect(testlen);
+ buf.put(data, 0, testlen);
+ buf.flip();
+ long bbdT = time(crc32, buf, iters);
+ long bbdV = crc32.getValue();
+ if (baV != bbdV) {
+ System.out.printf("%nFAILED: baV=%x,bbdV=%x%n", baV, bbdV);
+ throw new RuntimeException();
+ }
+ System.out.printf(" (%.2f)", (float)bbdT/baT);
+ testPosLimit(crc32, buf);
+
+ buf = ByteBuffer.allocate(testlen);
+ buf.put(data, 0, testlen);
+ buf.flip();
+ long bbT = time(crc32, buf, iters);
+ long bbV = crc32.getValue();
+ if (baV != bbV) {
+ System.out.printf("%nFAILED: baV=%x,bbV=%x%n", baV, bbV);
+ throw new RuntimeException();
+ }
+ testPosLimit(crc32, buf);
+ System.out.printf(" (%.2f) checksum=%x%n", (float)bbT / baT, bbV);
+ }
+ }
+}
diff --git a/jdk/test/java/util/zip/ZipFile/ClearStaleZipFileInputStreams.java b/jdk/test/java/util/zip/ZipFile/ClearStaleZipFileInputStreams.java
index 4c05fa5..d1be7dc 100644
--- a/jdk/test/java/util/zip/ZipFile/ClearStaleZipFileInputStreams.java
+++ b/jdk/test/java/util/zip/ZipFile/ClearStaleZipFileInputStreams.java
@@ -63,11 +63,9 @@ public class ClearStaleZipFileInputStreams {
File.createTempFile("test-data" + compression, ".zip");
tempZipFile.deleteOnExit();
- ZipOutputStream zos =
- new ZipOutputStream(new FileOutputStream(tempZipFile));
- zos.setLevel(compression);
-
- try {
+ try (FileOutputStream fos = new FileOutputStream(tempZipFile);
+ ZipOutputStream zos = new ZipOutputStream(fos)) {
+ zos.setLevel(compression);
for (int i = 0; i < ZIP_ENTRY_NUM; i++) {
String text = "Entry" + i;
ZipEntry entry = new ZipEntry(text);
@@ -78,33 +76,47 @@ public class ClearStaleZipFileInputStreams {
zos.closeEntry();
}
}
- } finally {
- zos.close();
}
return tempZipFile;
}
- private static void startGcInducingThread(final int sleepMillis) {
- final Thread gcInducingThread = new Thread() {
- public void run() {
- while (true) {
- System.gc();
- try {
- Thread.sleep(sleepMillis);
- } catch (InterruptedException e) { }
+ private static final class GcInducingThread extends Thread {
+ private final int sleepMillis;
+ private boolean keepRunning = true;
+
+ public GcInducingThread(final int sleepMillis) {
+ this.sleepMillis = sleepMillis;
+ }
+
+ public synchronized void run() {
+ while (keepRunning) {
+ System.gc();
+ try {
+ wait(sleepMillis);
+ } catch (InterruptedException e) {
+ System.out.println("GCing thread unexpectedly interrupted");
+ return;
}
}
- };
+ }
- gcInducingThread.setDaemon(true);
- gcInducingThread.start();
+ public synchronized void shutDown() {
+ keepRunning = false;
+ notifyAll();
+ }
}
public static void main(String[] args) throws Exception {
- startGcInducingThread(500);
- runTest(ZipOutputStream.DEFLATED);
- runTest(ZipOutputStream.STORED);
+ GcInducingThread gcThread = new GcInducingThread(500);
+ gcThread.start();
+ try {
+ runTest(ZipOutputStream.DEFLATED);
+ runTest(ZipOutputStream.STORED);
+ } finally {
+ gcThread.shutDown();
+ gcThread.join();
+ }
}
private static void runTest(int compression) throws Exception {
@@ -113,21 +125,16 @@ public class ClearStaleZipFileInputStreams {
System.out.println("Testing with a zip file with compression level = "
+ compression);
File f = createTestFile(compression);
- try {
- ZipFile zf = new ZipFile(f);
- try {
- Set<Object> refSet = createTransientInputStreams(zf, rq);
-
- System.out.println("Waiting for 'stale' input streams from ZipFile to be GC'd ...");
- System.out.println("(The test will hang on failure)");
- while (false == refSet.isEmpty()) {
- refSet.remove(rq.remove());
- }
- System.out.println("Test PASSED.");
- System.out.println();
- } finally {
- zf.close();
+ try (ZipFile zf = new ZipFile(f)) {
+ Set<Object> refSet = createTransientInputStreams(zf, rq);
+
+ System.out.println("Waiting for 'stale' input streams from ZipFile to be GC'd ...");
+ System.out.println("(The test will hang on failure)");
+ while (false == refSet.isEmpty()) {
+ refSet.remove(rq.remove());
}
+ System.out.println("Test PASSED.");
+ System.out.println();
} finally {
f.delete();
}
diff --git a/jdk/test/javax/crypto/Cipher/GetMaxAllowed.java b/jdk/test/javax/crypto/Cipher/GetMaxAllowed.java
index 3c14f86..7ef6f43 100644
--- a/jdk/test/javax/crypto/Cipher/GetMaxAllowed.java
+++ b/jdk/test/javax/crypto/Cipher/GetMaxAllowed.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -23,7 +23,7 @@
/**
* @test
- * @bug 4807942
+ * @bug 4807942 7033170
* @summary Test the Cipher.getMaxAllowedKeyLength(String) and
* getMaxAllowedParameterSpec(String) methods
* @author Valerie Peng
@@ -40,7 +40,7 @@ import javax.crypto.spec.*;
public class GetMaxAllowed {
- private static void runTest(boolean isUnlimited) throws Exception {
+ private static void runTest1(boolean isUnlimited) throws Exception {
System.out.println("Testing " + (isUnlimited? "un":"") +
"limited policy...");
@@ -78,6 +78,20 @@ public class GetMaxAllowed {
System.out.println("All tests passed");
}
+ private static void runTest2() throws Exception {
+ System.out.println("Testing against Security.getAlgorithms()");
+
+ Set<String> algorithms = Security.getAlgorithms("Cipher");
+
+ for (String algorithm: algorithms) {
+ int keylength = -1;
+
+ // if 7033170 is not fixed, NoSuchAlgorithmException is thrown
+ keylength = Cipher.getMaxAllowedKeyLength(algorithm);
+
+ }
+ }
+
public static void main(String[] args) throws Exception {
// decide if the installed jurisdiction policy file is the
// unlimited version
@@ -88,6 +102,9 @@ public class GetMaxAllowed {
} catch (InvalidKeyException ike) {
isUnlimited = false;
}
- runTest(isUnlimited);
+ runTest1(isUnlimited);
+
+ // test using the set of algorithms returned by Security.getAlgorithms()
+ runTest2();
}
}
diff --git a/jdk/test/javax/security/auth/x500/X500Principal/NameFormat.java b/jdk/test/javax/security/auth/x500/X500Principal/NameFormat.java
new file mode 100644
index 0000000..6d08a8f
--- /dev/null
+++ b/jdk/test/javax/security/auth/x500/X500Principal/NameFormat.java
@@ -0,0 +1,213 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 4505980 5109882 7049963 7090565
+ * @summary X500Principal input name parsing issues and wrong exception thrown
+ * @run main/othervm -Djava.security.debug=x509,ava NameFormat
+ *
+ * The debug=ava above must be set in order to check for escaped hex chars.
+ */
+import javax.security.auth.x500.X500Principal;
+
+public class NameFormat {
+
+ public static void main(String[] args) throws Exception {
+
+ // tests for leading/trailing escaped/non-escaped spaces
+
+ testName("cn=\\ duke ", "RFC1779", "CN=\" duke\"", 1);
+ testName("cn=\\ duke ", "RFC2253", "CN=\\ duke", 2);
+ testName("cn=\\ duke ", "CANONICAL", "cn=duke", 3);
+ testName("cn=\\ duke ", "toString", "CN=\" duke\"", 4);
+
+ testName("cn= duke", "RFC1779", "CN=duke", 5);
+ testName("cn= duke", "RFC2253", "CN=duke", 6);
+ testName("cn= duke", "CANONICAL", "cn=duke", 7);
+ testName("cn= duke", "toString", "CN=duke", 8);
+
+ testName("cn=duke\\ ", "RFC1779", "CN=\"duke \"", 9);
+ testName("cn=duke\\ ", "RFC2253", "CN=duke\\ ", 10);
+ testName("cn=duke\\ ", "CANONICAL", "cn=duke", 11);
+ testName("cn=duke\\ ", "toString", "CN=\"duke \"", 12);
+
+ testName("cn=duke\\ , ou= sun\\ ", "RFC1779",
+ "CN=\"duke \", OU=\"sun \"", 13);
+ testName("cn=duke\\ , ou= sun\\ ", "RFC2253",
+ "CN=duke\\ ,OU=sun\\ ", 14);
+ testName("cn=duke\\ , ou= sun\\ ", "CANONICAL",
+ "cn=duke,ou=sun", 15);
+ testName("cn=duke\\ , ou= sun\\ ", "toString",
+ "CN=\"duke \", OU=\"sun \"", 16);
+
+ // tests for trailing escaped backslash
+
+ testName("cn=duke \\\\\\,test,O=java", "CANONICAL",
+ "cn=duke \\\\\\,test,o=java", 17);
+
+ testName("cn=duke\\\\, o=java", "CANONICAL",
+ "cn=duke\\\\,o=java", 18);
+
+ X500Principal p = new X500Principal("cn=duke \\\\\\,test,o=java");
+ X500Principal p2 = new X500Principal(p.getName("CANONICAL"));
+ if (p.getName("CANONICAL").equals(p2.getName("CANONICAL"))) {
+ System.out.println("test 19 succeeded");
+ } else {
+ throw new SecurityException("test 19 failed\n" +
+ p.getName("CANONICAL") + " not equal to " +
+ p2.getName("CANONICAL"));
+ }
+
+ try {
+ p = new X500Principal("cn=duke \\\\,test,o=java");
+ throw new SecurityException("test 19.5 failed:\n" +
+ p.getName("CANONICAL"));
+ } catch (IllegalArgumentException iae) {
+ System.out.println("test 19.5 succeeded");
+ iae.printStackTrace();
+ }
+
+ // tests for wrong exception thrown
+ try {
+ byte[] encoding = {
+ (byte)0x17, (byte)0x80, (byte)0x70, (byte)0x41,
+ (byte)0x6b, (byte)0x15, (byte)0xdc, (byte)0x84,
+ (byte)0xef, (byte)0x58, (byte)0xac, (byte)0x88,
+ (byte)0xae, (byte)0xb0, (byte)0x19, (byte)0x7c,
+ (byte)0x6f, (byte)0xea, (byte)0xf5, (byte)0x56,
+ };
+ p = new X500Principal(new java.io.DataInputStream
+ (new java.io.ByteArrayInputStream(encoding)));
+ } catch (IllegalArgumentException iae) {
+ System.out.println("test 20 succeeded");
+ iae.printStackTrace();
+ } catch (Exception e) {
+ System.out.println("test 20 failed");
+ throw e;
+ }
+
+ // tests for escaping '+' in canonical form
+
+ testName("cn=se\\+an, ou= sun\\ ", "CANONICAL",
+ "cn=se\\+an,ou=sun", 21);
+
+ // tests for embedded hex pairs
+
+ testName("CN=Before\\0dAfter,DC=example,DC=net", "toString",
+ "CN=Before\\0DAfter, DC=example, DC=net", 22);
+ testName("CN=Before\\0dAfter,DC=example,DC=net", "RFC1779",
+ "CN=Before\\0DAfter, " +
+ "OID.0.9.2342.19200300.100.1.25=example, " +
+ "OID.0.9.2342.19200300.100.1.25=net", 23);
+ testName("CN=Before\\0dAfter,DC=example,DC=net", "RFC2253",
+ "CN=Before\\0DAfter,DC=example,DC=net", 24);
+ testName("CN=Before\\0dAfter,DC=example,DC=net", "CANONICAL",
+ "cn=before\\0dafter,dc=#16076578616d706c65,dc=#16036e6574", 25);
+
+ testName("CN=Lu\\C4\\8Di\\C4\\87", "toString",
+ "CN=Lu\\C4\\8Di\\C4\\87", 26);
+ testName("CN=Lu\\C4\\8Di\\C4\\87", "RFC1779",
+ "CN=Lu\\C4\\8Di\\C4\\87", 27);
+ testName("CN=Lu\\C4\\8Di\\C4\\87", "RFC2253",
+ "CN=Lu\\C4\\8Di\\C4\\87", 28);
+ testName("CN=Lu\\C4\\8Di\\C4\\87", "CANONICAL",
+ "cn=lu\\c4\\8di\\c4\\87", 29);
+
+ try {
+ p = new X500Principal("cn=\\gg");
+ throw new SecurityException("test 30 failed");
+ } catch (IllegalArgumentException iae) {
+ System.out.println("test 30 succeeded");
+ }
+
+ // tests for invalid escaped chars
+
+ try {
+ p = new X500Principal("cn=duke \\test");
+ throw new SecurityException("test 31 failed");
+ } catch (IllegalArgumentException iae) {
+ System.out.println("test 31 succeeded");
+ }
+
+ try {
+ p = new X500Principal("cn=duke \\?test");
+ throw new SecurityException("test 32 failed");
+ } catch (IllegalArgumentException iae) {
+ System.out.println("test 32 succeeded");
+ }
+
+ // tests for X500Name using RFC2253 as format
+
+ try {
+ // invalid non-escaped leading space
+ sun.security.x509.X500Name name =
+ new sun.security.x509.X500Name("cn= duke test", "RFC2253");
+ throw new SecurityException("test 33 failed");
+ } catch (java.io.IOException ioe) {
+ ioe.printStackTrace();
+ System.out.println("test 33 succeeded");
+ }
+
+ try {
+ // invalid non-escaped trailing space
+ sun.security.x509.X500Name name =
+ new sun.security.x509.X500Name("cn=duke test ", "RFC2253");
+ throw new SecurityException("test 34 failed");
+ } catch (java.io.IOException ioe) {
+ System.out.println("test 34 succeeded");
+ }
+
+ testName("CN=SPECIAL CHARS,OU=\\#\\\"\\,\\<\\>\\+\\;,O=foo, " +
+ "L=bar, ST=baz, C=JP", "RFC1779",
+ "CN=SPECIAL CHARS, OU=\"#\\\",<>+;\", O=foo, L=bar, " +
+ "ST=baz, C=JP", 35);
+
+ // test that double-quoted string is not escaped in RFC 1779 format
+ testName("CN=\"\\\"Duke\\\"\"", "RFC1779", "CN=\"Duke\"", 36);
+ }
+
+ public static void testName(String in, String outFormat,
+ String expect, int n)
+ throws Exception {
+
+ X500Principal p = new X500Principal(in);
+ if (outFormat.equalsIgnoreCase("toString")) {
+ if (p.toString().equals(expect)) {
+ System.out.println("test " + n + " succeeded");
+ } else {
+ throw new SecurityException("test " + n + " failed:\n" +
+ "expected '" + expect + "'\n" +
+ "got '" + p.toString() + "'");
+ }
+ } else {
+ if (p.getName(outFormat).equals(expect)) {
+ System.out.println("test " + n + " succeeded");
+ } else {
+ throw new SecurityException("test " + n + " failed:\n" +
+ "expected '" + expect + "'\n" +
+ "got '" + p.getName(outFormat) + "'");
+ }
+ }
+ }
+}
diff --git a/jdk/test/javax/swing/JScrollBar/4708809/bug4708809.java b/jdk/test/javax/swing/JScrollBar/4708809/bug4708809.java
new file mode 100644
index 0000000..d8d34ec
--- /dev/null
+++ b/jdk/test/javax/swing/JScrollBar/4708809/bug4708809.java
@@ -0,0 +1,134 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 4708809
+ * @summary JScrollBar functionality slightly different from native scrollbar
+ * @author Andrey Pikalev
+ * @run main bug4708809
+ */
+import javax.swing.*;
+import java.awt.*;
+import java.awt.Point;
+import java.awt.event.*;
+import sun.awt.SunToolkit;
+
+public class bug4708809 {
+
+ private static volatile boolean do_test = false;
+ private static volatile boolean passed = true;
+ private static JScrollPane spane;
+ private static JScrollBar sbar;
+
+ public static void main(String[] args) throws Exception {
+ SunToolkit toolkit = (SunToolkit) Toolkit.getDefaultToolkit();
+ Robot robot = new Robot();
+ robot.setAutoDelay(350);
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ public void run() {
+ createAndShowGUI();
+ }
+ });
+
+ toolkit.realSync();
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ public void run() {
+ spane.requestFocus();
+ sbar.setValue(sbar.getMaximum());
+ }
+ });
+
+ toolkit.realSync();
+
+ Point point = getClickPoint(0.5, 0.5);
+ robot.mouseMove(point.x, point.y);
+ robot.mousePress(InputEvent.BUTTON1_MASK);
+
+ toolkit.realSync();
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ public void run() {
+ final int oldValue = sbar.getValue();
+ sbar.addAdjustmentListener(new AdjustmentListener() {
+
+ public void adjustmentValueChanged(AdjustmentEvent e) {
+ if (e.getValue() >= oldValue) {
+ passed = false;
+ }
+ do_test = true;
+ }
+ });
+
+ }
+ });
+
+ toolkit.realSync();
+
+ point = getClickPoint(0.5, 0.2);
+ robot.mouseMove(point.x, point.y);
+ robot.mouseRelease(InputEvent.BUTTON1_MASK);
+ toolkit.realSync();
+
+ if (!do_test || !passed) {
+ throw new Exception("The scrollbar moved with incorrect direction");
+ }
+
+ }
+
+ private static Point getClickPoint(final double scaleX, final double scaleY) throws Exception {
+ final Point[] result = new Point[1];
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ Point p = sbar.getLocationOnScreen();
+ Rectangle rect = sbar.getBounds();
+ result[0] = new Point((int) (p.x + scaleX * rect.width),
+ (int) (p.y + scaleY * rect.height));
+ }
+ });
+
+ return result[0];
+
+ }
+
+ private static void createAndShowGUI() {
+ JFrame fr = new JFrame("Test");
+
+ JLabel label = new JLabel("picture");
+ label.setPreferredSize(new Dimension(500, 500));
+ spane = new JScrollPane(label);
+ fr.getContentPane().add(spane);
+ sbar = spane.getVerticalScrollBar();
+
+ fr.setSize(200, 200);
+ fr.setVisible(true);
+ }
+}
\ No newline at end of file
diff --git a/jdk/test/javax/swing/JScrollBar/4865918/bug4865918.java b/jdk/test/javax/swing/JScrollBar/4865918/bug4865918.java
new file mode 100644
index 0000000..8a1a804
--- /dev/null
+++ b/jdk/test/javax/swing/JScrollBar/4865918/bug4865918.java
@@ -0,0 +1,116 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 4865918
+ * @summary REGRESSION:JCK1.4a-runtime api/javax_swing/interactive/JScrollBarTests.html#JScrollBar
+ * @author Andrey Pikalev
+ * @run main bug4865918
+ */
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import sun.awt.SunToolkit;
+
+public class bug4865918 {
+
+ private static TestScrollBar sbar;
+
+ public static void main(String[] argv) throws Exception {
+ SunToolkit toolkit = (SunToolkit) Toolkit.getDefaultToolkit();
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ public void run() {
+ createAndShowGUI();
+ }
+ });
+
+ toolkit.realSync();
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ sbar.pressMouse();
+ }
+ });
+
+ toolkit.realSync();
+
+ int value = getValue();
+
+ if (value != 9) {
+ throw new Error("The scrollbar block increment is incorect");
+ }
+ }
+
+ private static int getValue() throws Exception {
+ final int[] result = new int[1];
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+ @Override
+ public void run() {
+ result[0] = sbar.getValue();
+ }
+ });
+
+ return result[0];
+ }
+
+ private static void createAndShowGUI() {
+ JFrame frame = new JFrame("bug4865918");
+ frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+
+ sbar = new TestScrollBar(JScrollBar.HORIZONTAL, -1, 10, -100, 100);
+ sbar.setPreferredSize(new Dimension(200, 20));
+ sbar.setBlockIncrement(10);
+
+ frame.getContentPane().add(sbar);
+ frame.pack();
+ frame.setVisible(true);
+
+ }
+
+ static class TestScrollBar extends JScrollBar {
+
+ public TestScrollBar(int orientation, int value, int extent,
+ int min, int max) {
+ super(orientation, value, extent, min, max);
+
+ }
+
+ public void pressMouse() {
+ MouseEvent me = new MouseEvent(sbar,
+ MouseEvent.MOUSE_PRESSED,
+ (new Date()).getTime(),
+ MouseEvent.BUTTON1_MASK,
+ 3 * getWidth() / 4, getHeight() / 2,
+ 1, true);
+ processMouseEvent(me);
+ }
+ }
+}
diff --git a/jdk/test/javax/swing/JSplitPane/4885629/bug4885629.java b/jdk/test/javax/swing/JSplitPane/4885629/bug4885629.java
new file mode 100644
index 0000000..e475aec
--- /dev/null
+++ b/jdk/test/javax/swing/JSplitPane/4885629/bug4885629.java
@@ -0,0 +1,115 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 4885629
+ * @summary With JSplitPane in VERTICAL_SPLIT, SplitPaneBorder draws bottom edge of divider
+ * @author Andrey Pikalev
+ */
+
+import sun.awt.SunToolkit;
+
+import javax.swing.*;
+import javax.swing.border.Border;
+import javax.swing.border.EmptyBorder;
+import javax.swing.plaf.basic.BasicBorders;
+import javax.swing.plaf.basic.BasicLookAndFeel;
+import javax.swing.plaf.basic.BasicSplitPaneUI;
+import java.awt.*;
+
+
+public class bug4885629 {
+
+ private static final Color darkShadow = new Color(100,120,200);
+ private static final Color darkHighlight = new Color(200,120,50);
+ private static final Color lightHighlight = darkHighlight.brighter();
+ private static final Color BGCOLOR = Color.blue;
+
+ private static JSplitPane sp;
+
+ public static void main(String[] args) throws Exception {
+ UIManager.setLookAndFeel(new BasicLookAndFeel() {
+ public boolean isSupportedLookAndFeel(){ return true; }
+ public boolean isNativeLookAndFeel(){ return false; }
+ public String getDescription() { return "Foo"; }
+ public String getID() { return "FooID"; }
+ public String getName() { return "FooName"; }
+ });
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+ public void run() {
+ JFrame frame = new JFrame();
+
+ JComponent a = new JPanel();
+ a.setBackground(Color.white);
+ a.setMinimumSize(new Dimension(10, 10));
+
+ JComponent b = new JPanel();
+ b.setBackground(Color.white);
+ b.setMinimumSize(new Dimension(10, 10));
+
+ sp = new JSplitPane(JSplitPane.VERTICAL_SPLIT, a, b);
+ sp.setPreferredSize(new Dimension(20, 20));
+ sp.setBackground(BGCOLOR);
+
+ Border bo = new BasicBorders.SplitPaneBorder(lightHighlight,
+ Color.red);
+ Border ibo = new EmptyBorder(0, 0, 0, 0);
+ sp.setBorder(bo);
+ sp.setMinimumSize(new Dimension(200, 200));
+
+ ((BasicSplitPaneUI) sp.getUI()).getDivider().setBorder(ibo);
+
+ frame.getContentPane().setLayout(new FlowLayout());
+ frame.getContentPane().setBackground(darkShadow);
+ frame.getContentPane().add(sp);
+
+ frame.setSize(200, 200);
+ frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ frame.setVisible(true);
+ }
+ });
+
+ ((SunToolkit) SunToolkit.getDefaultToolkit()).realSync();
+
+ final Robot robot = new Robot();
+ robot.delay(1000);
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+ public void run() {
+ Rectangle rect = ((BasicSplitPaneUI) sp.getUI()).getDivider().getBounds();
+
+ Point p = rect.getLocation();
+
+ SwingUtilities.convertPointToScreen(p, sp);
+
+ for (int i = 0; i < rect.width; i++) {
+ if (!BGCOLOR.equals(robot.getPixelColor(p.x + i, p.y + rect.height - 1))) {
+ throw new Error("The divider's area has incorrect color.");
+ }
+ }
+ }
+ });
+ }
+}
diff --git a/jdk/test/javax/swing/JTabbedPane/4624207/bug4624207.java b/jdk/test/javax/swing/JTabbedPane/4624207/bug4624207.java
new file mode 100644
index 0000000..45ca603
--- /dev/null
+++ b/jdk/test/javax/swing/JTabbedPane/4624207/bug4624207.java
@@ -0,0 +1,131 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 4624207
+ * @summary JTabbedPane mnemonics don't work from outside the tabbed pane
+ * @author Oleg Mokhovikov
+ * @library ../../regtesthelpers
+ * @build Util
+ * @run main bug4624207
+ */
+import javax.swing.*;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+import java.awt.*;
+import java.awt.event.FocusEvent;
+import java.awt.event.FocusListener;
+import java.awt.event.KeyEvent;
+import sun.awt.SunToolkit;
+
+public class bug4624207 implements ChangeListener, FocusListener {
+
+ private static volatile boolean stateChanged = false;
+ private static volatile boolean focusGained = false;
+ private static JTextField txtField;
+ private static JTabbedPane tab;
+ private static Object listener;
+
+ public void stateChanged(ChangeEvent e) {
+ System.out.println("stateChanged called");
+ stateChanged = true;
+ }
+
+ public void focusGained(FocusEvent e) {
+ System.out.println("focusGained called");
+ focusGained = true;
+ }
+
+ public void focusLost(FocusEvent e) {
+ System.out.println("focusLost called");
+ focusGained = false;
+ }
+
+ public static void main(String[] args) throws Exception {
+ SunToolkit toolkit = (SunToolkit) Toolkit.getDefaultToolkit();
+ Robot robot = new Robot();
+ robot.setAutoDelay(50);
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ public void run() {
+ createAndShowGUI();
+ }
+ });
+
+ toolkit.realSync();
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ public void run() {
+ txtField.requestFocus();
+ }
+ });
+
+ toolkit.realSync();
+
+ if (!focusGained) {
+ throw new RuntimeException("Couldn't gain focus for text field");
+ }
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ public void run() {
+ tab.addChangeListener((ChangeListener) listener);
+ txtField.removeFocusListener((FocusListener) listener);
+ }
+ });
+
+ toolkit.realSync();
+
+ if ("Aqua".equals(UIManager.getLookAndFeel().getID())) {
+ Util.hitKeys(robot, KeyEvent.VK_CONTROL, KeyEvent.VK_ALT, KeyEvent.VK_B);
+ } else {
+ Util.hitKeys(robot, KeyEvent.VK_ALT, KeyEvent.VK_B);
+ }
+
+ toolkit.realSync();
+
+ if (!stateChanged || tab.getSelectedIndex() != 1) {
+ throw new RuntimeException("JTabbedPane mnemonics don't work from outside the tabbed pane");
+ }
+ }
+
+ private static void createAndShowGUI() {
+ tab = new JTabbedPane();
+ tab.add("Tab1", new JButton("Button1"));
+ tab.add("Tab2", new JButton("Button2"));
+ tab.setMnemonicAt(0, KeyEvent.VK_T);
+ tab.setMnemonicAt(1, KeyEvent.VK_B);
+
+ JFrame frame = new JFrame();
+ frame.getContentPane().add(tab, BorderLayout.CENTER);
+ txtField = new JTextField();
+ frame.getContentPane().add(txtField, BorderLayout.NORTH);
+ listener = new bug4624207();
+ txtField.addFocusListener((FocusListener) listener);
+ frame.pack();
+ frame.setVisible(true);
+ }
+}
diff --git a/jdk/test/javax/swing/JTabbedPane/6416920/bug6416920.java b/jdk/test/javax/swing/JTabbedPane/6416920/bug6416920.java
new file mode 100644
index 0000000..c1188ce
--- /dev/null
+++ b/jdk/test/javax/swing/JTabbedPane/6416920/bug6416920.java
@@ -0,0 +1,77 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 6416920
+ * @summary Ensures that selected tab is painted properly in the scroll tab layout
+ * under WindowsLookAndFeel in Windows' "Windows XP" theme.
+ * @author Mikhail Lapshin
+ * @run main bug6416920
+ */
+
+import javax.swing.plaf.basic.BasicTabbedPaneUI;
+import javax.swing.JTabbedPane;
+import javax.swing.SwingConstants;
+import java.awt.Rectangle;
+import java.awt.Insets;
+import sun.awt.OSInfo;
+
+public class bug6416920 extends BasicTabbedPaneUI {
+ public AccessibleTabbedPaneLayout layout = new AccessibleTabbedPaneLayout();
+
+ public static void main(String[] args) {
+
+ if(OSInfo.getOSType() != OSInfo.OSType.WINDOWS){
+ return;
+ }
+
+ bug6416920 test = new bug6416920();
+ test.layout.padSelectedTab(SwingConstants.TOP, 0);
+ if (test.rects[0].width < 0) {
+ throw new RuntimeException("A selected tab isn't painted properly " +
+ "in the scroll tab layout under WindowsLookAndFeel " +
+ "in Windows' \"Windows XP\" theme.");
+ }
+ }
+
+ public bug6416920() {
+ super();
+
+ // Set parameters for the padSelectedTab() method
+ selectedTabPadInsets = new Insets(0, 0, 0, 0);
+
+ tabPane = new JTabbedPane();
+ tabPane.setSize(100, 0);
+ tabPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
+
+ rects = new Rectangle[1];
+ rects[0] = new Rectangle(150, 0, 0, 0);
+ }
+
+ public class AccessibleTabbedPaneLayout extends BasicTabbedPaneUI.TabbedPaneLayout {
+ public void padSelectedTab(int tabPlacement, int selectedIndex) {
+ super.padSelectedTab(tabPlacement, selectedIndex);
+ }
+ }
+}
diff --git a/jdk/test/javax/swing/JTable/6263446/bug6263446.java b/jdk/test/javax/swing/JTable/6263446/bug6263446.java
new file mode 100644
index 0000000..6d4c235
--- /dev/null
+++ b/jdk/test/javax/swing/JTable/6263446/bug6263446.java
@@ -0,0 +1,242 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 6263446
+ * @summary Tests that double-clicking to edit a cell doesn't select the content.
+ * @author Shannon Hickey
+ * @run main bug6263446
+ */
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.table.*;
+import sun.awt.SunToolkit;
+
+public class bug6263446 {
+
+ private static JTable table;
+ private static final String FIRST = "AAAAA";
+ private static final String SECOND = "BB";
+ private static final String ALL = FIRST + " " + SECOND;
+ private static Robot robot;
+
+ public static void main(String[] args) throws Exception {
+ SunToolkit toolkit = (SunToolkit) Toolkit.getDefaultToolkit();
+ robot = new Robot();
+ robot.setAutoDelay(50);
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ public void run() {
+ createAndShowGUI();
+ }
+ });
+
+
+ toolkit.realSync();
+
+ Point point = getClickPoint();
+ robot.mouseMove(point.x, point.y);
+ toolkit.realSync();
+
+ click(1);
+ toolkit.realSync();
+ assertEditing(false);
+
+ click(2);
+ toolkit.realSync();
+ checkSelectedText(null);
+
+ click(3);
+ toolkit.realSync();
+ checkSelectedText(FIRST);
+
+
+ click(4);
+ toolkit.realSync();
+ checkSelectedText(ALL);
+
+ setClickCountToStart(1);
+
+ click(1);
+ toolkit.realSync();
+ checkSelectedText(null);
+
+ click(2);
+ toolkit.realSync();
+ checkSelectedText(FIRST);
+
+ click(3);
+ toolkit.realSync();
+ checkSelectedText(ALL);
+
+ setClickCountToStart(3);
+
+ click(1);
+ toolkit.realSync();
+ assertEditing(false);
+
+ click(2);
+ toolkit.realSync();
+ assertEditing(false);
+
+ click(3);
+ toolkit.realSync();
+ checkSelectedText(null);
+
+ click(4);
+ toolkit.realSync();
+ checkSelectedText(FIRST);
+
+ click(5);
+ toolkit.realSync();
+ checkSelectedText(ALL);
+
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ table.editCellAt(0, 0);
+ }
+ });
+
+ toolkit.realSync();
+ assertEditing(true);
+
+ click(2);
+ toolkit.realSync();
+ checkSelectedText(FIRST);
+
+ }
+
+ private static void checkSelectedText(String sel) throws Exception {
+ assertEditing(true);
+ checkSelection(sel);
+ cancelCellEditing();
+ assertEditing(false);
+ }
+
+ private static void setClickCountToStart(final int clicks) throws Exception {
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ DefaultCellEditor editor =
+ (DefaultCellEditor) table.getDefaultEditor(String.class);
+ editor.setClickCountToStart(clicks);
+ }
+ });
+
+ }
+
+ private static void cancelCellEditing() throws Exception {
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ table.getCellEditor().cancelCellEditing();
+ }
+ });
+ }
+
+ private static void checkSelection(final String sel) throws Exception {
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ DefaultCellEditor editor =
+ (DefaultCellEditor) table.getDefaultEditor(String.class);
+ JTextField field = (JTextField) editor.getComponent();
+ String text = field.getSelectedText();
+ if (sel == null) {
+ if (text != null && text.length() != 0) {
+ throw new RuntimeException("Nothing should be selected,"
+ + " but \"" + text + "\" is selected.");
+ }
+ } else if (!sel.equals(text)) {
+ throw new RuntimeException("\"" + sel + "\" should be "
+ + "selected, but \"" + text + "\" is selected.");
+ }
+ }
+ });
+ }
+
+ private static void assertEditing(final boolean editing) throws Exception {
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ if (editing && !table.isEditing()) {
+ throw new RuntimeException("Table should be editing");
+ }
+ if (!editing && table.isEditing()) {
+ throw new RuntimeException("Table should not be editing");
+ }
+ }
+ });
+ }
+
+ private static Point getClickPoint() throws Exception {
+ final Point[] result = new Point[1];
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ Rectangle rect = table.getCellRect(0, 0, false);
+ Point point = new Point(rect.x + rect.width / 5,
+ rect.y + rect.height / 2);
+ SwingUtilities.convertPointToScreen(point, table);
+ result[0] = point;
+ }
+ });
+
+ return result[0];
+ }
+
+ private static void click(int times) {
+ robot.delay(500);
+ for (int i = 0; i < times; i++) {
+ robot.mousePress(InputEvent.BUTTON1_MASK);
+ robot.mouseRelease(InputEvent.BUTTON1_MASK);
+ }
+ }
+
+ private static TableModel createTableModel() {
+ String[] columnNames = {"Column 0"};
+ String[][] data = {{ALL}};
+
+ return new DefaultTableModel(data, columnNames);
+ }
+
+ private static void createAndShowGUI() {
+ JFrame frame = new JFrame("bug6263446");
+ frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ table = new JTable(createTableModel());
+ frame.add(table);
+ frame.pack();
+ frame.setVisible(true);
+ }
+}
diff --git a/jdk/test/javax/swing/JTextArea/4697612/bug4697612.java b/jdk/test/javax/swing/JTextArea/4697612/bug4697612.java
new file mode 100644
index 0000000..54cd12c
--- /dev/null
+++ b/jdk/test/javax/swing/JTextArea/4697612/bug4697612.java
@@ -0,0 +1,208 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 4697612 6244705
+ * @author Peter Zhelezniakov
+ * @library ../../regtesthelpers
+ * @build Util
+ * @run main bug4697612
+ */
+import java.io.*;
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+
+import javax.swing.text.BadLocationException;
+import sun.awt.SunToolkit;
+
+public class bug4697612 {
+
+ static final int FRAME_WIDTH = 300;
+ static final int FRAME_HEIGHT = 300;
+ static final int FONT_HEIGHT = 16;
+ private static volatile int frameHeight;
+ private static volatile int fontHeight;
+ private static JFrame frame;
+ private static JTextArea text;
+ private static JScrollPane scroller;
+
+ public static void main(String[] args) throws Throwable {
+ SunToolkit toolkit = (SunToolkit) Toolkit.getDefaultToolkit();
+ Robot robot = new Robot();
+ robot.setAutoDelay(100);
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ createAndShowGUI();
+ }
+ });
+
+ toolkit.realSync();
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ text.requestFocus();
+ }
+ });
+
+ toolkit.realSync();
+
+ // 4697612: pressing PgDn + PgUp should not alter caret position
+ Util.hitKeys(robot, KeyEvent.VK_HOME);
+ Util.hitKeys(robot, KeyEvent.VK_PAGE_DOWN);
+
+
+ int pos0 = getTextCaretPosition();
+ int caretHeight = getTextCaretHeight();
+ fontHeight = FONT_HEIGHT;
+
+ // iterate two times, for different (even and odd) font height
+ for (int i = 0; i < 2; i++) {
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ public void run() {
+ text.setFont(text.getFont().deriveFont(fontHeight));
+ }
+ });
+
+ frameHeight = FRAME_HEIGHT;
+
+ for (int j = 0; j < caretHeight; j++) {
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ public void run() {
+ frame.setSize(FRAME_WIDTH, frameHeight);
+ }
+ });
+
+ toolkit.realSync();
+
+ Util.hitKeys(robot, KeyEvent.VK_PAGE_DOWN);
+ Util.hitKeys(robot, KeyEvent.VK_PAGE_UP);
+ toolkit.realSync();
+
+ int pos = getTextCaretPosition();
+ if (pos0 != pos) {
+ throw new RuntimeException("Failed 4697612: PgDn & PgUp keys scroll by different amounts");
+ }
+ frameHeight++;
+ }
+ fontHeight++;
+ }
+
+
+ // 6244705: pressing PgDn at the very bottom should not scroll
+ LookAndFeel laf = UIManager.getLookAndFeel();
+ if (laf.getID().equals("Aqua")) {
+ Util.hitKeys(robot, KeyEvent.VK_END);
+ } else {
+ Util.hitKeys(robot, KeyEvent.VK_CONTROL, KeyEvent.VK_END);
+ }
+
+ toolkit.realSync();
+
+ pos0 = getScrollerViewPosition();
+ Util.hitKeys(robot, KeyEvent.VK_PAGE_DOWN);
+ toolkit.realSync();
+
+ int pos = getScrollerViewPosition();
+
+ if (pos0 != pos) {
+ throw new RuntimeException("Failed 6244705: PgDn at the bottom causes scrolling");
+ }
+ }
+
+ private static int getTextCaretPosition() throws Exception {
+ final int[] result = new int[1];
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ result[0] = text.getCaretPosition();
+ }
+ });
+
+ return result[0];
+ }
+
+ private static int getTextCaretHeight() throws Exception {
+ final int[] result = new int[1];
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ try {
+ int pos0 = text.getCaretPosition();
+ Rectangle dotBounds = text.modelToView(pos0);
+ result[0] = dotBounds.height;
+ } catch (BadLocationException ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+ });
+
+ return result[0];
+ }
+
+ private static int getScrollerViewPosition() throws Exception {
+ final int[] result = new int[1];
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ result[0] = scroller.getViewport().getViewPosition().y;
+ }
+ });
+
+ return result[0];
+ }
+
+ private static void createAndShowGUI() {
+ frame = new JFrame();
+ frame.setSize(FRAME_WIDTH, FRAME_HEIGHT);
+ frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+
+ text = new JTextArea();
+ try {
+ InputStream is =
+ bug4697612.class.getResourceAsStream("bug4697612.txt");
+ text.read(new InputStreamReader(is), null);
+ } catch (IOException e) {
+ throw new Error(e);
+ }
+
+ scroller = new JScrollPane(text);
+
+ frame.getContentPane().add(scroller);
+
+ frame.pack();
+ frame.setVisible(true);
+ }
+}
diff --git a/jdk/test/javax/swing/JTextArea/4697612/bug4697612.txt b/jdk/test/javax/swing/JTextArea/4697612/bug4697612.txt
new file mode 100644
index 0000000..5564105
--- /dev/null
+++ b/jdk/test/javax/swing/JTextArea/4697612/bug4697612.txt
@@ -0,0 +1,223 @@
+ README
+
+ Java(TM) 2 SDK, Standard Edition
+ Version 1.4.2 Beta
+
+ For a more extensive HTML version of this file, see README.html.
+
+Contents
+
+ * Introduction
+ * Release Notes
+ * Bug Reports and Feedback
+ * Java 2 SDK Documentation
+ * Redistribution
+ * Web Pages
+
+
+Introduction
+
+ Thank you for downloading this release of the Java(TM) 2 SDK,
+ Standard Edition. The Java 2 SDK is a development environment for
+ building applications, applets, and components that can be
+ deployed on the Java platform.
+
+ The Java 2 SDK software includes tools useful for developing and
+ testing programs written in the Java programming language and
+ running on the Java platform. These tools are designed to be used
+ from the command line. Except for appletviewer, these tools do not
+ provide a graphical user interface.
+
+
+Release Notes
+
+ See the Release Notes on the Java Software web site for additional
+ information pertaining to this release.
+
+ http://java.sun.com/j2se/1.4.2/relnotes.html
+
+ The on-line release notes will be updated as needed, so you should
+ check it occasionally for the latest information.
+
+
+Bug Reports and Feedback
+
+ The Bug Parade Web Page on the Java Developer Connection(SM) web
+ site lets you search for and examine existing bug reports, submit
+ your own bug reports, and tell us which bug fixes matter most to you.
+
+ http://java.sun.com/jdc/bugParade/
+
+ To directly submit a bug or request a feature, fill out this form:
+
+ http://java.sun.com/cgi-bin/bugreport.cgi
+
+ You can also send comments directly to Java Software engineering
+ team email addresses.
+
+ http://java.sun.com/mail/
+
+
+Java 2 SDK Documentation
+
+ The on-line Java 2 SDK Documentation contains API specifications,
+ feature descriptions, developer guides, tool reference pages, demos,
+ and links to related information. It is located at
+
+ http://java.sun.com/j2se/1.4.2/docs/
+
+ The Java 2 SDK documentation is also available in a download bundle
+ which you can install locally on your machine. See the
+ Java 2 SDK download page:
+
+ http://java.sun.com/j2se/1.4.2/download.html
+
+
+Redistribution
+
+ The term "vendors" used here refers to licensees, developers,
+ and independent software vendors (ISVs) who license and
+ distribute the Java 2 Runtime Environment with their programs.
+ Vendors must follow the terms of the Java 2 SDK, Standard
+ Edition, Binary Code License agreement.
+ Required vs. Optional Files
+
+ The files that make up the Java 2 SDK, Standard Edition, are
+ divided into two categories: required and optional. Optional
+ files may be excluded from redistributions of the Java 2 SDK
+ at the vendor's discretion. The following section contains a
+ list of the files and directories that may optionally be
+ omitted from redistributions of the Java 2 SDK. All files not
+ in these lists of optional files must be included in
+ redistributions of the Java 2 SDK.
+
+ Optional Files and Directories
+
+ The following files may be optionally excluded from
+ redistributions:
+
+ jre/lib/charsets.jar
+ Character conversion classes
+ jre/lib/ext/
+ sunjce_provider.jar - the SunJCE provider for Java
+ Cryptography APIs
+ localedata.jar - contains many of the resources
+ needed for non US English locales
+ ldapsec.jar - contains security features supported
+ by the LDAP service provider
+ dnsns.jar - for the InetAddress wrapper of JNDI DNS
+ provider
+ bin/rmid and jre/bin/rmid
+ Java RMI Activation System Daemon
+ bin/rmiregistry and jre/bin/rmiregistry
+ Java Remote Object Registry
+ bin/tnameserv and jre/bin/tnameserv
+ Java IDL Name Server
+ bin/keytool and jre/bin/keytool
+ Key and Certificate Management Tool
+ bin/kinit and jre/bin/kinit
+ Used to obtain and cache Kerberos ticket-granting tickets
+ bin/klist and jre/bin/klist
+ Kerberos display entries in credentials cache and keytab
+ bin/ktab and jre/bin/ktab
+ Kerberos key table manager
+ bin/policytool and jre/bin/policytool
+ Policy File Creation and Management Tool
+ bin/orbd and jre/bin/orbd
+ Object Request Broker Daemon
+ bin/servertool and jre/bin/servertool
+ Java IDL Server Tool
+ src.zip
+ Archive of source files
+
+ In addition, the Java Web Start product may be excluded from
+ redistributions. The Java Web Start product is contained in a
+ file named javaws-1_2-solaris-sparc-i.zip,
+ javaws-1_2-solaris-i586-i.zip,
+ javaws-1_2-linux-i586-i.zip, or
+ javaws-1_2-windows-i586-i.exe, depending on the platform.
+
+
+ Unlimited Strength Java Cryptography Extension
+
+ Due to import control restrictions for some countries, the
+ Java Cryptography Extension (JCE) policy files shipped with
+ the Java 2 SDK, Standard Edition and the Java 2 Runtime
+ Environment allow strong but limited cryptography to be
+ used. These files are located at
+
+ <java-home>/lib/security/local_policy.jar
+ <java-home>/lib/security/US_export_policy.jar
+
+ where <java-home> is the jre directory of the Java 2
+ SDK or the top-level directory of the Java 2 Runtime
+ Environment.
+
+ An unlimited strength version of these files indicating
+ no restrictions on cryptographic strengths is available
+ on the Java 2 SDK web site for those living in eligible
+ countries. Those living in eligible countries may download
+ the unlimited strength version and replace the strong
+ cryptography jar files with the unlimited strength files.
+
+
+ Endorsed Standards Override Mechanism
+
+ An endorsed standard is a Java API defined through a standards
+ process other than the Java Community Process(SM) (JCP(SM)).
+ Because endorsed standards are defined outside the JCP, it is
+ anticipated that such standards will be revised between
+ releases of the Java 2 Platform. In order to take advantage of
+ new revisions to endorsed standards, developers and software
+ vendors may use the Endorsed Standards Override Mechanism to
+ provide newer versions of an endorsed standard than those
+ included in the Java 2 Platform as released by Sun Microsystems.
+
+ For more information on the Endorsed Standards Override
+ Mechanism, including the list of platform packages that it may
+ be used to override, see
+
+ http://java.sun.com/j2se/1.4.2/docs/guide/standards/
+
+ Classes in the packages listed on that web page may be replaced
+ only by classes implementing a more recent version of the API
+ as defined by the appropriate standards body.
+
+ In addition to the packages listed in the document at the above
+ URL, which are part of the Java 2 Platform, Standard Edition
+ (J2SE(TM)) specification, redistributors of Sun's J2SE
+ Reference Implementation are allowed to override classes whose
+ sole purpose is to implement the functionality provided by
+ public APIs defined in these Endorsed Standards packages.
+ Redistributors may also override classes in the org.w3c.dom.*
+ packages, or other classes whose sole purpose is to implement
+ these APIs.
+
+
+Sun Java Web Pages
+
+ For additional information, refer to these Sun Microsystems pages
+ on the World Wide Web:
+
+ http://java.sun.com/
+ The Java Software web site, with the latest information on
+ Java technology, product information, news, and features.
+ http://java.sun.com/docs
+ Java Platform Documentation provides access to white papers,
+ the Java Tutorial and other documents.
+ http://java.sun.com/jdc
+ The Java Developer Connection(SM) web site. (Free registration
+ required.) Additional technical information, news, and
+ features; user forums; support information, and much more.
+ http://java.sun.com/products/
+ Java Technology Products & API
+
+
+------------------------------------------------------------------------
+The Java 2 SDK, Standard Edition, is a product of Sun Microsystems(TM),
+Inc. This product includes code licensed from RSA Security.
+
+Copyright 2003 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+California 95054, U.S.A. All rights reserved.
+
+
diff --git a/jdk/test/javax/swing/JTree/6505523/bug6505523.java b/jdk/test/javax/swing/JTree/6505523/bug6505523.java
new file mode 100644
index 0000000..40357de
--- /dev/null
+++ b/jdk/test/javax/swing/JTree/6505523/bug6505523.java
@@ -0,0 +1,132 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 6505523
+ * @summary NullPointerException in BasicTreeUI when a node is removed by expansion listener
+ * @author Alexandr Scherbatiy
+ * @run main bug6505523
+ */
+import java.awt.Point;
+import java.awt.Rectangle;
+import java.awt.Robot;
+import java.awt.Toolkit;
+import java.awt.event.InputEvent;
+import javax.swing.JFrame;
+import javax.swing.JScrollPane;
+import javax.swing.JTree;
+import javax.swing.SwingUtilities;
+import javax.swing.event.TreeExpansionEvent;
+import javax.swing.event.TreeExpansionListener;
+import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.DefaultTreeModel;
+import javax.swing.tree.TreeNode;
+import sun.awt.SunToolkit;
+
+public class bug6505523 {
+
+ private static JTree tree;
+
+ public static void main(String[] args) throws Exception {
+ SunToolkit toolkit = (SunToolkit) Toolkit.getDefaultToolkit();
+ Robot robot = new Robot();
+ robot.setAutoDelay(50);
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ createAndShowGUI();
+ }
+ });
+
+ toolkit.realSync();
+
+ Point point = getRowPointToClick(2);
+ robot.mouseMove(point.x, point.y);
+ robot.mousePress(InputEvent.BUTTON1_MASK);
+ robot.mouseRelease(InputEvent.BUTTON1_MASK);
+
+ toolkit.realSync();
+
+ }
+
+ private static Point getRowPointToClick(final int row) throws Exception {
+
+ final Point[] result = new Point[1];
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ Rectangle rect = tree.getRowBounds(row);
+ Point point = new Point(rect.x - 5, rect.y + rect.height / 2);
+ SwingUtilities.convertPointToScreen(point, tree);
+ result[0] = point;
+ }
+ });
+
+ return result[0];
+ }
+
+ private static void createAndShowGUI() {
+ final DefaultMutableTreeNode root = new DefaultMutableTreeNode("Problem with NPE under JDK 1.6");
+ final DefaultMutableTreeNode problematic = new DefaultMutableTreeNode("Expand me and behold a NPE in stderr");
+ problematic.add(new DefaultMutableTreeNode("some content"));
+ root.add(new DefaultMutableTreeNode("irrelevant..."));
+ root.add(problematic);
+
+ final DefaultTreeModel model = new DefaultTreeModel(root);
+ tree = new JTree(model);
+ tree.setRootVisible(true);
+ tree.setShowsRootHandles(true);
+ tree.expandRow(0);
+ tree.collapseRow(2);
+
+ // this is critical - without dragEnabled everything works
+ tree.setDragEnabled(true);
+
+ tree.addTreeExpansionListener(new TreeExpansionListener() {
+
+ @Override
+ public void treeExpanded(TreeExpansionEvent event) {
+ TreeNode parent = problematic.getParent();
+ if (parent instanceof DefaultMutableTreeNode) {
+ model.removeNodeFromParent(problematic);
+ }
+ }
+
+ @Override
+ public void treeCollapsed(TreeExpansionEvent event) {
+ }
+ });
+
+ JFrame frame = new JFrame("JTree Problem");
+ frame.add(new JScrollPane(tree));
+ frame.setSize(500, 300);
+ frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ frame.setLocationRelativeTo(null);
+ frame.setVisible(true);
+ }
+}
\ No newline at end of file
diff --git a/jdk/test/javax/swing/PopupFactory/6276087/NonOpaquePopupMenuTest.java b/jdk/test/javax/swing/PopupFactory/6276087/NonOpaquePopupMenuTest.java
new file mode 100644
index 0000000..c816734
--- /dev/null
+++ b/jdk/test/javax/swing/PopupFactory/6276087/NonOpaquePopupMenuTest.java
@@ -0,0 +1,114 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * @test
+ * @bug 6276087
+ * @author Romain Guy
+ * @summary Tests opacity of a popup menu.
+ */
+import java.awt.*;
+import java.awt.event.*;
+
+import javax.swing.*;
+import sun.awt.SunToolkit;
+
+public class NonOpaquePopupMenuTest extends JFrame {
+
+ private static JMenu fileMenu;
+
+ public NonOpaquePopupMenuTest() {
+ getContentPane().setBackground(java.awt.Color.RED);
+ JMenuBar menuBar = new JMenuBar();
+ fileMenu = new JMenu("File");
+ JMenuItem menuItem = new JMenuItem("New");
+ menuBar.add(fileMenu);
+ setJMenuBar(menuBar);
+
+ fileMenu.add(menuItem);
+ fileMenu.getPopupMenu().setOpaque(false);
+
+ setSize(new Dimension(640, 480));
+ setVisible(true);
+ }
+
+ public static void main(String[] args) throws Throwable {
+ SunToolkit toolkit = (SunToolkit) Toolkit.getDefaultToolkit();
+ Robot robot = new Robot();
+ robot.setAutoDelay(250);
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ new NonOpaquePopupMenuTest();
+ }
+ });
+
+ toolkit.realSync();
+
+ Point p = getMenuClickPoint();
+ robot.mouseMove(p.x, p.y);
+ robot.mousePress(InputEvent.BUTTON1_MASK);
+
+ toolkit.realSync();
+
+ if (isParentOpaque()) {
+ throw new RuntimeException("Popup menu parent is opaque");
+ }
+
+ }
+
+ private static boolean isParentOpaque() throws Exception {
+ final boolean result[] = new boolean[1];
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ result[0] = fileMenu.getPopupMenu().getParent().isOpaque();
+ }
+ });
+
+ return result[0];
+ }
+
+ private static Point getMenuClickPoint() throws Exception {
+ final Point[] result = new Point[1];
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ Point p = fileMenu.getLocationOnScreen();
+ Dimension size = fileMenu.getSize();
+
+ result[0] = new Point(p.x + size.width / 2,
+ p.y + size.height / 2);
+ }
+ });
+
+ return result[0];
+
+ }
+}
diff --git a/jdk/test/javax/swing/plaf/metal/MetalLookAndFeel/5073047/bug5073047.java b/jdk/test/javax/swing/plaf/metal/MetalLookAndFeel/5073047/bug5073047.java
new file mode 100644
index 0000000..ce7c803
--- /dev/null
+++ b/jdk/test/javax/swing/plaf/metal/MetalLookAndFeel/5073047/bug5073047.java
@@ -0,0 +1,53 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 5073407
+ * @summary Tests 5073407
+ * @author Scott Violet
+ */
+
+import javax.swing.*;
+import javax.swing.plaf.*;
+import javax.swing.plaf.metal.*;
+
+public class bug5073047 {
+
+ public static void main(String[] args) throws Exception{
+ MyTheme theme = new MyTheme();
+ MetalLookAndFeel.setCurrentTheme(theme);
+ UIManager.setLookAndFeel(new MetalLookAndFeel());
+ if (UIManager.get("Button.font") != theme.ctf) {
+ throw new RuntimeException("Unexpected font");
+ }
+ }
+
+ private static class MyTheme extends DefaultMetalTheme {
+ public final FontUIResource ctf = new FontUIResource(
+ super.getControlTextFont().deriveFont(40.0f));
+ public FontUIResource getControlTextFont() {
+ return ctf;
+ }
+ }
+}
diff --git a/jdk/test/javax/swing/regtesthelpers/Util.java b/jdk/test/javax/swing/regtesthelpers/Util.java
index 6e61ad3..c7449d1 100644
--- a/jdk/test/javax/swing/regtesthelpers/Util.java
+++ b/jdk/test/javax/swing/regtesthelpers/Util.java
@@ -140,4 +140,17 @@ public class Util {
return null;
}
+
+ /**
+ * Hits keys by robot.
+ */
+ public static void hitKeys(Robot robot, int... keys) {
+ for (int i = 0; i < keys.length; i++) {
+ robot.keyPress(keys[i]);
+ }
+
+ for (int i = keys.length - 1; i >= 0; i--) {
+ robot.keyRelease(keys[i]);
+ }
+ }
}
diff --git a/jdk/test/javax/swing/text/DefaultCaret/6938583/bug6938583.java b/jdk/test/javax/swing/text/DefaultCaret/6938583/bug6938583.java
new file mode 100644
index 0000000..c5c4871
--- /dev/null
+++ b/jdk/test/javax/swing/text/DefaultCaret/6938583/bug6938583.java
@@ -0,0 +1,51 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+/*
+ * Portions Copyright (c) 2011 IBM Corporation
+ */
+
+/*
+ * @test
+ * @bug 6938583
+ * @summary Unexpected NullPointerException when use CodeIM demo on windows
+ * @author LittleE
+ */
+
+import javax.swing.*;
+import javax.swing.text.DefaultCaret;
+import java.awt.event.MouseEvent;
+
+public class bug6938583 {
+ public static void main(String[] args) throws Exception {
+ SwingUtilities.invokeAndWait(new Runnable() {
+ public void run() {
+ JTextArea jta = new JTextArea();
+ DefaultCaret dc = new DefaultCaret();
+ jta.setCaret(dc);
+ dc.deinstall(jta);
+ dc.mouseClicked(new MouseEvent(jta, MouseEvent.MOUSE_CLICKED, 0, 0, 0, 0, 0, false));
+ }
+ });
+ }
+}
diff --git a/jdk/test/javax/swing/text/DefaultEditorKit/4278839/bug4278839.java b/jdk/test/javax/swing/text/DefaultEditorKit/4278839/bug4278839.java
new file mode 100644
index 0000000..9dbae2b
--- /dev/null
+++ b/jdk/test/javax/swing/text/DefaultEditorKit/4278839/bug4278839.java
@@ -0,0 +1,154 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/* @test Jan 16, 2003
+ * @bug 4278839
+ * @summary Incorrect cursor movement between words at the end of line
+ * @author Anton Nashatyrev
+ * @library ../../../regtesthelpers
+ * @build Util
+ * @run main bug4278839
+ */
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import sun.awt.SunToolkit;
+
+public class bug4278839 extends JFrame {
+
+ private static boolean passed = true;
+ private static JTextArea area;
+ private static Robot robo;
+ private static SunToolkit toolkit;
+
+ public static void main(String[] args) {
+ try {
+
+ toolkit = (SunToolkit) Toolkit.getDefaultToolkit();
+ robo = new Robot();
+ robo.setAutoDelay(100);
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+ @Override
+ public void run() {
+ createAndShowGUI();
+ }
+ });
+
+ toolkit.realSync();
+
+ clickMouse();
+ toolkit.realSync();
+
+
+ if ("Aqua".equals(UIManager.getLookAndFeel().getID())) {
+ Util.hitKeys(robo, KeyEvent.VK_HOME);
+ } else {
+ Util.hitKeys(robo, KeyEvent.VK_CONTROL, KeyEvent.VK_HOME);
+ }
+ toolkit.realSync();
+
+ passed &= moveCaret(true) == 1;
+ passed &= moveCaret(true) == 5;
+ passed &= moveCaret(true) == 8;
+ passed &= moveCaret(true) == 9;
+ passed &= moveCaret(true) == 13;
+ passed &= moveCaret(true) == 16;
+ passed &= moveCaret(true) == 17;
+ passed &= moveCaret(false) == 16;
+ passed &= moveCaret(false) == 13;
+ passed &= moveCaret(false) == 9;
+ passed &= moveCaret(false) == 8;
+ passed &= moveCaret(false) == 5;
+ passed &= moveCaret(false) == 1;
+ passed &= moveCaret(false) == 0;
+
+ } catch (Exception e) {
+ throw new RuntimeException("Test failed because of an exception:",
+ e);
+ }
+
+ if (!passed) {
+ throw new RuntimeException("Test failed.");
+ }
+ }
+
+ private static int moveCaret(boolean right) throws Exception {
+ Util.hitKeys(robo, getCtrlKey(),
+ right ? KeyEvent.VK_RIGHT : KeyEvent.VK_LEFT);
+ toolkit.realSync();
+
+ final int[] result = new int[1];
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ result[0] = area.getCaretPosition();
+ }
+ });
+
+ int pos = result[0];
+ return pos;
+ }
+
+ private static void clickMouse() throws Exception {
+ final Rectangle result[] = new Rectangle[1];
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+ @Override
+ public void run() {
+ result[0] = new Rectangle(area.getLocationOnScreen(), area.getSize());
+ }
+ });
+
+ Rectangle rect = result[0];
+
+ robo.mouseMove(rect.x + rect.width / 2, rect.y + rect.width / 2);
+ robo.mousePress(InputEvent.BUTTON1_MASK);
+ }
+
+ /**
+ * Gets a control key related to the used Look & Feel
+ * Returns VK_ALT for Aqua and VK_CONTROL for others
+ */
+ public static int getCtrlKey() {
+
+ if ("Aqua".equals(UIManager.getLookAndFeel().getID())) {
+ return KeyEvent.VK_ALT;
+ }
+
+ return KeyEvent.VK_CONTROL;
+ }
+
+ private static void createAndShowGUI() {
+ JFrame frame = new JFrame();
+ frame.setTitle("Bug# 4278839");
+ frame.setSize(200, 200);
+ frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ area = new JTextArea("\naaa bbb\nccc ddd\n");
+ frame.getContentPane().add(new JScrollPane(area));
+ frame.setVisible(true);
+ }
+}
diff --git a/jdk/test/javax/swing/text/JTextComponent/5074573/bug5074573.java b/jdk/test/javax/swing/text/JTextComponent/5074573/bug5074573.java
new file mode 100644
index 0000000..579d471
--- /dev/null
+++ b/jdk/test/javax/swing/text/JTextComponent/5074573/bug5074573.java
@@ -0,0 +1,159 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 5074573
+ * @summary tests delte-next-word and delete-prev-word actions for all text compnents and all look&feels
+ * @author Igor Kushnirskiy
+ * @run main bug5074573
+ */
+
+import java.util.*;
+import java.awt.Robot;
+import java.awt.Toolkit;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.text.*;
+import sun.awt.SunToolkit;
+
+public class bug5074573 {
+
+ private static JTextComponent textComponent;
+ final static String testString = "123 456 789";
+ final static String resultString = "456 ";
+ final static List<Class<? extends JTextComponent>> textClasses = Arrays.asList(
+ JTextArea.class, JEditorPane.class, JTextPane.class,
+ JTextField.class, JFormattedTextField.class, JPasswordField.class);
+
+ public static void main(String[] args) throws Exception {
+ for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
+ UIManager.setLookAndFeel(info.getClassName());
+ System.out.println(info);
+ for (Class<? extends JTextComponent> clazz : textClasses) {
+ boolean res = test(clazz);
+ if (!res && clazz != JPasswordField.class) {
+ throw new RuntimeException("failed");
+ }
+ }
+ }
+ }
+
+ static boolean test(final Class<? extends JTextComponent> textComponentClass) throws Exception {
+ SunToolkit toolkit = (SunToolkit) Toolkit.getDefaultToolkit();
+ Robot robot = new Robot();
+ robot.setAutoWaitForIdle(true);
+ robot.setAutoDelay(50);
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ initialize(textComponentClass);
+ }
+ });
+
+ toolkit.realSync();
+
+ // Remove selection from JTextField components for the Aqua Look & Feel
+ if (textComponent instanceof JTextField && "Aqua".equals(UIManager.getLookAndFeel().getID())) {
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ Caret caret = textComponent.getCaret();
+ int dot = caret.getDot();
+ textComponent.select(dot, dot);
+ }
+ });
+
+ toolkit.realSync();
+ }
+
+ robot.keyPress(getCtrlKey());
+ robot.keyPress(KeyEvent.VK_BACK_SPACE);
+ robot.keyRelease(KeyEvent.VK_BACK_SPACE);
+ robot.keyRelease(getCtrlKey());
+ toolkit.realSync();
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+
+ @Override
+ public void run() {
+ Caret caret = textComponent.getCaret();
+ caret.setDot(0);
+ }
+ });
+ toolkit.realSync();
+
+ robot.keyPress(getCtrlKey());
+ robot.keyPress(KeyEvent.VK_DELETE);
+ robot.keyRelease(KeyEvent.VK_DELETE);
+ robot.keyRelease(getCtrlKey());
+ toolkit.realSync();
+
+ return resultString.equals(getText());
+ }
+
+ private static String getText() throws Exception {
+ final String[] result = new String[1];
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+ @Override
+ public void run() {
+ result[0] = textComponent.getText();
+ }
+ });
+
+ return result[0];
+ }
+
+ /**
+ * Gets a control key related to the used Look & Feel
+ * Returns VK_ALT for Aqua and VK_CONTROL for others
+ */
+ public static int getCtrlKey() {
+
+ if ("Aqua".equals(UIManager.getLookAndFeel().getID())) {
+ return KeyEvent.VK_ALT;
+ }
+
+ return KeyEvent.VK_CONTROL;
+ }
+
+ private static void initialize(Class<? extends JTextComponent> textComponentClass) {
+ try {
+ JFrame frame = new JFrame();
+ textComponent = textComponentClass.newInstance();
+ textComponent.setText(testString);
+ frame.add(textComponent);
+ frame.pack();
+ frame.setVisible(true);
+ textComponent.requestFocus();
+ Caret caret = textComponent.getCaret();
+ caret.setDot(textComponent.getDocument().getLength());
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
diff --git a/jdk/test/javax/swing/text/html/HTMLEditorKit/5043626/bug5043626.java b/jdk/test/javax/swing/text/html/HTMLEditorKit/5043626/bug5043626.java
new file mode 100644
index 0000000..7de8679
--- /dev/null
+++ b/jdk/test/javax/swing/text/html/HTMLEditorKit/5043626/bug5043626.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright (c) 2007, 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 5043626
+ * @summary Tests pressing Home or Ctrl+Home set cursor to invisible element <head>
+ * @author Alexander Potochkin
+ * @library ../../../../regtesthelpers
+ * @build Util
+ * @run main bug5043626
+ */
+
+import java.awt.Robot;
+import java.awt.Toolkit;
+import javax.swing.*;
+import javax.swing.text.Document;
+import javax.swing.text.BadLocationException;
+import java.awt.event.KeyEvent;
+import sun.awt.SunToolkit;
+
+public class bug5043626 {
+
+ private static Document doc;
+ private static Robot robot;
+
+ public static void main(String[] args) throws Exception {
+ SunToolkit toolkit = (SunToolkit) Toolkit.getDefaultToolkit();
+ robot = new Robot();
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+ public void run() {
+ createAndShowGUI();
+ }
+ });
+
+ toolkit.realSync();
+
+ Util.hitKeys(robot, KeyEvent.VK_HOME);
+ Util.hitKeys(robot, KeyEvent.VK_1);
+
+ toolkit.realSync();
+
+ String test = getText();
+
+ if (!"1test".equals(test)) {
+ throw new RuntimeException("Begin line action set cursor inside <head> tag");
+ }
+
+ Util.hitKeys(robot, KeyEvent.VK_HOME);
+ Util.hitKeys(robot, KeyEvent.VK_2);
+
+ toolkit.realSync();
+
+ test = getText();
+
+ if (!"21test".equals(test)) {
+ throw new RuntimeException("Begin action set cursor inside <head> tag");
+ }
+ }
+
+ private static String getText() throws Exception {
+ final String[] result = new String[1];
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+ public void run() {
+ try {
+ result[0] = doc.getText(0, doc.getLength()).trim();
+ } catch (BadLocationException ex) {
+ ex.printStackTrace();
+ }
+ }
+ });
+
+ return result[0];
+ }
+
+ private static void createAndShowGUI() {
+ JFrame frame = new JFrame();
+ frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+
+ JEditorPane editorPane = new JEditorPane();
+ editorPane.setContentType("text/html");
+ editorPane.setText("test");
+ editorPane.setEditable(true);
+ frame.add(editorPane);
+ frame.pack();
+ frame.setVisible(true);
+ doc = editorPane.getDocument();
+ editorPane.setCaretPosition(doc.getLength());
+ }
+}
diff --git a/jdk/test/sun/invoke/util/ValueConversionsTest.java b/jdk/test/sun/invoke/util/ValueConversionsTest.java
index 6b1253e..57205f8 100644
--- a/jdk/test/sun/invoke/util/ValueConversionsTest.java
+++ b/jdk/test/sun/invoke/util/ValueConversionsTest.java
@@ -27,11 +27,9 @@ import sun.invoke.util.ValueConversions;
import sun.invoke.util.Wrapper;
import java.lang.invoke.MethodType;
import java.lang.invoke.MethodHandle;
-import java.lang.invoke.MethodHandles;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Collections;
-import org.junit.Ignore;
import org.junit.Test;
import static org.junit.Assert.*;
@@ -52,7 +50,7 @@ import static org.junit.Assert.*;
* @author jrose
*/
public class ValueConversionsTest {
- private static final Class CLASS = ValueConversionsTest.class;
+ private static final Class<?> CLASS = ValueConversionsTest.class;
private static final int MAX_ARITY = Integer.getInteger(CLASS.getSimpleName()+".MAX_ARITY", 40);
private static final int START_ARITY = Integer.getInteger(CLASS.getSimpleName()+".START_ARITY", 0);
private static final boolean EXHAUSTIVE = Boolean.getBoolean(CLASS.getSimpleName()+".EXHAUSTIVE");
@@ -165,7 +163,7 @@ public class ValueConversionsTest {
Object expResult = box;
Object result = null;
switch (w) {
- case INT: result = boxer.invokeExact((int)n); break;
+ case INT: result = boxer.invokeExact(/*int*/n); break;
case LONG: result = boxer.invokeExact((long)n); break;
case FLOAT: result = boxer.invokeExact((float)n); break;
case DOUBLE: result = boxer.invokeExact((double)n); break;
@@ -361,6 +359,7 @@ public class ValueConversionsTest {
assert(stype == MethodType.methodType(arrayType, arrayType));
if (nargs <= 5) {
// invoke target as a spreader also:
+ @SuppressWarnings("cast")
Object res2 = spreader.invokeWithArguments((Object)res);
String res2String = toArrayString(res2);
assertEquals(Arrays.toString(args), res2String);
diff --git a/jdk/test/sun/misc/JarIndex/metaInfFilenames/Basic.java b/jdk/test/sun/misc/JarIndex/metaInfFilenames/Basic.java
index 3892054..83485d5 100644
--- a/jdk/test/sun/misc/JarIndex/metaInfFilenames/Basic.java
+++ b/jdk/test/sun/misc/JarIndex/metaInfFilenames/Basic.java
@@ -154,8 +154,7 @@ public class Basic {
/* run javac <args> */
static void compile(String... args) {
debug("Running: javac " + Arrays.toString(args));
- com.sun.tools.javac.Main compiler = new com.sun.tools.javac.Main();
- if (compiler.compile(args) != 0) {
+ if (com.sun.tools.javac.Main.compile(args) != 0) {
throw new RuntimeException("javac failed: args=" + Arrays.toString(args));
}
}
@@ -259,7 +258,7 @@ public class Basic {
URLClassLoader loader = getLoader(baseURL);
httpServer.reset();
- Class messageServiceClass = null;
+ Class<?> messageServiceClass = null;
try {
messageServiceClass = loader.loadClass(serviceClass);
} catch (ClassNotFoundException cnfe) {
@@ -267,7 +266,7 @@ public class Basic {
throw new RuntimeException("Error in test: " + cnfe);
}
- Iterator<Class<?>> iterator = sun.misc.Service.providers(messageServiceClass, loader);
+ Iterator<?> iterator = sun.misc.Service.providers(messageServiceClass, loader);
if (expectToFind && !iterator.hasNext()) {
debug(messageServiceClass + " NOT found.");
return false;
@@ -301,7 +300,7 @@ public class Basic {
URLClassLoader loader = getLoader(baseURL);
httpServer.reset();
- Class messageServiceClass = null;
+ Class<?> messageServiceClass = null;
try {
messageServiceClass = loader.loadClass(serviceClass);
} catch (ClassNotFoundException cnfe) {
@@ -309,7 +308,7 @@ public class Basic {
throw new RuntimeException("Error in test: " + cnfe);
}
- Iterator<Class<?>> iterator = (ServiceLoader.load(messageServiceClass, loader)).iterator();
+ Iterator<?> iterator = (ServiceLoader.load(messageServiceClass, loader)).iterator();
if (expectToFind && !iterator.hasNext()) {
debug(messageServiceClass + " NOT found.");
return false;
@@ -345,7 +344,7 @@ public class Basic {
URLClassLoader loader = getLoader(baseURL);
httpServer.reset();
- Class ADotAKlass = null;
+ Class<?> ADotAKlass = null;
try {
ADotAKlass = loader.loadClass("a.A");
} catch (ClassNotFoundException cnfe) {
diff --git a/jdk/test/sun/net/www/http/HttpClient/CookieHttpClientTest.java b/jdk/test/sun/net/www/http/HttpClient/CookieHttpClientTest.java
new file mode 100644
index 0000000..e2c1422
--- /dev/null
+++ b/jdk/test/sun/net/www/http/HttpClient/CookieHttpClientTest.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7129083
+ * @summary Cookiemanager does not store cookies if url is read
+ * before setting cookiemanager
+ */
+
+import java.net.CookieHandler;
+import java.net.CookieManager;
+import java.net.CookiePolicy;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.net.URL;
+import java.io.InputStream;
+import java.io.IOException;
+
+public class CookieHttpClientTest implements Runnable {
+ final ServerSocket ss;
+ static final int TIMEOUT = 10 * 1000;
+
+ static final String replyString = "HTTP/1.1 200 OK\r\n" +
+ "Set-Cookie: name=test\r\n" +
+ "Content-Length: 10\r\n\r\n" +
+ "1234567890";
+
+ // HTTP server, reply with Set-Cookie
+ @Override
+ public void run() {
+ Socket s = null;
+ try {
+ s = ss.accept();
+ s.setSoTimeout(TIMEOUT);
+ readOneRequest(s.getInputStream());
+ s.getOutputStream().write(replyString.getBytes());
+
+ readOneRequest(s.getInputStream());
+ s.getOutputStream().write(replyString.getBytes());
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ try { if (s != null) { s.close(); } ss.close(); }
+ catch (IOException unused) { /* gulp!burp! */ }
+ }
+ }
+
+ static final byte[] requestEnd = new byte[] {'\r', '\n', '\r', '\n' };
+
+ // Read until the end of a HTTP request
+ static void readOneRequest(InputStream is) throws IOException {
+ int requestEndCount = 0, r;
+ while ((r = is.read()) != -1) {
+ if (r == requestEnd[requestEndCount]) {
+ requestEndCount++;
+ if (requestEndCount == 4) {
+ break;
+ }
+ } else {
+ requestEndCount = 0;
+ }
+ }
+ }
+
+ CookieHttpClientTest() throws Exception {
+ /* start the server */
+ ss = new ServerSocket(0);
+ (new Thread(this)).start();
+
+ URL url = new URL("http://localhost:" + ss.getLocalPort() +"/");
+
+ // Run without a CookieHandler first
+ InputStream in = url.openConnection().getInputStream();
+ while (in.read() != -1); // read response body so connection can be reused
+
+ // Set a CookeHandler and retest using the HttpClient from the KAC
+ CookieManager manager = new CookieManager(null, CookiePolicy.ACCEPT_ALL);
+ CookieHandler.setDefault(manager);
+
+ in = url.openConnection().getInputStream();
+ while (in.read() != -1);
+
+ if (manager.getCookieStore().getCookies().isEmpty()) {
+ throw new RuntimeException("Failed: No cookies in the cookie Handler.");
+ }
+ }
+
+ public static void main(String args[]) throws Exception {
+ new CookieHttpClientTest();
+ }
+}
diff --git a/jdk/test/sun/net/www/protocol/http/HttpOnly.java b/jdk/test/sun/net/www/protocol/http/HttpOnly.java
new file mode 100644
index 0000000..60596ba
--- /dev/null
+++ b/jdk/test/sun/net/www/protocol/http/HttpOnly.java
@@ -0,0 +1,242 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+/**
+ * @test
+ * @bug 7095980
+ * @summary Ensure HttpURLConnection (and supporting APIs) don't expose
+ * HttpOnly cookies
+ */
+
+import java.io.IOException;
+import java.net.CookieHandler;
+import java.net.CookieManager;
+import java.net.CookiePolicy;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.URI;
+import java.net.HttpURLConnection;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import com.sun.net.httpserver.Headers;
+import com.sun.net.httpserver.HttpExchange;
+import com.sun.net.httpserver.HttpHandler;
+import com.sun.net.httpserver.HttpServer;
+
+/*
+ * 1) start the HTTP server
+ * 2) populate cookie store with HttpOnly cookies
+ * 3) make HTTP request that should contain HttpOnly cookies
+ * 4) check HttpOnly cookies received by server
+ * 5) server reply with Set-Cookie containing HttpOnly cookie
+ * 6) check HttpOnly cookies are not accessible from Http client
+ */
+
+public class HttpOnly {
+
+ static final String URI_PATH = "/xxyyzz/";
+ static final int SESSION_ID = 12345;
+
+ void test(String[] args) throws Exception {
+ HttpServer server = startHttpServer();
+ CookieHandler previousHandler = CookieHandler.getDefault();
+ try {
+ InetSocketAddress address = server.getAddress();
+ URI uri = new URI("http://" + InetAddress.getLocalHost().getHostAddress()
+ + ":" + address.getPort() + URI_PATH);
+ populateCookieStore(uri);
+ doClient(uri);
+ } finally {
+ CookieHandler.setDefault(previousHandler);
+ server.stop(0);
+ }
+ }
+
+ void populateCookieStore(URI uri)
+ throws IOException {
+
+ CookieManager cm = new CookieManager(null, CookiePolicy.ACCEPT_ALL);
+ CookieHandler.setDefault(cm);
+ Map<String,List<String>> header = new HashMap<>();
+ List<String> values = new ArrayList<>();
+ values.add("JSESSIONID=" + SESSION_ID + "; version=1; Path="
+ + URI_PATH +"; HttpOnly");
+ values.add("CUSTOMER=WILE_E_COYOTE; version=1; Path=" + URI_PATH);
+ header.put("Set-Cookie", values);
+ cm.put(uri, header);
+ }
+
+ void doClient(URI uri) throws Exception {
+ HttpURLConnection uc = (HttpURLConnection) uri.toURL().openConnection();
+ int resp = uc.getResponseCode();
+ check(resp == 200,
+ "Unexpected response code. Expected 200, got " + resp);
+
+ // TEST 1: check getRequestProperty doesn't return the HttpOnly cookie
+ // In fact, that it doesn't return any automatically set cookies.
+ String cookie = uc.getRequestProperty("Cookie");
+ check(cookie == null,
+ "Cookie header returned from getRequestProperty, value " + cookie);
+
+ // TEST 2: check getRequestProperties doesn't return the HttpOnly cookie.
+ // In fact, that it doesn't return any automatically set cookies.
+ Map<String,List<String>> reqHeaders = uc.getRequestProperties();
+ Set<Map.Entry<String,List<String>>> entries = reqHeaders.entrySet();
+ for (Map.Entry<String,List<String>> entry : entries) {
+ String header = entry.getKey();
+ check(!"Cookie".equalsIgnoreCase(header),
+ "Cookie header returned from getRequestProperties, value " +
+ entry.getValue());
+ }
+
+ // TEST 3: check getHeaderField doesn't return Set-Cookie with HttpOnly
+ String setCookie = uc.getHeaderField("Set-Cookie");
+ if (setCookie != null) {
+ debug("Set-Cookie:" + setCookie);
+ check(!setCookie.toLowerCase().contains("httponly"),
+ "getHeaderField returned Set-Cookie header with HttpOnly, " +
+ "value = " + setCookie);
+ }
+
+ // TEST 3.5: check getHeaderField doesn't return Set-Cookie2 with HttpOnly
+ String setCookie2 = uc.getHeaderField("Set-Cookie2");
+ if (setCookie2 != null) {
+ debug("Set-Cookie2:" + setCookie2);
+ check(!setCookie2.toLowerCase().contains("httponly"),
+ "getHeaderField returned Set-Cookie2 header with HttpOnly, " +
+ "value = " + setCookie2);
+ }
+
+ // TEST 4: check getHeaderFields doesn't return Set-Cookie
+ // or Set-Cookie2 headers with HttpOnly
+ Map<String,List<String>> respHeaders = uc.getHeaderFields();
+ Set<Map.Entry<String,List<String>>> respEntries = respHeaders.entrySet();
+ for (Map.Entry<String,List<String>> entry : respEntries) {
+ String header = entry.getKey();
+ if ("Set-Cookie".equalsIgnoreCase(header)) {
+ List<String> setCookieValues = entry.getValue();
+ debug("Set-Cookie:" + setCookieValues);
+ for (String value : setCookieValues)
+ check(!value.toLowerCase().contains("httponly"),
+ "getHeaderFields returned Set-Cookie header with HttpOnly, "
+ + "value = " + value);
+ }
+ if ("Set-Cookie2".equalsIgnoreCase(header)) {
+ List<String> setCookieValues = entry.getValue();
+ debug("Set-Cookie2:" + setCookieValues);
+ for (String value : setCookieValues)
+ check(!value.toLowerCase().contains("httponly"),
+ "getHeaderFields returned Set-Cookie2 header with HttpOnly, "
+ + "value = " + value);
+ }
+ }
+
+ // Now add some user set cookies into the mix.
+ uc = (HttpURLConnection) uri.toURL().openConnection();
+ uc.addRequestProperty("Cookie", "CUSTOMER_ID=CHEGAR;");
+ resp = uc.getResponseCode();
+ check(resp == 200,
+ "Unexpected response code. Expected 200, got " + resp);
+
+ // TEST 5: check getRequestProperty doesn't return the HttpOnly cookie
+ cookie = uc.getRequestProperty("Cookie");
+ check(!cookie.toLowerCase().contains("httponly"),
+ "HttpOnly cookie returned from getRequestProperty, value " + cookie);
+
+ // TEST 6: check getRequestProperties doesn't return the HttpOnly cookie.
+ reqHeaders = uc.getRequestProperties();
+ entries = reqHeaders.entrySet();
+ for (Map.Entry<String,List<String>> entry : entries) {
+ String header = entry.getKey();
+ if ("Cookie".equalsIgnoreCase(header)) {
+ for (String val : entry.getValue())
+ check(!val.toLowerCase().contains("httponly"),
+ "HttpOnly cookie returned from getRequestProperties," +
+ " value " + val);
+ }
+ }
+ }
+
+ // HTTP Server
+ HttpServer startHttpServer() throws IOException {
+ HttpServer httpServer = HttpServer.create(new InetSocketAddress(0), 0);
+ httpServer.createContext(URI_PATH, new SimpleHandler());
+ httpServer.start();
+ return httpServer;
+ }
+
+ class SimpleHandler implements HttpHandler {
+ @Override
+ public void handle(HttpExchange t) throws IOException {
+ Headers reqHeaders = t.getRequestHeaders();
+
+ // some small sanity check
+ List<String> cookies = reqHeaders.get("Cookie");
+ for (String cookie : cookies) {
+ if (!cookie.contains("JSESSIONID")
+ || !cookie.contains("WILE_E_COYOTE"))
+ t.sendResponseHeaders(400, -1);
+ }
+
+ // return some cookies so we can check getHeaderField(s)
+ Headers respHeaders = t.getResponseHeaders();
+ List<String> values = new ArrayList<>();
+ values.add("ID=JOEBLOGGS; version=1; Path=" + URI_PATH);
+ values.add("NEW_JSESSIONID=" + (SESSION_ID+1) + "; version=1; Path="
+ + URI_PATH +"; HttpOnly");
+ values.add("NEW_CUSTOMER=WILE_E_COYOTE2; version=1; Path=" + URI_PATH);
+ respHeaders.put("Set-Cookie", values);
+ values = new ArrayList<>();
+ values.add("COOKIE2_CUSTOMER=WILE_E_COYOTE2; version=1; Path="
+ + URI_PATH);
+ respHeaders.put("Set-Cookie2", values);
+ values.add("COOKIE2_JSESSIONID=" + (SESSION_ID+100)
+ + "; version=1; Path=" + URI_PATH +"; HttpOnly");
+ respHeaders.put("Set-Cookie2", values);
+
+ t.sendResponseHeaders(200, -1);
+ t.close();
+ }
+ }
+
+ volatile int passed = 0, failed = 0;
+ boolean debug = false;
+ void pass() {passed++;}
+ void fail() {failed++;}
+ void fail(String msg) {System.err.println(msg); fail();}
+ void unexpected(Throwable t) {failed++; t.printStackTrace();}
+ void debug(String message) { if (debug) System.out.println(message); }
+ void check(boolean cond, String failMessage) {if (cond) pass(); else fail(failMessage);}
+ public static void main(String[] args) throws Throwable {
+ Class<?> k = new Object(){}.getClass().getEnclosingClass();
+ try {k.getMethod("instanceMain",String[].class)
+ .invoke( k.newInstance(), (Object) args);}
+ catch (Throwable e) {throw e.getCause();}}
+ public void instanceMain(String[] args) throws Throwable {
+ try {test(args);} catch (Throwable t) {unexpected(t);}
+ System.out.printf("%nPassed = %d, failed = %d%n%n", passed, failed);
+ if (failed > 0) throw new AssertionError("Some tests failed");}
+}
+
diff --git a/jdk/test/sun/security/krb5/auto/Context.java b/jdk/test/sun/security/krb5/auto/Context.java
index eb2a94a..c4c0cbc 100644
--- a/jdk/test/sun/security/krb5/auto/Context.java
+++ b/jdk/test/sun/security/krb5/auto/Context.java
@@ -76,7 +76,6 @@ public class Context {
private Subject s;
private ExtendedGSSContext x;
- private boolean f; // context established?
private String name;
private GSSCredential cred; // see static method delegated().
@@ -194,7 +193,6 @@ public class Context {
return null;
}
}, null);
- f = false;
}
/**
@@ -228,7 +226,6 @@ public class Context {
return null;
}
}, null);
- f = false;
}
/**
@@ -502,6 +499,29 @@ public class Context {
return sb.toString();
}
+ public byte[] take(final byte[] in) throws Exception {
+ return doAs(new Action() {
+ @Override
+ public byte[] run(Context me, byte[] input) throws Exception {
+ if (me.x.isEstablished()) {
+ System.out.println(name + " side established");
+ if (input != null) {
+ throw new Exception("Context established but " +
+ "still receive token at " + name);
+ }
+ return null;
+ } else {
+ System.out.println(name + " call initSecContext");
+ if (me.x.isInitiator()) {
+ return me.x.initSecContext(input, 0, input.length);
+ } else {
+ return me.x.acceptSecContext(input, 0, input.length);
+ }
+ }
+ }
+ }, in);
+ }
+
/**
* Handshake (security context establishment process) between two Contexts
* @param c the initiator
@@ -510,54 +530,9 @@ public class Context {
*/
static public void handshake(final Context c, final Context s) throws Exception {
byte[] t = new byte[0];
- while (!c.f || !s.f) {
- t = c.doAs(new Action() {
- @Override
- public byte[] run(Context me, byte[] input) throws Exception {
- if (me.x.isEstablished()) {
- me.f = true;
- System.out.println(c.name + " side established");
- if (input != null) {
- throw new Exception("Context established but " +
- "still receive token at " + c.name);
- }
- return null;
- } else {
- System.out.println(c.name + " call initSecContext");
- if (usingStream) {
- ByteArrayOutputStream os = new ByteArrayOutputStream();
- me.x.initSecContext(new ByteArrayInputStream(input), os);
- return os.size() == 0 ? null : os.toByteArray();
- } else {
- return me.x.initSecContext(input, 0, input.length);
- }
- }
- }
- }, t);
-
- t = s.doAs(new Action() {
- @Override
- public byte[] run(Context me, byte[] input) throws Exception {
- if (me.x.isEstablished()) {
- me.f = true;
- System.out.println(s.name + " side established");
- if (input != null) {
- throw new Exception("Context established but " +
- "still receive token at " + s.name);
- }
- return null;
- } else {
- System.out.println(s.name + " called acceptSecContext");
- if (usingStream) {
- ByteArrayOutputStream os = new ByteArrayOutputStream();
- me.x.acceptSecContext(new ByteArrayInputStream(input), os);
- return os.size() == 0 ? null : os.toByteArray();
- } else {
- return me.x.acceptSecContext(input, 0, input.length);
- }
- }
- }
- }, t);
+ while (!c.x.isEstablished() || !s.x.isEstablished()) {
+ t = c.take(t);
+ t = s.take(t);
}
}
}
diff --git a/jdk/test/sun/security/krb5/auto/CrossRealm.java b/jdk/test/sun/security/krb5/auto/CrossRealm.java
index ecaafed..21927b6 100644
--- a/jdk/test/sun/security/krb5/auto/CrossRealm.java
+++ b/jdk/test/sun/security/krb5/auto/CrossRealm.java
@@ -65,7 +65,6 @@ public class CrossRealm implements CallbackHandler {
"forwardable=true",
"[domain_realm]",
".snake.hole=SNAKE.HOLE");
- new File("krb5-localkdc.conf").deleteOnExit();
System.setProperty("java.security.krb5.conf", "krb5-localkdc.conf");
}
@@ -73,7 +72,6 @@ public class CrossRealm implements CallbackHandler {
Security.setProperty("auth.login.defaultCallbackHandler", "CrossRealm");
System.setProperty("java.security.auth.login.config", "jaas-localkdc.conf");
System.setProperty("javax.security.auth.useSubjectCredsOnly", "false");
- new File("jaas-localkdc.conf").deleteOnExit();
FileOutputStream fos = new FileOutputStream("jaas-localkdc.conf");
fos.write(("com.sun.security.jgss.krb5.initiate {\n" +
" com.sun.security.auth.module.Krb5LoginModule\n" +
diff --git a/jdk/test/sun/security/krb5/auto/HttpNegotiateServer.java b/jdk/test/sun/security/krb5/auto/HttpNegotiateServer.java
index aab6b92..19f3355 100644
--- a/jdk/test/sun/security/krb5/auto/HttpNegotiateServer.java
+++ b/jdk/test/sun/security/krb5/auto/HttpNegotiateServer.java
@@ -178,7 +178,6 @@ public class HttpNegotiateServer {
" com.sun.security.auth.module.Krb5LoginModule required;\n};\n"
).getBytes());
fos.close();
- f.deleteOnExit();
HttpServer h1 = httpd("Negotiate", false,
"HTTP/" + WEB_HOST + "@" + REALM_WEB, KRB5_TAB);
diff --git a/jdk/test/sun/security/krb5/auto/KDC.java b/jdk/test/sun/security/krb5/auto/KDC.java
index 9d924f6..13cad02 100644
--- a/jdk/test/sun/security/krb5/auto/KDC.java
+++ b/jdk/test/sun/security/krb5/auto/KDC.java
@@ -1071,7 +1071,6 @@ public class KDC {
}
cache.update(credentials);
cache.save();
- new File(ccache).deleteOnExit();
}
return result;
diff --git a/jdk/test/sun/security/krb5/auto/OkAsDelegateXRealm.java b/jdk/test/sun/security/krb5/auto/OkAsDelegateXRealm.java
index e5c7527..7d85599 100644
--- a/jdk/test/sun/security/krb5/auto/OkAsDelegateXRealm.java
+++ b/jdk/test/sun/security/krb5/auto/OkAsDelegateXRealm.java
@@ -109,9 +109,6 @@ public class OkAsDelegateXRealm implements CallbackHandler {
System.setProperty("java.security.auth.login.config", "jaas-localkdc.conf");
- new File("krb5-localkdc.conf").deleteOnExit();
- new File("localkdc.ktab").deleteOnExit();
- new File("jaas-localkdc.conf").deleteOnExit();
Config.refresh();
Context c = Context.fromJAAS("com.sun.security.jgss.krb5.initiate");
diff --git a/jdk/test/sun/security/krb5/auto/OneKDC.java b/jdk/test/sun/security/krb5/auto/OneKDC.java
index 79a8830..76841af 100644
--- a/jdk/test/sun/security/krb5/auto/OneKDC.java
+++ b/jdk/test/sun/security/krb5/auto/OneKDC.java
@@ -76,8 +76,6 @@ public class OneKDC extends KDC {
Config.refresh();
writeKtab(KTAB);
- new File(KRB5_CONF).deleteOnExit();
- new File(KTAB).deleteOnExit();
}
/**
@@ -114,7 +112,6 @@ public class OneKDC extends KDC {
" isInitiator=false;\n};\n"
).getBytes());
fos.close();
- f.deleteOnExit();
Security.setProperty("auth.login.defaultCallbackHandler", "OneKDC$CallbackForClient");
}
diff --git a/jdk/test/sun/security/krb5/auto/ReplayCache.java b/jdk/test/sun/security/krb5/auto/ReplayCache.java
new file mode 100644
index 0000000..1f6411c
--- /dev/null
+++ b/jdk/test/sun/security/krb5/auto/ReplayCache.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2012 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 7118809
+ * @run main/othervm ReplayCache
+ * @summary rcache deadlock
+ */
+
+import org.ietf.jgss.GSSException;
+import sun.security.jgss.GSSUtil;
+import sun.security.krb5.KrbException;
+import sun.security.krb5.internal.Krb5;
+
+public class ReplayCache {
+
+ public static void main(String[] args)
+ throws Exception {
+
+ new OneKDC(null).writeJAASConf();
+
+ Context c, s;
+ c = Context.fromJAAS("client");
+ s = Context.fromJAAS("server");
+
+ c.startAsClient(OneKDC.SERVER, GSSUtil.GSS_KRB5_MECH_OID);
+ s.startAsServer(GSSUtil.GSS_KRB5_MECH_OID);
+
+ byte[] first = c.take(new byte[0]);
+ s.take(first);
+
+ s.startAsServer(GSSUtil.GSS_KRB5_MECH_OID);
+ try {
+ s.take(first); // Replay the last token sent
+ throw new Exception("This method should fail");
+ } catch (GSSException gsse) {
+ KrbException ke = (KrbException)gsse.getCause();
+ if (ke.returnCode() != Krb5.KRB_AP_ERR_REPEAT) {
+ throw gsse;
+ }
+ }
+ }
+}
diff --git a/jdk/test/sun/security/krb5/auto/SSL.java b/jdk/test/sun/security/krb5/auto/SSL.java
index eca5350..496097b 100644
--- a/jdk/test/sun/security/krb5/auto/SSL.java
+++ b/jdk/test/sun/security/krb5/auto/SSL.java
@@ -96,7 +96,6 @@ public class SSL {
" storeKey=true;\n};\n"
).getBytes());
fos.close();
- f.deleteOnExit();
Context c;
final Context s = Context.fromJAAS("ssl");
diff --git a/jdk/test/sun/security/krb5/auto/TcpTimeout.java b/jdk/test/sun/security/krb5/auto/TcpTimeout.java
index 9530803..df71d7c 100644
--- a/jdk/test/sun/security/krb5/auto/TcpTimeout.java
+++ b/jdk/test/sun/security/krb5/auto/TcpTimeout.java
@@ -24,7 +24,7 @@
/*
* @test
* @bug 6952519
- * @run main/timeout=40/othervm TcpTimeout
+ * @run main/othervm TcpTimeout
* @summary kdc_timeout is not being honoured when using TCP
*/
@@ -36,30 +36,19 @@ public class TcpTimeout {
public static void main(String[] args)
throws Exception {
+ // Set debug to grab debug output like ">>> KDCCommunication"
System.setProperty("sun.security.krb5.debug", "true");
- final int p1 = 10000 + new java.util.Random().nextInt(10000);
- final int p2 = 20000 + new java.util.Random().nextInt(10000);
- final int p3 = 30000 + new java.util.Random().nextInt(10000);
- KDC k = new KDC(OneKDC.REALM, OneKDC.KDCHOST, p3, true);
+ // Called before new ServerSocket on p1 and p2 to make sure
+ // customized nameservice is used
+ KDC k = new KDC(OneKDC.REALM, OneKDC.KDCHOST, 0, true);
+ int p3 = k.getPort();
k.addPrincipal(OneKDC.USER, OneKDC.PASS);
k.addPrincipalRandKey("krbtgt/" + OneKDC.REALM);
// Start two listener that does not communicate, simulate timeout
- new Thread() {
- public void run() {
- try {
- new ServerSocket(p1).accept();
- } catch (Exception e) {
- }}
- }.start();
- new Thread() {
- public void run() {
- try {
- new ServerSocket(p2).accept();
- } catch (Exception e) {
- }}
- }.start();
+ int p1 = new ServerSocket(0).getLocalPort();
+ int p2 = new ServerSocket(0).getLocalPort();
FileWriter fw = new FileWriter("alternative-krb5.conf");
@@ -78,13 +67,15 @@ public class TcpTimeout {
System.setProperty("java.security.krb5.conf", "alternative-krb5.conf");
Config.refresh();
+ System.out.println("Ports opened on " + p1 + ", " + p2 + ", " + p3);
+
// The correct behavior should be:
// 5 sec on p1, 5 sec on p1, fail
// 5 sec on p2, 5 sec on p2, fail
// p3 ok, p3 ok again for preauth.
// The total time should be 20sec + 2x. x is processing time for AS-REQ.
int count = 6;
- long start = System.nanoTime();
+ long start = System.currentTimeMillis();
ByteArrayOutputStream bo = new ByteArrayOutputStream();
PrintStream oldout = System.out;
@@ -103,36 +94,9 @@ public class TcpTimeout {
throw new Exception("Retry count is " + count + " less");
}
- long end = System.nanoTime();
- if ((end - start)/1000000000L < 20) {
- throw new Exception("Too fast? " + (end - start)/1000000000L);
+ long end = System.currentTimeMillis();
+ if ((end - start)/1000L < 20) {
+ throw new Exception("Too fast? " + (end - start)/1000L);
}
}
-
- private static KDC on(int p) throws Exception {
- KDC k = new KDC(OneKDC.REALM, OneKDC.KDCHOST, p, true);
- k.addPrincipal(OneKDC.USER, OneKDC.PASS);
- k.addPrincipalRandKey("krbtgt/" + OneKDC.REALM);
- return k;
- }
-
- private static void addFakeKDCs()
- throws Exception {
- BufferedReader fr = new BufferedReader(new FileReader(OneKDC.KRB5_CONF));
- FileWriter fw = new FileWriter("alternative-krb5.conf");
- while (true) {
- String s = fr.readLine();
- if (s == null) {
- break;
- }
- if (s.trim().startsWith("kdc = ")) {
- fw.write(" kdc = localhost:33333\n");
- fw.write(" kdc = localhost:22222\n");
- }
- fw.write(s + "\n");
- }
- fr.close();
- fw.close();
- sun.security.krb5.Config.refresh();
- }
}
diff --git a/jdk/test/sun/security/krb5/auto/W83.java b/jdk/test/sun/security/krb5/auto/W83.java
index 5c5e9af..8ac419b 100644
--- a/jdk/test/sun/security/krb5/auto/W83.java
+++ b/jdk/test/sun/security/krb5/auto/W83.java
@@ -52,8 +52,6 @@ public class W83 {
Config.refresh();
kdc.writeKtab(OneKDC.KTAB);
- new File(OneKDC.KRB5_CONF).deleteOnExit();
- new File(OneKDC.KTAB).deleteOnExit();
KeyTab ktab = KeyTab.getInstance(OneKDC.KTAB);
for (int etype: EType.getBuiltInDefaults()) {
diff --git a/jdk/test/sun/security/mscapi/ShortRSAKey1024.sh b/jdk/test/sun/security/mscapi/ShortRSAKey1024.sh
new file mode 100644
index 0000000..b446143
--- /dev/null
+++ b/jdk/test/sun/security/mscapi/ShortRSAKey1024.sh
@@ -0,0 +1,85 @@
+#!/bin/sh
+
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+
+# @test
+# @bug 7106773
+# @summary 512 bits RSA key cannot work with SHA384 and SHA512
+# @run shell ShortRSAKey1024.sh
+
+# set a few environment variables so that the shell-script can run stand-alone
+# in the source directory
+if [ "${TESTSRC}" = "" ] ; then
+ TESTSRC="."
+fi
+
+if [ "${TESTCLASSES}" = "" ] ; then
+ TESTCLASSES="."
+fi
+
+if [ "${TESTJAVA}" = "" ] ; then
+ echo "TESTJAVA not set. Test cannot execute."
+ echo "FAILED!!!"
+ exit 1
+fi
+
+OS=`uname -s`
+case "$OS" in
+ Windows* | CYGWIN* )
+
+ echo "Creating a temporary RSA keypair in the Windows-My store..."
+ ${TESTJAVA}/bin/keytool \
+ -genkeypair \
+ -storetype Windows-My \
+ -keyalg RSA \
+ -alias 7106773.1024 \
+ -keysize 1024 \
+ -dname "cn=localhost,c=US" \
+ -noprompt
+
+ echo
+ echo "Running the test..."
+ ${TESTJAVA}/bin/javac -d . ${TESTSRC}\\ShortRSAKeyWithinTLS.java
+ ${TESTJAVA}/bin/java ShortRSAKeyWithinTLS 7106773.1024 1024 \
+ TLSv1.2 TLS_DHE_RSA_WITH_AES_128_CBC_SHA
+
+ rc=$?
+
+ echo
+ echo "Removing the temporary RSA keypair from the Windows-My store..."
+ ${TESTJAVA}/bin/keytool \
+ -delete \
+ -storetype Windows-My \
+ -alias 7106773.1024
+
+ echo done.
+ exit $rc
+ ;;
+
+ * )
+ echo "This test is not intended for '$OS' - passing test"
+ exit 0
+ ;;
+esac
diff --git a/jdk/test/sun/security/mscapi/ShortRSAKey512.sh b/jdk/test/sun/security/mscapi/ShortRSAKey512.sh
new file mode 100644
index 0000000..e4cae40
--- /dev/null
+++ b/jdk/test/sun/security/mscapi/ShortRSAKey512.sh
@@ -0,0 +1,86 @@
+#!/bin/sh
+
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+
+# @test
+# @bug 7106773
+# @summary 512 bits RSA key cannot work with SHA384 and SHA512
+# @run shell ShortRSAKey512.sh
+
+# set a few environment variables so that the shell-script can run stand-alone
+# in the source directory
+if [ "${TESTSRC}" = "" ] ; then
+ TESTSRC="."
+fi
+
+if [ "${TESTCLASSES}" = "" ] ; then
+ TESTCLASSES="."
+fi
+
+if [ "${TESTJAVA}" = "" ] ; then
+ echo "TESTJAVA not set. Test cannot execute."
+ echo "FAILED!!!"
+ exit 1
+fi
+
+OS=`uname -s`
+case "$OS" in
+ Windows* | CYGWIN* )
+
+ echo "Creating a temporary RSA keypair in the Windows-My store..."
+ ${TESTJAVA}/bin/keytool \
+ -genkeypair \
+ -storetype Windows-My \
+ -keyalg RSA \
+ -alias 7106773.512 \
+ -keysize 512 \
+ -dname "cn=localhost,c=US" \
+ -noprompt
+
+ echo
+ echo "Running the test..."
+ ${TESTJAVA}/bin/javac -d . ${TESTSRC}\\ShortRSAKeyWithinTLS.java
+ ${TESTJAVA}/bin/java ShortRSAKeyWithinTLS 7106773.512 512 \
+ TLSv1.2 TLS_DHE_RSA_WITH_AES_128_CBC_SHA
+
+
+ rc=$?
+
+ echo
+ echo "Removing the temporary RSA keypair from the Windows-My store..."
+ ${TESTJAVA}/bin/keytool \
+ -delete \
+ -storetype Windows-My \
+ -alias 7106773.512
+
+ echo done.
+ exit $rc
+ ;;
+
+ * )
+ echo "This test is not intended for '$OS' - passing test"
+ exit 0
+ ;;
+esac
diff --git a/jdk/test/sun/security/mscapi/ShortRSAKey768.sh b/jdk/test/sun/security/mscapi/ShortRSAKey768.sh
new file mode 100644
index 0000000..a81903b
--- /dev/null
+++ b/jdk/test/sun/security/mscapi/ShortRSAKey768.sh
@@ -0,0 +1,85 @@
+#!/bin/sh
+
+#
+# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+
+# @test
+# @bug 7106773
+# @summary 512 bits RSA key cannot work with SHA384 and SHA512
+# @run shell ShortRSAKey768.sh
+
+# set a few environment variables so that the shell-script can run stand-alone
+# in the source directory
+if [ "${TESTSRC}" = "" ] ; then
+ TESTSRC="."
+fi
+
+if [ "${TESTCLASSES}" = "" ] ; then
+ TESTCLASSES="."
+fi
+
+if [ "${TESTJAVA}" = "" ] ; then
+ echo "TESTJAVA not set. Test cannot execute."
+ echo "FAILED!!!"
+ exit 1
+fi
+
+OS=`uname -s`
+case "$OS" in
+ Windows* | CYGWIN* )
+
+ echo "Creating a temporary RSA keypair in the Windows-My store..."
+ ${TESTJAVA}/bin/keytool \
+ -genkeypair \
+ -storetype Windows-My \
+ -keyalg RSA \
+ -alias 7106773.768 \
+ -keysize 768 \
+ -dname "cn=localhost,c=US" \
+ -noprompt
+
+ echo
+ echo "Running the test..."
+ ${TESTJAVA}/bin/javac -d . ${TESTSRC}\\ShortRSAKeyWithinTLS.java
+ ${TESTJAVA}/bin/java ShortRSAKeyWithinTLS 7106773.768 768 \
+ TLSv1.2 TLS_DHE_RSA_WITH_AES_128_CBC_SHA
+
+ rc=$?
+
+ echo
+ echo "Removing the temporary RSA keypair from the Windows-My store..."
+ ${TESTJAVA}/bin/keytool \
+ -delete \
+ -storetype Windows-My \
+ -alias 7106773.768
+
+ echo done.
+ exit $rc
+ ;;
+
+ * )
+ echo "This test is not intended for '$OS' - passing test"
+ exit 0
+ ;;
+esac
diff --git a/jdk/test/sun/security/mscapi/ShortRSAKeyWithinTLS.java b/jdk/test/sun/security/mscapi/ShortRSAKeyWithinTLS.java
new file mode 100644
index 0000000..e4f7eb1
--- /dev/null
+++ b/jdk/test/sun/security/mscapi/ShortRSAKeyWithinTLS.java
@@ -0,0 +1,355 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.io.*;
+import java.net.*;
+import java.util.*;
+import java.security.*;
+import javax.net.*;
+import javax.net.ssl.*;
+import java.lang.reflect.*;
+
+import sun.security.util.KeyLength;
+
+public class ShortRSAKeyWithinTLS {
+
+ /*
+ * =============================================================
+ * Set the various variables needed for the tests, then
+ * specify what tests to run on each side.
+ */
+
+ /*
+ * Should we run the client or server in a separate thread?
+ * Both sides can throw exceptions, but do you have a preference
+ * as to which side should be the main thread.
+ */
+ static boolean separateServerThread = false;
+
+ /*
+ * Is the server ready to serve?
+ */
+ volatile static boolean serverReady = false;
+
+ /*
+ * Turn on SSL debugging?
+ */
+ static boolean debug = false;
+
+ /*
+ * If the client or server is doing some kind of object creation
+ * that the other side depends on, and that thread prematurely
+ * exits, you may experience a hang. The test harness will
+ * terminate all hung threads after its timeout has expired,
+ * currently 3 minutes by default, but you might try to be
+ * smart about it....
+ */
+
+ /*
+ * Define the server side of the test.
+ *
+ * If the server prematurely exits, serverReady will be set to true
+ * to avoid infinite hangs.
+ */
+ void doServerSide() throws Exception {
+
+ // load the key store
+ KeyStore ks = KeyStore.getInstance("Windows-MY", "SunMSCAPI");
+ ks.load(null, null);
+ System.out.println("Loaded keystore: Windows-MY");
+
+ // check key size
+ checkKeySize(ks);
+
+ // initialize the SSLContext
+ KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
+ kmf.init(ks, null);
+
+ TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
+ tmf.init(ks);
+
+ SSLContext ctx = SSLContext.getInstance("TLS");
+ ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
+
+ ServerSocketFactory ssf = ctx.getServerSocketFactory();
+ SSLServerSocket sslServerSocket = (SSLServerSocket)
+ ssf.createServerSocket(serverPort);
+ sslServerSocket.setNeedClientAuth(true);
+ serverPort = sslServerSocket.getLocalPort();
+ System.out.println("serverPort = " + serverPort);
+
+ /*
+ * Signal Client, we're ready for his connect.
+ */
+ serverReady = true;
+
+ SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
+ InputStream sslIS = sslSocket.getInputStream();
+ OutputStream sslOS = sslSocket.getOutputStream();
+
+ sslIS.read();
+ sslOS.write(85);
+ sslOS.flush();
+
+ sslSocket.close();
+ }
+
+ /*
+ * Define the client side of the test.
+ *
+ * If the server prematurely exits, serverReady will be set to true
+ * to avoid infinite hangs.
+ */
+ void doClientSide() throws Exception {
+
+ /*
+ * Wait for server to get started.
+ */
+ while (!serverReady) {
+ Thread.sleep(50);
+ }
+
+ // load the key store
+ KeyStore ks = KeyStore.getInstance("Windows-MY", "SunMSCAPI");
+ ks.load(null, null);
+ System.out.println("Loaded keystore: Windows-MY");
+
+ // initialize the SSLContext
+ KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
+ kmf.init(ks, null);
+
+ TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
+ tmf.init(ks);
+
+ SSLContext ctx = SSLContext.getInstance("TLS");
+ ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
+
+ SSLSocketFactory sslsf = ctx.getSocketFactory();
+ SSLSocket sslSocket = (SSLSocket)
+ sslsf.createSocket("localhost", serverPort);
+
+ if (clientProtocol != null) {
+ sslSocket.setEnabledProtocols(new String[] {clientProtocol});
+ }
+
+ if (clientCiperSuite != null) {
+ sslSocket.setEnabledCipherSuites(new String[] {clientCiperSuite});
+ }
+
+ InputStream sslIS = sslSocket.getInputStream();
+ OutputStream sslOS = sslSocket.getOutputStream();
+
+ sslOS.write(280);
+ sslOS.flush();
+ sslIS.read();
+
+ sslSocket.close();
+ }
+
+ private void checkKeySize(KeyStore ks) throws Exception {
+ PrivateKey privateKey = null;
+ PublicKey publicKey = null;
+
+ if (ks.containsAlias(keyAlias)) {
+ System.out.println("Loaded entry: " + keyAlias);
+ privateKey = (PrivateKey)ks.getKey(keyAlias, null);
+ publicKey = (PublicKey)ks.getCertificate(keyAlias).getPublicKey();
+
+ int privateKeySize = KeyLength.getKeySize(privateKey);
+ if (privateKeySize != keySize) {
+ throw new Exception("Expected key size is " + keySize +
+ ", but the private key size is " + privateKeySize);
+ }
+
+ int publicKeySize = KeyLength.getKeySize(publicKey);
+ if (publicKeySize != keySize) {
+ throw new Exception("Expected key size is " + keySize +
+ ", but the public key size is " + publicKeySize);
+ }
+ }
+ }
+
+ /*
+ * =============================================================
+ * The remainder is just support stuff
+ */
+
+ // use any free port by default
+ volatile int serverPort = 0;
+
+ volatile Exception serverException = null;
+ volatile Exception clientException = null;
+
+ private static String keyAlias;
+ private static int keySize;
+ private static String clientProtocol = null;
+ private static String clientCiperSuite = null;
+
+ private static void parseArguments(String[] args) {
+ keyAlias = args[0];
+ keySize = Integer.parseInt(args[1]);
+
+ if (args.length > 2) {
+ clientProtocol = args[2];
+ }
+
+ if (args.length > 3) {
+ clientCiperSuite = args[3];
+ }
+ }
+
+ public static void main(String[] args) throws Exception {
+ if (debug) {
+ System.setProperty("javax.net.debug", "all");
+ }
+
+ // Get the customized arguments.
+ parseArguments(args);
+
+ new ShortRSAKeyWithinTLS();
+ }
+
+ Thread clientThread = null;
+ Thread serverThread = null;
+
+ /*
+ * Primary constructor, used to drive remainder of the test.
+ *
+ * Fork off the other side, then do your work.
+ */
+ ShortRSAKeyWithinTLS() throws Exception {
+ try {
+ if (separateServerThread) {
+ startServer(true);
+ startClient(false);
+ } else {
+ startClient(true);
+ startServer(false);
+ }
+ } catch (Exception e) {
+ // swallow for now. Show later
+ }
+
+ /*
+ * Wait for other side to close down.
+ */
+ if (separateServerThread) {
+ serverThread.join();
+ } else {
+ clientThread.join();
+ }
+
+ /*
+ * When we get here, the test is pretty much over.
+ * Which side threw the error?
+ */
+ Exception local;
+ Exception remote;
+ String whichRemote;
+
+ if (separateServerThread) {
+ remote = serverException;
+ local = clientException;
+ whichRemote = "server";
+ } else {
+ remote = clientException;
+ local = serverException;
+ whichRemote = "client";
+ }
+
+ /*
+ * If both failed, return the curthread's exception, but also
+ * print the remote side Exception
+ */
+ if ((local != null) && (remote != null)) {
+ System.out.println(whichRemote + " also threw:");
+ remote.printStackTrace();
+ System.out.println();
+ throw local;
+ }
+
+ if (remote != null) {
+ throw remote;
+ }
+
+ if (local != null) {
+ throw local;
+ }
+ }
+
+ void startServer(boolean newThread) throws Exception {
+ if (newThread) {
+ serverThread = new Thread() {
+ public void run() {
+ try {
+ doServerSide();
+ } catch (Exception e) {
+ /*
+ * Our server thread just died.
+ *
+ * Release the client, if not active already...
+ */
+ System.err.println("Server died...");
+ serverReady = true;
+ serverException = e;
+ }
+ }
+ };
+ serverThread.start();
+ } else {
+ try {
+ doServerSide();
+ } catch (Exception e) {
+ serverException = e;
+ } finally {
+ serverReady = true;
+ }
+ }
+ }
+
+ void startClient(boolean newThread) throws Exception {
+ if (newThread) {
+ clientThread = new Thread() {
+ public void run() {
+ try {
+ doClientSide();
+ } catch (Exception e) {
+ /*
+ * Our client thread just died.
+ */
+ System.err.println("Client died...");
+ clientException = e;
+ }
+ }
+ };
+ clientThread.start();
+ } else {
+ try {
+ doClientSide();
+ } catch (Exception e) {
+ clientException = e;
+ }
+ }
+ }
+}
+
diff --git a/jdk/test/sun/security/pkcs11/KeyStore/ClientAuth.java b/jdk/test/sun/security/pkcs11/KeyStore/ClientAuth.java
index 734bd74..b1174cd 100644
--- a/jdk/test/sun/security/pkcs11/KeyStore/ClientAuth.java
+++ b/jdk/test/sun/security/pkcs11/KeyStore/ClientAuth.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -155,6 +155,14 @@ public class ClientAuth extends PKCS11Test {
SSLSocket sslSocket = (SSLSocket)
sslsf.createSocket("localhost", serverPort);
+ if (clientProtocol != null) {
+ sslSocket.setEnabledProtocols(new String[] {clientProtocol});
+ }
+
+ if (clientCiperSuite != null) {
+ sslSocket.setEnabledCipherSuites(new String[] {clientCiperSuite});
+ }
+
InputStream sslIS = sslSocket.getInputStream();
OutputStream sslOS = sslSocket.getOutputStream();
@@ -176,7 +184,22 @@ public class ClientAuth extends PKCS11Test {
volatile Exception serverException = null;
volatile Exception clientException = null;
+ private static String clientProtocol = null;
+ private static String clientCiperSuite = null;
+
+ private static void parseArguments(String[] args) {
+ if (args.length > 0) {
+ clientProtocol = args[0];
+ }
+
+ if (args.length > 1) {
+ clientCiperSuite = args[1];
+ }
+ }
+
public static void main(String[] args) throws Exception {
+ // Get the customized arguments.
+ parseArguments(args);
main(new ClientAuth());
}
diff --git a/jdk/test/sun/security/pkcs11/KeyStore/ClientAuth.sh b/jdk/test/sun/security/pkcs11/KeyStore/ClientAuth.sh
index eda8177..0593ddf 100644
--- a/jdk/test/sun/security/pkcs11/KeyStore/ClientAuth.sh
+++ b/jdk/test/sun/security/pkcs11/KeyStore/ClientAuth.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -22,8 +22,9 @@
#
# @test
-# @bug 4938185
+# @bug 4938185 7106773
# @summary KeyStore support for NSS cert/key databases
+# 512 bits RSA key cannot work with SHA384 and SHA512
#
# @run shell ClientAuth.sh
@@ -126,6 +127,7 @@ ${TESTJAVA}${FS}bin${FS}javac \
${TESTSRC}${FS}ClientAuth.java
# run test
+echo "Run ClientAuth ..."
${TESTJAVA}${FS}bin${FS}java \
-classpath ${TESTCLASSES}${PS}${TESTSRC}${FS}loader.jar \
-DDIR=${TESTSRC}${FS}ClientAuthData${FS} \
@@ -140,5 +142,26 @@ ${TESTJAVA}${FS}bin${FS}java \
# save error status
status=$?
+# return if failed
+if [ "${status}" != "0" ] ; then
+ exit $status
+fi
+
+# run test with specified TLS protocol and cipher suite
+echo "Run ClientAuth TLSv1.2 TLS_DHE_RSA_WITH_AES_128_CBC_SHA"
+${TESTJAVA}${FS}bin${FS}java \
+ -classpath ${TESTCLASSES}${PS}${TESTSRC}${FS}loader.jar \
+ -DDIR=${TESTSRC}${FS}ClientAuthData${FS} \
+ -DCUSTOM_DB_DIR=${TESTCLASSES} \
+ -DCUSTOM_P11_CONFIG=${TESTSRC}${FS}ClientAuthData${FS}p11-nss.txt \
+ -DNO_DEFAULT=true \
+ -DNO_DEIMOS=true \
+ -Dtest.src=${TESTSRC} \
+ -Dtest.classes=${TESTCLASSES} \
+ ClientAuth TLSv1.2 TLS_DHE_RSA_WITH_AES_128_CBC_SHA
+
+# save error status
+status=$?
+
# return
exit $status
diff --git a/jdk/test/sun/security/pkcs11/MessageDigest/TestCloning.java b/jdk/test/sun/security/pkcs11/MessageDigest/TestCloning.java
new file mode 100644
index 0000000..b25acf0
--- /dev/null
+++ b/jdk/test/sun/security/pkcs11/MessageDigest/TestCloning.java
@@ -0,0 +1,141 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * @test
+ * @bug 6414899
+ * @summary Ensure the cloning functionality works.
+ * @author Valerie Peng
+ * @library ..
+ */
+
+import java.util.*;
+
+import java.security.*;
+
+public class TestCloning extends PKCS11Test {
+
+ private static final String[] ALGOS = {
+ "MD2", "MD5", "SHA1", "SHA-256", "SHA-384", "SHA-512"
+ };
+
+ public static void main(String[] args) throws Exception {
+ main(new TestCloning());
+ }
+
+ private static final byte[] data1 = new byte[10];
+ private static final byte[] data2 = new byte[10*1024];
+
+
+ public void main(Provider p) throws Exception {
+ Random r = new Random();
+ byte[] data1 = new byte[10];
+ byte[] data2 = new byte[2*1024];
+ r.nextBytes(data1);
+ r.nextBytes(data2);
+ System.out.println("Testing against provider " + p.getName());
+ for (int i = 0; i < ALGOS.length; i++) {
+ if (p.getService("MessageDigest", ALGOS[i]) == null) {
+ System.out.println(ALGOS[i] + " is not supported, skipping");
+ continue;
+ } else {
+ System.out.println("Testing " + ALGOS[i] + " of " + p.getName());
+ MessageDigest md = MessageDigest.getInstance(ALGOS[i], p);
+ try {
+ md = testCloning(md, p);
+ // repeat the test again after generating digest once
+ for (int j = 0; j < 10; j++) {
+ md = testCloning(md, p);
+ }
+ } catch (Exception ex) {
+ if (ALGOS[i] == "MD2" &&
+ p.getName().equalsIgnoreCase("SunPKCS11-NSS")) {
+ // known bug in NSS; ignore for now
+ System.out.println("Ignore Known bug in MD2 of NSS");
+ continue;
+ }
+ throw ex;
+ }
+ }
+ }
+ }
+
+ private static MessageDigest testCloning(MessageDigest mdObj, Provider p)
+ throws Exception {
+
+ // copy#0: clone at state BLANK w/o any data
+ MessageDigest mdCopy0 = (MessageDigest) mdObj.clone();
+
+ // copy#1: clone again at state BUFFERED w/ very short data
+ mdObj.update(data1);
+ mdCopy0.update(data1);
+ MessageDigest mdCopy1 = (MessageDigest) mdObj.clone();
+
+ // copy#2: clone again after updating it w/ long data to trigger
+ // the state into INIT
+ mdObj.update(data2);
+ mdCopy0.update(data2);
+ mdCopy1.update(data2);
+ MessageDigest mdCopy2 = (MessageDigest) mdObj.clone();
+
+ // copy#3: clone again after updating it w/ very short data
+ mdObj.update(data1);
+ mdCopy0.update(data1);
+ mdCopy1.update(data1);
+ mdCopy2.update(data1);
+ MessageDigest mdCopy3 = (MessageDigest) mdObj.clone();
+
+ // copy#4: clone again after updating it w/ long data
+ mdObj.update(data2);
+ mdCopy0.update(data2);
+ mdCopy1.update(data2);
+ mdCopy2.update(data2);
+ mdCopy3.update(data2);
+ MessageDigest mdCopy4 = (MessageDigest) mdObj.clone();
+
+ // check digest equalities
+ byte[] answer = mdObj.digest();
+ byte[] result0 = mdCopy0.digest();
+ byte[] result1 = mdCopy1.digest();
+ byte[] result2 = mdCopy2.digest();
+ byte[] result3 = mdCopy3.digest();
+ byte[] result4 = mdCopy4.digest();
+
+
+ check(answer, result0, "copy0");
+ check(answer, result1, "copy1");
+ check(answer, result2, "copy2");
+ check(answer, result3, "copy3");
+ check(answer, result4, "copy4");
+
+ return mdCopy3;
+ }
+
+ private static void check(byte[] d1, byte[] d2, String copyName)
+ throws Exception {
+ if (Arrays.equals(d1, d2) == false) {
+ throw new RuntimeException(copyName + " digest mismatch!");
+ }
+ }
+}
+
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/MD2InTrustAnchor.java b/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/MD2InTrustAnchor.java
new file mode 100644
index 0000000..0a25f7f
--- /dev/null
+++ b/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/MD2InTrustAnchor.java
@@ -0,0 +1,423 @@
+/*
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 7113275
+ * @summary compatibility issue with MD2 trust anchor and old X509TrustManager
+ *
+ * SunJSSE does not support dynamic system properties, no way to re-use
+ * system properties in samevm/agentvm mode.
+ * @run main/othervm MD2InTrustAnchor PKIX TLSv1.1
+ * @run main/othervm MD2InTrustAnchor SunX509 TLSv1.1
+ * @run main/othervm MD2InTrustAnchor PKIX TLSv1.2
+ * @run main/othervm MD2InTrustAnchor SunX509 TLSv1.2
+ */
+
+import java.net.*;
+import java.util.*;
+import java.io.*;
+import javax.net.ssl.*;
+import java.security.KeyStore;
+import java.security.KeyFactory;
+import java.security.cert.Certificate;
+import java.security.cert.CertificateFactory;
+import java.security.spec.*;
+import java.security.interfaces.*;
+import sun.misc.BASE64Decoder;
+
+
+public class MD2InTrustAnchor {
+
+ /*
+ * =============================================================
+ * Set the various variables needed for the tests, then
+ * specify what tests to run on each side.
+ */
+
+ /*
+ * Should we run the client or server in a separate thread?
+ * Both sides can throw exceptions, but do you have a preference
+ * as to which side should be the main thread.
+ */
+ static boolean separateServerThread = false;
+
+ /*
+ * Certificates and key used in the test.
+ */
+
+ // It's a trust anchor signed with MD2 hash function.
+ static String trustedCertStr =
+ "-----BEGIN CERTIFICATE-----\n" +
+ "MIICkjCCAfugAwIBAgIBADANBgkqhkiG9w0BAQIFADA7MQswCQYDVQQGEwJVUzEN\n" +
+ "MAsGA1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UwHhcN\n" +
+ "MTExMTE4MTExNDA0WhcNMzIxMDI4MTExNDA0WjA7MQswCQYDVQQGEwJVUzENMAsG\n" +
+ "A1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UwgZ8wDQYJ\n" +
+ "KoZIhvcNAQEBBQADgY0AMIGJAoGBAPGyB9tugUGgxtdeqe0qJEwf9x1Gy4BOi1yR\n" +
+ "wzDZY4H5LquvIfQ2V3J9X1MQENVsFvkvp65ZcFcy+ObOucXUUPFcd/iw2DVb5QXA\n" +
+ "ffyeVqWD56GPi8Qe37wrJO3L6fBhN9oxp/BbdRLgjU81zx8qLEyPODhPMxV4OkcA\n" +
+ "SDwZTSxxAgMBAAGjgaUwgaIwHQYDVR0OBBYEFLOAtr/YrYj9H04EDLA0fd14jisF\n" +
+ "MGMGA1UdIwRcMFqAFLOAtr/YrYj9H04EDLA0fd14jisFoT+kPTA7MQswCQYDVQQG\n" +
+ "EwJVUzENMAsGA1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2\n" +
+ "Y2WCAQAwDwYDVR0TAQH/BAUwAwEB/zALBgNVHQ8EBAMCAQYwDQYJKoZIhvcNAQEC\n" +
+ "BQADgYEAr8ExpXu/FTIRiMzPm0ubqwME4lniilwQUiEOD/4DbksNjEIcUyS2hIk1\n" +
+ "qsmjJz3SHBnwhxl9dhJVwk2tZLkPGW86Zn0TPVRsttK4inTgCC9GFGeqQBdrU/uf\n" +
+ "lipBzXWljrfbg4N/kK8m2LabtKUMMnGysM8rN0Fx2PYm5xxGvtM=\n" +
+ "-----END CERTIFICATE-----";
+
+ // The certificate issued by above trust anchor, signed with MD5
+ static String targetCertStr =
+ "-----BEGIN CERTIFICATE-----\n" +
+ "MIICeDCCAeGgAwIBAgIBAjANBgkqhkiG9w0BAQQFADA7MQswCQYDVQQGEwJVUzEN\n" +
+ "MAsGA1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UwHhcN\n" +
+ "MTExMTE4MTExNDA2WhcNMzEwODA1MTExNDA2WjBPMQswCQYDVQQGEwJVUzENMAsG\n" +
+ "A1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UxEjAQBgNV\n" +
+ "BAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwDnm96mw\n" +
+ "fXCH4bgXk1US0VcJsQVxUtGMyncAveMuzBzNzOmKZPeqyYX1Fuh4q+cuza03WTJd\n" +
+ "G9nOkNr364e3Rn1aaHjCMcBmFflObnGnhhufNmIGYogJ9dJPmhUVPEVAXrMG+Ces\n" +
+ "NKy2E8woGnLMrqu6yiuTClbLBPK8fWzTXrECAwEAAaN4MHYwCwYDVR0PBAQDAgPo\n" +
+ "MB0GA1UdDgQWBBSdRrpocLPJXyGfDmMWJrcEf29WGDAfBgNVHSMEGDAWgBSzgLa/\n" +
+ "2K2I/R9OBAywNH3deI4rBTAnBgNVHSUEIDAeBggrBgEFBQcDAQYIKwYBBQUHAwIG\n" +
+ "CCsGAQUFBwMDMA0GCSqGSIb3DQEBBAUAA4GBAKJ71ZiCUykkJrCLYUxlFlhvUcr9\n" +
+ "sTcOc67QdroW5f412NI15SXWDiley/JOasIiuIFPjaJBjOKoHOvTjG/snVu9wEgq\n" +
+ "YNR8dPsO+NM8r79C6jO+Jx5fYAC7os2XxS75h3NX0ElJcbwIXGBJ6xRrsFh/BGYH\n" +
+ "yvudOlX4BkVR0l1K\n" +
+ "-----END CERTIFICATE-----";
+
+ // Private key in the format of PKCS#8.
+ static String targetPrivateKey =
+ "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMA55vepsH1wh+G4\n" +
+ "F5NVEtFXCbEFcVLRjMp3AL3jLswczczpimT3qsmF9RboeKvnLs2tN1kyXRvZzpDa\n" +
+ "9+uHt0Z9Wmh4wjHAZhX5Tm5xp4YbnzZiBmKICfXST5oVFTxFQF6zBvgnrDSsthPM\n" +
+ "KBpyzK6rusorkwpWywTyvH1s016xAgMBAAECgYEAn9bF3oRkdDoBU0i/mcww5I+K\n" +
+ "SH9tFt+WQbiojjz9ac49trkvUfu7MO1Jui2+QbrvaSkyj+HYGFOJd1wMsPXeB7ck\n" +
+ "5mOIYV4uZK8jfNMSQ8v0tFEeIPp5lKdw1XnrQfSe+abo2eL5Lwso437Y4s3w37+H\n" +
+ "aY3d76hR5qly+Ys+Ww0CQQDjeOoX89d/xhRqGXKjCx8ImE/dPmsI8O27cwtKrDYJ\n" +
+ "6t0v/xryVIdvOYcRBvKnqEogOH7T1kI+LnWKUTJ2ehJ7AkEA2FVloPVqCehXcc7e\n" +
+ "z3TDpU9w1B0JXklcV5HddYsRqp9RukN/VK4szKE7F1yoarIUtfE9Lr9082Jwyp3M\n" +
+ "L11xwwJBAKsZ+Hur3x0tUY29No2Nf/pnFyvEF57SGwA0uPmiL8Ol9lpz+UDudDEl\n" +
+ "hIM6Rqv12kwCMuQE9i7vo1o3WU3k5KECQEqhg1L49yD935TqiiFFpe0Ur9btQXse\n" +
+ "kdXAA4d2d5zGI7q/aGD9SYU6phkUJSHR16VA2RuUfzMrpb+wmm1IrmMCQFtLoKRT\n" +
+ "A5kokFb+E3Gplu29tJvCUpfwgBFRS+wmkvtiaU/tiyDcVgDO+An5DwedxxdVzqiE\n" +
+ "njWHoKY3axDQ8OU=\n";
+
+
+ static char passphrase[] = "passphrase".toCharArray();
+
+ /*
+ * Is the server ready to serve?
+ */
+ volatile static boolean serverReady = false;
+
+ /*
+ * Turn on SSL debugging?
+ */
+ static boolean debug = false;
+
+ /*
+ * Define the server side of the test.
+ *
+ * If the server prematurely exits, serverReady will be set to true
+ * to avoid infinite hangs.
+ */
+ void doServerSide() throws Exception {
+ SSLContext context = generateSSLContext(trustedCertStr, targetCertStr,
+ targetPrivateKey);
+ SSLServerSocketFactory sslssf = context.getServerSocketFactory();
+ SSLServerSocket sslServerSocket =
+ (SSLServerSocket)sslssf.createServerSocket(serverPort);
+ sslServerSocket.setNeedClientAuth(true);
+ serverPort = sslServerSocket.getLocalPort();
+
+ /*
+ * Signal Client, we're ready for his connect.
+ */
+ serverReady = true;
+
+ SSLSocket sslSocket = (SSLSocket)sslServerSocket.accept();
+ InputStream sslIS = sslSocket.getInputStream();
+ OutputStream sslOS = sslSocket.getOutputStream();
+
+ sslIS.read();
+ sslOS.write('A');
+ sslOS.flush();
+
+ sslSocket.close();
+ }
+
+ /*
+ * Define the client side of the test.
+ *
+ * If the server prematurely exits, serverReady will be set to true
+ * to avoid infinite hangs.
+ */
+ void doClientSide() throws Exception {
+
+ /*
+ * Wait for server to get started.
+ */
+ while (!serverReady) {
+ Thread.sleep(50);
+ }
+
+ SSLContext context = generateSSLContext(trustedCertStr, targetCertStr,
+ targetPrivateKey);
+ SSLSocketFactory sslsf = context.getSocketFactory();
+
+ SSLSocket sslSocket =
+ (SSLSocket)sslsf.createSocket("localhost", serverPort);
+
+ // enable the specified TLS protocol
+ sslSocket.setEnabledProtocols(new String[] {tlsProtocol});
+
+ InputStream sslIS = sslSocket.getInputStream();
+ OutputStream sslOS = sslSocket.getOutputStream();
+
+ sslOS.write('B');
+ sslOS.flush();
+ sslIS.read();
+
+ sslSocket.close();
+ }
+
+ /*
+ * =============================================================
+ * The remainder is just support stuff
+ */
+ private static String tmAlgorithm; // trust manager
+ private static String tlsProtocol; // trust manager
+
+ private static void parseArguments(String[] args) {
+ tmAlgorithm = args[0];
+ tlsProtocol = args[1];
+ }
+
+ private static SSLContext generateSSLContext(String trustedCertStr,
+ String keyCertStr, String keySpecStr) throws Exception {
+
+ // generate certificate from cert string
+ CertificateFactory cf = CertificateFactory.getInstance("X.509");
+
+ // create a key store
+ KeyStore ks = KeyStore.getInstance("JKS");
+ ks.load(null, null);
+
+ // import the trused cert
+ Certificate trusedCert = null;
+ ByteArrayInputStream is = null;
+ if (trustedCertStr != null) {
+ is = new ByteArrayInputStream(trustedCertStr.getBytes());
+ trusedCert = cf.generateCertificate(is);
+ is.close();
+
+ ks.setCertificateEntry("RSA Export Signer", trusedCert);
+ }
+
+ if (keyCertStr != null) {
+ // generate the private key.
+ PKCS8EncodedKeySpec priKeySpec = new PKCS8EncodedKeySpec(
+ new BASE64Decoder().decodeBuffer(keySpecStr));
+ KeyFactory kf = KeyFactory.getInstance("RSA");
+ RSAPrivateKey priKey =
+ (RSAPrivateKey)kf.generatePrivate(priKeySpec);
+
+ // generate certificate chain
+ is = new ByteArrayInputStream(keyCertStr.getBytes());
+ Certificate keyCert = cf.generateCertificate(is);
+ is.close();
+
+ // It's not allowed to send MD2 signed certificate to peer,
+ // even it may be a trusted certificate. Then we will not
+ // place the trusted certficate in the chain.
+ Certificate[] chain = new Certificate[1];
+ chain[0] = keyCert;
+
+ // import the key entry.
+ ks.setKeyEntry("Whatever", priKey, passphrase, chain);
+ }
+
+ // create SSL context
+ TrustManagerFactory tmf = TrustManagerFactory.getInstance(tmAlgorithm);
+ tmf.init(ks);
+
+ SSLContext ctx = SSLContext.getInstance(tlsProtocol);
+ if (keyCertStr != null && !keyCertStr.isEmpty()) {
+ KeyManagerFactory kmf = KeyManagerFactory.getInstance("NewSunX509");
+ kmf.init(ks, passphrase);
+
+ ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
+ ks = null;
+ } else {
+ ctx.init(null, tmf.getTrustManagers(), null);
+ }
+
+ return ctx;
+ }
+
+
+ // use any free port by default
+ volatile int serverPort = 0;
+
+ volatile Exception serverException = null;
+ volatile Exception clientException = null;
+
+ public static void main(String[] args) throws Exception {
+ if (debug)
+ System.setProperty("javax.net.debug", "all");
+
+ /*
+ * Get the customized arguments.
+ */
+ parseArguments(args);
+
+ /*
+ * Start the tests.
+ */
+ new MD2InTrustAnchor();
+ }
+
+ Thread clientThread = null;
+ Thread serverThread = null;
+
+ /*
+ * Primary constructor, used to drive remainder of the test.
+ *
+ * Fork off the other side, then do your work.
+ */
+ MD2InTrustAnchor() throws Exception {
+ try {
+ if (separateServerThread) {
+ startServer(true);
+ startClient(false);
+ } else {
+ startClient(true);
+ startServer(false);
+ }
+ } catch (Exception e) {
+ // swallow for now. Show later
+ }
+
+ /*
+ * Wait for other side to close down.
+ */
+ if (separateServerThread) {
+ serverThread.join();
+ } else {
+ clientThread.join();
+ }
+
+ /*
+ * When we get here, the test is pretty much over.
+ * Which side threw the error?
+ */
+ Exception local;
+ Exception remote;
+ String whichRemote;
+
+ if (separateServerThread) {
+ remote = serverException;
+ local = clientException;
+ whichRemote = "server";
+ } else {
+ remote = clientException;
+ local = serverException;
+ whichRemote = "client";
+ }
+
+ /*
+ * If both failed, return the curthread's exception, but also
+ * print the remote side Exception
+ */
+ if ((local != null) && (remote != null)) {
+ System.out.println(whichRemote + " also threw:");
+ remote.printStackTrace();
+ System.out.println();
+ throw local;
+ }
+
+ if (remote != null) {
+ throw remote;
+ }
+
+ if (local != null) {
+ throw local;
+ }
+ }
+
+ void startServer(boolean newThread) throws Exception {
+ if (newThread) {
+ serverThread = new Thread() {
+ public void run() {
+ try {
+ doServerSide();
+ } catch (Exception e) {
+ /*
+ * Our server thread just died.
+ *
+ * Release the client, if not active already...
+ */
+ System.err.println("Server died...");
+ serverReady = true;
+ serverException = e;
+ }
+ }
+ };
+ serverThread.start();
+ } else {
+ try {
+ doServerSide();
+ } catch (Exception e) {
+ serverException = e;
+ } finally {
+ serverReady = true;
+ }
+ }
+ }
+
+ void startClient(boolean newThread) throws Exception {
+ if (newThread) {
+ clientThread = new Thread() {
+ public void run() {
+ try {
+ doClientSide();
+ } catch (Exception e) {
+ /*
+ * Our client thread just died.
+ */
+ System.err.println("Client died...");
+ clientException = e;
+ }
+ }
+ };
+ clientThread.start();
+ } else {
+ try {
+ doClientSide();
+ } catch (Exception e) {
+ clientException = e;
+ }
+ }
+ }
+}
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/TrustTrustedCert.java b/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/TrustTrustedCert.java
new file mode 100644
index 0000000..3aeeb08
--- /dev/null
+++ b/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/TrustTrustedCert.java
@@ -0,0 +1,475 @@
+/*
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 7113275
+ * @summary compatibility issue with MD2 trust anchor and old X509TrustManager
+ *
+ * SunJSSE does not support dynamic system properties, no way to re-use
+ * system properties in samevm/agentvm mode.
+ * @run main/othervm TrustTrustedCert PKIX TLSv1.1
+ * @run main/othervm TrustTrustedCert SunX509 TLSv1.1
+ * @run main/othervm TrustTrustedCert PKIX TLSv1.2
+ * @run main/othervm TrustTrustedCert SunX509 TLSv1.2
+ */
+
+import java.net.*;
+import java.util.*;
+import java.io.*;
+import javax.net.ssl.*;
+import java.security.*;
+import java.security.cert.*;
+import java.security.spec.*;
+import java.security.interfaces.*;
+import sun.misc.BASE64Decoder;
+
+
+public class TrustTrustedCert {
+
+ /*
+ * =============================================================
+ * Set the various variables needed for the tests, then
+ * specify what tests to run on each side.
+ */
+
+ /*
+ * Should we run the client or server in a separate thread?
+ * Both sides can throw exceptions, but do you have a preference
+ * as to which side should be the main thread.
+ */
+ static boolean separateServerThread = false;
+
+ /*
+ * Certificates and key used in the test.
+ */
+
+ // It's a trust anchor signed with MD2 hash function.
+ static String trustedCertStr =
+ "-----BEGIN CERTIFICATE-----\n" +
+ "MIICkjCCAfugAwIBAgIBADANBgkqhkiG9w0BAQIFADA7MQswCQYDVQQGEwJVUzEN\n" +
+ "MAsGA1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UwHhcN\n" +
+ "MTExMTE4MTExNDA0WhcNMzIxMDI4MTExNDA0WjA7MQswCQYDVQQGEwJVUzENMAsG\n" +
+ "A1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UwgZ8wDQYJ\n" +
+ "KoZIhvcNAQEBBQADgY0AMIGJAoGBAPGyB9tugUGgxtdeqe0qJEwf9x1Gy4BOi1yR\n" +
+ "wzDZY4H5LquvIfQ2V3J9X1MQENVsFvkvp65ZcFcy+ObOucXUUPFcd/iw2DVb5QXA\n" +
+ "ffyeVqWD56GPi8Qe37wrJO3L6fBhN9oxp/BbdRLgjU81zx8qLEyPODhPMxV4OkcA\n" +
+ "SDwZTSxxAgMBAAGjgaUwgaIwHQYDVR0OBBYEFLOAtr/YrYj9H04EDLA0fd14jisF\n" +
+ "MGMGA1UdIwRcMFqAFLOAtr/YrYj9H04EDLA0fd14jisFoT+kPTA7MQswCQYDVQQG\n" +
+ "EwJVUzENMAsGA1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2\n" +
+ "Y2WCAQAwDwYDVR0TAQH/BAUwAwEB/zALBgNVHQ8EBAMCAQYwDQYJKoZIhvcNAQEC\n" +
+ "BQADgYEAr8ExpXu/FTIRiMzPm0ubqwME4lniilwQUiEOD/4DbksNjEIcUyS2hIk1\n" +
+ "qsmjJz3SHBnwhxl9dhJVwk2tZLkPGW86Zn0TPVRsttK4inTgCC9GFGeqQBdrU/uf\n" +
+ "lipBzXWljrfbg4N/kK8m2LabtKUMMnGysM8rN0Fx2PYm5xxGvtM=\n" +
+ "-----END CERTIFICATE-----";
+
+ // The certificate issued by above trust anchor, signed with MD5
+ static String targetCertStr =
+ "-----BEGIN CERTIFICATE-----\n" +
+ "MIICeDCCAeGgAwIBAgIBAjANBgkqhkiG9w0BAQQFADA7MQswCQYDVQQGEwJVUzEN\n" +
+ "MAsGA1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UwHhcN\n" +
+ "MTExMTE4MTExNDA2WhcNMzEwODA1MTExNDA2WjBPMQswCQYDVQQGEwJVUzENMAsG\n" +
+ "A1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UxEjAQBgNV\n" +
+ "BAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwDnm96mw\n" +
+ "fXCH4bgXk1US0VcJsQVxUtGMyncAveMuzBzNzOmKZPeqyYX1Fuh4q+cuza03WTJd\n" +
+ "G9nOkNr364e3Rn1aaHjCMcBmFflObnGnhhufNmIGYogJ9dJPmhUVPEVAXrMG+Ces\n" +
+ "NKy2E8woGnLMrqu6yiuTClbLBPK8fWzTXrECAwEAAaN4MHYwCwYDVR0PBAQDAgPo\n" +
+ "MB0GA1UdDgQWBBSdRrpocLPJXyGfDmMWJrcEf29WGDAfBgNVHSMEGDAWgBSzgLa/\n" +
+ "2K2I/R9OBAywNH3deI4rBTAnBgNVHSUEIDAeBggrBgEFBQcDAQYIKwYBBQUHAwIG\n" +
+ "CCsGAQUFBwMDMA0GCSqGSIb3DQEBBAUAA4GBAKJ71ZiCUykkJrCLYUxlFlhvUcr9\n" +
+ "sTcOc67QdroW5f412NI15SXWDiley/JOasIiuIFPjaJBjOKoHOvTjG/snVu9wEgq\n" +
+ "YNR8dPsO+NM8r79C6jO+Jx5fYAC7os2XxS75h3NX0ElJcbwIXGBJ6xRrsFh/BGYH\n" +
+ "yvudOlX4BkVR0l1K\n" +
+ "-----END CERTIFICATE-----";
+
+ // Private key in the format of PKCS#8.
+ static String targetPrivateKey =
+ "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMA55vepsH1wh+G4\n" +
+ "F5NVEtFXCbEFcVLRjMp3AL3jLswczczpimT3qsmF9RboeKvnLs2tN1kyXRvZzpDa\n" +
+ "9+uHt0Z9Wmh4wjHAZhX5Tm5xp4YbnzZiBmKICfXST5oVFTxFQF6zBvgnrDSsthPM\n" +
+ "KBpyzK6rusorkwpWywTyvH1s016xAgMBAAECgYEAn9bF3oRkdDoBU0i/mcww5I+K\n" +
+ "SH9tFt+WQbiojjz9ac49trkvUfu7MO1Jui2+QbrvaSkyj+HYGFOJd1wMsPXeB7ck\n" +
+ "5mOIYV4uZK8jfNMSQ8v0tFEeIPp5lKdw1XnrQfSe+abo2eL5Lwso437Y4s3w37+H\n" +
+ "aY3d76hR5qly+Ys+Ww0CQQDjeOoX89d/xhRqGXKjCx8ImE/dPmsI8O27cwtKrDYJ\n" +
+ "6t0v/xryVIdvOYcRBvKnqEogOH7T1kI+LnWKUTJ2ehJ7AkEA2FVloPVqCehXcc7e\n" +
+ "z3TDpU9w1B0JXklcV5HddYsRqp9RukN/VK4szKE7F1yoarIUtfE9Lr9082Jwyp3M\n" +
+ "L11xwwJBAKsZ+Hur3x0tUY29No2Nf/pnFyvEF57SGwA0uPmiL8Ol9lpz+UDudDEl\n" +
+ "hIM6Rqv12kwCMuQE9i7vo1o3WU3k5KECQEqhg1L49yD935TqiiFFpe0Ur9btQXse\n" +
+ "kdXAA4d2d5zGI7q/aGD9SYU6phkUJSHR16VA2RuUfzMrpb+wmm1IrmMCQFtLoKRT\n" +
+ "A5kokFb+E3Gplu29tJvCUpfwgBFRS+wmkvtiaU/tiyDcVgDO+An5DwedxxdVzqiE\n" +
+ "njWHoKY3axDQ8OU=\n";
+
+
+ static char passphrase[] = "passphrase".toCharArray();
+
+ /*
+ * Is the server ready to serve?
+ */
+ volatile static boolean serverReady = false;
+
+ /*
+ * Turn on SSL debugging?
+ */
+ static boolean debug = false;
+
+ /*
+ * Define the server side of the test.
+ *
+ * If the server prematurely exits, serverReady will be set to true
+ * to avoid infinite hangs.
+ */
+ void doServerSide() throws Exception {
+ SSLContext context = generateSSLContext();
+ SSLServerSocketFactory sslssf = context.getServerSocketFactory();
+ SSLServerSocket sslServerSocket =
+ (SSLServerSocket)sslssf.createServerSocket(serverPort);
+ sslServerSocket.setNeedClientAuth(true);
+ serverPort = sslServerSocket.getLocalPort();
+
+ /*
+ * Signal Client, we're ready for his connect.
+ */
+ serverReady = true;
+
+ SSLSocket sslSocket = (SSLSocket)sslServerSocket.accept();
+ InputStream sslIS = sslSocket.getInputStream();
+ OutputStream sslOS = sslSocket.getOutputStream();
+
+ sslIS.read();
+ sslOS.write('A');
+ sslOS.flush();
+
+ sslSocket.close();
+ }
+
+ /*
+ * Define the client side of the test.
+ *
+ * If the server prematurely exits, serverReady will be set to true
+ * to avoid infinite hangs.
+ */
+ void doClientSide() throws Exception {
+
+ /*
+ * Wait for server to get started.
+ */
+ while (!serverReady) {
+ Thread.sleep(50);
+ }
+
+ SSLContext context = generateSSLContext();
+ SSLSocketFactory sslsf = context.getSocketFactory();
+
+ SSLSocket sslSocket =
+ (SSLSocket)sslsf.createSocket("localhost", serverPort);
+
+ // enable the specified TLS protocol
+ sslSocket.setEnabledProtocols(new String[] {tlsProtocol});
+
+ InputStream sslIS = sslSocket.getInputStream();
+ OutputStream sslOS = sslSocket.getOutputStream();
+
+ sslOS.write('B');
+ sslOS.flush();
+ sslIS.read();
+
+ sslSocket.close();
+ }
+
+ /*
+ * =============================================================
+ * The remainder is just support stuff
+ */
+ private static String tmAlgorithm; // trust manager
+ private static String tlsProtocol; // trust manager
+
+ private static void parseArguments(String[] args) {
+ tmAlgorithm = args[0];
+ tlsProtocol = args[1];
+ }
+
+ private static SSLContext generateSSLContext() throws Exception {
+
+ // generate certificate from cert string
+ CertificateFactory cf = CertificateFactory.getInstance("X.509");
+
+ // create a key store
+ KeyStore ks = KeyStore.getInstance("JKS");
+ ks.load(null, null);
+
+ // import the trused cert
+ X509Certificate trusedCert = null;
+ ByteArrayInputStream is =
+ new ByteArrayInputStream(trustedCertStr.getBytes());
+ trusedCert = (X509Certificate)cf.generateCertificate(is);
+ is.close();
+
+ ks.setCertificateEntry("Trusted RSA Signer", trusedCert);
+
+ // generate the private key.
+ PKCS8EncodedKeySpec priKeySpec = new PKCS8EncodedKeySpec(
+ new BASE64Decoder().decodeBuffer(targetPrivateKey));
+ KeyFactory kf = KeyFactory.getInstance("RSA");
+ RSAPrivateKey priKey =
+ (RSAPrivateKey)kf.generatePrivate(priKeySpec);
+
+ // generate certificate chain
+ is = new ByteArrayInputStream(targetCertStr.getBytes());
+ X509Certificate keyCert = (X509Certificate)cf.generateCertificate(is);
+ is.close();
+
+ X509Certificate[] chain = new X509Certificate[2];
+ chain[0] = keyCert;
+ chain[1] = trusedCert;
+
+ // import the key entry and the chain
+ ks.setKeyEntry("TheKey", priKey, passphrase, chain);
+
+ // create SSL context
+ TrustManagerFactory tmf = TrustManagerFactory.getInstance(tmAlgorithm);
+ tmf.init(ks);
+
+ // create the customized KM and TM
+ NoneExtendedX509TM myTM =
+ new NoneExtendedX509TM(tmf.getTrustManagers()[0]);
+ NoneExtendedX509KM myKM =
+ new NoneExtendedX509KM("TheKey", chain, priKey);
+
+ SSLContext ctx = SSLContext.getInstance(tlsProtocol);
+ // KeyManagerFactory kmf = KeyManagerFactory.getInstance("NewSunX509");
+ // kmf.init(ks, passphrase);
+ // ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
+ ctx.init(new KeyManager[]{myKM}, new TrustManager[]{myTM}, null);
+ ks = null;
+
+ return ctx;
+ }
+
+ static class NoneExtendedX509TM implements X509TrustManager {
+ X509TrustManager tm;
+
+ NoneExtendedX509TM(TrustManager tm) {
+ this.tm = (X509TrustManager)tm;
+ }
+
+ public void checkClientTrusted(X509Certificate chain[], String authType)
+ throws CertificateException {
+ tm.checkClientTrusted(chain, authType);
+ }
+
+ public void checkServerTrusted(X509Certificate chain[], String authType)
+ throws CertificateException {
+ tm.checkServerTrusted(chain, authType);
+ }
+
+ public X509Certificate[] getAcceptedIssuers() {
+ return tm.getAcceptedIssuers();
+ }
+ }
+
+ static class NoneExtendedX509KM implements X509KeyManager {
+ private String keyAlias;
+ private X509Certificate[] chain;
+ private PrivateKey privateKey;
+
+ NoneExtendedX509KM(String keyAlias, X509Certificate[] chain,
+ PrivateKey privateKey) {
+ this.keyAlias = keyAlias;
+ this.chain = chain;
+ this.privateKey = privateKey;
+ }
+
+ public String[] getClientAliases(String keyType, Principal[] issuers) {
+ return new String[] {keyAlias};
+ }
+
+ public String chooseClientAlias(String[] keyType, Principal[] issuers,
+ Socket socket) {
+ return keyAlias;
+ }
+
+ public String[] getServerAliases(String keyType, Principal[] issuers) {
+ return new String[] {keyAlias};
+ }
+
+ public String chooseServerAlias(String keyType, Principal[] issuers,
+ Socket socket) {
+ return keyAlias;
+ }
+
+ public X509Certificate[] getCertificateChain(String alias) {
+ return chain;
+ }
+
+ public PrivateKey getPrivateKey(String alias) {
+ return privateKey;
+ }
+ }
+
+
+ // use any free port by default
+ volatile int serverPort = 0;
+
+ volatile Exception serverException = null;
+ volatile Exception clientException = null;
+
+ public static void main(String[] args) throws Exception {
+ if (debug)
+ System.setProperty("javax.net.debug", "all");
+
+ /*
+ * Get the customized arguments.
+ */
+ parseArguments(args);
+
+ /*
+ * Start the tests.
+ */
+ new TrustTrustedCert();
+ }
+
+ Thread clientThread = null;
+ Thread serverThread = null;
+
+ /*
+ * Primary constructor, used to drive remainder of the test.
+ *
+ * Fork off the other side, then do your work.
+ */
+ TrustTrustedCert() throws Exception {
+ try {
+ if (separateServerThread) {
+ startServer(true);
+ startClient(false);
+ } else {
+ startClient(true);
+ startServer(false);
+ }
+ } catch (Exception e) {
+ // swallow for now. Show later
+ }
+
+ /*
+ * Wait for other side to close down.
+ */
+ if (separateServerThread) {
+ serverThread.join();
+ } else {
+ clientThread.join();
+ }
+
+ /*
+ * When we get here, the test is pretty much over.
+ * Which side threw the error?
+ */
+ Exception local;
+ Exception remote;
+ String whichRemote;
+
+ if (separateServerThread) {
+ remote = serverException;
+ local = clientException;
+ whichRemote = "server";
+ } else {
+ remote = clientException;
+ local = serverException;
+ whichRemote = "client";
+ }
+
+ /*
+ * If both failed, return the curthread's exception, but also
+ * print the remote side Exception
+ */
+ if ((local != null) && (remote != null)) {
+ System.out.println(whichRemote + " also threw:");
+ remote.printStackTrace();
+ System.out.println();
+ throw local;
+ }
+
+ if (remote != null) {
+ throw remote;
+ }
+
+ if (local != null) {
+ throw local;
+ }
+ }
+
+ void startServer(boolean newThread) throws Exception {
+ if (newThread) {
+ serverThread = new Thread() {
+ public void run() {
+ try {
+ doServerSide();
+ } catch (Exception e) {
+ /*
+ * Our server thread just died.
+ *
+ * Release the client, if not active already...
+ */
+ System.err.println("Server died...");
+ serverReady = true;
+ serverException = e;
+ }
+ }
+ };
+ serverThread.start();
+ } else {
+ try {
+ doServerSide();
+ } catch (Exception e) {
+ serverException = e;
+ } finally {
+ serverReady = true;
+ }
+ }
+ }
+
+ void startClient(boolean newThread) throws Exception {
+ if (newThread) {
+ clientThread = new Thread() {
+ public void run() {
+ try {
+ doClientSide();
+ } catch (Exception e) {
+ /*
+ * Our client thread just died.
+ */
+ System.err.println("Client died...");
+ clientException = e;
+ }
+ }
+ };
+ clientThread.start();
+ } else {
+ try {
+ doClientSide();
+ } catch (Exception e) {
+ clientException = e;
+ }
+ }
+ }
+}
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngineResult/Deserialize.java b/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngineResult/Deserialize.java
index e92c494..af116cd 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngineResult/Deserialize.java
+++ b/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngineResult/Deserialize.java
@@ -42,7 +42,6 @@ public class Deserialize {
SSLEngineResult.Status obj = SSLEngineResult.Status.OK;
File file = new File("deserial-test-file");
- file.deleteOnExit();
ObjectOutputStream oos = new ObjectOutputStream(
new FileOutputStream(file));
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/SSLContextVersion.java b/jdk/test/sun/security/ssl/javax/net/ssl/SSLContextVersion.java
index 2480b2f..003c3ab 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/SSLContextVersion.java
+++ b/jdk/test/sun/security/ssl/javax/net/ssl/SSLContextVersion.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -91,7 +91,7 @@ public class SSLContextVersion {
ciphers = parameters.getCipherSuites();
if (protocols.length == 0 || ciphers.length == 0) {
- throw new Exception("No default protocols or cipher suites");
+ throw new Exception("No supported protocols or cipher suites");
}
isMatch = false;
@@ -104,7 +104,7 @@ public class SSLContextVersion {
}
if (!isMatch) {
- throw new Exception("No matched default protocol");
+ throw new Exception("No matched supported protocol");
}
System.out.println("\t... Success");
}
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/TLSv12/ShortRSAKey512.java b/jdk/test/sun/security/ssl/javax/net/ssl/TLSv12/ShortRSAKey512.java
new file mode 100644
index 0000000..a3fb2b0
--- /dev/null
+++ b/jdk/test/sun/security/ssl/javax/net/ssl/TLSv12/ShortRSAKey512.java
@@ -0,0 +1,414 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7106773
+ * @summary 512 bits RSA key cannot work with SHA384 and SHA512
+ *
+ * SunJSSE does not support dynamic system properties, no way to re-use
+ * system properties in samevm/agentvm mode.
+ * @run main/othervm ShortRSAKey512 PKIX
+ * @run main/othervm ShortRSAKey512 SunX509
+ */
+
+import java.net.*;
+import java.util.*;
+import java.io.*;
+import javax.net.ssl.*;
+import java.security.KeyStore;
+import java.security.KeyFactory;
+import java.security.cert.Certificate;
+import java.security.cert.CertificateFactory;
+import java.security.spec.*;
+import java.security.interfaces.*;
+import sun.misc.BASE64Decoder;
+
+
+public class ShortRSAKey512 {
+
+ /*
+ * =============================================================
+ * Set the various variables needed for the tests, then
+ * specify what tests to run on each side.
+ */
+
+ /*
+ * Should we run the client or server in a separate thread?
+ * Both sides can throw exceptions, but do you have a preference
+ * as to which side should be the main thread.
+ */
+ static boolean separateServerThread = false;
+
+ /*
+ * Where do we find the keystores?
+ */
+ // Certificates and key used in the test.
+ static String trustedCertStr =
+ "-----BEGIN CERTIFICATE-----\n" +
+ "MIICkjCCAfugAwIBAgIBADANBgkqhkiG9w0BAQQFADA7MQswCQYDVQQGEwJVUzEN\n" +
+ "MAsGA1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UwHhcN\n" +
+ "MTEwODE5MDE1MjE5WhcNMzIwNzI5MDE1MjE5WjA7MQswCQYDVQQGEwJVUzENMAsG\n" +
+ "A1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UwgZ8wDQYJ\n" +
+ "KoZIhvcNAQEBBQADgY0AMIGJAoGBAM8orG08DtF98TMSscjGsidd1ZoN4jiDpi8U\n" +
+ "ICz+9dMm1qM1d7O2T+KH3/mxyox7Rc2ZVSCaUD0a3CkhPMnlAx8V4u0H+E9sqso6\n" +
+ "iDW3JpOyzMExvZiRgRG/3nvp55RMIUV4vEHOZ1QbhuqG4ebN0Vz2DkRft7+flthf\n" +
+ "vDld6f5JAgMBAAGjgaUwgaIwHQYDVR0OBBYEFLl81dnfp0wDrv0OJ1sxlWzH83Xh\n" +
+ "MGMGA1UdIwRcMFqAFLl81dnfp0wDrv0OJ1sxlWzH83XhoT+kPTA7MQswCQYDVQQG\n" +
+ "EwJVUzENMAsGA1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2\n" +
+ "Y2WCAQAwDwYDVR0TAQH/BAUwAwEB/zALBgNVHQ8EBAMCAQYwDQYJKoZIhvcNAQEE\n" +
+ "BQADgYEALlgaH1gWtoBZ84EW8Hu6YtGLQ/L9zIFmHonUPZwn3Pr//icR9Sqhc3/l\n" +
+ "pVTxOINuFHLRz4BBtEylzRIOPzK3tg8XwuLb1zd0db90x3KBCiAL6E6cklGEPwLe\n" +
+ "XYMHDn9eDsaq861Tzn6ZwzMgw04zotPMoZN0mVd/3Qca8UJFucE=\n" +
+ "-----END CERTIFICATE-----";
+
+ static String targetCertStr =
+ "-----BEGIN CERTIFICATE-----\n" +
+ "MIICNDCCAZ2gAwIBAgIBDDANBgkqhkiG9w0BAQQFADA7MQswCQYDVQQGEwJVUzEN\n" +
+ "MAsGA1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UwHhcN\n" +
+ "MTExMTA3MTM1NTUyWhcNMzEwNzI1MTM1NTUyWjBPMQswCQYDVQQGEwJVUzENMAsG\n" +
+ "A1UEChMESmF2YTEdMBsGA1UECxMUU3VuSlNTRSBUZXN0IFNlcml2Y2UxEjAQBgNV\n" +
+ "BAMTCWxvY2FsaG9zdDBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQC3Pb49OSPfOD2G\n" +
+ "HSXFCFx1GJEZfqG9ZUf7xuIi/ra5dLjPGAaoY5QF2QOa8VnOriQCXDfyXHxsuRnE\n" +
+ "OomxL7EVAgMBAAGjeDB2MAsGA1UdDwQEAwID6DAdBgNVHQ4EFgQUXNCJK3/dtCIc\n" +
+ "xb+zlA/JINlvs/MwHwYDVR0jBBgwFoAUuXzV2d+nTAOu/Q4nWzGVbMfzdeEwJwYD\n" +
+ "VR0lBCAwHgYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEFBQcDAzANBgkqhkiG9w0B\n" +
+ "AQQFAAOBgQB2qIDUxA2caMPpGtUACZAPRUtrGssCINIfItETXJZCx/cRuZ5sP4D9\n" +
+ "N1acoNDn0hCULe3lhXAeTC9NZ97680yJzregQMV5wATjo1FGsKY30Ma+sc/nfzQW\n" +
+ "+h/7RhYtoG0OTsiaDCvyhI6swkNJzSzrAccPY4+ZgU8HiDLzZTmM3Q==\n" +
+ "-----END CERTIFICATE-----";
+
+ // Private key in the format of PKCS#8, key size is 512 bits.
+ static String targetPrivateKey =
+ "MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAtz2+PTkj3zg9hh0l\n" +
+ "xQhcdRiRGX6hvWVH+8biIv62uXS4zxgGqGOUBdkDmvFZzq4kAlw38lx8bLkZxDqJ\n" +
+ "sS+xFQIDAQABAkByx/5Oo2hQ/w2q4L8z+NTRlJ3vdl8iIDtC/4XPnfYfnGptnpG6\n" +
+ "ZThQRvbMZiai0xHQPQMszvAHjZVme1eDl3EBAiEA3aKJHynPVCEJhpfCLWuMwX5J\n" +
+ "1LntwJO7NTOyU5m8rPECIQDTpzn5X44r2rzWBDna/Sx7HW9IWCxNgUD2Eyi2nA7W\n" +
+ "ZQIgJerEorw4aCAuzQPxiGu57PB6GRamAihEAtoRTBQlH0ECIQDN08FgTtnesgCU\n" +
+ "DFYLLcw1CiHvc7fZw4neBDHCrC8NtQIgA8TOUkGnpCZlQ0KaI8KfKWI+vxFcgFnH\n" +
+ "3fnqsTgaUs4=";
+
+ static char passphrase[] = "passphrase".toCharArray();
+
+ /*
+ * Is the server ready to serve?
+ */
+ volatile static boolean serverReady = false;
+
+ /*
+ * Turn on SSL debugging?
+ */
+ static boolean debug = false;
+
+ /*
+ * Define the server side of the test.
+ *
+ * If the server prematurely exits, serverReady will be set to true
+ * to avoid infinite hangs.
+ */
+ void doServerSide() throws Exception {
+ SSLContext context = generateSSLContext(null, targetCertStr,
+ targetPrivateKey);
+ SSLServerSocketFactory sslssf = context.getServerSocketFactory();
+ SSLServerSocket sslServerSocket =
+ (SSLServerSocket)sslssf.createServerSocket(serverPort);
+ serverPort = sslServerSocket.getLocalPort();
+
+ /*
+ * Signal Client, we're ready for his connect.
+ */
+ serverReady = true;
+
+ SSLSocket sslSocket = (SSLSocket)sslServerSocket.accept();
+ InputStream sslIS = sslSocket.getInputStream();
+ OutputStream sslOS = sslSocket.getOutputStream();
+
+ sslIS.read();
+ sslOS.write('A');
+ sslOS.flush();
+
+ sslSocket.close();
+ }
+
+ /*
+ * Define the client side of the test.
+ *
+ * If the server prematurely exits, serverReady will be set to true
+ * to avoid infinite hangs.
+ */
+ void doClientSide() throws Exception {
+
+ /*
+ * Wait for server to get started.
+ */
+ while (!serverReady) {
+ Thread.sleep(50);
+ }
+
+ SSLContext context = generateSSLContext(trustedCertStr, null, null);
+ SSLSocketFactory sslsf = context.getSocketFactory();
+
+ SSLSocket sslSocket =
+ (SSLSocket)sslsf.createSocket("localhost", serverPort);
+
+ // enable TLSv1.2 only
+ sslSocket.setEnabledProtocols(new String[] {"TLSv1.2"});
+
+ // enable a block cipher
+ sslSocket.setEnabledCipherSuites(
+ new String[] {"TLS_DHE_RSA_WITH_AES_128_CBC_SHA"});
+
+ InputStream sslIS = sslSocket.getInputStream();
+ OutputStream sslOS = sslSocket.getOutputStream();
+
+ sslOS.write('B');
+ sslOS.flush();
+ sslIS.read();
+
+ sslSocket.close();
+ }
+
+ /*
+ * =============================================================
+ * The remainder is just support stuff
+ */
+ private static String tmAlgorithm; // trust manager
+
+ private static void parseArguments(String[] args) {
+ tmAlgorithm = args[0];
+ }
+
+ private static SSLContext generateSSLContext(String trustedCertStr,
+ String keyCertStr, String keySpecStr) throws Exception {
+
+ // generate certificate from cert string
+ CertificateFactory cf = CertificateFactory.getInstance("X.509");
+
+ // create a key store
+ KeyStore ks = KeyStore.getInstance("JKS");
+ ks.load(null, null);
+
+ // import the trused cert
+ Certificate trusedCert = null;
+ ByteArrayInputStream is = null;
+ if (trustedCertStr != null) {
+ is = new ByteArrayInputStream(trustedCertStr.getBytes());
+ trusedCert = cf.generateCertificate(is);
+ is.close();
+
+ ks.setCertificateEntry("RSA Export Signer", trusedCert);
+ }
+
+ if (keyCertStr != null) {
+ // generate the private key.
+ PKCS8EncodedKeySpec priKeySpec = new PKCS8EncodedKeySpec(
+ new BASE64Decoder().decodeBuffer(keySpecStr));
+ KeyFactory kf = KeyFactory.getInstance("RSA");
+ RSAPrivateKey priKey =
+ (RSAPrivateKey)kf.generatePrivate(priKeySpec);
+
+ // generate certificate chain
+ is = new ByteArrayInputStream(keyCertStr.getBytes());
+ Certificate keyCert = cf.generateCertificate(is);
+ is.close();
+
+ Certificate[] chain = null;
+ if (trusedCert != null) {
+ chain = new Certificate[2];
+ chain[0] = keyCert;
+ chain[1] = trusedCert;
+ } else {
+ chain = new Certificate[1];
+ chain[0] = keyCert;
+ }
+
+ // import the key entry.
+ ks.setKeyEntry("Whatever", priKey, passphrase, chain);
+ }
+
+ // create SSL context
+ TrustManagerFactory tmf = TrustManagerFactory.getInstance(tmAlgorithm);
+ tmf.init(ks);
+
+ SSLContext ctx = SSLContext.getInstance("TLS");
+ if (keyCertStr != null && !keyCertStr.isEmpty()) {
+ KeyManagerFactory kmf = KeyManagerFactory.getInstance("NewSunX509");
+ kmf.init(ks, passphrase);
+
+ ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
+ ks = null;
+ } else {
+ ctx.init(null, tmf.getTrustManagers(), null);
+ }
+
+ return ctx;
+ }
+
+
+ // use any free port by default
+ volatile int serverPort = 0;
+
+ volatile Exception serverException = null;
+ volatile Exception clientException = null;
+
+ public static void main(String[] args) throws Exception {
+ if (debug)
+ System.setProperty("javax.net.debug", "all");
+
+ /*
+ * Get the customized arguments.
+ */
+ parseArguments(args);
+
+ /*
+ * Start the tests.
+ */
+ new ShortRSAKey512();
+ }
+
+ Thread clientThread = null;
+ Thread serverThread = null;
+
+ /*
+ * Primary constructor, used to drive remainder of the test.
+ *
+ * Fork off the other side, then do your work.
+ */
+ ShortRSAKey512() throws Exception {
+ try {
+ if (separateServerThread) {
+ startServer(true);
+ startClient(false);
+ } else {
+ startClient(true);
+ startServer(false);
+ }
+ } catch (Exception e) {
+ // swallow for now. Show later
+ }
+
+ /*
+ * Wait for other side to close down.
+ */
+ if (separateServerThread) {
+ serverThread.join();
+ } else {
+ clientThread.join();
+ }
+
+ /*
+ * When we get here, the test is pretty much over.
+ * Which side threw the error?
+ */
+ Exception local;
+ Exception remote;
+ String whichRemote;
+
+ if (separateServerThread) {
+ remote = serverException;
+ local = clientException;
+ whichRemote = "server";
+ } else {
+ remote = clientException;
+ local = serverException;
+ whichRemote = "client";
+ }
+
+ /*
+ * If both failed, return the curthread's exception, but also
+ * print the remote side Exception
+ */
+ if ((local != null) && (remote != null)) {
+ System.out.println(whichRemote + " also threw:");
+ remote.printStackTrace();
+ System.out.println();
+ throw local;
+ }
+
+ if (remote != null) {
+ throw remote;
+ }
+
+ if (local != null) {
+ throw local;
+ }
+ }
+
+ void startServer(boolean newThread) throws Exception {
+ if (newThread) {
+ serverThread = new Thread() {
+ public void run() {
+ try {
+ doServerSide();
+ } catch (Exception e) {
+ /*
+ * Our server thread just died.
+ *
+ * Release the client, if not active already...
+ */
+ System.err.println("Server died...");
+ serverReady = true;
+ serverException = e;
+ }
+ }
+ };
+ serverThread.start();
+ } else {
+ try {
+ doServerSide();
+ } catch (Exception e) {
+ serverException = e;
+ } finally {
+ serverReady = true;
+ }
+ }
+ }
+
+ void startClient(boolean newThread) throws Exception {
+ if (newThread) {
+ clientThread = new Thread() {
+ public void run() {
+ try {
+ doClientSide();
+ } catch (Exception e) {
+ /*
+ * Our client thread just died.
+ */
+ System.err.println("Client died...");
+ clientException = e;
+ }
+ }
+ };
+ clientThread.start();
+ } else {
+ try {
+ doClientSide();
+ } catch (Exception e) {
+ clientException = e;
+ }
+ }
+ }
+}
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CookieHttpsClientTest.java b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CookieHttpsClientTest.java
new file mode 100644
index 0000000..6996ca0
--- /dev/null
+++ b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CookieHttpsClientTest.java
@@ -0,0 +1,283 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7129083
+ * @summary Cookiemanager does not store cookies if url is read
+ * before setting cookiemanager
+ */
+
+import java.net.CookieHandler;
+import java.net.CookieManager;
+import java.net.CookiePolicy;
+import java.net.URL;
+import java.io.InputStream;
+import java.io.IOException;
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLServerSocket;
+import javax.net.ssl.SSLServerSocketFactory;
+import javax.net.ssl.SSLSession;
+import javax.net.ssl.SSLSocket;
+
+public class CookieHttpsClientTest {
+ static final int TIMEOUT = 10 * 1000;
+
+ static final String replyString = "HTTP/1.1 200 OK\r\n" +
+ "Set-Cookie: name=test\r\n" +
+ "Content-Length: 10\r\n\r\n" +
+ "1234567890";
+
+ /*
+ * =============================================================
+ * Set the various variables needed for the tests, then
+ * specify what tests to run on each side.
+ */
+
+ /*
+ * Should we run the client or server in a separate thread?
+ * Both sides can throw exceptions, but do you have a preference
+ * as to which side should be the main thread.
+ */
+ static boolean separateServerThread = true;
+
+ /*
+ * Where do we find the keystores?
+ */
+ static String pathToStores = "../../../../../../etc";
+ static String keyStoreFile = "keystore";
+ static String trustStoreFile = "truststore";
+ static String passwd = "passphrase";
+
+ /*
+ * Is the server ready to serve?
+ */
+ volatile static boolean serverReady = false;
+
+ /*
+ * Turn on SSL debugging?
+ */
+ static boolean debug = false;
+
+ /*
+ * Define the server side of the test.
+ *
+ * If the server prematurely exits, serverReady will be set to true
+ * to avoid infinite hangs.
+ */
+ void doServerSide() throws Exception {
+ SSLServerSocketFactory sslssf =
+ (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
+ SSLServerSocket sslServerSocket =
+ (SSLServerSocket) sslssf.createServerSocket(serverPort);
+ serverPort = sslServerSocket.getLocalPort();
+
+ /*
+ * Signal Client, we're ready for his connect.
+ */
+ serverReady = true;
+ SSLSocket sslSocket = null;
+ try {
+ sslSocket = (SSLSocket) sslServerSocket.accept();
+ sslSocket.setSoTimeout(TIMEOUT);
+ readOneRequest(sslSocket.getInputStream());
+ sslSocket.getOutputStream().write(replyString.getBytes());
+
+ readOneRequest(sslSocket.getInputStream());
+ sslSocket.getOutputStream().write(replyString.getBytes());
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ try {
+ if (sslSocket != null) { sslSocket.close(); }
+ sslServerSocket.close();
+ } catch (IOException unused) { /* gulp!burp! */ }
+ }
+ }
+
+ /*
+ * Define the client side of the test.
+ *
+ * If the server prematurely exits, serverReady will be set to true
+ * to avoid infinite hangs.
+ */
+ void doClientSide() throws Exception {
+ // Wait for server to get started.
+ while (!serverReady) {
+ Thread.sleep(50);
+ }
+
+ HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
+ public boolean verify(String hostname, SSLSession session) {
+ return true;
+ }});
+
+ URL url = new URL("https://localhost:" + serverPort +"/");
+
+ // Run without a CookieHandler first
+ InputStream in = url.openConnection().getInputStream();
+ while (in.read() != -1); // read response body so connection can be reused
+
+ // Set a CookeHandler and retest using the HttpClient from the KAC
+ CookieManager manager = new CookieManager(null, CookiePolicy.ACCEPT_ALL);
+ CookieHandler.setDefault(manager);
+
+ in = url.openConnection().getInputStream();
+ while (in.read() != -1);
+
+ if (manager.getCookieStore().getCookies().isEmpty()) {
+ throw new RuntimeException("Failed: No cookies in the cookie Handler.");
+ }
+ }
+
+ static final byte[] requestEnd = new byte[] {'\r', '\n', '\r', '\n' };
+
+ // Read until the end of a HTTP request
+ static void readOneRequest(InputStream is) throws IOException {
+ int requestEndCount = 0, r;
+ while ((r = is.read()) != -1) {
+ if (r == requestEnd[requestEndCount]) {
+ requestEndCount++;
+ if (requestEndCount == 4) {
+ break;
+ }
+ } else {
+ requestEndCount = 0;
+ }
+ }
+ }
+
+ /*
+ * =============================================================
+ * The remainder is just support stuff
+ */
+
+ // use any free port by default
+ volatile int serverPort = 0;
+
+ volatile Exception serverException = null;
+ volatile Exception clientException = null;
+
+ public static void main(String args[]) throws Exception {
+ String keyFilename =
+ System.getProperty("test.src", "./") + "/" + pathToStores +
+ "/" + keyStoreFile;
+ String trustFilename =
+ System.getProperty("test.src", "./") + "/" + pathToStores +
+ "/" + trustStoreFile;
+
+ System.setProperty("javax.net.ssl.keyStore", keyFilename);
+ System.setProperty("javax.net.ssl.keyStorePassword", passwd);
+ System.setProperty("javax.net.ssl.trustStore", trustFilename);
+ System.setProperty("javax.net.ssl.trustStorePassword", passwd);
+
+ if (debug)
+ System.setProperty("javax.net.debug", "all");
+
+ new CookieHttpsClientTest();
+ }
+
+ Thread clientThread = null;
+ Thread serverThread = null;
+ /*
+ * Primary constructor, used to drive remainder of the test.
+ *
+ * Fork off the other side, then do your work.
+ */
+ CookieHttpsClientTest() throws Exception {
+ if (separateServerThread) {
+ startServer(true);
+ startClient(false);
+ } else {
+ startClient(true);
+ startServer(false);
+ }
+
+ /*
+ * Wait for other side to close down.
+ */
+ if (separateServerThread) {
+ serverThread.join();
+ } else {
+ clientThread.join();
+ }
+
+ /*
+ * When we get here, the test is pretty much over.
+ *
+ * If the main thread excepted, that propagates back
+ * immediately. If the other thread threw an exception, we
+ * should report back.
+ */
+ if (serverException != null)
+ throw serverException;
+ if (clientException != null)
+ throw clientException;
+ }
+
+ void startServer(boolean newThread) throws Exception {
+ if (newThread) {
+ serverThread = new Thread() {
+ public void run() {
+ try {
+ doServerSide();
+ } catch (Exception e) {
+ /*
+ * Our server thread just died.
+ *
+ * Release the client, if not active already...
+ */
+ System.err.println("Server died...");
+ serverReady = true;
+ serverException = e;
+ }
+ }
+ };
+ serverThread.start();
+ } else {
+ doServerSide();
+ }
+ }
+
+ void startClient(boolean newThread) throws Exception {
+ if (newThread) {
+ clientThread = new Thread() {
+ public void run() {
+ try {
+ doClientSide();
+ } catch (Exception e) {
+ /*
+ * Our client thread just died.
+ */
+ System.err.println("Client died...");
+ clientException = e;
+ }
+ }
+ };
+ clientThread.start();
+ } else {
+ doClientSide();
+ }
+ }
+}
diff --git a/jdk/test/sun/text/resources/LocaleData b/jdk/test/sun/text/resources/LocaleData
index 2c66a97..039981c 100644
--- a/jdk/test/sun/text/resources/LocaleData
+++ b/jdk/test/sun/text/resources/LocaleData
@@ -7010,3 +7010,12 @@ CurrencyNames/zh_TW/zwl=\u8f9b\u5df4\u5a01\u5143 (2009)
# bug 7101495
CalendarData/lv/firstDayOfWeek=2
CalendarData/lv/minimalDaysInFirstWeek=4
+
+# bug 7003124
+FormatData/bg/DateTimePatterns/0=HH:mm:ss zzzz
+FormatData/bg/DateTimePatterns/2=HH:mm:ss
+FormatData/bg/DateTimePatterns/3=HH:mm
+FormatData/bg/DateTimePatterns/4=dd MMMM y, EEEE
+FormatData/bg/DateTimePatterns/5=dd MMMM y
+FormatData/bg/DateTimePatterns/6=dd.MM.yyyy
+FormatData/bg/DateTimePatterns/7=dd.MM.yy
diff --git a/jdk/test/sun/text/resources/LocaleDataTest.java b/jdk/test/sun/text/resources/LocaleDataTest.java
index 836b1b2..4f78d16 100644
--- a/jdk/test/sun/text/resources/LocaleDataTest.java
+++ b/jdk/test/sun/text/resources/LocaleDataTest.java
@@ -34,6 +34,7 @@
* 6509039 6609737 6610748 6645271 6507067 6873931 6450945 6645268 6646611
* 6645405 6650730 6910489 6573250 6870908 6585666 6716626 6914413 6916787
* 6919624 6998391 7019267 7020960 7025837 7020583 7036905 7066203 7101495
+ * 7003124
* @summary Verify locale data
*
*/
diff --git a/jdk/test/sun/tools/common/CommonSetup.sh b/jdk/test/sun/tools/common/CommonSetup.sh
index 02fbc60..7853663 100644
--- a/jdk/test/sun/tools/common/CommonSetup.sh
+++ b/jdk/test/sun/tools/common/CommonSetup.sh
@@ -34,6 +34,7 @@
# JMAP - jmap utility
# JPS - jps utility
# JSTACK - jstack utility
+# JCMD - jcmd utility
# OS - operating system name
# PATTERN_EOL - grep or sed end-of-line pattern
# PATTERN_WS - grep or sed whitespace pattern
@@ -72,6 +73,7 @@ JINFO="${TESTJAVA}/bin/jinfo"
JMAP="${TESTJAVA}/bin/jmap"
JPS="${TESTJAVA}/bin/jps"
JSTACK="${TESTJAVA}/bin/jstack"
+JCMD="${TESTJAVA}/bin/jcmd"
isCygwin=false
isMKS=false
diff --git a/jdk/test/sun/tools/jcmd/dcmd-script.txt b/jdk/test/sun/tools/jcmd/dcmd-script.txt
new file mode 100644
index 0000000..05de6ce
--- /dev/null
+++ b/jdk/test/sun/tools/jcmd/dcmd-script.txt
@@ -0,0 +1,2 @@
+help help
+stop
diff --git a/jdk/test/sun/tools/jcmd/help_help.out b/jdk/test/sun/tools/jcmd/help_help.out
new file mode 100644
index 0000000..e247468
--- /dev/null
+++ b/jdk/test/sun/tools/jcmd/help_help.out
@@ -0,0 +1,12 @@
+help
+For more information about a specific command use 'help <command>'. With no argument this will show a list of available commands. 'help all' will show help for all commands.
+
+Impact: Low:
+
+Syntax : help [options] [<command name>]
+
+Arguments:
+ command name : [optional] The name of the command for which we want help (STRING, no default value)
+
+Options: (options must be specified using the <key> or <key>=<value> syntax)
+ -all : [optional] Show help for all commands (BOOLEAN, false)
diff --git a/jdk/test/sun/tools/jcmd/jcmd-Defaults.sh b/jdk/test/sun/tools/jcmd/jcmd-Defaults.sh
new file mode 100644
index 0000000..277c854
--- /dev/null
+++ b/jdk/test/sun/tools/jcmd/jcmd-Defaults.sh
@@ -0,0 +1,33 @@
+#
+# 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.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+# @test
+# @bug 7104647
+# @run shell jcmd-Defaults.sh
+# @summary Test that output of 'jcmd' and 'jcmd -l' match a specific pattern
+
+JCMD="${TESTJAVA}/bin/jcmd"
+
+${JCMD} 2>&1 | awk -f ${TESTSRC}/jcmd_Output1.awk
+
+${JCMD} -l 2>&1 | awk -f ${TESTSRC}/jcmd_Output1.awk
diff --git a/jdk/test/sun/tools/jcmd/jcmd-f.sh b/jdk/test/sun/tools/jcmd/jcmd-f.sh
new file mode 100644
index 0000000..acbe0b3
--- /dev/null
+++ b/jdk/test/sun/tools/jcmd/jcmd-f.sh
@@ -0,0 +1,63 @@
+#!/bin/sh
+
+#
+# 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.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+
+# @test
+# @bug 7104647
+# @summary Unit test for jcmd utility
+#
+# @library ../common
+# @build SimpleApplication ShutdownSimpleApplication
+# @run shell jcmd-f.sh
+
+. ${TESTSRC}/../common/CommonSetup.sh
+. ${TESTSRC}/../common/ApplicationSetup.sh
+
+# Start application and use PORTFILE for coordination
+PORTFILE="${TESTCLASSES}"/shutdown.port
+startApplication SimpleApplication "${PORTFILE}"
+
+# all return statuses are checked in this test
+set +e
+
+failed=0
+
+# -f <script>
+rm -f jcmd.out 2>/dev/null
+${JCMD} $appJavaPid -f ${TESTSRC}/dcmd-script.txt | awk '{ if (NR>1) print $0;}' > jcmd.out 2>&1
+echo jcmd.out
+diff -w jcmd.out ${TESTSRC}/help_help.out
+if [ $? != 0 ]; then
+ echo "Output of jcmd [pid] -f dcmd-script.txt differ from expected output. Failed."
+ rm -f jcmd.out 2>/dev/null
+ failed=1;
+fi
+
+set -e
+
+stopApplication "${PORTFILE}"
+waitForApplication
+
+exit $failed
diff --git a/jdk/test/sun/tools/jcmd/jcmd-help-help.sh b/jdk/test/sun/tools/jcmd/jcmd-help-help.sh
new file mode 100644
index 0000000..b303827
--- /dev/null
+++ b/jdk/test/sun/tools/jcmd/jcmd-help-help.sh
@@ -0,0 +1,63 @@
+#!/bin/sh
+
+#
+# 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.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+
+# @test
+# @bug 7104647
+# @summary Unit test for jcmd utility
+#
+# @library ../common
+# @build SimpleApplication ShutdownSimpleApplication
+# @run shell jcmd-help-help.sh
+
+. ${TESTSRC}/../common/CommonSetup.sh
+. ${TESTSRC}/../common/ApplicationSetup.sh
+
+# Start application and use PORTFILE for coordination
+PORTFILE="${TESTCLASSES}"/shutdown.port
+startApplication SimpleApplication "${PORTFILE}"
+
+# all return statuses are checked in this test
+set +e
+
+failed=0
+
+# help help
+rm -f jcmd.out 2>/dev/null
+${JCMD} $appJavaPid help help | awk '{ if (NR>1) print $0;}' > jcmd.out 2>&1
+echo jcmd.out
+diff -w jcmd.out ${TESTSRC}/help_help.out
+if [ $? != 0 ]; then
+ echo "Output of jcmd [pid] help help differ from expected output. Failed."
+ rm -f jcmd.out 2>/dev/null
+ failed=1;
+fi
+
+set -e
+
+stopApplication "${PORTFILE}"
+waitForApplication
+
+exit $failed
diff --git a/jdk/test/sun/tools/jcmd/jcmd-help.sh b/jdk/test/sun/tools/jcmd/jcmd-help.sh
new file mode 100644
index 0000000..32fa226
--- /dev/null
+++ b/jdk/test/sun/tools/jcmd/jcmd-help.sh
@@ -0,0 +1,54 @@
+#
+# 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.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+# @test
+# @bug 7104647
+# @run shell jcmd-help.sh
+# @summary Test that output of 'jcmd -h' matches the usage.out file
+
+JCMD="${TESTJAVA}/bin/jcmd"
+
+rm -f jcmd.out 2>/dev/null
+${JCMD} -h > jcmd.out 2>&1
+
+diff -w jcmd.out ${TESTSRC}/usage.out
+if [ $? != 0 ]
+then
+ echo "Output of jcmd -h differ from expected output. Failed."
+ rm -f jcmd.out 2>/dev/null
+ exit 1
+fi
+
+rm -f jcmd.out 2>/dev/null
+${JCMD} -help > jcmd.out 2>&1
+
+diff -w jcmd.out ${TESTSRC}/usage.out
+if [ $? != 0 ]
+then
+ echo "Output of jcmd -help differ from expected output. Failed."
+ rm -f jcmd.out 2>/dev/null
+ exit 1
+fi
+
+rm -f jcmd.out 2>/dev/null
+exit 0
diff --git a/jdk/test/sun/tools/jcmd/jcmd-pid.sh b/jdk/test/sun/tools/jcmd/jcmd-pid.sh
new file mode 100644
index 0000000..7cd4548
--- /dev/null
+++ b/jdk/test/sun/tools/jcmd/jcmd-pid.sh
@@ -0,0 +1,60 @@
+#!/bin/sh
+
+#
+# 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.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+
+# @test
+# @bug 7104647
+# @summary Unit test for jcmd utility
+#
+# @library ../common
+# @build SimpleApplication ShutdownSimpleApplication
+# @run shell jcmd-pid.sh
+
+. ${TESTSRC}/../common/CommonSetup.sh
+. ${TESTSRC}/../common/ApplicationSetup.sh
+
+# Start application and use PORTFILE for coordination
+PORTFILE="${TESTCLASSES}"/shutdown.port
+startApplication SimpleApplication "${PORTFILE}"
+
+# all return statuses are checked in this test
+set +e
+
+failed=0
+
+# help command
+${JCMD} $appJavaPid help 2>&1 | awk -f ${TESTSRC}/jcmd_pid_Output1.awk
+if [ $? != 0 ]; then failed=1; fi
+
+# PerfCounter.list option
+${JCMD} $appJavaPid PerfCounter.print 2>&1 | awk -f ${TESTSRC}/jcmd_pid_Output2.awk
+if [ $? != 0 ]; then failed=1; fi
+
+set -e
+
+stopApplication "${PORTFILE}"
+waitForApplication
+
+exit $failed
diff --git a/jdk/test/sun/tools/jcmd/jcmd_Output1.awk b/jdk/test/sun/tools/jcmd/jcmd_Output1.awk
new file mode 100644
index 0000000..afa5dd4
--- /dev/null
+++ b/jdk/test/sun/tools/jcmd/jcmd_Output1.awk
@@ -0,0 +1,32 @@
+#
+BEGIN {
+ totallines=0; matched=0
+ }
+
+# match on a main class name followed by arbitrary arguments
+/^[0-9]+ [a-z|A-Z][a-z|A-Z|0-9|\.]*($| .*$)/ {
+ matched++;
+ }
+
+# or match on a path name to a jar file followed by arbitraty arguments
+# - note, jar files ending with ".jar" is only a convention, not a requirement.
+#Theoretically, any valid file name could occur here.
+/^[0-9]+ .*\.jar($| .*$)/ {
+ matched++;
+}
+
+# or match on the condition that the class name is not available
+/^[0-9]+ -- process information unavailable$/ {
+ matched++;
+ }
+
+ { totallines++; print $0 }
+
+END {
+ if ((totallines > 0) && (matched == totallines)) {
+ exit 0
+ }
+ else {
+ exit 1
+ }
+ }
diff --git a/jdk/test/sun/tools/jcmd/jcmd_pid_Output1.awk b/jdk/test/sun/tools/jcmd/jcmd_pid_Output1.awk
new file mode 100644
index 0000000..8ee49f0
--- /dev/null
+++ b/jdk/test/sun/tools/jcmd/jcmd_pid_Output1.awk
@@ -0,0 +1,58 @@
+#
+
+# section 0 = [PID]:
+# section 1 = "The following commands are available:"
+# section 2 = <list of commands, one command per line>
+# section 3 = blank line
+# section 4 = "For more information about a specific command use 'help <command>'."
+
+BEGIN {
+ totallines=0; matched=0; section=0;
+}
+
+# match the first line (PID of the JVM followed by ':')
+/^[0-9]+:/{
+ if(section==0) {
+ matched++;
+ section=1;
+ }
+}
+
+/^The following commands are available:$/{
+ if(section==1) {
+ matched++;
+ section=2;
+ }
+}
+
+# match a command name
+/^[a-z|A-Z][a-z|A-Z|0-9|\.|_]*$/{
+ if(section==2) {
+ matched++;
+ }
+}
+
+/^$/{
+ if(section==2) {
+ matched++;
+ section=4;
+ }
+}
+
+/^For more information about a specific command use 'help <command>'\.$/{
+ if(section==4) {
+ matched++;
+ section=5;
+ }
+}
+
+{ totallines++; print $0 }
+
+END {
+ if ((totallines > 0) && (matched == totallines)) {
+ exit 0
+ }
+ else {
+ exit 1
+ }
+}
diff --git a/jdk/test/sun/tools/jcmd/jcmd_pid_Output2.awk b/jdk/test/sun/tools/jcmd/jcmd_pid_Output2.awk
new file mode 100644
index 0000000..49f0632
--- /dev/null
+++ b/jdk/test/sun/tools/jcmd/jcmd_pid_Output2.awk
@@ -0,0 +1,25 @@
+#
+BEGIN {
+ totallines=0; matched=0
+ }
+
+# match on counter name followed '=' and an arbitrary value
+/^[a-z|A-Z][a-z|A-Z|0-9|\.|_]*=.*$/ {
+ matched++;
+ }
+
+# or match the first line (PID of the JVM followed by ':')
+/^[0-9]+:/ {
+ matched++;
+ }
+
+ { totallines++; print $0 }
+
+END {
+ if ((totallines > 0) && (matched == totallines)) {
+ exit 0
+ }
+ else {
+ exit 1
+ }
+}
diff --git a/jdk/test/sun/tools/jcmd/usage.out b/jdk/test/sun/tools/jcmd/usage.out
new file mode 100644
index 0000000..78ac0f3
--- /dev/null
+++ b/jdk/test/sun/tools/jcmd/usage.out
@@ -0,0 +1,15 @@
+Usage: jcmd <pid | main class> <command ...|PerfCounter.print|-f file>
+ or: jcmd -l
+ or: jcmd -h
+
+ command must be a valid jcmd command for the selected jvm.
+ Use the command "help" to see which commands are available.
+ If the pid is 0, commands will be sent to all Java processes.
+ The main class argument will be used to match (either partially
+ or fully) the class used to start Java.
+ If no options are given, lists Java processes (same as -p).
+
+ PerfCounter.print display the counters exposed by this process
+ -f read and execute commands from the file
+ -l list JVM processes on the local machine
+ -h this help
diff --git a/jdk/test/tools/launcher/DefaultLocaleTest.java b/jdk/test/tools/launcher/DefaultLocaleTest.java
index 15d757b..1fbce31 100644
--- a/jdk/test/tools/launcher/DefaultLocaleTest.java
+++ b/jdk/test/tools/launcher/DefaultLocaleTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
@@ -21,22 +21,55 @@
* questions.
*/
-import java.util.Properties;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.IOException;
+import java.nio.charset.Charset;
+
+import static java.nio.file.Files.*;
+import static java.nio.file.StandardOpenOption.*;
public class DefaultLocaleTest {
- public static void main(String[] args) {
- String setting =
+
+ static final String setting =
"language:" + System.getProperty("user.language") + "_" +
"country:" + System.getProperty("user.country") + "_" +
"encoding:" + System.getProperty("file.encoding") + "_" +
"jnuEncoding:"+ System.getProperty("sun.jnu.encoding");
- if (args.length != 0) {
- if (!setting.equals(args[0])) {
- System.exit(1);
+
+ public static void main(String[] args) throws IOException {
+ if (args != null && args.length > 1) {
+ File f = new File(args[1]);
+ switch (args[0]) {
+ case "-r":
+ System.out.println("reading file: " + args[1]);
+ String str = null;
+ try (BufferedReader in = newBufferedReader(f.toPath(),
+ Charset.defaultCharset())) {
+ str = in.readLine().trim();
+ }
+ if (setting.equals(str)) {
+ System.out.println("Compared ok");
+ } else {
+ System.out.println("Compare fails");
+ System.out.println("EXPECTED: " + setting);
+ System.out.println("OBTAINED: " + str);
+ throw new RuntimeException("Test fails: compare failed");
+ }
+ break;
+ case "-w":
+ System.out.println("writing file: " + args[1]);
+ try (BufferedWriter out = newBufferedWriter(f.toPath(),
+ Charset.defaultCharset(), CREATE_NEW)) {
+ out.write(setting);
+ }
+ break;
+ default:
+ throw new RuntimeException("ERROR: invalid arguments");
}
} else {
- System.out.println(setting);
+ throw new RuntimeException("ERROR: invalid arguments");
}
- System.exit(0);
- }
+ }
}
diff --git a/jdk/test/tools/launcher/DefaultLocaleTestRun.java b/jdk/test/tools/launcher/DefaultLocaleTestRun.java
new file mode 100644
index 0000000..d3c0842
--- /dev/null
+++ b/jdk/test/tools/launcher/DefaultLocaleTestRun.java
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 4958170 4891531 4989534
+ * @summary Test to see if default java locale settings are identical
+ when launch jvm from java and javaw respectively. Test
+ should be run on Windows with different user locale and
+ system locale setting in ControlPanel's RegionSetting.
+ Following 2 testing scenarios are recommended
+ (1)systemLocale=Japanese, userLocale=English
+ (2)systemLocale=English, userLocale=Japanese
+ * @compile -XDignore.symbol.file DefaultLocaleTest.java TestHelper.java
+ * @run main DefaultLocaleTestRun
+ */
+import java.io.File;
+
+public class DefaultLocaleTestRun {
+ public static void main(String... args) {
+ if (!TestHelper.isWindows) {
+ System.out.println("Test passes vacuously on non-windows");
+ return;
+ }
+ TestHelper.TestResult tr = null;
+ tr = TestHelper.doExec(TestHelper.javaCmd, "DefaultLocaleTest", "-w",
+ "x.out");
+ System.out.println(tr.testOutput);
+ tr = TestHelper.doExec(TestHelper.javawCmd, "DefaultLocaleTest", "-r",
+ "x.out");
+ System.out.println(tr.testOutput);
+ if (!tr.isOK()) {
+ throw new RuntimeException("Test failed");
+ }
+ }
+}
diff --git a/jdk/test/tools/launcher/I18NJarTest.java b/jdk/test/tools/launcher/I18NJarTest.java
new file mode 100644
index 0000000..7019329
--- /dev/null
+++ b/jdk/test/tools/launcher/I18NJarTest.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7125442
+ * @summary ensures a jar path as well as a class located in a path containing
+ * unicode characters are launched.
+ * @compile -XDignore.symbol.file I18NJarTest.java TestHelper.java
+ * @run main/othervm I18NJarTest
+ */
+import java.io.File;
+import java.util.Locale;
+
+/*
+ * Note 1: the system must have the correct Locale, in order for the test to
+ * work correctly, on those systems that do not comply, the test will succeed.
+ * Here are some guidelines to set the locale correctly.
+ * On Windows: ControlPanel->Regional Settings,
+ * ensure that "Japanese" is selected and checked, and in
+ * "Code page conversion tables", the following must be checked,
+ * 932 (ANSI/OEM - Japanese Shift-JIS).
+ * On Unix: use "locale -a" verify one of these exist ja_JP.UTF-8 or
+ * ja_JP.utf8 or ja_JP.ujis, and export one of them with LC_ALL.
+ *
+ *
+ * Note 2: since we need to set the locale, it is safest to execute this test
+ * in its own VM (othervm mode), such that the ensuing tests can run unperturbed,
+ * regardless of the outcome.
+ */
+public class I18NJarTest {
+ private static final File cwd = new File(".");
+ private static final File dir = new File("\uFF66\uFF67\uFF68\uFF69");
+ private static final String encoding = System.getProperty("sun.jnu.encoding", "");
+
+ public static void main(String... args) throws Exception {
+ boolean localeAvailable = false;
+ for (Locale l : Locale.getAvailableLocales()) {
+ if (l.toLanguageTag().equals(Locale.JAPAN.toLanguageTag())) {
+ localeAvailable = true;
+ break;
+ }
+ }
+ if (!localeAvailable) {
+ System.out.println("Warning: locale: " + Locale.JAPAN
+ + " not found, test passes vacuosly");
+ return;
+ }
+ if (encoding.equals("MS932") || encoding.equals("UTF-8")) {
+ Locale.setDefault(Locale.JAPAN);
+ System.out.println("using locale " + Locale.JAPAN +
+ ", encoding " + encoding);
+ } else {
+ System.out.println("Warning: current encoding is " + encoding +
+ "this test requires MS932 <Ja> or UTF-8," +
+ " test passes vacuosly");
+ return;
+ }
+ dir.mkdir();
+ File dirfile = new File(dir, "foo.jar");
+ TestHelper.createJar(dirfile,
+ "public static void main(String... args) {",
+ "System.out.println(\"Hello World\");",
+ "System.exit(0);",
+ "}");
+
+ // remove the class files, to ensure that the class is indeed picked up
+ // from the jar file and not from ambient classpath.
+ File[] classFiles = cwd.listFiles(TestHelper.createFilter(TestHelper.CLASS_FILE_EXT));
+ for (File f : classFiles) {
+ f.delete();
+ }
+
+ // test with a jar file
+ TestHelper.TestResult tr = TestHelper.doExec(TestHelper.javaCmd,
+ "-jar", dirfile.getAbsolutePath());
+ System.out.println(tr);
+ if (!tr.isOK()) {
+ throw new RuntimeException("TEST FAILED");
+ }
+
+ // test the same class but by specifying it as a classpath
+ tr = TestHelper.doExec(TestHelper.javaCmd, "-cp",
+ dirfile.getAbsolutePath(), "Foo");
+ System.out.println(tr);
+ if (!tr.isOK()) {
+ throw new RuntimeException("TEST FAILED");
+ }
+ }
+}
diff --git a/jdk/test/tools/launcher/Settings.java b/jdk/test/tools/launcher/Settings.java
index 10511bf..de01993 100644
--- a/jdk/test/tools/launcher/Settings.java
+++ b/jdk/test/tools/launcher/Settings.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 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,7 +25,7 @@ import java.io.IOException;
/*
* @test
- * @bug 6994753
+ * @bug 6994753 7123582
* @summary tests -XshowSettings options
* @compile -XDignore.symbol.file Settings.java TestHelper.java
* @run main Settings
@@ -129,6 +129,17 @@ public class Settings {
checkNoContains(tr, LOCALE_SETTINGS);
checkContains(tr, "Unrecognized option: -XshowSettingsBadOption");
}
+
+ static void runTest7123582() throws IOException {
+ TestHelper.TestResult tr = null;
+ tr = TestHelper.doExec(TestHelper.javaCmd, "-XshowSettings", "-version");
+ if (!tr.isOK()) {
+ System.out.println(tr.status);
+ throw new RuntimeException("test fails");
+ }
+ containsAllOptions(tr);
+ }
+
public static void main(String... args) {
try {
runTestOptionAll();
@@ -137,6 +148,7 @@ public class Settings {
runTestOptionProperty();
runTestOptionLocale();
runTestBadOptions();
+ runTest7123582();
} catch (IOException ioe) {
throw new RuntimeException(ioe);
}
diff --git a/jdk/test/tools/launcher/TestHelper.java b/jdk/test/tools/launcher/TestHelper.java
index f299736..c0f1119 100644
--- a/jdk/test/tools/launcher/TestHelper.java
+++ b/jdk/test/tools/launcher/TestHelper.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -21,23 +21,24 @@
* questions.
*/
-import java.nio.file.attribute.BasicFileAttributes;
-import java.nio.file.FileVisitResult;
-import java.nio.file.SimpleFileVisitor;
-import javax.tools.ToolProvider;
import java.io.BufferedReader;
import java.io.File;
+import java.io.FileFilter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
+import java.nio.file.attribute.BasicFileAttributes;
import java.nio.file.Files;
+import java.nio.file.FileVisitResult;
+import java.nio.file.SimpleFileVisitor;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.tools.JavaCompiler;
+import javax.tools.ToolProvider;
import static java.nio.file.StandardCopyOption.*;
@@ -49,6 +50,7 @@ public enum TestHelper {
static final String JAVAHOME = System.getProperty("java.home");
static final boolean isSDK = JAVAHOME.endsWith("jre");
static final String javaCmd;
+ static final String javawCmd;
static final String java64Cmd;
static final String javacCmd;
static final JavaCompiler compiler;
@@ -67,6 +69,10 @@ public enum TestHelper {
static final boolean isDualMode = isSolaris;
static final boolean isSparc = System.getProperty("os.arch").startsWith("sparc");
+ static final String JAVA_FILE_EXT = ".java";
+ static final String CLASS_FILE_EXT = ".class";
+ static final String JAR_FILE_EXT = ".jar";
+
static int testExitValue = 0;
static {
@@ -84,15 +90,29 @@ public enum TestHelper {
: new File(binDir, "java");
javaCmd = javaCmdFile.getAbsolutePath();
if (!javaCmdFile.canExecute()) {
- throw new RuntimeException("java <" + TestHelper.javaCmd + "> must exist");
+ throw new RuntimeException("java <" + TestHelper.javaCmd +
+ "> must exist and should be executable");
}
File javacCmdFile = (isWindows)
? new File(binDir, "javac.exe")
: new File(binDir, "javac");
javacCmd = javacCmdFile.getAbsolutePath();
+
+ if (isWindows) {
+ File javawCmdFile = new File(binDir, "javaw.exe");
+ javawCmd = javawCmdFile.getAbsolutePath();
+ if (!javawCmdFile.canExecute()) {
+ throw new RuntimeException("java <" + javawCmd +
+ "> must exist and should be executable");
+ }
+ } else {
+ javawCmd = null;
+ }
+
if (!javacCmdFile.canExecute()) {
- throw new RuntimeException("java <" + javacCmd + "> must exist");
+ throw new RuntimeException("java <" + javacCmd +
+ "> must exist and should be executable");
}
if (isSolaris) {
File sparc64BinDir = new File(binDir,isSparc ? "sparcv9" : "amd64");
@@ -288,6 +308,19 @@ public enum TestHelper {
}
}
+ static FileFilter createFilter(final String extension) {
+ return new FileFilter() {
+ @Override
+ public boolean accept(File pathname) {
+ String name = pathname.getName();
+ if (name.endsWith(extension)) {
+ return true;
+ }
+ return false;
+ }
+ };
+ }
+
/*
* A class to encapsulate the test results and stuff, with some ease
* of use methods to check the test results.
diff --git a/langtools/.hg/cache/branchheads b/langtools/.hg/cache/branchheads
index cfc8b5a..d721521 100644
--- a/langtools/.hg/cache/branchheads
+++ b/langtools/.hg/cache/branchheads
@@ -1,2 +1,2 @@
-583ebefb8aad26cb89b185d3a6c8de1dc0bcf096 1257
-583ebefb8aad26cb89b185d3a6c8de1dc0bcf096 default
+55173d94a8f08ca40cfbd7a170ae1af780b72080 1273
+55173d94a8f08ca40cfbd7a170ae1af780b72080 default
diff --git a/langtools/.hg/dirstate b/langtools/.hg/dirstate
index fb62821..176e2e6 100644
Binary files a/langtools/.hg/dirstate and b/langtools/.hg/dirstate differ
diff --git a/langtools/.hg/store/00changelog.d b/langtools/.hg/store/00changelog.d
index ed31860..45678fa 100644
Binary files a/langtools/.hg/store/00changelog.d and b/langtools/.hg/store/00changelog.d differ
diff --git a/langtools/.hg/store/00changelog.i b/langtools/.hg/store/00changelog.i
index c0c0ba0..af05f18 100644
Binary files a/langtools/.hg/store/00changelog.i and b/langtools/.hg/store/00changelog.i differ
diff --git a/langtools/.hg/store/00manifest.d b/langtools/.hg/store/00manifest.d
index ca6c6c1..03d18e2 100644
Binary files a/langtools/.hg/store/00manifest.d and b/langtools/.hg/store/00manifest.d differ
diff --git a/langtools/.hg/store/00manifest.i b/langtools/.hg/store/00manifest.i
index 80faaa0..79d511a 100644
Binary files a/langtools/.hg/store/00manifest.i and b/langtools/.hg/store/00manifest.i differ
diff --git a/langtools/.hg/store/data/src/share/classes/com/sun/tools/javac/code/_types.java.i b/langtools/.hg/store/data/src/share/classes/com/sun/tools/javac/code/_types.java.i
index f745be2..08d1329 100644
Binary files a/langtools/.hg/store/data/src/share/classes/com/sun/tools/javac/code/_types.java.i and b/langtools/.hg/store/data/src/share/classes/com/sun/tools/javac/code/_types.java.i differ
diff --git a/langtools/.hg/store/data/src/share/classes/com/sun/tools/javac/comp/_infer.java.i b/langtools/.hg/store/data/src/share/classes/com/sun/tools/javac/comp/_infer.java.i
index 707afd8..2b16648 100644
Binary files a/langtools/.hg/store/data/src/share/classes/com/sun/tools/javac/comp/_infer.java.i and b/langtools/.hg/store/data/src/share/classes/com/sun/tools/javac/comp/_infer.java.i differ
diff --git a/langtools/.hg/store/data/src/share/classes/javax/lang/model/element/_element.java.i b/langtools/.hg/store/data/src/share/classes/javax/lang/model/element/_element.java.i
index bf719dd..6f78f98 100644
Binary files a/langtools/.hg/store/data/src/share/classes/javax/lang/model/element/_element.java.i and b/langtools/.hg/store/data/src/share/classes/javax/lang/model/element/_element.java.i differ
diff --git a/langtools/.hg/store/data/src/share/classes/javax/lang/model/element/_package_element.java.i b/langtools/.hg/store/data/src/share/classes/javax/lang/model/element/_package_element.java.i
index 03833bf..49dac50 100644
Binary files a/langtools/.hg/store/data/src/share/classes/javax/lang/model/element/_package_element.java.i and b/langtools/.hg/store/data/src/share/classes/javax/lang/model/element/_package_element.java.i differ
diff --git a/langtools/.hg/store/data/src/share/classes/javax/lang/model/element/_type_element.java.i b/langtools/.hg/store/data/src/share/classes/javax/lang/model/element/_type_element.java.i
index e4f03f5..7c6e6e1 100644
Binary files a/langtools/.hg/store/data/src/share/classes/javax/lang/model/element/_type_element.java.i and b/langtools/.hg/store/data/src/share/classes/javax/lang/model/element/_type_element.java.i differ
diff --git a/langtools/.hg/store/data/test/tools/javac/api/_t6397104.java.i b/langtools/.hg/store/data/test/tools/javac/api/_t6397104.java.i
index d46a71e..24d34fa 100644
Binary files a/langtools/.hg/store/data/test/tools/javac/api/_t6397104.java.i and b/langtools/.hg/store/data/test/tools/javac/api/_t6397104.java.i differ
diff --git a/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100a.java.i b/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100a.java.i
new file mode 100644
index 0000000..1ea68b9
Binary files /dev/null and b/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100a.java.i differ
diff --git a/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100a.out.i b/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100a.out.i
new file mode 100644
index 0000000..dd3c8d2
Binary files /dev/null and b/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100a.out.i differ
diff --git a/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100b.java.i b/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100b.java.i
new file mode 100644
index 0000000..342baf6
Binary files /dev/null and b/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100b.java.i differ
diff --git a/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100b.out.i b/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100b.out.i
new file mode 100644
index 0000000..ee32b08
Binary files /dev/null and b/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100b.out.i differ
diff --git a/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100c.java.i b/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100c.java.i
new file mode 100644
index 0000000..1360b5d
Binary files /dev/null and b/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100c.java.i differ
diff --git a/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100c.out.i b/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100c.out.i
new file mode 100644
index 0000000..d2bab1c
Binary files /dev/null and b/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100c.out.i differ
diff --git a/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100d.java.i b/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100d.java.i
new file mode 100644
index 0000000..4977358
Binary files /dev/null and b/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100d.java.i differ
diff --git a/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100d.out.i b/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100d.out.i
new file mode 100644
index 0000000..bb4a049
Binary files /dev/null and b/langtools/.hg/store/data/test/tools/javac/cast/7123100/_t7123100d.out.i differ
diff --git a/langtools/.hg/store/data/test/tools/javac/cast/7126754/_t7126754.java.i b/langtools/.hg/store/data/test/tools/javac/cast/7126754/_t7126754.java.i
new file mode 100644
index 0000000..4c027f9
Binary files /dev/null and b/langtools/.hg/store/data/test/tools/javac/cast/7126754/_t7126754.java.i differ
diff --git a/langtools/.hg/store/data/test/tools/javac/cast/7126754/_t7126754.out.i b/langtools/.hg/store/data/test/tools/javac/cast/7126754/_t7126754.out.i
new file mode 100644
index 0000000..88a9ab3
Binary files /dev/null and b/langtools/.hg/store/data/test/tools/javac/cast/7126754/_t7126754.out.i differ
diff --git a/langtools/.hg/store/data/test/tools/javac/diags/_check_examples.java.i b/langtools/.hg/store/data/test/tools/javac/diags/_check_examples.java.i
index 75138ca..4f974fd 100644
Binary files a/langtools/.hg/store/data/test/tools/javac/diags/_check_examples.java.i and b/langtools/.hg/store/data/test/tools/javac/diags/_check_examples.java.i differ
diff --git a/langtools/.hg/store/data/test/tools/javac/diags/_message_info.java.i b/langtools/.hg/store/data/test/tools/javac/diags/_message_info.java.i
index 753fc92..1f11b0a 100644
Binary files a/langtools/.hg/store/data/test/tools/javac/diags/_message_info.java.i and b/langtools/.hg/store/data/test/tools/javac/diags/_message_info.java.i differ
diff --git a/langtools/.hg/store/data/test/tools/javac/diags/_run_examples.java.i b/langtools/.hg/store/data/test/tools/javac/diags/_run_examples.java.i
index 0630c1d..f302d0b 100644
Binary files a/langtools/.hg/store/data/test/tools/javac/diags/_run_examples.java.i and b/langtools/.hg/store/data/test/tools/javac/diags/_run_examples.java.i differ
diff --git a/langtools/.hg/store/data/~2ehgtags.i b/langtools/.hg/store/data/~2ehgtags.i
index 4c80969..a724465 100644
Binary files a/langtools/.hg/store/data/~2ehgtags.i and b/langtools/.hg/store/data/~2ehgtags.i differ
diff --git a/langtools/.hg/store/fncache b/langtools/.hg/store/fncache
index de885bb..faf4ad5 100644
--- a/langtools/.hg/store/fncache
+++ b/langtools/.hg/store/fncache
@@ -8,6 +8,7 @@ data/src/share/classes/javax/lang/model/type/ReferenceType.java.i
data/src/share/classes/com/sun/tools/javac/code/TargetType.java.i
data/src/share/classes/com/sun/tools/apt/mirror/util/SourcePositionImpl.java.i
data/test/tools/javac/diags/examples/UnreachableCatch.java.i
+data/test/tools/javah/4942232/Test.java.i
data/test/tools/javac/generics/diamond/7002837/T7002837.java.i
data/test/tools/javac/multicatch/model/Model01.java.i
data/test/com/sun/javadoc/AccessFrameTitle/AccessFrameTitle.java.i
@@ -17,6 +18,7 @@ data/test/tools/javac/cast/6548436/T6548436b.java.i
data/test/tools/javadoc/6958836/errs/Errors.java.i
data/test/tools/javac/diags/examples/ErrSyntheticNameConflict.java.i
data/test/tools/javac/InterfaceFieldParsing_1.java.i
+data/test/com/sun/javadoc/testTypeParams/pkg/ParamTest2.java.i
data/test/tools/javac/T5024091/T5024091.java.i
data/test/com/sun/javadoc/testUseOption/UsedInC.java.i
data/src/share/opensource/javac/src/bin/javac.sh.i
@@ -29,30 +31,30 @@ data/src/share/classes/com/sun/mirror/declaration/EnumDeclaration.java.i
data/test/tools/apt/mirror/declaration/GetAnno.java.i
data/test/tools/javac/generics/typeargs/ThisArg.java.i
data/src/share/classes/com/sun/mirror/util/SimpleTypeVisitor.java.i
+data/src/share/classes/com/sun/tools/javac/code/Symtab.java.i
data/test/tools/javac/DefiniteAssignment/DUTry.java.i
-data/test/tools/javac/ExtDirs/ext3/pkg2.jar.i
data/test/tools/javac/generics/7007615/acc2/p2/E.java.i
data/test/tools/javac/Diagnostics/7010608/Test.java.i
data/test/tools/javac/diags/examples/LocalEnum.java.i
data/src/share/classes/com/sun/tools/javah/Util.java.i
data/test/tools/javac/4846262/Test.out.i
-data/test/tools/javac/processing/model/element/TestMissingElement2/Generator.java.i
+data/test/tools/javac/multicatch/Neg02.java.i
data/test/tools/javac/danglingDep/DepX.java.i
data/test/tools/javac/api/6598108/T6598108.java.i
-data/test/tools/javac/processing/6430209/test1.java.i
+data/src/share/classes/com/sun/tools/javadoc/PackageDocImpl.java.i
+data/test/com/sun/javadoc/testIndex/pkg/Coin.java.i
data/test/tools/javac/cast/6295056/T6295056.java.i
data/test/com/sun/javadoc/testDocRootInlineTag/TestDocRootTag.java.i
data/test/tools/javac/generics/6372782/AdditiveClosure.java.i
-data/test/tools/javah/T6893943.java.i
+data/src/share/classes/com/sun/javadoc/DocErrorReporter.java.i
data/test/tools/javac/diags/examples/WarnProcMessager/processors/AnnoProc.java.i
-data/test/tools/javac/api/T6345974.java.i
data/test/com/sun/javadoc/testNewLanguageFeatures/pkg2/ParamTest2.java.i
-data/test/tools/javac/typeAnnotations/failures/common/innertypeparams/MissingAnnotationValue.out.i
+data/test/tools/javac/synthesize/Integer.java.i
data/test/tools/javac/api/ToolProvider/ToolProviderTest1.java.i
data/make/netbeans/langtools/nbproject/standard-ide-actions.ent.i
data/make/tools/Jigsaw/JmodTask.java.i
-data/test/tools/javac/NonStaticFieldExpr1.java.i
-data/test/tools/javac/generics/typevars/T7040883.java.i
+data/test/tools/javac/6400872/C.java.i
+data/test/tools/javac/NullStaticQualifier.java.i
data/test/tools/javac/enum/LocalEnum.java.i
data/test/tools/javac/HexThree.java.i
data/src/share/classes/com/sun/tools/javac/code/TypeTags.java.i
@@ -63,66 +65,62 @@ data/test/tools/javac/generics/wildcards/AssignmentDifferentTypes6.java.i
data/src/share/classes/com/sun/tools/javac/util/Abort.java.i
data/test/tools/javac/T6663588.java.i
data/test/tools/javac/api/6431257/package-info.java.i
+data/src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java.i
data/test/tools/javac/api/guide/TestMe.java.i
data/test/tools/javac/api/guide/Test.java.i
data/src/share/classes/com/sun/tools/javadoc/SourcePositionImpl.java.i
-data/test/tools/javac/warnings/Deprecation.java.i
-data/test/tools/javac/processing/errors/TestParseErrors/TestParseErrors.out.i
+data/test/tools/javac/generics/diamond/pos/Pos05.java.i
+data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_10.java.i
data/src/share/classes/com/sun/tools/javac/util/Bits.java.i
data/src/share/classes/javax/tools/DiagnosticListener.java.i
-data/test/tools/javadoc/badSuper/BadSuper.java.i
+data/test/com/sun/javadoc/testUseOption/TestUseOption.java.i
data/test/tools/javac/T6294589.java.i
data/test/tools/javac/generics/inference/6278587/T6278587Neg.java.i
data/test/tools/javac/mandatoryWarnings/unchecked/Test4c.out.i
data/test/com/sun/javadoc/testNestedInlineTag/testtaglets/GreenTaglet.java.i
data/test/tools/javap/NotPackagePrivateInterface.java.i
-data/test/tools/javac/protectedAccess/ProtectedMemberAccess4.java.i
-data/test/tools/javac/diags/examples/LongSVUID.java.i
+data/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C4.java.i
+data/test/tools/javac/generics/GenericAnonCtor.java.i
data/test/tools/javac/processing/model/util/elements/TestGetPackageOf.java.i
data/test/tools/javac/diags/examples/DuplicateCaseLabel.java.i
data/test/com/sun/javadoc/testHtmlStrongTag/TestHtmlStrongTag.java.i
data/test/tools/javac/processing/werror/WErrorGen.java.i
-data/test/tools/javac/generics/T4784219.java.i
data/test/tools/javac/Paths/Util.sh.i
data/src/share/classes/com/sun/tools/javac/util/UnsharedNameTable.java.i
data/test/tools/javac/generics/7007615/acc2/p1/D.java.i
data/test/tools/javac/policy/test1/bytodo.ABD.out.i
data/make/tools/GenStubs/GenStubs.java.i
data/test/tools/javac/5017953/T5017953.out.i
-data/src/share/classes/com/sun/tools/javadoc/AbstractTypeImpl.java.i
data/src/share/classes/com/sun/tools/classfile/OpCodes.java.i
data/test/tools/javac/mandatoryWarnings/deprecated/Test3b.out.i
data/test/tools/javac/generics/inference/6611449/T6611449.out.i
data/make/jprt.config.i
data/src/share/classes/javax/lang/model/overview.html.i
+data/src/share/classes/com/sun/source/tree/MemberSelectTree.java.i
data/test/tools/javac/generics/6227936/Orig.java.i
data/test/tools/javac/api/T6407011.java.i
data/test/com/sun/javadoc/testDupParamWarn/pkg/Foo.java.i
data/test/tools/javac/typeAnnotations/failures/IndexArray.java.i
data/test/tools/javac/diags/examples/KindnameClass.java.i
+data/test/tools/javac/typeAnnotations/failures/common/receiver/MissingAnnotationValue.java.i
data/test/tools/javac/diags/examples/WarnProcMessager/WarnProcMessager.java.i
-data/test/tools/javadoc/6964914/Test.java.i
-data/test/tools/javac/warnings/FallThrough.lintAll.out.i
+data/test/tools/javac/6917288/GraphicalInstallerTest.java.i
data/test/tools/javac/generics/inference/6650759/T6650759a.java.i
data/test/tools/javac/importContext/anonPackage/bar/Baz.java.i
-data/test/tools/javac/api/6733837/T6733837.java.i
-data/test/tools/javac/annotations/neg/Cycle2.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/MethodWriter.java.i
-data/src/share/classes/com/sun/tools/javac/util/AbstractLog.java.i
data/test/tools/javac/diags/examples/PkgClashWithClass/p/q/C.java.i
data/test/tools/javac/api/T6265137.java.i
data/src/share/classes/com/sun/tools/javadoc/ParameterizedTypeImpl.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/TaggedMethodFinder.java.i
data/test/com/sun/javadoc/testDocFileDir/pkg/doc-files/subdir-used1/testfile.txt.i
-data/test/com/sun/javadoc/testUnnamedPackage/package.html.i
+data/test/com/sun/javadoc/testOverridenMethods/pkg2/SubClass.java.i
data/test/tools/javac/ConstBoolAppend.java.i
data/test/tools/javac/diags/examples/UnclosedCharLiteral.java.i
data/test/tools/javac/capture/Capture4.java.i
-data/test/tools/javac/T6224167.out.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletOutput.java.i
data/test/tools/javac/T6227617.out.i
data/src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java.i
data/src/share/classes/com/sun/javadoc/ConstructorDoc.java.i
-data/src/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java.i
data/test/tools/javac/typeAnnotations/failures/common/rest/MissingAnnotationValue.out.i
data/test/com/sun/javadoc/testHtmlTableTags/pkg1/package-info.java.i
data/src/share/classes/com/sun/tools/javac/tree/TreeMaker.java.i
@@ -141,14 +139,14 @@ data/src/share/classes/com/sun/tools/javac/util/DiagnosticSource.java.i
data/test/com/sun/javadoc/testHtmlTag/pkg1/C1.java.i
data/src/share/classes/com/sun/tools/classfile/ExtendedAnnotation.java.i
data/test/tools/javac/T5090006/compiler.sh.i
-data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_3.java.i
+data/test/tools/javac/6257443/T6257443.java.i
data/test/tools/javac/T6370653.java.i
data/test/com/sun/javadoc/testCRLineSeparator/pkg/MyClass.java.i
data/test/tools/javac/failover/FailOver09.out.i
data/test/tools/javac/diags/examples/IncompatibleTypes1.java.i
data/test/com/sun/javadoc/testPackageDeprecation/FooDepr.java.i
-data/test/tools/javap/T6716452.java.i
-data/src/share/classes/com/sun/source/tree/EntrypointDirectiveTree.java.i
+data/test/tools/javac/stackmap/T4955930.sh.i
+data/test/tools/javac/generics/wildcards/pos/BoundsCollision.java.i
data/test/tools/javac/innerClassFile/y/R2.java.i
data/test/tools/javac/generics/T5011073.java.i
data/test/com/sun/javadoc/testHtmlTableTags/pkg2/C4.java.i
@@ -157,8 +155,9 @@ data/test/tools/javac/diags/examples/UncheckedAssignToVar.java.i
data/test/tools/javac/diags/examples/CantRefBeforeConstr.java.i
data/test/tools/javac/typeAnnotations/failures/common/typeparams/MissingAnnotationValue.out.i
data/test/tools/javac/api/T6265137a.java.i
+data/test/tools/javac/cast/7123100/T7123100d.out.i
data/test/tools/javac/generics/6294779/T6294779c.java.i
-data/test/tools/javac/processing/T6439826.java.i
+data/src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java.i
data/test/tools/javac/api/evalexpr/MemoryFileManager.java.i
data/test/tools/javac/6863465/T6863465d.out.i
data/test/tools/javadoc/annotations/annotateMethodsFields/pkg1/E.java.i
@@ -166,22 +165,21 @@ data/test/tools/javac/BadOptimization/Switch1.java.i
data/test/tools/javac/T6180021/AbstractSub.java.i
data/test/tools/javac/SuperNew.java.i
data/src/share/classes/javax/tools/FileObject.java.i
-data/test/tools/javac/varargs/5088429/T5088429Neg02.out.i
+data/test/tools/javac/multicatch/Neg06.out.i
data/test/com/sun/javadoc/testNestedGenerics/TestNestedGenerics.java.i
data/src/share/classes/com/sun/tools/javac/main/RecognizedOptions.java.i
-data/test/tools/javac/typeAnnotations/newlocations/ClassParameters.java.i
data/test/tools/javac/quid/T6999438.java.i
data/test/tools/javac/4980495/static/p1/A1.java.i
data/test/tools/javac/modules/ModulePathTest02.java.i
data/test/tools/javac/generics/wildcards/AssignmentDifferentTypes8.java.i
-data/test/tools/javac/generics/diamond/7030687/T7030687.out.i
+data/src/share/classes/javax/lang/model/element/Element.java.i
data/test/tools/javac/protectedAccess/ProtectedMemberAccess2.out.i
data/test/tools/javac/T6410706.java.i
data/src/share/classes/com/sun/tools/javadoc/DocEnv.java.i
data/test/tools/javac/generics/inference/7086586/T7086586b.java.i
data/test/tools/javac/failover/FailOver14.java.i
+data/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationTypeElementDeclarationImpl.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeOptionalMemberWriter.java.i
-data/test/tools/javac/depDocComment/SuppressDeprecation.java.i
data/test/com/sun/javadoc/testDocFileDir/TestDocFileDir.java.i
data/test/tools/javac/generics/wildcards/6886247/T6886247_2.java.i
data/test/tools/javac/cast/6795580/T6795580.out.i
@@ -189,25 +187,20 @@ data/src/share/classes/com/sun/tools/javadoc/Comment.java.i
data/src/share/classes/com/sun/tools/javah/resources/SunOS_sparc.properties.i
data/src/share/classes/com/sun/tools/javac/api/JavacScope.java.i
data/test/tools/javac/generics/typevars/6182630/T6182630c.java.i
-data/test/tools/javac/diags/examples/AnonymousClass.java.i
data/src/share/classes/com/sun/source/tree/StatementTree.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java.i
-data/test/tools/javac/TryWithResources/TwrFlow.out.i
+data/src/share/classes/com/sun/tools/javah/TypeSignature.java.i
data/test/tools/javac/quid/QuotedIdent_BAD62.java.i
data/test/tools/javadoc/generics/supertypes/Main.java.i
-data/test/tools/javac/generics/inference/5003431/T5003431.java.i
data/test/tools/javac/diags/examples/ProcCantFindClass/ProcCantFindClass.java.i
data/test/tools/javac/Diagnostics/6862608/T6862608b.out.i
data/test/tools/javah/6572945/TestClass1.java.i
-data/test/tools/javac/generics/bridge1/C.java.i
-data/test/tools/javac/generics/inference/5042462/T5042462.java.i
data/test/tools/javac/TryWithResources/ResourceOutsideTry.out.i
data/test/tools/javac/generics/6372782/State.java.i
-data/test/tools/javac/processing/6634138/ExerciseDependency.java.i
+data/test/com/sun/javadoc/testOverridenMethods/TestOverridenMethodDocCopy.java.i
data/test/tools/javac/generics/T4784207a.java.i
-data/make/conf/checkstyle-langtools.xml.i
data/test/tools/javac/DefiniteAssignment/DUAssert.java.i
-data/test/tools/javac/types/CastTest.java.i
+data/test/tools/javac/diags/examples/TryWithoutCatchOrFinallyOrResource.java.i
data/test/tools/javac/generics/6723444/T6723444.java.i
data/test/tools/javac/SynchronizedClass.sh.i
data/test/tools/apt/Options/Marker.java.i
@@ -215,42 +208,47 @@ data/test/tools/javac/enum/forwardRef/TestEnum6.java.i
data/test/tools/javac/generics/typevars/5060485/Pos.java.i
data/test/tools/javac/typeAnnotations/failures/common/typeparams/InvalidLocation.out.i
data/src/share/classes/javax/lang/model/util/TypeKindVisitor6.java.i
-data/src/share/classes/com/sun/tools/javac/code/Types.java.i
+data/test/tools/javac/CyclicInheritance.java.i
data/test/tools/javac/api/6437349/T6437349.java.i
+data/test/tools/javac/multicatch/Neg01eff_final.out.i
data/test/tools/javac/ClassCycle/ClassCycle3a.java.i
data/test/tools/javac/MissingInclude.java.i
-data/test/tools/javac/multicatch/Neg01eff_final.java.i
+data/test/tools/javac/annotations/neg/Z11.java.i
data/test/tools/javac/generics/inference/6650759/T6650759f.java.i
-data/test/tools/javac/generics/6677785/T6677785.out.i
data/src/share/classes/sun/tools/javap/TrapData.java.i
data/test/tools/javac/generics/typevars/6569404/T6569404b.out.i
data/test/tools/javac/generics/wildcards/pos/CastTest.java.i
data/test/tools/javac/InnerTruth.java.i
data/test/tools/javac/api/6440528/package-info.java.i
-data/test/tools/javac/diags/examples/DuplicateAnnotation.java.i
+data/test/com/sun/javadoc/testLinkOption/java/lang/StringBuilderChild.java.i
data/test/tools/javac/generics/inference/6638712/T6638712d.out.i
data/test/tools/javac/generics/6476118/T6476118a.out.i
-data/test/tools/javac/FlatnameClash2.java.i
+data/src/share/classes/com/sun/tools/javadoc/ProgramElementDocImpl.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java.i
+data/test/tools/apt/mirror/declaration/EnumDecl.java.i
+data/test/com/sun/javadoc/testTaglets/taglets/Foo.java.i
data/src/share/classes/com/sun/mirror/type/EnumType.java.i
data/test/tools/javac/generics/Casting4.java.i
+data/test/tools/apt/mirror/type/EnumTyp.java.i
data/test/tools/javac/enum/ExplicitlyAbstractEnum1.java.i
data/src/share/classes/com/sun/mirror/declaration/AnnotationValue.java.i
data/test/tools/javac/Diagnostics/6862608/T6862608a.java.i
data/test/tools/javac/generics/InheritanceConflict3.java.i
data/test/tools/javac/unicode/Unmappable.java.i
+data/test/com/sun/javadoc/AccessAsciiArt/p1/C.java.i
data/test/tools/javac/T5003235/T5003235a.out.i
+data/test/tools/javac/annotations/neg/DupTarget.java.i
+data/test/com/sun/javadoc/testThrowsTag/pkg/T1.java.i
data/test/tools/javac/ConstantValues/test_ff1.java.i
data/test/tools/javac/T5003235/T5003235b.java.i
-data/test/tools/javac/diags/examples/ProcUnclosedTypeFiles/processors/AnnoProc.java.i
data/test/tools/javac/generics/wildcards/neg/CastWarn8.java.i
data/test/tools/javac/T6326754.out.i
data/test/tools/javac/enum/6384542/T6384542a_5.out.i
data/test/tools/javac/ClassLit.java.i
data/test/com/sun/javadoc/testThrowsInheritence/I.java.i
data/test/tools/javac/DefiniteAssignment/T4720379.java.i
-data/test/tools/javac/OverrideChecks/InterfaceImplements.java.i
-data/test/tools/javac/generics/wildcards/neg/CastWarn3.java.i
+data/test/com/sun/javadoc/testHtmlTableTags/pkg1/C1.java.i
+data/test/tools/javac/generics/T6557954.java.i
data/test/tools/javac/enum/enumSwitch/EnumSwitch.java.i
data/test/tools/javac/ClassFileModifiers/ClassModifiers.java.i
data/test/tools/javac/generics/inference/T7015715.java.i
@@ -258,7 +256,6 @@ data/test/tools/javadoc/generics/wildcards/expected.out.i
data/test/com/sun/javadoc/testSerializedForm/TestSerializedForm.java.i
data/test/tools/javac/diags/examples/AlreadyDefined.java.i
data/test/tools/javac/abstract/T4717181b.java.i
-data/test/tools/javac/diags/examples/ProcFileReopening/processors/AnnoProc.java.i
data/src/share/classes/com/sun/tools/apt/resources/apt_ja.properties.i
data/test/tools/javac/annotations/default/A.java.i
data/test/tools/javac/typeAnnotations/failures/common/rest/DuplicateTypeAnnotation.java.i
@@ -267,10 +264,10 @@ data/test/tools/javac/6521805/T6521805c.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/WriterFactoryImpl.java.i
data/src/share/classes/com/sun/source/tree/VariableTree.java.i
data/src/share/classes/com/sun/tools/javac/processing/JavacMessager.java.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/Taglet.java.i
data/test/tools/javac/Ambig3.java.i
-data/test/tools/javac/resolve/tests/PrimitiveOverReferenceVarargsAmbiguous.java.i
data/src/share/classes/javax/lang/model/element/ModuleElement.java.i
-data/test/tools/javac/generics/wildcards/AssignmentSameType1.java.i
+data/test/tools/javac/HexFloatLiterals.java.i
data/test/tools/javac/multicatch/7030606/T7030606.java.i
data/test/tools/javac/nested/5009484/X.java.i
data/test/tools/javac/generics/6487370/T6487370.java.i
@@ -283,54 +280,52 @@ data/test/com/sun/javadoc/AccessSkipNav/AccessSkipNav.java.i
data/src/share/classes/com/sun/tools/javac/comp/Resolve.java.i
data/test/tools/javac/processing/werror/WErrorLast.java.i
data/test/tools/javac/processing/warnings/UseImplicit/C1.java.i
-data/src/share/classes/com/sun/javadoc/DocErrorReporter.java.i
+data/test/tools/javah/T6893943.java.i
data/src/share/classes/javax/lang/model/element/PackageElement.java.i
data/test/tools/javac/processing/environment/TestSourceVersion.java.i
data/test/tools/apt/Compile/src/AndAhTwoClass.java.i
-data/test/tools/javac/diags/examples/MulticatchMustBeFinal.java.i
data/test/com/sun/javadoc/_template/Template.java.i
data/test/tools/javac/6394683/A.java.i
-data/test/tools/javac/generics/inference/6638712/T6638712b.out.i
+data/src/share/classes/com/sun/mirror/type/AnnotationType.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ValueTaglet.java.i
data/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationMirrorImpl.java.i
data/test/tools/javac/generics/RefEqual.java.i
+data/test/tools/javac/Paths/6638501/WsCompileExample.java.i
data/src/share/classes/com/sun/source/tree/BinaryTree.java.i
data/src/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java.i
-data/test/tools/javac/DefiniteAssignment/T4725725.java.i
+data/test/com/sun/javadoc/testRecurseSubPackages/pkg1/C1.java.i
data/test/tools/javac/generics/UncheckedConstructor.java.i
data/src/share/classes/com/sun/tools/javac/jigsaw/JigsawModuleResolver.java.i
data/test/tools/javac/mandatoryWarnings/deprecated/Q.java.i
data/test/tools/javac/6840059/T6840059.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java.i
data/test/tools/javac/generics/diamond/neg/Neg02.out.i
-data/test/tools/javac/generics/GetClass2.java.i
+data/test/tools/javac/generics/InstanceOf2.java.i
data/src/share/classes/com/sun/tools/javac/code/ModuleIdQuery.java.i
-data/test/tools/javac/staticQualifiedNew/StaticQualifiedNew.java.i
-data/test/tools/javadoc/6964914/TestUserDoclet.java.i
-data/test/tools/javac/generics/inference/7086586/T7086586.out.i
+data/test/tools/javac/varargs/6199075/T6199075.java.i
+data/src/share/classes/sun/tools/javap/AttrData.java.i
+data/test/tools/javac/cast/6795580/T6795580.java.i
+data/test/tools/javac/failover/FailOver08.java.i
data/test/tools/javac/6734819/T6734819b.out.i
data/test/tools/javac/BadOptimization/Switch2.java.i
-data/test/tools/javac/ProtectedInnerClass/p1/ProtectedInnerClass1.java.i
+data/test/com/sun/javadoc/testPackageDeprecation/pkg1/Foo2.java.i
data/test/tools/javac/policy/C.java.i
data/test/tools/javac/diags/examples/SunApiPluralAdditional/SunApiPluralAdditional.java.i
-data/test/tools/javac/synthesize/Integer.java.i
+data/test/tools/javac/typeAnnotations/failures/common/innertypeparams/MissingAnnotationValue.out.i
data/test/tools/javac/diags/examples/InexactVarargsCall.java.i
data/test/tools/javac/mixedTarget/CompatibleAbstracts3.java.i
-data/test/tools/javac/ImportUnnamed/Dummy.java.i
data/test/tools/javac/scope/6225935/Estatico4.java.i
data/test/tools/javac/diags/examples/InapplicableSymbols.java.i
-data/test/tools/javac/ClassLiterals/InnerClassLiterals.java.i
+data/test/tools/javac/annotations/neg/NoAnnotationMethods.java.i
data/test/tools/javac/diags/examples/KindnameConstructor.java.i
data/test/tools/javac/enum/T5081785.java.i
-data/test/com/sun/javadoc/testMemberInheritence/pkg/BaseInterface.java.i
+data/src/share/classes/com/sun/tools/javac/processing/JavacFiler.java.i
data/src/share/classes/com/sun/tools/javac/processing/ServiceProxy.java.i
data/test/tools/javac/generics/wildcards/T5097548.java.i
data/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/package-info.java.i
data/test/tools/javac/BadOptimization/DeadCode5.java.i
-data/test/tools/javac/diags/examples/AssertAsIdentifier2.java.i
data/test/tools/javac/6341866/A.java.i
data/src/share/classes/com/sun/source/tree/EnhancedForLoopTree.java.i
-data/test/tools/javac/modules/ModulePermitsAttributeTest01.java.i
data/test/tools/javac/diags/examples/EnumLabelUnqualified.java.i
data/test/tools/javac/generics/7007615/acc2/AccessibilityCheck02.out.i
data/test/tools/javac/T5048776a.out.i
@@ -340,13 +335,17 @@ data/src/share/classes/javax/lang/model/UnknownEntityException.java.i
data/src/share/classes/com/sun/source/tree/ModuleExportTree.java.i
data/test/tools/javac/typeAnnotations/failures/common/arrayclass/DuplicateAnnotationValue.out.i
data/test/tools/javac/typeAnnotations/attribution/Scopes.java.i
-data/test/tools/javac/generics/T6481655.java.i
+data/test/tools/javac/foreach/StaticBlock.java.i
data/test/tools/javac/api/T6357331.java.i
data/src/share/classes/com/sun/tools/javac/jvm/Items.java.i
+data/test/com/sun/javadoc/testIndex/pkg/Interface.java.i
+data/test/tools/javac/ClassLiterals/LiteralInterfaceImpl.java.i
data/test/tools/javac/generics/inference/6302954/T6476073.java.i
+data/src/share/classes/javax/tools/StandardJavaFileManager.java.i
data/test/tools/javac/modules/ModuleRequiresAttributeTest01.java.i
data/test/tools/javac/generics/diamond/neg/Neg10.out.i
-data/test/tools/javac/processing/messager/6362067/T6362067.java.i
+data/src/share/classes/com/sun/mirror/type/TypeMirror.java.i
+data/test/tools/javac/FinalInitializer_2.java.i
data/test/tools/javac/annotations/pos/Members.java.i
data/test/tools/javac/generics/6910550/T6910550a.java.i
data/src/share/classes/javax/lang/model/type/TypeKind.java.i
@@ -364,13 +363,10 @@ data/src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java.
data/src/share/classes/com/sun/tools/javap/LocalVariableTableWriter.java.i
data/test/tools/javap/typeAnnotations/NewArray.java.i
data/test/tools/javac/typeAnnotations/failures/common/parambounds/DuplicateTypeAnnotation.java.i
-data/test/tools/javac/Paths/6638501/HelloLib/test/HelloImpl.java.i
-data/test/tools/javac/generics/rare/Rare2.java.i
data/test/tools/javac/AccessMethods/ConstructorAccess.java.i
data/test/tools/javac/ForwardReference/T6676362b.java.i
data/test/tools/apt/Discovery/servicesPhantomTouch.i
-data/test/tools/javac/completion/C.out.i
-data/test/tools/javac/processing/6430209/test0.java.i
+data/test/tools/javac/cast/6558559/T6558559b.java.i
data/test/tools/javac/inheritedAccess/P1/pub.java.i
data/test/tools/javac/T6361619.java.i
data/test/tools/javac/generics/diamond/pos/Pos07.java.i
@@ -383,6 +379,7 @@ data/test/tools/javap/OptionTest.java.i
data/src/share/classes/com/sun/source/tree/CompilationUnitTree.java.i
data/test/tools/javac/implicitThis/WhichImplicitThis4.java.i
data/test/tools/apt/Misc/servicesMisc.i
+data/test/tools/javac/annotations/TestAnnotationPackageInfo.java.i
data/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java.i
data/make/netbeans/doclets/README.i
data/src/share/classes/com/sun/tools/javah/JavahTask.java.i
@@ -392,10 +389,10 @@ data/test/tools/javac/ConditionalArgTypes_1.java.i
data/test/tools/javac/boxing/NoBoxingByte.java.i
data/test/tools/javac/NonStaticFieldExpr2.sh.i
data/src/share/classes/com/sun/tools/javap/Options.java.i
-data/test/tools/javac/miranda/6964669/pkg/B.java.i
data/src/share/classes/com/sun/source/tree/AnnotatedTypeTree.java.i
data/test/com/sun/javadoc/testRecurseSubPackages/pkg1/pkg2/C3.java.i
-data/test/tools/javac/ConstCharAppend.java.i
+data/test/tools/javac/boxing/NoBoxingFloat.java.i
+data/test/tools/javac/AnonInnerException_2.java.i
data/test/tools/apt/Basics/p1/p2/C1.java.i
data/test/tools/javac/SynthName2.java.i
data/test/tools/javac/annotations/neg/Constant.java.i
@@ -406,7 +403,6 @@ data/test/tools/javac/LabelHiding_1.java.i
data/src/share/classes/com/sun/tools/javac/code/Kinds.java.i
data/src/share/classes/com/sun/source/tree/Scope.java.i
data/test/tools/javac/6330997/T6330997.java.i
-data/test/tools/javadoc/enum/docComments/pkg1/Operation.java.i
data/test/tools/javac/ClassLiterals/LiteralInterface_3.java.i
data/test/tools/javac/util/list/TList.java.i
data/test/com/sun/javadoc/testParamTaglet/pkg/Parent.java.i
@@ -414,32 +410,36 @@ data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletWrit
data/test/tools/javac/diags/examples/ApplicableMethodFound1.java.i
data/test/tools/javac/rawDiags/Note.java.i
data/test/com/sun/javadoc/testBadSourceFile/C1.java.i
+data/test/tools/javac/treepostests/TreePosTest.java.i
+data/test/com/sun/javadoc/testAnnotationTypes/pkg/AnnotationType.java.i
data/test/tools/javac/diags/examples/ProcPackageDoesNotExist/ProcPackageDoesNotExist.java.i
data/test/tools/javac/diags/examples/EmptyIf.java.i
data/test/tools/javac/InheritedPrivateImpl.java.i
data/src/share/classes/javax/annotation/processing/FilerException.java.i
-data/test/tools/javac/typeAnnotations/failures/common/receiver/DuplicateTypeAnnotation.out.i
+data/test/tools/javac/fatalErrors/NoJavaLang.sh.i
data/test/tools/javac/typeAnnotations/failures/common/parambounds/InvalidLocation.out.i
-data/test/tools/javac/EmptyBreak.java.i
+data/test/tools/javac/6627362/x/Object.java.i
data/test/tools/javac/InterfaceMemberClassModifiers.java.i
data/test/tools/javac/api/6557752/T6557752.java.i
-data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_6.java.i
+data/test/tools/apt/lib/Ignore.java.i
+data/test/tools/javac/generics/inference/7086601/T7086601a.java.i
data/test/tools/javac/generics/inference/6650759/T6650759h.java.i
-data/test/tools/javac/processing/model/type/MirroredTypeEx/OverEager.java.i
+data/src/share/classes/com/sun/source/tree/DoWhileLoopTree.java.i
+data/src/share/classes/javax/annotation/processing/SupportedOptions.java.i
data/test/tools/javac/generics/GenericMerge.java.i
data/test/tools/javac/typeAnnotations/failures/common/wildcards/InvalidLocation.java.i
+data/test/tools/javac/api/6440333/T6440333.java.i
data/test/tools/javac/util/filemanager/TestName.java.i
-data/test/tools/apt/Scanners/Scanner.java.i
data/test/tools/javac/depOverrides/doccomment/R.java.i
-data/test/tools/apt/Compile/Rounds.java.i
+data/test/tools/javac/typeAnnotations/failures/common/arrays/DuplicateAnnotationValue.out.i
data/test/com/sun/javadoc/testJavascript/TestJavascript.java.i
data/test/tools/javac/diags/examples/ImportRequiresCanonical/p/Base.java.i
data/test/tools/javac/policy/test1/D.java.i
data/test/tools/javac/depOverrides/doccomment/B3.java.i
-data/test/tools/javac/lambda/LambdaParserTest.java.i
data/test/tools/javac/scope/6225935/T6381787.java.i
data/src/share/classes/com/sun/tools/apt/util/Bark.java.i
data/test/tools/javac/PackageClassClash/PackageClassClash.java.i
+data/src/share/classes/com/sun/tools/apt/mirror/type/EnumTypeImpl.java.i
data/make/test/HelloWorld.java.i
data/src/share/classes/com/sun/tools/javadoc/RootDocImpl.java.i
data/test/tools/javac/generics/odersky/BadTest.java.i
@@ -452,23 +452,25 @@ data/test/tools/javac/diags/examples/IllegalNonAsciiDigit.java.i
data/test/tools/javac/processing/errors/TestFatalityOfParseErrors.java.i
data/src/share/opensource/javac/nbproject/project.xml.i
data/test/tools/javac/diags/examples/OperatorCantBeApplied1.java.i
-data/test/tools/javac/diags/examples/PrintRounds/processors/AnnoProc.java.i
data/test/tools/javac/annotations/neg/Z15.java.i
data/src/share/classes/com/sun/tools/javac/api/JavacTool.java.i
data/test/com/sun/javadoc/testGroupOption/pkg2/C.java.i
data/test/tools/javac/depOverrides/annotation/I.java.i
+data/test/tools/javac/MissingInclude.sh.i
data/test/tools/apt/Misc/misc.sh.i
+data/test/tools/javac/generics/wildcards/BoundBug.java.i
data/test/tools/javac/depOverrides/doccomment/I.java.i
data/test/tools/javac/ExtDirs/ExtDirs.sh.i
-data/test/tools/javac/varargs/T7013865.java.i
+data/test/tools/javac/generics/wildcards/pos/InstanceOf.java.i
+data/src/share/classes/com/sun/tools/javadoc/AnnotationValueImpl.java.i
data/src/share/classes/com/sun/tools/javah/JavahFileManager.java.i
data/test/tools/javac/annotations/neg/Z16.java.i
data/test/tools/javac/processing/options/testPrintProcessorInfo/Test.out.i
data/src/share/classes/com/sun/javadoc/MemberDoc.java.i
-data/test/tools/javac/boxing/NoBoxingLong.java.i
+data/test/tools/javac/failover/FailOver12.java.i
data/src/share/classes/com/sun/tools/javac/util/FatalError.java.i
data/test/tools/javac/diags/examples/DiamondNotSupported.java.i
-data/test/tools/javac/innerClassFile/x/C.java.i
+data/test/tools/javac/OverrideChecks/T4720356b.java.i
data/src/share/classes/javax/tools/OptionChecker.java.i
data/test/tools/javac/diags/examples/UnclosedComment.java.i
data/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationProxyMaker.java.i
@@ -481,41 +483,37 @@ data/test/tools/javac/jvm/T7024096.java.i
data/test/com/sun/javadoc/testMemberInheritence/diamond/X.java.i
data/test/tools/javac/capture/Capture3.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeOptionalMemberBuilder.java.i
-data/test/tools/javac/generics/6207386/T6207386.java.i
+data/test/tools/javac/resolve/tests/PrimitiveOverReferenceOverInferred.java.i
data/test/tools/javac/cast/6219964/T6219964.java.i
-data/test/tools/javac/6668794/badSource/Test.java.i
data/test/tools/javac/typeAnnotations/failures/common/arrayclass/DuplicateAnnotationValue.java.i
data/test/tools/javac/StringsInSwitch/StringSwitches.java.i
data/test/tools/javac/ObjectMethodRefFromInterface.java.i
-data/test/tools/javac/links/T.java.i
+data/src/share/classes/com/sun/tools/javac/resources/legacy.properties.i
data/test/com/sun/javadoc/AccessAsciiArt/p1/subpkg/SSC.java.i
data/test/tools/javac/cast/6211853/T6211853.java.i
data/test/tools/javac/generics/wildcards/neg/Capture.java.i
data/test/tools/javac/generics/7007615/T7007615.java.i
data/test/tools/javac/typeAnnotations/newlocations/MethodTypeParameters.java.i
-data/test/tools/javac/diags/examples/InitializerMustComplete.java.i
+data/test/tools/javac/diags/examples/ArrayAndVarargs.java.i
data/test/tools/javac/generics/7034511/T7034511b.out.i
data/test/tools/javac/mandatoryWarnings/deprecated/Test5b.out.i
data/test/tools/javac/generics/compat/OverrideBridge1.java.i
-data/test/tools/apt/mirror/declaration/AnnoTypeElemDecl.java.i
data/test/tools/javac/generics/Multibound1.java.i
-data/test/tools/javac/diags/examples/WhereTypeVar.java.i
+data/test/tools/javac/7079713/TestCircularClassfile.java.i
data/test/tools/javac/diags/examples/OverrideUncheckedThrown.java.i
data/src/share/classes/com/sun/tools/classfile/ModuleMemberTable_attribute.java.i
data/test/tools/javac/processing/errors/TestReturnCode.java.i
-data/test/tools/javac/cast/6558559/T6558559a.java.i
-data/test/tools/javac/TryWithResources/BadTwrSyntax.out.i
data/test/tools/javac/TryWithResources/TwrSuppression.java.i
+data/test/tools/javac/diags/examples/ProcessorCantInstantiate/processors/AnnoProc.java.i
data/test/tools/javac/generics/typevars/5061359/Base.java.i
-data/test/tools/javac/ClassFileModifiers/MemberModifiers.out.i
data/test/tools/javac/CyclicInheritance6/p1/A.java.i
-data/test/tools/javac/DuplicateClass2.java.i
+data/test/com/sun/javadoc/testHrefInDocComment/pkg/I1.java.i
data/test/tools/javac/generics/6245699/T6245699c.java.i
data/test/tools/javac/varargs/7042566/T7042566.java.i
data/test/tools/javac/7023703/T7023703pos.java.i
-data/test/tools/javac/protectedAccess/ProtectedMemberAccess4.out.i
+data/test/tools/javac/AddReferenceThis.java.i
data/test/tools/javap/classfile/6888367/T6888367.java.i
-data/test/tools/javac/policy/test1/A.java.i
+data/test/tools/javac/generics/6985719/T6985719b.java.i
data/test/tools/javac/generics/6531075/T6531075.java.i
data/test/com/sun/javadoc/testBadSourceFile/C2.java.i
data/test/tools/javac/diags/examples/ElseWithoutIf.java.i
@@ -526,22 +524,22 @@ data/test/tools/javac/ClassIsAbstract.java.i
data/test/tools/javac/generics/diamond/neg/Neg05.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java.i
data/test/tools/javac/diags/examples/BadSourceFileHeader/sourcepath/p/A.java.i
-data/src/share/classes/com/sun/mirror/type/ClassType.java.i
-data/test/tools/javac/processing/filer/TestValidRelativeNames.java.i
-data/test/tools/javac/depOverrides/annotation/B3.java.i
+data/test/tools/javac/typeAnnotations/newlocations/ConstructorTypeArgs.java.i
+data/test/com/sun/javadoc/testHref/pkg/C3.java.i
data/src/share/classes/com/sun/mirror/util/TypeVisitor.java.i
data/test/tools/javap/stackmap/T6271292.out.i
data/test/tools/javac/TryWithResources/ResourceOutsideTry.java.i
data/test/com/sun/javadoc/testMemberInheritence/pkg/SubClass.java.i
data/src/share/classes/com/sun/tools/javac/file/ZipFileIndexEntry.java.i
data/test/com/sun/javadoc/testTitleInHref/pkg/Interface.java.i
+data/test/tools/apt/mirror/declaration/PackageDecl.java.i
data/test/tools/javac/mandatoryWarnings/deprecated/Test4c.out.i
data/src/share/classes/javax/lang/model/element/ElementKind.java.i
data/src/share/classes/com/sun/mirror/apt/AnnotationProcessorFactory.java.i
data/test/tools/javac/depOverrides/doccomment/P.java.i
data/test/tools/apt/mirror/util/Overrides.java.i
data/test/tools/javac/generics/CyclicInheritance5.java.i
-data/test/tools/javac/typeAnnotations/failures/common/parambounds/MissingAnnotationValue.out.i
+data/src/share/classes/com/sun/tools/classfile/ConstantValue_attribute.java.i
data/test/tools/javac/diags/examples/CyclicInheritance.java.i
data/test/tools/javac/6402516/TestLocalElements.java.i
data/test/tools/javac/depOverrides/annotation/A.java.i
@@ -552,7 +550,6 @@ data/test/tools/javac/generics/T6391995.java.i
data/test/tools/javac/mixedTarget/CompatibleAbstracts5.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java.i
data/make/netbeans/common/standard-ide-actions-no-javadoc.ent.i
-data/test/tools/javac/depDocComment/DeprecatedDocComment4.java.i
data/test/tools/javac/cast/6932571/T6932571a.java.i
data/test/tools/javac/generics/rawSeparate/Hashtable.java.i
data/src/share/classes/com/sun/source/util/TreeScanner.java.i
@@ -560,50 +557,50 @@ data/test/tools/javac/typeAnnotations/failures/common/typeArgs/MissingAnnotation
data/src/share/classes/com/sun/tools/classfile/Dependencies.java.i
data/test/tools/javac/api/6400303/T6400303.java.i
data/test/tools/javac/miranda/4711056/T3.java.i
+data/test/tools/javac/InitializerCompletion_3.java.i
data/test/tools/apt/mirror/declaration/pkg1/AnAnnoType.java.i
data/test/tools/javac/FaultySignature.java.i
data/test/com/sun/javadoc/ValidHtml/p1/C.java.i
+data/test/tools/javac/diags/examples/ConstantSVUID.java.i
data/test/tools/javac/InconsistentInheritedSignature.java.i
data/src/share/classes/com/sun/source/tree/TryTree.java.i
data/test/tools/javac/typeAnnotations/failures/common/arrayclass/DuplicateTypeAnnotation.java.i
-data/test/tools/javac/generics/wildcards/neg/CastWarn11.java.i
-data/test/tools/javac/Diagnostics/6722234/T6722234d.java.i
+data/src/share/classes/com/sun/source/tree/LabeledStatementTree.java.i
data/test/tools/javac/warnings/6747671/T6747671.java.i
data/make/tools/CompileProperties/CompilePropertiesTask.java.i
data/src/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java.i
data/src/share/classes/com/sun/tools/javac/code/ModuleId.java.i
data/test/tools/apt/mirror/declaration/InterfaceDecl.java.i
data/test/tools/javadoc/annotations/annotateParams/pkg1/A.java.i
+data/test/tools/javac/AnonInnerException_1.java.i
data/test/tools/javac/api/TestGetTree.java.i
data/test/tools/javac/enum/forwardRef/T6425594.java.i
data/test/tools/javac/DefiniteAssignment/DALoop1.java.i
data/test/tools/javac/staticImport/Shadow.java.i
-data/test/tools/javac/processing/6350124/Marker.java.i
data/test/tools/javac/CompoundBox.java.i
-data/test/tools/javap/typeAnnotations/Presence.java.i
data/test/tools/apt/Discovery/servicesTweedle.i
data/test/tools/javac/resolve/Candidate.java.i
data/test/tools/javac/diags/examples/KindnameInstanceInit.java.i
data/test/tools/javac/generics/6192945/Neg2.java.i
-data/test/tools/javac/miranda/6964669/pkg/C.java.i
+data/test/com/sun/javadoc/testDupParamWarn/pkg/Bar.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java.i
-data/test/tools/javac/TryWithResources/T7022711.java.i
-data/test/tools/javac/diags/examples/SunApiFilename.java.i
data/src/share/classes/com/sun/tools/apt/mirror/util/TypesImpl.java.i
data/src/share/classes/javax/lang/model/util/Types.java.i
data/test/tools/javac/typeAnnotations/failures/common/typeArgs/DuplicateAnnotationValue.out.i
+data/test/tools/javac/T5048776.java.i
data/src/share/classes/com/sun/tools/javac/code/Scope.java.i
data/src/share/classes/com/sun/tools/javap/Main.java.i
data/src/share/classes/com/sun/tools/javac/jvm/ByteCodes.java.i
data/src/share/classes/com/sun/source/tree/SynchronizedTree.java.i
data/test/tools/javac/diags/examples/TryResourceThrowsInterruptedExc.java.i
-data/test/tools/javac/processing/environment/round/BuriedAnnotations.java.i
+data/test/tools/apt/Compile/servicesRound1.i
data/test/tools/javac/diags/examples/EnumCantBeInstantiated.java.i
data/test/tools/javac/diags/examples/NeitherConditionalSubtype.java.i
data/test/tools/javac/InnerNamedConstant_1.java.i
data/test/tools/apt/Basics/ParameterAnnotations.java.i
data/src/share/classes/com/sun/tools/classfile/ClassFile.java.i
data/test/tools/javac/generics/inference/6638712/T6638712b.java.i
+data/test/tools/javac/treeannotests/TA.java.i
data/test/tools/javac/api/TestEvalExpression.java.i
data/test/tools/javac/policy/test2/B.java.i
data/test/tools/javac/6979683/TestCast6979683_BAD35.java.i
@@ -611,7 +608,6 @@ data/test/tools/javac/generics/inference/6938454/T6938454b.java.i
data/test/tools/javac/6902720/Test.java.i
data/test/tools/javac/diags/examples/InnerClassCantHaveStatic.java.i
data/test/tools/javac/mandatoryWarnings/deprecated/Test4b.out.i
-data/src/share/classes/com/sun/tools/javah/Mangle.java.i
data/test/tools/javac/diags/examples/EnumAsIdentifier2.java.i
data/test/com/sun/javadoc/testSupplementary/TestSupplementary.java.i
data/src/share/classes/com/sun/tools/javac/jvm/Pool.java.i
@@ -619,11 +615,12 @@ data/test/com/sun/javadoc/testThrowsInheritence/C.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java.i
data/test/tools/javac/6400872/T6400872.java.i
data/test/com/sun/javadoc/testNewLanguageFeatures/pkg/VarArgs.java.i
-data/test/tools/javac/failover/FailOver11.java.i
+data/test/tools/javac/StringsInSwitch/RepeatedStringCaseLabels1.java.i
data/test/tools/javac/DefiniteAssignment/T4718134.java.i
data/make/test/bootstrap/javac.sh.i
data/src/share/classes/com/sun/source/util/package-info.java.i
data/test/tools/javac/diags/examples/CantReturnValueForVoid.java.i
+data/test/tools/javac/annotations/neg/Z1.java.i
data/test/tools/javac/generics/6359951/T6359951.out.i
data/test/tools/javac/varargs/6313164/T6313164.out.i
data/src/share/bin/launcher.sh-template.i
@@ -632,18 +629,18 @@ data/src/share/classes/com/sun/tools/javac/parser/JavacParser.java.i
data/test/tools/javac/diags/examples/UnmatchedProcessorOptions/UnmatchedProcessorOptions.java.i
data/test/com/sun/javadoc/JavascriptWinTitle/package-list.i
data/test/tools/javac/6734819/T6734819a.java.i
+data/test/tools/javac/generics/syntax/6318240/BarNeg2a.java.i
data/src/share/classes/com/sun/tools/classfile/EnclosingMethod_attribute.java.i
data/test/tools/javac/6342411/a/Pub.java.i
+data/test/com/sun/javadoc/testMemberInheritence/diamond/Z.java.i
data/test/tools/apt/Discovery/Dee.java.i
-data/test/tools/javac/generics/inference/6838943/T6838943.java.i
-data/test/tools/javac/modules/ModuleProvidesAttributeTest01.java.i
-data/test/tools/javac/annotations/neg/MemberOver.java.i
+data/src/share/classes/com/sun/tools/javac/comp/AttrContext.java.i
+data/test/tools/javac/enum/enumSwitch/Color2.java.i
data/test/tools/javac/danglingDep/Test1.out.i
-data/test/com/sun/javadoc/testBackSlashInLink/C.java.i
+data/src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java.i
data/test/tools/javap/T6305779.java.i
-data/test/tools/javac/diags/examples/ApplicableMethodFound.java.i
+data/test/tools/javac/6464451/BigFinally.java.i
data/test/tools/javac/generics/diamond/7030150/Pos02.java.i
-data/test/tools/javac/api/T6430241.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/package.html.i
data/test/tools/javac/TryWithResources/TwrLint.out.i
data/test/tools/javac/ClassLiterals/InitializeTarget.java.i
@@ -651,21 +648,20 @@ data/src/share/classes/com/sun/tools/javac/main/Main.java.i
data/src/share/classes/com/sun/mirror/apt/Filer.java.i
data/src/share/classes/com/sun/source/tree/PrimitiveTypeTree.java.i
data/test/com/sun/javadoc/testNewLanguageFeatures/pkg/Wildcards.java.i
-data/test/tools/javac/processing/model/util/Superless.java.i
-data/test/tools/javah/6572945/gold/jni.file.3.i
+data/test/tools/javac/NameClash/a/One.java.i
+data/test/tools/javac/T5090006/T5090006.java.i
data/test/com/sun/javadoc/testRelativeLinks/pkg/C.java.i
data/test/tools/javac/enum/FauxSpecialEnum1.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeBuilder.java.i
-data/test/tools/javac/NonStaticFinalVar.java.i
-data/test/tools/javah/ConstMacroTest.sh.i
+data/test/tools/javac/generics/typevars/6182630/T6182630d.java.i
data/test/tools/javah/6572945/gold/jni.file.2.i
-data/test/tools/javac/protectedInner/mypackage/Superclass.java.i
-data/test/tools/javac/ClassPathTest/ClassPathTest2.java.i
+data/test/tools/javac/fatalErrors/NoJavaLang.out.i
+data/src/share/classes/com/sun/source/util/AbstractTypeProcessor.java.i
data/test/tools/javap/T4501661.java.i
data/test/com/sun/javadoc/testPackagePage/TestPackagePage.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/InheritableTaglet.java.i
data/test/tools/javac/ExtDirs/ext3/pkg1.jar.i
-data/test/com/sun/javadoc/testTaglets/TestTaglets.java.i
+data/src/share/classes/com/sun/tools/javadoc/SerializedForm.java.i
data/test/tools/javac/diags/examples/VarMightAlreadyBeAssigned.java.i
data/test/tools/javac/T6557865.java.i
data/test/com/sun/javadoc/testTagInheritence/firstSentence/B.java.i
@@ -677,9 +673,9 @@ data/test/tools/javac/typeAnnotations/failures/AnnotationVersion.out.i
data/src/share/classes/com/sun/tools/javah/MainDoclet.java.i
data/test/tools/javac/cast/6467183/T6467183a.out.i
data/test/tools/javac/generics/T4695415.java.i
-data/test/tools/javac/generics/inference/6650759/T6650759e.java.i
data/test/tools/javac/generics/inference/6638712/T6638712e.java.i
-data/test/tools/javac/diags/examples/ProcessorNotFound.java.i
+data/src/share/classes/com/sun/tools/javac/api/Messages.java.i
+data/test/tools/javac/QualifiedThisAndSuper_1.java.i
data/src/share/classes/javax/annotation/processing/Messager.java.i
data/test/tools/javac/LocalClasses_2.sh.i
data/test/tools/javac/staticImport/ImportInherit.java.i
@@ -694,33 +690,30 @@ data/src/share/classes/com/sun/tools/doclets/internal/toolkit/Content.java.i
data/test/tools/javac/generics/6711619/T6711619a.java.i
data/test/tools/javac/generics/inference/6356673/T6365166.java.i
data/test/tools/javac/enum/DA1.java.i
-data/test/tools/javac/diags/examples/MethodDoesNotOverride.java.i
+data/test/tools/apt/Compile/HelloWorld.java.i
data/make/netbeans/apt/README.i
data/make/test/HelloWorld.apt.gold.txt.i
data/test/tools/javac/diags/examples/VarargsPlural/VarargsFilename.java.i
data/test/com/sun/javadoc/testUseOption/pkg1/UsedClass.java.i
data/src/share/classes/javax/lang/model/type/PrimitiveType.java.i
-data/test/com/sun/javadoc/testDocRootLink/TestDocRootLink.java.i
-data/test/tools/javac/classreader/T7031108.java.i
-data/src/share/classes/com/sun/tools/javac/nio/PathFileManager.java.i
-data/test/tools/javac/6402516/CheckClass.java.i
-data/src/share/classes/com/sun/tools/classfile/CharacterRangeTable_attribute.java.i
+data/test/tools/javac/T6356217/T6356217.java.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/CodeTaglet.java.i
+data/src/share/classes/com/sun/tools/classfile/CharacterRangeTable_attribute.java.i
data/test/tools/apt/Basics/goldenAggregate.txt.i
data/test/tools/javac/processing/model/element/TestAnonClassNames.java.i
-data/test/tools/javac/generics/6245699/T6245699a.java.i
-data/src/share/classes/com/sun/source/tree/CatchTree.java.i
+data/test/tools/javac/diags/examples/ProcFileReopening/processors/AnnoProc.java.i
+data/test/tools/javac/diags/examples/LambdaNotSupported.java.i
data/make/test/bootstrap/javadoc.sh.i
-data/test/tools/apt/Compile/WarnAPF.java.i
-data/test/tools/javac/meth/XlintWarn.java.i
+data/src/share/classes/com/sun/source/util/TaskListener.java.i
+data/test/tools/javac/generics/GenLit1.java.i
+data/test/tools/javac/diags/examples/CannotCreateArrayWithDiamond.java.i
+data/test/com/sun/javadoc/testHtmlTableTags/pkg2/package-info.java.i
data/test/tools/javac/varargs/Varargs1.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java.i
data/src/share/classes/com/sun/tools/javah/resources/Linux_sparc.properties.i
-data/test/tools/javac/EmptyDocComments.java.i
data/test/tools/javac/T6435291/T.class.i
-data/test/tools/javac/TryWithResources/TwrInference.java.i
data/test/tools/javac/diags/examples/UncheckedFilename.java.i
-data/test/tools/javadoc/dupOk/sp1/p/A.java.i
-data/test/tools/javadoc/dupOk/sp2/p/B.java.i
+data/src/share/classes/com/sun/tools/javac/util/Context.java.i
data/test/tools/javac/processing/filer/foo/bar/package-info.java.i
data/test/tools/javac/api/TestResolveIdent.java.i
data/test/tools/javac/T6247324.java.i
@@ -731,14 +724,12 @@ data/test/tools/javac/annotations/neg/Z4.java.i
data/test/tools/javac/StoreClass.java.i
data/test/tools/javac/cast/6358534/T6358534.java.i
data/test/tools/javac/T6458749.java.i
-data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_9.java.i
-data/test/tools/javac/generics/inference/6638712/T6638712a.out.i
-data/src/share/classes/com/sun/tools/javac/parser/UnicodeReader.java.i
-data/test/tools/javac/diags/examples/ImproperTypeInnerRawParam.java.i
+data/test/tools/javap/T4501660.java.i
+data/test/tools/javac/DefiniteAssignment/DUBeforeDefined2.java.i
data/test/tools/javadoc/generics/wildcards/Main.java.i
+data/test/tools/javac/implicitThis/6541876/T6541876a.java.i
data/test/tools/javac/cast/6507317/T6507317.java.i
data/test/tools/javac/annotations/pos/Primitives.java.i
-data/test/tools/javac/generics/wildcards/AssignmentSameType6.java.i
data/test/tools/javac/ImportUnnamed/foo/A.java.i
data/test/tools/javac/api/TestResolveError.java.i
data/test/tools/javac/ArrayCloneCodeGen.java.i
@@ -747,20 +738,19 @@ data/test/tools/javac/processing/6994946/SyntaxErrorTest.java.i
data/src/share/classes/com/sun/tools/javac/parser/DocCommentScanner.java.i
data/test/tools/javac/synthesize/Void.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java.i
-data/test/tools/javac/p1/BS.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/PackageListWriter.java.i
+data/test/tools/javac/generics/wildcards/UnboundArray.java.i
+data/test/tools/apt/Scanners/Scanner.java.i
data/test/tools/javac/abstract/T3.java.i
data/test/com/sun/javadoc/testSourceTab/SingleTab/C.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/markup/RawHtml.java.i
data/test/tools/javac/InterfaceOverrideFinal.java.i
-data/test/tools/javac/generics/7022054/T7022054neg1.java.i
data/test/tools/javadoc/annotations/defaults/expected.out.i
data/test/tools/apt/Basics/apt.sh.i
data/src/share/classes/com/sun/tools/javac/util/Filter.java.i
data/test/tools/javac/miranda/T4666866.out.i
data/test/tools/javac/nested/5009484/Y.java.i
data/test/tools/javac/diags/examples/ExceptNeverThrown.java.i
-data/test/tools/javac/InnerNamedConstant_2.out.i
+data/test/tools/javac/BadAnnotation.java.i
data/test/tools/javac/unicode/UnicodeCommentDelimiter.java.i
data/test/tools/apt/Compile/servicesStaticApf.i
data/test/tools/javadoc/generics/tparamCycle/Main.java.i
@@ -771,7 +761,6 @@ data/test/tools/javac/generics/BridgeClash.java.i
data/test/tools/javac/diags/examples/ImportRequiresCanonical/ImportRequiresCanonical.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkInfo.java.i
data/test/tools/javac/ExtendsAccess/p/ExtendsAccess.java.i
-data/test/tools/javap/typeAnnotations/ClassLiterals.java.i
data/test/tools/javac/IllegallyOptimizedException.java.i
data/test/tools/apt/Discovery/Empty.java.i
data/test/tools/javac/diags/examples/WarnSyntheticNameConflict.java.i
@@ -781,32 +770,34 @@ data/test/tools/javac/processing/6414633/T6414633.java.i
data/test/tools/javac/generics/inference/5021635/T6299211.java.i
data/test/tools/javac/generics/CyclicInheritance3.java.i
data/test/tools/javac/apt.sh.i
+data/test/tools/javac/diags/Example.java.i
data/test/com/sun/javadoc/testEmptyClass/src/Empty.java.i
data/src/share/classes/javax/lang/model/element/Name.java.i
-data/src/share/classes/com/sun/tools/apt/mirror/declaration/DeclarationImpl.java.i
data/test/tools/javac/multicatch/Pos10.java.i
data/src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties.i
data/test/tools/javac/multicatch/Pos06.java.i
data/test/tools/javac/NonAmbiguousField/two/Child.java.i
-data/src/share/classes/com/sun/tools/javac/main/Option.java.i
data/src/share/classes/com/sun/tools/javah/LLNI.java.i
data/test/tools/javac/DefiniteAssignment/T4718142.java.i
+data/test/tools/javac/typeAnnotations/failures/common/typeparams/InvalidLocation.java.i
data/test/tools/javac/6342411/a/Base.java.i
data/test/tools/javac/meth/InvokeDynTrans.out.i
data/test/tools/javac/typeAnnotations/failures/LintCast.out.i
-data/test/tools/javac/generics/Covar2.java.i
+data/test/tools/javac/multicatch/Neg05.java.i
data/test/tools/javac/miranda/4686148/AbstractTest.java.i
data/test/tools/javac/ImportCycle/foo/Middle.java.i
data/src/share/classes/com/sun/tools/classfile/StackMap_attribute.java.i
data/test/com/sun/javadoc/testSourceTab/TestSourceTab.java.i
data/test/tools/javadoc/annotations/shortcuts/pkg1/Marker.java.i
+data/test/tools/javac/diags/examples/IllegalComboModifiers.java.i
data/test/tools/javac/meth/MakeNegTests.sh.i
data/test/tools/javac/OverrideChecks/6199153/T6199153.out.i
-data/test/tools/javac/SynthName1.java.i
data/test/com/sun/javadoc/testCmndLineClass/pkg1/C1.java.i
-data/test/tools/apt/Options/OptionChecker.java.i
+data/test/tools/javac/SuperNew2.java.i
+data/test/tools/javac/api/6421756/T6421756.java.i
data/src/share/classes/com/sun/tools/apt/mirror/declaration/ExecutableDeclarationImpl.java.i
data/test/tools/javac/InterfaceInInner.out.i
+data/make/netbeans/apt/nbproject/project.xml.i
data/test/tools/javac/ForwardReference/ForwardReference_4.java.i
data/test/tools/javac/diags/examples/NotWithinBounds.java.i
data/test/tools/javac/enum/T6675483.java.i
@@ -814,21 +805,21 @@ data/make/build.properties.i
data/test/tools/javac/OverrideChecks/T4720359a.java.i
data/test/tools/javac/ExprQualifiedType.java.i
data/test/tools/javac/generics/syntax/6318240/Foo.java.i
-data/test/tools/javac/T5003235/T5003235b.out.i
-data/test/tools/javac/T6873849.java.i
+data/test/tools/javac/6410653/T6410653.java.i
data/test/tools/javac/diags/examples/VarargsNonReifiableType.java.i
data/src/share/classes/com/sun/tools/apt/mirror/type/VoidTypeImpl.java.i
data/test/tools/javac/NonStaticFieldExpr3.sh.i
data/src/share/classes/com/sun/tools/javac/comp/AttrContextEnv.java.i
data/test/tools/javac/file/T7068451.java.i
data/test/com/sun/javadoc/testRelativeLinks/TestRelativeLinks.java.i
-data/test/tools/javac/cast/6932571/T6932571neg.java.i
+data/test/tools/javac/DefiniteAssignment/DefAssignAfterIf_2.java.i
+data/src/share/classes/javax/lang/model/util/SimpleElementVisitor8.java.i
data/test/tools/javac/4880220/T4880220.empty.out.i
data/test/tools/javac/typeAnnotations/failures/target/IncompleteArray.java.i
-data/test/tools/javac/cast/5034609/T5034609.java.i
+data/test/com/sun/javadoc/testJavascript/pkg/C.java.i
+data/test/com/sun/javadoc/5093723/UndocumentedClass.java.i
data/test/tools/javac/Parens2.java.i
data/test/tools/javac/cast/6932571/T6932571b.java.i
-data/src/share/classes/com/sun/tools/javac/util/Log.java.i
data/src/share/classes/com/sun/source/tree/ArrayAccessTree.java.i
data/test/tools/apt/Basics/annot/AnnotSimple.java.i
data/test/tools/javac/typeAnnotations/failures/common/rest/DuplicateAnnotationValue.java.i
@@ -842,12 +833,11 @@ data/test/tools/javac/ExtDirs/ExtDirTest_2.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/package.html.i
data/src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java.i
data/test/com/sun/javadoc/testConstantValuesPage/TestConstantValuesPage.java.i
-data/test/tools/javac/quid/MakeNegTests.sh.i
data/test/com/sun/javadoc/testPrivateClasses/pkg/PrivateInterface.java.i
data/test/tools/javac/api/6406133/T6406133.java.i
+data/test/tools/javac/generics/Covar2.java.i
data/test/tools/javac/unit/T6198196.java.i
-data/test/tools/javac/generics/ErasureClashCrash.java.i
-data/test/tools/javac/processing/model/util/elements/doccomments/a/First.java.i
+data/src/share/classes/com/sun/tools/classfile/package.html.i
data/test/tools/javac/6835430/T6835430.java.i
data/test/com/sun/javadoc/testNestedInlineTag/testtaglets/BoldTaglet.java.i
data/test/tools/javac/api/6431435/A.java.i
@@ -856,34 +846,32 @@ data/test/tools/javap/T6587786.java.i
data/make/test/lib/src.sh.i
data/src/share/classes/com/sun/tools/javac/code/DeferredLintHandler.java.i
data/test/tools/apt/Scanners/servicesScanner.i
+data/test/com/sun/javadoc/testParamTaglet/TestParamTaglet.java.i
data/test/com/sun/javadoc/PackagesHeader/p1/C1.java.i
data/src/share/classes/com/sun/tools/apt/mirror/declaration/MethodDeclarationImpl.java.i
data/test/com/sun/javadoc/AuthorDD/p1/C1.java.i
-data/src/share/classes/com/sun/tools/javac/code/Source.java.i
-data/test/tools/javac/7086595/T7086595.java.i
+data/test/com/sun/javadoc/testHiddenMembers/pkg/SubClass.java.i
+data/test/tools/javac/generics/rawOverride/7062745/GenericOverrideTest.java.i
data/test/tools/javac/diags/examples/ProcIllegalFileName/ProcIllegalFileName.java.i
data/test/tools/javac/generics/inference/6356673/Test.java.i
data/test/tools/javac/diags/examples/NotEnclClass.java.i
-data/test/tools/javac/varargs/warning/Warn5.java.i
+data/test/tools/javac/api/TestJavacTask.java.i
data/test/tools/javac/generics/6182950/T6182950c.java.i
data/test/tools/javac/depOverrides/annotation/R.java.i
-data/test/tools/javac/generics/wildcards/ContraArg.java.i
data/test/tools/javac/generics/6910550/T6910550c.out.i
data/test/tools/javac/api/TestContainTypes.java.i
data/test/tools/javac/expression/ObjectAppend.java.i
data/test/com/sun/javadoc/AccessSummary/AccessSummary.java.i
+data/test/tools/javac/cast/7126754/T7126754.out.i
data/test/tools/javac/generics/compat/CovariantCompat1.java.i
-data/test/tools/javap/classfile/deps/GetDeps.java.i
+data/src/share/classes/com/sun/tools/javac/code/Lint.java.i
data/src/share/classes/com/sun/source/tree/ExpressionStatementTree.java.i
-data/test/com/sun/javadoc/AccessFrameTitle/p2/C2.java.i
data/test/tools/javac/6902720/E1.java.i
data/test/tools/javac/diags/examples/IllegalForwardRef.java.i
data/test/tools/javac/6547131/p/Outer$I.jasm.i
-data/test/tools/javadoc/FlagsTooEarly.java.i
data/test/com/sun/javadoc/testPackagePage/com/pkg/package.html.i
data/test/tools/javac/diags/examples/CantResolveLocationArgsParams.java.i
-data/test/tools/javac/T4093617/T4093617.java.i
-data/test/tools/javac/ExtDirs/ext2/pkg2.jar.i
+data/test/tools/javac/diags/examples/ApplicableMethodFound.java.i
data/test/tools/javac/diags/examples/NotDefAccessClassIntfCantAccess/p/C.java.i
data/test/tools/javac/depOverrides/doccomment/Test2R.out.i
data/test/tools/javac/T6534287.java.i
@@ -897,7 +885,7 @@ data/test/tools/javac/Paths/6638501/JarFromManifestFailure.java.i
data/test/tools/javac/diags/examples/ProcCantFindClass/processors/AnnoProc.java.i
data/test/tools/javac/generics/typevars/4856983/T4856983a.java.i
data/test/tools/javac/processing/filer/TestFilerConstraints.java.i
-data/test/tools/javac/varargs/5088429/T5088429Neg02.java.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties.i
data/test/tools/javac/generics/diamond/6996914/T6996914b.java.i
data/test/tools/javac/generics/BridgeOrder.java.i
data/test/tools/javac/CloneableProblem.java.i
@@ -911,11 +899,11 @@ data/test/tools/apt/Basics/Milk.java.i
data/test/tools/javac/failover/FailOver09.java.i
data/test/tools/javac/jvm/6397652/com/test/Test.java.i
data/test/com/sun/javadoc/testClassTree/TestClassTree.java.i
+data/test/tools/javac/policy/test2/Test.java.i
data/src/share/classes/com/sun/tools/apt/comp/BootstrapAPF.java.i
data/test/com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java.i
data/test/com/sun/javadoc/testTopOption/pkg/Cl.java.i
data/src/share/classes/com/sun/source/tree/ModulePermitsTree.java.i
-data/test/tools/javac/generics/parametricException/J.java.i
data/test/tools/javac/generics/5086027/T5086027pos.java.i
data/test/tools/javac/T5048776b.out.i
data/test/tools/javac/protectedAccess/ProtectedMemberAccess1.java.i
@@ -938,110 +926,108 @@ data/test/tools/javac/DefiniteAssignment/DUSwitch2.java.i
data/src/share/classes/com/sun/source/tree/ReturnTree.java.i
data/src/share/classes/com/sun/tools/javac/comp/TransTypes.java.i
data/src/share/classes/javax/tools/ForwardingJavaFileManager.java.i
+data/test/tools/javadoc/generics/genericClass/Main.java.i
data/test/tools/javac/6199662/Tree.java.i
+data/test/tools/javac/generics/odersky/Test2.java.i
data/test/tools/javac/api/6415780/T6415780.java.i
-data/test/tools/javac/generics/inference/4942040/T4942040.java.i
data/test/tools/javac/generics/Casting.java.i
-data/test/tools/javac/typeAnnotations/newlocations/ConstructorTypeArgs.java.i
-data/test/tools/javac/generics/diamond/neg/Neg03.out.i
data/test/com/sun/javadoc/testInterface/pkg/Child.java.i
+data/test/com/sun/javadoc/testUseOption/pkg2/C3.java.i
data/test/tools/javac/unicode/TripleQuote.java.i
-data/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPrivateFlag.java.i
data/test/tools/javac/javazip/Test.sh.i
data/test/tools/javac/processing/model/element/TestResourceElement.java.i
data/test/tools/javac/Diagnostics/6722234/T6722234d_2.out.i
data/test/tools/javac/diags/examples/RefAmbiguous.java.i
data/test/tools/javac/BadOptimization/DeadCode3.java.i
data/test/tools/javac/api/6410643/T6410643.java.i
-data/test/tools/javac/6668794/badClass/B.java.i
+data/test/tools/javac/6402516/CheckLocalElements.java.i
data/test/tools/javac/mandatoryWarnings/deprecated/Test.java.i
data/test/tools/javac/file/T7068437.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlAttr.java.i
data/test/tools/javac/diags/examples/VarargsArgumentMismatch.java.i
-data/test/tools/javac/varargs/5088429/T5088429Neg01.java.i
+data/test/tools/javac/diags/examples/DiamondRedundantArgs.java.i
data/test/tools/javac/diags/examples/FinallyWithoutTry.java.i
+data/test/tools/javac/processing/model/type/MirroredTypeEx/Plurality.java.i
data/test/com/sun/javadoc/testClassTree/pkg/Coin.java.i
-data/make/netbeans/doclets/build.xml.i
+data/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTag.java.i
data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_7.java.i
+data/test/tools/javac/tree/AbstractTreeScannerTest.java.i
data/test/tools/javac/diags/examples/NotLoopLabel.java.i
data/test/tools/javah/SubClassConsts.out.i
data/test/tools/javac/4917091/Test256b.out.i
data/test/tools/javac/processing/model/element/TestNames.java.i
data/test/tools/javac/typeAnnotations/newlocations/TypeCasts.java.i
-data/test/tools/javac/staticImport/StaticImport2.java.i
-data/test/tools/javac/processing/model/element/TestMissingElement2/TestMissingGenericClass1.java.i
-data/test/com/sun/javadoc/testWarnings/pkg/package.html.i
-data/test/tools/javadoc/annotations/defaults/pkg1/B.java.i
+data/test/com/sun/javadoc/testLinkOption/testNewLineInLink/C.java.i
+data/src/share/classes/javax/lang/model/util/ElementKindVisitor8.java.i
data/test/tools/javac/6400872/A.java.i
+data/make/test/lib/src.gold.txt.i
data/test/tools/javac/diags/examples/CantInheritDiffArg.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/package.html.i
data/test/tools/javac/TryWithResources/TwrIntersection.java.i
data/test/tools/apt/Discovery/servicesTouch.i
data/test/tools/javac/enum/FauxEnum2.java.i
data/test/tools/javac/annotations/T7043371.java.i
-data/test/tools/javac/api/6431257/T6431257.java.i
+data/test/tools/javac/implicitThis/WhichImplicitThis11.java.i
data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_12.java.i
+data/test/tools/javac/generics/typevars/6968793/T6968793.out.i
data/test/tools/javac/lib/JavacTestingAbstractProcessor.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml.i
-data/src/share/classes/com/sun/javadoc/SourcePosition.java.i
-data/test/tools/apt/mirror/declaration/pkg1/AnInterface.java.i
+data/test/tools/javac/processing/T6920317.java.i
+data/test/tools/javac/depOverrides/annotation/empty.i
+data/test/tools/javac/6402516/CheckMethod.java.i
+data/src/share/classes/com/sun/source/tree/ParameterizedTypeTree.java.i
data/src/share/classes/com/sun/tools/javac/api/WrappingJavaFileManager.java.i
data/test/tools/javac/generics/wildcards/neg/CastFail3.java.i
-data/src/share/classes/javax/annotation/processing/RoundEnvironment.java.i
+data/test/com/sun/javadoc/constantValues/TestConstantValues.java.i
data/test/tools/javac/depOverrides/doccomment/Test3.out.i
data/test/tools/javac/annotations/6881115/T6881115.out.i
data/test/tools/javac/Diagnostics/6862608/T6862608b.java.i
data/test/tools/javac/processing/model/util/elements/Foo.java.i
-data/test/tools/javac/Diagnostics/6862608/T6862608a.out.i
-data/test/tools/javac/missingSuperRecovery/MissingSuperRecovery.out.i
+data/test/tools/javac/UnreachableVar.java.i
+data/test/tools/javac/cast/7005671/T7005671.out.i
data/test/tools/javac/generics/wildcards/pos/AmbiguousCast2.java.i
data/test/tools/javac/boxing/NoBoxingDouble.java.i
data/ASSEMBLY_EXCEPTION.i
data/test/tools/javac/miranda/6964669/T6964669.java.i
-data/test/tools/javac/multicatch/Neg02eff_final.java.i
+data/test/tools/apt/Compile/HelloAnnotation.java.i
data/test/tools/apt/Basics/foo/bar/Baz.java.i
+data/src/share/classes/com/sun/tools/javah/resources/Linux_ppc.properties.i
data/test/com/sun/javadoc/testDocRootLink/pkg1/C1.java.i
data/test/tools/apt/Basics/ClassAnnotations.java.i
data/test/com/sun/javadoc/testThrowsTag/pkg/T6.java.i
data/test/tools/javac/PrivateLocalConstructor.java.i
data/test/tools/javac/6491592/T6491592.java.i
data/test/com/sun/javadoc/testDeprecatedDocs/pkg/TestAnnotationType.java.i
-data/test/tools/javac/generics/6213818/T6213818.java.i
+data/test/tools/javac/TryWithResources/T7022711.out.i
data/test/tools/javac/diags/examples/Location.java.i
-data/src/share/classes/com/sun/tools/classfile/LocalVariableTypeTable_attribute.java.i
-data/test/tools/javac/BoundClassError.java.i
+data/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java.i
+data/test/tools/apt/Discovery/PhantomUpdate.java.i
data/test/tools/javac/typeAnnotations/failures/common/receiver/DuplicateAnnotationValue.java.i
-data/test/tools/javac/generics/rawOverride/6557199/T6557199.java.i
+data/test/tools/javac/file/zip/Utils.java.i
data/src/share/opensource/javac/build.properties.i
data/src/share/classes/javax/lang/model/util/ModuleResolver.java.i
data/test/tools/javac/diags/examples/WarnSelfRef.java.i
data/test/tools/javac/NameCollision.out.i
data/test/tools/javac/6863465/T6863465d.java.i
data/test/tools/javac/DefiniteAssignment/T4721998.java.i
-data/make/netbeans/javah/nbproject/project.xml.i
data/test/com/sun/javadoc/testThrowsInheritence/TestThrowsTagInheritence.java.i
data/test/tools/javac/diags/examples/ErrProcMessager/ErrProcMessager.java.i
data/test/tools/javac/InterfaceMemberClassModifiers.out.i
-data/test/com/sun/javadoc/testHrefInDocComment/pkg/I2.java.i
data/test/tools/javac/tree/DocCommentToplevelTest.java.i
data/test/tools/javac/Object2.java.i
data/src/share/classes/com/sun/tools/javac/util/Name.java.i
-data/test/tools/javac/policy/test1/byfile.ACD.out.i
+data/test/com/sun/javadoc/testPackagePage/pkg2/C.java.i
data/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java.i
data/test/tools/javac/diags/examples/OverrideIncompatibleReturn.java.i
data/test/tools/javac/diags/examples/OverrideVarargsMissing.java.i
-data/test/tools/javac/warnings/7090499/T7090499.out.i
data/test/tools/javac/typeAnnotations/failures/common/innertypeparams/InvalidLocation.out.i
data/test/tools/javac/annotations/6365854/test2.out.i
data/test/tools/javac/6717241/T6717241b.java.i
data/test/tools/javac/TryWithResources/TwrOnNonResource.java.i
data/test/tools/javac/DefiniteAssignment/DABlock.java.i
data/test/com/sun/javadoc/AccessSkipNav/p2/C2.java.i
-data/test/tools/javac/generics/inference/T6835428.java.i
data/src/share/classes/com/sun/tools/javac/file/SymbolArchive.java.i
data/test/tools/javac/AnonClsInIntf.java.i
data/test/tools/javac/typeAnnotations/newlocations/Receivers.java.i
-data/test/tools/javac/processing/6350124/T6350124.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlConstants.java.i
data/src/share/classes/com/sun/source/tree/LineMap.java.i
data/test/tools/javac/importContext/namedPackage/foo/Foo.java.i
@@ -1053,7 +1039,8 @@ data/test/tools/javac/ImportCycle/foo/Bottom2.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/LinkOutputImpl.java.i
data/test/tools/javac/processing/TestWarnErrorCount.java.i
data/test/tools/javac/generics/wildcards/neg/CastFail7.java.i
-data/src/share/classes/com/sun/source/tree/ConditionalExpressionTree.java.i
+data/test/com/sun/javadoc/DocRootSlash/p2/C2.java.i
+data/test/tools/javac/6758789/T6758789a.java.i
data/src/share/classes/javax/lang/model/util/SimpleElementVisitor6.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocFinder.java.i
data/test/tools/javac/failover/FailOver13.java.i
@@ -1076,6 +1063,7 @@ data/src/share/classes/com/sun/tools/javac/parser/Scanner.java.i
data/test/tools/javac/diags/examples/AnonClassImplInterfaceNoQualForNew.java.i
data/test/tools/javac/7024568/T7024568.java.i
data/test/tools/javac/depOverrides/annotation/Test1B.out.i
+data/test/tools/javac/api/6406133/Erroneous.java.i
data/src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java.i
data/src/share/classes/com/sun/source/tree/ForLoopTree.java.i
data/test/com/sun/javadoc/testNewLanguageFeatures/pkg2/Foo.java.i
@@ -1083,18 +1071,19 @@ data/test/tools/javac/generics/wildcards/pos/Capture.java.i
data/test/tools/javadoc/generics/genericInnerAndOuter/expected.out.i
data/test/tools/javac/diags/examples/UnsupportedBinaryLiteral.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/EnumConstantWriter.java.i
-data/src/share/classes/com/sun/tools/javac/file/CloseableURLClassLoader.java.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstantsSummaryWriter.java.i
data/test/com/sun/javadoc/testUseOption/pkg1/C8.java.i
data/test/tools/javac/diags/examples/UncheckedCall.java.i
data/test/tools/javac/generics/wildcards/neg/CastFail20.java.i
+data/test/tools/javac/generics/6910550/T6910550e.out.i
data/test/tools/javac/enum/EnumSwitch2.java.i
+data/test/com/sun/javadoc/testPrivateClasses/pkg/PublicInterface.java.i
data/test/tools/javac/scope/7046348/EagerInterfaceCompletionTest.java.i
data/test/tools/javac/enum/6350057/T6350057.java.i
data/src/share/classes/com/sun/mirror/util/DeclarationVisitors.java.i
data/test/tools/javac/multicatch/Neg07.out.i
-data/test/com/sun/javadoc/testNewLanguageFeatures/pkg2/Foo3.java.i
+data/test/tools/javac/resolve/tests/PrimitiveOverReferenceVarargsAmbiguous.java.i
data/test/com/sun/javadoc/testHref/pkg/C2.java.i
-data/test/tools/javac/modules/ModuleAccessTest01.java.i
data/test/tools/javac/enum/Enum3.java.i
data/test/com/sun/javadoc/testUseOption/pkg1/C4.java.i
data/test/tools/javac/SynchronizedClass.out.i
@@ -1105,28 +1094,29 @@ data/test/tools/javac/generics/5086027/T5086027.java.i
data/test/com/sun/javadoc/AccessAsciiArt/AccessAsciiArt.java.i
data/test/tools/javac/mixedTarget/CompatibleAbstracts1.java.i
data/src/share/classes/javax/annotation/processing/SupportedSourceVersion.java.i
-data/test/com/sun/javadoc/testParamTaglet/pkg/C.java.i
+data/make/test/contents.gold.txt.i
data/src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java.i
data/test/tools/javadoc/varArgs/expected.out.i
+data/test/tools/javac/generics/T4661029.java.i
data/test/tools/javac/T6403466.out.i
-data/test/tools/javap/T4075403.java.i
data/test/tools/javac/processing/model/element/TestMissingElement/TestMissingElement.java.i
data/test/tools/javac/processing/model/util/BinaryName.java.i
-data/test/tools/javac/generics/rawOverride/Fail1.java.i
data/test/com/sun/javadoc/testRelativeLinks/pkg/package.html.i
data/src/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java.i
data/test/tools/javac/diags/examples/InaccessibleVarargsType/InaccessibleVarargsType.java.i
data/src/share/classes/com/sun/mirror/apt/Messager.java.i
-data/test/tools/javac/multicatch/Neg02.java.i
+data/test/tools/javac/6734819/T6734819a.out.i
data/test/tools/javac/generics/LoadOrder.java.i
+data/test/tools/javac/api/TestJavacTask_Lock.java.i
data/test/tools/javac/generics/wildcards/AssignmentSameType8.java.i
data/test/tools/javac/implicitThis/WhichImplicitThis6.java.i
data/test/tools/javac/generics/rare/Rare3.java.i
-data/test/tools/javac/ClassCycle/ClassCycle2a.java.i
+data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_16.java.i
data/test/tools/javac/5045412/out.i
+data/test/tools/javac/scope/6225935/Bar.java.i
data/test/com/sun/javadoc/testHeadings/TestHeadings.java.i
data/test/tools/javac/ExtendArray.out.i
-data/test/tools/javac/generics/Crash02.java.i
+data/test/tools/javac/enum/6384542/T6384542a.java.i
data/test/com/sun/javadoc/testRecurseSubPackages/pkg1/C2.java.i
data/test/tools/javac/annotations/neg/WrongValue.java.i
data/test/tools/javac/4880220/T4880220.java.i
@@ -1135,27 +1125,25 @@ data/test/com/sun/javadoc/5093723/DocumentedClass.java.i
data/test/tools/javac/ExtDirs/ExtDirTest_3.java.i
data/test/tools/javac/api/7086261/T7086261.java.i
data/test/tools/javac/annotations/pos/Z1.java.i
-data/test/tools/javac/generics/diamond/T6939780.java.i
+data/test/tools/javac/enum/NoFinal.java.i
data/test/com/sun/javadoc/testTagHolderMethod/TestTagHolderMethod.java.i
data/test/tools/javac/enum/6350057/TestEnum.java.i
data/test/tools/javac/implicitThis/WhichImplicitThis9.java.i
data/make/tools/SelectTool/SelectToolTask.java.i
-data/make/netbeans/javap/README.i
+data/test/tools/javac/diags/examples/DeferredMethodInst.java.i
data/test/tools/javac/warnings/DepAnn.java.i
-data/test/tools/javac/generics/wildcards/neg/CastWarn6.java.i
-data/test/tools/javac/varargs/6313164/T6313164.java.i
+data/test/tools/javac/diags/examples/FinalParamCantBeAssigned.java.i
data/test/tools/javac/unicode/UnicodeNewline.java.i
data/src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties.i
+data/test/tools/javac/generics/Nonlinear.java.i
data/test/tools/javadoc/6942366/T6942366.java.i
-data/test/tools/javac/UplevelFromAnonInSuperCall.java.i
-data/test/tools/javac/6390045/T6390045b.java.i
+data/src/share/classes/com/sun/tools/javac/jvm/UninitializedType.java.i
data/src/share/classes/com/sun/tools/javac/comp/Annotate.java.i
data/test/tools/javac/generics/wildcards/neg/CastFail16.java.i
data/test/tools/javac/treeannotests/Test.java.i
-data/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTag.java.i
+data/make/netbeans/doclets/build.xml.i
data/test/tools/javac/NullQualifiedSuper1.java.i
data/test/com/sun/javadoc/testSupplementary/C.java.i
-data/test/tools/javac/diags/examples/LambdaNotSupported.java.i
data/test/tools/javac/generics/wildcards/neg/CastFail15.java.i
data/test/tools/javac/policy/bytodo.ABD.out.i
data/test/tools/javac/diags/CheckResourceKeys.java.i
@@ -1166,12 +1154,11 @@ data/test/tools/javac/mandatoryWarnings/unchecked/Test2.out.i
data/test/com/sun/javadoc/testWarnings/pkg/X.java.i
data/src/share/classes/com/sun/tools/apt/mirror/declaration/TypeParameterDeclarationImpl.java.i
data/test/com/sun/javadoc/testNewLanguageFeatures/pkg/AnnotationTypeUsage.java.i
-data/test/tools/javac/limits/ArrayDims5.java.i
+data/test/tools/javac/generics/wildcards/neg/AmbiguousCast.java.i
data/src/share/classes/javax/lang/model/type/ExecutableType.java.i
data/test/tools/javac/typeAnnotations/failures/common/arrays/MissingAnnotationValue.out.i
data/src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java.i
-data/test/tools/javac/ImportPackagePrivateInner/Dummy.java.i
-data/test/tools/javac/diags/examples/UncheckedPluralAdditional/UncheckedPluralAdditional.java.i
+data/make/test/HelloWorld.javap.gold.txt.i
data/test/tools/javac/DefiniteAssignment/DefAssignAfterThis_1.java.i
data/src/share/classes/com/sun/source/tree/ClassTree.java.i
data/test/tools/javac/generics/typeargs/Basic.java.i
@@ -1184,66 +1171,65 @@ data/test/tools/javac/annotations/pos/AnnoteElideBraces.java.i
data/make/test/HelloWorld.gold.h.i
data/test/tools/javac/generics/6359951/T6359951.java.i
data/src/share/classes/com/sun/tools/apt/main/CommandLine.java.i
-data/test/tools/javac/generics/Varargs.java.i
data/test/tools/javac/generics/typevars/6569404/T6569404b.java.i
-data/test/tools/javac/modules/ModuleVersionQueryTest01.java.i
+data/test/com/sun/javadoc/testOverridenMethods/pkg1/BaseClass.java.i
data/src/share/classes/com/sun/mirror/util/SourcePosition.java.i
data/src/share/classes/com/sun/tools/apt/mirror/declaration/ConstructorDeclarationImpl.java.i
+data/test/tools/javac/generics/6985719/T6985719h.out.i
data/test/tools/javac/generics/rawOverride/6557199/T6557199.out.i
data/src/share/classes/com/sun/source/tree/package-info.java.i
data/test/tools/javac/varargs/6313164/p1/B.java.i
-data/test/tools/javadoc/generics/genericClass/expected.out.i
-data/test/tools/javac/annotations/pos/AnnotationMethods.java.i
+data/test/tools/javac/proprietary/WarnMethod.java.i
data/test/tools/javac/StringsInSwitch/NonConstantLabel.out.i
data/test/tools/javac/Diagnostics/6864382/T6864382.out.i
-data/src/share/classes/com/sun/mirror/declaration/Declaration.java.i
data/test/tools/javac/protectedAccess/pkg/SuperClass.java.i
data/test/tools/javac/enum/NoFinal4.java.i
data/test/com/sun/javadoc/testNonFrameWarning/pkg/C.java.i
-data/test/tools/javac/6948381/npe/A.java.i
+data/test/com/sun/javadoc/testDocRootInlineTag/pkg/C.java.i
data/src/share/classes/com/sun/tools/classfile/Signature_attribute.java.i
data/make/Makefile.i
data/test/tools/javac/assert/DU2.java.i
data/test/tools/javac/4917091/Test255.java.i
-data/test/tools/javac/mixedTarget/ExtendCovariant1.java.i
+data/test/tools/javac/generics/6182950/T6182950b.out.i
data/src/share/classes/com/sun/tools/javac/comp/Env.java.i
data/test/tools/javac/Parens1.java.i
data/test/tools/javac/importChecks/ImportIsFullyQualified.java.i
+data/src/share/classes/com/sun/tools/apt/mirror/util/DeclarationsImpl.java.i
data/test/tools/javac/api/6411333/T6411333.java.i
data/test/tools/javac/6304921/T6304921.java.i
+data/test/com/sun/javadoc/testNewLanguageFeatures/pkg2/ClassUseTest2.java.i
+data/test/tools/javac/TryWithResources/TwrIntersection02.java.i
data/test/tools/javac/diags/examples/IllegalSelfRef.java.i
data/test/com/sun/javadoc/AccessFrameTitle/p1/C1.java.i
data/test/com/sun/javadoc/ValidHtml/p2/C2.java.i
-data/test/com/sun/javadoc/testOverridenMethods/TestOverridenMethodDocCopy.java.i
-data/test/tools/javac/T6654037.java.i
+data/test/tools/javac/processing/6634138/ExerciseDependency.java.i
data/test/tools/javac/typeAnnotations/failures/common/rest/InvalidLocation.out.i
data/test/tools/javac/nio/compileTest/HelloPathWorld.java.i
data/src/share/classes/sun/tools/javap/ClassData.java.i
data/.hgtags.i
data/test/tools/javac/NameCollision.java.i
-data/test/tools/javac/multicatch/Neg05.java.i
+data/src/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java.i
data/make/netbeans/doclets/nbproject/project.xml.i
data/test/tools/javac/diags/examples/CantApplyDiamond.java.i
-data/test/tools/javac/api/ToolProvider/ToolProviderTest2.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ImplementedMethods.java.i
data/test/tools/javap/PublicInterfaceTest.sh.i
data/test/tools/javac/diags/examples/IllegalUnicodeEscape.java.i
data/test/tools/javac/DefiniteAssignment/T4717165.java.i
-data/test/tools/javac/diags/examples/DeferredMethodInst.java.i
data/test/tools/javac/failover/FailOver07.java.i
data/src/share/classes/com/sun/source/tree/ExpressionTree.java.i
data/test/com/sun/javadoc/testNewLanguageFeatures/pkg/SuperInterface.java.i
-data/test/tools/javac/diags/examples/UncheckedMethodInvocation.java.i
+data/test/com/sun/javadoc/ValidHtml/overview.html.i
data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_4.java.i
data/test/tools/javac/diags/examples/VarargsPluralAdditional/VarargsPluralAdditional.java.i
data/src/share/classes/com/sun/tools/javah/Main.java.i
data/test/tools/javac/diags/examples/ReturnOutsideMethod.java.i
-data/src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java.i
+data/src/share/classes/com/sun/tools/javap/BasicWriter.java.i
+data/test/com/sun/javadoc/testNewLanguageFeatures/pkg/TypeParameterSuperClass.java.i
data/src/share/classes/javax/tools/JavaFileManager.java.i
data/test/tools/javac/api/Sibling.java.i
data/test/com/sun/javadoc/AccessAsciiArt/p1/I.java.i
data/src/share/classes/com/sun/tools/javap/InternalError.java.i
-data/test/tools/javac/annotations/6214965/T6214965.out.i
+data/src/share/classes/com/sun/mirror/util/Declarations.java.i
data/make/netbeans/langtools/nbproject/standard-context-menu-items.ent.i
data/test/tools/javac/depDocComment/DeprecatedDocComment.sh.i
data/src/share/classes/com/sun/source/tree/ThrowTree.java.i
@@ -1251,9 +1237,7 @@ data/test/com/sun/javadoc/AccessSummary/p2/C2.java.i
data/test/tools/javah/compareTest/CompareTest.java.i
data/test/tools/javac/diags/examples/DoesntExist.java.i
data/src/share/classes/javax/lang/model/type/TypeVisitor.java.i
-data/test/tools/javac/T6435291/T.jcod.i
data/test/com/sun/javadoc/testAnnotationTypes/TestAnnotationTypes.java.i
-data/test/tools/javac/resolve/tests/PrimitiveReturnTypeInference.java.i
data/test/tools/javac/api/evalexpr/ByteArrayClassLoader.java.i
data/src/share/classes/com/sun/tools/javac/util/List.java.i
data/test/tools/javac/ExtDirs/ext1/pkg1.jar.i
@@ -1272,26 +1256,26 @@ data/test/tools/javac/processing/6499119/package-info.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java.i
data/.jcheck/conf.i
data/test/tools/javac/diags/examples/AlreadyDefinedStaticImport/p/E1.java.i
+data/test/tools/javac/Diagnostics/6860795/T6860795.out.i
+data/test/tools/javac/6464451/DeepNestedFinally.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletAbortException.java.i
-data/test/tools/javac/CyclicInheritance.java.i
-data/test/tools/javac/lint/NoWarn1.out.i
-data/src/share/classes/com/sun/tools/classfile/ModuleData_attribute.java.i
+data/test/tools/javac/modules/ModuleResolverTest05.java.i
+data/src/share/classes/com/sun/tools/javac/code/Types.java.i
+data/test/tools/javac/ClassLiterals/p1/SuperClass.java.i
data/src/share/classes/com/sun/tools/classfile/ModuleExportTable_attribute.java.i
+data/test/tools/javac/SuperNew3.java.i
data/test/tools/javac/cast/6548436/T6548436c.java.i
-data/test/tools/javac/processing/T6920317.java.i
-data/test/tools/javadoc/InlineTagsWithBraces.java.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml.i
data/test/tools/javac/enum/EnumSwitch3.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractBuilder.java.i
-data/test/com/sun/javadoc/testValueTag/pkg1/Class2.java.i
-data/test/tools/javac/depOverrides/annotation/empty.i
+data/src/share/classes/com/sun/javadoc/SourcePosition.java.i
data/test/tools/javac/innerClassFile/x/B.java.i
data/test/tools/javac/ClassCycle/ClassCycle1a.java.i
-data/src/share/classes/com/sun/tools/javac/parser/Tokens.java.i
data/test/tools/javac/staticImport/Ambig1.java.i
-data/test/tools/javac/DeepStringConcat.java.i
data/test/com/sun/javadoc/testCmndLineClass/TestCmndLineClass.java.i
data/test/tools/javac/OverridePosition.java.i
data/test/tools/javac/6394683/B.java.i
+data/test/tools/javac/T6855236.java.i
data/test/tools/javac/processing/environment/round/C1.java.i
data/test/tools/javac/generics/diamond/neg/Neg08.java.i
data/test/tools/javac/ExtendsAccess/ExtendsAccess.java.i
@@ -1300,13 +1284,12 @@ data/test/tools/javac/T6180021/Sub.java.i
data/test/tools/javac/Diagnostics/6722234/T6722234a_2.out.i
data/test/tools/javac/api/TestJavacTask_Multiple.java.i
data/test/tools/apt/verifyVariables.sh.i
-data/test/tools/javac/ForwardReference/UseBeforeDeclaration.java.i
data/test/tools/javac/SuperNew4.java.i
data/test/tools/javac/generics/diamond/neg/Neg07.out.i
data/test/tools/javac/ThrowsIntersection_1.java.i
data/test/tools/javac/StringConversion2.java.i
data/test/tools/javac/ImplicitToString.java.i
-data/test/tools/javac/processing/model/element/TypeParamBounds.java.i
+data/test/tools/javac/generics/rawOverride/7062745/T7062745pos.java.i
data/test/com/sun/javadoc/testUseOption/pkg1/C6.java.i
data/test/com/sun/javadoc/testClassCrossReferences/C.java.i
data/src/share/classes/com/sun/tools/apt/mirror/declaration/ParameterDeclarationImpl.java.i
@@ -1319,36 +1302,39 @@ data/test/tools/javac/overload/T4494762.java.i
data/test/com/sun/javadoc/testHtmlComments/C.java.i
data/test/tools/javac/diags/examples/ProcUnclosedTypeFiles/ProcUnclosedTypeFiles.java.i
data/src/share/classes/com/sun/mirror/declaration/Modifier.java.i
-data/test/tools/javac/diags/examples/ProcIncompatibleSourceVersion/ProcIncompatibleSourceVersion.java.i
+data/src/share/classes/com/sun/tools/javac/code/Attribute.java.i
data/src/share/classes/com/sun/mirror/declaration/ExecutableDeclaration.java.i
data/test/tools/javac/InitializerCompletion_4.java.i
data/test/tools/javac/api/T6397104.java.i
+data/src/share/classes/com/sun/tools/javah/resources/SunOS_sparcv9.properties.i
data/src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java.i
data/test/tools/apt/Compile/servicesRound2.i
data/test/tools/javac/Closure6.java.i
data/test/tools/javac/enum/ExplicitlyFinalEnum1.java.i
data/test/tools/javac/diags/examples/NoteProcMessager/processors/AnnoProc.java.i
data/test/tools/javac/abstract/T1.java.i
+data/test/tools/javadoc/completionFailure/pkg/A.java.i
data/src/share/classes/javax/tools/Tool.java.i
data/src/share/classes/com/sun/tools/javac/main/OptionName.java.i
data/test/tools/javac/T6224167.java.i
data/test/tools/javac/diags/examples/UncheckedPluralAdditional/UncheckedFilename2.java.i
-data/test/tools/javac/generics/diamond/neg/Neg06.out.i
+data/src/share/classes/javax/tools/SimpleJavaFileObject.java.i
data/test/tools/javac/warnings/6885255/T6885255.java.i
-data/test/tools/javac/UnreachableVar.java.i
+data/test/tools/javac/Diagnostics/6862608/T6862608a.out.i
data/test/tools/javac/diags/examples/RecursiveConstrInvocation.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java.i
-data/test/tools/javac/processing/options/TestImplicitNone.java.i
-data/test/tools/javac/processing/model/util/deprecation/TestDeprecation.java.i
+data/test/tools/javac/generics/rawOverride/7062745/T7062745neg.java.i
+data/src/share/classes/com/sun/tools/javac/resources/compiler.properties.i
data/test/tools/javap/T6271787.java.i
data/src/share/classes/com/sun/tools/javadoc/SerialFieldTagImpl.java.i
data/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C5.java.i
-data/test/tools/javac/cast/7005671/T7005671.out.i
-data/test/tools/javac/processing/6512707/TestEnum.java.i
+data/test/tools/javac/missingSuperRecovery/MissingSuperRecovery.out.i
+data/src/share/classes/com/sun/tools/doclets/formats/html/markup/Comment.java.i
data/test/tools/javac/BreakAcrossClass.java.i
data/src/share/classes/com/sun/tools/javac/tree/TreeCopier.java.i
data/test/tools/javac/cast/5064736/T5064736.java.i
data/test/tools/javac/limits/NumArgs4.java.i
+data/src/share/classes/javax/tools/ModuleFileManager.java.i
data/test/tools/apt/mirror/type/ArrayTyp.java.i
data/test/com/sun/javadoc/testSuperclassInSerialForm/pkg/SuperClass.java.i
data/test/com/sun/javadoc/testDocRootInlineTag/package-list.i
@@ -1357,35 +1343,38 @@ data/src/share/classes/com/sun/javadoc/WildcardType.java.i
data/test/tools/javac/varargs/6313164/p1/C.java.i
data/test/com/sun/javadoc/testRecurseSubPackages/pkg1/pkg2/pkg3/C5.java.i
data/test/com/sun/javadoc/testWarnBadParamNames/TestWarnBadParamNames.java.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MetaKeywords.java.i
data/make/tools/CompileProperties/CompileProperties.java.i
data/test/tools/javac/generics/inference/6718364/T6718364.java.i
-data/test/com/sun/javadoc/testLinkOption/java/lang/StringBuilderChild.java.i
+data/test/tools/javac/diags/examples/DuplicateAnnotation.java.i
data/test/tools/javac/generics/inference/5049523/T5049523.java.i
data/test/tools/javac/DeadInnerClass.java.i
data/test/tools/javac/ClassPathTest/foo/pkg/ClassPathTestAux1.java.i
data/test/com/sun/javadoc/testTagInheritence/pkg/TestInterfaceForAbstractClass.java.i
data/test/tools/javadoc/6958836/Test.java.i
data/test/tools/javac/typeAnnotations/failures/StaticFields.out.i
-data/test/tools/javac/generics/6985719/T6985719g.java.i
+data/test/tools/javac/Paths/6638501/HelloLib/test/HelloImpl.java.i
data/test/tools/javac/T6956462/T6956462.java.i
data/test/tools/javac/typeAnnotations/failures/common/parambounds/InvalidLocation.java.i
data/test/tools/javadoc/generics/tparamTagOnType/Main.java.i
-data/test/tools/javadoc/generics/genericInnerAndOuter/pkg1/X.java.i
data/test/tools/javac/typeAnnotations/failures/VoidGenericMethod.java.i
data/test/tools/javac/6304921/T6304921.out.i
data/test/tools/javac/6521805/T6521805e.out.i
data/test/tools/javac/TryWithResources/ImplicitFinal.out.i
data/test/tools/javac/api/6400303/Test1.java.i
-data/test/tools/javac/protectedAccess/ProtectedMemberAccess5/Main.java.i
+data/test/tools/apt/Basics/Lacuna.java.i
data/test/tools/javac/6521805/T6521805b.java.i
+data/test/tools/javac/generics/inference/6468384/T6468384.java.i
data/test/com/sun/javadoc/testPrivateClasses/pkg2/C.java.i
data/src/share/classes/com/sun/tools/javac/util/CloseableURLClassLoader.java.i
data/test/tools/javac/synthesize/Number.java.i
data/src/share/classes/javax/lang/model/type/DisjunctiveType.java.i
-data/src/share/classes/com/sun/mirror/declaration/package-info.java.i
+data/src/share/classes/javax/lang/model/element/AnnotationMirror.java.i
data/test/tools/javac/generics/typeargs/Newarg1.java.i
data/test/tools/javac/diags/examples/StaticImportOnlyClassesAndInterfaces/StaticImportOnlyClassesAndInterfaces.java.i
-data/test/tools/javac/unicode/UnicodeNewline.out.i
+data/test/tools/javac/OverrideChecks/T4720359b.java.i
+data/test/tools/javac/SwitchFence.java.i
+data/test/com/sun/javadoc/testUnnamedPackage/TestUnnamedPackage.java.i
data/test/tools/javac/synthesize/Boolean.java.i
data/src/share/classes/com/sun/tools/javadoc/ConstructorDocImpl.java.i
data/test/tools/javac/NameClash/b/One.java.i
@@ -1393,11 +1382,11 @@ data/test/tools/javac/T6403466.byfile.out.i
data/test/com/sun/javadoc/testNavagation/pkg/C.java.i
data/test/tools/javac/quid/QuotedIdent2.java.i
data/test/tools/javac/staticImport/StaticImport.java.i
-data/src/share/classes/javax/lang/model/element/package-info.java.i
+data/test/tools/javac/FloatingPointChanges/Test.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java.i
data/test/tools/javac/tree/SourceTreeScannerTest.java.i
+data/test/tools/apt/Basics/foo/bar/Quux.java.i
data/src/share/classes/com/sun/source/tree/RequiresModuleDirectiveTree.java.i
-data/test/tools/javac/diags/examples/EnumAsIdentifier.java.i
data/test/tools/javac/warnings/Unchecked.lintUnchecked.out.i
data/make/test/README.i
data/src/share/classes/com/sun/mirror/type/VoidType.java.i
@@ -1408,33 +1397,36 @@ data/test/tools/javac/AnonymousType.java.i
data/test/com/sun/javadoc/testGroupOption/pkg3/C.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseInlineTaglet.java.i
data/test/com/sun/javadoc/testConstructorIndent/TestConstructorIndent.java.i
-data/test/tools/javap/4870651/Test.java.i
+data/src/share/classes/com/sun/javadoc/SeeTag.java.i
data/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C2.java.i
data/src/share/classes/com/sun/tools/javadoc/resources/javadoc.properties.i
+data/test/tools/javac/generics/Varargs2.java.i
data/test/tools/javac/generics/wildcards/AssignmentSameType2.java.i
data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_1.java.i
data/test/tools/javac/processing/model/util/elements/doccomments/z/Last.java.i
data/test/tools/javadoc/parser/7091528/p/q/C2.java.i
data/src/share/classes/com/sun/tools/javap/resources/version.properties-template.i
data/test/tools/javac/generics/inference/6650759/T6650759i.java.i
-data/test/tools/javac/processing/6350124/Marked.java.i
+data/test/tools/javac/generics/abstract/T4717181c.java.i
data/test/tools/javac/generics/wildcards/6437894/T6437894.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/package.html.i
data/test/tools/javac/typeAnnotations/failures/common/newarray/MissingAnnotationValue.java.i
-data/test/tools/javac/api/T6358786.java.i
+data/test/tools/javac/T6956638.java.i
data/test/tools/javac/AnonymousProtect/P1/pubExposePriv.java.i
data/test/tools/javac/generics/Crash01.java.i
-data/src/share/classes/com/sun/tools/javadoc/Messager.java.i
+data/test/tools/javac/resolve/tests/PrimitiveReturnTypeInference.java.i
data/test/tools/javac/diags/examples/Verbose.java.i
-data/test/tools/javac/diags/examples/MalformedSupported/MalformedSupported.java.i
-data/test/tools/javac/diags/examples/AnnoNotValidForType.java.i
+data/test/tools/javac/processing/6430209/test1.java.i
+data/test/tools/javac/OverrideChecks/6738538/T6738538b.java.i
data/test/tools/javac/generics/rawOverride/T6846972.java.i
-data/test/tools/javac/6979683/TestCast6979683_BAD39.java.i
+data/test/tools/javac/generics/inference/5021635/T5021635.java.i
+data/test/tools/javac/typeAnnotations/failures/common/newarray/DuplicateTypeAnnotation.java.i
data/test/tools/javac/enum/6384542/T6384542a_1_4.out.i
data/test/com/sun/javadoc/AccessH1/p2/C2.java.i
-data/test/tools/javac/annotations/neg/Z13.java.i
+data/src/share/classes/com/sun/tools/doclets/formats/html/StylesheetWriter.java.i
+data/test/tools/javac/enum/EnumProtectedConstructor.java.i
data/test/tools/javac/generics/inference/6273455/T6273455.java.i
-data/test/tools/javac/cast/6665356/T6665356.java.i
+data/test/tools/javac/InnerNamedConstant_2.java.i
data/test/tools/javac/varargs/Warn1.java.i
data/test/tools/javac/generics/diamond/7030150/Neg03.java.i
data/test/tools/javac/generics/inference/5073060/T5073060a.java.i
@@ -1442,24 +1434,23 @@ data/src/share/classes/com/sun/tools/javadoc/WildcardTypeImpl.java.i
data/test/com/sun/javadoc/PackagesHeader/p2/C2.java.i
data/src/share/classes/com/sun/source/tree/IdentifierTree.java.i
data/test/tools/javac/enum/forwardRef/TestEnum3.java.i
-data/test/tools/javac/protectedAccess/ProtectedMemberAccess3.java.i
-data/test/tools/javadoc/generics/tparamTagOnMethod/expected.out.i
+data/test/tools/javac/diags/examples/StringSwitchNotSupported.java.i
+data/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C3.java.i
data/test/tools/javac/enum/forwardRef/TestEnum2.java.i
data/test/tools/javac/treeannotests/TestProcessor.java.i
data/test/tools/javac/depOverrides/doccomment/Test3.java.i
data/test/tools/javac/annotations/6881115/T6881115.java.i
data/test/com/sun/javadoc/testTagInheritence/firstSentence2/A.java.i
-data/test/tools/javadoc/BooleanConst.java.i
-data/test/tools/javap/typeAnnotations/T6855990.java.i
+data/test/tools/javac/generics/odersky/BadTest3.java.i
data/test/com/sun/javadoc/PackagesHeader/PackagesHeader.java.i
-data/test/tools/javac/TryWithResources/ResourceTypeVar.java.i
-data/test/tools/javac/T6567414.java.i
data/test/tools/javac/enum/EnumPrivateConstructor.java.i
data/src/share/classes/com/sun/source/tree/ArrayTypeTree.java.i
+data/test/tools/apt/Misc/Marked.java.i
data/test/tools/javac/6857948/T6857948.out.i
data/test/tools/javac/limits/NumArgs2.java.i
data/test/com/sun/javadoc/testIndex/NoPackage.java.i
data/test/tools/apt/mirror/declaration/AnnoMirror.java.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/FieldWriter.java.i
data/test/tools/javac/diags/examples/InvalidAnnoMemberType.java.i
data/test/tools/javac/scope/6225935/T6225935.java.i
data/test/tools/javac/quid/QuotedIdent_BAD63.java.i
@@ -1468,22 +1459,24 @@ data/test/tools/javac/4980495/static/p2/A2.java.i
data/make/netbeans/javah/README.i
data/test/tools/javadoc/generics/genericMethod/pkg1/A.java.i
data/test/tools/javac/enum/SynthValues.java.i
+data/test/tools/javac/depOverrides/annotation/Q.java.i
data/src/share/classes/com/sun/tools/javac/api/Formattable.java.i
data/src/share/classes/com/sun/javadoc/LanguageVersion.java.i
-data/test/tools/javac/generics/wildcards/6330931/T6330931.java.i
+data/src/share/classes/com/sun/tools/javac/util/JavacMessages.java.i
data/src/share/classes/com/sun/tools/javac/util/JavacFileManager.java.i
-data/test/tools/javac/InitializerCompletion_2.java.i
data/src/share/classes/com/sun/tools/classfile/ClassReader.java.i
data/test/tools/javadoc/generics/genericSuper/Main.java.i
+data/test/tools/javac/diags/examples/AssertAsIdentifier.java.i
data/test/com/sun/javadoc/testHtmlTableTags/pkg2/C2.java.i
data/test/tools/javac/enum/forwardRef/TestEnum4.java.i
-data/test/tools/javac/processing/options/Xprint.java.i
+data/test/com/sun/javadoc/testBreakIterator/pkg/BreakIteratorTest.java.i
data/test/tools/javac/failover/FailOver03.java.i
data/src/share/classes/com/sun/source/tree/CaseTree.java.i
data/test/tools/javac/boxing/T6348760.java.i
-data/test/tools/javac/generics/5009937/T5009937.out.i
+data/test/com/sun/javadoc/testValueTag/pkg1/Class2.java.i
data/test/tools/javac/synthesize/Short.java.i
data/test/tools/javac/TryWithResources/ImplicitFinal.java.i
+data/test/tools/javac/diags/examples/UncheckedPluralAdditional/UncheckedFilename1.java.i
data/test/tools/javac/foreach/ListOfListTest.java.i
data/src/share/classes/javax/annotation/processing/Completion.java.i
data/test/tools/javac/enum/6384542/T6384542.out.i
@@ -1493,12 +1486,12 @@ data/test/tools/javac/typeAnnotations/failures/target/NotTypeParameter.out.i
data/test/tools/javac/InterfaceOverrideCheck.java.i
data/make/netbeans/common/standard-context-menu-items-no-javadoc.ent.i
data/test/tools/javac/generics/typevars/6182630/T6182630b.java.i
-data/test/tools/javac/generics/genericAbstract/B.java.i
+data/test/tools/javac/api/T6483788.java.i
data/test/com/sun/javadoc/testTitleInHref/package-list.i
data/test/tools/javac/diags/examples/Error.java.i
data/src/share/classes/com/sun/tools/javadoc/DocLocale.java.i
data/test/tools/javac/6330920/T6330920.out.i
-data/test/com/sun/javadoc/testModifier/TestModifier.java.i
+data/src/share/classes/javax/lang/model/util/ElementScanner6.java.i
data/test/tools/javac/generics/typeargs/Superarg1.java.i
data/test/tools/javac/links/links.sh.i
data/test/tools/javac/enum/FauxEnum3.java.i
@@ -1508,18 +1501,19 @@ data/test/com/sun/javadoc/testThrowsTag/pkg/T3.java.i
data/test/tools/javac/6402516/A.java.i
data/test/tools/javac/generics/rare/Rare4.java.i
data/test/tools/javac/proprietary/WarnVariable.java.i
-data/test/tools/javadoc/sourceOnly/Test.java.i
+data/test/tools/javac/positions/T6253161a.out.i
data/test/tools/apt/mirror/declaration/MethodDecl.java.i
-data/test/tools/javac/diags/examples/SunApiFilenameAdditional.java.i
+data/src/share/classes/com/sun/tools/javadoc/AbstractTypeImpl.java.i
data/test/com/sun/javadoc/testRecurseSubPackages/pkg1/pkg2/pkg3/C6.java.i
data/src/share/classes/com/sun/mirror/type/MirroredTypesException.java.i
data/test/tools/javap/T6824493.java.i
-data/test/tools/javadoc/generics/tparamCycle/pkg1/LikeEnum.java.i
+data/test/tools/javac/api/T6501502.java.i
+data/test/tools/javac/generics/inference/7086601/T7086601a.out.i
data/test/com/sun/javadoc/testCmndLineClass/pkg2/package.html.i
data/test/tools/javac/enum/NoFinal5.java.i
data/test/tools/javac/boxing/T5082929.java.i
data/test/tools/javac/diags/examples/ProcessorCantInstantiate/ProcessorCantInstantiate.java.i
-data/test/tools/javac/implicitThis/NewBeforeOuterConstructed3.java.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/WriterFactory.java.i
data/test/com/sun/javadoc/testMemberSummary/pkg/PublicChild.java.i
data/test/tools/javac/generics/inference/5073060/NegHelper.java.i
data/test/tools/javac/boxing/BoxingCaching.java.i
@@ -1531,7 +1525,9 @@ data/test/tools/javac/diags/examples/DoesNotOverride.java.i
data/test/tools/javac/processing/model/type/MirroredTypeEx/NpeTest.java.i
data/test/tools/javac/Diagnostics/6769027/tester.properties.i
data/make/netbeans/javap/nbproject/project.xml.i
+data/test/tools/javac/processing/filer/TestLastRound.out.i
data/test/tools/javac/generics/typevars/5061359/T5061359.java.i
+data/test/tools/javac/BadOptimization/DeadCode1.java.i
data/src/share/classes/com/sun/javadoc/Doclet.java.i
data/test/tools/javac/conditional/Conditional.java.i
data/test/tools/javac/varargs/6730476/T6730476a.java.i
@@ -1541,129 +1537,131 @@ data/test/tools/javac/AccessMethods/AccessMethodsLHS.java.i
data/test/tools/javah/6572945/TestClass3.java.i
data/test/tools/javac/cast/6557182/T6557182.out.i
data/test/tools/javac/annotations/pos/OverrideOK.java.i
-data/test/tools/javac/TestPkgInfo.java.i
+data/src/share/classes/com/sun/tools/apt/mirror/declaration/EnumDeclarationImpl.java.i
data/test/tools/javah/TestHelpOpts.java.i
-data/test/tools/javac/diags/examples/InheritFromFinal.java.i
+data/src/share/classes/com/sun/javadoc/ProgramElementDoc.java.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/tab.gif.i
+data/src/share/classes/com/sun/tools/javac/comp/ConstFold.java.i
data/test/tools/javac/generics/6372782/AbstractPlanarVector.java.i
data/test/tools/javac/diags/examples/AnnoNotApplicable.java.i
-data/test/tools/javac/generics/Varargs2.java.i
+data/test/tools/javac/processing/6350124/T6350124.java.i
data/test/tools/javac/protectedInner/pkg2/Sub.java.i
-data/test/tools/javac/NullStaticQualifier.java.i
+data/test/tools/javac/generics/typevars/T7040883.java.i
data/test/tools/javac/T6882235.java.i
data/test/tools/javac/api/6423003/T6423003.java.i
data/test/tools/apt/Basics/print.sh.i
-data/test/tools/javac/OverrideChecks/T4720359b.java.i
-data/test/tools/javadoc/BreakIteratorWarning.java.i
+data/test/tools/javac/diags/examples/LongSVUID.java.i
+data/test/com/sun/javadoc/testUseOption/pkg1/package.html.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LiteralTaglet.java.i
data/test/tools/javac/generics/rawOverride/Warn2.java.i
-data/test/tools/javac/generics/T6657499.java.i
-data/test/com/sun/javadoc/testOverridenMethods/pkg2/SubClass.java.i
+data/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java.i
+data/test/com/sun/javadoc/testUnnamedPackage/package.html.i
data/test/tools/javac/generics/classreader/HMember.java.i
data/test/tools/javac/ClassCycle/ClassCycle3b.java.i
data/test/tools/javac/failover/FailOver15.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java.i
+data/test/tools/javac/diags/examples/WarnForwardRef.java.i
data/test/tools/javac/generics/typevars/6182630/T6182630a.java.i
data/src/share/classes/com/sun/mirror/apt/package.html.i
data/test/tools/javadoc/XWerror.java.i
data/test/tools/javac/api/6440528/T6440528.java.i
data/test/tools/javac/6889255/T6889255.java.i
-data/test/tools/javac/multicatch/Neg06.out.i
-data/src/share/classes/javax/lang/model/element/Element.java.i
-data/test/tools/javac/T6214885.java.i
+data/test/tools/javac/varargs/5088429/T5088429Neg02.out.i
+data/test/tools/javac/generics/diamond/7030687/T7030687.out.i
+data/test/tools/javac/generics/wildcards/AssignmentSameType6.java.i
data/test/tools/javac/policy/test1/bytodo.ACD.out.i
data/test/tools/javap/T4884240.java.i
data/test/tools/apt/Discovery/servicesBadTouch.i
data/test/tools/javac/T6405099.java.i
data/src/share/classes/javax/lang/model/element/Modifier.java.i
-data/test/tools/javac/processing/model/type/TestTypeKind.java.i
data/test/tools/javac/diags/examples/ContinueOutsideLoop.java.i
data/src/share/classes/com/sun/source/tree/ModuleIdQueryTree.java.i
data/test/tools/javac/typeAnnotations/failures/target/Constructor.out.i
data/test/com/sun/javadoc/testHtmlTag/pkg2/C2.java.i
-data/test/tools/javac/TryWithResources/ResourceInterface.out.i
-data/test/tools/javac/ProtectedInnerClass/ProtectedInnerClass_2.java.i
-data/test/tools/javac/annotations/neg/Dup.java.i
+data/test/tools/javac/T7040104.java.i
+data/test/tools/javac/T4994049/DeprecatedYES.java.i
+data/test/tools/javac/CyclicInheritance.sh.i
data/test/com/sun/javadoc/testDocRootLink/pkg2/C2.java.i
-data/test/tools/javac/HexFloatLiterals.java.i
-data/test/tools/javac/resolve/tests/PrimitiveOverload.java.i
+data/test/tools/javac/generics/wildcards/AssignmentSameType1.java.i
data/test/tools/javac/generics/diamond/7030150/Neg01.out.i
+data/test/tools/javac/6547131/T.java.i
data/test/tools/javadoc/completionFailure/CompletionFailure.java.i
-data/test/com/sun/javadoc/testPackageDeprecation/pkg1/Foo2.java.i
+data/test/tools/javac/ProtectedInnerClass/p1/ProtectedInnerClass1.java.i
data/test/tools/javac/mandatoryWarnings/unchecked/A.java.i
-data/test/tools/javac/warnings/T6763518.java.i
-data/test/tools/javac/foreach/T6500701.java.i
+data/test/tools/javac/diags/examples/TryResourceNotSupported.java.i
+data/src/share/classes/com/sun/tools/classfile/Type.java.i
+data/test/tools/javac/6979683/TestCast6979683_BAD38.java.i
data/test/tools/apt/mirror/declaration/pkg1/pkg2/AnInterface.java.i
data/test/tools/apt/mirror/declaration/pkg1/AnEnum.java.i
data/test/tools/javadoc/T6968833.java.i
-data/src/share/classes/com/sun/mirror/type/TypeMirror.java.i
+data/test/tools/javac/processing/messager/6362067/T6362067.java.i
data/test/tools/javac/diags/examples/DiamondInvalidArgs.java.i
-data/test/tools/javac/generics/wildcards/6437894/T6437894.out.i
data/test/tools/javac/4917091/Test256b.java.i
data/test/tools/javac/generics/7020657/T7020657neg.java.i
-data/test/tools/javac/cast/6558559/T6558559b.java.i
+data/test/tools/javac/completion/C.out.i
data/test/tools/javac/T7042623.out.i
-data/test/tools/javac/generics/7007615/acc1/AccessibilityCheck01.java.i
-data/test/tools/javac/diags/examples/NonStaticCantBeRef.java.i
-data/test/tools/javac/synthesize/Cloneable.java.i
+data/src/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java.i
+data/src/share/classes/javax/lang/model/element/TypeElement.java.i
+data/test/tools/javac/processing/model/util/deprecation/ExpectedDeprecation.java.i
data/test/tools/javac/depOverrides/doccomment/B.java.i
data/test/tools/javac/NullQualifiedSuper2.java.i
-data/test/tools/javac/SerialWarn.java.i
data/src/share/classes/com/sun/tools/javac/api/ClientCodeWrapper.java.i
-data/test/tools/javac/6627362/x/Object.java.i
+data/make/conf/checkstyle-langtools.xml.i
+data/test/tools/javac/protectedAccess/ProtectedMemberAccess2.java.i
data/test/tools/apt/Basics/Misc.java.i
data/test/com/sun/javadoc/testThrowsTag/pkg/T7.java.i
+data/src/share/classes/javax/lang/model/type/WildcardType.java.i
data/test/tools/javac/diags/examples/UndeterminedType1.java.i
-data/test/tools/javac/MissingInclude.sh.i
+data/test/tools/javac/api/6733837/T6733837.java.i
data/test/tools/javac/6948381/T6948381.java.i
-data/test/tools/javac/OverrideChecks/T4720356b.java.i
-data/test/tools/javac/api/6431435/T6431435.java.i
+data/test/tools/javac/innerClassFile/x/C.java.i
data/test/tools/javac/failover/FailOver03.out.i
-data/src/share/classes/com/sun/tools/javac/resources/legacy.properties.i
-data/test/tools/javac/diags/examples/ArrayAndVarargs.java.i
+data/test/tools/javac/links/T.java.i
+data/test/tools/javac/diags/examples/InitializerMustComplete.java.i
data/test/com/sun/javadoc/testIndex/pkg/C.java.i
data/test/tools/javac/modules/ModuleModeTests/DerbyTest.java.i
data/test/tools/javadoc/generics/genericInterface/pkg1/A.java.i
-data/test/tools/javac/generics/inference/6943278/T6943278.java.i
data/src/share/classes/com/sun/tools/javac/file/Old199.java.i
-data/test/com/sun/javadoc/testHref/pkg/C3.java.i
+data/test/tools/javac/depOverrides/annotation/B3.java.i
data/test/tools/javac/versions/check.sh.i
data/test/tools/javac/resolve/tests/BoxedReturnTypeInference.java.i
data/test/tools/javac/Digits.out.i
-data/test/tools/javac/api/TestClientCodeWrapper.java.i
-data/test/tools/javac/typeAnnotations/failures/common/arrays/MissingAnnotationValue.java.i
data/src/share/classes/com/sun/mirror/type/InterfaceType.java.i
data/test/tools/javac/typeAnnotations/failures/common/newarray/InvalidLocation.out.i
data/test/tools/javac/T6306967.java.i
data/test/tools/javac/api/6412656/T6412656.java.i
data/test/tools/javac/missingSuperRecovery/impl.class.i
data/test/tools/javac/generics/ReverseOrder.java.i
+data/test/tools/javac/accessVirtualInner/c/C.java.i
+data/test/tools/javac/TryWithResources/PlainTry.java.i
data/test/tools/javac/diags/examples/RawClassUse.java.i
data/test/tools/javac/QualifiedAccess/QualifiedAccess_2.out.i
+data/src/share/classes/com/sun/tools/javadoc/ModifierFilter.java.i
data/test/tools/javac/T4994049/T4994049.java.i
-data/src/share/classes/com/sun/tools/javac/comp/AttrContext.java.i
-data/src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java.i
+data/test/tools/javac/generics/inference/6838943/T6838943.java.i
+data/test/com/sun/javadoc/testBackSlashInLink/C.java.i
data/src/share/classes/com/sun/javadoc/Tag.java.i
data/test/tools/javac/protectedAccess/ProtectedMemberAccess5/z1/Z1.java.i
-data/test/tools/javac/unit/util/list/FromArray.java.i
-data/test/tools/javac/NameClash/a/One.java.i
+data/test/tools/javac/generics/6946618/T6946618c.out.i
+data/test/tools/javac/processing/model/util/Superless.java.i
data/test/tools/javac/diags/examples/IllegalQualNotIcls.java.i
data/test/tools/javac/quid/QuotedIdent_BAD61.java.i
-data/src/share/classes/com/sun/tools/javadoc/SerializedForm.java.i
-data/src/share/classes/com/sun/source/tree/NewClassTree.java.i
+data/test/com/sun/javadoc/testTaglets/TestTaglets.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/FrameOutputWriter.java.i
-data/src/share/classes/com/sun/tools/javac/api/Messages.java.i
+data/test/tools/javac/diags/examples/ProcessorNotFound.java.i
data/test/tools/javac/6402516/TestIsAccessible.java.i
data/test/tools/javac/generics/inference/6611449/T6611449.java.i
data/test/tools/javac/LocalClasses_2.java.i
data/test/tools/javac/failover/FailOver02.out.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/CodeTaglet.java.i
+data/src/share/classes/com/sun/tools/javac/nio/PathFileManager.java.i
data/test/tools/javac/6521805/T6521805d.out.i
data/test/tools/javac/processing/errors/TestParseErrors/ParseErrors.java.i
-data/src/share/classes/sun/tools/javap/CPX2.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/AbstractDoclet.java.i
data/test/tools/javac/TryWithResources/TwrOnNonResource.out.i
-data/test/tools/javac/DefiniteAssignment/DUBeforeDefined2.java.i
+data/test/tools/javac/diags/examples/ImproperTypeInnerRawParam.java.i
+data/test/tools/javac/generics/wildcards/6651719/T6651719a.java.i
data/test/tools/javac/FinalIntConcatenation.java.i
-data/make/netbeans/langtools/nbproject/project.xml.i
+data/test/tools/javac/4917091/Test256a.java.i
data/src/share/classes/com/sun/source/tree/ErroneousTree.java.i
data/test/tools/javac/BadOptimization/DeadCode6.java.i
data/test/tools/javac/NullQualifiedNew2.java.i
@@ -1673,50 +1671,53 @@ data/test/tools/javac/processing/6511613/DummyProcessor.java.i
data/test/com/sun/javadoc/AuthorDD/AuthorDD.java.i
data/test/tools/javac/generics/rare/Rare9.java.i
data/test/com/sun/javadoc/testTagInheritence/pkg/TestSuperSuperClass.java.i
-data/test/tools/javac/6410653/T6410653.java.i
+data/test/tools/javac/T6873849.java.i
+data/test/tools/javac/6734819/T6734819c.out.i
data/test/tools/javac/generics/Covar4.java.i
data/test/tools/javac/diags/README.examples.txt.i
-data/test/tools/javac/generics/diamond/7030687/ParserTest.java.i
+data/test/tools/javac/completion/C.java.i
data/test/tools/javac/generics/Covar3.java.i
-data/test/tools/javac/diags/examples/OverrideWeakerAccess.java.i
-data/src/share/classes/com/sun/tools/classfile/package.html.i
+data/test/tools/javac/FloatingPointChanges/BadConstructorModifiers.java.i
+data/test/tools/javac/generics/ErasureClashCrash.java.i
data/test/tools/javac/4241573/T4241573.java.i
data/test/tools/apt/Basics/Indirect.java.i
data/test/com/sun/javadoc/testInterface/TestInterface.java.i
data/make/netbeans/README.i
data/src/share/classes/com/sun/javadoc/FieldDoc.java.i
-data/test/tools/javac/OuterParameter_1.java.i
+data/test/tools/javac/T4093617/T4093617.java.i
+data/src/share/classes/sun/tools/javap/FieldData.java.i
data/test/tools/javac/overload/T6776289.java.i
data/test/tools/javac/mixedTarget/CompatibleAbstracts4.java.i
data/test/tools/javac/diags/examples/UncheckedPlural/UncheckedFilename.java.i
data/test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java.i
-data/test/tools/apt/mirror/util/TypeCreation.java.i
+data/src/share/classes/com/sun/tools/javac/comp/Lower.java.i
data/src/share/classes/com/sun/tools/javac/comp/Flow.java.i
-data/test/tools/javac/typeAnnotations/failures/common/receiver/InvalidLocation.java.i
+data/test/tools/javac/enum/TrailingComma.java.i
data/test/tools/javac/generics/typevars/6680106/T6680106.out.i
data/make/jprt.properties.i
-data/test/com/sun/javadoc/testLinkOption/TestBadLinkOption.java.i
+data/test/tools/javac/abstract/U3.java.i
+data/test/tools/javap/4870651/T4870651.java.i
data/test/tools/javac/generics/diamond/pos/Pos04.java.i
data/test/tools/javac/6400872/B.java.i
data/test/tools/javac/generics/ExtendedRaw3.java.i
data/test/tools/javadoc/badSuper/p/B.java.i
-data/test/com/sun/javadoc/testLinkOption/testNewLineInLink/C.java.i
+data/test/tools/javac/processing/model/element/TestMissingElement2/TestMissingGenericClass1.java.i
data/src/share/classes/com/sun/source/tree/UnionTypeTree.java.i
data/test/tools/javah/6572945/gold/jni.file.1.i
-data/test/tools/javac/implicitThis/WhichImplicitThis11.java.i
+data/test/tools/javac/api/6431257/T6431257.java.i
data/test/tools/apt/lib/Tester.java.i
data/test/tools/javac/modules/ModuleResolverTest01.java.i
-data/test/tools/javac/diags/examples/TypeVarMayNotBeFollowedByOtherBounds.java.i
-data/test/tools/javac/TryWithResources/T7022711.out.i
+data/test/com/sun/javadoc/testDeprecatedDocs/pkg/TestClass.java.i
+data/test/tools/javac/generics/6213818/T6213818.java.i
data/test/tools/javac/QualifiedNew.out.i
-data/test/tools/javac/T6595666.java.i
-data/test/tools/javac/varargs/warning/Warn2.java.i
-data/test/com/sun/javadoc/testPackagePage/pkg2/C.java.i
+data/test/tools/javac/limits/ArrayDims3.java.i
+data/test/tools/javac/policy/test1/byfile.ACD.out.i
data/test/tools/javac/generics/wildcards/neg/CastWarn10.java.i
data/test/tools/javac/diags/examples/PrematureEOF.java.i
data/test/com/sun/javadoc/AccessH1/p1/C.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlStyle.java.i
data/test/tools/javac/QualifiedAccess/QualifiedAccess_2.sh.i
+data/test/tools/javac/generics/wildcards/neg/CastFail9.java.i
data/src/share/classes/sun/tools/javap/Tables.java.i
data/test/tools/javac/diags/examples/ProcUseImplicit/processors/AnnoProc.java.i
data/test/tools/javac/generics/inference/6650759/T6650759k.java.i
@@ -1725,170 +1726,163 @@ data/test/tools/javac/TryWithResources/TwrLint.java.i
data/test/com/sun/javadoc/testClassCrossReferences/TestClassCrossReferences.java.i
data/test/tools/javac/typeAnnotations/failures/common/innertypeparams/DuplicateAnnotationValue.java.i
data/test/com/sun/javadoc/testDocFileDir/pkg/doc-files/testfile.txt.i
+data/test/tools/javac/processing/warnings/UseImplicit/TestProcUseImplicitWarning.java.i
data/test/com/sun/javadoc/testPackageDeprecation/pkg1/ClassUseTest1.java.i
+data/src/share/classes/com/sun/tools/classfile/Method.java.i
data/test/tools/javac/typeAnnotations/failures/common/innertypeparams/MissingAnnotationValue.java.i
-data/test/tools/javac/DefiniteAssignment/UncaughtException.java.i
data/test/tools/javac/6403424/B.java.i
-data/test/tools/javap/pathsep.sh.i
-data/test/tools/javac/enum/6384542/T6384542a.java.i
+data/src/share/classes/com/sun/tools/javac/parser/Keywords.java.i
+data/test/tools/javac/generics/Crash02.java.i
data/test/tools/javac/processing/filer/TestLastRound.java.i
data/test/tools/javac/literals/T6891079.java.i
data/test/tools/javac/diags/examples/InvalidInferredTypes.java.i
-data/test/tools/javac/diags/examples/FinalParamCantBeAssigned.java.i
-data/src/share/classes/com/sun/tools/javac/jvm/UninitializedType.java.i
+data/test/tools/javac/varargs/6313164/T6313164.java.i
+data/test/tools/javac/UplevelFromAnonInSuperCall.java.i
data/test/tools/javac/BoolArray.java.i
data/test/tools/javac/processing/options/XprintDocComments.java.i
data/test/com/sun/javadoc/testNewLanguageFeatures/pkg1/B.java.i
-data/test/tools/javac/generics/wildcards/neg/AmbiguousCast.java.i
-data/make/test/HelloWorld.javap.gold.txt.i
+data/test/tools/javac/limits/ArrayDims5.java.i
+data/test/tools/javac/ImportPackagePrivateInner/Dummy.java.i
data/test/tools/javac/generics/6372782/PlanarVector.java.i
data/test/tools/javac/generics/RawClient.java.i
data/test/tools/javac/diags/examples/MissingSVUID.java.i
-data/test/com/sun/javadoc/testOverridenMethods/pkg1/BaseClass.java.i
-data/test/tools/javadoc/annotations/badVals/pkg1/A.java.i
+data/test/tools/javac/modules/ModuleVersionQueryTest01.java.i
data/test/tools/javac/4980495/static/Test.out.i
data/src/share/classes/sun/tools/javap/Constants.java.i
-data/test/tools/javac/generics/6182950/T6182950b.out.i
-data/test/tools/javac/diags/ArgTypeCompilerFactory.java.i
+data/test/tools/javac/mixedTarget/ExtendCovariant1.java.i
data/test/tools/javac/modules/ModuleModeTests/HelloAWTTest.java.i
data/make/test/bootstrap/javah.sh.i
data/test/tools/javac/types/BoxingConversionTest.java.i
data/test/com/sun/javadoc/testPrivateClasses/pkg/PublicChild.java.i
data/test/com/sun/javadoc/testConstructorIndent/C.java.i
-data/test/com/sun/javadoc/ValidHtml/overview.html.i
+data/test/tools/javac/diags/examples/UncheckedMethodInvocation.java.i
data/test/tools/javac/diags/examples/CountError.java.i
-data/src/share/classes/com/sun/mirror/util/Declarations.java.i
+data/test/tools/javac/6835430/A.java.i
+data/test/tools/javac/annotations/6214965/T6214965.out.i
data/test/tools/javac/policy/test1/C.java.i
data/test/tools/javac/diags/examples/DuplicateAnnotationMemberValue.java.i
+data/test/tools/javac/NestedFinallyReturn.java.i
data/test/tools/javac/cast/5043020/T5043020.java.i
data/src/share/classes/com/sun/source/util/Trees.java.i
data/test/tools/javac/policy/test1/Test1b.java.i
data/test/tools/javac/6302184/T6302184.out.i
data/test/tools/javac/diags/examples/IllegalUnderscore.java.i
data/src/share/classes/com/sun/tools/javac/file/Paths.java.i
-data/test/com/sun/javadoc/testDeprecatedDocs/pkg/DeprecatedClassByAnnotation.java.i
+data/src/share/classes/com/sun/tools/classfile/Attributes.java.i
data/test/tools/javac/6979683/TestCast6979683_BAD34.java.i
data/src/share/classes/com/sun/tools/apt/resources/apt_zh_CN.properties.i
data/test/tools/javac/api/ToolProvider/HelloWorldTest.java.i
data/test/tools/javac/T6397044.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/BuilderFactory.java.i
-data/src/share/classes/javax/tools/SimpleJavaFileObject.java.i
-data/test/tools/javac/generics/rawOverride/7062745/T7062745neg.java.i
+data/test/tools/javac/generics/diamond/neg/Neg06.out.i
+data/test/tools/javac/processing/options/TestImplicitNone.java.i
data/test/tools/javac/miranda/T4711325.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/background.gif.i
data/test/tools/javac/TryWithResources/BadTwr.java.i
data/test/tools/javac/T6265400.java.i
-data/src/share/classes/com/sun/javadoc/ClassDoc.java.i
+data/test/com/sun/javadoc/testLinkOption/TestLinkOption.java.i
data/test/tools/javac/stackmap/UninitThis.java.i
data/test/tools/javac/policy/byfile.ABD.out.i
data/test/tools/javac/enum/NoFinal3.java.i
-data/test/tools/javac/T6458823/MyProcessor.java.i
data/test/tools/javac/generics/Conditional.java.i
data/test/tools/javac/diags/examples/WhereIntersection.java.i
data/test/tools/javac/multicatch/Pos07.java.i
data/test/tools/javac/enum/FauxSpecialEnum2.java.i
data/src/share/classes/sun/tools/javap/JavapEnvironment.java.i
data/src/share/classes/javax/lang/model/package-info.java.i
-data/src/share/classes/com/sun/javadoc/SeeTag.java.i
-data/test/tools/javac/annotations/pos/Parameter.java.i
-data/test/tools/javac/NonStaticFieldExpr1.out.i
+data/test/tools/javap/4870651/Test.java.i
data/test/tools/javac/Diagnostics/6860795/T6860795.java.i
data/test/tools/javac/abstract/U2.java.i
-data/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C3.java.i
-data/test/tools/javac/generics/typevars/6968793/T6968793.out.i
-data/test/tools/javac/generics/odersky/BadTest3.java.i
+data/test/tools/javadoc/generics/tparamTagOnMethod/expected.out.i
+data/test/tools/javadoc/annotations/defaults/pkg1/B.java.i
+data/test/tools/javap/typeAnnotations/T6855990.java.i
data/test/tools/javac/Object1.java.i
data/test/tools/apt/Scanners/Counter.java.i
data/test/tools/javac/T6397286.java.i
data/test/tools/javac/diags/examples/InferArgsLengthMismatch.java.i
data/test/tools/javac/6558548/T6558548.java.i
-data/test/tools/javac/packone/Secret.java.i
-data/test/tools/javac/enum/T6509042.java.i
+data/test/tools/javac/DepParam.java.i
+data/test/tools/javac/annotations/neg/Recovery1.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/CommentedMethodFinder.java.i
data/test/tools/javac/synthesize/Character.java.i
data/test/tools/javac/typeAnnotations/newlocations/Fields.java.i
data/src/share/classes/javax/lang/model/element/NestingKind.java.i
-data/test/tools/javac/generics/UncheckedArray.java.i
data/test/tools/javac/T4994049/T4994049.out.i
-data/test/tools/javac/positions/T6253161a.out.i
-data/test/tools/javac/6979683/TestCast6979683_BAD34.java.errlog.i
+data/test/tools/javadoc/sourceOnly/Test.java.i
+data/test/com/sun/javadoc/testSimpleTagExclude/DummyClass.java.i
data/test/tools/javac/T6472751.java.i
data/test/tools/javac/generics/InnerInterface1.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/WriterFactory.java.i
+data/test/tools/javac/implicitThis/NewBeforeOuterConstructed3.java.i
data/src/share/classes/com/sun/source/tree/BreakTree.java.i
data/test/tools/javac/enum/EnumInit.java.i
-data/test/com/sun/javadoc/testTitleInHref/TestTitleInHref.java.i
data/src/share/classes/com/sun/tools/classfile/ClassWriter.java.i
data/test/com/sun/javadoc/VersionNumber/VersionNumber.java.i
data/src/share/classes/com/sun/tools/apt/mirror/AptEnv.java.i
-data/test/com/sun/javadoc/testLinkToSerialForm/pkg/C.java.i
+data/test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java.i
data/src/share/classes/com/sun/mirror/apt/package-info.java.i
data/test/tools/javac/generics/odersky/Test3.java.i
data/test/tools/javac/warnings/6747671/T6747671.out.i
data/test/tools/javac/boxing/NoBoxingShort.java.i
-data/test/tools/javac/diags/examples/IntfAnnotationMemberClash.java.i
+data/test/tools/javac/6840059/T6840059.out.i
data/test/com/sun/javadoc/testTagInheritence/pkg/TestInterface.java.i
data/test/com/sun/javadoc/lib/JavadocTester.java.i
-data/test/tools/javac/depOverrides/annotation/Test3.java.i
-data/test/tools/javac/processing/6512707/T6512707.java.i
+data/test/tools/javac/enum/Def.java.i
+data/test/tools/javac/policy/test1/simple.ABD.out.i
+data/test/tools/javac/diags/examples/DiamondAndExplicitParams.java.i
data/test/tools/apt/mirror/declaration/AnnoTypeDecl.java.i
data/test/tools/javac/generics/inference/6278587/T6278587.java.i
data/test/tools/javac/NonStaticFieldExpr2.java.i
-data/test/tools/apt/mirror/declaration/ClassDecl.java.i
-data/test/tools/javac/generics/6946618/T6946618c.out.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/PackageSummaryWriter.java.i
+data/test/tools/javac/unit/util/list/FromArray.java.i
+data/src/share/classes/com/sun/tools/javadoc/Start.java.i
data/test/tools/javac/generics/6476118/T6476118b.java.i
-data/test/tools/javac/unicode/SupplementaryJavaID4.java.i
+data/test/tools/javac/generics/diamond/7046778/DiamondAndInnerClassTest.java.i
data/test/tools/javac/generics/typeargs/Newarg2.java.i
data/test/tools/javac/diags/examples/ImproperTypeParamMissing.java.i
-data/test/tools/javap/T6715753.java.i
data/test/tools/javac/inheritedAccess/P1/priv.java.i
data/test/tools/javac/ClassPathTest/ClassPathTest3.java.i
-data/src/share/classes/sun/tools/javap/FieldData.java.i
+data/test/tools/javac/TryWithResources/T7022711.java.i
data/src/share/classes/com/sun/mirror/declaration/ParameterDeclaration.java.i
-data/test/tools/javap/4870651/T4870651.java.i
-data/test/tools/javac/abstract/T2.java.i
+data/test/tools/javac/generics/wildcards/AssignmentDifferentTypes4.java.i
+data/test/com/sun/javadoc/testLinkOption/TestBadLinkOption.java.i
data/test/tools/javac/generics/rawOverride/Warn1.java.i
data/src/share/classes/com/sun/tools/javac/util/DiagnosticFormatter.java.i
data/test/tools/javac/multicatch/Pos03.java.i
data/test/tools/javac/ClassLiterals/InitializeOuter.java.i
-data/test/tools/javac/multicatch/7030606/DisjunctiveTypeWellFormednessTest.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.properties.i
-data/test/tools/javac/synthesize/Byte.java.i
+data/src/share/classes/com/sun/tools/javac/comp/Modules.java.i
data/test/tools/javac/generics/forwardSeparateBound/ForwardSeparateBound2.java.i
data/test/tools/javadoc/generics/supertypes/expected.out.i
data/test/tools/javac/diags/examples/DuplicateDefaultLabel.java.i
data/test/tools/javac/diags/examples/StringConstRequired.java.i
data/test/tools/javac/generics/6292765/T6292765.java.i
-data/test/com/sun/javadoc/testLinkOption/TestLinkOption.java.i
+data/src/share/classes/com/sun/javadoc/ClassDoc.java.i
data/src/share/classes/com/sun/tools/classfile/ClassTranslator.java.i
data/test/tools/javac/enum/T5081785b.java.i
data/test/tools/javac/generics/inference/6365166/NewTest.java.i
-data/test/tools/javac/DepParam.java.i
-data/test/com/sun/javadoc/testSimpleTagExclude/DummyClass.java.i
+data/test/tools/javac/packone/Secret.java.i
+data/src/share/classes/com/sun/source/tree/UnaryTree.java.i
+data/test/tools/javac/6979683/TestCast6979683_BAD34.java.errlog.i
data/test/tools/javac/tree/T6963934.java.i
-data/test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java.i
+data/test/com/sun/javadoc/testLinkToSerialForm/pkg/C.java.i
data/src/share/classes/com/sun/mirror/declaration/TypeDeclaration.java.i
data/test/tools/javac/generics/inference/5073060/GenericsAndPackages.java.i
-data/src/share/classes/com/sun/tools/javadoc/Start.java.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/PackageSummaryWriter.java.i
data/test/tools/javac/links/b/B.java.i
data/test/tools/javac/diags/examples/EnumNoFinalize.java.i
-data/src/share/classes/com/sun/source/tree/ParameterizedTypeTree.java.i
data/test/tools/javac/generics/SilentUnchecked.java.i
data/test/tools/javac/diags/examples/MissingDeprecatedAnnotation.java.i
data/test/tools/javac/meth/InvokeMHTrans.java.i
-data/test/tools/apt/mirror/declaration/pkg1/pkg2/package.html.i
data/src/share/classes/com/sun/tools/javadoc/AnnotationTypeElementDocImpl.java.i
data/test/com/sun/javadoc/testMemberInheritence/diamond/B.java.i
data/test/tools/javac/generics/inference/5081782/Neg.java.i
data/test/tools/javac/EOI.java.i
-data/test/tools/javac/processing/environment/round/SurfaceAnnotations.java.i
+data/test/tools/javac/generics/rare/Rare8.java.i
data/test/tools/javac/capture/T6594284.java.i
data/test/tools/javadoc/generics/throwsGeneric/Main.java.i
data/test/tools/javadoc/outputRedirect/p/OutputRedirect.java.i
data/test/tools/javac/binaryCompat/T2.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstructorWriter.java.i
-data/test/tools/javac/warnings/DivZero.noLint.out.i
+data/test/tools/javadoc/BooleanConst.java.i
data/test/tools/apt/Basics/golden.txt.i
data/src/share/classes/com/sun/tools/javadoc/DocletInvoker.java.i
data/test/tools/javac/generics/diamond/neg/Neg11.java.i
@@ -1899,12 +1893,10 @@ data/test/tools/javac/diags/examples/StaticImportOnlyClassesAndInterfaces/Other.
data/test/tools/javac/diags/examples/ForeachNotSupported.java.i
data/test/tools/javac/T6340549.java.i
data/test/tools/javac/danglingDep/Test1.java.i
-data/src/share/classes/com/sun/tools/javap/resources/javap.properties.i
data/src/share/classes/com/sun/tools/javac/resources/javac_ja.properties.i
data/test/tools/javac/generics/wildcards/AssignmentSameType3.java.i
data/src/share/classes/com/sun/tools/javac/api/JavacTrees.java.i
data/test/tools/javac/typeAnnotations/failures/common/arrayclass/MissingAnnotationValue.out.i
-data/test/tools/javac/processing/werror/WError1.java.i
data/test/tools/javac/generics/6294779/T6294779b.java.i
data/src/share/classes/com/sun/tools/classfile/Code_attribute.java.i
data/test/tools/javac/6440583/A.java.i
@@ -1917,12 +1909,10 @@ data/src/share/classes/javax/tools/JavaCompiler.java.i
data/test/tools/javac/T6234077.java.i
data/test/tools/javac/diags/examples/PrintRounds/PrintRounds.java.i
data/test/com/sun/javadoc/testDeprecatedDocs/TestDeprecatedDocs.java.i
-data/test/tools/javac/depDocComment/DeprecatedDocComment3.java.i
+data/test/tools/javac/processing/6348499/A.java.i
data/test/tools/javah/6572945/T6572945.java.i
data/src/share/classes/com/sun/tools/javah/resources/l10n_zh_CN.properties.i
-data/test/tools/javac/warnings/6594914/T6594914b.java.i
data/test/tools/javac/enum/UserValue.java.i
-data/test/tools/javac/DefiniteAssignment/ThrowBeforeTryFinally.java.i
data/test/tools/javac/diags/examples/VarargsPluralAdditional/VarargsFilename.java.i
data/test/tools/javac/generics/typevars/6569404/T6569404a.java.i
data/src/share/classes/com/sun/javadoc/package.html.i
@@ -1930,7 +1920,7 @@ data/test/tools/javac/generics/inference/6938454/T6938454a.java.i
data/test/tools/javac/CastInterface2Array.java.i
data/test/tools/javac/NewGeneric.java.i
data/test/tools/javac/diags/examples/DiamondInvalidArg.java.i
-data/test/tools/javac/generics/wildcards/6437894/A.java.i
+data/test/tools/javac/api/6411310/T6411310.java.i
data/test/tools/javac/proprietary/WarnStaticImport.java.i
data/test/tools/javadoc/annotations/elementTypes/pkg1/A.java.i
data/test/tools/javac/annotations/default/Eerr.java.i
@@ -1941,81 +1931,76 @@ data/test/com/sun/javadoc/AccessAsciiArt/p1/SC.java.i
data/test/tools/javac/failover/FailOver01.out.i
data/test/tools/javac/diags/examples/CantDeref.java.i
data/test/tools/javac/diags/examples/UnnamedPackage.java.i
-data/test/tools/javac/FinallyWarn.java.i
+data/test/tools/javac/processing/warnings/gold_0.out.i
data/test/tools/apt/Basics/Aggregate.java.i
data/test/tools/javadoc/annotations/elementTypes/Main.java.i
data/test/tools/javac/generics/6332204/T6332204.java.i
data/test/tools/javac/generics/7007615/acc1/p1/C.java.i
-data/test/tools/javac/OverrideChecks/6400189/T6400189b.java.i
+data/test/com/sun/javadoc/testNewLanguageFeatures/pkg2/Foo3.java.i
+data/test/tools/javac/6402516/Checker.java.i
data/test/tools/javac/6341866/B.java.i
-data/test/tools/javac/generics/7015430/T7015430.java.i
+data/test/tools/javac/warnings/DivZero.noLint.out.i
+data/test/tools/javac/6521805/T6521805d.java.i
data/test/tools/javac/typeAnnotations/classfile/DeadCode.java.i
-data/test/tools/javac/depDocComment/DeprecatedDocComment.out.i
data/test/com/sun/javadoc/testThrowsTag/pkg/P.java.i
data/test/tools/javap/T6622216.java.i
data/test/tools/javac/synthesize/Object.java.i
data/test/com/sun/javadoc/testUseOption/pkg1/C1.java.i
data/test/tools/javac/diags/examples/DivZero.java.i
data/test/tools/javac/crossPackageImpl/CrossPackageImplB.java.i
-data/test/tools/javac/processing/model/util/OverridesSpecEx.java.i
data/src/share/classes/com/sun/source/tree/PackageTree.java.i
data/src/share/classes/com/sun/mirror/type/DeclaredType.java.i
data/src/share/classes/com/sun/tools/javac/comp/Check.java.i
data/test/tools/javac/generics/wildcards/pos/ParamCast.java.i
-data/test/tools/javac/typeAnnotations/failures/common/innertypeparams/DuplicateAnnotationValue.out.i
data/test/tools/javac/generics/T4739399.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/inherit.gif.i
-data/test/tools/javac/policy/test2/byfile.BA.out.i
+data/test/com/sun/javadoc/testOverridenMethods/TestMultiInheritence.java.i
data/test/tools/javac/NameCollision2.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DirectoryManager.java.i
data/test/tools/javac/T6394563.note.out.i
data/test/com/sun/javadoc/testMemberSummary/TestMemberSummary.java.i
data/test/tools/javac/4880220/T4880220.warn.out.i
-data/test/tools/javac/diags/examples/IntfMethodCantHaveBody.java.i
data/test/tools/javac/diags/examples/VarargsFilename.java.i
data/test/tools/javadoc/T4994049/T4994049.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java.i
data/test/tools/javac/ClassToTypeParm.java.i
data/test/tools/javac/7003595/T7003595.java.i
data/test/tools/javac/typeAnnotations/failures/Scopes.out.i
-data/test/tools/javac/generics/inference/4972073/T4972073a.java.i
+data/src/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java.i
data/test/tools/apt/Compile/src/Round1Class.java.i
data/test/tools/javac/enum/EnumSwitch4.java.i
data/test/tools/javac/jvm/6397652/com/test/Test$Test.java.i
+data/src/share/classes/com/sun/mirror/apt/RoundCompleteListener.java.i
data/test/com/sun/javadoc/WindowTitles/p2/C2.java.i
+data/test/tools/javac/DefiniteAssignment/DefAssignAfterTry1.java.i
data/test/tools/javac/typeAnnotations/newlocations/BasicTest.java.i
-data/make/netbeans/common/shared.xml.i
-data/test/tools/javadoc/annotations/missing/Main.java.i
data/test/tools/javac/cast/6256789/T6256789.java.i
data/src/share/classes/com/sun/mirror/declaration/package.html.i
data/src/share/classes/com/sun/tools/javac/zip/ZipFileIndex.java.i
-data/test/tools/javac/diags/examples/ProcSuspiciousClassName/processors/AnnoProc.java.i
+data/test/tools/javac/Digits.java.i
data/src/share/classes/com/sun/tools/javac/parser/EndPosTable.java.i
data/src/share/classes/com/sun/tools/javac/util/Old199.java.i
+data/src/share/classes/com/sun/tools/classfile/Module_attribute.java.i
data/test/tools/javac/varargs/5088429/T5088429Pos02.java.i
data/test/tools/javac/T4906100.java.i
-data/test/tools/javac/expression/NullAppend2.java.i
+data/test/com/sun/javadoc/testDocRootLink/pkg2/package.html.i
data/src/share/classes/com/sun/tools/classfile/AccessFlags.java.i
data/test/tools/javac/diags/examples/ThrowsNotAllowedInAnno.java.i
data/test/tools/javac/limits/FinallyNesting.java.i
-data/test/tools/javac/Closure3.java.i
data/test/tools/apt/mirror/type/AnnoTyp.java.i
data/test/tools/javac/stackmap/T4955930.java.i
data/test/com/sun/javadoc/testRecurseSubPackages/TestRecurseSubPackages.java.i
-data/test/tools/javac/unicode/SupplementaryJavaID1.java.i
data/test/tools/javac/6403424/A.java.i
data/test/tools/javac/generics/6910550/T6910550d.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/TagletOutputImpl.java.i
-data/test/tools/javac/sourcePath2/SourcePath2.java.i
+data/src/share/classes/com/sun/tools/javac/code/Type.java.i
data/test/tools/javac/diags/examples/ProcTypeRecreate/ProcTypeRecreate.java.i
data/test/tools/javac/annotations/neg/Z2.java.i
data/test/tools/javac/typeAnnotations/failures/OldArray.java.i
data/test/tools/javac/generics/ArrayTypearg.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java.i
data/src/share/classes/javax/lang/model/util/ElementKindVisitor6.java.i
-data/test/tools/javac/diags/examples/ProcessorWrongType/processors/AnnoProc.java.i
data/test/tools/javac/staticImport/6695838/T6695838.java.i
-data/test/tools/javac/diags/examples/SunApiPluralAdditional/SunApiPlural.java.i
+data/test/tools/javac/quid/MakeNegTests.sh.i
data/test/com/sun/javadoc/DocRootSlash/p1/C1.java.i
data/test/tools/javac/generics/7020657/T7020657neg.out.i
data/test/tools/javac/expression/NullAppend.java.i
@@ -2023,45 +2008,38 @@ data/src/share/classes/com/sun/source/tree/DisjointTypeTree.java.i
data/make/netbeans/compiler/nbproject/project.xml.i
data/test/tools/javac/multicatch/model/ModelChecker.java.i
data/test/tools/javac/AnonStaticMember_3.java.i
-data/test/tools/javac/generics/typevars/6968793/T6968793.java.i
-data/test/com/sun/javadoc/testPackageDeprecation/pkg/A.java.i
+data/test/tools/javadoc/dupOk/sp1/p/A.java.i
data/test/tools/javac/generics/syntax/6318240/BarNeg2.java.i
data/src/share/classes/javax/annotation/processing/SupportedAnnotationTypes.java.i
data/test/com/sun/javadoc/WindowTitles/p1/C1.java.i
data/test/tools/javac/failover/FailOver15.out.i
data/src/share/classes/com/sun/source/util/TreePathScanner.java.i
-data/test/tools/javac/diags/examples/ForeachNotApplicable.java.i
-data/test/tools/javac/processing/model/util/elements/TestGetConstantExpression.java.i
+data/test/com/sun/javadoc/JavascriptWinTitle/JavascriptWinTitle.java.i
+data/test/tools/javac/diags/examples/IdentifierExpected.java.i
data/test/tools/javac/diags/examples/CatchWithoutTry.java.i
data/test/tools/javac/limits/NumArgs3.java.i
data/test/tools/javac/diags/examples/KindnameVariable.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties.i
data/test/tools/javac/annotations/neg/WrongTarget.java.i
-data/test/tools/javac/ignored.jtx.i
-data/test/tools/javac/positions/T6253161a.java.i
data/test/tools/javac/generics/wildcards/neg/CastFail13.java.i
-data/src/share/classes/com/sun/tools/apt/mirror/declaration/PackageDeclarationImpl.java.i
-data/test/tools/javac/T5003235/T5003235c.out.i
+data/test/tools/javac/api/T6345974.java.i
+data/test/tools/javac/cast/7123100/T7123100c.java.i
+data/test/tools/javac/QualifiedAccess/QualifiedAccess_1.out.i
data/test/tools/javac/generics/6985719/T6985719g.out.i
-data/src/share/classes/com/sun/mirror/type/WildcardType.java.i
data/test/tools/javac/generics/6372782/PlainPlanarVector.java.i
data/src/share/classes/com/sun/tools/javadoc/JavadocEnter.java.i
data/test/tools/javac/4980495/static/Test.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/SubWriterHolderWriter.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ReturnTaglet.java.i
data/test/tools/javac/6717241/T6717241a.java.i
data/test/tools/javac/modules/ModuleModeTests/HelloWorldTest.java.i
data/test/tools/javac/ClassPathTest/ClassPathTest1.java.i
data/test/tools/javac/generics/wildcards/6762569/T6762569a.java.i
data/test/tools/javac/policy/test1/Test1a.java.i
-data/test/tools/javac/multicatch/Neg04eff_final.out.i
-data/test/tools/javac/generics/6476118/T6476118c.out.i
data/test/tools/javac/diags/examples/RepeatedModifier.java.i
data/test/tools/javac/generics/rawOverride/7062745/T7062745neg.out.i
data/test/tools/javac/processing/model/TestSourceVersion.java.i
data/test/tools/apt/Basics/MySimple.java.i
data/test/com/sun/javadoc/testMemberInheritence/diamond/A.java.i
-data/test/tools/javac/typeAnnotations/failures/common/typeArgs/DuplicateTypeAnnotation.java.i
data/test/tools/javadoc/annotations/annotatePackage/pkg1/A.java.i
data/src/share/classes/com/sun/tools/javac/resources/version.properties-template.i
data/test/tools/javac/processing/model/TestSymtabItems.java.i
@@ -2071,6 +2049,7 @@ data/src/share/classes/com/sun/tools/classfile/RuntimeVisibleTypeAnnotations_att
data/src/share/classes/com/sun/tools/javap/ClassWriter.java.i
data/test/tools/javac/generics/7034019/T7034019c.out.i
data/test/tools/javac/InitializerCompletion_1.java.i
+data/test/tools/javac/QualifiedAccess/QualifiedAccess_2.java.i
data/test/tools/javac/boxing/T6816548.java.i
data/test/tools/javac/generics/InstanceOf3.java.i
data/test/tools/javac/generics/diamond/7030150/Neg03.out.i
@@ -2085,40 +2064,39 @@ data/test/tools/javadoc/nestedClass/NestedClass.java.i
data/test/tools/apt/Misc/Marker.java.i
data/test/tools/javac/4980495/std/Test.java.i
data/test/tools/javac/diags/examples/CannotCreateArrayWithTypeArgs.java.i
-data/test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java.i
+data/test/tools/javac/diags/examples/EnumAnnoValueMustBeEnumConst.java.i
data/src/share/opensource/javac/doc/javac_lifecycle/style.css.i
data/test/tools/javac/diags/examples/AnonClassImplInterfaceNoTypeArgs.java.i
data/src/share/classes/com/sun/source/tree/ExportDirectiveTree.java.i
data/test/tools/javac/diags/examples/InvalidMethodDecl.java.i
data/test/tools/javac/ExtendArray.java.i
data/test/tools/javac/generics/T4695847.java.i
-data/test/tools/javah/ReadOldClass.sh.i
+data/test/tools/javac/generics/6245699/T6245699.java.i
data/test/tools/javac/failover/FailOver06.java.i
data/src/share/classes/com/sun/tools/javac/Main.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/package.html.i
data/test/tools/javac/T6214885b.out.i
data/test/com/sun/javadoc/testThrowsTag/pkg/T8.java.i
-data/src/share/classes/com/sun/tools/classfile/Attributes.java.i
+data/test/tools/javac/ClassCycle/ClassCycle2a.java.i
data/src/share/classes/com/sun/tools/classfile/Opcode.java.i
data/src/share/classes/com/sun/source/tree/ModuleIdTree.java.i
data/src/share/classes/com/sun/tools/classfile/Field.java.i
data/test/tools/javac/annotations/pos/OverrideCheck.java.i
data/src/share/classes/com/sun/source/tree/ModuleRequiresTree.java.i
-data/test/tools/javac/Increment.java.i
+data/test/tools/javac/6302184/T6302184.sh.i
data/test/tools/javac/innerClassFile/Driver.java.i
data/test/tools/javac/ClassCycle/ClassCycle2b.java.i
data/test/tools/javac/warnings/6594914/DeprecatedClass.java.i
data/test/tools/javac/T6985181.java.i
data/test/tools/javac/annotations/6214965/CompilerAnnotationTest2.java.i
-data/test/tools/javac/diags/examples/ProcUseImplicit/ProcUseImplicit.java.i
+data/test/com/sun/javadoc/JavascriptWinTitle/p1/C.java.i
data/test/tools/javac/generics/wildcards/AssignmentSameType5.java.i
-data/test/tools/javac/PackageClassAmbiguity/Bad.java.i
data/test/tools/javac/api/T6431879.java.i
-data/test/tools/javac/generics/diamond/6996914/T6996914a.java.i
data/src/share/classes/com/sun/source/util/TreePath.java.i
data/test/tools/javac/generics/parametricException/K.java.i
+data/test/tools/javac/diags/examples/AnnosWithoutProcessors/AnnosWithoutProcessors.java.i
data/test/tools/javac/ReturnAfterIfThenElse.java.i
-data/test/tools/javac/assert/DU1.java.i
+data/test/tools/javac/generics/6207386/Test.java.i
data/src/share/classes/com/sun/tools/javah/Gen.java.i
data/test/tools/javac/generics/MissingCast.java.i
data/test/tools/javadoc/sourceOption/p/A.java.i
@@ -2131,7 +2109,7 @@ data/test/tools/javac/6508981/p/A.java.i
data/test/tools/javac/6627362/x/E.java.i
data/test/tools/javah/6257087/foo.sh.i
data/test/com/sun/javadoc/testHtmlStrongTag/pkg1/C1.java.i
-data/src/share/classes/com/sun/javadoc/SerialFieldTag.java.i
+data/src/share/classes/com/sun/tools/javac/main/OptionHelper.java.i
data/test/tools/javac/api/T6306137.java.i
data/test/tools/javac/generics/7034511/T7034511b.java.i
data/test/tools/javac/generics/diamond/7030687/T7030687.java.i
@@ -2144,38 +2122,42 @@ data/test/tools/javac/miranda/4686811/p2/B.java.i
data/test/tools/javac/diags/examples/NotApplicableMethodFound.java.i
data/test/tools/javac/6304921/TestLog.java.i
data/test/tools/javac/lib/CompileFail.java.i
-data/test/tools/javac/diags/examples/AlreadyDefinedClinit.java.i
+data/test/tools/javac/StringAppendAccessMethodOnLHS.java.i
data/src/share/classes/com/sun/tools/apt/mirror/type/ArrayTypeImpl.java.i
data/src/share/opensource/javac/doc/javac_lifecycle/Context.html.i
data/test/tools/javac/TryWithResources/TwrFlow.java.i
-data/test/tools/javac/api/T6392782.java.i
+data/src/share/classes/javax/lang/model/element/package-info.java.i
data/test/tools/apt/Compile/src/AhOneClass.java.i
data/src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java.i
data/src/share/classes/com/sun/source/tree/ProvidesModuleDirectiveTree.java.i
data/test/com/sun/javadoc/testBaseClass/Bar.java.i
data/make/netbeans/compiler/README.i
+data/test/tools/javac/literals/BadBinaryLiterals.java.i
data/src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java.i
data/test/tools/javac/generics/inference/5044646/p2/A2.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/ClassWriter.java.i
data/test/tools/javac/positions/T6264029.java.i
data/test/tools/javac/annotations/neg/WrongTarget2.java.i
+data/test/tools/javac/generics/SuperTypeargs.java.i
+data/test/tools/javac/cast/7123100/T7123100d.java.i
data/test/com/sun/javadoc/testEmptyClass/TestEmptyClass.java.i
data/test/tools/javac/generics/wildcards/neg/CastFail8.java.i
data/test/com/sun/javadoc/testTagHolderMethod/pkg/C.java.i
+data/test/com/sun/javadoc/testHtmlTableTags/pkg1/I1.java.i
data/test/tools/javac/6979683/TestCast6979683_BAD36.java.errlog.i
data/test/tools/javac/processing/warnings/gold_unsp_warn.out.i
+data/test/tools/javac/generics/diamond/neg/Neg10.java.i
data/test/tools/javac/warnings/Deprecation.lintDeprecation.out.i
-data/test/tools/javac/ClassFileModifiers/MemberModifiers.java.i
+data/test/tools/javac/enum/AbstractEmptyEnum.java.i
+data/src/share/classes/com/sun/tools/javap/JavapFileManager.java.i
data/test/tools/javac/generics/GetClass.java.i
data/test/tools/javac/QualifiedAccess/QualifiedAccess_3.sh.i
data/src/share/classes/com/sun/javadoc/Parameter.java.i
data/test/tools/javac/T6241723.java.i
-data/test/tools/javac/T6326754.java.i
data/test/tools/apt/Discovery/PhantomTouch.java.i
-data/test/tools/javac/abstract/U3.java.i
+data/test/tools/javac/DefiniteAssignment/UncaughtException.java.i
data/src/share/classes/com/sun/tools/classfile/ModuleProvides_attribute.java.i
data/test/tools/javac/proprietary/WarnWildcard.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseTaglet.java.i
data/test/tools/javac/diags/examples/Location1.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/package.html.i
data/test/com/sun/javadoc/testLinkOption/pkg/C.java.i
@@ -2185,7 +2167,7 @@ data/test/tools/javac/generics/diamond/pos/Pos06.java.i
data/test/com/sun/javadoc/testStylesheet/TestStylesheet.java.i
data/test/tools/javac/generics/ExtendedRaw1.java.i
data/test/tools/javac/processing/loader/testClose/TestClose2.java.i
-data/test/tools/javac/generics/inference/6650759/T6650759l.java.i
+data/src/share/classes/com/sun/tools/javap/resources/javap.properties.i
data/test/tools/javac/InterfaceObjectIncompatibility.java.i
data/src/share/classes/com/sun/tools/apt/mirror/apt/FilerImpl.java.i
data/test/com/sun/javadoc/testNewLanguageFeatures/pkg2/ParamTest.java.i
@@ -2198,7 +2180,7 @@ data/test/tools/apt/Basics/annot/AnnotMarker.java.i
data/test/tools/javac/literals/BadBinaryLiterals.7.out.i
data/test/tools/javadoc/enum/enumType/pkg1/QuotablePerson.java.i
data/test/tools/javac/4846262/Test.java.i
-data/test/tools/javac/modules/ModuleAttributeTest01.java.i
+data/test/com/sun/javadoc/testDocRootLink/TestDocRootLink.java.i
data/test/com/sun/javadoc/AccessSummary/p1/C1.java.i
data/src/share/classes/com/sun/mirror/util/Types.java.i
data/src/share/classes/javax/lang/model/type/ArrayType.java.i
@@ -2209,11 +2191,12 @@ data/test/tools/javac/processing/model/testgetallmembers/Main.java.i
data/test/tools/javac/diags/examples/MissingMethodBody.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LegacyTaglet.java.i
data/test/tools/javac/ConditionalWithVoid.java.i
+data/test/tools/javac/limits/ArrayDims2.java.i
data/test/tools/javac/generics/wildcards/neg/CastFail19.java.i
data/test/com/sun/javadoc/testInterface/pkg/Parent.java.i
data/test/tools/javac/generics/6372782/VariableForm.java.i
data/test/tools/javac/unicode/FirstChar.java.i
-data/test/tools/javadoc/generics/genericSuper/expected.out.i
+data/test/tools/javac/EmptyBreak.java.i
data/test/tools/javac/typeAnnotations/failures/common/arrays/DuplicateTypeAnnotation.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties.i
data/src/share/classes/com/sun/mirror/declaration/AnnotationTypeElementDeclaration.java.i
@@ -2232,7 +2215,7 @@ data/test/tools/javac/protectedInner/AnonInnerClass.java.i
data/test/tools/javac/generics/inference/6359106/T6359106.java.i
data/test/tools/apt/Compile/Round2Apf.java.i
data/test/com/sun/javadoc/testNewLanguageFeatures/pkg1/A.java.i
-data/test/tools/javac/generics/typevars/6182630/T6182630d.java.i
+data/test/tools/javac/abstract/T4717181a.java.i
data/src/share/classes/com/sun/tools/classfile/RuntimeTypeAnnotations_attribute.java.i
data/test/tools/javac/incompatibleNoninherited/B.java.i
data/src/share/classes/com/sun/mirror/declaration/PackageDeclaration.java.i
@@ -2241,11 +2224,12 @@ data/test/tools/javac/processing/model/util/deprecation/Dep1.java.i
data/test/tools/javac/lint/Unchecked.java.i
data/test/tools/javac/diags/examples/GenericsNotSupported.java.i
data/test/tools/javadoc/generics/genericMethod/expected.out.i
-data/test/com/sun/javadoc/testPrivateClasses/pkg/PrivateParent.java.i
+data/test/tools/javac/T6245591.java.i
+data/src/share/classes/sun/tools/javap/InnerClassData.java.i
data/test/tools/javac/NonAmbiguousField/one/Parent2.java.i
data/src/share/classes/javax/tools/ForwardingJavaFileObject.java.i
-data/src/share/classes/com/sun/tools/javac/jvm/Target.java.i
-data/test/tools/javac/6521805/T6521805d.java.i
+data/test/tools/apt/Basics/StaticMethodAnnotations.java.i
+data/test/tools/javac/annotations/neg/MemberOver.java.i
data/test/tools/javac/generics/inference/6650759/T6650759m.out.i
data/test/tools/javac/typeAnnotations/failures/target/VoidMethod.out.i
data/test/tools/javac/binaryCompat/T3.java.i
@@ -2260,13 +2244,14 @@ data/test/tools/javac/diags/examples/ProcIncompatibleSourceVersion/processors/An
data/src/share/classes/com/sun/tools/classfile/AttributeException.java.i
data/src/share/classes/com/sun/tools/javac/parser/JavadocTokenizer.java.i
data/test/tools/javac/diags/examples/NotDefPublicCantAccess/p/C.java.i
+data/test/tools/javac/annotations/neg/Z12.java.i
data/test/tools/javac/diags/examples/CountWarnPlural.java.i
data/test/com/sun/javadoc/testNestedGenerics/pkg/NestedGenerics.java.i
-data/test/tools/javac/generics/InnerInterface2.java.i
+data/test/com/sun/javadoc/testMemberInheritence/diamond/C.java.i
data/test/tools/javac/generics/7022054/T7022054neg2.out.i
data/src/share/classes/com/sun/tools/apt/mirror/declaration/ClassDeclarationImpl.java.i
data/src/share/classes/com/sun/mirror/type/PrimitiveType.java.i
-data/test/com/sun/javadoc/testIndex/pkg/AnnotationType.java.i
+data/test/tools/javac/cast/7123100/T7123100b.java.i
data/test/tools/javac/generics/6372782/Element.java.i
data/test/tools/javac/processing/6430209/T6430209.java.i
data/test/tools/javac/generics/wildcards/AssignmentSameType4.java.i
@@ -2276,26 +2261,25 @@ data/test/tools/javac/cast/6467183/T6467183a.java.i
data/test/tools/javac/api/6431435/p/B.java.i
data/test/tools/javac/6917288/GraphicalInstaller.java.i
data/test/tools/javac/annotations/pos/ClassB.java.i
-data/test/tools/javac/T6993301.java.i
+data/make/netbeans/javap/README.i
data/src/share/classes/com/sun/tools/classfile/ConstantPoolException.java.i
data/make/netbeans/common/standard-ide-actions.ent.i
data/test/tools/javac/varargs/7097436/T7097436.java.i
data/test/com/sun/javadoc/testLinkOption/TestNewLineInLink.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/markup/package.html.i
-data/test/tools/javac/BadOptimization/DeadCode4.java.i
+data/test/tools/javac/fatalErrors/NoJavaLang.java.i
+data/src/share/classes/com/sun/source/tree/BlockTree.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java.i
-data/test/tools/javac/generics/classreader/HMethod.java.i
data/test/tools/javac/generics/syntax/6318240/BarNeg1a.java.i
data/make/conf/checkstyle-emacs.xsl.i
-data/test/tools/javadoc/generics/tparamTagOnMethod/Main.java.i
-data/src/share/classes/com/sun/tools/javac/util/ForwardingDiagnosticFormatter.java.i
+data/test/com/sun/javadoc/testTaglets/Parent.java.i
+data/src/share/classes/com/sun/tools/apt/mirror/declaration/DeclarationImpl.java.i
data/test/tools/javac/TryWithResources/DuplicateResource.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_ja.properties.i
data/test/tools/javac/diags/examples/RepeatedAnnotationTarget.java.i
data/test/com/sun/javadoc/testDocFileDir/pkg/doc-files/subdir-used2/testfile.txt.i
data/src/share/classes/com/sun/javadoc/ParamTag.java.i
data/src/share/opensource/javac/doc/javac_lifecycle/Enter.html.i
-data/test/tools/javac/enum/AbstractEnum1.java.i
data/test/tools/javac/generics/diamond/neg/Neg06.java.i
data/src/share/classes/com/sun/mirror/declaration/FieldDeclaration.java.i
data/test/tools/javac/ClassLiterals/ClassLiteralHelperContext.java.i
@@ -2313,9 +2297,10 @@ data/test/tools/javac/foreach/SpecIterable.java.i
data/src/share/classes/com/sun/tools/javah/resources/l10n_ja.properties.i
data/test/tools/javac/generics/6985719/T6985719d.java.i
data/test/tools/javac/javazip/A.java.i
-data/test/tools/javac/processing/model/TestExceptions.java.i
+data/src/share/classes/com/sun/tools/javap/InstructionDetailWriter.java.i
+data/test/tools/javac/6668794/badSource/p/A.java.i
data/test/tools/apt/mirror/declaration/ParameterDecl.java.i
-data/src/share/classes/com/sun/tools/javac/code/Type.java.i
+data/src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java.i
data/test/com/sun/javadoc/testHiddenMembers/TestHiddenMembers.java.i
data/test/tools/javac/enum/T5081785a.java.i
data/test/com/sun/javadoc/testWarnings/TestWarnings.java.i
@@ -2327,22 +2312,24 @@ data/test/tools/javac/generics/6372782/Ring.java.i
data/test/tools/javac/generics/PrimitiveVariant.java.i
data/src/share/classes/com/sun/source/tree/DisjunctiveTypeTree.java.i
data/test/tools/javac/diags/examples/UnsupportedFpLit.java.i
-data/test/tools/javadoc/completionFailure/pkg/B.java.i
+data/src/share/classes/com/sun/source/util/SourcePositions.java.i
data/test/tools/javac/FlatnameClash.java.i
-data/test/tools/javac/diags/examples/TypeParameterOnPolymorphicSignature.java.i
+data/test/tools/javac/StringsInSwitch/OneCaseSwitches.java.i
data/test/tools/javac/parser/T4881269.out.i
data/test/tools/javac/generics/inference/6650759/T6650759m.java.i
data/test/tools/javac/ClassLiterals/p1/C.java.i
-data/test/tools/javac/api/6422215/T6422215.java.i
+data/src/share/classes/com/sun/source/tree/EntrypointDirectiveTree.java.i
data/src/share/classes/com/sun/tools/classfile/SourceID_attribute.java.i
data/test/tools/javac/processing/filer/foo/Foo.java.i
data/test/tools/javac/typeAnnotations/newlocations/Wildcards.java.i
-data/test/tools/javac/multicatch/Neg02eff_final.out.i
+data/test/tools/javac/boxing/NoBoxingLong.java.i
+data/src/share/classes/com/sun/mirror/declaration/AnnotationMirror.java.i
data/test/tools/javac/incompatibleNoninherited/A.java.i
+data/test/tools/javac/annotations/6365854/T6365854.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java.i
data/src/share/classes/com/sun/source/tree/TypeCastTree.java.i
data/test/com/sun/javadoc/testEnclosingClass/TestEnclosingClass.java.i
-data/test/tools/javac/generics/6476118/T6476118b.out.i
+data/test/tools/javac/processing/errors/TestSuppression.java.i
data/test/tools/javac/importChecks/ImportOfOwnClass.java.i
data/test/com/sun/javadoc/AccessAsciiArt/p1/SI.java.i
data/test/tools/javac/diags/examples/CantAssignToFinal.java.i
@@ -2359,19 +2346,19 @@ data/test/tools/javac/diags/examples/DeprecatedPluralAdditional/DeprecatedPlural
data/test/tools/javac/ImportCycle/Dummy.java.i
data/test/tools/javac/api/6437999/T6437999.java.i
data/test/tools/javac/generics/diamond/7030150/Neg02.java.i
-data/test/tools/javac/ClassLiterals/LiteralInterface_1.java.i
data/test/tools/javac/T6882235.out.i
data/test/com/sun/javadoc/testValueTag/TestValueTag.java.i
data/test/tools/javac/T6407066.java.i
data/test/tools/javac/generics/6356636/T6356636.java.i
data/test/tools/javac/DefiniteAssignment/T4721062b.java.i
-data/test/tools/javac/annotations/neg/NoClone.java.i
+data/test/tools/apt/Scanners/MemberOrderApf.java.i
+data/test/tools/javac/StringConversion.java.i
data/test/tools/javadoc/badSuper/p/A.java.i
-data/test/tools/javac/constDebug/ConstDebug.sh.i
data/test/com/sun/javadoc/testHeadings/pkg2/C2.java.i
-data/test/tools/javac/generics/diamond/T6951833.java.i
+data/src/share/classes/com/sun/source/tree/EmptyStatementTree.java.i
+data/test/tools/javac/ImportCycle/foo/Middle2.java.i
data/src/share/classes/com/sun/source/util/TaskEvent.java.i
-data/test/tools/javac/unicode/UnicodeAtEOL.java.i
+data/test/tools/javac/boxing/T6614974.java.i
data/src/share/classes/com/sun/tools/javac/util/SharedNameTable.java.i
data/test/tools/javac/generics/InheritanceConflict.java.i
data/test/Makefile.i
@@ -2381,341 +2368,348 @@ data/test/tools/javac/policy/test1/byfile.ABD.out.i
data/test/tools/javac/policy/bytodo.ACD.out.i
data/test/tools/javac/diags/examples/InferredDoNotConformToBounds.java.i
data/test/tools/javac/typeAnnotations/failures/common/arrays/InvalidLocation.out.i
-data/test/tools/javac/varargs/7043922/T7043922.java.i
data/test/tools/javac/processing/warnings/UseImplicit/warn.out.i
data/test/tools/javac/cast/7005095/T7005095pos.java.i
-data/test/com/sun/javadoc/testNewLanguageFeatures/pkg/TypeParameterSuperClass.java.i
+data/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPrivateFlag.java.i
data/test/tools/javac/QualifiedOuterThis.java.i
data/test/tools/javac/generics/Casting5.java.i
data/test/tools/apt/Compile/goldenWarn.txt.i
-data/test/tools/javac/6917288/GraphicalInstallerTest.java.i
+data/test/tools/javadoc/6964914/Test.java.i
data/test/tools/javac/sourcePath2/p/SourcePath2A.java.i
data/src/share/classes/com/sun/mirror/type/ArrayType.java.i
data/test/tools/javac/policy/test1/simple.ACD.out.i
-data/test/tools/javac/generics/diamond/neg/Neg12.java.i
-data/test/tools/javac/generics/MultipleInheritance.java.i
+data/test/tools/javac/cast/6665356/T6665356.out.i
data/test/tools/javac/generics/wildcards/AssignmentDifferentTypes7.java.i
data/test/tools/javac/BadBreak.java.i
data/test/tools/javac/diags/examples/VarargsImplement.java.i
data/test/tools/apt/Basics/NullAPF.java.i
data/test/tools/javadoc/6227454/Test.java.i
data/test/tools/javac/diags/examples/FullInstSig.java.i
+data/src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java.i
data/test/com/sun/javadoc/testCmndLineClass/pkg1/C2.java.i
-data/src/share/classes/com/sun/tools/javah/TypeSignature.java.i
+data/test/tools/javac/TryWithResources/TwrFlow.out.i
data/test/tools/javac/generics/wildcards/neg/CastWarn5.java.i
-data/test/tools/javac/Closure5.java.i
data/src/share/classes/com/sun/tools/javac/util/Paths.java.i
data/test/tools/apt/Compile/ClassDeclApf.java.i
data/test/tools/javadoc/6176978/T6176978.java.i
-data/src/share/classes/com/sun/tools/javadoc/ProgramElementDocImpl.java.i
+data/test/tools/javac/FlatnameClash2.java.i
data/test/com/sun/javadoc/testTopOption/overview.html.i
data/src/share/classes/com/sun/tools/javap/JavapTask.java.i
data/src/share/classes/com/sun/source/tree/ParenthesizedTree.java.i
data/test/tools/javac/enum/ExplicitlyAbstractEnum2.java.i
data/src/share/classes/com/sun/tools/classfile/ModulePermits_attribute.java.i
data/test/tools/javac/InnerMethSig.java.i
-data/src/share/classes/javax/lang/model/element/AnnotationValue.java.i
-data/test/tools/javac/UncaughtOverflow.java.i
-data/test/tools/javac/generics/typeargs/Metharg2.java.i
data/test/tools/javac/processing/model/element/TestPackageElement.java.i
data/test/tools/javac/typeAnnotations/failures/common/typeparams/DuplicateAnnotationValue.out.i
data/test/tools/javac/generics/6985719/T6985719f.java.i
-data/test/tools/javac/7102515/T7102515.out.i
-data/src/share/classes/sun/tools/javap/AttrData.java.i
+data/test/tools/javac/annotations/6214965/T6214965.java.i
+data/test/tools/javac/T6266772.java.i
+data/test/tools/javadoc/6964914/TestUserDoclet.java.i
data/test/tools/javac/ExtDirs/ExtDirTest_1.java.i
data/test/tools/javac/generics/6985719/T6985719c.java.i
-data/test/tools/javac/annotations/neg/NoAnnotationMethods.java.i
+data/test/tools/javac/generics/diamond/neg/Neg12.java.i
data/test/tools/javac/typeAnnotations/failures/common/wildcards/DuplicateAnnotationValue.out.i
-data/test/tools/javac/foreach/StaticBlock.java.i
+data/test/tools/javac/types/PrimitiveConversionTest.java.i
+data/src/share/classes/com/sun/mirror/declaration/TypeParameterDeclaration.java.i
+data/test/tools/javac/generics/T6481655.java.i
data/test/tools/javac/NoNoClassDefFoundErrorError.java.i
data/test/tools/javac/diags/examples/IllegalChar.java.i
-data/test/tools/javac/generics/rawOverride/AttributeSet.java.i
data/test/tools/javac/processing/model/element/TestMissingElement/InvalidSource.java.i
data/test/tools/javac/generics/typevars/5060485/Neg1.java.i
data/test/tools/javac/unicode/SupplementaryJavaID5.java.i
data/test/tools/javac/6342411/T6342411.java.i
data/test/tools/javac/NonStaticFieldExpr2.out.i
+data/test/tools/javadoc/dupOk/sp2/p/A.java.i
data/test/tools/apt/mirror/declaration/FieldDecl.java.i
-data/test/tools/javah/6572945/gold/jni.dir.1/TestClass1_Inner2.h.i
-data/test/tools/javac/AnonInnerException_2.java.i
-data/test/tools/javac/generics/typevars/6182630/T6182630f.java.i
-data/test/tools/javac/4917091/Test256a.java.i
-data/test/com/sun/javadoc/testAnnotationTypes/pkg/AnnotationType.java.i
-data/test/tools/javac/fatalErrors/NoJavaLang.sh.i
-data/test/tools/javadoc/generics/genericClass/pkg1/A.java.i
+data/test/tools/javac/generics/6192945/MethodNeg.out.i
+data/test/tools/javac/ConstCharAppend.java.i
+data/test/tools/javac/warnings/6594914/T6594914b.out.i
+data/test/tools/javac/T6326754.java.i
+data/test/tools/javac/typeAnnotations/failures/common/receiver/DuplicateTypeAnnotation.out.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ParamTaglet.java.i
data/test/tools/javac/api/6400303/Test2.java.i
-data/test/tools/javac/OverrideChecks/6400189/T6400189a.out.i
+data/test/tools/javac/lambda/LambdaParserTest.java.i
data/src/share/classes/com/sun/tools/javah/resources/l10n.properties.i
data/test/tools/javadoc/parser/7091528/p/C1.java.i
data/test/tools/javac/lint/FallThrough.java.i
data/test/com/sun/javadoc/testRecurseSubPackages/pkg1/pkg2/packageToExclude/DummyClass.java.i
data/test/tools/javac/depOverrides/annotation/Test2Q.out.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AbstractMemberBuilder.java.i
+data/src/share/classes/com/sun/tools/javap/ConstantWriter.java.i
data/test/tools/javac/generics/diamond/7030150/Neg02.out.i
data/test/tools/javac/generics/inference/4972073/T4972073.java.i
-data/test/tools/javac/diags/examples/ProcessorCantInstantiate/processors/AnnoProc.java.i
-data/test/com/sun/javadoc/testHrefInDocComment/pkg/I1.java.i
+data/src/share/classes/com/sun/mirror/declaration/Declaration.java.i
+data/test/tools/javac/DuplicateClass2.java.i
data/test/com/sun/javadoc/testNewLanguageFeatures/pkg/TypeParameterSubClass.java.i
-data/test/tools/javac/generics/6985719/T6985719b.java.i
+data/test/tools/javac/policy/test1/A.java.i
data/test/tools/javac/mandatoryWarnings/unchecked/Test4.out.i
+data/test/tools/javac/enum/EnumImplicitPrivateConstructor.java.i
data/test/tools/javac/generics/odersky/BadTest2.java.i
data/test/tools/javac/CyclicInheritance6/Main.java.i
data/test/tools/javac/generics/wildcards/neg/Readonly.java.i
data/test/tools/javadoc/6964914/Error.java.i
data/test/tools/apt/Options/options.sh.i
data/test/tools/apt/Basics/annot/AnnotShangri_la.java.i
-data/src/share/classes/com/sun/source/tree/LabeledStatementTree.java.i
-data/src/share/classes/com/sun/tools/apt/mirror/type/PrimitiveTypeImpl.java.i
+data/test/tools/javac/generics/wildcards/neg/CastWarn11.java.i
data/test/tools/javac/generics/GenericOverride.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java.i
-data/test/tools/javac/diags/examples/MissingReturnValue.java.i
+data/test/tools/javac/typeAnnotations/failures/common/typeArgs/DuplicateTypeAnnotation.java.i
+data/test/tools/javac/generics/6985719/T6985719d.out.i
data/test/tools/javac/generics/T4711694.java.i
data/test/tools/javac/diags/examples/VarMightNotHaveBeenInitialized.java.i
-data/test/tools/javac/StringsInSwitch/RepeatedStringCaseLabels1.java.i
+data/test/tools/javac/failover/FailOver11.java.i
data/test/tools/javac/protectedAccess/ProtectedAccess_1.java.i
+data/test/tools/javac/DefiniteAssignment/T4704365.java.i
data/test/tools/javac/generics/wildcards/neg/CastFail6.java.i
-data/test/com/sun/javadoc/testIndex/pkg/Interface.java.i
+data/src/share/classes/com/sun/tools/javah/Mangle.java.i
data/test/tools/javac/generics/UncheckedCovariance.java.i
-data/src/share/classes/com/sun/source/tree/LambdaExpressionTree.java.i
+data/src/share/classes/com/sun/tools/javac/parser/Parser.java.i
data/test/tools/javac/processing/model/util/directSupersOfErr/DirectSupersOfErr.java.i
data/test/tools/javah/ParamClassTest.java.i
+data/test/tools/javac/diags/examples/NoInterfaceHere.java.i
data/test/tools/javac/7023703/T7023703neg.java.i
+data/test/tools/javac/generics/7007615/acc1/p2/E.java.i
data/test/tools/javac/StringsInSwitch/RepeatedStringCaseLabels2.java.i
data/src/share/classes/javax/annotation/processing/package-info.java.i
data/test/tools/javac/packone/Mediator.java.i
-data/test/tools/javac/T6356217/T6356217.java.i
+data/test/tools/javac/classreader/T7031108.java.i
data/test/tools/javac/generics/odersky/Test4.java.i
-data/src/share/classes/com/sun/tools/javac/util/Context.java.i
-data/test/tools/javac/typeAnnotations/failures/OldArray.out.i
+data/test/tools/javadoc/dupOk/sp2/p/B.java.i
data/src/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties.i
data/test/tools/javac/generics/wildcards/6762569/T6762569b.java.i
-data/test/tools/javap/T4501660.java.i
+data/src/share/classes/com/sun/tools/javac/parser/UnicodeReader.java.i
data/test/tools/javac/DefiniteAssignment/DASwitch.java.i
data/test/tools/javadoc/annotations/annotatePackage/pkg1/package-info.java.i
data/test/tools/javac/generics/inference/6569789/T6569789.java.i
data/test/tools/javac/warnings/6885255/T6885255.out.i
data/test/tools/javac/ClassModifiers/InterfaceAndInnerClsCtor.java.i
-data/test/tools/javac/BadAnnotation.java.i
+data/test/tools/javac/InnerNamedConstant_2.out.i
data/test/tools/javac/generics/6372782/T6372782.java.i
data/test/tools/javac/lint/Deprecation.java.i
data/test/tools/javac/types/TypeHarness.java.i
data/test/tools/javac/modules/ModuleResolverTest02.java.i
+data/test/com/sun/javadoc/testTagInheritence/pkg/TestSuperSuperInterface.java.i
data/src/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java.i
data/test/tools/javac/diags/examples/VarargsOverride.java.i
data/test/com/sun/javadoc/testSerialVersionUID/TestSerialVersionUID.java.i
data/test/tools/javac/depDocComment/DeprecatedDocComment.java.i
data/test/com/sun/javadoc/testTitleInHref/pkg/Links.java.i
data/test/tools/javac/varargs/T6746184.java.i
-data/test/tools/javac/DefiniteAssignment/DefAssignAfterIf_2.java.i
-data/test/com/sun/javadoc/testJavascript/pkg/C.java.i
+data/test/tools/javac/cast/6932571/T6932571neg.java.i
+data/test/tools/javac/cast/5034609/T5034609.java.i
data/test/tools/javac/Closure2.java.i
data/test/tools/javac/7085024/T7085024.out.i
data/test/tools/javac/limits/ArrayDims1.java.i
data/test/tools/javac/api/6421111/T6421111.java.i
-data/test/tools/javac/generics/rawOverride/7062745/GenericOverrideTest.java.i
+data/test/tools/javac/7086595/T7086595.java.i
data/test/tools/javac/miranda/4686811/p1/A.java.i
-data/src/share/classes/com/sun/tools/javac/code/Lint.java.i
-data/test/tools/javac/T6855236.java.i
+data/test/tools/javap/classfile/deps/GetDeps.java.i
+data/test/tools/javac/generics/wildcards/neg/CastWarn6.java.i
data/test/tools/javac/foreach/SuperfluousAbstract.java.i
data/test/tools/javac/diags/MessageFile.java.i
data/test/tools/javac/typeAnnotations/TypeParameterTarget.java.i
data/test/tools/javac/6863465/TestCircularClassfile.java.i
data/test/tools/javac/JsrRet.java.i
-data/test/com/sun/javadoc/testDocErrorReporter/TestDocErrorReporter.java.i
+data/test/tools/javac/generics/6372782/AbstractVector.java.i
data/test/tools/javac/processing/model/element/TestMissingElement2/TestMissingGenericClass2.java.i
data/test/com/sun/javadoc/testUseOption/pkg1/C5.java.i
data/test/tools/javac/6558548/T6558548_6.out.i
-data/test/tools/javac/multicatch/Neg04.java.i
+data/src/share/classes/com/sun/tools/javac/main/JavacOption.java.i
data/test/tools/javac/6330997/T2.java.i
data/test/tools/javac/T6900037.java.i
-data/test/com/sun/javadoc/constantValues/TestConstantValues2.java.i
-data/test/tools/javac/policy/test2/bytodo.AB.out.i
+data/test/com/sun/javadoc/testTagInheritence/pkg/TestAbstractClass.java.i
+data/src/share/classes/com/sun/tools/javac/tree/TreeInfo.java.i
+data/test/tools/javac/typeAnnotations/newlocations/Throws.java.i
+data/test/tools/javac/StringsInSwitch/RSCL1.out.i
data/src/share/classes/com/sun/source/tree/ModuleClassTree.java.i
-data/test/tools/javac/TryInInstanceInit.java.i
+data/test/tools/javac/FinalInitializer.java.i
data/src/share/classes/com/sun/tools/classfile/Instruction.java.i
+data/test/tools/javadoc/annotations/annotateParams/expected.out.i
data/test/tools/javac/cast/BoxedArray.java.i
-data/test/tools/apt/Compile/HelloAnnotation.java.i
+data/test/tools/javac/multicatch/Neg02eff_final.java.i
data/test/tools/javac/StringsInSwitch/NonConstantLabel.java.i
-data/test/tools/javac/file/zip/Utils.java.i
-data/src/share/classes/com/sun/tools/javadoc/TagImpl.java.i
+data/test/tools/javac/generics/rawOverride/6557199/T6557199.java.i
data/test/tools/javac/generics/inference/4972073/T4972073b.java.i
+data/test/tools/javac/diags/examples/DiamondNonGeneric.java.i
data/test/tools/javac/HiddenAbstractMethod/one/Parent.java.i
data/test/tools/javac/ForwardReference/ForwardReference_2.java.i
data/test/tools/javac/StringsInSwitch/BadlyTypedLabel2.java.i
data/src/share/classes/com/sun/mirror/declaration/EnumConstantDeclaration.java.i
data/src/share/classes/com/sun/tools/javadoc/JavadocTool.java.i
data/test/tools/javac/generics/7007615/T7007615.out.i
+data/test/com/sun/javadoc/testInlineLinkLabel/pkg/C1.java.i
data/test/com/sun/javadoc/testThrowsTag/pkg/T2.java.i
data/test/tools/javac/cast/6270087/T6270087neg.out.i
data/test/tools/javac/depOverrides/doccomment/B2.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/tab.gif.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/ConstantsSummaryWriter.java.i
+data/test/tools/javac/staticImport/StaticImport2.java.i
+data/src/share/classes/com/sun/tools/javac/file/CloseableURLClassLoader.java.i
+data/test/tools/javac/protectedInner/InnerClass.java.i
data/test/tools/javac/StaticBlockScope.java.i
data/test/tools/javac/generics/wildcards/6651719/T6651719b.java.i
-data/test/tools/javac/generics/SuperTypeargs.java.i
+data/test/tools/javac/processing/model/TestExceptions.java.i
data/test/com/sun/javadoc/testBackSlashInLink/TestBackSlashInLink.java.i
-data/test/tools/javac/LabeledDeclaration.java.i
data/test/tools/javac/typeAnnotations/newlocations/MethodReturnType.java.i
data/test/tools/javac/processing/filer/TestInvalidRelativeNames.java.i
data/test/tools/javac/diags/examples/ConstExprRequired.java.i
data/test/tools/javac/javazip/bad/B.java.i
-data/test/tools/javac/T6227617.java.i
data/test/tools/javac/processing/6359313/Foo.java.i
data/test/tools/javac/diags/examples/PartialInstSig.java.i
+data/test/tools/javac/T6231847.java.i
data/test/tools/javac/6521805/T6521805a.java.i
data/test/tools/javac/DefiniteAssignment/DUParam2.java.i
data/src/share/classes/com/sun/tools/javac/file/ZipFileIndexCache.java.i
data/test/tools/javac/OverrideChecks/T6326485.java.i
data/test/tools/javac/Source5.java.i
data/src/share/classes/com/sun/tools/javac/jvm/Gen.java.i
-data/test/tools/javac/TryWithResources/TwrIntersection02.java.i
+data/test/tools/javac/InitializerCompletion_2.java.i
data/test/tools/javac/mandatoryWarnings/deprecated/Test2.out.i
data/test/tools/javac/foreach/Foreach.java.i
-data/test/tools/javac/generics/wildcards/neg/CastWarn2.java.i
+data/test/tools/javac/NonAmbiguousField/two/Child2.java.i
data/test/tools/javac/generics/7022054/T7022054pos2.java.i
data/test/tools/javac/T6458823/T6458823.java.i
data/test/com/sun/javadoc/testNewLanguageFeatures/pkg/TypeParameters.java.i
data/test/tools/apt/Basics/annot/annot2/AnnotMarker2.java.i
-data/test/tools/javac/generics/InstanceOf2.java.i
data/test/tools/javac/T5105890.java.i
-data/test/tools/javac/generics/6985719/T6985719d.out.i
+data/test/com/sun/javadoc/testHrefInDocComment/pkg/I2.java.i
data/test/tools/javac/generics/6956758/T6956758neg.out.i
-data/test/tools/javac/SuperNew3.java.i
+data/test/tools/javac/processing/6430209/test0.java.i
data/test/tools/javac/generics/T6869075.java.i
data/test/tools/javac/diags/examples/ResourceNotReferenced.java.i
data/test/tools/javadoc/6964914/TestStdDoclet.java.i
data/test/tools/javac/diags/examples/ProcOnlyNoProcs.java.i
-data/test/tools/javac/TryWithResources/BadTwr.out.i
data/test/tools/javap/typeAnnotations/PresenceInner.java.i
data/src/share/classes/javax/lang/model/SourceVersion.java.i
data/test/tools/javac/miranda/6964669/pkg/A.java.i
data/test/tools/javac/processing/model/util/elements/doccomments/TestDocComments.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/IndexBuilder.java.i
-data/test/tools/javac/enum/NoFinal.java.i
+data/test/tools/javac/generics/diamond/T6939780.java.i
data/test/tools/javac/processing/model/util/TypesBadArg.java.i
data/test/tools/javac/ClassLiterals/LiteralInterface_2.java.i
data/test/tools/javac/depOverrides/annotation/Test1.java.i
data/test/tools/javah/VersionTest.java.i
-data/test/tools/apt/Basics/Lacuna.java.i
+data/test/tools/javac/protectedAccess/ProtectedMemberAccess5/Main.java.i
data/test/tools/javac/typeAnnotations/MultipleTargets.java.i
data/test/tools/javac/generics/odersky/BadTest4.java.i
-data/test/tools/javac/SwitchFence.java.i
+data/test/tools/javac/unicode/UnicodeNewline.out.i
data/test/tools/javac/generics/inference/6315770/T6315770.out.i
-data/test/tools/javac/6734819/T6734819b.java.i
+data/src/share/classes/com/sun/tools/classfile/ModuleClass_attribute.java.i
data/test/tools/javac/diags/examples/PossibleLossPrecision.java.i
data/test/tools/javac/processing/6430209/b6341534.java.i
-data/test/tools/javac/typeAnnotations/failures/common/newarray/DuplicateTypeAnnotation.java.i
+data/test/tools/javac/6979683/TestCast6979683_BAD39.java.i
data/test/tools/javac/QualifiedAccess/QualifiedAccess_1.sh.i
data/test/tools/javac/generics/6910550/T6910550d.out.i
+data/test/tools/javac/DefiniteAssignment/DefAssignAfterTry3.java.i
data/test/tools/javac/modules/ModuleModeTests/TestRunner.java.i
-data/test/tools/javac/generics/T5094318.java.i
+data/test/tools/javac/boxing/NoBoxingInt.java.i
data/src/share/classes/com/sun/tools/javadoc/JavadocClassReader.java.i
data/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java.i
data/test/tools/javac/TryWithResources/TwrNullTests.java.i
data/test/tools/javac/generics/6985719/T6985719a.java.i
-data/src/share/classes/com/sun/tools/javap/InstructionDetailWriter.java.i
-data/test/tools/javac/api/T6483788.java.i
+data/src/share/classes/com/sun/source/tree/LambdaExpressionTree.java.i
+data/test/tools/javac/generics/genericAbstract/B.java.i
data/test/tools/javac/AnonymousNull.java.i
data/test/tools/javac/typeAnnotations/failures/common/newarray/DuplicateAnnotationValue.java.i
-data/test/tools/javac/diags/examples/UncheckedGenericArrayCreation.java.i
+data/test/tools/javac/generics/bridge1/D.java.i
data/test/tools/javac/generics/odersky/Cell.java.i
-data/test/tools/javac/T6230128.out.i
data/test/tools/javac/literals/BadUnderscoreLiterals.7.out.i
-data/src/share/classes/com/sun/tools/apt/mirror/declaration/EnumDeclarationImpl.java.i
+data/test/tools/javac/TestPkgInfo.java.i
data/src/share/classes/com/sun/tools/apt/mirror/apt/MessagerImpl.java.i
data/test/tools/javac/diags/examples/UncheckedAssign.java.i
-data/test/com/sun/javadoc/testUseOption/pkg1/package.html.i
+data/test/tools/javadoc/BreakIteratorWarning.java.i
data/test/tools/apt/Basics/TestGetPackageApf.java.i
data/test/tools/javadoc/sourceOnly/p/SourceOnly.java.i
-data/test/tools/javac/generics/inference/7086601/T7086601a.java.i
+data/test/tools/javac/api/TestClientCodeWrapper.java.i
data/test/tools/javac/diags/examples/OverrideVarargsExtra.java.i
-data/test/tools/javac/mixedTarget/ExtendCovariant2.java.i
+data/test/tools/javac/FloatingPointChanges/BadConstructorModifiers.sh.i
data/test/tools/javac/InstanceInitException_2.java.i
-data/test/tools/javac/T4994049/DeprecatedYES.java.i
+data/test/tools/javac/diags/examples/ProcUseImplicit/sourcepath/p/SomeClass.java.i
+data/test/tools/javac/annotations/neg/Dup.java.i
data/test/tools/javac/versions/CheckClassFileVersion.java.i
-data/test/tools/javac/diags/examples/TryResourceNotSupported.java.i
+data/test/tools/javac/warnings/T6763518.java.i
data/test/tools/apt/Compile/ClassDeclApf2.java.i
-data/src/share/classes/javax/lang/model/element/TypeElement.java.i
+data/test/tools/javac/diags/examples/NonStaticCantBeRef.java.i
data/test/tools/javac/overload/T5090220.java.i
data/test/tools/javac/processing/model/util/directSupersOfErr/C1.java.i
-data/test/tools/javac/processing/filer/TestLastRound.out.i
-data/test/tools/javac/T4906100.out.i
+data/test/tools/javap/pathsep.sh.i
+data/test/com/sun/javadoc/testHref/package-list.i
data/src/share/classes/com/sun/source/tree/SwitchTree.java.i
data/test/tools/javac/diags/examples/DeprecatedPlural/DeprecatedFilename.java.i
data/test/tools/javac/T6403466.java.i
data/src/share/classes/com/sun/tools/javac/Server.java.i
-data/src/share/classes/com/sun/tools/doclets/formats/html/markup/Comment.java.i
+data/make/netbeans/langtools/nbproject/project.xml.i
data/test/tools/javac/diags/examples/UncheckedPlural/UncheckedPlural.java.i
data/test/tools/javac/typeAnnotations/failures/target/Constructor.java.i
-data/test/tools/javac/completion/C.java.i
+data/test/tools/javac/annotations/neg/OverrideNo.java.i
+data/test/tools/javac/generics/diamond/7030687/ParserTest.java.i
data/test/tools/javac/Null2DArray.java.i
data/test/tools/javac/4980495/std/Test.out.i
-data/src/share/classes/com/sun/tools/javac/comp/Lower.java.i
+data/test/tools/apt/mirror/util/TypeCreation.java.i
data/test/tools/javac/meth/InvokeDynTrans.java.i
-data/test/tools/javac/binaryCompat/T1.java.i
+data/test/tools/javac/OverrideChecks/6400189/T6400189b.java.i
data/test/tools/javac/innerClassFile/y/R3.java.i
-data/test/com/sun/javadoc/testDeprecatedDocs/pkg/TestClass.java.i
-data/test/tools/javac/limits/ArrayDims3.java.i
-data/src/share/classes/com/sun/tools/javac/util/Options.java.i
+data/test/tools/javac/diags/examples/TypeVarMayNotBeFollowedByOtherBounds.java.i
+data/test/tools/javac/varargs/warning/Warn2.java.i
+data/src/share/classes/com/sun/mirror/type/WildcardType.java.i
data/test/com/sun/javadoc/testClassTree/pkg/ParentClass.java.i
data/test/tools/javac/failover/FailOver10.out.i
data/test/tools/javac/generics/typevars/5060485/Compatibility02.out.i
data/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleAnnotations_attribute.java.i
-data/test/tools/javac/warnings/DivZero.java.i
data/test/tools/javac/diags/examples/IllegalBytecodeIdentChar.java.i
+data/src/share/classes/com/sun/javadoc/AnnotationTypeElementDoc.java.i
data/test/tools/javac/typeAnnotations/failures/common/rest/DuplicateTypeAnnotation.out.i
-data/test/tools/javac/diags/examples/NotDefAccessClassIntfCantAccess/NotDefAccessClassIntfCantAccess.java.i
-data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_2.java.i
+data/src/share/classes/javax/lang/model/type/ErrorType.java.i
data/src/share/classes/javax/lang/model/element/UnknownAnnotationValueException.java.i
data/src/share/classes/com/sun/tools/apt/main/AptJavaCompiler.java.i
+data/test/tools/javac/annotations/pos/ClassA.java.i
data/test/tools/javac/depOverrides/annotation/B2.java.i
data/test/com/sun/javadoc/testThrowsTag/pkg/C.java.i
-data/test/tools/javac/generics/6192945/Neg3.java.i
data/test/tools/javac/typeAnnotations/failures/common/wildcards/MissingAnnotationValue.out.i
data/src/share/classes/com/sun/source/util/JavacTask.java.i
data/test/tools/javac/ThrowNull.java.i
+data/test/tools/javac/generics/wildcards/AssignmentDifferentTypes9.java.i
data/test/tools/javac/ProtectedInnerClass/p2/ProtectedInnerClass3.java.i
data/test/tools/javac/6403424/T6403424.java.i
data/test/tools/javac/InterfaceObjectInheritance.java.i
-data/test/tools/javac/ClassPathTest/bar/pkg/ClassPathTestAux2.java.i
+data/test/tools/javac/processing/model/element/TypeParamBounds.java.i
data/test/tools/javac/T6668802.java.i
data/test/tools/javap/T6868539.java.i
data/test/tools/javac/generics/6268476/T6268476.java.i
data/test/tools/javac/processing/6511613/clss41701.java.i
-data/test/tools/javah/SubClassConsts.win.i
+data/test/tools/javadoc/outputRedirect/Test.java.i
data/src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java.i
data/test/tools/javac/typeAnnotations/failures/common/innertypeparams/DuplicateTypeAnnotation.out.i
data/test/tools/javac/RawCrash.java.i
data/test/tools/javac/generics/6946618/T6946618b.java.i
-data/src/share/classes/javax/annotation/processing/Completions.java.i
+data/test/tools/javac/depDocComment/DeprecatedDocComment3.java.i
data/test/tools/javac/generics/wildcards/neg/ParamCast.java.i
data/src/share/classes/com/sun/tools/javac/util/ListBuffer.java.i
+data/src/share/classes/sun/tools/javap/JavapPrinter.java.i
data/src/share/classes/com/sun/tools/apt/mirror/declaration/EnumConstantDeclarationImpl.java.i
-data/test/tools/javac/7079713/TestCircularClassfile.java.i
+data/test/tools/javac/typeAnnotations/failures/common/wildcards/DuplicateAnnotationValue.java.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseTaglet.java.i
data/test/tools/javac/processing/6378728/T6378728.java.i
-data/test/com/sun/javadoc/testCmndLineClass/pkg2/C3.java.i
+data/test/tools/javac/Enum1.java.i
data/test/tools/javac/limits/PoolSize2.java.i
data/test/tools/javac/failover/CheckAttributedTree.java.i
-data/src/share/classes/javax/lang/model/type/TypeVariable.java.i
-data/test/tools/javac/nested/4903103/T4903103.java.i
+data/test/tools/javac/GoodCovar.java.i
data/test/tools/javac/diags/examples/OperatorCantBeApplied.java.i
data/test/tools/javadoc/annotations/shortcuts/expected.out.i
data/test/tools/javac/generics/wildcards/AssignmentSameType7.java.i
+data/test/tools/javac/StringsInSwitch/BadlyTypedLabel1.java.i
+data/test/tools/javadoc/annotations/annotatePackage/pkg2/package.html.i
data/test/tools/javac/cast/6548436/T6548436a.java.i
data/test/tools/javac/typeAnnotations/failures/common/typeArgs/InvalidLocation.java.i
-data/test/tools/javac/diags/examples/MulticatchNotSupported.java.i
+data/test/tools/apt/Basics/TestGetTypeDeclarationApf.java.i
data/test/tools/javac/miranda/T4279316a.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java.i
-data/test/tools/javac/abstract/T4717181a.java.i
+data/test/tools/javac/diags/examples/SunApiPluralAdditional/SunApiPlural.java.i
data/test/com/sun/javadoc/testPackagePage/com/pkg/C.java.i
-data/test/tools/javac/diags/examples/EnumAnnoValueMustBeEnumConst.java.i
+data/test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java.i
data/test/tools/javac/OverrideChecks/6199153/T6199153.java.i
data/test/tools/javac/typeAnnotations/failures/common/receiver/DuplicateTypeAnnotation.java.i
data/src/share/classes/com/sun/source/tree/ProvidesServiceDirectiveTree.java.i
-data/test/com/sun/javadoc/testSimpleTag/C.java.i
-data/test/tools/javac/generics/6207386/Test.java.i
+data/test/tools/javac/assert/DU1.java.i
data/test/com/sun/javadoc/testPackageDeprecation/TestPackageDeprecation.java.i
-data/test/tools/javac/processing/6365040/ProcBar.java.i
data/test/tools/javac/generics/inference/5034571/T5034571.java.i
data/test/tools/javac/diags/examples/FinallyCannotComplete.java.i
data/test/tools/apt/Discovery/Dum.java.i
@@ -2724,120 +2718,124 @@ data/test/tools/javac/generics/rare/Rare11.java.i
data/test/tools/javac/falseCycle/FalseCycleBase.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java.i
data/test/tools/javac/generics/Casting2.java.i
-data/test/tools/javac/AbstractOverride.java.i
data/src/share/classes/javax/lang/model/type/TypeMirror.java.i
data/test/tools/javac/typeAnnotations/failures/common/arrays/DuplicateTypeAnnotation.out.i
data/src/share/classes/com/sun/tools/javah/NativeHeaderTool.java.i
data/test/com/sun/javadoc/testLinkTaglet/pkg/C.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/DeprecatedListWriter.java.i
data/test/tools/javac/diags/examples/TypeFoundRequired.java.i
-data/test/tools/javac/diags/examples/NoJavaLang.java.i
-data/test/tools/javac/mandatoryWarnings/deprecated/Test3.out.i
+data/test/tools/javac/6330920/T6330920.java.i
+data/test/tools/javac/6199662/TreeScanner.java.i
data/test/tools/javac/PackageClassAmbiguity/util.java.i
data/test/tools/javac/depOverrides/annotation/P.java.i
data/src/share/classes/javax/lang/model/element/ExecutableElement.java.i
-data/src/share/classes/sun/tools/javap/InnerClassData.java.i
+data/test/com/sun/javadoc/testPrivateClasses/pkg/PrivateParent.java.i
data/src/share/classes/com/sun/tools/classfile/ModuleExport_attribute.java.i
-data/test/tools/javac/diags/examples/VarargsPluralAdditional/VarargsPlural.java.i
+data/test/tools/javac/annotations/neg/Z9.java.i
data/test/tools/javac/api/T6258271.java.i
-data/test/tools/javac/sourcePath/SourcePath.java.i
-data/test/com/sun/javadoc/testMemberInheritence/diamond/C.java.i
-data/test/tools/javap/classfile/T6887895.java.i
+data/test/tools/javac/Paths/6638501/test1/SayHelloToo.java.i
+data/test/tools/javac/generics/InnerInterface2.java.i
+data/src/share/classes/com/sun/tools/javac/util/ByteBuffer.java.i
+data/test/tools/javac/typeAnnotations/failures/Scopes.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java.i
+data/test/tools/javac/api/6471599/Main.java.i
data/test/tools/javac/generics/7034019/T7034019b.java.i
data/test/tools/javac/enum/EnumSwitch1.java.i
-data/test/tools/javac/typeAnnotations/newlocations/LocalVariables.java.i
+data/test/tools/javac/boxing/Boxing4.java.i
data/test/com/sun/javadoc/testHtmlTableTags/TestHtmlTableTags.java.i
-data/test/tools/javac/generics/inference/6638712/T6638712d.java.i
-data/test/tools/javac/cast/6302956/T6302956.java.i
-data/test/tools/javac/StringsInSwitch/OneCaseSwitches.java.i
+data/test/tools/javac/CyclicInheritance2.java.i
+data/test/tools/javac/crossPackageImpl/CrossPackageImplA.java.i
+data/test/tools/javac/diags/examples/TypeParameterOnPolymorphicSignature.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java.i
+data/make/test/TEST.ROOT.i
data/test/tools/javac/generics/RelaxedArrays.java.i
-data/test/tools/javac/StringConversion.java.i
-data/src/share/classes/com/sun/source/tree/EmptyStatementTree.java.i
-data/test/tools/javac/QualifiedThisAndSuper_1.java.i
+data/src/share/classes/javax/lang/model/element/Parameterizable.java.i
+data/test/tools/javac/annotations/neg/NoClone.java.i
+data/test/tools/javac/generics/diamond/T6951833.java.i
+data/test/com/sun/javadoc/testPackageDeprecation/pkg/A.java.i
data/test/tools/javac/generics/InstanceOf1.java.i
data/test/tools/javac/6979683/TestCast6979683_BAD35.java.errlog.i
data/test/tools/javac/diags/examples/AttrMustBeConstant.java.i
data/test/tools/javac/varargs/6569633/T6569633.java.i
-data/test/tools/javac/cast/6665356/T6665356.out.i
+data/test/tools/javac/generics/MultipleInheritance.java.i
data/test/tools/javac/typeAnnotations/newlocations/TypeParameters.java.i
data/src/share/classes/com/sun/tools/javap/overview.html.i
data/test/tools/javac/varargs/Warn2.java.i
data/test/tools/javac/annotations/pos/Enum1.java.i
data/test/tools/javac/diags/examples/DiamondAndAnonClass.java.i
-data/test/tools/javac/generics/odersky/Test2.java.i
+data/test/tools/javadoc/badSuper/BadSuper.java.i
+data/test/tools/javac/capture/Martin.java.i
data/test/tools/javadoc/generics/tparamTagOnType/pkg1/A.java.i
-data/test/tools/javadoc/dupOk/sp2/p/A.java.i
+data/src/share/classes/javax/lang/model/type/TypeVariable.java.i
+data/src/share/classes/com/sun/tools/classfile/DefaultAttribute.java.i
data/test/tools/javac/UnterminatedLineComment.java.i
-data/test/tools/javac/processing/6413690/src/Super.java.i
+data/src/share/classes/com/sun/tools/javac/jvm/ClassFile.java.i
data/test/tools/javac/annotations/neg/Z5.java.i
-data/test/tools/javac/api/6471599/Main.java.i
+data/test/tools/javac/cast/6558559/T6558559a.java.i
data/test/tools/javac/diags/examples/GenericArrayCreation.java.i
data/test/com/sun/javadoc/testLegacyTaglet/TestLegacyTaglet.java.i
data/test/tools/javac/tree/ClassTreeTest.java.i
data/src/share/classes/sun/tools/javap/CPX.java.i
data/test/tools/javac/resolve/TraceResolve.java.i
data/test/tools/javac/generics/typevars/5060485/Compatibility.java.i
-data/test/tools/javac/processing/6994946/SyntaxErrorTest.out.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SeeTaglet.java.i
+data/test/tools/javac/multicatch/Neg04eff_final.java.i
data/test/tools/javac/capture/Capture1.java.i
+data/make/test/lib/javadoc.sh.i
data/test/tools/javac/StringsInSwitch/BadlyTypedLabel2.out.i
data/test/tools/javac/diags/examples/IllegalEnumStaticRef.java.i
-data/src/share/classes/com/sun/tools/javac/main/JavacOption.java.i
+data/test/tools/javac/multicatch/Neg04.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeWriter.java.i
data/test/tools/javac/T6358024.java.i
data/test/com/sun/javadoc/testMemberSummary/pkg/PrivateParent.java.i
data/test/tools/javac/positions/T6253161.java.i
data/test/tools/javac/diags/examples/InconvertibleTypes.java.i
-data/test/tools/javadoc/imports/MissingImport.java.i
-data/test/tools/javac/NonAmbiguousField/two/Child2.java.i
+data/src/share/classes/com/sun/source/tree/ImportTree.java.i
+data/test/tools/javac/generics/wildcards/neg/CastWarn2.java.i
data/test/tools/javac/unicode/SupplementaryJavaID6.java.i
data/test/tools/javac/processing/model/6194785/T6194785a.java.i
data/test/com/sun/javadoc/testNonFrameWarning/TestNonFrameWarning.java.i
+data/test/tools/javac/ImportCycle/foo/Top2.java.i
data/test/tools/javac/T6725036.java.i
-data/test/tools/javac/enum/T6724345.java.i
data/test/tools/javac/generics/inference/7086586/T7086586.java.i
-data/test/tools/javac/warnings/6594914/T6594914b.out.i
data/src/share/classes/com/sun/tools/classfile/ModuleRequires_attribute.java.i
-data/test/tools/javac/FloatingPointChanges/BadConstructorModifiers.sh.i
+data/test/tools/javac/mixedTarget/ExtendCovariant2.java.i
data/test/tools/javac/generics/7034019/T7034019d.out.i
data/test/tools/javac/failover/FailOver02.java.i
data/test/tools/javac/4980495/std/p1/A1.java.i
-data/test/tools/javac/generics/bridge1/E.java.i
-data/test/tools/javac/annotations/neg/OverrideNo.java.i
+data/test/tools/javac/api/T6392782.java.i
data/test/tools/javac/diags/examples/OverrideDoesntThrow.java.i
+data/src/share/classes/com/sun/javadoc/ThrowsTag.java.i
data/test/tools/javac/ExtendsAccess/ExtendsAccess.sh.i
-data/test/tools/javac/boxing/NoBoxingFloat.java.i
+data/test/tools/javac/processing/model/util/elements/doccomments/a/First.java.i
data/test/tools/javac/diags/examples/ProcUseProcOrImplicit/ProcUseProcOrImplicit.java.i
data/test/tools/javac/DuplicateImport.java.i
-data/test/tools/javadoc/outputRedirect/Test.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DeprecatedTaglet.java.i
+data/test/tools/javah/SubClassConsts.win.i
+data/src/share/classes/javax/annotation/processing/Completions.java.i
data/test/tools/javac/multicatch/Pos08eff_final.java.i
data/test/tools/javac/generics/wildcards/neg/CastWarn4.java.i
-data/test/tools/apt/Basics/TestGetTypeDeclarationApf.java.i
+data/test/tools/javac/diags/examples/MulticatchNotSupported.java.i
data/test/tools/javac/generics/PrimitiveClass.java.i
-data/test/tools/javac/T6705935.java.i
-data/test/tools/javac/generics/typevars/6182630/T6182630.java.i
-data/test/tools/javac/annotations/neg/Z9.java.i
+data/test/tools/javac/accessVirtualInner/a/A.java.i
+data/test/tools/javac/diags/examples/VarargsPluralAdditional/VarargsPlural.java.i
data/test/tools/javac/importContext/namedPackage/Dummy.java.i
-data/test/tools/javac/DefiniteAssignment/DefAssignAfterTry3.java.i
+data/test/com/sun/javadoc/testIndex/pkg/AnnotationType.java.i
data/test/tools/javac/resolve/tests/ReferenceOverInferred.java.i
data/test/tools/javac/generics/7007615/acc2/p1/C.java.i
data/test/tools/javac/diags/examples/DirPathElementNotFound.java.i
-data/src/share/classes/com/sun/tools/javac/jvm/ClassFile.java.i
+data/test/tools/javac/processing/6413690/src/Super.java.i
data/test/tools/javac/multicatch/7005371/T7005371.java.i
data/test/tools/javac/processing/6359313/T6359313.java.i
data/test/tools/javac/generics/ParametricException.java.i
data/test/tools/javac/scope/StarImportTest.java.i
-data/test/tools/javac/inheritedAccess/MethodReferenceQualification_1.java.i
+data/test/tools/javac/generics/inference/6650759/T6650759b.java.i
data/test/tools/javac/6199662/TreeInfo.java.i
-data/test/tools/javadoc/completionFailure/pkg/A.java.i
+data/src/share/classes/com/sun/tools/apt/mirror/declaration/PackageDeclarationImpl.java.i
data/test/tools/javac/danglingDep/NoDepX.java.i
data/src/share/classes/com/sun/tools/javac/model/JavacElements.java.i
data/test/tools/javadoc/varArgs/Main.java.i
data/test/tools/javac/generics/7022054/T7022054pos1.java.i
data/src/share/classes/javax/lang/model/type/DeclaredType.java.i
-data/test/tools/javac/accessVirtualInner/Main.java.i
data/test/tools/javac/DefiniteAssignment/T4718142a.java.i
data/test/com/sun/javadoc/testDeprecatedDocs/pkg/TestInterface.java.i
data/test/tools/javap/stackmap/T6271292.java.i
@@ -2845,8 +2843,7 @@ data/src/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties.i
data/src/share/classes/javax/annotation/processing/Processor.java.i
data/test/tools/javac/diags/examples/ProcPackageDoesNotExist/processors/AnnoProc.java.i
data/test/com/sun/javadoc/testNewLanguageFeatures/pkg/AnnotationType.java.i
-data/test/com/sun/javadoc/testUseOption/pkg2/package.html.i
-data/test/tools/javac/warnings/Unchecked.lintAll.out.i
+data/test/tools/javac/T6230128.out.i
data/test/com/sun/javadoc/testTagInheritence/firstSentence2/C.java.i
data/test/tools/javac/generics/6192945/Neg.java.i
data/src/share/classes/com/sun/tools/javac/sym/CreateSymbols.java.i
@@ -2854,9 +2851,9 @@ data/test/tools/javac/annotations/6359949/T6359949.java.i
data/test/tools/javac/scope/7017664/ImplementationCacheTest.java.i
data/test/tools/javac/diags/examples/SunApiPluralAdditional/SunApiFilename.java.i
data/test/tools/javac/varargs/5088429/T5088429Neg01.out.i
-data/test/tools/javac/generics/6332204/T6346876.java.i
+data/test/tools/javac/ClassPathTest/bar/pkg/ClassPathTestAux2.java.i
data/test/tools/apt/lib/TestProcessorFactory.java.i
-data/test/tools/javac/mandatoryWarnings/deprecated/P.java.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MethodFinder.java.i
data/src/share/classes/com/sun/tools/classfile/ConstantPool.java.i
data/test/tools/javac/CaptureInSubtype.java.i
data/test/tools/javap/T6866657.java.i
@@ -2867,75 +2864,75 @@ data/test/tools/javah/MissingParamClassTest.sh.i
data/test/com/sun/javadoc/testNewLanguageFeatures/pkg2/ClassUseTest1.java.i
data/test/tools/javac/danglingDep/RefX.java.i
data/test/tools/javac/failover/FailOver11.out.i
-data/test/tools/javac/annotations/pos/Z3.java.i
data/src/share/classes/com/sun/javadoc/Doc.java.i
+data/test/tools/javac/miranda/T4528315.java.i
data/test/tools/javac/constDebug/ConstDebug.java.i
data/test/tools/javac/diags/examples/PackageAnnos.java.i
-data/test/tools/javac/protectedInner/pkg1/Base.java.i
-data/test/com/sun/javadoc/testDeprecatedDocs/pkg/TestError.java.i
+data/test/com/sun/javadoc/testNoPackagesFile/C.java.i
data/test/tools/javac/Paths/Help.sh.i
-data/test/tools/javac/AddReferenceThis.java.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DeprecatedTaglet.java.i
+data/test/tools/javac/generics/6192945/Neg3.java.i
data/test/tools/javac/policy/byfile.ACD.out.i
data/test/com/sun/javadoc/testRelativeLinks/pkg2/Foo.java.i
data/src/share/sample/javac/processing/src/CheckNamesProcessor.java.i
data/test/tools/javac/TryWithResources/WeirdTwr.java.i
data/test/tools/javac/generics/6192945/Method.java.i
-data/test/tools/javac/annotations/6365854/TestCore.java.i
+data/test/tools/javac/generics/6476118/T6476118c.out.i
data/test/tools/javac/meth/InvokeMHTrans.out.i
data/test/tools/javac/varargs/Anon.java.i
data/test/com/sun/javadoc/testPackageDeprecation/pkg1/package-info.java.i
data/test/tools/javac/annotations/neg/ObjectMembers.java.i
data/test/tools/javac/ClassCycle/ClassCycle1b.java.i
data/test/com/sun/javadoc/testGroupOption/TestGroupOption.java.i
-data/test/tools/javac/cast/6467183/T6467183b.java.i
+data/test/com/sun/javadoc/testUseOption/pkg2/package.html.i
+data/test/tools/javac/ExceptionalFinally2.java.i
data/test/tools/javac/diags/examples/EnumTypesNotExtensible.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletConstants.java.i
data/src/share/classes/com/sun/mirror/apt/AnnotationProcessorEnvironment.java.i
data/src/share/classes/javax/lang/model/type/NullType.java.i
data/test/tools/javac/diags/examples.not-yet.txt.i
-data/test/tools/javah/4942232/ParamClassTest.java.i
data/test/tools/javac/implicitThis/WhichImplicitThis10.java.i
data/test/tools/javac/generics/6946618/T6946618a.out.i
data/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationValueImpl.java.i
-data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_5.java.i
+data/test/tools/javac/typeAnnotations/failures/common/parambounds/MissingAnnotationValue.java.i
data/test/tools/javac/api/6731573/Erroneous.java.i
data/test/tools/javac/mandatoryWarnings/unchecked/Test3b.out.i
data/test/tools/javac/ImportPackagePrivateInner/foo/Accessor.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassUseMapper.java.i
data/test/tools/javac/T6180021/Super.java.i
-data/test/tools/javac/api/6406133/Erroneous.java.i
+data/src/share/classes/com/sun/tools/javac/parser/Tokens.java.i
data/test/tools/javac/TryWithResources/TwrTests.java.i
-data/test/tools/javap/T6474890.java.i
+data/test/tools/javac/innerClassFile/y/Main.java.i
data/src/share/classes/com/sun/tools/javadoc/AnnotationDescImpl.java.i
data/test/tools/javac/6979683/TestCast6979683_BAD39.java.errlog.i
data/test/tools/javac/processing/filer/TestPackageInfo.java.i
data/test/tools/javac/generics/7034019/T7034019d.java.i
data/test/tools/javac/T6587674.java.i
-data/test/tools/javac/T7093325.java.i
data/test/tools/javac/staticImport/6665223/pkg/B.java.i
data/src/share/classes/com/sun/source/tree/ViewDeclarationTree.java.i
data/test/tools/apt/mirror/type/PrimitiveTyp.java.i
data/test/tools/javac/QualifiedThisAndSuper_2.java.i
+data/test/tools/javac/diags/examples/UnmatchedProcessorOptions/processors/AnnoProc.java.i
data/test/tools/javac/6589361/T6589361.java.i
-data/test/com/sun/javadoc/testIndex/pkg/Coin.java.i
+data/test/com/sun/javadoc/testDocErrorReporter/TestDocErrorReporter.java.i
data/test/tools/javac/diags/examples/UnreportedException.java.i
-data/test/com/sun/javadoc/testThrowsInheritence/Foo.java.i
+data/test/tools/javac/generics/diamond/neg/Neg03.out.i
data/src/share/classes/com/sun/mirror/util/DeclarationVisitor.java.i
data/src/share/classes/javax/tools/package-info.java.i
data/src/share/classes/com/sun/source/tree/AssertTree.java.i
data/test/tools/javac/api/6852595/T6852595.java.i
-data/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java.i
data/test/tools/javac/ExtendsAccess/ExtendsAccess.out.i
-data/test/tools/javac/ImportCycle/foo/Bottom.java.i
data/test/com/sun/javadoc/testLegacyTaglet/C.java.i
+data/src/share/classes/com/sun/tools/apt/mirror/type/TypeVariableImpl.java.i
data/test/tools/javac/importscope/A.java.i
data/test/tools/javac/typeAnnotations/failures/target/VoidMethod.java.i
+data/test/tools/javac/generics/ArrayClone.java.i
data/test/tools/javac/diags/examples/PrintProcessorInfo/PrintProcessorInfo.java.i
data/test/tools/javac/overload/T4723909.java.i
data/test/tools/javac/modules/ModuleClassAttributeTest01.java.i
data/src/share/classes/com/sun/tools/apt/comp/PrintAP.java.i
data/test/tools/javac/TryWithResources/DuplicateResourceDecl.java.i
-data/test/tools/javac/generics/wildcards/7034495/T7034495.java.i
+data/src/share/classes/sun/tools/javap/RuntimeConstants.java.i
data/test/tools/javac/diags/examples/UnreportedExceptionImplicitClose.java.i
data/test/tools/javac/limits/NumArgs1.java.i
data/test/tools/javac/generics/diamond/neg/Neg04.java.i
@@ -2946,10 +2943,11 @@ data/test/tools/javac/NonStaticFieldExpr3.java.i
data/test/tools/javac/parser/T4881269.java.i
data/src/share/classes/com/sun/tools/javah/JavahTool.java.i
data/test/tools/javah/6572945/TestClass2.java.i
+data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_13.java.i
data/test/tools/javac/StandaloneQualifiedSuper.java.i
data/src/share/classes/com/sun/tools/javac/util/LayoutCharacters.java.i
data/test/tools/javac/Paths/MineField.sh.i
-data/test/tools/javac/limits/PoolSize1.java.i
+data/test/tools/javac/TryWithResources/ResourceInterface.out.i
data/src/share/classes/javax/tools/StandardLocation.java.i
data/test/tools/javac/Diagnostics/6769027/T6769027.java.i
data/src/share/classes/com/sun/mirror/declaration/InterfaceDeclaration.java.i
@@ -2963,25 +2961,27 @@ data/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.j
data/test/com/sun/javadoc/testTagMisuse/TestTagMisuse.java.i
data/test/com/sun/javadoc/testTypeParams/TestTypeParameters.java.i
data/test/tools/javac/generics/inference/6638712/T6638712e.out.i
-data/test/tools/javac/T6435291/T6435291.java.i
-data/test/tools/javap/T6715767.java.i
+data/src/share/classes/com/sun/tools/javac/services/javax.tools.JavaCompilerTool.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/XMLNode.java.i
data/test/com/sun/javadoc/testEncoding/TestEncoding.java.i
-data/test/tools/javac/generics/WrongNew.java.i
+data/test/tools/javac/generics/typevars/6968793/T6968793.java.i
data/test/tools/javac/BadHexConstant.java.i
data/test/tools/javac/QualifiedAccess/QualifiedAccess_4.java.i
data/test/tools/javac/modules/ModuleModifierTest01.java.i
data/test/tools/javac/generics/diamond/neg/Neg01.out.i
-data/test/tools/javac/javazip/good/B.java.i
+data/test/tools/javac/diags/examples/AssertAsIdentifier2.java.i
data/test/com/sun/javadoc/_template/TemplateComplete.java.i
-data/test/tools/javac/T6956638.java.i
+data/test/com/sun/javadoc/testLinkToSerialForm/TestLinkToSerialForm.java.i
+data/test/tools/javac/6402516/CheckClass.java.i
data/src/share/classes/com/sun/tools/javac/code/Printer.java.i
data/test/tools/javadoc/6942366/p/Base.java.i
data/test/tools/javap/4111861/T4111861.java.i
data/test/tools/javac/diags/examples/NoSuperclass.java.i
data/test/tools/javac/multicatch/Pos09.java.i
-data/test/tools/javac/typeAnnotations/failures/common/arrayclass/InvalidLocation.out.i
-data/test/tools/javac/6521805/p/Outer.java.i
+data/test/tools/javac/diags/examples/ProcIncompatibleSourceVersion/ProcIncompatibleSourceVersion.java.i
+data/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java.i
data/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor8.java.i
+data/test/com/sun/javadoc/testHeadings/pkg1/C1.java.i
data/test/com/sun/javadoc/testNavagation/TestNavagation.java.i
data/test/tools/javac/missingClass/A.java.i
data/test/com/sun/javadoc/testTaglets/Child.java.i
@@ -2991,11 +2991,11 @@ data/test/tools/javac/processing/6634138/Dummy.java.i
data/test/tools/javac/generics/diamond/7057297/T7057297.java.i
data/src/share/classes/javax/tools/ExtendedLocation.java.i
data/src/share/classes/com/sun/source/tree/ContinueTree.java.i
+data/test/tools/javac/Diagnostics/6722234/T6722234b.java.i
data/test/com/sun/javadoc/testLinkOption/testNewLineInLink/package.html.i
data/test/tools/javadoc/6176978/X.java.i
data/src/share/classes/javax/annotation/processing/ProcessingEnvironment.java.i
data/test/tools/apt/lib/TestProcessor.java.i
-data/test/tools/javac/generics/T4738171.java.i
data/test/tools/javac/typeAnnotations/failures/common/typeparams/DuplicateTypeAnnotation.java.i
data/test/tools/javac/generics/inference/6315770/T6315770.java.i
data/test/tools/javac/generics/typevars/6199146/T6199146.java.i
@@ -3004,52 +3004,51 @@ data/test/tools/javac/rawDiags/Error.out.i
data/src/share/classes/com/sun/tools/javac/Launcher.java.i
data/test/tools/javadoc/enum/enumType/expected.out.i
data/test/com/sun/javadoc/testPackageDeprecation/C2.java.i
-data/test/tools/javac/4980495/std/p2/A2.java.i
-data/test/tools/javac/cast/7005095/T7005095neg.java.i
+data/test/tools/javac/InnerClassesAttribute/Outside$1$Inside.class.i
+data/test/tools/javac/typeAnnotations/failures/common/arrays/MissingAnnotationValue.java.i
data/test/com/sun/javadoc/testSerialVersionUID/C.java.i
data/test/tools/javadoc/generics/tparamTagOnMethod/pkg1/A.java.i
data/make/test/lib/javap.sh.i
+data/test/tools/javac/api/TestJavacTask_ParseAttrGen.java.i
data/test/com/sun/javadoc/testNewLanguageFeatures/pkg/package-info.java.i
data/test/tools/javac/diags/examples/NoExplicitAnnoProcRequested.java.i
data/test/tools/javac/multicatch/Neg01.out.i
data/test/tools/javac/T6942649.java.i
data/test/tools/javac/generics/typevars/4856983/T4856983b.java.i
-data/test/tools/javac/generics/diamond/7030150/Pos01.java.i
-data/src/share/classes/javax/lang/model/util/ElementFilter.java.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MessageRetriever.java.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ReturnTaglet.java.i
+data/test/tools/javac/processing/model/element/TestResourceVariable.java.i
+data/test/tools/javac/mandatoryWarnings/deprecated/B.java.i
data/test/tools/javac/generics/diamond/neg/Neg11.out.i
data/test/tools/javac/implicitThis/6541876/T6541876b.java.i
data/src/share/classes/javax/annotation/processing/Filer.java.i
-data/test/tools/javac/5045412/Foo.java.i
+data/test/tools/javac/diags/examples/MissingReturnValue.java.i
data/test/tools/javac/T6394563.empty.out.i
data/src/share/classes/com/sun/tools/javac/code/Directive.java.i
data/test/tools/javac/file/zip/T6836682.java.i
-data/test/tools/javac/cast/6270087/T6270087.java.i
data/test/com/sun/javadoc/testNavagation/pkg/E.java.i
-data/test/tools/javac/generics/7022054/T7022054neg1.out.i
-data/test/com/sun/javadoc/testUnnamedPackage/TestUnnamedPackage.java.i
+data/test/tools/javac/annotations/6365854/TestCore.java.i
+data/test/tools/apt/Compile/Round1Apf.java.i
data/test/com/sun/javadoc/testThrowsHead/TestThrowsHead.java.i
data/test/tools/javac/generics/wildcards/7034495/T7034495.out.i
data/test/com/sun/javadoc/testTaglets/C.java.i
-data/test/tools/javac/diags/examples/DeprecatedPluralAdditional/DeprecatedFilename.java.i
data/test/tools/javac/5045412/Bar.java.i
data/test/tools/javac/policy/test3/Test.java.i
data/test/tools/javac/diags/examples/RedundantCast.java.i
data/src/share/classes/com/sun/tools/javac/file/ZipArchive.java.i
data/test/tools/javac/literals/BinaryLiterals.java.i
-data/src/share/classes/com/sun/tools/javac/code/Attribute.java.i
+data/test/tools/javac/T6705935.java.i
data/test/tools/javac/depOverrides/doccomment/Test1B2.out.i
data/test/tools/javac/diags/examples/VarargsClash.java.i
-data/src/share/classes/com/sun/tools/apt/mirror/type/ClassTypeImpl.java.i
+data/test/tools/javac/cast/7123100/T7123100a.java.i
data/src/share/classes/com/sun/mirror/type/package-info.java.i
data/test/tools/javac/generics/6969184/T6969184.out.i
data/test/tools/javac/staticImport/6665223/pkg/A.java.i
data/test/tools/javah/6572945/gold/jni.dir.1/TestClass2.h.i
data/test/tools/javac/generics/6372782/Scalar.java.i
data/test/com/sun/javadoc/testReturnTag/TestReturnTag.java.i
-data/test/tools/javac/generics/7007615/acc1/p1/D.java.i
data/test/tools/javac/AnonymousProtect/P1/pub.java.i
data/test/tools/javac/diags/examples/InaccessibleVarargsType/p1/A.java.i
-data/test/tools/javac/annotations/pos/Z4.java.i
data/test/tools/javac/generics/6910550/T6910550a.out.i
data/test/tools/javac/diags/examples/TrustMeOnNonVarargsMeth.java.i
data/test/tools/javac/parser/netbeans/JavacParserTest.java.i
@@ -3061,10 +3060,9 @@ data/test/tools/javac/generics/wildcards/AssignmentDifferentTypes5.java.i
data/test/tools/javac/InterfaceAssert.java.i
data/src/share/classes/javax/lang/model/util/AbstractElementVisitor6.java.i
data/test/tools/javac/annotations/neg/Recovery.java.i
-data/test/tools/javac/processing/warnings/TestSourceVersionWarnings.java.i
data/test/tools/javadoc/subpackageIgnore/SubpackageIgnore.java.i
data/src/share/classes/com/sun/tools/classfile/RuntimeVisibleParameterAnnotations_attribute.java.i
-data/test/tools/javac/generics/forwardSeparateBound/ForwardSeparateBound1.java.i
+data/test/com/sun/javadoc/testExternalOverridenMethod/pkg/XReader.java.i
data/test/tools/javac/generics/wildcards/6437894/B.java.i
data/test/tools/javac/processing/6359313/package-info.java.i
data/test/tools/javac/generics/6985719/T6985719b.out.i
@@ -3074,39 +3072,36 @@ data/test/tools/javac/Diagnostics/6722234/T6722234a_1.out.i
data/test/tools/javac/ConditionalInline.java.i
data/test/tools/javac/6863465/T6863465c.java.i
data/test/tools/javac/T4994049/DeprecatedNOT.java.i
-data/test/com/sun/javadoc/testInlineLinkLabel/pkg/package.html.i
+data/src/share/classes/javax/lang/model/element/TypeParameterElement.java.i
data/test/tools/javac/generics/7034511/T7034511a.out.i
data/test/tools/javac/TryWithResources/DuplicateResourceDecl.out.i
data/test/tools/javac/multicatch/Pos05.java.i
data/test/tools/javac/parser/JavacParserTest.java.i
data/test/tools/javac/rawDiags/Error.java.i
-data/test/tools/javac/sourcePath/SourcePathA.java.i
+data/test/tools/javac/depDocComment/DeprecatedDocComment4.java.i
data/test/tools/javac/VoidArray.java.i
-data/test/tools/javac/depOverrides/annotation/Test1B2.out.i
+data/test/tools/javac/NameClash/One.java.i
data/test/tools/javac/warnings/FallThrough.noLint.out.i
-data/test/tools/javac/generics/Casting3.java.i
data/test/com/sun/javadoc/testSimpleTag/TestSimpleTag.java.i
-data/test/tools/javac/multicatch/Pos08.java.i
+data/test/tools/javac/annotations/neg/Package.java.i
data/test/com/sun/javadoc/testBaseClass/baz/Foo.java.i
data/test/tools/javac/generics/rare/Rare6.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/titlebar_end.gif.i
data/test/com/sun/javadoc/testMemberInheritence/inheritDist/C.java.i
data/test/tools/javac/annotations/neg/Cycle3.java.i
-data/src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java.i
data/test/tools/javac/ExtraneousEquals.java.i
-data/test/tools/javac/processing/6994946/SemanticErrorTest.java.i
+data/src/share/classes/com/sun/tools/javac/code/Flags.java.i
data/test/com/sun/javadoc/testHref/TestHref.java.i
data/test/com/sun/javadoc/testInlineLinkLabel/TestInlineLinkLabel.java.i
data/test/tools/javac/typeAnnotations/failures/common/receiver/MissingAnnotationValue.out.i
-data/test/tools/javac/NonStaticFieldExpr3.out.i
data/test/tools/javac/DefiniteAssignment/T4720751.java.i
-data/test/tools/apt/mirror/declaration/PackageDecl.java.i
+data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_9.java.i
data/test/tools/javac/diags/examples/IllegalStartOfExpr.java.i
data/test/tools/javac/generics/inference/6369605/T6369605b.java.i
-data/test/tools/javac/rawDiags/Note.out.i
data/test/tools/javac/generics/inference/6359106/Orig.java.i
data/test/tools/javac/generics/typevars/5060485/T5060485.java.i
data/test/tools/javac/typeAnnotations/failures/IndexArray.out.i
+data/src/share/classes/com/sun/tools/apt/mirror/type/InterfaceTypeImpl.java.i
data/test/tools/javap/T4975569.java.i
data/src/share/classes/com/sun/tools/classfile/LineNumberTable_attribute.java.i
data/test/tools/javac/ConstantValues/ConstValInit.java.i
@@ -3117,7 +3112,7 @@ data/test/tools/javac/miranda/4711056/T4.java.i
data/test/tools/javadoc/annotations/annotateParams/Main.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkFactory.java.i
data/test/tools/javac/cast/forum/T654170.java.i
-data/test/tools/javac/6979683/TestCast6979683_BAD37.java.i
+data/make/build.xml.i
data/src/share/classes/javax/lang/model/element/AnnotationValueVisitor.java.i
data/test/tools/javadoc/generics/genericSuper/pkg1/A.java.i
data/test/tools/javac/failover/FailOver06.out.i
@@ -3125,22 +3120,23 @@ data/test/tools/javac/depOverrides/annotation/Test2R.out.i
data/test/tools/javac/diags/examples/DeprecatedFilenameAdditional.java.i
data/test/tools/javac/limits/CodeSize.java.i
data/test/tools/javac/T6395974.java.i
-data/test/tools/javac/cast/6557182/T6557182.java.i
+data/test/tools/javac/AnonymousProtect/P1/priv.java.i
data/test/tools/javac/warnings/Deprecation.noLint.out.i
data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignCond.java.i
data/test/tools/javac/6547131/p/Outer.class.i
data/src/share/classes/com/sun/tools/javadoc/SeeTagImpl.java.i
data/test/tools/javac/T4848619/T4848619a.java.i
-data/test/tools/javac/generics/wildcards/pos/BoundsCollision.java.i
+data/test/com/sun/javadoc/testMemberInheritence/pkg/BaseInterface.java.i
data/test/tools/javac/implicitThis/WhichImplicitThis1.java.i
data/src/share/classes/com/sun/tools/javap/CodeWriter.java.i
data/test/tools/javac/completion/example/B.class.i
data/test/tools/apt/Compile/Dummy1.java.i
data/test/tools/javac/T6230128.java.i
-data/test/tools/javac/diags/examples/UncheckedCast.java.i
+data/test/tools/javac/api/TestDocComments.java.i
data/test/com/sun/javadoc/testBreakIterator/TestBreakIterator.java.i
-data/test/tools/javac/jvm/6397652/T6397652.java.i
+data/test/tools/javap/T4876942.java.i
data/test/tools/javac/processing/filer/TestGetResource2.java.i
+data/test/tools/javac/SuperMeth.java.i
data/test/tools/javac/diags/examples/TypeNoParams.java.i
data/src/share/classes/com/sun/tools/javap/Context.java.i
data/test/tools/javac/warnings/Finally.java.i
@@ -3148,9 +3144,12 @@ data/test/tools/javac/diags/examples/InterfaceExpected.java.i
data/test/tools/javac/diags/examples/NameClashSameErasure.java.i
data/test/tools/apt/lib/Test.java.i
data/test/tools/javac/treeannotests/DA.java.i
+data/test/tools/javac/cast/6467183/T6467183b.java.i
data/test/tools/javac/diags/examples/StaticNotQualifiedByType.java.i
+data/test/tools/javac/Paths/Class-Path2.sh.i
data/src/share/classes/com/sun/mirror/declaration/ConstructorDeclaration.java.i
data/test/tools/javac/generics/7022054/T7022054neg2.java.i
+data/src/share/classes/javax/tools/JavaFileObject.java.i
data/test/tools/javac/T5092545.java.i
data/test/tools/javac/diags/examples/AbstractMethodCantHaveBody.java.i
data/src/share/classes/sun/tools/javap/LineNumData.java.i
@@ -3166,66 +3165,67 @@ data/test/tools/javac/generics/T4684378.java.i
data/test/tools/javac/Diagnostics/6722234/T6722234d_1.out.i
data/src/share/classes/com/sun/mirror/util/package-info.java.i
data/test/tools/javac/tree/TreePosRoundsTest.java.i
-data/src/share/classes/javax/lang/model/util/SimpleElementVisitor8.java.i
+data/test/tools/javac/diags/examples/ProcUnclosedTypeFiles/processors/AnnoProc.java.i
data/test/com/sun/javadoc/testInterface/pkg/Interface.java.i
data/test/tools/javac/code/ArrayClone.java.i
data/test/tools/javac/diags/examples/ProcessorWrongType/ProcessorWrongType.java.i
-data/test/tools/javac/varargs/warning/Warn4.java.i
+data/test/tools/javac/processing/6365040/ProcFoo.java.i
data/src/share/classes/com/sun/source/tree/ModuleTree.java.i
data/test/tools/javac/diags/examples/UncheckedClash.java.i
-data/test/tools/javac/6400872/C.java.i
+data/test/tools/javac/NonStaticFieldExpr1.java.i
data/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java.i
data/test/tools/javac/diags/examples/StaticImportNotSupported.java.i
data/test/com/sun/javadoc/testEncoding/EncodeTest.java.i
data/test/tools/javac/cast/6302214/T6302214a.java.i
-data/test/tools/javac/6758789/T6758789a.java.i
+data/src/share/classes/com/sun/source/tree/ConditionalExpressionTree.java.i
+data/test/tools/javac/OverrideChecks/6738538/T6738538a.java.i
data/test/tools/javac/quid/QuotedIdent.java.i
-data/test/tools/javac/FloatingPointChanges/Test.java.i
+data/test/tools/javac/generics/T4784219.java.i
data/test/tools/javac/multicatch/Neg03.java.i
-data/test/tools/javac/diags/examples/VerboseResolveMulti1.java.i
-data/test/tools/javadoc/enum/docComments/Main.java.i
+data/test/tools/javac/5005368.java.i
data/test/tools/javac/processing/6350124/HelloWorldAP.java.i
data/test/tools/apt/mirror/type/InterfaceTyp.java.i
data/test/tools/javac/generics/6476118/T6476118d.java.i
data/test/tools/javac/TryWithResources/PlainTry6.out.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeRequiredMemberWriter.java.i
data/src/share/classes/com/sun/tools/javac/tree/JCTree.java.i
data/test/tools/javac/boxing/BoxedForeach.java.i
-data/test/tools/javac/T6231847.java.i
-data/test/tools/javac/6257443/T6257443.java.i
+data/test/tools/javac/ImportUnnamed/Dummy.java.i
+data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_3.java.i
data/src/share/classes/com/sun/tools/apt/mirror/apt/RoundCompleteEventImpl.java.i
-data/test/tools/javadoc/6958836/warns/Warnings.java.i
-data/src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java.i
-data/test/tools/javac/DeclarationStatementInline.java.i
+data/src/share/classes/javax/tools/overview.html.i
+data/test/tools/javac/processing/T6439826.java.i
+data/test/tools/javac/api/6411310/Test.java.i
data/make/netbeans/langtools/build.xml.i
+data/src/share/classes/com/sun/mirror/util/DeclarationFilter.java.i
data/test/tools/apt/Compile/compile.sh.i
data/src/share/classes/com/sun/javadoc/Type.java.i
-data/test/tools/javac/accessVirtualInner/a/A.java.i
-data/test/tools/javac/typeAnnotations/failures/common/parambounds/MissingAnnotationValue.java.i
+data/test/tools/javac/generics/inference/5003431/T5003431.java.i
data/test/tools/javac/diags/examples/LocalVarNeedsFinal.java.i
-data/test/tools/javac/generics/typevars/5060485/Neg2.java.i
-data/test/tools/javac/annotations/neg/Z11.java.i
+data/src/share/classes/com/sun/tools/javac/code/Source.java.i
+data/test/tools/javac/multicatch/Neg01eff_final.java.i
data/test/com/sun/javadoc/testDupParamWarn/TestDupParamWarn.java.i
data/test/tools/javac/types/CastObjectToPrimitiveTest.java.i
data/test/tools/javac/UncaughtOverflow2.java.i
data/test/tools/javac/QualifiedAccess/QualifiedAccess_3.out.i
data/test/tools/javac/generics/rawOverride/T6178365.java.i
data/test/tools/javac/policy/test3/A.java.i
-data/test/com/sun/javadoc/testNewLanguageFeatures/pkg/AnnotationTypeUndocumented.java.i
-data/test/com/sun/javadoc/testHtmlTableTags/pkg1/C1.java.i
+data/test/tools/javac/generics/wildcards/neg/CastWarn3.java.i
data/test/tools/javac/IllegalAnnotation.java.i
data/src/share/classes/com/sun/tools/javac/util/BaseFileManager.java.i
data/test/tools/javap/ListTest.java.i
data/src/share/classes/com/sun/javadoc/AnnotationTypeDoc.java.i
+data/src/share/classes/javax/lang/model/util/ElementScanner8.java.i
data/test/tools/javac/diags/examples/WhereCaptured.java.i
data/test/tools/javac/ObjectIncompatibleInterface.java.i
data/test/tools/javac/api/6420409/T6420409.java.i
data/src/share/classes/com/sun/tools/javah/resources/version.properties-template.i
data/test/tools/javac/versionOpt.sh.i
-data/test/tools/javac/api/TestJavacTask_ParseAttrGen.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/FieldWriter.java.i
-data/test/com/sun/javadoc/testRecurseSubPackages/pkg1/C1.java.i
-data/test/tools/javac/processing/warnings/UseImplicit/TestProcUseImplicitWarning.java.i
-data/test/tools/javac/varargs/6199075/T6199075.java.i
+data/test/tools/javac/diags/examples/MulticatchMustBeFinal.java.i
+data/test/tools/javac/generics/wildcards/6437894/T6437894.out.i
+data/test/tools/javac/DefiniteAssignment/T4725725.java.i
+data/test/tools/javac/generics/GetClass2.java.i
+data/test/tools/javac/staticQualifiedNew/StaticQualifiedNew.java.i
data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_11.java.i
data/src/share/classes/com/sun/tools/apt/mirror/apt/AnnotationProcessorEnvironmentImpl.java.i
data/test/tools/javac/mandatoryWarnings/unchecked/B.java.i
@@ -3233,30 +3233,28 @@ data/LICENSE.i
data/test/com/sun/javadoc/testTagInheritence/TestTagInheritence.java.i
data/test/tools/javac/processing/filer/TestGetResource.java.i
data/test/tools/javac/diags/examples/ImproperSVUID.java.i
-data/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java.i
data/test/com/sun/javadoc/constantValues/TestConstantValuesDriver.java.i
data/test/com/sun/javadoc/testStylesheet/pkg/A.java.i
data/test/tools/javac/AccessMethods/LateAddition.java.i
data/src/share/classes/com/sun/tools/classfile/Exceptions_attribute.java.i
data/test/tools/javac/diags/examples/TypeReqClassArray.java.i
data/src/share/classes/com/sun/tools/classfile/Descriptor.java.i
-data/src/share/classes/com/sun/tools/javac/zip/ZipFileIndexEntry.java.i
-data/test/tools/javac/varargs/6806876/T6806876.out.i
data/test/tools/javac/boxing/NoBoxingChar.java.i
data/test/tools/javac/DefiniteAssignment/T4721062a.java.i
data/test/tools/javac/T6304128.java.i
+data/test/com/sun/javadoc/testThrowsTag/pkg/T5.java.i
data/test/tools/javac/multicatch/Neg06.java.i
data/test/tools/javac/failover/FailOver04.java.i
-data/src/share/classes/com/sun/source/tree/DoWhileLoopTree.java.i
+data/test/tools/javac/processing/model/type/MirroredTypeEx/OverEager.java.i
data/test/tools/javap/T6879371.java.i
-data/test/tools/javac/typeAnnotations/failures/common/arrays/DuplicateAnnotationValue.out.i
+data/test/tools/apt/Compile/Rounds.java.i
data/test/tools/javac/mandatoryWarnings/unchecked/Test4d.out.i
data/test/tools/javac/miranda/T4279316b.java.i
-data/test/tools/javac/generics/wildcards/pos/InstanceOf.java.i
-data/test/tools/javac/failover/FailOver12.java.i
+data/test/tools/javac/varargs/T7013865.java.i
+data/test/tools/javac/generics/7007615/acc1/p1/D.java.i
data/test/tools/javac/6567415/T6567415.java.i
-data/test/tools/javac/ClassLiterals/p1/SuperClass.java.i
-data/test/tools/javadoc/annotations/annotatePackage/Main.java.i
+data/test/tools/javac/NonStaticFinalVar.java.i
+data/test/tools/javac/generics/Varargs.java.i
data/test/tools/javac/TryWithResources/ResourceInterface.java.i
data/src/share/classes/com/sun/tools/apt/main/Main.java.i
data/test/tools/javac/policy/Test.java.i
@@ -3265,20 +3263,18 @@ data/test/tools/javac/typeAnnotations/failures/common/parambounds/DuplicateTypeA
data/test/com/sun/javadoc/testExternalOverridenMethod/package-list.i
data/test/tools/javac/generics/6985719/T6985719e.out.i
data/test/com/sun/javadoc/testDocRootLink/pkg1/package.html.i
-data/test/tools/javac/6668794/badSource/p/A.java.i
-data/test/tools/javac/6521805/p/Sub.java.i
+data/test/tools/javac/generics/rare/Rare2.java.i
data/test/tools/javac/typeAnnotations/failures/target/NotTypeParameter.java.i
data/src/share/classes/com/sun/tools/apt/mirror/type/WildcardTypeImpl.java.i
data/test/tools/javac/failover/FailOver13.out.i
data/test/tools/javac/tree/MakeLiteralTest.java.i
data/test/tools/javac/Parens3.java.i
-data/test/tools/javac/6734819/T6734819a.out.i
+data/test/tools/javac/diags/examples/ProcessorWrongType/processors/AnnoProc.java.i
data/test/tools/javac/diags/examples/IntfAnnotationsCantHaveParams.java.i
-data/test/tools/javac/typeAnnotations/failures/common/arrayclass/InvalidLocation.java.i
data/src/share/classes/com/sun/mirror/type/MirroredTypeException.java.i
-data/test/com/sun/javadoc/testDupParamWarn/pkg/Bar.java.i
+data/test/tools/javac/miranda/6964669/pkg/C.java.i
data/test/tools/javac/AnonymousProtect/P2/usePub.java.i
-data/test/tools/apt/Compile/servicesRound1.i
+data/test/tools/javac/processing/environment/round/BuriedAnnotations.java.i
data/test/tools/javac/generics/inference/5044646/p1/C.java.i
data/test/com/sun/javadoc/testNestedInlineTag/testtaglets/UnderlineTaglet.java.i
data/test/com/sun/javadoc/testBaseClass/TestBaseClass.java.i
@@ -3287,76 +3283,74 @@ data/test/tools/javac/generics/diamond/pos/Pos02.java.i
data/test/tools/javac/NoClass.java.i
data/test/tools/javadoc/generics/genericInnerAndOuter/Main.java.i
data/test/tools/javac/enum/Enum2.java.i
+data/test/com/sun/javadoc/testSubTitle/pkg/package.html.i
data/test/tools/javac/boxing/T6369051.java.i
data/test/tools/javac/unicode/UnicodeUnicode.java.i
-data/src/share/classes/com/sun/source/util/AbstractTypeProcessor.java.i
+data/test/tools/javac/ClassPathTest/ClassPathTest2.java.i
data/test/tools/javac/util/context/T7021650.java.i
data/test/tools/javac/innerClassFile/Driver.sh.i
data/test/tools/javac/TryWithResources/TwrMultiCatch.java.i
data/test/tools/apt/Compile/ErrorAPF.java.i
data/test/tools/javac/T6999210.java.i
data/test/tools/javac/T6232928/package-info.java.i
-data/test/tools/apt/Compile/HelloWorld.java.i
+data/test/tools/javac/diags/examples/MethodDoesNotOverride.java.i
data/test/com/sun/javadoc/testCmndLineClass/pkg2/C4.java.i
data/test/tools/javac/TryWithResources/TwrIntersection02.out.i
data/test/tools/javac/T6423583.java.i
data/test/tools/javac/generics/6413682/T6413682.java.i
-data/test/com/sun/javadoc/testHtmlTableTags/pkg2/package-info.java.i
-data/test/tools/javac/AnonymousProtect/P1/priv.java.i
+data/test/tools/javac/meth/XlintWarn.java.i
+data/test/tools/javac/cast/6557182/T6557182.java.i
data/test/tools/javac/multicatch/Pos02.java.i
-data/test/tools/javac/rawDiags/Warning.out.i
data/test/com/sun/javadoc/testThrowsInheritence/Iface.java.i
-data/test/tools/javac/generics/wildcards/UnboundArray.java.i
-data/test/tools/javac/generics/Nonlinear.java.i
+data/test/tools/javac/p1/BS.java.i
+data/test/tools/javac/ClassLiterals/InnerClassLiterals.java.i
data/test/com/sun/javadoc/testHelpOption/TestHelpOption.java.i
data/test/tools/javac/NonAmbiguousField/Test.i
data/src/share/classes/com/sun/tools/classfile/RuntimeParameterAnnotations_attribute.java.i
data/src/share/classes/javax/lang/model/type/NoType.java.i
data/test/tools/javac/TryWithResources/ArmLint.out.i
data/test/tools/javac/generics/6218229/T6218229.java.i
-data/src/share/classes/com/sun/tools/javac/code/Symtab.java.i
+data/test/tools/javac/diags/examples/PrintRounds/processors/AnnoProc.java.i
data/test/tools/javac/api/TestTrees.java.i
-data/test/tools/javac/api/6421756/T6421756.java.i
+data/test/tools/apt/Options/OptionChecker.java.i
data/test/com/sun/javadoc/testHtmlDocument/testMarkup.html.i
data/test/tools/javac/OverrideChecks/T6399361.java.i
data/test/tools/javac/generics/wildcards/AssignmentDifferentTypes2.java.i
data/test/tools/javadoc/T4994049/FileWithTabs.java.i
-data/test/tools/javac/generics/6946618/T6946618c.java.i
+data/test/tools/javac/ExceptionalFinally.java.i
data/test/tools/javac/enum/forwardRef/TestEnum5.java.i
data/test/tools/javac/processing/model/element/TestElement.java.i
data/test/tools/javac/p1/AS.java.i
data/test/tools/javac/6863465/T6863465c.out.i
-data/test/tools/javac/diags/examples/HasBeenDeprecated.java.i
+data/make/test/HelloWorld.javadoc.gold.txt.i
data/test/tools/javac/generics/T4784207b.java.i
data/test/tools/javac/annotations/pos/Z2.java.i
-data/test/tools/javac/api/TestJavacTask.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MessageRetriever.java.i
-data/test/tools/apt/lib/Ignore.java.i
-data/test/tools/javadoc/annotations/annotateParams/pkg1/C.java.i
+data/test/tools/javac/varargs/warning/Warn5.java.i
+data/test/tools/javac/ClassLiterals/LiteralInterface_1.java.i
+data/test/com/sun/javadoc/AccessFrameTitle/p2/C2.java.i
+data/src/share/classes/com/sun/javadoc/ExecutableMemberDoc.java.i
data/test/tools/javac/mandatoryWarnings/unchecked/Test.java.i
data/test/tools/javac/api/TestJavacTaskScanner.java.i
data/test/tools/javac/resolve/Pos.java.i
-data/test/tools/javac/generics/GenLit1.java.i
+data/src/share/classes/com/sun/mirror/type/ClassType.java.i
data/test/tools/javac/typeAnnotations/failures/common/receiver/DuplicateAnnotationValue.out.i
-data/test/tools/javac/OverrideChecks/6738538/T6738538a.java.i
-data/src/share/classes/com/sun/javadoc/ThrowsTag.java.i
+data/test/tools/javac/generics/parametricException/J.java.i
+data/test/tools/javac/synthesize/Byte.java.i
data/src/share/classes/javax/tools/ForwardingFileObject.java.i
data/test/com/sun/javadoc/AccessH1/AccessH1.java.i
data/test/tools/javac/diags/examples/AnnotationMissingValues1.java.i
-data/test/com/sun/javadoc/testUseOption/pkg2/C3.java.i
+data/test/tools/javac/cast/6270087/T6270087.java.i
+data/test/com/sun/javadoc/testThrowsInheritence/Foo.java.i
data/test/tools/javac/staticImport/6695838/a/FooInterface.java.i
data/test/tools/javac/CyclicInheritance6/p1/B.java.i
-data/src/share/classes/javax/lang/model/util/ElementKindVisitor8.java.i
+data/test/com/sun/javadoc/testWarnings/pkg/package.html.i
data/test/tools/javac/diags/examples/EmptyCharLiteral.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java.i
-data/test/tools/javac/diags/examples/VarargsFilenameAdditional.java.i
-data/test/tools/javac/generics/wildcards/BoundBug.java.i
-data/test/tools/javac/processing/environment/HelloWorld.java.i
-data/test/tools/javac/generics/6711619/T6711619b.out.i
-data/test/tools/javac/diags/examples/IllegalComboModifiers.java.i
+data/test/tools/javac/ClassPathTest/ClassPathTest.sh.i
+data/test/tools/apt/mirror/declaration/pkg1/AnInterface.java.i
+data/test/tools/javac/diags/examples/SunApiFilename.java.i
data/test/tools/javac/6521805/T6521805e.java.i
data/test/tools/javac/api/TestGetScope.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/SourceToHTMLConverter.java.i
data/src/share/classes/sun/tools/javap/StackMapTableData.java.i
data/test/tools/javac/DefiniteAssignment/7003744/T7003744a.java.i
data/test/tools/javac/resolve/ResolveHarness.java.i
@@ -3365,20 +3359,20 @@ data/test/tools/javac/generics/7007615/acc2/AccessibilityCheck02.java.i
data/test/tools/javac/diags/examples/TypeVarCantBeDeref.java.i
data/test/tools/javac/processing/options/XprintDocComments.out.i
data/test/tools/javac/depOverrides/annotation/Test1A.out.i
+data/src/share/classes/com/sun/mirror/type/ReferenceType.java.i
data/src/share/opensource/javac/doc/javac_lifecycle/index.html.i
data/test/tools/javac/generics/7034511/T7034511a.java.i
data/test/tools/javac/generics/7015430/T7015430.out.i
-data/test/tools/javac/api/evalexpr/CompileFromString.java.i
data/test/tools/javac/generics/inference/7086601/T7086601b.java.i
data/test/tools/javac/warnings/6594914/T6594914a.java.i
-data/test/com/sun/javadoc/testTaglets/taglets/Foo.java.i
+data/test/tools/javac/T6214885.java.i
data/test/tools/javac/generics/odersky/List.java.i
-data/test/tools/javac/processing/6365040/T6365040.java.i
data/test/tools/javac/diags/examples/PrintProcessorInfo/processors/AnnoProc.java.i
-data/test/tools/javac/typeAnnotations/newlocations/BasicTest.out.i
+data/test/tools/javac/ConstantValues/test_ff2.java.i
+data/test/tools/javac/cast/7123100/T7123100b.out.i
data/test/tools/javac/DefiniteAssignment/T4721076.java.i
data/test/tools/javac/varargs/VarargsOverride.java.i
-data/src/share/classes/com/sun/tools/javac/main/OptionHelper.java.i
+data/test/tools/javac/diags/examples/DeprecatedPlural/DeprecatedClass.java.i
data/test/tools/javac/warnings/6594914/T6594914a.out.i
data/src/share/classes/com/sun/tools/classfile/LocalVariableTable_attribute.java.i
data/test/tools/javac/VerifyDA.java.i
@@ -3387,17 +3381,16 @@ data/test/tools/javac/warnings/Deprecation.lintAll.out.i
data/test/com/sun/javadoc/testMemberInheritence/inheritDist/A.java.i
data/test/tools/javac/diags/examples/AnnosWithoutProcessors/processors/AnnoProc.java.i
data/test/tools/javac/6979683/TestCast6979683_GOOD.java.i
-data/test/tools/javac/proprietary/WarnMethod.java.i
+data/test/tools/javadoc/generics/genericClass/expected.out.i
data/test/tools/javadoc/LangVers.java.i
data/test/tools/javac/AnonInnerException_3.java.i
-data/test/tools/javac/miranda/T4666866.java.i
data/src/share/classes/com/sun/tools/classfile/RuntimeAnnotations_attribute.java.i
data/src/share/classes/com/sun/tools/apt/mirror/declaration/TypeDeclarationImpl.java.i
data/test/tools/javac/generics/6356636/a/Bar.java.i
-data/test/tools/javac/diags/examples/Orphaned.java.i
+data/test/tools/javac/ExtDirs/ext2/pkg2.jar.i
data/src/share/classes/com/sun/tools/javap/AnnotationWriter.java.i
data/test/tools/javac/depOverrides/doccomment/Test2.java.i
-data/test/tools/javac/generics/rawOverride/7062745/T7062745pos.java.i
+data/test/com/sun/javadoc/testInlineLinkLabel/pkg/package.html.i
data/test/tools/javac/typeAnnotations/failures/LintCast.java.i
data/src/share/classes/com/sun/mirror/type/package.html.i
data/test/tools/javac/annotations/6214965/CompilerAnnotationTest.java.i
@@ -3406,50 +3399,49 @@ data/test/tools/javac/generics/typeargs/Superarg2.java.i
data/test/tools/javac/processing/werror/WErrorGen.out.i
data/test/tools/javac/ImportPackagePrivateInner/foo/Accessee.java.i
data/test/tools/apt/Options/servicesOptions.i
-data/test/tools/javap/T7004698.java.i
-data/test/tools/javac/typeAnnotations/failures/common/wildcards/DuplicateTypeAnnotation.out.i
+data/test/tools/javac/resolve/tests/PrimitiveOverload.java.i
+data/test/tools/javac/T6900149.java.i
data/src/share/classes/com/sun/source/tree/AssignmentTree.java.i
data/test/tools/javac/T6458823/TestClass.java.i
-data/test/tools/javac/fatalErrors/NoJavaLang.java.i
data/src/share/classes/javax/lang/model/element/ElementVisitor.java.i
-data/test/tools/javac/ClassFileModifiers/ClassModifiers.out.i
+data/test/tools/javac/6464451/ManyExitsInTry.java.i
data/test/tools/javac/modules/ModuleVersionTest01.java.i
data/test/tools/javap/typeAnnotations/ArrayClassLiterals2.java.i
data/test/tools/javac/diags/examples/ArrayDimMissing.java.i
data/src/share/opensource/javac/doc/javac_lifecycle/JavaCompiler.html.i
-data/test/tools/javac/processing/model/util/deprecation/ExpectedDeprecation.java.i
+data/test/com/sun/javadoc/testDeprecatedDocs/pkg/DeprecatedClassByAnnotation.java.i
data/test/tools/javac/diags/examples/EmptyBytecodeIdent.java.i
data/test/tools/javac/processing/model/6341534/dir/Foo.java.i
-data/test/tools/javac/positions/T6402077.java.i
data/src/share/classes/com/sun/tools/apt/mirror/declaration/FieldDeclarationImpl.java.i
data/test/tools/javac/T6665791.java.i
data/test/tools/javac/diags/examples/CantResolve.java.i
data/test/tools/javac/diags/examples/MissingReturnStatement.java.i
-data/src/share/classes/javax/lang/model/element/AnnotationMirror.java.i
+data/src/share/classes/com/sun/mirror/declaration/package-info.java.i
data/test/tools/javac/diags/examples/ExplicitParamsDoNotConformToBounds.java.i
data/test/tools/javac/generics/6985719/T6985719f.out.i
data/test/tools/javac/generics/6192945/Neg.out.i
data/test/tools/javac/QualifiedOuterThis2.java.i
-data/test/tools/javac/generics/abstract/T4717181c.java.i
+data/test/tools/javac/processing/6350124/Marked.java.i
data/test/tools/javac/generics/diamond/neg/Neg07.java.i
data/test/tools/javac/diags/examples/CantResolveArgs.java.i
-data/test/tools/javac/processing/6365040/ProcFoo.java.i
-data/src/share/classes/com/sun/tools/doclets/formats/html/StylesheetWriter.java.i
-data/test/tools/javac/InnerNamedConstant_2.java.i
+data/test/tools/javac/annotations/neg/Z13.java.i
+data/test/tools/javac/cast/6665356/T6665356.java.i
+data/test/tools/javac/annotations/neg/NoObjectMethods.java.i
data/test/tools/javac/generics/rare/Rare1.java.i
data/test/tools/javac/processing/model/element/TestMissingElement2/TestMissingInterface.java.i
data/src/share/classes/com/sun/tools/apt/Main.java.i
data/test/tools/javac/diags/examples/CantResolveArgsParams.java.i
-data/test/tools/javac/typeAnnotations/failures/common/wildcards/DuplicateAnnotationValue.java.i
-data/src/share/classes/com/sun/tools/javac/util/JavacMessages.java.i
+data/test/tools/javac/generics/typeargs/Metharg2.java.i
+data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_5.java.i
data/test/tools/javac/cast/6569057/T6569057.java.i
data/test/tools/javac/generics/inference/5080917/T5080917.java.i
data/test/tools/apt/Compile/Round4Apf.java.i
data/test/tools/javac/annotations/pos/RightTarget.java.i
-data/src/share/classes/javax/lang/model/util/ElementScanner6.java.i
-data/test/tools/javac/api/TestJavacTask_Lock.java.i
-data/src/share/classes/com/sun/tools/javac/resources/compiler.properties.i
+data/test/com/sun/javadoc/testModifier/TestModifier.java.i
+data/src/share/classes/com/sun/tools/javac/util/Options.java.i
+data/test/tools/javac/BoundClassError.java.i
data/test/tools/javac/generics/inference/5044646/p1/B.java.i
+data/test/com/sun/javadoc/testLinkOption/package-list.i
data/test/tools/apt/Discovery/discovery.sh.i
data/test/tools/javac/generics/5009937/T5009937.java.i
data/test/tools/javac/6668794/badClass/A.java.i
@@ -3457,9 +3449,9 @@ data/test/tools/javac/miranda/4711056/T2.java.i
data/test/tools/apt/Basics/com.sun.mirror.apt.AnnotationProcessorFactory.i
data/test/tools/javadoc/annotations/annotatePackage/pkg1/package.html.i
data/test/com/sun/javadoc/testOverridenMethods/pkg3/I1.java.i
-data/src/share/classes/com/sun/source/tree/UnaryTree.java.i
+data/test/tools/javac/generics/T6657499.java.i
data/test/tools/javac/generics/OverrideBridge.java.i
-data/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java.i
+data/test/tools/javac/protectedAccess/ProtectedMemberAccess3.java.i
data/test/tools/javac/mandatoryWarnings/deprecated/Test1.out.i
data/test/tools/javac/6547131/p/Outer.jasm.i
data/test/com/sun/javadoc/5093723/T5093723.java.i
@@ -3467,131 +3459,136 @@ data/test/tools/javac/overrridecrash/B.java.i
data/test/com/sun/javadoc/testRecurseSubPackages/pkg1/pkg2/C4.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/TextTag.java.i
data/src/share/classes/com/sun/tools/javac/tree/Pretty.java.i
-data/test/com/sun/javadoc/testTypeParams/pkg/ParamTest2.java.i
+data/test/tools/javac/generics/wildcards/ContraArg.java.i
data/test/tools/javac/ForwardReference/ForwardReference_5.java.i
data/test/tools/javac/failover/FailOver07.out.i
data/test/tools/javac/processing/options/testCommandLineClasses/p/NestedExamples.java.i
data/test/tools/javac/5017953/T5017953.java.i
data/test/tools/javac/jvm/6397652/com/test/Test$Test$Test.java.i
+data/test/tools/javac/generics/wildcards/neg/CastWarn14.java.i
data/test/tools/javac/ConditionalClass.java.i
data/test/com/sun/javadoc/testBadPackageFileInJar/pkg/C.java.i
-data/test/tools/javac/modules/ModuleResolverTest05.java.i
-data/test/tools/javac/generics/6413682/TestPos.java.i
+data/test/tools/javac/LabeledDeclaration.java.i
+data/test/tools/javac/cast/7005671/T7005671.java.i
data/test/tools/javac/conditional/6500343/T6500343b.java.i
data/test/tools/javac/mandatoryWarnings/unchecked/Test3.out.i
data/test/com/sun/javadoc/testSourceTab/DoubleTab/C.java.i
-data/test/tools/javac/generics/wildcards/AssignmentDifferentTypes3.java.i
-data/make/test/lib/src.gold.txt.i
+data/test/tools/javac/assert/Position.java.i
+data/test/tools/javac/warnings/DivZero.java.i
data/test/tools/javac/generics/6192945/Neg2.out.i
-data/test/tools/javac/Paths/Class-Path2.sh.i
+data/test/tools/javac/typeAnnotations/failures/common/innertypeparams/DuplicateAnnotationValue.out.i
data/src/share/classes/javax/lang/model/type/MirroredTypeException.java.i
data/test/tools/javac/boxing/Boxing1.java.i
-data/test/tools/javac/6402516/Checker.java.i
+data/test/tools/javac/InterfaceOverrideObject.java.i
+data/test/tools/javac/FloatingPointChanges/BadConstructorModifiers.out.i
+data/test/tools/javac/generics/inference/4942040/T4942040.java.i
data/test/com/sun/javadoc/ValidHtml/ValidHtml.java.i
-data/test/tools/javac/annotations/neg/Recovery1.java.i
+data/test/tools/javac/enum/T6509042.java.i
data/test/tools/javac/quid/T6999438.out.i
data/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationTypeDeclarationImpl.java.i
data/make/test/lib/javac.sh.i
data/test/tools/javac/HiddenAbstractMethod/two/Child.java.i
-data/test/tools/javac/6840059/T6840059.out.i
+data/test/tools/javac/diags/examples/IntfAnnotationMemberClash.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/markup/DocType.java.i
-data/test/tools/javac/policy/test1/simple.ABD.out.i
-data/test/tools/javac/enum/Def.java.i
-data/test/tools/javac/generics/diamond/7046778/DiamondAndInnerClassTest.java.i
+data/test/tools/javac/processing/6512707/T6512707.java.i
+data/make/netbeans/javah/nbproject/project.xml.i
+data/test/tools/javac/unicode/SupplementaryJavaID4.java.i
data/test/tools/apt/Options/Marked.java.i
-data/src/share/classes/com/sun/tools/javac/comp/Modules.java.i
-data/test/tools/javac/generics/diamond/pos/Pos01.java.i
+data/test/tools/javac/typeAnnotations/newlocations/ClassParameters.java.i
data/test/tools/javac/diags/examples/UnsupportedEncoding.java.i
data/test/tools/javac/processing/environment/round/InheritedAnnotation.java.i
-data/test/com/sun/javadoc/testMemberInheritence/diamond/Z.java.i
+data/test/tools/javac/limits/PoolSize1.java.i
data/test/tools/javac/diags/examples/TypeAnnotationsNotSupported.java.i
-data/test/tools/javac/generics/rare/Rare8.java.i
-data/test/tools/apt/mirror/declaration/EnumDecl.java.i
+data/test/tools/javac/processing/environment/round/SurfaceAnnotations.java.i
+data/src/share/classes/com/sun/tools/javadoc/TagImpl.java.i
data/test/tools/javac/cast/6286112/T6286112.java.i
-data/test/tools/javac/processing/model/element/TestMissingElement2/TestMissingGenericInterface2.java.i
data/test/tools/javac/DuplicateClass.java.i
data/test/tools/javac/miranda/T4279316d.java.i
data/test/tools/javac/enum/NestedEnum.java.i
data/src/share/classes/com/sun/tools/javac/processing/AnnotationProcessingError.java.i
data/test/tools/javac/enum/EnumPublicConstructor.java.i
data/test/tools/javac/overload/T4743490.java.i
+data/test/tools/javac/generics/diamond/7057297/T7057297.out.i
data/test/tools/apt/mirror/type/TypeVar.java.i
data/test/tools/javac/miranda/4686811/Tryit.java.i
-data/test/tools/javac/processing/warnings/gold_0.out.i
+data/test/tools/javac/FinallyWarn.java.i
+data/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java.i
data/test/tools/javac/6390045/T6390045a.java.i
data/test/tools/javac/mandatoryWarnings/deprecated/A.java.i
-data/test/com/sun/javadoc/testOverridenMethods/TestMultiInheritence.java.i
-data/test/tools/javac/Digits.java.i
-data/test/tools/javac/generics/rawSeparate/RetroLexer.java.i
+data/test/tools/javac/policy/test2/byfile.BA.out.i
+data/test/tools/javac/diags/examples/ProcSuspiciousClassName/processors/AnnoProc.java.i
+data/src/share/classes/javax/lang/model/type/package-info.java.i
data/test/com/sun/javadoc/testHtmlDocument/TestHtmlDocument.java.i
data/test/com/sun/javadoc/testNavagation/pkg/I.java.i
-data/test/tools/javac/annotations/neg/Z1.java.i
+data/test/tools/javac/generics/UncheckedArray.java.i
data/test/tools/javac/varargs/BadSyntax2.java.i
-data/test/tools/javac/diags/examples/IdentifierExpected.java.i
+data/test/tools/javac/processing/model/util/elements/TestGetConstantExpression.java.i
data/test/tools/javac/6402516/TestClass.java.i
-data/test/tools/javac/QualifiedAccess/QualifiedAccess_1.out.i
-data/test/tools/javac/typeAnnotations/failures/target/NotTypeUse.java.i
-data/test/tools/javac/SuperNew2.java.i
-data/test/tools/javac/implicitThis/6541876/T6541876a.java.i
+data/test/tools/javac/T5003235/T5003235c.out.i
+data/test/tools/javac/TryWithResources/BadTwrSyntax.out.i
+data/test/tools/javac/multicatch/Neg04eff_final.out.i
data/test/tools/javac/diags/examples/NotDefPublicCantAccess/NotDefPublicCantAccess.java.i
data/test/tools/javac/generics/inference/5081782/Pos.java.i
+data/test/tools/javac/AccessMethods/ChainedAssignment.java.i
+data/test/tools/javac/annotations/default/C.java.i
data/make/test/lib/javah.sh.i
data/test/tools/javac/Paths/Diagnostics.sh.i
-data/test/tools/javac/generics/6245699/T6245699.java.i
+data/test/tools/javadoc/annotations/defaults/pkg1/A.java.i
+data/test/tools/javah/ReadOldClass.sh.i
data/src/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java.i
-data/src/share/classes/com/sun/mirror/util/DeclarationFilter.java.i
-data/test/tools/javac/6302184/T6302184.sh.i
+data/test/tools/javac/warnings/6594914/T6594914b.java.i
+data/test/tools/javac/Increment.java.i
data/test/tools/javac/api/T6838467.java.i
-data/test/com/sun/javadoc/JavascriptWinTitle/p1/C.java.i
+data/test/tools/javac/diags/examples/ProcUseImplicit/ProcUseImplicit.java.i
data/test/tools/javac/diags/FileManager.java.i
data/test/com/sun/javadoc/testOverridenMethods/pkg3/I3.java.i
-data/test/tools/javac/api/T6395981.java.i
+data/test/tools/javac/T6881645.java.i
data/test/tools/javac/diags/examples/InvalidBinaryNumber.java.i
data/test/tools/javac/6863465/T6863465a.java.i
-data/test/tools/javac/generics/wildcards/AssignmentDifferentTypes4.java.i
+data/test/tools/javac/diags/examples/AlreadyDefinedClinit.java.i
data/test/tools/javac/generics/6356636/a/AbstractFoo.java.i
data/test/tools/javac/generics/typevars/4856983/T4856983.java.i
-data/test/com/sun/javadoc/testTagInheritence/pkg/TestAbstractClass.java.i
-data/src/share/classes/com/sun/tools/javap/JavapFileManager.java.i
+data/test/tools/javac/annotations/pos/Z4.java.i
+data/test/tools/javac/ClassFileModifiers/MemberModifiers.java.i
data/test/tools/javah/compareTest/README.i
data/test/tools/javah/6572945/gold/jni.dir.1/TestClass1_Inner1.h.i
data/test/tools/javac/StringsInSwitch/RSCL2.out.i
-data/src/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java.i
data/src/share/classes/com/sun/tools/javadoc/PrimitiveType.java.i
data/test/tools/javac/failover/FailOver12.out.i
data/test/tools/javac/generics/GenLit2.java.i
data/test/tools/javac/processing/warnings/gold_sv_warn_0_2.out.i
data/test/tools/javac/miranda/4686148/Test.java.i
data/src/share/classes/javax/lang/model/element/QualifiedNameable.java.i
+data/test/tools/javac/typeAnnotations/failures/common/typeArgs/DuplicateTypeAnnotation.out.i
data/src/share/classes/com/sun/tools/javac/code/Symbol.java.i
data/test/tools/javac/TryWithResources/InterruptedExceptionTest.java.i
data/test/tools/javac/processing/options/testPrintProcessorInfo/TestWithXstdout.java.i
-data/src/share/classes/com/sun/source/tree/ModuleDirectiveTree.java.i
data/test/tools/javac/T6567414.out.i
data/test/tools/javac/api/TestOperators.java.i
-data/test/tools/apt/Misc/Marked.java.i
+data/test/tools/javac/ForwardReference/UseBeforeDeclaration.java.i
data/test/tools/javac/diags/examples/MalformedFpLit.java.i
data/test/tools/javac/depOverrides/doccomment/Test1B.out.i
data/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C1.java.i
-data/test/tools/javac/boxing/Boxing4.java.i
+data/test/tools/javac/T6435291/T.jcod.i
data/test/tools/javac/generics/6910550/T6910550c.java.i
data/test/tools/javadoc/6964914/JavadocWarning.java.i
-data/src/share/classes/com/sun/source/util/SourcePositions.java.i
+data/test/tools/javadoc/completionFailure/pkg/B.java.i
data/test/tools/javac/generics/CatchTyparam.java.i
data/test/tools/javac/processing/environment/round/Part2.java.i
data/test/tools/javac/diags/examples/KindnameStaticInit.java.i
+data/test/tools/javac/FinalThisReference.java.i
+data/test/com/sun/javadoc/testMemberSummary/pkg2/A.java.i
data/test/tools/javac/literals/UnderscoreLiterals.java.i
-data/src/share/classes/com/sun/tools/classfile/Signature.java.i
+data/test/tools/javac/generics/WrongNew.java.i
data/test/tools/javac/Closure1.java.i
-data/test/tools/javac/generics/typevars/5060485/Compatibility.out.i
data/test/com/sun/javadoc/testHtmlComments/TestHtmlComments.java.i
-data/test/tools/javac/multicatch/Neg04eff_final.java.i
+data/src/share/classes/javax/lang/model/element/AnnotationValue.java.i
data/test/tools/javac/policy/simple.ABD.out.i
data/src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java.i
data/test/tools/javac/generics/inference/6638712/T6638712c.java.i
-data/test/tools/javac/enum/EnumImplicitPrivateConstructor.java.i
+data/test/tools/javac/generics/6476118/T6476118b.out.i
data/test/tools/javac/multicatch/7030606/T7030606.out.i
-data/test/tools/javac/generics/6192945/MethodNeg.out.i
+data/test/tools/javah/6572945/gold/jni.dir.1/TestClass1_Inner2.h.i
data/test/tools/javac/generics/T4695348.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java.i
data/test/tools/javap/T6729471.java.i
@@ -3602,24 +3599,23 @@ data/test/tools/javac/implicitThis/WhichImplicitThis2.java.i
data/test/tools/javac/staticImport/6665223/T6665223.java.i
data/test/tools/javac/AnonStaticMember_2.java.i
data/test/tools/javac/diags/examples/SunApiPlural/SunApiPlural.java.i
-data/make/netbeans/javah/build.xml.i
-data/test/tools/javac/NestedFinallyReturn.java.i
+data/test/tools/javac/javazip/good/B.java.i
data/test/tools/javac/generics/UnsoundInference.java.i
data/test/tools/javac/diags/examples/UnreachableCatch1.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/AnnotationTypeRequiredMemberWriter.java.i
+data/test/com/sun/javadoc/testNewLanguageFeatures/pkg/AnnotationTypeUndocumented.java.i
data/test/tools/javac/diags/examples/TypeReqRef.java.i
data/test/tools/javac/danglingDep/DepX.out.i
-data/src/share/classes/com/sun/tools/javac/tree/TreeInfo.java.i
-data/test/tools/javac/FinalInitializer.java.i
+data/test/com/sun/javadoc/constantValues/TestConstantValues2.java.i
+data/test/tools/javac/TryInInstanceInit.java.i
data/test/tools/javac/diags/examples/ProcFileReopening/ProcFileReopening.java.i
data/test/tools/javac/types/GenericTypeWellFormednessTest.java.i
data/test/tools/javac/generics/6182950/T6182950a.out.i
data/test/tools/apt/Basics/MyMarker.java.i
data/test/tools/javac/importChecks/InvalidImportsNoClasses.java.i
-data/test/tools/javac/generics/diamond/neg/Neg04.out.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/MemberSummaryWriter.java.i
data/test/tools/javac/varargs/warning/Warn3.java.i
data/test/tools/javac/generics/wildcards/neg/Unbounded.java.i
-data/test/tools/javac/processing/6348499/A.java.i
+data/test/tools/javac/varargs/6806876/T6806876.out.i
data/test/tools/javac/processing/model/element/TestMissingElement2/TestMissingClass.java.i
data/test/tools/javac/limits/ArrayDims4.java.i
data/test/tools/javac/generics/inference/6650759/T6650759d.java.i
@@ -3628,199 +3624,202 @@ data/test/tools/javac/cast/6302214/T6302214.java.i
data/test/tools/javac/multicatch/Neg03.out.i
data/test/tools/javac/mandatoryWarnings/deprecated/Test5.out.i
data/test/com/sun/javadoc/testSummaryHeading/TestSummaryHeading.java.i
-data/test/tools/javac/6199662/TreeScanner.java.i
+data/test/tools/javadoc/generics/genericClass/pkg1/A.java.i
data/test/tools/javac/processing/werror/WError1.out.i
-data/test/tools/javac/processing/model/element/TestTypeParameter.java.i
+data/test/tools/javac/api/T6400207.java.i
data/test/tools/javac/annotations/6365854/test1.out.i
-data/src/share/classes/javax/lang/model/util/ElementScanner8.java.i
+data/test/tools/javac/generics/rawOverride/Fail1.java.i
data/test/tools/javac/6902720/E2.java.i
-data/test/tools/javac/Enum1.java.i
+data/test/com/sun/javadoc/testCmndLineClass/pkg2/C3.java.i
data/test/tools/javac/generics/diamond/neg/Neg08.out.i
data/test/tools/javac/diags/examples/MightBeAssignedInLoop.java.i
data/test/tools/javac/Diagnostics/6722234/T6722234c.out.i
data/make/test/lib/classes.sh.i
+data/test/tools/javac/OverrideChecks/6400189/T6400189d.java.i
data/test/com/sun/javadoc/testIndex/TestIndex.java.i
-data/test/tools/apt/Discovery/PhantomUpdate.java.i
+data/test/tools/javac/generics/7022054/T7022054neg1.java.i
data/test/tools/javac/generics/MissingBridge.java.i
-data/test/tools/javac/generics/wildcards/AssignmentDifferentTypes9.java.i
+data/test/tools/javac/mandatoryWarnings/deprecated/Test3.out.i
data/test/tools/javac/Diagnostics/6722234/T6722234b_1.out.i
-data/src/share/classes/com/sun/tools/javac/util/ByteBuffer.java.i
-data/test/tools/javac/6835430/A.java.i
-data/test/tools/javac/CyclicInheritance2.java.i
-data/test/tools/javac/processing/6348193/T6348193.java.i
-data/src/share/classes/com/sun/tools/classfile/DefaultAttribute.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SeeTaglet.java.i
+data/test/tools/javap/classfile/T6887895.java.i
+data/test/tools/javac/SerialWarn.java.i
+data/test/tools/javac/processing/environment/HelloWorld.java.i
+data/test/tools/javac/diags/examples/MulticatchTypesMustBeDisjoint.java.i
+data/test/tools/apt/mirror/declaration/pkg1/pkg2/package.html.i
+data/test/tools/javac/processing/6994946/SyntaxErrorTest.out.i
data/src/share/opensource/javac/README-template.html.i
data/test/tools/javac/annotations/default/B.java.i
-data/test/tools/javac/T6554097.out.i
-data/test/tools/javac/resolve/tests/PrimitiveOverReferenceOverInferred.java.i
data/src/share/classes/com/sun/tools/javadoc/JavadocTodo.java.i
+data/test/tools/javac/generics/6372782/PlainForm.java.i
data/test/tools/javac/staticImport/6695838/a/Foo.java.i
-data/test/tools/javadoc/annotations/annotateParams/expected.out.i
+data/test/tools/javac/generics/6985719/T6985719g.java.i
data/test/tools/javac/EnclosingAccessCheck.java.i
+data/test/tools/apt/Basics/StaticFieldAnnotations.java.i
data/test/tools/javac/generics/rare/6665356/T6665356.out.i
data/test/tools/javac/diags/examples/ResourceMayNotBeAssigned.java.i
data/test/tools/javac/diags/examples/KindnameMethod.java.i
data/test/tools/javac/OverrideChecks/T4721069.java.i
-data/test/com/sun/javadoc/testDocFileDir/pkg/doc-files/subdir-excluded2/testfile.txt.i
-data/test/tools/javac/miranda/T4528315.java.i
-data/test/com/sun/javadoc/testNoPackagesFile/C.java.i
-data/test/tools/javac/boxing/NoBoxingInt.java.i
+data/test/tools/javac/multicatch/7030606/DisjunctiveTypeWellFormednessTest.java.i
+data/test/tools/javac/typeAnnotations/failures/common/arrayclass/InvalidLocation.out.i
+data/test/tools/javac/protectedInner/pkg1/Base.java.i
+data/test/tools/javac/T6227617.java.i
+data/test/tools/javac/generics/T4711570.java.i
data/test/tools/javac/LocalClasses_2.out.i
data/test/tools/javac/generics/typevars/5060485/Method.java.i
data/test/tools/javac/generics/InterfaceCast1.java.i
-data/test/tools/javac/enum/T5081785c.java.i
data/test/tools/javac/diags/examples/SunProprietary.java.i
data/test/tools/javac/diags/examples/LabelInUse.java.i
data/test/tools/javac/api/lib/ToolTester.java.i
-data/test/tools/javac/api/T6412669.java.i
data/test/tools/javac/generics/typevars/6804733/T6804733.out.i
-data/src/share/classes/sun/tools/javap/RuntimeConstants.java.i
+data/test/tools/javac/generics/wildcards/7034495/T7034495.java.i
data/test/tools/javac/typeAnnotations/failures/StaticMethods.out.i
data/test/tools/javac/generics/bridge1/A.java.i
data/src/share/classes/javax/lang/model/type/MirroredTypesException.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/XMLNode.java.i
+data/test/tools/javac/T6435291/T6435291.java.i
data/src/share/classes/com/sun/tools/classfile/Synthetic_attribute.java.i
data/test/tools/javac/OverridePosition.out.i
-data/test/tools/javac/unicode/SupplementaryJavaID3.java.i
-data/test/com/sun/javadoc/VersionNumber/p1/C.java.i
-data/test/tools/javac/T6351767.java.i
-data/test/tools/javac/api/6440333/T6440333.java.i
-data/test/tools/javac/tree/TreeScannerTest.java.i
-data/test/tools/javac/T6266772.java.i
-data/test/tools/javac/mandatoryWarnings/deprecated/B.java.i
+data/test/tools/javac/generics/inference/T6835428.java.i
+data/test/tools/javac/depDocComment/DeprecatedDocComment4.out.i
+data/test/tools/javac/generics/diamond/7030150/Pos01.java.i
+data/test/tools/javac/Closure5.java.i
data/test/tools/javac/generics/6723444/T6723444.out.i
data/test/tools/javac/InstanceInitException_1.java.i
data/test/tools/javac/typeAnnotations/failures/common/arrays/DuplicateAnnotationValue.java.i
data/test/tools/javac/Diagnostics/6799605/T6799605.out.i
data/src/share/classes/com/sun/tools/javac/jvm/Code.java.i
-data/test/com/sun/javadoc/testExternalOverridenMethod/pkg/XReader.java.i
+data/test/tools/javac/generics/forwardSeparateBound/ForwardSeparateBound1.java.i
data/test/tools/javac/newlines/Newlines.sh.i
-data/test/tools/javac/NameClash/One.java.i
-data/test/tools/javac/annotations/neg/Package.java.i
+data/test/tools/javac/VersionOpt.java.i
+data/test/tools/javac/depOverrides/annotation/Test1B2.out.i
+data/test/tools/javac/multicatch/Pos08.java.i
data/test/tools/javac/generics/T4711572.java.i
-data/src/share/classes/com/sun/tools/javac/code/Flags.java.i
+data/test/tools/javac/processing/6994946/SemanticErrorTest.java.i
data/src/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties.i
data/test/tools/javac/TryWithResources/UnusedResourcesTest.java.i
data/test/tools/javac/generics/6729401/T6729401.java.i
-data/test/tools/javac/generics/T4661029.java.i
-data/test/tools/javac/generics/T6557954.java.i
-data/make/build.xml.i
+data/test/tools/javac/generics/diamond/pos/Pos01.java.i
+data/test/tools/javac/generics/inference/6650759/T6650759l.java.i
+data/test/tools/javac/T6794959.java.i
+data/test/tools/javac/6979683/TestCast6979683_BAD37.java.i
data/src/share/classes/com/sun/tools/javadoc/JavadocMemberEnter.java.i
data/test/tools/javac/T6625520.java.i
-data/test/tools/javap/T4876942.java.i
+data/test/tools/javac/jvm/6397652/T6397652.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Group.java.i
data/test/com/sun/javadoc/testWarnBadParamNames/C.java.i
-data/test/tools/javac/multicatch/model/UnionTypeInfo.java.i
data/src/share/classes/com/sun/tools/javac/util/ClientCodeException.java.i
data/src/share/classes/javax/lang/model/util/AbstractElementVisitor8.java.i
-data/test/tools/javac/6464451/DeepNestedFinally.java.i
+data/test/tools/javac/diags/examples/UncheckedGenericArrayCreation.java.i
data/test/tools/javac/6558548/T6558548_latest.out.i
-data/test/tools/javac/5005368.java.i
+data/test/tools/javac/diags/examples/VerboseResolveMulti1.java.i
data/test/com/sun/javadoc/testCmndLineClass/C5.java.i
data/test/tools/javac/unicode/SupplementaryJavaID2.java.i
data/test/com/sun/javadoc/testSerializedFormDeprecationInfo/pkg1/C1.java.i
data/test/tools/javac/generics/inference/4941882/T4941882.java.i
data/test/tools/javac/ThrowsIntersection_4.java.i
-data/test/tools/javac/types/PrimitiveConversionTest.java.i
-data/test/com/sun/javadoc/testThrowsTag/TestThrowsTag.java.i
+data/test/tools/javadoc/FlagsTooEarly.java.i
+data/test/tools/javac/tree/TestToString.java.i
data/test/tools/javac/typeAnnotations/6967002/T6967002.out.i
-data/test/tools/javac/typeAnnotations/newlocations/Throws.java.i
-data/test/tools/javac/processing/model/element/TestResourceVariable.java.i
+data/src/share/classes/com/sun/tools/apt/mirror/type/ClassTypeImpl.java.i
+data/test/tools/javadoc/annotations/annotatePackage/Main.java.i
data/src/share/opensource/javac/doc/javac_lifecycle/contents.html.i
data/test/tools/javac/typeAnnotations/failures/common/receiver/InvalidLocation.out.i
data/test/tools/javac/diags/examples/EnclClassRequired.java.i
+data/test/tools/javac/annotations/default/Derr.java.i
+data/test/tools/javac/danglingDep/NoDepX.out.i
data/test/com/sun/javadoc/testSerializedFormDeprecationInfo/pkg1/C2.java.i
-data/test/tools/javac/generics/inference/7086601/T7086601a.out.i
+data/test/tools/javac/generics/6677785/T6677785.out.i
data/test/tools/javac/warnings/Serial.java.i
-data/test/tools/javac/T6972327.java.i
+data/test/tools/javac/SuperclassConstructorException.java.i
data/test/tools/javac/StringsInSwitch/BadlyTypedLabel1.out.i
-data/src/share/classes/com/sun/javadoc/ExecutableMemberDoc.java.i
+data/test/tools/javadoc/annotations/annotateParams/pkg1/C.java.i
data/test/tools/javac/typeAnnotations/TypeUseTarget.java.i
+data/src/share/classes/com/sun/tools/javac/parser/Token.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java.i
data/test/tools/javac/generics/diamond/neg/Neg03.java.i
data/test/tools/javac/OverrideChecks/InconsistentReturn.java.i
-data/test/tools/javac/annotations/6365854/T6365854.java.i
+data/test/tools/javac/api/evalexpr/CompileFromString.java.i
data/test/tools/javac/diags/examples/CantResolveLocation.java.i
-data/test/tools/javac/ConstantValues/test_ff2.java.i
+data/test/tools/javac/typeAnnotations/newlocations/BasicTest.out.i
data/test/tools/javac/literals/BadBinaryLiterals.6.out.i
-data/test/tools/javadoc/sourceOption/SourceOption.java.i
data/test/tools/javac/DefiniteAssignment/DUSwitch.java.i
-data/test/tools/javac/enum/AbstractEmptyEnum.java.i
+data/test/tools/javac/generics/Casting3.java.i
data/test/tools/javah/SubClassConsts.java.i
data/test/tools/javac/SuperMethodResolve.java.i
-data/test/tools/javac/depOverrides/annotation/Q.java.i
+data/test/tools/javah/6572945/gold/jni.file.3.i
data/test/tools/javac/OverrideChecks/InterfaceOverride.java.i
data/test/tools/javac/generics/inference/6995200/T6995200.java.i
data/test/tools/javac/generics/inference/6369605/T6369605a.java.i
-data/src/share/classes/com/sun/tools/apt/mirror/type/InterfaceTypeImpl.java.i
+data/test/tools/javac/annotations/pos/Parameter.java.i
data/test/tools/javac/tree/TestAnnotatedAnonClass.java.i
data/test/com/sun/javadoc/testClassCrossReferences/package-list.i
-data/test/tools/javac/T5048776.java.i
+data/test/com/sun/javadoc/testSimpleTag/C.java.i
data/test/tools/javac/diags/examples/EnumNoSubclassing.java.i
data/make/netbeans/common/standard-context-menu-items.ent.i
data/test/tools/javac/varargs/6313164/p1/A.java.i
data/test/tools/javac/typeAnnotations/failures/common/newarray/InvalidLocation.java.i
-data/test/tools/javac/cast/7005671/T7005671.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/Taglet.java.i
-data/test/tools/apt/Basics/foo/bar/Quux.java.i
+data/test/tools/javac/generics/6413682/TestPos.java.i
+data/test/tools/javac/T5003235/T5003235b.out.i
+data/src/share/classes/com/sun/tools/classfile/ModuleData_attribute.java.i
data/test/tools/javac/processing/6994946/SemanticErrorTest.2.out.i
data/test/tools/javac/enum/Enum1.java.i
data/test/tools/javac/generics/rare/Rare10.java.i
-data/src/share/classes/com/sun/tools/javac/parser/Token.java.i
+data/test/com/sun/javadoc/testDeprecatedDocs/pkg/TestError.java.i
data/test/tools/javac/processing/messager/MessagerBasics.java.i
data/test/tools/javac/diags/examples/AbstractCantBeInstantiated.java.i
-data/src/share/classes/com/sun/tools/javac/util/Messages.java.i
-data/src/share/classes/javax/lang/model/type/package-info.java.i
-data/test/com/sun/javadoc/testTagInheritence/pkg/TestSuperSuperInterface.java.i
-data/test/tools/javac/T6881645.java.i
+data/test/tools/javac/generics/rawSeparate/RetroLexer.java.i
+data/test/com/sun/javadoc/testSubTitle/pkg/C.java.i
+data/test/tools/javac/generics/inference/6638712/T6638712d.java.i
+data/test/tools/javac/api/T6395981.java.i
data/test/com/sun/javadoc/testLegacyTaglet/ToDoTaglet.java.i
data/test/tools/javah/T5070898.java.i
data/test/tools/javac/missingSuperRecovery/MissingSuperRecovery.java.i
-data/test/tools/javac/T6245591.java.i
+data/test/tools/javac/binaryCompat/T1.java.i
data/test/tools/javac/generics/6677785/T6677785.java.i
data/src/share/classes/javax/tools/DiagnosticCollector.java.i
data/test/tools/apt/Basics/GenClass.java.i
data/test/tools/javac/diags/examples/MalformedSupported/processors/AnnoProc.java.i
data/test/tools/javadoc/annotations/missing/somepackage/MissingAnnotationClass.java.i
data/test/com/sun/javadoc/constantValues/A.java.i
-data/test/com/sun/javadoc/testUseOption/pkg1/C2.java.i
+data/test/tools/javac/generics/typevars/5060485/Compatibility.out.i
data/src/share/classes/com/sun/source/tree/ModifiersTree.java.i
data/test/tools/javac/AnonStaticMember_1.java.i
data/test/com/sun/javadoc/testNotifications/TestNotifications.java.i
data/test/tools/javac/InnerNamedConstant_2.sh.i
-data/test/tools/javac/api/T6400207.java.i
-data/test/tools/javac/diags/examples/MulticatchTypesMustBeDisjoint.java.i
+data/test/tools/javac/processing/model/element/TestTypeParameter.java.i
+data/make/netbeans/apt/build.xml.i
+data/test/tools/javac/processing/6348193/T6348193.java.i
data/test/tools/javac/HiddenAbstractMethod/Test.i
data/test/com/sun/javadoc/testSuperclassInSerialForm/pkg/SubClass.java.i
data/test/tools/javac/generics/inference/6638712/T6638712a.java.i
data/test/tools/javac/diags/examples/VerboseResolveMulti.java.i
data/src/share/classes/com/sun/tools/javadoc/Main.java.i
data/test/tools/javac/InnerClassesAttribute/Test.java.i
-data/test/tools/javac/SuperMeth.java.i
+data/test/tools/javac/6390045/T6390045b.java.i
data/test/tools/javadoc/annotations/badVals/Main.java.i
-data/test/tools/javac/capture/Capture5.java.i
+data/test/tools/javac/modules/ModuleAttributeTest01.java.i
data/test/tools/javac/generics/inference/6650759/T6650759g.java.i
-data/test/com/sun/javadoc/testThrowsTag/pkg/T5.java.i
-data/test/tools/javac/SuperclassConstructorException.java.i
+data/test/tools/javac/api/T6358786.java.i
+data/test/tools/javac/T6972327.java.i
data/test/tools/javac/generics/typevars/T6880344.java.i
data/test/tools/javac/generics/7020657/T7020657pos.java.i
-data/test/com/sun/javadoc/testSubTitle/pkg/C.java.i
+data/test/tools/javac/generics/6946618/T6946618b.out.i
+data/test/tools/javac/cast/7005095/T7005095neg.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/SingleIndexWriter.java.i
data/test/tools/javac/diags/examples/ErrorReadingFile.java.i
data/test/tools/javac/QualifiedNewScope.java.i
-data/test/tools/javac/enum/EnumProtectedConstructor.java.i
+data/test/tools/javac/PackageClassAmbiguity/Bad.java.i
data/test/tools/javap/classfile/deps/T6907575.java.i
-data/test/tools/javac/Paths/6638501/test1/SayHelloToo.java.i
+data/test/tools/javac/diags/examples/NotDefAccessClassIntfCantAccess/NotDefAccessClassIntfCantAccess.java.i
data/test/tools/javac/policy/simple.ACD.out.i
data/test/tools/javac/generics/6372782/PlanarVectorVariable.java.i
-data/test/tools/javac/typeAnnotations/failures/Scopes.java.i
+data/test/tools/javac/TryWithResources/BadTwr.out.i
data/test/tools/javac/typeAnnotations/failures/common/newarray/MissingAnnotationValue.out.i
data/test/tools/javac/meth/TestCP.java.i
data/test/tools/javac/api/6452876/T6452876.java.i
data/test/tools/javac/diags/examples/NameClashSameErasureNoOverride1.java.i
+data/test/tools/javac/diags/examples/IllegalDot.java.i
data/test/tools/javac/DefiniteAssignment/DUParam1.java.i
-data/test/tools/javac/AnonymousProtect/AnonymousProtect.java.i
+data/src/share/classes/com/sun/tools/javac/util/Log.java.i
data/test/tools/javac/synthesize/Main.java.i
data/test/tools/javac/generics/7034019/T7034019c.java.i
data/test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java.i
@@ -3832,32 +3831,29 @@ data/test/tools/javac/scope/6225935/T6214959.java.i
data/test/tools/javac/T6558476.java.i
data/test/tools/javac/annotations/neg/ArrayLit.java.i
data/test/tools/javac/generics/7034019/T7034019a.java.i
-data/test/tools/javac/generics/6956758/T6956758pos.java.i
+data/test/tools/javac/diags/examples/IntfMethodCantHaveBody.java.i
+data/test/tools/javac/processing/model/6341534/dir/package-info.java.i
data/test/tools/javac/DefiniteAssignment/ConstantInfiniteWhile.java.i
data/test/tools/javac/generics/classreader/HArrayMethod.java.i
-data/test/tools/javac/diags/examples/DotClassExpected.java.i
data/src/share/classes/javax/lang/model/type/UnionType.java.i
data/test/tools/javac/enum/ExplicitlyFinalEnum2.java.i
data/test/tools/javac/InnerMemberRegression.java.i
data/test/tools/javac/depDocComment/SuppressDeprecation.out.i
-data/test/tools/javac/diags/examples/AnonClassImplInterfaceNoArgs.java.i
+data/src/share/classes/com/sun/tools/classfile/Signature.java.i
data/test/tools/javac/T6394563.warn.out.i
-data/src/share/classes/com/sun/tools/javap/BasicWriter.java.i
+data/test/tools/javac/UncaughtOverflow.java.i
data/test/tools/javac/depOverrides/annotation/Test3.out.i
data/test/tools/javac/T6358168.java.i
-data/test/tools/javac/diags/examples/AnnotationsNotSupported.java.i
-data/test/tools/javac/failover/FailOver08.java.i
-data/test/tools/javac/Paths/6638501/test/SayHello.java.i
+data/src/share/classes/com/sun/tools/javac/jvm/Target.java.i
data/src/share/classes/com/sun/source/tree/TypeParameterTree.java.i
data/test/tools/javac/typeAnnotations/failures/common/typeArgs/MissingAnnotationValue.out.i
data/test/com/sun/javadoc/testNoPackagesFile/TestNoPackagesFile.java.i
+data/test/tools/javap/classfile/deps/T6907575.out.i
data/src/share/classes/com/sun/tools/apt/mirror/declaration/MemberDeclarationImpl.java.i
data/src/share/classes/com/sun/tools/apt/mirror/declaration/DeclarationMaker.java.i
data/test/com/sun/javadoc/testTopOption/TestTopOption.java.i
data/test/tools/javac/tree/T6993305.java.i
-data/test/tools/javac/Paths/6638501/WsCompileExample.java.i
-data/test/tools/javadoc/generics/throwsGeneric/expected.out.i
-data/test/com/sun/javadoc/testHiddenMembers/pkg/BaseClass.java.i
+data/test/tools/javac/cast/6302956/T6302956.java.i
data/src/share/classes/javax/tools/Diagnostic.java.i
data/test/com/sun/javadoc/testLinkOption/pkg2/C2.java.i
data/test/tools/javadoc/dupOk/DupOk.java.i
@@ -3880,24 +3876,23 @@ data/test/tools/javac/diags/examples/ImportRequiresCanonical/p/ExtendsBase.java.
data/test/tools/javac/generics/6531090/T6531090b.java.i
data/test/com/sun/javadoc/testLinkTaglet/checkPkg/B.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java.i
-data/test/com/sun/javadoc/testDeprecatedDocs/pkg/TestException.java.i
+data/src/share/classes/javax/lang/model/util/ElementFilter.java.i
data/test/tools/javac/conditional/6500343/T6500343a.java.i
data/test/tools/javac/nio/compileTest/CompileTest.java.i
data/test/tools/javac/generics/wildcards/neg/CastWarn7.java.i
-data/test/com/sun/javadoc/testUseOption/TestUseOption.java.i
+data/test/tools/javac/AnonymousProtect/AnonymousProtect.java.i
data/test/tools/javac/diags/examples/GenericThrowable.java.i
data/test/tools/javac/generics/6182950/T6182950a.java.i
-data/test/tools/javac/generics/6495506/A.java.i
data/test/tools/javac/abstract/U1.java.i
data/test/tools/javac/T5003235/T5003235a.java.i
-data/test/tools/javac/CyclicInheritance.out.i
+data/test/tools/apt/mirror/declaration/AnnoTypeElemDecl.java.i
data/test/tools/javac/multicatch/Neg07.java.i
-data/test/tools/apt/Compile/WrappedStaticApf.java.i
+data/test/tools/javac/generics/6495506/A.java.i
data/test/tools/javac/util/T6597678.java.i
-data/test/tools/javac/InterfaceOverrideObject.java.i
+data/test/tools/javadoc/generics/genericSuper/expected.out.i
data/test/tools/javac/varargs/warning/Warn1.java.i
-data/src/share/classes/javax/tools/StandardJavaFileManager.java.i
-data/test/tools/javac/diags/examples/UncheckedFilenameAdditional.java.i
+data/test/tools/javac/generics/classreader/HMethod.java.i
+data/test/tools/javac/NestedInnerClassNames.out.i
data/test/tools/javac/diags/examples/NameClashSameErasureNoHide.java.i
data/test/tools/javac/api/6422327/T6422327.other.i
data/test/tools/javac/T6554097.java.i
@@ -3916,50 +3911,52 @@ data/test/com/sun/javadoc/testPackageDeprecation/pkg1/Foo.java.i
data/test/com/sun/javadoc/testExternalOverridenMethod/TestExternalOverridenMethod.java.i
data/test/tools/javac/annotations/neg/Z3.java.i
data/test/tools/javac/tree/JavacTreeScannerTest.java.i
+data/test/tools/javac/6521805/T6521805a_2.out.i
data/src/share/classes/com/sun/tools/classfile/SourceFile_attribute.java.i
data/src/share/classes/com/sun/mirror/declaration/AnnotationTypeDeclaration.java.i
data/test/tools/javac/diags/examples/IllegalInitializer.java.i
data/test/tools/javac/generics/diamond/T6939780.out.i
-data/test/tools/javac/T7042623.java.i
-data/test/tools/javac/VersionOpt.java.i
+data/test/com/sun/javadoc/testThrowsTag/TestThrowsTag.java.i
+data/test/tools/javac/diags/examples/DotClassExpected.java.i
data/test/com/sun/javadoc/DocRootSlash/p1/package.html.i
data/test/tools/javac/diags/examples/UndefinedLabel.java.i
data/test/tools/javac/generics/inference/5070671/T5070671.java.i
data/src/share/classes/com/sun/source/tree/AnnotationTree.java.i
data/test/tools/javac/generics/6531090/T6531090a.java.i
data/src/share/classes/com/sun/tools/classfile/Deprecated_attribute.java.i
-data/test/tools/javac/T6366196.java.i
+data/test/tools/javac/diags/examples/HasBeenDeprecated.java.i
data/test/tools/javac/cast/4916620/T4916620.java.i
data/src/share/classes/sun/tools/javap/LocVarData.java.i
data/test/req.flg.i
data/test/tools/javac/generics/inference/6718364/T6718364.out.i
data/test/tools/javac/6996626/Main.java.i
data/test/tools/javac/diags/examples/ProcIllegalFileName/processors/AnnoProc.java.i
-data/test/tools/javac/generics/compat/OverrideBridge3.java.i
+data/test/tools/javac/diags/examples/MulticatchCantBeAssigned.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/markup/StringContent.java.i
-data/src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MetaKeywords.java.i
+data/test/tools/javac/generics/typevars/5060485/Neg2.java.i
+data/test/tools/javac/5045412/Foo.java.i
data/make/README.i
data/test/tools/javadoc/6964914/JavacWarning.java.i
data/test/tools/javac/6668794/badClass/Test.java.i
data/test/tools/javac/foreach/IntersectIterator.java.i
-data/test/tools/javac/depOverrides/doccomment/Test2Q.out.i
+data/src/share/classes/sun/tools/javap/CPX2.java.i
data/src/share/classes/com/sun/tools/apt/mirror/type/TypeMirrorImpl.java.i
data/test/tools/javac/modules/ModuleAnnotsTest01.java.i
-data/src/share/classes/com/sun/source/util/TaskListener.java.i
-data/test/com/sun/javadoc/testBadPackageFileInJar/badPackageFileInJar.jar.i
+data/test/tools/javac/T6458823/MyProcessor.java.i
+data/src/share/classes/com/sun/tools/javac/util/AbstractLog.java.i
data/test/com/sun/javadoc/testUnnamedPackage/BadSource.java.i
data/test/com/sun/javadoc/testUnnamedPackage/C.java.i
-data/src/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java.i
-data/test/tools/javac/limits/LongName.java.i
+data/test/tools/javac/T6595666.java.i
+data/test/tools/javac/T7093325.java.i
data/test/tools/javac/diags/examples/ErrProcMessager/processors/AnnoProc.java.i
-data/test/tools/javac/NestedInnerClassNames.sh.i
-data/test/tools/javap/6937244/T6937244A.java.i
-data/test/tools/javac/typeAnnotations/failures/common/typeArgs/DuplicateTypeAnnotation.out.i
+data/test/tools/javac/annotations/pos/package-info.java.i
+data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_6.java.i
+data/test/tools/javac/generics/6956758/T6956758pos.java.i
data/test/tools/javac/warnings/DivZero.lint.out.i
data/src/share/classes/com/sun/tools/javac/util/PropagatedException.java.i
data/src/share/classes/com/sun/tools/javah/resources/win32_x86.properties.i
data/src/share/classes/com/sun/tools/javac/util/Constants.java.i
+data/test/tools/javac/literals/T6891079.out.i
data/src/share/classes/com/sun/tools/apt/mirror/apt/RoundStateImpl.java.i
data/test/com/sun/javadoc/testModifier/ModifierAbstract.java.i
data/test/tools/javac/T6341023.java.i
@@ -3968,26 +3965,25 @@ data/test/tools/javah/T6994608.java.i
data/test/tools/javac/QualifiedAccess/pack1/P2.java.i
data/test/tools/javac/T6238612.java.i
data/test/tools/javac/4917091/Test256a.out.i
-data/test/tools/javac/generics/ArrayClone.java.i
+data/test/tools/javadoc/InlineTagsWithBraces.java.i
data/src/share/classes/com/sun/tools/javadoc/MethodDocImpl.java.i
data/test/tools/javac/scope/6225935/a/Named.java.i
data/test/tools/javac/Paths/Class-Path.sh.i
data/test/tools/javac/resolve/tests/ReferenceOverload.java.i
-data/test/tools/javac/processing/errors/TestSuppression.java.i
+data/test/tools/javac/NonStaticFieldExpr3.out.i
data/test/com/sun/javadoc/testMemberInheritence/inheritDist/B.java.i
-data/test/tools/javac/diags/examples/UnsupportedExoticID.java.i
+data/src/share/opensource/javac/doc/javac_lifecycle/ToDo.html.i
data/test/tools/javac/diags/examples/ProcFileCreateLastRound/ProcFileCreateLastRound.java.i
-data/test/tools/javac/ExceptionalFinally2.java.i
-data/test/tools/javac/literals/BadUnderscoreLiterals.6.out.i
+data/test/tools/javac/generics/bridge1/C.java.i
data/test/tools/javac/generics/6372782/Vector.java.i
-data/test/tools/javac/options/T7022337.java.i
-data/test/tools/javac/T6900149.java.i
+data/test/com/sun/javadoc/VersionNumber/p1/C.java.i
+data/test/tools/javac/varargs/7043922/T7043922.java.i
data/test/tools/javac/generics/typevars/6804733/T6804733.java.i
data/test/tools/javac/implicitThis/NewBeforeOuterConstructed.java.i
data/src/share/classes/com/sun/tools/doclets/Taglet.java.i
data/test/tools/javap/T6622232.java.i
-data/src/share/classes/javax/lang/model/util/AbstractElementVisitor7.java.i
-data/test/tools/apt/Basics/StaticMethodAnnotations.java.i
+data/test/tools/javac/diags/examples/AnnotationsNotSupported.java.i
+data/test/tools/javac/generics/wildcards/AssignmentDifferentTypes3.java.i
data/test/tools/javac/generics/inference/6650759/T6650759c.java.i
data/test/tools/javac/processing/warnings/HelloWorld.java.i
data/test/tools/javac/diags/examples/UncheckedImplement.java.i
@@ -3995,179 +3991,177 @@ data/test/tools/javac/diags/examples/NoArgs.java.i
data/test/tools/javac/synthesize/Float.java.i
data/src/share/classes/com/sun/tools/javadoc/ThrowsTagImpl.java.i
data/test/com/sun/javadoc/testLinkTaglet/checkPkg/A.java.i
-data/test/tools/javac/typeAnnotations/newlocations/Parameters.java.i
data/test/tools/javac/6734819/T6734819c.java.i
data/src/share/classes/javax/lang/model/util/TypeKindVisitor7.java.i
-data/test/tools/javac/AnonInnerException_1.java.i
-data/test/tools/javac/diags/examples/UncheckedPluralAdditional/UncheckedFilename1.java.i
+data/test/tools/javac/diags/examples/AnonClassImplInterfaceNoArgs.java.i
+data/test/com/sun/javadoc/testHiddenMembers/pkg/BaseClass.java.i
data/src/share/classes/javax/lang/model/element/VariableElement.java.i
data/test/tools/javac/generics/wildcards/neg/CastFail1.java.i
-data/test/tools/javac/Diagnostics/6722234/T6722234b.java.i
+data/test/tools/javap/T6715753.java.i
data/test/tools/javac/scope/HashCollisionTest.java.i
data/test/tools/javac/6717241/T6717241b.out.i
data/test/tools/javac/typeAnnotations/failures/common/innertypeparams/DuplicateTypeAnnotation.java.i
-data/test/tools/javac/Diagnostics/6860795/T6860795.out.i
+data/test/tools/javac/processing/model/element/TestMissingElement2/Generator.java.i
data/src/share/classes/com/sun/mirror/apt/AnnotationProcessorListener.java.i
data/test/tools/javac/multicatch/Neg05.out.i
data/test/tools/javac/synthesize/Long.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocument.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/LayoutParser.java.i
-data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_10.java.i
+data/test/tools/javac/warnings/Deprecation.java.i
data/test/tools/javac/cast/6270087/T6270087neg.java.i
data/test/tools/javac/generics/diamond/neg/Neg12.out.i
data/test/tools/javac/scope/6225935/a/Private.java.i
+data/test/tools/javac/typeAnnotations/InnerClass.java.i
data/src/share/classes/com/sun/tools/javac/util/Position.java.i
-data/test/tools/javac/6857948/T6857948.java.i
data/test/tools/javac/diags/examples/UnsupportedUnderscoreLiteral.java.i
-data/test/tools/javac/diags/examples/NameClashSameErasureNoOverride.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletOutput.java.i
+data/src/share/classes/com/sun/tools/javac/main/CommandLine.java.i
+data/test/tools/javac/T6224167.out.i
data/test/tools/javac/processing/warnings/gold_sv_none.out.i
data/test/tools/javac/typeAnnotations/failures/target/NotTypeUse.out.i
data/test/tools/javac/Verify.java.i
-data/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java.i
+data/test/tools/javac/positions/T6402077.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java.i
data/test/tools/javac/ProtectedInnerClass/p2/ProtectedInnerClass2.java.i
data/src/share/classes/javax/lang/model/type/UnknownTypeException.java.i
data/test/com/sun/javadoc/testCmndLineClass/pkg1/package.html.i
data/test/tools/javac/generics/6245699/T6245699b.java.i
+data/test/tools/javac/diags/examples/FloatNumberTooSmall.java.i
data/test/tools/javac/generics/typevars/6680106/T6680106.java.i
-data/test/tools/javac/diags/examples/DiamondNonGeneric.java.i
-data/test/tools/javah/4942232/Test.java.i
-data/test/tools/javac/diags/examples/UnclosedBytecodeIdent.java.i
+data/src/share/classes/com/sun/source/tree/ModuleDirectiveTree.java.i
+data/test/tools/javac/depDocComment/SuppressDeprecation.java.i
+data/test/tools/javac/diags/examples/AnonymousClass.java.i
data/test/com/sun/javadoc/testTagInheritence/pkg/TestTagInheritence.java.i
-data/test/tools/javac/diags/examples/TryWithoutCatchOrFinallyOrResource.java.i
+data/test/tools/javac/types/CastTest.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties.i
data/test/tools/javac/processing/model/util/filter/Foo1.java.i
-data/test/tools/javac/generics/wildcards/T5097548b.java.i
+data/test/tools/javac/DeepStringConcat.java.i
data/src/share/classes/com/sun/tools/javac/model/FilteredMemberList.java.i
data/test/tools/javac/accessVirtualInner/b/B.java.i
data/test/tools/javap/stackmap/T6271292.sh.i
data/test/tools/javac/4846262/Test.sh.i
+data/test/tools/javac/cast/6548436/T6548436d.java.i
data/test/tools/javac/diags/examples/IntfAnnotationCantHaveTypeParams.java.i
-data/test/tools/javadoc/generics/genericClass/Main.java.i
-data/test/tools/javac/diags/examples/VarargsAndOldArraySyntax.java.i
+data/test/tools/javap/typeAnnotations/Presence.java.i
data/test/tools/javac/generics/diamond/7030150/Neg01.java.i
+data/test/com/sun/javadoc/testSerializedFormDeprecationInfo/pkg1/C3.java.i
data/test/tools/javac/types/CastObjectToPrimitiveTest.out.i
-data/src/share/classes/com/sun/mirror/type/AnnotationType.java.i
-data/src/share/classes/com/sun/tools/javadoc/AnnotationValueImpl.java.i
-data/test/tools/javac/diags/examples/ExceptAlreadyCaught.java.i
-data/test/com/sun/javadoc/testLinkTaglet/TestLinkTaglet.java.i
+data/test/tools/javac/generics/inference/6638712/T6638712b.out.i
+data/test/tools/javac/generics/inference/6943278/T6943278.java.i
+data/test/tools/javac/generics/inference/7086586/T7086586.out.i
data/test/tools/javac/varargs/6993978/T6993978neg.out.i
-data/test/tools/javac/generics/diamond/7057297/T7057297.out.i
+data/src/share/classes/com/sun/tools/javadoc/Messager.java.i
data/test/tools/javadoc/nestedClass/NestedClassB.java.i
data/test/tools/javac/typeAnnotations/failures/StaticFields.java.i
data/test/tools/javac/processing/6634138/T6634138.java.i
data/test/tools/javac/T4093617/T4093617.out.i
data/test/tools/javac/enum/6384542/T6384542.java.i
data/test/tools/javac/diags/examples/EnumsMustBeStatic.java.i
-data/test/tools/javac/treepostests/TreePosTest.java.i
+data/test/tools/apt/Compile/WarnAPF.java.i
data/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java.i
-data/test/tools/javac/generics/6372782/AbstractVector.java.i
-data/test/tools/javac/scope/6225935/Bar.java.i
-data/src/share/classes/com/sun/source/tree/NewArrayTree.java.i
+data/test/tools/javadoc/enum/docComments/Main.java.i
+data/test/tools/apt/mirror/declaration/ClassDecl.java.i
data/test/tools/javac/api/6437999/Utf8.java.i
data/make/Makefile-classic.i
data/test/tools/apt/Misc/Misc.java.i
data/src/share/classes/com/sun/tools/javap/StackMapWriter.java.i
data/test/tools/javac/cast/6586091/T6586091.java.i
-data/test/tools/javac/generics/wildcards/neg/CastFail9.java.i
+data/test/tools/javac/diags/examples/MalformedSupported/MalformedSupported.java.i
data/test/tools/javac/ForwardReference/T6676362a.java.i
-data/test/tools/javac/BadOptimization/DeadCode1.java.i
-data/src/share/classes/com/sun/tools/javap/ConstantWriter.java.i
+data/test/tools/javac/processing/6365040/T6365040.java.i
+data/test/tools/javac/OverrideChecks/InterfaceImplements.java.i
data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_8.java.i
data/test/tools/javac/diags/examples/TrustMeOnReifiableVarargsParam.java.i
data/test/tools/javac/SwitchScope.java.i
data/test/tools/javac/generics/diamond/neg/Neg02.java.i
-data/test/tools/javac/T5090006/T5090006.java.i
+data/test/tools/javac/AbstractOverride.java.i
data/test/tools/javac/enum/forwardRef/TestEnum1.java.i
data/test/tools/javac/PrivateUplevelConstant.java.i
data/test/tools/javac/parser/StringFoldingTest.java.i
data/test/tools/javac/LocalClasses_1.java.i
data/test/tools/javac/diags/examples/IncompatibleUpperBounds.java.i
-data/test/tools/javac/FinalInitializer_2.java.i
+data/test/tools/javac/typeAnnotations/failures/common/arrayclass/InvalidLocation.java.i
data/src/share/classes/com/sun/source/tree/WildcardTree.java.i
-data/src/share/classes/sun/tools/javap/JavapPrinter.java.i
+data/test/tools/javac/expression/NullAppend2.java.i
data/test/tools/javadoc/generics/throwsGeneric/pkg1/A.java.i
data/test/tools/javac/generics/inference/4954546/T4954546.java.i
data/test/tools/javac/TryWithResources/ExplicitFinal.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties.i
-data/src/share/classes/com/sun/javadoc/AnnotationTypeElementDoc.java.i
-data/test/tools/javac/T6231246/T6231246.java.i
+data/test/tools/javac/typeAnnotations/failures/IncompleteVararg.out.i
+data/test/tools/javac/6668794/badSource/Test.java.i
+data/test/tools/javac/T6351767.java.i
data/test/tools/javac/ConstantValues/ConstValInlining.java.i
-data/test/tools/javap/typeAnnotations/ArrayClassLiterals.java.i
-data/test/tools/javac/diags/examples/WarnForwardRef.java.i
-data/test/tools/javac/cast/6548436/T6548436d.java.i
-data/test/tools/javac/6464451/BigFinally.java.i
+data/test/tools/javap/typeAnnotations/ArrayClassLiterals.java.i
+data/test/tools/javac/protectedAccess/ProtectedMemberAccess4.out.i
+data/test/tools/javac/diags/examples/NoJavaLang.java.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java.i
+data/test/tools/javac/cast/7123100/T7123100a.out.i
data/test/tools/javap/6937244/T6937244.java.i
-data/src/share/classes/com/sun/tools/classfile/ConstantValue_attribute.java.i
-data/test/tools/javac/api/6422327/T6422327.java.i
+data/test/tools/javac/typeAnnotations/failures/common/parambounds/MissingAnnotationValue.out.i
data/test/tools/javac/typeAnnotations/failures/common/parambounds/DuplicateAnnotationValue.java.i
+data/src/share/classes/com/sun/tools/javah/JNI.java.i
data/test/tools/javac/T5003235/T5003235c.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java.i
data/test/tools/javac/annotations/neg/Z14.java.i
-data/test/tools/javac/assert/Position.java.i
+data/test/tools/javac/AccessMethods/UplevelPrivateConstants.java.i
+data/test/tools/javac/generics/T4738171.java.i
data/test/com/sun/javadoc/testModifier/Interface.java.i
-data/test/tools/javac/generics/GenericAnonCtor.java.i
+data/make/netbeans/javah/build.xml.i
data/test/tools/javac/EmptySwitch.java.i
data/test/tools/javac/NestedInnerClassNames.java.i
data/test/tools/javac/implicitThis/WhichImplicitThis5.java.i
-data/test/tools/javac/CyclicInheritance.sh.i
+data/test/tools/javac/processing/6350124/Marker.java.i
data/src/share/classes/com/sun/tools/javadoc/TypeMaker.java.i
data/test/tools/javac/depDocComment/DeprecatedDocComment2.java.i
data/src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java.i
data/test/tools/javac/generics/6985719/T6985719a.out.i
-data/test/tools/javac/annotations/pos/package-info.java.i
+data/test/tools/javac/api/T6430241.java.i
data/test/tools/javac/DefiniteAssignment/T4717164.java.i
-data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_16.java.i
+data/test/tools/javac/annotations/neg/Cycle2.java.i
data/test/tools/javac/generics/wildcards/neg/CastFail2.java.i
-data/test/tools/javac/fatalErrors/NoJavaLang.out.i
-data/test/tools/javac/typeAnnotations/failures/common/innertypeparams/InvalidLocation.java.i
+data/test/tools/javac/protectedInner/mypackage/Superclass.java.i
data/test/tools/javac/mandatoryWarnings/deprecated/Test4.out.i
-data/test/tools/javac/typeAnnotations/failures/common/receiver/MissingAnnotationValue.java.i
+data/test/tools/javac/generics/inference/6650759/T6650759e.java.i
data/test/tools/javac/generics/wildcards/neg/CastWarn9.java.i
data/test/tools/apt/Compile/goldenFactory.txt.i
data/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor8.java.i
data/test/tools/javac/resolve/tests/ReferenceOverVarargs.java.i
-data/test/tools/javac/failover/FailOver10.java.i
data/test/tools/javac/api/6468404/T6468404.java.i
-data/src/share/classes/javax/tools/JavaFileObject.java.i
+data/test/tools/javac/T6231246/T6231246.java.i
data/test/tools/javac/OverrideChecks/ThrowsConflict.java.i
-data/test/com/sun/javadoc/testLegacyTaglet/UnderlineTaglet.java.i
-data/src/share/classes/com/sun/mirror/apt/RoundState.java.i
+data/src/share/opensource/javac/build.xml.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SimpleTaglet.java.i
data/src/share/classes/com/sun/tools/apt/mirror/declaration/InterfaceDeclarationImpl.java.i
-data/src/share/classes/com/sun/mirror/type/ReferenceType.java.i
+data/test/tools/javac/diags/examples/WhereTypeVar.java.i
data/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethods.java.i
-data/test/tools/javac/generics/6946618/T6946618b.out.i
-data/test/tools/javac/AccessMethods/UplevelPrivateConstants.java.i
+data/test/tools/javac/depDocComment/DeprecatedDocComment.out.i
+data/test/tools/javac/T6654037.java.i
data/test/tools/javac/tree/TreePosTest.java.i
data/test/tools/javap/4111861/A.java.i
-data/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java.i
-data/test/tools/javac/diags/examples/ConstantSVUID.java.i
+data/test/tools/javac/processing/model/element/TestMissingElement2/TestMissingGenericInterface2.java.i
+data/test/tools/javac/api/ToolProvider/ToolProviderTest2.java.i
data/test/tools/apt/Basics/FreshnessApf.java.i
data/test/tools/javadoc/generics/wildcards/pkg1/A.java.i
data/test/tools/javac/7086595/T7086595.out.i
-data/test/tools/javac/overrridecrash/A.java.i
+data/test/tools/javac/NonStaticFieldExpr4d.java.i
data/test/tools/javac/diags/examples/ProcSuspiciousClassName/ProcSuspiciousClassName.java.i
-data/test/tools/javac/generics/diamond/pos/Pos05.java.i
+data/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java.i
data/test/tools/javac/generics/6372782/AdditionDefined.java.i
data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignConstantBoolean.java.i
data/test/tools/javap/T6980017.java.i
data/test/tools/javac/generics/wildcards/pos/UncheckedCast1.java.i
data/test/tools/javac/generics/rare/6665356/T6665356.java.i
-data/test/com/sun/javadoc/testHiddenMembers/pkg/SubClass.java.i
+data/test/tools/javac/enum/T5081785c.java.i
data/test/tools/javac/tree/T6923080.java.i
data/test/tools/javac/ShiftExpressionTest.java.i
data/test/tools/javap/TestSuperclass.java.i
data/test/tools/javac/diags/examples/Note.java.i
data/test/tools/javac/generics/inference/5044646/T5044646.java.i
data/test/tools/javac/unicode/NonasciiDigit.java.i
-data/test/tools/javac/T6214885a.out.i
data/test/tools/javadoc/lib/Tester.java.i
-data/test/tools/javac/processing/model/6341534/dir/package-info.java.i
+data/test/tools/javac/varargs/5088429/T5088429Neg02.java.i
data/test/tools/javac/processing/model/6194785/T6194785.java.i
-data/test/tools/javac/annotations/pos/ClassA.java.i
+data/test/tools/javac/6521805/p/Outer.java.i
data/test/tools/javac/BadOptimization/DeadCode2.java.i
+data/test/tools/javac/generics/6332204/T6346876.java.i
data/test/tools/javac/api/TestTreePath.java.i
data/test/tools/javac/generics/6711619/T6711619b.java.i
data/test/tools/apt/mirror/type/WildcardTyp.java.i
@@ -4176,50 +4170,51 @@ data/test/tools/javac/diags/examples/SuperNotAllowedInEnum.java.i
data/src/share/classes/sun/tools/javap/StackMapData.java.i
data/test/tools/javadoc/generics/genericInterface/expected.out.i
data/test/tools/javadoc/annotations/annotatePackage/expected.out.i
-data/test/tools/javac/6402516/CheckLocalElements.java.i
-data/test/tools/javac/diags/examples/DiamondRedundantArgs.java.i
-data/src/share/classes/com/sun/source/tree/MemberReferenceTree.java.i
-data/test/com/sun/javadoc/constantValues/TestConstantValues.java.i
+data/test/tools/javac/6668794/badClass/B.java.i
+data/test/tools/javac/varargs/5088429/T5088429Neg01.java.i
+data/src/share/classes/javax/annotation/processing/RoundEnvironment.java.i
data/test/tools/javac/generics/NameOrder.java.i
-data/src/share/classes/com/sun/tools/javac/comp/ConstFold.java.i
+data/test/com/sun/javadoc/testDeprecatedDocs/pkg/TestException.java.i
data/test/tools/javac/diags/examples/VarargsPlural/VarargsPlural.java.i
data/test/tools/javac/diags/examples/ProcUseProcOrImplicit/sourcepath/p/SomeClass.java.i
data/test/tools/javac/generics/T6660289.java.i
data/test/tools/javac/processing/environment/round/Foo.java.i
+data/test/tools/javac/generics/CastCrash.java.i
data/test/tools/javac/diags/examples/EnumsNotSupported.java.i
+data/test/tools/javac/typeAnnotations/newlocations/MethodTypeArgs.java.i
data/test/tools/javac/diags/examples/DefaultAllowedInIntfAnnotationMember.java.i
data/test/tools/javac/meth/InvokeMH_BAD68.java.i
data/test/com/sun/javadoc/MetaTag/p2/C2.java.i
data/test/tools/javac/diags/examples/RepeatedInterface.java.i
data/test/tools/apt/Scanners/scanner.sh.i
data/src/share/classes/com/sun/tools/doclets/formats/html/AbstractTreeWriter.java.i
-data/test/com/sun/javadoc/testHeadings/pkg1/C1.java.i
+data/test/tools/javac/modules/ModuleAccessTest01.java.i
data/test/tools/apt/Basics/p1/p2.java.i
-data/test/tools/javac/diags/examples/FloatNumberTooSmall.java.i
-data/make/test/contents.gold.txt.i
-data/make/test/TEST.ROOT.i
+data/test/tools/javac/failover/FailOver10.java.i
+data/test/com/sun/javadoc/testParamTaglet/pkg/C.java.i
+data/test/tools/javac/annotations/pos/AnnotationMethods.java.i
data/test/tools/apt/mirror/declaration/ConstExpr.java.i
data/test/tools/javac/6758789/T6758789a.out.i
data/test/tools/javac/processing/messager/6362067/T6362067.out.i
-data/test/tools/javac/T6413876.java.i
+data/test/com/sun/javadoc/testValueTag/pkg1/CustomTagUsage.java.i
data/test/tools/apt/Basics/MisMatch.java.i
-data/test/tools/javac/lint/NoWarn2.out.i
+data/test/tools/javap/T4075403.java.i
data/test/tools/javac/generics/wildcards/neg/CastFail4.java.i
data/test/tools/javac/CyclicInheritance6/p1/C.java.i
-data/test/tools/javac/GoodCovar.java.i
+data/test/tools/javac/typeAnnotations/failures/common/innertypeparams/InvalidLocation.java.i
data/test/tools/javac/protectedAccess/ProtectedAccess_3.java.i
-data/make/netbeans/apt/nbproject/project.xml.i
+data/test/tools/javac/ClassFileModifiers/MemberModifiers.out.i
data/test/tools/javac/processing/werror/WErrorLast.out.i
-data/test/tools/javac/generics/T4711570.java.i
+data/test/tools/javac/generics/diamond/6996914/T6996914a.java.i
data/test/tools/apt/Basics/NestedClassAnnotations.java.i
data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_15.java.i
-data/test/com/sun/javadoc/testDocRootInlineTag/pkg/C.java.i
-data/test/tools/javac/processing/model/type/MirroredTypeEx/Plurality.java.i
+data/test/tools/javac/6948381/npe/A.java.i
+data/test/tools/javac/typeAnnotations/newlocations/Parameters.java.i
data/test/tools/javac/processing/model/util/filter/ExpectedElementCounts.java.i
data/src/share/classes/com/sun/source/tree/CompoundAssignmentTree.java.i
+data/test/tools/javac/QualifiedNew.java.i
data/test/tools/javac/generics/6192945/Neg3.out.i
data/src/share/classes/com/sun/tools/doclets/standard/Standard.java.i
-data/test/tools/javac/typeAnnotations/failures/common/typeparams/MissingAnnotationValue.java.i
data/test/tools/javac/generics/wildcards/neg/CastFail17.java.i
data/THIRD_PARTY_README.i
data/test/tools/javac/api/6608214/T6608214.java.i
@@ -4228,44 +4223,46 @@ data/test/tools/javac/T6411379.java.i
data/src/share/classes/com/sun/tools/javap/AttributeWriter.java.i
data/test/com/sun/javadoc/DocRootSlash/p2/package.html.i
data/test/tools/javap/T6715251.java.i
-data/test/tools/javap/classfile/deps/T6907575.out.i
+data/test/tools/javadoc/imports/MissingImport.java.i
+data/test/tools/javac/synthesize/Double.java.i
data/test/tools/javac/diags/examples/InvalidInstanceof.java.i
data/test/tools/javac/6341866/Anno.java.i
-data/src/share/classes/javax/lang/model/element/Parameterizable.java.i
+data/test/tools/javac/mandatoryWarnings/unchecked/Test1.out.i
+data/test/tools/javac/CyclicInheritance.out.i
data/src/share/classes/com/sun/tools/javac/parser/Lexer.java.i
data/src/share/classes/com/sun/tools/javac/util/Assert.java.i
data/src/share/classes/javax/annotation/processing/AbstractProcessor.java.i
data/test/tools/javac/6341866/T6341866.java.i
-data/src/share/classes/com/sun/tools/javah/resources/SunOS_sparcv9.properties.i
+data/test/tools/javac/DefiniteAssignment/ThrowBeforeTryFinally.java.i
data/test/tools/javac/diags/CheckExamples.java.i
data/test/tools/javac/generics/6372782/Value.java.i
data/test/com/sun/javadoc/testValueTag/pkg2/package.html.i
data/test/jprt.config.i
data/src/share/classes/com/sun/javadoc/AnnotationDesc.java.i
-data/test/tools/javac/diags/examples/StringSwitchNotSupported.java.i
+data/test/tools/apt/Compile/WrappedStaticApf.java.i
data/test/tools/javac/generics/wildcards/neg/CastFail10.java.i
data/test/tools/javac/scope/7017664/CompoundScopeTest.java.i
data/test/tools/javac/annotations/pos/Local.java.i
-data/test/tools/javac/ImportCycle/foo/Middle2.java.i
+data/test/tools/javac/diags/examples/VarargsAndOldArraySyntax.java.i
data/test/tools/javac/CyclicScoping/CyclicScoping_1.java.i
data/test/tools/javac/diags/examples/InterfaceNotAllowed.java.i
data/test/com/sun/javadoc/DocRootSlash/DocRootSlash.java.i
data/test/tools/javac/diags/examples/DeprecatedPluralAdditional/DeprecatedClass.java.i
data/test/tools/javac/unit/util/convert/EnclosingCandidates.java.i
data/src/share/classes/com/sun/tools/javac/comp/Infer.java.i
-data/test/tools/javac/OverrideChecks/6738538/T6738538b.java.i
+data/test/tools/javac/diags/examples/AnnoNotValidForType.java.i
data/test/tools/javac/meth/InvokeMH.java.i
-data/test/tools/javac/diags/examples/DuplicateClass.java.i
+data/test/tools/javac/processing/warnings/TestSourceVersionWarnings.java.i
data/test/tools/javac/synthesize/Test.java.i
data/test/tools/javac/diags/examples/WarningAndWerror.java.i
-data/test/tools/javac/diags/examples/CannotCreateArrayWithDiamond.java.i
-data/test/tools/javac/protectedAccess/ProtectedMemberAccess2.java.i
+data/test/tools/javac/enum/AbstractEnum1.java.i
+data/test/tools/javac/T6993301.java.i
data/test/tools/javac/protectedInner/Outerclass.java.i
-data/test/tools/javac/cast/6795580/T6795580.java.i
+data/test/tools/javac/diags/examples/DeprecatedPluralAdditional/DeprecatedFilename.java.i
data/test/tools/javadoc/annotations/shortcuts/pkg1/Value.java.i
-data/test/tools/javac/generics/syntax/6318240/BarNeg2a.java.i
+data/test/tools/javac/OverrideChecks/6400189/T6400189a.out.i
data/test/tools/javac/synthesize/Serializable.java.i
-data/test/com/sun/javadoc/testBreakIterator/pkg/BreakIteratorTest.java.i
+data/test/tools/javac/processing/options/Xprint.java.i
data/test/tools/javac/T6394563.java.i
data/test/tools/javac/6394683/T6394683.java.i
data/test/com/sun/javadoc/testNewLanguageFeatures/pkg2/Foo2.java.i
@@ -4273,48 +4270,51 @@ data/src/share/classes/sun/tools/javap/MethodData.java.i
data/src/share/classes/com/sun/tools/javac/resources/javac.properties.i
data/src/share/classes/com/sun/tools/javadoc/ParamTagImpl.java.i
data/test/tools/javac/generics/TyparamStaticScope2.java.i
-data/test/tools/javac/api/T6501502.java.i
+data/test/tools/javadoc/generics/tparamCycle/pkg1/LikeEnum.java.i
+data/test/tools/javac/generics/6969184/T6969184.java.i
data/test/tools/javac/NullQualifiedNew.java.i
data/test/tools/javac/diags/examples/NativeMethodCantHaveBody.java.i
data/test/tools/javac/generics/syntax/6318240/BarNeg1.java.i
data/test/tools/javac/staticImport/PrivateStaticImport.java.i
data/test/tools/javac/annotations/neg/AnnComma.java.i
data/test/tools/javac/enum/T5075242.java.i
-data/src/share/classes/com/sun/javadoc/ProgramElementDoc.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ParamTaglet.java.i
+data/test/tools/javac/diags/examples/InheritFromFinal.java.i
+data/src/share/classes/com/sun/tools/javac/util/ForwardingDiagnosticFormatter.java.i
data/test/tools/javac/annotations/neg/Scope.java.i
data/test/tools/javac/ClassLiterals/evalinit/java/lang/Integer.java.i
data/src/share/classes/com/sun/javadoc/RootDoc.java.i
+data/test/com/sun/javadoc/WindowTitles/WindowTitles.java.i
data/test/com/sun/javadoc/JavascriptWinTitle/overview.html.i
data/test/tools/javac/4880220/T4880220.error.out.i
data/test/tools/javac/T6358166.java.i
-data/src/share/classes/com/sun/tools/classfile/Type.java.i
+data/test/tools/javac/foreach/T6500701.java.i
data/test/tools/javac/depOverrides/doccomment/Test1.java.i
data/test/tools/javadoc/annotations/defaults/Main.java.i
-data/test/tools/javac/crossPackageImpl/CrossPackageImplA.java.i
+data/test/tools/javac/synthesize/Cloneable.java.i
data/test/tools/javac/api/6420464/T6420464.java.i
data/src/share/classes/com/sun/source/tree/TreeVisitor.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/titlebar.gif.i
data/test/tools/javac/annotations/T7073477.java.i
-data/test/tools/apt/Compile/Round1Apf.java.i
-data/src/share/classes/com/sun/tools/javadoc/ModifierFilter.java.i
+data/test/tools/javac/failover/FailOver08.out.i
+data/test/tools/javac/generics/6946618/T6946618c.java.i
+data/test/tools/javac/multicatch/model/UnionTypeInfo.java.i
data/test/tools/javac/DefiniteAssignment/DefAssignNestedArg.java.i
data/src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java.i
data/test/com/sun/javadoc/testNestedInlineTag/TestNestedInlineTag.java.i
data/test/tools/javac/warnings/FallThrough.java.i
data/test/tools/javac/InterfaceInInner.java.i
-data/test/tools/javac/FloatingPointChanges/BadConstructorModifiers.java.i
+data/test/tools/javac/diags/examples/OverrideWeakerAccess.java.i
data/src/share/classes/com/sun/javadoc/MethodDoc.java.i
data/src/share/classes/com/sun/tools/javac/parser/ScannerFactory.java.i
-data/test/tools/javac/enum/TrailingComma.java.i
+data/test/tools/javac/typeAnnotations/failures/common/receiver/InvalidLocation.java.i
data/src/share/classes/javax/lang/model/util/package-info.java.i
data/test/tools/javac/implicitThis/NewBeforeOuterConstructed2.java.i
-data/src/share/classes/com/sun/tools/javah/resources/Linux_ppc.properties.i
+data/test/tools/javac/sourcePath2/SourcePath2.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseExecutableMemberTaglet.java.i
data/test/com/sun/javadoc/testValueTag/pkg2/Class3.java.i
-data/test/tools/javac/failover/FailOver08.out.i
+data/test/tools/javac/sourcePath/SourcePathA.java.i
data/test/tools/javac/miranda/4686148/ConcreteTest.java.i
-data/test/tools/javac/InvalidIntfCast.java.i
+data/test/com/sun/javadoc/testDocFileDir/pkg/doc-files/subdir-excluded2/testfile.txt.i
data/src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java.i
data/src/share/classes/com/sun/tools/javac/nio/PathFileObject.java.i
data/src/share/classes/com/sun/javadoc/AnnotationValue.java.i
@@ -4323,39 +4323,39 @@ data/test/tools/javac/generics/inference/6302954/T6456971.java.i
data/make/netbeans/javap/build.xml.i
data/test/tools/javac/diags/examples/CallMustBeFirst.java.i
data/test/tools/javac/annotations/neg/Cycle1.java.i
-data/test/tools/javac/processing/options/testCommandLineClasses/Test.java.i
-data/test/tools/javac/6402516/CheckMethod.java.i
+data/test/tools/javac/ignored.jtx.i
+data/test/tools/javac/NonStaticFieldExpr1.out.i
data/test/tools/javac/assert/Attach.java.i
data/test/tools/javac/generics/inference/6838943/T6838943.out.i
data/test/com/sun/javadoc/testHrefInDocComment/TestHrefInDocComment.java.i
data/src/share/classes/com/sun/source/tree/LiteralTree.java.i
data/test/tools/javac/annotations/pos/NType.java.i
data/test/tools/javac/generics/6956758/T6956758neg.java.i
-data/test/tools/javac/typeAnnotations/failures/IncompleteVararg.out.i
+data/test/tools/javac/generics/wildcards/T5097548b.java.i
data/test/tools/javac/options/T6900037.out.i
data/test/tools/javac/DefiniteAssignment/DUBeforeDefined1.java.i
data/test/tools/javac/diags/examples/DeprecatedPlural/DeprecatedPlural.java.i
data/test/tools/javac/ImportCycle/foo/Top.java.i
data/test/tools/javac/foreach/T6682380.java.i
-data/test/tools/javac/enum/enumSwitch/Color2.java.i
+data/test/tools/javac/generics/6711619/T6711619b.out.i
data/test/tools/javac/processing/model/util/NoSupers.java.i
data/test/tools/javac/cast/6714835/T6714835.java.i
data/test/com/sun/javadoc/T6735320/T6735320.java.i
data/test/tools/javac/miranda/T4279316c.java.i
-data/test/tools/apt/mirror/type/EnumTyp.java.i
-data/test/tools/javac/meth/InvokeDyn.java.i
+data/test/tools/javac/TryWithResources/TwrInference.java.i
+data/src/share/classes/com/sun/tools/javap/Messages.java.i
data/test/tools/javac/generics/inference/6638712/T6638712c.out.i
data/test/tools/javac/generics/inference/5044646/p1/A1.java.i
-data/test/tools/javac/api/6411310/T6411310.java.i
+data/test/tools/javac/generics/wildcards/6437894/A.java.i
data/test/tools/javac/T6956462/TestClass.java.i
data/src/share/classes/com/sun/tools/classfile/RuntimeVisibleAnnotations_attribute.java.i
-data/test/tools/javac/InitializerCompletion_3.java.i
+data/test/tools/javac/generics/7015430/T7015430.java.i
data/test/tools/javac/Parens4.java.i
data/test/tools/javap/typeAnnotations/JSR175Annotations.java.i
data/test/tools/javac/6948381/npe/B.java.i
data/test/tools/javac/typeAnnotations/failures/IncompleteArray.out.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DeprecatedAPIListBuilder.java.i
-data/test/tools/javac/treeannotests/TA.java.i
+data/test/tools/javac/capture/Capture5.java.i
data/test/tools/javac/diags/examples/AlreadyDefinedStaticImport/AlreadDefinedStaticImport.java.i
data/test/com/sun/javadoc/testSummaryHeading/C.java.i
data/test/tools/javac/generics/typevars/5061359/T5061359b.java.i
@@ -4363,42 +4363,44 @@ data/test/tools/javac/generics/wildcards/neg/CastFail14.java.i
data/test/tools/javac/positions/T6404194.java.i
data/test/tools/javac/typeAnnotations/failures/common/rest/InvalidLocation.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java.i
-data/test/com/sun/javadoc/JavascriptWinTitle/JavascriptWinTitle.java.i
-data/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C4.java.i
+data/test/tools/javac/diags/examples/ForeachNotApplicable.java.i
+data/test/tools/javac/protectedAccess/ProtectedMemberAccess4.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassDocCatalog.java.i
data/test/tools/javac/processing/model/6341534/T6341534.java.i
data/src/share/classes/com/sun/tools/classfile/DescriptorException.java.i
data/test/tools/javac/typeAnnotations/failures/IncompleteVararg.java.i
data/test/tools/javac/processing/errors/TestErrorCount.java.i
-data/src/share/classes/com/sun/source/tree/ImportTree.java.i
+data/test/tools/javadoc/6958836/warns/Warnings.java.i
data/test/tools/javac/diags/examples/CountErrorPlural.java.i
data/test/tools/javac/AccessMethods/BitwiseAssignment.java.i
data/test/com/sun/javadoc/testThrowsHead/C.java.i
-data/test/tools/javac/api/6418694/T6418694.java.i
+data/test/tools/javadoc/generics/genericInnerAndOuter/pkg1/X.java.i
data/test/com/sun/javadoc/testMemberInheritence/TestMemberInheritence.java.i
data/src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java.i
data/test/tools/javah/compareTest/FindNativeFiles.java.i
-data/test/tools/apt/Basics/StaticFieldAnnotations.java.i
-data/test/tools/javac/TryWithResources/PlainTry.java.i
+data/src/share/classes/com/sun/javadoc/SerialFieldTag.java.i
+data/test/tools/javac/annotations/pos/Z3.java.i
data/test/tools/javac/generics/GenericThrowable.java.i
+data/test/tools/javac/generics/6476118/T6476118c.java.i
data/src/share/classes/com/sun/tools/classfile/AnnotationDefault_attribute.java.i
data/test/tools/javac/typeAnnotations/failures/common/wildcards/MissingAnnotationValue.java.i
data/src/share/classes/com/sun/source/tree/MethodTree.java.i
+data/make/test/contents.sh.i
data/test/tools/javac/enum/forwardRef/T6425594.out.i
data/test/tools/javac/6863465/T6863465b.out.i
data/src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java.i
-data/test/tools/javac/NonStaticFieldExpr4d.java.i
-data/test/tools/javac/limits/ArrayDims2.java.i
+data/test/tools/javac/processing/model/type/TestTypeKind.java.i
+data/test/tools/javac/typeAnnotations/failures/common/wildcards/DuplicateTypeAnnotation.out.i
data/test/tools/javac/6917288/T6917288.java.i
-data/test/tools/javac/ImportCycle/foo/Top2.java.i
+data/src/share/classes/com/sun/source/tree/NewClassTree.java.i
data/test/tools/javah/MissingParamClassException.java.i
data/test/tools/javac/diags/examples/NoInterfaceExpected.java.i
data/src/share/classes/com/sun/tools/apt/resources/apt.properties.i
-data/test/tools/javac/annotations/TestAnnotationPackageInfo.java.i
+data/test/tools/javac/ProtectedInnerClass/ProtectedInnerClass_2.java.i
data/test/tools/javac/typeAnnotations/failures/common/rest/DuplicateAnnotationValue.out.i
-data/test/tools/javac/QualifiedNew.java.i
+data/test/tools/javac/Paths/6638501/test/SayHello.java.i
data/test/tools/javac/ArrayCast.java.i
-data/test/tools/javac/annotations/neg/Z12.java.i
+data/test/tools/javap/T7004698.java.i
data/src/share/classes/com/sun/mirror/type/TypeVariable.java.i
data/test/tools/javac/6627362/T6627362.java.i
data/src/share/classes/sun/tools/javap/Main.java.i
@@ -4408,46 +4410,47 @@ data/test/tools/javac/generics/wildcards/neg/CastWarn13.java.i
data/test/tools/javac/diags/examples/IntfAnnotationsCantHaveTypeParams.java.i
data/test/tools/javac/generics/compat/CovariantCompat2.java.i
data/test/tools/javac/importChecks/ImportCanonical2.java.i
-data/src/share/classes/javax/lang/model/element/UnknownElementException.java.i
+data/test/tools/javac/ClassLiterals/evalinit/ClassLiteralEvalInit.java.i
data/test/tools/javac/T6977800.java.i
-data/test/tools/javac/generics/6476118/T6476118c.java.i
+data/test/tools/javac/miranda/T4666866.java.i
data/test/tools/javac/generics/6985719/T6985719c.out.i
data/test/tools/javac/generics/compat/VisibleBridge.java.i
data/src/share/classes/javax/lang/model/util/AbstractTypeVisitor8.java.i
data/test/tools/javadoc/generics/genericInnerAndOuter/pkg1/O.java.i
data/test/tools/javac/processing/6413690/T6413690.java.i
-data/test/com/sun/javadoc/JavascriptWinTitle/p2/C2.java.i
data/test/tools/javac/processing/6512707/TestAnnotation.java.i
-data/test/tools/javac/boxing/T6614974.java.i
+data/test/tools/javac/unicode/UnicodeAtEOL.java.i
data/test/tools/javac/SuperField.java.i
-data/src/share/classes/com/sun/source/tree/MemberSelectTree.java.i
+data/test/tools/javac/nested/4903103/T4903103.java.i
data/test/tools/javac/diags/examples/TrustMeOnVirtualMethod.java.i
data/test/tools/javac/depOverrides/doccomment/A.java.i
-data/test/tools/javac/typeAnnotations/failures/common/newarray/DuplicateAnnotationValue.out.i
+data/test/tools/javac/T7042623.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css.i
data/test/tools/javac/generics/typevars/6486430/T6486430.java.i
data/test/tools/javac/cast/6932571/T6932571neg.out.i
-data/src/share/classes/com/sun/tools/javac/processing/JavacFiler.java.i
+data/test/tools/javac/generics/wildcards/6330931/T6330931.java.i
data/src/share/classes/com/sun/tools/javac/model/JavacSourcePosition.java.i
-data/test/tools/javac/annotations/6214965/T6214965.java.i
+data/test/tools/javac/7102515/T7102515.out.i
data/test/tools/javac/7085024/T7085024.java.i
-data/test/com/sun/javadoc/testPrivateClasses/pkg/PublicInterface.java.i
+data/test/tools/javac/generics/rawOverride/AttributeSet.java.i
data/test/tools/javac/T7120266.java.i
-data/test/com/sun/javadoc/testNewLanguageFeatures/pkg2/ClassUseTest2.java.i
+data/test/tools/javac/generics/typevars/6182630/T6182630f.java.i
data/test/tools/javac/ConditionalArgTypes_2.java.i
data/test/tools/javac/scope/6225935/a/Star.java.i
data/test/tools/javac/T6900037.out.i
data/test/tools/javadoc/NoStar.java.i
data/test/tools/javac/6257443/package-info.java.i
+data/test/com/sun/javadoc/testNewLanguageFeatures/pkg/MultiTypeParameters.java.i
data/test/tools/javac/varargs/6730476/T6730476b.java.i
data/test/tools/javac/diags/examples/EnumConstRequired.java.i
-data/test/tools/javac/diags/examples/NoInterfaceHere.java.i
-data/test/tools/javac/accessVirtualInner/c/C.java.i
-data/test/tools/javac/generics/wildcards/6651719/T6651719a.java.i
+data/test/tools/javac/T6554097.out.i
+data/test/tools/javac/constDebug/ConstDebug.sh.i
+data/test/tools/javadoc/sourceOption/SourceOption.java.i
data/test/tools/javac/unicode/SubChar.java.i
data/test/tools/javac/rawDiags/Warning.java.i
+data/test/com/sun/javadoc/testUseOption/pkg1/C2.java.i
data/src/share/classes/com/sun/mirror/util/DeclarationScanner.java.i
-data/test/tools/javac/QualifiedAccess/QualifiedAccess_2.java.i
+data/test/tools/javac/generics/5009937/T5009937.out.i
data/test/tools/javac/7102515/T7102515.java.i
data/make/tools/Jigsaw/FpkgTask.java.i
data/test/tools/javac/policy/A.java.i
@@ -4464,76 +4467,76 @@ data/src/share/classes/com/sun/tools/javap/package.html.i
data/test/tools/javac/annotations/6365854/evolve/TestAnnotation.java.i
data/test/com/sun/javadoc/testLeadingSpaces/LeadingSpaces.java.i
data/test/com/sun/javadoc/testHtmlDocument/testLink.html.i
-data/src/share/classes/com/sun/tools/classfile/ModuleClass_attribute.java.i
+data/test/tools/javac/6734819/T6734819b.java.i
data/test/tools/javac/diags/examples/SourceNoBootclasspath.java.i
-data/test/tools/javac/generics/7007615/acc1/p2/E.java.i
-data/src/share/classes/javax/tools/ModuleFileManager.java.i
-data/test/tools/javac/generics/bridge1/D.java.i
+data/test/tools/javac/diags/examples/UnclosedBytecodeIdent.java.i
+data/test/tools/javac/T6366196.java.i
+data/test/tools/javac/generics/inference/6638712/T6638712a.out.i
data/test/tools/javac/ClassPathTest/pkg/ClassPathTestAux3.java.i
-data/test/tools/javac/diags/examples/ProcUseImplicit/sourcepath/p/SomeClass.java.i
-data/test/com/sun/javadoc/testHref/package-list.i
-data/src/share/classes/com/sun/mirror/apt/RoundCompleteListener.java.i
+data/test/tools/javac/typeAnnotations/failures/common/newarray/DuplicateAnnotationValue.out.i
+data/test/tools/javac/T4906100.out.i
+data/test/tools/javac/processing/6365040/ProcBar.java.i
data/test/tools/javac/processing/options/testPrintProcessorInfo/Test.java.i
-data/src/share/classes/javax/lang/model/type/ErrorType.java.i
-data/test/tools/javac/InnerClassesAttribute/Outside$1$Inside.class.i
+data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_2.java.i
+data/test/tools/javac/SynthName1.java.i
data/test/tools/javadoc/generics/supertypes/pkg1/B.java.i
data/test/tools/javac/typeAnnotations/failures/StaticMethods.java.i
data/test/tools/javac/diags/examples/AnnotationMustBeNameValue.java.i
data/test/com/sun/javadoc/testSuperclassInSerialForm/TestSuperClassInSerialForm.java.i
-data/make/test/HelloWorld.javadoc.gold.txt.i
-data/test/tools/javac/scope/6225935/Baz.java.i
+data/test/tools/javac/enum/T6724345.java.i
+data/test/com/sun/javadoc/dupThrowsTags/TestDupThrowsTags.java.i
data/test/tools/javadoc/generics/tparamTagOnType/expected.out.i
data/test/tools/javac/unicode/NonasciiDigit2.java.i
data/src/share/classes/com/sun/javadoc/ParameterizedType.java.i
data/test/tools/javac/T5024091/T5024091.out.i
data/test/tools/javac/unicode/SupplementaryJavaID6.sh.i
data/test/tools/javac/processing/errors/TestParseErrors/TestParseErrors.java.i
-data/test/tools/javac/generics/6372782/PlainForm.java.i
-data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_13.java.i
-data/test/tools/javac/diags/Example.java.i
+data/test/tools/javac/warnings/7090499/T7090499.out.i
+data/test/tools/javac/generics/6245699/T6245699a.java.i
+data/test/tools/javac/sourcePath/SourcePath.java.i
data/test/tools/apt/Compile/servicesRound4.i
-data/test/tools/javac/processing/errors/Foo.java.i
-data/test/com/sun/javadoc/testSerializedFormDeprecationInfo/pkg1/C3.java.i
+data/src/share/classes/com/sun/source/tree/CatchTree.java.i
data/src/share/classes/com/sun/tools/classfile/Attribute.java.i
data/test/tools/javac/generics/wildcards/T6450290.java.i
-data/src/share/classes/javax/tools/overview.html.i
+data/test/tools/javac/processing/errors/TestParseErrors/TestParseErrors.out.i
data/test/tools/javac/diags/RunExamples.java.i
-data/src/share/classes/com/sun/tools/javadoc/MemberDocImpl.java.i
+data/test/tools/javac/T6413876.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java.i
-data/test/com/sun/javadoc/testNewLanguageFeatures/pkg/MultiTypeParameters.java.i
+data/test/tools/javac/generics/6207386/T6207386.java.i
data/test/tools/javadoc/annotations/shortcuts/Main.java.i
-data/test/tools/javac/annotations/neg/DupTarget.java.i
+data/test/tools/javac/unicode/SupplementaryJavaID3.java.i
data/test/tools/javac/diags/MessageInfo.java.i
-data/test/tools/javac/generics/CastCrash.java.i
-data/test/com/sun/javadoc/5093723/UndocumentedClass.java.i
+data/test/tools/javac/generics/inference/5042462/T5042462.java.i
+data/src/share/classes/com/sun/mirror/apt/RoundState.java.i
data/test/tools/javac/innerClassFile/y/R1.java.i
-data/test/tools/javac/literals/BadBinaryLiterals.java.i
-data/test/tools/javac/generics/inference/6650759/T6650759b.java.i
+data/test/tools/javac/T6214885a.out.i
+data/test/tools/javac/inheritedAccess/MethodReferenceQualification_1.java.i
data/test/tools/javac/diags/examples/ClashesWith.java.i
-data/src/share/classes/com/sun/tools/javadoc/PackageDocImpl.java.i
+data/test/tools/javac/6521805/p/Sub.java.i
data/test/tools/javac/AnonStaticMember_2.out.i
data/src/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MethodFinder.java.i
-data/test/tools/javac/policy/test2/Test.java.i
+data/test/tools/javac/mandatoryWarnings/deprecated/P.java.i
+data/test/tools/javac/accessVirtualInner/Main.java.i
data/src/share/classes/com/sun/mirror/declaration/MethodDeclaration.java.i
-data/test/tools/javac/annotations/pos/TrailingComma.java.i
+data/test/tools/javac/ExtDirs/ext3/pkg2.jar.i
data/test/com/sun/javadoc/testTypeParams/pkg/Foo4.java.i
data/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java.i
data/test/tools/javac/policy/test2/byfile.AB.out.i
data/test/tools/javac/annotations/6359949/T6359949a.java.i
+data/src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ThrowsTaglet.java.i
-data/test/tools/javac/innerClassFile/y/Main.java.i
+data/test/tools/javap/T6474890.java.i
data/test/tools/javac/positions/T6264029.out.i
-data/test/com/sun/javadoc/testDocRootLink/pkg2/package.html.i
+data/test/tools/javac/Diagnostics/6722234/T6722234d.java.i
data/test/com/sun/javadoc/testHtmlTag/TestHtmlTag.java.i
data/test/tools/javac/generics/wildcards/neg/CastFail11.java.i
-data/test/tools/javac/ClassLiterals/LiteralInterfaceImpl.java.i
-data/test/tools/javac/generics/inference/6468384/T6468384.java.i
+data/test/tools/javac/generics/typevars/6182630/T6182630.java.i
+data/test/tools/javac/rawDiags/Note.out.i
data/test/tools/javac/options/T6900037.java.i
data/test/tools/javac/processing/warnings/UseImplicit/p/C2.java.i
data/test/tools/javac/generics/rare/Rare5.java.i
data/test/tools/javac/ThrowsIntersection_3.java.i
-data/src/share/classes/com/sun/tools/javac/parser/Keywords.java.i
+data/src/share/classes/com/sun/tools/classfile/LocalVariableTypeTable_attribute.java.i
data/test/tools/javac/OverrideChecks/StaticOverride.java.i
data/test/tools/javadoc/enum/enumType/Main.java.i
data/test/tools/apt/mirror/type/ClassTyp.java.i
@@ -4545,32 +4548,34 @@ data/test/tools/javac/generics/inference/6302954/X.java.i
data/test/tools/javac/staticQualifiedNew/p2/X.java.i
data/test/com/sun/javadoc/testTypeParams/pkg/ClassUseTest3.java.i
data/test/tools/apt/mirror/declaration/pkg1/AClass.java.i
-data/test/tools/javac/lambda/MethodReferenceParserTest.java.i
+data/test/tools/javac/diags/examples/Orphaned.java.i
+data/test/tools/javac/generics/6372782/MultiplicationDefined.java.i
data/test/tools/javac/diags/examples/PathElementNotFound.java.i
data/test/com/sun/javadoc/DocRootSlash/overview.html.i
-data/test/tools/javac/protectedAccess/ProtectedMemberAccess3.out.i
-data/test/tools/javac/danglingDep/NoDepX.out.i
+data/test/tools/javac/api/6422327/T6422327.java.i
+data/test/tools/javac/generics/7022054/T7022054neg1.out.i
data/test/tools/javac/generics/wildcards/neg/CastFail5.java.i
data/test/tools/javac/7023703/T7023703neg.out.i
data/test/tools/javac/diags/examples/CyclicAnnoElement.java.i
data/src/share/classes/com/sun/tools/apt/comp/AnnotationProcessingError.java.i
data/test/tools/javac/multicatch/Pos04.java.i
-data/src/share/classes/javax/lang/model/element/TypeParameterElement.java.i
+data/test/tools/javac/typeAnnotations/newlocations/LocalVariables.java.i
data/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPackageFlag.java.i
-data/test/tools/javac/StringsInSwitch/BadlyTypedLabel1.java.i
+data/test/tools/javac/depOverrides/doccomment/Test2Q.out.i
data/test/tools/javac/generics/typevars/6486430/T6486430a.java.i
data/test/tools/javac/NonStaticFieldExpr4c.java.i
-data/test/tools/javac/6547131/T.java.i
+data/test/tools/javac/EmptyDocComments.java.i
+data/test/tools/apt/Scanners/TestEnum.java.i
data/test/tools/javac/diags/examples/ResourceNotApplicableToType.java.i
data/test/tools/javac/annotations/6365854/TestAnnotation.java.i
-data/test/tools/javac/api/TestDocComments.java.i
+data/test/tools/javac/diags/examples/UncheckedCast.java.i
data/test/tools/javac/generics/compat/OverrideBridge2.java.i
data/src/share/classes/com/sun/tools/classfile/Annotation.java.i
-data/test/tools/javac/6330920/T6330920.java.i
+data/test/tools/javac/varargs/warning/Warn4.java.i
data/test/com/sun/javadoc/testValueTag/pkg1/Class1.java.i
-data/test/tools/javac/depDocComment/DeprecatedDocComment4.out.i
-data/src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java.i
-data/test/tools/javac/tree/AbstractTreeScannerTest.java.i
+data/test/tools/javac/generics/inference/5073060/T5073060.java.i
+data/test/tools/javac/modules/ModuleProvidesAttributeTest01.java.i
+data/test/com/sun/javadoc/testBadPackageFileInJar/badPackageFileInJar.jar.i
data/test/tools/javac/processing/loader/testClose/TestClose.java.i
data/test/tools/javap/T4459541.java.i
data/src/share/classes/com/sun/tools/doclets/formats/html/AllClassesFrameWriter.java.i
@@ -4582,48 +4587,49 @@ data/test/tools/javac/TryWithResources/BadTwrSyntax.java.i
data/test/com/sun/javadoc/testGroupOption/pkg1/C.java.i
data/test/tools/javac/diags/examples/NotAStatement.java.i
data/test/tools/javac/scope/6225935/Test.java.i
-data/src/share/classes/javax/annotation/processing/SupportedOptions.java.i
+data/test/tools/javac/BadOptimization/DeadCode4.java.i
data/test/tools/javac/annotations/neg/Z8.java.i
-data/test/tools/javadoc/annotations/defaults/pkg1/A.java.i
+data/test/tools/javac/DeclarationStatementInline.java.i
data/test/tools/javac/generics/SelfImplement.java.i
+data/src/share/classes/com/sun/tools/javadoc/MemberDocImpl.java.i
data/test/tools/javac/DefiniteAssignment/DefAssignAfterIf_1.java.i
data/test/tools/javac/typeAnnotations/newlocations/ClassLiterals.java.i
data/test/tools/javac/AccessMethods/InternalHandshake.java.i
data/test/tools/javac/multicatch/T6978574.java.i
data/test/tools/javac/InconsistentStack.java.i
-data/src/share/classes/com/sun/tools/javac/services/javax.tools.JavaCompilerTool.i
-data/test/com/sun/javadoc/DocRootSlash/p2/C2.java.i
-data/test/tools/javac/ExceptionalFinally.java.i
-data/src/share/classes/com/sun/tools/classfile/Method.java.i
+data/test/tools/javac/limits/LongName.java.i
+data/test/tools/javap/T6716452.java.i
+data/test/tools/javac/diags/ArgTypeCompilerFactory.java.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/SourceToHTMLConverter.java.i
data/test/tools/javac/annotations/6214965/CompilerAnnotationTest2bad.java.i
data/test/tools/javap/T4880663.java.i
data/src/share/classes/com/sun/mirror/apt/AnnotationProcessors.java.i
data/test/tools/apt/Discovery/Touch.java.i
-data/test/tools/javac/ClassPathTest/ClassPathTest.sh.i
-data/test/tools/javac/synthesize/Double.java.i
+data/test/tools/javac/diags/examples/VarargsFilenameAdditional.java.i
+data/test/tools/javac/depOverrides/annotation/Test3.java.i
data/test/tools/javac/processing/completion/TestCompletions.java.i
data/test/tools/javac/StrictAbstract.java.i
data/test/tools/javac/generics/rare/Rare7.java.i
-data/test/tools/javac/diags/examples/DeprecatedPlural/DeprecatedClass.java.i
+data/test/tools/javap/6937244/T6937244A.java.i
data/src/share/classes/com/sun/tools/javap/TypeAnnotationWriter.java.i
data/test/tools/javac/diags/examples/CantResolveLocationArgs.java.i
-data/src/share/classes/com/sun/source/tree/BlockTree.java.i
-data/test/tools/javac/stackmap/T4955930.sh.i
-data/test/tools/javac/generics/6985719/T6985719h.out.i
+data/test/tools/javac/lint/NoWarn2.out.i
+data/test/tools/javac/api/6418694/T6418694.java.i
+data/test/tools/javac/unicode/SupplementaryJavaID1.java.i
data/test/tools/javac/diags/examples/Expected3.java.i
-data/test/tools/javac/6464451/ManyExitsInTry.java.i
+data/test/tools/javac/ClassFileModifiers/ClassModifiers.out.i
data/test/tools/javac/enum/ValueOf.java.i
-data/src/share/classes/com/sun/tools/javah/JNI.java.i
-data/test/tools/javac/typeAnnotations/failures/common/wildcards/DuplicateTypeAnnotation.java.i
+data/test/tools/javac/ImportCycle/foo/Bottom.java.i
+data/test/tools/javac/api/6422215/T6422215.java.i
data/test/tools/javac/multicatch/model/Check.java.i
data/src/share/classes/com/sun/tools/apt/mirror/declaration/Constants.java.i
data/test/tools/javac/processing/environment/round/Part1.java.i
-data/src/share/classes/com/sun/tools/apt/mirror/type/EnumTypeImpl.java.i
+data/test/tools/javadoc/generics/throwsGeneric/expected.out.i
data/src/share/classes/com/sun/tools/classfile/Dependency.java.i
data/test/tools/javac/generics/TyparamStaticScope.java.i
data/test/tools/javac/diags/examples/PackageInfoAlreadySeen/package-info.java.i
data/test/tools/javac/diags/examples/ArrayRequired.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LiteralTaglet.java.i
+data/test/tools/javac/abstract/T2.java.i
data/test/tools/javac/diags/examples/VoidNotAllowed.java.i
data/test/tools/javac/processing/environment/round/TestContext.java.i
data/src/share/classes/com/sun/tools/javac/comp/Attr.java.i
@@ -4632,42 +4638,44 @@ data/test/tools/javac/enum/DA2.java.i
data/src/share/classes/com/sun/mirror/util/SourceOrderDeclScanner.java.i
data/src/share/classes/com/sun/source/tree/WhileLoopTree.java.i
data/test/tools/javac/scope/6225935/a/Ambiguous.java.i
-data/src/share/classes/com/sun/tools/classfile/Module_attribute.java.i
-data/test/com/sun/javadoc/testParamTaglet/TestParamTaglet.java.i
+data/test/tools/javac/policy/test2/bytodo.AB.out.i
+data/test/com/sun/javadoc/testTitleInHref/TestTitleInHref.java.i
data/test/tools/javac/QualifiedThisExactMatch.java.i
data/test/tools/javac/generics/wildcards/T6732484.java.i
data/src/share/classes/com/sun/mirror/apt/AnnotationProcessor.java.i
-data/test/com/sun/javadoc/testMemberSummary/pkg2/A.java.i
+data/test/tools/javac/multicatch/Neg02eff_final.out.i
data/test/tools/javac/depOverrides/annotation/B.java.i
-data/test/tools/javac/diags/examples/AnnotationMissingValue.java.i
data/src/share/classes/com/sun/mirror/overview.html.i
data/src/share/classes/com/sun/source/tree/MethodInvocationTree.java.i
-data/test/tools/javac/DefiniteAssignment/DefAssignAfterTry1.java.i
-data/test/tools/javac/T7040104.java.i
+data/test/tools/javac/InvalidIntfCast.java.i
+data/test/tools/javac/4980495/std/p2/A2.java.i
data/src/share/classes/com/sun/tools/javac/util/Convert.java.i
-data/src/share/classes/com/sun/tools/doclets/internal/toolkit/MemberSummaryWriter.java.i
-data/src/share/classes/javax/lang/model/type/WildcardType.java.i
-data/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java.i
-data/test/com/sun/javadoc/testLinkToSerialForm/TestLinkToSerialForm.java.i
+data/test/tools/javac/generics/diamond/neg/Neg04.out.i
+data/test/tools/javac/rawDiags/Warning.out.i
+data/test/tools/javac/generics/5066774/T5066774.java.i
+data/test/com/sun/javadoc/testModifier/Test.java.i
+data/test/tools/javac/api/6431435/T6431435.java.i
+data/test/tools/javac/diags/examples/SunApiFilenameAdditional.java.i
data/test/tools/javac/positions/T6253161.out.i
data/test/tools/javac/diags/HTMLWriter.java.i
-data/test/tools/javac/diags/examples/AlreadyDefinedStaticImport/p/E2.java.i
+data/src/share/classes/com/sun/tools/javac/tree/TreeScanner.java.i
data/test/tools/javac/code/ArrayClone.sh.i
data/src/share/classes/javax/lang/model/util/TypeKindVisitor8.java.i
data/test/tools/javadoc/annotations/annotateMethodsFields/pkg1/B.java.i
data/test/tools/javac/diags/examples/ClassCantWrite.java.i
data/test/tools/javac/generics/wildcards/pos/RvalConversion.java.i
data/test/tools/javac/processing/model/type/TestUnionType.java.i
-data/test/tools/javac/6979683/TestCast6979683_BAD38.java.i
+data/test/tools/javac/api/T6412669.java.i
data/test/tools/javac/processing/errors/TestErrorCount.out.i
data/src/share/classes/com/sun/mirror/declaration/MemberDeclaration.java.i
-data/test/tools/javac/diags/examples/DiamondAndExplicitParams.java.i
+data/test/tools/javac/tree/TreeScannerTest.java.i
data/test/tools/javac/processing/6413690/TestMe.java.i
data/test/tools/javac/T6232928.java.i
data/test/tools/javac/diags/examples/QualifiedNewStaticClass.java.i
data/test/tools/javac/T6406771.java.i
-data/test/tools/javac/generics/5066774/T5066774.java.i
-data/test/tools/javac/generics/6372782/MultiplicationDefined.java.i
+data/test/tools/javac/generics/bridge1/E.java.i
+data/test/tools/javac/multicatch/Neg01.java.i
+data/test/tools/javac/miranda/6964669/pkg/B.java.i
data/test/tools/javac/DefiniteAssignment/T4718708.java.i
data/test/tools/apt/Compile/servicesRound3.i
data/test/tools/javac/diags/examples/ProcUseProcOrImplicit/processors/AnnoProc.java.i
@@ -4675,11 +4683,11 @@ data/test/tools/javac/generics/wildcards/6886247/T6886247_2.out.i
data/src/share/classes/com/sun/tools/javadoc/AnnotationTypeDocImpl.java.i
data/test/com/sun/javadoc/testMemberInheritence/pkg/BaseClass.java.i
data/test/tools/javac/generics/6910550/T6910550b.java.i
-data/test/tools/javac/OverrideChecks/6400189/T6400189d.java.i
+data/test/tools/javac/generics/7007615/acc1/AccessibilityCheck01.java.i
data/test/tools/javac/generics/T4757416.java.i
data/src/share/classes/com/sun/source/tree/PermitsDirectiveTree.java.i
data/test/tools/javac/generics/odersky/Test.java.i
-data/src/share/opensource/javac/build.xml.i
+data/src/share/classes/com/sun/tools/javac/util/Messages.java.i
data/test/tools/javah/compareTest/CompareTest.sh.i
data/test/tools/javac/generics/6372782/AbstractElement.java.i
data/test/tools/javac/diags/examples/ModifierNotAllowed.java.i
@@ -4690,80 +4698,79 @@ data/test/tools/javac/generics/inference/5073060/Neg.java.i
data/test/tools/javac/unicode/FirstChar2.java.i
data/README.i
data/test/bootclasspath-exclude.jtx.i
-data/test/tools/javac/diags/examples/IllegalDot.java.i
-data/make/netbeans/apt/build.xml.i
+data/test/tools/javac/annotations/pos/TrailingComma.java.i
+data/test/tools/javac/positions/T6253161a.java.i
data/test/tools/javac/diags/examples/UnreachableStatement.java.i
data/test/tools/javac/treeannotests/AnnoTreeTests.java.i
-data/test/tools/javac/StringAppendAccessMethodOnLHS.java.i
+data/test/tools/javac/processing/werror/WError1.java.i
data/test/tools/javac/modules/ModuleResolverTest03.java.i
-data/test/tools/javac/multicatch/Neg01eff_final.out.i
+data/test/tools/javadoc/generics/tparamTagOnMethod/Main.java.i
data/src/share/classes/com/sun/tools/javac/comp/Enter.java.i
data/test/tools/javadoc/MethodLinks.java.i
data/src/share/opensource/javac/doc/javac_lifecycle/packages.html.i
-data/test/tools/javac/NestedInnerClassNames.out.i
+data/test/tools/javac/diags/examples/UncheckedFilenameAdditional.java.i
data/test/tools/javac/processing/warnings/gold_sv_warn_5_6.out.i
data/test/tools/javac/diags/examples/BreakOutsideSwitchLoop.java.i
-data/test/tools/javac/api/T6400205.java.i
data/test/tools/javac/6508981/TestInferBinaryName.java.i
-data/src/share/classes/com/sun/tools/javac/file/Locations.java.i
-data/test/tools/javac/diags/examples/MulticatchCantBeAssigned.java.i
+data/test/tools/javac/generics/compat/OverrideBridge3.java.i
data/src/share/opensource/javac/doc/javac_lifecycle/Main.html.i
data/test/tools/javac/6979683/TestCast6979683_BAD36.java.i
-data/src/share/classes/com/sun/tools/apt/mirror/util/DeclarationsImpl.java.i
+data/test/tools/javac/NestedInnerClassNames.sh.i
data/test/tools/javac/annotations/neg/Z10.java.i
-data/test/tools/javac/literals/T6891079.out.i
+data/src/share/classes/com/sun/tools/javac/zip/ZipFileIndexEntry.java.i
data/test/tools/javac/diags/examples/TryWithoutCatchOrFinally.java.i
data/src/share/classes/com/sun/tools/javac/file/RelativePath.java.i
-data/src/share/opensource/javac/doc/javac_lifecycle/ToDo.html.i
+data/test/tools/javac/diags/examples/UnsupportedExoticID.java.i
data/src/share/classes/com/sun/source/util/SimpleTreeVisitor.java.i
data/test/tools/javac/generics/T6507024.java.i
-data/test/tools/javac/6521805/T6521805a_2.out.i
-data/test/tools/javac/file/T7018098.java.i
+data/test/tools/javac/diags/examples/DuplicateClass.java.i
+data/test/tools/javac/protectedAccess/ProtectedMemberAccess3.out.i
data/test/tools/javac/OverrideChecks/Private.java.i
-data/test/tools/javac/typeAnnotations/InnerClass.java.i
-data/src/share/classes/com/sun/tools/javac/main/CommandLine.java.i
+data/test/tools/javac/processing/options/testCommandLineClasses/Test.java.i
+data/test/tools/javac/diags/examples/NameClashSameErasureNoOverride.java.i
data/test/tools/apt/Compile/Round3Apf.java.i
data/test/tools/javac/generics/6207386/T6207386.out.i
data/src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java.i
data/test/tools/javac/generics/6192945/T6192945.java.i
data/test/com/sun/javadoc/testBaseClass/BaseClass.java.i
-data/test/tools/javac/FinalThisReference.java.i
-data/test/tools/javac/protectedInner/InnerClass.java.i
+data/test/tools/javac/T6567414.java.i
+data/test/com/sun/javadoc/testLinkTaglet/TestLinkTaglet.java.i
data/test/tools/javac/typeAnnotations/failures/common/arrays/InvalidLocation.java.i
data/test/tools/javac/policy/test2/A.java.i
data/test/com/sun/javadoc/testInlineLinkLabel/pkg/C2.java.i
data/test/tools/javac/DefiniteAssignment/DefAssignBoolean/DefAssignBoolean_14.java.i
-data/test/tools/javac/diags/examples/AssertAsIdentifier.java.i
-data/test/com/sun/javadoc/testHtmlTableTags/pkg1/I1.java.i
+data/test/tools/javac/processing/model/util/deprecation/TestDeprecation.java.i
+data/test/com/sun/javadoc/JavascriptWinTitle/p2/C2.java.i
data/test/tools/javac/multicatch/Neg02.out.i
data/test/tools/apt/Scanners/VisitOrder.java.i
-data/test/tools/javac/annotations/default/C.java.i
+data/src/share/classes/com/sun/source/tree/MemberReferenceTree.java.i
data/test/com/sun/javadoc/testTagInheritence/firstSentence2/B.java.i
data/test/tools/javac/diags/examples/BadSourceFileHeader/BadSourceFileHeader.java.i
-data/src/share/classes/com/sun/mirror/declaration/TypeParameterDeclaration.java.i
-data/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationTypeElementDeclarationImpl.java.i
+data/test/tools/javac/file/T7018098.java.i
+data/make/netbeans/common/shared.xml.i
data/src/share/classes/com/sun/tools/javac/code/BoundKind.java.i
-data/test/tools/javac/generics/diamond/neg/Neg10.java.i
-data/test/tools/javac/capture/Martin.java.i
+data/test/com/sun/javadoc/testLegacyTaglet/UnderlineTaglet.java.i
+data/test/tools/javac/processing/filer/TestValidRelativeNames.java.i
data/test/tools/javac/inheritAccess/PvtMbrsNotInherit1.java.i
data/test/tools/javac/typeAnnotations/failures/common/typeArgs/InvalidLocation.out.i
-data/test/com/sun/javadoc/testSubTitle/pkg/package.html.i
+data/test/tools/javac/overrridecrash/A.java.i
data/src/share/classes/com/sun/tools/javadoc/ParameterImpl.java.i
-data/test/com/sun/javadoc/testInlineLinkLabel/pkg/C1.java.i
+data/test/tools/javadoc/annotations/badVals/pkg1/A.java.i
data/test/tools/javac/depOverrides/doccomment/empty.i
-data/test/tools/javac/generics/inference/5073060/T5073060.java.i
-data/test/tools/javac/mandatoryWarnings/unchecked/Test1.out.i
+data/test/tools/javac/literals/BadUnderscoreLiterals.6.out.i
+data/src/share/classes/javax/lang/model/element/UnknownElementException.java.i
data/test/tools/javac/generics/6946618/T6946618a.java.i
data/test/tools/javac/processing/model/util/elements/VacuousEnum.java.i
-data/test/tools/javac/annotations/neg/NoObjectMethods.java.i
-data/test/com/sun/javadoc/testTaglets/Parent.java.i
+data/test/tools/javac/warnings/Unchecked.lintAll.out.i
+data/test/tools/javac/generics/inference/4972073/T4972073a.java.i
data/test/tools/javadoc/annotations/elementTypes/pkg1/B.java.i
data/test/tools/javac/diags/examples/TryResourceTrailingSemi.java.i
data/test/com/sun/javadoc/testNewLanguageFeatures/pkg2/ClassUseTest3.java.i
+data/test/tools/javac/cast/7123100/T7123100c.out.i
data/test/tools/javah/6572945/gold/jni.dir.1/TestClass1.h.i
-data/test/tools/javac/FloatingPointChanges/BadConstructorModifiers.out.i
-data/test/com/sun/javadoc/AccessAsciiArt/p1/C.java.i
-data/make/test/lib/javadoc.sh.i
+data/test/tools/javac/typeAnnotations/failures/common/typeparams/MissingAnnotationValue.java.i
+data/test/tools/javah/4942232/ParamClassTest.java.i
+data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/PackageListWriter.java.i
data/test/tools/javac/diags/examples/OverrideUncheckedReturn.java.i
data/test/tools/javac/diags/examples/DeprecatedFilename.java.i
data/test/tools/javadoc/T6551367.java.i
@@ -4771,22 +4778,22 @@ data/test/com/sun/javadoc/testTagInheritence/firstSentence/A.java.i
data/test/tools/javap/T6863746.java.i
data/src/share/classes/com/sun/tools/classfile/RuntimeInvisibleTypeAnnotations_attribute.java.i
data/test/tools/javac/staticImport/ImportPrivate.java.i
-data/test/tools/javac/generics/6969184/T6969184.java.i
+data/test/tools/javac/options/T7022337.java.i
data/test/tools/javac/multicatch/Pos01.java.i
-data/test/tools/javac/tree/TestToString.java.i
+data/src/share/classes/com/sun/source/tree/NewArrayTree.java.i
data/test/com/sun/javadoc/testNewLanguageFeatures/pkg/Coin.java.i
data/test/tools/javac/warnings/Unchecked.noLint.out.i
-data/src/share/classes/com/sun/tools/javac/parser/Parser.java.i
+data/test/tools/javac/lint/NoWarn1.out.i
data/test/tools/javac/cast/5065215/T5065215.java.i
-data/test/tools/javac/generics/wildcards/neg/CastWarn14.java.i
+data/test/tools/javac/processing/model/util/OverridesSpecEx.java.i
data/test/tools/javadoc/varArgs/pkg1/A.java.i
data/test/tools/javac/multicatch/Neg04.out.i
-data/test/tools/javac/diags/examples/UnmatchedProcessorOptions/processors/AnnoProc.java.i
+data/test/tools/javac/typeAnnotations/failures/target/NotTypeUse.java.i
data/test/tools/javac/diags/examples/IllegalLineEndInCharLit.java.i
-data/test/tools/javac/typeAnnotations/failures/common/typeparams/InvalidLocation.java.i
+data/src/share/classes/com/sun/tools/javac/file/Locations.java.i
data/test/tools/javac/mixedTarget/CompatibleAbstracts2.java.i
data/src/share/classes/com/sun/tools/javac/model/JavacTypes.java.i
-data/src/share/classes/com/sun/tools/javap/Messages.java.i
+data/test/tools/javac/meth/InvokeDyn.java.i
data/test/tools/javac/generics/inference/6222762/T6222762.java.i
data/test/tools/javac/diags/examples/Expected2.java.i
data/test/tools/javac/CyclicScoping/CyclicScoping_2.java.i
@@ -4794,55 +4801,57 @@ data/test/tools/javac/diags/examples/FloatNumberTooLarge.java.i
data/test/tools/javac/policy/B.java.i
data/test/tools/javac/generics/PermuteBound.java.i
data/test/tools/javac/EarlyAssert.java.i
-data/test/tools/apt/Scanners/MemberOrderApf.java.i
+data/test/tools/javac/typeAnnotations/failures/OldArray.out.i
data/test/tools/javac/literals/BadUnderscoreLiterals.java.i
data/test/com/sun/javadoc/testDocFileDir/pkg/doc-files/subdir-excluded1/testfile.txt.i
-data/test/com/sun/javadoc/WindowTitles/WindowTitles.java.i
+data/test/tools/javac/diags/examples/AnnotationMissingValue.java.i
data/test/tools/javac/Capture.java.i
-data/test/tools/javac/ClassLiterals/evalinit/ClassLiteralEvalInit.java.i
+data/test/tools/javac/diags/examples/UncheckedPluralAdditional/UncheckedPluralAdditional.java.i
data/test/tools/apt/Scanners/Order.java.i
-data/src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java.i
+data/test/tools/javac/processing/errors/Foo.java.i
data/test/tools/javadoc/imports/I.java.i
data/test/tools/javac/policy/D.java.i
data/test/com/sun/javadoc/testBadSourceFile/TestBadSourceFile.java.i
-data/test/tools/javac/generics/inference/5021635/T5021635.java.i
+data/test/tools/javac/processing/6512707/TestEnum.java.i
data/test/tools/javac/6400383/T6400383.java.i
-data/test/com/sun/javadoc/testValueTag/pkg1/CustomTagUsage.java.i
-data/src/share/classes/com/sun/mirror/declaration/AnnotationMirror.java.i
+data/test/tools/javac/Closure3.java.i
+data/src/share/classes/javax/lang/model/util/AbstractElementVisitor7.java.i
+data/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java.i
data/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/SourcePath.java.i
data/test/tools/javac/generics/diamond/neg/Neg05.out.i
data/src/share/classes/com/sun/source/tree/InstanceOfTree.java.i
-data/test/com/sun/javadoc/dupThrowsTags/TestDupThrowsTags.java.i
-data/test/tools/javac/AccessMethods/ChainedAssignment.java.i
+data/test/tools/javac/scope/6225935/Baz.java.i
+data/test/tools/javac/api/T6400205.java.i
data/test/tools/javac/T5090006/broken.jar.i
data/test/com/sun/javadoc/testSubTitle/TestSubTitle.java.i
data/src/share/classes/com/sun/tools/javac/comp/Todo.java.i
data/test/tools/javac/enum/DA3.java.i
-data/make/test/contents.sh.i
+data/test/tools/javap/typeAnnotations/ClassLiterals.java.i
data/test/tools/javac/processing/model/type/NoTypes.java.i
data/test/tools/javac/Closure4.java.i
-data/test/tools/javadoc/annotations/annotatePackage/pkg2/package.html.i
+data/test/tools/javac/lambda/MethodReferenceParserTest.java.i
data/test/tools/javac/6979683/TestCast6979683_BAD37.java.errlog.i
-data/src/share/classes/com/sun/tools/apt/mirror/type/TypeVariableImpl.java.i
+data/test/tools/javac/diags/examples/EnumAsIdentifier.java.i
data/test/tools/javac/boxing/Boxing2.java.i
data/test/tools/javac/processing/Xprint.java.i
data/test/tools/javac/diags/examples/CantImplement.java.i
data/test/tools/javac/importContext/anonPackage/Foo.java.i
data/test/tools/javac/generics/wildcards/neg/CastWarn12.java.i
-data/test/tools/javac/annotations/default/Derr.java.i
-data/test/tools/javac/api/6411310/Test.java.i
+data/test/tools/javac/modules/ModulePermitsAttributeTest01.java.i
+data/test/tools/javac/typeAnnotations/failures/common/wildcards/DuplicateTypeAnnotation.java.i
data/test/tools/javac/Paths/SameJVM.java.i
-data/test/tools/apt/Scanners/TestEnum.java.i
+data/test/tools/javadoc/annotations/missing/Main.java.i
data/test/tools/javac/importContext/namedPackage/bar/Baz.java.i
data/test/tools/javac/proprietary/WarnImport.java.i
+data/test/tools/javac/OuterParameter_1.java.i
data/src/share/classes/com/sun/tools/javadoc/FieldDocImpl.java.i
-data/test/com/sun/javadoc/testModifier/Test.java.i
-data/src/share/classes/com/sun/tools/javac/tree/TreeScanner.java.i
-data/test/tools/javac/T6794959.java.i
-data/test/tools/javac/diags/examples/AnnosWithoutProcessors/AnnosWithoutProcessors.java.i
+data/src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java.i
+data/test/tools/javac/diags/examples/AlreadyDefinedStaticImport/p/E2.java.i
+data/test/tools/javac/warnings/FallThrough.lintAll.out.i
+data/test/tools/javadoc/enum/docComments/pkg1/Operation.java.i
data/test/tools/javac/OverrideChecks/6400189/T6400189a.java.i
-data/test/tools/javac/multicatch/Neg01.java.i
-data/test/tools/javac/generics/6910550/T6910550e.out.i
+data/test/tools/javac/diags/examples/ExceptAlreadyCaught.java.i
+data/test/tools/javac/6857948/T6857948.java.i
data/test/tools/javac/typeAnnotations/failures/common/arrayclass/DuplicateTypeAnnotation.out.i
data/test/tools/javac/typeAnnotations/6967002/T6967002.java.i
data/test/tools/javac/7024568/T7024568.out.i
@@ -4850,16 +4859,17 @@ data/test/tools/javac/diags/examples/AnnoValueMustBeClassLiteral.java.i
data/test/com/sun/javadoc/testDocFileDir/pkg/C.java.i
data/test/tools/javac/processing/model/element/TestAnonSourceNames.java.i
data/test/com/sun/javadoc/testNavagation/pkg/A.java.i
-data/test/tools/javac/scope/6392998/T6392998.java.i
+data/test/tools/javac/meth/InvokeMH_BAD72.java.i
data/test/tools/javac/enum/NoFinal2.java.i
data/test/tools/javac/diags/examples/IntNumberTooLarge.java.i
-data/test/tools/javac/typeAnnotations/newlocations/MethodTypeArgs.java.i
-data/test/tools/javac/DefiniteAssignment/T4704365.java.i
+data/test/tools/javac/cast/7126754/T7126754.java.i
+data/test/tools/javah/ConstMacroTest.sh.i
+data/test/tools/javac/TryWithResources/ResourceTypeVar.java.i
data/test/tools/javac/protectedAccess/ProtectedMemberAccess5/z2/Z2.java.i
-data/test/com/sun/javadoc/testLinkOption/package-list.i
+data/src/share/classes/com/sun/tools/apt/mirror/type/PrimitiveTypeImpl.java.i
data/test/tools/javadoc/generics/genericInterface/Main.java.i
data/test/tools/javac/cast/7005095/T7005095neg.out.i
-data/test/com/sun/javadoc/testThrowsTag/pkg/T1.java.i
+data/test/tools/javac/generics/T5094318.java.i
data/test/tools/javah/6257087/foo.java.i
data/test/tools/javac/diags/examples/CantExtendIntfAnno.java.i
data/src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java.i
@@ -4868,8 +4878,8 @@ data/test/tools/javac/EmptyArray.java.i
data/test/tools/javac/diags/examples/AlreadyDefinedImport.java.i
data/src/share/classes/com/sun/tools/apt/mirror/type/AnnotationTypeImpl.java.i
data/test/tools/javadoc/annotations/annotateMethodsFields/pkg1/A.java.i
-data/test/tools/javac/meth/InvokeMH_BAD72.java.i
-data/test/tools/javac/StringsInSwitch/RSCL1.out.i
+data/test/tools/javac/scope/6392998/T6392998.java.i
+data/src/share/classes/com/sun/tools/javac/main/Option.java.i
data/test/tools/javac/IllegalAnnotation.out.i
-data/test/tools/javac/6734819/T6734819c.out.i
+data/test/tools/javap/T6715767.java.i
data/test/tools/javac/diags/examples/WrongNumberTypeArgs.java.i
diff --git a/langtools/.hg/store/undo b/langtools/.hg/store/undo
index 28e8b69..ffe4bec 100644
Binary files a/langtools/.hg/store/undo and b/langtools/.hg/store/undo differ
diff --git a/langtools/.hg/undo.desc b/langtools/.hg/undo.desc
index 2564977..c9a2d8d 100644
--- a/langtools/.hg/undo.desc
+++ b/langtools/.hg/undo.desc
@@ -1,3 +1,3 @@
-1169
+1258
pull
http://hg.openjdk.java.net/jigsaw/jigsaw/langtools
diff --git a/langtools/.hg/undo.dirstate b/langtools/.hg/undo.dirstate
index 749c1bd..fb62821 100644
Binary files a/langtools/.hg/undo.dirstate and b/langtools/.hg/undo.dirstate differ
diff --git a/langtools/.hgtags b/langtools/.hgtags
index 6d35db6..bd3ee8d 100644
--- a/langtools/.hgtags
+++ b/langtools/.hgtags
@@ -146,3 +146,8 @@ ae25163501bc7477cd907e26a006a6f1b05fdb6d jdk8-b13
1cbe86c11ba69521875c0b0357d7540781eb334d jdk8-b17
ec2c0973cc31e143cffc05ceb63d98fae76f97d4 jdk8-b16
ab1b1cc7857716914f2bb20b3128e5a8978290f7 jdk8-b18
+77b2c066084cbc75150efc6603a713c558329813 jdk8-b19
+ffd294128a48cbb90ce8f0569f82b61f1f164a18 jdk8-b20
+bcb21abf1c4177baf4574f99709513dcd4474727 jdk8-b21
+390a7828ae18324030c0546b6452d51093ffa451 jdk8-b22
+601ffcc6551d5414ef871be306c3a26396cf16a7 jdk8-b23
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Types.java b/langtools/src/share/classes/com/sun/tools/javac/code/Types.java
index 9336b92..72228e3 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Types.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Types.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -3600,39 +3600,44 @@ public class Types {
@Override
public Type visitCapturedType(CapturedType t, Void s) {
- Type bound = visitWildcardType(t.wildcard, null);
- return (bound.contains(t)) ?
- erasure(bound) :
- bound;
+ Type w_bound = t.wildcard.type;
+ Type bound = w_bound.contains(t) ?
+ erasure(w_bound) :
+ visit(w_bound);
+ return rewriteAsWildcardType(visit(bound), t.wildcard.bound, t.wildcard.kind);
}
@Override
public Type visitTypeVar(TypeVar t, Void s) {
if (rewriteTypeVars) {
- Type bound = high ?
- (t.bound.contains(t) ?
+ Type bound = t.bound.contains(t) ?
erasure(t.bound) :
- visit(t.bound)) :
- syms.botType;
- return rewriteAsWildcardType(bound, t);
- }
- else
+ visit(t.bound);
+ return rewriteAsWildcardType(bound, t, EXTENDS);
+ } else {
return t;
+ }
}
@Override
public Type visitWildcardType(WildcardType t, Void s) {
- Type bound = high ? t.getExtendsBound() :
- t.getSuperBound();
- if (bound == null)
- bound = high ? syms.objectType : syms.botType;
- return rewriteAsWildcardType(visit(bound), t.bound);
- }
-
- private Type rewriteAsWildcardType(Type bound, TypeVar formal) {
- return high ?
- makeExtendsWildcard(B(bound), formal) :
- makeSuperWildcard(B(bound), formal);
+ Type bound2 = visit(t.type);
+ return t.type == bound2 ? t : rewriteAsWildcardType(bound2, t.bound, t.kind);
+ }
+
+ private Type rewriteAsWildcardType(Type bound, TypeVar formal, BoundKind bk) {
+ switch (bk) {
+ case EXTENDS: return high ?
+ makeExtendsWildcard(B(bound), formal) :
+ makeExtendsWildcard(syms.objectType, formal);
+ case SUPER: return high ?
+ makeSuperWildcard(syms.botType, formal) :
+ makeSuperWildcard(B(bound), formal);
+ case UNBOUND: return makeExtendsWildcard(syms.objectType, formal);
+ default:
+ Assert.error("Invalid bound kind " + bk);
+ return null;
+ }
}
Type B(Type t) {
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java
index 00564d9..17ce35a 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -332,25 +332,29 @@ public class Infer {
//replace uninferred type-vars
targs = types.subst(targs,
that.tvars,
- instaniateAsUninferredVars(undetvars, that.tvars));
+ instantiateAsUninferredVars(undetvars, that.tvars));
}
return chk.checkType(warn.pos(), that.inst(targs, types), to);
}
//where
- private List<Type> instaniateAsUninferredVars(List<Type> undetvars, List<Type> tvars) {
+ private List<Type> instantiateAsUninferredVars(List<Type> undetvars, List<Type> tvars) {
+ Assert.check(undetvars.length() == tvars.length());
ListBuffer<Type> new_targs = ListBuffer.lb();
- //step 1 - create syntethic captured vars
+ //step 1 - create synthetic captured vars
for (Type t : undetvars) {
UndetVar uv = (UndetVar)t;
Type newArg = new CapturedType(t.tsym.name, t.tsym, uv.inst, syms.botType, null);
new_targs = new_targs.append(newArg);
}
//step 2 - replace synthetic vars in their bounds
+ List<Type> formals = tvars;
for (Type t : new_targs.toList()) {
CapturedType ct = (CapturedType)t;
ct.bound = types.subst(ct.bound, tvars, new_targs.toList());
- WildcardType wt = new WildcardType(ct.bound, BoundKind.EXTENDS, syms.boundClass);
+ WildcardType wt = new WildcardType(syms.objectType, BoundKind.UNBOUND, syms.boundClass);
+ wt.bound = (TypeVar)formals.head;
ct.wildcard = wt;
+ formals = formals.tail;
}
return new_targs.toList();
}
diff --git a/langtools/src/share/classes/javax/lang/model/element/Element.java b/langtools/src/share/classes/javax/lang/model/element/Element.java
index 0672041..64fe7ea 100644
--- a/langtools/src/share/classes/javax/lang/model/element/Element.java
+++ b/langtools/src/share/classes/javax/lang/model/element/Element.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -213,14 +213,13 @@ public interface Element {
* Returns the elements that are, loosely speaking, directly
* enclosed by this element.
*
- * A class or interface is considered to enclose the fields,
- * methods, constructors, and member types that it directly
- * declares. This includes any (implicit) default constructor and
- * the implicit {@code values} and {@code valueOf} methods of an
- * enum type.
+ * A {@linkplain TypeElement#getEnclosedElements class or
+ * interface} is considered to enclose the fields, methods,
+ * constructors, and member types that it directly declares.
*
- * A package encloses the top-level classes and interfaces within
- * it, but is not considered to enclose subpackages.
+ * A {@linkplain PackageElement#getEnclosedElements package}
+ * encloses the top-level classes and interfaces within it, but is
+ * not considered to enclose subpackages.
*
* Other kinds of elements are not currently considered to enclose
* any elements; however, that may change as this API or the
@@ -230,6 +229,8 @@ public interface Element {
* methods in {@link ElementFilter}.
*
* @return the enclosed elements, or an empty list if none
+ * @see PackageElement#getEnclosedElements
+ * @see TypeElement#getEnclosedElements
* @see Elements#getAllMembers
* @jls 8.8.9 Default Constructor
* @jls 8.9 Enums
diff --git a/langtools/src/share/classes/javax/lang/model/element/PackageElement.java b/langtools/src/share/classes/javax/lang/model/element/PackageElement.java
index 66f1386..1aafd34 100644
--- a/langtools/src/share/classes/javax/lang/model/element/PackageElement.java
+++ b/langtools/src/share/classes/javax/lang/model/element/PackageElement.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,8 @@
package javax.lang.model.element;
+import java.util.List;
+
/**
* Represents a package program element. Provides access to information
* about the package and its members.
@@ -49,7 +51,7 @@ public interface PackageElement extends Element, QualifiedNameable {
/**
* Returns the simple name of this package. For an unnamed
- * package, an empty name is returned
+ * package, an empty name is returned.
*
* @return the simple name of this package or an empty name if
* this is an unnamed package
@@ -58,6 +60,18 @@ public interface PackageElement extends Element, QualifiedNameable {
Name getSimpleName();
/**
+ * Returns the {@linkplain NestingKind#TOP_LEVEL top-level}
+ * classes and interfaces within this package. Note that
+ * subpackages are <em>not</em> considered to be enclosed by a
+ * package.
+ *
+ * @return the top-level classes and interfaces within this
+ * package
+ */
+ @Override
+ List<? extends Element> getEnclosedElements();
+
+ /**
* Returns {@code true} is this is an unnamed package and {@code
* false} otherwise.
*
diff --git a/langtools/src/share/classes/javax/lang/model/element/TypeElement.java b/langtools/src/share/classes/javax/lang/model/element/TypeElement.java
index d73adfe..a86db82 100644
--- a/langtools/src/share/classes/javax/lang/model/element/TypeElement.java
+++ b/langtools/src/share/classes/javax/lang/model/element/TypeElement.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -61,7 +61,12 @@ import javax.lang.model.util.*;
*/
public interface TypeElement extends Element, Parameterizable, QualifiedNameable {
/**
- * {@inheritDoc}
+ * Returns the fields, methods, constructors, and member types
+ * that are directly declared in this class or interface.
+ *
+ * This includes any (implicit) default constructor and
+ * the implicit {@code values} and {@code valueOf} methods of an
+ * enum type.
*
* <p> Note that as a particular instance of the {@linkplain
* javax.lang.model.element general accuracy requirements} and the
@@ -75,6 +80,7 @@ public interface TypeElement extends Element, Parameterizable, QualifiedNameable
*
* @return the enclosed elements in proper order, or an empty list if none
*/
+ @Override
List<? extends Element> getEnclosedElements();
/**
diff --git a/langtools/test/tools/javac/api/T6397104.java b/langtools/test/tools/javac/api/T6397104.java
index 57673fc..841ffbb 100644
--- a/langtools/test/tools/javac/api/T6397104.java
+++ b/langtools/test/tools/javac/api/T6397104.java
@@ -26,10 +26,10 @@
* @bug 6397104
* @summary JSR 199: JavaFileManager.getFileForOutput should have sibling argument
* @author Peter von der Ah\u00e9
- * @ignore this test should be rewritten when fixing 6473901
*/
import java.io.File;
+import java.net.URI;
import java.util.Arrays;
import javax.tools.*;
import javax.tools.JavaFileManager.Location;
@@ -52,10 +52,14 @@ public class T6397104 {
: fm.getJavaFileObjectsFromFiles(Arrays.asList(siblingFile)).iterator().next();
FileObject fileObject =
fm.getFileForOutput(location, "java.lang", relName, sibling);
- if (!fileObject.toUri().getPath().equals(expectedPath))
- throw new AssertionError("Expected " + expectedPath +
- ", got " + fileObject.toUri().getPath());
- System.out.format("OK: (%s, %s) => %s%n", siblingFile, relName, fileObject.toUri());
+
+ File expectedFile = new File(expectedPath).getCanonicalFile();
+ File fileObjectFile = new File(fileObject.toUri()).getCanonicalFile();
+
+ if (!fileObjectFile.equals(expectedFile))
+ throw new AssertionError("Expected " + expectedFile +
+ ", got " + fileObjectFile);
+ System.out.format("OK: (%s, %s) => %s%n", siblingFile, relName, fileObjectFile);
}
void test(boolean hasLocation, File siblingFile, String relName, String expectedPath)
diff --git a/langtools/test/tools/javac/cast/7123100/T7123100a.java b/langtools/test/tools/javac/cast/7123100/T7123100a.java
new file mode 100644
index 0000000..1fbee2c
--- /dev/null
+++ b/langtools/test/tools/javac/cast/7123100/T7123100a.java
@@ -0,0 +1,16 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 7123100
+ * @summary javac fails with java.lang.StackOverflowError
+ * @compile/fail/ref=T7123100a.out -Werror -Xlint:unchecked -XDrawDiagnostics T7123100a.java
+ */
+
+class T7123100a {
+ <E extends Enum<E>> E m() {
+ return null;
+ }
+
+ <Z> void test() {
+ Z z = (Z)m();
+ }
+}
diff --git a/langtools/test/tools/javac/cast/7123100/T7123100a.out b/langtools/test/tools/javac/cast/7123100/T7123100a.out
new file mode 100644
index 0000000..a816314
--- /dev/null
+++ b/langtools/test/tools/javac/cast/7123100/T7123100a.out
@@ -0,0 +1,4 @@
+T7123100a.java:14:19: compiler.warn.prob.found.req: (compiler.misc.unchecked.cast.to.type), compiler.misc.type.captureof: 1, ?, Z
+- compiler.err.warnings.and.werror
+1 error
+1 warning
diff --git a/langtools/test/tools/javac/cast/7123100/T7123100b.java b/langtools/test/tools/javac/cast/7123100/T7123100b.java
new file mode 100644
index 0000000..6a96afa
--- /dev/null
+++ b/langtools/test/tools/javac/cast/7123100/T7123100b.java
@@ -0,0 +1,12 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 7123100
+ * @summary javac fails with java.lang.StackOverflowError
+ * @compile/fail/ref=T7123100b.out -Werror -Xlint:unchecked -XDrawDiagnostics T7123100b.java
+ */
+
+class T7123100b {
+ <Z> void test(Enum<?> e) {
+ Z z = (Z)e;
+ }
+}
diff --git a/langtools/test/tools/javac/cast/7123100/T7123100b.out b/langtools/test/tools/javac/cast/7123100/T7123100b.out
new file mode 100644
index 0000000..7c3c1d6
--- /dev/null
+++ b/langtools/test/tools/javac/cast/7123100/T7123100b.out
@@ -0,0 +1,4 @@
+T7123100b.java:10:18: compiler.warn.prob.found.req: (compiler.misc.unchecked.cast.to.type), java.lang.Enum<compiler.misc.type.captureof: 1, ?>, Z
+- compiler.err.warnings.and.werror
+1 error
+1 warning
diff --git a/langtools/test/tools/javac/cast/7123100/T7123100c.java b/langtools/test/tools/javac/cast/7123100/T7123100c.java
new file mode 100644
index 0000000..cb88161
--- /dev/null
+++ b/langtools/test/tools/javac/cast/7123100/T7123100c.java
@@ -0,0 +1,16 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 7123100
+ * @summary javac fails with java.lang.StackOverflowError
+ * @compile/fail/ref=T7123100c.out -Werror -Xlint:unchecked -XDrawDiagnostics T7123100c.java
+ */
+
+class T7123100c {
+ <E> E m(E e) {
+ return null;
+ }
+
+ <Z> void test(Enum<?> e) {
+ Z z = (Z)m(e);
+ }
+}
diff --git a/langtools/test/tools/javac/cast/7123100/T7123100c.out b/langtools/test/tools/javac/cast/7123100/T7123100c.out
new file mode 100644
index 0000000..9af9357
--- /dev/null
+++ b/langtools/test/tools/javac/cast/7123100/T7123100c.out
@@ -0,0 +1,4 @@
+T7123100c.java:14:19: compiler.warn.prob.found.req: (compiler.misc.unchecked.cast.to.type), java.lang.Enum<compiler.misc.type.captureof: 1, ?>, Z
+- compiler.err.warnings.and.werror
+1 error
+1 warning
diff --git a/langtools/test/tools/javac/cast/7123100/T7123100d.java b/langtools/test/tools/javac/cast/7123100/T7123100d.java
new file mode 100644
index 0000000..90002d3
--- /dev/null
+++ b/langtools/test/tools/javac/cast/7123100/T7123100d.java
@@ -0,0 +1,16 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 7123100
+ * @summary javac fails with java.lang.StackOverflowError
+ * @compile/fail/ref=T7123100d.out -Werror -Xlint:unchecked -XDrawDiagnostics T7123100d.java
+ */
+
+class T7123100d {
+ <E extends Enum<E>> E m(Enum<E> e) {
+ return null;
+ }
+
+ <Z> void test(Enum<?> e) {
+ Z z = (Z)m(e);
+ }
+}
diff --git a/langtools/test/tools/javac/cast/7123100/T7123100d.out b/langtools/test/tools/javac/cast/7123100/T7123100d.out
new file mode 100644
index 0000000..52a9ce3
--- /dev/null
+++ b/langtools/test/tools/javac/cast/7123100/T7123100d.out
@@ -0,0 +1,4 @@
+T7123100d.java:14:19: compiler.warn.prob.found.req: (compiler.misc.unchecked.cast.to.type), compiler.misc.type.captureof: 1, ?, Z
+- compiler.err.warnings.and.werror
+1 error
+1 warning
diff --git a/langtools/test/tools/javac/cast/7126754/T7126754.java b/langtools/test/tools/javac/cast/7126754/T7126754.java
new file mode 100644
index 0000000..79e49ec
--- /dev/null
+++ b/langtools/test/tools/javac/cast/7126754/T7126754.java
@@ -0,0 +1,14 @@
+/*
+ * @test /nodynamiccopyright/
+ * @author mcimadamore
+ * @bug 7005671
+ * @summary Generics compilation failure casting List<? extends Set...> to List<Set...>
+ * @compile/fail/ref=T7126754.out -Xlint:unchecked -Werror -XDrawDiagnostics T7126754.java
+ */
+
+import java.util.List;
+
+class T7126754 {
+ List<? extends List<? extends String>> c = null;
+ List<List<? extends String>> d = (List<List<? extends String>>)c;
+}
diff --git a/langtools/test/tools/javac/cast/7126754/T7126754.out b/langtools/test/tools/javac/cast/7126754/T7126754.out
new file mode 100644
index 0000000..73baf16
--- /dev/null
+++ b/langtools/test/tools/javac/cast/7126754/T7126754.out
@@ -0,0 +1,4 @@
+T7126754.java:13:68: compiler.warn.prob.found.req: (compiler.misc.unchecked.cast.to.type), java.util.List<compiler.misc.type.captureof: 1, ? extends java.util.List<? extends java.lang.String>>, java.util.List<java.util.List<? extends java.lang.String>>
+- compiler.err.warnings.and.werror
+1 error
+1 warning
diff --git a/langtools/test/tools/javac/diags/CheckExamples.java b/langtools/test/tools/javac/diags/CheckExamples.java
index b29c544..aa35fc1 100644
--- a/langtools/test/tools/javac/diags/CheckExamples.java
+++ b/langtools/test/tools/javac/diags/CheckExamples.java
@@ -23,10 +23,13 @@
/*
* @test
- * @bug 6968063
+ * @bug 6968063 7127924
* @summary provide examples of code that generate diagnostics
* @build Example CheckExamples
- * @run main CheckExamples
+ * @run main/othervm CheckExamples
+ */
+/*
+ * See CR 7127924 for info on why othervm is used.
*/
import java.io.*;
diff --git a/langtools/test/tools/javac/diags/MessageInfo.java b/langtools/test/tools/javac/diags/MessageInfo.java
index 885183c..f053b3d 100644
--- a/langtools/test/tools/javac/diags/MessageInfo.java
+++ b/langtools/test/tools/javac/diags/MessageInfo.java
@@ -23,10 +23,13 @@
/**
* @test
- * @bug 7013272
+ * @bug 7013272 7127924
* @summary Automatically generate info about how compiler resource keys are used
* @build Example ArgTypeCompilerFactory MessageFile MessageInfo
- * @run main MessageInfo
+ * @run main/othervm MessageInfo
+ */
+/*
+ * See CR 7127924 for info on why othervm is used.
*/
import java.io.*;
diff --git a/langtools/test/tools/javac/diags/RunExamples.java b/langtools/test/tools/javac/diags/RunExamples.java
index e4234d5..8589483 100644
--- a/langtools/test/tools/javac/diags/RunExamples.java
+++ b/langtools/test/tools/javac/diags/RunExamples.java
@@ -23,10 +23,13 @@
/**
* @test
- * @bug 6968063
+ * @bug 6968063 7127924
* @summary provide examples of code that generate diagnostics
* @build ArgTypeCompilerFactory Example HTMLWriter RunExamples
- * @run main RunExamples
+ * @run main/othervm RunExamples
+ */
+/*
+ * See CR 7127924 for info on why othervm is used.
*/
import java.io.*;
diff --git a/make/jprt.properties b/make/jprt.properties
index ca3221e..d92c63e 100644
--- a/make/jprt.properties
+++ b/make/jprt.properties
@@ -25,7 +25,7 @@
# Properties for jprt
-# Release to build
+# Locked down to jdk8
jprt.tools.default.release=jdk8
# The different build flavors we want, we override here so we just get these 2
@@ -45,293 +45,62 @@ jprt.build.targets= \
# User can select the test set with jprt submit "-testset name" option
jprt.my.test.set=${jprt.test.set}
-# Default vm test targets (no fastdebug & limited c2 testing)
+# Test target list (no fastdebug & limited c2 testing)
+jprt.my.test.target.set= \
+ solaris_sparc_5.10-product-c1-TESTNAME, \
+ solaris_sparcv9_5.10-product-c2-TESTNAME, \
+ solaris_i586_5.10-product-c1-TESTNAME, \
+ solaris_x64_5.10-product-c2-TESTNAME, \
+ linux_i586_2.6-product-{c1|c2}-TESTNAME, \
+ linux_x64_2.6-product-c2-TESTNAME, \
+ windows_i586_5.1-product-c1-TESTNAME, \
+ windows_x64_5.2-product-c2-TESTNAME
+
+# Default vm test targets (testset=default)
jprt.vm.default.test.targets= \
- \
- solaris_sparc_5.10-product-c1-jvm98, \
- solaris_sparcv9_5.10-product-c2-jvm98, \
- solaris_i586_5.10-product-c1-jvm98, \
- solaris_x64_5.10-product-c2-jvm98, \
- linux_i586_2.6-product-{c1|c2}-jvm98, \
- linux_x64_2.6-product-c2-jvm98, \
- windows_i586_5.1-product-c1-jvm98, \
- windows_x64_5.2-product-c2-jvm98, \
- \
- solaris_sparc_5.10-product-c1-scimark, \
- solaris_sparcv9_5.10-product-c2-scimark, \
- solaris_i586_5.10-product-c1-scimark, \
- solaris_x64_5.10-product-c2-scimark, \
- linux_i586_2.6-product-{c1|c2}-scimark, \
- linux_x64_2.6-product-c2-scimark, \
- windows_i586_5.1-product-c1-scimark, \
- windows_x64_5.2-product-c2-scimark
+ ${jprt.my.test.target.set:TESTNAME=jvm98}, \
+ ${jprt.my.test.target.set:TESTNAME=scimark}
-# Default jdk test targets in test/Makefile (no fastdebug & limited c2 testing)
+# Default jdk test targets (testset=default)
jprt.make.rule.default.test.targets= \
- \
- solaris_sparc_5.10-product-c1-langtools_jtreg, \
- solaris_sparcv9_5.10-product-c2-langtools_jtreg, \
- solaris_i586_5.10-product-c1-langtools_jtreg, \
- solaris_x64_5.10-product-c2-langtools_jtreg, \
- linux_i586_2.6-product-{c1|c2}-langtools_jtreg, \
- linux_x64_2.6-product-c2-langtools_jtreg, \
- windows_i586_5.1-product-c1-langtools_jtreg, \
- windows_x64_5.2-product-c2-langtools_jtreg, \
- \
- solaris_sparc_5.10-product-c1-jdk_beans1, \
- solaris_sparcv9_5.10-product-c2-jdk_beans1, \
- solaris_i586_5.10-product-c1-jdk_beans1, \
- solaris_x64_5.10-product-c2-jdk_beans1, \
- linux_i586_2.6-product-{c1|c2}-jdk_beans1, \
- linux_x64_2.6-product-c2-jdk_beans1, \
- windows_i586_5.1-product-c1-jdk_beans1, \
- windows_x64_5.2-product-c2-jdk_beans1, \
- \
- solaris_sparc_5.10-product-c1-jdk_io, \
- solaris_sparcv9_5.10-product-c2-jdk_io, \
- solaris_i586_5.10-product-c1-jdk_io, \
- solaris_x64_5.10-product-c2-jdk_io, \
- linux_i586_2.6-product-{c1|c2}-jdk_io, \
- linux_x64_2.6-product-c2-jdk_io, \
- windows_i586_5.1-product-c1-jdk_io, \
- windows_x64_5.2-product-c2-jdk_io, \
- \
- solaris_sparc_5.10-product-c1-jdk_lang, \
- solaris_sparcv9_5.10-product-c2-jdk_lang, \
- solaris_i586_5.10-product-c1-jdk_lang, \
- solaris_x64_5.10-product-c2-jdk_lang, \
- linux_i586_2.6-product-{c1|c2}-jdk_lang, \
- linux_x64_2.6-product-c2-jdk_lang, \
- windows_i586_5.1-product-c1-jdk_lang, \
- windows_x64_5.2-product-c2-jdk_lang, \
- \
- solaris_sparc_5.10-product-c1-jdk_jigsaw, \
- solaris_sparcv9_5.10-product-c2-jdk_jigsaw, \
- solaris_i586_5.10-product-c1-jdk_jigsaw, \
- solaris_x64_5.10-product-c2-jdk_jigsaw, \
- linux_i586_2.6-product-{c1|c2}-jdk_jigsaw, \
- linux_x64_2.6-product-c2-jdk_jigsaw, \
- windows_i586_5.1-product-c1-jdk_jigsaw, \
- windows_x64_5.2-product-c2-jdk_jigsaw, \
- \
- solaris_sparc_5.10-product-c1-jdk_math, \
- solaris_sparcv9_5.10-product-c2-jdk_math, \
- solaris_i586_5.10-product-c1-jdk_math, \
- solaris_x64_5.10-product-c2-jdk_math, \
- linux_i586_2.6-product-{c1|c2}-jdk_math, \
- linux_x64_2.6-product-c2-jdk_math, \
- windows_i586_5.1-product-c1-jdk_math, \
- windows_x64_5.2-product-c2-jdk_math, \
- \
- solaris_sparc_5.10-product-c1-jdk_misc, \
- solaris_sparcv9_5.10-product-c2-jdk_misc, \
- solaris_i586_5.10-product-c1-jdk_misc, \
- solaris_x64_5.10-product-c2-jdk_misc, \
- linux_i586_2.6-product-{c1|c2}-jdk_misc, \
- linux_x64_2.6-product-c2-jdk_misc, \
- windows_i586_5.1-product-c1-jdk_misc, \
- windows_x64_5.2-product-c2-jdk_misc, \
- \
- solaris_sparc_5.10-product-c1-jdk_net, \
- solaris_sparcv9_5.10-product-c2-jdk_net, \
- solaris_i586_5.10-product-c1-jdk_net, \
- solaris_x64_5.10-product-c2-jdk_net, \
- linux_i586_2.6-product-{c1|c2}-jdk_net, \
- linux_x64_2.6-product-c2-jdk_net, \
- windows_i586_5.1-product-c1-jdk_net, \
- windows_x64_5.2-product-c2-jdk_net, \
- \
- solaris_sparc_5.10-product-c1-jdk_nio1, \
- solaris_sparcv9_5.10-product-c2-jdk_nio1, \
- solaris_i586_5.10-product-c1-jdk_nio1, \
- solaris_x64_5.10-product-c2-jdk_nio1, \
- linux_i586_2.6-product-{c1|c2}-jdk_nio1, \
- linux_x64_2.6-product-c2-jdk_nio1, \
- windows_i586_5.1-product-c1-jdk_nio1, \
- windows_x64_5.2-product-c2-jdk_nio1, \
- \
- solaris_sparc_5.10-product-c1-jdk_nio2, \
- solaris_sparcv9_5.10-product-c2-jdk_nio2, \
- solaris_i586_5.10-product-c1-jdk_nio2, \
- solaris_x64_5.10-product-c2-jdk_nio2, \
- linux_i586_2.6-product-{c1|c2}-jdk_nio2, \
- linux_x64_2.6-product-c2-jdk_nio2, \
- windows_i586_5.1-product-c1-jdk_nio2, \
- windows_x64_5.2-product-c2-jdk_nio2, \
- \
- solaris_sparc_5.10-product-c1-jdk_nio3, \
- solaris_sparcv9_5.10-product-c2-jdk_nio3, \
- solaris_i586_5.10-product-c1-jdk_nio3, \
- solaris_x64_5.10-product-c2-jdk_nio3, \
- linux_i586_2.6-product-{c1|c2}-jdk_nio3, \
- linux_x64_2.6-product-c2-jdk_nio3, \
- windows_i586_5.1-product-c1-jdk_nio3, \
- windows_x64_5.2-product-c2-jdk_nio3, \
- \
- solaris_sparc_5.10-product-c1-jdk_security1, \
- solaris_sparcv9_5.10-product-c2-jdk_security1, \
- solaris_i586_5.10-product-c1-jdk_security1, \
- solaris_x64_5.10-product-c2-jdk_security1, \
- linux_i586_2.6-product-{c1|c2}-jdk_security1, \
- linux_x64_2.6-product-c2-jdk_security1, \
- windows_i586_5.1-product-c1-jdk_security1, \
- windows_x64_5.2-product-c2-jdk_security1, \
- \
- solaris_sparc_5.10-product-c1-jdk_text, \
- solaris_sparcv9_5.10-product-c2-jdk_text, \
- solaris_i586_5.10-product-c1-jdk_text, \
- solaris_x64_5.10-product-c2-jdk_text, \
- linux_i586_2.6-product-{c1|c2}-jdk_text, \
- linux_x64_2.6-product-c2-jdk_text, \
- windows_i586_5.1-product-c1-jdk_text, \
- windows_x64_5.2-product-c2-jdk_text, \
- \
- solaris_sparc_5.10-product-c1-jdk_tools1, \
- solaris_sparcv9_5.10-product-c2-jdk_tools1, \
- solaris_i586_5.10-product-c1-jdk_tools1, \
- solaris_x64_5.10-product-c2-jdk_tools1, \
- linux_i586_2.6-product-{c1|c2}-jdk_tools1, \
- linux_x64_2.6-product-c2-jdk_tools1, \
- windows_i586_5.1-product-c1-jdk_tools1, \
- windows_x64_5.2-product-c2-jdk_tools1, \
- \
- solaris_sparc_5.10-product-c1-jdk_util, \
- solaris_sparcv9_5.10-product-c2-jdk_util, \
- solaris_i586_5.10-product-c1-jdk_util, \
- solaris_x64_5.10-product-c2-jdk_util, \
- linux_i586_2.6-product-{c1|c2}-jdk_util, \
- linux_x64_2.6-product-c2-jdk_util, \
- windows_i586_5.1-product-c1-jdk_util, \
- windows_x64_5.2-product-c2-jdk_util
+ ${jprt.my.test.target.set:TESTNAME=langtools_jtreg}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_beans1}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_io}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_jigsaw}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_lang}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_math}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_misc}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_net}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_nio1}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_nio2}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_nio3}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_security1}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_text}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_util}
-# All vm test targets (but still no fastdebug & limited c2 testing)
+# All vm test targets (testset=all)
jprt.vm.all.test.targets= \
- \
- ${jprt.vm.default.test.targets}, \
- \
- solaris_sparc_5.10-product-c1-runThese, \
- solaris_sparcv9_5.10-product-c2-runThese, \
- solaris_i586_5.10-product-c1-runThese, \
- solaris_x64_5.10-product-c2-runThese, \
- linux_i586_2.6-product-{c1|c2}-runThese, \
- linux_x64_2.6-product-c2-runThese, \
- windows_i586_5.1-product-c1-runThese, \
- windows_x64_5.2-product-c2-runThese, \
- \
- solaris_sparc_5.10-product-c1-jbb_default, \
- solaris_sparcv9_5.10-product-c2-jbb_default, \
- solaris_i586_5.10-product-c1-jbb_default, \
- solaris_x64_5.10-product-c2-jbb_default, \
- linux_i586_2.6-product-{c1|c2}-jbb_default, \
- linux_x64_2.6-product-c2-jbb_default, \
- windows_i586_5.1-product-c1-jbb_default, \
- windows_x64_5.2-product-c2-jbb_default
+ ${jprt.vm.default.test.targets}, \
+ ${jprt.my.test.target.set:TESTNAME=runThese}, \
+ ${jprt.my.test.target.set:TESTNAME=jbb_default}
-# All jdk test targets (but still no fastdebug & limited c2 testing)
+# All jdk test targets (testset=all)
jprt.make.rule.all.test.targets= \
- \
- ${jprt.make.rule.default.test.targets}, \
- \
- solaris_sparc_5.10-product-c1-jdk_awt, \
- solaris_sparcv9_5.10-product-c2-jdk_awt, \
- solaris_i586_5.10-product-c1-jdk_awt, \
- solaris_x64_5.10-product-c2-jdk_awt, \
- linux_i586_2.6-product-{c1|c2}-jdk_awt, \
- linux_x64_2.6-product-c2-jdk_awt, \
- windows_i586_5.1-product-c1-jdk_awt, \
- windows_x64_5.2-product-c2-jdk_awt, \
- \
- solaris_sparc_5.10-product-c1-jdk_beans2, \
- solaris_sparcv9_5.10-product-c2-jdk_beans2, \
- solaris_i586_5.10-product-c1-jdk_beans2, \
- solaris_x64_5.10-product-c2-jdk_beans2, \
- linux_i586_2.6-product-{c1|c2}-jdk_beans2, \
- linux_x64_2.6-product-c2-jdk_beans2, \
- windows_i586_5.1-product-c1-jdk_beans2, \
- windows_x64_5.2-product-c2-jdk_beans2, \
- \
- solaris_sparc_5.10-product-c1-jdk_beans3, \
- solaris_sparcv9_5.10-product-c2-jdk_beans3, \
- solaris_i586_5.10-product-c1-jdk_beans3, \
- solaris_x64_5.10-product-c2-jdk_beans3, \
- linux_i586_2.6-product-{c1|c2}-jdk_beans3, \
- linux_x64_2.6-product-c2-jdk_beans3, \
- windows_i586_5.1-product-c1-jdk_beans3, \
- windows_x64_5.2-product-c2-jdk_beans3, \
- \
- solaris_sparc_5.10-product-c1-jdk_management1, \
- solaris_sparcv9_5.10-product-c2-jdk_management1, \
- solaris_i586_5.10-product-c1-jdk_management1, \
- solaris_x64_5.10-product-c2-jdk_management1, \
- linux_i586_2.6-product-{c1|c2}-jdk_management1, \
- linux_x64_2.6-product-c2-jdk_management1, \
- windows_i586_5.1-product-c1-jdk_management1, \
- windows_x64_5.2-product-c2-jdk_management1, \
- \
- solaris_sparc_5.10-product-c1-jdk_management2, \
- solaris_sparcv9_5.10-product-c2-jdk_management2, \
- solaris_i586_5.10-product-c1-jdk_management2, \
- solaris_x64_5.10-product-c2-jdk_management2, \
- linux_i586_2.6-product-{c1|c2}-jdk_management2, \
- linux_x64_2.6-product-c2-jdk_management2, \
- windows_i586_5.1-product-c1-jdk_management2, \
- windows_x64_5.2-product-c2-jdk_management2, \
- \
- solaris_sparc_5.10-product-c1-jdk_rmi, \
- solaris_sparcv9_5.10-product-c2-jdk_rmi, \
- solaris_i586_5.10-product-c1-jdk_rmi, \
- solaris_x64_5.10-product-c2-jdk_rmi, \
- linux_i586_2.6-product-{c1|c2}-jdk_rmi, \
- linux_x64_2.6-product-c2-jdk_rmi, \
- windows_i586_5.1-product-c1-jdk_rmi, \
- windows_x64_5.2-product-c2-jdk_rmi, \
- \
- solaris_sparc_5.10-product-c1-jdk_security2, \
- solaris_sparcv9_5.10-product-c2-jdk_security2, \
- solaris_i586_5.10-product-c1-jdk_security2, \
- solaris_x64_5.10-product-c2-jdk_security2, \
- linux_i586_2.6-product-{c1|c2}-jdk_security2, \
- linux_x64_2.6-product-c2-jdk_security2, \
- windows_i586_5.1-product-c1-jdk_security2, \
- windows_x64_5.2-product-c2-jdk_security2, \
- \
- solaris_sparc_5.10-product-c1-jdk_security3, \
- solaris_sparcv9_5.10-product-c2-jdk_security3, \
- solaris_i586_5.10-product-c1-jdk_security3, \
- solaris_x64_5.10-product-c2-jdk_security3, \
- linux_i586_2.6-product-{c1|c2}-jdk_security3, \
- linux_x64_2.6-product-c2-jdk_security3, \
- windows_i586_5.1-product-c1-jdk_security3, \
- windows_x64_5.2-product-c2-jdk_security3, \
- \
- solaris_sparc_5.10-product-c1-jdk_sound, \
- solaris_sparcv9_5.10-product-c2-jdk_sound, \
- solaris_i586_5.10-product-c1-jdk_sound, \
- solaris_x64_5.10-product-c2-jdk_sound, \
- linux_i586_2.6-product-{c1|c2}-jdk_sound, \
- linux_x64_2.6-product-c2-jdk_sound, \
- windows_i586_5.1-product-c1-jdk_sound, \
- windows_x64_5.2-product-c2-jdk_sound, \
- \
- solaris_sparc_5.10-product-c1-jdk_swing, \
- solaris_sparcv9_5.10-product-c2-jdk_swing, \
- solaris_i586_5.10-product-c1-jdk_swing, \
- solaris_x64_5.10-product-c2-jdk_swing, \
- linux_i586_2.6-product-{c1|c2}-jdk_swing, \
- linux_x64_2.6-product-c2-jdk_swing, \
- windows_i586_5.1-product-c1-jdk_swing, \
- windows_x64_5.2-product-c2-jdk_swing, \
- \
- solaris_sparc_5.10-product-c1-jdk_tools2, \
- solaris_sparcv9_5.10-product-c2-jdk_tools2, \
- solaris_i586_5.10-product-c1-jdk_tools2, \
- solaris_x64_5.10-product-c2-jdk_tools2, \
- linux_i586_2.6-product-{c1|c2}-jdk_tools2, \
- linux_x64_2.6-product-c2-jdk_tools2, \
- windows_i586_5.1-product-c1-jdk_tools2, \
- windows_x64_5.2-product-c2-jdk_tools2
+ ${jprt.make.rule.default.test.targets}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_awt}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_beans2}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_beans3}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_management1}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_management2}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_rmi}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_security2}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_security3}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_sound}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_swing}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_tools1}, \
+ ${jprt.my.test.target.set:TESTNAME=jdk_tools2}
-# JCK test targets in test/Makefile (no fastdebug & limited c2, windows broken)
+# JCK test targets in test/Makefile (no windows)
jprt.my.jck.test.target.set= \
solaris_sparc_5.10-product-c1-JCK7TESTRULE, \
solaris_sparcv9_5.10-product-c2-JCK7TESTRULE, \
@@ -347,11 +116,10 @@ jprt.make.rule.jck.test.targets= \
${jprt.my.jck.test.target.set:JCK7TESTRULE=jck7compiler}
# Select list to use (allow for testset to be empty too)
-jprt.make.rule..test.targets=${jprt.make.rule.default.test.targets}
-jprt.make.rule.test.targets=${jprt.make.rule.${jprt.my.test.set}.test.targets}
-jprt.vm..test.targets=${jprt.vm.default.test.targets}
-jprt.vm.test.targets=${jprt.vm.${jprt.my.test.set}.test.targets}
-jprt.test.targets=${jprt.vm.test.targets}
+jprt.make.rule..test.targets=${jprt.make.rule.default.test.targets}
+jprt.make.rule.test.targets=${jprt.make.rule.${jprt.my.test.set}.test.targets}
+jprt.vm..test.targets=${jprt.vm.default.test.targets}
+jprt.test.targets=${jprt.vm.${jprt.my.test.set}.test.targets}
# Directories to be excluded from the source bundles
jprt.bundle.exclude.src.dirs=build dist webrev
diff --git a/test/Makefile b/test/Makefile
index a227dcb..c8f3a4d 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -53,37 +53,46 @@ endef
LANGTOOLS_TEST_LIST = langtools_jtreg
# Test target list for jdk repository
-JDK_TEST_LIST = \
- jdk_beans1 jdk_beans2 jdk_beans3 \
+JDK_DEFAULT_TEST_LIST = \
+ jdk_beans1 \
jdk_io \
jdk_lang \
jdk_jigsaw \
- jdk_management1 jdk_management2 \
jdk_math \
jdk_misc \
jdk_net \
jdk_nio1 jdk_nio2 jdk_nio3 \
- jdk_security1 jdk_security2 jdk_security3 \
+ jdk_security1 \
jdk_text \
- jdk_tools1 jdk_tools2 \
jdk_util
-# These tests need a DISPLAY and can create window interaction complications
-JDK_TEST_LIST2 = \
+# These tests are not part of the default testing list
+JDK_NONDEFAULT_TEST_LIST = \
jdk_awt \
+ jdk_beans2 jdk_beans3 \
+ jdk_management1 jdk_management2 \
+ jdk_security2 jdk_security3 \
jdk_rmi \
- jdk_swing
+ jdk_sound \
+ jdk_swing \
+ jdk_tools1 jdk_tools2
+
+# All jdk tests
+JDK_ALL_TEST_LIST = $(JDK_DEFAULT_TEST_LIST) $(JDK_NONDEFAULT_TEST_LIST)
# These are the current jck test targets in the jdk repository
JDK_JCK7_LIST = jck7devtools jck7compiler jck7runtime
# Default test target (everything)
-all: $(JDK_TEST_LIST) $(LANGTOOLS_TEST_LIST)
+default: $(JDK_DEFAULT_TEST_LIST) $(LANGTOOLS_TEST_LIST)
+
+# All testing
+all: $(JDK_ALL_TEST_LIST) $(LANGTOOLS_TEST_LIST)
# Test targets
$(LANGTOOLS_TEST_LIST):
@$(NO_STOPPING)$(call SUBDIR_TEST, $(LANGTOOLS_DIR), $(subst langtools_,,$@))
-$(JDK_TEST_LIST) $(JDK_TEST_LIST2) $(JDK_JCK7_LIST):
+$(JDK_ALL_TEST_LIST) $(JDK_JCK7_LIST):
@$(NO_STOPPING)$(call SUBDIR_TEST, $(JDK_DIR), $@)
clean:
@@ -92,7 +101,7 @@ clean:
# Phony targets (e.g. these are not filenames)
.PHONY: all clean \
- $(JDK_TEST_LIST) $(JDK_TEST_LIST2) $(JDK_JCK7_LIST) \
+ $(JDK_ALL_TEST_LIST) $(JDK_JCK7_LIST) \
$(LANGTOOLS_TEST_LIST)
################################################################
--
jigsaw packaging
More information about the pkg-java-commits
mailing list