On 9/12/14 12:21 PM, Phil Race wrote:
Hi,
http://hg.openjdk.java.net/jdk9/dev/jdk/rev/267950e85a3b
The above changeset for this fix apparently broke the images build.
ERROR: Failed module access verification
CheckModules.gmk:38: recipe for target 'checkdeps' failed
make[3]: Leaving directory '/opt/jprt/T/P1/173827.xxx/s/make'
Main.gmk:301: recipe for target 'verify-modules' failed
fcntl(): Bad file descriptor
inaccessible reference: java.sql.Date (java.sql) ->
sun.misc.JavaLangAccess (java.base)
inaccessible reference: java.sql.Date (java.sql) ->
sun.misc.SharedSecrets (java.base)
inaccessible reference: java.sql.Time (java.sql) ->
sun.misc.JavaLangAccess (java.base)
inaccessible reference: java.sql.Time (java.sql) ->
sun.misc.SharedSecrets (java.base)
inaccessible reference: java.sql.Timestamp (java.sql) ->
sun.misc.JavaLangAccess (java.base)
inaccessible reference: java.sql.Timestamp (java.sql) ->
sun.misc.SharedSecrets (java.base)
This changeset adds a new dependence from java.sql.* to sun.misc
that fails the build. The module boundaries are enforced at build
time [1] to catch regressions before the module system is further
long.
The fix to this build failure is to add a qualified export
sun.misc to java.sql.
I'm looking into why the CI system doesn't catch this build failure
(seems like some make targets are not invoking the checkdeps target)
Mandy
[1] https://bugs.openjdk.java.net/browse/JDK-8051619
-phil.
On 9/11/2014 8:32 AM, Lance Andersen wrote:
Hi Claes,
I think this is OK, however, would like to see if others feel if
formatDecimalInt should be located elsewhere so that we just make
this change once.
Best,
Lance
On Sep 11, 2014, at 10:44 AM, Claes Redestad
<[email protected]> wrote:
Hi,
requesting reviews for this patch which optimizes
java.sql.Date/Time/Timestamp::toString
by avoiding some unnecessary object allocations. java.sql.Date had
similar optimizations
applied which this patch improves upon.
bug: https://bugs.openjdk.java.net/browse/JDK-8058230
webrev: http://cr.openjdk.java.net/~redestad/8058230/webrev.00/
Testing: jtreg jdk/test/java/sql with and without 8057826 tests
Before/after performance running a minimal JMH micro[1]:
Benchmark Mode Samples Score Score
error Units
t.DateBench.dateToString thrpt 20 30225.628 623.887
ops/ms
t.DateBench.dateToString thrpt 20 38350.173 1349.432
ops/ms # 1.3x
t.DateBench.timeToString thrpt 20 11793.338 232.121
ops/ms
t.DateBench.timeToString thrpt 20 47048.344 1969.939
ops/ms # 4.0x
t.DateBench.timestampToString thrpt 20 2529.601 45.990 ops/ms
t.DateBench.timestampToString thrpt 20 14143.612 407.351
ops/ms # 5.6x
/Claes
[1]
package test;
import org.openjdk.jmh.annotations.*;
@State(Scope.Thread)
public class DateBench {
public java.sql.Time time = java.sql.Time.valueOf("15:15:25");
@Benchmark
public String timeToString() {
return time.toString();
}
public java.sql.Date date = java.sql.Date.valueOf("2013-01-01");
@Benchmark
public String dateToString() {
return date.toString();
}
public Timestamp timestamp = Timestamp.valueOf("1999-12-13
15:15:25.645634");
@Benchmark
public String timestampToString() {
return timestamp.toString();
}
}
Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering
1 Network Drive
Burlington, MA 01803
[email protected]