core-libs-dev
Threads by month
- ----- 2026 -----
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
January 2012
- 59 participants
- 125 discussions
Replacement of Quicksort in java.util.Arrays with new Dual-Pivot Quicksort
by Vladimir Yaroslavskiy 27 Feb '16
by Vladimir Yaroslavskiy 27 Feb '16
27 Feb '16
Hello All,
I'd like to share with you new Dual-Pivot Quicksort which is
faster than the known implementations (theoretically and
experimental). I'd like to propose to replace the JDK's
Quicksort implementation by new one.
Description
-----------
The classical Quicksort algorithm uses the following scheme:
1. Pick an element P, called a pivot, from the array.
2. Reorder the array so that all elements, which are less than
the pivot, come before the pivot and all elements greater than
the pivot come after it (equal values can go either way). After
this partitioning, the pivot element is in its final position.
3. Recursively sort the sub-array of lesser elements and the
sub-array of greater elements.
The invariant of classical Quicksort is:
[ <= p | >= p ]
There are several modifications of the schema:
[ < p | = p | > p ] or [ = p | < p | > p | = p ]
But all of them use *one* pivot.
The new Dual-Pivot Quicksort uses *two* pivots elements in this manner:
1. Pick an elements P1, P2, called pivots from the array.
2. Assume that P1 <= P2, otherwise swap it.
3. Reorder the array into three parts: those less than the smaller
pivot, those larger than the larger pivot, and in between are
those elements between (or equal to) the two pivots.
4. Recursively sort the sub-arrays.
The invariant of the Dual-Pivot Quicksort is:
[ < P1 | P1 <= & <= P2 } > P2 ]
The new Quicksort is faster than current implementation of Quicksort
in JDK (L. Bentley and M. Douglas McIlroy) and classical Quicksort.
The full description of the Dual-Pivot Quicksort you can find
on my page: http://iaroslavski.narod.ru/quicksort
Performance tests
-----------------
Here is result of running on different types of input data:
Client VM all 85% organ 0..1 0..4
random ascend descend equal equal pipes random 010101 random
Dual-Pivot: 16.83 5.31 5.47 0.35 0.68 10.59 1.06 1.02 2.18
Bentley's: 19.77 9.08 10.13 0.63 1.12 13.22 1.63 1.08 2.49
Server VM all 85% organ 0..1 0..4
random ascend descend equal equal pipes random 010101 random
Dual-Pivot: 23.94 6.68 6.63 0.43 0.62 17.14 1.42 1.96 3.41
Bentley's: 25.20 10.18 10.32 2.07 1.33 16.72 2.95 1.82 3.39
The a lot of other tests have been run under client and server mode.
The most interesting is BentleyBasher test framework. It runs battery
of tests for all cases:
{ 100, 1000, 10000, 1000000 } x
{ sawtooth, rand, stagger, plateau, shuffle } x
{ ident, reverse, reverse_front, reverse_back, sort, dither}
where
100, ... , 1000000 - array length
sawtooth: x[i] =i%m
rand: x[i] = rand() % m
stagger: x[i] = (i*m + i) % n
plateau: x[i] = min(i, m)
shuffle: x[i] = rand()%m? (j+=2): (k+=2)
ident(x) - a copy of x
reverse(x, 0, n) - reversed copy
reverse_front(x, 0, n/2) - front half reversed
reverse_back(x, n/2, n) - back half reversed
sort(x) - an ordered copy
dither(x) - add i%5 to x[i]
Here is the result of execution:
Server VM: http://spreadsheets.google.com/pub?key=t_EAWUkQ4mD3BIbOv8Fa-AQ&output=html
Client VM: http://spreadsheets.google.com/pub?key=tdiMo8xleTxd23nKUObcz0Q&single=true&…
Mathematical investigations
---------------------------
It is proved that for the Dual-Pivot Quicksort the average number of
comparisons is 2*n*ln(n), the average number of swaps is 0.8*n*ln(n),
whereas classical Quicksort algorithm has 2*n*ln(n) and 1*n*ln(n)
respectively. Full mathematical proof see in attached proof.txt
and proof_add.txt files. Theoretical results are also confirmed
by experimental counting of the operations.
Diff between current and new implementation of Quicksort
--------------------------------------------------------
Here is the link to the diff for java.util.Arrays class:
http://cr.openjdk.java.net/~alanb/6880672/webrev.00
If you like to look and play with new algorithm,
please, take attached class DualPivotQuicksort.java
Feedback
--------
Also I'd like to share a feedback from Joshua Bloch and
Jon Bentley who spent a lot of time investigating this
algorithm, who gave me many advices and tips how to
make new Quicksort better.
-------- Original Message --------
Subject: Re: Integration of new Dual-Pivot Quicksort into JDK 7
Date: Thu, 10 Sep 2009 07:20:11 -0700
From: Joshua Bloch <jjb(a)google.com>
Jon also says that Vladimir should make every reasonable improvement to
the basic method before checking in the code. In his words, "It would be
horrible to put the new code into the library, and then have someone
else come along and speed it up by another 20% by using standard
techniques." I believe it's not unlikely that this code may end up
getting ported to many languages and widely deployed in much the manner
of Bentley and McIlroy's fine sort (which is nearing 20 successful years
in the field). Jon will help Vladimir do this.
-------- Original Message --------
Subject: Dual-Pivot Quicksort: Next Steps
Date: Wed, 09 Sep 2009 15:02:25 -0400
From: Jon Bentley <jbentley(a)avaya.com>
Vladimir, Josh,
I *finally* feel like I understand what is going on. Now that I
(think that) I see it, it seems straightforward and obvious.
Tony Hoare developed Quicksort in the early 1960s. I was very
proud to make minor contributions to a particularly clean (binary)
quicksort in the mid 1980s, to a relatively straightforward, industrial
strength Quicksort with McIlroy in the early 1990s, and then to
algorithms and data structures for strings with Sedgewick in the mid 1990s.
I think that Vladimir's contributions to Quicksort go way beyond
anything that I've ever done, and rank up there with Hoare's original
design and Sedgewick's analysis. I feel so privileged to play a very,
very minor role in helping Vladimir with the most excellent work!
-----------------------------------------------
Let me know, if you have any questions/comments.
Thank you,
Vladimir
Here is the details between steps (1) and (2) in the case of Dual-Pivot Quicksort:
-----------------------------------------------------------------------------
>From the algorithm above, the average number of comparisons C_n as a
function of the number of elements may be represented by the equation:
(1) C_n = 1 + 2/(n*(n-1)) * sum_{i=0}^{n-2} sum_{j=i+1}^{n-1} {C_i + 1*i + C_{j-i-1} + 2*(j-i- 1) + C_{n-j-1} + 2*(n-j-1)}
Equation (1) means that total number is the sum of the comparison numbers of
all cases of partitions into 3 parts plus number of comparisons for elements
from left part (one comparison), center and right parts (2 comparisons).
!!! It can be rewritten in other way: !!!
(2) C_n = 1 + R*(n-2) + 2/(n(n-1)) * sum_{i=0}^{n-2} sum_{j=i+1}^{n-1} {C_i + C_{j-i-1} + C_{n-j-1}}
where R is the average number of comparisons during one iteration. This
constant R can be found as average value (1 + 2 + 2) / 3 = 5/3 ~ 1.6666.
-----------------------------------------------------------------------------
How it can be rewritten:
We should show that 2/(n*(n-1)) * sum_{i=0}^{n-2} sum_{j=i+1}^{n-1} {i + 2*(j-i- 1) + 2*(n-j-1)} equals
to 5/3 * (n-2). Let's consider the double sum:
sum_{i=0}^{n-2} sum_{j=i+1}^{n-1} {i + 2*(j-i- 1) + 2*(n-j-1)} =
= sum_{i=0}^{n-2} sum_{j=i+1}^{n-1} {2*n - 4} - sum_{i=0}^{n-2} sum_{j=i+1}^{n-1} {i} =
= 2*(n-2)*sum_{i=0}^{n-2} {n-1-i} - sum_{i=0}^{n-2} sum_{j=i+1}^{n-1} {i} =
= 2*(n-2)*((n-1)^2 - (n-1)*(n-2)/2) - (n-1)*sum_{i=0}^{n-2} {i} + sum_{i=0}^{n-2} {i*i} =
------------------------------------------------------------------
here we use the property: sum_{k=1}{n} {k^2} = n^3/3 + n^2/2 + n/6
------------------------------------------------------------------
= 2*(n-2)*((n-1)^2 - (n-1)*(n-2)/2) - (n-1)*(n-1)*(n-2)/2 + (n-2)^3/3 + (n-2)^2/2 + (n-2)/6 =
= 1/6 * (12*(n-1)^2*(n-2) - 6*(n-1)*(n-2)^2 - 3*(n-1)^2*(n-2) + 2*(n-2)^3 + 3*(n-2)^2 + (n-2)) =
= 1/6 * (3*(n-1)*(n-2)*(3*(n-1) - 2*(n-2)) + (n-2)*(2*(n-2)^2 + 3*(n-2) + 1))) =
= 1/6 * (3*(n-1)*(n-2)*(n+1) + (n-2)*(2*n^2 - 5*n + 3)) =
= 1/6 * (n-2)*(5*n^2 - 5*n) = 5/6 * n*(n-1)*(n-2)
Substitute the result into equation (1):
(1.1) C_n = 1 + 2/(n*(n-1)) * 5/6 * n*(n-1)*(n-2) + 2/(n*(n-1)) * sum_{i=0}^{n-2} sum_{j=i+1}^{n-1} {C_i + C_{j-i-1} + C_{n-j-1}}
or
(1.2) C_n = 1 + 5/3*(n-2) + 2/(n*(n-1)) * sum_{i=0}^{n-2} sum_{j=i+1}^{n-1} {C_i + C_{j-i-1} + C_{n-j-1}}
We see that (1.2) is same as (2).
/**
* @author Vladimir Yaroslavskiy
* @version 2009.09.10 m765
*/
public class DualPivotQuicksort {
public static void sort(int[] a) {
sort(a, 0, a.length);
}
public static void sort(int[] a, int fromIndex, int toIndex) {
rangeCheck(a.length, fromIndex, toIndex);
dualPivotQuicksort(a, fromIndex, toIndex - 1, 3);
}
private static void rangeCheck(int length, int fromIndex, int toIndex) {
if (fromIndex > toIndex) {
throw new IllegalArgumentException("fromIndex(" + fromIndex + ") > toIndex(" + toIndex + ")");
}
if (fromIndex < 0) {
throw new ArrayIndexOutOfBoundsException(fromIndex);
}
if (toIndex > length) {
throw new ArrayIndexOutOfBoundsException(toIndex);
}
}
private static void swap(int[] a, int i, int j) {
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
private static void dualPivotQuicksort(int[] a, int left, int right, int div) {
int len = right - left;
if (len < 27) { // insertion sort for tiny array
for (int i = left + 1; i <= right; i++) {
for (int j = i; j > left && a[j] < a[j - 1]; j--) {
swap(a, j, j - 1);
}
}
return;
}
int third = len / div;
// "medians"
int m1 = left + third;
int m2 = right - third;
if (m1 <= left) {
m1 = left + 1;
}
if (m2 >= right) {
m2 = right - 1;
}
if (a[m1] < a[m2]) {
swap(a, m1, left);
swap(a, m2, right);
}
else {
swap(a, m1, right);
swap(a, m2, left);
}
// pivots
int pivot1 = a[left];
int pivot2 = a[right];
// pointers
int less = left + 1;
int great = right - 1;
// sorting
for (int k = less; k <= great; k++) {
if (a[k] < pivot1) {
swap(a, k, less++);
}
else if (a[k] > pivot2) {
while (k < great && a[great] > pivot2) {
great--;
}
swap(a, k, great--);
if (a[k] < pivot1) {
swap(a, k, less++);
}
}
}
// swaps
int dist = great - less;
if (dist < 13) {
div++;
}
swap(a, less - 1, left);
swap(a, great + 1, right);
// subarrays
dualPivotQuicksort(a, left, less - 2, div);
dualPivotQuicksort(a, great + 2, right, div);
// equal elements
if (dist > len - 13 && pivot1 != pivot2) {
for (int k = less; k <= great; k++) {
if (a[k] == pivot1) {
swap(a, k, less++);
}
else if (a[k] == pivot2) {
swap(a, k, great--);
if (a[k] == pivot1) {
swap(a, k, less++);
}
}
}
}
// subarray
if (pivot1 < pivot2) {
dualPivotQuicksort(a, less, great, div);
}
}
}
At first consider the classic Quicksort scheme and find the average
number of comparisons and swaps for it. We assume that input data is
random permutation of n numbers from the range [1..n].
Classic Quicksort
=================
1. Choose a pivot element (take random),
2. Compare each (n-1) elements with the pivot
3. and swap it, if necessary, to have the partitions:
[ <= pivot | >= pivot ]
4. Sort recursively left and right parts.
>From the algorithm above, the average number of comparisons C_n as a
function of the number of elements may be represented by the equation:
(1) C_n = (n-1) + 1/n * sum_{k=0}^{n-1} {C_k + C_{n-k-1}}
and last sum can be rewritten:
(2) C_n = (n-1) + 2/n * sum_{k=0}^{n-1} C_k
Write formula (2) for n+1:
(3) C_{n+1} = n + 2/(n+1) * sum_{k=0}^{n} C_k
Multiply (2) by n and (3) by (n+1) and subtract one from other, we have:
(4) (n+1)*C_{n+1} - n*C_n = 2*n + 2*C_n
Sorting an array of n elements may be considered as selecting one permutation
of the n elements among all possible permutations. The number of possible
permutations of n elements is n!, so the task for any sorting algorithm is
to determine the one permutation out of n! possibilities. The minimum number
of operations (swap and comparisons) for sorting n elements is const*ln(n!).
>From the Stirling's formula the approximation of the number of operations
is A*n*ln(n) + B*n + C, where A, B and C are constant coefficients.
The coefficients B and C are not important for large n. Therefore,
the function C_n may be approximated by the equation:
(5) C_n = A*n*ln(n)
The function C_n is substituted from equation (5) into equation (4),
which yields the following equation:
(6) (n+1)*A*(n+1)*ln(n+1) - n*A*n*ln(n) = 2*n + 2*A*n*ln(n)
Using the properties of logarithms, equation (6) can then be reduced to:
(7) n*ln(1+1/n) + 2*ln(1+1/n) + (1/n) * ln(n+1) = 2/A
Using a property of logarithm: ln(1 + x) -> x, if x -> 0, and other property:
ln(n) / n -> 0, when n -> +oo, equation (7) will be approximated by:
(8) 1 + 0 + 0 = 2/A
So, the coefficient A is equal to 2 and the average number of comparisons
in sorting of n size arrays is
(9) C_n = 2*n*ln(n).
To find the approximation of the average number of swaps, we use the similar
approach as in the case of comparisons. The average number of swaps S_n as a
function of the number of elements may be represented by the equation:
(10) S_n = 1/2*(n-1) + 2/n * sum_{k=0}^{n-1} S_k
We assume that average number of swaps during one iteration is 1/2*(n-1).
It means that in average one half of elements is swapped only. Using the
same approach, we find that the coefficient A equals to 1. Therefore,
the function S_n may be approximated by the equation:
(11) S_n = n*ln(n)
-------------------------------------------------------------------------------
Now consider the Dual-Pivot Quicksort scheme and find the average
number of comparisons and swaps for it. We assume that input data is
random permutation of n numbers from the range [1..n].
Dual-Pivot Quicksort
====================
1. Choose 2 pivot elements pivot1 and pivot2 (take random),
2. pivot1 must be less or equal than pivot2, otherwise they are swapped
3. Compare each (n-2) elements with the pivots
4. and swap it, if necessary, to have the partitions:
[ <= p1 | p1 <= & <= p2 | >= p2 ]
5. Sort recursively left, center and right parts.
>From the algorithm above, the average number of comparisons C_n as a
function of the number of elements may be represented by the equation:
(1) C_n = 1 + 2/(n*(n-1)) * sum_{i=0}^{n-2} sum_{j=i+1}^{n-1} {C_i + 1*i + C_{j-i-1} + 2*(j-i-1) + C_{n-j-1} + 2*(n-j-1)}
Equation (1) means that total number is the sum of the comparison numbers of
all cases of partitions into 3 parts plus number of comparisons for elements
from left part (one comparison), center and right parts (2 comparisons).
It can be rewritten in other way:
(2) C_n = 1 + R*(n-2) + 2/(n(n-1)) * sum_{i=0}^{n-2} sum_{j=i+1}^{n-1} {C_i + C_{j-i-1} + C_{n-j-1}}
where R is the average number of comparisons during one iteration. This
constant R can be found as average value (1 + 2 + 2) / 3 = 5/3, which
means that elements from left part are required only one comparison,
and elements form center and right parts - two comparisons.
The double sum in equation (2) can be reduced:
(3) C_n = 1 + 5/3*(n-2) + 2/(n*(n-1)) * sum_{k=0}^{n-2} {3 * (n-k-1) * C_k}
Denote 1 + 5/3*(n-2) by f_n and multiply to n*(n-1):
(4) n*(n-1)*C_n = n*(n-1)*f_n + 6 * sum_{k=0}^{n-2} {(n-k-1) * C_k}
Write formula (4) for n+1:
(5) n*(n+1)*C_{n+1} = n*(n+1)*f_n + 6 * sum_{k=0}^{n-1} {(n-k) * C_k}
Subtract (4) from (5), we have:
(6) n*(n+1)*C_{n+1} - n*(n-1)*C_n = n*(n+1)*f_n - n*(n-1)*f_n + 6 * sum_{k=0}^{n-2} C_k + 6*C_{n-1}
Denote n*(n+1)*C_{n+1} - n*(n-1)*C_n by X_n and n*(n+1)*f_n - n*(n-1)*f_n by F_n:
(7) X_n = F_n + 6 * sum_{k=0}^{n-2} C_k + 6*C_{n-1}
Write formula (7) for n+1:
(8) X_{n+1} = F_{n+1} + 6 * sum_{k=0}^{n-1} C_k + 6*C_n
Subtract (7) from (8), we have:
(9) X_{n+1} - X_n = F_{n+1} - F_n + 6*C_n
Resolving of F_{n+1} - F_n gives:
(10) X_{n+1} - X_n = 2 + 10*n + 6*C_n
The function X_n is substituted into equation (10), which yields
the following equation:
(11) (n+1)*(n+2)C_{n+2} -2*n(n+1)*C_{n+1} + (n*(n-1) - 6)*C_n = 2 + 10*n
We will find the function C_n approximated by the equation:
(12) C_n = A*n*ln(n)
The function C_n is substituted from equation (12) into equation (11),
which yields the following equation:
(13) (n^3+5*n^2+8*n+4)*ln(n+2) - (2*n^3+4*n^2+2*n)*ln(n+1) + (n^3-n^2-6*n)*ln(n) = (10*n+2) / A
Using the properties of logarithms, equation (13) can then be reduced to:
(14) n^3*(ln(n+2)-2*ln(n+1)+ln(n)) + n^2*(5*ln(n+2)-4*ln(n+1)-ln(n)) + n*(8*ln(n+2)-2*ln(n+1)-6*ln(n)) + 4*ln(n+2) = (10*n+2) / A
Using a property of logarithm: ln(1 + x) -> x, if x -> 0, and other property:
ln(n) / n -> 0, when n -> +oo, equation (15) will be approximated by:
(15) -1 + 4 + 2 + 0 + 0 = 10 / A
So, the coefficient A is equal to 2 and the average number of comparisons
in sorting of n size arrays is
(9) C_n = 2*n*ln(n).
To find the approximation of the average number of swaps, we use the similar
approach as in the case of comparisons. The average number of swaps S_n as a
function of the number of elements may be represented by the equation:
(10) S_n = 4 + 2/3*(n-2) + 2/(n*(n-1)) * sum_{k=0}^{n-2} {(n-k-1)*S_k}
We assume that average number of swaps during one iteration is 2/3*(n-2).
It means that in average one third of elements is swapped only. Using the
same approach, we find that the coefficient A equals to 0.8. Therefore,
the function S_n may be approximated by the equation:
(11) S_n = 0.8*n*ln(n)
-------------------------------------------------------------------------
And as summary:
The value of the coefficient A:
dual-pivot classic
comparison: 2.0 2.0
swap: 0.8 1.0
14
20
JDK 8 code review request for 7007535: (reflect) Please generalize Constructor and Method
by joe.darcy@oracle.com 29 Feb '12
by joe.darcy@oracle.com 29 Feb '12
29 Feb '12
Hello.
Please code review my JDK 8 changes for
7007535: (reflect) Please generalize Constructor and Method
http://cr.openjdk.java.net/~darcy/7007535.3
To summarize the changes, a new superclass is defined to capture the
common functionality of java.lang.reflect.Method and
java.lang.reflect.Constructor. That superclass is named "Executable"
along the lines of javax.lang.model.ExecutableElement, which models
constructors and methods in the JSR 269 language model.
Both specification and implementation code are shared. To preserve the
right @since behavior, it is common that in Method/Constructor the
javadoc for a method will now look like:
/**
* {@inheritDoc}
* @since 1.5
*/
Since Executable is being created in JDK 8, it would be incorrect for
methods in that class to have an @since of 1.5; adding the @since in
Method/Constructor preserves the right information.
It would have been natural to also move common fields to Executable;
however, HotSpot treats the Constructor and Method type specially and
relies on the existing field ordering. Since altering the field layout
would require coordinated HotSpot changes, I'm opting to not perform
such a change right now. At least one abstract accessor method is
declared in Executable to still allow code sharing even though the
required field is not present. In other cases, package private instance
methods on Executable are passed the needed state from overridden public
methods in Method/Constructor.
All java/lang/reflect regression tests pass on a full build with these
changes.
Thanks,
-Joe
6
18
Hi All,
We have prepared a jaxp update for 7u4. The listed changes have been
posted to the jdk7u-dev alias with "7u4 Request for approval for CR
7121110 - JAXP 1.4.5 update 1 for 7u4".
With this update, we are adding jaxp sources back into the jdk7
repository, which means we are abandoning the jaxp bundle download
process. This is a significant change. We'd like to hear if you have any
concerns. If no objection, we'd like to push the change within the next
week.
The webrev is here:
http://cr.openjdk.java.net/~joehw/jaxp145u1-changeset/webrev/
Thanks,
Joe
7
21
Hello,
As a follow-up to the recent push of unsigned library support in the JDK
[1], I grepped -i for "0xff" in the JDK code base to look for candidate
locations to use the new methods. I choose to first tackle some jar/zip
code.
Sherman, can you review the changes below?
diff -r 303b67074666 src/share/classes/java/util/jar/JarOutputStream.java
--- a/src/share/classes/java/util/jar/JarOutputStream.java Tue Jan 24
15:13:27 2012 -0500
+++ b/src/share/classes/java/util/jar/JarOutputStream.java Wed Jan 25
20:31:05 2012 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
@@ -135,7 +135,7 @@
* The bytes are assumed to be in Intel (little-endian) byte order.
*/
private static int get16(byte[] b, int off) {
- return (b[off] & 0xff) | ((b[off+1] & 0xff) << 8);
+ return Byte.toUnsignedInt(b[off]) | (
Byte.toUnsignedInt(b[off+1]) << 8);
}
/*
diff -r 303b67074666 src/share/classes/java/util/jar/Manifest.java
--- a/src/share/classes/java/util/jar/Manifest.java Tue Jan 24
15:13:27 2012 -0500
+++ b/src/share/classes/java/util/jar/Manifest.java Wed Jan 25
20:31:05 2012 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
@@ -339,7 +339,7 @@
return -1;
}
}
- return buf[pos++] & 0xff;
+ return Byte.toUnsignedInt(buf[pos++]);
}
public int read(byte[] b, int off, int len) throws IOException {
diff -r 303b67074666
src/share/classes/java/util/zip/InflaterInputStream.java
--- a/src/share/classes/java/util/zip/InflaterInputStream.java Tue
Jan 24 15:13:27 2012 -0500
+++ b/src/share/classes/java/util/zip/InflaterInputStream.java Wed
Jan 25 20:31:05 2012 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, 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
@@ -119,7 +119,7 @@
*/
public int read() throws IOException {
ensureOpen();
- return read(singleByteBuf, 0, 1) == -1 ? -1 : singleByteBuf[0]
& 0xff;
+ return read(singleByteBuf, 0, 1) == -1 ? -1 :
Byte.toUnsignedInt(singleByteBuf[0]);
}
/**
diff -r 303b67074666 src/share/classes/java/util/zip/ZipInputStream.java
--- a/src/share/classes/java/util/zip/ZipInputStream.java Tue Jan 24
15:13:27 2012 -0500
+++ b/src/share/classes/java/util/zip/ZipInputStream.java Wed Jan 25
20:31:05 2012 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2009, 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
@@ -435,7 +435,7 @@
* The bytes are assumed to be in Intel (little-endian) byte order.
*/
private static final int get16(byte b[], int off) {
- return (b[off] & 0xff) | ((b[off+1] & 0xff) << 8);
+ return Byte.toUnsignedInt(b[off]) |
(Byte.toUnsignedInt(b[off+1]) << 8);
}
/*
diff -r 303b67074666
src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipConstants.java
---
a/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipConstants.java
Tue Jan 24 15:13:27 2012 -0500
+++
b/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipConstants.java
Wed Jan 25 20:31:05 2012 -0800
@@ -185,11 +185,11 @@
*/
///////////////////////////////////////////////////////
static final int CH(byte[] b, int n) {
- return b[n] & 0xff;
+ return Byte.toUnsignedInt(b[n]);
}
static final int SH(byte[] b, int n) {
- return (b[n] & 0xff) | ((b[n + 1] & 0xff) << 8);
+ return Byte.toUnsignedInt(b[n]) | (Byte.toUnsignedInt(b[n + 1])
<< 8);
}
static final long LG(byte[] b, int n) {
If the changes look good, I'll file a bug for them, etc.
In case other people want to look over candidates sites in different
areas, I've included the list of JDK files using "0xff" below.
Thanks,
-Joe
[1] 4504839: Java libraries should provide support for unsigned integer
arithmetic
http://mail.openjdk.java.net/pipermail/core-libs-dev/2012-January/008926.ht…
./solaris/classes/java/util/prefs/FileSystemPreferences.java
./solaris/classes/sun/print/AttributeClass.java
./solaris/classes/sun/net/sdp/SdpProvider.java
./solaris/classes/sun/awt/X11/XIconInfo.java
./solaris/classes/sun/awt/X11/XKeySymConstants.java
./solaris/classes/sun/awt/X11/MotifDnDConstants.java
./solaris/classes/sun/awt/X11/XIconWindow.java
./solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java
./solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java
./solaris/classes/sun/awt/X11/XAtom.java
./solaris/classes/sun/awt/X11/MotifColorUtilities.java
./solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java
./solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java
./solaris/classes/sun/awt/X11/Native.java
./solaris/classes/sun/awt/X11/XKeysym.java
./solaris/classes/sun/awt/X11/XToolkit.java
./solaris/classes/sun/awt/X11/XDnDConstants.java
./solaris/classes/sun/awt/X11/XWM.java
./solaris/classes/sun/awt/X11/XWindowPeer.java
./solaris/classes/sun/awt/X11GraphicsConfig.java
./solaris/classes/sun/awt/motif/X11KSC5601.java
./solaris/classes/sun/awt/motif/X11GB2312.java
./solaris/classes/sun/awt/motif/X11CNS11643.java
./solaris/classes/sun/awt/motif/X11JIS0201.java
./solaris/classes/sun/awt/X11CustomCursor.java
./solaris/classes/sun/awt/XSettings.java
./solaris/classes/sun/nio/fs/UnixPath.java
./solaris/classes/sun/nio/fs/UnixUriUtils.java
./solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java
./solaris/classes/sun/nio/cs/ext/COMPOUND_TEXT_Decoder.java
./solaris/classes/sun/font/XMap.java
./solaris/classes/sun/font/XRGlyphCacheEntry.java
./solaris/classes/sun/font/NativeStrike.java
./solaris/classes/sun/java2d/jules/JulesAATileGenerator.java
./solaris/classes/sun/java2d/xr/XRSurfaceData.java
./solaris/classes/sun/java2d/xr/XRPaints.java
./solaris/classes/sun/java2d/xr/XRColor.java
./solaris/classes/sun/java2d/xr/XRCompositeManager.java
./solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java
./solaris/classes/sun/java2d/x11/X11SurfaceDataProxy.java
./solaris/classes/sun/java2d/x11/X11SurfaceData.java
./solaris/classes/sun/tools/attach/SolarisVirtualMachine.java
./solaris/classes/sun/tools/attach/LinuxVirtualMachine.java
./windows/classes/java/util/prefs/WindowsPreferences.java
./windows/classes/com/sun/tools/jdi/SharedMemoryTransportService.java
./windows/classes/sun/awt/Win32GraphicsConfig.java
./windows/classes/sun/awt/windows/WPathGraphics.java
./windows/classes/sun/awt/windows/WCustomCursor.java
./windows/classes/sun/awt/windows/WWindowPeer.java
./windows/classes/sun/awt/windows/WTrayIconPeer.java
./windows/classes/sun/awt/windows/WPrinterJob.java
./windows/classes/sun/nio/fs/WindowsFileAttributes.java
./windows/classes/sun/java2d/d3d/D3DGraphicsConfig.java
./windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java
./windows/classes/sun/java2d/windows/GDIWindowSurfaceData.java
./windows/classes/sun/tools/attach/WindowsVirtualMachine.java
./share/demo/applets/WireFrame/ThreeD.java
./share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java
./share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipUtils.java
./share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipPath.java
./share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipConstants.java
./share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipInfo.java
./share/demo/jfc/Font2DTest/FontPanel.java
./share/demo/jfc/Font2DTest/RangeMenu.java
./share/demo/jfc/Font2DTest/Font2DTest.java
./share/demo/jfc/CodePointIM/CodePointInputMethod.java
./share/demo/java2d/J2DBench/src/j2dbench/tests/PixelTests.java
./share/demo/java2d/J2DBench/src/j2dbench/tests/iio/IIOTests.java
./share/demo/java2d/J2DBench/src/j2dbench/tests/ImageTests.java
./share/classes/java/rmi/dgc/VMID.java
./share/classes/java/beans/XMLEncoder.java
./share/classes/java/net/URLConnection.java
./share/classes/java/net/Inet6Address.java
./share/classes/java/net/Inet4Address.java
./share/classes/java/net/DatagramPacket.java
./share/classes/java/net/SocketInputStream.java
./share/classes/java/net/MulticastSocket.java
./share/classes/java/net/SocksSocketImpl.java
./share/classes/java/net/SocketPermission.java
./share/classes/java/net/DatagramSocket.java
./share/classes/java/net/ServerSocket.java
./share/classes/java/net/InetSocketAddress.java
./share/classes/java/net/URI.java
./share/classes/java/lang/Character.java
./share/classes/java/lang/Byte.java
./share/classes/java/lang/Float.java
./share/classes/java/lang/Double.java
./share/classes/java/lang/Long.java
./share/classes/java/lang/CharacterData.java
./share/classes/java/lang/String.java
./share/classes/java/lang/invoke/MethodType.java
./share/classes/java/lang/invoke/MethodTypeForm.java
./share/classes/java/lang/invoke/MethodHandle.java
./share/classes/java/lang/invoke/MemberName.java
./share/classes/java/lang/CharacterName.java
./share/classes/java/lang/Integer.java
./share/classes/java/lang/Short.java
./share/classes/java/text/BreakIterator.java
./share/classes/java/text/CollationElementIterator.java
./share/classes/java/text/RuleBasedCollator.java
./share/classes/java/text/RBCollationTables.java
./share/classes/java/text/SimpleDateFormat.java
./share/classes/java/text/RBTableBuilder.java
./share/classes/java/io/ByteArrayOutputStream.java
./share/classes/java/io/DataOutputStream.java
./share/classes/java/io/DataInputStream.java
./share/classes/java/io/Reader.java
./share/classes/java/io/StringBufferInputStream.java
./share/classes/java/io/PushbackInputStream.java
./share/classes/java/io/Bits.java
./share/classes/java/io/DataOutput.java
./share/classes/java/io/RandomAccessFile.java
./share/classes/java/io/BufferedReader.java
./share/classes/java/io/ObjectInputStream.java
./share/classes/java/io/ByteArrayInputStream.java
./share/classes/java/io/DataInput.java
./share/classes/java/io/BufferedInputStream.java
./share/classes/java/io/ObjectStreamClass.java
./share/classes/java/io/ObjectOutputStream.java
./share/classes/java/io/PipedInputStream.java
./share/classes/java/util/regex/UnicodeProp.java
./share/classes/java/util/regex/Pattern.java
./share/classes/java/util/regex/ASCII.java
./share/classes/java/util/Properties.java
./share/classes/java/util/jar/JarOutputStream.java
./share/classes/java/util/jar/Manifest.java
./share/classes/java/util/jar/JarEntry.java
./share/classes/java/util/BitSet.java
./share/classes/java/util/concurrent/Phaser.java
./share/classes/java/util/concurrent/Exchanger.java
./share/classes/java/util/concurrent/ForkJoinPool.java
./share/classes/java/util/concurrent/ConcurrentHashMap.java
./share/classes/java/util/concurrent/ForkJoinWorkerThread.java
./share/classes/java/util/zip/DeflaterOutputStream.java
./share/classes/java/util/zip/InflaterInputStream.java
./share/classes/java/util/zip/GZIPInputStream.java
./share/classes/java/util/zip/DeflaterInputStream.java
./share/classes/java/util/zip/ZipConstants64.java
./share/classes/java/util/zip/ZipInputStream.java
./share/classes/java/util/zip/ZipOutputStream.java
./share/classes/java/util/zip/ZipFile.java
./share/classes/java/util/zip/CRC32.java
./share/classes/java/util/zip/Adler32.java
./share/classes/java/util/zip/GZIPOutputStream.java
./share/classes/java/util/zip/ZipEntry.java
./share/classes/java/util/UUID.java
./share/classes/java/util/prefs/Base64.java
./share/classes/java/security/SecureRandom.java
./share/classes/java/awt/Color.java
./share/classes/java/awt/GradientPaintContext.java
./share/classes/java/awt/TexturePaintContext.java
./share/classes/java/awt/AlphaComposite.java
./share/classes/java/awt/event/KeyEvent.java
./share/classes/java/awt/SystemColor.java
./share/classes/java/awt/image/DataBufferByte.java
./share/classes/java/awt/image/ByteLookupTable.java
./share/classes/java/awt/image/MultiPixelPackedSampleModel.java
./share/classes/java/awt/image/ComponentSampleModel.java
./share/classes/java/awt/image/ComponentColorModel.java
./share/classes/java/awt/image/DataBuffer.java
./share/classes/java/awt/image/DataBufferUShort.java
./share/classes/java/awt/image/SinglePixelPackedSampleModel.java
./share/classes/java/awt/image/BufferedImageFilter.java
./share/classes/java/awt/image/RescaleOp.java
./share/classes/java/awt/image/ColorConvertOp.java
./share/classes/java/awt/image/IndexColorModel.java
./share/classes/java/awt/image/AreaAveragingScaleFilter.java
./share/classes/java/awt/image/BandedSampleModel.java
./share/classes/java/awt/image/BufferedImage.java
./share/classes/java/awt/image/ShortLookupTable.java
./share/classes/java/awt/image/DirectColorModel.java
./share/classes/java/awt/image/RGBImageFilter.java
./share/classes/java/awt/image/PixelGrabber.java
./share/classes/java/awt/image/ColorModel.java
./share/classes/java/awt/MultipleGradientPaint.java
./share/classes/java/awt/color/ICC_ProfileRGB.java
./share/classes/java/awt/color/ICC_ProfileGray.java
./share/classes/java/awt/color/ICC_Profile.java
./share/classes/java/awt/color/ICC_ColorSpace.java
./share/classes/java/awt/MultipleGradientPaintContext.java
./share/classes/java/awt/FontMetrics.java
./share/classes/java/awt/font/NumericShaper.java
./share/classes/java/awt/GradientPaint.java
./share/classes/java/nio/Bits.java
./share/classes/java/nio/channels/Channels.java
./share/classes/java/math/BigInteger.java
./share/classes/com/sun/beans/decoder/LongElementHandler.java
./share/classes/com/sun/jmx/snmp/SnmpIpAddress.java
./share/classes/com/sun/jmx/snmp/SnmpString.java
./share/classes/com/sun/jmx/snmp/IPAcl/ASCII_CharStream.java
./share/classes/com/sun/jmx/snmp/IPAcl/ParserTokenManager.java
./share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java
./share/classes/com/sun/jmx/snmp/SnmpEngineId.java
./share/classes/com/sun/jmx/snmp/SnmpMsg.java
./share/classes/com/sun/java/swing/plaf/gtk/GTKColorType.java
./share/classes/com/sun/java/swing/plaf/gtk/GTKColorChooserPanel.java
./share/classes/com/sun/java/swing/plaf/gtk/Metacity.java
./share/classes/com/sun/java/swing/plaf/gtk/GTKEngine.java
./share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java
./share/classes/com/sun/java/util/jar/pack/PackageWriter.java
./share/classes/com/sun/java/util/jar/pack/Coding.java
./share/classes/com/sun/java/util/jar/pack/PackageReader.java
./share/classes/com/sun/java/util/jar/pack/Histogram.java
./share/classes/com/sun/java/util/jar/pack/AdaptiveCoding.java
./share/classes/com/sun/java/util/jar/pack/PopulationCoding.java
./share/classes/com/sun/java/util/jar/pack/Attribute.java
./share/classes/com/sun/java/util/jar/pack/Fixups.java
./share/classes/com/sun/java/util/jar/pack/BandStructure.java
./share/classes/com/sun/java/util/jar/pack/Instruction.java
./share/classes/com/sun/net/httpserver/BasicAuthenticator.java
./share/classes/com/sun/crypto/provider/BlowfishCrypt.java
./share/classes/com/sun/crypto/provider/PKCS12PBECipherCore.java
./share/classes/com/sun/crypto/provider/PBKDF2KeyImpl.java
./share/classes/com/sun/crypto/provider/ISO10126Padding.java
./share/classes/com/sun/crypto/provider/RC2Crypt.java
./share/classes/com/sun/crypto/provider/AESCrypt.java
./share/classes/com/sun/crypto/provider/TlsMasterSecretGenerator.java
./share/classes/com/sun/crypto/provider/ARCFOURCipher.java
./share/classes/com/sun/crypto/provider/PKCS5Padding.java
./share/classes/com/sun/crypto/provider/RC2Parameters.java
./share/classes/com/sun/security/ntlm/NTLM.java
./share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java
./share/classes/com/sun/imageio/plugins/png/PNGImageReader.java
./share/classes/com/sun/imageio/plugins/png/PNGImageWriter.java
./share/classes/com/sun/imageio/plugins/png/RowFilter.java
./share/classes/com/sun/imageio/plugins/png/PNGMetadata.java
./share/classes/com/sun/imageio/plugins/jpeg/DHTMarkerSegment.java
./share/classes/com/sun/imageio/plugins/jpeg/DQTMarkerSegment.java
./share/classes/com/sun/imageio/plugins/jpeg/AdobeMarkerSegment.java
./share/classes/com/sun/imageio/plugins/jpeg/DRIMarkerSegment.java
./share/classes/com/sun/imageio/plugins/jpeg/SOFMarkerSegment.java
./share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReaderSpi.java
./share/classes/com/sun/imageio/plugins/jpeg/JPEGBuffer.java
./share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
./share/classes/com/sun/imageio/plugins/jpeg/JFIFMarkerSegment.java
./share/classes/com/sun/imageio/plugins/jpeg/MarkerSegment.java
./share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadata.java
./share/classes/com/sun/imageio/plugins/gif/GIFImageMetadata.java
./share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java
./share/classes/com/sun/imageio/plugins/gif/GIFImageWriter.java
./share/classes/com/sun/imageio/plugins/gif/GIFStreamMetadata.java
./share/classes/com/sun/imageio/plugins/common/LZWCompressor.java
./share/classes/com/sun/imageio/plugins/common/PaletteBuilder.java
./share/classes/com/sun/imageio/plugins/common/LZWStringTable.java
./share/classes/com/sun/imageio/plugins/common/ImageUtil.java
./share/classes/com/sun/imageio/plugins/bmp/BMPImageWriter.java
./share/classes/com/sun/imageio/plugins/bmp/BMPMetadata.java
./share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java
./share/classes/com/sun/media/sound/AudioFloatConverter.java
./share/classes/com/sun/media/sound/StandardMidiFileWriter.java
./share/classes/com/sun/media/sound/SoftMixingSourceDataLine.java
./share/classes/com/sun/media/sound/SunFileReader.java
./share/classes/com/sun/media/sound/MidiInDevice.java
./share/classes/com/sun/media/sound/FastSysexMessage.java
./share/classes/com/sun/media/sound/SunFileWriter.java
./share/classes/com/sun/media/sound/SF2Region.java
./share/classes/com/sun/media/sound/AlawCodec.java
./share/classes/com/sun/media/sound/MidiOutDevice.java
./share/classes/com/sun/media/sound/UlawCodec.java
./share/classes/com/sun/media/sound/AudioFloatFormatConverter.java
./share/classes/com/sun/media/sound/FastShortMessage.java
./share/classes/com/sun/media/sound/SoftJitterCorrector.java
./share/classes/com/sun/media/sound/SoftMixingMainMixer.java
./share/classes/com/sun/media/sound/SoftMainMixer.java
./share/classes/com/sun/media/sound/RIFFWriter.java
./share/classes/com/sun/media/sound/StandardMidiFileReader.java
./share/classes/com/sun/media/sound/SoftTuning.java
./share/classes/com/sun/media/sound/SoftMixingClip.java
./share/classes/com/sun/media/sound/WaveExtensibleFileReader.java
./share/classes/com/sun/media/sound/ModelByteBufferWavetable.java
./share/classes/com/sun/media/sound/SoftMidiAudioFileReader.java
./share/classes/com/sun/media/sound/SoftSynthesizer.java
./share/classes/com/sun/media/sound/PortMixer.java
./share/classes/com/sun/media/sound/MidiUtils.java
./share/classes/com/sun/media/sound/RealTimeSequencer.java
./share/classes/com/sun/media/sound/AbstractMidiDevice.java
./share/classes/com/sun/jndi/dns/Header.java
./share/classes/com/sun/jndi/dns/DnsClient.java
./share/classes/com/sun/jndi/dns/ResourceRecord.java
./share/classes/com/sun/jndi/dns/DnsName.java
./share/classes/com/sun/jndi/ldap/BerEncoder.java
./share/classes/com/sun/jndi/ldap/BerDecoder.java
./share/classes/com/sun/jndi/ldap/Connection.java
./share/classes/com/sun/jndi/ldap/sasl/SaslOutputStream.java
./share/classes/com/sun/jndi/ldap/sasl/SaslInputStream.java
./share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java
./share/classes/com/sun/tools/hat/internal/model/JavaByte.java
./share/classes/com/sun/tools/hat/internal/model/JavaLazyReadObject.java
./share/classes/com/sun/tools/hat/internal/util/Misc.java
./share/classes/com/sun/tools/hat/internal/parser/HprofReader.java
./share/classes/com/sun/tools/example/debug/expr/ASCII_UCodeESC_CharStream.java
./share/classes/com/sun/tools/example/debug/expr/ExpressionParserTokenManager.java
./share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java
./share/classes/com/sun/tools/example/debug/gui/Icons.java
./share/classes/com/sun/tools/example/debug/tty/Commands.java
./share/classes/com/sun/tools/jdi/Packet.java
./share/classes/com/sun/tools/jdi/TargetVM.java
./share/classes/com/sun/tools/jdi/PacketStream.java
./share/classes/com/sun/tools/jdi/SocketTransportService.java
./share/classes/sun/rmi/rmic/newrmic/jrmp/RemoteClass.java
./share/classes/sun/rmi/rmic/RemoteClass.java
./share/classes/sun/rmi/server/Util.java
./share/classes/sun/rmi/transport/tcp/MultiplexInputStream.java
./share/classes/sun/rmi/transport/proxy/CGIHandler.java
./share/classes/sun/print/PrinterGraphicsConfig.java
./share/classes/sun/print/PathGraphics.java
./share/classes/sun/print/PSPrinterJob.java
./share/classes/sun/net/util/IPAddressUtil.java
./share/classes/sun/net/ftp/impl/FtpClient.java
./share/classes/sun/net/httpserver/SSLStreams.java
./share/classes/sun/net/httpserver/LeftOverInputStream.java
./share/classes/sun/net/httpserver/Request.java
./share/classes/sun/net/idn/Punycode.java
./share/classes/sun/net/idn/StringPrep.java
./share/classes/sun/net/spi/nameservice/dns/DNSNameService.java
./share/classes/sun/net/www/http/ChunkedInputStream.java
./share/classes/sun/net/www/ParseUtil.java
./share/classes/sun/text/IntHashtable.java
./share/classes/sun/text/UCompactIntArray.java
./share/classes/sun/text/normalizer/UCharacterProperty.java
./share/classes/sun/text/normalizer/UCharacter.java
./share/classes/sun/text/normalizer/Utility.java
./share/classes/sun/text/normalizer/NormalizerBase.java
./share/classes/sun/text/normalizer/NormalizerDataReader.java
./share/classes/sun/text/normalizer/NormalizerImpl.java
./share/classes/sun/text/normalizer/UCharacterIterator.java
./share/classes/sun/text/normalizer/UnicodeSet.java
./share/classes/sun/text/bidi/BidiBase.java
./share/classes/sun/text/SupplementaryCharacterData.java
./share/classes/sun/text/CompactByteArray.java
./share/classes/sun/misc/UCEncoder.java
./share/classes/sun/misc/FormattedFloatingDecimal.java
./share/classes/sun/misc/CRC16.java
./share/classes/sun/misc/UCDecoder.java
./share/classes/sun/misc/ProxyGenerator.java
./share/classes/sun/misc/BASE64Decoder.java
./share/classes/sun/misc/UUDecoder.java
./share/classes/sun/misc/FloatingDecimal.java
./share/classes/sun/misc/HexDumpEncoder.java
./share/classes/sun/swing/plaf/synth/DefaultSynthStyle.java
./share/classes/sun/util/calendar/ZoneInfoFile.java
./share/classes/sun/security/krb5/EncryptedData.java
./share/classes/sun/security/krb5/internal/ccache/CCacheOutputStream.java
./share/classes/sun/security/krb5/internal/crypto/crc32.java
./share/classes/sun/security/krb5/internal/crypto/Des.java
./share/classes/sun/security/krb5/internal/crypto/dk/ArcFourCrypto.java
./share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java
./share/classes/sun/security/krb5/internal/crypto/dk/AesDkCrypto.java
./share/classes/sun/security/krb5/internal/crypto/Crc32CksumType.java
./share/classes/sun/security/krb5/internal/util/KrbDataOutputStream.java
./share/classes/sun/security/krb5/internal/util/KrbDataInputStream.java
./share/classes/sun/security/krb5/internal/NetClient.java
./share/classes/sun/security/krb5/internal/LocalSeqNumber.java
./share/classes/sun/security/krb5/internal/ktab/KeyTabEntry.java
./share/classes/sun/security/krb5/internal/ktab/KeyTabInputStream.java
./share/classes/sun/security/pkcs11/SunPKCS11.java
./share/classes/sun/security/pkcs11/wrapper/CK_VERSION.java
./share/classes/sun/security/pkcs11/wrapper/Functions.java
./share/classes/sun/security/pkcs11/wrapper/PKCS11Constants.java
./share/classes/sun/security/pkcs11/P11Key.java
./share/classes/sun/security/pkcs11/P11Util.java
./share/classes/sun/security/x509/X509Key.java
./share/classes/sun/security/jgss/krb5/MessageToken_v2.java
./share/classes/sun/security/jgss/krb5/MessageToken.java
./share/classes/sun/security/jgss/wrapper/GSSNameElement.java
./share/classes/sun/security/jgss/GSSNameImpl.java
./share/classes/sun/security/jgss/GSSToken.java
./share/classes/sun/security/util/Debug.java
./share/classes/sun/security/util/ByteArrayLexOrder.java
./share/classes/sun/security/util/BitArray.java
./share/classes/sun/security/util/DerOutputStream.java
./share/classes/sun/security/util/Cache.java
./share/classes/sun/security/util/DerValue.java
./share/classes/sun/security/util/DerIndefLenConverter.java
./share/classes/sun/security/util/DerInputStream.java
./share/classes/sun/security/util/DerInputBuffer.java
./share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java
./share/classes/sun/security/ssl/OutputRecord.java
./share/classes/sun/security/ssl/ProtocolVersion.java
./share/classes/sun/security/ssl/CipherBox.java
./share/classes/sun/security/ssl/HelloExtensions.java
./share/classes/sun/security/ssl/InputRecord.java
./share/classes/sun/security/ssl/HandshakeMessage.java
./share/classes/sun/security/ssl/EngineInputRecord.java
./share/classes/sun/security/ssl/MAC.java
./share/classes/sun/security/ssl/AppInputStream.java
./share/classes/sun/security/ssl/CipherSuite.java
./share/classes/sun/security/rsa/RSAPadding.java
./share/classes/sun/security/ec/NamedCurve.java
./share/classes/sun/security/provider/MD2.java
./share/classes/sun/security/provider/MD5.java
./share/classes/sun/security/provider/DSA.java
./share/classes/sun/security/provider/ByteArrayAccess.java
./share/classes/sun/security/smartcardio/PCSC.java
./share/classes/sun/security/smartcardio/CardImpl.java
./share/classes/sun/security/smartcardio/ChannelImpl.java
./share/classes/sun/reflect/UTF8.java
./share/classes/sun/reflect/ClassFileAssembler.java
./share/classes/sun/reflect/annotation/AnnotationParser.java
./share/classes/sun/invoke/anon/ConstantPoolPatch.java
./share/classes/sun/invoke/anon/ConstantPoolParser.java
./share/classes/sun/invoke/anon/ConstantPoolVisitor.java
./share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceTableMetaImpl.java
./share/classes/sun/management/ManagementFactoryHelper.java
./share/classes/sun/awt/FontConfiguration.java
./share/classes/sun/awt/image/ImageRepresentation.java
./share/classes/sun/awt/image/PixelConverter.java
./share/classes/sun/awt/image/PNGImageDecoder.java
./share/classes/sun/awt/image/GifImageDecoder.java
./share/classes/sun/awt/image/BytePackedRaster.java
./share/classes/sun/awt/image/BufferedImageGraphicsConfig.java
./share/classes/sun/awt/image/JPEGImageDecoder.java
./share/classes/sun/awt/image/ByteInterleavedRaster.java
./share/classes/sun/awt/image/BufImgSurfaceData.java
./share/classes/sun/awt/image/OffScreenImageSource.java
./share/classes/sun/awt/datatransfer/DataTransferer.java
./share/classes/sun/awt/PlatformFont.java
./share/classes/sun/nio/cs/UnicodeEncoder.java
./share/classes/sun/nio/cs/ISO_8859_1.java
./share/classes/sun/nio/cs/UTF_8.java
./share/classes/sun/nio/cs/UTF_32Coder.java
./share/classes/sun/nio/cs/CharsetMapping.java
./share/classes/sun/nio/cs/ext/DoubleByte.java
./share/classes/sun/nio/cs/ext/SimpleEUCEncoder.java
./share/classes/sun/nio/cs/ext/ISO2022_JP.java
./share/classes/sun/nio/cs/ext/IBM33722.java
./share/classes/sun/nio/cs/ext/EUC_TW.java
./share/classes/sun/nio/cs/ext/ISO2022_CN.java
./share/classes/sun/nio/cs/ext/IBM943C.java
./share/classes/sun/nio/cs/ext/HKSCS.java
./share/classes/sun/nio/cs/ext/IBM949C.java
./share/classes/sun/nio/cs/ext/DoubleByteDecoder.java
./share/classes/sun/nio/cs/ext/JIS_X_0212_MS5022X_Encoder.java
./share/classes/sun/nio/cs/ext/DoubleByteEncoder.java
./share/classes/sun/nio/cs/ext/EUC_JP_LINUX.java
./share/classes/sun/nio/cs/ext/SJIS.java
./share/classes/sun/nio/cs/ext/JISAutoDetect.java
./share/classes/sun/nio/cs/ext/EUC_JP.java
./share/classes/sun/nio/cs/ext/IBM964.java
./share/classes/sun/nio/cs/ext/GB18030.java
./share/classes/sun/nio/cs/ext/PCK.java
./share/classes/sun/nio/cs/ext/JIS_X_0201.java
./share/classes/sun/nio/cs/ext/EUC_JP_Open.java
./share/classes/sun/nio/cs/ext/SJIS_0213.java
./share/classes/sun/nio/cs/ext/Big5_Solaris.java
./share/classes/sun/nio/cs/ext/ISO2022.java
./share/classes/sun/nio/cs/SingleByte.java
./share/classes/sun/nio/cs/UnicodeDecoder.java
./share/classes/sun/nio/cs/CESU_8.java
./share/classes/sun/nio/ch/DatagramSocketAdaptor.java
./share/classes/sun/nio/ch/ChannelInputStream.java
./share/classes/sun/nio/ch/Net.java
./share/classes/sun/font/FileFontStrike.java
./share/classes/sun/font/ExtendedTextSourceLabel.java
./share/classes/sun/font/TrueTypeFont.java
./share/classes/sun/font/CompositeStrike.java
./share/classes/sun/font/TrueTypeGlyphMapper.java
./share/classes/sun/font/Type1Font.java
./share/classes/sun/font/GlyphList.java
./share/classes/sun/font/CMap.java
./share/classes/sun/font/PhysicalStrike.java
./share/classes/sun/font/Type1GlyphMapper.java
./share/classes/sun/font/FontDesignMetrics.java
./share/classes/sun/font/StandardGlyphVector.java
./share/classes/sun/font/CharToGlyphMapper.java
./share/classes/sun/font/CompositeGlyphMapper.java
./share/classes/sun/applet/AppletPanel.java
./share/classes/sun/launcher/LauncherHelper.java
./share/classes/sun/java2d/pisces/PiscesTileGenerator.java
./share/classes/sun/java2d/pipe/BufferedPaints.java
./share/classes/sun/java2d/pipe/AATileGenerator.java
./share/classes/sun/java2d/pipe/AAShapePipe.java
./share/classes/sun/java2d/pipe/BufferedTextPipe.java
./share/classes/sun/java2d/loops/MaskFill.java
./share/classes/sun/java2d/loops/MaskBlit.java
./share/classes/sun/java2d/loops/BlitBg.java
./share/classes/sun/java2d/SunGraphics2D.java
./share/classes/sun/java2d/cmm/CMSManager.java
./share/classes/sun/java2d/cmm/lcms/LCMSTransform.java
./share/classes/sun/tools/java/Constants.java
./share/classes/sun/tools/java/Scanner.java
./share/classes/sun/tools/java/BinaryConstantPool.java
./share/classes/sun/tools/jconsole/ConnectDialog.java
./share/classes/sun/tools/jconsole/JConsole.java
./share/classes/sun/tools/jconsole/AboutDialog.java
./share/classes/sun/tools/jconsole/HTMLPane.java
./share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java
./share/classes/javax/sound/midi/MidiMessage.java
./share/classes/javax/sound/midi/ShortMessage.java
./share/classes/javax/sound/midi/MetaMessage.java
./share/classes/javax/sound/midi/SysexMessage.java
./share/classes/javax/sound/sampled/AudioInputStream.java
./share/classes/javax/crypto/CipherInputStream.java
./share/classes/javax/crypto/spec/DESKeySpec.java
./share/classes/javax/swing/DebugGraphicsFilter.java
./share/classes/javax/swing/JComponent.java
./share/classes/javax/swing/text/html/parser/Parser.java
./share/classes/javax/swing/text/html/parser/Entity.java
./share/classes/javax/swing/plaf/metal/MetalUtils.java
./share/classes/javax/swing/plaf/metal/OceanTheme.java
./share/classes/javax/swing/plaf/metal/MetalTheme.java
./share/classes/javax/swing/plaf/ColorUIResource.java
./share/classes/javax/swing/plaf/nimbus/DropShadowEffect.java
./share/classes/javax/swing/plaf/nimbus/EffectUtils.java
./share/classes/javax/swing/plaf/nimbus/InnerShadowEffect.java
./share/classes/javax/swing/plaf/nimbus/AbstractRegionPainter.java
./share/classes/javax/swing/plaf/nimbus/NimbusStyle.java
./share/classes/javax/swing/plaf/nimbus/DerivedColor.java
./share/classes/javax/swing/plaf/nimbus/NimbusLookAndFeel.java
./share/classes/javax/swing/JColorChooser.java
./share/classes/javax/swing/colorchooser/ColorChooserPanel.java
./share/classes/javax/swing/colorchooser/ColorModel.java
./share/classes/javax/swing/GrayFilter.java
./share/classes/javax/management/remote/rmi/RMIConnectorServer.java
./share/classes/javax/imageio/stream/ImageOutputStreamImpl.java
./share/classes/javax/imageio/stream/ImageOutputStream.java
./share/classes/javax/imageio/stream/ImageInputStream.java
./share/classes/javax/imageio/stream/ImageInputStreamImpl.java
./share/classes/javax/imageio/stream/MemoryCache.java
./share/classes/javax/imageio/ImageTypeSpecifier.java
./share/classes/javax/imageio/metadata/IIOMetadataNode.java
./share/classes/javax/smartcardio/ResponseAPDU.java
./share/classes/javax/smartcardio/CommandAPDU.java
./solaris/classes/java/util/prefs/FileSystemPreferences.java
./solaris/classes/sun/print/AttributeClass.java
./solaris/classes/sun/net/sdp/SdpProvider.java
./solaris/classes/sun/awt/X11/XIconInfo.java
./solaris/classes/sun/awt/X11/XKeySymConstants.java
./solaris/classes/sun/awt/X11/MotifDnDConstants.java
./solaris/classes/sun/awt/X11/XIconWindow.java
./solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java
./solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java
./solaris/classes/sun/awt/X11/XAtom.java
./solaris/classes/sun/awt/X11/MotifColorUtilities.java
./solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java
./solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java
./solaris/classes/sun/awt/X11/Native.java
./solaris/classes/sun/awt/X11/XKeysym.java
./solaris/classes/sun/awt/X11/XToolkit.java
./solaris/classes/sun/awt/X11/XDnDConstants.java
./solaris/classes/sun/awt/X11/XWM.java
./solaris/classes/sun/awt/X11/XWindowPeer.java
./solaris/classes/sun/awt/X11GraphicsConfig.java
./solaris/classes/sun/awt/motif/X11KSC5601.java
./solaris/classes/sun/awt/motif/X11GB2312.java
./solaris/classes/sun/awt/motif/X11CNS11643.java
./solaris/classes/sun/awt/motif/X11JIS0201.java
./solaris/classes/sun/awt/X11CustomCursor.java
./solaris/classes/sun/awt/XSettings.java
./solaris/classes/sun/nio/fs/UnixPath.java
./solaris/classes/sun/nio/fs/UnixUriUtils.java
./solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java
./solaris/classes/sun/nio/cs/ext/COMPOUND_TEXT_Decoder.java
./solaris/classes/sun/font/XMap.java
./solaris/classes/sun/font/XRGlyphCacheEntry.java
./solaris/classes/sun/font/NativeStrike.java
./solaris/classes/sun/java2d/jules/JulesAATileGenerator.java
./solaris/classes/sun/java2d/xr/XRSurfaceData.java
./solaris/classes/sun/java2d/xr/XRPaints.java
./solaris/classes/sun/java2d/xr/XRColor.java
./solaris/classes/sun/java2d/xr/XRCompositeManager.java
./solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java
./solaris/classes/sun/java2d/x11/X11SurfaceDataProxy.java
./solaris/classes/sun/java2d/x11/X11SurfaceData.java
./solaris/classes/sun/tools/attach/SolarisVirtualMachine.java
./solaris/classes/sun/tools/attach/LinuxVirtualMachine.java
./windows/classes/java/util/prefs/WindowsPreferences.java
./windows/classes/com/sun/tools/jdi/SharedMemoryTransportService.java
./windows/classes/sun/awt/Win32GraphicsConfig.java
./windows/classes/sun/awt/windows/WPathGraphics.java
./windows/classes/sun/awt/windows/WCustomCursor.java
./windows/classes/sun/awt/windows/WWindowPeer.java
./windows/classes/sun/awt/windows/WTrayIconPeer.java
./windows/classes/sun/awt/windows/WPrinterJob.java
./windows/classes/sun/nio/fs/WindowsFileAttributes.java
./windows/classes/sun/java2d/d3d/D3DGraphicsConfig.java
./windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java
./windows/classes/sun/java2d/windows/GDIWindowSurfaceData.java
./windows/classes/sun/tools/attach/WindowsVirtualMachine.java
./share/demo/applets/WireFrame/ThreeD.java
./share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java
./share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipUtils.java
./share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipPath.java
./share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipConstants.java
./share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipInfo.java
./share/demo/jfc/Font2DTest/FontPanel.java
./share/demo/jfc/Font2DTest/RangeMenu.java
./share/demo/jfc/Font2DTest/Font2DTest.java
./share/demo/jfc/CodePointIM/CodePointInputMethod.java
./share/demo/java2d/J2DBench/src/j2dbench/tests/PixelTests.java
./share/demo/java2d/J2DBench/src/j2dbench/tests/iio/IIOTests.java
./share/demo/java2d/J2DBench/src/j2dbench/tests/ImageTests.java
./share/classes/java/rmi/dgc/VMID.java
./share/classes/java/beans/XMLEncoder.java
./share/classes/java/net/URLConnection.java
./share/classes/java/net/Inet6Address.java
./share/classes/java/net/Inet4Address.java
./share/classes/java/net/DatagramPacket.java
./share/classes/java/net/SocketInputStream.java
./share/classes/java/net/MulticastSocket.java
./share/classes/java/net/SocksSocketImpl.java
./share/classes/java/net/SocketPermission.java
./share/classes/java/net/DatagramSocket.java
./share/classes/java/net/ServerSocket.java
./share/classes/java/net/InetSocketAddress.java
./share/classes/java/net/URI.java
./share/classes/java/lang/Character.java
./share/classes/java/lang/Byte.java
./share/classes/java/lang/Float.java
./share/classes/java/lang/Double.java
./share/classes/java/lang/Long.java
./share/classes/java/lang/CharacterData.java
./share/classes/java/lang/String.java
./share/classes/java/lang/invoke/MethodType.java
./share/classes/java/lang/invoke/MethodTypeForm.java
./share/classes/java/lang/invoke/MethodHandle.java
./share/classes/java/lang/invoke/MemberName.java
./share/classes/java/lang/CharacterName.java
./share/classes/java/lang/Integer.java
./share/classes/java/lang/Short.java
./share/classes/java/text/BreakIterator.java
./share/classes/java/text/CollationElementIterator.java
./share/classes/java/text/RuleBasedCollator.java
./share/classes/java/text/RBCollationTables.java
./share/classes/java/text/SimpleDateFormat.java
./share/classes/java/text/RBTableBuilder.java
./share/classes/java/io/ByteArrayOutputStream.java
./share/classes/java/io/DataOutputStream.java
./share/classes/java/io/DataInputStream.java
./share/classes/java/io/Reader.java
./share/classes/java/io/StringBufferInputStream.java
./share/classes/java/io/PushbackInputStream.java
./share/classes/java/io/Bits.java
./share/classes/java/io/DataOutput.java
./share/classes/java/io/RandomAccessFile.java
./share/classes/java/io/BufferedReader.java
./share/classes/java/io/ObjectInputStream.java
./share/classes/java/io/ByteArrayInputStream.java
./share/classes/java/io/DataInput.java
./share/classes/java/io/BufferedInputStream.java
./share/classes/java/io/ObjectStreamClass.java
./share/classes/java/io/ObjectOutputStream.java
./share/classes/java/io/PipedInputStream.java
./share/classes/java/util/regex/UnicodeProp.java
./share/classes/java/util/regex/Pattern.java
./share/classes/java/util/regex/ASCII.java
./share/classes/java/util/Properties.java
./share/classes/java/util/jar/JarOutputStream.java
./share/classes/java/util/jar/Manifest.java
./share/classes/java/util/jar/JarEntry.java
./share/classes/java/util/BitSet.java
./share/classes/java/util/concurrent/Phaser.java
./share/classes/java/util/concurrent/Exchanger.java
./share/classes/java/util/concurrent/ForkJoinPool.java
./share/classes/java/util/concurrent/ConcurrentHashMap.java
./share/classes/java/util/concurrent/ForkJoinWorkerThread.java
./share/classes/java/util/zip/DeflaterOutputStream.java
./share/classes/java/util/zip/InflaterInputStream.java
./share/classes/java/util/zip/GZIPInputStream.java
./share/classes/java/util/zip/DeflaterInputStream.java
./share/classes/java/util/zip/ZipConstants64.java
./share/classes/java/util/zip/ZipInputStream.java
./share/classes/java/util/zip/ZipOutputStream.java
./share/classes/java/util/zip/ZipFile.java
./share/classes/java/util/zip/CRC32.java
./share/classes/java/util/zip/Adler32.java
./share/classes/java/util/zip/GZIPOutputStream.java
./share/classes/java/util/zip/ZipEntry.java
./share/classes/java/util/UUID.java
./share/classes/java/util/prefs/Base64.java
./share/classes/java/security/SecureRandom.java
./share/classes/java/awt/Color.java
./share/classes/java/awt/GradientPaintContext.java
./share/classes/java/awt/TexturePaintContext.java
./share/classes/java/awt/AlphaComposite.java
./share/classes/java/awt/event/KeyEvent.java
./share/classes/java/awt/SystemColor.java
./share/classes/java/awt/image/DataBufferByte.java
./share/classes/java/awt/image/ByteLookupTable.java
./share/classes/java/awt/image/MultiPixelPackedSampleModel.java
./share/classes/java/awt/image/ComponentSampleModel.java
./share/classes/java/awt/image/ComponentColorModel.java
./share/classes/java/awt/image/DataBuffer.java
./share/classes/java/awt/image/DataBufferUShort.java
./share/classes/java/awt/image/SinglePixelPackedSampleModel.java
./share/classes/java/awt/image/BufferedImageFilter.java
./share/classes/java/awt/image/RescaleOp.java
./share/classes/java/awt/image/ColorConvertOp.java
./share/classes/java/awt/image/IndexColorModel.java
./share/classes/java/awt/image/AreaAveragingScaleFilter.java
./share/classes/java/awt/image/BandedSampleModel.java
./share/classes/java/awt/image/BufferedImage.java
./share/classes/java/awt/image/ShortLookupTable.java
./share/classes/java/awt/image/DirectColorModel.java
./share/classes/java/awt/image/RGBImageFilter.java
./share/classes/java/awt/image/PixelGrabber.java
./share/classes/java/awt/image/ColorModel.java
./share/classes/java/awt/MultipleGradientPaint.java
./share/classes/java/awt/color/ICC_ProfileRGB.java
./share/classes/java/awt/color/ICC_ProfileGray.java
./share/classes/java/awt/color/ICC_Profile.java
./share/classes/java/awt/color/ICC_ColorSpace.java
./share/classes/java/awt/MultipleGradientPaintContext.java
./share/classes/java/awt/FontMetrics.java
./share/classes/java/awt/font/NumericShaper.java
./share/classes/java/awt/GradientPaint.java
./share/classes/java/nio/Bits.java
./share/classes/java/nio/channels/Channels.java
./share/classes/java/math/BigInteger.java
./share/classes/com/sun/beans/decoder/LongElementHandler.java
./share/classes/com/sun/jmx/snmp/SnmpIpAddress.java
./share/classes/com/sun/jmx/snmp/SnmpString.java
./share/classes/com/sun/jmx/snmp/IPAcl/ASCII_CharStream.java
./share/classes/com/sun/jmx/snmp/IPAcl/ParserTokenManager.java
./share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java
./share/classes/com/sun/jmx/snmp/SnmpEngineId.java
./share/classes/com/sun/jmx/snmp/SnmpMsg.java
./share/classes/com/sun/java/swing/plaf/gtk/GTKColorType.java
./share/classes/com/sun/java/swing/plaf/gtk/GTKColorChooserPanel.java
./share/classes/com/sun/java/swing/plaf/gtk/Metacity.java
./share/classes/com/sun/java/swing/plaf/gtk/GTKEngine.java
./share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java
./share/classes/com/sun/java/util/jar/pack/PackageWriter.java
./share/classes/com/sun/java/util/jar/pack/Coding.java
./share/classes/com/sun/java/util/jar/pack/PackageReader.java
./share/classes/com/sun/java/util/jar/pack/Histogram.java
./share/classes/com/sun/java/util/jar/pack/AdaptiveCoding.java
./share/classes/com/sun/java/util/jar/pack/PopulationCoding.java
./share/classes/com/sun/java/util/jar/pack/Attribute.java
./share/classes/com/sun/java/util/jar/pack/Fixups.java
./share/classes/com/sun/java/util/jar/pack/BandStructure.java
./share/classes/com/sun/java/util/jar/pack/Instruction.java
./share/classes/com/sun/net/httpserver/BasicAuthenticator.java
./share/classes/com/sun/crypto/provider/BlowfishCrypt.java
./share/classes/com/sun/crypto/provider/PKCS12PBECipherCore.java
./share/classes/com/sun/crypto/provider/PBKDF2KeyImpl.java
./share/classes/com/sun/crypto/provider/ISO10126Padding.java
./share/classes/com/sun/crypto/provider/RC2Crypt.java
./share/classes/com/sun/crypto/provider/AESCrypt.java
./share/classes/com/sun/crypto/provider/TlsMasterSecretGenerator.java
./share/classes/com/sun/crypto/provider/ARCFOURCipher.java
./share/classes/com/sun/crypto/provider/PKCS5Padding.java
./share/classes/com/sun/crypto/provider/RC2Parameters.java
./share/classes/com/sun/security/ntlm/NTLM.java
./share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java
./share/classes/com/sun/imageio/plugins/png/PNGImageReader.java
./share/classes/com/sun/imageio/plugins/png/PNGImageWriter.java
./share/classes/com/sun/imageio/plugins/png/RowFilter.java
./share/classes/com/sun/imageio/plugins/png/PNGMetadata.java
./share/classes/com/sun/imageio/plugins/jpeg/DHTMarkerSegment.java
./share/classes/com/sun/imageio/plugins/jpeg/DQTMarkerSegment.java
./share/classes/com/sun/imageio/plugins/jpeg/AdobeMarkerSegment.java
./share/classes/com/sun/imageio/plugins/jpeg/DRIMarkerSegment.java
./share/classes/com/sun/imageio/plugins/jpeg/SOFMarkerSegment.java
./share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReaderSpi.java
./share/classes/com/sun/imageio/plugins/jpeg/JPEGBuffer.java
./share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
./share/classes/com/sun/imageio/plugins/jpeg/JFIFMarkerSegment.java
./share/classes/com/sun/imageio/plugins/jpeg/MarkerSegment.java
./share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadata.java
./share/classes/com/sun/imageio/plugins/gif/GIFImageMetadata.java
./share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java
./share/classes/com/sun/imageio/plugins/gif/GIFImageWriter.java
./share/classes/com/sun/imageio/plugins/gif/GIFStreamMetadata.java
./share/classes/com/sun/imageio/plugins/common/LZWCompressor.java
./share/classes/com/sun/imageio/plugins/common/PaletteBuilder.java
./share/classes/com/sun/imageio/plugins/common/LZWStringTable.java
./share/classes/com/sun/imageio/plugins/common/ImageUtil.java
./share/classes/com/sun/imageio/plugins/bmp/BMPImageWriter.java
./share/classes/com/sun/imageio/plugins/bmp/BMPMetadata.java
./share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java
./share/classes/com/sun/media/sound/AudioFloatConverter.java
./share/classes/com/sun/media/sound/StandardMidiFileWriter.java
./share/classes/com/sun/media/sound/SoftMixingSourceDataLine.java
./share/classes/com/sun/media/sound/SunFileReader.java
./share/classes/com/sun/media/sound/MidiInDevice.java
./share/classes/com/sun/media/sound/FastSysexMessage.java
./share/classes/com/sun/media/sound/SunFileWriter.java
./share/classes/com/sun/media/sound/SF2Region.java
./share/classes/com/sun/media/sound/AlawCodec.java
./share/classes/com/sun/media/sound/MidiOutDevice.java
./share/classes/com/sun/media/sound/UlawCodec.java
./share/classes/com/sun/media/sound/AudioFloatFormatConverter.java
./share/classes/com/sun/media/sound/FastShortMessage.java
./share/classes/com/sun/media/sound/SoftJitterCorrector.java
./share/classes/com/sun/media/sound/SoftMixingMainMixer.java
./share/classes/com/sun/media/sound/SoftMainMixer.java
./share/classes/com/sun/media/sound/RIFFWriter.java
./share/classes/com/sun/media/sound/StandardMidiFileReader.java
./share/classes/com/sun/media/sound/SoftTuning.java
./share/classes/com/sun/media/sound/SoftMixingClip.java
./share/classes/com/sun/media/sound/WaveExtensibleFileReader.java
./share/classes/com/sun/media/sound/ModelByteBufferWavetable.java
./share/classes/com/sun/media/sound/SoftMidiAudioFileReader.java
./share/classes/com/sun/media/sound/SoftSynthesizer.java
./share/classes/com/sun/media/sound/PortMixer.java
./share/classes/com/sun/media/sound/MidiUtils.java
./share/classes/com/sun/media/sound/RealTimeSequencer.java
./share/classes/com/sun/media/sound/AbstractMidiDevice.java
./share/classes/com/sun/jndi/dns/Header.java
./share/classes/com/sun/jndi/dns/DnsClient.java
./share/classes/com/sun/jndi/dns/ResourceRecord.java
./share/classes/com/sun/jndi/dns/DnsName.java
./share/classes/com/sun/jndi/ldap/BerEncoder.java
./share/classes/com/sun/jndi/ldap/BerDecoder.java
./share/classes/com/sun/jndi/ldap/Connection.java
./share/classes/com/sun/jndi/ldap/sasl/SaslOutputStream.java
./share/classes/com/sun/jndi/ldap/sasl/SaslInputStream.java
./share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java
./share/classes/com/sun/tools/hat/internal/model/JavaByte.java
./share/classes/com/sun/tools/hat/internal/model/JavaLazyReadObject.java
./share/classes/com/sun/tools/hat/internal/util/Misc.java
./share/classes/com/sun/tools/hat/internal/parser/HprofReader.java
./share/classes/com/sun/tools/example/debug/expr/ASCII_UCodeESC_CharStream.java
./share/classes/com/sun/tools/example/debug/expr/ExpressionParserTokenManager.java
./share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java
./share/classes/com/sun/tools/example/debug/gui/Icons.java
./share/classes/com/sun/tools/example/debug/tty/Commands.java
./share/classes/com/sun/tools/jdi/Packet.java
./share/classes/com/sun/tools/jdi/TargetVM.java
./share/classes/com/sun/tools/jdi/PacketStream.java
./share/classes/com/sun/tools/jdi/SocketTransportService.java
./share/classes/sun/rmi/rmic/newrmic/jrmp/RemoteClass.java
./share/classes/sun/rmi/rmic/RemoteClass.java
./share/classes/sun/rmi/server/Util.java
./share/classes/sun/rmi/transport/tcp/MultiplexInputStream.java
./share/classes/sun/rmi/transport/proxy/CGIHandler.java
./share/classes/sun/print/PrinterGraphicsConfig.java
./share/classes/sun/print/PathGraphics.java
./share/classes/sun/print/PSPrinterJob.java
./share/classes/sun/net/util/IPAddressUtil.java
./share/classes/sun/net/ftp/impl/FtpClient.java
./share/classes/sun/net/httpserver/SSLStreams.java
./share/classes/sun/net/httpserver/LeftOverInputStream.java
./share/classes/sun/net/httpserver/Request.java
./share/classes/sun/net/idn/Punycode.java
./share/classes/sun/net/idn/StringPrep.java
./share/classes/sun/net/spi/nameservice/dns/DNSNameService.java
./share/classes/sun/net/www/http/ChunkedInputStream.java
./share/classes/sun/net/www/ParseUtil.java
./share/classes/sun/text/IntHashtable.java
./share/classes/sun/text/UCompactIntArray.java
./share/classes/sun/text/normalizer/UCharacterProperty.java
./share/classes/sun/text/normalizer/UCharacter.java
./share/classes/sun/text/normalizer/Utility.java
./share/classes/sun/text/normalizer/NormalizerBase.java
./share/classes/sun/text/normalizer/NormalizerDataReader.java
./share/classes/sun/text/normalizer/NormalizerImpl.java
./share/classes/sun/text/normalizer/UCharacterIterator.java
./share/classes/sun/text/normalizer/UnicodeSet.java
./share/classes/sun/text/bidi/BidiBase.java
./share/classes/sun/text/SupplementaryCharacterData.java
./share/classes/sun/text/CompactByteArray.java
./share/classes/sun/misc/UCEncoder.java
./share/classes/sun/misc/FormattedFloatingDecimal.java
./share/classes/sun/misc/CRC16.java
./share/classes/sun/misc/UCDecoder.java
./share/classes/sun/misc/ProxyGenerator.java
./share/classes/sun/misc/BASE64Decoder.java
./share/classes/sun/misc/UUDecoder.java
./share/classes/sun/misc/FloatingDecimal.java
./share/classes/sun/misc/HexDumpEncoder.java
./share/classes/sun/swing/plaf/synth/DefaultSynthStyle.java
./share/classes/sun/util/calendar/ZoneInfoFile.java
./share/classes/sun/security/krb5/EncryptedData.java
./share/classes/sun/security/krb5/internal/ccache/CCacheOutputStream.java
./share/classes/sun/security/krb5/internal/crypto/crc32.java
./share/classes/sun/security/krb5/internal/crypto/Des.java
./share/classes/sun/security/krb5/internal/crypto/dk/ArcFourCrypto.java
./share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java
./share/classes/sun/security/krb5/internal/crypto/dk/AesDkCrypto.java
./share/classes/sun/security/krb5/internal/crypto/Crc32CksumType.java
./share/classes/sun/security/krb5/internal/util/KrbDataOutputStream.java
./share/classes/sun/security/krb5/internal/util/KrbDataInputStream.java
./share/classes/sun/security/krb5/internal/NetClient.java
./share/classes/sun/security/krb5/internal/LocalSeqNumber.java
./share/classes/sun/security/krb5/internal/ktab/KeyTabEntry.java
./share/classes/sun/security/krb5/internal/ktab/KeyTabInputStream.java
./share/classes/sun/security/pkcs11/SunPKCS11.java
./share/classes/sun/security/pkcs11/wrapper/CK_VERSION.java
./share/classes/sun/security/pkcs11/wrapper/Functions.java
./share/classes/sun/security/pkcs11/wrapper/PKCS11Constants.java
./share/classes/sun/security/pkcs11/P11Key.java
./share/classes/sun/security/pkcs11/P11Util.java
./share/classes/sun/security/x509/X509Key.java
./share/classes/sun/security/jgss/krb5/MessageToken_v2.java
./share/classes/sun/security/jgss/krb5/MessageToken.java
./share/classes/sun/security/jgss/wrapper/GSSNameElement.java
./share/classes/sun/security/jgss/GSSNameImpl.java
./share/classes/sun/security/jgss/GSSToken.java
./share/classes/sun/security/util/Debug.java
./share/classes/sun/security/util/ByteArrayLexOrder.java
./share/classes/sun/security/util/BitArray.java
./share/classes/sun/security/util/DerOutputStream.java
./share/classes/sun/security/util/Cache.java
./share/classes/sun/security/util/DerValue.java
./share/classes/sun/security/util/DerIndefLenConverter.java
./share/classes/sun/security/util/DerInputStream.java
./share/classes/sun/security/util/DerInputBuffer.java
./share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java
./share/classes/sun/security/ssl/OutputRecord.java
./share/classes/sun/security/ssl/ProtocolVersion.java
./share/classes/sun/security/ssl/CipherBox.java
./share/classes/sun/security/ssl/HelloExtensions.java
./share/classes/sun/security/ssl/InputRecord.java
./share/classes/sun/security/ssl/HandshakeMessage.java
./share/classes/sun/security/ssl/EngineInputRecord.java
./share/classes/sun/security/ssl/MAC.java
./share/classes/sun/security/ssl/AppInputStream.java
./share/classes/sun/security/ssl/CipherSuite.java
./share/classes/sun/security/rsa/RSAPadding.java
./share/classes/sun/security/ec/NamedCurve.java
./share/classes/sun/security/provider/MD2.java
./share/classes/sun/security/provider/MD5.java
./share/classes/sun/security/provider/DSA.java
./share/classes/sun/security/provider/ByteArrayAccess.java
./share/classes/sun/security/smartcardio/PCSC.java
./share/classes/sun/security/smartcardio/CardImpl.java
./share/classes/sun/security/smartcardio/ChannelImpl.java
./share/classes/sun/reflect/UTF8.java
./share/classes/sun/reflect/ClassFileAssembler.java
./share/classes/sun/reflect/annotation/AnnotationParser.java
./share/classes/sun/invoke/anon/ConstantPoolPatch.java
./share/classes/sun/invoke/anon/ConstantPoolParser.java
./share/classes/sun/invoke/anon/ConstantPoolVisitor.java
./share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceTableMetaImpl.java
./share/classes/sun/management/ManagementFactoryHelper.java
./share/classes/sun/awt/FontConfiguration.java
./share/classes/sun/awt/image/ImageRepresentation.java
./share/classes/sun/awt/image/PixelConverter.java
./share/classes/sun/awt/image/PNGImageDecoder.java
./share/classes/sun/awt/image/GifImageDecoder.java
./share/classes/sun/awt/image/BytePackedRaster.java
./share/classes/sun/awt/image/BufferedImageGraphicsConfig.java
./share/classes/sun/awt/image/JPEGImageDecoder.java
./share/classes/sun/awt/image/ByteInterleavedRaster.java
./share/classes/sun/awt/image/BufImgSurfaceData.java
./share/classes/sun/awt/image/OffScreenImageSource.java
./share/classes/sun/awt/datatransfer/DataTransferer.java
./share/classes/sun/awt/PlatformFont.java
./share/classes/sun/nio/cs/UnicodeEncoder.java
./share/classes/sun/nio/cs/ISO_8859_1.java
./share/classes/sun/nio/cs/UTF_8.java
./share/classes/sun/nio/cs/UTF_32Coder.java
./share/classes/sun/nio/cs/CharsetMapping.java
./share/classes/sun/nio/cs/ext/DoubleByte.java
./share/classes/sun/nio/cs/ext/SimpleEUCEncoder.java
./share/classes/sun/nio/cs/ext/ISO2022_JP.java
./share/classes/sun/nio/cs/ext/IBM33722.java
./share/classes/sun/nio/cs/ext/EUC_TW.java
./share/classes/sun/nio/cs/ext/ISO2022_CN.java
./share/classes/sun/nio/cs/ext/IBM943C.java
./share/classes/sun/nio/cs/ext/HKSCS.java
./share/classes/sun/nio/cs/ext/IBM949C.java
./share/classes/sun/nio/cs/ext/DoubleByteDecoder.java
./share/classes/sun/nio/cs/ext/JIS_X_0212_MS5022X_Encoder.java
./share/classes/sun/nio/cs/ext/DoubleByteEncoder.java
./share/classes/sun/nio/cs/ext/EUC_JP_LINUX.java
./share/classes/sun/nio/cs/ext/SJIS.java
./share/classes/sun/nio/cs/ext/JISAutoDetect.java
./share/classes/sun/nio/cs/ext/EUC_JP.java
./share/classes/sun/nio/cs/ext/IBM964.java
./share/classes/sun/nio/cs/ext/GB18030.java
./share/classes/sun/nio/cs/ext/PCK.java
./share/classes/sun/nio/cs/ext/JIS_X_0201.java
./share/classes/sun/nio/cs/ext/EUC_JP_Open.java
./share/classes/sun/nio/cs/ext/SJIS_0213.java
./share/classes/sun/nio/cs/ext/Big5_Solaris.java
./share/classes/sun/nio/cs/ext/ISO2022.java
./share/classes/sun/nio/cs/SingleByte.java
./share/classes/sun/nio/cs/UnicodeDecoder.java
./share/classes/sun/nio/cs/CESU_8.java
./share/classes/sun/nio/ch/DatagramSocketAdaptor.java
./share/classes/sun/nio/ch/ChannelInputStream.java
./share/classes/sun/nio/ch/Net.java
./share/classes/sun/font/FileFontStrike.java
./share/classes/sun/font/ExtendedTextSourceLabel.java
./share/classes/sun/font/TrueTypeFont.java
./share/classes/sun/font/CompositeStrike.java
./share/classes/sun/font/TrueTypeGlyphMapper.java
./share/classes/sun/font/Type1Font.java
./share/classes/sun/font/GlyphList.java
./share/classes/sun/font/CMap.java
./share/classes/sun/font/PhysicalStrike.java
./share/classes/sun/font/Type1GlyphMapper.java
./share/classes/sun/font/FontDesignMetrics.java
./share/classes/sun/font/StandardGlyphVector.java
./share/classes/sun/font/CharToGlyphMapper.java
./share/classes/sun/font/CompositeGlyphMapper.java
./share/classes/sun/applet/AppletPanel.java
./share/classes/sun/launcher/LauncherHelper.java
./share/classes/sun/java2d/pisces/PiscesTileGenerator.java
./share/classes/sun/java2d/pipe/BufferedPaints.java
./share/classes/sun/java2d/pipe/AATileGenerator.java
./share/classes/sun/java2d/pipe/AAShapePipe.java
./share/classes/sun/java2d/pipe/BufferedTextPipe.java
./share/classes/sun/java2d/loops/MaskFill.java
./share/classes/sun/java2d/loops/MaskBlit.java
./share/classes/sun/java2d/loops/BlitBg.java
./share/classes/sun/java2d/SunGraphics2D.java
./share/classes/sun/java2d/cmm/CMSManager.java
./share/classes/sun/java2d/cmm/lcms/LCMSTransform.java
./share/classes/sun/tools/java/Constants.java
./share/classes/sun/tools/java/Scanner.java
./share/classes/sun/tools/java/BinaryConstantPool.java
./share/classes/sun/tools/jconsole/ConnectDialog.java
./share/classes/sun/tools/jconsole/JConsole.java
./share/classes/sun/tools/jconsole/AboutDialog.java
./share/classes/sun/tools/jconsole/HTMLPane.java
./share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java
./share/classes/javax/sound/midi/MidiMessage.java
./share/classes/javax/sound/midi/ShortMessage.java
./share/classes/javax/sound/midi/MetaMessage.java
./share/classes/javax/sound/midi/SysexMessage.java
./share/classes/javax/sound/sampled/AudioInputStream.java
./share/classes/javax/crypto/CipherInputStream.java
./share/classes/javax/crypto/spec/DESKeySpec.java
./share/classes/javax/swing/DebugGraphicsFilter.java
./share/classes/javax/swing/JComponent.java
./share/classes/javax/swing/text/html/parser/Parser.java
./share/classes/javax/swing/text/html/parser/Entity.java
./share/classes/javax/swing/plaf/metal/MetalUtils.java
./share/classes/javax/swing/plaf/metal/OceanTheme.java
./share/classes/javax/swing/plaf/metal/MetalTheme.java
./share/classes/javax/swing/plaf/ColorUIResource.java
./share/classes/javax/swing/plaf/nimbus/DropShadowEffect.java
./share/classes/javax/swing/plaf/nimbus/EffectUtils.java
./share/classes/javax/swing/plaf/nimbus/InnerShadowEffect.java
./share/classes/javax/swing/plaf/nimbus/AbstractRegionPainter.java
./share/classes/javax/swing/plaf/nimbus/NimbusStyle.java
./share/classes/javax/swing/plaf/nimbus/DerivedColor.java
./share/classes/javax/swing/plaf/nimbus/NimbusLookAndFeel.java
./share/classes/javax/swing/JColorChooser.java
./share/classes/javax/swing/colorchooser/ColorChooserPanel.java
./share/classes/javax/swing/colorchooser/ColorModel.java
./share/classes/javax/swing/GrayFilter.java
./share/classes/javax/management/remote/rmi/RMIConnectorServer.java
./share/classes/javax/imageio/stream/ImageOutputStreamImpl.java
./share/classes/javax/imageio/stream/ImageOutputStream.java
./share/classes/javax/imageio/stream/ImageInputStream.java
./share/classes/javax/imageio/stream/ImageInputStreamImpl.java
./share/classes/javax/imageio/stream/MemoryCache.java
./share/classes/javax/imageio/ImageTypeSpecifier.java
./share/classes/javax/imageio/metadata/IIOMetadataNode.java
./share/classes/javax/smartcardio/ResponseAPDU.java
./share/classes/javax/smartcardio/CommandAPDU.java
5
8
Hi core-libs-dev,
I found that for some native code of OpenJDK code base, malloc() is used
without including header file stdlib.h, such as following files,
./src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c
./src/solaris/native/sun/java2d/x11/XRBackendNative.c
....
I assume that there's no hacking tricks involved here, right? because
this may cause problem for some C compilers, which assumes 'int' as the
default return type of a function if it cannot find the function's
declaration during compiling. Under such a condition, actual return
result of type 'void*' from malloc() will be converted to 'int', which
may result in truncated pointers in 64bit platforms. If the application
tries to dereference such a broken pointer, error will occur.
Indeed I found some indirect includes of stdlib.h, but there're still
some I do not see a stdlib.h get included from any of the
direct/indirect included headers. I think in order to fix this problem,
two approaches may be considered here,
a) add "#include <stdlib.h>" to every missing .c file.
b) add "#include <stdlib.h>" to a commonly referenced header file, such
as jni_util.h. but it would not be easy to find such a file for all and
creating one is the same as approach a).
But both methods need to change many files, any other ideas about how to
fix it more elegantly?
Thanks and best regards!
- Jonathan
5
8
The following webrev is a patch from Miran Kos and Martin Grebac (cc'ed)
to remove the JAX-WS dependency on apt and the com.sun.mirror API:
http://cr.openjdk.java.net/~alanb/7140918/webrev/
This is needed before Joe Darcy can wield his machete.
Please cc'ed Miran and Martin on my review comments.
-Alan.
4
7
JDK 8 code review request for 7140820 Add covariant overrides to Collections clone methods
by Joe Darcy 01 Feb '12
by Joe Darcy 01 Feb '12
01 Feb '12
Hello,
As an indirect outgrowth of warnings cleanup day, various categories of
warnings can be eliminated by in the use of Cloneable types by
overriding the
Object clone()
method inherited from java.lang.Object with a covariant override such as
MyType clone()
Please review my changes for
7140820 Add covariant overrides to Collections clone methods
http://cr.openjdk.java.net/~darcy/7140820.0/
which add such covariant override clone methods to collections and a few
other classes in java.util. Doing a full JDK build with these changes,
I've also made alterations to other classes to remove now superfuous
casts (casts which are a javac lint warning!) and some unneeded
@SuppressWarnings annotations. I also cleaned up a few rawtypes
warnings while in editing files in java.util.
(Note that the old specListeners method in EventRequestSpecList.java was
much buggy; it cast an ArrayList from runtime.specListeners to a Vector.)
Thanks,
-Joe
6
16
01 Feb '12
Hi core-libs-dev,
It was found that solaris/native/java/lang/UNIXProcess_md.c includes
<wait.h> which does not seem to be compliant with POSIX specification,
in which the expected header file name should be <sys/wait.h>. see
http://en.wikipedia.org/wiki/C_POSIX_library. I also performed a 'grep'
for the code base, it seems nowhere else needs to be changed so far.
So here is a simple patch to adjust this issue, any suggestions?
http://cr.openjdk.java.net/~luchsh/wait_h_POSIX_comp/
Cheers
- Jonathan
5
7
Review request for 7133220: Additional patches to JAXP 1.4.5 update 1 for 7u4
by Joe Wang 31 Jan '12
by Joe Wang 31 Jan '12
31 Jan '12
Now that jaxp sources are in the repo, it's possible to do specific fixes rather than batch update. However, the sources on jaxp.java.net need some work before patches can be directly applied to that in the jdk repo. I tried before and received lots of failures.
Besides that, it's a bit of convenience to do a all-test run before a batch update. I will probably have to use this process until jaxp is completely migrated, that is, being able to pull jaxp standalone out of the jdk repo.
-Joe
On 31/01/2012 03:30, Alan wrote:
>Does anyone have cycles to do a review (or partial review) of Joe's
>changes? Now that the jaxp code is in the jaxp repository (for jdk7u, I
>assume jdk8 soon) it means that the changes will require a reviewer?
>Joe - is the intention that you will continue to do batch updates? I ask
>because it is usually easier to review specific fixes, big patches
>usually require a bit of effort.
>-Alan
On 27/01/2012 23:05, Joe Wang wrote:
>/ Hi,
/>/
/>/ With this additional patch, I'm fixing a SpecJvm2008 failure against
/>/ 7u4 b07 (7098746), along with a couple of other fixes and accumulated
/>/ Xalan update. The changes are listed below and at
/>/ http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7133220.
/>/ The webrev is at:http://cr.openjdk.java.net/~joehw/7u4-7133220/webrev/ <http://cr.openjdk.java.net/%7Ejoehw/7u4-7133220/webrev/>
/>/
/>/
/>/ Additional patches to JAXP 1.4.5 update 1
/>/
/>/ Nr Category ID Synopsis/Description
/>/ 1 JAXP/OTHER 7098746 SpecJvm2008 xml.transform subbenchmark fails
/>/ validation
/>/ 2 JAXP/OTHER 7131589 NPE IN
/>/ PARSERCONFIGURATIONSETTINGS.ADDRECOGNIZEDFEATURES
/>/ 3 JAXP/OTHER 7133058 FINDBUGS WARNINGS IN COM.SUN.XML.INTERNAL.*
/>/
/>/ Apache Xalan update
/>/
/>/ Nr Key Synopsis/Description
/>/ 1 XALANJ-1243 java.lang.StackOverflowError in XString.equals()
/>/ 2 XALANJ-1991 StackOverflowException comparing two strings
/>/ 3 XALANJ-2001 normalize-space gives StackOverflowError
/>/ 4 XALANJ-1434 org.apache.xpath.axes.AxesWalker getLastPos: duplicate
/>/ predicate testing (one line change)
/>/ 5 XALANJ-1497 xsl:copy adds a newline to processing instructions
/>/ 6 XALANJ-1706 DocumentFragment returned by extension element causes
/>/ multiple SAX endDocument() events
/>/ 7 XALANJ-2218 XML/HTML serializers should have default m_escapeSetting
/>/ = true
/>/ 8 XALANJ-2316 WriterToUTF8Buffered.write(String s) fail with big strings
/>/ 9 XALANJ-2336 Xalan-J should stop using java.util.Vector in some cases
/>/ 10 XALANJ-2218 major 11/Mar/06 XML/HTML serializers should have
/>/ default m_escapeSetting = true
/>/ 11 XALANJ-2236 trivial 30/Oct/06 [PATCH] clean up static calls thru
/>/ instance references
/>/ 12 XALANJ-2271 major08/Mar/06 XML 1.1 Serialization, char in attribute
/>/ value not escaped
/>/
/>/
/>/ Thanks,
/>/ Joe
/
1
0
Changeset: 431bc327f34a
Author: sla
Date: 2012-01-31 10:46 +0100
URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/431bc327f34a
7132199: sun/management/jmxremote/bootstrap/JvmstatCountersTest.java failing on all platforms
Summary: Make sure HotSpot and JDK looks for well-known files in the same location
Reviewed-by: dholmes, dsamersoff
! src/solaris/classes/sun/tools/attach/LinuxVirtualMachine.java
! src/solaris/classes/sun/tools/attach/SolarisVirtualMachine.java
! test/ProblemList.txt
Changeset: 663a6333105d
Author: sla
Date: 2012-01-31 04:57 -0800
URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/663a6333105d
Merge
1
0