From 80ec7dea6e3f81c63aad7b6eff8accce0187a00c Mon Sep 17 00:00:00 2001 From: Erik Joelsson Date: Tue, 16 Sep 2014 17:22:58 +0200 Subject: [PATCH 01/83] 8055006: Store original value of Min/MaxHeapFreeRatio Store the value set by the user and some makefile changes required to change the flags. Reviewed-by: jwilhelm, ihse --- jdk/make/lib/Lib-java.management.gmk | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/jdk/make/lib/Lib-java.management.gmk b/jdk/make/lib/Lib-java.management.gmk index f057ab052c8..2cc7b850621 100644 --- a/jdk/make/lib/Lib-java.management.gmk +++ b/jdk/make/lib/Lib-java.management.gmk @@ -25,9 +25,12 @@ include LibCommon.gmk +# Hook to include the corresponding custom file, if present. +$(eval $(call IncludeCustomExtension, jdk, lib/Lib-java.management.gmk)) + ################################################################################ -BUILD_LIBMANAGEMENT_SRC := $(JDK_TOPDIR)/src/java.management/share/native/libmanagement \ +BUILD_LIBMANAGEMENT_SRC += $(JDK_TOPDIR)/src/java.management/share/native/libmanagement \ $(JDK_TOPDIR)/src/java.management/$(OPENJDK_TARGET_OS_API_DIR)/native/libmanagement BUILD_LIBMANAGEMENT_CFLAGS := -I$(JDK_TOPDIR)/src/java.management/share/native/include \ $(addprefix -I,$(BUILD_LIBMANAGEMENT_SRC)) \ @@ -56,6 +59,9 @@ ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), ) endif endif +# Make it possible to override this variable +LIBMANAGEMENT_MAPFILE ?= $(JDK_TOPDIR)/make/mapfiles/libmanagement/mapfile-vers + $(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT, \ LIBRARY := management, \ OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ @@ -64,7 +70,7 @@ $(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT, \ LANG := C, \ OPTIMIZATION := $(LIBMANAGEMENT_OPTIMIZATION), \ CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) $(BUILD_LIBMANAGEMENT_CFLAGS), \ - MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libmanagement/mapfile-vers, \ + MAPFILE := $(LIBMANAGEMENT_MAPFILE), \ LDFLAGS := $(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_solaris := -lkstat, \ From 37bfec7de83e27aa5ce88cadb70c7b711744bd50 Mon Sep 17 00:00:00 2001 From: Tobias Hartmann Date: Wed, 17 Sep 2014 08:04:31 +0200 Subject: [PATCH 02/83] 8015774: Add support for multiple code heaps Support for segmentation of the code cache. Separate code heaps are created and used to store code of different types. Reviewed-by: kvn, iveresov, roland, anoll, egahlin, sla --- .../java/lang/management/MemoryMXBean/MemoryTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jdk/test/java/lang/management/MemoryMXBean/MemoryTest.java b/jdk/test/java/lang/management/MemoryMXBean/MemoryTest.java index 7d7f1749416..2101c4cb4bf 100644 --- a/jdk/test/java/lang/management/MemoryMXBean/MemoryTest.java +++ b/jdk/test/java/lang/management/MemoryMXBean/MemoryTest.java @@ -59,13 +59,13 @@ public class MemoryTest { // (or equivalent for other collectors) // Number of GC memory managers = 2 - // Hotspot VM 1.8+ after perm gen removal is expected to have two or - // three non-heap memory pools: - // - Code cache + // Hotspot VM 1.8+ after perm gen removal is expected to have between two + // or five non-heap memory pools: + // - Code cache (between one and three depending on the -XX:SegmentedCodeCache option) // - Metaspace // - Compressed Class Space (if compressed class pointers are used) private static int[] expectedMinNumPools = {3, 2}; - private static int[] expectedMaxNumPools = {3, 3}; + private static int[] expectedMaxNumPools = {3, 5}; private static int expectedNumGCMgrs = 2; private static int expectedNumMgrs = expectedNumGCMgrs + 2; private static String[] types = { "heap", "non-heap" }; From 5bab456918f1fa27e57494256d43f3f9c94c1418 Mon Sep 17 00:00:00 2001 From: Staffan Larsen Date: Mon, 22 Sep 2014 20:04:40 +0200 Subject: [PATCH 03/83] 8058863: jdk9/hs-comp fails in jprt with "-testset hotspot" from top-level Reviewed-by: kvn --- make/jprt.properties | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/make/jprt.properties b/make/jprt.properties index 0b5cea8b81b..1a268de8353 100644 --- a/make/jprt.properties +++ b/make/jprt.properties @@ -483,7 +483,10 @@ my.make.rule.test.targets.hotspot= \ ${my.make.rule.test.targets.hotspot.servertests}, \ ${my.make.rule.test.targets.hotspot.internalvmtests}, \ ${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_wbapitest}, \ - ${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_compiler}, \ + ${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_compiler_1}, \ + ${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_compiler_2}, \ + ${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_compiler_3}, \ + ${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_compiler_closed}, \ ${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_gc}, \ ${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_runtime}, \ ${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_runtime_closed}, \ From 77dc5d3c639cb0ed0db7d2c50597159deb22c592 Mon Sep 17 00:00:00 2001 From: Masayoshi Okutsu Date: Fri, 26 Sep 2014 12:52:18 +0900 Subject: [PATCH 04/83] 8042126: DateTimeFormatter "MMMMM" returns English value in Japanese locale Reviewed-by: naoto --- .../sun/text/resources/FormatData.java | 26 +- .../sun/text/resources/en/FormatData_en.java | 19 +- jdk/test/sun/text/resources/LocaleData | 580 +++++++++++++++++- .../sun/text/resources/LocaleDataTest.java | 2 +- 4 files changed, 609 insertions(+), 18 deletions(-) diff --git a/jdk/src/java.base/share/classes/sun/text/resources/FormatData.java b/jdk/src/java.base/share/classes/sun/text/resources/FormatData.java index 971177fd61a..bcb328d41f1 100644 --- a/jdk/src/java.base/share/classes/sun/text/resources/FormatData.java +++ b/jdk/src/java.base/share/classes/sun/text/resources/FormatData.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -154,18 +154,18 @@ public class FormatData extends ParallelListResourceBundle { }, { "MonthNarrows", new String[] { - "J", - "F", - "M", - "A", - "M", - "J", - "J", - "A", - "S", - "O", - "N", - "D", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", "", } }, diff --git a/jdk/src/java.base/share/classes/sun/text/resources/en/FormatData_en.java b/jdk/src/java.base/share/classes/sun/text/resources/en/FormatData_en.java index d51c9f3ce5b..85ae55daf21 100644 --- a/jdk/src/java.base/share/classes/sun/text/resources/en/FormatData_en.java +++ b/jdk/src/java.base/share/classes/sun/text/resources/en/FormatData_en.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2014, 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 @@ -53,6 +53,23 @@ public class FormatData_en extends ParallelListResourceBundle { // define this method as follows: // return new Object[][] { }; return new Object[][] { + { "MonthNarrows", + new String[] { + "J", + "F", + "M", + "A", + "M", + "J", + "J", + "A", + "S", + "O", + "N", + "D", + "", + } + }, { "NumberPatterns", new String[] { "#,##0.###;-#,##0.###", // decimal pattern diff --git a/jdk/test/sun/text/resources/LocaleData b/jdk/test/sun/text/resources/LocaleData index 635416d9189..205932144d3 100644 --- a/jdk/test/sun/text/resources/LocaleData +++ b/jdk/test/sun/text/resources/LocaleData @@ -2502,7 +2502,7 @@ CalendarData/lt_LT/minimalDaysInFirstWeek=4 CalendarData/pl_PL/minimalDaysInFirstWeek=4 CalendarData/pt_PT/minimalDaysInFirstWeek=4 -#bug 4945388 +#bug 4945388 CurrencyNames/be_BY/BYR=\u0420\u0443\u0431 CurrencyNames/bg_BG/BGN=\u043B\u0432. @@ -5419,7 +5419,7 @@ FormatData/en_SG/DatePatterns/1=MMMM d, yyyy FormatData/en_SG/DatePatterns/2=MMM d, yyyy FormatData/en_SG/DatePatterns/3=M/d/yy FormatData/en_SG/DateTimePatterns/0={1} {0} -# Use approved data +# Use approved data FormatData/ms/Eras/0=BCE FormatData/ms/Eras/1=CE FormatData/sr_BA/MonthNames/5=\u0458\u0443\u043d\u0438 @@ -5568,7 +5568,7 @@ TimeZoneNames/de/WET/4=WESZ FormatData/fi/AmPmMarkers/0=ap. FormatData/fi/AmPmMarkers/1=ip. -# bug 6507067 +# bug 6507067 TimeZoneNames/zh_TW/Asia\/Taipei/1=\u53f0\u7063\u6a19\u6e96\u6642\u9593 TimeZoneNames/zh_TW/Asia\/Taipei/2=TST @@ -7699,3 +7699,577 @@ FormatData/es_DO/DatePatterns/3=dd/MM/yy # bug 8055222 CurrencyNames/lt_LT/EUR=\u20AC + +# bug 8042126 + missing MonthNarrows data +FormatData//MonthNarrows/0=1 +FormatData//MonthNarrows/1=2 +FormatData//MonthNarrows/2=3 +FormatData//MonthNarrows/3=4 +FormatData//MonthNarrows/4=5 +FormatData//MonthNarrows/5=6 +FormatData//MonthNarrows/6=7 +FormatData//MonthNarrows/7=8 +FormatData//MonthNarrows/8=9 +FormatData//MonthNarrows/9=10 +FormatData//MonthNarrows/10=11 +FormatData//MonthNarrows/11=12 +FormatData//MonthNarrows/12= +FormatData/bg/MonthNarrows/0=\u044f +FormatData/bg/MonthNarrows/1=\u0444 +FormatData/bg/MonthNarrows/2=\u043c +FormatData/bg/MonthNarrows/3=\u0430 +FormatData/bg/MonthNarrows/4=\u043c +FormatData/bg/MonthNarrows/5=\u044e +FormatData/bg/MonthNarrows/6=\u044e +FormatData/bg/MonthNarrows/7=\u0430 +FormatData/bg/MonthNarrows/8=\u0441 +FormatData/bg/MonthNarrows/9=\u043e +FormatData/bg/MonthNarrows/10=\u043d +FormatData/bg/MonthNarrows/11=\u0434 +FormatData/bg/MonthNarrows/12= +FormatData/zh_TW/MonthNarrows/0=1 +FormatData/zh_TW/MonthNarrows/1=2 +FormatData/zh_TW/MonthNarrows/2=3 +FormatData/zh_TW/MonthNarrows/3=4 +FormatData/zh_TW/MonthNarrows/4=5 +FormatData/zh_TW/MonthNarrows/5=6 +FormatData/zh_TW/MonthNarrows/6=7 +FormatData/zh_TW/MonthNarrows/7=8 +FormatData/zh_TW/MonthNarrows/8=9 +FormatData/zh_TW/MonthNarrows/9=10 +FormatData/zh_TW/MonthNarrows/10=11 +FormatData/zh_TW/MonthNarrows/11=12 +FormatData/zh_TW/MonthNarrows/12= +FormatData/it/MonthNarrows/0=G +FormatData/it/MonthNarrows/1=F +FormatData/it/MonthNarrows/2=M +FormatData/it/MonthNarrows/3=A +FormatData/it/MonthNarrows/4=M +FormatData/it/MonthNarrows/5=G +FormatData/it/MonthNarrows/6=L +FormatData/it/MonthNarrows/7=A +FormatData/it/MonthNarrows/8=S +FormatData/it/MonthNarrows/9=O +FormatData/it/MonthNarrows/10=N +FormatData/it/MonthNarrows/11=D +FormatData/it/MonthNarrows/12= +FormatData/ko/MonthNarrows/0=1\uc6d4 +FormatData/ko/MonthNarrows/1=2\uc6d4 +FormatData/ko/MonthNarrows/2=3\uc6d4 +FormatData/ko/MonthNarrows/3=4\uc6d4 +FormatData/ko/MonthNarrows/4=5\uc6d4 +FormatData/ko/MonthNarrows/5=6\uc6d4 +FormatData/ko/MonthNarrows/6=7\uc6d4 +FormatData/ko/MonthNarrows/7=8\uc6d4 +FormatData/ko/MonthNarrows/8=9\uc6d4 +FormatData/ko/MonthNarrows/9=10\uc6d4 +FormatData/ko/MonthNarrows/10=11\uc6d4 +FormatData/ko/MonthNarrows/11=12\uc6d4 +FormatData/ko/MonthNarrows/12= +FormatData/uk/MonthNarrows/0=\u0421 +FormatData/uk/MonthNarrows/1=\u041b +FormatData/uk/MonthNarrows/2=\u0411 +FormatData/uk/MonthNarrows/3=\u041a +FormatData/uk/MonthNarrows/4=\u0422 +FormatData/uk/MonthNarrows/5=\u0427 +FormatData/uk/MonthNarrows/6=\u041b +FormatData/uk/MonthNarrows/7=\u0421 +FormatData/uk/MonthNarrows/8=\u0412 +FormatData/uk/MonthNarrows/9=\u0416 +FormatData/uk/MonthNarrows/10=\u041b +FormatData/uk/MonthNarrows/11=\u0413 +FormatData/uk/MonthNarrows/12= +FormatData/lv/MonthNarrows/0=J +FormatData/lv/MonthNarrows/1=F +FormatData/lv/MonthNarrows/2=M +FormatData/lv/MonthNarrows/3=A +FormatData/lv/MonthNarrows/4=M +FormatData/lv/MonthNarrows/5=J +FormatData/lv/MonthNarrows/6=J +FormatData/lv/MonthNarrows/7=A +FormatData/lv/MonthNarrows/8=S +FormatData/lv/MonthNarrows/9=O +FormatData/lv/MonthNarrows/10=N +FormatData/lv/MonthNarrows/11=D +FormatData/lv/MonthNarrows/12= +FormatData/pt/MonthNarrows/0=J +FormatData/pt/MonthNarrows/1=F +FormatData/pt/MonthNarrows/2=M +FormatData/pt/MonthNarrows/3=A +FormatData/pt/MonthNarrows/4=M +FormatData/pt/MonthNarrows/5=J +FormatData/pt/MonthNarrows/6=J +FormatData/pt/MonthNarrows/7=A +FormatData/pt/MonthNarrows/8=S +FormatData/pt/MonthNarrows/9=O +FormatData/pt/MonthNarrows/10=N +FormatData/pt/MonthNarrows/11=D +FormatData/pt/MonthNarrows/12= +FormatData/sk/MonthNarrows/0=j +FormatData/sk/MonthNarrows/1=f +FormatData/sk/MonthNarrows/2=m +FormatData/sk/MonthNarrows/3=a +FormatData/sk/MonthNarrows/4=m +FormatData/sk/MonthNarrows/5=j +FormatData/sk/MonthNarrows/6=j +FormatData/sk/MonthNarrows/7=a +FormatData/sk/MonthNarrows/8=s +FormatData/sk/MonthNarrows/9=o +FormatData/sk/MonthNarrows/10=n +FormatData/sk/MonthNarrows/11=d +FormatData/sk/MonthNarrows/12= +FormatData/hi_IN/MonthNarrows/0=\u091c +FormatData/hi_IN/MonthNarrows/1=\u092b\u093c +FormatData/hi_IN/MonthNarrows/2=\u092e\u093e +FormatData/hi_IN/MonthNarrows/3=\u0905 +FormatData/hi_IN/MonthNarrows/4=\u092e +FormatData/hi_IN/MonthNarrows/5=\u091c\u0942 +FormatData/hi_IN/MonthNarrows/6=\u091c\u0941 +FormatData/hi_IN/MonthNarrows/7=\u0905 +FormatData/hi_IN/MonthNarrows/8=\u0938\u093f +FormatData/hi_IN/MonthNarrows/9=\u0905 +FormatData/hi_IN/MonthNarrows/10=\u0928 +FormatData/hi_IN/MonthNarrows/11=\u0926\u093f +FormatData/hi_IN/MonthNarrows/12= +FormatData/ga/MonthNarrows/0=E +FormatData/ga/MonthNarrows/1=F +FormatData/ga/MonthNarrows/2=M +FormatData/ga/MonthNarrows/3=A +FormatData/ga/MonthNarrows/4=B +FormatData/ga/MonthNarrows/5=M +FormatData/ga/MonthNarrows/6=I +FormatData/ga/MonthNarrows/7=L +FormatData/ga/MonthNarrows/8=M +FormatData/ga/MonthNarrows/9=D +FormatData/ga/MonthNarrows/10=S +FormatData/ga/MonthNarrows/11=N +FormatData/ga/MonthNarrows/12= +FormatData/et/MonthNarrows/0=J +FormatData/et/MonthNarrows/1=V +FormatData/et/MonthNarrows/2=M +FormatData/et/MonthNarrows/3=A +FormatData/et/MonthNarrows/4=M +FormatData/et/MonthNarrows/5=J +FormatData/et/MonthNarrows/6=J +FormatData/et/MonthNarrows/7=A +FormatData/et/MonthNarrows/8=S +FormatData/et/MonthNarrows/9=O +FormatData/et/MonthNarrows/10=N +FormatData/et/MonthNarrows/11=D +FormatData/et/MonthNarrows/12= +FormatData/sv/MonthNarrows/0=J +FormatData/sv/MonthNarrows/1=F +FormatData/sv/MonthNarrows/2=M +FormatData/sv/MonthNarrows/3=A +FormatData/sv/MonthNarrows/4=M +FormatData/sv/MonthNarrows/5=J +FormatData/sv/MonthNarrows/6=J +FormatData/sv/MonthNarrows/7=A +FormatData/sv/MonthNarrows/8=S +FormatData/sv/MonthNarrows/9=O +FormatData/sv/MonthNarrows/10=N +FormatData/sv/MonthNarrows/11=D +FormatData/sv/MonthNarrows/12= +FormatData/cs/MonthNarrows/0=l +FormatData/cs/MonthNarrows/1=\u00fa +FormatData/cs/MonthNarrows/2=b +FormatData/cs/MonthNarrows/3=d +FormatData/cs/MonthNarrows/4=k +FormatData/cs/MonthNarrows/5=\u010d +FormatData/cs/MonthNarrows/6=\u010d +FormatData/cs/MonthNarrows/7=s +FormatData/cs/MonthNarrows/8=z +FormatData/cs/MonthNarrows/9=\u0159 +FormatData/cs/MonthNarrows/10=l +FormatData/cs/MonthNarrows/11=p +FormatData/cs/MonthNarrows/12= +FormatData/el/MonthNarrows/0=\u0399 +FormatData/el/MonthNarrows/1=\u03a6 +FormatData/el/MonthNarrows/2=\u039c +FormatData/el/MonthNarrows/3=\u0391 +FormatData/el/MonthNarrows/4=\u039c +FormatData/el/MonthNarrows/5=\u0399 +FormatData/el/MonthNarrows/6=\u0399 +FormatData/el/MonthNarrows/7=\u0391 +FormatData/el/MonthNarrows/8=\u03a3 +FormatData/el/MonthNarrows/9=\u039f +FormatData/el/MonthNarrows/10=\u039d +FormatData/el/MonthNarrows/11=\u0394 +FormatData/el/MonthNarrows/12= +FormatData/hu/MonthNarrows/0=J +FormatData/hu/MonthNarrows/1=F +FormatData/hu/MonthNarrows/2=M +FormatData/hu/MonthNarrows/3=\u00c1 +FormatData/hu/MonthNarrows/4=M +FormatData/hu/MonthNarrows/5=J +FormatData/hu/MonthNarrows/6=J +FormatData/hu/MonthNarrows/7=A +FormatData/hu/MonthNarrows/8=Sz +FormatData/hu/MonthNarrows/9=O +FormatData/hu/MonthNarrows/10=N +FormatData/hu/MonthNarrows/11=D +FormatData/hu/MonthNarrows/12= +FormatData/es/MonthNarrows/0=E +FormatData/es/MonthNarrows/1=F +FormatData/es/MonthNarrows/2=M +FormatData/es/MonthNarrows/3=A +FormatData/es/MonthNarrows/4=M +FormatData/es/MonthNarrows/5=J +FormatData/es/MonthNarrows/6=J +FormatData/es/MonthNarrows/7=A +FormatData/es/MonthNarrows/8=S +FormatData/es/MonthNarrows/9=O +FormatData/es/MonthNarrows/10=N +FormatData/es/MonthNarrows/11=D +FormatData/es/MonthNarrows/12= +FormatData/tr/MonthNarrows/0=O +FormatData/tr/MonthNarrows/1=\u015e +FormatData/tr/MonthNarrows/2=M +FormatData/tr/MonthNarrows/3=N +FormatData/tr/MonthNarrows/4=M +FormatData/tr/MonthNarrows/5=H +FormatData/tr/MonthNarrows/6=T +FormatData/tr/MonthNarrows/7=A +FormatData/tr/MonthNarrows/8=E +FormatData/tr/MonthNarrows/9=E +FormatData/tr/MonthNarrows/10=K +FormatData/tr/MonthNarrows/11=A +FormatData/tr/MonthNarrows/12= +FormatData/hr/MonthNarrows/0=1. +FormatData/hr/MonthNarrows/1=2. +FormatData/hr/MonthNarrows/2=3. +FormatData/hr/MonthNarrows/3=4. +FormatData/hr/MonthNarrows/4=5. +FormatData/hr/MonthNarrows/5=6. +FormatData/hr/MonthNarrows/6=7. +FormatData/hr/MonthNarrows/7=8. +FormatData/hr/MonthNarrows/8=9. +FormatData/hr/MonthNarrows/9=10. +FormatData/hr/MonthNarrows/10=11. +FormatData/hr/MonthNarrows/11=12. +FormatData/hr/MonthNarrows/12= +FormatData/lt/MonthNarrows/0=S +FormatData/lt/MonthNarrows/1=V +FormatData/lt/MonthNarrows/2=K +FormatData/lt/MonthNarrows/3=B +FormatData/lt/MonthNarrows/4=G +FormatData/lt/MonthNarrows/5=B +FormatData/lt/MonthNarrows/6=L +FormatData/lt/MonthNarrows/7=R +FormatData/lt/MonthNarrows/8=R +FormatData/lt/MonthNarrows/9=S +FormatData/lt/MonthNarrows/10=L +FormatData/lt/MonthNarrows/11=G +FormatData/lt/MonthNarrows/12= +FormatData/sq/MonthNarrows/0=J +FormatData/sq/MonthNarrows/1=S +FormatData/sq/MonthNarrows/2=M +FormatData/sq/MonthNarrows/3=P +FormatData/sq/MonthNarrows/4=M +FormatData/sq/MonthNarrows/5=Q +FormatData/sq/MonthNarrows/6=K +FormatData/sq/MonthNarrows/7=G +FormatData/sq/MonthNarrows/8=S +FormatData/sq/MonthNarrows/9=T +FormatData/sq/MonthNarrows/10=N +FormatData/sq/MonthNarrows/11=D +FormatData/sq/MonthNarrows/12= +FormatData/fr/MonthNarrows/0=J +FormatData/fr/MonthNarrows/1=F +FormatData/fr/MonthNarrows/2=M +FormatData/fr/MonthNarrows/3=A +FormatData/fr/MonthNarrows/4=M +FormatData/fr/MonthNarrows/5=J +FormatData/fr/MonthNarrows/6=J +FormatData/fr/MonthNarrows/7=A +FormatData/fr/MonthNarrows/8=S +FormatData/fr/MonthNarrows/9=O +FormatData/fr/MonthNarrows/10=N +FormatData/fr/MonthNarrows/11=D +FormatData/fr/MonthNarrows/12= +FormatData/is/MonthNarrows/0=J +FormatData/is/MonthNarrows/1=F +FormatData/is/MonthNarrows/2=M +FormatData/is/MonthNarrows/3=A +FormatData/is/MonthNarrows/4=M +FormatData/is/MonthNarrows/5=J +FormatData/is/MonthNarrows/6=J +FormatData/is/MonthNarrows/7=\u00c1 +FormatData/is/MonthNarrows/8=L +FormatData/is/MonthNarrows/9=O +FormatData/is/MonthNarrows/10=N +FormatData/is/MonthNarrows/11=D +FormatData/is/MonthNarrows/12= +FormatData/de/MonthNarrows/0=J +FormatData/de/MonthNarrows/1=F +FormatData/de/MonthNarrows/2=M +FormatData/de/MonthNarrows/3=A +FormatData/de/MonthNarrows/4=M +FormatData/de/MonthNarrows/5=J +FormatData/de/MonthNarrows/6=J +FormatData/de/MonthNarrows/7=A +FormatData/de/MonthNarrows/8=S +FormatData/de/MonthNarrows/9=O +FormatData/de/MonthNarrows/10=N +FormatData/de/MonthNarrows/11=D +FormatData/de/MonthNarrows/12= +FormatData/en/MonthNarrows/0=J +FormatData/en/MonthNarrows/1=F +FormatData/en/MonthNarrows/2=M +FormatData/en/MonthNarrows/3=A +FormatData/en/MonthNarrows/4=M +FormatData/en/MonthNarrows/5=J +FormatData/en/MonthNarrows/6=J +FormatData/en/MonthNarrows/7=A +FormatData/en/MonthNarrows/8=S +FormatData/en/MonthNarrows/9=O +FormatData/en/MonthNarrows/10=N +FormatData/en/MonthNarrows/11=D +FormatData/en/MonthNarrows/12= +FormatData/ca/MonthNarrows/0=G +FormatData/ca/MonthNarrows/1=F +FormatData/ca/MonthNarrows/2=M +FormatData/ca/MonthNarrows/3=A +FormatData/ca/MonthNarrows/4=M +FormatData/ca/MonthNarrows/5=J +FormatData/ca/MonthNarrows/6=G +FormatData/ca/MonthNarrows/7=A +FormatData/ca/MonthNarrows/8=S +FormatData/ca/MonthNarrows/9=O +FormatData/ca/MonthNarrows/10=N +FormatData/ca/MonthNarrows/11=D +FormatData/ca/MonthNarrows/12= +FormatData/sl/MonthNarrows/0=j +FormatData/sl/MonthNarrows/1=f +FormatData/sl/MonthNarrows/2=m +FormatData/sl/MonthNarrows/3=a +FormatData/sl/MonthNarrows/4=m +FormatData/sl/MonthNarrows/5=j +FormatData/sl/MonthNarrows/6=j +FormatData/sl/MonthNarrows/7=a +FormatData/sl/MonthNarrows/8=s +FormatData/sl/MonthNarrows/9=o +FormatData/sl/MonthNarrows/10=n +FormatData/sl/MonthNarrows/11=d +FormatData/sl/MonthNarrows/12= +FormatData/fi/MonthNarrows/0=T +FormatData/fi/MonthNarrows/1=H +FormatData/fi/MonthNarrows/2=M +FormatData/fi/MonthNarrows/3=H +FormatData/fi/MonthNarrows/4=T +FormatData/fi/MonthNarrows/5=K +FormatData/fi/MonthNarrows/6=H +FormatData/fi/MonthNarrows/7=E +FormatData/fi/MonthNarrows/8=S +FormatData/fi/MonthNarrows/9=L +FormatData/fi/MonthNarrows/10=M +FormatData/fi/MonthNarrows/11=J +FormatData/fi/MonthNarrows/12= +FormatData/mk/MonthNarrows/0=\u0458 +FormatData/mk/MonthNarrows/1=\u0444 +FormatData/mk/MonthNarrows/2=\u043c +FormatData/mk/MonthNarrows/3=\u0430 +FormatData/mk/MonthNarrows/4=\u043c +FormatData/mk/MonthNarrows/5=\u0458 +FormatData/mk/MonthNarrows/6=\u0458 +FormatData/mk/MonthNarrows/7=\u0430 +FormatData/mk/MonthNarrows/8=\u0441 +FormatData/mk/MonthNarrows/9=\u043e +FormatData/mk/MonthNarrows/10=\u043d +FormatData/mk/MonthNarrows/11=\u0434 +FormatData/mk/MonthNarrows/12= +FormatData/sr-Latn/MonthNarrows/0=j +FormatData/sr-Latn/MonthNarrows/1=f +FormatData/sr-Latn/MonthNarrows/2=m +FormatData/sr-Latn/MonthNarrows/3=a +FormatData/sr-Latn/MonthNarrows/4=m +FormatData/sr-Latn/MonthNarrows/5=j +FormatData/sr-Latn/MonthNarrows/6=j +FormatData/sr-Latn/MonthNarrows/7=a +FormatData/sr-Latn/MonthNarrows/8=s +FormatData/sr-Latn/MonthNarrows/9=o +FormatData/sr-Latn/MonthNarrows/10=n +FormatData/sr-Latn/MonthNarrows/11=d +FormatData/sr-Latn/MonthNarrows/12= +FormatData/th/MonthNarrows/0=\u0e21.\u0e04. +FormatData/th/MonthNarrows/1=\u0e01.\u0e1e. +FormatData/th/MonthNarrows/2=\u0e21\u0e35.\u0e04. +FormatData/th/MonthNarrows/3=\u0e40\u0e21.\u0e22. +FormatData/th/MonthNarrows/4=\u0e1e.\u0e04. +FormatData/th/MonthNarrows/5=\u0e21\u0e34.\u0e22 +FormatData/th/MonthNarrows/6=\u0e01.\u0e04. +FormatData/th/MonthNarrows/7=\u0e2a.\u0e04. +FormatData/th/MonthNarrows/8=\u0e01.\u0e22. +FormatData/th/MonthNarrows/9=\u0e15.\u0e04. +FormatData/th/MonthNarrows/10=\u0e1e.\u0e22. +FormatData/th/MonthNarrows/11=\u0e18.\u0e04. +FormatData/th/MonthNarrows/12= +FormatData/ar/MonthNarrows/0=\u064a +FormatData/ar/MonthNarrows/1=\u0641 +FormatData/ar/MonthNarrows/2=\u0645 +FormatData/ar/MonthNarrows/3=\u0623 +FormatData/ar/MonthNarrows/4=\u0648 +FormatData/ar/MonthNarrows/5=\u0646 +FormatData/ar/MonthNarrows/6=\u0644 +FormatData/ar/MonthNarrows/7=\u063a +FormatData/ar/MonthNarrows/8=\u0633 +FormatData/ar/MonthNarrows/9=\u0643 +FormatData/ar/MonthNarrows/10=\u0628 +FormatData/ar/MonthNarrows/11=\u062f +FormatData/ar/MonthNarrows/12= +FormatData/ru/MonthNarrows/0=\u042f +FormatData/ru/MonthNarrows/1=\u0424 +FormatData/ru/MonthNarrows/2=\u041c +FormatData/ru/MonthNarrows/3=\u0410 +FormatData/ru/MonthNarrows/4=\u041c +FormatData/ru/MonthNarrows/5=\u0418 +FormatData/ru/MonthNarrows/6=\u0418 +FormatData/ru/MonthNarrows/7=\u0410 +FormatData/ru/MonthNarrows/8=\u0421 +FormatData/ru/MonthNarrows/9=\u041e +FormatData/ru/MonthNarrows/10=\u041d +FormatData/ru/MonthNarrows/11=\u0414 +FormatData/ru/MonthNarrows/12= +FormatData/ms/MonthNarrows/0=J +FormatData/ms/MonthNarrows/1=F +FormatData/ms/MonthNarrows/2=M +FormatData/ms/MonthNarrows/3=A +FormatData/ms/MonthNarrows/4=M +FormatData/ms/MonthNarrows/5=J +FormatData/ms/MonthNarrows/6=J +FormatData/ms/MonthNarrows/7=O +FormatData/ms/MonthNarrows/8=S +FormatData/ms/MonthNarrows/9=O +FormatData/ms/MonthNarrows/10=N +FormatData/ms/MonthNarrows/11=D +FormatData/ms/MonthNarrows/12= +FormatData/nl/MonthNarrows/0=J +FormatData/nl/MonthNarrows/1=F +FormatData/nl/MonthNarrows/2=M +FormatData/nl/MonthNarrows/3=A +FormatData/nl/MonthNarrows/4=M +FormatData/nl/MonthNarrows/5=J +FormatData/nl/MonthNarrows/6=J +FormatData/nl/MonthNarrows/7=A +FormatData/nl/MonthNarrows/8=S +FormatData/nl/MonthNarrows/9=O +FormatData/nl/MonthNarrows/10=N +FormatData/nl/MonthNarrows/11=D +FormatData/nl/MonthNarrows/12= +FormatData/vi/MonthNarrows/0=1 +FormatData/vi/MonthNarrows/1=2 +FormatData/vi/MonthNarrows/2=3 +FormatData/vi/MonthNarrows/3=4 +FormatData/vi/MonthNarrows/4=5 +FormatData/vi/MonthNarrows/5=6 +FormatData/vi/MonthNarrows/6=7 +FormatData/vi/MonthNarrows/7=8 +FormatData/vi/MonthNarrows/8=9 +FormatData/vi/MonthNarrows/9=10 +FormatData/vi/MonthNarrows/10=11 +FormatData/vi/MonthNarrows/11=12 +FormatData/vi/MonthNarrows/12= +FormatData/sr/MonthNarrows/0=\u0458 +FormatData/sr/MonthNarrows/1=\u0444 +FormatData/sr/MonthNarrows/2=\u043c +FormatData/sr/MonthNarrows/3=\u0430 +FormatData/sr/MonthNarrows/4=\u043c +FormatData/sr/MonthNarrows/5=\u0458 +FormatData/sr/MonthNarrows/6=\u0458 +FormatData/sr/MonthNarrows/7=\u0430 +FormatData/sr/MonthNarrows/8=\u0441 +FormatData/sr/MonthNarrows/9=\u043e +FormatData/sr/MonthNarrows/10=\u043d +FormatData/sr/MonthNarrows/11=\u0434 +FormatData/sr/MonthNarrows/12= +FormatData/mt/MonthNarrows/0=J +FormatData/mt/MonthNarrows/1=F +FormatData/mt/MonthNarrows/2=M +FormatData/mt/MonthNarrows/3=A +FormatData/mt/MonthNarrows/4=M +FormatData/mt/MonthNarrows/5=\u0120 +FormatData/mt/MonthNarrows/6=L +FormatData/mt/MonthNarrows/7=A +FormatData/mt/MonthNarrows/8=S +FormatData/mt/MonthNarrows/9=O +FormatData/mt/MonthNarrows/10=N +FormatData/mt/MonthNarrows/11=D +FormatData/mt/MonthNarrows/12= +FormatData/da/MonthNarrows/0=J +FormatData/da/MonthNarrows/1=F +FormatData/da/MonthNarrows/2=M +FormatData/da/MonthNarrows/3=A +FormatData/da/MonthNarrows/4=M +FormatData/da/MonthNarrows/5=J +FormatData/da/MonthNarrows/6=J +FormatData/da/MonthNarrows/7=A +FormatData/da/MonthNarrows/8=S +FormatData/da/MonthNarrows/9=O +FormatData/da/MonthNarrows/10=N +FormatData/da/MonthNarrows/11=D +FormatData/da/MonthNarrows/12= +FormatData/ro/MonthNarrows/0=I +FormatData/ro/MonthNarrows/1=F +FormatData/ro/MonthNarrows/2=M +FormatData/ro/MonthNarrows/3=A +FormatData/ro/MonthNarrows/4=M +FormatData/ro/MonthNarrows/5=I +FormatData/ro/MonthNarrows/6=I +FormatData/ro/MonthNarrows/7=A +FormatData/ro/MonthNarrows/8=S +FormatData/ro/MonthNarrows/9=O +FormatData/ro/MonthNarrows/10=N +FormatData/ro/MonthNarrows/11=D +FormatData/ro/MonthNarrows/12= +FormatData/no/MonthNarrows/0=J +FormatData/no/MonthNarrows/1=F +FormatData/no/MonthNarrows/2=M +FormatData/no/MonthNarrows/3=A +FormatData/no/MonthNarrows/4=M +FormatData/no/MonthNarrows/5=J +FormatData/no/MonthNarrows/6=J +FormatData/no/MonthNarrows/7=A +FormatData/no/MonthNarrows/8=S +FormatData/no/MonthNarrows/9=O +FormatData/no/MonthNarrows/10=N +FormatData/no/MonthNarrows/11=D +FormatData/no/MonthNarrows/12= +FormatData/pl/MonthNarrows/0=s +FormatData/pl/MonthNarrows/1=l +FormatData/pl/MonthNarrows/2=m +FormatData/pl/MonthNarrows/3=k +FormatData/pl/MonthNarrows/4=m +FormatData/pl/MonthNarrows/5=c +FormatData/pl/MonthNarrows/6=l +FormatData/pl/MonthNarrows/7=s +FormatData/pl/MonthNarrows/8=w +FormatData/pl/MonthNarrows/9=p +FormatData/pl/MonthNarrows/10=l +FormatData/pl/MonthNarrows/11=g +FormatData/pl/MonthNarrows/12= +FormatData/iw/MonthNarrows/0=1 +FormatData/iw/MonthNarrows/1=2 +FormatData/iw/MonthNarrows/2=3 +FormatData/iw/MonthNarrows/3=4 +FormatData/iw/MonthNarrows/4=5 +FormatData/iw/MonthNarrows/5=6 +FormatData/iw/MonthNarrows/6=7 +FormatData/iw/MonthNarrows/7=8 +FormatData/iw/MonthNarrows/8=9 +FormatData/iw/MonthNarrows/9=10 +FormatData/iw/MonthNarrows/10=11 +FormatData/iw/MonthNarrows/11=12 +FormatData/iw/MonthNarrows/12= +FormatData/zh/MonthNarrows/0=1 +FormatData/zh/MonthNarrows/1=2 +FormatData/zh/MonthNarrows/2=3 +FormatData/zh/MonthNarrows/3=4 +FormatData/zh/MonthNarrows/4=5 +FormatData/zh/MonthNarrows/5=6 +FormatData/zh/MonthNarrows/6=7 +FormatData/zh/MonthNarrows/7=8 +FormatData/zh/MonthNarrows/8=9 +FormatData/zh/MonthNarrows/9=10 +FormatData/zh/MonthNarrows/10=11 +FormatData/zh/MonthNarrows/11=12 +FormatData/zh/MonthNarrows/12= diff --git a/jdk/test/sun/text/resources/LocaleDataTest.java b/jdk/test/sun/text/resources/LocaleDataTest.java index 66039d08f40..abfdd97943d 100644 --- a/jdk/test/sun/text/resources/LocaleDataTest.java +++ b/jdk/test/sun/text/resources/LocaleDataTest.java @@ -36,7 +36,7 @@ * 6919624 6998391 7019267 7020960 7025837 7020583 7036905 7066203 7101495 * 7003124 7085757 7028073 7171028 7189611 8000983 7195759 8004489 8006509 * 7114053 7074882 7040556 8013836 8021121 6192407 6931564 8027695 8017142 - * 8037343 8055222 + * 8037343 8055222 8042126 * @summary Verify locale data * */ From 0a6f6d9d89a060c7115f840bbf6aaf0922a7ce4f Mon Sep 17 00:00:00 2001 From: Daniel Fuchs Date: Fri, 26 Sep 2014 11:29:29 +0200 Subject: [PATCH 05/83] 8043306: Provide a replacement for the API that allowed to listen for LogManager configuration changes Added two new methods to LogManager (addConfigurationListener/removeConfigurationListener) which provide an equivalent functionality with no ties to java.beans. Reviewed-by: alanb, mchung, plevart, psandoz --- .../classes/java/util/logging/LogManager.java | 114 +++- .../logging/TestConfigurationListeners.java | 489 ++++++++++++++++++ 2 files changed, 596 insertions(+), 7 deletions(-) create mode 100644 jdk/test/java/util/logging/TestConfigurationListeners.java diff --git a/jdk/src/java.logging/share/classes/java/util/logging/LogManager.java b/jdk/src/java.logging/share/classes/java/util/logging/LogManager.java index ffd9d96300d..b7b00086034 100644 --- a/jdk/src/java.logging/share/classes/java/util/logging/LogManager.java +++ b/jdk/src/java.logging/share/classes/java/util/logging/LogManager.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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 @@ -169,6 +169,9 @@ public class LogManager { // True if JVM death is imminent and the exit hook has been called. private boolean deathImminent; + private final Map listeners = + Collections.synchronizedMap(new IdentityHashMap<>()); + static { manager = AccessController.doPrivileged(new PrivilegedAction() { @Override @@ -1168,7 +1171,8 @@ public class LogManager { * Any log level definitions in the new configuration file will be * applied using Logger.setLevel(), if the target Logger exists. *

- * A PropertyChangeEvent will be fired after the properties are read. + * Any {@linkplain #addConfigurationListener registered configuration + * listener} will be invoked after the properties are read. * * @exception SecurityException if a security manager exists and if * the caller does not have LoggingPermission("control"). @@ -1302,7 +1306,8 @@ public class LogManager { /** * Reinitialize the logging properties and reread the logging configuration * from the given stream, which should be in java.util.Properties format. - * A PropertyChangeEvent will be fired after the properties are read. + * Any {@linkplain #addConfigurationListener registered configuration + * listener} will be invoked after the properties are read. *

* Any log level definitions in the new configuration file will be * applied using Logger.setLevel(), if the target Logger exists. @@ -1335,10 +1340,14 @@ public class LogManager { // Set levels on any pre-existing loggers, based on the new properties. setLevelsOnExistingLoggers(); - // Note that we need to reinitialize global handles when - // they are first referenced. - synchronized (this) { - initializedGlobalHandlers = false; + try { + invokeConfigurationListeners(); + } finally { + // Note that we need to reinitialize global handles when + // they are first referenced. + synchronized (this) { + initializedGlobalHandlers = false; + } } } @@ -1620,4 +1629,95 @@ public class LogManager { } return loggingMXBean; } + + /** + * Adds a configuration listener to be invoked each time the logging + * configuration is read. + * If the listener is already registered the method does nothing. + *

+ * The listener is invoked with privileges that are restricted by the + * calling context of this method. + * The order in which the listeners are invoked is unspecified. + *

+ * It is recommended that listeners do not throw errors or exceptions. + * + * If a listener terminates with an uncaught error or exception then + * the first exception will be propagated to the caller of + * {@link #readConfiguration()} (or {@link #readConfiguration(java.io.InputStream)}) + * after all listeners have been invoked. + * + * @implNote If more than one listener terminates with an uncaught error or + * exception, an implementation may record the additional errors or + * exceptions as {@linkplain Throwable#addSuppressed(java.lang.Throwable) + * suppressed exceptions}. + * + * @param listener A configuration listener that will be invoked after the + * configuration changed. + * @return This LogManager. + * @throws SecurityException if a security manager exists and if the + * caller does not have LoggingPermission("control"). + * @throws NullPointerException if the listener is null. + * + * @since 1.9 + */ + public LogManager addConfigurationListener(Runnable listener) { + final Runnable r = Objects.requireNonNull(listener); + checkPermission(); + final SecurityManager sm = System.getSecurityManager(); + final AccessControlContext acc = + sm == null ? null : AccessController.getContext(); + final PrivilegedAction pa = + acc == null ? null : () -> { r.run() ; return null; }; + final Runnable pr = + acc == null ? r : () -> AccessController.doPrivileged(pa, acc); + // Will do nothing if already registered. + listeners.putIfAbsent(r, pr); + return this; + } + + /** + * Removes a previously registered configuration listener. + * + * Returns silently if the listener is not found. + * + * @param listener the configuration listener to remove. + * @throws NullPointerException if the listener is null. + * @throws SecurityException if a security manager exists and if the + * caller does not have LoggingPermission("control"). + * + * @since 1.9 + */ + public void removeConfigurationListener(Runnable listener) { + final Runnable key = Objects.requireNonNull(listener); + checkPermission(); + listeners.remove(key); + } + + private void invokeConfigurationListeners() { + Throwable t = null; + + // We're using an IdentityHashMap because we want to compare + // keys using identity (==). + // We don't want to loop within a block synchronized on 'listeners' + // to avoid invoking listeners from yet another synchronized block. + // So we're taking a snapshot of the values list to avoid the risk of + // ConcurrentModificationException while looping. + // + for (Runnable c : listeners.values().toArray(new Runnable[0])) { + try { + c.run(); + } catch (ThreadDeath death) { + throw death; + } catch (Error | RuntimeException x) { + if (t == null) t = x; + else t.addSuppressed(x); + } + } + // Listeners are not supposed to throw exceptions, but if that + // happens, we will rethrow the first error or exception that is raised + // after all listeners have been invoked. + if (t instanceof Error) throw (Error)t; + if (t instanceof RuntimeException) throw (RuntimeException)t; + } + } diff --git a/jdk/test/java/util/logging/TestConfigurationListeners.java b/jdk/test/java/util/logging/TestConfigurationListeners.java new file mode 100644 index 00000000000..375019e8656 --- /dev/null +++ b/jdk/test/java/util/logging/TestConfigurationListeners.java @@ -0,0 +1,489 @@ +/* + * Copyright (c) 2014, 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.ByteArrayInputStream; +import java.io.FilePermission; +import java.io.IOException; +import java.security.AccessControlException; +import java.security.CodeSource; +import java.security.Permission; +import java.security.PermissionCollection; +import java.security.Permissions; +import java.security.Policy; +import java.security.ProtectionDomain; +import java.util.Arrays; +import java.util.Collections; +import java.util.ConcurrentModificationException; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.PropertyPermission; +import java.util.Set; +import java.util.concurrent.atomic.AtomicLong; +import java.util.logging.LogManager; +import java.util.logging.LoggingPermission; + +/** + * @test + * @bug 8043306 + * @summary tests LogManager.addConfigurationListener and + * LogManager.removeConfigurationListener; + * @build TestConfigurationListeners + * @run main/othervm TestConfigurationListeners UNSECURE + * @run main/othervm TestConfigurationListeners PERMISSION + * @run main/othervm TestConfigurationListeners SECURE + * @author danielfuchs + */ +public class TestConfigurationListeners { + + /** + * We will test add and remove ConfigurationListeners in 3 configurations. + * UNSECURE: No security manager. + * SECURE: With the security manager present - and the required + * LoggingPermission("control") granted. + * PERMISSION: With the security manager present - and the required + * LoggingPermission("control") *not* granted. Here we will + * test that the expected security permission is thrown. + */ + public static enum TestCase { + UNSECURE, SECURE, PERMISSION; + public void run(String name) throws Exception { + System.out.println("Running test case: " + name()); + switch (this) { + case UNSECURE: + testUnsecure(name); + break; + case SECURE: + testSecure(name); + break; + case PERMISSION: + testPermission(name); + break; + default: + throw new Error("Unknown test case: "+this); + } + } + public String loggerName(String name) { + return name; + } + } + + public static void main(String... args) throws Exception { + + + if (args == null || args.length == 0) { + args = new String[] { + TestCase.UNSECURE.name(), + TestCase.SECURE.name(), + }; + } + + for (String testName : args) { + TestCase test = TestCase.valueOf(testName); + test.run(test.loggerName("foo.bar")); + } + } + + /** + * Test without security manager. + * @param loggerName The logger to use. + * @throws Exception if the test fails. + */ + public static void testUnsecure(String loggerName) throws Exception { + if (System.getSecurityManager() != null) { + throw new Error("Security manager is set"); + } + test(loggerName); + } + + /** + * Test with security manager. + * @param loggerName The logger to use. + * @throws Exception if the test fails. + */ + public static void testSecure(String loggerName) throws Exception { + if (System.getSecurityManager() != null) { + throw new Error("Security manager is already set"); + } + Policy.setPolicy(new SimplePolicy(TestCase.SECURE)); + System.setSecurityManager(new SecurityManager()); + test(loggerName); + } + + /** + * Test the LoggingPermission("control") is required. + * @param loggerName The logger to use. + */ + public static void testPermission(String loggerName) { + TestConfigurationListener run = new TestConfigurationListener( + TestCase.PERMISSION.toString()); + if (System.getSecurityManager() != null) { + throw new Error("Security manager is already set"); + } + Policy.setPolicy(new SimplePolicy(TestCase.PERMISSION)); + System.setSecurityManager(new SecurityManager()); + + try { + LogManager.getLogManager().addConfigurationListener(run); + throw new RuntimeException("addConfigurationListener: Permission not checked!"); + } catch (AccessControlException x) { + boolean ok = false; + if (x.getPermission() instanceof LoggingPermission) { + if ("control".equals(x.getPermission().getName())) { + System.out.println("addConfigurationListener: Got expected exception: " + x); + ok = true; + } + } + if (!ok) { + throw new RuntimeException("addConfigurationListener: Unexpected exception: "+x, x); + } + } + + try { + LogManager.getLogManager().removeConfigurationListener(run); + throw new RuntimeException("removeConfigurationListener: Permission not checked!"); + } catch (AccessControlException x) { + boolean ok = false; + if (x.getPermission() instanceof LoggingPermission) { + if ("control".equals(x.getPermission().getName())) { + System.out.println("removeConfigurationListener: Got expected exception: " + x); + ok = true; + } + } + if (!ok) { + throw new RuntimeException("removeConfigurationListener: Unexpected exception: "+x, x); + } + } + try { + LogManager.getLogManager().addConfigurationListener(null); + throw new RuntimeException( + "addConfigurationListener(null): Expected NPE not thrown."); + } catch (NullPointerException npe) { + System.out.println("Got expected NPE: "+npe); + } + + try { + LogManager.getLogManager().removeConfigurationListener(null); + throw new RuntimeException( + "removeConfigurationListener(null): Expected NPE not thrown."); + } catch (NullPointerException npe) { + System.out.println("Got expected NPE: "+npe); + } + + + } + + + static class TestConfigurationListener implements Runnable { + final AtomicLong count = new AtomicLong(0); + final String name; + TestConfigurationListener(String name) { + this.name = name; + } + @Override + public void run() { + final long times = count.incrementAndGet(); + System.out.println("Configured \"" + name + "\": " + times); + } + } + + static class ConfigurationListenerException extends RuntimeException { + public ConfigurationListenerException(String msg) { + super(msg); + } + + @Override + public String toString() { + return this.getClass().getName() + ": " + getMessage(); + } + } + static class ConfigurationListenerError extends Error { + public ConfigurationListenerError(String msg) { + super(msg); + } + + @Override + public String toString() { + return this.getClass().getName() + ": " + getMessage(); + } + } + + static class ThrowingConfigurationListener extends TestConfigurationListener { + + final boolean error; + public ThrowingConfigurationListener(String name, boolean error) { + super(name); + this.error = error; + } + + @Override + public void run() { + if (error) + throw new ConfigurationListenerError(name); + else + throw new ConfigurationListenerException(name); + } + + @Override + public String toString() { + final Class type = + error ? ConfigurationListenerError.class + : ConfigurationListenerException.class; + return type.getName()+ ": " + name; + } + + } + + private static void expect(TestConfigurationListener listener, long value) { + final long got = listener.count.longValue(); + if (got != value) { + throw new RuntimeException(listener.name + " expected " + value +", got " + got); + } + + } + + public interface ThrowingConsumer { + public void accept(T t) throws I; + } + + public static class ReadConfiguration implements ThrowingConsumer { + + @Override + public void accept(LogManager t) throws IOException { + t.readConfiguration(); + } + + } + + public static void test(String loggerName) throws Exception { + System.out.println("Starting test for " + loggerName); + test("m.readConfiguration()", (m) -> m.readConfiguration()); + test("m.readConfiguration(new ByteArrayInputStream(new byte[0]))", + (m) -> m.readConfiguration(new ByteArrayInputStream(new byte[0]))); + System.out.println("Test passed for " + loggerName); + } + + public static void test(String testName, + ThrowingConsumer readConfiguration) throws Exception { + + + System.out.println("\nBEGIN " + testName); + LogManager m = LogManager.getLogManager(); + + final TestConfigurationListener l1 = new TestConfigurationListener("l#1"); + final TestConfigurationListener l2 = new TestConfigurationListener("l#2"); + final TestConfigurationListener l3 = new ThrowingConfigurationListener("l#3", false); + final TestConfigurationListener l4 = new ThrowingConfigurationListener("l#4", true); + final TestConfigurationListener l5 = new ThrowingConfigurationListener("l#5", false); + + final Set expectedExceptions = + Collections.unmodifiableSet( + new HashSet<>(Arrays.asList( + l3.toString(), l4.toString(), l5.toString()))); + + m.addConfigurationListener(l1); + m.addConfigurationListener(l2); + expect(l1, 0); + expect(l2, 0); + + readConfiguration.accept(m); + expect(l1, 1); + expect(l2, 1); + m.addConfigurationListener(l1); + expect(l1, 1); + expect(l2, 1); + readConfiguration.accept(m); + expect(l1, 2); + expect(l2, 2); + m.removeConfigurationListener(l1); + expect(l1, 2); + expect(l2, 2); + readConfiguration.accept(m); + expect(l1, 2); + expect(l2, 3); + m.removeConfigurationListener(l1); + expect(l1, 2); + expect(l2, 3); + readConfiguration.accept(m); + expect(l1, 2); + expect(l2, 4); + m.removeConfigurationListener(l2); + expect(l1, 2); + expect(l2, 4); + readConfiguration.accept(m); + expect(l1, 2); + expect(l2, 4); + + // l1 and l2 should no longer be present: this should not fail... + m.removeConfigurationListener(l1); + m.removeConfigurationListener(l1); + m.removeConfigurationListener(l2); + m.removeConfigurationListener(l2); + expect(l1, 2); + expect(l2, 4); + + readConfiguration.accept(m); + expect(l1, 2); + expect(l2, 4); + + // add back l1 and l2 + m.addConfigurationListener(l1); + m.addConfigurationListener(l2); + expect(l1, 2); + expect(l2, 4); + + readConfiguration.accept(m); + expect(l1, 3); + expect(l2, 5); + + m.removeConfigurationListener(l1); + m.removeConfigurationListener(l2); + expect(l1, 3); + expect(l2, 5); + + readConfiguration.accept(m); + expect(l1, 3); + expect(l2, 5); + + // Check the behavior when listeners throw exceptions + // l3, l4, and l5 will throw an error/exception. + // The first that is raised will be propagated, after all listeners + // have been invoked. The other exceptions will be added to the + // suppressed list. + // + // We will check that all listeners have been invoked and that we + // have the set of 3 exceptions expected from l3, l4, l5. + // + m.addConfigurationListener(l4); + m.addConfigurationListener(l1); + m.addConfigurationListener(l2); + m.addConfigurationListener(l3); + m.addConfigurationListener(l5); + + try { + readConfiguration.accept(m); + throw new RuntimeException("Excpected exception/error not raised"); + } catch(ConfigurationListenerException | ConfigurationListenerError t) { + final Set received = new HashSet<>(); + received.add(t.toString()); + for (Throwable s : t.getSuppressed()) { + received.add(s.toString()); + } + System.out.println("Received exceptions: " + received); + if (!expectedExceptions.equals(received)) { + throw new RuntimeException( + "List of received exceptions differs from expected:" + + "\n\texpected: " + expectedExceptions + + "\n\treceived: " + received); + } + } + expect(l1, 4); + expect(l2, 6); + + m.removeConfigurationListener(l1); + m.removeConfigurationListener(l2); + m.removeConfigurationListener(l3); + m.removeConfigurationListener(l4); + m.removeConfigurationListener(l5); + readConfiguration.accept(m); + expect(l1, 4); + expect(l2, 6); + + + try { + m.addConfigurationListener(null); + throw new RuntimeException( + "addConfigurationListener(null): Expected NPE not thrown."); + } catch (NullPointerException npe) { + System.out.println("Got expected NPE: "+npe); + } + + try { + m.removeConfigurationListener(null); + throw new RuntimeException( + "removeConfigurationListener(null): Expected NPE not thrown."); + } catch (NullPointerException npe) { + System.out.println("Got expected NPE: "+npe); + } + + System.out.println("END " + testName+"\n"); + + } + + + final static class PermissionsBuilder { + final Permissions perms; + public PermissionsBuilder() { + this(new Permissions()); + } + public PermissionsBuilder(Permissions perms) { + this.perms = perms; + } + public PermissionsBuilder add(Permission p) { + perms.add(p); + return this; + } + public PermissionsBuilder addAll(PermissionCollection col) { + if (col != null) { + for (Enumeration e = col.elements(); e.hasMoreElements(); ) { + perms.add(e.nextElement()); + } + } + return this; + } + public Permissions toPermissions() { + final PermissionsBuilder builder = new PermissionsBuilder(); + builder.addAll(perms); + return builder.perms; + } + } + + public static class SimplePolicy extends Policy { + + final Permissions permissions; + public SimplePolicy(TestCase test) { + permissions = new Permissions(); + if (test != TestCase.PERMISSION) { + permissions.add(new LoggingPermission("control", null)); + permissions.add(new PropertyPermission("java.util.logging.config.class", "read")); + permissions.add(new PropertyPermission("java.util.logging.config.file", "read")); + permissions.add(new PropertyPermission("java.home", "read")); + permissions.add(new FilePermission("<>", "read")); + } + } + + @Override + public boolean implies(ProtectionDomain domain, Permission permission) { + return permissions.implies(permission); + } + + @Override + public PermissionCollection getPermissions(CodeSource codesource) { + return new PermissionsBuilder().addAll(permissions).toPermissions(); + } + + @Override + public PermissionCollection getPermissions(ProtectionDomain domain) { + return new PermissionsBuilder().addAll(permissions).toPermissions(); + } + } + +} From 3d2c518ad80cc2be1abd2c8c40ed24bdc08a97e2 Mon Sep 17 00:00:00 2001 From: Marcus Lagergren Date: Fri, 26 Sep 2014 18:47:20 +0200 Subject: [PATCH 06/83] 8059211: Changed ArrayData.length accessor to use the protected field and fixed javadoc warnings related to this Reviewed-by: attila, hannesw --- nashorn/samples/BufferArray.java | 4 +- .../internal/codegen/ApplySpecialization.java | 4 +- .../internal/codegen/CompilationPhase.java | 4 +- .../internal/codegen/MethodEmitter.java | 2 + .../codegen/OptimisticTypesPersistence.java | 4 +- .../nashorn/internal/codegen/types/Type.java | 5 +- .../jdk/nashorn/internal/objects/Global.java | 12 ++- .../nashorn/internal/objects/NativeArray.java | 2 +- .../nashorn/internal/objects/NativeDebug.java | 5 +- .../annotations/SpecializedFunction.java | 2 +- .../nashorn/internal/runtime/CodeStore.java | 4 +- .../internal/runtime/CompiledFunction.java | 15 ++-- .../jdk/nashorn/internal/runtime/Context.java | 5 +- .../jdk/nashorn/internal/runtime/Debug.java | 9 +-- .../RecompilableScriptFunctionData.java | 8 +- .../internal/runtime/ScriptFunction.java | 2 +- .../internal/runtime/ScriptObject.java | 20 ++--- .../internal/runtime/arrays/ArrayData.java | 2 +- .../internal/runtime/arrays/ArrayFilter.java | 26 +++---- .../runtime/arrays/ContinuousArrayData.java | 4 +- .../runtime/arrays/DeletedArrayFilter.java | 21 +++-- .../arrays/DeletedRangeArrayFilter.java | 11 +-- .../internal/runtime/arrays/IntArrayData.java | 30 ++++---- .../runtime/arrays/LongArrayData.java | 39 +++++----- .../runtime/arrays/NoTypeArrayData.java | 18 ++--- .../runtime/arrays/NumberArrayData.java | 36 ++++----- .../runtime/arrays/ObjectArrayData.java | 38 +++++----- .../runtime/arrays/SparseArrayData.java | 76 +++++++++---------- .../runtime/arrays/TypedArrayData.java | 6 +- .../runtime/arrays/UndefinedArrayFilter.java | 17 ++--- 30 files changed, 213 insertions(+), 218 deletions(-) diff --git a/nashorn/samples/BufferArray.java b/nashorn/samples/BufferArray.java index f1751f50860..b26b5c08eba 100644 --- a/nashorn/samples/BufferArray.java +++ b/nashorn/samples/BufferArray.java @@ -29,8 +29,8 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import jdk.nashorn.api.scripting.AbstractJSObject; import java.nio.DoubleBuffer; +import jdk.nashorn.api.scripting.AbstractJSObject; /** * Simple class demonstrating pluggable script object @@ -112,6 +112,8 @@ public class BufferArray extends AbstractJSObject { return true; } }; + default: + break; } return null; } diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/ApplySpecialization.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/ApplySpecialization.java index 28900f73779..b05475b6e54 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/ApplySpecialization.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/ApplySpecialization.java @@ -27,7 +27,6 @@ package jdk.nashorn.internal.codegen; import static jdk.nashorn.internal.codegen.CompilerConstants.ARGUMENTS_VAR; import static jdk.nashorn.internal.codegen.CompilerConstants.EXPLODED_ARGUMENT_PREFIX; - import java.lang.invoke.MethodType; import java.util.ArrayDeque; import java.util.ArrayList; @@ -35,7 +34,6 @@ import java.util.Deque; import java.util.HashSet; import java.util.List; import java.util.Set; - import jdk.nashorn.internal.ir.AccessNode; import jdk.nashorn.internal.ir.CallNode; import jdk.nashorn.internal.ir.Expression; @@ -131,7 +129,7 @@ public final class ApplySpecialization extends NodeVisitor imple @SuppressWarnings("serial") final UnsupportedOperationException uoe = new UnsupportedOperationException() { @Override - public Throwable fillInStackTrace() { + public synchronized Throwable fillInStackTrace() { return null; } }; diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CompilationPhase.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CompilationPhase.java index 603157d6c18..1ba77a7c5ae 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CompilationPhase.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CompilationPhase.java @@ -38,7 +38,6 @@ import static jdk.nashorn.internal.ir.FunctionNode.CompilationState.SCOPE_DEPTHS import static jdk.nashorn.internal.ir.FunctionNode.CompilationState.SPLIT; import static jdk.nashorn.internal.ir.FunctionNode.CompilationState.SYMBOLS_ASSIGNED; import static jdk.nashorn.internal.runtime.logging.DebugLogger.quote; - import java.io.PrintWriter; import java.util.ArrayList; import java.util.EnumSet; @@ -48,7 +47,6 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; - import jdk.nashorn.internal.AssertsEnabled; import jdk.nashorn.internal.codegen.Compiler.CompilationPhases; import jdk.nashorn.internal.ir.FunctionNode; @@ -627,7 +625,7 @@ enum CompilationPhase { /** * Start a compilation phase - * @param compiler + * @param compiler the compiler to use * @param functionNode function to compile * @return function node */ diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/MethodEmitter.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/MethodEmitter.java index c1af31b5c22..ab9d39deb15 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/MethodEmitter.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/MethodEmitter.java @@ -2134,6 +2134,8 @@ public class MethodEmitter implements Emitter { load("Function"); invoke(ScriptRuntime.INVALIDATE_RESERVED_BUILTIN_NAME); break; + default: + break; } return this; } diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/OptimisticTypesPersistence.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/OptimisticTypesPersistence.java index 35308fc3a79..05a768727e9 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/OptimisticTypesPersistence.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/OptimisticTypesPersistence.java @@ -443,7 +443,7 @@ public final class OptimisticTypesPersistence { // does not increase filesDeleted } files[i] = null; // gc eligible - }; + } } private static Path[] getAllRegularFilesInLastModifiedOrder() throws IOException { @@ -454,7 +454,7 @@ public final class OptimisticTypesPersistence { @Override public boolean test(final Path path) { return !Files.isDirectory(path); - }; + } }) .map(new Function() { @Override diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/types/Type.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/types/Type.java index 9ce94037913..55154c607ed 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/types/Type.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/types/Type.java @@ -47,7 +47,6 @@ import static jdk.internal.org.objectweb.asm.Opcodes.T_DOUBLE; import static jdk.internal.org.objectweb.asm.Opcodes.T_INT; import static jdk.internal.org.objectweb.asm.Opcodes.T_LONG; import static jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup; - import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; @@ -299,7 +298,7 @@ public abstract class Type implements Comparable, BytecodeOps { * * @param typeMap the type map * @param output data output - * @throws IOException + * @throws IOException if write cannot be completed */ public static void writeTypeMap(final Map typeMap, final DataOutput output) throws IOException { if (typeMap == null) { @@ -329,7 +328,7 @@ public abstract class Type implements Comparable, BytecodeOps { * * @param input data input * @return type map - * @throws IOException + * @throws IOException if read cannot be completed */ public static Map readTypeMap(final DataInput input) throws IOException { final int size = input.readInt(); diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/Global.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/Global.java index 0f6490c2da3..eb56de0e18f 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/Global.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/Global.java @@ -561,6 +561,7 @@ public final class Global extends ScriptObject implements Scope { * * @param engine ScriptEngine to initialize */ + @SuppressWarnings("hiding") public void initBuiltinObjects(final ScriptEngine engine) { if (this.builtinObject != null) { // already initialized, just return @@ -905,10 +906,12 @@ public final class Global extends ScriptObject implements Scope { } switch (nameStr) { - case "context": - return sctxt; - case "engine": - return global.engine; + case "context": + return sctxt; + case "engine": + return global.engine; + default: + break; } if (self == UNDEFINED) { @@ -1715,6 +1718,7 @@ public final class Global extends ScriptObject implements Scope { return func; } + @SuppressWarnings("hiding") private void init(final ScriptEngine engine) { assert Context.getGlobal() == this : "this global is not set as current"; diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeArray.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeArray.java index c0fd1669cdc..c83e8883efd 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeArray.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeArray.java @@ -1835,7 +1835,7 @@ public final class NativeArray extends ScriptObject implements OptimisticBuiltin return false; } - private ContinuousArrayData getContinuousNonEmptyArrayData(final Object self) { + private static ContinuousArrayData getContinuousNonEmptyArrayData(final Object self) { final ContinuousArrayData data = getContinuousArrayData(self); if (data != null) { return data.length() == 0 ? null : data; diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeDebug.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeDebug.java index 20dd85e5c4f..3d8f1095eb8 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeDebug.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeDebug.java @@ -26,7 +26,6 @@ package jdk.nashorn.internal.objects; import static jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED; - import java.io.PrintWriter; import java.util.LinkedList; import java.util.Objects; @@ -262,8 +261,8 @@ public final class NativeDebug extends ScriptObject { /** * Set the event queue capacity - * @param self - * @param newCapacity + * @param self an event queue + * @param newCapacity new capacity */ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR) public static void setEventQueueCapacity(final Object self, final Object newCapacity) { diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/annotations/SpecializedFunction.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/annotations/SpecializedFunction.java index 6c74d72bc83..36f47b273be 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/annotations/SpecializedFunction.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/annotations/SpecializedFunction.java @@ -77,7 +77,7 @@ public @interface SpecializedFunction { public boolean isEmpty() { return true; } - }; + } /** * Get the class representing the empty link logic diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CodeStore.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CodeStore.java index b06473ee61f..0748ccc3fba 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CodeStore.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CodeStore.java @@ -210,7 +210,7 @@ public abstract class CodeStore implements Loggable { /** * Constructor * - * @throws IOException + * @throws IOException if there are read/write problems with the cache and cache directory */ public DirectoryCodeStore() throws IOException { this(Options.getStringProperty("nashorn.persistent.code.cache", "nashorn_code_cache"), false, DEFAULT_MIN_SIZE); @@ -222,7 +222,7 @@ public abstract class CodeStore implements Loggable { * @param path directory to store code in * @param readOnly is this a read only code store * @param minSize minimum file size for caching scripts - * @throws IOException + * @throws IOException if there are read/write problems with the cache and cache directory */ public DirectoryCodeStore(final String path, final boolean readOnly, final int minSize) throws IOException { this.dir = checkDirectory(path, readOnly); diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CompiledFunction.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CompiledFunction.java index d41496086df..990ea2ebab5 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CompiledFunction.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CompiledFunction.java @@ -110,9 +110,8 @@ final class CompiledFunction { */ this.invoker = MH.insertArguments(invoker, invoker.type().parameterCount() - 1, UnwarrantedOptimismException.FIRST_PROGRAM_POINT); throw new AssertionError("Optimistic (UnwarrantedOptimismException throwing) builtin functions are currently not in use"); - } else { - this.invoker = invoker; } + this.invoker = invoker; this.constructor = constructor; this.flags = flags; this.callSiteType = callSiteType; @@ -510,8 +509,8 @@ final class CompiledFunction { return ((ArrayType)paramTypes[paramTypes.length - 1]).getElementType(); } - boolean matchesCallSite(final MethodType callSiteType, final boolean pickVarArg) { - if (callSiteType.equals(this.callSiteType)) { + boolean matchesCallSite(final MethodType other, final boolean pickVarArg) { + if (other.equals(this.callSiteType)) { return true; } final MethodType type = type(); @@ -521,7 +520,7 @@ final class CompiledFunction { return pickVarArg; } - final int csParamCount = getParamCount(callSiteType); + final int csParamCount = getParamCount(other); final boolean csIsVarArg = csParamCount == Integer.MAX_VALUE; final int thisThisIndex = needsCallee() ? 1 : 0; // Index of "this" parameter in this function's type @@ -530,7 +529,7 @@ final class CompiledFunction { // We must match all incoming parameters, except "this". Starting from 1 to skip "this". for(int i = 1; i < minParams; ++i) { final Type fnType = Type.typeFor(type.parameterType(i + thisThisIndex)); - final Type csType = csIsVarArg ? Type.OBJECT : Type.typeFor(callSiteType.parameterType(i + 1)); + final Type csType = csIsVarArg ? Type.OBJECT : Type.typeFor(other.parameterType(i + 1)); if(!fnType.isEquivalentTo(csType)) { return false; } @@ -752,9 +751,9 @@ final class CompiledFunction { return sb.toString(); } - private void logRecompile(final String reason, final FunctionNode fn, final MethodType callSiteType, final Map ipp) { + private void logRecompile(final String reason, final FunctionNode fn, final MethodType type, final Map ipp) { if (log.isEnabled()) { - log.info(reason, DebugLogger.quote(fn.getName()), " signature: ", callSiteType, " ", toStringInvalidations(ipp)); + log.info(reason, DebugLogger.quote(fn.getName()), " signature: ", type, " ", toStringInvalidations(ipp)); } } diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java index 68c576f756f..99d2ab5061d 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java @@ -33,7 +33,6 @@ import static jdk.nashorn.internal.runtime.CodeStore.newCodeStore; import static jdk.nashorn.internal.runtime.ECMAErrors.typeError; import static jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED; import static jdk.nashorn.internal.runtime.Source.sourceFor; - import java.io.File; import java.io.IOException; import java.io.PrintWriter; @@ -64,9 +63,7 @@ import java.util.concurrent.atomic.AtomicLong; import java.util.function.Consumer; import java.util.function.Supplier; import java.util.logging.Level; - import javax.script.ScriptEngine; - import jdk.internal.org.objectweb.asm.ClassReader; import jdk.internal.org.objectweb.asm.util.CheckClassAdapter; import jdk.nashorn.api.scripting.ClassFilter; @@ -1390,7 +1387,7 @@ public final class Context { * logic to e.g. multiple switchpoint classes. */ public static final class BuiltinSwitchPoint extends SwitchPoint { - + //empty } /** diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Debug.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Debug.java index c152418a858..a2d136fce42 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Debug.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Debug.java @@ -26,7 +26,6 @@ package jdk.nashorn.internal.runtime; import static jdk.nashorn.internal.parser.TokenType.EOF; - import jdk.nashorn.internal.parser.Lexer; import jdk.nashorn.internal.parser.Token; import jdk.nashorn.internal.parser.TokenStream; @@ -42,12 +41,12 @@ public final class Debug { /** * Return the topmost JavaScript frame in a stack trace - * @param e + * @param t throwable that contains the stack trace * @return line describing the topmost JavaScript frame */ - public static String firstJSFrame(final Throwable e) { - for (final StackTraceElement ste : e.getStackTrace()) { - if(ECMAErrors.isScriptFrame(ste)) { + public static String firstJSFrame(final Throwable t) { + for (final StackTraceElement ste : t.getStackTrace()) { + if (ECMAErrors.isScriptFrame(ste)) { return ste.toString(); } } diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java index 7ef0e3562db..bfe70700aef 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java @@ -501,13 +501,13 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData imp for (final Map.Entry entry : classBytes.entrySet()) { final String className = entry.getKey(); - final byte[] code = entry.getValue(); + final byte[] bytecode = entry.getValue(); if (className.equals(mainClassName)) { continue; } - installedClasses.put(className, installer.install(className, code)); + installedClasses.put(className, installer.install(className, bytecode)); } final Map initializers = script.getInitializers(); @@ -588,9 +588,9 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData imp return lookupCodeMethod(fn.getCompileUnit().getCode(), type); } - MethodHandle lookupCodeMethod(final Class code, final MethodType targetType) { + MethodHandle lookupCodeMethod(final Class codeClass, final MethodType targetType) { log.info("Looking up ", DebugLogger.quote(name), " type=", targetType); - return MH.findStatic(LOOKUP, code, functionName, targetType); + return MH.findStatic(LOOKUP, codeClass, functionName, targetType); } /** diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptFunction.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptFunction.java index 60d880bf079..0ba06b3a66b 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptFunction.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptFunction.java @@ -501,7 +501,7 @@ public abstract class ScriptFunction extends ScriptObject { * @param linkLogicClass linkLogicClass, or null if no link logic exists * @return link logic instance, or null if one could not be constructed for this receiver */ - private LinkLogic getLinkLogic(final Object self, final Class linkLogicClass) { + private static LinkLogic getLinkLogic(final Object self, final Class linkLogicClass) { if (linkLogicClass == null) { return LinkLogic.EMPTY_INSTANCE; //always OK to link this, specialization but without special linking logic } diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptObject.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptObject.java index 62b12adee3e..87d28976571 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptObject.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptObject.java @@ -935,10 +935,10 @@ public abstract class ScriptObject implements PropertyAccess { * creating setters that probably aren't used. Inject directly into the spill pool * the defaults for "arguments" and "caller" * - * @param key - * @param propertyFlags - * @param getter - * @param setter + * @param key property key + * @param propertyFlags flags + * @param getter getter for {@link UserAccessorProperty}, null if not present or N/A + * @param setter setter for {@link UserAccessorProperty}, null if not present or N/A */ protected final void initUserAccessors(final String key, final int propertyFlags, final ScriptFunction getter, final ScriptFunction setter) { final int slot = spillLength; @@ -1749,8 +1749,8 @@ public abstract class ScriptObject implements PropertyAccess { */ public Object put(final Object key, final Object value, final boolean strict) { final Object oldValue = get(key); - final int flags = strict ? NashornCallSiteDescriptor.CALLSITE_STRICT : 0; - set(key, value, flags); + final int scriptObjectFlags = strict ? NashornCallSiteDescriptor.CALLSITE_STRICT : 0; + set(key, value, scriptObjectFlags); return oldValue; } @@ -1763,9 +1763,9 @@ public abstract class ScriptObject implements PropertyAccess { * @param strict strict mode or not */ public void putAll(final Map otherMap, final boolean strict) { - final int flags = strict ? NashornCallSiteDescriptor.CALLSITE_STRICT : 0; + final int scriptObjectFlags = strict ? NashornCallSiteDescriptor.CALLSITE_STRICT : 0; for (final Map.Entry entry : otherMap.entrySet()) { - set(entry.getKey(), entry.getValue(), flags); + set(entry.getKey(), entry.getValue(), scriptObjectFlags); } } @@ -2046,7 +2046,7 @@ public abstract class ScriptObject implements PropertyAccess { // Marks a property as declared and sets its value. Used as slow path for block-scoped LET and CONST @SuppressWarnings("unused") private void declareAndSet(final String key, final Object value) { - final PropertyMap map = getMap(); + final PropertyMap oldMap = getMap(); final FindProperty find = findProperty(key, false); assert find != null; @@ -2054,7 +2054,7 @@ public abstract class ScriptObject implements PropertyAccess { assert property != null; assert property.needsDeclaration(); - final PropertyMap newMap = map.replaceProperty(property, property.removeFlags(Property.NEEDS_DECLARATION)); + final PropertyMap newMap = oldMap.replaceProperty(property, property.removeFlags(Property.NEEDS_DECLARATION)); setMap(newMap); set(key, value, 0); } diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ArrayData.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ArrayData.java index 49667465bfb..9e606ee6113 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ArrayData.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ArrayData.java @@ -536,7 +536,7 @@ public abstract class ArrayData { final Class widest = widestType(items); ArrayData newData = convert(widest); - long pos = newData.length(); + long pos = newData.length; for (final Object item : items) { newData = newData.ensure(pos); //avoid sparse array newData.set((int)pos++, item, strict); diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ArrayFilter.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ArrayFilter.java index 8313589f490..8d71cc04ffc 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ArrayFilter.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ArrayFilter.java @@ -39,7 +39,7 @@ abstract class ArrayFilter extends ArrayData { protected ArrayData underlying; ArrayFilter(final ArrayData underlying) { - super(underlying.length()); + super(underlying.length); this.underlying = underlying; } @@ -70,13 +70,13 @@ abstract class ArrayFilter extends ArrayData { @Override public void shiftLeft(final int by) { underlying.shiftLeft(by); - setLength(underlying.length()); + setLength(underlying.length); } @Override public ArrayData shiftRight(final int by) { underlying = underlying.shiftRight(by); - setLength(underlying.length()); + setLength(underlying.length); return this; } @@ -84,7 +84,7 @@ abstract class ArrayFilter extends ArrayData { @Override public ArrayData ensure(final long safeIndex) { underlying = underlying.ensure(safeIndex); - setLength(underlying.length()); + setLength(underlying.length); return this; } @@ -92,7 +92,7 @@ abstract class ArrayFilter extends ArrayData { @Override public ArrayData shrink(final long newLength) { underlying = underlying.shrink(newLength); - setLength(underlying.length()); + setLength(underlying.length); return this; } @@ -100,7 +100,7 @@ abstract class ArrayFilter extends ArrayData { @Override public ArrayData set(final int index, final Object value, final boolean strict) { underlying = underlying.set(index, value, strict); - setLength(underlying.length()); + setLength(underlying.length); return this; } @@ -108,7 +108,7 @@ abstract class ArrayFilter extends ArrayData { @Override public ArrayData set(final int index, final int value, final boolean strict) { underlying = underlying.set(index, value, strict); - setLength(underlying.length()); + setLength(underlying.length); return this; } @@ -116,7 +116,7 @@ abstract class ArrayFilter extends ArrayData { @Override public ArrayData set(final int index, final long value, final boolean strict) { underlying = underlying.set(index, value, strict); - setLength(underlying.length()); + setLength(underlying.length); return this; } @@ -124,7 +124,7 @@ abstract class ArrayFilter extends ArrayData { @Override public ArrayData set(final int index, final double value, final boolean strict) { underlying = underlying.set(index, value, strict); - setLength(underlying.length()); + setLength(underlying.length); return this; } @@ -189,28 +189,28 @@ abstract class ArrayFilter extends ArrayData { @Override public ArrayData delete(final int index) { underlying = underlying.delete(index); - setLength(underlying.length()); + setLength(underlying.length); return this; } @Override public ArrayData delete(final long from, final long to) { underlying = underlying.delete(from, to); - setLength(underlying.length()); + setLength(underlying.length); return this; } @Override public ArrayData convert(final Class type) { underlying = underlying.convert(type); - setLength(underlying.length()); + setLength(underlying.length); return this; } @Override public Object pop() { final Object value = underlying.pop(); - setLength(underlying.length()); + setLength(underlying.length); return value; } diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ContinuousArrayData.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ContinuousArrayData.java index 202499e2222..dfa6133db1d 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ContinuousArrayData.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ContinuousArrayData.java @@ -76,11 +76,11 @@ public abstract class ContinuousArrayData extends ArrayData { * array without reallocating, or if we are overwriting an already * allocated element * - * @param index + * @param index index to check * @return true if we don't need to do any array reallocation to fit an element at index */ public final boolean hasRoomFor(final int index) { - return has(index) || (index == length() && ensure(index) == this); + return has(index) || (index == length && ensure(index) == this); } /** diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/DeletedArrayFilter.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/DeletedArrayFilter.java index bf120eac44a..4f54b639ac9 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/DeletedArrayFilter.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/DeletedArrayFilter.java @@ -26,7 +26,6 @@ package jdk.nashorn.internal.runtime.arrays; import static jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED; - import java.lang.reflect.Array; import jdk.nashorn.internal.runtime.BitVector; @@ -40,7 +39,7 @@ final class DeletedArrayFilter extends ArrayFilter { DeletedArrayFilter(final ArrayData underlying) { super(underlying); - this.deleted = new BitVector(underlying.length()); + this.deleted = new BitVector(underlying.length); } @Override @@ -80,25 +79,25 @@ final class DeletedArrayFilter extends ArrayFilter { @Override public void shiftLeft(final int by) { super.shiftLeft(by); - deleted.shiftLeft(by, length()); + deleted.shiftLeft(by, length); } @Override public ArrayData shiftRight(final int by) { super.shiftRight(by); - deleted.shiftRight(by, length()); + deleted.shiftRight(by, length); return this; } @Override public ArrayData ensure(final long safeIndex) { - if (safeIndex >= SparseArrayData.MAX_DENSE_LENGTH && safeIndex >= length()) { + if (safeIndex >= SparseArrayData.MAX_DENSE_LENGTH && safeIndex >= length) { return new SparseArrayData(this, safeIndex + 1); } super.ensure(safeIndex); - deleted.resize(length()); + deleted.resize(length); return this; } @@ -106,7 +105,7 @@ final class DeletedArrayFilter extends ArrayFilter { @Override public ArrayData shrink(final long newLength) { super.shrink(newLength); - deleted.resize(length()); + deleted.resize(length); return this; } @@ -147,7 +146,7 @@ final class DeletedArrayFilter extends ArrayFilter { @Override public ArrayData delete(final int index) { final long longIndex = ArrayIndex.toLongIndex(index); - assert longIndex >= 0 && longIndex < length(); + assert longIndex >= 0 && longIndex < length; deleted.set(longIndex); underlying.setEmpty(index); return this; @@ -155,7 +154,7 @@ final class DeletedArrayFilter extends ArrayFilter { @Override public ArrayData delete(final long fromIndex, final long toIndex) { - assert fromIndex >= 0 && fromIndex <= toIndex && toIndex < length(); + assert fromIndex >= 0 && fromIndex <= toIndex && toIndex < length; deleted.setRange(fromIndex, toIndex + 1); underlying.setEmpty(fromIndex, toIndex); return this; @@ -163,7 +162,7 @@ final class DeletedArrayFilter extends ArrayFilter { @Override public Object pop() { - final long index = length() - 1; + final long index = length - 1; if (super.has((int)index)) { final boolean isDeleted = deleted.isSet(index); @@ -180,7 +179,7 @@ final class DeletedArrayFilter extends ArrayFilter { final ArrayData newArray = underlying.slice(from, to); final DeletedArrayFilter newFilter = new DeletedArrayFilter(newArray); newFilter.getDeleted().copy(deleted); - newFilter.getDeleted().shiftLeft(from, newFilter.length()); + newFilter.getDeleted().shiftLeft(from, newFilter.length); return newFilter; } diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/DeletedRangeArrayFilter.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/DeletedRangeArrayFilter.java index b74d0782ee9..8732add9348 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/DeletedRangeArrayFilter.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/DeletedRangeArrayFilter.java @@ -45,7 +45,7 @@ final class DeletedRangeArrayFilter extends ArrayFilter { if(hi < SparseArrayData.MAX_DENSE_LENGTH || underlying instanceof SparseArrayData) { return underlying; } - return new SparseArrayData(underlying, underlying.length()); + return new SparseArrayData(underlying, underlying.length); } private boolean isEmpty() { @@ -93,7 +93,7 @@ final class DeletedRangeArrayFilter extends ArrayFilter { @Override public ArrayData ensure(final long safeIndex) { - if (safeIndex >= SparseArrayData.MAX_DENSE_LENGTH && safeIndex >= length()) { + if (safeIndex >= SparseArrayData.MAX_DENSE_LENGTH && safeIndex >= length) { return new SparseArrayData(this, safeIndex + 1); } @@ -110,8 +110,9 @@ final class DeletedRangeArrayFilter extends ArrayFilter { @Override public ArrayData shiftRight(final int by) { super.shiftRight(by); - lo = Math.min(length(), lo + by); - hi = Math.min(length() - 1, hi + by); + final long len = length; + lo = Math.min(len, lo + by); + hi = Math.min(len - 1, hi + by); return isEmpty() ? getUnderlying() : this; } @@ -237,7 +238,7 @@ final class DeletedRangeArrayFilter extends ArrayFilter { @Override public Object pop() { - final int index = (int)(length() - 1); + final int index = (int)length - 1; if (super.has(index)) { final boolean isDeleted = isDeleted(index); final Object value = super.pop(); diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/IntArrayData.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/IntArrayData.java index 01f872a8e96..48dd088e01c 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/IntArrayData.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/IntArrayData.java @@ -105,13 +105,13 @@ final class IntArrayData extends ContinuousArrayData implements IntElements { @Override public ArrayData copy() { - return new IntArrayData(array.clone(), (int) length()); + return new IntArrayData(array.clone(), (int)length); } @Override public Object asArrayOfType(final Class componentType) { if (componentType == int.class) { - return array.length == length() ? array.clone() : Arrays.copyOf(array, (int) length()); + return array.length == length ? array.clone() : Arrays.copyOf(array, (int)length); } return super.asArrayOfType(componentType); } @@ -183,7 +183,7 @@ final class IntArrayData extends ContinuousArrayData implements IntElements { @Override public ArrayData shiftRight(final int by) { - final ArrayData newData = ensure(by + length() - 1); + final ArrayData newData = ensure(by + length - 1); if (newData != this) { newData.shiftRight(by); return newData; @@ -229,7 +229,7 @@ final class IntArrayData extends ContinuousArrayData implements IntElements { @Override public ArrayData set(final int index, final int value, final boolean strict) { array[index] = value; - setLength(Math.max(index + 1, length())); + setLength(Math.max(index + 1, length)); return this; } @@ -238,7 +238,7 @@ final class IntArrayData extends ContinuousArrayData implements IntElements { public ArrayData set(final int index, final long value, final boolean strict) { if (JSType.isRepresentableAsInt(value)) { array[index] = JSType.toInt32(value); - setLength(Math.max(index + 1, length())); + setLength(Math.max(index + 1, length)); return this; } @@ -249,7 +249,7 @@ final class IntArrayData extends ContinuousArrayData implements IntElements { public ArrayData set(final int index, final double value, final boolean strict) { if (JSType.isRepresentableAsInt(value)) { array[index] = (int)(long)value; - setLength(Math.max(index + 1, length())); + setLength(Math.max(index + 1, length)); return this; } @@ -298,7 +298,7 @@ final class IntArrayData extends ContinuousArrayData implements IntElements { @Override public boolean has(final int index) { - return 0 <= index && index < length(); + return 0 <= index && index < length; } @Override @@ -313,11 +313,11 @@ final class IntArrayData extends ContinuousArrayData implements IntElements { @Override public Object pop() { - if (length() == 0) { + if (length == 0) { return ScriptRuntime.UNDEFINED; } - final int newLength = (int) length() - 1; + final int newLength = (int)length - 1; final int elem = array[newLength]; array[newLength] = 0; setLength(newLength); @@ -327,7 +327,7 @@ final class IntArrayData extends ContinuousArrayData implements IntElements { @Override public ArrayData slice(final long from, final long to) { - final long start = from < 0 ? from + length() : from; + final long start = from < 0 ? from + length : from; final long newLength = to - start; return new IntArrayData(Arrays.copyOfRange(array, (int)from, (int)to), (int)newLength); @@ -335,18 +335,18 @@ final class IntArrayData extends ContinuousArrayData implements IntElements { @Override public final ArrayData push(final boolean strict, final int item) { - final long length = length(); - final ArrayData newData = ensure(length); + final long len = length; + final ArrayData newData = ensure(len); if (newData == this) { - array[(int)length] = item; + array[(int)len] = item; return this; } - return newData.set((int)length, item, strict); + return newData.set((int)len, item, strict); } @Override public ArrayData fastSplice(final int start, final int removed, final int added) throws UnsupportedOperationException { - final long oldLength = length(); + final long oldLength = length; final long newLength = oldLength - removed + added; if (newLength > SparseArrayData.MAX_DENSE_LENGTH && newLength > array.length) { throw new UnsupportedOperationException(); diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/LongArrayData.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/LongArrayData.java index c4f3142bb4c..ad050d69170 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/LongArrayData.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/LongArrayData.java @@ -62,12 +62,12 @@ final class LongArrayData extends ContinuousArrayData implements IntOrLongElemen @Override public ArrayData copy() { - return new LongArrayData(array.clone(), (int)length()); + return new LongArrayData(array.clone(), (int)length); } @Override public Object[] asObjectArray() { - return toObjectArray(array, (int)length()); + return toObjectArray(array, (int)length); } private static Object[] toObjectArray(final long[] array, final int length) { @@ -84,7 +84,7 @@ final class LongArrayData extends ContinuousArrayData implements IntOrLongElemen @Override public Object asArrayOfType(final Class componentType) { if (componentType == long.class) { - return array.length == length() ? array.clone() : Arrays.copyOf(array, (int)length()); + return array.length == length ? array.clone() : Arrays.copyOf(array, (int)length); } return super.asArrayOfType(componentType); } @@ -105,11 +105,11 @@ final class LongArrayData extends ContinuousArrayData implements IntOrLongElemen if (type == Integer.class || type == Long.class) { return this; } - final int length = (int) length(); + final int len = (int)length; if (type == Double.class) { - return new NumberArrayData(LongArrayData.toDoubleArray(array, length), length); + return new NumberArrayData(LongArrayData.toDoubleArray(array, len), len); } - return new ObjectArrayData(LongArrayData.toObjectArray(array, length), length); + return new ObjectArrayData(LongArrayData.toObjectArray(array, len), len); } @Override @@ -119,7 +119,7 @@ final class LongArrayData extends ContinuousArrayData implements IntOrLongElemen @Override public ArrayData shiftRight(final int by) { - final ArrayData newData = ensure(by + length() - 1); + final ArrayData newData = ensure(by + length - 1); if (newData != this) { newData.shiftRight(by); return newData; @@ -165,14 +165,14 @@ final class LongArrayData extends ContinuousArrayData implements IntOrLongElemen @Override public ArrayData set(final int index, final int value, final boolean strict) { array[index] = value; - setLength(Math.max(index + 1, length())); + setLength(Math.max(index + 1, length)); return this; } @Override public ArrayData set(final int index, final long value, final boolean strict) { array[index] = value; - setLength(Math.max(index + 1, length())); + setLength(Math.max(index + 1, length)); return this; } @@ -180,7 +180,7 @@ final class LongArrayData extends ContinuousArrayData implements IntOrLongElemen public ArrayData set(final int index, final double value, final boolean strict) { if (JSType.isRepresentableAsLong(value)) { array[index] = (long)value; - setLength(Math.max(index + 1, length())); + setLength(Math.max(index + 1, length)); return this; } return convert(Double.class).set(index, value, strict); @@ -256,7 +256,7 @@ final class LongArrayData extends ContinuousArrayData implements IntOrLongElemen @Override public boolean has(final int index) { - return 0 <= index && index < length(); + return 0 <= index && index < length; } @Override @@ -271,11 +271,11 @@ final class LongArrayData extends ContinuousArrayData implements IntOrLongElemen @Override public Object pop() { - if (length() == 0) { + if (length == 0) { return ScriptRuntime.UNDEFINED; } - final int newLength = (int) (length() - 1); + final int newLength = (int)length - 1; final long elem = array[newLength]; array[newLength] = 0; setLength(newLength); @@ -285,25 +285,25 @@ final class LongArrayData extends ContinuousArrayData implements IntOrLongElemen @Override public ArrayData slice(final long from, final long to) { - final long start = from < 0 ? from + length() : from; + final long start = from < 0 ? from + length : from; final long newLength = to - start; return new LongArrayData(Arrays.copyOfRange(array, (int)from, (int)to), (int)newLength); } @Override public final ArrayData push(final boolean strict, final long item) { - final long length = length(); - final ArrayData newData = ensure(length); + final long len = length; + final ArrayData newData = ensure(len); if (newData == this) { - array[(int)length] = item; + array[(int)len] = item; return this; } - return newData.set((int)length, item, strict); + return newData.set((int)len, item, strict); } @Override public ArrayData fastSplice(final int start, final int removed, final int added) throws UnsupportedOperationException { - final long oldLength = length(); + final long oldLength = length; final long newLength = oldLength - removed + added; if (newLength > SparseArrayData.MAX_DENSE_LENGTH && newLength > array.length) { throw new UnsupportedOperationException(); @@ -353,7 +353,6 @@ final class LongArrayData extends ContinuousArrayData implements IntOrLongElemen final long elem = array[newLength]; array[newLength] = 0; return elem; - //return array[(int)--length]; } @Override diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/NoTypeArrayData.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/NoTypeArrayData.java index 4e0ce37328f..143cd221271 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/NoTypeArrayData.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/NoTypeArrayData.java @@ -58,19 +58,19 @@ final class NoTypeArrayData extends ArrayData { @Override public ArrayData convert(final Class type) { - final long length = length(); + final long len = length; final ArrayData arrayData; if (type == Long.class) { - arrayData = new LongArrayData(new long[ArrayData.nextSize((int)length)], (int)length); + arrayData = new LongArrayData(new long[ArrayData.nextSize((int)len)], (int)len); } else if (type == Double.class) { - arrayData = new NumberArrayData(new double[ArrayData.nextSize((int)length)], (int)length); + arrayData = new NumberArrayData(new double[ArrayData.nextSize((int)len)], (int)len); } else if (type == Integer.class) { - arrayData = new IntArrayData(new int[ArrayData.nextSize((int)length)], (int)length); + arrayData = new IntArrayData(new int[ArrayData.nextSize((int)len)], (int)len); } else { assert !type.isPrimitive(); - arrayData = new ObjectArrayData(new Object[ArrayData.nextSize((int)length)], (int)length); + arrayData = new ObjectArrayData(new Object[ArrayData.nextSize((int)len)], (int)len); } - return length == 0 ? arrayData : new DeletedRangeArrayFilter(arrayData, 0, length - 1); + return length == 0 ? arrayData : new DeletedRangeArrayFilter(arrayData, 0, len - 1); } @Override @@ -90,11 +90,11 @@ final class NoTypeArrayData extends ArrayData { } // Don't trample the shared EMPTY_ARRAY. - if (length() == 0) { - return new NoTypeArrayData(Math.max(safeIndex + 1, length())); + if (length == 0) { + return new NoTypeArrayData(Math.max(safeIndex + 1, length)); } - setLength(Math.max(safeIndex + 1, length())); + setLength(Math.max(safeIndex + 1, length)); return this; } diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/NumberArrayData.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/NumberArrayData.java index 4eeba6ffdb9..b2d843e6fb4 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/NumberArrayData.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/NumberArrayData.java @@ -61,12 +61,12 @@ final class NumberArrayData extends ContinuousArrayData implements NumericElemen @Override public ArrayData copy() { - return new NumberArrayData(array.clone(), (int) length()); + return new NumberArrayData(array.clone(), (int)length); } @Override public Object[] asObjectArray() { - return toObjectArray(array, (int) length()); + return toObjectArray(array, (int)length); } private static Object[] toObjectArray(final double[] array, final int length) { @@ -82,7 +82,7 @@ final class NumberArrayData extends ContinuousArrayData implements NumericElemen @Override public Object asArrayOfType(final Class componentType) { if(componentType == double.class) { - return array.length == length() ? array.clone() : Arrays.copyOf(array, (int) length()); + return array.length == length ? array.clone() : Arrays.copyOf(array, (int)length); } return super.asArrayOfType(componentType); } @@ -90,8 +90,8 @@ final class NumberArrayData extends ContinuousArrayData implements NumericElemen @Override public ArrayData convert(final Class type) { if (type != Double.class && type != Integer.class && type != Long.class) { - final int length = (int) length(); - return new ObjectArrayData(NumberArrayData.toObjectArray(array, length), length); + final int len = (int)length; + return new ObjectArrayData(NumberArrayData.toObjectArray(array, len), len); } return this; } @@ -103,7 +103,7 @@ final class NumberArrayData extends ContinuousArrayData implements NumericElemen @Override public ArrayData shiftRight(final int by) { - final ArrayData newData = ensure(by + length() - 1); + final ArrayData newData = ensure(by + length - 1); if (newData != this) { newData.shiftRight(by); return newData; @@ -148,21 +148,21 @@ final class NumberArrayData extends ContinuousArrayData implements NumericElemen @Override public ArrayData set(final int index, final int value, final boolean strict) { array[index] = value; - setLength(Math.max(index + 1, length())); + setLength(Math.max(index + 1, length)); return this; } @Override public ArrayData set(final int index, final long value, final boolean strict) { array[index] = value; - setLength(Math.max(index + 1, length())); + setLength(Math.max(index + 1, length)); return this; } @Override public ArrayData set(final int index, final double value, final boolean strict) { array[index] = value; - setLength(Math.max(index + 1, length())); + setLength(Math.max(index + 1, length)); return this; } @@ -231,7 +231,7 @@ final class NumberArrayData extends ContinuousArrayData implements NumericElemen @Override public boolean has(final int index) { - return 0 <= index && index < length(); + return 0 <= index && index < length; } @Override @@ -246,11 +246,11 @@ final class NumberArrayData extends ContinuousArrayData implements NumericElemen @Override public Object pop() { - if (length() == 0) { + if (length == 0) { return UNDEFINED; } - final int newLength = (int) (length() - 1); + final int newLength = (int)length - 1; final double elem = array[newLength]; array[newLength] = 0; setLength(newLength); @@ -259,25 +259,25 @@ final class NumberArrayData extends ContinuousArrayData implements NumericElemen @Override public ArrayData slice(final long from, final long to) { - final long start = from < 0 ? from + length() : from; + final long start = from < 0 ? from + length : from; final long newLength = to - start; return new NumberArrayData(Arrays.copyOfRange(array, (int)from, (int)to), (int)newLength); } @Override public final ArrayData push(final boolean strict, final double item) { - final long length = length(); - final ArrayData newData = ensure(length); + final long len = length; + final ArrayData newData = ensure(len); if (newData == this) { - array[(int)length] = item; + array[(int)len] = item; return this; } - return newData.set((int)length, item, strict); + return newData.set((int)len, item, strict); } @Override public ArrayData fastSplice(final int start, final int removed, final int added) throws UnsupportedOperationException { - final long oldLength = length(); + final long oldLength = length; final long newLength = oldLength - removed + added; if (newLength > SparseArrayData.MAX_DENSE_LENGTH && newLength > array.length) { throw new UnsupportedOperationException(); diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ObjectArrayData.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ObjectArrayData.java index 7f563020002..8fd1a453077 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ObjectArrayData.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ObjectArrayData.java @@ -67,14 +67,14 @@ final class ObjectArrayData extends ContinuousArrayData { @Override public Object[] asObjectArray() { - return array.length == length() ? array.clone() : asObjectArrayCopy(); + return array.length == length ? array.clone() : asObjectArrayCopy(); } private Object[] asObjectArrayCopy() { - final long l = length(); - assert l <= Integer.MAX_VALUE; - final Object[] copy = new Object[(int)l]; - System.arraycopy(array, 0, copy, 0, (int)l); + final long len = length; + assert len <= Integer.MAX_VALUE; + final Object[] copy = new Object[(int)len]; + System.arraycopy(array, 0, copy, 0, (int)len); return copy; } @@ -90,7 +90,7 @@ final class ObjectArrayData extends ContinuousArrayData { @Override public ArrayData shiftRight(final int by) { - final ArrayData newData = ensure(by + length() - 1); + final ArrayData newData = ensure(by + length - 1); if (newData != this) { newData.shiftRight(by); return newData; @@ -122,28 +122,28 @@ final class ObjectArrayData extends ContinuousArrayData { @Override public ArrayData set(final int index, final Object value, final boolean strict) { array[index] = value; - setLength(Math.max(index + 1, length())); + setLength(Math.max(index + 1, length)); return this; } @Override public ArrayData set(final int index, final int value, final boolean strict) { array[index] = value; - setLength(Math.max(index + 1, length())); + setLength(Math.max(index + 1, length)); return this; } @Override public ArrayData set(final int index, final long value, final boolean strict) { array[index] = value; - setLength(Math.max(index + 1, length())); + setLength(Math.max(index + 1, length)); return this; } @Override public ArrayData set(final int index, final double value, final boolean strict) { array[index] = value; - setLength(Math.max(index + 1, length())); + setLength(Math.max(index + 1, length)); return this; } @@ -220,7 +220,7 @@ final class ObjectArrayData extends ContinuousArrayData { @Override public boolean has(final int index) { - return 0 <= index && index < length(); + return 0 <= index && index < length; } @Override @@ -273,11 +273,11 @@ final class ObjectArrayData extends ContinuousArrayData { @Override public Object pop() { - if (length() == 0) { + if (length == 0) { return ScriptRuntime.UNDEFINED; } - final int newLength = (int) (length() - 1); + final int newLength = (int)length - 1; final Object elem = array[newLength]; setEmpty(newLength); setLength(newLength); @@ -286,25 +286,25 @@ final class ObjectArrayData extends ContinuousArrayData { @Override public ArrayData slice(final long from, final long to) { - final long start = from < 0 ? from + length() : from; + final long start = from < 0 ? from + length : from; final long newLength = to - start; return new ObjectArrayData(Arrays.copyOfRange(array, (int)from, (int)to), (int)newLength); } @Override public ArrayData push(final boolean strict, final Object item) { - final long length = length(); - final ArrayData newData = ensure(length); + final long len = length; + final ArrayData newData = ensure(len); if (newData == this) { - array[(int)length] = item; + array[(int)len] = item; return this; } - return newData.set((int)length, item, strict); + return newData.set((int)len, item, strict); } @Override public ArrayData fastSplice(final int start, final int removed, final int added) throws UnsupportedOperationException { - final long oldLength = length(); + final long oldLength = length; final long newLength = oldLength - removed + added; if (newLength > SparseArrayData.MAX_DENSE_LENGTH && newLength > array.length) { throw new UnsupportedOperationException(); diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java index cfb38bdfbff..d28b731c44c 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java @@ -53,28 +53,28 @@ class SparseArrayData extends ArrayData { SparseArrayData(final ArrayData underlying, final long length, final TreeMap sparseMap) { super(length); - assert underlying.length() <= length; + assert underlying.length <= length; this.underlying = underlying; - this.maxDenseLength = Math.max(MAX_DENSE_LENGTH, underlying.length()); + this.maxDenseLength = Math.max(MAX_DENSE_LENGTH, underlying.length); this.sparseMap = sparseMap; } @Override public ArrayData copy() { - return new SparseArrayData(underlying.copy(), length(), new TreeMap<>(sparseMap)); + return new SparseArrayData(underlying.copy(), length, new TreeMap<>(sparseMap)); } @Override public Object[] asObjectArray() { - final int length = (int) Math.min(length(), Integer.MAX_VALUE); - final int underlyingLength = (int) Math.min(length, underlying.length()); - final Object[] objArray = new Object[length]; + final int len = (int)Math.min(length, Integer.MAX_VALUE); + final int underlyingLength = (int)Math.min(len, underlying.length); + final Object[] objArray = new Object[len]; for (int i = 0; i < underlyingLength; i++) { objArray[i] = underlying.getObject(i); } - Arrays.fill(objArray, underlyingLength, length, ScriptRuntime.UNDEFINED); + Arrays.fill(objArray, underlyingLength, len, ScriptRuntime.UNDEFINED); for (final Map.Entry entry : sparseMap.entrySet()) { final long key = entry.getKey(); @@ -104,14 +104,14 @@ class SparseArrayData extends ArrayData { } sparseMap = newSparseMap; - setLength(Math.max(length() - by, 0)); + setLength(Math.max(length - by, 0)); } @Override public ArrayData shiftRight(final int by) { final TreeMap newSparseMap = new TreeMap<>(); - if (underlying.length() + by > maxDenseLength) { - for (long i = maxDenseLength - by; i < underlying.length(); i++) { + if (underlying.length + by > maxDenseLength) { + for (long i = maxDenseLength - by; i < underlying.length; i++) { if (underlying.has((int) i)) { newSparseMap.put(Long.valueOf(i + by), underlying.getObject((int) i)); } @@ -127,23 +127,23 @@ class SparseArrayData extends ArrayData { } sparseMap = newSparseMap; - setLength(length() + by); + setLength(length + by); return this; } @Override public ArrayData ensure(final long safeIndex) { - if (safeIndex < maxDenseLength && underlying.length() <= safeIndex) { + if (safeIndex < maxDenseLength && underlying.length <= safeIndex) { underlying = underlying.ensure(safeIndex); } - setLength(Math.max(safeIndex + 1, length())); + setLength(Math.max(safeIndex + 1, length)); return this; } @Override public ArrayData shrink(final long newLength) { - if (newLength < underlying.length()) { + if (newLength < underlying.length) { underlying = underlying.shrink(newLength); underlying.setLength(newLength); sparseMap.clear(); @@ -160,11 +160,11 @@ class SparseArrayData extends ArrayData { if (index >= 0 && index < maxDenseLength) { ensure(index); underlying = underlying.set(index, value, strict); - setLength(Math.max(underlying.length(), length())); + setLength(Math.max(underlying.length, length)); } else { final Long longIndex = indexToKey(index); sparseMap.put(longIndex, value); - setLength(Math.max(longIndex + 1, length())); + setLength(Math.max(longIndex + 1, length)); } return this; @@ -175,11 +175,11 @@ class SparseArrayData extends ArrayData { if (index >= 0 && index < maxDenseLength) { ensure(index); underlying = underlying.set(index, value, strict); - setLength(Math.max(underlying.length(), length())); + setLength(Math.max(underlying.length, length)); } else { final Long longIndex = indexToKey(index); sparseMap.put(longIndex, value); - setLength(Math.max(longIndex + 1, length())); + setLength(Math.max(longIndex + 1, length)); } return this; } @@ -189,11 +189,11 @@ class SparseArrayData extends ArrayData { if (index >= 0 && index < maxDenseLength) { ensure(index); underlying = underlying.set(index, value, strict); - setLength(Math.max(underlying.length(), length())); + setLength(Math.max(underlying.length, length)); } else { final Long longIndex = indexToKey(index); sparseMap.put(longIndex, value); - setLength(Math.max(longIndex + 1, length())); + setLength(Math.max(longIndex + 1, length)); } return this; } @@ -203,11 +203,11 @@ class SparseArrayData extends ArrayData { if (index >= 0 && index < maxDenseLength) { ensure(index); underlying = underlying.set(index, value, strict); - setLength(Math.max(underlying.length(), length())); + setLength(Math.max(underlying.length, length)); } else { final Long longIndex = indexToKey(index); sparseMap.put(longIndex, value); - setLength(Math.max(longIndex + 1, length())); + setLength(Math.max(longIndex + 1, length)); } return this; } @@ -294,7 +294,7 @@ class SparseArrayData extends ArrayData { @Override public boolean has(final int index) { if (index >= 0 && index < maxDenseLength) { - return index < underlying.length() && underlying.has(index); + return index < underlying.length && underlying.has(index); } return sparseMap.containsKey(indexToKey(index)); @@ -303,7 +303,7 @@ class SparseArrayData extends ArrayData { @Override public ArrayData delete(final int index) { if (index >= 0 && index < maxDenseLength) { - if (index < underlying.length()) { + if (index < underlying.length) { underlying = underlying.delete(index); } } else { @@ -315,8 +315,8 @@ class SparseArrayData extends ArrayData { @Override public ArrayData delete(final long fromIndex, final long toIndex) { - if (fromIndex < maxDenseLength && fromIndex < underlying.length()) { - underlying = underlying.delete(fromIndex, Math.min(toIndex, underlying.length() - 1)); + if (fromIndex < maxDenseLength && fromIndex < underlying.length) { + underlying = underlying.delete(fromIndex, Math.min(toIndex, underlying.length - 1)); } if (toIndex >= maxDenseLength) { sparseMap.subMap(fromIndex, true, toIndex, true).clear(); @@ -336,30 +336,30 @@ class SparseArrayData extends ArrayData { @Override public Object pop() { - if (length() == 0) { + if (length == 0) { return ScriptRuntime.UNDEFINED; } - if (length() == underlying.length()) { + if (length == underlying.length) { final Object result = underlying.pop(); - setLength(underlying.length()); + setLength(underlying.length); return result; } - setLength(length() - 1); - final Long key = Long.valueOf(length()); + setLength(length - 1); + final Long key = Long.valueOf(length); return sparseMap.containsKey(key) ? sparseMap.remove(key) : ScriptRuntime.UNDEFINED; } @Override public ArrayData slice(final long from, final long to) { - assert to <= length(); - final long start = from < 0 ? (from + length()) : from; + assert to <= length; + final long start = from < 0 ? (from + length) : from; final long newLength = to - start; if (start >= 0 && to <= maxDenseLength) { - if (newLength <= underlying.length()) { + if (newLength <= underlying.length) { return underlying.slice(from, to); } - return underlying.slice(from, to).ensure(newLength - 1).delete(underlying.length(), newLength); + return underlying.slice(from, to).ensure(newLength - 1).delete(underlying.length, newLength); } ArrayData sliced = EMPTY_ARRAY; @@ -369,13 +369,13 @@ class SparseArrayData extends ArrayData { sliced = sliced.set((int)(i - start), getObject((int)i), false); } } - assert sliced.length() == newLength; + assert sliced.length == newLength; return sliced; } @Override public long nextIndex(final long index) { - if (index < underlying.length() - 1) { + if (index < underlying.length - 1) { return underlying.nextIndex(index); } @@ -383,6 +383,6 @@ class SparseArrayData extends ArrayData { if (nextKey != null) { return nextKey; } - return length(); + return length; } } diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/TypedArrayData.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/TypedArrayData.java index 002dd8bc0f4..428678d0cb4 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/TypedArrayData.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/TypedArrayData.java @@ -54,11 +54,11 @@ public abstract class TypedArrayData extends ContinuousArrayDa } /** - * Length in elements. Accessed from {@code ArrayBufferView} + * Length in number of elements. Accessed from {@code ArrayBufferView} * @return element length */ public final int getElementLength() { - return (int)length(); + return (int)length; } /** @@ -119,7 +119,7 @@ public abstract class TypedArrayData extends ContinuousArrayDa @Override public final boolean has(final int index) { - return 0 <= index && index < length(); + return 0 <= index && index < length; } @Override diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/UndefinedArrayFilter.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/UndefinedArrayFilter.java index e2488d34cd5..f744aacd19a 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/UndefinedArrayFilter.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/UndefinedArrayFilter.java @@ -26,7 +26,6 @@ package jdk.nashorn.internal.runtime.arrays; import static jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED; - import java.lang.reflect.Array; import jdk.nashorn.internal.runtime.BitVector; import jdk.nashorn.internal.runtime.UnwarrantedOptimismException; @@ -41,7 +40,7 @@ final class UndefinedArrayFilter extends ArrayFilter { UndefinedArrayFilter(final ArrayData underlying) { super(underlying); - this.undefined = new BitVector(underlying.length()); + this.undefined = new BitVector(underlying.length); } @Override @@ -81,25 +80,25 @@ final class UndefinedArrayFilter extends ArrayFilter { @Override public void shiftLeft(final int by) { super.shiftLeft(by); - undefined.shiftLeft(by, length()); + undefined.shiftLeft(by, length); } @Override public ArrayData shiftRight(final int by) { super.shiftRight(by); - undefined.shiftRight(by, length()); + undefined.shiftRight(by, length); return this; } @Override public ArrayData ensure(final long safeIndex) { - if (safeIndex >= SparseArrayData.MAX_DENSE_LENGTH && safeIndex >= length()) { + if (safeIndex >= SparseArrayData.MAX_DENSE_LENGTH && safeIndex >= length) { return new SparseArrayData(this, safeIndex + 1); } super.ensure(safeIndex); - undefined.resize(length()); + undefined.resize(length); return this; } @@ -107,7 +106,7 @@ final class UndefinedArrayFilter extends ArrayFilter { @Override public ArrayData shrink(final long newLength) { super.shrink(newLength); - undefined.resize(length()); + undefined.resize(length); return this; } @@ -217,7 +216,7 @@ final class UndefinedArrayFilter extends ArrayFilter { @Override public Object pop() { - final long index = length() - 1; + final long index = length - 1; if (super.has((int)index)) { final boolean isUndefined = undefined.isSet(index); @@ -234,7 +233,7 @@ final class UndefinedArrayFilter extends ArrayFilter { final ArrayData newArray = underlying.slice(from, to); final UndefinedArrayFilter newFilter = new UndefinedArrayFilter(newArray); newFilter.getUndefined().copy(undefined); - newFilter.getUndefined().shiftLeft(from, newFilter.length()); + newFilter.getUndefined().shiftLeft(from, newFilter.length); return newFilter; } From 3fad9f6677e1aa47e8eeae8a838daaa276c54992 Mon Sep 17 00:00:00 2001 From: Bhavesh Patel Date: Fri, 26 Sep 2014 13:51:43 -0700 Subject: [PATCH 07/83] 8048351: tidy errors for attribute href, name for langtools javadoc tests needs investigation Reviewed-by: jjg --- .../sun/tools/doclets/formats/html/ClassUseWriter.java | 4 ++-- .../tools/doclets/formats/html/HtmlDocletWriter.java | 10 ++++++++++ .../tools/doclets/formats/html/PackageUseWriter.java | 8 ++++---- .../testPackageDeprecation/TestPackageDeprecation.java | 4 +++- .../com/sun/javadoc/testUseOption/TestUseOption.java | 7 +++++-- 5 files changed, 24 insertions(+), 9 deletions(-) diff --git a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java index db33c895714..f805cc01c80 100644 --- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java +++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java @@ -333,7 +333,7 @@ public class ClassUseWriter extends SubWriterHolderWriter { HtmlTree ul = new HtmlTree(HtmlTag.UL); ul.addStyle(HtmlStyle.blockList); for (PackageDoc pkg : pkgSet) { - Content li = HtmlTree.LI(HtmlStyle.blockList, getMarkerAnchor(pkg.name())); + Content li = HtmlTree.LI(HtmlStyle.blockList, getMarkerAnchor(getPackageAnchorName(pkg))); Content link = getResource("doclet.ClassUse_Uses.of.0.in.1", getLink(new LinkInfoImpl(configuration, LinkInfoImpl.Kind.CLASS_USE_HEADER, classdoc)), @@ -355,7 +355,7 @@ public class ClassUseWriter extends SubWriterHolderWriter { */ protected void addPackageUse(PackageDoc pkg, Content contentTree) throws IOException { Content tdFirst = HtmlTree.TD(HtmlStyle.colFirst, - getHyperLink(pkg.name(), new StringContent(utils.getPackageName(pkg)))); + getHyperLink(getPackageAnchorName(pkg), new StringContent(utils.getPackageName(pkg)))); contentTree.addContent(tdFirst); HtmlTree tdLast = new HtmlTree(HtmlTag.TD); tdLast.addStyle(HtmlStyle.colLast); diff --git a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java index 7d9bc435733..0d8300b8a7b 100644 --- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java +++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java @@ -991,6 +991,16 @@ public class HtmlDocletWriter extends HtmlDocWriter { return pathToRoot.resolve(DocPath.forPackage(pd).resolve(name)); } + /** + * Given a package, return the name to be used in HTML anchor tag. + * @param packageDoc the package. + * @return the name to be used in HTML anchor tag. + */ + public String getPackageAnchorName(PackageDoc packageDoc) { + return packageDoc == null || packageDoc.name().length() == 0 ? + SectionName.UNNAMED_PACKAGE_ANCHOR.getName() : packageDoc.name(); + } + /** * Return the link to the given package. * diff --git a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java index a9eb691f058..0a0cc868007 100644 --- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java +++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java @@ -207,7 +207,7 @@ public class PackageUseWriter extends SubWriterHolderWriter { } else { tr.addStyle(HtmlStyle.rowColor); } - addClassRow(itc.next(), packageName, tr); + addClassRow(itc.next(), usingPackage, tr); tbody.addContent(tr); } table.addContent(tbody); @@ -220,15 +220,15 @@ public class PackageUseWriter extends SubWriterHolderWriter { * Add a row for the class that uses the given package. * * @param usedClass the class that uses the given package - * @param packageName the name of the package to which the class belongs + * @param pkg the package to which the class belongs * @param contentTree the content tree to which the row will be added */ - protected void addClassRow(ClassDoc usedClass, String packageName, + protected void addClassRow(ClassDoc usedClass, PackageDoc pkg, Content contentTree) { DocPath dp = pathString(usedClass, DocPaths.CLASS_USE.resolve(DocPath.forName(usedClass))); Content td = HtmlTree.TD(HtmlStyle.colOne, - getHyperLink(dp.fragment(packageName), new StringContent(usedClass.name()))); + getHyperLink(dp.fragment(getPackageAnchorName(pkg)), new StringContent(usedClass.name()))); addIndexComment(usedClass, td); contentTree.addContent(td); } diff --git a/langtools/test/com/sun/javadoc/testPackageDeprecation/TestPackageDeprecation.java b/langtools/test/com/sun/javadoc/testPackageDeprecation/TestPackageDeprecation.java index 7c5bfc5d119..2746814cac8 100644 --- a/langtools/test/com/sun/javadoc/testPackageDeprecation/TestPackageDeprecation.java +++ b/langtools/test/com/sun/javadoc/testPackageDeprecation/TestPackageDeprecation.java @@ -23,7 +23,7 @@ /* * @test - * @bug 6492694 8026567 + * @bug 6492694 8026567 8048351 * @summary Test package deprecation. * @author bpatel * @library ../lib/ @@ -70,6 +70,8 @@ public class TestPackageDeprecation extends JavadocTester { "pkg1"); checkOutput("allclasses-frame.html", false, "FooDepr"); + checkOutput("class-use/C2.ModalExclusionType.html", true, + "<Unnamed>"); checkFiles(false, "pkg1/package-summary.html", diff --git a/langtools/test/com/sun/javadoc/testUseOption/TestUseOption.java b/langtools/test/com/sun/javadoc/testUseOption/TestUseOption.java index 07c0a53c7e8..a99dcb7ada9 100644 --- a/langtools/test/com/sun/javadoc/testUseOption/TestUseOption.java +++ b/langtools/test/com/sun/javadoc/testUseOption/TestUseOption.java @@ -23,7 +23,7 @@ /* * @test - * @bug 4496290 4985072 7006178 7068595 8016328 8050031 + * @bug 4496290 4985072 7006178 7068595 8016328 8050031 8048351 * @summary A simple test to ensure class-use files are correct. * @author jamieh * @library ../lib @@ -134,9 +134,12 @@ public class TestUseOption extends JavadocTester { "Uses of " + "UsedInC in <Unnamed>" ); + checkOutput("class-use/UsedInC.html", true, + "

  • " + ); checkOutput("package-use.html", true, "" - + "UsedInC " + + "UsedInC " ); } From 51aeaaf1c1525490f4d70bf6a0af24590bfca085 Mon Sep 17 00:00:00 2001 From: Alan Bateman Date: Fri, 26 Sep 2014 22:24:37 +0100 Subject: [PATCH 08/83] 8049389: Move orb.idl and ir.idl to JDK include directory Reviewed-by: erikj --- corba/make/CompileCorba.gmk | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/corba/make/CompileCorba.gmk b/corba/make/CompileCorba.gmk index 9e19f29473f..3a03e800ec5 100644 --- a/corba/make/CompileCorba.gmk +++ b/corba/make/CompileCorba.gmk @@ -51,13 +51,11 @@ $(eval $(call SetupJavaCompilation,BUILD_INTERIM_CORBA, \ JAR := $(INTERIM_CORBA_JAR))) ################################################################################ -# Copy idl files straight to jdk/lib. Not sure if this is the right way to do -# it, but we are moving away from the one repo at a time build. Perhaps we should -# scrap the 'jdk' prefix to bin, lib etc? -$(JDK_OUTPUTDIR)/lib/%: $(CORBA_TOPDIR)/src/java.corba/share/classes/com/sun/tools/corba/se/idl/% +# Copy idl files straight to jdk/include. +$(JDK_OUTPUTDIR)/include/%: $(CORBA_TOPDIR)/src/java.corba/share/classes/com/sun/tools/corba/se/idl/% $(install-file) -IDL_TARGET_FILES := $(JDK_OUTPUTDIR)/lib/orb.idl $(JDK_OUTPUTDIR)/lib/ir.idl +IDL_TARGET_FILES := $(JDK_OUTPUTDIR)/include/orb.idl $(JDK_OUTPUTDIR)/include/ir.idl ################################################################################ From e75c0c5e746be3fd629a968be04e150315aede11 Mon Sep 17 00:00:00 2001 From: Alan Bateman Date: Fri, 26 Sep 2014 22:24:50 +0100 Subject: [PATCH 09/83] 8049389: Move orb.idl and ir.idl to JDK include directory Reviewed-by: erikj --- jdk/make/Images.gmk | 2 -- 1 file changed, 2 deletions(-) diff --git a/jdk/make/Images.gmk b/jdk/make/Images.gmk index d2a2ece1eac..7de1a1a2a1a 100644 --- a/jdk/make/Images.gmk +++ b/jdk/make/Images.gmk @@ -203,8 +203,6 @@ ifeq ($(PROFILE), ) jconsole.jar \ sa-jdi.jar \ dt.jar \ - orb.idl \ - ir.idl \ ct.sym ifeq ($(OPENJDK_TARGET_OS), windows) From 3bfea67a9dcf5d964588a40a71f014a60e14916f Mon Sep 17 00:00:00 2001 From: Bradford Wetmore Date: Fri, 26 Sep 2014 17:05:05 -0700 Subject: [PATCH 10/83] 8058845: Update JCE environment for build improvements Reviewed-by: mullan, alanb, erikj, mchung, katleman --- jdk/make/CreateJars.gmk | 13 +- jdk/make/CreatePolicyJars.gmk | 103 +++++++++----- jdk/make/CreateSecurityJars.gmk | 72 +++------- jdk/make/SignJars.gmk | 126 ------------------ jdk/make/profile-includes.txt | 8 +- .../share/classes/javax/crypto/Cipher.java | 4 +- .../classes/javax/crypto/JceSecurity.java | 46 ++++--- .../javax/crypto/JceSecurityManager.java | 6 +- .../classes/javax/crypto/KeyGenerator.java | 2 +- ...JarVerifier.java => ProviderVerifier.java} | 32 +++-- 10 files changed, 154 insertions(+), 258 deletions(-) delete mode 100644 jdk/make/SignJars.gmk rename jdk/src/java.base/share/classes/javax/crypto/{JarVerifier.java => ProviderVerifier.java} (84%) diff --git a/jdk/make/CreateJars.gmk b/jdk/make/CreateJars.gmk index e3d2ac42de9..15232bdc298 100644 --- a/jdk/make/CreateJars.gmk +++ b/jdk/make/CreateJars.gmk @@ -709,7 +709,18 @@ $(IMAGES_OUTPUTDIR)/lib/sa-jdi.jar: $(HOTSPOT_DIST)/lib/sa-jdi.jar # $(eval $(call SetupZipArchive,BUILD_SEC_BIN_ZIP, \ SRC := $(JDK_OUTPUTDIR), \ - INCLUDES := modules/java.base/javax/net \ + INCLUDES := \ + modules/java.base/javax/crypto \ + modules/java.base/javax/crypto/spec \ + modules/java.base/sun/security/internal/interfaces \ + modules/java.base/sun/security/internal/spec \ + modules/java.base/com/sun/crypto/provider \ + modules/jdk.crypto.ec/sun/security/ec \ + modules/jdk.crypto.mscapi/sun/security/mscapi \ + modules/jdk.crypto.pkcs11/sun/security/pkcs11 \ + modules/jdk.crypto.pkcs11/sun/security/pkcs11/wrapper \ + modules/jdk.crypto.ucrypto/com/oracle/security/ucrypto \ + modules/java.base/javax/net \ modules/java.base/javax/security/cert \ modules/java.base/com/sun/net/ssl \ modules/java.base/com/sun/security/cert \ diff --git a/jdk/make/CreatePolicyJars.gmk b/jdk/make/CreatePolicyJars.gmk index 1e29acdf0e9..f0910db0382 100644 --- a/jdk/make/CreatePolicyJars.gmk +++ b/jdk/make/CreatePolicyJars.gmk @@ -1,5 +1,5 @@ # -# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2013, 2014, 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 @@ -41,52 +41,73 @@ ifneq ($(BUILD_CRYPTO), no) US_EXPORT_POLICY_JAR_UNLIMITED_UNSIGNED := \ $(JDK_OUTPUTDIR)/jce/unsigned/policy/unlimited/US_export_policy.jar + ifndef OPENJDK + # + # In past releases, Oracle JDK has had a separately downloadable set of + # policy files which has been a nightmare for deployment. + # + # Now if we're closed and limited (default for Oracle JDK), create + # an "unlimited_policy" directory that contains the unlimited policy + # files. It will be up to the user/deployer to make an informed choice + # as to whether they are legally entitled to use the unlimited policy + # file in their environment. Users/deployers simply need to overwrite + # the files. Consult README.txt (below) for more info. + # + UNLIMITED_POLICY_DIR := $(JDK_OUTPUTDIR)/lib/security/unlimited_policy + endif + # # TODO fix so that SetupArchive does not write files into SRCS # then we don't need this extra copying # # NOTE: We currently do not place restrictions on our limited export # policy. This was not a typo. This means we are shipping the same file - # for both limimted and unlimited US_export_policy.jar. + # for both limited and unlimited US_export_policy.jar. Only the local + # policy file currently has restrictions. # - US_EXPORT_POLICY_JAR_SRC_DIR := $(JDK_TOPDIR)/make/data/cryptopolicy/unlimited + US_EXPORT_POLICY_JAR_SRC_DIR := \ + $(JDK_TOPDIR)/make/data/cryptopolicy/unlimited US_EXPORT_POLICY_JAR_TMP := \ $(JDK_OUTPUTDIR)/jce/unsigned/policy/unlimited/US_export_policy_jar.tmp $(US_EXPORT_POLICY_JAR_TMP)/%: $(US_EXPORT_POLICY_JAR_SRC_DIR)/% $(install-file) - US_EXPORT_POLICY_JAR_DEPS := $(US_EXPORT_POLICY_JAR_TMP)/default_US_export.policy + US_EXPORT_POLICY_JAR_DEPS := \ + $(US_EXPORT_POLICY_JAR_TMP)/default_US_export.policy - $(eval $(call SetupArchive,BUILD_US_EXPORT_POLICY_JAR, $(US_EXPORT_POLICY_JAR_DEPS), \ + $(eval $(call SetupArchive,BUILD_US_EXPORT_POLICY_JAR, \ + $(US_EXPORT_POLICY_JAR_DEPS), \ SRCS := $(US_EXPORT_POLICY_JAR_TMP), \ SUFFIXES := .policy, \ JAR := $(US_EXPORT_POLICY_JAR_UNLIMITED_UNSIGNED), \ EXTRA_MANIFEST_ATTR := Crypto-Strength: unlimited, \ SKIP_METAINF := true)) - $(US_EXPORT_POLICY_JAR_LIMITED_UNSIGNED): $(US_EXPORT_POLICY_JAR_UNLIMITED_UNSIGNED) - $(ECHO) $(LOG_INFO) Copying unlimited $(patsubst $(OUTPUT_ROOT)/%,%,$@) - $(install-file) + $(US_EXPORT_POLICY_JAR_LIMITED_UNSIGNED): \ + $(US_EXPORT_POLICY_JAR_UNLIMITED_UNSIGNED) + $(ECHO) $(LOG_INFO) \ + Copying unlimited $(patsubst $(OUTPUT_ROOT)/%,%,$@) + $(install-file) TARGETS += $(US_EXPORT_POLICY_JAR_LIMITED_UNSIGNED) \ $(US_EXPORT_POLICY_JAR_UNLIMITED_UNSIGNED) endif -ifndef OPENJDK - ifeq ($(UNLIMITED_CRYPTO), true) - $(error No prebuilt unlimited crypto jars available) - endif - $(US_EXPORT_POLICY_JAR_DST): $(JDK_TOPDIR)/make/closed/tools/crypto/jce/US_export_policy.jar - $(ECHO) $(LOG_INFO) Copying prebuilt $(@F) +ifeq ($(UNLIMITED_CRYPTO), true) + $(US_EXPORT_POLICY_JAR_DST): $(US_EXPORT_POLICY_JAR_UNLIMITED_UNSIGNED) $(install-file) else - ifeq ($(UNLIMITED_CRYPTO), true) - $(US_EXPORT_POLICY_JAR_DST): $(US_EXPORT_POLICY_JAR_UNLIMITED_UNSIGNED) - $(install-file) - else - $(US_EXPORT_POLICY_JAR_DST): $(US_EXPORT_POLICY_JAR_LIMITED_UNSIGNED) + $(US_EXPORT_POLICY_JAR_DST): $(US_EXPORT_POLICY_JAR_LIMITED_UNSIGNED) $(install-file) +endif + +ifndef OPENJDK + ifneq ($(UNLIMITED_CRYPTO), true) + $(UNLIMITED_POLICY_DIR)/US_export_policy.jar: \ + $(US_EXPORT_POLICY_JAR_UNLIMITED_UNSIGNED) + $(install-file) + TARGETS += $(UNLIMITED_POLICY_DIR)/US_export_policy.jar endif endif @@ -112,11 +133,13 @@ ifneq ($(BUILD_CRYPTO), no) LOCAL_POLICY_JAR_UNLIMITED_TMP := \ $(JDK_OUTPUTDIR)/jce/unsigned/policy/unlimited/local_policy_jar.tmp - $(LOCAL_POLICY_JAR_LIMITED_TMP)/%: $(JDK_TOPDIR)/make/data/cryptopolicy/limited/% - $(install-file) + $(LOCAL_POLICY_JAR_LIMITED_TMP)/%: \ + $(JDK_TOPDIR)/make/data/cryptopolicy/limited/% + $(install-file) - $(LOCAL_POLICY_JAR_UNLIMITED_TMP)/%: $(JDK_TOPDIR)/make/data/cryptopolicy/unlimited/% - $(install-file) + $(LOCAL_POLICY_JAR_UNLIMITED_TMP)/%: \ + $(JDK_TOPDIR)/make/data/cryptopolicy/unlimited/% + $(install-file) $(eval $(call SetupArchive,BUILD_LOCAL_POLICY_JAR_LIMITED, \ $(LOCAL_POLICY_JAR_LIMITED_TMP)/exempt_local.policy \ @@ -135,28 +158,34 @@ ifneq ($(BUILD_CRYPTO), no) EXTRA_MANIFEST_ATTR := Crypto-Strength: unlimited, \ SKIP_METAINF := true)) - TARGETS += $(LOCAL_POLICY_JAR_LIMITED_UNSIGNED) $(LOCAL_POLICY_JAR_UNLIMITED_UNSIGNED) + TARGETS += $(LOCAL_POLICY_JAR_LIMITED_UNSIGNED) \ + $(LOCAL_POLICY_JAR_UNLIMITED_UNSIGNED) ifndef OPENJDK - $(JDK_OUTPUTDIR)/jce/unsigned/policy/unlimited/README.txt: \ - $(JDK_TOPDIR)/make/closed/javax/crypto/doc/README.txt + ifneq ($(UNLIMITED_CRYPTO), true) + $(UNLIMITED_POLICY_DIR)/README.txt: \ + $(JDK_TOPDIR)/make/closed/data/cryptopolicy/README.txt $(install-file) - TARGETS += $(JDK_OUTPUTDIR)/jce/unsigned/policy/unlimited/README.txt + TARGETS += $(UNLIMITED_POLICY_DIR)/README.txt + endif endif endif +ifeq ($(UNLIMITED_CRYPTO), true) + $(LOCAL_POLICY_JAR_DST): $(LOCAL_POLICY_JAR_UNLIMITED_UNSIGNED) + $(install-file) +else + $(LOCAL_POLICY_JAR_DST): $(LOCAL_POLICY_JAR_LIMITED_UNSIGNED) + $(install-file) +endif + ifndef OPENJDK - $(LOCAL_POLICY_JAR_DST): $(JDK_TOPDIR)/make/closed/tools/crypto/jce/local_policy.jar - $(ECHO) $(LOG_INFO) Copying prebuilt $(@F) - $(install-file) -else - ifeq ($(UNLIMITED_CRYPTO), true) - $(LOCAL_POLICY_JAR_DST): $(LOCAL_POLICY_JAR_UNLIMITED_UNSIGNED) - $(install-file) - else - $(LOCAL_POLICY_JAR_DST): $(LOCAL_POLICY_JAR_LIMITED_UNSIGNED) - $(install-file) + ifneq ($(UNLIMITED_CRYPTO), true) + $(UNLIMITED_POLICY_DIR)/local_policy.jar: \ + $(LOCAL_POLICY_JAR_UNLIMITED_UNSIGNED) + $(install-file) + TARGETS += $(UNLIMITED_POLICY_DIR)/local_policy.jar endif endif diff --git a/jdk/make/CreateSecurityJars.gmk b/jdk/make/CreateSecurityJars.gmk index 097ac813821..87184c8204d 100644 --- a/jdk/make/CreateSecurityJars.gmk +++ b/jdk/make/CreateSecurityJars.gmk @@ -1,5 +1,5 @@ # -# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2013, 2014, 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,16 +29,13 @@ include $(SPEC) include MakeBase.gmk include JavaCompilation.gmk -# The jars created in this file are required for the exploded jdk image to function and -# cannot wait to be built in the images target. - ########################################################################################## # Create manifest for security jars # # Include these extra attributes for now, should probably take out. # MAINMANIFEST := $(JDK_TOPDIR)/make/data/mainmanifest/manifest.mf -JCE_MANIFEST := $(JDK_OUTPUTDIR)/lib/_the.security.manifest.mf +JCE_MANIFEST := $(JDK_OUTPUTDIR)/jce/unsigned/_the.security.manifest.mf $(JCE_MANIFEST): $(MAINMANIFEST) $(MKDIR) -p $(@D) @@ -48,18 +45,15 @@ $(JCE_MANIFEST): $(MAINMANIFEST) $(MAINMANIFEST) >> $@.tmp $(ECHO) "Extension-Name: javax.crypto" >> $@.tmp $(ECHO) "Implementation-Vendor-Id: com.sun" >> $@.tmp + $(ECHO) "Release-Version: $(RELEASE)" >> $@.tmp $(MV) $@.tmp $@ ########################################################################################## -# For security and crypto jars, always build the jar, but for closed, install the prebuilt -# signed version instead of the newly built jar. Unsigned jars are treated as intermediate -# targets and explicitly added to the TARGETS list. For open, signing is not needed. See -# SignJars.gmk for more information. +# For crypto jars, always build the jar. # -# The source for the crypto jars is not available for all licensees. The BUILD_CRYPTO -# variable is set to no if these jars can't be built to skip that step of the build. -# Note that for OPENJDK, the build will fail if BUILD_CRYPTO=no since then there is no -# other way to get the jars than to build them. +# The source for the crypto jars is not available for all licensees. +# The BUILD_CRYPTO variable is set to no if these jars can't be built +# to skip that step of the build. SUNPKCS11_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/sunpkcs11.jar SUNPKCS11_JAR_UNSIGNED := $(JDK_OUTPUTDIR)/jce/unsigned/sunpkcs11.jar @@ -74,15 +68,8 @@ $(eval $(call SetupArchive,BUILD_SUNPKCS11_JAR, , \ $(SUNPKCS11_JAR_UNSIGNED): $(JCE_MANIFEST) -ifndef OPENJDK - SUNPKCS11_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/pkcs11/sunpkcs11.jar - $(SUNPKCS11_JAR_DST): $(SUNPKCS11_JAR_SRC) - @$(ECHO) $(LOG_INFO) Copying prebuilt $(@F) +$(SUNPKCS11_JAR_DST): $(SUNPKCS11_JAR_UNSIGNED) $(install-file) -else - $(SUNPKCS11_JAR_DST): $(SUNPKCS11_JAR_UNSIGNED) - $(install-file) -endif TARGETS += $(SUNPKCS11_JAR_UNSIGNED) $(SUNPKCS11_JAR_DST) @@ -101,22 +88,16 @@ $(eval $(call SetupArchive,BUILD_SUNEC_JAR, , \ $(SUNEC_JAR_UNSIGNED): $(JCE_MANIFEST) -ifndef OPENJDK - SUNEC_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/ec/sunec.jar - $(SUNEC_JAR_DST): $(SUNEC_JAR_SRC) - @$(ECHO) $(LOG_INFO) Copying prebuilt $(@F) +$(SUNEC_JAR_DST): $(SUNEC_JAR_UNSIGNED) $(install-file) -else - $(SUNEC_JAR_DST): $(SUNEC_JAR_UNSIGNED) - $(install-file) -endif TARGETS += $(SUNEC_JAR_UNSIGNED) $(SUNEC_JAR_DST) ########################################################################################## SUNJCE_PROVIDER_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/sunjce_provider.jar -SUNJCE_PROVIDER_JAR_UNSIGNED := $(JDK_OUTPUTDIR)/jce/unsigned/sunjce_provider.jar +SUNJCE_PROVIDER_JAR_UNSIGNED := \ + $(JDK_OUTPUTDIR)/jce/unsigned/sunjce_provider.jar ifneq ($(BUILD_CRYPTO), no) $(eval $(call SetupArchive,BUILD_SUNJCE_PROVIDER_JAR, , \ @@ -132,15 +113,8 @@ ifneq ($(BUILD_CRYPTO), no) TARGETS += $(SUNJCE_PROVIDER_JAR_UNSIGNED) endif -ifndef OPENJDK - SUNJCE_PROVIDER_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/jce/sunjce_provider.jar - $(SUNJCE_PROVIDER_JAR_DST): $(SUNJCE_PROVIDER_JAR_SRC) - @$(ECHO) $(LOG_INFO) Copying prebuilt $(@F) +$(SUNJCE_PROVIDER_JAR_DST): $(SUNJCE_PROVIDER_JAR_UNSIGNED) $(install-file) -else - $(SUNJCE_PROVIDER_JAR_DST): $(SUNJCE_PROVIDER_JAR_UNSIGNED) - $(install-file) -endif TARGETS += $(SUNJCE_PROVIDER_JAR_DST) @@ -163,15 +137,8 @@ ifneq ($(BUILD_CRYPTO), no) TARGETS += $(JCE_JAR_UNSIGNED) endif -ifndef OPENJDK - JCE_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/jce/jce.jar - $(JCE_JAR_DST): $(JCE_JAR_SRC) - @$(ECHO) $(LOG_INFO) Copying prebuilt $(@F) +$(JCE_JAR_DST): $(JCE_JAR_UNSIGNED) $(install-file) -else - $(JCE_JAR_DST): $(JCE_JAR_UNSIGNED) - $(install-file) -endif TARGETS += $(JCE_JAR_DST) @@ -192,15 +159,8 @@ ifeq ($(OPENJDK_TARGET_OS), windows) $(SUNMSCAPI_JAR_UNSIGNED): $(JCE_MANIFEST) - ifndef OPENJDK - SUNMSCAPI_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/mscapi/sunmscapi.jar - $(SUNMSCAPI_JAR_DST): $(SUNMSCAPI_JAR_SRC) - @$(ECHO) $(LOG_INFO) Copying prebuilt $(@F) + $(SUNMSCAPI_JAR_DST): $(SUNMSCAPI_JAR_UNSIGNED) $(install-file) - else - $(SUNMSCAPI_JAR_DST): $(SUNMSCAPI_JAR_UNSIGNED) - $(install-file) - endif TARGETS += $(SUNMSCAPI_JAR_UNSIGNED) $(SUNMSCAPI_JAR_DST) @@ -213,7 +173,6 @@ ifeq ($(OPENJDK_TARGET_OS), solaris) UCRYPTO_JAR_DST := $(JDK_OUTPUTDIR)/lib/ext/ucrypto.jar UCRYPTO_JAR_UNSIGNED := $(JDK_OUTPUTDIR)/jce/unsigned/ucrypto.jar - UCRYPTO_JAR_SRC := $(JDK_TOPDIR)/make/closed/tools/crypto/ucrypto/ucrypto.jar $(eval $(call SetupArchive,BUILD_UCRYPTO_JAR, , \ SRCS := $(JDK_OUTPUTDIR)/modules/jdk.crypto.ucrypto, \ @@ -225,8 +184,7 @@ ifeq ($(OPENJDK_TARGET_OS), solaris) $(UCRYPTO_JAR_UNSIGNED): $(JCE_MANIFEST) - $(UCRYPTO_JAR_DST): $(UCRYPTO_JAR_SRC) - @$(ECHO) $(LOG_INFO) Copying prebuilt $(@F) + $(UCRYPTO_JAR_DST): $(UCRYPTO_JAR_UNSIGNED) $(install-file) TARGETS += $(UCRYPTO_JAR_UNSIGNED) $(UCRYPTO_JAR_DST) diff --git a/jdk/make/SignJars.gmk b/jdk/make/SignJars.gmk deleted file mode 100644 index 21647889201..00000000000 --- a/jdk/make/SignJars.gmk +++ /dev/null @@ -1,126 +0,0 @@ -# -# Copyright (c) 2012, 2013, 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 $(SPEC) -include MakeBase.gmk - -# (The terms "OpenJDK" and "JDK" below refer to OpenJDK and Oracle JDK -# builds respectively.) -# -# JCE builds are very different between OpenJDK and JDK. The OpenJDK JCE -# jar files do not require signing, but those for JDK do. If an unsigned -# jar file is installed into JDK, things will break when the crypto -# routines are called. -# -# All jars are created in CreateJars.gmk. This Makefile does the signing -# of the jars for JDK. -# -# For JDK, the binaries use pre-built/pre-signed binary files stored in -# the closed workspace that are not shipped in the OpenJDK workspaces. -# We still build the JDK files to verify the files compile, and in -# preparation for possible signing. Developers working on JCE in JDK -# must sign the JCE files before testing. The JCE signing key is kept -# separate from the JDK workspace to prevent its disclosure. -# -# SPECIAL NOTE TO JCE/JDK developers: The source files must eventually -# be built, signed, and then the resulting jar files MUST BE CHECKED -# INTO THE CLOSED PART OF THE WORKSPACE*. This separate step *MUST NOT -# BE FORGOTTEN*, otherwise a bug fixed in the source code will not be -# reflected in the shipped binaries. -# -# Please consult with Release Engineering, which is responsible for -# creating the final JCE builds suitable for checkin. -# - -# Default target -all: - -ifndef OPENJDK - -README-MAKEFILE_WARNING := \ - "\nPlease read jdk/make/SignJars.gmk for further build instructions.\n" - -# -# Location for JCE codesigning key. -# -SIGNING_KEY_DIR := /security/ws/JCE-signing/src -SIGNING_KEYSTORE := $(SIGNING_KEY_DIR)/KeyStore.jks -SIGNING_PASSPHRASE := $(SIGNING_KEY_DIR)/passphrase.txt -SIGNING_ALIAS := oracle_jce_rsa - -# -# Defines for signing the various jar files. -# -check-keystore: - @if [ ! -f $(SIGNING_KEYSTORE) -o ! -f $(SIGNING_PASSPHRASE) ]; then \ - $(PRINTF) "\n$(SIGNING_KEYSTORE): Signing mechanism *NOT* available..."; \ - $(PRINTF) $(README-MAKEFILE_WARNING); \ - exit 2; \ - fi - -$(JDK_OUTPUTDIR)/jce/signed/%: $(JDK_OUTPUTDIR)/jce/unsigned/% - $(call install-file) - $(JARSIGNER) -keystore $(SIGNING_KEYSTORE) \ - $@ $(SIGNING_ALIAS) < $(SIGNING_PASSPHRASE) - @$(PRINTF) "\nJar codesigning finished.\n" - -JAR_LIST := \ - jce.jar \ - policy/limited/local_policy.jar \ - policy/limited/US_export_policy.jar \ - policy/unlimited/local_policy.jar \ - policy/unlimited/US_export_policy.jar \ - sunec.jar \ - sunjce_provider.jar \ - sunpkcs11.jar \ - sunmscapi.jar \ - ucrypto.jar \ - # - -UNSIGNED_JARS := $(wildcard $(addprefix $(JDK_OUTPUTDIR)/jce/unsigned/, $(JAR_LIST))) - -ifeq ($(UNSIGNED_JARS), ) - $(error No jars found in $(JDK_OUTPUTDIR)/jce/unsigned/) -endif - -SIGNED_JARS := $(patsubst $(JDK_OUTPUTDIR)/jce/unsigned/%,$(JDK_OUTPUTDIR)/jce/signed/%, \ - $(UNSIGNED_JARS)) - -$(SIGNED_JARS): check-keystore - -$(JDK_OUTPUTDIR)/jce/signed/policy/unlimited/README.txt: \ - $(JDK_OUTPUTDIR)/jce/unsigned/policy/unlimited/README.txt - $(install-file) - -all: $(SIGNED_JARS) $(JDK_OUTPUTDIR)/jce/signed/policy/unlimited/README.txt - @$(PRINTF) "\n*** The jar files built by the 'sign-jars' target are developer ***" - @$(PRINTF) "\n*** builds only and *MUST NOT* be checked into the closed workspace. ***" - @$(PRINTF) "\n*** ***" - @$(PRINTF) "\n*** Please consult with Release Engineering: they will generate ***" - @$(PRINTF) "\n*** the proper binaries for the closed workspace. ***" - @$(PRINTF) "\n" - @$(PRINTF) $(README-MAKEFILE_WARNING) - -endif # !OPENJDK diff --git a/jdk/make/profile-includes.txt b/jdk/make/profile-includes.txt index d93a8b23936..7a9882d3555 100644 --- a/jdk/make/profile-includes.txt +++ b/jdk/make/profile-includes.txt @@ -77,6 +77,9 @@ PROFILE_1_JRE_LIB_FILES := \ security/java.security \ security/local_policy.jar \ security/trusted.libraries \ + security/unlimited_policy/README.txt \ + security/unlimited_policy/US_export_policy.jar \ + security/unlimited_policy/local_policy.jar \ tzdb.dat PROFILE_1_JRE_OTHER_FILES := \ @@ -97,8 +100,9 @@ PROFILE_1_JRE_JAR_FILES := \ resources.jar \ rt.jar \ security/US_export_policy.jar \ - security/local_policy.jar - + security/local_policy.jar \ + security/unlimited_policy/US_export_policy.jar \ + security/unlimited_policy/local_policy.jar PROFILE_2_JRE_BIN_FILES := \ rmid$(EXE_SUFFIX) \ diff --git a/jdk/src/java.base/share/classes/javax/crypto/Cipher.java b/jdk/src/java.base/share/classes/javax/crypto/Cipher.java index 95935402483..49a071ec95a 100644 --- a/jdk/src/java.base/share/classes/javax/crypto/Cipher.java +++ b/jdk/src/java.base/share/classes/javax/crypto/Cipher.java @@ -263,9 +263,9 @@ public class Cipher { Provider provider, String transformation) { // See bug 4341369 & 4334690 for more info. - // If the caller is trusted, then okey. + // If the caller is trusted, then okay. // Otherwise throw a NullPointerException. - if (!JceSecurityManager.INSTANCE.isCallerTrusted()) { + if (!JceSecurityManager.INSTANCE.isCallerTrusted(provider)) { throw new NullPointerException(); } this.spi = cipherSpi; diff --git a/jdk/src/java.base/share/classes/javax/crypto/JceSecurity.java b/jdk/src/java.base/share/classes/javax/crypto/JceSecurity.java index fb7052d244d..2aaff7217ec 100644 --- a/jdk/src/java.base/share/classes/javax/crypto/JceSecurity.java +++ b/jdk/src/java.base/share/classes/javax/crypto/JceSecurity.java @@ -76,12 +76,14 @@ final class JceSecurity { static { try { AccessController.doPrivileged( - new PrivilegedExceptionAction() { - public Object run() throws Exception { + new PrivilegedExceptionAction () { + @Override + public Void run() throws Exception { setupJurisdictionPolicies(); return null; } - }); + } + ); isRestricted = defaultPolicy.implies( CryptoAllPermission.INSTANCE) ? false : true; @@ -143,9 +145,9 @@ final class JceSecurity { * @throws Exception on error */ static CryptoPermissions verifyExemptJar(URL codeBase) throws Exception { - JarVerifier jv = new JarVerifier(codeBase, true); - jv.verify(); - return jv.getPermissions(); + ProviderVerifier pv = new ProviderVerifier(codeBase, true); + pv.verify(); + return pv.getPermissions(); } /** @@ -153,11 +155,11 @@ final class JceSecurity { * * @throws Exception on error */ - static void verifyProviderJar(URL codeBase) throws Exception { + static void verifyProvider(URL codeBase, Provider p) throws Exception { // Verify the provider JAR file and all // supporting JAR files if there are any. - JarVerifier jv = new JarVerifier(codeBase, false); - jv.verify(); + ProviderVerifier pv = new ProviderVerifier(codeBase, p, false); + pv.verify(); } private final static Object PROVIDER_VERIFIED = Boolean.TRUE; @@ -183,7 +185,7 @@ final class JceSecurity { try { verifyingProviders.put(p, Boolean.FALSE); URL providerURL = getCodeBase(p.getClass()); - verifyProviderJar(providerURL); + verifyProvider(providerURL, p); // Verified ok, cache result verificationResults.put(p, PROVIDER_VERIFIED); return null; @@ -222,18 +224,20 @@ final class JceSecurity { synchronized (codeBaseCacheRef) { URL url = codeBaseCacheRef.get(clazz); if (url == null) { - url = AccessController.doPrivileged(new PrivilegedAction() { - public URL run() { - ProtectionDomain pd = clazz.getProtectionDomain(); - if (pd != null) { - CodeSource cs = pd.getCodeSource(); - if (cs != null) { - return cs.getLocation(); + url = AccessController.doPrivileged( + new PrivilegedAction() { + @Override + public URL run() { + ProtectionDomain pd = clazz.getProtectionDomain(); + if (pd != null) { + CodeSource cs = pd.getCodeSource(); + if (cs != null) { + return cs.getLocation(); + } } + return NULL_URL; } - return NULL_URL; - } - }); + }); codeBaseCacheRef.put(clazz, url); } return (url == NULL_URL) ? null : url; @@ -315,7 +319,7 @@ final class JceSecurity { // Enforce the signer restraint, i.e. signer of JCE framework // jar should also be the signer of the two jurisdiction policy // jar files. - JarVerifier.verifyPolicySigned(je.getCertificates()); + ProviderVerifier.verifyPolicySigned(je.getCertificates()); } // Close and nullify the JarFile reference to help GC. jf.close(); diff --git a/jdk/src/java.base/share/classes/javax/crypto/JceSecurityManager.java b/jdk/src/java.base/share/classes/javax/crypto/JceSecurityManager.java index b3d7ce706e7..0d1773c5df4 100644 --- a/jdk/src/java.base/share/classes/javax/crypto/JceSecurityManager.java +++ b/jdk/src/java.base/share/classes/javax/crypto/JceSecurityManager.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2014, 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 @@ -228,7 +228,7 @@ final class JceSecurityManager extends SecurityManager { } // See bug 4341369 & 4334690 for more info. - boolean isCallerTrusted() { + boolean isCallerTrusted(Provider provider) { // Get the caller and its codebase. Class[] context = getClassContext(); URL callerCodeBase = null; @@ -249,7 +249,7 @@ final class JceSecurityManager extends SecurityManager { } // Check whether the caller is a trusted provider. try { - JceSecurity.verifyProviderJar(callerCodeBase); + JceSecurity.verifyProvider(callerCodeBase, provider); } catch (Exception e2) { return false; } diff --git a/jdk/src/java.base/share/classes/javax/crypto/KeyGenerator.java b/jdk/src/java.base/share/classes/javax/crypto/KeyGenerator.java index 9da64e967cb..6363ec424af 100644 --- a/jdk/src/java.base/share/classes/javax/crypto/KeyGenerator.java +++ b/jdk/src/java.base/share/classes/javax/crypto/KeyGenerator.java @@ -320,7 +320,7 @@ public class KeyGenerator { /** * Update the active spi of this class and return the next - * implementation for failover. If no more implemenations are + * implementation for failover. If no more implementations are * available, this method returns null. However, the active spi of * this class is never set to null. */ diff --git a/jdk/src/java.base/share/classes/javax/crypto/JarVerifier.java b/jdk/src/java.base/share/classes/javax/crypto/ProviderVerifier.java similarity index 84% rename from jdk/src/java.base/share/classes/javax/crypto/JarVerifier.java rename to jdk/src/java.base/share/classes/javax/crypto/ProviderVerifier.java index c56a0d19621..67b0286d67f 100644 --- a/jdk/src/java.base/share/classes/javax/crypto/JarVerifier.java +++ b/jdk/src/java.base/share/classes/javax/crypto/ProviderVerifier.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2014, 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,7 +31,8 @@ import java.security.*; import java.util.jar.*; /** - * This class verifies JAR files (and any supporting JAR files), and + * This class verifies Provider/Policy resources found at a URL + * (currently only JAR files and any supporting JAR files), and * determines whether they may be used in this implementation. * * The JCE in OpenJDK has an open cryptographic interface, meaning it @@ -42,22 +43,36 @@ import java.util.jar.*; * * @since 1.7 */ -final class JarVerifier { +final class ProviderVerifier { // The URL for the JAR file we want to verify. private URL jarURL; + private Provider provider; private boolean savePerms; private CryptoPermissions appPerms = null; /** - * Creates a JarVerifier object to verify the given URL. + * Creates a ProviderVerifier object to verify the given URL. * * @param jarURL the JAR file to be verified. * @param savePerms if true, save the permissions allowed by the * exemption mechanism */ - JarVerifier(URL jarURL, boolean savePerms) { + ProviderVerifier(URL jarURL, boolean savePerms) { + this(jarURL, null, savePerms); + } + + /** + * Creates a ProviderVerifier object to verify the given URL. + * + * @param jarURL the JAR file to be verified + * @param provider the corresponding provider. + * @param savePerms if true, save the permissions allowed by the + * exemption mechanism + */ + ProviderVerifier(URL jarURL, Provider provider, boolean savePerms) { this.jarURL = jarURL; + this.provider = provider; this.savePerms = savePerms; } @@ -68,7 +83,7 @@ final class JarVerifier { * In OpenJDK, we just need to examine the "cryptoperms" file to see * if any permissions were bundled together with this jar file. */ - void verify() throws JarException, IOException { + void verify() throws IOException { // Short-circuit. If we weren't asked to save any, we're done. if (!savePerms) { @@ -98,7 +113,8 @@ final class JarVerifier { } }); } catch (java.security.PrivilegedActionException pae) { - throw new SecurityException("Cannot load " + url.toString(), pae); + throw new SecurityException("Cannot load " + url.toString(), + pae.getCause()); } if (jf != null) { @@ -144,7 +160,7 @@ final class JarVerifier { * Returns the permissions which are bundled with the JAR file, * aka the "cryptoperms" file. * - * NOTE: if this JarVerifier instance is constructed with "savePerms" + * NOTE: if this ProviderVerifier instance is constructed with "savePerms" * equal to false, then this method would always return null. */ CryptoPermissions getPermissions() { From a035e47deb413f0d3678bf8db4c0104ad6b937c1 Mon Sep 17 00:00:00 2001 From: Bradford Wetmore Date: Sat, 27 Sep 2014 03:49:31 +0000 Subject: [PATCH 11/83] 8059307: OpenJDK build problem with JDK-8058845 Reviewed-by: alanb --- jdk/make/profile-includes.txt | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/jdk/make/profile-includes.txt b/jdk/make/profile-includes.txt index 7a9882d3555..a3c79856e92 100644 --- a/jdk/make/profile-includes.txt +++ b/jdk/make/profile-includes.txt @@ -77,10 +77,14 @@ PROFILE_1_JRE_LIB_FILES := \ security/java.security \ security/local_policy.jar \ security/trusted.libraries \ + tzdb.dat + +ifndef OPENJDK +PROFILE_1_JRE_LIB_FILES += \ security/unlimited_policy/README.txt \ security/unlimited_policy/US_export_policy.jar \ - security/unlimited_policy/local_policy.jar \ - tzdb.dat + security/unlimited_policy/local_policy.jar +endif PROFILE_1_JRE_OTHER_FILES := \ COPYRIGHT \ @@ -100,9 +104,13 @@ PROFILE_1_JRE_JAR_FILES := \ resources.jar \ rt.jar \ security/US_export_policy.jar \ - security/local_policy.jar \ + security/local_policy.jar + +ifndef OPENJDK +PROFILE_1_JRE_JAR_FILES += \ security/unlimited_policy/US_export_policy.jar \ security/unlimited_policy/local_policy.jar +endif PROFILE_2_JRE_BIN_FILES := \ rmid$(EXE_SUFFIX) \ From 4a99ec3dce92ad4953ae02b3ae85fef5493ef170 Mon Sep 17 00:00:00 2001 From: Weijun Wang Date: Sun, 28 Sep 2014 10:42:50 +0800 Subject: [PATCH 12/83] 8059313: Enable keytool NSS test on Mac Reviewed-by: vinnie --- jdk/test/sun/security/tools/keytool/autotest.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/jdk/test/sun/security/tools/keytool/autotest.sh b/jdk/test/sun/security/tools/keytool/autotest.sh index 8154af5939b..73e8761d0a9 100644 --- a/jdk/test/sun/security/tools/keytool/autotest.sh +++ b/jdk/test/sun/security/tools/keytool/autotest.sh @@ -84,6 +84,11 @@ case "$OS" in "/usr/lib/nss/libsoftokn3.so"` fi ;; + Darwin ) + LIBNAME=`find_one \ + "/Applications/Firefox.app/Contents/MacOS/libsoftokn3.dylib" \ + "/Applications/Thunderbird.app//Contents/MacOS/libsoftokn3.dylib"` + ;; * ) echo "Will not run test on: ${OS}" exit 0; @@ -95,6 +100,12 @@ if [ "$LIBNAME" = "" ]; then exit 0 fi +echo "Using NSS lib at $LIBNAME" + +if [ $OS = Darwin ]; then + export DYLD_LIBRARY_PATH=`dirname $LIBNAME` +fi + ${COMPILEJAVA}${FS}bin${FS}javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d . -XDignore.symbol.file \ ${TESTSRC}${FS}KeyToolTest.java || exit 10 From f590301559317934d4a9767fcbe445613b093df3 Mon Sep 17 00:00:00 2001 From: Fredrik Arvidsson Date: Mon, 29 Sep 2014 10:01:17 +0200 Subject: [PATCH 13/83] 8059105: Add better failure reporting to com/sun/jdi/RunToExit.java test Add better failure reporting to com/sun/jdi/RunToExit.java test Reviewed-by: sla, egahlin, jbachorik --- jdk/test/com/sun/jdi/RunToExit.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jdk/test/com/sun/jdi/RunToExit.java b/jdk/test/com/sun/jdi/RunToExit.java index e1bd33849f5..01a15c85697 100644 --- a/jdk/test/com/sun/jdi/RunToExit.java +++ b/jdk/test/com/sun/jdi/RunToExit.java @@ -184,7 +184,8 @@ public class RunToExit { if (exitCode == 0 && error_seen == 0) { System.out.println("Test passed - server debuggee cleanly terminated"); } else { - throw new RuntimeException("Test failed - server debuggee generated an error when it terminated"); + throw new RuntimeException("Test failed - server debuggee generated an error when it terminated, " + + "exit code was " + exitCode + ", " + error_seen + " error(s) seen in debugee output."); } } } From 9087c7536e8c32634a2354e2323db01a1a946531 Mon Sep 17 00:00:00 2001 From: Daniel Fuchs Date: Mon, 29 Sep 2014 18:56:32 +0200 Subject: [PATCH 14/83] 8059269: FileHandler may throw NPE if pattern is a simple name and the lock file already exists NPE may be thrown when Path.getParentPath() returns null. The fix is to call Path.getAbsolutePath().getParentPath() when Path.getParentPath() returns null. Reviewed-by: alanb --- .../java/util/logging/FileHandler.java | 10 +- .../java/util/logging/FileHandlerPath.java | 315 ++++++++++++++++++ 2 files changed, 324 insertions(+), 1 deletion(-) create mode 100644 jdk/test/java/util/logging/FileHandlerPath.java diff --git a/jdk/src/java.logging/share/classes/java/util/logging/FileHandler.java b/jdk/src/java.logging/share/classes/java/util/logging/FileHandler.java index d58fd0ebc84..ea640ec4ec7 100644 --- a/jdk/src/java.logging/share/classes/java/util/logging/FileHandler.java +++ b/jdk/src/java.logging/share/classes/java/util/logging/FileHandler.java @@ -402,6 +402,14 @@ public class FileHandler extends StreamHandler { openFiles(); } + private boolean isParentWritable(Path path) { + Path parent = path.getParent(); + if (parent == null) { + parent = path.toAbsolutePath().getParent(); + } + return parent != null && Files.isWritable(parent); + } + /** * Open the set of output files, based on the configured * instance variables. @@ -458,7 +466,7 @@ public class FileHandler extends StreamHandler { // Note that this is a situation that may happen, // but not too frequently. if (Files.isRegularFile(lockFilePath, LinkOption.NOFOLLOW_LINKS) - && Files.isWritable(lockFilePath.getParent())) { + && isParentWritable(lockFilePath)) { try { channel = FileChannel.open(lockFilePath, WRITE, APPEND); diff --git a/jdk/test/java/util/logging/FileHandlerPath.java b/jdk/test/java/util/logging/FileHandlerPath.java new file mode 100644 index 00000000000..93859091c9b --- /dev/null +++ b/jdk/test/java/util/logging/FileHandlerPath.java @@ -0,0 +1,315 @@ +/* + * Copyright (c) 2014, 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.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FilePermission; +import java.io.IOException; +import java.nio.channels.FileChannel; +import java.nio.file.Files; +import java.nio.file.Paths; +import static java.nio.file.StandardOpenOption.CREATE_NEW; +import static java.nio.file.StandardOpenOption.WRITE; +import java.security.CodeSource; +import java.security.Permission; +import java.security.PermissionCollection; +import java.security.Permissions; +import java.security.Policy; +import java.security.ProtectionDomain; +import java.util.Arrays; +import java.util.Collections; +import java.util.Enumeration; +import java.util.List; +import java.util.Properties; +import java.util.PropertyPermission; +import java.util.UUID; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.logging.FileHandler; +import java.util.logging.LogManager; +import java.util.logging.LoggingPermission; + +/** + * @test + * @bug 8059269 + * @summary tests that using a simple (non composite) pattern does not lead + * to NPE when the lock file already exists. + * @run main/othervm FileHandlerPath UNSECURE + * @run main/othervm FileHandlerPath SECURE + * @author danielfuchs + */ +public class FileHandlerPath { + + /** + * We will test the simple pattern in two configurations. + * UNSECURE: No security manager. + * SECURE: With the security manager present - and the required + * permissions granted. + */ + public static enum TestCase { + UNSECURE, SECURE; + public void run(Properties propertyFile) throws Exception { + System.out.println("Running test case: " + name()); + Configure.setUp(this, propertyFile); + test(this.name() + " " + propertyFile.getProperty("test.name"), propertyFile); + } + } + + + // Use a random name provided by UUID to avoid collision with other tests + final static String logFile = FileHandlerPath.class.getSimpleName() + "_" + + UUID.randomUUID().toString() + ".log"; + final static String tmpLogFile; + final static String userDir = System.getProperty("user.dir"); + final static String tmpDir = System.getProperty("java.io.tmpdir"); + private static final List properties; + static { + tmpLogFile = new File(tmpDir, logFile).toString(); + Properties props1 = new Properties(); + Properties props2 = new Properties(); + props1.setProperty("test.name", "relative file"); + props1.setProperty("test.file.name", logFile); + props1.setProperty(FileHandler.class.getName() + ".pattern", logFile); + props1.setProperty(FileHandler.class.getName() + ".count", "1"); + props2.setProperty("test.name", "absoluste file"); + props2.setProperty("test.file.name", tmpLogFile); + props2.setProperty(FileHandler.class.getName() + ".pattern", "%t/" + logFile); + props2.setProperty(FileHandler.class.getName() + ".count", "1"); + properties = Collections.unmodifiableList(Arrays.asList( + props1, + props2)); + } + + public static void main(String... args) throws Exception { + + if (args == null || args.length == 0) { + args = new String[] { + TestCase.UNSECURE.name(), + TestCase.SECURE.name(), + }; + } + + // Sanity checks + + if (!Files.isWritable(Paths.get(userDir))) { + throw new RuntimeException(userDir + + ": user.dir is not writable - can't run test."); + } + if (!Files.isWritable(Paths.get(tmpDir))) { + throw new RuntimeException(tmpDir + + ": java.io.tmpdir is not writable - can't run test."); + } + + File[] files = { + new File(logFile), + new File(tmpLogFile), + new File(logFile+".1"), + new File(tmpLogFile+".1"), + new File(logFile+".lck"), + new File(tmpLogFile+".lck"), + new File(logFile+".1.lck"), + new File(tmpLogFile+".1.lck") + }; + + for (File log : files) { + if (log.exists()) { + throw new Exception(log +": file already exists - can't run test."); + } + } + + // Now start the real test + + try { + for (String testName : args) { + for (Properties propertyFile : properties) { + TestCase test = TestCase.valueOf(testName); + test.run(propertyFile); + } + } + } finally { + // Cleanup... + Configure.doPrivileged(() -> { + for(File log : files) { + try { + final boolean isLockFile = log.getName().endsWith(".lck"); + // lock file should already be deleted, except if the + // test failed in exception. + // log file should all be present, except if the test + // failed in exception. + if (log.exists()) { + if (!isLockFile) { + System.out.println("deleting "+log.toString()); + } else { + System.err.println("deleting lock file "+log.toString()); + } + log.delete(); + } else { + if (!isLockFile) { + System.err.println(log.toString() + ": not found."); + } + } + } catch (Throwable t) { + // should not happen + t.printStackTrace(); + } + } + }); + } + } + + static class Configure { + static Policy policy = null; + static final AtomicBoolean allowAll = new AtomicBoolean(false); + static void setUp(TestCase test, Properties propertyFile) { + switch (test) { + case SECURE: + if (policy == null && System.getSecurityManager() != null) { + throw new IllegalStateException("SecurityManager already set"); + } else if (policy == null) { + policy = new SimplePolicy(TestCase.SECURE, allowAll); + Policy.setPolicy(policy); + System.setSecurityManager(new SecurityManager()); + } + if (System.getSecurityManager() == null) { + throw new IllegalStateException("No SecurityManager."); + } + if (policy == null) { + throw new IllegalStateException("policy not configured"); + } + break; + case UNSECURE: + if (System.getSecurityManager() != null) { + throw new IllegalStateException("SecurityManager already set"); + } + break; + default: + new InternalError("No such testcase: " + test); + } + doPrivileged(() -> { + try { + ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + propertyFile.store(bytes, propertyFile.getProperty("test.name")); + ByteArrayInputStream bais = new ByteArrayInputStream(bytes.toByteArray()); + LogManager.getLogManager().readConfiguration(bais); + } catch (IOException ex) { + throw new RuntimeException(ex); + } + }); + } + static void doPrivileged(Runnable run) { + allowAll.set(true); + try { + run.run(); + } finally { + allowAll.set(false); + } + } + } + + public static void test(String name, Properties props) throws Exception { + System.out.println("Testing: " + name); + String file = props.getProperty("test.file.name"); + // create the lock files first - in order to take the path that + // used to trigger the NPE + Files.createFile(Paths.get(file + ".lck")); + Files.createFile(Paths.get(file + ".1.lck")); + final FileHandler f1 = new FileHandler(); + final FileHandler f2 = new FileHandler(); + f1.close(); + f2.close(); + System.out.println("Success for " + name); + } + + + final static class PermissionsBuilder { + final Permissions perms; + public PermissionsBuilder() { + this(new Permissions()); + } + public PermissionsBuilder(Permissions perms) { + this.perms = perms; + } + public PermissionsBuilder add(Permission p) { + perms.add(p); + return this; + } + public PermissionsBuilder addAll(PermissionCollection col) { + if (col != null) { + for (Enumeration e = col.elements(); e.hasMoreElements(); ) { + perms.add(e.nextElement()); + } + } + return this; + } + public Permissions toPermissions() { + final PermissionsBuilder builder = new PermissionsBuilder(); + builder.addAll(perms); + return builder.perms; + } + } + + public static class SimplePolicy extends Policy { + + final Permissions permissions; + final Permissions allPermissions; + final AtomicBoolean allowAll; + public SimplePolicy(TestCase test, AtomicBoolean allowAll) { + this.allowAll = allowAll; + permissions = new Permissions(); + permissions.add(new LoggingPermission("control", null)); // needed by new FileHandler() + permissions.add(new FilePermission("<>", "read")); // needed by new FileHandler() + permissions.add(new FilePermission(logFile, "write,delete")); // needed by new FileHandler() + permissions.add(new FilePermission(logFile+".lck", "write,delete")); // needed by FileHandler.close() + permissions.add(new FilePermission(logFile+".1", "write,delete")); // needed by new FileHandler() + permissions.add(new FilePermission(logFile+".1.lck", "write,delete")); // needed by FileHandler.close() + permissions.add(new FilePermission(tmpLogFile, "write,delete")); // needed by new FileHandler() + permissions.add(new FilePermission(tmpLogFile+".lck", "write,delete")); // needed by FileHandler.close() + permissions.add(new FilePermission(tmpLogFile+".1", "write,delete")); // needed by new FileHandler() + permissions.add(new FilePermission(tmpLogFile+".1.lck", "write,delete")); // needed by FileHandler.close() + permissions.add(new FilePermission(userDir, "write")); // needed by new FileHandler() + permissions.add(new FilePermission(tmpDir, "write")); // needed by new FileHandler() + permissions.add(new PropertyPermission("user.dir", "read")); + permissions.add(new PropertyPermission("java.io.tmpdir", "read")); + allPermissions = new Permissions(); + allPermissions.add(new java.security.AllPermission()); + } + + @Override + public boolean implies(ProtectionDomain domain, Permission permission) { + if (allowAll.get()) return allPermissions.implies(permission); + return permissions.implies(permission); + } + + @Override + public PermissionCollection getPermissions(CodeSource codesource) { + return new PermissionsBuilder().addAll(allowAll.get() + ? allPermissions : permissions).toPermissions(); + } + + @Override + public PermissionCollection getPermissions(ProtectionDomain domain) { + return new PermissionsBuilder().addAll(allowAll.get() + ? allPermissions : permissions).toPermissions(); + } + } + +} From 3d538d9cfd7caf09fa3c50c57d036dccc2132af2 Mon Sep 17 00:00:00 2001 From: Marcus Lagergren Date: Mon, 29 Sep 2014 14:39:58 -0700 Subject: [PATCH 15/83] 8059321: Decrease warmup time by caching common structures that were reused during parse Reviewed-by: attila, shade --- .../nashorn/internal/codegen/Compiler.java | 11 ++++- .../jdk/nashorn/internal/codegen/Label.java | 7 ++- .../internal/codegen/MethodEmitter.java | 43 +++++++++++++++++++ .../nashorn/internal/codegen/types/Type.java | 38 +++++++++++++--- .../internal/parser/AbstractParser.java | 1 - .../RecompilableScriptFunctionData.java | 4 +- .../runtime/regexp/RegExpFactory.java | 16 ++++++- 7 files changed, 107 insertions(+), 13 deletions(-) diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Compiler.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Compiler.java index 0a1de709ffd..93debcb8798 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Compiler.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Compiler.java @@ -32,7 +32,6 @@ import static jdk.nashorn.internal.codegen.CompilerConstants.SCOPE; import static jdk.nashorn.internal.codegen.CompilerConstants.THIS; import static jdk.nashorn.internal.codegen.CompilerConstants.VARARGS; import static jdk.nashorn.internal.runtime.logging.DebugLogger.quote; - import java.io.File; import java.lang.invoke.MethodType; import java.util.Arrays; @@ -153,6 +152,13 @@ public final class Compiler implements Loggable { */ private RecompilableScriptFunctionData compiledFunction; + /** + * Most compile unit names are longer than the default StringBuilder buffer, + * worth startup performance when massive class generation is going on to increase + * this + */ + private static final int COMPILE_UNIT_NAME_BUFFER_SIZE = 32; + /** * Compilation phases that a compilation goes through */ @@ -631,7 +637,8 @@ public final class Compiler implements Loggable { } String nextCompileUnitName() { - final StringBuilder sb = new StringBuilder(firstCompileUnitName); + final StringBuilder sb = new StringBuilder(COMPILE_UNIT_NAME_BUFFER_SIZE); + sb.append(firstCompileUnitName); final int cuid = nextCompileUnitId.getAndIncrement(); if (cuid > 0) { sb.append("$cu").append(cuid); diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Label.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Label.java index 863046907c6..7c86abf0eb4 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Label.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Label.java @@ -590,8 +590,13 @@ public final class Label { return label.getOffset() > other.label.getOffset(); } + private String str; + @Override public String toString() { - return name + '_' + id; + if (str == null) { + str = name + '_' + id; + } + return str; } } diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/MethodEmitter.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/MethodEmitter.java index ab9d39deb15..7ce40dad22c 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/MethodEmitter.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/MethodEmitter.java @@ -2576,12 +2576,55 @@ public class MethodEmitter implements Emitter { * * @param args debug information to print */ + @SuppressWarnings("unused") private void debug(final Object... args) { if (debug) { debug(30, args); } } + private void debug(final String arg) { + if (debug) { + debug(30, arg); + } + } + + private void debug(final Object arg0, final Object arg1) { + if (debug) { + debug(30, new Object[] { arg0, arg1 }); + } + } + + private void debug(final Object arg0, final Object arg1, final Object arg2) { + if (debug) { + debug(30, new Object[] { arg0, arg1, arg2 }); + } + } + + private void debug(final Object arg0, final Object arg1, final Object arg2, final Object arg3) { + if (debug) { + debug(30, new Object[] { arg0, arg1, arg2, arg3 }); + } + } + + private void debug(final Object arg0, final Object arg1, final Object arg2, final Object arg3, final Object arg4) { + if (debug) { + debug(30, new Object[] { arg0, arg1, arg2, arg3, arg4 }); + } + } + + private void debug(final Object arg0, final Object arg1, final Object arg2, final Object arg3, final Object arg4, final Object arg5) { + if (debug) { + debug(30, new Object[] { arg0, arg1, arg2, arg3, arg4, arg5 }); + } + } + + private void debug(final Object arg0, final Object arg1, final Object arg2, final Object arg3, final Object arg4, final Object arg5, final Object arg6) { + if (debug) { + debug(30, new Object[] { arg0, arg1, arg2, arg3, arg4, arg5, arg6 }); + } + } + /** * Debug function that outputs generated bytecode and stack contents * for a label - indentation is currently the only thing that differs diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/types/Type.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/types/Type.java index 55154c607ed..9e5e5a24719 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/types/Type.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/types/Type.java @@ -54,8 +54,10 @@ import java.lang.invoke.CallSite; import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; import java.lang.invoke.MethodType; +import java.util.Collections; import java.util.Map; import java.util.TreeMap; +import java.util.WeakHashMap; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import jdk.internal.org.objectweb.asm.Handle; @@ -103,6 +105,16 @@ public abstract class Type implements Comparable, BytecodeOps { /** The class for this type */ private final Class clazz; + /** + * Cache for internal types - this is a query that requires complex stringbuilding inside + * ASM and it saves startup time to cache the type mappings + */ + private static final Map, jdk.internal.org.objectweb.asm.Type> INTERNAL_TYPE_CACHE = + Collections.synchronizedMap(new WeakHashMap, jdk.internal.org.objectweb.asm.Type>()); + + /** Internal ASM type for this Type - computed once at construction */ + private final jdk.internal.org.objectweb.asm.Type internalType; + /** Weights are used to decide which types are "wider" than other types */ protected static final int MIN_WEIGHT = -1; @@ -121,12 +133,13 @@ public abstract class Type implements Comparable, BytecodeOps { * @param slots how many bytecode slots the type takes up */ Type(final String name, final Class clazz, final int weight, final int slots) { - this.name = name; - this.clazz = clazz; - this.descriptor = jdk.internal.org.objectweb.asm.Type.getDescriptor(clazz); - this.weight = weight; + this.name = name; + this.clazz = clazz; + this.descriptor = jdk.internal.org.objectweb.asm.Type.getDescriptor(clazz); + this.weight = weight; assert weight >= MIN_WEIGHT && weight <= MAX_WEIGHT : "illegal type weight: " + weight; - this.slots = slots; + this.slots = slots; + this.internalType = getInternalType(clazz); } /** @@ -356,11 +369,22 @@ public abstract class Type implements Comparable, BytecodeOps { } private jdk.internal.org.objectweb.asm.Type getInternalType() { - return jdk.internal.org.objectweb.asm.Type.getType(getTypeClass()); + return internalType; + } + + private static jdk.internal.org.objectweb.asm.Type lookupInternalType(final Class type) { + final Map, jdk.internal.org.objectweb.asm.Type> cache = INTERNAL_TYPE_CACHE; + jdk.internal.org.objectweb.asm.Type itype = cache.get(type); + if (itype != null) { + return itype; + } + itype = jdk.internal.org.objectweb.asm.Type.getType(type); + cache.put(type, itype); + return itype; } private static jdk.internal.org.objectweb.asm.Type getInternalType(final Class type) { - return jdk.internal.org.objectweb.asm.Type.getType(type); + return lookupInternalType(type); } static void invokestatic(final MethodVisitor method, final Call call) { diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/AbstractParser.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/AbstractParser.java index 589fb9c1b00..3eb45cfb853 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/AbstractParser.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/AbstractParser.java @@ -30,7 +30,6 @@ import static jdk.nashorn.internal.parser.TokenType.DIRECTIVE_COMMENT; import static jdk.nashorn.internal.parser.TokenType.EOF; import static jdk.nashorn.internal.parser.TokenType.EOL; import static jdk.nashorn.internal.parser.TokenType.IDENT; - import java.util.HashMap; import java.util.Map; import jdk.nashorn.internal.ir.IdentNode; diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java index bfe70700aef..8449de7abfb 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java @@ -589,7 +589,9 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData imp } MethodHandle lookupCodeMethod(final Class codeClass, final MethodType targetType) { - log.info("Looking up ", DebugLogger.quote(name), " type=", targetType); + if (log.isEnabled()) { + log.info("Looking up ", DebugLogger.quote(name), " type=", targetType); + } return MH.findStatic(LOOKUP, codeClass, functionName, targetType); } diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/RegExpFactory.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/RegExpFactory.java index 08168b63779..77b1b3dcd3e 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/RegExpFactory.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/regexp/RegExpFactory.java @@ -25,6 +25,9 @@ package jdk.nashorn.internal.runtime.regexp; +import java.util.Collections; +import java.util.Set; +import java.util.WeakHashMap; import jdk.nashorn.internal.runtime.ParserException; import jdk.nashorn.internal.runtime.options.Options; @@ -39,6 +42,15 @@ public class RegExpFactory { private final static String JDK = "jdk"; private final static String JONI = "joni"; + /** Weak cache of already validated regexps - when reparsing, we don't, for example + * need to recompile (reverify) all regexps that have previously been parsed by this + * RegExpFactory in a previous compilation. This saves significant time in e.g. avatar + * startup */ + private static final Set VALID_CACHE_SET = + Collections.newSetFromMap( + Collections.synchronizedMap( + new WeakHashMap())); + static { final String impl = Options.getStringProperty("nashorn.regexp.impl", JONI); switch (impl) { @@ -88,7 +100,9 @@ public class RegExpFactory { */ // @SuppressWarnings({"unused"}) public static void validate(final String pattern, final String flags) throws ParserException { - instance.compile(pattern, flags); + if (VALID_CACHE_SET.add(pattern + flags)) { + instance.compile(pattern, flags); + } } /** From ef0e5a1c76c34c5c23fb1b9c50ebf7551a9178f6 Mon Sep 17 00:00:00 2001 From: Weijun Wang Date: Tue, 30 Sep 2014 13:26:45 +0800 Subject: [PATCH 16/83] 8058657: Add @jdk.Exported to com.sun.jarsigner APIs Reviewed-by: alanb, mchung --- modules.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules.xml b/modules.xml index 12874815d35..0b94edee620 100644 --- a/modules.xml +++ b/modules.xml @@ -1603,6 +1603,9 @@ jdk.rmic jdk.xml.bind jdk.xml.ws + + com.sun.jarsigner + jdk.hotspot.agent From 47ec885497b2725af9a783016936e4de85f20694 Mon Sep 17 00:00:00 2001 From: Weijun Wang Date: Tue, 30 Sep 2014 13:38:58 +0800 Subject: [PATCH 17/83] 8058657: Add @jdk.Exported to com.sun.jarsigner APIs Reviewed-by: alanb, mchung --- .../com/sun/jarsigner/ContentSigner.java | 1 + .../com/sun/jarsigner/package-info.java | 35 +++++++++++++++++ .../classes/com/sun/jarsigner/package.html | 38 ------------------- 3 files changed, 36 insertions(+), 38 deletions(-) create mode 100644 jdk/src/jdk.dev/share/classes/com/sun/jarsigner/package-info.java delete mode 100644 jdk/src/jdk.dev/share/classes/com/sun/jarsigner/package.html diff --git a/jdk/src/jdk.dev/share/classes/com/sun/jarsigner/ContentSigner.java b/jdk/src/jdk.dev/share/classes/com/sun/jarsigner/ContentSigner.java index 1a29bf7ca33..0446ab405b0 100644 --- a/jdk/src/jdk.dev/share/classes/com/sun/jarsigner/ContentSigner.java +++ b/jdk/src/jdk.dev/share/classes/com/sun/jarsigner/ContentSigner.java @@ -37,6 +37,7 @@ import java.security.cert.CertificateException; * @author Vincent Ryan */ +@jdk.Exported public abstract class ContentSigner { /** diff --git a/jdk/src/jdk.dev/share/classes/com/sun/jarsigner/package-info.java b/jdk/src/jdk.dev/share/classes/com/sun/jarsigner/package-info.java new file mode 100644 index 00000000000..554d4c7b076 --- /dev/null +++ b/jdk/src/jdk.dev/share/classes/com/sun/jarsigner/package-info.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2014, 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. + */ +/** + * This package comprises the interfaces and classes used to define the + * signing mechanism used by the jarsigner tool. + *

    + * Clients may override the default signing mechanism of the jarsigner + * tool by supplying an alternative implementation of + * {@link com.sun.jarsigner.ContentSigner}. + */ + +@jdk.Exported +package com.sun.jarsigner; diff --git a/jdk/src/jdk.dev/share/classes/com/sun/jarsigner/package.html b/jdk/src/jdk.dev/share/classes/com/sun/jarsigner/package.html deleted file mode 100644 index b00d655d9a2..00000000000 --- a/jdk/src/jdk.dev/share/classes/com/sun/jarsigner/package.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - Jarsigner Signing Mechanism Package - - -This package comprises the interfaces and classes used to define the -signing mechanism used by the jarsigner tool. -

    -Clients may override the default signing mechanism of the jarsigner -tool by supplying an alternative implementation of -{@link com.sun.jarsigner.ContentSigner}. - - From 562f2882bd2441126db0f7f9cc15085c754cc9d9 Mon Sep 17 00:00:00 2001 From: Vinnie Ryan Date: Tue, 30 Sep 2014 13:25:04 +0100 Subject: [PATCH 18/83] 8059462: Typo in keytool resource file Reviewed-by: weijun --- .../share/classes/sun/security/tools/keytool/Resources.java | 2 +- .../classes/sun/security/tools/keytool/Resources_de.java | 4 ++-- .../classes/sun/security/tools/keytool/Resources_es.java | 4 ++-- .../classes/sun/security/tools/keytool/Resources_fr.java | 4 ++-- .../classes/sun/security/tools/keytool/Resources_it.java | 4 ++-- .../classes/sun/security/tools/keytool/Resources_ja.java | 4 ++-- .../classes/sun/security/tools/keytool/Resources_ko.java | 4 ++-- .../classes/sun/security/tools/keytool/Resources_pt_BR.java | 4 ++-- .../classes/sun/security/tools/keytool/Resources_sv.java | 4 ++-- .../classes/sun/security/tools/keytool/Resources_zh_CN.java | 4 ++-- .../classes/sun/security/tools/keytool/Resources_zh_TW.java | 4 ++-- 11 files changed, 21 insertions(+), 21 deletions(-) diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources.java index 00922de42f7..80b348ff47e 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources.java @@ -337,7 +337,7 @@ public class Resources extends java.util.ListResourceBundle { {"New.prompt.", "New {0}: "}, {"Passwords.must.differ", "Passwords must differ"}, {"Re.enter.new.prompt.", "Re-enter new {0}: "}, - {"Re.enter.passpword.", "Re-enter password: "}, + {"Re.enter.password.", "Re-enter password: "}, {"Re.enter.new.password.", "Re-enter new password: "}, {"They.don.t.match.Try.again", "They don't match. Try again"}, {"Enter.prompt.alias.name.", "Enter {0} alias name: "}, diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_de.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_de.java index 46d75a58122..0c7b513591e 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_de.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_de.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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 @@ -336,7 +336,7 @@ public class Resources_de extends java.util.ListResourceBundle { {"New.prompt.", "Neues {0}: "}, {"Passwords.must.differ", "Kennw\u00F6rter m\u00FCssen sich unterscheiden"}, {"Re.enter.new.prompt.", "Neues {0} erneut eingeben: "}, - {"Re.enter.passpword.", "Geben Sie das Kennwort erneut ein: "}, + {"Re.enter.password.", "Geben Sie das Kennwort erneut ein: "}, {"Re.enter.new.password.", "Neues Kennwort erneut eingeben: "}, {"They.don.t.match.Try.again", "Keine \u00DCbereinstimmung. Wiederholen Sie den Vorgang"}, {"Enter.prompt.alias.name.", "{0}-Aliasnamen eingeben: "}, diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_es.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_es.java index 4c0bd34d868..5348d1a104c 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_es.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_es.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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 @@ -336,7 +336,7 @@ public class Resources_es extends java.util.ListResourceBundle { {"New.prompt.", "Nuevo {0}: "}, {"Passwords.must.differ", "Las contrase\u00F1as deben ser distintas"}, {"Re.enter.new.prompt.", "Vuelva a escribir el nuevo {0}: "}, - {"Re.enter.passpword.", "Vuelva a introducir la contrase\u00F1a: "}, + {"Re.enter.password.", "Vuelva a introducir la contrase\u00F1a: "}, {"Re.enter.new.password.", "Volver a escribir la contrase\u00F1a nueva: "}, {"They.don.t.match.Try.again", "No coinciden. Int\u00E9ntelo de nuevo"}, {"Enter.prompt.alias.name.", "Escriba el nombre de alias de {0}: "}, diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_fr.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_fr.java index 6ba2985ca81..6b22844fe13 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_fr.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_fr.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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 @@ -336,7 +336,7 @@ public class Resources_fr extends java.util.ListResourceBundle { {"New.prompt.", "Nouveau {0} : "}, {"Passwords.must.differ", "Les mots de passe doivent diff\u00E9rer"}, {"Re.enter.new.prompt.", "Indiquez encore le nouveau {0} : "}, - {"Re.enter.passpword.", "R\u00E9p\u00E9tez le mot de passe : "}, + {"Re.enter.password.", "R\u00E9p\u00E9tez le mot de passe : "}, {"Re.enter.new.password.", "Ressaisissez le nouveau mot de passe : "}, {"They.don.t.match.Try.again", "Ils sont diff\u00E9rents. R\u00E9essayez."}, {"Enter.prompt.alias.name.", "Indiquez le nom d''alias {0} : "}, diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_it.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_it.java index 68b64ce5ef2..2a49fe604fb 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_it.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_it.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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 @@ -336,7 +336,7 @@ public class Resources_it extends java.util.ListResourceBundle { {"New.prompt.", "Nuova {0}: "}, {"Passwords.must.differ", "Le password non devono coincidere"}, {"Re.enter.new.prompt.", "Reimmettere un nuovo valore per {0}: "}, - {"Re.enter.passpword.", "Reimmettere la password: "}, + {"Re.enter.password.", "Reimmettere la password: "}, {"Re.enter.new.password.", "Immettere nuovamente la nuova password: "}, {"They.don.t.match.Try.again", "Non corrispondono. Riprovare."}, {"Enter.prompt.alias.name.", "Immettere nome alias {0}: "}, diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_ja.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_ja.java index 6ae28fa7249..b5d7bb4d310 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_ja.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_ja.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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 @@ -336,7 +336,7 @@ public class Resources_ja extends java.util.ListResourceBundle { {"New.prompt.", "\u65B0\u898F{0}: "}, {"Passwords.must.differ", "\u30D1\u30B9\u30EF\u30FC\u30C9\u306F\u7570\u306A\u3063\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"}, {"Re.enter.new.prompt.", "\u65B0\u898F{0}\u3092\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "}, - {"Re.enter.passpword.", "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "}, + {"Re.enter.password.", "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "}, {"Re.enter.new.password.", "\u65B0\u898F\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "}, {"They.don.t.match.Try.again", "\u4E00\u81F4\u3057\u307E\u305B\u3093\u3002\u3082\u3046\u4E00\u5EA6\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044"}, {"Enter.prompt.alias.name.", "{0}\u306E\u5225\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "}, diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_ko.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_ko.java index d0bed5c8482..40ede297df0 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_ko.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_ko.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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 @@ -336,7 +336,7 @@ public class Resources_ko extends java.util.ListResourceBundle { {"New.prompt.", "\uC0C8 {0}: "}, {"Passwords.must.differ", "\uBE44\uBC00\uBC88\uD638\uB294 \uB2EC\uB77C\uC57C \uD569\uB2C8\uB2E4."}, {"Re.enter.new.prompt.", "\uC0C8 {0} \uB2E4\uC2DC \uC785\uB825: "}, - {"Re.enter.passpword.", "\uBE44\uBC00\uBC88\uD638 \uB2E4\uC2DC \uC785\uB825: "}, + {"Re.enter.password.", "\uBE44\uBC00\uBC88\uD638 \uB2E4\uC2DC \uC785\uB825: "}, {"Re.enter.new.password.", "\uC0C8 \uBE44\uBC00\uBC88\uD638 \uB2E4\uC2DC \uC785\uB825: "}, {"They.don.t.match.Try.again", "\uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC2ED\uC2DC\uC624."}, {"Enter.prompt.alias.name.", "{0} \uBCC4\uCE6D \uC774\uB984 \uC785\uB825: "}, diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_pt_BR.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_pt_BR.java index 349f6940628..0b784ce956b 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_pt_BR.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_pt_BR.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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 @@ -336,7 +336,7 @@ public class Resources_pt_BR extends java.util.ListResourceBundle { {"New.prompt.", "Nova {0}: "}, {"Passwords.must.differ", "As senhas devem ser diferentes"}, {"Re.enter.new.prompt.", "Informe novamente a nova {0}: "}, - {"Re.enter.passpword.", "Redigite a senha: "}, + {"Re.enter.password.", "Redigite a senha: "}, {"Re.enter.new.password.", "Informe novamente a nova senha: "}, {"They.don.t.match.Try.again", "Elas n\u00E3o correspondem. Tente novamente"}, {"Enter.prompt.alias.name.", "Informe o nome do alias {0}: "}, diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_sv.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_sv.java index effa0d6b23e..c6b4a8499a6 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_sv.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_sv.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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 @@ -336,7 +336,7 @@ public class Resources_sv extends java.util.ListResourceBundle { {"New.prompt.", "Nytt {0}: "}, {"Passwords.must.differ", "L\u00F6senorden m\u00E5ste vara olika"}, {"Re.enter.new.prompt.", "Ange nytt {0} igen: "}, - {"Re.enter.passpword.", "Ange l\u00F6senord igen: "}, + {"Re.enter.password.", "Ange l\u00F6senord igen: "}, {"Re.enter.new.password.", "Ange det nya l\u00F6senordet igen: "}, {"They.don.t.match.Try.again", "De matchar inte. F\u00F6rs\u00F6k igen"}, {"Enter.prompt.alias.name.", "Ange aliasnamn f\u00F6r {0}: "}, diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_CN.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_CN.java index 99f85df7f0c..6ae574e4f34 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_CN.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_CN.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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 @@ -336,7 +336,7 @@ public class Resources_zh_CN extends java.util.ListResourceBundle { {"New.prompt.", "\u65B0{0}: "}, {"Passwords.must.differ", "\u53E3\u4EE4\u4E0D\u80FD\u76F8\u540C"}, {"Re.enter.new.prompt.", "\u91CD\u65B0\u8F93\u5165\u65B0{0}: "}, - {"Re.enter.passpword.", "\u518D\u6B21\u8F93\u5165\u53E3\u4EE4: "}, + {"Re.enter.password.", "\u518D\u6B21\u8F93\u5165\u53E3\u4EE4: "}, {"Re.enter.new.password.", "\u518D\u6B21\u8F93\u5165\u65B0\u53E3\u4EE4: "}, {"They.don.t.match.Try.again", "\u5B83\u4EEC\u4E0D\u5339\u914D\u3002\u8BF7\u91CD\u8BD5"}, {"Enter.prompt.alias.name.", "\u8F93\u5165{0}\u522B\u540D: "}, diff --git a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_TW.java b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_TW.java index 9f6ec3826c1..1f0bb68b63e 100644 --- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_TW.java +++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_TW.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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 @@ -336,7 +336,7 @@ public class Resources_zh_TW extends java.util.ListResourceBundle { {"New.prompt.", "\u65B0 {0}: "}, {"Passwords.must.differ", "\u5FC5\u9808\u662F\u4E0D\u540C\u7684\u5BC6\u78BC"}, {"Re.enter.new.prompt.", "\u91CD\u65B0\u8F38\u5165\u65B0 {0}: "}, - {"Re.enter.passpword.", "\u91CD\u65B0\u8F38\u5165\u5BC6\u78BC:"}, + {"Re.enter.password.", "\u91CD\u65B0\u8F38\u5165\u5BC6\u78BC:"}, {"Re.enter.new.password.", "\u91CD\u65B0\u8F38\u5165\u65B0\u5BC6\u78BC: "}, {"They.don.t.match.Try.again", "\u5B83\u5011\u4E0D\u76F8\u7B26\u3002\u8ACB\u91CD\u8A66"}, {"Enter.prompt.alias.name.", "\u8F38\u5165 {0} \u5225\u540D\u540D\u7A31: "}, From 80fe5fad5c18cc60321f28f839cb2137d61ba630 Mon Sep 17 00:00:00 2001 From: Attila Szegedi Date: Wed, 1 Oct 2014 10:26:25 +0200 Subject: [PATCH 19/83] 8059370: Unnecessary work in deoptimizing recompilation Reviewed-by: jlaskey, lagergren --- .../classes/jdk/nashorn/internal/runtime/CompiledFunction.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CompiledFunction.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CompiledFunction.java index 990ea2ebab5..2655e781b05 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CompiledFunction.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CompiledFunction.java @@ -814,8 +814,6 @@ final class CompiledFunction { compiler.persistClassInfo(cacheKey, normalFn); } - FunctionNode fn2 = effectiveOptInfo.reparse(); - fn2 = compiler.compile(fn2, CompilationPhases.COMPILE_UPTO_BYTECODE); log.info("Done."); final boolean canBeDeoptimized = normalFn.canBeDeoptimized(); From 8f4114ee4339182e4a19877a370ed0d85818bc13 Mon Sep 17 00:00:00 2001 From: Attila Szegedi Date: Wed, 1 Oct 2014 10:26:53 +0200 Subject: [PATCH 20/83] 8059371: Code duplication in handling of break and continue Reviewed-by: jlaskey, lagergren --- .../internal/codegen/CodeGenerator.java | 33 ++++++++----------- .../codegen/LocalVariableTypesCalculator.java | 15 ++++----- .../jdk/nashorn/internal/codegen/Lower.java | 11 +++++-- .../jdk/nashorn/internal/ir/BreakNode.java | 11 +++++++ .../jdk/nashorn/internal/ir/ContinueNode.java | 12 +++++++ .../nashorn/internal/ir/JumpStatement.java | 20 +++++++++++ 6 files changed, 71 insertions(+), 31 deletions(-) diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CodeGenerator.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CodeGenerator.java index 97b26212a46..eb432575004 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CodeGenerator.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CodeGenerator.java @@ -104,6 +104,7 @@ import jdk.nashorn.internal.ir.IfNode; import jdk.nashorn.internal.ir.IndexNode; import jdk.nashorn.internal.ir.JoinPredecessor; import jdk.nashorn.internal.ir.JoinPredecessorExpression; +import jdk.nashorn.internal.ir.JumpStatement; import jdk.nashorn.internal.ir.LabelNode; import jdk.nashorn.internal.ir.LexicalContext; import jdk.nashorn.internal.ir.LexicalContextNode; @@ -1204,17 +1205,21 @@ final class CodeGenerator extends NodeOperatorVisitor{ @Override public boolean enterBreakNode(final BreakNode breakNode) { - if(!reachable) { - return false; - } - - final BreakableNode target = lc.getBreakable(breakNode.getLabelName()); - return splitAwareJumpToLabel(breakNode, target, target.getBreakLabel()); + return enterJumpStatement(breakNode); } @Override public boolean enterContinueNode(final ContinueNode continueNode) { + return enterJumpStatement(continueNode); + } + + private boolean enterJumpStatement(final JumpStatement jump) { if(!reachable) { return false; } - final LoopNode target = lc.getContinueTo(continueNode.getLabelName()); - return splitAwareJumpToLabel(continueNode, target, target.getContinueLabel()); + final BreakableNode target = jump.getTarget(lc); + return splitAwareJumpToLabel(jump, target, jump.getTargetLabel(target)); } private boolean splitAwareJumpToLabel(final JumpStatement jumpStatement, final BreakableNode target, final Label targetLabel) { diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Lower.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Lower.java index 2c87f3b9a97..dddf6976891 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Lower.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Lower.java @@ -52,6 +52,7 @@ import jdk.nashorn.internal.ir.FunctionNode; import jdk.nashorn.internal.ir.FunctionNode.CompilationState; import jdk.nashorn.internal.ir.IdentNode; import jdk.nashorn.internal.ir.IfNode; +import jdk.nashorn.internal.ir.JumpStatement; import jdk.nashorn.internal.ir.LabelNode; import jdk.nashorn.internal.ir.LexicalContext; import jdk.nashorn.internal.ir.LiteralNode; @@ -382,12 +383,16 @@ final class Lower extends NodeOperatorVisitor implements Lo @Override public Node leaveBreakNode(final BreakNode breakNode) { - return copy(breakNode, (Node)Lower.this.lc.getBreakable(breakNode.getLabelName())); + return leaveJumpStatement(breakNode); } @Override public Node leaveContinueNode(final ContinueNode continueNode) { - return copy(continueNode, Lower.this.lc.getContinueTo(continueNode.getLabelName())); + return leaveJumpStatement(continueNode); + } + + private Node leaveJumpStatement(final JumpStatement jump) { + return copy(jump, (Node)jump.getTarget(Lower.this.lc)); } @Override @@ -627,7 +632,7 @@ final class Lower extends NodeOperatorVisitor implements Lo @Override public Node leaveContinueNode(final ContinueNode node) { // all inner loops have been popped. - if (lex.contains(lex.getContinueTo(node.getLabelName()))) { + if (lex.contains(node.getTarget(lex))) { escapes.add(node); } return node; diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/BreakNode.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/BreakNode.java index c127b1ae75e..7a607922fb5 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/BreakNode.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/BreakNode.java @@ -25,6 +25,7 @@ package jdk.nashorn.internal.ir; +import jdk.nashorn.internal.codegen.Label; import jdk.nashorn.internal.ir.annotations.Immutable; import jdk.nashorn.internal.ir.visitor.NodeVisitor; @@ -68,4 +69,14 @@ public final class BreakNode extends JumpStatement { String getStatementName() { return "break"; } + + @Override + public BreakableNode getTarget(final LexicalContext lc) { + return lc.getBreakable(getLabelName()); + } + + @Override + public Label getTargetLabel(final BreakableNode target) { + return target.getBreakLabel(); + } } diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/ContinueNode.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/ContinueNode.java index d5177db6358..ce621791bc3 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/ContinueNode.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/ContinueNode.java @@ -25,6 +25,7 @@ package jdk.nashorn.internal.ir; +import jdk.nashorn.internal.codegen.Label; import jdk.nashorn.internal.ir.annotations.Immutable; import jdk.nashorn.internal.ir.visitor.NodeVisitor; @@ -67,5 +68,16 @@ public class ContinueNode extends JumpStatement { String getStatementName() { return "continue"; } + + + @Override + public BreakableNode getTarget(final LexicalContext lc) { + return lc.getContinueTo(getLabelName()); + } + + @Override + public Label getTargetLabel(final BreakableNode target) { + return ((LoopNode)target).getContinueLabel(); + } } diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/JumpStatement.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/JumpStatement.java index aabb9de7f3c..5888a836df1 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/JumpStatement.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/ir/JumpStatement.java @@ -25,6 +25,8 @@ package jdk.nashorn.internal.ir; +import jdk.nashorn.internal.codegen.Label; + /** * Common base class for jump statements (e.g. {@code break} and {@code continue}). */ @@ -82,6 +84,24 @@ public abstract class JumpStatement extends Statement implements JoinPredecessor abstract String getStatementName(); + /** + * Finds the target for this jump statement in a lexical context. + * @param lc the lexical context + * @return the target, or null if not found + */ + public abstract BreakableNode getTarget(final LexicalContext lc); + + /** + * Returns the label corresponding to this kind of jump statement (either a break or continue label) in the target. + * @param target the target. Note that it need not be the target of this jump statement, as the method can retrieve + * a label on any passed target as long as the target has a label of the requisite kind. Of course, it is advisable + * to invoke the method on a jump statement that targets the breakable. + * @return the label of the target corresponding to the kind of jump statement. + * @throws ClassCastException if invoked on the kind of breakable node that this jump statement is not prepared to + * handle. + */ + public abstract Label getTargetLabel(final BreakableNode target); + @Override public JumpStatement setLocalVariableConversion(final LexicalContext lc, final LocalVariableConversion conversion) { if(this.conversion == conversion) { From e97393b1086216da6ebb41837ce863e7638f767e Mon Sep 17 00:00:00 2001 From: Attila Szegedi Date: Wed, 1 Oct 2014 12:22:12 +0200 Subject: [PATCH 21/83] 8059372: Code duplication in split emitter Reviewed-by: jlaskey, lagergren --- .../internal/codegen/CodeGenerator.java | 34 +++++++++---------- .../internal/codegen/MethodEmitter.java | 9 +++++ .../internal/codegen/SplitMethodEmitter.java | 23 ++++--------- 3 files changed, 33 insertions(+), 33 deletions(-) diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CodeGenerator.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CodeGenerator.java index eb432575004..ae3ee6947e0 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CodeGenerator.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/CodeGenerator.java @@ -2800,6 +2800,7 @@ final class CodeGenerator extends NodeOperatorVisitor targets = splitMethod.getExternalTargets(); + final boolean hasControlFlow = hasReturn || !targets.isEmpty(); final List targetNodes = splitMethod.getExternalTargetNodes(); final Type returnType = lc.getCurrentFunction().getReturnType(); @@ -2807,6 +2808,9 @@ final class CodeGenerator extends NodeOperatorVisitor= 0) { - loadCompilerConstant(SCOPE); - checkcast(Scope.class); - load(index + 1); - invoke(Scope.SET_SPLIT_STATE); - loadUndefined(Type.OBJECT); - _return(functionNode.getReturnType()); - return; + setSplitState(index + 1); // 0 is ordinary return + final Type retType = functionNode.getReturnType(); + loadUndefined(retType); + _return(retType); + } else { + super.splitAwareGoto(lc, label, targetNode); } - super.splitAwareGoto(lc, label, targetNode); } private int findExternalTarget(final LexicalContext lc, final Label label, final BreakableNode targetNode) { @@ -94,11 +89,7 @@ public class SplitMethodEmitter extends MethodEmitter { @Override MethodEmitter registerReturn() { setHasReturn(); - loadCompilerConstant(SCOPE); - checkcast(Scope.class); - load(0); - invoke(Scope.SET_SPLIT_STATE); - return this; + return setSplitState(0); } final List

      *     new URI(u.getScheme(),
    - *             u.getUserInfo(), u.getAuthority(),
    + *             u.getAuthority(),
      *             u.getPath(), u.getQuery(),
      *             u.getFragment())
      *     .equals(u)
    From 1f9a38f175c1d24f7aa7126347a768e07d58e99d Mon Sep 17 00:00:00 2001 From: Sonali Goel Date: Wed, 1 Oct 2014 14:15:40 -0700 Subject: [PATCH 25/83] 8055783: Group 9e: golden files for tests in tools/javac dir Reviewed-by: jjg, mcimadamore --- langtools/test/tools/javac/T6306967.java | 27 ++------------ langtools/test/tools/javac/T6306967.out | 2 ++ langtools/test/tools/javac/T6379327.java | 27 ++------------ langtools/test/tools/javac/T6379327.out | 2 ++ langtools/test/tools/javac/T6407257.java | 27 ++------------ langtools/test/tools/javac/T6407257.out | 2 ++ langtools/test/tools/javac/T6663588.java | 27 ++------------ langtools/test/tools/javac/T6663588.out | 2 ++ .../test/tools/javac/UncaughtOverflow.java | 32 +++-------------- .../test/tools/javac/UncaughtOverflow.out | 3 ++ .../test/tools/javac/UncaughtOverflow2.java | 36 ------------------- langtools/test/tools/javac/UseEnum.java | 30 ++-------------- langtools/test/tools/javac/UseEnum.out | 2 ++ langtools/test/tools/javac/VoidArray.java | 27 ++------------ langtools/test/tools/javac/VoidArray.out | 7 ++++ 15 files changed, 38 insertions(+), 215 deletions(-) create mode 100644 langtools/test/tools/javac/T6306967.out create mode 100644 langtools/test/tools/javac/T6379327.out create mode 100644 langtools/test/tools/javac/T6407257.out create mode 100644 langtools/test/tools/javac/T6663588.out create mode 100644 langtools/test/tools/javac/UncaughtOverflow.out delete mode 100644 langtools/test/tools/javac/UncaughtOverflow2.java create mode 100644 langtools/test/tools/javac/UseEnum.out create mode 100644 langtools/test/tools/javac/VoidArray.out diff --git a/langtools/test/tools/javac/T6306967.java b/langtools/test/tools/javac/T6306967.java index 0c7060a3e66..53c52a6ee35 100644 --- a/langtools/test/tools/javac/T6306967.java +++ b/langtools/test/tools/javac/T6306967.java @@ -1,32 +1,9 @@ /* - * Copyright (c) 2006, 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 + * @test /nodynamiccopyright/ * @bug 6306967 * @summary Variable x is used before initialized * @author Wei Tao - * @compile/fail T6306967.java + * @compile/fail/ref=T6306967.out -XDrawDiagnostics T6306967.java */ public class T6306967 { diff --git a/langtools/test/tools/javac/T6306967.out b/langtools/test/tools/javac/T6306967.out new file mode 100644 index 00000000000..3794bdb4fad --- /dev/null +++ b/langtools/test/tools/javac/T6306967.out @@ -0,0 +1,2 @@ +T6306967.java:18:28: compiler.err.var.might.not.have.been.initialized: x +1 error diff --git a/langtools/test/tools/javac/T6379327.java b/langtools/test/tools/javac/T6379327.java index 08570d6d2a4..dc7bae36d13 100644 --- a/langtools/test/tools/javac/T6379327.java +++ b/langtools/test/tools/javac/T6379327.java @@ -1,32 +1,9 @@ /* - * Copyright (c) 2006, 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 + * @test /nodynamiccopyright/ * @bug 6379327 * @summary Erroneous catch block not detected with anonymous class declaration * @author Peter Jones, Wei Tao - * @compile/fail T6379327.java + * @compile/fail/ref=T6379327.out -XDrawDiagnostics T6379327.java */ import java.security.*; diff --git a/langtools/test/tools/javac/T6379327.out b/langtools/test/tools/javac/T6379327.out new file mode 100644 index 00000000000..29adfe047d8 --- /dev/null +++ b/langtools/test/tools/javac/T6379327.out @@ -0,0 +1,2 @@ +T6379327.java:19:11: compiler.err.except.never.thrown.in.try: java.lang.ClassNotFoundException +1 error diff --git a/langtools/test/tools/javac/T6407257.java b/langtools/test/tools/javac/T6407257.java index 010e6c3d97d..f2b4ea7149e 100644 --- a/langtools/test/tools/javac/T6407257.java +++ b/langtools/test/tools/javac/T6407257.java @@ -1,32 +1,9 @@ /* - * Copyright (c) 2006, 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 + * @test /nodynamiccopyright/ * @bug 6407257 * @summary javac locks up when encountering cyclic inheritance * @author Peter von der Ah\u00e9 - * @compile/fail T6407257.java + * @compile/fail/ref=T6407257.out -XDrawDiagnostics T6407257.java */ class T6407257a extends T6407257a {} diff --git a/langtools/test/tools/javac/T6407257.out b/langtools/test/tools/javac/T6407257.out new file mode 100644 index 00000000000..eb18f4ca912 --- /dev/null +++ b/langtools/test/tools/javac/T6407257.out @@ -0,0 +1,2 @@ +T6407257.java:9:1: compiler.err.cyclic.inheritance: T6407257a +1 error diff --git a/langtools/test/tools/javac/T6663588.java b/langtools/test/tools/javac/T6663588.java index 7d7d82b12f1..014f1f188b8 100644 --- a/langtools/test/tools/javac/T6663588.java +++ b/langtools/test/tools/javac/T6663588.java @@ -1,32 +1,9 @@ /* - * Copyright (c) 2008, 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 + * @test /nodynamiccopyright/ * @bug 6663588 * @summary Compiler goes into infinite loop for Cyclic Inheritance test case * @author Maurizio Cimadamore - * @compile/fail T6663588.java + * @compile/fail/ref=T6663588.out -XDrawDiagnostics T6663588.java */ public class T6663588 extends T6663588 { diff --git a/langtools/test/tools/javac/T6663588.out b/langtools/test/tools/javac/T6663588.out new file mode 100644 index 00000000000..20e97bb75be --- /dev/null +++ b/langtools/test/tools/javac/T6663588.out @@ -0,0 +1,2 @@ +T6663588.java:9:8: compiler.err.cyclic.inheritance: T6663588 +1 error diff --git a/langtools/test/tools/javac/UncaughtOverflow.java b/langtools/test/tools/javac/UncaughtOverflow.java index 7d53def0f2e..3442eb0d7a7 100644 --- a/langtools/test/tools/javac/UncaughtOverflow.java +++ b/langtools/test/tools/javac/UncaughtOverflow.java @@ -1,36 +1,14 @@ /* - * Copyright (c) 1997, 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 4035346 + * @test /nodynamiccopyright/ + * @bug 4035346 4097402 * @summary Compiler used to allow this initialization, despite the overflow. * @author turnidge * - * @compile/fail UncaughtOverflow.java + * @compile/fail/ref=UncaughtOverflow.out -XDrawDiagnostics UncaughtOverflow.java */ public class UncaughtOverflow { - int i = 100000000000; + int i1 = 100000000000; + int i2 = -2147483649; } diff --git a/langtools/test/tools/javac/UncaughtOverflow.out b/langtools/test/tools/javac/UncaughtOverflow.out new file mode 100644 index 00000000000..5dfa71b6e6c --- /dev/null +++ b/langtools/test/tools/javac/UncaughtOverflow.out @@ -0,0 +1,3 @@ +UncaughtOverflow.java:12:14: compiler.err.int.number.too.large: 100000000000 +UncaughtOverflow.java:13:15: compiler.err.int.number.too.large: -2147483649 +2 errors diff --git a/langtools/test/tools/javac/UncaughtOverflow2.java b/langtools/test/tools/javac/UncaughtOverflow2.java deleted file mode 100644 index 44f4793a182..00000000000 --- a/langtools/test/tools/javac/UncaughtOverflow2.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 1998, 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 4097402 - * @summary Compiler used to allow this initialization, despite the overflow. - * @author turnidge - * - * @compile/fail UncaughtOverflow2.java - */ - -public -class UncaughtOverflow2 { - int i = -2147483649; -} diff --git a/langtools/test/tools/javac/UseEnum.java b/langtools/test/tools/javac/UseEnum.java index d333d1ff689..642e84b1d73 100644 --- a/langtools/test/tools/javac/UseEnum.java +++ b/langtools/test/tools/javac/UseEnum.java @@ -1,40 +1,16 @@ /* - * Copyright (c) 2004, 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 + * @test /nodynamiccopyright/ * @bug 5013488 * @summary Compiler AssertionError: com.sun.tools.javac.util.Bits.incl(Bits.java:73) * - * @compile/fail UseEnum.java + * @compile/fail/ref=UseEnum.out -XDrawDiagnostics UseEnum.java */ import static java.lang.System.out; class UseEnum { - + enum Animal {cat, dog, bird, fish}; public static void main(String args[]) { - enum Animal {cat, dog, bird, fish}; Animal pet; pet = Animal.cat; diff --git a/langtools/test/tools/javac/UseEnum.out b/langtools/test/tools/javac/UseEnum.out new file mode 100644 index 00000000000..7c2365bd44e --- /dev/null +++ b/langtools/test/tools/javac/UseEnum.out @@ -0,0 +1,2 @@ +UseEnum.java:19:29: compiler.err.cant.resolve.location: kindname.variable, beast, , , (compiler.misc.location: kindname.class, UseEnum, null) +1 error diff --git a/langtools/test/tools/javac/VoidArray.java b/langtools/test/tools/javac/VoidArray.java index 56394d17ee8..3c27af09bc3 100644 --- a/langtools/test/tools/javac/VoidArray.java +++ b/langtools/test/tools/javac/VoidArray.java @@ -1,33 +1,10 @@ /* - * Copyright (c) 1997, 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 + * @test /nodynamiccopyright/ * @bug 4034979 * @summary The compiler should never allow void[] to appear as a type * in a program. * - * @compile/fail VoidArray.java + * @compile/fail/ref=VoidArray.out -XDrawDiagnostics VoidArray.java */ public diff --git a/langtools/test/tools/javac/VoidArray.out b/langtools/test/tools/javac/VoidArray.out new file mode 100644 index 00000000000..193b3f2d361 --- /dev/null +++ b/langtools/test/tools/javac/VoidArray.out @@ -0,0 +1,7 @@ +VoidArray.java:12:9: compiler.err.expected: token.identifier +VoidArray.java:12:13: compiler.err.expected: token.identifier +VoidArray.java:14:9: compiler.err.expected: token.identifier +VoidArray.java:14:12: compiler.err.invalid.meth.decl.ret.type.req +VoidArray.java:14:24: compiler.err.expected: token.identifier +VoidArray.java:14:28: compiler.err.expected3: ',', ')', '[' +6 errors From d124a839cec2e8247eec1353324e138fe029f186 Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Thu, 2 Oct 2014 11:36:44 -0700 Subject: [PATCH 26/83] 8059299: assert(adr_type != NULL) failed: expecting TypeKlassPtr Use top() for dead paths when initializing Phi node of exceptions klasses in Parse::catch_inline_exceptions(). Reviewed-by: jrose, vlivanov --- hotspot/src/share/vm/opto/doCall.cpp | 14 +++- hotspot/test/TEST.groups | 2 +- .../exceptions/CatchInlineExceptions.java | 81 +++++++++++++++++++ 3 files changed, 92 insertions(+), 5 deletions(-) create mode 100644 hotspot/test/compiler/exceptions/CatchInlineExceptions.java diff --git a/hotspot/src/share/vm/opto/doCall.cpp b/hotspot/src/share/vm/opto/doCall.cpp index 62eb88460f1..813d9450fc3 100644 --- a/hotspot/src/share/vm/opto/doCall.cpp +++ b/hotspot/src/share/vm/opto/doCall.cpp @@ -802,10 +802,16 @@ void Parse::catch_inline_exceptions(SafePointNode* ex_map) { // each arm of the Phi. If I know something clever about the exceptions // I'm loading the class from, I can replace the LoadKlass with the // klass constant for the exception oop. - if( ex_node->is_Phi() ) { - ex_klass_node = new PhiNode( ex_node->in(0), TypeKlassPtr::OBJECT ); - for( uint i = 1; i < ex_node->req(); i++ ) { - Node* p = basic_plus_adr( ex_node->in(i), ex_node->in(i), oopDesc::klass_offset_in_bytes() ); + if (ex_node->is_Phi()) { + ex_klass_node = new PhiNode(ex_node->in(0), TypeKlassPtr::OBJECT); + for (uint i = 1; i < ex_node->req(); i++) { + Node* ex_in = ex_node->in(i); + if (ex_in == top() || ex_in == NULL) { + // This path was not taken. + ex_klass_node->init_req(i, top()); + continue; + } + Node* p = basic_plus_adr(ex_in, ex_in, oopDesc::klass_offset_in_bytes()); Node* k = _gvn.transform( LoadKlassNode::make(_gvn, immutable_memory(), p, TypeInstPtr::KLASS, TypeKlassPtr::OBJECT) ); ex_klass_node->init_req( i, k ); } diff --git a/hotspot/test/TEST.groups b/hotspot/test/TEST.groups index 6ad554b58d8..a73ae8e5f5a 100644 --- a/hotspot/test/TEST.groups +++ b/hotspot/test/TEST.groups @@ -440,7 +440,7 @@ hotspot_compiler_3 = \ compiler/codegen/ \ compiler/cpuflags/RestoreMXCSR.java \ compiler/EscapeAnalysis/ \ - compiler/exceptions/TestRecursiveReplacedException.java \ + compiler/exceptions/ \ compiler/floatingpoint/ModNaN.java \ compiler/gcbarriers/G1CrashTest.java \ compiler/inlining/ \ diff --git a/hotspot/test/compiler/exceptions/CatchInlineExceptions.java b/hotspot/test/compiler/exceptions/CatchInlineExceptions.java new file mode 100644 index 00000000000..01be927cf7b --- /dev/null +++ b/hotspot/test/compiler/exceptions/CatchInlineExceptions.java @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2014, 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 8059299 + * @summary assert(adr_type != NULL) failed: expecting TypeKlassPtr + * @run main/othervm -Xbatch CatchInlineExceptions + */ + +class Exception1 extends Exception {}; +class Exception2 extends Exception {}; + +public class CatchInlineExceptions { + private static int counter0; + private static int counter1; + private static int counter2; + private static int counter; + + static void foo(int i) throws Exception { + if ((i & 1023) == 2) { + counter0++; + throw new Exception2(); + } + } + + static void test(int i) throws Exception { + try { + foo(i); + } + catch (Exception e) { + if (e instanceof Exception1) { + counter1++; + } else if (e instanceof Exception2) { + counter2++; + } + counter++; + throw e; + } + } + + public static void main(String[] args) throws Throwable { + for (int i = 0; i < 15000; i++) { + try { + test(i); + } catch (Exception e) { + // expected + } + } + if (counter1 != 0) { + throw new RuntimeException("Failed: counter1(" + counter1 + ") != 0"); + } + if (counter2 != counter) { + throw new RuntimeException("Failed: counter2(" + counter2 + ") != counter0(" + counter0 + ")"); + } + if (counter2 != counter) { + throw new RuntimeException("Failed: counter2(" + counter2 + ") != counter(" + counter + ")"); + } + System.out.println("TEST PASSED"); + } +} From 3263a62bb4fbb74af2731c20cc0d84bedd6cff92 Mon Sep 17 00:00:00 2001 From: Goetz Lindenmaier Date: Thu, 2 Oct 2014 09:32:53 +0200 Subject: [PATCH 27/83] 8059592: Recent bugfixes in ppc64 port Reviewed-by: kvn --- hotspot/make/aix/makefiles/fastdebug.make | 1 - hotspot/src/cpu/ppc/vm/assembler_ppc.hpp | 117 +++++++++++++++++- .../src/cpu/ppc/vm/assembler_ppc.inline.hpp | 52 ++++++++ .../src/cpu/ppc/vm/globalDefinitions_ppc.hpp | 2 + hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp | 1 - hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp | 1 - hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp | 14 +-- hotspot/src/cpu/ppc/vm/ppc.ad | 58 +++++---- hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp | 6 +- .../src/cpu/ppc/vm/templateTable_ppc_64.cpp | 4 - .../vm/prefetch_linux_ppc.inline.hpp | 2 +- 11 files changed, 207 insertions(+), 51 deletions(-) diff --git a/hotspot/make/aix/makefiles/fastdebug.make b/hotspot/make/aix/makefiles/fastdebug.make index 40d792002e6..33bf50940b9 100644 --- a/hotspot/make/aix/makefiles/fastdebug.make +++ b/hotspot/make/aix/makefiles/fastdebug.make @@ -67,7 +67,6 @@ MAPFILE = $(GAMMADIR)/make/aix/makefiles/mapfile-vers-debug # not justified. LFLAGS_QIPA= -G_SUFFIX = _g VERSION = optimized SYSDEFS += -DASSERT -DFASTDEBUG PICFLAGS = DEFAULT diff --git a/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp b/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp index 0c8cf435aea..7d9aecb310f 100644 --- a/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp +++ b/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp @@ -268,8 +268,35 @@ class Assembler : public AbstractAssembler { ISEL_OPCODE = (31u << OPCODE_SHIFT | 15u << 1), - MTLR_OPCODE = (31u << OPCODE_SHIFT | 467u << 1 | 8 << SPR_0_4_SHIFT), - MFLR_OPCODE = (31u << OPCODE_SHIFT | 339u << 1 | 8 << SPR_0_4_SHIFT), + // Special purpose registers + MTSPR_OPCODE = (31u << OPCODE_SHIFT | 467u << 1), + MFSPR_OPCODE = (31u << OPCODE_SHIFT | 339u << 1), + + MTXER_OPCODE = (MTSPR_OPCODE | 1 << SPR_0_4_SHIFT), + MFXER_OPCODE = (MFSPR_OPCODE | 1 << SPR_0_4_SHIFT), + + MTDSCR_OPCODE = (MTSPR_OPCODE | 3 << SPR_0_4_SHIFT), + MFDSCR_OPCODE = (MFSPR_OPCODE | 3 << SPR_0_4_SHIFT), + + MTLR_OPCODE = (MTSPR_OPCODE | 8 << SPR_0_4_SHIFT), + MFLR_OPCODE = (MFSPR_OPCODE | 8 << SPR_0_4_SHIFT), + + MTCTR_OPCODE = (MTSPR_OPCODE | 9 << SPR_0_4_SHIFT), + MFCTR_OPCODE = (MFSPR_OPCODE | 9 << SPR_0_4_SHIFT), + + MTTFHAR_OPCODE = (MTSPR_OPCODE | 128 << SPR_0_4_SHIFT), + MFTFHAR_OPCODE = (MFSPR_OPCODE | 128 << SPR_0_4_SHIFT), + MTTFIAR_OPCODE = (MTSPR_OPCODE | 129 << SPR_0_4_SHIFT), + MFTFIAR_OPCODE = (MFSPR_OPCODE | 129 << SPR_0_4_SHIFT), + MTTEXASR_OPCODE = (MTSPR_OPCODE | 130 << SPR_0_4_SHIFT), + MFTEXASR_OPCODE = (MFSPR_OPCODE | 130 << SPR_0_4_SHIFT), + MTTEXASRU_OPCODE = (MTSPR_OPCODE | 131 << SPR_0_4_SHIFT), + MFTEXASRU_OPCODE = (MFSPR_OPCODE | 131 << SPR_0_4_SHIFT), + + MTVRSAVE_OPCODE = (MTSPR_OPCODE | 256 << SPR_0_4_SHIFT), + MFVRSAVE_OPCODE = (MFSPR_OPCODE | 256 << SPR_0_4_SHIFT), + + MFTB_OPCODE = (MFSPR_OPCODE | 268 << SPR_0_4_SHIFT), MTCRF_OPCODE = (31u << OPCODE_SHIFT | 144u << 1), MFCR_OPCODE = (31u << OPCODE_SHIFT | 19u << 1), @@ -291,9 +318,6 @@ class Assembler : public AbstractAssembler { // CTR-related opcodes BCCTR_OPCODE = (19u << OPCODE_SHIFT | 528u << 1), - MTCTR_OPCODE = (31u << OPCODE_SHIFT | 467u << 1 | 9 << SPR_0_4_SHIFT), - MFCTR_OPCODE = (31u << OPCODE_SHIFT | 339u << 1 | 9 << SPR_0_4_SHIFT), - LWZ_OPCODE = (32u << OPCODE_SHIFT), LWZX_OPCODE = (31u << OPCODE_SHIFT | 23u << 1), @@ -585,6 +609,37 @@ class Assembler : public AbstractAssembler { MTVSCR_OPCODE = (4u << OPCODE_SHIFT | 1604u ), MFVSCR_OPCODE = (4u << OPCODE_SHIFT | 1540u ), + // AES (introduced with Power 8) + VCIPHER_OPCODE = (4u << OPCODE_SHIFT | 1288u), + VCIPHERLAST_OPCODE = (4u << OPCODE_SHIFT | 1289u), + VNCIPHER_OPCODE = (4u << OPCODE_SHIFT | 1352u), + VNCIPHERLAST_OPCODE = (4u << OPCODE_SHIFT | 1353u), + VSBOX_OPCODE = (4u << OPCODE_SHIFT | 1480u), + + // SHA (introduced with Power 8) + VSHASIGMAD_OPCODE = (4u << OPCODE_SHIFT | 1730u), + VSHASIGMAW_OPCODE = (4u << OPCODE_SHIFT | 1666u), + + // Vector Binary Polynomial Multiplication (introduced with Power 8) + VPMSUMB_OPCODE = (4u << OPCODE_SHIFT | 1032u), + VPMSUMD_OPCODE = (4u << OPCODE_SHIFT | 1224u), + VPMSUMH_OPCODE = (4u << OPCODE_SHIFT | 1096u), + VPMSUMW_OPCODE = (4u << OPCODE_SHIFT | 1160u), + + // Vector Permute and Xor (introduced with Power 8) + VPERMXOR_OPCODE = (4u << OPCODE_SHIFT | 45u), + + // Transactional Memory instructions (introduced with Power 8) + TBEGIN_OPCODE = (31u << OPCODE_SHIFT | 654u << 1), + TEND_OPCODE = (31u << OPCODE_SHIFT | 686u << 1), + TABORT_OPCODE = (31u << OPCODE_SHIFT | 910u << 1), + TABORTWC_OPCODE = (31u << OPCODE_SHIFT | 782u << 1), + TABORTWCI_OPCODE = (31u << OPCODE_SHIFT | 846u << 1), + TABORTDC_OPCODE = (31u << OPCODE_SHIFT | 814u << 1), + TABORTDCI_OPCODE = (31u << OPCODE_SHIFT | 878u << 1), + TSR_OPCODE = (31u << OPCODE_SHIFT | 750u << 1), + TCHECK_OPCODE = (31u << OPCODE_SHIFT | 718u << 1), + // Icache and dcache related instructions DCBA_OPCODE = (31u << OPCODE_SHIFT | 758u << 1), DCBZ_OPCODE = (31u << OPCODE_SHIFT | 1014u << 1), @@ -1420,6 +1475,25 @@ class Assembler : public AbstractAssembler { inline void mcrf( ConditionRegister crd, ConditionRegister cra); inline void mtcr( Register s); + // Special purpose registers + // Exception Register + inline void mtxer(Register s1); + inline void mfxer(Register d); + // Vector Register Save Register + inline void mtvrsave(Register s1); + inline void mfvrsave(Register d); + // Timebase + inline void mftb(Register d); + // Introduced with Power 8: + // Data Stream Control Register + inline void mtdscr(Register s1); + inline void mfdscr(Register d ); + // Transactional Memory Registers + inline void mftfhar(Register d); + inline void mftfiar(Register d); + inline void mftexasr(Register d); + inline void mftexasru(Register d); + // PPC 1, section 2.4.1 Branch Instructions inline void b( address a, relocInfo::relocType rt = relocInfo::none); inline void b( Label& L); @@ -1860,6 +1934,39 @@ class Assembler : public AbstractAssembler { inline void mtvscr( VectorRegister b); inline void mfvscr( VectorRegister d); + // AES (introduced with Power 8) + inline void vcipher( VectorRegister d, VectorRegister a, VectorRegister b); + inline void vcipherlast( VectorRegister d, VectorRegister a, VectorRegister b); + inline void vncipher( VectorRegister d, VectorRegister a, VectorRegister b); + inline void vncipherlast(VectorRegister d, VectorRegister a, VectorRegister b); + inline void vsbox( VectorRegister d, VectorRegister a); + + // SHA (introduced with Power 8) + // Not yet implemented. + + // Vector Binary Polynomial Multiplication (introduced with Power 8) + inline void vpmsumb( VectorRegister d, VectorRegister a, VectorRegister b); + inline void vpmsumd( VectorRegister d, VectorRegister a, VectorRegister b); + inline void vpmsumh( VectorRegister d, VectorRegister a, VectorRegister b); + inline void vpmsumw( VectorRegister d, VectorRegister a, VectorRegister b); + + // Vector Permute and Xor (introduced with Power 8) + inline void vpermxor( VectorRegister d, VectorRegister a, VectorRegister b, VectorRegister c); + + // Transactional Memory instructions (introduced with Power 8) + inline void tbegin_(); // R=0 + inline void tbeginrot_(); // R=1 Rollback-Only Transaction + inline void tend_(); // A=0 + inline void tendall_(); // A=1 + inline void tabort_(Register a); + inline void tabortwc_(int t, Register a, Register b); + inline void tabortwci_(int t, Register a, int si); + inline void tabortdc_(int t, Register a, Register b); + inline void tabortdci_(int t, Register a, int si); + inline void tsuspend_(); // tsr with L=0 + inline void tresume_(); // tsr with L=1 + inline void tcheck(int f); + // The following encoders use r0 as second operand. These instructions // read r0 as '0'. inline void lwzx( Register d, Register s2); diff --git a/hotspot/src/cpu/ppc/vm/assembler_ppc.inline.hpp b/hotspot/src/cpu/ppc/vm/assembler_ppc.inline.hpp index 87db4bff89d..b4a7370994d 100644 --- a/hotspot/src/cpu/ppc/vm/assembler_ppc.inline.hpp +++ b/hotspot/src/cpu/ppc/vm/assembler_ppc.inline.hpp @@ -312,6 +312,25 @@ inline void Assembler::mcrf( ConditionRegister crd, ConditionRegister cra) { emit_int32(MCRF_OPCODE | bf(crd) | bfa(cra)); } inline void Assembler::mtcr( Register s) { Assembler::mtcrf(0xff, s); } +// Special purpose registers +// Exception Register +inline void Assembler::mtxer(Register s1) { emit_int32(MTXER_OPCODE | rs(s1)); } +inline void Assembler::mfxer(Register d ) { emit_int32(MFXER_OPCODE | rt(d)); } +// Vector Register Save Register +inline void Assembler::mtvrsave(Register s1) { emit_int32(MTVRSAVE_OPCODE | rs(s1)); } +inline void Assembler::mfvrsave(Register d ) { emit_int32(MFVRSAVE_OPCODE | rt(d)); } +// Timebase +inline void Assembler::mftb(Register d ) { emit_int32(MFTB_OPCODE | rt(d)); } +// Introduced with Power 8: +// Data Stream Control Register +inline void Assembler::mtdscr(Register s1) { emit_int32(MTDSCR_OPCODE | rs(s1)); } +inline void Assembler::mfdscr(Register d ) { emit_int32(MFDSCR_OPCODE | rt(d)); } +// Transactional Memory Registers +inline void Assembler::mftfhar(Register d ) { emit_int32(MFTFHAR_OPCODE | rt(d)); } +inline void Assembler::mftfiar(Register d ) { emit_int32(MFTFIAR_OPCODE | rt(d)); } +inline void Assembler::mftexasr(Register d ) { emit_int32(MFTEXASR_OPCODE | rt(d)); } +inline void Assembler::mftexasru(Register d ) { emit_int32(MFTEXASRU_OPCODE | rt(d)); } + // SAP JVM 2006-02-13 PPC branch instruction. // PPC 1, section 2.4.1 Branch Instructions inline void Assembler::b( address a, relocInfo::relocType rt) { emit_data(BXX_OPCODE| li(disp( intptr_t(a), intptr_t(pc()))) |aa(0)|lk(0), rt); } @@ -735,6 +754,39 @@ inline void Assembler::vsrah( VectorRegister d, VectorRegister a, VectorRegist inline void Assembler::mtvscr( VectorRegister b) { emit_int32( MTVSCR_OPCODE | vrb(b)); } inline void Assembler::mfvscr( VectorRegister d) { emit_int32( MFVSCR_OPCODE | vrt(d)); } +// AES (introduced with Power 8) +inline void Assembler::vcipher( VectorRegister d, VectorRegister a, VectorRegister b) { emit_int32( VCIPHER_OPCODE | vrt(d) | vra(a) | vrb(b)); } +inline void Assembler::vcipherlast( VectorRegister d, VectorRegister a, VectorRegister b) { emit_int32( VCIPHERLAST_OPCODE | vrt(d) | vra(a) | vrb(b)); } +inline void Assembler::vncipher( VectorRegister d, VectorRegister a, VectorRegister b) { emit_int32( VNCIPHER_OPCODE | vrt(d) | vra(a) | vrb(b)); } +inline void Assembler::vncipherlast(VectorRegister d, VectorRegister a, VectorRegister b) { emit_int32( VNCIPHERLAST_OPCODE | vrt(d) | vra(a) | vrb(b)); } +inline void Assembler::vsbox( VectorRegister d, VectorRegister a) { emit_int32( VSBOX_OPCODE | vrt(d) | vra(a) ); } + +// SHA (introduced with Power 8) +// Not yet implemented. + +// Vector Binary Polynomial Multiplication (introduced with Power 8) +inline void Assembler::vpmsumb( VectorRegister d, VectorRegister a, VectorRegister b) { emit_int32( VPMSUMB_OPCODE | vrt(d) | vra(a) | vrb(b)); } +inline void Assembler::vpmsumd( VectorRegister d, VectorRegister a, VectorRegister b) { emit_int32( VPMSUMD_OPCODE | vrt(d) | vra(a) | vrb(b)); } +inline void Assembler::vpmsumh( VectorRegister d, VectorRegister a, VectorRegister b) { emit_int32( VPMSUMH_OPCODE | vrt(d) | vra(a) | vrb(b)); } +inline void Assembler::vpmsumw( VectorRegister d, VectorRegister a, VectorRegister b) { emit_int32( VPMSUMW_OPCODE | vrt(d) | vra(a) | vrb(b)); } + +// Vector Permute and Xor (introduced with Power 8) +inline void Assembler::vpermxor( VectorRegister d, VectorRegister a, VectorRegister b, VectorRegister c) { emit_int32( VPMSUMW_OPCODE | vrt(d) | vra(a) | vrb(b) | vrc(c)); } + +// Transactional Memory instructions (introduced with Power 8) +inline void Assembler::tbegin_() { emit_int32( TBEGIN_OPCODE | rc(1)); } +inline void Assembler::tbeginrot_() { emit_int32( TBEGIN_OPCODE | /*R=1*/ 1u << (31-10) | rc(1)); } +inline void Assembler::tend_() { emit_int32( TEND_OPCODE | rc(1)); } +inline void Assembler::tendall_() { emit_int32( TEND_OPCODE | /*A=1*/ 1u << (31-6) | rc(1)); } +inline void Assembler::tabort_(Register a) { emit_int32( TABORT_OPCODE | ra(a) | rc(1)); } +inline void Assembler::tabortwc_(int t, Register a, Register b) { emit_int32( TABORTWC_OPCODE | to(t) | ra(a) | rb(b) | rc(1)); } +inline void Assembler::tabortwci_(int t, Register a, int si) { emit_int32( TABORTWCI_OPCODE | to(t) | ra(a) | sh1620(si) | rc(1)); } +inline void Assembler::tabortdc_(int t, Register a, Register b) { emit_int32( TABORTDC_OPCODE | to(t) | ra(a) | rb(b) | rc(1)); } +inline void Assembler::tabortdci_(int t, Register a, int si) { emit_int32( TABORTDCI_OPCODE | to(t) | ra(a) | sh1620(si) | rc(1)); } +inline void Assembler::tsuspend_() { emit_int32( TSR_OPCODE | rc(1)); } +inline void Assembler::tresume_() { emit_int32( TSR_OPCODE | /*L=1*/ 1u << (31-10) | rc(1)); } +inline void Assembler::tcheck(int f) { emit_int32( TCHECK_OPCODE | bf(f)); } + // ra0 version inline void Assembler::lwzx( Register d, Register s2) { emit_int32( LWZX_OPCODE | rt(d) | rb(s2));} inline void Assembler::lwz( Register d, int si16 ) { emit_int32( LWZ_OPCODE | rt(d) | d1(si16));} diff --git a/hotspot/src/cpu/ppc/vm/globalDefinitions_ppc.hpp b/hotspot/src/cpu/ppc/vm/globalDefinitions_ppc.hpp index 4cd5efdd4c3..bd8bef477da 100644 --- a/hotspot/src/cpu/ppc/vm/globalDefinitions_ppc.hpp +++ b/hotspot/src/cpu/ppc/vm/globalDefinitions_ppc.hpp @@ -37,6 +37,8 @@ const int StackAlignmentInBytes = 16; // signatures accordingly. const bool CCallingConventionRequiresIntsAsLongs = true; +#define SUPPORTS_NATIVE_CX8 + // The PPC CPUs are NOT multiple-copy-atomic. #define CPU_NOT_MULTIPLE_COPY_ATOMIC diff --git a/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp b/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp index 91decd076e7..6c89a18c03b 100644 --- a/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp +++ b/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp @@ -25,7 +25,6 @@ #include "precompiled.hpp" -#include "asm/assembler.hpp" #include "asm/macroAssembler.inline.hpp" #include "interp_masm_ppc_64.hpp" #include "interpreter/interpreterRuntime.hpp" diff --git a/hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp b/hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp index d64da8ea17a..be85db68c82 100644 --- a/hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp +++ b/hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp @@ -24,7 +24,6 @@ */ #include "precompiled.hpp" -#include "asm/assembler.hpp" #include "asm/macroAssembler.inline.hpp" #include "interpreter/bytecodeHistogram.hpp" #include "interpreter/interpreter.hpp" diff --git a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp index 4366af19626..1b98de177dc 100644 --- a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp +++ b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp @@ -2366,7 +2366,7 @@ void MacroAssembler::g1_write_barrier_post(Register Rstore_addr, Register Rnew_v #endif // INCLUDE_ALL_GCS // Values for last_Java_pc, and last_Java_sp must comply to the rules -// in frame_ppc64.hpp. +// in frame_ppc.hpp. void MacroAssembler::set_last_Java_frame(Register last_Java_sp, Register last_Java_pc) { // Always set last_Java_pc and flags first because once last_Java_sp // is visible has_last_Java_frame is true and users will look at the @@ -2493,6 +2493,7 @@ int MacroAssembler::instr_size_for_decode_klass_not_null() { } void MacroAssembler::decode_klass_not_null(Register dst, Register src) { + assert(dst != R0, "Dst reg may not be R0, as R0 is used here."); if (src == noreg) src = dst; Register shifted_src = src; if (Universe::narrow_klass_shift() != 0 || @@ -2527,14 +2528,11 @@ void MacroAssembler::load_klass_with_trap_null_check(Register dst, Register src) void MacroAssembler::reinit_heapbase(Register d, Register tmp) { if (Universe::heap() != NULL) { - if (Universe::narrow_oop_base() == NULL) { - Assembler::xorr(R30, R30, R30); - } else { - load_const(R30, Universe::narrow_ptrs_base(), tmp); - } + load_const_optimized(R30, Universe::narrow_ptrs_base(), tmp); } else { - load_const(R30, Universe::narrow_ptrs_base_addr(), tmp); - ld(R30, 0, R30); + // Heap not yet allocated. Load indirectly. + int simm16_offset = load_const_optimized(R30, Universe::narrow_ptrs_base_addr(), tmp, true); + ld(R30, simm16_offset, R30); } } diff --git a/hotspot/src/cpu/ppc/vm/ppc.ad b/hotspot/src/cpu/ppc/vm/ppc.ad index ab2d535bbc9..d68749c8ca1 100644 --- a/hotspot/src/cpu/ppc/vm/ppc.ad +++ b/hotspot/src/cpu/ppc/vm/ppc.ad @@ -1249,6 +1249,7 @@ EmitCallOffsets emit_call_with_trampoline_stub(MacroAssembler &_masm, address en // Emit the trampoline stub which will be related to the branch-and-link below. CallStubImpl::emit_trampoline_stub(_masm, entry_point_toc_offset, offsets.insts_call_instruction_offset); + if (Compile::current()->env()->failing()) { return offsets; } // Code cache may be full. __ relocate(rtype); } @@ -1410,7 +1411,7 @@ void MachPrologNode::emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const { while (bang_offset <= bang_end) { // Need at least one stack bang at end of shadow zone. - // Again I had to copy code, this time from assembler_ppc64.cpp, + // Again I had to copy code, this time from assembler_ppc.cpp, // bang_stack_with_offset - see there for comments. // Stack grows down, caller passes positive offset. @@ -2000,7 +2001,7 @@ void MachUEPNode::emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const { // Inline_cache contains a klass. Register ic_klass = as_Register(Matcher::inline_cache_reg_encode()); - Register receiver_klass = R0; // tmp + Register receiver_klass = R12_scratch2; // tmp assert_different_registers(ic_klass, receiver_klass, R11_scratch1, R3_ARG1); assert(R11_scratch1 == R11, "need prologue scratch register"); @@ -3484,6 +3485,7 @@ encode %{ // Emit the trampoline stub which will be related to the branch-and-link below. CallStubImpl::emit_trampoline_stub(_masm, entry_point_toc_offset, start_offset); + if (Compile::current()->env()->failing()) { return; } // Code cache may be full. __ relocate(_optimized_virtual ? relocInfo::opt_virtual_call_type : relocInfo::static_call_type); } @@ -3527,6 +3529,7 @@ encode %{ // Emit the trampoline stub which will be related to the branch-and-link below. CallStubImpl::emit_trampoline_stub(_masm, entry_point_toc_offset, start_offset); + if (ra_->C->env()->failing()) { return; } // Code cache may be full. assert(_optimized_virtual, "methodHandle call should be a virtual call"); __ relocate(relocInfo::opt_virtual_call_type); } @@ -3577,9 +3580,7 @@ encode %{ const address entry_point_const = __ address_constant(entry_point, RelocationHolder::none); const int entry_point_const_toc_offset = __ offset_to_method_toc(entry_point_const); CallStubImpl::emit_trampoline_stub(_masm, entry_point_const_toc_offset, __ offset()); - - if (ra_->C->env()->failing()) - return; + if (ra_->C->env()->failing()) { return; } // Code cache may be full. // Build relocation at call site with ic position as data. assert((_load_ic_hi_node != NULL && _load_ic_node == NULL) || @@ -5638,19 +5639,6 @@ instruct loadNKlass(iRegNdst dst, memory mem) %{ ins_pipe(pipe_class_memory); %} -//// Load compressed klass and decode it if narrow_klass_shift == 0. -//// TODO: will narrow_klass_shift ever be 0? -//instruct decodeNKlass2Klass(iRegPdst dst, memory mem) %{ -// match(Set dst (DecodeNKlass (LoadNKlass mem))); -// predicate(false /* TODO: PPC port Universe::narrow_klass_shift() == 0*); -// ins_cost(MEMORY_REF_COST); -// -// format %{ "LWZ $dst, $mem \t// DecodeNKlass (unscaled)" %} -// size(4); -// ins_encode( enc_lwz(dst, mem) ); -// ins_pipe(pipe_class_memory); -//%} - // Load Klass Pointer instruct loadKlass(iRegPdst dst, memoryAlg4 mem) %{ match(Set dst (LoadKlass mem)); @@ -6070,11 +6058,15 @@ instruct loadConN_Ex(iRegNdst dst, immN src) %{ %} %} -instruct loadConNKlass_hi(iRegNdst dst, immNKlass src) %{ +// We have seen a safepoint between the hi and lo parts, and this node was handled +// as an oop. Therefore this needs a match rule so that build_oop_map knows this is +// not a narrow oop. +instruct loadConNKlass_hi(iRegNdst dst, immNKlass_NM src) %{ + match(Set dst src); effect(DEF dst, USE src); ins_cost(DEFAULT_COST); - format %{ "LIS $dst, $src \t// narrow oop hi" %} + format %{ "LIS $dst, $src \t// narrow klass hi" %} size(4); ins_encode %{ // TODO: PPC port $archOpcode(ppc64Opcode_addis); @@ -6084,6 +6076,21 @@ instruct loadConNKlass_hi(iRegNdst dst, immNKlass src) %{ ins_pipe(pipe_class_default); %} +// As loadConNKlass_hi this must be recognized as narrow klass, not oop! +instruct loadConNKlass_mask(iRegNdst dst, immNKlass_NM src1, iRegNsrc src2) %{ + match(Set dst src1); + effect(TEMP src2); + ins_cost(DEFAULT_COST); + + format %{ "MASK $dst, $src2, 0xFFFFFFFF" %} // mask + size(4); + ins_encode %{ + // TODO: PPC port $archOpcode(ppc64Opcode_rldicl); + __ clrldi($dst$$Register, $src2$$Register, 0x20); + %} + ins_pipe(pipe_class_default); +%} + // This needs a match rule so that build_oop_map knows this is // not a narrow oop. instruct loadConNKlass_lo(iRegNdst dst, immNKlass_NM src1, iRegNsrc src2) %{ @@ -6091,10 +6098,10 @@ instruct loadConNKlass_lo(iRegNdst dst, immNKlass_NM src1, iRegNsrc src2) %{ effect(TEMP src2); ins_cost(DEFAULT_COST); - format %{ "ADDI $dst, $src1, $src2 \t// narrow oop lo" %} + format %{ "ORI $dst, $src1, $src2 \t// narrow klass lo" %} size(4); ins_encode %{ - // TODO: PPC port $archOpcode(ppc64Opcode_addi); + // TODO: PPC port $archOpcode(ppc64Opcode_ori); intptr_t Csrc = Klass::encode_klass((Klass *)$src1$$constant); assert(__ oop_recorder() != NULL, "this assembler needs an OopRecorder"); int klass_index = __ oop_recorder()->find_index((Klass *)$src1$$constant); @@ -6125,10 +6132,11 @@ instruct loadConNKlass_Ex(iRegNdst dst, immNKlass src) %{ MachNode *m2 = m1; if (!Assembler::is_uimm((jlong)Klass::encode_klass((Klass *)op_src->constant()), 31)) { // Value might be 1-extended. Mask out these bits. - m2 = new clearMs32bNode(); + m2 = new loadConNKlass_maskNode(); m2->add_req(NULL, m1); m2->_opnds[0] = op_dst; - m2->_opnds[1] = op_dst; + m2->_opnds[1] = op_src; + m2->_opnds[2] = op_dst; ra_->set_pair(m2->_idx, ra_->get_reg_second(this), ra_->get_reg_first(this)); nodes->push(m2); } @@ -6973,7 +6981,7 @@ instruct encodePKlass_32GAligned(iRegNdst dst, iRegPsrc src) %{ size(4); ins_encode %{ // TODO: PPC port $archOpcode(ppc64Opcode_rldicl); - __ rldicl($dst$$Register, $src$$Register, 64-Universe::narrow_oop_shift(), 32); + __ rldicl($dst$$Register, $src$$Register, 64-Universe::narrow_klass_shift(), 32); %} ins_pipe(pipe_class_default); %} diff --git a/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp b/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp index 290a4be01b0..0f8c752cacc 100644 --- a/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp +++ b/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp @@ -24,7 +24,6 @@ */ #include "precompiled.hpp" -#include "asm/assembler.hpp" #include "asm/macroAssembler.inline.hpp" #include "interpreter/interpreter.hpp" #include "nativeInst_ppc.hpp" @@ -39,9 +38,6 @@ #include "runtime/stubCodeGenerator.hpp" #include "runtime/stubRoutines.hpp" #include "utilities/top.hpp" -#ifdef COMPILER2 -#include "opto/runtime.hpp" -#endif #include "runtime/thread.inline.hpp" #define __ _masm-> @@ -216,7 +212,7 @@ class StubGenerator: public StubCodeGenerator { { BLOCK_COMMENT("Call frame manager or native entry."); // Call frame manager or native entry. - Register r_new_arg_entry = R14; // PPC_state; + Register r_new_arg_entry = R14; assert_different_registers(r_new_arg_entry, r_top_of_arguments_addr, r_arg_method, r_arg_thread); diff --git a/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.cpp b/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.cpp index 663c5744095..f0c7097abbd 100644 --- a/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.cpp +++ b/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.cpp @@ -353,7 +353,6 @@ void TemplateTable::ldc(bool wide) { __ sldi(Rscratch1, Rscratch1, LogBytesPerWord); __ cmpdi(CCR0, Rscratch2, JVM_CONSTANT_Integer); __ bne(CCR0, notInt); - __ isync(); // Order load of constant wrt. tags. __ lwax(R17_tos, Rcpool, Rscratch1); __ push(itos); __ b(exit); @@ -365,7 +364,6 @@ void TemplateTable::ldc(bool wide) { __ cmpdi(CCR0, Rscratch2, JVM_CONSTANT_Float); __ asm_assert_eq("unexpected type", 0x8765); #endif - __ isync(); // Order load of constant wrt. tags. __ lfsx(F15_ftos, Rcpool, Rscratch1); __ push(ftos); @@ -424,13 +422,11 @@ void TemplateTable::ldc2_w() { // Check out Conversions.java for an example. // Also ConstantPool::header_size() is 20, which makes it very difficult // to double-align double on the constant pool. SG, 11/7/97 - __ isync(); // Order load of constant wrt. tags. __ lfdx(F15_ftos, Rcpool, Rindex); __ push(dtos); __ b(Lexit); __ bind(Llong); - __ isync(); // Order load of constant wrt. tags. __ ldx(R17_tos, Rcpool, Rindex); __ push(ltos); diff --git a/hotspot/src/os_cpu/linux_ppc/vm/prefetch_linux_ppc.inline.hpp b/hotspot/src/os_cpu/linux_ppc/vm/prefetch_linux_ppc.inline.hpp index c14df6ef9d3..c3b880f87ac 100644 --- a/hotspot/src/os_cpu/linux_ppc/vm/prefetch_linux_ppc.inline.hpp +++ b/hotspot/src/os_cpu/linux_ppc/vm/prefetch_linux_ppc.inline.hpp @@ -47,4 +47,4 @@ inline void Prefetch::write(void *loc, intx interval) { ); } -#endif // OS_CPU_LINUX_PPC_VM_PREFETCH_LINUX_OJDKPPC_HPP +#endif // OS_CPU_LINUX_PPC_VM_PREFETCH_LINUX_PPC_INLINE_HPP From c7df19bca445bd4bffe780689480f589ea925b84 Mon Sep 17 00:00:00 2001 From: Attila Szegedi Date: Thu, 2 Oct 2014 16:30:49 +0200 Subject: [PATCH 28/83] 8059346: Single class loader is used to load compiled bytecode Reviewed-by: hannesw, lagergren --- .../internal/runtime/CodeInstaller.java | 17 +++++++ .../jdk/nashorn/internal/runtime/Context.java | 17 ++++++- .../RecompilableScriptFunctionData.java | 44 +++++++++++++------ 3 files changed, 63 insertions(+), 15 deletions(-) diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CodeInstaller.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CodeInstaller.java index 4e001b4da2e..e2b5afe8b3e 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CodeInstaller.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CodeInstaller.java @@ -100,4 +100,21 @@ public interface CodeInstaller { * @return compiled script data */ public StoredScript loadScript(Source source, String functionKey); + + /** + * Returns a new code installer that shares most of the functionality of this code installer, but uses a + * new, independent class loader. + * @return a new code installer with a new independent class loader. + */ + public CodeInstaller withNewLoader(); + + /** + * Returns true if this code installer is compatible with the other code installer. Compatibility is expected to be + * an equivalence relation, and installers are supposed to be compatible with those they create using + * {@link #withNewLoader()}. + * @param other the other code installer tested for compatibility with this code installer. + * @return true if this code installer is compatible with the other code installer. + */ + public boolean isCompatibleWith(CodeInstaller other); + } diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java index 99d2ab5061d..8695a5c762a 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java @@ -33,6 +33,7 @@ import static jdk.nashorn.internal.runtime.CodeStore.newCodeStore; import static jdk.nashorn.internal.runtime.ECMAErrors.typeError; import static jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED; import static jdk.nashorn.internal.runtime.Source.sourceFor; + import java.io.File; import java.io.IOException; import java.io.PrintWriter; @@ -158,7 +159,7 @@ public final class Context { } /** - * Return the context for this installer + * Return the script environment for this installer * @return ScriptEnvironment */ @Override @@ -222,6 +223,20 @@ public final class Context { } return null; } + + @Override + public CodeInstaller withNewLoader() { + return new ContextCodeInstaller(context, context.createNewLoader(), codeSource); + } + + @Override + public boolean isCompatibleWith(final CodeInstaller other) { + if (other instanceof ContextCodeInstaller) { + final ContextCodeInstaller cci = (ContextCodeInstaller)other; + return cci.context == context && cci.codeSource == codeSource; + } + return false; + } } /** Is Context global debug mode enabled ? */ diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java index 8449de7abfb..f3ad23393de 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java @@ -26,6 +26,7 @@ package jdk.nashorn.internal.runtime; import static jdk.nashorn.internal.lookup.Lookup.MH; + import java.io.IOException; import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; @@ -268,7 +269,7 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData imp if (this.source == null && this.installer == null) { this.source = src; this.installer = inst; - } else if (this.source != src || this.installer != inst) { + } else if (this.source != src || !this.installer.isCompatibleWith(inst)) { // Existing values must be same as those passed as parameters throw new IllegalArgumentException(); } @@ -407,6 +408,17 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData imp return getCompiler(fn, actualCallSiteType, newLocals(runtimeScope), null, null); } + /** + * Returns a code installer for installing new code. If we're using either optimistic typing or loader-per-compile, + * then asks for a code installer with a new class loader; otherwise just uses the current installer. We use + * a new class loader with optimistic typing so that deoptimized code can get reclaimed by GC. + * @return a code installer for installing new code. + */ + private CodeInstaller getInstallerForNewCode() { + final ScriptEnvironment env = installer.getOwner(); + return env._optimistic_types || env._loader_per_compile ? installer.withNewLoader() : installer; + } + Compiler getCompiler(final FunctionNode functionNode, final MethodType actualCallSiteType, final ScriptObject runtimeScope, final Map invalidatedProgramPoints, final int[] continuationEntryPoints) { @@ -417,7 +429,7 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData imp return new Compiler( context, context.getEnv(), - installer, + getInstallerForNewCode(), functionNode.getSource(), // source context.getErrorManager(), isStrict() | functionNode.isStrict(), // is strict @@ -463,11 +475,12 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData imp final TypeMap typeMap = typeMap(actualCallSiteType); final Type[] paramTypes = typeMap == null ? null : typeMap.getParameterTypes(functionNodeId); cacheKey = CodeStore.getCacheKey(functionNodeId, paramTypes); - final StoredScript script = installer.loadScript(source, cacheKey); + final CodeInstaller newInstaller = getInstallerForNewCode(); + final StoredScript script = newInstaller.loadScript(source, cacheKey); if (script != null) { Compiler.updateCompilationId(script.getCompilationId()); - return install(script); + return installStoredScript(script, newInstaller); } } @@ -481,15 +494,7 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData imp return new FunctionInitializer(compiledFn, compiler.getInvalidatedProgramPoints()); } - - /** - * Install this script using the given {@code installer}. - * - * @param script the compiled script - * @return the function initializer - */ - private FunctionInitializer install(final StoredScript script) { - + private static Map> installStoredScriptClasses(final StoredScript script, final CodeInstaller installer) { final Map> installedClasses = new HashMap<>(); final Map classBytes = script.getClassBytes(); final String mainClassName = script.getMainClassName(); @@ -509,6 +514,17 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData imp installedClasses.put(className, installer.install(className, bytecode)); } + return installedClasses; + } + + /** + * Install this script using the given {@code installer}. + * + * @param script the compiled script + * @return the function initializer + */ + private FunctionInitializer installStoredScript(final StoredScript script, final CodeInstaller newInstaller) { + final Map> installedClasses = installStoredScriptClasses(script, newInstaller); final Map initializers = script.getInitializers(); assert initializers != null; @@ -523,7 +539,7 @@ public final class RecompilableScriptFunctionData extends ScriptFunctionData imp } } - installer.initialize(installedClasses.values(), source, constants); + newInstaller.initialize(installedClasses.values(), source, constants); initializer.setCode(installedClasses.get(initializer.getClassName())); return initializer; } From 9f89f1d4da965820b0bbea59b072a99e5a7eff4c Mon Sep 17 00:00:00 2001 From: Sean Coffey Date: Thu, 2 Oct 2014 17:34:44 +0100 Subject: [PATCH 29/83] 8031191: Warning exception when XMLSignature logging is enabled Reviewed-by: mullan, chegar --- .../internal/security/signature/XMLSignature.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignature.java b/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignature.java index 6ea1443af3a..ae8593bc600 100644 --- a/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignature.java +++ b/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignature.java @@ -699,15 +699,15 @@ public final class XMLSignature extends SignatureElementProxy { //create a SignatureAlgorithms from the SignatureMethod inside //SignedInfo. This is used to validate the signature. SignatureAlgorithm sa = si.getSignatureAlgorithm(); - if (log.isLoggable(java.util.logging.Level.FINE)) { - log.log(java.util.logging.Level.FINE, "signatureMethodURI = " + sa.getAlgorithmURI()); - log.log(java.util.logging.Level.FINE, "jceSigAlgorithm = " + sa.getJCEAlgorithmString()); - log.log(java.util.logging.Level.FINE, "jceSigProvider = " + sa.getJCEProviderName()); - log.log(java.util.logging.Level.FINE, "PublicKey = " + pk); - } byte sigBytes[] = null; try { sa.initVerify(pk); + if (log.isLoggable(java.util.logging.Level.FINE)) { + log.log(java.util.logging.Level.FINE, "signatureMethodURI = " + sa.getAlgorithmURI()); + log.log(java.util.logging.Level.FINE, "jceSigAlgorithm = " + sa.getJCEAlgorithmString()); + log.log(java.util.logging.Level.FINE, "jceSigProvider = " + sa.getJCEProviderName()); + log.log(java.util.logging.Level.FINE, "PublicKey = " + pk); + } // Get the canonicalized (normalized) SignedInfo SignerOutputStream so = new SignerOutputStream(sa); From 192376f622427a0f82172b056466318d8ba9117f Mon Sep 17 00:00:00 2001 From: Erik Joelsson Date: Fri, 3 Oct 2014 10:37:12 +0200 Subject: [PATCH 30/83] 8059135: New Nasgen dependencies to Nashorn breaks the JDK 9 build - bootstrapping problem? Reviewed-by: tbell, attila, lagergren --- .../jdk/nashorn/internal/tools/nasgen/MethodGenerator.java | 3 ++- .../jdk/nashorn/internal/tools/nasgen/ScriptClassInfo.java | 3 ++- nashorn/make/BuildNashorn.gmk | 5 +++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MethodGenerator.java b/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MethodGenerator.java index 3d968e8e192..1a99d828991 100644 --- a/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MethodGenerator.java +++ b/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MethodGenerator.java @@ -85,6 +85,7 @@ import java.util.List; import jdk.internal.org.objectweb.asm.Handle; import jdk.internal.org.objectweb.asm.MethodVisitor; import jdk.internal.org.objectweb.asm.Type; +import jdk.nashorn.internal.objects.annotations.SpecializedFunction.LinkLogic; /** * Base class for all method generating classes. @@ -97,7 +98,7 @@ public class MethodGenerator extends MethodVisitor { private final Type returnType; private final Type[] argumentTypes; - static final Type EMPTY_LINK_LOGIC_TYPE = Type.getType("Ljdk/nashorn/internal/objects/annotations/SpecializedFunction$LinkLogic$Empty;"); + static final Type EMPTY_LINK_LOGIC_TYPE = Type.getType(LinkLogic.getEmptyLinkLogicClass()); MethodGenerator(final MethodVisitor mv, final int access, final String name, final String descriptor) { super(Main.ASM_VERSION, mv); diff --git a/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfo.java b/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfo.java index 5436eb8fde3..9e3dfc174ab 100644 --- a/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfo.java +++ b/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfo.java @@ -38,6 +38,7 @@ import jdk.nashorn.internal.objects.annotations.Property; import jdk.nashorn.internal.objects.annotations.ScriptClass; import jdk.nashorn.internal.objects.annotations.Setter; import jdk.nashorn.internal.objects.annotations.SpecializedFunction; +import jdk.nashorn.internal.objects.annotations.SpecializedFunction.LinkLogic; import jdk.nashorn.internal.objects.annotations.Where; import jdk.nashorn.internal.tools.nasgen.MemberInfo.Kind; @@ -55,8 +56,8 @@ public final class ScriptClassInfo { static final String SETTER_ANNO_DESC = Type.getDescriptor(Setter.class); static final String PROPERTY_ANNO_DESC = Type.getDescriptor(Property.class); static final String WHERE_ENUM_DESC = Type.getDescriptor(Where.class); + static final String LINK_LOGIC_DESC = Type.getDescriptor(LinkLogic.class); static final String SPECIALIZED_FUNCTION = Type.getDescriptor(SpecializedFunction.class); - static final String LINK_LOGIC_DESC = "Ljdk/nashorn/internal/objects/annotations/SpecializedFunction$LinkLogic;"; static final Map annotations = new HashMap<>(); diff --git a/nashorn/make/BuildNashorn.gmk b/nashorn/make/BuildNashorn.gmk index e7838e00d13..fcba486a6db 100644 --- a/nashorn/make/BuildNashorn.gmk +++ b/nashorn/make/BuildNashorn.gmk @@ -29,6 +29,7 @@ default: all -include $(SPEC) include MakeBase.gmk include JavaCompilation.gmk +include SetupJavaCompilers.gmk JDK_CLASSES := $(subst $(SPACE),$(PATH_SEP),$(strip $(addprefix $(JDK_OUTPUTDIR)/modules/, \ java.base java.logging java.scripting))) @@ -63,10 +64,10 @@ ASM_SRC := $(JDK_TOPDIR)/src/java.base/share/classes/jdk/internal/org/objectweb/ # Build nasgen $(eval $(call SetupJavaCompilation,BUILD_NASGEN, \ - SETUP := GENERATE_NEWBYTECODE_DEBUG, \ + SETUP := GENERATE_OLDBYTECODE, \ SRC := $(NASGEN_SRC) $(ASM_SRC), \ BIN := $(NASHORN_OUTPUTDIR)/nasgen_classes, \ - ADD_JAVAC_FLAGS := -cp $(NASHORN_OUTPUTDIR)/nashorn_classes)) + ADD_JAVAC_FLAGS := -bootclasspath "$(BOOT_RTJAR)$(PATH_SEP)$(NASHORN_OUTPUTDIR)/nashorn_classes")) # Nasgen needs nashorn classes $(BUILD_NASGEN): $(BUILD_NASHORN) From 8bef42ee6af60c0c7187abfb0dd64d7af73a9fd1 Mon Sep 17 00:00:00 2001 From: Konstantin Shefov Date: Fri, 3 Oct 2014 12:44:30 +0400 Subject: [PATCH 31/83] 8058695: [TESTBUG] Reinvokers with arity >253 can't be cached Reviewed-by: iignatyev, vlivanov --- .../lang/invoke/LFCaching/TestMethods.java | 67 ++++++++++--------- 1 file changed, 37 insertions(+), 30 deletions(-) diff --git a/jdk/test/java/lang/invoke/LFCaching/TestMethods.java b/jdk/test/java/lang/invoke/LFCaching/TestMethods.java index 794709a7919..875307387a4 100644 --- a/jdk/test/java/lang/invoke/LFCaching/TestMethods.java +++ b/jdk/test/java/lang/invoke/LFCaching/TestMethods.java @@ -44,7 +44,7 @@ public enum TestMethods { @Override public Map getTestCaseData() { Map data = new HashMap<>(); - int desiredArity = Helper.RNG.nextInt(Helper.MAX_ARITY); + int desiredArity = Helper.RNG.nextInt(super.maxArity); MethodType mtTarget = TestMethods.randomMethodTypeGenerator(desiredArity); data.put("mtTarget", mtTarget); // Arity after reducing because of long and double take 2 slots. @@ -83,7 +83,7 @@ public enum TestMethods { @Override public Map getTestCaseData() { Map data = new HashMap<>(); - int desiredArity = Helper.RNG.nextInt(Helper.MAX_ARITY); + int desiredArity = Helper.RNG.nextInt(super.maxArity); MethodType mtTarget = TestMethods.randomMethodTypeGenerator(desiredArity); data.put("mtTarget", mtTarget); // Arity after reducing because of long and double take 2 slots. @@ -91,7 +91,7 @@ public enum TestMethods { int dropArgsPos = Helper.RNG.nextInt(realArity + 1); data.put("dropArgsPos", dropArgsPos); MethodType mtDropArgs = TestMethods.randomMethodTypeGenerator( - Helper.RNG.nextInt(Helper.MAX_ARITY - realArity)); + Helper.RNG.nextInt(super.maxArity - realArity)); data.put("mtDropArgs", mtDropArgs); return data; } @@ -106,20 +106,20 @@ public enum TestMethods { int mtTgtSlotsCount = TestMethods.argSlotsCount(mtTarget); int mtDASlotsCount = TestMethods.argSlotsCount(mtDropArgs); List> fakeParList; - if (mtTgtSlotsCount + mtDASlotsCount > Helper.MAX_ARITY - 1) { + if (mtTgtSlotsCount + mtDASlotsCount > super.maxArity - 1) { fakeParList = TestMethods.reduceArgListToSlotsCount(mtDropArgs.parameterList(), - Helper.MAX_ARITY - mtTgtSlotsCount - 1); + super.maxArity - mtTgtSlotsCount - 1); } else { fakeParList = mtDropArgs.parameterList(); } return MethodHandles.dropArguments(target, dropArgsPos, fakeParList); } }, - EXPLICIT_CAST_ARGUMENTS("explicitCastArguments") { + EXPLICIT_CAST_ARGUMENTS("explicitCastArguments", Helper.MAX_ARITY / 2) { @Override public Map getTestCaseData() { Map data = new HashMap<>(); - int desiredArity = Helper.RNG.nextInt(Helper.MAX_ARITY / 2); + int desiredArity = Helper.RNG.nextInt(super.maxArity); MethodType mtTarget = TestMethods.randomMethodTypeGenerator(desiredArity); data.put("mtTarget", mtTarget); // Arity after reducing because of long and double take 2 slots. @@ -146,11 +146,11 @@ public enum TestMethods { return MethodHandles.explicitCastArguments(target, mtExcplCastArgs); } }, - FILTER_ARGUMENTS("filterArguments") { + FILTER_ARGUMENTS("filterArguments", Helper.MAX_ARITY / 2) { @Override public Map getTestCaseData() { Map data = new HashMap<>(); - int desiredArity = Helper.RNG.nextInt(Helper.MAX_ARITY / 2); + int desiredArity = Helper.RNG.nextInt(super.maxArity); MethodType mtTarget = TestMethods.randomMethodTypeGenerator(desiredArity); data.put("mtTarget", mtTarget); // Arity after reducing because of long and double take 2 slots. @@ -184,7 +184,7 @@ public enum TestMethods { @Override public Map getTestCaseData() { Map data = new HashMap<>(); - int desiredArity = Helper.RNG.nextInt(Helper.MAX_ARITY); + int desiredArity = Helper.RNG.nextInt(super.maxArity); MethodType mtTarget = TestMethods.randomMethodTypeGenerator(desiredArity); data.put("mtTarget", mtTarget); // Arity after reducing because of long and double take 2 slots. @@ -211,7 +211,7 @@ public enum TestMethods { @Override public Map getTestCaseData() { Map data = new HashMap<>(); - int desiredArity = Helper.RNG.nextInt(Helper.MAX_ARITY); + int desiredArity = Helper.RNG.nextInt(super.maxArity); MethodType mtTarget = TestMethods.randomMethodTypeGenerator(desiredArity); data.put("mtTarget", mtTarget); // Arity after reducing because of long and double take 2 slots. @@ -236,18 +236,18 @@ public enum TestMethods { return MethodHandles.insertArguments(target, insertArgsPos, insertList); } }, - PERMUTE_ARGUMENTS("permuteArguments") { + PERMUTE_ARGUMENTS("permuteArguments", Helper.MAX_ARITY / 2) { @Override public Map getTestCaseData() { Map data = new HashMap<>(); - int desiredArity = Helper.RNG.nextInt(Helper.MAX_ARITY / 2); + int desiredArity = Helper.RNG.nextInt(super.maxArity); MethodType mtTarget = TestMethods.randomMethodTypeGenerator(desiredArity); // Arity after reducing because of long and double take 2 slots. int realArity = mtTarget.parameterCount(); int[] permuteArgsReorderArray = new int[realArity]; - int mtParmuteArgsNum = Helper.RNG.nextInt(Helper.MAX_ARITY); - mtParmuteArgsNum = mtParmuteArgsNum == 0 ? 1 : mtParmuteArgsNum; - MethodType mtPermuteArgs = TestMethods.randomMethodTypeGenerator(mtParmuteArgsNum); + int mtPermuteArgsNum = Helper.RNG.nextInt(Helper.MAX_ARITY); + mtPermuteArgsNum = mtPermuteArgsNum == 0 ? 1 : mtPermuteArgsNum; + MethodType mtPermuteArgs = TestMethods.randomMethodTypeGenerator(mtPermuteArgsNum); mtTarget = mtTarget.changeReturnType(mtPermuteArgs.returnType()); for (int i = 0; i < realArity; i++) { int mtPermuteArgsParNum = Helper.RNG.nextInt(mtPermuteArgs.parameterCount()); @@ -275,7 +275,7 @@ public enum TestMethods { @Override public Map getTestCaseData() { Map data = new HashMap<>(); - int desiredArity = Helper.RNG.nextInt(Helper.MAX_ARITY); + int desiredArity = Helper.RNG.nextInt(super.maxArity); MethodType mtTarget = TestMethods.randomMethodTypeGenerator(desiredArity); data.put("mtTarget", mtTarget); return data; @@ -293,7 +293,7 @@ public enum TestMethods { @Override public Map getTestCaseData() { Map data = new HashMap<>(); - int desiredArity = Helper.RNG.nextInt(Helper.MAX_ARITY); + int desiredArity = Helper.RNG.nextInt(super.maxArity); MethodType mtTarget = TestMethods.randomMethodTypeGenerator(desiredArity); data.put("mtTarget", mtTarget); // Arity after reducing because of long and double take 2 slots. @@ -329,7 +329,7 @@ public enum TestMethods { @Override public Map getTestCaseData() { Map data = new HashMap<>(); - int desiredArity = Helper.RNG.nextInt(Helper.MAX_ARITY); + int desiredArity = Helper.RNG.nextInt(super.maxArity); MethodType mtTarget = TestMethods.randomMethodTypeGenerator(desiredArity); data.put("mtTarget", mtTarget); // Arity after reducing because of long and double take 2 slots. @@ -359,11 +359,11 @@ public enum TestMethods { return MethodHandles.catchException(target, Exception.class, handler); } }, - INVOKER("invoker") { + INVOKER("invoker", Helper.MAX_ARITY - 1) { @Override public Map getTestCaseData() { Map data = new HashMap<>(); - int desiredArity = Helper.RNG.nextInt(Helper.MAX_ARITY); + int desiredArity = Helper.RNG.nextInt(super.maxArity); MethodType mtTarget = TestMethods.randomMethodTypeGenerator(desiredArity); data.put("mtTarget", mtTarget); return data; @@ -375,11 +375,11 @@ public enum TestMethods { return MethodHandles.invoker(mtTarget); } }, - EXACT_INVOKER("exactInvoker") { + EXACT_INVOKER("exactInvoker", Helper.MAX_ARITY - 1) { @Override public Map getTestCaseData() { Map data = new HashMap<>(); - int desiredArity = Helper.RNG.nextInt(Helper.MAX_ARITY); + int desiredArity = Helper.RNG.nextInt(super.maxArity); MethodType mtTarget = TestMethods.randomMethodTypeGenerator(desiredArity); data.put("mtTarget", mtTarget); return data; @@ -391,11 +391,11 @@ public enum TestMethods { return MethodHandles.exactInvoker(mtTarget); } }, - SPREAD_INVOKER("spreadInvoker") { + SPREAD_INVOKER("spreadInvoker", Helper.MAX_ARITY - 1) { @Override public Map getTestCaseData() { Map data = new HashMap<>(); - int desiredArity = Helper.RNG.nextInt(Helper.MAX_ARITY); + int desiredArity = Helper.RNG.nextInt(super.maxArity); MethodType mtTarget = TestMethods.randomMethodTypeGenerator(desiredArity); data.put("mtTarget", mtTarget); // Arity after reducing because of long and double take 2 slots. @@ -416,7 +416,7 @@ public enum TestMethods { @Override public Map getTestCaseData() { Map data = new HashMap<>(); - int desiredArity = Helper.RNG.nextInt(Helper.MAX_ARITY); + int desiredArity = Helper.RNG.nextInt(super.maxArity); MethodType mtTarget = TestMethods.randomMethodTypeGenerator(desiredArity); data.put("mtTarget", mtTarget); return data; @@ -436,7 +436,7 @@ public enum TestMethods { @Override public Map getTestCaseData() { Map data = new HashMap<>(); - int desiredArity = Helper.RNG.nextInt(Helper.MAX_ARITY); + int desiredArity = Helper.RNG.nextInt(super.maxArity); MethodType mtTarget = TestMethods.randomMethodTypeGenerator(desiredArity); data.put("mtTarget", mtTarget); return data; @@ -456,7 +456,7 @@ public enum TestMethods { @Override public Map getTestCaseData() { Map data = new HashMap<>(); - int desiredArity = Helper.RNG.nextInt(Helper.MAX_ARITY); + int desiredArity = Helper.RNG.nextInt(super.maxArity); MethodType mtTarget = TestMethods.randomMethodTypeGenerator(desiredArity); data.put("mtTarget", mtTarget); return data; @@ -481,7 +481,7 @@ public enum TestMethods { @Override public Map getTestCaseData() { Map data = new HashMap<>(); - int desiredArity = Helper.RNG.nextInt(Helper.MAX_ARITY); + int desiredArity = Helper.RNG.nextInt(super.maxArity); MethodType mtTarget = TestMethods.randomMethodTypeGenerator(desiredArity); data.put("mtTarget", mtTarget); return data; @@ -503,8 +503,15 @@ public enum TestMethods { */ public final String name; - private TestMethods(String name) { + private final int maxArity; + + private TestMethods(String name, int maxArity) { this.name = name; + this.maxArity = maxArity; + } + + private TestMethods(String name) { + this(name, Helper.MAX_ARITY); } protected MethodHandle getMH(Map data, TestMethods.Kind kind) throws NoSuchMethodException, IllegalAccessException { From 6069b26a318c37c9e605e8f3648a3b79b3aeb628 Mon Sep 17 00:00:00 2001 From: Vinnie Ryan Date: Fri, 3 Oct 2014 13:07:05 +0100 Subject: [PATCH 32/83] 8048512: Uninitialised memory in jdk/src/share/native/sun/security/ec/ECC_JNI.cpp Reviewed-by: mullan --- .../jdk.crypto.ec/share/native/libsunec/ECC_JNI.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/jdk/src/jdk.crypto.ec/share/native/libsunec/ECC_JNI.cpp b/jdk/src/jdk.crypto.ec/share/native/libsunec/ECC_JNI.cpp index 684f82eac3f..5c07645d0dc 100644 --- a/jdk/src/jdk.crypto.ec/share/native/libsunec/ECC_JNI.cpp +++ b/jdk/src/jdk.crypto.ec/share/native/libsunec/ECC_JNI.cpp @@ -211,6 +211,7 @@ JNICALL Java_sun_security_ec_ECDSASignature_signDigest digest_item.len = jDigestLength; ECPrivateKey privKey; + privKey.privateValue.data = NULL; // Initialize the ECParams struct ECParams *ecparams = NULL; @@ -387,9 +388,14 @@ JNICALL Java_sun_security_ec_ECDHKeyAgreement_deriveKey { jbyteArray jSecret = NULL; ECParams *ecparams = NULL; + SECItem privateValue_item; + privateValue_item.data = NULL; + SECItem publicValue_item; + publicValue_item.data = NULL; + SECKEYECParams params_item; + params_item.data = NULL; // Extract private key value - SECItem privateValue_item; privateValue_item.len = env->GetArrayLength(privateKey); privateValue_item.data = (unsigned char *) env->GetByteArrayElements(privateKey, 0); @@ -398,7 +404,6 @@ JNICALL Java_sun_security_ec_ECDHKeyAgreement_deriveKey } // Extract public key value - SECItem publicValue_item; publicValue_item.len = env->GetArrayLength(publicKey); publicValue_item.data = (unsigned char *) env->GetByteArrayElements(publicKey, 0); @@ -407,7 +412,6 @@ JNICALL Java_sun_security_ec_ECDHKeyAgreement_deriveKey } // Initialize the ECParams struct - SECKEYECParams params_item; params_item.len = env->GetArrayLength(encodedParams); params_item.data = (unsigned char *) env->GetByteArrayElements(encodedParams, 0); From 2a607da3695748116db15ec11cb9aa832ecd50d8 Mon Sep 17 00:00:00 2001 From: Lana Steuck Date: Fri, 3 Oct 2014 11:07:01 -0700 Subject: [PATCH 33/83] Added tag jdk9-b33 for changeset 5f651cc1e71e --- .hgtags-top-repo | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags-top-repo b/.hgtags-top-repo index 74c7da0a060..b5845a19af7 100644 --- a/.hgtags-top-repo +++ b/.hgtags-top-repo @@ -275,3 +275,4 @@ ea2f7981236f3812436958748ab3d26e80a35130 jdk9-b28 36e9bc875325813ac9c44ac0c617a463091fa9f5 jdk9-b30 69a84c16d9c28e0e3d504b9c8766c24bafcd58f6 jdk9-b31 7e3512dae8e020d44399c0f1c579ff1fe3090ed6 jdk9-b32 +e4ba01b726e263953ae129be37c94de6ed145b1d jdk9-b33 From ac2627e8e070a3664329215a65ddddb7b71da5ad Mon Sep 17 00:00:00 2001 From: Lana Steuck Date: Fri, 3 Oct 2014 11:07:01 -0700 Subject: [PATCH 34/83] Added tag jdk9-b33 for changeset 763f7ca2eadc --- corba/.hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/corba/.hgtags b/corba/.hgtags index 2708324441e..339c1cf59ea 100644 --- a/corba/.hgtags +++ b/corba/.hgtags @@ -275,3 +275,4 @@ a00b04ef067e39f50b9a0fea6f1904e35d632a73 jdk9-b28 98967ae6ae53ebf15615e07cd5a6b1ae04dfd84c jdk9-b30 c432b80aadd0cb2b2361b02add4d671957d4cec9 jdk9-b31 b5b139354630edb2d06190bf31653acbdcea63a8 jdk9-b32 +cfdac5887952c2dd73c73a1d8d9aa880d0539bbf jdk9-b33 From 272bbf52b61904d2d9e47ad90547b73d201a2eb9 Mon Sep 17 00:00:00 2001 From: Lana Steuck Date: Fri, 3 Oct 2014 11:07:02 -0700 Subject: [PATCH 35/83] Added tag jdk9-b33 for changeset 1197007e187c --- hotspot/.hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/hotspot/.hgtags b/hotspot/.hgtags index 6609668c640..619516ae0ac 100644 --- a/hotspot/.hgtags +++ b/hotspot/.hgtags @@ -435,3 +435,4 @@ deb29e92f68ace2808a36ecfa18c7d61dcb645bb jdk9-b29 5c722dffbc0f34eb8d903dca7b261e52248fa17e jdk9-b30 9f7d155d28e519f3e4645dc21cf185c25f3176ed jdk9-b31 af46576a8d7cb4003028b8ee8bf408cfe227315b jdk9-b32 +9b3f5e4f33725f7c1d9b8e523133fe8383a54d9f jdk9-b33 From c38ff9ba353d8633058d2da8506d73d21d467532 Mon Sep 17 00:00:00 2001 From: Lana Steuck Date: Fri, 3 Oct 2014 11:07:05 -0700 Subject: [PATCH 36/83] Added tag jdk9-b33 for changeset d82c879893c6 --- jaxp/.hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/jaxp/.hgtags b/jaxp/.hgtags index 4d3182caa24..e41a697dd84 100644 --- a/jaxp/.hgtags +++ b/jaxp/.hgtags @@ -275,3 +275,4 @@ dc1e26434b3fd7e9b8eeab149103c1e30965f95c jdk9-b28 d181d4002214e4914d5525bd5ee13369311c765c jdk9-b30 292317ebc7dbaca6b3965f0bc7b38a2cee733b7a jdk9-b31 b940ca3d2c7e8a279ca850706b89c2ad3a841e82 jdk9-b32 +46b360454dadbb329d42c59bb8192daeb9d59875 jdk9-b33 From f40e2bedef10d836232efb9ff5907608813727ad Mon Sep 17 00:00:00 2001 From: Lana Steuck Date: Fri, 3 Oct 2014 11:07:06 -0700 Subject: [PATCH 37/83] Added tag jdk9-b33 for changeset a54a9b558134 --- jaxws/.hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/jaxws/.hgtags b/jaxws/.hgtags index 5d173d48b85..a7750e9312c 100644 --- a/jaxws/.hgtags +++ b/jaxws/.hgtags @@ -278,3 +278,4 @@ dcaa586ab756420e9a62643793bacef2c84bf637 jdk9-b27 e58d3ea638c3824f01547596b2a98aa5f77c4a5c jdk9-b30 7af228ae847f3c02aaafb7b01cdbb3bdc2e89e77 jdk9-b31 838a2f693e51b869e7bc26a20afffdde1300394e jdk9-b32 +77a45995dd3b6e57805475ae3111ac6f7db7749e jdk9-b33 From 14ac4b8120e074663b7f9035951ea394dec09840 Mon Sep 17 00:00:00 2001 From: Lana Steuck Date: Fri, 3 Oct 2014 11:07:09 -0700 Subject: [PATCH 38/83] Added tag jdk9-b33 for changeset f9efcf2457e3 --- jdk/.hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/jdk/.hgtags b/jdk/.hgtags index 0a06af6709d..860cecaa2f2 100644 --- a/jdk/.hgtags +++ b/jdk/.hgtags @@ -275,3 +275,4 @@ f0870554049807d3392bd7976ab114f7f2b7bafa jdk9-b27 8d24fb4493f13d380a2adf62d444e1e5a4451f37 jdk9-b30 71e99dae28f9791287b88d46e16a266b564f22be jdk9-b31 8bdf7083b5bd02aa330ba622895e586dd3378d37 jdk9-b32 +60fe681c30bc3821545a2506d4d3c2e04073f67c jdk9-b33 From e57f07df2cc1235814804f8d02430258b337b3ee Mon Sep 17 00:00:00 2001 From: Lana Steuck Date: Fri, 3 Oct 2014 11:07:15 -0700 Subject: [PATCH 39/83] Added tag jdk9-b33 for changeset 6be305e56bcb --- langtools/.hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/langtools/.hgtags b/langtools/.hgtags index 0169e96978a..666085728e5 100644 --- a/langtools/.hgtags +++ b/langtools/.hgtags @@ -275,3 +275,4 @@ d60b572d759449913d02478219ad87e0574a3909 jdk9-b25 ef5427c13e1e741c457a2ed868e3b6d6bf717754 jdk9-b30 0046d55383a9d873ffbc7253d7c5e28ab98c5bea jdk9-b31 ad99965443d19a59e810ae67b0b742bb9722f5ed jdk9-b32 +e891e0c4edc5174a4da6d19dc2d59697b79f1916 jdk9-b33 From 7b7bffa5f155a6f941a338f5e05a2aef3bd08fa1 Mon Sep 17 00:00:00 2001 From: Lana Steuck Date: Fri, 3 Oct 2014 11:07:16 -0700 Subject: [PATCH 40/83] Added tag jdk9-b33 for changeset 41df1bde8056 --- nashorn/.hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/nashorn/.hgtags b/nashorn/.hgtags index aaff99865de..c3a9ade9769 100644 --- a/nashorn/.hgtags +++ b/nashorn/.hgtags @@ -266,3 +266,4 @@ e541ebaf2ab7038333ad0c13f4decd327c26dd15 jdk9-b29 072dbed6c5d968a6b9e156c36cd8838b4ff86ea1 jdk9-b30 77efdecfa2a5c28672b7c7dcc2d1b52dcb90d493 jdk9-b31 62ba20541b948fb98a7036d9f01baa54e95fb6fa jdk9-b32 +b374d8910e7f8de2b7ecacee9ae4cad88f23feab jdk9-b33 From c39454ae56e4bf02589612944e7862e4779a9912 Mon Sep 17 00:00:00 2001 From: Igor Veresov Date: Fri, 3 Oct 2014 13:34:46 -0700 Subject: [PATCH 41/83] 8059621: JVM crashes with "unexpected index type" assert in LIRGenerator::do_UnsafeGetRaw Get types from LIR instructions instead of HIR Reviewed-by: kvn --- hotspot/src/share/vm/c1/c1_LIRGenerator.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp index 3515a322477..2beb72a60f1 100644 --- a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp +++ b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp @@ -2069,14 +2069,14 @@ void LIRGenerator::do_UnsafeGetRaw(UnsafeGetRaw* x) { LIR_Opr base_op = base.result(); LIR_Opr index_op = idx.result(); #ifndef _LP64 - if (x->base()->type()->tag() == longTag) { + if (base_op->type() == T_LONG) { base_op = new_register(T_INT); __ convert(Bytecodes::_l2i, base.result(), base_op); } if (x->has_index()) { - if (x->index()->type()->tag() == longTag) { + if (index_op->type() == T_LONG) { LIR_Opr long_index_op = index_op; - if (x->index()->type()->is_constant()) { + if (index_op->is_constant()) { long_index_op = new_register(T_LONG); __ move(index_op, long_index_op); } @@ -2091,14 +2091,14 @@ void LIRGenerator::do_UnsafeGetRaw(UnsafeGetRaw* x) { assert(!x->has_index() || index_op->type() == T_INT, "index should be an int"); #else if (x->has_index()) { - if (x->index()->type()->tag() == intTag) { - if (!x->index()->type()->is_constant()) { + if (index_op->type() == T_INT) { + if (!index_op->is_constant()) { index_op = new_register(T_LONG); __ convert(Bytecodes::_i2l, idx.result(), index_op); } } else { - assert(x->index()->type()->tag() == longTag, "must be"); - if (x->index()->type()->is_constant()) { + assert(index_op->type() == T_LONG, "must be"); + if (index_op->is_constant()) { index_op = new_register(T_LONG); __ move(idx.result(), index_op); } @@ -2179,12 +2179,12 @@ void LIRGenerator::do_UnsafePutRaw(UnsafePutRaw* x) { LIR_Opr index_op = idx.result(); #ifndef _LP64 - if (x->base()->type()->tag() == longTag) { + if (base_op->type() == T_LONG) { base_op = new_register(T_INT); __ convert(Bytecodes::_l2i, base.result(), base_op); } if (x->has_index()) { - if (x->index()->type()->tag() == longTag) { + if (index_op->type() == T_LONG) { index_op = new_register(T_INT); __ convert(Bytecodes::_l2i, idx.result(), index_op); } @@ -2194,7 +2194,7 @@ void LIRGenerator::do_UnsafePutRaw(UnsafePutRaw* x) { assert(!x->has_index() || (index_op->type() == T_INT && !index_op->is_constant()), "index should be an non-constant int"); #else if (x->has_index()) { - if (x->index()->type()->tag() == intTag) { + if (index_op->type() == T_INT) { index_op = new_register(T_LONG); __ convert(Bytecodes::_i2l, idx.result(), index_op); } From e55ca9fc5882ed8be7ed83b7f71ec2a836fa9ce3 Mon Sep 17 00:00:00 2001 From: Robert Field Date: Sat, 4 Oct 2014 10:13:11 -0700 Subject: [PATCH 42/83] 8056051: int[]::clone causes "java.lang.NoClassDefFoundError: Array" Reviewed-by: mcimadamore, vromero --- .../sun/tools/javac/comp/LambdaToMethod.java | 4 ++ .../lambda/MethodReferenceArrayClone.java | 67 +++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 langtools/test/tools/javac/lambda/MethodReferenceArrayClone.java diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java index df9f8b9ba8f..a9d0db0d03f 100644 --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java @@ -825,6 +825,10 @@ public class LambdaToMethod extends TreeTranslator { if (rcvr == null) return null; JCExpression rcvrExpr = make.Ident(rcvr); Type rcvrType = tree.sym.enclClass().type; + if (rcvrType == syms.arrayClass.type) { + // Map the receiver type to the actually type, not just "array" + rcvrType = tree.getQualifierExpression().type; + } if (!rcvr.type.tsym.isSubClass(rcvrType.tsym, types)) { rcvrExpr = make.TypeCast(make.Type(rcvrType), rcvrExpr).setType(rcvrType); } diff --git a/langtools/test/tools/javac/lambda/MethodReferenceArrayClone.java b/langtools/test/tools/javac/lambda/MethodReferenceArrayClone.java new file mode 100644 index 00000000000..0d1c03bd938 --- /dev/null +++ b/langtools/test/tools/javac/lambda/MethodReferenceArrayClone.java @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2014, 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 8056051 + * @summary int[]::clone causes "java.lang.NoClassDefFoundError: Array" + * @run main MethodReferenceArrayClone + */ + +import java.util.Arrays; +import java.util.function.Function; +import java.util.function.Supplier; + +public class MethodReferenceArrayClone { + public static void main(String[] args) { + int[] intArgs = new int[] {1, 2, 3, 4, 5}; + checkInt("int[]::clone", int[]::clone, intArgs); + checkInt("a -> a.clone()", a -> a.clone(), intArgs); + checkInt("intArgs::clone", intArgs::clone, intArgs); + + String[] stringArgs = new String[] {"hi", "de", "ho"}; + checkString("String[]::clone", String[]::clone, stringArgs); + checkString("a -> a.clone()", a -> a.clone(), stringArgs); + checkString("args::clone", stringArgs::clone, stringArgs); + } + + private static void checkInt(String label, Supplier s, int[] expected) { + if (!Arrays.equals(s.get(), expected)) { + throw new RuntimeException("Unexpected value " + label + ": " + Arrays.toString(s.get())); + } + } + + private static void checkInt(String label, Function f, int[] a) { + checkInt(label, () -> f.apply(a), a); + } + + private static void checkString(String label, Supplier s, String[] expected) { + if (!Arrays.equals(s.get(), expected)) { + throw new RuntimeException("Unexpected value " + label + ": " + Arrays.toString(s.get())); + } + } + + private static void checkString(String label, Function f, String[] a) { + checkString(label, () -> f.apply(a), a); + } +} From a8d4acac11cfc907ed27a6a5e43d8a991d995970 Mon Sep 17 00:00:00 2001 From: Vinnie Ryan Date: Sun, 5 Oct 2014 14:24:44 +0100 Subject: [PATCH 43/83] 8041740: Test sun/security/tools/keytool/ListKeychainStore.sh fails on Mac Reviewed-by: mullan --- .../security/tools/keytool/ListKeychainStore.sh | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/jdk/test/sun/security/tools/keytool/ListKeychainStore.sh b/jdk/test/sun/security/tools/keytool/ListKeychainStore.sh index ec0e623f442..ff82364ddd2 100644 --- a/jdk/test/sun/security/tools/keytool/ListKeychainStore.sh +++ b/jdk/test/sun/security/tools/keytool/ListKeychainStore.sh @@ -1,5 +1,5 @@ # -# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012, 2014, 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,7 +22,7 @@ # # @test -# @bug 7133495 +# @bug 7133495 8041740 # @summary [macosx] KeyChain KeyStore implementation retrieves only one private key entry if [ "${TESTJAVA}" = "" ] ; then @@ -49,8 +49,10 @@ PWD="xxxxxx" KEYTOOL="${TESTJAVA}/bin/keytool ${TESTTOOLVMOPTS} -storetype KeychainStore -keystore NONE -storepass $PWD" TEMPORARY_P12="$TESTCLASSES/7133495.p12" TEMPORARY_KC="$TESTCLASSES/7133495.keychain" +TEMPORARY_LIST="$TESTCLASSES/7133495.tmp" CLEANUP_P12="rm -f $TEMPORARY_P12" CLEANUP_KC="security delete-keychain $TEMPORARY_KC" +CLEANUP_LIST="rm -f $TEMPORARY_LIST" # Count the number of private key entries in the Keychain keystores @@ -115,6 +117,15 @@ if [ $? -ne 0 ]; then fi echo "Imported keypairs from PKCS12 keystore into the keychain" +# Adjust the keychain search order + +echo "\"$TEMPORARY_KC\"" > $TEMPORARY_LIST +security list-keychains >> $TEMPORARY_LIST +security list-keychains -s `xargs < ${TEMPORARY_LIST}` +`$CLEANUP_LIST` +echo "Temporary keychain search order:" +security list-keychains + # Recount the number of private key entries in the Keychain keystores COUNT=`$KEYTOOL -list | grep PrivateKeyEntry | wc -l` From 4c1c76ae4f3e4ee82c59ed53ee9c5639ed63f2e3 Mon Sep 17 00:00:00 2001 From: Tobias Hartmann Date: Mon, 6 Oct 2014 07:58:50 +0200 Subject: [PATCH 44/83] 8059559: SIGSEGV at CodeHeap::allocate(unsigned int, bool) Create the non-profiled code heap if TieredStopAtLevel=0 is set because we compile method handle intrinsics. Reviewed-by: kvn --- hotspot/src/share/vm/code/codeCache.cpp | 3 +-- .../codecache/CheckSegmentedCodeCache.java | 21 +++++++++++++------ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/hotspot/src/share/vm/code/codeCache.cpp b/hotspot/src/share/vm/code/codeCache.cpp index a2653d10b43..b21604f8549 100644 --- a/hotspot/src/share/vm/code/codeCache.cpp +++ b/hotspot/src/share/vm/code/codeCache.cpp @@ -254,8 +254,7 @@ bool CodeCache::heap_available(int code_blob_type) { if (!SegmentedCodeCache) { // No segmentation: use a single code heap return (code_blob_type == CodeBlobType::All); - } else if ((Arguments::mode() == Arguments::_int) || - (TieredStopAtLevel == CompLevel_none)) { + } else if (Arguments::mode() == Arguments::_int) { // Interpreter only: we don't need any method code heaps return (code_blob_type == CodeBlobType::NonNMethod); } else if (TieredCompilation && (TieredStopAtLevel > CompLevel_simple)) { diff --git a/hotspot/test/compiler/codecache/CheckSegmentedCodeCache.java b/hotspot/test/compiler/codecache/CheckSegmentedCodeCache.java index 5ed11c21233..06330d840b6 100644 --- a/hotspot/test/compiler/codecache/CheckSegmentedCodeCache.java +++ b/hotspot/test/compiler/codecache/CheckSegmentedCodeCache.java @@ -38,22 +38,26 @@ public class CheckSegmentedCodeCache { private static void verifySegmentedCodeCache(ProcessBuilder pb, boolean enabled) throws Exception { OutputAnalyzer out = new OutputAnalyzer(pb.start()); + out.shouldHaveExitValue(0); if (enabled) { try { // Non-nmethod code heap should be always available with the segmented code cache out.shouldContain(NON_METHOD); } catch (RuntimeException e) { - // TieredCompilation is disabled in a client VM - out.shouldContain("TieredCompilation is disabled in this release."); + // Check if TieredCompilation is disabled (in a client VM) + if(!out.getOutput().contains("TieredCompilation is disabled in this release.")) { + // Code cache is not segmented + throw new RuntimeException("No code cache segmentation."); + } } } else { out.shouldNotContain(NON_METHOD); } - out.shouldHaveExitValue(0); } private static void verifyCodeHeapNotExists(ProcessBuilder pb, String... heapNames) throws Exception { OutputAnalyzer out = new OutputAnalyzer(pb.start()); + out.shouldHaveExitValue(0); for (String name : heapNames) { out.shouldNotContain(name); } @@ -86,6 +90,10 @@ public class CheckSegmentedCodeCache { "-XX:ReservedCodeCacheSize=240m", "-XX:+PrintCodeCache", "-version"); verifySegmentedCodeCache(pb, true); + pb = ProcessTools.createJavaProcessBuilder("-XX:+TieredCompilation", + "-XX:ReservedCodeCacheSize=400m", + "-XX:+PrintCodeCache", "-version"); + verifySegmentedCodeCache(pb, true); // Always enabled if SegmentedCodeCache is set pb = ProcessTools.createJavaProcessBuilder("-XX:+SegmentedCodeCache", @@ -100,12 +108,13 @@ public class CheckSegmentedCodeCache { "-Xint", "-XX:+PrintCodeCache", "-version"); verifyCodeHeapNotExists(pb, PROFILED, NON_PROFILED); + + // If we stop compilation at CompLevel_none or CompLevel_simple we + // don't need a profiled code heap. pb = ProcessTools.createJavaProcessBuilder("-XX:+SegmentedCodeCache", "-XX:TieredStopAtLevel=0", "-XX:+PrintCodeCache", "-version"); - verifyCodeHeapNotExists(pb, PROFILED, NON_PROFILED); - - // If we stop compilation at CompLevel_simple + verifyCodeHeapNotExists(pb, PROFILED); pb = ProcessTools.createJavaProcessBuilder("-XX:+SegmentedCodeCache", "-XX:TieredStopAtLevel=1", "-XX:+PrintCodeCache", "-version"); From 18eb46eb952e27dc60e74d01f4eb0db6005986ad Mon Sep 17 00:00:00 2001 From: Stefan Johansson Date: Mon, 6 Oct 2014 10:11:13 +0200 Subject: [PATCH 45/83] 8059466: Force young GC to initiate marking cycle when stat update is requested Enable yc to be forced for stat update. Reviewed-by: mgerdin, jcoomes --- .../src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp | 1 + .../src/share/vm/gc_implementation/g1/vm_operations_g1.cpp | 5 +++-- hotspot/src/share/vm/gc_interface/gcCause.cpp | 3 ++- hotspot/src/share/vm/gc_interface/gcCause.hpp | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp index f6aad1c81c6..133e2094f63 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @@ -2343,6 +2343,7 @@ bool G1CollectedHeap::should_do_concurrent_full_gc(GCCause::Cause cause) { case GCCause::_gc_locker: return GCLockerInvokesConcurrent; case GCCause::_java_lang_system_gc: return ExplicitGCInvokesConcurrent; case GCCause::_g1_humongous_allocation: return true; + case GCCause::_update_allocation_context_stats_inc: return true; default: return false; } } diff --git a/hotspot/src/share/vm/gc_implementation/g1/vm_operations_g1.cpp b/hotspot/src/share/vm/gc_implementation/g1/vm_operations_g1.cpp index c3847e0da4e..9b50ae6af53 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/vm_operations_g1.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/vm_operations_g1.cpp @@ -95,8 +95,9 @@ void VM_G1IncCollectionPause::doit() { assert(!_should_initiate_conc_mark || ((_gc_cause == GCCause::_gc_locker && GCLockerInvokesConcurrent) || (_gc_cause == GCCause::_java_lang_system_gc && ExplicitGCInvokesConcurrent) || - _gc_cause == GCCause::_g1_humongous_allocation), - "only a GC locker, a System.gc() or a hum allocation induced GC should start a cycle"); + _gc_cause == GCCause::_g1_humongous_allocation || + _gc_cause == GCCause::_update_allocation_context_stats_inc), + "only a GC locker, a System.gc(), stats update or a hum allocation induced GC should start a cycle"); if (_word_size > 0) { // An allocation has been requested. So, try to do that first. diff --git a/hotspot/src/share/vm/gc_interface/gcCause.cpp b/hotspot/src/share/vm/gc_interface/gcCause.cpp index ff9402507c5..4778d8aa45a 100644 --- a/hotspot/src/share/vm/gc_interface/gcCause.cpp +++ b/hotspot/src/share/vm/gc_interface/gcCause.cpp @@ -54,7 +54,8 @@ const char* GCCause::to_string(GCCause::Cause cause) { case _wb_young_gc: return "WhiteBox Initiated Young GC"; - case _update_allocation_context_stats: + case _update_allocation_context_stats_inc: + case _update_allocation_context_stats_full: return "Update Allocation Context Stats"; case _no_gc: diff --git a/hotspot/src/share/vm/gc_interface/gcCause.hpp b/hotspot/src/share/vm/gc_interface/gcCause.hpp index 25b55d2f6c5..4af99f1cf7e 100644 --- a/hotspot/src/share/vm/gc_interface/gcCause.hpp +++ b/hotspot/src/share/vm/gc_interface/gcCause.hpp @@ -47,7 +47,8 @@ class GCCause : public AllStatic { _heap_inspection, _heap_dump, _wb_young_gc, - _update_allocation_context_stats, + _update_allocation_context_stats_inc, + _update_allocation_context_stats_full, /* implementation independent, but reserved for GC use */ _no_gc, From d2a36ed370391b64d10d28d4ac380f4190f87f9f Mon Sep 17 00:00:00 2001 From: Marcus Lagergren Date: Mon, 6 Oct 2014 10:43:57 +0200 Subject: [PATCH 46/83] 8059231: Verify that octane raytrace now works with optimistic types turned off. Add better logging for optimistic types in the compiler Reviewed-by: attila --- .../jdk/nashorn/internal/codegen/Compiler.java | 18 ++++++++++++------ .../runtime/resources/Options.properties | 1 + 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Compiler.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Compiler.java index 93debcb8798..479bc9ef049 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Compiler.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Compiler.java @@ -458,12 +458,14 @@ public final class Compiler implements Loggable { @Override public DebugLogger initLogger(final Context ctxt) { + final boolean optimisticTypes = ctxt.getEnv()._optimistic_types; return ctxt.getLogger(this.getClass(), new Consumer() { @Override public void accept(final DebugLogger newLogger) { if (!Compiler.this.getScriptEnvironment()._lazy_compilation) { newLogger.warning("WARNING: Running with lazy compilation switched off. This is not a default setting."); } + newLogger.warning("Optimistic types are ", optimisticTypes ? "ENABLED." : "DISABLED."); } }); } @@ -541,9 +543,10 @@ public final class Compiler implements Loggable { * @throws CompilationException if error occurs during compilation */ public FunctionNode compile(final FunctionNode functionNode, final CompilationPhases phases) throws CompilationException { - - log.finest("Starting compile job for ", DebugLogger.quote(functionNode.getName()), " phases=", quote(phases.getDesc())); - log.indent(); + if (log.isEnabled()) { + log.info("Starting compile job for ", DebugLogger.quote(functionNode.getName()), " phases=", quote(phases.getDesc())); + log.indent(); + } final String name = DebugLogger.quote(functionNode.getName()); @@ -560,7 +563,7 @@ public final class Compiler implements Loggable { long time = 0L; for (final CompilationPhase phase : phases) { - log.fine(phase, " starting for ", quote(name)); + log.fine(phase, " starting for ", name); try { newFunctionNode = phase.apply(this, phases, newFunctionNode); @@ -588,8 +591,11 @@ public final class Compiler implements Loggable { log.unindent(); if (info) { - final StringBuilder sb = new StringBuilder(); - sb.append("Compile job for ").append(newFunctionNode.getSource()).append(':').append(quote(newFunctionNode.getName())).append(" finished"); + final StringBuilder sb = new StringBuilder("Finished compile job for "); + sb.append(newFunctionNode.getSource()). + append(':'). + append(quote(newFunctionNode.getName())); + if (time > 0L && timeLogger != null) { assert env.isTimingEnabled(); sb.append(" in ").append(time).append(" ms"); diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/Options.properties b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/Options.properties index a5e8cd5a5f9..681fa43f58d 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/Options.properties +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/Options.properties @@ -203,6 +203,7 @@ nashorn.option.lazy.compilation = { nashorn.option.optimistic.types = { \ name="--optimistic-types", \ + short_name="-ot", \ is_undocumented=true, \ desc="Use optimistic type assumptions with deoptimizing recompilation.", \ default=true \ From d05ce78d476f6c735877a44230ed7edb4647876c Mon Sep 17 00:00:00 2001 From: Erik Joelsson Date: Mon, 6 Oct 2014 14:37:54 +0200 Subject: [PATCH 47/83] 8059658: Bootcycle build not actually using built image Reviewed-by: tbell --- common/autoconf/bootcycle-spec.gmk.in | 11 +++++-- common/autoconf/build-performance.m4 | 5 ++-- common/autoconf/generated-configure.sh | 8 +++-- common/autoconf/spec.gmk.in | 41 ++++++++++++++++---------- 4 files changed, 42 insertions(+), 23 deletions(-) diff --git a/common/autoconf/bootcycle-spec.gmk.in b/common/autoconf/bootcycle-spec.gmk.in index cecc6472d0a..87e6203fc88 100644 --- a/common/autoconf/bootcycle-spec.gmk.in +++ b/common/autoconf/bootcycle-spec.gmk.in @@ -48,6 +48,13 @@ BUILD_OUTPUT:=@BUILD_OUTPUT@/bootcycle-build # Use a different Boot JDK OLD_BOOT_JDK:=$(BOOT_JDK) BOOT_JDK:=@BUILD_OUTPUT@/images/j2sdk-image -BOOT_RTJAR:=@BUILD_OUTPUT@/images/j2sdk-image/jre/lib/rt.jar +BOOT_RTJAR:=$(BOOT_JDK)/jre/lib/rt.jar + +JAVA_CMD:=$(BOOT_JDK)/bin/java +JAVAC_CMD:=$(BOOT_JDK)/bin/javac +JAVAH_CMD:=$(BOOT_JDK)/bin/javah +JAR_CMD:=$(BOOT_JDK)/bin/jar +NATIVE2ASCII_CMD:=$(BOOT_JDK)/bin/native2ascii +JARSIGNER_CMD:=$(BOOT_JDK)/bin/jarsigner +SJAVAC_SERVER_JAVA_CMD:=$(JAVA_CMD) -SJAVAC_SERVER_JAVA:=$(subst $(OLD_BOOT_JDK),$(BOOT_JDK),$(SJAVAC_SERVER_JAVA)) diff --git a/common/autoconf/build-performance.m4 b/common/autoconf/build-performance.m4 index 8425d744990..5c106cd1f68 100644 --- a/common/autoconf/build-performance.m4 +++ b/common/autoconf/build-performance.m4 @@ -296,7 +296,7 @@ AC_DEFUN_ONCE([BPERF_SETUP_SMART_JAVAC], AC_SUBST(SJAVAC_SERVER_JAVA) if test "$MEMORY_SIZE" -gt "3000"; then - ADD_JVM_ARG_IF_OK([-d64],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) + ADD_JVM_ARG_IF_OK([-d64],SJAVAC_SERVER_JAVA_FLAGS,[$SJAVAC_SERVER_JAVA]) if test "$JVM_ARG_OK" = true; then JVM_64BIT=true JVM_ARG_OK=false @@ -320,7 +320,8 @@ AC_DEFUN_ONCE([BPERF_SETUP_SMART_JAVAC], if test "$MX_VALUE" -lt "512"; then MX_VALUE=512 fi - ADD_JVM_ARG_IF_OK([-Xms${MS_VALUE}M -Xmx${MX_VALUE}M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) + ADD_JVM_ARG_IF_OK([-Xms${MS_VALUE}M -Xmx${MX_VALUE}M],SJAVAC_SERVER_JAVA_FLAGS,[$SJAVAC_SERVER_JAVA]) + AC_SUBST(SJAVAC_SERVER_JAVA_FLAGS) AC_ARG_ENABLE([sjavac], [AS_HELP_STRING([--enable-sjavac], [use sjavac to do fast incremental compiles @<:@disabled@:>@])], diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh index 394b8f02e4d..c292cc8c1cb 100644 --- a/common/autoconf/generated-configure.sh +++ b/common/autoconf/generated-configure.sh @@ -633,6 +633,7 @@ CCACHE USE_PRECOMPILED_HEADER SJAVAC_SERVER_DIR ENABLE_SJAVAC +SJAVAC_SERVER_JAVA_FLAGS SJAVAC_SERVER_JAVA JAVA_TOOL_FLAGS_SMALL JAVA_FLAGS_SMALL @@ -4327,7 +4328,7 @@ TOOLCHAIN_DESCRIPTION_xlc="IBM XL C/C++" #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1410791401 +DATE_WHEN_GENERATED=1412599039 ############################################################################### # @@ -50472,7 +50473,7 @@ fi FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then - SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -d64" + SJAVAC_SERVER_JAVA_FLAGS="$SJAVAC_SERVER_JAVA_FLAGS -d64" JVM_ARG_OK=true else $ECHO "Arg failed:" >&5 @@ -50510,7 +50511,7 @@ fi FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn` FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""` if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then - SJAVAC_SERVER_JAVA="$SJAVAC_SERVER_JAVA -Xms${MS_VALUE}M -Xmx${MX_VALUE}M" + SJAVAC_SERVER_JAVA_FLAGS="$SJAVAC_SERVER_JAVA_FLAGS -Xms${MS_VALUE}M -Xmx${MX_VALUE}M" JVM_ARG_OK=true else $ECHO "Arg failed:" >&5 @@ -50519,6 +50520,7 @@ fi fi + # Check whether --enable-sjavac was given. if test "${enable_sjavac+set}" = set; then : enableval=$enable_sjavac; ENABLE_SJAVAC="${enableval}" diff --git a/common/autoconf/spec.gmk.in b/common/autoconf/spec.gmk.in index 00e45f90c72..e5b43ecdafb 100644 --- a/common/autoconf/spec.gmk.in +++ b/common/autoconf/spec.gmk.in @@ -256,7 +256,8 @@ NASHORN_DIST=$(NASHORN_OUTPUTDIR)/dist BUILD_HOTSPOT=@BUILD_HOTSPOT@ -# The boot jdk to use +# The boot jdk to use. These are overridden in bootcycle-spec.gmk. Make sure to keep +# them in sync. BOOT_JDK:=@BOOT_JDK@ BOOT_RTJAR:=@BOOT_RTJAR@ BOOT_TOOLSJAR=$(BOOT_JDK)/lib/tools.jar @@ -453,23 +454,35 @@ JAVA_FLAGS:=@JAVA_FLAGS@ JAVA_FLAGS_BIG:=@JAVA_FLAGS_BIG@ JAVA_FLAGS_SMALL:=@JAVA_FLAGS_SMALL@ JAVA_TOOL_FLAGS_SMALL:=@JAVA_TOOL_FLAGS_SMALL@ +SJAVAC_SERVER_JAVA_FLAGS:=@SJAVAC_SERVER_JAVA_FLAGS@ -JAVA=@FIXPATH@ @JAVA@ $(JAVA_FLAGS_BIG) $(JAVA_FLAGS) -JAVA_SMALL=@FIXPATH@ @JAVA@ $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS) +# The *_CMD variables are defined separately to be easily overridden in bootcycle-spec.gmk +# for bootcycle-images build. Make sure to keep them in sync. Do not use the *_CMD +# versions of the variables directly. +JAVA_CMD:=@JAVA@ +JAVAC_CMD:=@JAVAC@ +JAVAH_CMD:=@JAVAH@ +JAR_CMD:=@JAR@ +NATIVE2ASCII_CMD:=@NATIVE2ASCII@ +JARSIGNER_CMD:=@JARSIGNER@ +SJAVAC_SERVER_JAVA_CMD:=@SJAVAC_SERVER_JAVA@ +# These variables are meant to be used. They are defined with = instead of := to make +# it possible to override only the *_CMD variables. +JAVA=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS) +JAVA_SMALL=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS) +JAVAC=@FIXPATH@ $(JAVAC_CMD) +JAVAH=@FIXPATH@ $(JAVAH_CMD) +JAR=@FIXPATH@ $(JAR_CMD) +NATIVE2ASCII=@FIXPATH@ $(NATIVE2ASCII_CMD) $(JAVA_TOOL_FLAGS_SMALL) +JARSIGNER=@FIXPATH@ $(JARSIGNER_CMD) +# A specific java binary with specific options can be used to run +# the long running background sjavac servers and other long running tasks. +SJAVAC_SERVER_JAVA=@FIXPATH@ $(SJAVAC_SERVER_JAVA_CMD) $(SJAVAC_SERVER_JAVA_FLAGS) -JAVAC:=@FIXPATH@ @JAVAC@ # Hotspot sets this variable before reading the SPEC when compiling sa-jdi.jar. Avoid # overriding that value by using ?=. JAVAC_FLAGS?=@JAVAC_FLAGS@ -JAVAH:=@FIXPATH@ @JAVAH@ - -JAR:=@FIXPATH@ @JAR@ - -NATIVE2ASCII:=@FIXPATH@ @NATIVE2ASCII@ $(JAVA_TOOL_FLAGS_SMALL) - -JARSIGNER:=@FIXPATH@ @JARSIGNER@ - # You run the new javac using the boot jdk with $(BOOT_JDK)/bin/java $(NEW_JAVAC) ... INTERIM_LANGTOOLS_JAR := $(LANGTOOLS_OUTPUTDIR)/dist/interim_langtools.jar INTERIM_LANGTOOLS_ARGS := "-Xbootclasspath/p:$(INTERIM_LANGTOOLS_JAR)" -cp $(INTERIM_LANGTOOLS_JAR) @@ -486,10 +499,6 @@ ifndef RC_FLAGS RC_FLAGS:=@RC_FLAGS@ endif -# A specific java binary with specific options can be used to run -# the long running background sjavac servers and other long running tasks. -SJAVAC_SERVER_JAVA:=@FIXPATH@ @SJAVAC_SERVER_JAVA@ - # Tools adhering to a minimal and common standard of posix compliance. AWK:=@AWK@ BASENAME:=@BASENAME@ From 82171aa7abc81058ba571a4ed424d6a99c1aab05 Mon Sep 17 00:00:00 2001 From: Albert Noll Date: Mon, 6 Oct 2014 06:51:37 -0700 Subject: [PATCH 48/83] 8059331: Print additional information for the assert in Compile::start() Add additional output that shows the failure reason Reviewed-by: kvn --- hotspot/src/share/vm/opto/compile.cpp | 10 ++++++++-- hotspot/src/share/vm/opto/compile.hpp | 15 +++++++++------ 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/hotspot/src/share/vm/opto/compile.cpp b/hotspot/src/share/vm/opto/compile.cpp index 1e3a6fc7b73..0163dce638c 100644 --- a/hotspot/src/share/vm/opto/compile.cpp +++ b/hotspot/src/share/vm/opto/compile.cpp @@ -1153,12 +1153,18 @@ void Compile::init_start(StartNode* s) { assert(s == start(), ""); } +/** + * Return the 'StartNode'. We must not have a pending failure, since the ideal graph + * can be in an inconsistent state, i.e., we can get segmentation faults when traversing + * the ideal graph. + */ StartNode* Compile::start() const { - assert(!failing(), ""); + assert (!failing(), err_msg_res("Must not have pending failure. Reason is: %s", failure_reason())); for (DUIterator_Fast imax, i = root()->fast_outs(imax); i < imax; i++) { Node* start = root()->fast_out(i); - if( start->is_Start() ) + if (start->is_Start()) { return start->as_Start(); + } } fatal("Did not find Start node!"); return NULL; diff --git a/hotspot/src/share/vm/opto/compile.hpp b/hotspot/src/share/vm/opto/compile.hpp index 3dfda2b285f..2ac023235a9 100644 --- a/hotspot/src/share/vm/opto/compile.hpp +++ b/hotspot/src/share/vm/opto/compile.hpp @@ -707,12 +707,15 @@ class Compile : public Phase { void sort_expensive_nodes(); // Compilation environment. - Arena* comp_arena() { return &_comp_arena; } - ciEnv* env() const { return _env; } - CompileLog* log() const { return _log; } - bool failing() const { return _env->failing() || _failure_reason != NULL; } - const char* failure_reason() { return _failure_reason; } - bool failure_reason_is(const char* r) { return (r==_failure_reason) || (r!=NULL && _failure_reason!=NULL && strcmp(r, _failure_reason)==0); } + Arena* comp_arena() { return &_comp_arena; } + ciEnv* env() const { return _env; } + CompileLog* log() const { return _log; } + bool failing() const { return _env->failing() || _failure_reason != NULL; } + const char* failure_reason() const { return (_env->failing()) ? _env->failure_reason() : _failure_reason; } + + bool failure_reason_is(const char* r) const { + return (r == _failure_reason) || (r != NULL && _failure_reason != NULL && strcmp(r, _failure_reason) == 0); + } void record_failure(const char* reason); void record_method_not_compilable(const char* reason, bool all_tiers = false) { From 3215ed2f0af45ca298bb0320f72e1ef639e87b65 Mon Sep 17 00:00:00 2001 From: Vinnie Ryan Date: Mon, 6 Oct 2014 16:44:57 +0100 Subject: [PATCH 49/83] 8059627: Enable PKCS11 tests on Mac Reviewed-by: mullan --- jdk/test/sun/security/pkcs11/PKCS11Test.java | 4 ++++ .../security/pkcs11/Secmod/TrustAnchors.java | 14 ++++++++------ .../nss/lib/macosx-x86_64/libfreebl3.dylib | Bin 0 -> 437228 bytes .../nss/lib/macosx-x86_64/libnspr4.dylib | Bin 0 -> 213328 bytes .../nss/lib/macosx-x86_64/libnss3.dylib | Bin 0 -> 1398704 bytes .../nss/lib/macosx-x86_64/libnssckbi.dylib | Bin 0 -> 544120 bytes .../nss/lib/macosx-x86_64/libnssdbm3.dylib | Bin 0 -> 169948 bytes .../nss/lib/macosx-x86_64/libnssutil3.dylib | Bin 0 -> 158900 bytes .../nss/lib/macosx-x86_64/libplc4.dylib | Bin 0 -> 24088 bytes .../nss/lib/macosx-x86_64/libplds4.dylib | Bin 0 -> 19336 bytes .../nss/lib/macosx-x86_64/libsoftokn3.dylib | Bin 0 -> 286716 bytes .../nss/lib/macosx-x86_64/libsqlite3.dylib | Bin 0 -> 756040 bytes .../nss/lib/macosx-x86_64/libssl3.dylib | Bin 0 -> 286748 bytes 13 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libfreebl3.dylib create mode 100644 jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libnspr4.dylib create mode 100644 jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libnss3.dylib create mode 100644 jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libnssckbi.dylib create mode 100644 jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libnssdbm3.dylib create mode 100644 jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libnssutil3.dylib create mode 100644 jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libplc4.dylib create mode 100644 jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libplds4.dylib create mode 100644 jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libsoftokn3.dylib create mode 100644 jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libsqlite3.dylib create mode 100644 jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libssl3.dylib diff --git a/jdk/test/sun/security/pkcs11/PKCS11Test.java b/jdk/test/sun/security/pkcs11/PKCS11Test.java index ca836f032b2..dbdd3d370fb 100644 --- a/jdk/test/sun/security/pkcs11/PKCS11Test.java +++ b/jdk/test/sun/security/pkcs11/PKCS11Test.java @@ -189,6 +189,8 @@ public abstract class PKCS11Test { if (osName.startsWith("Win")) { osName = "Windows"; NSPR_PREFIX = "lib"; + } else if (osName.equals("Mac OS X")) { + osName = "MacOSX"; } String osid = osName + "-" + props.getProperty("os.arch") + "-" + props.getProperty("sun.arch.data.model"); @@ -507,6 +509,8 @@ public abstract class PKCS11Test { PKCS11_BASE + "/nss/lib/windows-i586/".replace('/', SEP)}); osMap.put("Windows-amd64-64", new String[]{ PKCS11_BASE + "/nss/lib/windows-amd64/".replace('/', SEP)}); + osMap.put("MacOSX-x86_64-64", new String[]{ + PKCS11_BASE + "/nss/lib/macosx-x86_64/"}); } private final static char[] hexDigits = "0123456789abcdef".toCharArray(); diff --git a/jdk/test/sun/security/pkcs11/Secmod/TrustAnchors.java b/jdk/test/sun/security/pkcs11/Secmod/TrustAnchors.java index 646b81bfd81..3d4a43bff30 100644 --- a/jdk/test/sun/security/pkcs11/Secmod/TrustAnchors.java +++ b/jdk/test/sun/security/pkcs11/Secmod/TrustAnchors.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, 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 6298106 6275523 6420252 + * @bug 6298106 6275523 6420252 8059627 * @summary make sure we can access the NSS trust anchor module * @author Andreas Sterbenz * @library .. @@ -43,10 +43,12 @@ public class TrustAnchors extends SecmodTest { return; } - if (System.getProperty("os.name").toLowerCase().startsWith("win")) { - // our secmod.db file says nssckbi.*so*, so NSS does not find the - // *DLL* on windows. - System.out.println("Test currently does not work on Windows, skipping"); + // our secmod.db file says nssckbi.*so*, so NSS does not find the + // *DLL* on Windows nor the *DYLIB* on Mac OSX. + String osName = System.getProperty("os.name").toLowerCase(); + if (osName.startsWith("win") || osName.startsWith("mac")) { + System.out.println("Test currently does not work on " + osName + + ", skipping"); return; } diff --git a/jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libfreebl3.dylib b/jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libfreebl3.dylib new file mode 100644 index 0000000000000000000000000000000000000000..ed994034500415261390ffcae9ce26725d34883b GIT binary patch literal 437228 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%0AFB^O9Us1PGyw`A@ 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 z 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 LFb_&RRQ33Ozioo% literal 0 HcmV?d00001 diff --git a/jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libnss3.dylib b/jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libnss3.dylib new file mode 100644 index 0000000000000000000000000000000000000000..f9d672f2582c9c1768c995d90b1836df5f1e331b GIT binary patch literal 1398704 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

    %O*|j@V9f zyBIw;OKA>%^H1rzB(tXPcOFnYGB?_Jq{|h?lq;;SJFGXA8~ji^s?Xv*igoUiMF)QH$TA z&p&0Awa?XMb!3Oh8p{}G+*Z~}7Obng%FdO2t96$uSIGOex67Jnxsvv`hU{P&bI~!r zxV;Qt(9Tr(`LfGp*Ow6!Tqkk)cC9l;R%(1me7?30=|*Htbbqj{z!6!_aCerE@-9DL zTh-sJAx5u}SJ}3E>x-n)r5#D7DAvu_HVl$FOvR3*E>qARl1e10)2BI-svRJy6IC2a zQttO9NK$umfeMn;@f3!URDT>{B(+Na&7r-of8z)vsYh{y^}b$(BaEcl;s_(Dy>SFd zYL2d4Ws=lpQeX)TRGHu~l6nkBStRvgpq4}5RB*W@HGPJn$|b3`M1_&mlIe07NeyCy zMp8r2Mp9$YMp6%>jie5u(lC;0k0XqvPGxIlkyP*<%3a@3a9Je9W)lzj$28M0lDZ8? z7)jCID@Ib+PEn+h)CrTNjigRQ8%ecC8%cFR8%gy*8%dpmHj?UtHj=s=Z6q}aZ6tLg z+DPh7w2@RU+DPgNw2{;Vw2{UE8wF+${^&8qq zY9l&GQnykVLQ<1nSGkeYKy(sG4W*F_OBfS%9P_>Ch*U)D4Pu zBsBs7Nj-poq$VIBsedCNsdo_MzCK1kQePqJJ1YwU?TTBPrU3BdJtM zAgKc+L{hVxCL~05=)^1cweK(+Q`^7a+?PTB zS#$l?$MnfFa{GxV4w4-yYc4xQc7}{++!B}jsBDUi&IbBdv0Vu|UiMF)jNipyk$G(| zvDn1=nAi4t*#_0IO}zA9J71eJTpFstD@}UjHa+Jv@?2fxqceU#KH+3eR4Pg*v)wIz zN;F1ieCz!_yT#M>w8u3ryH!_9N!hJ+L*axvvsGT4-Fkzv+|>Kx)s$qnzRz@?A#o4= zqpO$u4HQLZ$;i9h`=K?RT`cvVv8HT&!6`Y8KB8l77K`9D}rB`Z3finYWBuQDsiFk`78w$|GGC zs-i}cs_1)vWQN2mIzW3;SME06JyY&I7@CNoAH2w+O>G*$(8($e#n9&b=mjx!hpuy_ zFmxh?VHo;7jxY@Eha)VZcMFa%4Ba0`7>2HRO^z@OorWU}Lxy) z^Hl|hVdw$WQWl0T4PfZQuPC@&3~fqOxfnW4Pez1dXm1>bq06YsFmxT-Ff@iX42|&B z3_}Z8Hw;7H!V!j{GxSehCWZ!|>wEtt1($`PyoWgvL)#M^hM`+&zhM|kd#@OVuAZbw z!_ZeIN*jhwMjM8{g*FU*4{aFwG1@Tn3$$VAmuSP#rD(&@WoX0DLbPG%Hnd@A752w4 zv^Lr>v>w_pbSOvKFmyQDFth+|82UKcFmx)~F!TnFWf+EL;|RmhBXNXb=#Ly^!_d9Z zhM`r_hM@plWp(~CIVCZ4`Z%M+?sG=Q)?m~c}`>95U zq4f}8=#dC8v^4?@ZI1v$yCT5Q?g%inF9Hm`4grSVjv%2&+i)0qHzi|wtV0?uq1L*~ zo#!X6DH%W9()&H3j{eR!)s2o&Z_!fH_~C9>gAjEN`@Wb^*GBiJO!I#Z>e%-SUO5*60fg+e3tjMEKfMoX*r%0U~@##i2xaDA&{=5w6zd zq!bZ8Kw%gWx}VE1BIH^YN`!-Ogb`tkYi<}3&c_i(gcERt5#e<>f<$->g=G<8BtV2$ zKd0a@B21x{vWW1P01=LUR>9>G;UPqoON0|N<}Z{8JK!)P{DP{C2!B8u5pF;m5&n%f zBD|Y*!-#MajxZv8{uw#SN=)twK;ElQE4VBo+#CpQLU0%nuAu#f5h3lpVnq1u6N)q< zeC%;)Bf_W9Mud~lMue}RjR@aB8xhVz8xg*ZHX{5CZAAD5+KBLbv=QO2Xd}X{Xd}W( z?3)o`RkRV|Lms_iBoNS?Nve}ObI$riqpS+I-|9aUrS$Xf4 z3Dy;VMMYz#-ckeb!}(Cfu+ds5N$;b?#;NTmDsPX+dzDD@Gk1h zO?@aH0Ub_Jl3e45HTq+zyxnq^$6tYSeLU)1MNM*18YAow_7N>54dfWZPUY3PSX(O| z$Z@vc(Z=y=N|LNYv>_!$-Eiw_aW`A(Yg^gww$d%Qm4<#R+rCKHO0>WGN^|OzIvmxt z6~XSsf7eKfey24Z>^`eFC2Q?~XmXJrIfV>%F5m%lGPkcP(qV4{t+xkk6Tx=T1Dxbi zyK5eBwL;|K%WZI8+k2DYE# z2m{-Pa0J1&CxvB!ZE(EvxJMKm2DXiQruc)vd_bYK2 z*lwjN1KSk7f`M&qw1MqWXan0xtQ!WlU*ZS@+s_}8qb#ruj(7g{K?Rouw!yq;AA-Zc zwknP=u%*3M3~c`_P^5wF?0jhh+mFx&wqK$RY`;Mp*#3w%uw8*Ru>A#XV7nP@V7nD< zU|WPXu-%t^FtDwMHn2SwZD89BZD52yI|H32k6I8Es(u3EIGRG>0qAnupNRnupNfB zROg-OAlRl-7y`DfIOYbnTke-m0^3S>OMz{0ymMoslE8K+H5u4$s}TU(R{C#A0^7e8 z?ZCE%Dso`k5CPaWLy+ohg8*#1ApqMx2*CCt1YkP=0oY!P0BlDh0NZ>7U`yL@VEZ5? zfb9ecQN-D{n+|NV6(z8J^aAG^^-3wQO&ae!{K7rsoyD|_PyVkO?<}~D4|Xon8GiTW zM6m5&JppVp2D|h9()lGM*WUa6i*v@!u_o(YoWm%99y#lJ?2^c#mbIyOpn&@HPJ1g!bExKm5_ZCG{y!VN? z7x4Yryc?q{wM~)YX}^mUUzK*Gc&lRFB+Y9)CB_OKHAKu&h(pBcT44_&CL-e0dpN13 za-YwtI1~{N=Lad6`z+M;rBv?oVG6?#@iQD@h}aWH7$OeF5r&ABafBh_H(Z^=5OE@o zFhslwM-UO4P*@fs26La+=P5W05vx#3S%?_Secp4Qg3Cq321J#Mh!b-a6^4kNaTp?g zO;v`7%g~01ThNAxd-2r_5l6Ca7$UxmBMcE=yjPC05HXnhoRXv9vJf$t`)omQ7$UBs z{e~eT?Y&}%`283~8X`WGEp3SSEZPw9WwasUWV9jTTWCYX_t1uj@1qS7zd{=#evLLn zT#7bCT#GhD+>SOx+?#zfMBEQ;h#5xEN@n{5y*a86}o`e7q+aW;2ZU_+ZQUr*2EdoTOZ8$`{ zkrEK`E(!fsA8)(q5b<(F2@x~TcCG=>mO{j&mn&YaqQ))c2MjmTO z@{7-u3`y20&Zv|?g(oW+r&Ihu52(<;PVpG;_vy|%-ZCI_`MvA3l=P@($L`QWojNm% zk#I+}8fCeuzwA|t2b*XsqP8arMQz&^<*03r;uwfrFhToIKJO=a9IV}-xIM6z2y0b_ zbGS>5MgHS%U1!#-Css!*>FqH?x!eU|?Nkbb`Mg5?`-j3>eWJr)?K##6gSB^Xgu&YR zIKp795sole+rb4i4Awrv5rnnj6qW^R!Li75MkzQ9*7{OQS+Euyi@a2iRFn^ELx?ID z)^=nmDh$>h#$m8_1iNjp)&gy?)&*^_b}rgrZ87VH!P;Lq!eH&s5pt9TYr(O|l?g5j z)`DY^N2&FO!rDnV!eEW|UNKlZ?k+_dtZlwS+F8tBE#P z+aGPP)(~y5b_CjBtr^;2?PRpUS~s-8+J$I?wf<;>wOJfIgSC&)25XDa25ZaF25Z~V z25ZwfGGVaxIgT(`8;m0i)*9e2SUa67iNRVAw87fNXoIyOXoIyo(FSXy&<1M{p$*oa z=F}LhJ%=_}dkJl@_9{9EYv~k*z}i60qruwY=pfs#_N795M*m#8FIJBAX2wMM&Z z*n8ln>PJbLhk^QUNrJVeigvKp9s#WNLI7+15#;j*BY?Hr5Ww0f1h9550$3|R0BcVo zfVF7|VC@40utwW(ur`+xU~Pefeq!&|1R2Gz6q%tY{gTh?!lR32jzxZ}>z=X5%HuIk z_&+fgx%hoC_Wo;)r}^4Vd7>9z|D`kf*Z9Qz-P1c0&hKOAy7L?DRMIhhxA%KeTlku9 zqP}B#u9lMedmlcHf;!i{p3oE9pR(N4lj7Bs^!JX`R^&M}?jdtG+cvN>utJKXO1 zN$+NucYE}7@BJn2C3833yhYJtC^%6-3V0=e+0It@a6nA*{qbxV| z#CQ!Q2Ovuu+ryrT?0L^nj$f(1YW6%51 z#-0zMjXlSsjXfu#jXhsL8+%Se8+*QwHun4qZS1)WZS1)cZS2X|%s6{ypp88*L>qe! zL>qhFjyCpe!?6rw&$DravFCb@Wf*%tkHgsW^P8oOJr|&jJ(r`6J-4HcJyTfM*t06y z*t0I$*z*YDjXjS>8+$fE8+*1u2ibEL=QM;p*WRddW6w$GB=&rhl2Ys$>`PusR1$l> zN{O-O%bNSbzk}G=bFB`25_?Wnv}4Z?5wPbX1njvI0eh}Tz@C32V9%;L`;I+pAYjkh z2-veB0`@!+0ef~vz@D@X$DU_U0(+h-q2J6(wwo?d*w*c0w8zQLbyD6xCkk7gvZpWk zKiHRC_V}5s^>ulkH)jT~0_UxT+1qud2j>%Be*y~69!=tW+igr4X1p97`e_1e`l#p@%9ndtQk#60TtbLjiLeg-|l>)q&~ zUe7`g_WF19C0?J0?&Wn9-Now`=r&%jXS+?j-iU7K^=5Q!um6Rv=JmDczxH+C{YLa= zuWv@L^7FgRNlwyW6@`L-5h<2*DcY_6UvYD`UJ`k^7=FC z-_Pq-l*brVk(cK5?_M{fe680l&~7YlUYgTx9$(XQeN0ng-txK$`W3I;egZ10-_`kG zLi|{-TN8hW*KQwf@cKl`2YP)Hx^IH+?)9mZcksFkx|P>wp&KXYLlShv>t4iE_PP&x z2LmSZ()yxZPAV_$JoIv3em?qJuU-773FYrdUwLJ-`1|I2<_)?orF&lewcT^8ubmnD zal+z^wsRu+i*<`K^NoRh=DVe}EcJ{p@wV}qy*itZ_myX4?b83(@JRmowxIu|NIvg4 z$D@x(zWce$+BMuQyyHDLxP`y@$IIG9bR@qud#ZJ`iAa8L7Dnw-y*GIkiR6#-s&ZuP z0q%gLen8vJ`A{Q@@6Fh2fsRU(%hOU~DMKm z6=~2#Uu?SnnwcHtdkEjX?BC2OPrk}j0YguQICEMd2mgGn zGjoO=uK?@Sr%M6%bg)x5M_SIYCYt*4?$c9E);!(CZ;$GUVH ztB?0Vl~iXW`z62j!8q>pjuHBZWMAOdc!X=tK(GHGsIS*mI27HzJ^%-Blymr@t z#$LCh{1C6Zp?TxI_Qr}hu`Z#=yhJ-fCf|)e>eJDuk+BKdi^N+9j~87^A3ED zoI4aB`VH)+)jaHj+(q_Yulw>P@AkUC^tw!K={m%<61O4-N@OE6ZCBcTh~5(UhzyCx z5t@S_jqCop6D3|mG}RvXchYzCd(c*UuT&UC^`gd3Q}v z@?({5>g|YSO;83%EpzY4*qwea$5+*gC4-yO{&kt^{U9SR%U&VhIx=>?i>x!&M;5ob zS(hqud`8}BBUEA4$k-Qsg{`Y4S6EwNh1c*;F=|)Mp%>}z{+R=`tE>8}ypQ{5Nvo`l z7M|gCD*6_|4e-97h`wKX%cmqteSQ*rm)E^DjF*E4VE+M1Ek2NRiFt>g+>p9|HfT{Hggjg|};0bTJyOy-?h&m*Q8Rz2@m`REdl#)E>BPmF&h+6&3RT zTQIA)yD-m-jDB8g&pOAJvZoWl0E3Lw6b&u$4dodX>PX(Vw?5(x#Z_A92)`Yd;o(PQ zw9C?GWON>Dw;QX!Lx0R@#~9s6c0bjy?#qmJ4fQ$veAUg_8nv@}WNc?&cR}g8tKu28 zvvMT6fmGm|?60Ekxji_bpA9{-aH5VyM!OSKIQ+_tc5YIH(HChOg{!oAx2tY_cP_qj zMgCkwMjxa#Kh4fitN=oXJDZ6Ea-O~La)xMFjmuM&7j!4tqYl(G9$O{Oda)DM%%f=HNWESMz;>r ze~?a`R-L26{#b_oE%MS@YRCN#ro_5aGIG;evF+Qc>08dy&gIs0-|te}eDr2*yKsUW zGgUX0GYv`Fd0P4XmfClM-*b~klz_@N!5x(nanz~`l%&A&~&O=|f&tzCG8zG>iJ=6N0Ac%zDpX6#<}(wyZPIiKHs zbfm!u)s@om-V-|Bv$@KOQ!gE|Z^zNwGi!{B?UlJtM(o4b*V(b*zhuWE+5I_9vAH@q zEoXA@BAu5MAHSTR_4V89_BgslUswD7RZK>dv?Xg(q4vnLe<;fnCO_EKOy(jxj zwpjLyY=dl9dCHVA+wfCbD!{d)Z78Z$<44#rKk3D7#!XR8}bC z-DrEMo-|oKStHp_YWo>0$WxZwnWdD+7%Ccm6vd3f{wO-sNX?bd(Ebgnw z=X+ZBGudLpykU##k)>``J+eb($I8-W zP2@jUaWmwfBfCrACur4`U!d$Vvu89WHPJR}xgy3ox2cYKvfcV2yjaT>v3C?Zb+g)z z>@(R9+Mhl;S076+lr57L%C^aFlW*20`D6=a%VdSJ?^RwA+ossPR8N|$o~)6qr7UsX zc3SQxJ1?R9GHJ%=5_erfIm@?cIdnX!<`>I|&sY0hx12xxn?}0cUYsJ)f81J40a4s7 zyQPimwrkm#Zo3U`0OhCN@4M{|*2ovKdw!T^buA^0Ctco%fA>1mRc`OXi$!0gEH`yT zyqc0;t1phGbM3Vo_5XiX_Nt+WDe5AN(lF5>ef67lrfqM{x-LrQof_QU4SsuF61R7f z-(Jmxno2f#fi`(o&T4IG^HTSTDL~$D;$FtM-s8OSF|Kud#FTgh z9flp-`}K>WJG6D4>d&1tOkazE17~bdbovVJs$@02>!`roXM(%rjbvG}r`VN0N zD`#h{V2ZA>bRT9b(sduU(RvBphi(04efQzd?eu%tK?i2BL{j(R`A4}EalH1txcl%h z%5qb8{Ad^HlB3c|8{5-;nAm;TjbH!L;|$vJQycc^8aGv?x(~A`40azjqcE)d@G=}> z-G^(r7Yge>Oks_%?!zZoBdq)IY8+wRho|BQ>pt8EN3i?wqkbwZtNSoG&R}nX!@3Wj z#8FoFVQ`#5LvEhR?LK_#VnvnPeRwKSVcmyIFOtK$53gc_)_s_Xw(i3mv~?dohPLj* zgQ+yE`|vazVcmxv*jicLhrw|M8G1mV%gK)3ENtJ8^_{AJX0{)_r)x`HHme z!}Rl{mvJMZcUYjU`|vchbswIAw(i58XzM;a4{hCt=cBFr@CvkbA6|vN%h!K1+PV*i zqpkb!ezbKTK8?2S!{^b~eOSc7vq#tV;iy~p;lb!bef>wFt^4p4v~?fu;>d(`A4aHj zh455Y&V`V1woQEY8f%1g9}dD{-G{llYlwFrjze4b;RLkHr)nB6v~?fOL0k9XJhXKm z{(!db!(TZy)_u4ZZQX|((AIsp1x?mTdp%Bj?Iu3Eox+gr!@x)0w+(0w=$!J}(mBj`R{jG+7Q7X;mhI}mgqR#8)N-G{Ud z*L_%x61orTNa#0n?zahy^rud|9$ia2%(-^nm~g}5C(}q8iu#Ab_Pk@|KQqoC)Rrce(+pDt;gIuL~2;uhJtrzfJ3xJi0d5`#l36IMz2&|L9sZEhRDV(t|;VI#X0$ z%)rl6mYaHKyqXg9`t%UC;$KzLFYZ29{|LQoEB;j_oq}7*^jkSIaVzcoRt}6;Q?ixI zv=uRE$}BPH@zRb#w=b|~*S5zB=z#z`Ysl%abK%TAqZzo=mCS{EBIAnkQd=m$d*;CE zQ{r>s9hI?$I1CAMsHH3<{F%I9!Y@l2wUmp5 z6MHMFTqHb}s4yg)*GmpV!gJZ6A>rj{L&96ohJ<6#hJ;nAGz7s+<8s z!u`>PgvX!_3DQ>35?I3G>i~gcH$*gs-Cw z31^@U2|qy_5-#A>7!oc*8xsDAHYEHR9Yn&bC=5Zu@n@>skgyLr2?+;LQVIz(14x)d zR1y+iM2R6`-_HX`I9`W72?;M%v_rxh5g_461V~tb00|#QfP}9gK*AXaknmjuNcbTF zB%F@`30EON!Yv4%D5GsSB-};`NLWd&NWbM%G^0du+H9?&gbaVyVl=})yoh;iZP(BH zxAKw)EA=y7xx3l2FJ(()$IAvQ;XYJ0LUy0*QCThJCx6xFZ|W@Bq|e>5s?xP&4P?j5 z>MJI3`6QJ+B;!5E)6AA7=y=&beXgnU2cpvbwUPWG!T;%J2m(L*?hn2FR{0BPO^`;_@)9Gg=nHgC*}@ zZhl2#R&?Q~38#1Gk?!;!azIH|bgK7zBCK+kZ=pUby8TXw@QV1GNY+L_tLcc4kwr#? zYop^R)BR7pni5uc8|Lu!uGZmPlPSBl(dzBek*Mfw{pDSN|ksuC0psKt!Vqd zed4~RpE+)l`s(;cD~h(1SG>65b@AeE)!}&Y6U8RH$9c9P<5Kw@GQO^8Rr!doviLpD z16-}qpB1(z$CwC|t2@&yO1;Zuv5G^1@;rXNf$q@#WlW+uqasY*80c9}9_*{m9!+^34wUh;v!5rheXDGN_ zpzK3bxj?z(bVY>$<*hgjC@Ztu29*1w4JaF-4Jgym29$5IZWvH5!x09QOS{TZ7ElIr zjH|jRxU3-x!5rftg2RBaE{-suq`g-RDEI56$U>i&Tc|-#aiCm`HlSRFHlX|!Z9usW zZ9usNZ9usdZ9uu#Y0?IimC**25wrp2A!q~2;O=9(SJ)4P}Wei1Ih*nfU+e5pzMGED7zs5%8L*H7aju6hDV1YPdY4JTzI$?v|EYJG zBtD-Q!j~E^yQp}Ik1sDuM9k~oOE}?^>bVm>vuX)qp6&e}F`pgc+pI^-2ep*c-+SfW z6x2E8=7j#yHr5nA0d5fY`f4f2D^gvWjB5`HbZAaG@4>CNh%W)Gy?_g>=6#+%25%7yPs9 zJSM4icw#V;Kh`hwbPEsqh30O7Iu+KyExh6vB5vUgzrcf*k^J?3f#>TZ`PKE?rggZm zMe-Z@g|FR0d%y63Ti_8sh4CbFB>xq^@Qhpd!Y|~zg>`-*%Ps6+VN_A`NdDeR0VQQH zhqk4Wlo}H|NX4PRxk?wNQo#8tg+buFkixJG=6yKAfb#$xVZeDjjxgZ-q=Ot`z&RdA z7;s*NBMdlO;|K!hruHf<3pj&gVp|d%2ArSbC<{1)V`96vQ*gP!x$;y+l?$9#5fuiU zd*d+Re1Huaa85uQa85@XaDId~;Oxq}VZeDUjxgZ7`V=|J0?y!=*qcvQa9O|^925IH z%`^-+U&IjxoV53f0q5fmbXK1zuJ z=lB@`;QUsHJ_$IVQnUlk*AW2cYy`kL9|3SKK>(bE2!Qi<1i<+x0^m$hdvL&69RYA2 zfdDw0BLGg?h6B!4lmMI^B?JZ=HLXN(2D6dd#b}#YbzDcD^UuK9AZ5>(SmkQ}3*WCi zzgx~?KkKnh<0ZWkd9!F*!ujqNalD!FcXf3?uW}E1{_OppH(L(&P1bjEAE~7z-rT-h z?If?x7b-6%!S^Xs{x4ol2??(Ji>>(g^$m-=;mvDoD@E>oef@%4DezmlB5^Ah_^q^z zS5vZ;JGB*U|Dd=B-hBHi!{%sz@7*=ka2MX3Y~JnBj`G@jULKk2p4Y7MxX?4EjXCuE zT&sDm?2+?ZkDM*Bf(2Y7)MNgWLL7R2{n(x!^JLzv(ma$m|7fO5<$B*Sp8WnlU6)Gn z=BX40d6P?GC~wv$I*d2nbv=wX-=V57-aH>i7;iSh5yqQ4TFVi}n;+o_^5$>~E6SU5 zS}8b;H~UgcMR{}S2?{QkH-`{aE^qE=si-jCd>DuE<`L|+@n#FO@n#pa@#eW`IAQQoXfa7B4@lv-~nZ=QrBj5lfT730n0nkv$G(+w3e-u&Zul^bvV zg*M)-)I{2Nb6>RaW=*v5=Kg5o&4y^>%_Gppo6XS1n#MjLMq zK^t%0i8kIGg*M)N2yMLiG^fUR^EtHf=1XYf%~#Pu-b|-3gf|Cr9*s8-M}|yG2U#X*)RaP;)f^)>c1t4H=8Qj@n(Ajyx9u@Z}vyPn}ZSX=4}Xga})yJ zycYp)79dD)K8b)gry=0Y4-oJsZNu^ATuR{01rqvUzWd(^{4qmON^s8m!~JHzamGLM z=HzYF86Ukv{pPjRpZvPm>uuR5vTtOKWS6T?{Ce5#vN5s;WNGU2U8c`f>QgS%=Qi11 z(rL1KvPLrIIZj+|sj~ZJ%oF#j8S@#(bwxfIN=h7a8E=*CmQ~Syr^ybKHIOmtt)=W_ zS+Gv#HD(^;FSOpb>Nj7h@3&F*U&xypRiu{zGIDQI*F@MH_fo>i-dx3k=KtfKRhV7z4hABa8vh!4bxQ?m`~M zfWIH7HNqHhHjW?z-a%nS8SuSh6&%KZeW<0P4EX&q3NDucuP3Tp2K>FTqQV&P0UXAF zhq2qnfKAZGfF04sfW6ShfD2hSi~)Dz2xGwQN6S%B28^jeR+s^Y6C9RvY=t9?0cr0Q zW5A=2RHQNB`opD-0XL(K0e7N}0gKSafO{VyZ46i)Z48)(HU_MZHU>NlZ47uE+8FRe zv@u{;v@zg$Xk);O(8ho>IMT*|v(d(Y3(>}aOVP%FThYdVQ#dkV4EPC-Fa{iiBa8tL z!C?&8i7SaQU^U$U=IWgco6~y9E5-YGZ8T0a0CoE1_1-!hkyYeMZkcsBVfRH5HKKZ!!h6ol)!*r zO6XVlcD+QRIOjN3QDVT4ese$AliU3>1HQ6u4+H*38L(qYuz!27o6qgLjKs-`qo*Wd z;Jr^LobTO#R_A;#ik9RYul9bAf$#P4P1ffeCu=Dw=Qwh$!$1Zs6z3ezq)hqhcr_&$ zc)hkF&pvSv!@PfT8;B3&?%^ZWK4mBfD1NNOw)?M%HuK)k;$HHFADDMzw5Gi3pN?gV z4u8}>I69o9*u=SiHK@BVRC+=G{ZRcv_Q-2@k-kBXyhc~~{JUOFax69IO(;W-&dAMX$azL? z?Iju6->7@MTcqoJzROzXUcS_7`%Ca}{C-BV$Fh)@KIc$H_4iRLaE$KgPxvn`ssjso>8BIb z#z&F7k7S!;b$vM+;LsCXY_OKs!_if}eh|Hz_M%~@=uKW9MWw%@vvzNFl{WW|?l?a8 zj@i!fn~tN_?#9-px}Z_L{P(XG8N18vW7>XfE#dp0bBKaR`(XFRBHj@;me(HY9ZP!k zPYhQ={MR(#oNo(z`wbVk4ZC-i<)x3H6}Rz@kDsr3GZ4Z(*d~Js|eC>)heC>`leC>lae7z8D_<9lA@bzD4!`ExjhOf7x z4PQs04PPHX8@@h=Hhg^%ZTMP=<8AnwhBkaX3~l&&4BGIu1KRNQZ;p(^*R0(u-68Ak zPhu_33s3auv@djyHr_FnHNN$ZInKdlPp5q_j<>zeuP1HzIv#EKIuUL7`VQLg^<%W* z>z8Q5*JWtK*R?t|oO%Ct#`LHyX80|xv&FW4alI{qulfe#w4-hu_z;yleAW5yIlP7b zcFgRhou6=^$_-!pqxtuf_k>K|%5noGT&XkiI#1ER^WnEPQ_~DSqxld~q%gIf$JZ+; zF?_xJVb2N0Da;8v4SLa3&d-HUxSG?iRVY6QZW)D;diHlL7y zuNgT@GDdxrG!A^d!lKGw9;E;IXT))@$lj98l^rO%P`OFH$}M)2>@Hc3tVrdH^to17 z+ZFm;FWV`rqUD;h`m%kMzhs%QKS#*OUyhS8=4P_lj|nPO07@;;^2GM>@gqR+57=kNust-f1VS#McCS!}I2K1(uJK$P!CYg6 z!m@IW!TIKT*HLg-u5m4nvT}{V`R1;vt>AKVjg^QhH`h3}mZHLPjYs3KT;nvVvRvbA zwB;HXp)J?A3T?T@D_A!y*LWX}uw3K42gp%Yt}!^@+=KfoxUBx>;Cyqn2oB3NeoFfd z%Qe#8E0$|~yM`hS)<&dB8?22+8?4=jHduQAZLsz@+F)%0+Fk% zT{3m$^x$SM?b*q(49hi6#$mAbT}0Yo?I*Os+B&qsS|#EQ)~cfo)@q>*){a73uCW>G zTCVW~wB;Jxpe@&UDjHbRUKhjK$DGrUT;uQ6Rc^306%DK@XXs(=LrQ?Pq~{xN1_TrC zBi0g?)ZaXl5`(oF_XS|>cOCkqT;qF+cCa=d0j#Y+0Bai&z}ij(u(pp*x`VY^2w?4C z1hCc+0jxDa0BfBPz*mM7?V**|?oEq;qW|CCkMK3A93ksT&$ENdZaE9)c+*415Q=gPj- zx=Y1rzv=sJmo?Gyf607v{;ido7r1GDV>qq&l|3!)P2jW-*EmkQeNhRg)%1SPX#@4Z zKMmA#+Id<^$}Ar9t>d)6RbHG~-29E>w9j(fW-1RU;k4S?ikjEtxQEQ(O54Di=yuf= zf1%HP@sM*B@~wsVu{9qD_hBO2%d2x+;yzsK_n~XNnv#7e&{n$TwmvFD0N4Nk%;GLd z3pH7Iz!oAbeD4=}DnS#;cekkuQ=TD`e;xnzTF|Y3B)<~3^;tz9xCQq@ba}LDB>#Fm zql(UmjBTRnRFogva*#d}UV-z)&g#OA>Tdm%hI)f|CsnkUL}pk0H!l8NUO}(c9FwA# zpZbK)FRmc%_S#fcB}*@Q<_*v3bqSvAeCgk!pZC>PQf-m!SG^-g53Ls7>mB3V7rsBm zZG5;}ARDM1xWO%S^xv_kTe!k6bZ`snSkNwQcDvLtGWKj&ds^ebF16JIo`vz(v5CQe!7|T<$6k@a9{73O?%0% z<#*u%JJb&?O)*X&Y%UuQ?RODFhhPIJ4|(p8iGCda6a--|0a z7EQdagKp^cICO2VA4XU6x*_^6ruN87KN-E*>)$p=ukyMp^)EqZ6`kWY{EK&-kK+UH zAafYWU+uqgME`Wf|E@0SJo;__AG#NwY=g5iIhM>!sg2iSgExD9D*CDfeX-Y**Q>mz z*B_ued;JCaB(I-9AMf>x=muWDL*uE1&MNBUzC?ZR7>VQ0YV5?ADf;Qq3DFcTF;|dQ zCD49{(|*6gmsQlked95%S&UhrA4q>HKlW>0d4PfvTK-U)$Af-N-lNiZf z{sdOcFC=hH)eM6E}h_a>7D(P zcc}y4JjMCO@X(j`zfojtst-Omu>a@LIKI`*slIu0wx55dZ;B0B7~Px3)xTN$xFYPLwdW{!&u{buWO($_xc|6`Cd0ipXqf?bbGJ2 z=qbCx6TCi*@}s@ZLm%vQA9M|`FGE-I`VRJCJM%&0rC);n&Fk5G>7TtGPx&|KtRjAH zBH2s5V;qiIUSCJcea-7%X?@Rny&63pomIp<5|Qkuz2i{M-ksh-Mn96D?f->ZxWoFl zj+9nu>9*$vpeY&4D&71l`R=f~Rr1D6@F!e7LZ`XP(>m!VG_eh~S0{8~#BaDRdtKSr za)7J8x_8ue-`}6ko^FqNlh@BGqFW*|`fk6#ZB8WnE*A3Ak7bYEawmPvjeaNei}bE5 zNNZaoc_%*OnBMDr>77{dZm(S>L%e>9@+-aWPy9t*Peh;X^)tkD@_H04`9!ZjM<3_) zKExd6bu+XZ38~rm(0lvx;b_tg`XcLC*SfHHMz3(CFWjsYDzP|hnbP;V#|A*+U33`p!%_;xU>*vw)y}kqeq1P{> z-%QZ|_Ie=YPka3l$K(O8A4iYz`g1fB%V;0IKwt0mDD>rCzfmZCzSn)xXL`K=-9AB| z;PnNRAMN#Mb#@mX>~$1f!|NGnW|7i%Z$fWZla^kL{>|&}&_8=U6#b3YkE%bq@Ds0x zqusAtUix|H*L`_5`Z=%1pda?SJ=)FOrJ-=Nx4S9NDmp?R>J;=r&SB|>tGTAQbVF9r z2`=bzA2b99|CQS7uGHGv>!Ijlyzb5qN`0@t>OjJ=&n;g zKnFy|j&=oU?Vz%RA5hnp&hfSUoBzAheJ!1+B^$`nu1&+i2zlumdNQZbJsF^9gg8{B z8&rN4jdCBa-$q-yp)nUe(hZ84Li}p4FQJ|vydH%9%Ik&bIbQ#Wp5gWN=$F0DKtJX6 zjc5`es{bx@w%607m2Su?x>4Umb5&&(k#owtNMYA%_guQ+Chd<)Hw;72H?&mW)TJAi zAxJl@LXd8lMhxkO=?M2|6M}R@O)9LZO$=cZhpMEWN_0Q?jPmj78>%woDBbKe(MeiY zTctVi(i$o~UZv_W`u1a&=wCTdiTS?h>KC%y!X_5n>kNv#(r@zs z|Fbhmx1G8hy;-e1G2K6&yU|q&(M~vU&Tir3>!c`!^@Vp#P~&w^Yb?`%*TOe_VF86a zt#L1f&-z0Dw8jR1wSN!CJ>D@w(Ykfi zF~B);yyFubM|npt=eW^39>u|onfhWaoWoB=nSKS1tqPK(p&agMjfNC1qcCqw$Q+y5nX$>Q#oj4xxwUj)qvD{tr(+&s!6KZkyx%}>GKWM*0uaV$# zka@ih>LJ{pmYe3Ez}+@!eyy>JH4gTAE4qf)d$UuOygm@^-i(@;{s`;-rhU_9{lge1 z`X47orpD9!3uspHn}y$$wFph~Kab-Xs>&Nv@|4C}H9_5yp9bG2eD7CxDY&dOf15yX z6N1Ci{3~d;VQK!?aMWU7MiuG#j6ZaSrSyD8CI26x=QHeQ=v#o?()^DBM3&}%3cb+n zeEKA`rTJe$+nwYaXiM|YLO<){-$q-S|1-3u`M*G0n*Vz=mt38+U(xovyA^F|{z~kd zrTMF(;a|mH&XKk>|8;0f^WTlOH2*#5{eAp1XiM|=<5-5J`ESOtf&&#u^Y4!%EX_ZU zgKTO3O*^D5&A$z8Y5pq2SepM3w59nQp)Jkd1Z`>lc4$lUpFusA=I@TSG=FcjrTNc8 z2h;pNbF4zr{M9+O_PhJJ%e$yy7pM7`QnH+q#CP-0*2N>S;igbWQks7u>%FM;^wTwe zXdumBUH?W&Y5wmN?b7^f5v2KdAxQIARn_iycYg$F{v#0l?lwV?=5K}IcegEq-`%bV zes?cM@Vh%0!S60@!=?GJrGzy9Z4%ne#9`h~seegFJq#wlGFWFFw(%AfSc zto|QVPr0%nf1UF0>ovYgwo&${Y;R51^O!#0*cgkQpq%&z`usxnz3f-nCfROTRpske zYW)J`51*91B%3aqE&EcoM7Bz{S@xH#q3Q}+HO+@rTNW&@@Uqs;)jpi9eZEL`rEG}o zZrQ!Ehh+;C(^m7Hb(Qs&^^^TemMObab90qvS&GXGiG56ElVnq6@5w%sEtUoA`$c7+ z>ih51=X06|>~-1OvQK1`Rm8qg?9Z~_WZPwxG*?^=*}<}-Whcn~sh;-opD8(_noLm5q?yCwo-(rMC5%*84`*QTvK5m0l&=kWd!)1wXedCMK(< z^-{HsMrt!HW$k2}w0y0$F-$gERv>#)M%@*$mlQi)He2?kY>8}@Y%`w~sN*liRny#W zwPg)uO=N9kU;d_LwV5WeHnJ|VUb4DTy-!&CJwf)WY^LlZ*#g;5vZ(A28Ts_;vbwUP zWG!T^wLhooGedT+EmQVCu>o4|+W+OcY-gC(9W9Ihzy43QO>BAp-*4+2f35C;UizQ9 zL^fD9R2EhFp_-5GSXsL4G}&3QdGbA~Pv)$fsLv^~cPW=GlC6*}R7~RXdX;rke2(lY zvj-A%yzHMopRo9e`g~3HrtAaRJlR6okFsB7>t)+y!Mci6R#kn3WAyp3{y(15KE5nl zu6>)K&pEQMWIxDO%eKhy1?_K@@1tvC9ogZspufE3rdp@1?4RDhH~6fak22!(-|0=y z+cI)?>ldTzeu+aA)?Sy;kvR5q_xsUurhZy9(d!|K{?z+@N8-U6;Nu=kbR$)(Yboi0 zujOxYOHyaL%8MWPdXci+)DiJ&N;>hrc*}XNjC*d-E#fxY zxlKej@vZ-_7+k>H_w-G(xUb0P?R$E_)!x1*RWg6bcIA$AyV{z3dBWg=HKddn39CB% z?P?nq^3ty)&%@Jca!lZ^?r;^l6f94tsj&EVbtyS8o=#Jtzg^wtZ;onE1y85RF+x>D zvfUF}dQy%xcsflEf4e%@ukjiVo=%g)->&}KJ2G%E5>}1@uBvg~aS#rkPLspmt`75# zLXtr|ohFCBUA@#h-o)Y3#aX)>^2OTfi`_&aPp4(%B@8ZT>I%|oQcJ=O*Bj)Vcsfm0 z``gtjzUpq&!qaK0rQ~*Xt-A|MTS<9BEng|6Ti2lNwsj-gZd?CA+imM#XuEB#MAp`BTPvgOw)FtC-L}?7+ihz@wB5EgLECNX zDQLTG?T)tF)?R44ZDllK{I>N?wB5FTiniO6I zyKNnVw%gVMPL18RK7_X0*2mFy+xj$`+g9xy$yqm)pfQCmU7S3W;5^Qk-L}?3lOIxR z@K2{5MG3d9Nka*4qwa);+l{ECp#%q0Vz;daT^YD-Jx~8FNka)5DB9h&wm@*(+6lpJ zYcB*(r(J~Lw)GkWx2>57Zd>m}aN9Z(!ENjP2yR;^BDigxir}`Dw&8ADXHddzE6*zF zhx0~FH&Hy4;6+90w)O4F&NZphKMy5%c1rb>f?eXT1NARHMJ)ENY@Te9tg&p6dID~g z-6^|A_K+;1Ud845WKIv}Uf&_BEFF;@BI8+l=Hf_PZl$sU*#g~Su5G8vS3|ZRd%-QE3LO!ythiyW-Ga=+b?%JP5<=Zz1i{o8N%(Rc*B8DD=*bh*6Z%^Kasn=eay z-n?1Cp}d*Gzr1+!ZiRZ@TyUo2&9=UJH)7WD<^^siqQlwx9^Opg%`wYq8>M*j78Qr` z=5}3|O7Z6V6b5;dOJXQ*K8+)cH{EqTj5ph{Mi_4{SuIBxZ@!2lj5lw?5yqRR;|TKR zUKCc8H#@IVa2Rj?fTNro?#j#ft;Hxmt%li8m)J+VSRW1ibkT0^VGKfH!|b zz?-`f@MfyczT?g62zc`V1iX0|0^V$mfHzM=z?-xU$D3U#fj7^Q(64@q?WXG{Imzu} z^vp@lmA;el5-Gm3BxLAn%NO?W=6@w`UeGP4Wd6Dvw)?Y~({+JP_x=|qQ05mi9A#eo zJVO&UxUA-u3k(9!6{dC3P$CC`E~|N>mXhATx6gBsM4g{iZj`w;y6{=obp9Q$ri3!L z5uKY_5cf3K2KIfI9q5s>J^H=(4vBlA#A@a(iq4W(l(@5_C~=gudot#1#m1-o_%l{e zO=!rIF$3jyPsV(rXl<~8ud;aFxo_WbU;0XgsTX+9Fxkl1!KBgDle(DGS!&+7eku+f zCc8`*kW#~BCs7C(>ev=1BDvIr4wKEs0T?QJgw9`aB62?*VZ&sP!T}g+jif~62f99n z4wJnfN7yjg0XV{j$u`9S7-}00wO1|?8U0a(Wet-J&O3J;!C}K>XX5}2_54VwMC30p zU_w5l%MS_$47DF6V5kLttBT)pvUG`}%6)!j08xOUR!>Sq#=e)sz%Z8$8W=u?HZXh* zZD9Bw+Q6_qm4*$Iy#hzrFxi1@t*qx~g7eN@`<;TzdVVH2@7#KtY1s2K6L5q*KSO)3 z*z+?Feyd0W!wbKWHZbgmHZZ&bZD4o}+Q9H;w1MGmXamFB(FTS&XamDsw1MFxXamFN z(FTUo&<2Jdq74i`MH?6%!I3sFY>GB8Y>zfD%s?9$UWzs_Jd^_;_WVpM9Dt!((L&b< zEfKkpV;T1R%sn^^3@0y=HZYulHZc4MZD6<*ZD6<>ZD6<_ZD9B}+Q6_X+Q4u>w1MIN zXamDKXuwc=Jx+V=5|K}HPD7rb`EsGk4Gix^^UqfN{LB-SlzM(UAQAaH0x;Z#01Q*r zFdP^jf&dJUK>&ud4F`rzC;<%HO6YfUttN>m&PN^Qb}`!W3FoT6F#!xio}#JyWc8Fk zm4`e?`MIge#l0u{Otx5dj4b#*lkv(q)>ICScbTkJjxOwdCda6}o?>e1llPmj+* z8MOz(l%5Hv`LkCX8=d)B$#~fnXD0w*t12D{{dn0%T1px(yYmqUqRv+;cR;8VUUW8P zxv7uEt0@7(RgXH)@VE!$n`RqW6a7Tq_;}e%;vqok^A_UA%Z?B3!%)8u-4gfVRKE{( z;?(RKfAGyZ90n9WVPB_1k#a1NbU;vn^pWmDqUM>nOMJvdxIM@v=kFHeU7y zVr;x@AJ(<;vX7%}yzCF?!+iZkXd5rP3T@+Mds2_! z_BHh9Bn|S?7olyu?B(cbzPvN~1+RP379aPzHrmF^)<=)@);tpX1B#A?9?ix1mq=`f_4yyzKXUmm_@na=*%+{Vj3#4&lm*MBwI#>+mAw(+u0pl!Tt zAGD2^9re1jjhAhVw(+tP&^BK7|6%XVmcyHpB!vu#5{G0Ar3guxCBi#X zLK!kO=X4w;^N=ZImU$>CLnt#DL!lf~krbu+y`F2o?sM*Yw~ll3{(L@P@89G6vFdfN zYwfl7z4tozeqGnTUe^w|WitO(^jk06MbFAJdfBJJ*2@k7TQA!NY`yGVVC!Y?23s$? zFW7q7o_fBW(aRnTwqCXg*m~Kn;5(9MS%-nGmt7ldz3f!3OH3~t430ar<^qJcLrO2Z zHwNov>oBYJvipLqm)(flj`gxPb5^XEeV$cgq0%W}>t)-3t(QF=93DuO78SCxte1VA ze(PoL0$VTpCU_iPxst*)_TQA!K{I~S7VJ&q|X79((X*;lrU+5H<>tzRGuwM3a zzAg!gI-I7Qs_;Nc#k*OQ*2@kDJMORuOx!`^`!jxaf}4raXY{f=f~}Xm9XvT1b064x z**(D4%hm&rPR8s7CK96g4+IZM@IYb39b$Uf-E>GH?$AcZ6XFi-0mL2d*EbDuhX(<~ z9Ucb|cNoYR9!L!a5O*j65Oi^${wByOwwq@f&Te%e`0hx(EokCY+t#Z z5xwk5c%w1B?Ch6hNb6-Eq%*CTJ&MklUbYlNOfS10hL~Qq8HSi%_LUc9i0Ngo#SqiW z_QVj=%NAjnultcsdwJadC!FMb^|CD)9Mj9biXmUUZ18ir@9H>+`{(LqzsEnVGTz^t zQ6UjTe~$Rg^^^PT3t;PIKLFQE`saYHm;E=}#`LmRU~s%Yd5GZr;%A?iAr|jH2Sa7? z{i#)nHT z$NLWgJKlc;*zx`|!H)ND%ZZQ0`}e^Ri}%msT*l)4*JE(J|M>~Rj`zO|cD(<6u;cyT zgB|bx73_HbA7ID(Ycr?g{TtBlc>hLV$NL+D9q(@fPRIKn;+jU{{WAz`_`Z8%h`Z=7 zt~}maw;7ca@4uZM$NO(logM<|?UA>O|mJ;eJv2&oY9y==8!wpuS+t(VQ{X8(Vnm#y=5c4paA zdeKGs^WrN;1P^Vci*;+Ue&M>rp6D08lVqwwzc53ea`X!iUx-UmhXP~e`i1l8D=Fxd znWo|)-c1(;%T5`~nQ{?d)21PHt?c5&S}$Wozwq-liFH}oafx-YUiP4aU-@kG3kQd7 zGx~+ylMx?fM(~(&BT1o{eNNdXvdRa&q`rL6Z*_!;e&I0Wgf z3@oOX{TxF~zi=Xkn111645X=P{+u+mdKhB*g>Q)6$Mg%&V2J4#hGGce;w-&v8#?pV zFAO5i6w@zk$SnEl7e*^?Q?-6!M@ChtUwDS7S#VoZdf6i|I8E(qrgECve6Z8hR^{tB zO|352X=>N8ZA`x~5kpMBFoB3~zIxf0iJ;-O=A)Nw%ix$^_IK8AOuxW-&riSb1JPEy zt&b{`BjdI{3AWoh5p1{hC9vJr*THsM-v!%keGhE6^-Hkb)~~^KTYm!EZT$mmw{&9TatviD4w(bG8+u9avxAicv-PZ1e?CrLm2)5gLD%fso zFEDPaelyC`)E05BBKn0UoM*eOU)?7h!o?ZA>;ihK)Gutv969=h@7T_6>o-kPZfg_$ zwdCj*=4o_rTWe^d;I{q?fZN&#fZN&>fZMt&0JpU*0JpUxfN*hV0B&nH0B&m^0B-95 z0B$R5Be<JUUOvpAUpP;r6c`@fCz$%al9i?w(J!3Uw_3mOkJK+zQlI6n zm$UiiehTE5^UbY>gbRP=*}CxNn_DLKgm3oy%xgC&8F*J#4&U7KEI37-^`#&x=bNk1 zS5h!@OEbd?zPSy1DJhtevA{R))usvGtesfz$yni=+kBB&mzB*+W*wff!Z(Y;wi&+p zMlzyjW(0h5EpI=k>|t5OHyf@azIlOg!Z-KP;3(fDj1AvBNJA68IkPbE%{7wgEBGd= zE&b^n%-*Z{W)|N(>`vCk3VPXg>W=cwDf(Snfp1iy>dWx$Qj~j4VRyv_cl4 z58MLFWf3op)u<}@W(P*a_-2{3Z5h7VhaH-44g{NTUJEwgyc=x3xh0dv_~tz~-CB zfXz2g0Gn_20Gn@~4L0BG12*664>sSt9BjUM6WDz7ez5uGII#KVTAXR~&AMRo%`L&^ zo9G%de6u~+d~;P!e2i~4z!2k`&vGtfeDf>}=9|}#5jNkv1#G_gAlQ8KC9wJCn_%0tBCIbie6pSU#Un+w3^n~TBbo6EpyzB!D}2;Y3-Hualto&(O|n}g}8l5gJ2s2sl8 zj~?^Q^BSf2<`X*gIeha{jShTsB!I^xcL3m<;{fo@X94idX#n`=uT z7XaT}MJpum&2<6rP1Z)>n|0`cZ*D4}yZ+moWYLb*!XcK`KQ)*Np8IpYxzcIXeDfd4 zH*@r|dyda$nX@*|y4>&f3mj>io)vo8$%#E-nd`ro(7d^UWv;4EIeOWTPlidO&4O zynnPtRhd82f>97dZJwmM?4p&R+rV2l%iuud(d^K~@D#9#;l*GR!&0z`;o3|Z)5{iN zh~>}hz}_m$pGoUwce_c0E6blr>t!dfOk?>oy)ne{XISs~<Lv)Q9V%QvPV)!FxCYC?5G7~`zwTj*e-iZT|x3fhof941bCWe>Z zAZ%hd1Z-k>HQ2=Pez1w*6JQg=31Ab$H^3%_A986-3_k^%7|sHl7|sSm40Y63>ZpTW zwilg|{F$4tRlkYhQDFYq%JXMVqX%M`Q*S=4mmSHdocx*N=`k_vRyRcqZ`P^L$)7n{ zqXRKK4*)SN20#q213(OK2S5xT1wafZ03e1h0w9L30U(Cc0T9FQ0R$p{13(N}8-W=9 zK@Y@m4Xq;G!k?;>#T4dhl%gpsbq}T=9?c?#5xs1ghE?lj{{ed0E{C=s^h5U!#fv%= zFY8#+WXDI4%IdAa#ce;*6`sCc))k)KJ6z#Sx>d+jpGfQp7hL@{FVesT7rzQuIJW<@ zo%FYWEcT6K=%{mtMg=ZN-!=4=6!gkWQ^5tFIW}0jWGt|~Vcx;AvYTY>P_nb~w*T+n z`TAq(ov$Ab)F1BRL{nO$QCh<~>tb1FBpT2a-uZfN>Yb^ZGguF7xa)oamVc|5Pp*db znqe{wPYnO_8rIEHhtyVK=1MiJ>37!l=%>MH4eMn?)fv;U;#*XzVg3GmR!i;EQ}4{| zc7e8uX;}ZoUaVm)y->Jk@*>u)z}B#S%?_<${X_F-G^{1yw1)LH&VNk9`u#;R#5AlY zULr%48rG(49((8OY3%Sn)UfW7dgtq>98#4U))zQO*07$%xv++{G1wZ`(O_#>?*LoF z+6-(BYdf$ttP9T*wubc(=8tJuPr&dWXjl*9Tw24r2|KigwLRDx)_|>H9e=L+tzn%8 zwubdXur;h>!Pc-o2DXOv6&6oS!+HgV$~3GsQtP*b^_!Q5^@P+rQ~R?#s?@M<%Ba7l zVeP?1$V+x|$!@4;~ z9n-Kj3g15@0_Ce=E#inO)36q$-uXJ6b7~FiL2P&l`zkF8lUT!gFa6fAp2~P@SjT~_ zVZEO**07FXC0oP#0oWSWI*e(U%-{V~jPd8-cB1y^wQg4eOy`YgjJ@&rdX<0b9emEB)56 zJ`A>obr{$h*2losum)@m>zVXh!}>PoWK=T$-C%22KLA_9`XSgF))8Q9Sf4*f*c#Rz zU~5=sfURK-xMec`iS%2;I#N%!GaA+fU~5<>gRNn`7;FveEU-1KUxKY+?GLtw^-eu= z&S+Rmz}B!H54MK&O0YGoqrld%?hm$xbycoQOv4%sjs={{Z%T*-q%^FTV6cYu5N5T8 zwLjPz*2B4>Si|}eXT=)UCG6Q6*1N#guwD$dhV>qBct})QbO0;M8rIdp*09cEj5Vxl z(mzgKxc&lm0$am+31h5by%n67hINYU8}B!749z$p#uL=4uj)>lqVM#FkC zrz$)oDlIyaMQIJ|6tH6fJMhCtEI@}pf$_5w+>?1ePH=CqHLRb3Cnx=Lz}B$#16#w| z1w1+#a}k*6gyt^>4@vMuVZ{Ps8rJi5cp(;Wv5qIi0tN$!1$?7#8e#$80*D3t1RxeL zkuk&qCIN^AyaFH=(0~bZG^|b3BNy&|h0>LqlDzY^l`c}yuwIktMZ>zYdKDq~;@}Xe z@1=@bW%mk)NPQm->{z_0WAU=(BU|XYAYi>*#t^38Q$rP)sTQ!7zwq^O`J4*GpPhQ) z>z%lwF#+r5@)uVSu>Mf2&a{B_20CK`*4Ht_1gxDg#00FTVTcJ>SH%z$uui{BhM0hL zEQXkXwGW2*x_N1Rln3IQ(^;8-^`O+NTF=6rjtN*-W0uMUtc_B$l;D0=DqwAjwaNhe z!?@ZZGeZUK*rI-NQ(lQ9w1Bk^*aFrjU<+99X4{y6^$iR$0qgIBWrzjfAH`5v0DiC3 zJ6y*P(%{Mh@H?jl@5zA-`2jK644LJb+0N4Te$H5N3KMQsM z{spiD@UMa$fPW3_0Q^T_2jD*eI{-fi>;U|Huy496aXb#duM2hnzAo4S__H|E4!~ao zb^yK<>;U|A;B}J+F%N+qfIppc84JJ<#1IR>H^LALz=r^q1MtfRXpjT&t8nrifL{;n z0DM!h1MoY79f02z>;Qa6umkXiF{cCYM}ZxH?+$hV{zPy(0RJQBDiVO-i1X~5?#ChM zq8nj(0RB6ARtUg94~ft6T??5bCjdW_?HqvrY+3D)X<05{-AI2%IRW_D8XW@g3jqY+ zSJ#Xo0ACkC0KO4`0Q~j+Wom2cJ)EQU|5JK5=uWEZ_@e%QOYKv&Z`6KKTdua2-fcNY+h47B zNZzLQfZEe)FR8t)HbbpUZGl=1y)Scf&6RGoc#mc!w)EKOXKl+nYdhs;|3hj|sZCOQP3>K^Pu0Fw`%!J7T6(VK>RVlPZingr>-6_= zi;nR=HQrDAr2cowV# zUW*nbce!x;Sfy*YeYDwIcNXgjK1}S%)4itB>Qv}g8|YJxo?zZycqDaRQh&Lg;3@j_ z{)5ak6;Jm*Z4)f#W-MpQJ)9PH!27qJORPs^tmp|c)@5b4Cf3#&D|&*B_0UWQ=l8u{ zoQ$ZK8Nsu|jlu}@tH;TzOtEEO$p740IMEaQ!aE~k?|W@Ult6ldW%@FSo?w!;)Yp1O zTLh0c^S;-Qq<+#3csbv?T2GLrCspK$e)U{pJZb&v9(0m6rgK}KHugR7 z)|h^^A){k@f;-tFrYCp~18HNLKPPSM2n;bj!Il_edV=2x1jY0OQ!s>3ah85{0G;{j z30@@L6w?zN$t?Nm2|iOer)oVxA4XNFC-|L+S@2p@`qk?(IBjfm4%=yCEx}G33r`H4 zHg*{OP8$mkwKkGWW3geV0*30!1h{KAu?;PwHDZ3>%YMETGs>HYuyxVuXS^n!^1wf+XS*ZL%9CZ;EN9YY8er}V3*VudMDUk>wRE*tq+0m zTJ@VjU^b+U?M!DxPjC{~(O&Cj;1DX#=vQ~72d}k#=|1Dy5Bja~dD|)d;R5E)@>-8% zRF0mYDLwXDxBMyPwVtHEmK;4nbBzvO>s|o7*3JOZ#<~OWT2BSwwO$CoYaIf>YrPzR z*E$M-*Ln*8uk~>NUh8B4UMp)Oc&#tfgV*}5fNq@q=Vj53r!-18&8fQt(-W6xrHw`O ztBH^Ojp3O3^{4witkKI39?oW5F&=Z`M*b|od(jC}E0z(ej zllqjSCn(+tCQ+x`m~xi+P1zyzl@v71OjE%!`)V(;tdp@c7Y`h-P1(V+vcnVWe7zhZ z)IotIK4I&^vRz~qODvl%mbkKTcuMi6#s)pXvW~^`myg`b4=TRW5rhX7Pipjk#e<3_ zNy2|pY4d+mF|Zaoq0)k))oRq(zelZc?N^$-e3pI*mYkwrEvTQ)Rt+6X;gD7^Fa73l zqk;O#aGOqV-^S|Phfb)UI?JiwPx>*5Dh4)VbWAaDFIzzUG|iQoyKu;hNr3$Y3{XEA za;V?27-EWnW*B0Mfn{gP5K|0H!vOWuJ{s}GcF`9bN@rz?fpv92*}wg-_R`>(VxSwd zRHhjCim#Y;2l?_04X#o#Z~>#Ld|@^eg8G3NUQXL#r)LZ;aa`X2Nru^h&`}iz32D9 zV*8#NY3jG=WZ}<}Apa7uso%=~7B=-;18nNIF4)v>1F)%IJ+P_YmS9uAt-+>#MPO6E zHege~PGD2N?qE~Dlfb5alQ?;%e$&9Felx(PesjR4eoMioe&abau?H6KV1W8*6}=+@ zR5-+nfip409$0LF!PM_Seo0LI4h5U~od7oVy8vwJHwbL%Hymv0cN5su?=CKlso%X| zQ@@A7rhbos(+@0mqcifr;#97wsoz#$s9*U5i(Tkh;ekazossN?+l^5<4=kF~W9rvz zPKx@Ssy~XH2NpYObfA810Z_lg0Z_k_08qa(0Z_mG0I1(^0MzeF0Mzd~0Mu^`0P6P) z0O~gd0QF;S1nM`H9;n}k0=g9snVrQ2CTNtX-&@Ut>Dhr<)GwkKc(Mg`H-A&?t⪼ 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%0AfZ$0^7QXQOBJy;k}^dfgW11iNx30}vGULxn? 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%0Dl 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 z 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

    C(dHx?W+^Tx)WI|K89x*G>IfM(3VXE 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

      va(InvVc(vp>*{KmUGYe&?_lMC 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 literal 0 HcmV?d00001 diff --git a/jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libnssckbi.dylib b/jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libnssckbi.dylib new file mode 100644 index 0000000000000000000000000000000000000000..80535c1894a3c60a10ed02e4929b17d96ad5e52f GIT binary patch literal 544120 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℞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 US=I3S2 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 z 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

      =u*(3j!TqD0iZjg7x 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 literal 0 HcmV?d00001 diff --git a/jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libplc4.dylib b/jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libplc4.dylib new file mode 100644 index 0000000000000000000000000000000000000000..c9f23b2bd4a65b5f2ebdb6f1478250fd6e98621f GIT binary patch literal 24088 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 literal 0 HcmV?d00001 diff --git a/jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libplds4.dylib b/jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libplds4.dylib new file mode 100644 index 0000000000000000000000000000000000000000..dd82bc47a04188c8fc9c588a5caf8328898d6d3c GIT binary patch literal 19336 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 cL_tGb+{7RM2RQU$7 zXQYVA+g0AJ@(jDLYc_wH)A11FRt<(Di?`D0tE>aBv6n*K>`H{6eLiPKtTcp3H*PMz_eM84bvA#9Bb8Nr`O`U+a~#OePAQL z568#wcYcv|voAWP)dm_?2I_*%%_~|PLsV6vszTvre3!H76RZdEwnjp)H7k~fwpu9MtXb0v3`wzJdTk&O2*z;c6~{qV zD|K5Z>o(pWinbBBL4r-;E%EStf;R(h3AHpvwi6UFp;#zR&^AEexUnSy2uTaz1j^Rn z53t*DVzxFEjp6LAp)K4RXFn^BL{$Z5*%%E+=v*#fo$|3?6thyjH5~UuL#@Gvwzg*W zJx!L`541Y=oVJ9$udNE-A6l^~gW=oO*qmsB6eaqTMVL4b#x}2}@1ohhA}X`}MK(4x z7YAxM@@vCcV2JfB}qdsD;l zUy%KPQ04<=&jO%eUB)rGizJotithop{bt~He-5~fSu=YKJ=xA;8yol>nup|VAxb@N zAe!tC7OgUWxuBz%m3Z0LY%AHrHcwL%J7M#;wcVG9u(xf#)Xb#1w?~e+0SgDmbNV+_J)mFBzh&ql7TJ58aUrTr)A=kb=JtxEzPQ z*6&@=KS9dzX}tBj1_ubn$NARp61=Ej=0XAKHC)tQrr@^#+ljt9m>soX`XC>P{$D}u z5&Gc*q^lHMbBzgKuizoo?pE-C>c8B=SMv)hxIw`&1$Qg_zgMvQF#!zmh=NCGwUBmO z?VmE?Clx$&oe3Yd@M&R?hAfyq+(#NyaQ7S&o{j~k`8BBa8x-7KX|^v?aAc+luT`)^ zwMP}q{>E$<3Lcnk!aq_l9q?0nOu;=$pL(oz1;4J~JxV@j3C8;FsxkXdgI0oF{F!NH z9y~V>zC90Kng=)J!FT7u_vXP-69!jiYR`j39{k-r_@DCNpXR|o&x1(}r26!`3UmZc z$IbBB4F7nM|5zb4hD&Dial!Ahn{eHX3x1VS?fc!ZB5|?RxvhSj8hTu zGba+xjkE+~_kp!0lQjx#a^w{eR0b(v;#Xusq2@4tJI93O1|ZNzdk!Ke=az|pnHm-M zGO!Gc8OVx{R8f~34P_Mt#O$b+sf>m!_n%dz;sDi{!;S|^S(g(_sfK2$VxR>|;ZqRI zsZg7yyh;jxIcS$e%bZpfR4-F!hQpkOmBFo-aDlqZ(a2O^o{WmTxzx>QOm#VGAg7bF z$03wIyC88Ya>c!wFS-Hd;&7J YohYacr?u6joHm)(_VSVqHW~hZ12#W`8UO$Q literal 0 HcmV?d00001 diff --git a/jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libsoftokn3.dylib b/jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libsoftokn3.dylib new file mode 100644 index 0000000000000000000000000000000000000000..5f8172f1ffc64f7a259c0675b5521ce724782581 GIT binary patch literal 286716 zcmeFadw5e-)<2%o7K%_$QP8R&MM1%9tDsbMnzCSaRfm~1V=8dX@ujM zj5x21jF%A|9ntZ^41xt|NdcRpj#NZNQNSywRuOMpm3%*+z4u8@(!w~u_xHSik>^Ry zK6|gd_S$Q&wf5TAY&`JIp>{4;MyAW9mrs7ij0sGb8IWQ5o{Dejc`~i!c!`hiSxIodR5)M9jF}z?-ZVWC zl}_I-x5Q(Cc7FJtA%o&KN8w|g`H}d>Oq?)j>V#?HJ(a#K9)(X4#dn2TOl`rxs88ZMPLlxky8=(ejmR-$#!b0>dXjzFYUCXTsz+KrPZ$f$Js%Ks|yEme)c zcNvpFkrGJCoyR@g?MSlatw6=4y;I(ZHz{|wOi6N$d~6-xM1{@;d``Mp{aJPzo@2(` zK55MKyC&Z>Wzv|bfoU!9O;q$q?QyyIo{rB*!8hr~BjKB=@a<4Y`0m8VdYUQt(&Z$z zzGI(~xf>OO_Djhixg@|4?cjOq9amP$ljZ2&x- zdgjz&f{Yn+)AXbjXxYA{3f~e(MkjraXi*~NP8WFnzM)roJwDs!MO6hC3ow^Uz5o2U zd?!1dxN`Acif?`*o~aqG(g`ysj0*;CylK*eF;j00Ogw+mtv5}da&utHZMR=|-uS!l z1~7b1bGa%C89+IF7UDV8QNZH5Ojk}vmutzt5s!58h-K-UGF>l%R8OZYSM^Yrs{`W7 z@#W`q#PiGgpNZ!@5!?Dt@7yd`J4bmo)F}wCoEfvGofPkX@wK%d-}n1LT?QFF5tm1x z_Q#0tS@t{Q@Byi={`fL4X?3-2kDvCg(n(Wp96w=Nk{5SOx-~E%$%+>F1ed|bw0yTu zpB@a{Iw_Iy*XEl#XoIo&Q#*s{w7o^wa0OE+D*;cYAn@6i@UwG~lMWRfc*SgeP)2Ksu;Og+-&fdW89 za#xdP4 za-I8n_h|PG?lGg+S?iH4y}qMFeK$I)yc<<63&(+PzQTuEJF7edEC^igH^PfSo7Zd$ zVjt=*YJSRLYu*b*`%RJK2n@*g7_)lj`N;*zg!fJ&-ZUnV1Mgy6e=YZYDh@o|OK{-5 zDXAP_?VKD~i)=UZbDq|{3b|bgez5Ix04-X5cUgFY-z=FAY(BFcT78GCf8=^s25S2> zsPada??^U{vEOg(wMt184=EVi{l@oJC(y*~1H3ze$D%oi{yNnZ#Q@d1ds55KPn55V z@^e}%-{?r`7=0KLYL3fv744DbKY%^7&hm-gE`KH94qyKFW#K66e|szS_drl{BoW

      4HBJ5on}c@EiNR#%^lG8swmP3vBo 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"=0_{j4f-xgL0gh)$Zf4kPj6zas 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 literal 0 HcmV?d00001 diff --git a/jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libsqlite3.dylib b/jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libsqlite3.dylib new file mode 100644 index 0000000000000000000000000000000000000000..b1988df05d6b200b84c46aa725af5cbb04fe00e6 GIT binary patch literal 756040 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 FqB}zfISqpC|)aTHdqSa5fGq;H{LpM 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%0D!Ug)p8};{qf4`0iE;kM^CMV|4-Zyj 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

      a8ZNOq@$(6aa&;ywbq(x*8 zXZlQcwdna&$nK7y_YoTfbW;RKUVYKYfts*c`StWm-yL!21Mi zk%x4C;MWmTklmMf#{_vF`ucgIY!&W1xi7P6=E23Hn2NjTTP;1CS2@L?J+dIsr zaWpf%i9B_s9eJv^<4t^}O$a!#wC4c<{0~W>6`rGZQ!n#=4l(dpVhyNJ(K})!5fY@_ zlrv(XRLt3#;r54G0W&vQ&p%<0S5ZAj7;0>%4DwBL?%SI8ReSSV$L!9P69^Q2*E;)e z-3(uimYijDB|YLqAvZQrL26UsQ1DzQ;~{Vt%7YdKoGI#KW`_EJ^w_Vc4}9N3O*V{v z{aYbFK24lQtwpPT1`Qzb1OLeHGyLx0??&gZMcO&SUq1e?`$EjfJx1)AZjtM}hH;zE z*r)Qh-inUu!Sxg?`zxREXN<2}ysNyvxUEz+0&BQ*u^BjYYg<%&*O_?q&5;tbvc%SC zNG!|wl(eYm0MmJ1lzwg~^Uxy*J#iTqp=a6+*cX3Rx*;?Cp7r>@tHaWZ!;-90$0Rt3 z^Wi9HiJ0hwh0Mb9BXNWoX4v>3>>c@|~zJE{TREq?Pb?1I)P0jkRSzLePHB zO)Fta1PyrkwByQpVMgSW&p#d+A2|LjHbObv6ZJo#*D!t)<3nV^PTnDbw6i3NEb^Mr z9aYeB=3Lv_jNNUmko>D7y_1X^vP}C zN6sm!OSIURT<)*z+l%m(cHv?Q-?J~ra4B&l2@6uTC{jVfqGt8r4tek#mwxlQGGzt% zdu~LdhEZkgVf6;aAk_b$HuPV-Qq`B5pA~ zv~y396gkjjR+W|SjBQBDl{xvs(E9#!vMlXzc-)M{@Vk?ndx0*6iBwiN<5DQ-NC>M{%x-l@+7 z+Kp{SGc<$M@}&UUxp*fegq!kUH5*<|7P|4|1X@B)AjiU2avxwX=qF8+WM}eWf%3Zb zFaN3x1??0~Q;a2_7ENj)rPJ3h0SR4_X&3FcY%X)^*zw*r?VfSmfd9xUo>5LDO4TkS zsgo(;e~`iB5x^QV_58^mTisA7hV4Veu>E*3Y(G^D+s_cg_94k7V$|N05Cy3+XMcnX zU&On*DA{Nmvx{~#Ys?;#$ExL-;8Aq;B2ZBU+QwVO2v*dd%2e2#Mi(8UcCwNrM7baC zJVlF5O21*w6dNy5*a^|+X&B@c_k`2sacUDGk}IFD#@2ILOHY^H{Ba@RZ5twp!R6jQ z+w^tU>5kg2f(xa$^KzjScUN$sG

      }p;ULvxe(o*78CiU*LXAWJANq?4W1UOa|(s` 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�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

      MQJiPyOH5!^GIly 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 literal 0 HcmV?d00001 diff --git a/jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libssl3.dylib b/jdk/test/sun/security/pkcs11/nss/lib/macosx-x86_64/libssl3.dylib new file mode 100644 index 0000000000000000000000000000000000000000..72e4189c229050ac2d704c88ccd00cc5bf0b11bf GIT binary patch literal 286748 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

      a`2K`OuLIY?K70U_HAWuP?& z5!%7PGiD8TmuWd3x#iIi8Aon~Ip*bw)!JHOp^4;AuOL~ku<+m7doN(A&$Ch20_>$Q z5E~Y;<*YBIXOQa_I)w?h_e@mm@g}|ZC>b<|p8xlzu+qr4v54}LQ@rJECgdLg-tw05 zAqM3}DzrWon(sahV4G7o_tbM}!p=rIZyx;d9y?Z;Ik@Ci{XEnNu$3=AD%|8>jPm|? zoH_lbP7{bc@<$#qn8S`&k>C$s;ee_gl{jGYzGtG1|A)fpvuv~=$??3(eWIc*hI9Ay zRSV|s15ANvBiNlwiv}jYi3XDF!*%T`PxFR6Ti^MH5$YG z*lp)iWA_vtGU5psDm@0P=Z7uZxk@QTzbh^>f?blmAGYVxbjEd4;$)I7XZdF~`KOxb z=ScAMUhuJ(@||Q9+q|cEe^^x~z6ajS#L!q$u@djgC63GW%(w*ds~+lAUTgL&n#r) z?ee#VwVvg#)WETB2O7%4<*&`V2hoi5-fS)^D{rM-{Y>Dtrx{ce!@{%F53xmPZ7f)L z5X^bsqyfj=tvZd0v~cb4y&g!;^4plqATmMx)-ZM5=b?`)poilygV z>RmtpK|!eLO&HMns{2JpY$1Fg`|@r-7P;nAhBduYJyK<}=!aI%t~URw7~PL!eFbZ| z_0=msTBu4a$(|NVqf76eszsq1xGZNB6GK7mrd1(&CN%N>mgrT5?Es7> z#f`40WUjM5TuUq*meAmDObfvPbu{O)rrvYDUz005Sb{_Uwb{59KK zIyIf3-O7Vz=lHi;?tP~EfG?PLjbLuT{s8crDiG8I0kS!>Nx~%Hxv$9i-N1>t%xk05@EL+csUL=83-n%`feHicF24ghGpdPA0D740RqK z`BE&P=*nGZ3_T^3ny1p8ZB?(%`~U`gHI+E22h|ttCf*Llk2zzwkd&C#bV^yEX65k( zw&3h>Z{Nm!8Ut|EEZb^CczUMq%W`k&%6+KK9T|?Y`OC8ZrYrl$V3*1x!%KT)Cmsqn zu*~erzLjX@X0*FiUXVM|mHU1_cfTIFVO(={AJUaO?dQhs=F95#9?xUt$A0dCJ#rV+ z{a9CSxK;!ApdPu2&OvfhS8jM7++Ih9v!s3*Bo}w(7J&*U!+PW{fMj%6?l)*Lw!D`7 zBYNa#;Bv4Ob>-hctQjDlVR`pht%DrUiQ_A|XLRUBh2^*h`pHbd9GEpT_xTMzbKw&U z!bcW_4=M=vE(m`rD`vmi_Y1;r6omg-5PrHKyrCfcKtcGA1>s*2t}-)Y7WzsH{$k>I zXE1&K@Kf-pR;`KQnki%!5pybeh*=AZ5E(w2lc%Q6NK;1-Ocspl!#tsC=FyybjnQ;F zrQ|r_JS?2AVTqj!KVJ}TCtRD344*?I zRH%CKT4l~DUgHvHy%go4zDjq0mTHWN-T8mdUhXN#S;?EU&$3{ zmNAGwdZ7uH5;Pu86whm8sXM4F9IA*6@5cr2=;i*tmQrlv+~Gru;`4I78wG5+@G!zr z+=SVY$c9$4Ps)JTk6>$w_s{PPm!A>9YuB6c;j-{=q~@Y{zuNTN;d5Z1W2CLuy3Ps1 z>&pj>?QwUI-}yLm&@Sq_Iax!I_Gra2kh%`7o-nAJNKS#B!pt_>?NwtW3R}!M_F*Kyl<@!WQvBE^BM=RP% zjo=4Hcg87J7gO&TP6?I@=N;>X;T-z!2Q&Hmq6POc>7MS>7N|Jm<#p*}Prnz|Y$*PM z)=79(R5DwUEsE?-;2ZbJrY4+}7P(k}F#TZQqpQ1=pZ`Vw=-t28Ke;t$sl;d5--jn_ z;T393g1xV;v)ajZB8}-o;uDYXM%H8Y?8?<#k|+PxQ-&-O}N*H?Chj=g5YoRomkI@Z*wft-!e9zuEqw zM?Qk%gw<>5Ja>=Z=hVR>7b*uvVAq@0$CBgW*MBhiijn!j=smAoMaRr>nINa&F@D@eyzNcj1;qUkGxXgd?(su!+h z)rFlf;OX4rJ}h``=Mvuyr>_m?FE%O#{?ze60UB`nId)#Nzl*FgqX3VpSBs(sU_tDUhG5r?uAz@O0KKaoP$Gr!?id)!^8>J*?o&LZ2o0FvhVoI1xt95D#n)~|*249EMk z`jXRHS!74m1+ZKEBr@`CvuMxT;{D-tLql~VvAM?PD}WMX)*y3>;t6jFX-1QpN7J7n zGme`FGqlC|$Ymx{v+RBEZ~y}ZJ*H7k7mjO94fqQbz>-w?-#tag(ayxvUy9!fbv%1d zH+-Hin=y%EF}+|FV7XndEd^`}LA+Ikl8=w2Bqcw=_s?Pi#_frLS;k_oKcJ4R(NbU? z;;iQ^m793Gy~j;*C?yjnvk&A8uJlt*BZc+(;pr@X`9#-GlwC;WuFB^Om8-dblVE_# zd`2^XYs?HosrUGbh93Dt1GO0A=6?~9+BFgOpm(B-=L#~LmA~qrv(1M%`R@G~Y+CgD zv4Z59bbNTuG-$KZ@*(4`^jN!|AB^AZLhT=E0VIz4ToN#er z*H)1=eNn)s{ZyH&I_Bagu%MHllZApec9}5!G-tvzLA%@mP{yaS(DT~tAH zi`o$e-@C7K!*{o!lN&<1;USD$4emBIl0`#AD>-qk;~Hsg#CfpB%7J}Y;!iUwZ9Fk( zSPe|Inkc6gbZk-l(5f2o8?DG+E0TM2{6_X>r)CcV^m3g^oDz(cn!EhHp2u54Vm5i| z(Doh6#Z@d8wLFIB)bGIN0%KFtKsvpHAP1N&{IsVqq%!fLM+~4?79D{JWq$k{l55Ws z+!gWJ*iK?O`CeT*tuirpa+w>ez~ZK3*1=q^c=)ta(vi`Ds*Y>RtDAQ5Vp8$!-o_9o zdsfU%YQvHQx{})#V-$8zMZl(pIa~@JaWRRb7p^nl(2tp?Y$(C}6W{p(e!Rb) z(d+XEASYIT!F>3VsT;l748@mY9W+-ny{+`~kJN=6P6*Md?Nx6+5!pY$QbepgU;K@{ zsui9}%Jt05jQg#M^tqoc{6syRbq(*Om#l%H==Oo$sdDT;i$#O3PbH2^FU6xcq(xc9r;d zIj=Nu;CVMwPtICCqE)To2LqwxFuuddPl{*0Jt6dn&24nd+W)zD%+xu98o7q@@VGO| zcjG7a{rL1`OL3%X%gi0whe6Fsv+j4H=Jxw7YTl&B$$6{cabF^2&U>jXUq~x>q7;=L zPz0v#(f-bmW$q@c1Y-pa2=P^Z?Ki4UmseZ$fQS?j%UU93I}$Tj4u2Au6Rdk&ys*16X?60^<$spY=L z6zGJy@&EsS^>4A{f>=?amx^I!Zj1%b1r#$);BvcEZTqY6%>MqRIr0a`uJ!Y)&X2FK zfccH;{Fn|d5Q#axt*+4S2l?}j(HF8NS!E$e$sHZF8#BqpxqYdQFqWPqWnR}bV}0RT zmUlMJKXQkgP--W5XS}S7ZY*#y8^tc5jaY0ilRKDtkD2frTeAy4Ez(3@r@xWVglvQ} zc9b*|Hf`zdEkUs!=3nQ_?Y{=!mVe{;UoDYN+YTU=ua92I>+t#1FV@*o z`7+L{=Dv{~2MctnPD)?v&a{1JrSNK5pg{!;*_kFj5nMx!1>8%I^;q|(_u%^_ccYyn z5MGdf!s7$G;^(vl=dNM2+k@BebM|@X9Tnrv8GG#0n&!~Y3;#Y zxm@kRj|36_Oo#K=GxGZ>_54Q=nl>J=^=$ErkhV3ScDqem>!-B`f1AtI9=zEPS{X~8 zKhb!#1%IdovORbaKNcn9rx1k8Osnqn!GGY#+d5geFcU6b-WI%!xPWTQT}3g!J?GmP zM@mE_9sAh)E?G=%*2RX~7lJsztr_H=H&hP*-qxBuv%N%UXs;Qn{kpwonEe?f%(T}G zw?ASci`r_w4K8a=Q~0j|>;0&OJ9%Yw=^G|Dp;Y80?ayjM(cN4{h1+-QS9wiO8fmjO zB0ZU6CN#?L+VoF#JslQrg>_OyhGzNlbter9v^tXn-pI$D^M<-5i9->l#E&yppiFV2h&`@0IiIES$ncWh;|>m`-X?`3^$JMtG_Kmm zsxZ!!+?466$Gu-KTiKX67*WzUnbZ%@I=B28XV$RL!;`+99YExQf=K*mP8y*z(cJ() zcGkezN1`xa>2(gKF6%EWwO!ppm&<)rT5sYe(~_ERhnq`>x7Q33n%$aVXd%t1D0={L zL@7>MUAikr?uoMY5`g1P@b(faD>|`e1g`UnD10J!*N5Y075Scz-eWs*=uL5u@6238 zfpLd~Qb)5RnI1FhV}nN0|ito|0QSL0^m)`4w! zLc%OG5dpHp>SBo!tiDT9{Tn6x42@_;nQO%#LQTrNMcU@p9K!lM{L9YA&jB2iv@u$`egLpQ5S_ZsS8u6THbr6a`E( zWmK2B!bIFC6h+)&x-}fBnl@-wF8}KQn#;cp<$XrHM%ewS&j0Ci17YXq3K@gj<_jLw zZ$e!?aC7}5lq;iJuDIdFP!0GIcsG=&Jna5_j7esQ3X|zXU0|Pk-k``x-AwJC z2;=f#?t1BdDJ|e&ZNzzZ_1f8#+lT;o^a=lM)+cy$^OZ@K}`+g z6mVyOe@?j*d1NIGJC9Gz4EYqR?=JpC>s>pR8gyu)=}G%U+pmc;Y~*zPAowm@UsS;@ z!^}k-ynB?l{yq=`bC|xN%$+sR8wd!5tG(BcG=WQv@N8=4IekhTonLkR{nnnebni$n z47E5VoWzqG%NmxN31oz-yS#V6zSF8}e%FmM_9V$MrSVt2A8I_uc&EUen8iIC@>)cKf2bl`vEfb+^61N_WoUCEQ^PMB{HVEans&O$ch%luRPOidOz&5Kt~Pgi zKO;oHE~HJ{ucLAemwQ#DL2Dt~?yX039rA?RFB+e(XnzHj<=Y>UZ-0Po|E1Mm(0-Vn zcC~*{kM;|8RE_VF;DiTdL=`{AyOY(GEnnZl;4$7c6osv*BtrkPLpJw-~tv?v-c7;a4q%a?3Lc}2*6=E zy_u8Y`Snl( z%EcCx-g!_?wxIm?Z{0yzr0lPGH}GRf$DebB{&|)J|4JdQO&vsoe_>3YaW2o7zDku43syFwqMtqi^=3xUr`Y}U07THunRi@VLt4i;txmgYzNiM7*&m3?S#@dcx!OqN~^f zSfIIUD-Nb_*txhO+&Q6NJy$2)@yD+MKf+a=ah_3lPSbi)iL<1kw3(wn^IA499tAtO zs%-f4iBtI6YrnDw5|#=w=9uVDZ1BN%mWfH_RzY zjK~pesOitDBYnel>xU8Wb{?XxhElij(N;5O7{xyS6YHbQiO*sV(_uU^RWrEpxLfmm z2B1H*av}Y*9+i?eT#7gXk0egbrAvZ`-Jd6&g9t)89cZWoUmsJ38! zoi}+&a5$+xFo!E+`t;|pd-9I8z#Kx9_jemUP|48f1+nzuy$E+-U!jFS;uCYNX}jnn z#?wgM;2SLO4Nid92Pn6!25zF zZ448k)}4UhCV45tMG#XA^P-(*wR<*3D6UpNB4bK#pP=cA)MUaS{T8%QZbozB8B8-aZo9yIP6RKZGJ?zde`e_TV4= zSTfw^2YVin)t-0z1mJ=a4ve|0I|L(D_nMmd_&_lQVn4dpACvz|htXnkW`1AkM$PcG%sjckdd?Hzv7pMEm!N-jDSH~8Hk^Q zgt`~7#wVb7X0yfi$Ug0~?_ij=&?6s@At+ADlXd9Nl8)C~v^VwkJz{K`AZlLI0_LUGrqRvcAadrirDb ztQS~bD}OX;GJHXq-6}UFR#Bo`tZDL>g|V8224798J$b{7qQnqv?WZ%0s`?rTi=Fj0 zoe4S5&FF^o)79s~VHr+@8Pl=RZHa><<6XF^5g_y0d2cc~zF<9T;lVoN{k>^6b_{jUh<)d# zzjtfMaET@tjtLm2`mhfd6%3P3i2Zn9{0k@*7ItM2fLh+vOcQ z7OUQkJi93n%1>_c^S}&nKOMK3Yo@7h(yieDP3Xw&eU1sY)l0F#n?Y{nX z^>^Qy8VIwHZ6I%F{0i_inb~Ux-lg@3^FTEb%*$Py%D`~fGFImOm~;}z5+RGy2Na|S zy^W;%6`CW9i0OV)r+nPyiKOTLZ%BM<<}wy%OFueK$=-=a_jY^V>VkQ#f%!T>V05N; zEno(9-#OrmR+DNQ%j3XhfXwrc75sFSG~+bF=0VkI6R_^Ki%y6HD9`Nd=P-v*bLH2H z0{+zBKYVz9IX;i$uY~sxRJi}@x75Z0?;s2Bu>IkkWAp3}?nUAcb z(aVn0=(qT6(YeXhmJ2$xVd3g#Xbn0aWa<2DD$G_|WSph&v0QjBVlQyZlC67~cvzyC z*?w)G)j=%Fp7&4*Iwf6`Pjf4OzY!V7Pt>v@#yGbB{$6^fzp&hPrRY3l-f8K+W?Vzt z?yX}=Nq;VWA$-Vag2qd__v|Wd2Xjt$T_ulfbpf~uF0nKc$sY@`zA;*tK!$m=f`dNg8j~%cP);A0yNijL-X|e4J=5;=A7Uni$ohR z@&m^N;)98uuT?|HuAR0^$bQ^A1MKApVgL5bdDHtgCoNVsYnE-#SNPk_iCi{uO)$TH z8~y9TeOmC>=uc?ktN2YHdvU+nqiWqVS<9SPjqI#!wwKo0a-b)ws=1MSfqhpeLFN^nIxK~px(R(!wz^50{ z(Lc<6;duD=4QxJ9ZX)7y&H0D9_wX4GQEOY@3QkJjF|L|gC%J3QuRt2){jgL#4ofIj zqU}xNrl?u|;pMnP1!8^y{i;Ae@64_OdbWK!qBK0ct@g$cU&o8H5D&UMn6o)$-sQb` zi@>q9>gvs43A@Twfdo1wWM7>)KBFE&m1dKBOi1w_M-NOErH7hsHsF+;lfHM{WFH#+ z3Yz}jnJ01Yr9Da(?Oj)|Hcdmrxc|Tq>k04Ppg4^8yxYl%D+QpeO^&H2@>co$9W2Hr?Ph6tQIK!xg%Fi?XH1i0A91pO*KS~|@43Y+` z0~V`7w-2w?am5FolYY=dd5xn4y$;n(ekrg$t{^yDE1wHHEmJf7i2JJX z9~9Niu&0ryLIMBtPWrkSI9(03u69FB&w*k|UYE7V(tla&n2vbJZd$yMSCn~xWDcmo znV}7%bzq;P$h(NFd{RSLU7KEKh`5FLM>Sf>JtE;f74c)UMuQGEk6I%UOXyhBZ2H|>}k2=`GshBtB8aU7}PCEdGGh&H@v zd>CA#3=b!&pkrR?@s=s<&ZAeIi3?FMd54kTt}j&`@l&+Zw0q5D>QP5YK^^B7)NzP* zm6;kyr=2=2`r<$0%0|qc%7DD;U3P*FS-w(7x9ZflP{=T;bFD7 z^lE0Zp)t7am(-j-eJb7bZe&XA-WDCKBb)jf^cqyPJFg>q_=YLcoBkI#vWSH{y*+?v zVaaFC5@o$47Ycd{_%E}6(B_Q(=5*D`c_Zh8pA*7s-rtBoCYiZSoyDZX-&~A*((u>j zdOqG}d}Q8ZxUZF1-23L;Em z(&Q;f8ANSXt)rQ`GI$Ewoy>ig{?mdvG3t z+dOylhd*-g%j3)EUkp7bKP{d;z-ochMZO>|`+wZO3Lsss10UgCn~LM(bEf-nvX$Xo zH(L0PH`YDzVf+B!U|r!b64H>_%k(DjZf_KD;G&hO>%7{zv=JbYmHt%aBjvASv}uC* zLsOSMdRY58XYgmN%V*tR+?7(X0G1a21f$sl!n@mG`a0voEcnlKb~hmFvdz;Pd-+B7 zyrAtg%=;7^PI-l%4|}A8QCnv?-_al;>@E|717CYCerm=0=s~dey`?V2Kq11fFsLLh2Y3}c&)+Xm+BQ>Qf#jxss zG%4#Ox-3c@f^$zJ=}q*L@4$6No)_;Upq|cH$wAag7S@@bUJMPF`%zYI1f(3k~LcGSWn+Bz6tEckbY4s`*0J`au-l`;0rosIaGyVN*%5f>4u{Tp#c8W8d1w`_ z#-=^5RezvHWmj8qqIWoOrv<98CkEt2)RON>D76dP$aV5ck~04x!pLC^qC=^F*bEwm z?7zC%16MvdH4`T_f1VJ3?bD-J{uoa`*eM$CV`wq+H%1ocVX3?M&7Zi;0PpymMa`T> zIgUe7Q@fp%&it)TN}Cv&l&?oGg>tggrZgfI{w;SGxr6){SvAT9)nf)LD*49q|xsHjxM;unormr|So zRF;IvNM2v3V(UU%wOF;Kty-$G1c4-gB%l@CQLF}~@Q&jWmqHX_exGyiJ4+zae*6DE z&p*#IdGERFx#w=@o_p@Olr3#v(;u{C-<4$t@M2P1Dx{Uk#R&bD{?$gzpgPcCLAyjc zOL3aNI5{^J>h2>_;d$g?r|Wp7)?Y*b?2M&&U<-Jmu^Sl7+M)Y#Z(O<`%VRyd7t0%{ zwrjs4L;`<>#7dQZ?>rBrllk;2Ijiv`;wbu75=U+B*($MNiv4P-3~+Nx+gKIE64^H> z%U@jI=C_C9ghO(p7KY@ckupC^fA}V~Kgj;_ZTJEE)gk2TT%VPv{Fb#cT+7UrX%uw) z{o`em*`3(Gko2kYwnfJ_#bY3u@J*aL)!+-A?0{%2u_tFeM7& zQr$7cvXm<6WpGS-GwEn~=nHt`p2{Mk*}!zNDmT}NM>4wPqWa$bPA&;KSO0kaa|wx` zxUKm%j%BKJuFZHyerk85Vzh(^RZv751I-X2UXbkVYKrMazJ!$WR2B_fI^=noijtjP z#W_TI$u&OCU)WC$R{4{;maF*hYSS!=EH98W;hSjb$MB`4mobKg58tR{oXAy!EkbZ+ z0apxdk^_l^iB|sk(b=g&u5JfE#oyZL8bwV4qxyZaZu+Dbv+rSy?3dKK(ee&Jm8SPX5_{S24%Q{hoQzKIjN9 z!nppz9D7yL{|>ix1;dVOvq$Wfb}_p}W0q_rRf{X|l~>Y|azJosxpJFN9cSk@l=xg%P0)j?Y_+Gj;e`pQd={OU6FeN{- zTwmRd9!Y%%v_54&7F35Ts&4Q8D?#L7;}NrH8xfV1D78JgikD-y@Q7)q5JBz@@@Kwn z@;FF?$82(A154@m1h?c!Tgl(C^1h^eiJfhuPcf!$^Iu+cx$L=*3g=^ldeb-TDKhsD#VRb=IuE{^O`^5kkE~y`2145azz=RoS_qcP_7? z-Ly?@W5T_$Mpl}cg8KX%=)S+j93{7~Mq%ag`nA_fYGd3>+-9ofNC%=dnG=Ub2kMDu z^jFT{WS&hG?Q#Ar31Lk=<`I7$ceyGrVe2XX$ZSiS%!WrhqbV;zKJy=n2}F=H_#7GK z_MI||sM!$%4@UKTx|TImiBOs5;8N@!L_qo{T*(xiXag!6ahFL%#3C=rzGc7N0Gh;( zcBgXo)GrkPPXSY-vK>h5QZumALRXP3^=A7#vRb!`3Mlvkd#=j*iF)OuPUtzETMP8H z@v{ov6x9 z&~hC^+RZ-q9pRcAORX6lp$^YHWT?&F!n4Y)fR~M8cwwe!ZSF#ZhREj%k2xl;6(%-b zw&um(LTWNad1R09UE%Dns+1TEk9y=~A{R?|Eb6U1nzctkePjTeN@UKY7ZV#$Tt<#s z^dgxA9mPK~4Xb(c9i9m^zeilO=yj&!w$n1LYchvpyH}py<_(lDc@of`BR0;Mo|A%t z)cM`+OsO*Kr<5oBHBTrhLsG&_-o^zFX%k_X#<;C(M}&4SJipvp=!Lt;jP_3OgMf%B zRa9$Msq8(wLcQ3_Jg2hP$qqS(%*IH<+}8QF*#fWWvPXPDziGTXKKT%}UX>=-;-1rC z;vs(BH?e?rnWEJ&%AN1&O z0L!0U8$$FGE*i_cZhuBA9J3ypt!~vu7^P+xv)yc%7EyyY_5QlHE-Teh(s%PK^9Wi` zk0GP;S)-Y>7VO&UdXW;+OR@i!iEc3^?yP12t8*P$Qa81VV1kW8Xc&lr@Xv|v4L>*; za&D{?MBn~gDx>%-BgAnlp~||heItYsc_n2T91f@UedK zIpL2%=C7DKKG5{y3cCH6lulM?m%1({RYDV~r!pceO_AvSb|a)q@SAFX=I|$+e_$dC z3+JNSXdVhK;EwWX!u0LKJT23^M;)}J2+AW}rHde2^}K0+@v7)0-jbim)1tab4=+xP z#gDM~#q)~xCvvSixFscvqwkBf!AFbD?I{n)RP_=|hY^y?arU{?z;p$mL}k%z{-+1n zK76KjjiU%p4p*ak2ykO@sdVqiskoUrJYdQUbq)|S)I|&8Q&x5t<#B$(;}t`Bob7mE zCYoCXMf)zI?fxhP*Ua?>`V(8&P0|NhEX-)Uo9Htut-`labZewLtWG2}s%MjAYX(RJ z-jtwsK9Q8#6seb>;DR@iGmepbxowQOxsJk3NEt!NWR$1L2n{DxjFb_Om>PC`O3&vl zSxys)`!DdJYaqz42L)}D&29D3XF45-s;l8MACq39?I!`qd}n32M|Cnn>v5J_&(`yC zmM)}NAK2?j%ag4?8|SU?8n?Y1U#8r~qH$j3uNNwTr~1;boyl(&zj?m&$12H+PYoZ5 zscs>vrHaT3AaJ>kBWqQ;sS0;cbdVE@#Uet~{q{k=PNO?*z14LU3ymCDVxx(eZxMs_ zJ77dl0F1I3kJ;+K0cD9xP{x|55*}`gA6ozt;>`ej?rTEw8z%2A3E9ICwaZ zx%Zig^ej}8JYGq+nHt6oi-!X&=C|)-hl^?)P-IzF?*k3 zW%sI-L+G+Iaxnx&IFE~#B8%r;nfa=s?_p9>s?5A#r}dT2%T0RO>#AED{gC%hEHyVs zjPeR#|i!$vuxL_t8UcqPB zStmcYIgYzZ8?c!fTUSrUGC!Zi@F_FDE_j`N=)uBj1m?6sgM1o3ay6FbEOT!Q3+BqA2;U@X~2F~;f*H!&;N<0O{4fw5G4tIsALVYd(_DOscK0f{Jj{C%mW zCH45av0A+tBTK_1`lzv5J!XQ6s_aF%g+0$w&(|BPzcUqUXRJPAzPOBnOm%>0?&Mum zxzHG_$4_3O`PCL27_(PKc&rC)YU4F8$>iV?A(6sx^@9rUW}E5quhjFN(1%2-DVb-5 zq|gd8_#4T~=I!oBa9~^%Uo$8?4f)Ee0PH(n(a>2Ma>|sAGhs5B5VN0#UeHjMKvuZ7 z^0b~7Pc!(W4lBl!J(Fqe5||Ed2AgpOH^_1x^N*C1@Zp>bb;86XpK-i1+ysBx5zPwP z@_9L2lpD!nq~?H~vrjPxp*rPz*B#JOXaS+6ns!9m!nsw;Zm@-N~hT#YM&)2eQhiZ3ECCLbxd5lU3*5Pk`s^;5UdE%@c*(6w6j4u)rycs)b8MmYOth%9$43~Y{UO`f8FXNGG=im|T;WVo3zYf}0N*r0` zJ{B(CYh{lZC*z)b@;vC<6CG@sqf<0P?Ct+#yr+LGlLw=Go!l#y#q0~bVKaY!Cmh%K zTrh&UZp^gTZDC2!6Oqq+pXo8%6=oHsqVI>don06NBj zSpb~?<_?i}4w>&B25ANgwxl{qdtPcuP2Y#!cGyPRZ^F#mkv zviy1OdtS&FAEHR@ifdNQP&ycP?M zkM$;O1A?$B&3YkU`gQF*{@MLyN@J5oA|C-O@smanve%A~2#5E`$cw2CXDq&-nM`WT z^d!E*Lfn8;k`Cp|HBqB_3J#tx!n`bF0^KYn{C)pJYImVT4L_1Eiv;a=uXe!EQ98}G zm=CyA^D)-!tUZh5_QE|1zolPj{G<@UPs+DPKSdamQ4@JHcgOKUTE-Km)~zd-kE_fHrtv;(Z5wA>6uZ72cRq^>P=rtlsW;eiVH0AYeVm7ti4cv9R z)ZlIDEiDHNZvrykV2ybahqvKl7uM5H$+Rz~E{vbhA0Z)%;QpQ-bN(r5maDs}e(5Q> z(G%_OHc1>NZ3+07%9Q~BTzUhmf*+5uR=>5B($L&FeV4r33za)T*}SA z7Jfiy*&O_M5$Q%tIhx>vokjXTX={=SUir=8o_JeP6%JokE-g|uiF+;?Dt zZ^k^Y8Caguy1d4%TbGxDoUNVHz&?<$O3JK>lg}&h%HD1YEv8$u{k`3BTl1NpOKZNR z$9~~&74$ZJ`z>6)hJCWRyCBnE#03%7+H37`4dN&RAkA<{s=q||hkMo8v^I|#8 z#K?a6au2UTkLkjwV!iITwHVe+O)Q0D$dabGOFqXm#iK~yoU7K>f~W0!-jh+8y=Jr| zNmmVm%)hN+nKG!__IylkOJgfz7KzNQ(<0w~#tf0#Ucn(_|QOpy&AcAM|J8}@eeq<`uS77YS(=AUJx6SZEbw4b6v+hjdS3tT|m{-}yZ zt`bJ;dID8~CzWCFFcIvoYD#9E0-1@cwN2j&%~-Yc1G`XplpI#k=WSyWAT=EiKx&?nZ>fcG(L#!L<$3e47ojc=eFG)>lTn)gDzCX=9&3IXlfU|e zXUWGZTK+SKa~)3svKJ4GwX>L4WwgVYb|JNJrv9@a*%smkN2I+d`1{WS*T}DN!j8jm zmYJK%%x(7LRM_0CZkx?Z8IImYkE{~xi#(O;8@{}TrLj_{wQnYsEaBfslwi@#l!KgL zK@Be}Dp%o!_<%t0Ea@(uIK}Efi?B2dj3W-0$oTD>eOTghFs&vM$>l5uhd?Jd@RcH!~pJv6N9gHc~;7cE^j?D^I$a@=jG?na@1Tp+)2Z zh6VCf>df(N(Yv>RE(+JyDJyVAd7)|AmW^4ES=hd-!AA{TBc!h! zYdCX^H)ZVF_tC+RtKYza_@Hik=Mwb>>5;U~6I@Pkwu=z)ft!VhH!|tWzy&R@=L0)( zgZd2Y!v~HeKhs{nDlr=mA&EVosY&Lej`@~r9IYLo|ez*+BG1D#82 zT85)T%!u(9aA)3ft@~+WoT)M;WS`$@Xvu8yC5Q`xhb5 z?y{>aJiHk0u2V_n{Ner4h$|WCAD(-A*2Hk>@cvsF-A>5pu%k>6sCL0}3`*5sa>xEIXKwfT>8W*B z?SxDD!%ih;V*y~=XgZ3!OWv=JpC<|iUh8+lY?WGzI$CukPcs*6v3Joh&_?be7@@!5 zNmV;o3*NL}CP4c>h_8LmYMR=EE#TO~g<=%AbjS@`q~tPdmKUMdQT??W^l zc=Kb?lM1QoAIp5!_I&6l`zu!Az6#CF zKzwYG%cug!I6f^2pLJgg-s}5kx^$dAYENL_rOK^V-cqobZVWsQ^7RgCId-L_Y`j}M zrj9VQ+sOm(Sa>_f@h6|ID$ZfTuz=xkXtVU9d4%0SS(oJMu*l}!X~2*wQM z$P^&fgDP!&Wy6eVKXoD(+ZpYl)N>*BVG3t0lc?P|i)aaSW#N%>u#jnwgGzDv`m~6& z5?kKVqxQ4hUwT_^Ssk_tANU_;loO;nvN@88k;_$?u*N>KvsR)vs)O_?(Q`K&s`iLc z6tn!zKtgB!;g@ybpS1ObdZjP4It^6GqRSUni$(7*#(=AxP$xB z(UYhvhBo07a#3*c8lKnOUAB76xx5f}WhMu+k?~MjPj5jwxkf7T1)dtG;2yT+lTeGN zj5#W!>>ctkIIA-!Wk%$E1BvNw*w=ybItH5$MLq!~@mo>s?}GB45xQ0)A>SZEUaTmTv+K8ks(TTN5=(GTI@Wb!Olt>Ydreoz;dmjnK; z4STW%#t;H_L2+XIpvV(~dm=5nNf8i_AF5ts7)+R8R6P+#g}ZV5(6o%mY?WYNIv8R= zg>#+AKnFj3c%*t?Zm@ZOt>_vaaIc4~Y5r3n#9&_5R)9kexd^SvA%uRgK3MdNACsCp z*VPSfqx1uF7nN^l&Ow_TZFH%61Ggij+SOx;*XWu~bR22kwWYqx++)i;rC!tJ!n2~$ z)sfFRX^~$M>{PA?WA$(>I>!Nf0v?J*Zv@PsDS83!k42|Cp(g--7>oKGun%BeEP9~> z_61xNiw<$XT)^0oXg>!$QNY8|YzI6^z(XmG3>i`Tfhl?(^vCKUUO`XxJaTq@pAj@FnpDJn|sn@a$redOE**_+`WWKgPF? zUo*dc-=q1#?a0Y9z*<3F{ ziIwRvagyGN+g$rp(!FYNnp@1G@gVp+3sb@F*dC8{?#t#gFk15T~%`ais6cjKASs~wLX z(Mudx&**r^)yo~+i{5s$$bnCYp6$5$AW7D^_l=&&!zMQliS~3nPK;(cu9HZf&RcP9 z+C}=F{d0(w^p{B}RsKxt#=A;=jJKPLN-x6>2TGhyZ`soj*E1IdOx=V2p75hbvso?5A&tA?iw+Tw zhSN0ciXc{z@Rmzec&Erf4L57Jvl#45tEeja1F-HYWyId3L%T)}(&)g?X*fg8@W8*< zaJPss8orw9l%Iv*(a0{eJ?grcU)@veW3Hk&!5|~He)e`u#WFS_* zD+m6Wz(rh~OYDEz+YhPxj4YaE6)a32g;BUF|BxcI)qo4Baif>~7aTBqLlGuNI3v9Xe zUrdzv4rH8;lGuT~4V+}uJJ-_YH2Mo95msH0Fth&vg!UdWxg}P$M|kx$wIB0Gk0cji(#v)aCILw=~>zIa*<+_9z;F{QXlq=s+_zDBoJ-$oCZa6tP z8FU*cJC4ZdL`~wXHx~o4(@2`c`Kxkp4s|4E$_B&C-i>$Ub8@s?D{v~@yAVm?UWS8* zdLlWByITkAx>4BIu`Ly5;hhq@>RW-wzgA(Ma0{?h@ApaUoc+f_eA@0m24r7P>@Ms; zG(E2XGO7`*rrD!L(!R27R0#YQ2mNs26vYKkLhNCWWzzu{Tt~Cerx0?-Y2k3fIXbQ7 zN|#I@Xb`iM9jmwbuagWPYzP*$mJ!2va1(`BZ};$OlHOr9?8zA@JCiO=L^NHSiDguC z6voD+5jSbtZcJ{$lXktC4;z!G3D(Qf`7eTz!Y=YKo=!vk|GQfm;QD4F0_-j=rYnkr znzz09tJ}f<3H5oL@U#pZzfq3p+fLZ4c!ltyy&GK%l_R>Ya^NGl*bKy?&+2|69b)#m zZ8igD_9P-noO{%cpa&Tg;iE^x?KC4EXNrf=bAWOXJ0gPHr7ee0(1w3Mi68H%#)k5} zjNcr7&+>bRUxZ(b- z+`ek7ci<7&d2dlO{{wk1#*P3~#RTHD`l{F-94{UbPs8(J6cN;+@Wj0Z^}%m5W_PhK zyH1Wp{4T|eo4W?K5V@fNQhPE5UW*))u=GYxV@v4JuSlAjesp~ zKY^1D>TBrwo)@q0?7<98|KJ0zANkVLiv4+z&i+fGOb7nnb)A~oJl3vpus<%@m$W6! zE;>eP`yZD+SH?>?mOh%^&}YBOu#y@j_Fu9dzKtnytME={W&04h$o>nv=~HUxP+h6V28sRHd(i9er!JX1_XbsZg z#9B%+N~9DLkSVu<2ulsH!2MYHJ+Da8Bv#=D=2Ux(gFL4s^Ef5x9L>_Gj0P2XnPfNS z=h-{vyTjvD9~+`?{==E}(|xR09Oq~^9i%Ftnv8WK1$Bdw;WgirkVprOaRMGDh$haj zl+A%tyD%kN8EOr?AL1i}@8DLQ4rZlVngfNzdO721+gE#61Y4WgJ~Nd4-Ei-b$L-K* z&=ts-J=zXUQzOsa7QLPuWzs6;_SwTa2O+@&qymdkwGffE zW~5X2r}G(asr=NB+Q0>`Pm91KCFIY}em-HJ-my`{+2rSa5~>fo?ANZ5Ggo>3$_O1M zxirjJ_Ww+Z$R_dKg~g2gN9>0dpo200V3Yx`YmPfI!9lY?q5l9;lljBWU%A~>A-;z zoX2Y4yZPAn;j1sS`TLidw`Xo-dPZ3Ub(Ht)i6F@^$phioWqG0~ao1kChZ8+lce!oI z+<;CiXN#iEz)PGP*<~PhS7zXS=D1m01ov54`3UuQ1#%GTSAwLRCMz4|_RW-$=pQoQ zu9H@s7P%ih68$S-f7&XnodD7o3esS9Npb*d!JL0mn-e&-Gk+N@@#UKMP^LMIPLJS& z&`S$e5)VhLBpPOH)Ua-O4%T5kgkYs^PT-pC@A30$-kj#RS}YYddg?(NN=|FyCBB_j zVGqIcm*feaM)hLC%B-0jL3}2vHkw26FH+-wpZ%7eX=f#kk}1S{lG+!Z#!-~?n8(10 zdpY%taZc9f35I6lQ7Jyf7iK^3Big)}BDGbx)sT|7@yhj*q;LOjDM|+u`um%z0iOh60 z#~9TIgbwC{W$2bI7j>#dDx#;U)S8)Bu#F3P9G@e58Qw9_G1d_Maanq^9P`ToHZ7gY z8|&x>l%?DWsie?bP~5G{d>>IPiMbw zP1{mt-LO_PN!{tM@)|9y=j?kW^TtYfxEppGtfz9BB(R)3mPJofy&-x=GK%!gcrcbZ zR~V~%jk-Jsn||{Axm~-`Sq-8+PI}}z)zp)!8 ztiqk+=|Goo>?|GqT2SQ(pZ;?|3?^@o*7M)M{Y?KAA}G8>W|uOzb+=SQ)O`x-xi>FB znt!^_TJ6Op>*^G@_0VM8Be&1FP@~)llvx;5um6sTNM{{4xMSm^FL*L-CSKna8Fvea zQJ!Qbk3N4E-4&M?z`vPqAa1e>yGsr3qX5+>o>J7MPpJN2RR0b*SgVhkLcbK?kjn^~ zI4T;e)Pv;AEmZ5yvaqXrCfk8ii)DTvKCXfpqKx;qfh$J7?LWD~>dVz5ruf$bUqsJt z(|;?1i;f_aH`d%Q8HVpnuP|%HRbjqxi97?&?#1^!e}UlCOPX@Qfex+2DB&&IbD zALB|ck!|vq@ge8E2zF0H>TmxZdP#Gk(G;(!|C9==O5X5h3G(--FhxXkqAuc|L=lzo zBGdvUrWN#h*=GDnIZ9Cf2=kX!xRPbSF3<%U)xVahjR^+U-I-%}_e#a9A)d@1o#IjF ztEkiIOMAr*wo!dO9%w{yG+CO@qn(~SapZ}v6gpD5J}wpUkJ~}m`x`16WJ9@Ml`jYI zK8|tutow#Wvp*nz2@tvxARn6RK_Ry{{dK#JU`|{@iu`V@T#G|YAIqC9A2IZpIvLYw z(jtG4*B^VvtBP5CRkiCVWnyssDlreu=8%4cdFkpGbU5buM8wqj&&uYsN@VvGz|=9w z>4msmX_vi^xnJ@YAN!vGG@8T|m|NyxGtqjXuvwLS!0#jKa1F%#{WX8l^%>$cRx581 zNyO*2{KxD@b$%+;s22Hv9`91-WR+{of1x0+0SEaH5Cg|!*bM@JlEf&ns#i^wFR*;k zvB~5r0ORG}_n6x;yckz=7%bPMG*IuybWWpfl8+O?zE#|iULxQZ*MCrnG~gtfq7#Xq zJ;F&O0Ey!E;tHiC4LFG!RwN?WkK(2=A%m1B(X_o?pA~A7wq`7F@KK#F0De1D{RF^o zSE`=?_%)~c34ouS>L&nxEvbG2;Mbb!CjfqF^!x-a0^paa{a7V-Y8=G_|D4pg0^m0& z)lUGQxg&Z$6<3@#2T^Cx7ckHxGfK3N^5hjzHNS-EoSGjG;v$KDJuh{h)%->fGib@=f@P(v{-KDwQvjV5dY_!Ybb^or0Fc!INcYl1OEBC2)L+eVB2fd9U~q8^Wip zIH(=|OWChv|HlEIJ%;S0KGTvaEiVc?U{ptFLA4Ed8wYc3cYdl3j3ry}aa#||Y8(76 zJy4j^9QyuJvPlY+;7oT?`;YMxz%UuGz%EK{soBYvYVV}-GO6pa2W6ujZ}8*HeW)f@ z!p!8EPH4ey9U$lCii$l5fM%-EF9EGK@AAag3t2C%!iUB{roO~?^a=C4)+K6lh0U0* z@{-x&W$|lztbgEi z?xfEKK;wCy`dnV=HGfqjD4SL#pXe#X>kt^=ZTKS38-8BA>`h?pq{HOEQoLA3q1W%2 zdF;~&)GEErf$nUg;WE%{*88t0v~08gQuRe%0v8GoHvttP`(@G#xn?JakQ#ITS;$Lb zNZjV$=rLmxto4WDtE8irw-=^wLSwb^rj}_d(`C5jYSRKQ5=gESOdZaKQ9AE~4S8Jp zY-ngcwW0OY_+&YqsH(&^8~Eb5yh>rZoNH97rh@4;M`OzE{uh_46+ra;TA!q7?2O}) zL<>772kq}AM5!4_;PG&Jg_sH_B{@m*^Ktz+wB!EKi75*K1ln<0Elvt+R0?t8ab(=+yq6Qr@k}^1RkX$1BqHzbUeb$jSOS@(-kGZp=2l z_c429Yv2G5dFy5}yVwm+P%&la$Ebcy2yVF!a7^GeO9tWmSUdA@?$k~c_gx#bGe@>_ zU0P6HVl@+0rNgl!u>lj&RI2(?Y3NNH#O9VYX@SHKXWuCwy(X0mEj3@1*)6428-vBH z$WSxZ7%WY=ypD^AE1c%XilO7eb8XUDnRE)1DSwSY;lJdMsKS~#PQ{aIUl{`O*BG3a z44;*B&P+O|C!MzAYz!_-dM-^mYm&~&q_f3wf_Bn#WzxAK>0F+4wmQzn;I5?S&ZM&` z>8wvW(_FeTtne-K| z%<&bb&2b7(Cx0xtN*(gXzN+=><%2pTb~unTd}!CB5G7xGyBK5(=5}KW?D7qWh>K4i zA0Epj#vgVoaiV(3>Aj`OjqOkU9OG{)1?EWt;%($8T)sbgQ-3!tXJtTGyelCQYP&!4 znIhC(bfyx{xh*BUv$t_Hk`&M_q_RHNMC4-Zw8pd38kfhHiu5#4z%Z3~5h5Kl9#W!1#ET4JuE%A%ttB!7xTL2())E;7Kj>JcenmpOCEDz`JykbcY|w^yTP50D}TKi zT;ps8AC7MZpCeRCaW;c@%hwlF+GuGa$EcG5XP@DVYGG1&TKkwV3-wM1>fxKk>f%36{s zAD&auklJ#YcdL)JBv*&Y$8F>+$y47RcgvS$Tnq}X{Iwd%S+c5c`MVNZXC$mpCuCV7 z&S@*}L~7ppF0E!i%Bt*|z#3yej}z}JaIedw?YMYte*wW8T^Hdct;C`vd>r~EBV|zv zyI$AOc^dLlOTy09P#=&4IzvN)G<2GVF4WM;8YFZ0i2sOL|X7GV}~*)K2~xErhU zi}4ZWL_PnN8ORd9IGf_b7!MaydEZG64r7yx&CRKq^s)DoNt`(@0Z&y@%EFX#KAhm! zj=}e~f*;0rY69Pm4!&{RQt^$~;b?qe00rN8CVlJ+Qt{K#%CTD zvl_0yd?($LQRl&SIYMEC;yDYu)~#k27kLuU4DV&ASi{J7=YMIg+DUBg7&q~04B7k_Dm8{$92Ywf@sz6vUoT_Y-^LQb7DNTB z1H2{#@cokWWBCkj8FSze7~%_V$%(xj_*^Wps`q*#w=v`Cw}GB}m>#Z3Adb?Jt;R3D230P>?ySSw zOliTm4zs5A5PA^D66V&@!AICROVR*0*&CG>rxYZ%uXxE|OHP@&$J~{~-)Fv3 zu$y-}{5@h#Vx%cYut2A8v;UvwgHrHFv;^KNH7@?Vd`4_Sczux+?wj!zBwR_TxoR!{ z<(B@JP|H$~C;ba(>TiZ5a%1Re$)3Mx-!=g&)4AtN5H<>uv@V;0;oGN{ zizBfExTt*~TNI(Uz%9G>+3z8Q_{q)T`QW7kvB$vbkV*BHCgYbnx~g)3S^+ZIi> zR0*7gkHcJE>>^&YF0wk+isQ7VkvkXui1)bW53w%hRC(3@fr{b@k5J<{jBI zr(?9Mxrqk^LUP}Nw{LWJb6PW{5gIzHwlqRpXe4@o)PcUC+E&n4*Lvh^7CYF(^F0>* zPIu7e6#m0!ZV_Vkh`lT$+UcGC2u~UArUFvq*_XQyCf`p|L`Wbdy~62P=YdU;#5Y2X zklt6dRRDKYV;U2tyXqzV(Ii<%js@F9N3_}`F1?v&lN3?uoAWR6&3MO+(YVaDifmhX z=9JY{5ou)8!XZMzbL4`4u6Lj&;oIKyt=>^;=9$aWvnnGsQW5Tieuq+68+?<4p%T86 z0t1(7s>uTvU3M`dc>nhZv6+4-nZxZ`M z;TJ@p=I{#(6~FK~vv=V3WB7$xsY|`fuBOD)#nffb#>Zo>&-b!MCs*DBv7EN6F86hv zq;ck>kNsDC;(SB5Umm*-|1kdQOjo0Cgs?W4rm8T6Dj1=gq|3whh!zTGilaGGlxrnz z>#?5V+ScRG_(<1ruDJA+P~mFr6Wa!4OTat{NRt3w#?>{)$Oup7ffF6yd@nY6Ci`r} z?;>KvT=9PU+7{V*Hy&Mt%4riCN+|)V2vzo<2xyDuT@K=LD!S~O@R4Kp>+W%#J1C)R za|TZIF4lg{%ziStXkD8w+V>=)N5K(SkAfk5O1G*5^>V9lMF6l0nUsBV7dcs*QhkP_iTJ$8s zTxT5{{h99?n*#cOJ`>4x19*L(x8wLmxX0k9c>z=DtLCO_2ht4ttEgiqd~~#+t@= z@sIvJz9$`xZzVY|&oc)BhrKRY+eV`1m z8d|5!nhUK_{}`iat#yh#yoVj!dpOX8>+EqfT=pf9$`k$>7h?~n&y}EL6P!GHaXAS+)k_-$pGWur>A7w$DWOEymqg0AmnU1bZeyUsE=t6T|bZcl9~m-aa!g! zRYNenk2i_Ro;*d*!g}?0%n1 zZ^1Ma`w?!EvO;s5!CqUNxJMv6$~72+%tq)L)j?BEI}qgfVIUlXOCVAd$$ZrnS<7A9X^j$zQIXr4|bcH7oEH6DeaW8bjAY z7wB2{6~;`%4+<1}%~%r_hq>vr?UJ%nMd`>xfgd5bi7)R~DvAUYMZW4FsrHd;@_dP-)?& z2-xUht0Uc!lhpt!mzzq>ZQNH7ui%#A)caA+WHV4rHg_Su3-HY6c%(!1UULMx(xRzl z`KBUHo)+7qyTz9@QG6)L0@G$bYm?uQAIcA9tz>?WA2+{n(Fvf9vdEhu9zNN1qB?u7 zmf9(KhJ9tZNE#1QlKk=Z%qNahBw#7VbZ{p4&A2_Ga^7|olZNjwp3%{?Po6C+{}%fU ziV~f{iL!eKRa8pLv1r*!v2aW*>CPIHL7`>ltxamh-e)f(na_L)4KpM3KFEkB-~*(I z>{fu7Ym~TwdS$kad@<~4uTq(AW$kh@eU`}X;KH0V;}`RB7VJ)(XWI8kT0(mr4^h5d4liWAXVpikWts> z%)d_;(g0EMtoMr5By&W$c}~G@rEHL@C+m>?XnM~?MNcm-N@Gp+$Vk-SJRfeBO0TwJ5_#Ya+iD#X1 zIe;h~H6wHWD_Eg=fMbZ>m}*>BX5Ct|Xr?c`MhX+D(_eIo%V7gYz=BF9w=GtEOqyyW zPV%AY%FQoQDPe?Km@}g2)2~O~=Meg&1u2R0GNgGd(r9_A1xCbMw~9 z9VU0TyH`p~({p#DrwNxFICvYV=xvEt!DmvKexrJ0CCje8g{~z1F+EG!f{@(< ze5RY8Wla7XrAG4BXrt$m9Gr;g=lQJrDg|X_InuK{dL}m3$IlD4=GErmZH#R)%O8;r zMJKw$++I5rPdU!HfSzKZ2@?)f%HD1kU_m|lsVv+)Tp)IHr=~Q$-J5VnUtjEB9SD9m z{l)1j|Mz4^b%yyKf|faX9CU>X-~N`kYQIx4a$yJmsWI+}Y@Hr#9Xsa>-2?W}!&GA{ zRS%gnzNAmEGWKUf7EKu+s()Q^*^5^Q(&54dl5y(#G4?>m^E&vmdF)~Sc~3Lr-@6?# zVQ};GszY;5T3i&B?Xs403hk-Q+i_gFlD-{G*=M%KlwmZjf!FDi8Fh?|9m8#5Q?@4b!(=i#8gioiN(ba{YQTBTRVjDsAv!PYe zBkH6d64e{5TicUJsI68tuEb?8mvHU@9T-nfo*Yk=g>Q7M@L;#yEW+*0l9r|HT>av$ zTPKo6?&&kHRjL6YIy8srIZ^fc^`S~tUg9iJ=|Ls=k0d`F{B)4Ve5G7=0Xxjgx#$sS zvM2mal}Ukmo;RwIfS{PE9uZ8-m}}I{-wC_=SIUSOgt(F8jYYOrTTIo^Rxo#9;;-KR z3E^r9h~h0uEta)hxNFnP(q}ExPDC5Osu8DUE!95M22V>wWkel;bDnk%CF)Eab(Z!S zI{DcSUa=ivR4^N-*;dElCQF2!D#e`JBDs&D)$QEvFARB z$Z&&b>c<_q^tUuTWTsUinOXP<8-=}KckN{S;qzowTngU>8z?K?T!C}IND*zHeaAb8 zc}P&E*fn>-LG1Sbtj;4XbP3n9qi5H37b?9*bj>mKtGix2h7+hfWHrc?95+$|t26bI zGtbpPiiawemRAE#afs{A1yh+%Z|AnKDku89P{W!$Ikst|)I$PSV=hSEHVizgD1{|U z!fU0n5}K((r7U}r6zc33qW8t`vnK4FSA8lAtzwD4XU)IpLuo0!=F8YNFW=G_s)Vng z>C!CsP&2dw09%v{rO;RRjbbJh5P?&bArS?kZ9AYLWT`@O6zWxnGl|DzuXaf_N~J*AZ4nI-of}f_yOif zkz<6OP!zp;XGf|hJoB~S=(UPv|7KKUL1pT9fgRNW&_J+Ob!EaBTdomZnBp)Jfzr8z?>9C!Yv8K%3A-YUA z)o1h=#XIE1S(4HuKceqHYCDiVgt^whuXanvXJ$fDck=*?;=}u#E4Gr|uMk7pKu4HIL>JxpIRf$yg`T zuzS5M9!4mFyK=)hQm)<~-xE3)0NXj$uM#vGvylyaDNZnKGmpredD~$r$_T0cWrd_p zl_NU3*Z+ddRXIjz3CUR$4rgHG`jmyNH9WF48);d9*BCC};thwT(vsI#MxBwYmqNy|%pSAX zd~=w`ZT5lCXYVS6UKYAy@Sqe**rWT)q5T%~ zy@*)0s7qrM+biY>5k%hLpR>_R*0RsNOL@wsvD{okC*@rU1PfSF&XmQ5cM7GS_`(JK#w9B#o@qcvx|My-F2Vejh>xP$q3 zAajH)T$rYmYb;NLk2kC@AEMmL4G?)dej*H9Ib->9n(i`w-Fz1J67e4)4v8>Sx|%$4 zCNT!#k>?HHRqW-~th`)t5gpP~<3F|77oLAAtgwfkBOzbe0|~Ko1ci>q4 zRiD~YRa4CdY8pNJFJu(wNtm~!ZJ0j?K^IE7mW9SE&tq7wiQ2gW=Lqdwjl)Sxe1w z7EiGWO_HISq)na1w96B+1T^(JN*n8FXQfbxndhXL=5SAyH?4J%%?MfzT9 z5B&%d(dA_0!o#g<J4uY+*pg2 z+e5eL)eMO-P znYBtf#X9LAvPO+>(P7k>QK5Em&SoHHANop%iIE{GB_m_DmIEKKXR%Dl>iQ8u>?2lC zaILfKi4?iPNx9hxMtE(%Hj9~YcSO7tl_QT!wkiCe;)j)eb(FEa;Zx3{M{y_N18oMy zKUkR_Nr`W)Y0*-eCm0GTrb+fYf*;9G+Yb-EI9=!)xM^e0dXV7e8uAVjZS0i*e{QTRPk;vk;W#rf~0d5k|l>na?Fg*c2DPV^L_@IE<3Gi+KyC=Z80vZW$ zrhwfN;Ex5&N`Mmt%uIlz1niOk&k}Gz0z5^)AqlX%fL#+{>|wx839v=L&VUgP{L+eq z28(_auKA2E5&X83vG}iPSQw}oL#GrIRK1FjkER7KjR?zGgjO~$U8PX#3CS!;tp@~5 zQY$22l3H^F6lz88C9{-VrnSxG;-;wfQq%5OwFf!znMWD4(!$Z zMx$phHDn{w!a$d``DHRCRjL`E-O=t=`Cc^%aS*yM%5`M)<5H!Z$^B>?pM-t|dbXTy z$oZ9ef{_Q#eAcQYmT&)5VQEx<4i4 zC!+RF+|pNehu(`UCz9oPlZx#3Sz##-nWdsj!GU#85NO||3&t`&g^mE=Egqi6Sv!Kj z7g=Eu9qvL*=)Yprw4HM=@rGR;6gGvQZ6dGg1I#&4>s?`r+t`aP)od-f5XvLXpFfpKv}%!5lu{m!MM|>*sG$)Y zlfhkDP+x#gEh8esY~l>I?Rli!DRrCN$U3AYwnjCxC9B5siG1xVbcROtGlZ0y3)o6F z+Jo`bZBX=TgY=eL-;D2flk{hPEHgi`fBS&yF9!7Q%mIR?fAoJe@jpSO#l2A&ZXPo6 zmj_!r&Gy29nPa=wb8yUv2z?nhyI5<{8j5WbH^-N0* zL?kToa$3FrPDj4t|2dn2NWBoIyangm+G*q5tewq{Y$Y&0E?41hv68FUuwBh|2d7&P zg5^>p7W8X2(wiOoCL^;J`@6z!1zS&?^L4a?^Zs2fPd>D_|3DtE9_Ra>)3Z#v?*=u4 ztg9oxYOY?O&o?e7SpR*|A-4U-5?R2?d7_44nB(kKxli#OGH?5a&lD?ABaOi|^pOol z=qsG)JLo-pqh~#!aJ-|0JxtCgN9A)0`M{h7zs;SSrKEv14R3tZ?o+MeT*Vkc^j;g_^j{s>@j3snSOWr}IbTIbYI|w_5{6{I-4lCTuzf=m z$AUVn>M#MGj1W3(^JgJIHlBFZSj{Ce3HAxG_Izg>aT^%%ZNdd&+v@*GOCKg8D;ISpXPc?jWi za~gl_QT_(S*?#Q8`IvUnnl6m4h_6U%nhIjbXiwTNTztS^7UtonFeiWzE@u00ke&Ee z+0w`Cr$9oEvxa!BK(koaI9=qum)r}>Mk}Ad1~i=Iqm92fB6)Y*&U#oZ@!8xSw9h9e z_5!36Is7?5T4KLAn=Qmaz(n$uBsWX9qvy?^rj$MzJG#DCTvo7~^{|ro6Rgqa>6}j& zbb_06s}9ZTz7Pb5E2|)&+ zHToWT;B+t5kIxrE?{?!~mW=lbQTXWunes&DLP+ zWs6R(`#b1iv(tY8>jwG(@4S{v-LPgI^ta zZKNB5-d^HFDHc4A_eWIe>R!kXq)~h{J&%bwpagT`W?hb)W4mmCCR8ys;Jcz{%A)`LnNrpMpZ@)_GGH4#kZaIX$O@7$*ihXR;m4? zo%mlPx^Ozdl>a3D=4AZ*|0MpelJUQ}?&$Vu2cH?q_*;&NA8hRfJy!}nd#UmGI8oZk zq<=D#MJf}gJ(SUyU~AE$9x~qzW4;S?PfT@V{HH~k{j&Y-jg?ncC&+X*IVSo?(V{-V z)>9Vcg4v>zBvX2tD=;jI$C$tn`Skbqik=>9?d{JBww^$7Vz(wbM1S(@{striti3X) zCd;gy{vWr0GEp^&+Kz{INcA;VO5^Q+O#EQ$QT?}oDD7nOY%&u=W%7gl|0nIHzb%=5 z2Qd=;|CsXs)_(ePlIibDO|Pz(I`dZ+<6lN%`{VzG1QjkOgZTLWkJCSsOy4~veXw;D z>#LL+Y(0I^DOAVr3AW}0PSTxjq|7fT=?VJmVCw+?peUWB7l>~9Aw)})1wC~wh_-Ft zU~A7sFK`&QgYM=poY8+eV{G<8-iUz7%_6jH4b3pGZo$d2e$o6iXZBCrS z#0W=_JZV{o1jm}&;rG!;N|v|pUz!|J-Y4P?7nVqQeSWyS=Or5Z zv;V5RIVt7csmpugGRphIRf=rw)vrXAS6SSFV%w`?%KdpQf3{pXPAO+ntKPblTcwm@ zT}oDximIjee50~fbfd++l%)HcZg1HfS+4aGiHVDLCi{DR6w#OAtDXRT-DbHU@DR=8q+M~|^T^4(||EB%F*0oaY zFK*gj%IovPyZI~M4I?va9~>4MsJ$23)hu8-3jwR}_M zr>XS*ml|`)uvy&U!jY0;R(l!#RU%l$90k(nj^DrI_vg6Gu|uD@>+)`K%0mOBXqGN- z+a$_+^Fqm=b4R1h{MLg`rBW1*%YT{obp7J`bCa?Bje3C3 ze9O^$v|OLI==xq*Cc>(4k%Gg89>F2^_&EHHq^OZ16e*sLph77oeu6Q9ax~G7#v`F$ zmXNo!nSU!BEQWx=PsJTB+BmyiS-Pao$p!0miD?zjq73JKkpw+c@_X9JZvgqN6nD6=i{$tI6ot8dU<8b- zb#C)gb4y+SbpN1z+-=*Z%*p@4QeL;E3LWc!T56HXs;o?tgIA}C zO51Is)bW+tUyj0O{pXr~aeNdUE<8c-u`fGrpRFRPgHO$Wi4XSG(d1_QxXpj*_B_kM z=UiwrRNUc0vkY9W(YRn~w{2e(mZtSHY1zu9AfcK=#!u<-#!pInua~sUY|`HK;%5Dm z@;<$^ZF@hU%UBjKqs@GC9Qt143x7QUTyD|0wAq&P5bsc3LgcB3j-eT@g5(aJ^K>)mpc`um?eJ*hL7X{P*OTlODL`9!==j@NLR2D(3O}&E-0Nf{{cowxDB>og^9!mP?c8ojpb zOI)5)?BpeTmr|YAqmtJwomXcyDwHUvkA#{ZYLD3Rp-17Te{IL>v&XV1ZaFR^&1wmx2XH1S|+R@)S&wNAvI^R^_4Z z_q+GnGv`cZ(iHsT_xpUFlbpTQ+LyJ~Ui-e!nX}hL&d|DIx6N|`9$I6T{T=K_V0?G) zM|6wK6CrcCmig-<$h>o&vdkDWbaTc&S4%8161f}U8Qnem!^U0(E(r%~2_2MBBobt8 zpe(lQj~q3~xJH){Sr zI|ux))BIiQ(;1ri1w)x<+TYm2a`ELWZ|~^J7w~C2nR+ zu}42~tbfV#jq)t^_y!}ai?j|^+0))p;0uH;+utJ1cFWmd`%TT(w7+QxLi^)4ue|!D z=6B{qZy^z->yF>)mCcNvbVoD;~=jro2Q7cpLHa84VJ0Ay4v3chNjzJ zBtyR;?Qf}YX8XHXbN=O7;JiU|&S-yUFvhyb8e_&!*Zw|uOXr5|?<3;tXVp;Vv0A35 z{XN5QteB0&k+r|5OTtZB!hhlQhJkpgZsG3s*TV3$#WpI7K@+uKV{h4%Rq#)g^LK7U4h{j38i;GJTX4bwiaM-bX)986v5VUJY%Y!^mspJC1Dx!GWJ zn`V@1pJfbN7ul}W%icZ%!i(+mc+Kl;t`KD&L0)2>}Isjjf{b{qSp1(j*qn>lkIb%migeBka?w+>1m&nwZx>6II{LR_`1#& z?e!t?^|R(vLO@G!+3OjGrtLN0wU-%RV#1Fa-=+Ee&l%vCIA>^k@AYyVR2;Lk_bTDZ z_7c=Q?GKK5;>Lmz86UhhL)PAt5KdKT&D*u|%y<~K`W|WbCM!_(A{+lF7-3!H(0%Y{{)KG-Y;VzQKRBKFKTGA`QFE>^0yujH zJJ0;h{X9ucGUf?4c4y~mZg-K}3e7EBcXlwNVLlDsEUY09gx$~YDKGWB4DYuqnZNy= zHVhw^{f_whS%sA8(=vxXF1wSF)yz9`M}KkJ~Y3Fk$&E}RD>~u7i(d^oCRSU z<|uPz%iw8R9KX4ws$*sjUHz?TpO#2rd-rQ8U!{~nEydN|Uwu_^HS@oneoy~x`1LcE zjFnr7ub(x6{E}bRl{`J4yxPkz>E(y|5)xLdFKwFDlQY5UX3a|1mm&n9z63Mt3qGiJ z41#!7Ty>U0@dGF<+#=xcG&oR6d>ZAf(TFwBirgZ_-(OJ)_+2)^_+2(ZGtTdHwU^ z`0@L1FY9b@{Qd`Vy#GM~Cujj?{C*KZu=oXF>Z(uf@q4o{;`rUK8I2*MH_lY{NR8jC z8MZFcsMX6pem4p)*3TBr>#-T&71g|4_49OwrpKe!4E=`KbChuA_&rv0ZYJl`HRp`+ zd*^SJuHjs!95TPt{YS?7_6Bl6#p7tWfjEArG95CXJVRN=Gk!1C5?30DBOAX9MFQxF6H71O+2^>;2q)3q(0q2CaD9wMCC-Vf89d&qgN=A6;q2Y#(|-JZ*o zL+VG?_I@Y1NPEAB`1)CUPl3#rW)5xd%eBOWkvOvUUL+D|uQDy+dz28?5?uB=grRAB z4S4Nk+WX*(X^lT5j`=_N1w>x)=fT zbz_DRwD&o}pEfAc{BI%ucFo__-VfBwEuT_+*!Oc>?fs1x5FMpR{gcG8{wM$O+4O&q z5wH-97;M+OUiiPU@K!_K5Mcv(&y2a zixiHZ5iRAl6Cq{uG;e#V*Zf;Ge{XwI`m68T4}E{*2;py@M=Ki7e<`Cv%gFUU$sf0; zp8tg*_TTe7@;WeO{V@6{8qa?xL!WJ@s66M==e)E&EB8+ySARZUi$3foG-12-{-nJ3S%k{qUqfhCa(%y06nEzAq`(GTk zEq{|y*G1w+`Y^9754AViTe*m3d#lu9?>rV_`?Ofo-i|^L8rmSlxaKoRpXW+HMyFrG z^s~I_-}R$Bs$sllZskv*Q+t&6X?+GzLG<|kS<7p4+-o029+Gq8X9xaJ$TfeAYb&hKKxG5#G1 z**lI`wn*)Vs_%o~Q3?t|tq5f38}fUUDi^ z@|&8$?`6ir^OJq?+w9`kPaN}q@_XYrZ+=&6euewuccF`4qvrRsBf#&v41O~;zccp5 zZ@i0Nf#%mnesePT?Rre*wwcdWS7F5M z*LYYLR8Od;i)b$AW@*va9}dw?TJ#wAaxM?y>Gfd{V%`0*>v{YekLvue{w9fI|AS1& zYo@9CyOm*hw4pPQWqmT_ecvmEGuKyFYtDZ-44k(dqb!xNzN**!FE9ogc75e8AN~7~ z)ckO~NM-pHXsKt`KJnI9ajax--O@NGuIZ;y=Foa+Z;uSSu;3f-b5Ja#A~M70D@g`Uaq zw8d5`i71JR zprY~n4@%G1(sQ+$JCIby^G(oV*`F%gw zyZf(<_K)8SrQ5$S=I@0HG~+fho}(FOefNClPgT)vGp6M4g+}`Ou-ll{jQ_+j{(lbg zb{wHHlIlNuwT!ryk){94vA;7%_?z-kH0FPl(W+(SDjyq3&3rvoKKSI`XZk(h=7)8D zjXsLT{EzzVJY3~Dmp+#wspyl~FMZ7TC!*QC&LX~k*7XNNY?Bu2>Rv}9G~HJO^0Kt| zjNf1CV?oyCz3>xn_7uH-)?~{0$6>=}?*=55>`j40GzXsCk;B?U`kz$)tG~C1CQ>4* zu>YM)eEqEN9|SeJwHibF-vby4FQh;?dP@C9isz;2)cy_Ik9j{kCGVxJI_s48D)IHR zPNh62m%KX|2~R`zDG!!tWc* z)J)csNuy?x`F#VMQPS0*0vxmdKH9xL-tmyOg86;4qOty?oIQsQTLHd}r26;KkqaQp z-5+N8iFDTf4Ewto>-9Mq`Y0Oh{{ZOII=nu1TA#+xq>uaev+TtFQA-;_N^%l7Us|Dhid z@IzThLql;tG99uX%k!Dj@2}m%gfc(6k2v-}DdpAAsT^jTAN6Qin~bc?NvSJ8Fk`t0 zQ2T#cz?~Bzpic`h^Mj)hgw7%Yrmpnv_mw_=P;1KdjinhaBBQCAQEGgCneni`(dv1} zXVd@m3omwJTZ!ZSH}Xmzta9xdfUag}y6cH%=r?43zfd@He!p0AerN(XU#&T3%zyFcyLIza^iuCh3m;RaK@n%G)jZFWpXpDbkzO!K1Ok9ej z(!cXSjepPl;D`);6pit34D_iOUY|eSm(phsa{npy$^890n7ZwA9chez`Os(Eq+#uI zURocXv7`0LIfHih_o?zqeLo_#9{l)Ttq&`lrFB_EU8WAN%hODT*IS^68X1TAgv8MO zp!D;Oq0j5vMITdt6pimcjD}7dCk|_$=}0Q|hvz(g8v6{@=Z#I;K1Lr!WBpHk@`u;w z4kQ(Qcm&D6N1v(;eH4xF-$1~?$_c~T=YX_6Q$D3Wspn;8J^0uU#XR!4Bt@^EbqLkj zJ$_hqu0&Fq?iOlw*1nbV>5FIlOxK?w`ka!XkD}Mlx*F|wVA1gUd~i=npEEwKK11uz zZQ$x|?}}bO>u*@#4{RSdtbv-4RO(NWR!GlxKhyri_zZm%y?$1R`kXPmKEJs;rBB7D z)MrR}eGNR7d8Ga*8s`_|dDFnXV}~_Q36e_v32Jrrzy9d*!urKWi@a z`NHt}Y(Y{ft_xiHWG}58^?7LhxiCW^MdSIe1BKR%8P-6@q!nuX)a51L8%m8AJAR-I z#PK3Q9Pd9;myh#@)#YYJ#V?(q$G>;Hm?Qd_{#nsj|J%^1b$Fd@B$WaS@3(!t@4GyF zr?v|B!yh5Oe%3+M;9U$8n8jvW?_I@c>mnQ>SN-FF z?qil-aYl4h_hA)l^Nxo)RcmLRMXlBzc@#kT^u2%1C&LxU1W$)eA0nRReI~X4i8Bx? zaO@9E{p7jevwqfF_?YLw%}_`mhd62VOVAw0)Zhno16SG4_G0G}8gP_{$0iP|8LvN5c!2t)$$cd9Ucy1jI zp);qpJ%R2JPbO~s}AH55R)lx z-Pii7)^%+9^EEhRc|LxVDDZ}heu?rs z17Bu95e{renn{oI5T=0|ZDp8`nO{}0_m@>){1^Fh8d9g~o&T!c*y7z>;LYB4ngnN{` zNxAnace8RIP;S3+wp>k&^ccyYrSMC|govqwC$~{}TManHvZkclDDz`$p zUr}zAa;udaRBo+u>y^7uxfdvRv2rg|?nTONRPGYxwkUV0a$A*qv2xp$+o{~Ja=Vq= ztK8+vU8&s5lzX{yzpmVfa<5eGYUN(7+%?L*R=L+H_j=_)DfeaNzN*}v%6(nAZz%UIZnbiQ%B@vyy>b^S_X6cER_=w$y-2x@%3Y$|7UeEgZmV)H zR&Kj;JCz$&ZntuKmAhQIE0uehaxYiz*OePl?v=`2t=y}XyGFU!D)&0&Ua#D!a&Lf( zPJaE7&oyAwuG@RU&j6#X^xXX}#;sPoJz(vAgBT_k*6x>xwGrD+Y%MV!+SYnEv8}|O zB6c6KKM{)&8;fbj?hV9_BX%9JbBJ9@Y!R`Q#8wdNBz7aQ7Ghh8EhhGBVmzm{^*v&9 ziRC-M<`A1q4Ck`#Z7n7?h1gml10ub|bNc#O@@Fep3b8YYeL!p)vHUz>#}nfuX7^#l<`63& zR!?jcu`n^5KEAj0dSW<@b#Lnri473rCi(8Si2aq=%ft>C1q>%M?`@qyEKaP3*u%t@ z5!+1c3SxH>yOr2RVviELp4d)etBL)K*k!~H91Sc?>=a^4iIo$(kl12kwZwXeRS;WG z>}+Cp6ProwQDP?%OAreXd!N`L#C%w8?H*6;2x1Pg*~IqXT;J9O#Qs98o!Bm7*Ajc3 z*xkeu#GWMf46!$fJxXj3u`R?thb8asO~j@XyPa4Kv73l3BX%vZRm391ZYH*z*n`B{ ziM>E<39)yHT|kTnQ}3=Ob{w%XVqYRQn^=%oA+c6slZmY%b_B6|h#g35JF$FX?-Bdt zU%)0{TV?l$#HJB@k61OaB(W}HuM&$A+d=H7#GWMfTVmUY4HA2R*jVgi?Y@iH5yWmK z_9bFbVqYP4HL=CSE+=*=v2J3kiM0~jK|J6GwoiAzLF{;9FA{rA#5c?Cc>xg|q>`G!^z&7^omBeNe>m*i9tc4h#{O(>% z>`G!mV&5e;m)JwZ<`8?4*bHL-MQjSOiFkOh`zT^li5*O=oY+`mONd#-E+_WUKY-mz z?0sSn5__B2i^O&k`zx^*iH*ZEnB7kiJC)cY#EOaa6I(#+9%5l)w-LL7*bT&PA-0Ct zBgDQ=?03X^iT#z>#l%M8k=5=-VgX_ciJeKTir9I?N{Dq5JA>FaiA^JR53%EkJw@y= zVlNXbAT~&B6tPKoM7aCoJ-`ZyeL$>)*Z{GG#NHy-OYCK08;Ctm?8n67#9k!!FtPt8 zwwc%{Jc8YQC$S@mZ6tOYvFnM|5nD~Hnb>8-`iO;zT|;asvF{SQkl16yYKbL?RS|$aLv8#yf`8%-h68j6WZNzpF+d=Gg zVs8>l5ZgoS8Da4m+-cSHRR!^vVd8pgvQMoX%q`j;8604)BrxzhTq2}&TuT@@JR#9#h zTO}n{X=$ldhRZ7FWzAKWHBVnwgS#S*QR$T2Wg%p@XIO+Yz^k;WBh=pB)}%aB1Vie|%gfwJ zPMKFa-|A@V>1o5n+O|roD$A?u8)}QI%WCEaw93*6Ck5=D_Og3N(khd)t<_H8=H!ph4+^+RFMx4GYU_>ndxi zX9rI1>j|8U66)&iwfZ_Q>Fiq3sf<#ty~Hr52r0HWO8yC-EGy?RW+2?*4ETElwT06sjY9QsjgboP*+|H$<~6-rX}s6KrfW*>ged} zRLZfe`?^EztEL44!4S&6r7P4E==;flz02_o{F&D%CWX zs0DSOLQHq)(!RECh|0=7u%flCxi!${(InL3mReoYP`W5sQC{0ngUnSG2T=t&sdu)_ z1y;26wg$q;-)!VfMd|8vWhcIrm* zE)F&KdJVOpdO=-zS;H(S-yLf1TGrWiS*Rs|ni4>bfquqG~E^h=sr0xeCwO@XD|T^-sGs+-B=Bz2FRq#xQhCoR&=X+d?}f*>n2GUBpW zL;a#43q`6b)N(buK<}!sCu43V(h@CI<@?wb1o~WT&^@y240J8k?W3)CRUq8m)!WtF z)$Y|x*>-xNt2vxsTT?yHt)*3}J78}`2rO-CYY(-|2H&>j=p|ImY3o#ghF#Ls6G}J6 zj;3C;hj8DLcC>odF~oG|)ueDMXR22NI=14}jNd(kyL)yo;;QTorS+K(J*G+4Jf6u^wkKY}Q>Evfj3IRbW+DADU-+AaPr^ zwtQjDxzZXkxtLyH2!nv?B9?bu;k*TNNw% z^lYU!myLVz;^KzjdGpdexhtJAI1-~aHldquh51bysiki7ET}%Wy5{`qhSEwkMAR*) zMDJbPiAJslTct^JTbNvW`ZzCQue2l->O`4J-FLI&V52zIHKaNss~Q7|i$zbMsXK($ z9O~h0s|mwHNDa6xRJpems-p+NINIT6%t~8QRa1IyL$J84Oj=2{&C>$mrj{1; zS#D0X7og^s*3_0Y)YsHBRG|;b(Fl55n|d)jYz~E5&^FkLJDOIub@X*$eC$^9BF+-p zL!HZdTipWcvkPeI?G1H=*;imY7ukd(*mbs98qroXs{p5NGWTim@8% z-4_q&R#sP0eC{wcqaxLh=ov(AeS*O%E)lT0YbYzOFV3CU;&2#qIJFiClyL%`mGgpX z49exDobL|T0dhdYAgt#6``HD$Bn;CBdIaoOFX-YwOgHG^zh51pi+}E((8J!{3is9g zT-=B63_TJ)O?T*$G)#Z!5#!FtNP9$=n4DdrM~J5|M${>~M5vr(?G-&T+!+~Rzvvb+ zY{%#oq*q}3)it^#<>(tdB1YUhy7-n3(>;2akFLfj^_R&qc z*cA`oPkOkHw5QZFeKYyxjzGo`rhC}b>d&kJn!B)3u+ zIUM)wMbzXPyM}Ppfi0n)=I*v38*!yoHFf0;)iv0zT9mmaxN8 zwdI+*QbJ#9v$ChJncHbg`_#f83;7PNv9Q|e3`jY1X`e%0IzuCp)frmW)!WA17;tZb z+%Ps`uo~(K^?LV$ny`)wVJ8e9B<6}&@3~f1Rh7>xuEJ8Tws?MdJ+>w@OqW`iXR{dh z3X$uyP^q783GOW{)yHNC7_xcWoSy&pFb7=jvA*ZBmuo0ZHG&KotyqQjbYVXT8)le! zV3Qkl3ft*@AzfQ3!X-ABq%96S3umSFY1EYun5ZtCsocAKfLa$a>qMKPwcbt%5--S3vRWo^A`8>y#lS*PB` z|rFx8n25W?>6$9=1DD zoZ*FCvt`(m4J_^JRNZ!#gjmdECWO~1(?^h$o15&J7u4%Dj42NI^Jz)AuUD^FhH6{4 zXuhidr8U*{Xcj4z=Sr(ZrtvV5U25H`4)mGb*udsIO!aOnd)*l~tQJ(CUt1i^#;LD! zMR!wJwWKt+OZ0Ylwpy2E_XkZ@>04L1xV)jNa(-n!_c-v3P?o;ZR6N^SeQGNn%fwv2)UXsfiq4*P8GrCpwyhJMP1x?s z*fzvkz2398nc_>c>uwCIbqr*q%J&<}v=jL6H zUGVCL%4!Hu{YY*3{F;TuRTk}g91Prx&F;#5pzMYRhX%inJsr%f*Y!;7*e{T*XnI+SAOYrvzkM8gxfI- za_5B`+G!aagBwsB3(Bop^E4*?@Fm3zPl20yS_8|Q+VR*)KT+hM=;o_tJLi@cH_WfB zn_payP09L?NiUpSdG~dnzKFjbLYvlxO9EeZ4HwFS4#?1mZ|x+u2E{_JZYs$)H8Q`+D?hd$G zf}Qb9(U>_^^8;B%C@H<6+|1)fcEvIw<_xx}mxP+NnvF%&KzAi~t12&sUB(wZvs&WpQ5jS%(( z9bu&95(_H3pTL`^?aUVk8Fv=Y+b@`lH!{?VJE@mzbS`96kq#H@T(zg%6X@uIjr6-N zx)S!bVlixU*Rl1?x1vKR{MPS0wE50|kn>}+b+uUEMB#=8Qw z4W-4^rR8|+?KTMdDLm+IFA9 zd+++SrlcM(KJYCAu{I5%B%~W=*OFeo;gI>PJ^fw_bwI^v2`s3sa*J9}&F*ksHRh3J z4b@oiXUdS7jeEQ>Gn{mO%Bt(s+ZArksTViuFdN6)RcNch8q9Dq1$cY%Wmrt0bFC?@ z3!(<}gwY^54e3^kW|tCKC8Y=IOd-0lvVmaT?_%Q`vfUij=2>d%sJi@oO#Sp`Pkkkq zOcskE-P?LL{HjAMuu|1?%KA37I!d*LK$ecu^B{MhqVSm8JS^T{LG0d#>{?~yMD>r{ zn1ZP|QejU@jY{d7h6xEr0lj_Y9Y4HHoAZHUJoP>wZLikTmeHix(6D*YwE}X`Ija{7 zRQp!TNq148sTI#fV@`J(`c<3s^tuak)t=r}=zXVzySNvM^#b0mS>D&qO%?RYU(DVa zc?)?#wXqHwf}SE|*v3=JSih!hAeM4#eSUfIxn{Xgj+Zy)W0wf8lvHrhmccf#BGhzA zAcVI#I-qWQpsZ~vHlt4AbKDNJ1df1c*)k%W3u(o<)>R>g-0O^d>O5dHIx#eiX*yCiOrrsUF@}ZV9%NZ(1OR+rW5YD1azshE&ku#)J@W=%s!LBz@0&cUaP_v4v=`I;rlJlv%kcCr`k9%2qBYW&Q5Nba z{k0=}C&jhnJ_2c;CZ*q8*dKYhYmVElxhtmH%aj))vrW;wJ%n1k>A@_c345|p>RMUV zVZ#Y8Ne|oqyXO*W0K>LI4R+)z=6l`=Rcp)CdRQ+CG27!zB6F3QvF%p2&n>q~^nJDH z^U$`j=d4?LT8qlmdxq(GdRme6-Yt5mCT`N{ZRt}O8NE9ugB|FTr&-l?b;npI^h`aW zhp1YSdZugh7hvbDp}ul{dCh`)>(t(kFk)NgEj-nf(0NwX%$r+TRcWL)ustSjnPbah+=U=(jL?#pY+7rO-0GHl9+dTu-$;gIOw& z@A=>@!-gSalF1T&31FTDR4$}ctNPSp3tBed?fQoEQLGJk*}nlV{WstZ{s!!9^6h?v zsowzbrT${R`N;(M*+M!|DW+ysRh7jJh~7XUNNMqh4JN>X$MjUXGFVs%Gr`_;5H~~u z)p9YXTJR!UqWg-Tijb0=!B0g<*&wT0L#&jc&T!!=`9np}*2ZEc8!0VQiVPbIzxYr^ zMxz@RDM6+@MMh3*Wt928_@o4-bj=XtwJ3ielFB9tZ*b0hrm~Tl#~}gOzPES}DF&D6 zOy*OGv+3-q*!+!51NN;`y3=E5-iJg((^9QtZe>ua`j99dMYD!_G@&9n>xnyXsAzYn zM{2eJy>~IaaK=pCL}_?5YE!ppy38oK*`!&_ENpO>j_i=AP5{5eQ8|++AiagiUpASp z$fLdq$P(SiQa`Us_fw|4U7Z^_>R51x=>%1%lEm0dVj`#1U_jOwnUyz_L)OyIjAV3o zSAuMDT-{Pi8El(n(Kl<>v+3$do>N&*tX$d-7s)hF=4wd1Y}rZ|Y^n@Qp3*_tGL#O@ znVWQ!Tv_qP$flobgdC!vD=eFauHc+1y5i*0F?STNu{}MaJ1gu>@aDWxQ8idLu9W`_ zHT1AjW`?m_n11FAcAuxI2A(a#=`*ti8F{*&K+lkwmYs&_*@s3dE1z4%-;$kk&N*sw zB=a=9Zc$Z(`ODne^74|ZhIyghg?PT*)or!6E$Qi6isx9Jr%h{F1&TgPyF;NR?Z(6P zQ%esT&)elc-r42x%SPZE7nb{G9DGqj`T0m#R>X5hA`u(6gWHE2A2s8L%~H4J&mRx( z)J5LBgqMXcJg5s_VNe&oQlTzOgt;ZLhks#bJ8GCzmXIGlCx`8&+q0 z{lTIc;B;K`4WlBQ$N#>sXFBu_V6q9eD>Y{qa-_3_=(qH+h znA%}JjlVlS^K1CHqN}nu{_gn9zv1JK&$?;+-SJr;>7RMA4jO-VeAYYC%1;szXI-N$ zOnFO?s$bds@#P8?-_3_<@U@Ao{`gizs_rtL>xvLJe2$TT1El#-Ov)h zSYW=Cx9LBw5c)hZ;CW&&e9Gz@e%tT!yUa@O5no1KLf(cCA?YvU=0)+OskR9t zWHwD&LKDx#p}KBA_ILC%;bvSiG~15}XWzkgWBL}-OL0>U-KJ_KS|qhK^uOg$AC8cNFOIO%Y*b-(1t(haiDpTKl}Xg@ic$Z6F?jOq$h$l{7Fv& zZTOKc0L_d1XrBY(X?~;+1a0_{J_xkoNBTsesW0h+K^y+0{duFvI(6CX(Ica+_$aH$ zu_Atua;2hVMVtbbW_n&kTksmd9T#1D!e7e6t6a6CVLV0?7^fcWib*)!0Z%h96Fw9Y^~T!Xf9 z2>O?$mOnl*o)@1K_r)i~o%s0pZRj=T;Nv*6th3O*HlR(6MIYuzUvnVZ!x*%gC1^9F ztWoiT__(+ochE~>nBD8!J9_V^z0O`g7EGm?iV5wv^K1tlcAn2cr|o#kDqE7h;N`x# z0IsaYw^1tV`L;>6Bp$!xD?<3Z3%-qlz4*Xs**-862+VI<6_|cnU`FBenSiqkXU#4w z3>>f76iqqqi~E_>BcH@axc`oO5AJ{9{wMB#;rTW z{|@&~+|T2F4fpG~e~&wX`wiT0;x<VZnif<_7jAx!#}_c)(X=2q*-y}xY>Sw zf!i-I4={faW^y7C<%`LiY1x zpahP?v%U<-ew>i~EX!P9KY)%ufL_0V%-xW8xP7>N3;w?BeA$U1Uoq$&hki-Qwj=f! zC!Lo4-x#!nlhGzd#Ydwp9E4VJD%wQ>+JrCeN4-b=MZKSh`aceJA2P=xL!*$HLzQA< zt(j;zw&lP~ek%_lqY*v^vBn_-6QJxQ81?`d?;sfHbI80-IWE-|fMxD$%fQ~fPvYKy z`#ZRAanbbqHg3Y7;f~^F{2Ou8?-|_B;eHl3dHfRh6S%*J`vKhd<7PbGKgazj?wfEw zh5LEjKgG>3`rUy0CEUNo{UC1olh5}BZWTYnkN$V!zFqw9a)p!ceYj(|?{WFx3j7DS zdJ8X6ZYd~f$NrX1R!htOesV{h8?2| z*#6B0d1$n@-DLah1IGF7*bIDS7U8^aAIr9-abn}GyX@P@3@nO1Z{>|wxQi@na1rDzw(?>Z zT6V!#Er0B*z%K&c0N8-AM$6yWWZBUs^c?8$<4Y`mve|N?VJpw-w(O#A`1e?LxW{t( zS6aU4Wsvc8%OAhevXfU@zQ(Jd>nFvYo&*+h24l;uhNe z!s)gzJRNb)u&uzEwjDgvwyfE9(Ds6}GQ& zCDN?4o!B>QI}kzq2;^L0+rcYr$GQ?aT#2}V@hfd#;Z=}#mF?>X9J~r?*4lP*E#hym z?Zyp=e;3l-1^Ix1yY0N_J+>A2q3wh>*?C3x*;fB%+due#?ezZ`GPfW;z8DlxoFYpxjJq0^F4c^b# zR?)Mt&9ipi;B&S=@GIMj|H}4fY)#A zyn^2%U%!QYUIBc?cA~$teTm;8{cEyk(PJEnW4~}zufeDTko#^-mCt)ltaGd1l94mH+lNb1c<8M6Nu?voL{E1^6 ztN&QX4j$)NiQ^nQaJ=JB9*;TV368&LvSWuQJ9&u{9XolVlNX-iIMI_4Hr4SZr-EN0 zc+7D81v4GHai-(9PKUhH9bfoMPF`fT;{?x!+#=9L;8E<@{UweQt8nrf&vpFqD$IIn z9J{E-aT4c&Po3igE^w^m1rFLJ_$_k$!NrjAAC5nKp_3Q5$Z^6Ajva4stZF{KkQgVmqNcw9jB<*@kM%(zR$7ZeUSeR^jHz_y~6Rut^j@| z@T;7>_*Ia(8nRbA&fqs4f8*5%y9T`0IM(1A$BABxuxp|3bxvORI`Fy%ZBt3O2yz8<1{; z;~U%nncsnpzT@};8=?O#j=%pF#~!=|_^pmFdaL8Nz6;skb$kW4IacB}*z0?M-vhke z@kefV@&*ALzwh|080-*({&zV3@EyqW9l-B&e8D>%fBa4-ukZ(sFYyD%8oUef??&9a zf#2=;itd5Tdz`$$4;^3phsf_H#~-}cv7`3_zt`~<-skvZ_c?h5KXQEi_>OjXvy+$H z>{x~OBmWOLR{sNzJqQ?l5cYf!dGB|e{(jiv$Bq-&;@FK3IZpgxsCfI=;Zq5%=d#p7khneH3yZh5nB@j`g@>7d?)&kHcn9AZ;9JMpF zI{t!}k(ZZY!&e|n&Fw5)_GPt}y|TbA7(Y5ciiXHJAFu!Q|6e=&JL`kC=6<;RNmYX#mU@OFWl1a1-dsK93gCIr4NaF@Wp2;3vkk&Vpp0uK=w5O|WnnF7xi zSRt@h;DrL03JeRpOyFvP*9+Vz@J@l71wJe=F7SDQFAIE2;DEpn1b!@V)PdS=1p*Hf zc)Y-A0?!awBCtx}LV=9}FBaG<@aqEC2)seyZ36ER*e~!Aflmp1QQ%I2Zwq{1;703jC))|G_#x69pbB@K}LU1)eUjNZ?ll)(gByV5`7xftL%sT3}S*tpe{7_<+D| z0-qGPL*T0dlLFrp_@Tg01m=HE=jT9yM+lrOuu$M^fn@@#1zsR zfwv3XByfwsM+H73Fd^`Dfx86$Mc^KR&LKJ<;{_ffFd*oteSsedv<}tz7%T8#fkz3P zB5;PlIRfVj3<_Kpe;FALXF7T+Mb-FnM7YqEBK*R3`LO&sJYCz-(e9+Ls_Zgwz5_tGAI{plSD+GQ^ z;Ijgg0>>Py<4+d2Kw!7PI|ObM_?o~$fm4pt>E{VtA#j7hguwR&9(KHr|0RL{N8m<* z?+6@wf{s@vuvOq40-qN6iNIqf>-dWVMg+zM?h<(Xi8|g~fvW}nP~f`)Crr`t<_qi) zc&ET;1^!Fmp3e<*N=z|kk`cqa=C30yDm*8)Ej zc=}Wwf04jj1U@G46M>UY(eYXZt`!&;_^!Ysrs;UI1vU%(rob%%e=l&-sXBh4z!rg5 z34BuEn*xt46#fDm1g;hs7x=Eg!s$AGt-$XId_v$}fq@x1UZcR(0-qQ7zQD<+>3C%V zuMxOe;0FQ^ohkeTUM=uNfqxcw@+=*%Lf{&KKNPr2pnbZIccj4C0xuAFnZO$aZWZ{Z zz)u90d`a_Z6}U~{Zv~D%Lx-O%@IM58P2f)iz9R5|Gj;sa1YRca7J;t_{77K&Y#qN@ z;2i>=68H~+pZl_ow@l!*0$&igTj1n5I$njquM50g;F|*X2t4O39sjEWzawy~z+D2J zvvs@@fgyqS3VdE*-Z?tn$pX6sUN7)5fxj2{4}pgj>2!+(ena3d1pY~2pjgMN6u3^{ z{Q}<+II%>>s}a~E@D71H1WqW`@xCN*xxftqe<$!?0;iUVe1TUB+#>L8fn&;bycU6L z1#S`edw~<@>UgsSHVIrWaI3(V1%4>-h{gE^G?olGhuoBJ7;%S&#+9m3nTgeN(?5)v;dbhtqK zHwp|NsOcEb(8LuNSR{OuC!9?FF$qtabV3(Ar1>NS4hqcVuipT}`y5}zJyM)z4h|=e9rJ2(_%@&&WTweaaR8 zi*oQEu70w0MO12QnEGF)VyqVa`zl|z{YS=ssp5a%2>F|R0oK5g@n5F+KRZJExXahg zKX>`^jaSS1^9cDLE%kWh{hOXJOq!p)erA?$F8y=YAH0r(t5Epwt9m;CDYG?XQ)}Q?^-_eTy{~aO! z{V(5q#sA>*biL24pPBmafBEtkZ+IDeg#7ove2-K78$Kg{Z~y78Km0`=UdsIx{6|)Q z#wq@rg@5LF``P=4@rwVmBjmsT^=E?O|IP^c?|=Q7sQBmC>iW4a`|N-HnWXri^eOm{ ztb7X;|Ee7PGuzkx_YeF9C;I0R^56gRJy7w#W`z9rzkCl;{C_k;{`+6PCo29gen$Se z`-g)S{|`R}|B=-n{RH9jb=m8GW_!q0zTWwj<+^<8dC#dMz4qTX|C8f3eiLt7V{wnc zeGu;BaG!|#VBGn*55zqh_W`(Xw`}_~+%s@5!(DFKRvGRyfuDi<65MM*UxWJ);0NJe z3fv#Jt%h`r{bQ2yV$bv+h*H73-@Z^8*uOa1UiDw!|liY zIrtrj`xE$&0c^p&1h)_ODBf}Wun0GP|BRpC@z;X3{uMMJuP0=mfW~dX9XSvF`k%q6 zs|w$?*2in>PmHRsjxrR#j&ty51%R8y1^qLw0|NL7&i{|E1CE(eThh44E?!jJctG)m zC5=})rIGyn@S%}WZ~(^Uhog2l|38WsNk1wS%i3tZ~l6Z{3R;g6B@3 z-k=X!t_fS`U1~+euMFoaba$;P?ZWXDD|@Zz=ip!4P~O4AJwnCJJPNTEUkOn0Q~q^0 z?|m-58*D{CU)0dh(9_%0d`Uxd>m?1#`kJ~K7ay!^fp_1Mh9zx0`pk+HL@n#m3TUD} z3SHdN!mmEpcU86Z^w#5C6Dw+68Z@D$JZ*vp8q~^p26MZ+I_hx956?sG45`Q$q#}b4 z{M$MiiA>3=F%{YxYQBWN3wgXteH)GwV0fzuH`zxFs=}~vmN1-lh_joKU+dD9xq}Ud zh@FZ9p4B)qvd1WAqO3_r=?hao6A;Y|aEadN4l6UPsZ=Z#Qm#)O4E8O-antztJwrF8 zLUCHHGJMG@YQ?aAPuK!{8lKvetXk01v`j_VmX3gr4|=4=Jweqtx}lSKCEM+(Abin~ z96g~4cW7B?X;WXjid0s@v^(9Q_@)I8CjkS+Hkk^d{`FnOJxXcG+}KDqMd@ooUH1;+Qf_`x~3BVHm!(x}c#<9q&^X>aJ^BhRPi3WYTCVxEvn> zZwcw(^V@n`CBjBVP+u;GaVl^GR?U)&@zF=7jirK6_hA*JC|Om5n%lID!J8P&FK5?= zmZAJ1x3#agrE7(f+iwD)G0)B^W!-10Z4B`C0Pu~ceY?V|>Um&Vu)A$J>P&r?9LFIv zd2CO|R>%5Dhf%T$2l7cZOJqdRpHWZsEGXDi1lWz|Fp_c7O_FdMcd(vU*8}21Ald?_3XH1~ALPKa${m7b(0Le=(i0AsX^>mQY9(Rn=zHS_0)XPYf7&KNgLd0*%4Nav|j#x5!u5kwDBCil zXu0uBZya0FCS9mIh(-}kiIhLPj*`Bm)L>`IvvMI73-Yul1|-t~9XzTs-CPIKAw5-H z%a(;&DpgY%bomEyvJHxajP|6wp$DoO{UUj$bmljO(FJxQs2;}*Gi*&NtU45GfdJhQ zqbYBtB6Y=Q{}F#R-~;tHH0MG;TZh9O?9U`R1J1z72X)hAu-BJy)g!c#K7mQy-@~TQDhqGjj$(6 z1oyNqGCG}0^p5GosV3-(keU$I^`dIZ2oN1ELS<(O&fTV&H@c#+{yo~(>AL$>2#)JcjnLbSkC~F26$y$t6{H4ra^7yd$~&>% zz({9koblyqKRb=LR*f-}^jbJ~QCjkV@hNrBY#4XYgbdYbj|mb5BKg8LEoqJM(luF6 zJj!s~xSr}o8QdWAGPmTCRp^PNDR0a_u&AN9zNVx>O?B(LIL0+Bz`3l{FUHW4`Wl@7 z3~!kZr$RR|vLI@;70}NB%pz;g=MD=dv1%HX3f|@oW}I3q0aM}eq2cG_h`~@Q z!gg;26iF&5;SE~QiLT7ceP^~9Uj9jm(h%(HE$>{OVm@H}>q0p6Ff>2Z(Tp>3SdI(` z*3{yBHTIpU1bfo{XcSG}z{r?XA_gw@hOSA4&c!6Hm@!gpqn@yo_r{brT5EZCcUN~R zD3%I>vAoPSrGiih9_{;6A$6Jjwxxr5yIcCgDM9g6Kt_JHrvsRwRDuNk(Us!B^ZD9( z#ogUaYSy!JNKj>Os3Vm!=?*UCiJ#pePlN$)gzzd)=%72atS_7ryC);SlPWUSrLHa+ z(RNK{h$mgt9m;tXtIbBY=VE?)-;*XL!8Mg-4P00QmaM`;EoFgCLnEZZ`dwkD4#n-u zc%X1=hdceYu?L~rR$(KBWk`+UWA*+_DQZFuCK&YFp5dqF;oWMvm@q-@IP{cpce*{e zgM)b+{gcMOt8+QJ@5LxBcPw7w4}?2d8Xe$+OHC4 z6!+r%_fU^2AchX6L#x`BbT@UcVwQtVy{+7=VT?WL7osWhi1J$6{yE8GTLVR+Cw4THyIDrkm|dt z(W{{kVchK!L^V>y$bf_^Kr6mee0p$RDvnfEi`!&|Ujw^hCLfq^NKr#eXesxqNe{Yc znV0Qxc~zpLX<)p_M5Jr$Or=}nq9t9_<&{deaiZGqUUFHeyNi5cnnu;uEpd~kJ23GG zui}O{BlV{|dqTa&bDQ=|@0{~+Z^n)@VChoqJE$ROyCS<#OBk3?RJc!1%XccO7ssA5 zEUBm!oQRPeAh|4r<4IM&F(_oXP4~XiuMH(Yk8Q>y+@&|&;{nFfS3i3f$oI7;DrgzVKFdZYjf_u|O_!sN2?nNQ2d&na7nm+|-} z>uv}0Wh*htDk!zyw1d`*4!T4u>O)V^)Xo);*;0PcUuXTqU)h@imR~xb(9?ivb zPixa9A?uUTbGy2mLurrLn35*7HD7^slJ$qNoX`hDoh=-b{(Eet_4l#TE8jg{ws*13 zhaLL(r1F&<$FN>N)cI%#-8jwHdZwVduLB*kK1(vxq96VAST7Y=c}>_-4mb7mSl@Tr zLrvYX*Q?gaR{v;qzPI(wvB*x^<6)93}Cz#_fx1IYeRwGivKRpR?nNPd;L)F zcl`Kw>@~cU?+aOf@mE*sArxy+9Fwlf^3UUBk6tS%=B_N$246qka`Xx9+@t90v98MN zwO+}C>B!Sj9B$6Do*0F%v%f_t>acp&FV+wh{Oi0{^;oR3b7_~gwLq0qT_5@Zao)N0&e;0yzMkIV&gRyx z?jGyUW3$=!@8hcR$S}y`V6ANv>#YAlfk*y8d-VSSHo}a*9sQ5>4!-uRn$nx28mvdg zSdP?R{dnSEqfm{+$GT!PIJ`QF7FBNiJ-p!UWUa{ejSg8mAuxd`D8cvfn@In1ERd|1 zNB3Ai%uiKJ>!tkWE^AM|cO7$am(~T>4@E+ocO_bPaT{(^&{6x#a zq^qq3MIfB52gbFcXX_oJ&iBzB_1~*l+($RLnT#kD2QXW&jgwx1W&a0g6}w+aR&G+c zgAdSW@Iktfe!BfX*P5flwQd3XD)&#?KE2jM<2ere60u_69AnEQ-+B#n z{Dw6BThiYdL*C!VkK3FsJeyr*{dIhIXsNY!0xjKZ{g2{w)dXm9A7duq>X7fS@T|>< zXZYVU!TJRv4*rNyjOWiMSkKaPGgHU!ryF??5qxD`C|C4>K`r)^33|j3a`nWyIETAA zB;>VdQ?Y&~PX3tgAY3Sng;JTdd1B^pvICVRvPH$)%6O?ZvST6}k@XV0gr6`x`Y^*y zck%a$riE2t0-*Y-I9MgoJy^a}=ZwlYDO)#uTLJp_AjT2&<#)2WK1vC($LU6%pd1?P z#Yr^l-zH%o?+bH?#OSkolCjobCt24r>9b0CxM@SKF0i5u+RmW<=M>jpDf|T$`PXz~ zzfnHx#uC4tZsOZ?<2TcdY@|DQi}HVR0`Q%`oM6R5kwX&sgOlP;AP}>I{o?|0I}jgT zn6QIU8%|?UW88_^MG-q32owa8zF^#^{}M+=CdNib^P{5^cGNeBm#Ts>C+^_wp9r0p z9dimJ_=0%M>Hor@Q}PDY78dEAYB+A5|7x8{cw28+W73D!kBURZIF05M_B(@466_0-c;hXS z7l-Kz;$xzAFc^e>amb6?1qB63ryzhhLbox=I;b5>3IfrunzJwEm*XV?k7#)n~MR9aPQ3Ux%QTSn< zU}0fVV-c^yU{MgFivoqbil8D~UMNo@!EiVnY=lD)phYJ zS~n_(9D7)$W2LchBdSGQzt(I0^R4liKdI#brU$7DlSXx!cMK)AW!^|+nljw{kyKxmZ^_!B}0$q3ggxXI6|C57KV;-sg`WLi2MoD*uah_LzR*X)z>IHQsN>HR8mB?1t5WEs&=(0ExJZYu5V}a{ zZ<+8$9e$6{VWEF2bm0;mo)CJlS<`EHP_`5up`%+g%~MpEzVRoTzF+8w(7%-U*26kHY102x(|b+) zpJ{p$dOhkFd0f*|L6d*~BsjP#g${pS(+v_oc$lWUg&sUj(^m;yG*i>xG4X}ISLm3~ zPYWI4VV1aF5jrXKJ3<$ouETK#k)WjEhvCwg$|Bp#OTc`h) z(1l;tG}bZ79ymos>9a4 z=wpOV2z|EDgF=5*=z0OsIuX|NHlf3pYI?iSNumE!=%Q{N zjw9K0`3rsEI87Jy=E#JACH~ZN9_TF0}a$AJ4NUfAgKhO+uUR z6#l>V&OAP{qTKrp%z!8t!#;vQvk6yZ%w!h95y?IiW-@8A3ES9b3Ed+PbsS*p`>@89pod_K=7 z{e7OQI(6#QcB<-BJwP6t()hhhw)-Z^VSXll+^29qvfXE~m2CG_%#iKAivLa?dr`yx zAvyk%@V7A3{oj@MBqzvU0898A z$qnSu|5EqebU*PA@&BfAXWWZ~Q>*o5&L%D$7AV z62Amau9LqSu-xA?c|Y>#R_JKsZ!tMOOL>{KlaD9Y%vO8B^47{{gXMa)A6Nbk?FI4; z);;%ayq|3MdwiN~_jP=YZ1;QIauIY1MCAJBd8my~DYa88L|@8QZjfF*zQ zepz`R@<#GJx}P{g?aRrv4az6beNCfs+4?7s(*5XCwO>Gvtx&$6?#DWm?;;nvl^?bC z9_8ogzvdX_H^{NCC~r4M?`Jfnd;mE%sJw_=n^9g$9wVOsmh`E?>1y&fM2-(BpGuxC zD4$OrD=J@N{g;%lB2SR7BNxhQ|226d`62Q+`APC5`C0Nb`89G4PI!~Q56HFT?LMXV zlOWF_*Po*94&O!u)cx1U zQ{?l>g)`KCg>_HH>6rR_&Q$xIC*8?kBRP)K?d0zm za)G>ojDcxm{}$QqD|`bPC*B$RBjkGWo0h+?_T4_M*PkNKBintS6JRM1Q!yX>j)=_Su6kC8jbIFZk|&ywRmQ9jrD zC;!O$C*Mt;BtL8Y|5W{dWc`!(z<{GXA35<){thKik$cGTYt>#P_mVe~$H=#kC&-VJ zr^#=TLyrGi`El|%`9*T=ZEAmyJWAeXKTVIC+tt1^d5nCZwcnxk#pGV{ zQt~vphder=?laa-{wlftPPLy$o+MvJ?!8Ox*IEDMJFWlUsQqE#?fjmKe zlU#eZ+PBdGs$z$Xc8LOAf^DB`PY}jq`H5^ zx+hOr_vF{e@kiDDR-e)P-ALYr9D7Xd2ayxx#pE&a67m$elU)C}`uD7Ra-J-w!ph(2 zz@2W@-+Eoa_{fe|6Sxs^6$yV)7{Y=j2K9 zJ>=dgb^jE3n*0hm@fWp!K;B5+=3n*xrpddLd!JSJwd4u%;pD_~YVWXia*AC0yxLE* zcJhVf*b8d^8M&VP8}camN$a2ds`dY(`u~W$k-Y0?^?u?nsr^9mIQcMg{U)^^NuDGh zNA7)D?E}_7`6P1e6}6v6PLRJ&9wT2$o+kg0T>n?~KTe(`-%F1FP3^xY7s$_&r^v5b z`>X2yUGfBZ>w{TdUsL-|;83hzrwmF=g2kFYCpr;$(NI-$TyRF-%$6D zkjKe?A=kgD_P5BBz+L85WU|q@=oNM_tgE~i%5oo_rZO_MzHuB-fK4AWxE?A@_cy?*B@jCVxmC z{cpAJI#=(vCbpGn-#$YgBQGM?ZlU%i`lsYJV3j@9U%FZ9lIZ|CrkMBu{OtyjXZvEOspS zDQhDa$j1xM#(QtKx-XDpvd{v5r;`guE1yS>uTs9qx<6L=YH}_4MshFt4swBfA31)U z`hS63Po5@^lHVs!khibZ_}70${qI9=A~%o=5`gtz)rE1~k0ug}1|a=z8T_zBiyw`iXx&z`U0$F9)ucL2-v=a3I3f1136?&IWDtoWcD4FHo*X9+lk3Unk(wZ`Deo{B9o7B-dAdRG?EV z$c2^4t>g*vG306bFOh3FKYcE_esA^v1M7Yp<=d_Mk10P#9^X@WtHU&YHTx)kmYmpG zc`PSF2RMFEK209WYJRH|MtDy$yms2_+tmM8$P>$yi`IXm@&@vFhw{bN{TdDbTJkjc z9_xNU-9K;bET3C`N#i?7j+1*o((vYyYqrJd5q=b2J!^? z3Cmnx@gjMe{0_N>&tsdzHNFMrk2raX>AQeD9@G2nB**3`=g6b1kIp979H;int)2Pv zMsn>5YQL8}wp#fq^7Nqc+vLJd%G-Te<2%9nV-9(0FSUP>Jl?O|L7q-2ud#OWIpoo_ z+Ak;9(*LbsJUKNYi$Ch{CS`rNQUs1L?tMPc;UgSA#^JofXFGh2!*@FTxWk(qe&698 z>z(*I+~9DJ!x@K19lqG%pE`V-!;d(;$>Db$-o7FFeB#P}`XB0Wr^5pde^uFk-WNH1 zy~Fo8{ItXGIJ|RXG`8ytSX;XgY3qQf6JyhBqozwGDm zLWf%%?smA(;q?xmbQm z!!J3!RZBE}J2`xy!-qQD>hLOu*EoEt!{<4Cslz{W_;!aU9e&B-_Z|L3YxI8ib$F4( z%N_1@xa{z`4qxH$%?{t|@M8|Y+n_;ls1Y<+UR@|Kn_ zclaiUA8>fe;c16wEj9P!hd;;RgB?D?;iDW*Ib2qrZR5Ye;cq*9g~Q_x-|z60!*4je zMVq-l|N1*S{27P8>8~u_L4Rvy;Pdhri%(r^5pd zpX%@>4*$U6n;pK};b$Cv$>BF0{?Or%FN@yq0S?b|SiXxyW9&cg6%Ma-_(X?C96rb4 z%N)Me;oBU3+~FyQUvc;&hijHc?`IE(4|4d6%6@rX;qZXNqYhu}@Q)q7!{Nsqe%ax- z9sXpyxgWp3bdbYGIDD+b!w!Gb;h#GETZf-<_#KDmtcb?%5Qm!_Ua9P-cfsK^9lpx( zf1Sg3I{c8sPdNOd!*4qLp~E#D(fixq;X@og%;BRP&MR+Y>-Y5zZ*cemhrj3W^$y>q zytNJg0f+zK@C%OrR~`Pl!|yx1Wx}M7e?K30ct?kKSN7w#pTnPb_;AO6lf%m#?sE7m z4);5pbNCd8&vf_#hc9*bN{4^!@C^?C(&4)tzTe@;9DdSanZ}i=S($E?DOH&!m8noO z{fS=E7LY9=TR~<)WXGLdYV>7a)g1 z4ugCVvKaCu$l;JLLymydLmD8BkS0hoqy^FnSpr!KX@eXIk)v6cL)sy7oN)&v0gVneLP+&Xo|E+FS)W1|rjvGPNkvg~vlqfOwEzND?v*xdHNX$c>PjApZfm8FCBc z7m!~V^s4!Hs{2DuV)73BMnt0C7w9*6v2$nPOfL!N>B8S)V1VaOwpNywv+Cm?@-JPG+D zAr&`n&$0b-+LCfPdBj{~y-@F|Sn0&iAknW<##OJ(f z!9|75OC@vI>#vwhmD{^wUVk}T^04nG_a(%x`vK4z(sbv;Ruc;xlO?-QugK@bo!N}B zM31s5xxY(bJNBf+Ia}5y`fOmO59|h*N@r!`z#=uBX+$+w8p@Q77W=tj`{@3rK6?pl zvszl6HpiV6eQh_r@S3gJ%;4%WeV9EU!&f+JI6aIF^iAvnH-kakqPAAqueRD<$xe_s zN2b)?(A1*)fOcY&VVo1E>5PM}Waq^2)y>wBVMS+pwcR?k34502up7F1#ujhw-8}>* zA2!6zZK5k-$2ep2BPB6J=v2xEmJQ|nP$t!eTS#M@ z#`5w!wr16gg)Nh@L!&p8ET>juUt#QEt9pMUNoFLf`bqIxO=*8W7<_nrx=#pB{z<(uvLE&CK|k&CJ3IEjV|`2R9)y2$T8U4 zQ=<}WEXh;E^w1zR%2|O8g#vaw#8#{*57@Od<{>%fd&ZKLof*|-G!s#Yvwm=dnmH|j z8U%(Q{me$K9=qXdBdO^4z|OdRQk2X+JGPZcY@aLp$Iob8ihYh9pZ<9$sCDF`{zm=` z0UN=VhKGW3Q$-z#lk3Nc6l#>nmAdmddBBD%XTDX9lLRcs#^td4q~0JeRn-Tbnff7; zxYmG2p^ty56gz6MMY_Kus8M-R>tPRl9%F^`rm)p4b3tTx+$K5tQN2h;uJB@>+0ob| z8k-$s2W1nljsd%~ZVFqMcjkw4s9KCetq@k$RmM;PkKB)67A03|c;=3}qzaLf7Q!J0 z_t%X>53$Q6b4zsBXDLo*2V7dS>yjg-R@vuU71*j3)wCZAYVmXvovpG}tTtEJkiF<% z!6c6)Vj+z-&Kv+p^PrvpRY1C+o`}TOzk*+9hfBL}jTV{ctwh3$)CEWiTrZK#*aC%$ zlnNY!W$zSEKk7=4+QFGfUFCG483!1`Y->Z*y4;LZ(+MF)SgSQ0O@`-Qw)=Ui)4&8z z)lBfkctxC3XR;l#r+ZNpopNzFRYq>o9hOn$mX^wv$$II|bbsDYOX^rhOKoTNIQ3Qx zXR|zpl}^NqbQEOATDyn11}GU38|Pw^@6ZM5OKh5bu&Jp{rCb^ZN2KMPDe1$QXKcbS z+y3gl{^7!5Y!z2!8=zanA}l-?$ryfk<>5lL)Cxi*qJ1NXQ{%leeL zS6-;0rE5u3J3$_aZMx8epw2R9)#@$cDa-c%)=n?fO6#GW4_}X`D97EZ)(y%S15Z)2 z#wpUHT!LdXaAGP8y8HOmiWWv1y-=yCL(><|(sf=mi`OxW%#g*yCMS!BO*V^%b#QJH zq0XBzi%X<({idM}*AsOf&V-dd7xsA8<4_ogpwS!l^j`HQ=aquGRjsJ1(K$jnsB1I_ zPROIH^EB^=vP|^CT1T)UX&NaYrFre{BF-q){7;PrrTwUADCU4MHUPE{Nl$pZTBh9s zW}_BrH===|gx!ijH6pYFD=PXl{5r);MWXMznNb#ii4nOKDzv9q`ja$GSE zTd=k+dkn2rAS0{|tjH=pbjsmC)|oli%O~W}0(Nya=h9dg(3MadM|4f*I3wc%C%P=p zuUnp8o6ZJ(M3cdB3Ia}BO>`Qyo(W`pNanA!nZuNPyNS_!&)@ys@5kH9)+8QIhQV{g zrs=E7niBIPIXY@lALaxC?K1?Pa9FI_>fGN=-)x;Nkr?YmKbT{N6XH<2f zxy*ER{M)q+v46<0xznf{xgWnPEZct1WVQiG)-nf*CzAbgqJ@7YJ(-TltzB`~35{~S zP8@Kn`-aOo4mj-~NJCppa{ZB1oXG($W6mrHY!WtVxh`xx9w>tlfhw}nUl_*RLp8k zv#s<1^@s}pk%x*)q=uP~22*=G6(JbEXi!bVtS_6UtqHeJ#*L{YRIAL+T1eH7SMT-4 zopGT^XCVy_SCRs&PW0_Ys!j9SgP{-UwaA-|9!%obGq!CDnKJU$hJUNrqPQ3=n zTHSzzneMk0y*+2sx{y&6y}zc_d7J{ru-lqZ2Bg(8(K4PT9K6K#O(#dr((N}*kDozsj55yb^_CQIJeNEkvQ|mFUHFQ6^3X(L+{eTZ z2`kM3oSOel4bnm)J~C2eqKso^D{sWUAXMC;h8byssS4UYUN_S8sxD}KE!#Gie*6Ym z**3%BsQbZ6LfRXxJnO?8x@X^y{}=A$#a0g1Fwe*4AX{PZfF6@4gMdwQZ*(>(CDq-N zKq3LRFq8?6*NSPGy%Lp&(XjwuuGU%T~-fRYuU)L5RDtY{H7AZmD%Ffnh zK{e9U`YC8AWSY%{YY8ue1mAnP5Y`)S%C6OB%97!&(dl`D2X%E?U57b&ce7P#4)Ut-}oF zm+t^4W(9SkoS!9Rt>#KAHK<5E(vV7}r2tB{4Eprp4!tdw>Ly&7*nYg|v;tWNkSR3Xn>U#|UrXQU2NTM##K&v_PRAsw{f%bXm5g{&NM zRn6R1s<4>o;RT>cqE=^4s<(Yvx!IPc=B3&{tQ@(}&e!H#;I45}C>j$~g*c-;J}!TxLyeWOkRb{5Uc?EEkr5n?el?Fw(UztrJ8Na)golW! zGiZa;#Y&B6(4;|-p(~p@NXsV7@<_Ihyerugc+8E5ddj$0zj(r@Bn!qh?UIYUY%50jhYHlNhU*ghtk!&CQ;!a0jk{W(3;J}w>Y#pBkr|YsO#h$%xXp)dY7)6 z2m>WlyVZP}q_1WynIgJ*YtmNw)tnVkvu@5dfLgbjy@Xt~Ia@hj&1#aX>UHG-7OLiq zl#UZs3%U<|lWI1cw2K}`HEW60e^t9l?*gVCs<{{p29Gx5#Ev;_#)&-IeDx$K>2)^a zLP~tK@Q0*iRw*60gVi`8ZF9w|l+I$9u37*CSwy{>QEUU&*tndpx)}BMbXq6o$?wE) zA7*b+&2`{i#wf6|0z>XqG|hRqPn#)xX#=7jj5_8uhb|$%W&W`_gM|?2mk6WphT+w) zMk8cSmrhHtQD4%OqLV~D+~RQ5e(9bxFO{JJ(|{YW_XWK!0*QGzDKYX}uZ@T|E#Ql$ z=@_p^)I`O8aYV;u4c0-bI3gXa&L#}Mqe7O+3C>uEsxp8&^m9XgF#li!SXddr!WjZs z7!E)jFo5QkE;j&CxiJu(9|Lv30J>UQn%xkL&JDsS{V?c+fneUm4MS9J5Tf%#PzMa4 zy?G%>Vh(ZBF5W_{( z%6OpS7`@t*9GNPMAKIH`qCn$SCq*U{mCENVuKlQBTBXqM2g0b-xl!>IdaY1Yx|TM~ zJV}9G%7%zruHG6p^$FYtYk{D21ZfxnhY2k@q5$1p!kg z?Uh7h-+Y&3^L@#z+8akqzn#8qcPi#3j#}cGatu#Vl7f$cWL0YEwLNz6#CxAXWlK70 zK7Umae(Nda=7#DPE(%iFf=y>(C#6L-Lt2YENNpjT3P?0To8t1@Npn%TsUFh#(F~OvQxTt1`xTu4O3xy&sXd^DaorsIdjd)0BA}$<_`20f`1SxL8MqJp5 zxTt1`xTu4O3xy&sXd^DaorsIdjd)0BA}$8*? zVEqr)cm<7J=>95f(#ljQrFEP^xu8-h*OQ9HuW&=xisqgW7CNX?DW zoE)16{xtPn@LS4cK$1TKl59@G@*WTCdt%)pcP8~mc-Yy9pF>S_!zB1&u6ASZBB z-7Q_+h!tK}bLI?hGz(UX0&Dt+zQVRYAvZm_OxUmKz2*x#dFgk1W8RU8hGi|L+iHK? z(y11+(5BAX@IaCn6*JG?TWxv_Qt{V?syYj{suOmqI#IdF#9)G|P8`|HK%=ed#N9j?Jx|@0lzvD>3lE zbhb+KZA2x{L0%G2TF{vQm=}pE8Z7!*n=blJnS*?0{_&aij)s@d zd0G6xRF?4aOkXisM5_?hwdJrhFO5N)RJvK#?b$U_n5D#1S)E>w`^EL<;#XM*sGB<4 z+dEcxSZeL9Y*^mYg4^sH&aUxNW;oEpfE7F@vx9Z*=@h!@Ytl*TX~zh?5}pO7^owbUS{@@stA`MM-b+aaj>Az&V2P(ZJ>x^7kI8QJG*^nU zEYi}njCmPZ@G0{fSd1SUC^ch;vI0k^&oC#*c^zFpG`GAOj}S4C5&7_9qR5Ob-R95? zbqz}*n{*1TQt)Tt=lb{O#}t95b8E4VScg76Gvp|jE2c^ryaok|Qc5-HlsK)!%Hr-M zW<~lkI)#_Yg zRgziSGzM=q+LA|PZi@=JeVvWb*!$@MpD5Nc6@{x}FbBgCp)6wp&h&d_J8uoeeB{um z2E}8&QJT4V6z9|$M#2p5$f&PLO(AIuhhgPKOE#V*4~yN>NeqfqTJS2G94v|rmv7A! zOJ%e}`a%qa)HcgA_}avn{qXqkG>P#AjVHr->SQ2aOr>o!O>A3mQO+$OzuCLa=JRXp z47uF1xxK(VtZNZe(Vy-c=KNe)UcyytetMZazI~BE*Q7_X`9Ytnd=E7D^&!Dd+V^WBeCnI=zEpO&^ zPC+F%$h9rVaArbW{FgiiOI6vdJ4c~Tna~SsQl)vQ6s-@MrBaoPS23G#C6c-xPM*t* z!B^-RZVZhKGNN=z8A404DC<-tVRc2Fd7$D7d7n%BWlaPpj?5wnbvS5-0Giaz&`3gR zrA(^I>&MC(&}n;Cf|QaH(#o% z(rV0)`wLWzC78}$(S^U|;&i30EvO=M=oCt?X{aERZs@jWaz{5c$dwQ+vB-qKm@uf> zjb=}k2vggM2CVAWB`@Mu5-$&*$SgKTQ?2u%j^h#o zza*O0`*f^Jqk|=0RGXDS?i!V_&920eK0!6TykPqeI_gNf65$0i|C3z;^H<(TF5o(T z^{0;m=42RxWE{zq)vdY5hf<94HZ`xv; zIfFcaU{F4yJu2jLhSr{3&uS#Je2%tY!R}Jbo@a@%RE+eZ#wb$Z%VDC+q z*ztPO=A!Y-$cj2q`K3KrlM+z}@$;9$s>f;(3F-+6r^@ms29aCK1;vb~s!<6ivlXRv zGxv_Xf&L9J)O%HyH>R6$|MYrVWnJ9piG^Em6VcQrHd$j@$4eE7tOJ-RxM|+`Gu*%mv7O< z?7Wh$?+r&CfdnNih?2x#@_{X5;;d?xfU&zcTq-x@(7%?q0bVUg5Y8lP%KF8Zy$x~A zHWpJ5gK0m@JIY9&c5MC%61{lXirCGl^n+{Y?r8KHN~uf+ADW|H_Ik?ljbLMU2gVt| z-FaiAx~ZkJ+iU1I&1H99-nP2UCxu3D?kHSn%qVcCAJeg>I>x}Ac$d6n3Y?fVW2s)g z9u+p@#ZsjsF^$EJJHe(ec&^s(15`1DeId@K%VMt{whfz}O{K;Of4G2`2@QoYL`5o} z?}tXXO-yWusFD3KU)fXAve-D%BcI?i6zRvgA&YJW`rFclx9K4*9MWP2H6N>3n;RJ_ zTqBb;HHgxNASu8nOII@77foMix-m#1+UWfwf63=Z(9>_AkZ>{8-O}ml#}y^!8w}g_ za3BdY-x$z9=8;J=qt^i+)k{TaEOvz24B6P>X&JSa(ZFmOZW>2AGW}+J03FB9qotp3 zM<{vKKrhBlS+S$JJ8CeC6)P;b{R*8fwx2N|H90|H^+Fj7PlIp}`$1$KB!R!W5OF~@ zC@=Tz>7mpRMy5o=GR$swV%fZT{47tFK`7$Am|whS)}rf#rU>sTXfzWTDF$0-XrBCO z5iFV;8FFnp!QxM5n7}#0$T09|u$x5$fhx_S3Jwp4G#rr* zX@WRuZ2Y@K-q7U;#xaW-T%(Q{wlOlnnfY_$ND3WXG-4|bW>Qt7Aa!N)$g=^46T=S2 z>qIbJq3kr`9R`CYk=v znFZHv=nSk6ENw_>e65y^MglR_cPw+02z!PwF_kim<+|uQSVxj&kV}kVxMa$oHA(PN zRU+WPy;ag*g)JPmxJA>K3E!~XY~V?XxS4q{*KAuUmowwbyr6bJBRRJXAMxYE#r`&# zc$dP_Rzl|sqg(dzB6OXq7bC`dWegQMeJwRUR>;JCelTN0FjtgIw_)9~aUpldf?&E1 zRz2KDtr^5ur=klL5;O$L^2nDpW5&%oV}_1+^*>V%(gXoWB1LYx(~k9q9(kY(=VjE9 z7$XQKL(RqI!xNTIGegEWp@$HC9FkPlhM#f=k!XnB3`Ym~MD3Dz`jSlVrg~~wj|$Ib z_8IOpta57=ZCDtZ0+Og>88wjMjJ{qiBJ;mUN$3;|j-C(0zw34A#yJw0pE zHz|FwwK_}^V^5{7w{6;q;;^g<6qk~!ctu|!pPGS>#Jcv-?S|&< z!etTNIs25`ODWsRuZONh<{D?h@)Xv3~o*Gg69giW6%5^UoLdQB$3cwV1OqKUJ#e#PQp z24yH!7{Meb3caCHx@-v}VR$)&$r~`k6(0HuRx>!9G`qp+PA=GiO@Ek}^0&+}c`;;6m?sUdd_W^}L_>&XNnW@VWL`;s6)@tgzt&-&D*P%JQ>#%$ v$$xpbl>Y_sRW4@bCh*^PfZs+@mX^^>UiFV;`{87`4^!}F#|7Eh6o3B@(kEfK literal 0 HcmV?d00001 From 9547e0ff45cf4da7e829714e9efeb18279ee72cd Mon Sep 17 00:00:00 2001 From: Lance Andersen Date: Mon, 6 Oct 2014 12:56:54 -0400 Subject: [PATCH 50/83] 8059570: Addition of tests for RowSetFactory and RowSetProvider Reviewed-by: dfuchs --- jdk/test/javax/sql/testng/jars/badFactory.jar | Bin 0 -> 669 bytes .../javax/sql/testng/jars/goodFactory.jar | Bin 0 -> 666 bytes .../test/rowset/RowSetFactoryTests.java | 119 + .../test/rowset/RowSetProviderTests.java | 189 ++ .../sql/testng/util/StubCachedRowSetImpl.java | 1848 ++++++++++++++++ .../testng/util/StubFilteredRowSetImpl.java | 1892 ++++++++++++++++ .../sql/testng/util/StubJdbcRowSetImpl.java | 1672 ++++++++++++++ .../sql/testng/util/StubJoinRowSetImpl.java | 1962 +++++++++++++++++ .../sql/testng/util/StubRowSetFactory.java | 60 + .../sql/testng/util/StubWebRowSetImpl.java | 1879 ++++++++++++++++ 10 files changed, 9621 insertions(+) create mode 100644 jdk/test/javax/sql/testng/jars/badFactory.jar create mode 100644 jdk/test/javax/sql/testng/jars/goodFactory.jar create mode 100644 jdk/test/javax/sql/testng/test/rowset/RowSetFactoryTests.java create mode 100644 jdk/test/javax/sql/testng/test/rowset/RowSetProviderTests.java create mode 100644 jdk/test/javax/sql/testng/util/StubCachedRowSetImpl.java create mode 100644 jdk/test/javax/sql/testng/util/StubFilteredRowSetImpl.java create mode 100644 jdk/test/javax/sql/testng/util/StubJdbcRowSetImpl.java create mode 100644 jdk/test/javax/sql/testng/util/StubJoinRowSetImpl.java create mode 100644 jdk/test/javax/sql/testng/util/StubRowSetFactory.java create mode 100644 jdk/test/javax/sql/testng/util/StubWebRowSetImpl.java diff --git a/jdk/test/javax/sql/testng/jars/badFactory.jar b/jdk/test/javax/sql/testng/jars/badFactory.jar new file mode 100644 index 0000000000000000000000000000000000000000..7c14c4b8b6a2e36977afcda23d61144bc4e069a5 GIT binary patch literal 669 zcmWIWW@Zs#;Nak3(421N%76qo8CV#6T|*poJ^kGD|D9rBU}gyLX6FE@V1gNfYXq*(j{<{BKL=j-;__snS@Z(Y5MyxzK6=gyqp9At3C_`%a6JuhD!Pv48Bt5`TA zUPvC1o}rcTLtItu`4TOQ=i;JI#8sy;OwImO^s$H$?1(pOCssQHt#AQikR!Ml7=RAb zNArOYvLlL9i^?*SQ;YQxjz(8+fK`1~Vp(E^UU6ZLUQvE|acYTPP=0xEYKdE7a!Gzs zrMB+LGZ(q_G<~^F>GS*P7JB>Woz!3TgbD0SJ%K;&l0ZYn!Omo45@A3MYFIdef*KXT z!wwYi0p6%uk$n#eXaukYGT~a0f*oW67X$84LYQy}*#x98L%0AGYRDb~g&G2U0y5z) afa}K}h5_EJY# toCollection() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Collection toCollection(int column) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Collection toCollection(String column) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public SyncProvider getSyncProvider() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setSyncProvider(String provider) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int size() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMetaData(RowSetMetaData md) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public ResultSet getOriginal() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public ResultSet getOriginalRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setOriginalRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getTableName() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTableName(String tabName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int[] getKeyColumns() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setKeyColumns(int[] keys) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public RowSet createShared() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public CachedRowSet createCopy() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public CachedRowSet createCopySchema() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public CachedRowSet createCopyNoConstraints() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public RowSetWarning getRowSetWarnings() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getShowDeleted() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setShowDeleted(boolean b) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void commit() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void rollback() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void rollback(Savepoint s) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void rowSetPopulated(RowSetEvent event, int numRows) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void populate(ResultSet rs, int startRow) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setPageSize(int size) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getPageSize() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean nextPage() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean previousPage() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getUrl() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setUrl(String url) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getDataSourceName() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDataSourceName(String name) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getUsername() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setUsername(String name) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getPassword() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setPassword(String password) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getTransactionIsolation() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTransactionIsolation(int level) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Map> getTypeMap() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTypeMap(Map> map) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getCommand() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCommand(String cmd) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isReadOnly() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setReadOnly(boolean value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getMaxFieldSize() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMaxFieldSize(int max) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getMaxRows() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMaxRows(int max) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getEscapeProcessing() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setEscapeProcessing(boolean enable) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getQueryTimeout() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setQueryTimeout(int seconds) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setType(int type) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setConcurrency(int concurrency) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(int parameterIndex, int sqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(String parameterName, int sqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(int paramIndex, int sqlType, String typeName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(String parameterName, int sqlType, String typeName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBoolean(int parameterIndex, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBoolean(String parameterName, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setByte(int parameterIndex, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setByte(String parameterName, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setShort(int parameterIndex, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setShort(String parameterName, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setInt(int parameterIndex, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setInt(String parameterName, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setLong(int parameterIndex, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setLong(String parameterName, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFloat(int parameterIndex, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFloat(String parameterName, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDouble(int parameterIndex, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDouble(String parameterName, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBigDecimal(String parameterName, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setString(int parameterIndex, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setString(String parameterName, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBytes(int parameterIndex, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBytes(String parameterName, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(int parameterIndex, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(int parameterIndex, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(String parameterName, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(String parameterName, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(String parameterName, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(String parameterName, Reader reader, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(String parameterName, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(String parameterName, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(String parameterName, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(String parameterName, Object x, int targetSqlType, int scale) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(String parameterName, Object x, int targetSqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(String parameterName, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(int parameterIndex, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setRef(int i, Ref x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(int i, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(String parameterName, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(String parameterName, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(String parameterName, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(int i, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(int parameterIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(int parameterIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(String parameterName, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(String parameterName, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(String parameterName, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setArray(int i, Array x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(String parameterName, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(String parameterName, Date x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(String parameterName, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(String parameterName, Time x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(String parameterName, Timestamp x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void clearParameters() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void execute() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void addRowSetListener(RowSetListener listener) { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void removeRowSetListener(RowSetListener listener) { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setSQLXML(String parameterName, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setRowId(int parameterIndex, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setRowId(String parameterName, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNString(int parameterIndex, String value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNString(String parameterName, String value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(String parameterName, Reader value, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(String parameterName, Reader value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(String parameterName, NClob value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(String parameterName, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(String parameterName, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(int parameterIndex, NClob value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(int parameterIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setURL(int parameterIndex, URL x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean next() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void close() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean wasNull() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getString(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getBoolean(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte getByte(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public short getShort(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getInt(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public long getLong(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public float getFloat(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public double getDouble(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte[] getBytes(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getAsciiStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getUnicodeStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getBinaryStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getString(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getBoolean(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte getByte(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public short getShort(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getInt(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public long getLong(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public float getFloat(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public double getDouble(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(String columnLabel, int scale) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte[] getBytes(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getAsciiStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getUnicodeStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getBinaryStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public SQLWarning getWarnings() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void clearWarnings() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getCursorName() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public ResultSetMetaData getMetaData() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int findColumn(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getCharacterStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getCharacterStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isBeforeFirst() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isAfterLast() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isFirst() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isLast() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void beforeFirst() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void afterLast() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean first() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean last() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean absolute(int row) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean relative(int rows) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean previous() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFetchDirection(int direction) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getFetchDirection() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFetchSize(int rows) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getFetchSize() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getType() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getConcurrency() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean rowUpdated() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean rowInserted() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean rowDeleted() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNull(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBoolean(int columnIndex, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateByte(int columnIndex, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateShort(int columnIndex, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateInt(int columnIndex, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateLong(int columnIndex, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateFloat(int columnIndex, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDouble(int columnIndex, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateString(int columnIndex, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBytes(int columnIndex, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDate(int columnIndex, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTime(int columnIndex, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(int columnIndex, Object x, int scaleOrLength) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(int columnIndex, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNull(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBoolean(String columnLabel, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateByte(String columnLabel, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateShort(String columnLabel, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateInt(String columnLabel, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateLong(String columnLabel, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateFloat(String columnLabel, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDouble(String columnLabel, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBigDecimal(String columnLabel, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateString(String columnLabel, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBytes(String columnLabel, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDate(String columnLabel, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTime(String columnLabel, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTimestamp(String columnLabel, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(String columnLabel, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(String columnLabel, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(String columnLabel, Reader reader, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(String columnLabel, Object x, int scaleOrLength) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(String columnLabel, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void insertRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void deleteRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void refreshRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void cancelRowUpdates() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void moveToInsertRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void moveToCurrentRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Statement getStatement() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(int columnIndex, Map> map) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Ref getRef(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Blob getBlob(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Clob getClob(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Array getArray(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(String columnLabel, Map> map) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Ref getRef(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Blob getBlob(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Clob getClob(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Array getArray(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(int columnIndex, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(String columnLabel, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(int columnIndex, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(String columnLabel, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(String columnLabel, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public URL getURL(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public URL getURL(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRef(int columnIndex, Ref x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRef(String columnLabel, Ref x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(int columnIndex, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(String columnLabel, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(int columnIndex, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(String columnLabel, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateArray(int columnIndex, Array x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateArray(String columnLabel, Array x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public RowId getRowId(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public RowId getRowId(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRowId(int columnIndex, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRowId(String columnLabel, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getHoldability() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isClosed() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNString(int columnIndex, String nString) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNString(String columnLabel, String nString) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(int columnIndex, NClob nClob) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(String columnLabel, NClob nClob) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public NClob getNClob(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public NClob getNClob(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public SQLXML getSQLXML(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public SQLXML getSQLXML(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateSQLXML(String columnLabel, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getNString(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getNString(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getNCharacterStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getNCharacterStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(int columnIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(int columnIndex, Reader x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(int columnIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(int columnIndex, Reader x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(String columnLabel, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(String columnLabel, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(int columnIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(int columnIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public T getObject(int columnIndex, Class type) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public T getObject(String columnLabel, Class type) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public T unwrap(Class iface) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isWrapperFor(Class iface) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(int columnIdx) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(int[] columnIdxes) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(String columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(String[] columnNames) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int[] getMatchColumnIndexes() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String[] getMatchColumnNames() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(int columnIdx) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(int[] columnIdxes) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(String columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(String[] columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + +} diff --git a/jdk/test/javax/sql/testng/util/StubFilteredRowSetImpl.java b/jdk/test/javax/sql/testng/util/StubFilteredRowSetImpl.java new file mode 100644 index 00000000000..8fcbfa4c085 --- /dev/null +++ b/jdk/test/javax/sql/testng/util/StubFilteredRowSetImpl.java @@ -0,0 +1,1892 @@ +/* + * Copyright (c) 2014, 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 util; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.Reader; +import java.io.Writer; +import java.math.BigDecimal; +import java.net.URL; +import java.sql.Array; +import java.sql.Blob; +import java.sql.Clob; +import java.sql.Connection; +import java.sql.Date; +import java.sql.NClob; +import java.sql.Ref; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.RowId; +import java.sql.SQLException; +import java.sql.SQLWarning; +import java.sql.SQLXML; +import java.sql.Savepoint; +import java.sql.Statement; +import java.sql.Time; +import java.sql.Timestamp; +import java.util.Calendar; +import java.util.Collection; +import java.util.Map; +import javax.sql.RowSet; +import javax.sql.RowSetEvent; +import javax.sql.RowSetListener; +import javax.sql.RowSetMetaData; +import javax.sql.rowset.CachedRowSet; +import javax.sql.rowset.FilteredRowSet; +import javax.sql.rowset.Predicate; +import javax.sql.rowset.RowSetWarning; +import javax.sql.rowset.spi.SyncProvider; +import javax.sql.rowset.spi.SyncProviderException; + +public class StubFilteredRowSetImpl implements FilteredRowSet { + + public StubFilteredRowSetImpl() { + } + + @Override + public void setFilter(Predicate p) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Predicate getFilter() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void readXml(Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void readXml(InputStream iStream) throws SQLException, IOException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void writeXml(ResultSet rs, Writer writer) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void writeXml(ResultSet rs, OutputStream oStream) throws SQLException, IOException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void writeXml(Writer writer) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void writeXml(OutputStream oStream) throws SQLException, IOException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void populate(ResultSet data) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void execute(Connection conn) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void acceptChanges() throws SyncProviderException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void acceptChanges(Connection con) throws SyncProviderException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void restoreOriginal() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void release() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void undoDelete() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void undoInsert() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void undoUpdate() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean columnUpdated(int idx) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean columnUpdated(String columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Collection toCollection() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Collection toCollection(int column) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Collection toCollection(String column) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public SyncProvider getSyncProvider() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setSyncProvider(String provider) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int size() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMetaData(RowSetMetaData md) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public ResultSet getOriginal() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public ResultSet getOriginalRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setOriginalRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getTableName() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTableName(String tabName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int[] getKeyColumns() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setKeyColumns(int[] keys) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public RowSet createShared() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public CachedRowSet createCopy() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public CachedRowSet createCopySchema() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public CachedRowSet createCopyNoConstraints() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public RowSetWarning getRowSetWarnings() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getShowDeleted() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setShowDeleted(boolean b) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void commit() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void rollback() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void rollback(Savepoint s) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void rowSetPopulated(RowSetEvent event, int numRows) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void populate(ResultSet rs, int startRow) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setPageSize(int size) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getPageSize() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean nextPage() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean previousPage() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getUrl() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setUrl(String url) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getDataSourceName() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDataSourceName(String name) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getUsername() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setUsername(String name) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getPassword() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setPassword(String password) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getTransactionIsolation() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTransactionIsolation(int level) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Map> getTypeMap() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTypeMap(Map> map) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getCommand() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCommand(String cmd) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isReadOnly() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setReadOnly(boolean value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getMaxFieldSize() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMaxFieldSize(int max) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getMaxRows() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMaxRows(int max) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getEscapeProcessing() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setEscapeProcessing(boolean enable) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getQueryTimeout() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setQueryTimeout(int seconds) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setType(int type) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setConcurrency(int concurrency) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(int parameterIndex, int sqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(String parameterName, int sqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(int paramIndex, int sqlType, String typeName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(String parameterName, int sqlType, String typeName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBoolean(int parameterIndex, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBoolean(String parameterName, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setByte(int parameterIndex, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setByte(String parameterName, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setShort(int parameterIndex, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setShort(String parameterName, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setInt(int parameterIndex, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setInt(String parameterName, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setLong(int parameterIndex, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setLong(String parameterName, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFloat(int parameterIndex, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFloat(String parameterName, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDouble(int parameterIndex, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDouble(String parameterName, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBigDecimal(String parameterName, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setString(int parameterIndex, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setString(String parameterName, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBytes(int parameterIndex, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBytes(String parameterName, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(int parameterIndex, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(int parameterIndex, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(String parameterName, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(String parameterName, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(String parameterName, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(String parameterName, Reader reader, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(String parameterName, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(String parameterName, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(String parameterName, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(String parameterName, Object x, int targetSqlType, int scale) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(String parameterName, Object x, int targetSqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(String parameterName, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(int parameterIndex, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setRef(int i, Ref x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(int i, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(String parameterName, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(String parameterName, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(String parameterName, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(int i, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(int parameterIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(int parameterIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(String parameterName, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(String parameterName, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(String parameterName, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setArray(int i, Array x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(String parameterName, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(String parameterName, Date x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(String parameterName, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(String parameterName, Time x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(String parameterName, Timestamp x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void clearParameters() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void execute() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void addRowSetListener(RowSetListener listener) { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void removeRowSetListener(RowSetListener listener) { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setSQLXML(String parameterName, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setRowId(int parameterIndex, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setRowId(String parameterName, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNString(int parameterIndex, String value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNString(String parameterName, String value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(String parameterName, Reader value, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(String parameterName, Reader value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(String parameterName, NClob value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(String parameterName, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(String parameterName, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(int parameterIndex, NClob value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(int parameterIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setURL(int parameterIndex, URL x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean next() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void close() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean wasNull() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getString(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getBoolean(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte getByte(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public short getShort(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getInt(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public long getLong(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public float getFloat(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public double getDouble(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte[] getBytes(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getAsciiStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getUnicodeStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getBinaryStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getString(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getBoolean(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte getByte(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public short getShort(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getInt(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public long getLong(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public float getFloat(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public double getDouble(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(String columnLabel, int scale) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte[] getBytes(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getAsciiStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getUnicodeStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getBinaryStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public SQLWarning getWarnings() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void clearWarnings() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getCursorName() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public ResultSetMetaData getMetaData() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int findColumn(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getCharacterStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getCharacterStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isBeforeFirst() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isAfterLast() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isFirst() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isLast() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void beforeFirst() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void afterLast() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean first() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean last() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean absolute(int row) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean relative(int rows) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean previous() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFetchDirection(int direction) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getFetchDirection() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFetchSize(int rows) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getFetchSize() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getType() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getConcurrency() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean rowUpdated() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean rowInserted() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean rowDeleted() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNull(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBoolean(int columnIndex, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateByte(int columnIndex, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateShort(int columnIndex, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateInt(int columnIndex, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateLong(int columnIndex, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateFloat(int columnIndex, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDouble(int columnIndex, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateString(int columnIndex, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBytes(int columnIndex, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDate(int columnIndex, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTime(int columnIndex, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(int columnIndex, Object x, int scaleOrLength) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(int columnIndex, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNull(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBoolean(String columnLabel, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateByte(String columnLabel, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateShort(String columnLabel, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateInt(String columnLabel, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateLong(String columnLabel, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateFloat(String columnLabel, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDouble(String columnLabel, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBigDecimal(String columnLabel, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateString(String columnLabel, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBytes(String columnLabel, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDate(String columnLabel, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTime(String columnLabel, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTimestamp(String columnLabel, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(String columnLabel, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(String columnLabel, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(String columnLabel, Reader reader, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(String columnLabel, Object x, int scaleOrLength) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(String columnLabel, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void insertRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void deleteRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void refreshRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void cancelRowUpdates() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void moveToInsertRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void moveToCurrentRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Statement getStatement() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(int columnIndex, Map> map) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Ref getRef(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Blob getBlob(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Clob getClob(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Array getArray(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(String columnLabel, Map> map) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Ref getRef(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Blob getBlob(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Clob getClob(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Array getArray(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(int columnIndex, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(String columnLabel, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(int columnIndex, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(String columnLabel, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(String columnLabel, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public URL getURL(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public URL getURL(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRef(int columnIndex, Ref x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRef(String columnLabel, Ref x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(int columnIndex, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(String columnLabel, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(int columnIndex, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(String columnLabel, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateArray(int columnIndex, Array x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateArray(String columnLabel, Array x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public RowId getRowId(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public RowId getRowId(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRowId(int columnIndex, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRowId(String columnLabel, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getHoldability() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isClosed() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNString(int columnIndex, String nString) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNString(String columnLabel, String nString) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(int columnIndex, NClob nClob) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(String columnLabel, NClob nClob) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public NClob getNClob(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public NClob getNClob(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public SQLXML getSQLXML(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public SQLXML getSQLXML(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateSQLXML(String columnLabel, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getNString(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getNString(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getNCharacterStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getNCharacterStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(int columnIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(int columnIndex, Reader x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(int columnIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(int columnIndex, Reader x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(String columnLabel, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(String columnLabel, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(int columnIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(int columnIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public T getObject(int columnIndex, Class type) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public T getObject(String columnLabel, Class type) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public T unwrap(Class iface) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isWrapperFor(Class iface) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(int columnIdx) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(int[] columnIdxes) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(String columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(String[] columnNames) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int[] getMatchColumnIndexes() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String[] getMatchColumnNames() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(int columnIdx) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(int[] columnIdxes) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(String columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(String[] columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } +} diff --git a/jdk/test/javax/sql/testng/util/StubJdbcRowSetImpl.java b/jdk/test/javax/sql/testng/util/StubJdbcRowSetImpl.java new file mode 100644 index 00000000000..ec59eb6c556 --- /dev/null +++ b/jdk/test/javax/sql/testng/util/StubJdbcRowSetImpl.java @@ -0,0 +1,1672 @@ +/* + * Copyright (c) 2014, 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 util; + +import java.io.InputStream; +import java.io.Reader; +import java.math.BigDecimal; +import java.net.URL; +import java.sql.Array; +import java.sql.Blob; +import java.sql.Clob; +import java.sql.Date; +import java.sql.NClob; +import java.sql.Ref; +import java.sql.ResultSetMetaData; +import java.sql.RowId; +import java.sql.SQLException; +import java.sql.SQLWarning; +import java.sql.SQLXML; +import java.sql.Savepoint; +import java.sql.Statement; +import java.sql.Time; +import java.sql.Timestamp; +import java.util.Calendar; +import java.util.Map; +import javax.sql.RowSetListener; +import javax.sql.rowset.JdbcRowSet; +import javax.sql.rowset.RowSetWarning; + +public class StubJdbcRowSetImpl implements JdbcRowSet { + + @Override + public boolean getShowDeleted() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setShowDeleted(boolean b) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public RowSetWarning getRowSetWarnings() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void commit() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getAutoCommit() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAutoCommit(boolean autoCommit) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void rollback() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void rollback(Savepoint s) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getUrl() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setUrl(String url) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getDataSourceName() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDataSourceName(String name) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getUsername() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setUsername(String name) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getPassword() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setPassword(String password) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getTransactionIsolation() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTransactionIsolation(int level) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Map> getTypeMap() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTypeMap(Map> map) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getCommand() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCommand(String cmd) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isReadOnly() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setReadOnly(boolean value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getMaxFieldSize() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMaxFieldSize(int max) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getMaxRows() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMaxRows(int max) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getEscapeProcessing() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setEscapeProcessing(boolean enable) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getQueryTimeout() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setQueryTimeout(int seconds) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setType(int type) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setConcurrency(int concurrency) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(int parameterIndex, int sqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(String parameterName, int sqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(int paramIndex, int sqlType, String typeName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(String parameterName, int sqlType, String typeName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBoolean(int parameterIndex, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBoolean(String parameterName, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setByte(int parameterIndex, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setByte(String parameterName, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setShort(int parameterIndex, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setShort(String parameterName, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setInt(int parameterIndex, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setInt(String parameterName, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setLong(int parameterIndex, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setLong(String parameterName, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFloat(int parameterIndex, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFloat(String parameterName, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDouble(int parameterIndex, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDouble(String parameterName, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBigDecimal(String parameterName, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setString(int parameterIndex, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setString(String parameterName, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBytes(int parameterIndex, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBytes(String parameterName, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(int parameterIndex, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(int parameterIndex, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(String parameterName, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(String parameterName, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(String parameterName, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(String parameterName, Reader reader, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(String parameterName, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(String parameterName, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(String parameterName, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(String parameterName, Object x, int targetSqlType, int scale) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(String parameterName, Object x, int targetSqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(String parameterName, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(int parameterIndex, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setRef(int i, Ref x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(int i, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(String parameterName, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(String parameterName, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(String parameterName, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(int i, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(int parameterIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(int parameterIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(String parameterName, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(String parameterName, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(String parameterName, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setArray(int i, Array x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(String parameterName, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(String parameterName, Date x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(String parameterName, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(String parameterName, Time x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(String parameterName, Timestamp x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void clearParameters() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void execute() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void addRowSetListener(RowSetListener listener) { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void removeRowSetListener(RowSetListener listener) { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setSQLXML(String parameterName, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setRowId(int parameterIndex, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setRowId(String parameterName, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNString(int parameterIndex, String value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNString(String parameterName, String value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(String parameterName, Reader value, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(String parameterName, Reader value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(String parameterName, NClob value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(String parameterName, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(String parameterName, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(int parameterIndex, NClob value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(int parameterIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setURL(int parameterIndex, URL x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean next() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void close() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean wasNull() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getString(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getBoolean(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte getByte(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public short getShort(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getInt(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public long getLong(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public float getFloat(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public double getDouble(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte[] getBytes(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getAsciiStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getUnicodeStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getBinaryStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getString(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getBoolean(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte getByte(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public short getShort(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getInt(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public long getLong(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public float getFloat(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public double getDouble(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(String columnLabel, int scale) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte[] getBytes(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getAsciiStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getUnicodeStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getBinaryStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public SQLWarning getWarnings() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void clearWarnings() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getCursorName() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public ResultSetMetaData getMetaData() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int findColumn(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getCharacterStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getCharacterStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isBeforeFirst() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isAfterLast() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isFirst() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isLast() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void beforeFirst() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void afterLast() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean first() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean last() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean absolute(int row) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean relative(int rows) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean previous() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFetchDirection(int direction) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getFetchDirection() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFetchSize(int rows) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getFetchSize() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getType() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getConcurrency() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean rowUpdated() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean rowInserted() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean rowDeleted() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNull(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBoolean(int columnIndex, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateByte(int columnIndex, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateShort(int columnIndex, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateInt(int columnIndex, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateLong(int columnIndex, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateFloat(int columnIndex, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDouble(int columnIndex, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateString(int columnIndex, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBytes(int columnIndex, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDate(int columnIndex, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTime(int columnIndex, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(int columnIndex, Object x, int scaleOrLength) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(int columnIndex, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNull(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBoolean(String columnLabel, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateByte(String columnLabel, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateShort(String columnLabel, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateInt(String columnLabel, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateLong(String columnLabel, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateFloat(String columnLabel, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDouble(String columnLabel, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBigDecimal(String columnLabel, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateString(String columnLabel, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBytes(String columnLabel, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDate(String columnLabel, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTime(String columnLabel, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTimestamp(String columnLabel, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(String columnLabel, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(String columnLabel, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(String columnLabel, Reader reader, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(String columnLabel, Object x, int scaleOrLength) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(String columnLabel, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void insertRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void deleteRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void refreshRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void cancelRowUpdates() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void moveToInsertRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void moveToCurrentRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Statement getStatement() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(int columnIndex, Map> map) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Ref getRef(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Blob getBlob(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Clob getClob(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Array getArray(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(String columnLabel, Map> map) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Ref getRef(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Blob getBlob(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Clob getClob(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Array getArray(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(int columnIndex, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(String columnLabel, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(int columnIndex, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(String columnLabel, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(String columnLabel, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public URL getURL(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public URL getURL(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRef(int columnIndex, Ref x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRef(String columnLabel, Ref x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(int columnIndex, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(String columnLabel, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(int columnIndex, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(String columnLabel, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateArray(int columnIndex, Array x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateArray(String columnLabel, Array x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public RowId getRowId(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public RowId getRowId(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRowId(int columnIndex, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRowId(String columnLabel, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getHoldability() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isClosed() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNString(int columnIndex, String nString) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNString(String columnLabel, String nString) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(int columnIndex, NClob nClob) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(String columnLabel, NClob nClob) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public NClob getNClob(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public NClob getNClob(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public SQLXML getSQLXML(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public SQLXML getSQLXML(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateSQLXML(String columnLabel, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getNString(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getNString(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getNCharacterStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getNCharacterStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(int columnIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(int columnIndex, Reader x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(int columnIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(int columnIndex, Reader x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(String columnLabel, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(String columnLabel, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(int columnIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(int columnIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public T getObject(int columnIndex, Class type) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public T getObject(String columnLabel, Class type) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public T unwrap(Class iface) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isWrapperFor(Class iface) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(int columnIdx) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(int[] columnIdxes) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(String columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(String[] columnNames) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int[] getMatchColumnIndexes() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String[] getMatchColumnNames() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(int columnIdx) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(int[] columnIdxes) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(String columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(String[] columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + +} diff --git a/jdk/test/javax/sql/testng/util/StubJoinRowSetImpl.java b/jdk/test/javax/sql/testng/util/StubJoinRowSetImpl.java new file mode 100644 index 00000000000..c7ece7cd523 --- /dev/null +++ b/jdk/test/javax/sql/testng/util/StubJoinRowSetImpl.java @@ -0,0 +1,1962 @@ +/* + * Copyright (c) 2014, 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 util; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.Reader; +import java.io.Writer; +import java.math.BigDecimal; +import java.net.URL; +import java.sql.Array; +import java.sql.Blob; +import java.sql.Clob; +import java.sql.Connection; +import java.sql.Date; +import java.sql.NClob; +import java.sql.Ref; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.RowId; +import java.sql.SQLException; +import java.sql.SQLWarning; +import java.sql.SQLXML; +import java.sql.Savepoint; +import java.sql.Statement; +import java.sql.Time; +import java.sql.Timestamp; +import java.util.Calendar; +import java.util.Collection; +import java.util.Map; +import javax.sql.RowSet; +import javax.sql.RowSetEvent; +import javax.sql.RowSetListener; +import javax.sql.RowSetMetaData; +import javax.sql.rowset.CachedRowSet; +import javax.sql.rowset.JoinRowSet; +import javax.sql.rowset.Joinable; +import javax.sql.rowset.RowSetWarning; +import javax.sql.rowset.spi.SyncProvider; +import javax.sql.rowset.spi.SyncProviderException; + +class StubJoinRowSetImpl implements JoinRowSet { + + public StubJoinRowSetImpl() { + } + + @Override + public void addRowSet(Joinable rowset) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void addRowSet(RowSet rowset, int columnIdx) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void addRowSet(RowSet rowset, String columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void addRowSet(RowSet[] rowset, int[] columnIdx) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void addRowSet(RowSet[] rowset, String[] columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Collection getRowSets() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String[] getRowSetNames() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public CachedRowSet toCachedRowSet() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean supportsCrossJoin() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean supportsInnerJoin() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean supportsLeftOuterJoin() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean supportsRightOuterJoin() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean supportsFullJoin() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setJoinType(int joinType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getWhereClause() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getJoinType() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void readXml(Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void readXml(InputStream iStream) throws SQLException, IOException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void writeXml(ResultSet rs, Writer writer) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void writeXml(ResultSet rs, OutputStream oStream) throws SQLException, IOException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void writeXml(Writer writer) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void writeXml(OutputStream oStream) throws SQLException, IOException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void populate(ResultSet data) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void execute(Connection conn) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void acceptChanges() throws SyncProviderException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void acceptChanges(Connection con) throws SyncProviderException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void restoreOriginal() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void release() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void undoDelete() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void undoInsert() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void undoUpdate() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean columnUpdated(int idx) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean columnUpdated(String columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Collection toCollection() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Collection toCollection(int column) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Collection toCollection(String column) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public SyncProvider getSyncProvider() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setSyncProvider(String provider) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int size() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMetaData(RowSetMetaData md) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public ResultSet getOriginal() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public ResultSet getOriginalRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setOriginalRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getTableName() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTableName(String tabName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int[] getKeyColumns() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setKeyColumns(int[] keys) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public RowSet createShared() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public CachedRowSet createCopy() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public CachedRowSet createCopySchema() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public CachedRowSet createCopyNoConstraints() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public RowSetWarning getRowSetWarnings() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getShowDeleted() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setShowDeleted(boolean b) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void commit() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void rollback() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void rollback(Savepoint s) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void rowSetPopulated(RowSetEvent event, int numRows) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void populate(ResultSet rs, int startRow) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setPageSize(int size) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getPageSize() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean nextPage() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean previousPage() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getUrl() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setUrl(String url) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getDataSourceName() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDataSourceName(String name) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getUsername() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setUsername(String name) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getPassword() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setPassword(String password) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getTransactionIsolation() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTransactionIsolation(int level) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Map> getTypeMap() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTypeMap(Map> map) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getCommand() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCommand(String cmd) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isReadOnly() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setReadOnly(boolean value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getMaxFieldSize() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMaxFieldSize(int max) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getMaxRows() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMaxRows(int max) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getEscapeProcessing() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setEscapeProcessing(boolean enable) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getQueryTimeout() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setQueryTimeout(int seconds) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setType(int type) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setConcurrency(int concurrency) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(int parameterIndex, int sqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(String parameterName, int sqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(int paramIndex, int sqlType, String typeName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(String parameterName, int sqlType, String typeName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBoolean(int parameterIndex, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBoolean(String parameterName, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setByte(int parameterIndex, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setByte(String parameterName, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setShort(int parameterIndex, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setShort(String parameterName, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setInt(int parameterIndex, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setInt(String parameterName, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setLong(int parameterIndex, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setLong(String parameterName, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFloat(int parameterIndex, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFloat(String parameterName, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDouble(int parameterIndex, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDouble(String parameterName, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBigDecimal(String parameterName, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setString(int parameterIndex, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setString(String parameterName, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBytes(int parameterIndex, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBytes(String parameterName, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(int parameterIndex, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(int parameterIndex, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(String parameterName, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(String parameterName, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(String parameterName, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(String parameterName, Reader reader, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(String parameterName, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(String parameterName, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(String parameterName, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(String parameterName, Object x, int targetSqlType, int scale) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(String parameterName, Object x, int targetSqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(String parameterName, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(int parameterIndex, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setRef(int i, Ref x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(int i, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(String parameterName, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(String parameterName, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(String parameterName, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(int i, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(int parameterIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(int parameterIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(String parameterName, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(String parameterName, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(String parameterName, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setArray(int i, Array x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(String parameterName, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(String parameterName, Date x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(String parameterName, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(String parameterName, Time x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(String parameterName, Timestamp x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void clearParameters() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void execute() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void addRowSetListener(RowSetListener listener) { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void removeRowSetListener(RowSetListener listener) { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setSQLXML(String parameterName, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setRowId(int parameterIndex, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setRowId(String parameterName, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNString(int parameterIndex, String value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNString(String parameterName, String value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(String parameterName, Reader value, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(String parameterName, Reader value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(String parameterName, NClob value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(String parameterName, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(String parameterName, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(int parameterIndex, NClob value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(int parameterIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setURL(int parameterIndex, URL x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean next() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void close() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean wasNull() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getString(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getBoolean(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte getByte(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public short getShort(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getInt(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public long getLong(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public float getFloat(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public double getDouble(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte[] getBytes(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getAsciiStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getUnicodeStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getBinaryStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getString(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getBoolean(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte getByte(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public short getShort(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getInt(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public long getLong(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public float getFloat(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public double getDouble(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(String columnLabel, int scale) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte[] getBytes(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getAsciiStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getUnicodeStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getBinaryStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public SQLWarning getWarnings() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void clearWarnings() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getCursorName() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public ResultSetMetaData getMetaData() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int findColumn(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getCharacterStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getCharacterStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isBeforeFirst() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isAfterLast() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isFirst() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isLast() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void beforeFirst() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void afterLast() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean first() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean last() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean absolute(int row) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean relative(int rows) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean previous() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFetchDirection(int direction) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getFetchDirection() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFetchSize(int rows) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getFetchSize() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getType() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getConcurrency() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean rowUpdated() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean rowInserted() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean rowDeleted() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNull(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBoolean(int columnIndex, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateByte(int columnIndex, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateShort(int columnIndex, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateInt(int columnIndex, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateLong(int columnIndex, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateFloat(int columnIndex, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDouble(int columnIndex, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateString(int columnIndex, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBytes(int columnIndex, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDate(int columnIndex, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTime(int columnIndex, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(int columnIndex, Object x, int scaleOrLength) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(int columnIndex, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNull(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBoolean(String columnLabel, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateByte(String columnLabel, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateShort(String columnLabel, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateInt(String columnLabel, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateLong(String columnLabel, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateFloat(String columnLabel, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDouble(String columnLabel, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBigDecimal(String columnLabel, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateString(String columnLabel, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBytes(String columnLabel, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDate(String columnLabel, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTime(String columnLabel, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTimestamp(String columnLabel, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(String columnLabel, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(String columnLabel, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(String columnLabel, Reader reader, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(String columnLabel, Object x, int scaleOrLength) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(String columnLabel, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void insertRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void deleteRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void refreshRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void cancelRowUpdates() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void moveToInsertRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void moveToCurrentRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Statement getStatement() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(int columnIndex, Map> map) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Ref getRef(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Blob getBlob(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Clob getClob(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Array getArray(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(String columnLabel, Map> map) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Ref getRef(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Blob getBlob(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Clob getClob(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Array getArray(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(int columnIndex, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(String columnLabel, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(int columnIndex, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(String columnLabel, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(String columnLabel, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public URL getURL(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public URL getURL(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRef(int columnIndex, Ref x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRef(String columnLabel, Ref x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(int columnIndex, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(String columnLabel, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(int columnIndex, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(String columnLabel, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateArray(int columnIndex, Array x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateArray(String columnLabel, Array x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public RowId getRowId(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public RowId getRowId(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRowId(int columnIndex, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRowId(String columnLabel, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getHoldability() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isClosed() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNString(int columnIndex, String nString) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNString(String columnLabel, String nString) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(int columnIndex, NClob nClob) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(String columnLabel, NClob nClob) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public NClob getNClob(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public NClob getNClob(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public SQLXML getSQLXML(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public SQLXML getSQLXML(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateSQLXML(String columnLabel, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getNString(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getNString(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getNCharacterStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getNCharacterStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(int columnIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(int columnIndex, Reader x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(int columnIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(int columnIndex, Reader x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(String columnLabel, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(String columnLabel, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(int columnIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(int columnIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public T getObject(int columnIndex, Class type) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public T getObject(String columnLabel, Class type) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public T unwrap(Class iface) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isWrapperFor(Class iface) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(int columnIdx) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(int[] columnIdxes) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(String columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(String[] columnNames) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int[] getMatchColumnIndexes() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String[] getMatchColumnNames() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(int columnIdx) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(int[] columnIdxes) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(String columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(String[] columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } +} diff --git a/jdk/test/javax/sql/testng/util/StubRowSetFactory.java b/jdk/test/javax/sql/testng/util/StubRowSetFactory.java new file mode 100644 index 00000000000..624c53af1e7 --- /dev/null +++ b/jdk/test/javax/sql/testng/util/StubRowSetFactory.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2014, 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 util; + +import java.sql.SQLException; +import javax.sql.rowset.CachedRowSet; +import javax.sql.rowset.FilteredRowSet; +import javax.sql.rowset.JdbcRowSet; +import javax.sql.rowset.JoinRowSet; +import javax.sql.rowset.RowSetFactory; +import javax.sql.rowset.WebRowSet; + +public class StubRowSetFactory implements RowSetFactory { + + @Override + public CachedRowSet createCachedRowSet() throws SQLException { + return new StubCachedRowSetImpl(); + } + + @Override + public FilteredRowSet createFilteredRowSet() throws SQLException { + return new StubFilteredRowSetImpl(); + } + + @Override + public JdbcRowSet createJdbcRowSet() throws SQLException { + return new StubJdbcRowSetImpl(); + } + + @Override + public JoinRowSet createJoinRowSet() throws SQLException { + return new StubJoinRowSetImpl(); + } + + @Override + public WebRowSet createWebRowSet() throws SQLException { + return new StubWebRowSetImpl(); + } + +} diff --git a/jdk/test/javax/sql/testng/util/StubWebRowSetImpl.java b/jdk/test/javax/sql/testng/util/StubWebRowSetImpl.java new file mode 100644 index 00000000000..918d5bd0482 --- /dev/null +++ b/jdk/test/javax/sql/testng/util/StubWebRowSetImpl.java @@ -0,0 +1,1879 @@ +/* + * Copyright (c) 2014, 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 util; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.Reader; +import java.io.Writer; +import java.math.BigDecimal; +import java.net.URL; +import java.sql.Array; +import java.sql.Blob; +import java.sql.Clob; +import java.sql.Connection; +import java.sql.Date; +import java.sql.NClob; +import java.sql.Ref; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.RowId; +import java.sql.SQLException; +import java.sql.SQLWarning; +import java.sql.SQLXML; +import java.sql.Savepoint; +import java.sql.Statement; +import java.sql.Time; +import java.sql.Timestamp; +import java.util.Calendar; +import java.util.Collection; +import java.util.Map; +import javax.sql.RowSet; +import javax.sql.RowSetEvent; +import javax.sql.RowSetListener; +import javax.sql.RowSetMetaData; +import javax.sql.rowset.CachedRowSet; +import javax.sql.rowset.RowSetWarning; +import javax.sql.rowset.WebRowSet; +import javax.sql.rowset.spi.SyncProvider; +import javax.sql.rowset.spi.SyncProviderException; + +public class StubWebRowSetImpl implements WebRowSet { + + @Override + public void readXml(Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void readXml(InputStream iStream) throws SQLException, IOException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void writeXml(ResultSet rs, Writer writer) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void writeXml(ResultSet rs, OutputStream oStream) throws SQLException, IOException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void writeXml(Writer writer) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void writeXml(OutputStream oStream) throws SQLException, IOException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void populate(ResultSet data) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void execute(Connection conn) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void acceptChanges() throws SyncProviderException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void acceptChanges(Connection con) throws SyncProviderException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void restoreOriginal() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void release() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void undoDelete() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void undoInsert() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void undoUpdate() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean columnUpdated(int idx) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean columnUpdated(String columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Collection toCollection() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Collection toCollection(int column) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Collection toCollection(String column) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public SyncProvider getSyncProvider() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setSyncProvider(String provider) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int size() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMetaData(RowSetMetaData md) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public ResultSet getOriginal() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public ResultSet getOriginalRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setOriginalRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getTableName() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTableName(String tabName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int[] getKeyColumns() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setKeyColumns(int[] keys) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public RowSet createShared() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public CachedRowSet createCopy() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public CachedRowSet createCopySchema() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public CachedRowSet createCopyNoConstraints() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public RowSetWarning getRowSetWarnings() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getShowDeleted() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setShowDeleted(boolean b) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void commit() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void rollback() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void rollback(Savepoint s) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void rowSetPopulated(RowSetEvent event, int numRows) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void populate(ResultSet rs, int startRow) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setPageSize(int size) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getPageSize() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean nextPage() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean previousPage() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getUrl() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setUrl(String url) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getDataSourceName() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDataSourceName(String name) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getUsername() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setUsername(String name) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getPassword() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setPassword(String password) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getTransactionIsolation() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTransactionIsolation(int level) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Map> getTypeMap() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTypeMap(Map> map) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getCommand() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCommand(String cmd) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isReadOnly() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setReadOnly(boolean value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getMaxFieldSize() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMaxFieldSize(int max) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getMaxRows() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMaxRows(int max) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getEscapeProcessing() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setEscapeProcessing(boolean enable) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getQueryTimeout() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setQueryTimeout(int seconds) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setType(int type) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setConcurrency(int concurrency) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(int parameterIndex, int sqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(String parameterName, int sqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(int paramIndex, int sqlType, String typeName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNull(String parameterName, int sqlType, String typeName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBoolean(int parameterIndex, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBoolean(String parameterName, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setByte(int parameterIndex, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setByte(String parameterName, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setShort(int parameterIndex, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setShort(String parameterName, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setInt(int parameterIndex, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setInt(String parameterName, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setLong(int parameterIndex, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setLong(String parameterName, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFloat(int parameterIndex, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFloat(String parameterName, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDouble(int parameterIndex, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDouble(String parameterName, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBigDecimal(String parameterName, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setString(int parameterIndex, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setString(String parameterName, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBytes(int parameterIndex, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBytes(String parameterName, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(int parameterIndex, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(int parameterIndex, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(String parameterName, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(String parameterName, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(String parameterName, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(String parameterName, Reader reader, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setAsciiStream(String parameterName, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBinaryStream(String parameterName, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCharacterStream(String parameterName, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(String parameterName, Object x, int targetSqlType, int scale) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(String parameterName, Object x, int targetSqlType) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(String parameterName, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setObject(int parameterIndex, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setRef(int i, Ref x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(int i, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(String parameterName, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(String parameterName, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setBlob(String parameterName, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(int i, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(int parameterIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(int parameterIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(String parameterName, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(String parameterName, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setClob(String parameterName, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setArray(int i, Array x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(String parameterName, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setDate(String parameterName, Date x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(String parameterName, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTime(String parameterName, Time x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setTimestamp(String parameterName, Timestamp x, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void clearParameters() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void execute() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void addRowSetListener(RowSetListener listener) { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void removeRowSetListener(RowSetListener listener) { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setSQLXML(String parameterName, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setRowId(int parameterIndex, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setRowId(String parameterName, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNString(int parameterIndex, String value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNString(String parameterName, String value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(String parameterName, Reader value, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNCharacterStream(String parameterName, Reader value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(String parameterName, NClob value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(String parameterName, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(String parameterName, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(int parameterIndex, NClob value) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setNClob(int parameterIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setURL(int parameterIndex, URL x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean next() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void close() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean wasNull() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getString(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getBoolean(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte getByte(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public short getShort(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getInt(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public long getLong(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public float getFloat(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public double getDouble(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte[] getBytes(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getAsciiStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getUnicodeStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getBinaryStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getString(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean getBoolean(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte getByte(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public short getShort(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getInt(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public long getLong(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public float getFloat(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public double getDouble(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(String columnLabel, int scale) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public byte[] getBytes(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getAsciiStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getUnicodeStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public InputStream getBinaryStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public SQLWarning getWarnings() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void clearWarnings() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getCursorName() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public ResultSetMetaData getMetaData() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int findColumn(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getCharacterStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getCharacterStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public BigDecimal getBigDecimal(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isBeforeFirst() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isAfterLast() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isFirst() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isLast() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void beforeFirst() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void afterLast() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean first() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean last() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean absolute(int row) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean relative(int rows) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean previous() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFetchDirection(int direction) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getFetchDirection() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setFetchSize(int rows) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getFetchSize() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getType() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getConcurrency() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean rowUpdated() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean rowInserted() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean rowDeleted() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNull(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBoolean(int columnIndex, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateByte(int columnIndex, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateShort(int columnIndex, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateInt(int columnIndex, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateLong(int columnIndex, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateFloat(int columnIndex, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDouble(int columnIndex, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateString(int columnIndex, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBytes(int columnIndex, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDate(int columnIndex, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTime(int columnIndex, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(int columnIndex, Object x, int scaleOrLength) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(int columnIndex, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNull(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBoolean(String columnLabel, boolean x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateByte(String columnLabel, byte x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateShort(String columnLabel, short x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateInt(String columnLabel, int x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateLong(String columnLabel, long x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateFloat(String columnLabel, float x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDouble(String columnLabel, double x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBigDecimal(String columnLabel, BigDecimal x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateString(String columnLabel, String x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBytes(String columnLabel, byte[] x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateDate(String columnLabel, Date x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTime(String columnLabel, Time x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateTimestamp(String columnLabel, Timestamp x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(String columnLabel, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(String columnLabel, InputStream x, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(String columnLabel, Reader reader, int length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(String columnLabel, Object x, int scaleOrLength) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateObject(String columnLabel, Object x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void insertRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void deleteRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void refreshRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void cancelRowUpdates() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void moveToInsertRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void moveToCurrentRow() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Statement getStatement() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(int columnIndex, Map> map) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Ref getRef(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Blob getBlob(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Clob getClob(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Array getArray(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Object getObject(String columnLabel, Map> map) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Ref getRef(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Blob getBlob(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Clob getClob(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Array getArray(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(int columnIndex, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Date getDate(String columnLabel, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(int columnIndex, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Time getTime(String columnLabel, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Timestamp getTimestamp(String columnLabel, Calendar cal) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public URL getURL(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public URL getURL(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRef(int columnIndex, Ref x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRef(String columnLabel, Ref x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(int columnIndex, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(String columnLabel, Blob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(int columnIndex, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(String columnLabel, Clob x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateArray(int columnIndex, Array x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateArray(String columnLabel, Array x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public RowId getRowId(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public RowId getRowId(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRowId(int columnIndex, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateRowId(String columnLabel, RowId x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int getHoldability() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isClosed() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNString(int columnIndex, String nString) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNString(String columnLabel, String nString) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(int columnIndex, NClob nClob) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(String columnLabel, NClob nClob) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public NClob getNClob(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public NClob getNClob(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public SQLXML getSQLXML(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public SQLXML getSQLXML(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateSQLXML(String columnLabel, SQLXML xmlObject) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getNString(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String getNString(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getNCharacterStream(int columnIndex) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public Reader getNCharacterStream(String columnLabel) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(int columnIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(int columnIndex, Reader x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(int columnIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(int columnIndex, Reader x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateAsciiStream(String columnLabel, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBinaryStream(String columnLabel, InputStream x) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(int columnIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateClob(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(int columnIndex, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void updateNClob(String columnLabel, Reader reader) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public T getObject(int columnIndex, Class type) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public T getObject(String columnLabel, Class type) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public T unwrap(Class iface) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public boolean isWrapperFor(Class iface) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(int columnIdx) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(int[] columnIdxes) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(String columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setMatchColumn(String[] columnNames) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public int[] getMatchColumnIndexes() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public String[] getMatchColumnNames() throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(int columnIdx) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(int[] columnIdxes) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(String columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void unsetMatchColumn(String[] columnName) throws SQLException { + throw new UnsupportedOperationException("Not supported yet."); + } + +} From cb935d35220d7117e68c3b1439fa4d3a388b7de8 Mon Sep 17 00:00:00 2001 From: Ivan Gerasimov Date: Tue, 7 Oct 2014 14:00:24 +0400 Subject: [PATCH 51/83] 8059840: (bb) Typo in javadoc for ByteBuffer.wrap() Reviewed-by: dfuchs --- .../java.base/share/classes/java/nio/X-Buffer.java.template | 2 +- .../java.base/share/classes/java/nio/file/FileStore.java | 2 +- jdk/src/java.base/share/classes/java/nio/file/Files.java | 6 +++--- .../share/classes/java/nio/file/SecureDirectoryStream.java | 2 +- .../share/classes/java/nio/file/TempFileHelper.java | 6 +++--- .../share/classes/java/nio/file/attribute/package-info.java | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/jdk/src/java.base/share/classes/java/nio/X-Buffer.java.template b/jdk/src/java.base/share/classes/java/nio/X-Buffer.java.template index af9eca1c771..b45f9ad3050 100644 --- a/jdk/src/java.base/share/classes/java/nio/X-Buffer.java.template +++ b/jdk/src/java.base/share/classes/java/nio/X-Buffer.java.template @@ -384,7 +384,7 @@ public abstract class $Type$Buffer * and vice versa. The new buffer's capacity and limit will be * array.length, its position will be zero, and its mark will be * undefined. Its {@link #array backing array} will be the - * given array, and its {@link #arrayOffset array offset>} will + * given array, and its {@link #arrayOffset array offset} will * be zero.

      * * @param array diff --git a/jdk/src/java.base/share/classes/java/nio/file/FileStore.java b/jdk/src/java.base/share/classes/java/nio/file/FileStore.java index 2b14a4b7e20..008f6f722c1 100644 --- a/jdk/src/java.base/share/classes/java/nio/file/FileStore.java +++ b/jdk/src/java.base/share/classes/java/nio/file/FileStore.java @@ -208,7 +208,7 @@ public abstract class FileStore { * @param attribute * the attribute to read - * @return the attribute value; {@code null} may be a valid valid for some + * @return the attribute value; {@code null} may be a valid for some * attributes * * @throws UnsupportedOperationException diff --git a/jdk/src/java.base/share/classes/java/nio/file/Files.java b/jdk/src/java.base/share/classes/java/nio/file/Files.java index 2bad1ac3b8e..ba18b6c9e30 100644 --- a/jdk/src/java.base/share/classes/java/nio/file/Files.java +++ b/jdk/src/java.base/share/classes/java/nio/file/Files.java @@ -1480,7 +1480,7 @@ public final class Files { *
    1. It is transitive: 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(f,h)} will return return {@code true}. + * {@code isSameFile(f,h)} will return {@code true}. * * * @param path @@ -2818,7 +2818,7 @@ public final class Files { /** * Opens or creates a file for writing, returning a {@code BufferedWriter} * that may be used to write text to the file in an efficient manner. - * The {@code options} parameter specifies how the the file is created or + * The {@code options} parameter specifies how the file is created or * opened. If no options are present then this method works as if the {@link * StandardOpenOption#CREATE CREATE}, {@link * StandardOpenOption#TRUNCATE_EXISTING TRUNCATE_EXISTING}, and {@link @@ -3307,7 +3307,7 @@ public final class Files { * line.separator}. Characters are encoded into bytes using the specified * charset. * - *

      The {@code options} parameter specifies how the the file is created + *

      The {@code options} parameter specifies how the file is created * or opened. If no options are present then this method works as if the * {@link StandardOpenOption#CREATE CREATE}, {@link * StandardOpenOption#TRUNCATE_EXISTING TRUNCATE_EXISTING}, and {@link diff --git a/jdk/src/java.base/share/classes/java/nio/file/SecureDirectoryStream.java b/jdk/src/java.base/share/classes/java/nio/file/SecureDirectoryStream.java index 064618b8637..8cfaea35f4a 100644 --- a/jdk/src/java.base/share/classes/java/nio/file/SecureDirectoryStream.java +++ b/jdk/src/java.base/share/classes/java/nio/file/SecureDirectoryStream.java @@ -115,7 +115,7 @@ public interface SecureDirectoryStream * channel. * * @param path - * the path of the file to open open or create + * the path of the file to open or create * @param options * options specifying how the file is opened * @param attrs diff --git a/jdk/src/java.base/share/classes/java/nio/file/TempFileHelper.java b/jdk/src/java.base/share/classes/java/nio/file/TempFileHelper.java index 8d171dee269..2bc3d992c60 100644 --- a/jdk/src/java.base/share/classes/java/nio/file/TempFileHelper.java +++ b/jdk/src/java.base/share/classes/java/nio/file/TempFileHelper.java @@ -74,7 +74,7 @@ class TempFileHelper { } /** - * Creates a file or directory in in the given given directory (or in the + * Creates a file or directory in the given directory (or in the * temporary directory if dir is {@code null}). */ private static Path create(Path dir, @@ -149,7 +149,7 @@ class TempFileHelper { } /** - * Creates a temporary file in the given directory, or in in the + * Creates a temporary file in the given directory, or in the * temporary directory if dir is {@code null}. */ static Path createTempFile(Path dir, @@ -162,7 +162,7 @@ class TempFileHelper { } /** - * Creates a temporary directory in the given directory, or in in the + * Creates a temporary directory in the given directory, or in the * temporary directory if dir is {@code null}. */ static Path createTempDirectory(Path dir, diff --git a/jdk/src/java.base/share/classes/java/nio/file/attribute/package-info.java b/jdk/src/java.base/share/classes/java/nio/file/attribute/package-info.java index b0e87b64c76..c1bf6b6482b 100644 --- a/jdk/src/java.base/share/classes/java/nio/file/attribute/package-info.java +++ b/jdk/src/java.base/share/classes/java/nio/file/attribute/package-info.java @@ -51,7 +51,7 @@ *

      An attribute view provides a read-only or updatable view of the non-opaque * values, or metadata, associated with objects in a file system. * The {@link java.nio.file.attribute.FileAttributeView} interface is - * extended by several other interfaces that that views to specific sets of file + * extended by several other interfaces that views to specific sets of file * attributes. {@code FileAttributeViews} are selected by invoking the {@link * java.nio.file.Files#getFileAttributeView} method with a * type-token to identify the required view. Views can also be identified From 9183fba213d9d4575374245b58e6aee08d40db55 Mon Sep 17 00:00:00 2001 From: Daniel Fuchs Date: Tue, 7 Oct 2014 14:49:45 +0200 Subject: [PATCH 52/83] 8028788: Logger.enterring uses String concatenation in a loop Changed code to use StringBuilder instead. Reviewed-by: chegar, lancea --- .../classes/java/util/logging/Logger.java | 8 +- .../entering/LoggerEnteringWithParams.java | 173 ++++++++++++++++++ 2 files changed, 179 insertions(+), 2 deletions(-) create mode 100644 jdk/test/java/util/logging/Logger/entering/LoggerEnteringWithParams.java diff --git a/jdk/src/java.logging/share/classes/java/util/logging/Logger.java b/jdk/src/java.logging/share/classes/java/util/logging/Logger.java index 2b5148a483f..ae4c1e46baf 100644 --- a/jdk/src/java.logging/share/classes/java/util/logging/Logger.java +++ b/jdk/src/java.logging/share/classes/java/util/logging/Logger.java @@ -1376,8 +1376,12 @@ public class Logger { return; } if (!isLoggable(Level.FINER)) return; - for (int i = 0; i < params.length; i++) { - msg = msg + " {" + i + "}"; + if (params.length > 0) { + final StringBuilder b = new StringBuilder(msg); + for (int i = 0; i < params.length; i++) { + b.append(' ').append('{').append(i).append('}'); + } + msg = b.toString(); } logp(Level.FINER, sourceClass, sourceMethod, msg, params); } diff --git a/jdk/test/java/util/logging/Logger/entering/LoggerEnteringWithParams.java b/jdk/test/java/util/logging/Logger/entering/LoggerEnteringWithParams.java new file mode 100644 index 00000000000..0fea08bdc3a --- /dev/null +++ b/jdk/test/java/util/logging/Logger/entering/LoggerEnteringWithParams.java @@ -0,0 +1,173 @@ + +/* + * Copyright (c) 2014, 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.ByteArrayOutputStream; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.logging.Handler; +import java.util.logging.Level; +import java.util.logging.LogRecord; +import java.util.logging.Logger; +import java.util.logging.SimpleFormatter; +import java.util.logging.StreamHandler; + +/** + * @test + * @bug 8028788 + * @summary tests that the message format string is correctly constructed + * by Logger.entering + * @run main/othervm LoggerEnteringWithParams + * @author daniel fuchs + */ +public class LoggerEnteringWithParams { + + final static Object[] data = { + "one", "two", "three", "four", "five", "six", "seven", "eight" + }; + + static final class TestHandler extends Handler { + final List events = new CopyOnWriteArrayList<>(); + final ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + final StreamHandler wrapped = new StreamHandler(bytes, new SimpleFormatter()); + + @Override + public void publish(LogRecord record) { + events.add(record); + wrapped.publish(record); + wrapped.flush(); + } + @Override + public void flush() { + wrapped.flush(); + } + @Override + public void close() throws SecurityException { + wrapped.close(); + } + + @Override + public synchronized void setLevel(Level newLevel) throws SecurityException { + super.setLevel(newLevel); + wrapped.setLevel(newLevel); + } + + public void reset() { + bytes.reset(); + events.clear(); + } + + } + + public static void main(String[] args) { + Logger logger = Logger.getLogger("some.logger"); + TestHandler handler = new TestHandler(); + logger.setUseParentHandlers(false); + handler.setLevel(Level.ALL); + logger.setLevel(Level.FINEST); + logger.addHandler(handler); + + // Auto-detect the line termination used by SimpleFormatter - (CR vs CRLF) + logger.entering("test", "test"); + final String test = handler.bytes.toString(); + System.out.println(test); + final String lineEnd = test.substring(test.indexOf("ENTRY")+"ENTRY".length()); + System.out.print("Line termination is " + lineEnd.length() + " char(s) long:"); + for (int i=0; i>"); + } + if (!logged.contains(methodName)) { + throw new RuntimeException("Marker for " + methodName + + " not found." + + "\n\tgot: <<\n" + logged + "\t >>"); + } + if (!logged.contains(expected)) { + throw new RuntimeException("Marker for parameters[size=" + + i + "] not found" + + "\n\tgot: <<\n" + logged + "\t >>"); + } + if (!logged.contains(expected+lineEnd)) { + throw new RuntimeException("Marker for parameters[size=" + + i + "] has extra characters" + + "\n\tgot: <<\n" + logged + "\t >>"); + } + + LogRecord record = handler.events.remove(0); + if (!handler.events.isEmpty()) { + throw new RuntimeException("Handler has more log records: " + + handler.events.toString()); + } + if (!className.equals(record.getSourceClassName())) { + throw new RuntimeException("Unexpected class name in LogRecord." + + "\n\texpected: " + className + + "\n\tgot: " + record.getSourceClassName()); + } + if (!methodName.equals(record.getSourceMethodName())) { + throw new RuntimeException("Unexpected method name in LogRecord." + + "\n\texpected: " + methodName + + "\n\tgot: " + record.getSourceMethodName()); + } + if (!format.equals(record.getMessage())) { + throw new RuntimeException("Unexpected message format in LogRecord." + + "\n\texpected: " + format + + "\n\tgot: " + record.getMessage()); + } + if (!Arrays.deepEquals(params, record.getParameters())) { + throw new RuntimeException("Unexpected parameter array in LogRecord." + + "\n\texpected: " + Arrays.toString(params) + + "\n\tgot: " + Arrays.toString(record.getParameters())); + } + + handler.reset(); + } + } + +} From 6d1c35615acfef2824aa38e8afcfb9c7baa46c26 Mon Sep 17 00:00:00 2001 From: Marcus Larsson Date: Tue, 7 Oct 2014 14:54:53 +0200 Subject: [PATCH 53/83] 8058298: Separate heap region iterator claim values from the data structures iterated over Reviewed-by: tschatzl, brutisso --- .../gc_implementation/g1/concurrentMark.cpp | 102 +++------- .../gc_implementation/g1/g1CollectedHeap.cpp | 186 +++--------------- .../gc_implementation/g1/g1CollectedHeap.hpp | 42 +--- .../g1/g1CollectorPolicy.cpp | 22 +-- .../vm/gc_implementation/g1/g1EvacFailure.hpp | 19 +- .../vm/gc_implementation/g1/g1RemSet.cpp | 8 +- .../vm/gc_implementation/g1/g1RemSet.hpp | 6 +- .../vm/gc_implementation/g1/heapRegion.cpp | 14 +- .../vm/gc_implementation/g1/heapRegion.hpp | 22 --- .../g1/heapRegionManager.cpp | 55 ++++-- .../g1/heapRegionManager.hpp | 35 +++- 11 files changed, 157 insertions(+), 354 deletions(-) diff --git a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp index 8666c7a1583..755525123df 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp @@ -1683,6 +1683,8 @@ protected: int _failures; bool _verbose; + HeapRegionClaimer _hrclaimer; + public: G1ParVerifyFinalCountTask(G1CollectedHeap* g1h, BitMap* region_bm, BitMap* card_bm, @@ -1692,19 +1694,8 @@ public: _actual_region_bm(region_bm), _actual_card_bm(card_bm), _expected_region_bm(expected_region_bm), _expected_card_bm(expected_card_bm), _failures(0), _verbose(false), - _n_workers(0) { + _n_workers(_g1h->workers()->active_workers()), _hrclaimer(_n_workers) { assert(VerifyDuringGC, "don't call this otherwise"); - - // Use the value already set as the number of active threads - // in the call to run_task(). - 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; - } - assert(_expected_card_bm->size() == _actual_card_bm->size(), "sanity"); assert(_expected_region_bm->size() == _actual_region_bm->size(), "sanity"); @@ -1721,10 +1712,7 @@ public: _verbose); if (G1CollectedHeap::use_parallel_gc_threads()) { - _g1h->heap_region_par_iterate_chunked(&verify_cl, - worker_id, - _n_workers, - HeapRegion::VerifyCountClaimValue); + _g1h->heap_region_par_iterate(&verify_cl, worker_id, &_hrclaimer); } else { _g1h->heap_region_iterate(&verify_cl); } @@ -1813,22 +1801,14 @@ protected: BitMap* _actual_card_bm; uint _n_workers; + HeapRegionClaimer _hrclaimer; public: G1ParFinalCountTask(G1CollectedHeap* g1h, BitMap* region_bm, BitMap* card_bm) : AbstractGangTask("G1 final counting"), _g1h(g1h), _cm(_g1h->concurrent_mark()), _actual_region_bm(region_bm), _actual_card_bm(card_bm), - _n_workers(0) { - // Use the value already set as the number of active threads - // in the call to run_task(). - 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; - } + _n_workers(_g1h->workers()->active_workers()), _hrclaimer(_n_workers) { } void work(uint worker_id) { @@ -1839,10 +1819,7 @@ public: _actual_card_bm); if (G1CollectedHeap::use_parallel_gc_threads()) { - _g1h->heap_region_par_iterate_chunked(&final_update_cl, - worker_id, - _n_workers, - HeapRegion::FinalCountClaimValue); + _g1h->heap_region_par_iterate(&final_update_cl, worker_id, &_hrclaimer); } else { _g1h->heap_region_iterate(&final_update_cl); } @@ -1929,12 +1906,12 @@ protected: size_t _max_live_bytes; size_t _freed_bytes; FreeRegionList* _cleanup_list; + HeapRegionClaimer _hrclaimer; public: - G1ParNoteEndTask(G1CollectedHeap* g1h, - FreeRegionList* cleanup_list) : - AbstractGangTask("G1 note end"), _g1h(g1h), - _max_live_bytes(0), _freed_bytes(0), _cleanup_list(cleanup_list) { } + G1ParNoteEndTask(G1CollectedHeap* g1h, FreeRegionList* cleanup_list, uint n_workers) : + AbstractGangTask("G1 note end"), _g1h(g1h), _max_live_bytes(0), _freed_bytes(0), _cleanup_list(cleanup_list), _hrclaimer(n_workers) { + } void work(uint worker_id) { double start = os::elapsedTime(); @@ -1943,9 +1920,7 @@ public: G1NoteEndOfConcMarkClosure g1_note_end(_g1h, &local_cleanup_list, &hrrs_cleanup_task); if (G1CollectedHeap::use_parallel_gc_threads()) { - _g1h->heap_region_par_iterate_chunked(&g1_note_end, worker_id, - _g1h->workers()->active_workers(), - HeapRegion::NoteEndClaimValue); + _g1h->heap_region_par_iterate(&g1_note_end, worker_id, &_hrclaimer); } else { _g1h->heap_region_iterate(&g1_note_end); } @@ -1991,16 +1966,16 @@ protected: G1RemSet* _g1rs; BitMap* _region_bm; BitMap* _card_bm; + HeapRegionClaimer _hrclaimer; + public: - G1ParScrubRemSetTask(G1CollectedHeap* g1h, - BitMap* region_bm, BitMap* card_bm) : - AbstractGangTask("G1 ScrubRS"), _g1rs(g1h->g1_rem_set()), - _region_bm(region_bm), _card_bm(card_bm) { } + G1ParScrubRemSetTask(G1CollectedHeap* g1h, BitMap* region_bm, BitMap* card_bm, uint n_workers) : + AbstractGangTask("G1 ScrubRS"), _g1rs(g1h->g1_rem_set()), _region_bm(region_bm), _card_bm(card_bm), _hrclaimer(n_workers) { + } void work(uint worker_id) { if (G1CollectedHeap::use_parallel_gc_threads()) { - _g1rs->scrub_par(_region_bm, _card_bm, worker_id, - HeapRegion::ScrubRemSetClaimValue); + _g1rs->scrub_par(_region_bm, _card_bm, worker_id, &_hrclaimer); } else { _g1rs->scrub(_region_bm, _card_bm); } @@ -2043,9 +2018,6 @@ void ConcurrentMark::cleanup() { G1ParFinalCountTask g1_par_count_task(g1h, &_region_bm, &_card_bm); if (G1CollectedHeap::use_parallel_gc_threads()) { - assert(g1h->check_heap_region_claim_values(HeapRegion::InitialClaimValue), - "sanity check"); - g1h->set_par_threads(); n_workers = g1h->n_par_threads(); assert(g1h->n_par_threads() == n_workers, @@ -2053,9 +2025,6 @@ void ConcurrentMark::cleanup() { 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); @@ -2080,9 +2049,6 @@ void ConcurrentMark::cleanup() { g1h->workers()->run_task(&g1_par_verify_task); // Done with the parallel phase so reset to 0. g1h->set_par_threads(0); - - assert(g1h->check_heap_region_claim_values(HeapRegion::VerifyCountClaimValue), - "sanity check"); } else { g1_par_verify_task.work(0); } @@ -2108,14 +2074,11 @@ void ConcurrentMark::cleanup() { g1h->reset_gc_time_stamp(); // Note end of marking in all heap regions. - G1ParNoteEndTask g1_par_note_end_task(g1h, &_cleanup_list); + G1ParNoteEndTask g1_par_note_end_task(g1h, &_cleanup_list, n_workers); if (G1CollectedHeap::use_parallel_gc_threads()) { g1h->set_par_threads((int)n_workers); g1h->workers()->run_task(&g1_par_note_end_task); g1h->set_par_threads(0); - - assert(g1h->check_heap_region_claim_values(HeapRegion::NoteEndClaimValue), - "sanity check"); } else { g1_par_note_end_task.work(0); } @@ -2132,15 +2095,11 @@ void ConcurrentMark::cleanup() { // regions. if (G1ScrubRemSets) { double rs_scrub_start = os::elapsedTime(); - G1ParScrubRemSetTask g1_par_scrub_rs_task(g1h, &_region_bm, &_card_bm); + G1ParScrubRemSetTask g1_par_scrub_rs_task(g1h, &_region_bm, &_card_bm, n_workers); if (G1CollectedHeap::use_parallel_gc_threads()) { g1h->set_par_threads((int)n_workers); g1h->workers()->run_task(&g1_par_scrub_rs_task); g1h->set_par_threads(0); - - assert(g1h->check_heap_region_claim_values( - HeapRegion::ScrubRemSetClaimValue), - "sanity check"); } else { g1_par_scrub_rs_task.work(0); } @@ -3288,6 +3247,7 @@ protected: BitMap* _cm_card_bm; uint _max_worker_id; int _active_workers; + HeapRegionClaimer _hrclaimer; public: G1AggregateCountDataTask(G1CollectedHeap* g1h, @@ -3295,18 +3255,18 @@ public: BitMap* cm_card_bm, uint max_worker_id, int n_workers) : - AbstractGangTask("Count Aggregation"), - _g1h(g1h), _cm(cm), _cm_card_bm(cm_card_bm), - _max_worker_id(max_worker_id), - _active_workers(n_workers) { } + AbstractGangTask("Count Aggregation"), + _g1h(g1h), _cm(cm), _cm_card_bm(cm_card_bm), + _max_worker_id(max_worker_id), + _active_workers(n_workers), + _hrclaimer(_active_workers) { + } void work(uint worker_id) { AggregateCountDataHRClosure cl(_g1h, _cm_card_bm, _max_worker_id); if (G1CollectedHeap::use_parallel_gc_threads()) { - _g1h->heap_region_par_iterate_chunked(&cl, worker_id, - _active_workers, - HeapRegion::AggregateCountClaimValue); + _g1h->heap_region_par_iterate(&cl, worker_id, &_hrclaimer); } else { _g1h->heap_region_iterate(&cl); } @@ -3323,15 +3283,9 @@ void ConcurrentMark::aggregate_count_data() { _max_worker_id, n_workers); if (G1CollectedHeap::use_parallel_gc_threads()) { - assert(_g1h->check_heap_region_claim_values(HeapRegion::InitialClaimValue), - "sanity check"); _g1h->set_par_threads(n_workers); _g1h->workers()->run_task(&g1_par_agg_task); _g1h->set_par_threads(0); - - assert(_g1h->check_heap_region_claim_values(HeapRegion::AggregateCountClaimValue), - "sanity check"); - _g1h->reset_heap_region_claim_values(); } else { g1_par_agg_task.work(0); } diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp index 133e2094f63..bec4fd63b83 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @@ -90,8 +90,8 @@ size_t G1CollectedHeap::_humongous_object_threshold_in_words = 0; // 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(). +// G1ParVerifyTask uses heap_region_par_iterate() for parallelism. +// The number of GC workers is passed to heap_region_par_iterate(). // It does use run_task() which sets _n_workers in the task. // G1ParTask executes g1_process_roots() -> // SharedHeap::process_roots() which calls eventually to @@ -1215,17 +1215,15 @@ public: class ParRebuildRSTask: public AbstractGangTask { G1CollectedHeap* _g1; + HeapRegionClaimer _hrclaimer; + public: - ParRebuildRSTask(G1CollectedHeap* g1) - : AbstractGangTask("ParRebuildRSTask"), - _g1(g1) - { } + ParRebuildRSTask(G1CollectedHeap* g1) : + AbstractGangTask("ParRebuildRSTask"), _g1(g1), _hrclaimer(g1->workers()->active_workers()) {} 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); + _g1->heap_region_par_iterate(&rebuild_rs, worker_id, &_hrclaimer); } }; @@ -1455,8 +1453,6 @@ bool G1CollectedHeap::do_collection(bool explicit_gc, set_par_threads(n_workers); ParRebuildRSTask rebuild_rs_task(this); - assert(check_heap_region_claim_values( - HeapRegion::InitialClaimValue), "sanity check"); assert(UseDynamicNumberOfGCThreads || workers()->active_workers() == workers()->total_workers(), "Unless dynamic should use total workers"); @@ -1466,9 +1462,6 @@ bool G1CollectedHeap::do_collection(bool explicit_gc, set_par_threads(workers()->active_workers()); workers()->run_task(&rebuild_rs_task); set_par_threads(0); - assert(check_heap_region_claim_values( - HeapRegion::RebuildRSClaimValue), "sanity check"); - reset_heap_region_claim_values(); } else { RebuildRSOutOfRegionClosure rebuild_rs(this); heap_region_iterate(&rebuild_rs); @@ -2634,111 +2627,12 @@ void G1CollectedHeap::heap_region_iterate(HeapRegionClosure* cl) const { } void -G1CollectedHeap::heap_region_par_iterate_chunked(HeapRegionClosure* cl, - uint worker_id, - uint num_workers, - jint claim_value) const { - _hrm.par_iterate(cl, worker_id, num_workers, claim_value); +G1CollectedHeap::heap_region_par_iterate(HeapRegionClosure* cl, + uint worker_id, + HeapRegionClaimer *hrclaimer) const { + _hrm.par_iterate(cl, worker_id, hrclaimer); } -class ResetClaimValuesClosure: public HeapRegionClosure { -public: - bool doHeapRegion(HeapRegion* r) { - r->set_claim_value(HeapRegion::InitialClaimValue); - return false; - } -}; - -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 -// humongous_start_region() information on "continues humongous" -// regions is correct. - -class CheckClaimValuesClosure : public HeapRegionClosure { -private: - jint _claim_value; - uint _failures; - HeapRegion* _sh_region; - -public: - CheckClaimValuesClosure(jint claim_value) : - _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 " HR_FORMAT ", " - "claim value = %d, should be %d", - HR_FORMAT_PARAMS(r), - r->claim_value(), _claim_value); - ++_failures; - } - if (!r->is_humongous()) { - _sh_region = NULL; - } else if (r->is_starts_humongous()) { - _sh_region = r; - } else if (r->is_continues_humongous()) { - if (r->humongous_start_region() != _sh_region) { - gclog_or_tty->print_cr("Region " HR_FORMAT ", " - "HS = "PTR_FORMAT", should be "PTR_FORMAT, - HR_FORMAT_PARAMS(r), - r->humongous_start_region(), - _sh_region); - ++_failures; - } - } - return false; - } - uint failures() { return _failures; } -}; - -bool G1CollectedHeap::check_heap_region_claim_values(jint claim_value) { - CheckClaimValuesClosure cl(claim_value); - heap_region_iterate(&cl); - return cl.failures() == 0; -} - -class CheckClaimValuesInCSetHRClosure: public HeapRegionClosure { -private: - jint _claim_value; - uint _failures; - -public: - CheckClaimValuesInCSetHRClosure(jint claim_value) : - _claim_value(claim_value), _failures(0) { } - - uint failures() { return _failures; } - - bool doHeapRegion(HeapRegion* hr) { - assert(hr->in_collection_set(), "how?"); - assert(!hr->is_humongous(), "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() { @@ -3252,19 +3146,21 @@ public: class G1ParVerifyTask: public AbstractGangTask { private: - G1CollectedHeap* _g1h; - VerifyOption _vo; - bool _failures; + G1CollectedHeap* _g1h; + VerifyOption _vo; + bool _failures; + HeapRegionClaimer _hrclaimer; public: // _vo == UsePrevMarking -> use "prev" marking information, // _vo == UseNextMarking -> use "next" marking information, // _vo == UseMarkWord -> use mark word from object header. G1ParVerifyTask(G1CollectedHeap* g1h, VerifyOption vo) : - AbstractGangTask("Parallel verify task"), - _g1h(g1h), - _vo(vo), - _failures(false) { } + AbstractGangTask("Parallel verify task"), + _g1h(g1h), + _vo(vo), + _failures(false), + _hrclaimer(g1h->workers()->active_workers()) {} bool failures() { return _failures; @@ -3273,9 +3169,7 @@ public: void work(uint worker_id) { HandleMark hm; VerifyRegionClosure blk(true, _vo); - _g1h->heap_region_par_iterate_chunked(&blk, worker_id, - _g1h->workers()->active_workers(), - HeapRegion::ParVerifyClaimValue); + _g1h->heap_region_par_iterate(&blk, worker_id, &_hrclaimer); if (blk.failures()) { _failures = true; } @@ -3317,8 +3211,6 @@ void G1CollectedHeap::verify(bool silent, VerifyOption vo) { if (!silent) { gclog_or_tty->print("HeapRegions "); } if (GCParallelVerificationEnabled && ParallelGCThreads > 1) { - assert(check_heap_region_claim_values(HeapRegion::InitialClaimValue), - "sanity check"); G1ParVerifyTask task(this, vo); assert(UseDynamicNumberOfGCThreads || @@ -3332,15 +3224,6 @@ void G1CollectedHeap::verify(bool silent, VerifyOption vo) { 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"); - - reset_heap_region_claim_values(); - - assert(check_heap_region_claim_values(HeapRegion::InitialClaimValue), - "sanity check"); } else { VerifyRegionClosure blk(false, vo); heap_region_iterate(&blk); @@ -3927,8 +3810,6 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) { } assert(check_young_list_well_formed(), "young list should be well formed"); - assert(check_heap_region_claim_values(HeapRegion::InitialClaimValue), - "sanity check"); // 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, @@ -4289,26 +4170,12 @@ void G1CollectedHeap::finalize_for_evac_failure() { } void G1CollectedHeap::remove_self_forwarding_pointers() { - assert(check_cset_heap_region_claim_values(HeapRegion::InitialClaimValue), "sanity"); - double remove_self_forwards_start = os::elapsedTime(); + set_par_threads(); G1ParRemoveSelfForwardPtrsTask rsfp_task(this); - - if (G1CollectedHeap::use_parallel_gc_threads()) { - set_par_threads(); - workers()->run_task(&rsfp_task); - set_par_threads(0); - } else { - rsfp_task.work(0); - } - - assert(check_cset_heap_region_claim_values(HeapRegion::ParEvacFailureClaimValue), "sanity"); - - // 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"); + workers()->run_task(&rsfp_task); + set_par_threads(0); // Now restore saved marks, if any. assert(_objs_with_preserved_marks.size() == @@ -5949,11 +5816,6 @@ void G1CollectedHeap::evacuate_collection_set(EvacuationInfo& evacuation_info) { purge_code_root_memory(); - if (g1_policy()->during_initial_mark_pause()) { - // Reset the claim values set during marking the strong code roots - reset_heap_region_claim_values(); - } - finalize_for_evac_failure(); if (evacuation_failed()) { diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp index bcc0419bf76..4f6d064fe9a 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp @@ -211,6 +211,7 @@ class G1CollectedHeap : public SharedHeap { friend class G1FreeHumongousRegionClosure; // Other related classes. friend class G1MarkSweep; + friend class HeapRegionClaimer; private: // The one and only G1CollectedHeap, so static functions can find it. @@ -1377,38 +1378,15 @@ public: inline HeapWord* bottom_addr_for_region(uint index) const; - // Divide the heap region sequence into "chunks" of some size (the number - // of regions divided by the number of parallel threads times some - // overpartition factor, currently 4). Assumes that this will be called - // in parallel by ParallelGCThreads worker threads with distinct worker - // ids in the range [0..max(ParallelGCThreads-1, 1)], that all parallel - // calls will use the same "claim_value", and that that claim value is - // different from the claim_value of any heap region before the start of - // the iteration. Applies "blk->doHeapRegion" to each of the regions, by - // attempting to claim the first region in each chunk, and, if - // successful, applying the closure to each region in the chunk (and - // setting the claim value of the second and subsequent regions of the - // 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* cl, - uint worker_id, - uint num_workers, - jint claim_value) const; - - // 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 + // Iterate over the heap regions in parallel. Assumes that this will be called + // in parallel by ParallelGCThreads worker threads with distinct worker ids + // in the range [0..max(ParallelGCThreads-1, 1)]. Applies "blk->doHeapRegion" + // to each of the regions, by attempting to claim the region using the + // HeapRegionClaimer and, if successful, applying the closure to the claimed + // region. + void heap_region_par_iterate(HeapRegionClosure* cl, + uint worker_id, + HeapRegionClaimer* hrclaimer) const; // Clear the cached cset start regions and (more importantly) // the time stamps. Called when we reset the GC time stamp. diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp index a2f33d12c38..1cf1b178afe 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp @@ -1598,19 +1598,17 @@ class ParKnownGarbageTask: public AbstractGangTask { CollectionSetChooser* _hrSorted; uint _chunk_size; G1CollectedHeap* _g1; + HeapRegionClaimer _hrclaimer; + public: - ParKnownGarbageTask(CollectionSetChooser* hrSorted, uint chunk_size) : - AbstractGangTask("ParKnownGarbageTask"), - _hrSorted(hrSorted), _chunk_size(chunk_size), - _g1(G1CollectedHeap::heap()) { } + ParKnownGarbageTask(CollectionSetChooser* hrSorted, uint chunk_size, uint n_workers) : + AbstractGangTask("ParKnownGarbageTask"), + _hrSorted(hrSorted), _chunk_size(chunk_size), + _g1(G1CollectedHeap::heap()), _hrclaimer(n_workers) {} void work(uint worker_id) { ParKnownGarbageHRClosure parKnownGarbageCl(_hrSorted, _chunk_size); - - // Back to zero for the claim value. - _g1->heap_region_par_iterate_chunked(&parKnownGarbageCl, worker_id, - _g1->workers()->active_workers(), - HeapRegion::InitialClaimValue); + _g1->heap_region_par_iterate(&parKnownGarbageCl, worker_id, &_hrclaimer); } }; @@ -1641,12 +1639,8 @@ G1CollectorPolicy::record_concurrent_mark_cleanup_end(int no_of_gc_threads) { } _collectionSetChooser->prepare_for_par_region_addition(_g1->num_regions(), WorkUnit); - ParKnownGarbageTask parKnownGarbageTask(_collectionSetChooser, - (int) WorkUnit); + ParKnownGarbageTask parKnownGarbageTask(_collectionSetChooser, WorkUnit, (uint) no_of_gc_threads); _g1->workers()->run_task(&parKnownGarbageTask); - - assert(_g1->check_heap_region_claim_values(HeapRegion::InitialClaimValue), - "sanity check"); } else { KnownGarbageClosure knownGarbagecl(_collectionSetChooser); _g1->heap_region_iterate(&knownGarbagecl); diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1EvacFailure.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1EvacFailure.hpp index 28c57b4fcd4..96c675f42ec 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1EvacFailure.hpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1EvacFailure.hpp @@ -177,16 +177,18 @@ class RemoveSelfForwardPtrHRClosure: public HeapRegionClosure { G1CollectedHeap* _g1h; ConcurrentMark* _cm; uint _worker_id; + HeapRegionClaimer* _hrclaimer; DirtyCardQueue _dcq; UpdateRSetDeferred _update_rset_cl; public: RemoveSelfForwardPtrHRClosure(G1CollectedHeap* g1h, - uint worker_id) : - _g1h(g1h), _dcq(&g1h->dirty_card_queue_set()), _update_rset_cl(g1h, &_dcq), - _worker_id(worker_id), _cm(_g1h->concurrent_mark()) { - } + uint worker_id, + HeapRegionClaimer* hrclaimer) : + _g1h(g1h), _dcq(&g1h->dirty_card_queue_set()), _update_rset_cl(g1h, &_dcq), + _worker_id(worker_id), _cm(_g1h->concurrent_mark()), _hrclaimer(hrclaimer) { + } bool doHeapRegion(HeapRegion *hr) { bool during_initial_mark = _g1h->g1_policy()->during_initial_mark_pause(); @@ -195,7 +197,7 @@ public: assert(!hr->is_humongous(), "sanity"); assert(hr->in_collection_set(), "bad CS"); - if (hr->claimHeapRegion(HeapRegion::ParEvacFailureClaimValue)) { + if (_hrclaimer->claim_region(hr->hrm_index())) { if (hr->evacuation_failed()) { RemoveSelfForwardPtrObjClosure rspc(_g1h, _cm, hr, &_update_rset_cl, during_initial_mark, @@ -233,14 +235,15 @@ public: class G1ParRemoveSelfForwardPtrsTask: public AbstractGangTask { protected: G1CollectedHeap* _g1h; + HeapRegionClaimer _hrclaimer; public: G1ParRemoveSelfForwardPtrsTask(G1CollectedHeap* g1h) : - AbstractGangTask("G1 Remove Self-forwarding Pointers"), - _g1h(g1h) { } + AbstractGangTask("G1 Remove Self-forwarding Pointers"), _g1h(g1h), + _hrclaimer(g1h->workers()->active_workers()) {} void work(uint worker_id) { - RemoveSelfForwardPtrHRClosure rsfp_cl(_g1h, worker_id); + RemoveSelfForwardPtrHRClosure rsfp_cl(_g1h, worker_id, &_hrclaimer); HeapRegion* hr = _g1h->start_cset_region_for_worker(worker_id); _g1h->collection_set_iterate_from(hr, &rsfp_cl); diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp index 02433dbc550..a24b5a8069e 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp @@ -425,13 +425,9 @@ void G1RemSet::scrub(BitMap* region_bm, BitMap* card_bm) { _g1->heap_region_iterate(&scrub_cl); } -void G1RemSet::scrub_par(BitMap* region_bm, BitMap* card_bm, - uint worker_num, int claim_val) { +void G1RemSet::scrub_par(BitMap* region_bm, BitMap* card_bm, uint worker_num, HeapRegionClaimer *hrclaimer) { ScrubRSClosure scrub_cl(region_bm, card_bm); - _g1->heap_region_par_iterate_chunked(&scrub_cl, - worker_num, - n_workers(), - claim_val); + _g1->heap_region_par_iterate(&scrub_cl, worker_num, hrclaimer); } G1TriggerClosure::G1TriggerClosure() : diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.hpp index a6823dfdc14..73c79172361 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.hpp +++ b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.hpp @@ -128,10 +128,10 @@ public: void scrub(BitMap* region_bm, BitMap* card_bm); // Like the above, but assumes is called in parallel: "worker_num" is the - // parallel thread id of the current thread, and "claim_val" is the - // value that should be used to claim heap regions. + // parallel thread id of the current thread, and "hrclaimer" is the shared + // HeapRegionClaimer that should be used to claim heap regions. void scrub_par(BitMap* region_bm, BitMap* card_bm, - uint worker_num, int claim_val); + uint worker_num, HeapRegionClaimer* hrclaimer); // Refine the card corresponding to "card_ptr". // If check_for_refs_into_cset is true, a true result is returned diff --git a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp index bb549aa5625..55e74c6669c 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp @@ -217,7 +217,6 @@ void HeapRegion::hr_clear(bool par, bool clear_space, bool locked) { } else { hrrs->clear(); } - _claimed = InitialClaimValue; } zero_marked_bytes(); @@ -294,17 +293,6 @@ void HeapRegion::clear_humongous() { _humongous_start_region = NULL; } -bool HeapRegion::claimHeapRegion(jint claimValue) { - jint current = _claimed; - if (current != claimValue) { - jint res = Atomic::cmpxchg(claimValue, &_claimed, current); - if (res == current) { - return true; - } - } - return false; -} - HeapRegion::HeapRegion(uint hrm_index, G1BlockOffsetSharedArray* sharedOffsetArray, MemRegion mr) : @@ -314,7 +302,7 @@ HeapRegion::HeapRegion(uint hrm_index, _humongous_start_region(NULL), _in_collection_set(false), _next_in_special_set(NULL), - _claimed(InitialClaimValue), _evacuation_failed(false), + _evacuation_failed(false), _prev_marked_bytes(0), _next_marked_bytes(0), _gc_efficiency(0.0), _next_young_region(NULL), _next_dirty_cards_region(NULL), _next(NULL), _prev(NULL), diff --git a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.hpp b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.hpp index 74f32bcee4e..916726e48a0 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.hpp +++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.hpp @@ -254,9 +254,6 @@ class HeapRegion: public G1OffsetTableContigSpace { HeapRegionSetBase* _containing_set; #endif // ASSERT - // For parallel heapRegion traversal. - jint _claimed; - // We use concurrent marking to determine the amount of live data // in each heap region. size_t _prev_marked_bytes; // Bytes known to be live via last completed marking. @@ -336,19 +333,6 @@ class HeapRegion: public G1OffsetTableContigSpace { // up once during initialization time. static void setup_heap_region_size(size_t initial_heap_size, size_t max_heap_size); - enum ClaimValues { - InitialClaimValue = 0, - FinalCountClaimValue = 1, - NoteEndClaimValue = 2, - ScrubRemSetClaimValue = 3, - ParVerifyClaimValue = 4, - RebuildRSClaimValue = 5, - ParEvacFailureClaimValue = 6, - AggregateCountClaimValue = 7, - VerifyCountClaimValue = 8, - ParMarkRootClaimValue = 9 - }; - // All allocated blocks are occupied by objects in a HeapRegion bool block_is_obj(const HeapWord* p) const; @@ -691,12 +675,6 @@ class HeapRegion: public G1OffsetTableContigSpace { return (HeapWord *) obj >= next_top_at_mark_start(); } - // For parallel heapRegion traversal. - bool claimHeapRegion(int claimValue); - jint claim_value() { return _claimed; } - // Use this carefully: only when you're sure no one is claiming... - void set_claim_value(int claimValue) { _claimed = claimValue; } - // Returns the "evacuation_failed" property of the region. bool evacuation_failed() { return _evacuation_failed; } diff --git a/hotspot/src/share/vm/gc_implementation/g1/heapRegionManager.cpp b/hotspot/src/share/vm/gc_implementation/g1/heapRegionManager.cpp index a88c4b355cf..5de9dbcce98 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/heapRegionManager.cpp +++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegionManager.cpp @@ -260,20 +260,17 @@ uint HeapRegionManager::find_unavailable_from_idx(uint start_idx, uint* res_idx) return num_regions; } -uint HeapRegionManager::start_region_for_worker(uint worker_i, uint num_workers, uint num_regions) const { - return num_regions * worker_i / num_workers; -} - -void HeapRegionManager::par_iterate(HeapRegionClosure* blk, uint worker_id, uint num_workers, jint claim_value) const { - const uint start_index = start_region_for_worker(worker_id, num_workers, _allocated_heapregions_length); +void HeapRegionManager::par_iterate(HeapRegionClosure* blk, uint worker_id, HeapRegionClaimer* hrclaimer) const { + const uint start_index = hrclaimer->start_region_for_worker(worker_id); // Every worker will actually look at all regions, skipping over regions that // are currently not committed. // This also (potentially) iterates over regions newly allocated during GC. This // is no problem except for some extra work. - for (uint count = 0; count < _allocated_heapregions_length; count++) { - const uint index = (start_index + count) % _allocated_heapregions_length; - assert(0 <= index && index < _allocated_heapregions_length, "sanity"); + const uint n_regions = hrclaimer->n_regions(); + for (uint count = 0; count < n_regions; count++) { + const uint index = (start_index + count) % n_regions; + assert(0 <= index && index < n_regions, "sanity"); // Skip over unavailable regions if (!is_available(index)) { continue; @@ -282,11 +279,11 @@ void HeapRegionManager::par_iterate(HeapRegionClosure* blk, uint worker_id, uint // We'll ignore "continues humongous" regions (we'll process them // when we come across their corresponding "start humongous" // region) and regions already claimed. - if (r->claim_value() == claim_value || r->is_continues_humongous()) { + if (hrclaimer->is_region_claimed(index) || r->is_continues_humongous()) { continue; } // OK, try to claim it - if (!r->claimHeapRegion(claim_value)) { + if (!hrclaimer->claim_region(index)) { continue; } // Success! @@ -306,13 +303,11 @@ void HeapRegionManager::par_iterate(HeapRegionClosure* blk, uint worker_id, uint assert(chr->humongous_start_region() == r, err_msg("Must work on humongous continuation of the original start region " PTR_FORMAT ", but is " PTR_FORMAT, p2i(r), p2i(chr))); - assert(chr->claim_value() != claim_value, + assert(!hrclaimer->is_region_claimed(ch_index), "Must not have been claimed yet because claiming of humongous continuation first claims the start region"); - bool claim_result = chr->claimHeapRegion(claim_value); - // We should always be able to claim it; no one else should - // be trying to claim this region. - guarantee(claim_result, "We should always be able to claim the is_continues_humongous part of the humongous object"); + // There's no need to actually claim the continues humongous region, but we can do it in an assert as an extra precaution. + assert(hrclaimer->claim_region(ch_index), "We should always be able to claim the continuesHumongous part of the humongous object"); bool res2 = blk->doHeapRegion(chr); if (res2) { @@ -445,3 +440,31 @@ void HeapRegionManager::verify_optional() { } #endif // PRODUCT +HeapRegionClaimer::HeapRegionClaimer(uint n_workers) : + _n_workers(n_workers), _n_regions(G1CollectedHeap::heap()->_hrm._allocated_heapregions_length), _claims(NULL) { + assert(n_workers > 0, "Need at least one worker."); + _claims = NEW_C_HEAP_ARRAY(uint, _n_regions, mtGC); + memset(_claims, Unclaimed, sizeof(*_claims) * _n_regions); +} + +HeapRegionClaimer::~HeapRegionClaimer() { + if (_claims != NULL) { + FREE_C_HEAP_ARRAY(uint, _claims, mtGC); + } +} + +uint HeapRegionClaimer::start_region_for_worker(uint worker_id) const { + assert(worker_id < _n_workers, "Invalid worker_id."); + return _n_regions * worker_id / _n_workers; +} + +bool HeapRegionClaimer::is_region_claimed(uint region_index) const { + assert(region_index < _n_regions, "Invalid index."); + return _claims[region_index] == Claimed; +} + +bool HeapRegionClaimer::claim_region(uint region_index) { + assert(region_index < _n_regions, "Invalid index."); + uint old_val = Atomic::cmpxchg(Claimed, &_claims[region_index], Unclaimed); + return old_val == Unclaimed; +} diff --git a/hotspot/src/share/vm/gc_implementation/g1/heapRegionManager.hpp b/hotspot/src/share/vm/gc_implementation/g1/heapRegionManager.hpp index 7f96df4b2b2..f94d20a5cf4 100644 --- a/hotspot/src/share/vm/gc_implementation/g1/heapRegionManager.hpp +++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegionManager.hpp @@ -31,6 +31,7 @@ class HeapRegion; class HeapRegionClosure; +class HeapRegionClaimer; class FreeRegionList; class G1HeapRegionTable : public G1BiasedMappedArray { @@ -66,6 +67,7 @@ class G1HeapRegionTable : public G1BiasedMappedArray { class HeapRegionManager: public CHeapObj { friend class VMStructs; + friend class HeapRegionClaimer; G1HeapRegionTable _regions; @@ -99,9 +101,6 @@ class HeapRegionManager: public CHeapObj { // Notify other data structures about change in the heap layout. void update_committed_space(HeapWord* old_end, HeapWord* new_end); - // Calculate the starting region for each worker during parallel iteration so - // that they do not all start from the same region. - uint start_region_for_worker(uint worker_i, uint num_workers, uint num_regions) const; // Find a contiguous set of empty or uncommitted regions of length num and return // the index of the first region or G1_NO_HRM_INDEX if the search was unsuccessful. @@ -223,7 +222,7 @@ public: // terminating the iteration early if doHeapRegion() returns true. void iterate(HeapRegionClosure* blk) const; - void par_iterate(HeapRegionClosure* blk, uint worker_id, uint no_of_par_workers, jint claim_value) const; + void par_iterate(HeapRegionClosure* blk, uint worker_id, HeapRegionClaimer* hrclaimer) const; // Uncommit up to num_regions_to_remove regions that are completely free. // Return the actual number of uncommitted regions. @@ -235,5 +234,33 @@ public: void verify_optional() PRODUCT_RETURN; }; +// The HeapRegionClaimer is used during parallel iteration over heap regions, +// allowing workers to claim heap regions, gaining exclusive rights to these regions. +class HeapRegionClaimer : public StackObj { + uint _n_workers; + uint _n_regions; + uint* _claims; + + static const uint Unclaimed = 0; + static const uint Claimed = 1; + + public: + HeapRegionClaimer(uint n_workers); + ~HeapRegionClaimer(); + + inline uint n_regions() const { + return _n_regions; + } + + // Calculate the starting region for given worker so + // that they do not all start from the same region. + uint start_region_for_worker(uint worker_id) const; + + // Check if region has been claimed with this HRClaimer. + bool is_region_claimed(uint region_index) const; + + // Claim the given region, returns true if successfully claimed. + bool claim_region(uint region_index); +}; #endif // SHARE_VM_GC_IMPLEMENTATION_G1_HEAPREGIONMANAGER_HPP From 0898c94aacb5b42dd775ddb3f4ca40cf7ea12b61 Mon Sep 17 00:00:00 2001 From: Lance Andersen Date: Tue, 7 Oct 2014 14:03:43 -0400 Subject: [PATCH 54/83] 8059882: Disable RowSetFactory and RowSetProviderTests which are failing due to agentvm mode Reviewed-by: darcy --- .../test/rowset/RowSetFactoryTests.java | 2 +- .../test/rowset/RowSetProviderTests.java | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/jdk/test/javax/sql/testng/test/rowset/RowSetFactoryTests.java b/jdk/test/javax/sql/testng/test/rowset/RowSetFactoryTests.java index 0f3b4d50619..445d9352868 100644 --- a/jdk/test/javax/sql/testng/test/rowset/RowSetFactoryTests.java +++ b/jdk/test/javax/sql/testng/test/rowset/RowSetFactoryTests.java @@ -50,7 +50,7 @@ public class RowSetFactoryTests extends BaseTest { * Validate that the RowSetFactory returned by RowSetProvider.newFactory() * returns the correct RowSet implementations */ - @Test(dataProvider = "RowSetValues") + @Test(dataProvider = "RowSetValues", enabled = false) public void test(RowSetFactory rsf, String impl) throws SQLException { validateRowSetImpl(rsf, impl); } diff --git a/jdk/test/javax/sql/testng/test/rowset/RowSetProviderTests.java b/jdk/test/javax/sql/testng/test/rowset/RowSetProviderTests.java index a773d51a439..3eab5c802ad 100644 --- a/jdk/test/javax/sql/testng/test/rowset/RowSetProviderTests.java +++ b/jdk/test/javax/sql/testng/test/rowset/RowSetProviderTests.java @@ -54,7 +54,8 @@ public class RowSetProviderTests extends BaseTest { private static String jarPath; /* - * Save off the original property value for javax.sql.rowset.RowSetFactory + * Save off the original property value for javax.sql.rowset.RowSetFactory, + * original classloader and define the path to the jars directory */ @BeforeClass public static void setUpClass() throws Exception { @@ -76,7 +77,8 @@ public class RowSetProviderTests extends BaseTest { } /* - * Clear the javax.sql.rowset.RowSetFactory property value + * Clear the javax.sql.rowset.RowSetFactory property value and + * reset the classloader to its original value */ @AfterMethod public void tearDownMethod() throws Exception { @@ -107,8 +109,8 @@ public class RowSetProviderTests extends BaseTest { * Validate that the correct RowSetFactory is returned by newFactory() * when specified by the javax.sql.rowset.RowSetFactory property. */ - @Test - public void test2() throws SQLException { + @Test(enabled = false) + public void test02() throws SQLException { System.setProperty("javax.sql.rowset.RowSetFactory", STUB_FACTORY_CLASSNAME); validateProvider(RowSetProvider.newFactory(), STUB_FACTORY_CLASSNAME); } @@ -119,7 +121,7 @@ public class RowSetProviderTests extends BaseTest { * javax.sql.rowset.RowSetFactory property is not valid. */ @Test(expectedExceptions = SQLException.class) - public void test3() throws SQLException { + public void test03() throws SQLException { System.setProperty("javax.sql.rowset.RowSetFactory", "invalid.RowSetFactoryImpl"); RowSetFactory rsf = RowSetProvider.newFactory(); @@ -130,7 +132,7 @@ public class RowSetProviderTests extends BaseTest { * when specified by the ServiceLoader API. */ @Test - public void test4() throws Exception { + public void test04() throws Exception { File f = new File(jarPath + "goodFactory.jar"); URLClassLoader loader = new URLClassLoader(new URL[]{ new URL(f.toURI().toString())}, getClass().getClassLoader()); @@ -140,16 +142,15 @@ public class RowSetProviderTests extends BaseTest { /* * Validate that a SQLException is thrown by newFactory() if the default - *RowSetFactory specified by the ServlceLoader API is not valid + * RowSetFactory specified by the ServlceLoader API is not valid */ @Test(expectedExceptions = SQLException.class) - public void test5() throws Exception { + public void test05() throws Exception { File f = new File(jarPath + "badFactory.jar"); URLClassLoader loader = new URLClassLoader(new URL[]{ new URL(f.toURI().toString())}, getClass().getClassLoader()); Thread.currentThread().setContextClassLoader(loader); RowSetProvider.newFactory(); - } /* @@ -167,7 +168,6 @@ public class RowSetProviderTests extends BaseTest { break; default: } - } /* @@ -177,12 +177,12 @@ public class RowSetProviderTests extends BaseTest { @DataProvider(name = "RowSetFactoryValues") private Object[][] RowSetFactoryValues() throws SQLException { RowSetFactory rsf = RowSetProvider.newFactory(); - RowSetFactory rsf1 = RowSetProvider.newFactory(STUB_FACTORY_CLASSNAME, null); + //RowSetFactory rsf1 = RowSetProvider.newFactory(STUB_FACTORY_CLASSNAME, null); RowSetFactory rsf2 = RowSetProvider.newFactory(DEFFAULT_FACTORY_CLASSNAME, null); return new Object[][]{ {rsf, NO_VALADATE_IMPL}, {rsf, DEFFAULT_FACTORY_CLASSNAME}, - {rsf1, STUB_FACTORY_CLASSNAME}, + // {rsf1, STUB_FACTORY_CLASSNAME}, {rsf2, DEFFAULT_FACTORY_CLASSNAME} }; } From cc65df9be17ecdc8cce9028661f951fa146daffd Mon Sep 17 00:00:00 2001 From: Mandy Chung Date: Tue, 7 Oct 2014 19:22:24 -0700 Subject: [PATCH 55/83] 8056909: test/sun/reflect/CallerSensitive/CallerSensitiveFinder.java fails with OOME Reviewed-by: darcy --- jdk/test/sun/reflect/CallerSensitive/CallerSensitiveFinder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jdk/test/sun/reflect/CallerSensitive/CallerSensitiveFinder.java b/jdk/test/sun/reflect/CallerSensitive/CallerSensitiveFinder.java index 868addd35c9..6d81b6eb23c 100644 --- a/jdk/test/sun/reflect/CallerSensitive/CallerSensitiveFinder.java +++ b/jdk/test/sun/reflect/CallerSensitive/CallerSensitiveFinder.java @@ -47,7 +47,7 @@ import java.util.concurrent.FutureTask; * @summary Verify if CallerSensitive methods are annotated with * sun.reflect.CallerSensitive annotation * @build CallerSensitiveFinder - * @run main/othervm/timeout=900 -mx600m CallerSensitiveFinder + * @run main/othervm/timeout=900 CallerSensitiveFinder */ public class CallerSensitiveFinder { private static int numThreads = 3; From 6ca1b648836800ed26c2f315bbdaf4580d94266d Mon Sep 17 00:00:00 2001 From: Jason Uh Date: Tue, 7 Oct 2014 22:23:19 -0700 Subject: [PATCH 56/83] 8037550: Update RFC references in javadoc to RFC 5280 Reviewed-by: mullan --- .../share/classes/java/security/Key.java | 4 +-- .../classes/java/security/cert/CRLReason.java | 6 ++--- .../java/security/cert/PKIXReason.java | 4 +-- .../java/security/cert/TrustAnchor.java | 10 +++---- .../classes/java/security/cert/X509CRL.java | 4 +-- .../java/security/cert/X509CRLSelector.java | 4 +-- .../java/security/cert/X509CertSelector.java | 26 +++++++++---------- .../java/security/cert/X509Certificate.java | 10 +++---- .../security/auth/x500/X500Principal.java | 12 ++++----- .../security/auth/x500/package-info.java | 12 ++++----- .../sun/security/provider/SunEntries.java | 8 +++--- .../certpath/DistributionPointFetcher.java | 2 +- .../provider/certpath/PolicyChecker.java | 4 +-- .../provider/certpath/PolicyNodeImpl.java | 4 +-- .../provider/certpath/RevocationChecker.java | 14 +++++----- .../provider/certpath/SunCertPathBuilder.java | 4 +-- .../sun/security/util/DerInputBuffer.java | 4 +-- .../sun/security/util/DerOutputStream.java | 4 +-- .../classes/sun/security/util/DerValue.java | 6 ++--- .../x509/AuthorityInfoAccessExtension.java | 4 +-- .../x509/CertificateIssuerExtension.java | 4 +-- .../x509/DeltaCRLIndicatorExtension.java | 4 +-- .../x509/ExtendedKeyUsageExtension.java | 4 +-- .../security/x509/FreshestCRLExtension.java | 4 +-- .../x509/InvalidityDateExtension.java | 4 +-- .../IssuingDistributionPointExtension.java | 4 +-- .../share/classes/sun/security/x509/RDN.java | 4 +-- .../share/classes/sun/security/x509/README | 2 +- .../x509/SubjectInfoAccessExtension.java | 4 +-- .../classes/sun/security/x509/URIName.java | 14 +++++----- .../classes/sun/security/x509/X500Name.java | 10 +++---- .../sun/security/x509/X509CRLImpl.java | 4 +-- .../sun/security/x509/X509CertInfo.java | 4 +-- .../share/conf/security/java.security | 2 +- .../tools/jarsigner/TimestampedSigner.java | 4 +-- 35 files changed, 109 insertions(+), 109 deletions(-) diff --git a/jdk/src/java.base/share/classes/java/security/Key.java b/jdk/src/java.base/share/classes/java/security/Key.java index c0c63d7c7c1..09542e394a2 100644 --- a/jdk/src/java.base/share/classes/java/security/Key.java +++ b/jdk/src/java.base/share/classes/java/security/Key.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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,7 +63,7 @@ package java.security; * * * For more information, see - * RFC 3280: + * RFC 5280: * Internet X.509 Public Key Infrastructure Certificate and CRL Profile. * *

    2. A Format diff --git a/jdk/src/java.base/share/classes/java/security/cert/CRLReason.java b/jdk/src/java.base/share/classes/java/security/cert/CRLReason.java index ac0b9e9c24f..79d4729d0b8 100644 --- a/jdk/src/java.base/share/classes/java/security/cert/CRLReason.java +++ b/jdk/src/java.base/share/classes/java/security/cert/CRLReason.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2014, 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,8 +27,8 @@ package java.security.cert; /** * The CRLReason enumeration specifies the reason that a certificate - * is revoked, as defined in - * RFC 3280: Internet X.509 Public Key Infrastructure Certificate and CRL + * is revoked, as defined in + * RFC 5280: Internet X.509 Public Key Infrastructure Certificate and CRL * Profile. * * @author Sean Mullan diff --git a/jdk/src/java.base/share/classes/java/security/cert/PKIXReason.java b/jdk/src/java.base/share/classes/java/security/cert/PKIXReason.java index d58ded97541..e9c48729934 100644 --- a/jdk/src/java.base/share/classes/java/security/cert/PKIXReason.java +++ b/jdk/src/java.base/share/classes/java/security/cert/PKIXReason.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2008, 2014, 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,7 +28,7 @@ package java.security.cert; /** * The {@code PKIXReason} enumerates the potential PKIX-specific reasons * that an X.509 certification path may be invalid according to the PKIX - * (RFC 3280) standard. These reasons are in addition to those of the + * (RFC 5280) standard. These reasons are in addition to those of the * {@code CertPathValidatorException.BasicReason} enumeration. * * @since 1.7 diff --git a/jdk/src/java.base/share/classes/java/security/cert/TrustAnchor.java b/jdk/src/java.base/share/classes/java/security/cert/TrustAnchor.java index f7fb2c89497..8b765a29ced 100644 --- a/jdk/src/java.base/share/classes/java/security/cert/TrustAnchor.java +++ b/jdk/src/java.base/share/classes/java/security/cert/TrustAnchor.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2014, 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,7 @@ public class TrustAnchor { * The name constraints are specified as a byte array. This byte array * should contain the DER encoded form of the name constraints, as they * would appear in the NameConstraints structure defined in - * RFC 3280 + * RFC 5280 * and X.509. The ASN.1 definition of this structure appears below. * *
      {@code
      @@ -140,7 +140,7 @@ public class TrustAnchor {
            * 

      * The name constraints are specified as a byte array. This byte array * contains the DER encoded form of the name constraints, as they - * would appear in the NameConstraints structure defined in RFC 3280 + * would appear in the NameConstraints structure defined in RFC 5280 * and X.509. The ASN.1 notation for this structure is supplied in the * documentation for * {@link #TrustAnchor(X509Certificate, byte[]) @@ -179,7 +179,7 @@ public class TrustAnchor { *

      * The name constraints are specified as a byte array. This byte array * contains the DER encoded form of the name constraints, as they - * would appear in the NameConstraints structure defined in RFC 3280 + * would appear in the NameConstraints structure defined in RFC 5280 * and X.509. The ASN.1 notation for this structure is supplied in the * documentation for * {@link #TrustAnchor(X509Certificate, byte[]) @@ -294,7 +294,7 @@ public class TrustAnchor { *

      * The name constraints are returned as a byte array. This byte array * contains the DER encoded form of the name constraints, as they - * would appear in the NameConstraints structure defined in RFC 3280 + * would appear in the NameConstraints structure defined in RFC 5280 * and X.509. The ASN.1 notation for this structure is supplied in the * documentation for * {@link #TrustAnchor(X509Certificate, byte[]) diff --git a/jdk/src/java.base/share/classes/java/security/cert/X509CRL.java b/jdk/src/java.base/share/classes/java/security/cert/X509CRL.java index 5ce84847fa5..21332907357 100644 --- a/jdk/src/java.base/share/classes/java/security/cert/X509CRL.java +++ b/jdk/src/java.base/share/classes/java/security/cert/X509CRL.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -69,7 +69,7 @@ import sun.security.x509.X509CRLImpl; *

      *

      * More information can be found in - * RFC 3280: Internet X.509 + * RFC 5280: Internet X.509 * Public Key Infrastructure Certificate and CRL Profile. *

      * The ASN.1 definition of {@code tbsCertList} is: diff --git a/jdk/src/java.base/share/classes/java/security/cert/X509CRLSelector.java b/jdk/src/java.base/share/classes/java/security/cert/X509CRLSelector.java index a0e6b5b600a..f761721007a 100644 --- a/jdk/src/java.base/share/classes/java/security/cert/X509CRLSelector.java +++ b/jdk/src/java.base/share/classes/java/security/cert/X509CRLSelector.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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 @@ -52,7 +52,7 @@ import sun.security.x509.X500Name; * {@link CertStore#getCRLs CertStore.getCRLs} or some similar * method. *

      - * Please refer to RFC 3280: + * Please refer to RFC 5280: * Internet X.509 Public Key Infrastructure Certificate and CRL Profile * for definitions of the X.509 CRL fields and extensions mentioned below. *

      diff --git a/jdk/src/java.base/share/classes/java/security/cert/X509CertSelector.java b/jdk/src/java.base/share/classes/java/security/cert/X509CertSelector.java index feb85d28b58..4f65941f332 100644 --- a/jdk/src/java.base/share/classes/java/security/cert/X509CertSelector.java +++ b/jdk/src/java.base/share/classes/java/security/cert/X509CertSelector.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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 @@ -65,7 +65,7 @@ import sun.security.x509.*; * number. Other unique combinations include the issuer, subject, * subjectKeyIdentifier and/or the subjectPublicKey criteria. *

      - * Please refer to RFC 3280: + * Please refer to RFC 5280: * Internet X.509 Public Key Infrastructure Certificate and CRL Profile for * definitions of the X.509 certificate extensions mentioned below. *

      @@ -728,7 +728,7 @@ public class X509CertSelector implements CertSelector { * The name is provided in string format. * RFC 822, DNS, and URI * names use the well-established string formats for those types (subject to - * the restrictions included in RFC 3280). IPv4 address names are + * the restrictions included in RFC 5280). IPv4 address names are * supplied using dotted quad notation. OID address names are represented * as a series of nonnegative integers separated by periods. And * directory names (distinguished names) are supplied in RFC 2253 format. @@ -746,7 +746,7 @@ public class X509CertSelector implements CertSelector { * String form of some distinguished names. * * @param type the name type (0-8, as specified in - * RFC 3280, section 4.2.1.7) + * RFC 5280, section 4.2.1.6) * @param name the name in string form (not {@code null}) * @throws IOException if a parsing error occurs */ @@ -770,7 +770,7 @@ public class X509CertSelector implements CertSelector { *

      * The name is provided as a byte array. This byte array should contain * the DER encoded name, as it would appear in the GeneralName structure - * defined in RFC 3280 and X.509. The encoded byte array should only contain + * defined in RFC 5280 and X.509. The encoded byte array should only contain * the encoded value of the name, and should not include the tag associated * with the name in the GeneralName structure. The ASN.1 definition of this * structure appears below. @@ -806,7 +806,7 @@ public class X509CertSelector implements CertSelector { * must contain the specified subjectAlternativeName. * * @param type the name type (0-8, as specified in - * RFC 3280, section 4.2.1.7) + * RFC 5280, section 4.2.1.6) * @param name the name in string or byte array form * @throws IOException if a parsing error occurs */ @@ -995,7 +995,7 @@ public class X509CertSelector implements CertSelector { *

      * The name constraints are specified as a byte array. This byte array * should contain the DER encoded form of the name constraints, as they - * would appear in the NameConstraints structure defined in RFC 3280 + * would appear in the NameConstraints structure defined in RFC 5280 * and X.509. The ASN.1 definition of this structure appears below. * *

      {@code
      @@ -1197,7 +1197,7 @@ public class X509CertSelector implements CertSelector {
            * 

      * The name is provided in string format. RFC 822, DNS, and URI names * use the well-established string formats for those types (subject to - * the restrictions included in RFC 3280). IPv4 address names are + * the restrictions included in RFC 5280). IPv4 address names are * supplied using dotted quad notation. OID address names are represented * as a series of nonnegative integers separated by periods. And * directory names (distinguished names) are supplied in RFC 2253 format. @@ -1214,7 +1214,7 @@ public class X509CertSelector implements CertSelector { * String form of some distinguished names. * * @param type the name type (0-8, as specified in - * RFC 3280, section 4.2.1.7) + * RFC 5280, section 4.2.1.6) * @param name the name in string form * @throws IOException if a parsing error occurs */ @@ -1234,7 +1234,7 @@ public class X509CertSelector implements CertSelector { *

      * The name is provided as a byte array. This byte array should contain * the DER encoded name, as it would appear in the GeneralName structure - * defined in RFC 3280 and X.509. The ASN.1 definition of this structure + * defined in RFC 5280 and X.509. The ASN.1 definition of this structure * appears in the documentation for * {@link #addSubjectAlternativeName(int type, byte [] name) * addSubjectAlternativeName(int type, byte [] name)}. @@ -1243,7 +1243,7 @@ public class X509CertSelector implements CertSelector { * subsequent modifications. * * @param type the name type (0-8, as specified in - * RFC 3280, section 4.2.1.7) + * RFC 5280, section 4.2.1.6) * @param name a byte array containing the name in ASN.1 DER encoded form * @throws IOException if a parsing error occurs */ @@ -1258,7 +1258,7 @@ public class X509CertSelector implements CertSelector { * the specified pathToName. * * @param type the name type (0-8, as specified in - * RFC 3280, section 4.2.1.7) + * RFC 5280, section 4.2.1.6) * @param name the name in string or byte array form * @throws IOException if an encoding error occurs (incorrect form for DN) */ @@ -1715,7 +1715,7 @@ public class X509CertSelector implements CertSelector { *

      * The name constraints are returned as a byte array. This byte array * contains the DER encoded form of the name constraints, as they - * would appear in the NameConstraints structure defined in RFC 3280 + * would appear in the NameConstraints structure defined in RFC 5280 * and X.509. The ASN.1 notation for this structure is supplied in the * documentation for * {@link #setNameConstraints(byte [] bytes) setNameConstraints(byte [] bytes)}. diff --git a/jdk/src/java.base/share/classes/java/security/cert/X509Certificate.java b/jdk/src/java.base/share/classes/java/security/cert/X509Certificate.java index 0aba5da60c0..174d6a73838 100644 --- a/jdk/src/java.base/share/classes/java/security/cert/X509Certificate.java +++ b/jdk/src/java.base/share/classes/java/security/cert/X509Certificate.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2014, 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,7 +63,7 @@ import sun.security.x509.X509CertImpl; * CA such as a "root" CA. *

      * More information can be found in - * RFC 3280: Internet X.509 + * RFC 5280: Internet X.509 * Public Key Infrastructure Certificate and CRL Profile. *

      * The ASN.1 definition of {@code tbsCertificate} is: @@ -408,7 +408,7 @@ implements X509Extension { * Gets the {@code issuerUniqueID} value from the certificate. * The issuer unique identifier is present in the certificate * to handle the possibility of reuse of issuer names over time. - * RFC 3280 recommends that names not be reused and that + * RFC 5280 recommends that names not be reused and that * conforming certificates not make use of unique identifiers. * Applications conforming to that profile should be capable of * parsing unique identifiers and making comparisons. @@ -459,7 +459,7 @@ implements X509Extension { * encipherOnly (7), * decipherOnly (8) } *

      - * RFC 3280 recommends that when used, this be marked + * RFC 5280 recommends that when used, this be marked * as a critical extension. * * @return the KeyUsage extension of this certificate, represented as @@ -572,7 +572,7 @@ implements X509Extension { * RFC 822, DNS, and URI * names are returned as {@code String}s, * using the well-established string formats for those types (subject to - * the restrictions included in RFC 3280). IPv4 address names are + * the restrictions included in RFC 5280). IPv4 address names are * returned using dotted quad notation. IPv6 address names are returned * in the form "a1:a2:...:a8", where a1-a8 are hexadecimal values * representing the eight 16-bit pieces of the address. OID names are diff --git a/jdk/src/java.base/share/classes/javax/security/auth/x500/X500Principal.java b/jdk/src/java.base/share/classes/javax/security/auth/x500/X500Principal.java index 77292b0be22..22366610981 100644 --- a/jdk/src/java.base/share/classes/javax/security/auth/x500/X500Principal.java +++ b/jdk/src/java.base/share/classes/javax/security/auth/x500/X500Principal.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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 @@ -41,13 +41,13 @@ import sun.security.util.*; * of the distinguished name, or by using the ASN.1 DER encoded byte * representation of the distinguished name. The current specification * for the string representation of a distinguished name is defined in - * RFC 2253: Lightweight + * RFC 2253: Lightweight * Directory Access Protocol (v3): UTF-8 String Representation of * Distinguished Names. This class, however, accepts string formats from - * both RFC 2253 and RFC 1779: + * both RFC 2253 and RFC 1779: * A String Representation of Distinguished Names, and also recognizes * attribute type keywords whose OIDs (Object Identifiers) are defined in - * RFC 3280: Internet X.509 + * RFC 5280: Internet X.509 * Public Key Infrastructure Certificate and CRL Profile. * *

      The string representation for this {@code X500Principal} @@ -108,7 +108,7 @@ public final class X500Principal implements Principal, java.io.Serializable { * (and listed in {@link #getName(String format) getName(String format)}), * as well as the T, DNQ or DNQUALIFIER, SURNAME, GIVENNAME, INITIALS, * GENERATION, EMAILADDRESS, and SERIALNUMBER keywords whose Object - * Identifiers (OIDs) are defined in RFC 3280 and its successor. + * Identifiers (OIDs) are defined in RFC 5280. * Any other attribute type must be specified as an OID. * *

      This implementation enforces a more restrictive OID syntax than @@ -456,7 +456,7 @@ public final class X500Principal implements Principal, java.io.Serializable { * (obtained via the {@code getName(X500Principal.CANONICAL)} method) * of this object and o are equal. * - *

      This implementation is compliant with the requirements of RFC 3280. + *

      This implementation is compliant with the requirements of RFC 5280. * * @param o Object to be compared for equality with this * {@code X500Principal} diff --git a/jdk/src/java.base/share/classes/javax/security/auth/x500/package-info.java b/jdk/src/java.base/share/classes/javax/security/auth/x500/package-info.java index e0febd2098c..38c6439092e 100644 --- a/jdk/src/java.base/share/classes/javax/security/auth/x500/package-info.java +++ b/jdk/src/java.base/share/classes/javax/security/auth/x500/package-info.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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,15 +31,15 @@ *

      Package Specification

      * * diff --git a/jdk/src/java.base/share/classes/sun/security/provider/SunEntries.java b/jdk/src/java.base/share/classes/sun/security/provider/SunEntries.java index 5a14e7bd702..d9f43cf2588 100644 --- a/jdk/src/java.base/share/classes/sun/security/provider/SunEntries.java +++ b/jdk/src/java.base/share/classes/sun/security/provider/SunEntries.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -64,7 +64,7 @@ import java.security.*; * and CRLs. Aliases for X.509 are X509. * * - PKIX is the certification path validation algorithm described - * in RFC 3280. The ValidationAlgorithm attribute notes the + * in RFC 5280. The ValidationAlgorithm attribute notes the * specification that this provider implements. * * - LDAP is the CertStore type for LDAP repositories. The @@ -250,7 +250,7 @@ final class SunEntries { map.put("CertPathBuilder.PKIX", "sun.security.provider.certpath.SunCertPathBuilder"); map.put("CertPathBuilder.PKIX ValidationAlgorithm", - "RFC3280"); + "RFC5280"); /* * CertPathValidator @@ -258,7 +258,7 @@ final class SunEntries { map.put("CertPathValidator.PKIX", "sun.security.provider.certpath.PKIXCertPathValidator"); map.put("CertPathValidator.PKIX ValidationAlgorithm", - "RFC3280"); + "RFC5280"); /* * CertStores diff --git a/jdk/src/java.base/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java b/jdk/src/java.base/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java index 7f275fb80e2..33b3348fc27 100644 --- a/jdk/src/java.base/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java +++ b/jdk/src/java.base/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java @@ -434,7 +434,7 @@ public class DistributionPointFetcher { } if (indirectCRL) { if (pointCrlIssuers.size() != 1) { - // RFC 3280: there must be only 1 CRL issuer + // RFC 5280: there must be only 1 CRL issuer // name when relativeName is present if (debug != null) { debug.println("must only be one CRL " + diff --git a/jdk/src/java.base/share/classes/sun/security/provider/certpath/PolicyChecker.java b/jdk/src/java.base/share/classes/sun/security/provider/certpath/PolicyChecker.java index ab8282037aa..dd030d3d9db 100644 --- a/jdk/src/java.base/share/classes/sun/security/provider/certpath/PolicyChecker.java +++ b/jdk/src/java.base/share/classes/sun/security/provider/certpath/PolicyChecker.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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 @@ -578,7 +578,7 @@ class PolicyChecker extends PKIXCertPathChecker { } /** - * Rewrite leaf nodes at the end of validation as described in RFC 3280 + * Rewrite leaf nodes at the end of validation as described in RFC 5280 * section 6.1.5: Step (g)(iii). Leaf nodes with anyPolicy are replaced * by nodes explicitly representing initial policies not already * represented by leaf nodes. diff --git a/jdk/src/java.base/share/classes/sun/security/provider/certpath/PolicyNodeImpl.java b/jdk/src/java.base/share/classes/sun/security/provider/certpath/PolicyNodeImpl.java index 02109d49d35..a42a1e8e273 100644 --- a/jdk/src/java.base/share/classes/sun/security/provider/certpath/PolicyNodeImpl.java +++ b/jdk/src/java.base/share/classes/sun/security/provider/certpath/PolicyNodeImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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 @@ -56,7 +56,7 @@ final class PolicyNodeImpl implements PolicyNode { private PolicyNodeImpl mParent; private HashSet mChildren; - // the 4 fields specified by RFC 3280 + // the 4 fields specified by RFC 5280 private String mValidPolicy; private HashSet mQualifierSet; private boolean mCriticalityIndicator; diff --git a/jdk/src/java.base/share/classes/sun/security/provider/certpath/RevocationChecker.java b/jdk/src/java.base/share/classes/sun/security/provider/certpath/RevocationChecker.java index f38e7dc5005..fddfaeaf2c0 100644 --- a/jdk/src/java.base/share/classes/sun/security/provider/certpath/RevocationChecker.java +++ b/jdk/src/java.base/share/classes/sun/security/provider/certpath/RevocationChecker.java @@ -472,9 +472,9 @@ class RevocationChecker extends PKIXRevocationChecker { " ---checking revocation status ..."); } - // reject circular dependencies - RFC 3280 is not explicit on how - // to handle this, so we feel it is safest to reject them until - // the issue is resolved in the PKIX WG. + // Reject circular dependencies - RFC 5280 is not explicit on how + // to handle this, but does suggest that they can be a security + // risk and can create unresolvable dependencies if (stackedCerts != null && stackedCerts.contains(cert)) { if (debug != null) { debug.println("RevocationChecker.checkCRLs()" + @@ -628,7 +628,7 @@ class RevocationChecker extends PKIXRevocationChecker { /* * Abort CRL validation and throw exception if there are any * unrecognized critical CRL entry extensions (see section - * 5.3 of RFC 3280). + * 5.3 of RFC 5280). */ Set unresCritExts = entry.getCriticalExtensionOIDs(); if (unresCritExts != null && !unresCritExts.isEmpty()) { @@ -880,9 +880,9 @@ class RevocationChecker extends PKIXRevocationChecker { " ---checking " + msg + "..."); } - // reject circular dependencies - RFC 3280 is not explicit on how - // to handle this, so we feel it is safest to reject them until - // the issue is resolved in the PKIX WG. + // Reject circular dependencies - RFC 5280 is not explicit on how + // to handle this, but does suggest that they can be a security + // risk and can create unresolvable dependencies if ((stackedCerts != null) && stackedCerts.contains(cert)) { if (debug != null) { debug.println( diff --git a/jdk/src/java.base/share/classes/sun/security/provider/certpath/SunCertPathBuilder.java b/jdk/src/java.base/share/classes/sun/security/provider/certpath/SunCertPathBuilder.java index 39507605c0f..6697364cbce 100644 --- a/jdk/src/java.base/share/classes/sun/security/provider/certpath/SunCertPathBuilder.java +++ b/jdk/src/java.base/share/classes/sun/security/provider/certpath/SunCertPathBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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 @@ -53,7 +53,7 @@ import sun.security.util.Debug; *

      If successful, it returns a certification path which has successfully * satisfied all the constraints and requirements specified in the * PKIXBuilderParameters object and has been validated according to the PKIX - * path validation algorithm defined in RFC 3280. + * path validation algorithm defined in RFC 5280. * *

      This implementation uses a depth-first search approach to finding * certification paths. If it comes to a point in which it cannot find diff --git a/jdk/src/java.base/share/classes/sun/security/util/DerInputBuffer.java b/jdk/src/java.base/share/classes/sun/security/util/DerInputBuffer.java index 786e7914bbf..26bd198741a 100644 --- a/jdk/src/java.base/share/classes/sun/security/util/DerInputBuffer.java +++ b/jdk/src/java.base/share/classes/sun/security/util/DerInputBuffer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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,7 +285,7 @@ class DerInputBuffer extends ByteArrayInputStream implements Cloneable { * YYMMDDhhmmss-hhmm * UTC Time is broken in storing only two digits of year. * If YY < 50, we assume 20YY; - * if YY >= 50, we assume 19YY, as per RFC 3280. + * if YY >= 50, we assume 19YY, as per RFC 5280. * * Generalized time has a four-digit year and allows any * precision specified in ISO 8601. However, for our purposes, diff --git a/jdk/src/java.base/share/classes/sun/security/util/DerOutputStream.java b/jdk/src/java.base/share/classes/sun/security/util/DerOutputStream.java index c517df8a43e..05a7b6346a3 100644 --- a/jdk/src/java.base/share/classes/sun/security/util/DerOutputStream.java +++ b/jdk/src/java.base/share/classes/sun/security/util/DerOutputStream.java @@ -461,7 +461,7 @@ extends ByteArrayOutputStream implements DerEncoder { * Marshals a DER UTC time/date value. * *

      YYMMDDhhmmss{Z|+hhmm|-hhmm} ... emits only using Zulu time - * and with seconds (even if seconds=0) as per RFC 3280. + * and with seconds (even if seconds=0) as per RFC 5280. */ public void putUTCTime(Date d) throws IOException { putTime(d, DerValue.tag_UtcTime); @@ -471,7 +471,7 @@ extends ByteArrayOutputStream implements DerEncoder { * Marshals a DER Generalized Time/date value. * *

      YYYYMMDDhhmmss{Z|+hhmm|-hhmm} ... emits only using Zulu time - * and with seconds (even if seconds=0) as per RFC 3280. + * and with seconds (even if seconds=0) as per RFC 5280. */ public void putGeneralizedTime(Date d) throws IOException { putTime(d, DerValue.tag_GeneralizedTime); diff --git a/jdk/src/java.base/share/classes/sun/security/util/DerValue.java b/jdk/src/java.base/share/classes/sun/security/util/DerValue.java index 0a539738d67..4b142bd4bfd 100644 --- a/jdk/src/java.base/share/classes/sun/security/util/DerValue.java +++ b/jdk/src/java.base/share/classes/sun/security/util/DerValue.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -45,8 +45,8 @@ import sun.misc.IOUtils; * (such as PKCS #10 certificate requests, and some kinds of PKCS #7 data). * * A note with respect to T61/Teletex strings: From RFC 1617, section 4.1.3 - * and RFC 3280, section 4.1.2.4., we assume that this kind of string will - * contain ISO-8859-1 characters only. + * and RFC 5280, section 8, we assume that this kind of string will contain + * ISO-8859-1 characters only. * * * @author David Brownell diff --git a/jdk/src/java.base/share/classes/sun/security/x509/AuthorityInfoAccessExtension.java b/jdk/src/java.base/share/classes/sun/security/x509/AuthorityInfoAccessExtension.java index 725c753e650..afc642df2f7 100644 --- a/jdk/src/java.base/share/classes/sun/security/x509/AuthorityInfoAccessExtension.java +++ b/jdk/src/java.base/share/classes/sun/security/x509/AuthorityInfoAccessExtension.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2004, 2014, 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 @@ -43,7 +43,7 @@ import sun.security.util.DerValue; * certificate that identifies the specific OCSP Responder to use when * performing on-line validation of that certificate. *

      - * This extension is defined in + * This extension is defined in * Internet X.509 PKI Certificate and Certificate Revocation List * (CRL) Profile. The profile permits * the extension to be included in end-entity or CA certificates, diff --git a/jdk/src/java.base/share/classes/sun/security/x509/CertificateIssuerExtension.java b/jdk/src/java.base/share/classes/sun/security/x509/CertificateIssuerExtension.java index b7739707ddf..0dd8f39642a 100644 --- a/jdk/src/java.base/share/classes/sun/security/x509/CertificateIssuerExtension.java +++ b/jdk/src/java.base/share/classes/sun/security/x509/CertificateIssuerExtension.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2014, 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 @@ -44,7 +44,7 @@ import sun.security.util.DerOutputStream; *

      * If used by conforming CRL issuers, this extension is always * critical. If an implementation ignored this extension it could not - * correctly attribute CRL entries to certificates. PKIX (RFC 3280) + * correctly attribute CRL entries to certificates. PKIX (RFC 5280) * RECOMMENDS that implementations recognize this extension. *

      * The ASN.1 definition for this is: diff --git a/jdk/src/java.base/share/classes/sun/security/x509/DeltaCRLIndicatorExtension.java b/jdk/src/java.base/share/classes/sun/security/x509/DeltaCRLIndicatorExtension.java index 69be1457c00..4b032239398 100644 --- a/jdk/src/java.base/share/classes/sun/security/x509/DeltaCRLIndicatorExtension.java +++ b/jdk/src/java.base/share/classes/sun/security/x509/DeltaCRLIndicatorExtension.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, 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 @@ -45,7 +45,7 @@ import sun.security.util.*; * *

      * The extension is defined in Section 5.2.4 of - * Internet X.509 PKI Certific + * Internet X.509 PKI Certific ate and Certificate Revocation List (CRL) Profile. * *

      diff --git a/jdk/src/java.base/share/classes/sun/security/x509/ExtendedKeyUsageExtension.java b/jdk/src/java.base/share/classes/sun/security/x509/ExtendedKeyUsageExtension.java index 680846029bd..dc820770ef8 100644 --- a/jdk/src/java.base/share/classes/sun/security/x509/ExtendedKeyUsageExtension.java +++ b/jdk/src/java.base/share/classes/sun/security/x509/ExtendedKeyUsageExtension.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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,7 @@ implements CertAttrSet { public static final String NAME = "ExtendedKeyUsage"; public static final String USAGES = "usages"; - // OID defined in RFC 3280 Sections 4.2.1.13 + // OID defined in RFC 5280 Sections 4.2.1.12 // more from http://www.alvestrand.no/objectid/1.3.6.1.5.5.7.3.html private static final Map map = new HashMap (); diff --git a/jdk/src/java.base/share/classes/sun/security/x509/FreshestCRLExtension.java b/jdk/src/java.base/share/classes/sun/security/x509/FreshestCRLExtension.java index 775e2ac0329..3d0723da5bf 100644 --- a/jdk/src/java.base/share/classes/sun/security/x509/FreshestCRLExtension.java +++ b/jdk/src/java.base/share/classes/sun/security/x509/FreshestCRLExtension.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, 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 @@ -42,7 +42,7 @@ import sun.security.util.*; * *

      * The extension is defined in Section 5.2.6 of - * Internet X.509 PKI Certific + * Internet X.509 PKI Certific ate and Certificate Revocation List (CRL) Profile. * *

      diff --git a/jdk/src/java.base/share/classes/sun/security/x509/InvalidityDateExtension.java b/jdk/src/java.base/share/classes/sun/security/x509/InvalidityDateExtension.java index eda0216489e..7fac65f3ee5 100644 --- a/jdk/src/java.base/share/classes/sun/security/x509/InvalidityDateExtension.java +++ b/jdk/src/java.base/share/classes/sun/security/x509/InvalidityDateExtension.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2014, 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,7 +33,7 @@ import java.util.Enumeration; import sun.security.util.*; /** - * From RFC 3280: + * From RFC 5280: *

      * The invalidity date is a non-critical CRL entry extension that * provides the date on which it is known or suspected that the private diff --git a/jdk/src/java.base/share/classes/sun/security/x509/IssuingDistributionPointExtension.java b/jdk/src/java.base/share/classes/sun/security/x509/IssuingDistributionPointExtension.java index 6a932587c5f..4be49475ded 100644 --- a/jdk/src/java.base/share/classes/sun/security/x509/IssuingDistributionPointExtension.java +++ b/jdk/src/java.base/share/classes/sun/security/x509/IssuingDistributionPointExtension.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, 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,7 +46,7 @@ import sun.security.util.DerValue; * *

      * The extension is defined in Section 5.2.5 of - * Internet X.509 PKI Certific + * Internet X.509 PKI Certific ate and Certificate Revocation List (CRL) Profile. * *

      diff --git a/jdk/src/java.base/share/classes/sun/security/x509/RDN.java b/jdk/src/java.base/share/classes/sun/security/x509/RDN.java index 05822590de8..940c977cc1d 100644 --- a/jdk/src/java.base/share/classes/sun/security/x509/RDN.java +++ b/jdk/src/java.base/share/classes/sun/security/x509/RDN.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2014, 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 @@ -341,7 +341,7 @@ public class RDN { /* * Returns a printable form of this RDN, using RFC 1779 style catenation * of attribute/value assertions, and emitting attribute type keywords - * from RFCs 1779, 2253, and 3280. + * from RFCs 1779, 2253, and 5280. */ public String toString() { if (assertion.length == 1) { diff --git a/jdk/src/java.base/share/classes/sun/security/x509/README b/jdk/src/java.base/share/classes/sun/security/x509/README index 31a12918659..f18a3735239 100644 --- a/jdk/src/java.base/share/classes/sun/security/x509/README +++ b/jdk/src/java.base/share/classes/sun/security/x509/README @@ -34,7 +34,7 @@ found in: Protocol (LDAP) that many organizations are expecting will help address online certificate distribution over the Internet. - RFC 3280, which describes the Internet X.509 Public Key + RFC 5280, which describes the Internet X.509 Public Key Infrastructure Certificate and CRL Profile. RSA DSI has a bunch of "Public Key Cryptography Standards" (PKCS) which diff --git a/jdk/src/java.base/share/classes/sun/security/x509/SubjectInfoAccessExtension.java b/jdk/src/java.base/share/classes/sun/security/x509/SubjectInfoAccessExtension.java index 2f851f7dbec..20e6489398b 100644 --- a/jdk/src/java.base/share/classes/sun/security/x509/SubjectInfoAccessExtension.java +++ b/jdk/src/java.base/share/classes/sun/security/x509/SubjectInfoAccessExtension.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2014, 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,7 +47,7 @@ import sun.security.util.DerValue; * included in end entity or CA certificates. Conforming CAs MUST mark * this extension as non-critical. *

      - * This extension is defined in + * This extension is defined in * Internet X.509 PKI Certificate and Certificate Revocation List * (CRL) Profile. The profile permits * the extension to be included in end-entity or CA certificates, diff --git a/jdk/src/java.base/share/classes/sun/security/x509/URIName.java b/jdk/src/java.base/share/classes/sun/security/x509/URIName.java index 034117e2a05..a1eef610b67 100644 --- a/jdk/src/java.base/share/classes/sun/security/x509/URIName.java +++ b/jdk/src/java.base/share/classes/sun/security/x509/URIName.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -35,15 +35,15 @@ import sun.security.util.*; * This class implements the URIName as required by the GeneralNames * ASN.1 object. *

      - * [RFC3280] When the subjectAltName extension contains a URI, the name MUST be + * [RFC5280] When the subjectAltName extension contains a URI, the name MUST be * stored in the uniformResourceIdentifier (an IA5String). The name MUST * be a non-relative URL, and MUST follow the URL syntax and encoding - * rules specified in [RFC 1738]. The name must include both a scheme + * rules specified in [RFC 3986]. The name must include both a scheme * (e.g., "http" or "ftp") and a scheme-specific-part. The scheme- * specific-part must include a fully qualified domain name or IP * address as the host. *

      - * As specified in [RFC 1738], the scheme name is not case-sensitive + * As specified in [RFC 3986], the scheme name is not case-sensitive * (e.g., "http" is equivalent to "HTTP"). The host part is also not * case-sensitive, but other components of the scheme-specific-part may * be case-sensitive. When comparing URIs, conforming implementations @@ -113,7 +113,7 @@ public class URIName implements GeneralNameInterface { } host = uri.getHost(); - // RFC 3280 says that the host should be non-null, but we allow it to + // RFC 5280 says that the host should be non-null, but we allow it to // be null because some widely deployed certificates contain CDP // extensions with URIs that have no hostname (see bugs 4802236 and // 5107944). @@ -148,7 +148,7 @@ public class URIName implements GeneralNameInterface { /** * Create the URIName object with the specified name constraint. URI * name constraints syntax is different than SubjectAltNames, etc. See - * 4.2.1.11 of RFC 3280. + * 4.2.1.10 of RFC 5280. * * @param value the URI name constraint * @throws IOException if name is not a proper URI name constraint @@ -300,7 +300,7 @@ public class URIName implements GeneralNameInterface { * These results are used in checking NameConstraints during * certification path verification. *

      - * RFC3280: For URIs, the constraint applies to the host part of the name. + * RFC5280: For URIs, the constraint applies to the host part of the name. * The constraint may specify a host or a domain. Examples would be * "foo.bar.com"; and ".xyz.com". When the the constraint begins with * a period, it may be expanded with one or more subdomains. That is, diff --git a/jdk/src/java.base/share/classes/sun/security/x509/X500Name.java b/jdk/src/java.base/share/classes/sun/security/x509/X500Name.java index 3cc7b93cf33..8caef8c0820 100644 --- a/jdk/src/java.base/share/classes/sun/security/x509/X500Name.java +++ b/jdk/src/java.base/share/classes/sun/security/x509/X500Name.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2014, 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 @@ -605,7 +605,7 @@ public class X500Name implements GeneralNameInterface, Principal { * Returns a string form of the X.500 distinguished name. * The format of the string is from RFC 1779. The returned string * may contain non-standardised keywords for more readability - * (keywords from RFCs 1779, 2253, and 3280). + * (keywords from RFCs 1779, 2253, and 5280). */ public String toString() { if (dn == null) { @@ -866,7 +866,7 @@ public class X500Name implements GeneralNameInterface, Principal { * O="Sue, Grabbit and Runn" or * O=Sue\, Grabbit and Runn * - * This method can parse RFC 1779, 2253 or 4514 DNs and non-standard 3280 + * This method can parse RFC 1779, 2253 or 4514 DNs and non-standard 5280 * keywords. Additional keywords can be specified in the keyword/OID map. */ private void parseDN(String input, Map keywordMap) @@ -1122,7 +1122,7 @@ public class X500Name implements GeneralNameInterface, Principal { /* * Selected OIDs from X.520 - * Includes all those specified in RFC 3280 as MUST or SHOULD + * Includes all those specified in RFC 5280 as MUST or SHOULD * be recognized */ private static final int commonName_data[] = { 2, 5, 4, 3 }; @@ -1220,7 +1220,7 @@ public class X500Name implements GeneralNameInterface, Principal { ipAddress_oid = intern(ObjectIdentifier.newInternal(ipAddress_data)); /* - * Domain component OID from RFC 1274, RFC 2247, RFC 3280 + * Domain component OID from RFC 1274, RFC 2247, RFC 5280 */ /* diff --git a/jdk/src/java.base/share/classes/sun/security/x509/X509CRLImpl.java b/jdk/src/java.base/share/classes/sun/security/x509/X509CRLImpl.java index 950e7f9db14..ade169e53a8 100644 --- a/jdk/src/java.base/share/classes/sun/security/x509/X509CRLImpl.java +++ b/jdk/src/java.base/share/classes/sun/security/x509/X509CRLImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2014, 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,7 +63,7 @@ import sun.misc.HexDumpEncoder; * signature BIT STRING } * * More information can be found in - * RFC 3280: Internet X.509 + * RFC 5280: Internet X.509 * Public Key Infrastructure Certificate and CRL Profile. *

      * The ASN.1 definition of tbsCertList is: diff --git a/jdk/src/java.base/share/classes/sun/security/x509/X509CertInfo.java b/jdk/src/java.base/share/classes/sun/security/x509/X509CertInfo.java index b7f2dd85bcd..fa64e9d0fc2 100644 --- a/jdk/src/java.base/share/classes/sun/security/x509/X509CertInfo.java +++ b/jdk/src/java.base/share/classes/sun/security/x509/X509CertInfo.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2014, 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 @@ -708,7 +708,7 @@ public class X509CertInfo implements CertAttrSet { } /* - * Verify if X.509 V3 Certificate is compliant with RFC 3280. + * Verify if X.509 V3 Certificate is compliant with RFC 5280. */ private void verifyCert(X500Name subject, CertificateExtensions extensions) diff --git a/jdk/src/java.base/share/conf/security/java.security b/jdk/src/java.base/share/conf/security/java.security index 7f7bc9c383d..8e44c319f23 100644 --- a/jdk/src/java.base/share/conf/security/java.security +++ b/jdk/src/java.base/share/conf/security/java.security @@ -345,7 +345,7 @@ networkaddress.cache.negative.ttl=10 # By default, the location of the OCSP responder is determined implicitly # from the certificate being validated. This property explicitly specifies # the location of the OCSP responder. The property is used when the -# Authority Information Access extension (defined in RFC 3280) is absent +# Authority Information Access extension (defined in RFC 5280) is absent # from the certificate or when it requires overriding. # # Example, diff --git a/jdk/src/jdk.dev/share/classes/sun/security/tools/jarsigner/TimestampedSigner.java b/jdk/src/jdk.dev/share/classes/sun/security/tools/jarsigner/TimestampedSigner.java index df9159f78fb..905cc9310cc 100644 --- a/jdk/src/jdk.dev/share/classes/sun/security/tools/jarsigner/TimestampedSigner.java +++ b/jdk/src/jdk.dev/share/classes/sun/security/tools/jarsigner/TimestampedSigner.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -140,7 +140,7 @@ public final class TimestampedSigner extends ContentSigner { /** * Examine the certificate for a Subject Information Access extension - * (RFC 3280). + * (RFC 5280). * The extension's accessMethod field should contain the object * identifier defined for timestamping: 1.3.6.1.5.5.7.48.3 and its * accessLocation field should contain an HTTP or HTTPS URL. From 35f55998f246176784942b1720d839150213f8a0 Mon Sep 17 00:00:00 2001 From: Lance Andersen Date: Wed, 8 Oct 2014 11:51:36 -0400 Subject: [PATCH 57/83] 8059870: RowsetFactoryTests & RowSetProviderTests failing Reviewed-by: dfuchs --- jdk/test/javax/sql/testng/TEST.properties | 3 ++- jdk/test/javax/sql/testng/jars/badFactory.jar | Bin 669 -> 0 bytes .../services/javax.sql.rowset.RowSetFactory | 1 + jdk/test/javax/sql/testng/jars/goodFactory.jar | Bin 666 -> 0 bytes .../services/javax.sql.rowset.RowSetFactory | 1 + .../testng/test/rowset/RowSetFactoryTests.java | 2 +- .../testng/test/rowset/RowSetProviderTests.java | 12 ++++++------ 7 files changed, 11 insertions(+), 8 deletions(-) delete mode 100644 jdk/test/javax/sql/testng/jars/badFactory.jar create mode 100644 jdk/test/javax/sql/testng/jars/badFactory/META-INF/services/javax.sql.rowset.RowSetFactory delete mode 100644 jdk/test/javax/sql/testng/jars/goodFactory.jar create mode 100644 jdk/test/javax/sql/testng/jars/goodFactory/META-INF/services/javax.sql.rowset.RowSetFactory diff --git a/jdk/test/javax/sql/testng/TEST.properties b/jdk/test/javax/sql/testng/TEST.properties index 97d1bc3a5a0..ded0fc780a3 100644 --- a/jdk/test/javax/sql/testng/TEST.properties +++ b/jdk/test/javax/sql/testng/TEST.properties @@ -1,2 +1,3 @@ # JDBC unit tests uses TestNG -TestNG.dirs= . \ No newline at end of file +TestNG.dirs= . +othervm.dirs= . diff --git a/jdk/test/javax/sql/testng/jars/badFactory.jar b/jdk/test/javax/sql/testng/jars/badFactory.jar deleted file mode 100644 index 7c14c4b8b6a2e36977afcda23d61144bc4e069a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 669 zcmWIWW@Zs#;Nak3(421N%76qo8CV#6T|*poJ^kGD|D9rBU}gyLX6FE@V1gNfYXq*(j{<{BKL=j-;__snS@Z(Y5MyxzK6=gyqp9At3C_`%a6JuhD!Pv48Bt5`TA zUPvC1o}rcTLtItu`4TOQ=i;JI#8sy;OwImO^s$H$?1(pOCssQHt#AQikR!Ml7=RAb zNArOYvLlL9i^?*SQ;YQxjz(8+fK`1~Vp(E^UU6ZLUQvE|acYTPP=0xEYKdE7a!Gzs zrMB+LGZ(q_G<~^F>GS*P7JB>Woz!3TgbD0SJ%K;&l0ZYn!Omo45@A3MYFIdef*KXT z!wwYi0p6%uk$n#eXaukYGT~a0f*oW67X$84LYQy}*#x98L%0AGYRDb~g&G2U0y5z) afa}K}h5_EJY# Date: Tue, 7 Oct 2014 15:14:05 +0200 Subject: [PATCH 58/83] 8059868: JVM crashes on attach on Windows when compiled with /RTC1 Reviewed-by: alanb, sla --- .../windows/native/libattach/VirtualMachineImpl.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/jdk/src/jdk.attach/windows/native/libattach/VirtualMachineImpl.c b/jdk/src/jdk.attach/windows/native/libattach/VirtualMachineImpl.c index f92101f8924..3a85591db4a 100644 --- a/jdk/src/jdk.attach/windows/native/libattach/VirtualMachineImpl.c +++ b/jdk/src/jdk.attach/windows/native/libattach/VirtualMachineImpl.c @@ -92,6 +92,10 @@ typedef struct { * Code copied to target process */ #pragma check_stack (off) +/* Switch off all runtime checks (checks caused by /RTC). They cause the + * generated code to contain relative jumps to check functions which make + * the code position dependent. */ +#pragma runtime_checks ("scu", off) DWORD WINAPI jvm_attach_thread_func(DataBlock *pData) { HINSTANCE h; @@ -122,7 +126,7 @@ DWORD WINAPI jvm_attach_thread_func(DataBlock *pData) void jvm_attach_thread_func_end (void) { } #pragma check_stack - +#pragma runtime_checks ("scu", restore) /* * Class: sun_tools_attach_VirtualMachineImpl From 96074068b883c9ea11d658aaf77460e4fc598587 Mon Sep 17 00:00:00 2001 From: Andreas Lundblad Date: Tue, 7 Oct 2014 21:15:10 +0200 Subject: [PATCH 59/83] 8056258: Analysis of public API does not take super classes into account 8048609: simplify sjavac dependence on javac dependency gathering Replaces Attr-/ResolveWithDeps with TaskListeners Reviewed-by: jfranck, ohrstrom --- .../com/sun/tools/javac/comp/Attr.java | 12 -- .../com/sun/tools/javac/comp/Resolve.java | 11 -- .../classes/com/sun/tools/sjavac/Util.java | 16 +++ .../sun/tools/sjavac/client/SjavacClient.java | 2 +- .../sun/tools/sjavac/comp/AttrWithDeps.java | 68 --------- .../tools/sjavac/comp/ResolveWithDeps.java | 67 --------- .../com/sun/tools/sjavac/comp/SjavacImpl.java | 34 +++-- .../sjavac/comp/dependencies/Dependency.java | 33 +++++ .../dependencies/DependencyCollector.java | 76 ++++++++++ .../comp/dependencies/DependencyScanner.java | 84 +++++++++++ .../comp/dependencies/PackageDependency.java | 41 ++++++ .../TypeAndSupertypesDependency.java | 74 ++++++++++ .../tools/sjavac/DependencyCollection.java | 130 ++++++++++++++++++ .../test/tools/sjavac/IncCompInheritance.java | 70 ++++++++++ langtools/test/tools/sjavac/SjavacBase.java | 50 +++++++ .../src/nondependency/pkg26/Cls26.java | 28 ++++ .../tools/sjavac/test-input/src/pkg/Test.java | 74 ++++++++++ .../sjavac/test-input/src/pkg10/Cls10.java | 30 ++++ .../sjavac/test-input/src/pkg11/Cls11.java | 25 ++++ .../sjavac/test-input/src/pkg12/Cls12.java | 25 ++++ .../sjavac/test-input/src/pkg13/Cls13.java | 30 ++++ .../sjavac/test-input/src/pkg14/Cls14.java | 30 ++++ .../sjavac/test-input/src/pkg15/Cls15.java | 25 ++++ .../sjavac/test-input/src/pkg16/Cls16.java | 25 ++++ .../sjavac/test-input/src/pkg17/Cls17.java | 25 ++++ .../sjavac/test-input/src/pkg18/Cls18.java | 25 ++++ .../sjavac/test-input/src/pkg19/Cls19.java | 25 ++++ .../sjavac/test-input/src/pkg2/Cls2.java | 25 ++++ .../sjavac/test-input/src/pkg20/Anno20.java | 28 ++++ .../sjavac/test-input/src/pkg21/Cls21.java | 25 ++++ .../sjavac/test-input/src/pkg22/Anno22.java | 27 ++++ .../sjavac/test-input/src/pkg23/Cls23.java | 28 ++++ .../sjavac/test-input/src/pkg24/Cls24.java | 25 ++++ .../sjavac/test-input/src/pkg25/Cls25.java | 28 ++++ .../sjavac/test-input/src/pkg27/Cls27.java | 26 ++++ .../sjavac/test-input/src/pkg28/Cls28.java | 28 ++++ .../sjavac/test-input/src/pkg29/Cls29.java | 28 ++++ .../sjavac/test-input/src/pkg3/Cls3.java | 25 ++++ .../sjavac/test-input/src/pkg30/Cls30.java | 28 ++++ .../sjavac/test-input/src/pkg4/Cls4.java | 27 ++++ .../sjavac/test-input/src/pkg5/Anno5.java | 27 ++++ .../sjavac/test-input/src/pkg6/Cls6.java | 27 ++++ .../sjavac/test-input/src/pkg7/Cls7.java | 27 ++++ .../sjavac/test-input/src/pkg8/Cls8.java | 27 ++++ .../sjavac/test-input/src/pkg9/Cls9.java | 25 ++++ 45 files changed, 1445 insertions(+), 171 deletions(-) delete mode 100644 langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/AttrWithDeps.java delete mode 100644 langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/ResolveWithDeps.java create mode 100644 langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/Dependency.java create mode 100644 langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/DependencyCollector.java create mode 100644 langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/DependencyScanner.java create mode 100644 langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/PackageDependency.java create mode 100644 langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/TypeAndSupertypesDependency.java create mode 100644 langtools/test/tools/sjavac/DependencyCollection.java create mode 100644 langtools/test/tools/sjavac/IncCompInheritance.java create mode 100644 langtools/test/tools/sjavac/SjavacBase.java create mode 100644 langtools/test/tools/sjavac/test-input/src/nondependency/pkg26/Cls26.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg/Test.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg10/Cls10.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg11/Cls11.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg12/Cls12.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg13/Cls13.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg14/Cls14.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg15/Cls15.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg16/Cls16.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg17/Cls17.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg18/Cls18.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg19/Cls19.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg2/Cls2.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg20/Anno20.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg21/Cls21.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg22/Anno22.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg23/Cls23.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg24/Cls24.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg25/Cls25.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg27/Cls27.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg28/Cls28.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg29/Cls29.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg3/Cls3.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg30/Cls30.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg4/Cls4.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg5/Anno5.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg6/Cls6.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg7/Cls7.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg8/Cls8.java create mode 100644 langtools/test/tools/sjavac/test-input/src/pkg9/Cls9.java diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java index d72eae4df0e..fb17aa33dc9 100644 --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java @@ -3159,14 +3159,6 @@ public class Attr extends JCTree.Visitor { result = checkId(tree, env1.enclClass.sym.type, sym, env, resultInfo); } - /** Report dependencies. - * @param from The enclosing class sym - * @param to The found identifier that the class depends on. - */ - public void reportDependence(Symbol from, Symbol to) { - // Override if you want to collect the reported dependencies. - } - public void visitSelect(JCFieldAccess tree) { // Determine the expected kind of the qualifier expression. int skind = 0; @@ -3299,10 +3291,6 @@ public class Attr extends JCTree.Visitor { env.info.selectSuper = selectSuperPrev; result = checkId(tree, site, sym, env, resultInfo); - - if ((tree.sym.kind & TYP) != 0) { - reportDependence(env.enclClass.sym, tree.sym); - } } //where /** Determine symbol referenced by a Select expression, diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java index 3c39adeb512..bb174450916 100644 --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java @@ -2083,9 +2083,6 @@ public class Resolve { if ((kind & TYP) != 0) { sym = findType(env, name); - if (sym.kind==TYP) { - reportDependence(env.enclClass.sym, sym); - } if (sym.exists()) return sym; else if (sym.kind < bestSoFar.kind) bestSoFar = sym; } @@ -2094,14 +2091,6 @@ public class Resolve { else return bestSoFar; } - /** Report dependencies. - * @param from The enclosing class sym - * @param to The found identifier that the class depends on. - */ - public void reportDependence(Symbol from, Symbol to) { - // Override if you want to collect the reported dependencies. - } - /** Find an identifier in a package which matches a specified kind set. * @param env The current environment. * @param name The identifier's name. diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Util.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Util.java index b1db5f46b3a..8832df29f59 100644 --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Util.java +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Util.java @@ -26,6 +26,8 @@ package com.sun.tools.sjavac; import java.io.File; +import java.io.PrintWriter; +import java.io.StringWriter; import java.nio.file.Path; import java.util.Arrays; import java.util.HashSet; @@ -173,6 +175,20 @@ public class Util { return null; } + public static Set union(Set s1, + Set s2) { + Set union = new HashSet<>(); + union.addAll(s1); + union.addAll(s2); + return union; + } + + public static String getStackTrace(Throwable t) { + StringWriter sw = new StringWriter(); + t.printStackTrace(new PrintWriter(sw)); + return sw.toString(); + } + // TODO: Remove when refactoring from java.io.File to java.nio.file.Path. public static File pathToFile(Path path) { return path == null ? null : path.toFile(); diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/client/SjavacClient.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/client/SjavacClient.java index d978309bb57..0df30b06cae 100644 --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/client/SjavacClient.java +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/client/SjavacClient.java @@ -172,7 +172,7 @@ public class SjavacClient implements Sjavac { } catch (IOException | ClassNotFoundException ex) { Log.error("Exception caught: " + ex); result = new CompilationResult(CompilationResult.ERROR_FATAL); - result.stderr = ex.getMessage(); + result.stderr = Util.getStackTrace(ex); } return result; } diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/AttrWithDeps.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/AttrWithDeps.java deleted file mode 100644 index c81f3f3f461..00000000000 --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/AttrWithDeps.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (c) 2014 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.tools.sjavac.comp; - -import com.sun.tools.javac.comp.Attr; -import com.sun.tools.javac.util.Context; -import com.sun.tools.javac.code.Symbol; - -/** Subclass to Attr that overrides reportDepedence. - * - *

      This is NOT part of any supported API. - * If you write code that depends on this, you do so at your own risk. - * This code and its internal interfaces are subject to change or - * deletion without notice. - */ -public class AttrWithDeps extends Attr { - - /** The dependency database - */ - protected Dependencies deps; - - protected AttrWithDeps(Context context) { - super(context); - deps = Dependencies.instance(context); - } - - public static void preRegister(Context context) { - context.put(attrKey, new Context.Factory() { - public Attr make(Context c) { - Attr instance = new AttrWithDeps(c); - c.put(Attr.class, instance); - return instance; - } - }); - } - - /** Collect dependencies in the enclosing class - * @param from The enclosing class sym - * @param to The enclosing classes references this sym. - * */ - @Override - public void reportDependence(Symbol from, Symbol to) { - // Capture dependencies between the packages. - deps.collect(from.packge().fullname, to.packge().fullname); - } -} diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/ResolveWithDeps.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/ResolveWithDeps.java deleted file mode 100644 index 0c8de2e809d..00000000000 --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/ResolveWithDeps.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2012, 2014, 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.tools.sjavac.comp; - -import com.sun.tools.javac.comp.Resolve; -import com.sun.tools.javac.util.Context; -import com.sun.tools.javac.code.Symbol; - -/** Subclass to Resolve that overrides collect. - * - *

      This is NOT part of any supported API. - * If you write code that depends on this, you do so at your own risk. - * This code and its internal interfaces are subject to change or - * deletion without notice. - */ -public class ResolveWithDeps extends Resolve { - - /** The dependency database - */ - protected Dependencies deps; - - protected ResolveWithDeps(Context context) { - super(context); - deps = Dependencies.instance(context); - } - - public static void preRegister(Context context) { - context.put(resolveKey, new Context.Factory() { - public Resolve make(Context c) { - Resolve instance = new ResolveWithDeps(c); - c.put(Resolve.class, instance); - return instance; - } - }); - } - /** Collect dependencies in the enclosing class - * @param from The enclosing class sym - * @param to The enclosing classes references this sym. - * */ - @Override - public void reportDependence(Symbol from, Symbol to) { - // Capture dependencies between the packages. - deps.collect(from.packge().fullname, to.packge().fullname); - } -} diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SjavacImpl.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SjavacImpl.java index 2b3caf69392..13cc82119a4 100644 --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SjavacImpl.java +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SjavacImpl.java @@ -33,15 +33,17 @@ import java.util.List; import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; -import javax.tools.JavaCompiler.CompilationTask; import javax.tools.JavaFileObject; import javax.tools.StandardJavaFileManager; import com.sun.tools.javac.api.JavacTaskImpl; import com.sun.tools.javac.api.JavacTool; +import com.sun.tools.javac.code.Symbol.PackageSymbol; import com.sun.tools.javac.util.Context; import com.sun.tools.javac.util.ListBuffer; import com.sun.tools.javac.util.Options; +import com.sun.tools.sjavac.Util; +import com.sun.tools.sjavac.comp.dependencies.DependencyCollector; import com.sun.tools.sjavac.server.CompilationResult; import com.sun.tools.sjavac.server.Sjavac; import com.sun.tools.sjavac.server.SysInfo; @@ -76,8 +78,6 @@ public class SjavacImpl implements Sjavac { StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null); SmartFileManager smartFileManager = new SmartFileManager(fileManager); Context context = new Context(); - ResolveWithDeps.preRegister(context); - AttrWithDeps.preRegister(context); JavaCompilerWithDeps.preRegister(context, new SjavacErrorHandler() { @Override public void logError(String msg) { @@ -102,12 +102,15 @@ public class SjavacImpl implements Sjavac { compilationUnits.append(i); } forcedExit.set(false); + + // Create a new logger. StringWriter stdoutLog = new StringWriter(); StringWriter stderrLog = new StringWriter(); PrintWriter stdout = new PrintWriter(stdoutLog); PrintWriter stderr = new PrintWriter(stderrLog); com.sun.tools.javac.main.Main.Result rc = com.sun.tools.javac.main.Main.Result.OK; + DependencyCollector depsCollector = new DependencyCollector(); try { if (compilationUnits.size() > 0) { smartFileManager.setVisibleSources(visibleSources); @@ -115,25 +118,32 @@ public class SjavacImpl implements Sjavac { smartFileManager.setLog(stdout); // Do the compilation! - CompilationTask task = compiler.getTask(stderr, - smartFileManager, - null, - Arrays.asList(args), - null, - compilationUnits, - context); + JavacTaskImpl task = + (JavacTaskImpl) compiler.getTask(stderr, + smartFileManager, + null, + Arrays.asList(args), + null, + compilationUnits, + context); smartFileManager.setSymbolFileEnabled(!Options.instance(context).isSet("ignore.symbol.file")); - rc = ((JavacTaskImpl) task).doCall(); + task.addTaskListener(depsCollector); + rc = task.doCall(); smartFileManager.flush(); } } catch (Exception e) { - stderrLog.append(e.getMessage()); + stderrLog.append(Util.getStackTrace(e)); forcedExit.set(true); } compilationResult.packageArtifacts = smartFileManager.getPackageArtifacts(); Dependencies deps = Dependencies.instance(context); + for (PackageSymbol from : depsCollector.getSourcePackages()) { + for (PackageSymbol to : depsCollector.getDependenciesForPkg(from)) + deps.collect(from.fullname, to.fullname); + } + compilationResult.packageDependencies = deps.getDependencies(); compilationResult.packagePubapis = deps.getPubapis(); diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/Dependency.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/Dependency.java new file mode 100644 index 00000000000..cd9fbb6a529 --- /dev/null +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/Dependency.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2014, 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.tools.sjavac.comp.dependencies; + +import java.util.Set; + +import com.sun.tools.javac.code.Symbol.PackageSymbol; + +interface Dependency { + Set getPackages(); +} diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/DependencyCollector.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/DependencyCollector.java new file mode 100644 index 00000000000..820cedcfe33 --- /dev/null +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/DependencyCollector.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2014, 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.tools.sjavac.comp.dependencies; + +import java.util.HashMap; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +import com.sun.source.util.TaskEvent; +import com.sun.source.util.TaskListener; +import com.sun.tools.javac.code.Symbol.PackageSymbol; +import com.sun.tools.javac.tree.JCTree.JCCompilationUnit; +import com.sun.tools.javac.util.DefinedBy; +import com.sun.tools.javac.util.DefinedBy.Api; +import com.sun.tools.sjavac.Util; + +public class DependencyCollector implements TaskListener { + + Map> collectedDependencies = new HashMap<>(); + + @Override + @DefinedBy(Api.COMPILER_TREE) + public void started(TaskEvent e) { + } + + @Override + @DefinedBy(Api.COMPILER_TREE) + public void finished(TaskEvent e) { + if (e.getKind() == TaskEvent.Kind.ANALYZE) { + JCCompilationUnit cu = (JCCompilationUnit) e.getCompilationUnit(); + PackageSymbol thisPkg = cu.packge; + if (thisPkg == null) { + // Compilation unit in default package. See JDK-8048144. + return; + } + DependencyScanner ds = new DependencyScanner(); + cu.accept(ds); + Set pkgDeps = ds.getResult() + .stream() + .flatMap(dep -> dep.getPackages().stream()) + .collect(Collectors.toSet()); + collectedDependencies.merge(thisPkg, pkgDeps, Util::union); + } + } + + public Set getSourcePackages() { + return collectedDependencies.keySet(); + } + + public Set getDependenciesForPkg(PackageSymbol ps) { + return collectedDependencies.get(ps); + } +} diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/DependencyScanner.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/DependencyScanner.java new file mode 100644 index 00000000000..36c96a40027 --- /dev/null +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/DependencyScanner.java @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2014, 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.tools.sjavac.comp.dependencies; + +import java.util.HashSet; +import java.util.Set; + +import com.sun.tools.javac.code.Symbol; +import com.sun.tools.javac.code.Symbol.ClassSymbol; +import com.sun.tools.javac.code.Symbol.PackageSymbol; +import com.sun.tools.javac.code.Type; +import com.sun.tools.javac.code.TypeTag; +import com.sun.tools.javac.tree.JCTree.JCFieldAccess; +import com.sun.tools.javac.tree.JCTree.JCIdent; +import com.sun.tools.javac.tree.TreeScanner; + +class DependencyScanner extends TreeScanner { + + public final Set dependencies = new HashSet<>(); + + private boolean isValidDependency(Type t) { + if (t == null || t.isPrimitiveOrVoid() || t.isErroneous()) + return false; + TypeTag tag = t.getTag(); + return tag != TypeTag.PACKAGE + && tag != TypeTag.METHOD + && tag != TypeTag.ARRAY + && tag != TypeTag.TYPEVAR; + } + + @Override + public void visitIdent(JCIdent tree) { + if (isValidDependency(tree.type)) + dependencies.add(new TypeAndSupertypesDependency(tree.type.tsym)); + super.visitIdent(tree); + } + + @Override + public void visitSelect(JCFieldAccess tree) { + if (tree.getIdentifier().contentEquals("*")) { + Symbol sym = tree.selected instanceof JCIdent ? ((JCIdent) tree.selected).sym + : ((JCFieldAccess) tree.selected).sym; + if (sym instanceof ClassSymbol) { + ClassSymbol clsSym = (ClassSymbol) sym; + dependencies.add(new TypeAndSupertypesDependency(clsSym.type.tsym)); + } else { + dependencies.add(new PackageDependency((PackageSymbol) sym)); + } + } else if (tree.type != null && tree.type.hasTag(TypeTag.METHOD)) { // Method call? Depend on the result (even though we never access it elsewhere) + Type retType = tree.type.getReturnType(); + if (isValidDependency(retType)) + dependencies.add(new TypeAndSupertypesDependency(retType.tsym)); + } else if (isValidDependency(tree.type)) { + dependencies.add(new TypeAndSupertypesDependency(tree.type.tsym)); + } + super.visitSelect(tree); + } + + public Set getResult() { + return dependencies; + } +} diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/PackageDependency.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/PackageDependency.java new file mode 100644 index 00000000000..017d120cfe0 --- /dev/null +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/PackageDependency.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2014, 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.tools.sjavac.comp.dependencies; + +import java.util.Collections; +import java.util.Set; + +import com.sun.tools.javac.code.Symbol.PackageSymbol; + +public class PackageDependency implements Dependency { + PackageSymbol ps; + public PackageDependency(PackageSymbol ps) { + this.ps = ps; + } + @Override + public Set getPackages() { + return Collections.singleton(ps); + } +} diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/TypeAndSupertypesDependency.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/TypeAndSupertypesDependency.java new file mode 100644 index 00000000000..e20ab183fdf --- /dev/null +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/TypeAndSupertypesDependency.java @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2014, 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.tools.sjavac.comp.dependencies; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Objects; +import java.util.Set; +import java.util.stream.Collectors; + +import com.sun.tools.javac.code.Symbol.ClassSymbol; +import com.sun.tools.javac.code.Symbol.PackageSymbol; +import com.sun.tools.javac.code.Symbol.TypeSymbol; +import com.sun.tools.javac.code.Kinds; +import com.sun.tools.javac.code.Type; + + +public class TypeAndSupertypesDependency implements Dependency { + + protected TypeSymbol type; + + public TypeAndSupertypesDependency(TypeSymbol type) { + this.type = Objects.requireNonNull(type); + } + + private Set allSupertypes(TypeSymbol t) { + if (t == null) + return Collections.emptySet(); + Set result = new HashSet<>(); + result.add(t); + if (t instanceof ClassSymbol) { + ClassSymbol cs = (ClassSymbol) t; + result.addAll(allSupertypes(cs.getSuperclass().tsym)); + for (Type it : cs.getInterfaces()) + result.addAll(allSupertypes(it.tsym)); + } + return result; + } + + @Override + public Set getPackages() { + if (type.kind == Kinds.ERR) + return Collections.emptySet(); + if (type instanceof ClassSymbol) { + return allSupertypes(type).stream() + .map(TypeSymbol::packge) + .collect(Collectors.toSet()); + } + throw new AssertionError("Could not get package name for " + type); + } +} + diff --git a/langtools/test/tools/sjavac/DependencyCollection.java b/langtools/test/tools/sjavac/DependencyCollection.java new file mode 100644 index 00000000000..b3b6de9ae33 --- /dev/null +++ b/langtools/test/tools/sjavac/DependencyCollection.java @@ -0,0 +1,130 @@ +/* + * Copyright (c) 2014, 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 8056258 8048609 + * @summary Ensures that the DependencyCollector covers various cases. + * @library /tools/lib + * @build Wrapper ToolBox + * @run main Wrapper DependencyCollection + */ + +import java.io.PrintWriter; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.Arrays; +import java.util.Comparator; +import java.util.HashSet; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +import javax.tools.JavaCompiler; +import javax.tools.JavaFileObject; +import javax.tools.StandardJavaFileManager; +import javax.tools.ToolProvider; + +import com.sun.tools.javac.api.JavacTaskImpl; +import com.sun.tools.javac.code.Symbol.PackageSymbol; +import com.sun.tools.sjavac.comp.SmartFileManager; +import com.sun.tools.sjavac.comp.dependencies.DependencyCollector; + +public class DependencyCollection { + + public static void main(String[] args) { + Path src = Paths.get(ToolBox.testSrc, "test-input", "src"); + + JavaCompiler javac = ToolProvider.getSystemJavaCompiler(); + StandardJavaFileManager fileManager = javac.getStandardFileManager(null, null, null); + SmartFileManager smartFileManager = new SmartFileManager(fileManager); + smartFileManager.setSymbolFileEnabled(false); + Iterable fileObjects = + fileManager.getJavaFileObjectsFromFiles(Arrays.asList(src.resolve("pkg/Test.java").toFile())); + JavacTaskImpl task = (JavacTaskImpl) javac.getTask(new PrintWriter(System.out), + smartFileManager, + null, + Arrays.asList("-d", "classes", + "-sourcepath", src.toAbsolutePath().toString()), + null, + fileObjects); + DependencyCollector depsCollector = new DependencyCollector(); + task.addTaskListener(depsCollector); + task.doCall(); + + // Find pkg symbol + PackageSymbol pkg = findPkgSymbolWithName(depsCollector.getSourcePackages(), "pkg"); + Set foundDependencies = depsCollector.getDependenciesForPkg(pkg); + + // Print dependencies + System.out.println("Found dependencies:"); + foundDependencies.stream() + .sorted(Comparator.comparing(DependencyCollection::extractNumber)) + .forEach(p -> System.out.println(" " + p)); + + // Check result + Set found = foundDependencies.stream() + .map(DependencyCollection::extractNumber) + .collect(Collectors.toSet()); + found.remove(-1); // Dependencies with no number (java.lang etc) + Set expected = new HashSet<>(); + for (int i = 2; i <= 30; i++) { + if (i == 15) continue; // Case 15 correspond to the type of a throw-away return value. + expected.add(i); + } + + Set missing = new HashSet<>(expected); + missing.removeAll(found); + if (missing.size() > 0) { + System.out.println("Missing dependencies:"); + missing.forEach(i -> System.out.println(" Dependency " + i)); + } + + Set unexpected = new HashSet<>(found); + unexpected.removeAll(expected); + if (unexpected.size() > 0) { + System.out.println("Unexpected dependencies found:"); + unexpected.forEach(i -> System.out.println(" Dependency " + i)); + } + + if (missing.size() > 0 || unexpected.size() > 0) + throw new AssertionError("Missing and/or unexpected dependencies found."); + } + + private static PackageSymbol findPkgSymbolWithName(Set syms, String name) { + for (PackageSymbol ps : syms) + if (ps.fullname.toString().equals("pkg")) + return ps; + throw new AssertionError("Could not find package named \"pkg\"."); + } + + public static int extractNumber(PackageSymbol p) { + Matcher m = Pattern.compile("\\d+").matcher(p.fullname.toString()); + if (!m.find()) + return -1; + return Integer.parseInt(m.group()); + } +} diff --git a/langtools/test/tools/sjavac/IncCompInheritance.java b/langtools/test/tools/sjavac/IncCompInheritance.java new file mode 100644 index 00000000000..8973e01e749 --- /dev/null +++ b/langtools/test/tools/sjavac/IncCompInheritance.java @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2014, 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 8056258 + * @summary Analysis of public API does not take super classes into account + * @library /tools/lib + * @build Wrapper ToolBox + * @run main Wrapper IncCompInheritance + */ + +import java.nio.file.Path; +import java.nio.file.Paths; + +public class IncCompInheritance extends SjavacBase { + public static void main(String... args) throws Exception { + + Path root = Paths.get(IncCompInheritance.class.getSimpleName() + "Test"); + Path src = root.resolve("src"); + Path classes = root.resolve("classes"); + + // Prep source files: A <- B <- C + String a = "package pkga; public class A { public void m() {} }"; + String b = "package pkgb; public class B extends pkga.A {}"; + String c = "package pkgc; public class C extends pkgb.B {{ new pkgb.B().m(); }}"; + toolbox.writeFile(src.resolve("pkga/A.java"), a); + toolbox.writeFile(src.resolve("pkgb/B.java"), b); + toolbox.writeFile(src.resolve("pkgc/C.java"), c); + + // Initial compile (should succeed) + String server = "--server:portfile=testserver,background=false"; + int rc1 = compile(server, "-d", classes, src); + if (rc1 != 0) + throw new AssertionError("Compilation failed unexpectedly"); + + // Remove method A.m + String aModified = "package pkga; public class A { }"; + toolbox.writeFile(src.resolve("pkga/A.java"), aModified); + + // Incremental compile (C should now be recompiled even though it + // depends on A only through inheritance via B). + // Since A.m is removed, this should fail. + int rc2 = compile(server, "-d", classes, src); + if (rc2 == 0) + throw new AssertionError("Compilation succeeded unexpectedly"); + } +} diff --git a/langtools/test/tools/sjavac/SjavacBase.java b/langtools/test/tools/sjavac/SjavacBase.java new file mode 100644 index 00000000000..a1de5a06390 --- /dev/null +++ b/langtools/test/tools/sjavac/SjavacBase.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2014, 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. + */ + +import java.lang.reflect.Method; +import java.util.Arrays; + +public class SjavacBase { + + protected final static ToolBox toolbox = new ToolBox(); + + /** + * Utility method for invoking sjavac. Method accepts Objects as arguments + * (which are turned into Strings through Object::toString) to allow clients + * to pass for instance Path objects. + */ + public static int compile(Object... args) throws ReflectiveOperationException { + // Use reflection to avoid a compile-time dependency on sjavac Main + System.err.println("compile: " + Arrays.toString(args)); + Class c = Class.forName("com.sun.tools.sjavac.Main"); + Method m = c.getDeclaredMethod("go", String[].class); + String[] strArgs = new String[args.length]; + for (int i = 0; i < args.length; i++) + strArgs[i] = args[i].toString(); + int rc = (Integer) m.invoke(null, (Object) strArgs); + return rc; + } + +} diff --git a/langtools/test/tools/sjavac/test-input/src/nondependency/pkg26/Cls26.java b/langtools/test/tools/sjavac/test-input/src/nondependency/pkg26/Cls26.java new file mode 100644 index 00000000000..1cd38285a6c --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/nondependency/pkg26/Cls26.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2014, 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 nondependency.pkg26; + +public class Cls26 { +} diff --git a/langtools/test/tools/sjavac/test-input/src/pkg/Test.java b/langtools/test/tools/sjavac/test-input/src/pkg/Test.java new file mode 100644 index 00000000000..a716cac472f --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg/Test.java @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2014, 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. + */ +// Use fully qualified names to avoid accidentally capturing dependencies in import statements. + +package pkg; + +import pkg2.*; // pkg2 as a whole +import pkg3.Cls3; // pkg3.Cls3 +import pkg25.Cls25; // pkg25.Cls25 +import nondependency.pkg26.Cls26; // pkg26.Cls26 (but not nondependency) +import pkg28.Cls28.Inner28; // pkg29.Cls28, pkg29.Cls28.Inner28 +import static pkg29.Cls29.Inner29; // pkg29.Cls29, pkg29.Cls29.Inner29 +import static pkg30.Cls30.*; // pkg30.Cls30 as a whole + +@pkg5.Anno5 // pkg5.Anno5 +public class Test // pkg23.Cls23 + extends pkg4.Cls4/*extends pkg11.Cls11*/ // pkg4.Cls4, pkg11.Cls11, pkg6.Cls6, pkg12.Cls12 + implements pkg7.Cls7, pkg8.Cls8 { // pkg7.Cls7, pkg8.Cls8, pkg9.Cls9 + + pkg27.Cls27 cls27[][][] = new pkg27.Cls27[0][0][0]; // pkg27.Cls27 + + pkg2.Cls2 cls2; + pkg19.Cls19 f19; // pkg19.Cls19 + + public static void main(String[] args) { // java.lang.String + pkg10.Cls10 o = new pkg10.Cls10(); // pkg10.Cls10 + + o.getCls13().getCls14().getCls15(); // pkg13.Cls13, pkg14.Cls14, pkg15.Cls15 + pkg23.Cls23.f24 = null; // pkg23.Cls23, pkg24.Cls24 + } + + static pkg16.Cls16 m1(pkg17.Cls17 o) { // pkg16.Cls16, pkg17.Cls17 + return null; + } + + public void m2() { // pkg18.Cls18 + } + + public T m3() { + T t; + t = null; + return t; + } + + @pkg20.Anno20(pkg21.Cls21.class) // pkg20.Anno20, pkg21.Cls21 + private void m3(@pkg22.Anno22 String s) { // pkg22.Anno22 + Runnable r = () -> { System.out.println("hello"); }; + } + + private void m4() throws Cls25 { // pkg25.Cls25 + } +} diff --git a/langtools/test/tools/sjavac/test-input/src/pkg10/Cls10.java b/langtools/test/tools/sjavac/test-input/src/pkg10/Cls10.java new file mode 100644 index 00000000000..41b679a8101 --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg10/Cls10.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2014, 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 pkg10; +public class Cls10 { + public pkg13.Cls13 getCls13() { + return null; + } +} diff --git a/langtools/test/tools/sjavac/test-input/src/pkg11/Cls11.java b/langtools/test/tools/sjavac/test-input/src/pkg11/Cls11.java new file mode 100644 index 00000000000..33e34301d69 --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg11/Cls11.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2014, 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 pkg11; public class Cls11 { } diff --git a/langtools/test/tools/sjavac/test-input/src/pkg12/Cls12.java b/langtools/test/tools/sjavac/test-input/src/pkg12/Cls12.java new file mode 100644 index 00000000000..4ed1c071b83 --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg12/Cls12.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2014, 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 pkg12; public class Cls12 { } diff --git a/langtools/test/tools/sjavac/test-input/src/pkg13/Cls13.java b/langtools/test/tools/sjavac/test-input/src/pkg13/Cls13.java new file mode 100644 index 00000000000..9a36751a4c3 --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg13/Cls13.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2014, 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 pkg13; +public class Cls13 { + public pkg14.Cls14 getCls14() { + return null; + } +} diff --git a/langtools/test/tools/sjavac/test-input/src/pkg14/Cls14.java b/langtools/test/tools/sjavac/test-input/src/pkg14/Cls14.java new file mode 100644 index 00000000000..9108fd001c3 --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg14/Cls14.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2014, 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 pkg14; +public class Cls14 { + public int[] getCls15() { + return null; + } +} diff --git a/langtools/test/tools/sjavac/test-input/src/pkg15/Cls15.java b/langtools/test/tools/sjavac/test-input/src/pkg15/Cls15.java new file mode 100644 index 00000000000..392a958aa4c --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg15/Cls15.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2014, 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 pkg15; public class Cls15 { } diff --git a/langtools/test/tools/sjavac/test-input/src/pkg16/Cls16.java b/langtools/test/tools/sjavac/test-input/src/pkg16/Cls16.java new file mode 100644 index 00000000000..abba61be0b4 --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg16/Cls16.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2014, 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 pkg16; public class Cls16 { } diff --git a/langtools/test/tools/sjavac/test-input/src/pkg17/Cls17.java b/langtools/test/tools/sjavac/test-input/src/pkg17/Cls17.java new file mode 100644 index 00000000000..e175f0349a5 --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg17/Cls17.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2014, 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 pkg17; public class Cls17 { } diff --git a/langtools/test/tools/sjavac/test-input/src/pkg18/Cls18.java b/langtools/test/tools/sjavac/test-input/src/pkg18/Cls18.java new file mode 100644 index 00000000000..92a390c8b2d --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg18/Cls18.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2014, 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 pkg18; public class Cls18 { } diff --git a/langtools/test/tools/sjavac/test-input/src/pkg19/Cls19.java b/langtools/test/tools/sjavac/test-input/src/pkg19/Cls19.java new file mode 100644 index 00000000000..d593f8ccaf1 --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg19/Cls19.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2014, 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 pkg19; public class Cls19 { } diff --git a/langtools/test/tools/sjavac/test-input/src/pkg2/Cls2.java b/langtools/test/tools/sjavac/test-input/src/pkg2/Cls2.java new file mode 100644 index 00000000000..9cc4387fbf2 --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg2/Cls2.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2014, 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 pkg2; public class Cls2 { } diff --git a/langtools/test/tools/sjavac/test-input/src/pkg20/Anno20.java b/langtools/test/tools/sjavac/test-input/src/pkg20/Anno20.java new file mode 100644 index 00000000000..31c72bca2eb --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg20/Anno20.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2014, 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 pkg20; +public @interface Anno20 { + Class value(); +} diff --git a/langtools/test/tools/sjavac/test-input/src/pkg21/Cls21.java b/langtools/test/tools/sjavac/test-input/src/pkg21/Cls21.java new file mode 100644 index 00000000000..364171654db --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg21/Cls21.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2014, 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 pkg21; public class Cls21 { } diff --git a/langtools/test/tools/sjavac/test-input/src/pkg22/Anno22.java b/langtools/test/tools/sjavac/test-input/src/pkg22/Anno22.java new file mode 100644 index 00000000000..9b88cf90acf --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg22/Anno22.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2014, 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 pkg22; +public @interface Anno22 { +} diff --git a/langtools/test/tools/sjavac/test-input/src/pkg23/Cls23.java b/langtools/test/tools/sjavac/test-input/src/pkg23/Cls23.java new file mode 100644 index 00000000000..825b6f731ed --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg23/Cls23.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2014, 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 pkg23; +public class Cls23 { + public static pkg24.Cls24 f24; +} diff --git a/langtools/test/tools/sjavac/test-input/src/pkg24/Cls24.java b/langtools/test/tools/sjavac/test-input/src/pkg24/Cls24.java new file mode 100644 index 00000000000..83af3ee6afb --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg24/Cls24.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2014, 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 pkg24; public class Cls24 { } diff --git a/langtools/test/tools/sjavac/test-input/src/pkg25/Cls25.java b/langtools/test/tools/sjavac/test-input/src/pkg25/Cls25.java new file mode 100644 index 00000000000..5478401b6a1 --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg25/Cls25.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2014, 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 pkg25; + +public class Cls25 extends Throwable { +} diff --git a/langtools/test/tools/sjavac/test-input/src/pkg27/Cls27.java b/langtools/test/tools/sjavac/test-input/src/pkg27/Cls27.java new file mode 100644 index 00000000000..dc5683a4314 --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg27/Cls27.java @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2014, 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 pkg27; +public class Cls27 {} diff --git a/langtools/test/tools/sjavac/test-input/src/pkg28/Cls28.java b/langtools/test/tools/sjavac/test-input/src/pkg28/Cls28.java new file mode 100644 index 00000000000..eff157dc6c7 --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg28/Cls28.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2014, 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 pkg28; +public class Cls28 { + public static class Inner28 {} +} diff --git a/langtools/test/tools/sjavac/test-input/src/pkg29/Cls29.java b/langtools/test/tools/sjavac/test-input/src/pkg29/Cls29.java new file mode 100644 index 00000000000..dfe0b35b579 --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg29/Cls29.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2014, 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 pkg29; +public class Cls29 { + public static class Inner29 {} +} diff --git a/langtools/test/tools/sjavac/test-input/src/pkg3/Cls3.java b/langtools/test/tools/sjavac/test-input/src/pkg3/Cls3.java new file mode 100644 index 00000000000..77c909d0877 --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg3/Cls3.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2014, 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 pkg3; public class Cls3 { } diff --git a/langtools/test/tools/sjavac/test-input/src/pkg30/Cls30.java b/langtools/test/tools/sjavac/test-input/src/pkg30/Cls30.java new file mode 100644 index 00000000000..2ce5e154d4f --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg30/Cls30.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2014, 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 pkg30; + +public class Cls30 { +} diff --git a/langtools/test/tools/sjavac/test-input/src/pkg4/Cls4.java b/langtools/test/tools/sjavac/test-input/src/pkg4/Cls4.java new file mode 100644 index 00000000000..ead6c7d5d06 --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg4/Cls4.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2014, 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 pkg4; +public class Cls4 extends pkg11.Cls11 { +} diff --git a/langtools/test/tools/sjavac/test-input/src/pkg5/Anno5.java b/langtools/test/tools/sjavac/test-input/src/pkg5/Anno5.java new file mode 100644 index 00000000000..427fea00121 --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg5/Anno5.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2014, 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 pkg5; +public @interface Anno5 { +} diff --git a/langtools/test/tools/sjavac/test-input/src/pkg6/Cls6.java b/langtools/test/tools/sjavac/test-input/src/pkg6/Cls6.java new file mode 100644 index 00000000000..c21dfbca874 --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg6/Cls6.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2014, 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 pkg6; +public class Cls6 extends pkg12.Cls12 { +} diff --git a/langtools/test/tools/sjavac/test-input/src/pkg7/Cls7.java b/langtools/test/tools/sjavac/test-input/src/pkg7/Cls7.java new file mode 100644 index 00000000000..7dcdfc79a36 --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg7/Cls7.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2014, 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 pkg7; +public interface Cls7 { +} diff --git a/langtools/test/tools/sjavac/test-input/src/pkg8/Cls8.java b/langtools/test/tools/sjavac/test-input/src/pkg8/Cls8.java new file mode 100644 index 00000000000..337a1e0631b --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg8/Cls8.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2014, 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 pkg8; +public interface Cls8 { +} diff --git a/langtools/test/tools/sjavac/test-input/src/pkg9/Cls9.java b/langtools/test/tools/sjavac/test-input/src/pkg9/Cls9.java new file mode 100644 index 00000000000..86e8c603d3b --- /dev/null +++ b/langtools/test/tools/sjavac/test-input/src/pkg9/Cls9.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2014, 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 pkg9; public class Cls9 { } From 0545e4b8478361e36c21b1aa29a8c05875b38e79 Mon Sep 17 00:00:00 2001 From: Andreas Lundblad Date: Tue, 7 Oct 2014 21:21:42 +0200 Subject: [PATCH 60/83] 8059349: Public API scanning should be implemented in the form of a TaskListener Replaces JavaCompilerWithDeps with a TaskListener. Reviewed-by: jfranck --- .../sun/tools/javac/main/JavaCompiler.java | 14 -- .../sjavac/comp/JavaCompilerWithDeps.java | 107 ------------- .../sjavac/comp/PathAndPackageVerifier.java | 147 ++++++++++++++++++ .../com/sun/tools/sjavac/comp/SjavacImpl.java | 37 +++-- .../comp/dependencies/PublicApiCollector.java | 61 ++++++++ .../tools/sjavac/PackagePathMismatch.java} | 36 +++-- 6 files changed, 257 insertions(+), 145 deletions(-) delete mode 100644 langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/JavaCompilerWithDeps.java create mode 100644 langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/PathAndPackageVerifier.java create mode 100644 langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/PublicApiCollector.java rename langtools/{src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SjavacErrorHandler.java => test/tools/sjavac/PackagePathMismatch.java} (55%) diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java index e72aec3d196..a3d2777a66c 100644 --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java @@ -1228,12 +1228,6 @@ public class JavaCompiler { attr.postAttr(env.tree); } compileStates.put(env, CompileState.ATTR); - if (rootClasses != null && rootClasses.contains(env.enclClass)) { - // This was a class that was explicitly supplied for compilation. - // If we want to capture the public api of this class, - // then now is a good time to do it. - reportPublicApi(env.enclClass.sym); - } } finally { log.useSource(prev); @@ -1242,14 +1236,6 @@ public class JavaCompiler { return env; } - /** Report the public api of a class that was supplied explicitly for compilation, - * for example on the command line to javac. - * @param sym The symbol of the class. - */ - public void reportPublicApi(ClassSymbol sym) { - // Override to collect the reported public api. - } - /** * Perform dataflow checks on attributed parse trees. * These include checks for definite assignment and unreachable statements. diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/JavaCompilerWithDeps.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/JavaCompilerWithDeps.java deleted file mode 100644 index d55181ac978..00000000000 --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/JavaCompilerWithDeps.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (c) 2012, 2014, 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.tools.sjavac.comp; - -import java.util.StringTokenizer; - -import com.sun.tools.javac.main.JavaCompiler; -import com.sun.tools.javac.util.Context; -import com.sun.tools.javac.code.Symbol.ClassSymbol; - -/** Subclass to Resolve that overrides collect. - * - *

      This is NOT part of any supported API. - * If you write code that depends on this, you do so at your own risk. - * This code and its internal interfaces are subject to change or - * deletion without notice. - */ -public class JavaCompilerWithDeps extends JavaCompiler { - - /** The dependency database - */ - protected Dependencies deps; - protected SjavacErrorHandler errorHandler; - - public JavaCompilerWithDeps(Context context, SjavacErrorHandler eh) { - super(context); - deps = Dependencies.instance(context); - errorHandler = eh; - needRootClasses = true; - } - - public static void preRegister(Context context, final SjavacErrorHandler eh) { - context.put(compilerKey, new Context.Factory() { - public JavaCompiler make(Context c) { - JavaCompiler instance = new JavaCompilerWithDeps(c, eh); - c.put(JavaCompiler.class, instance); - return instance; - } - }); - } - - /** Collect the public apis of classes supplied explicitly for compilation. - * @param sym The class to visit. - */ - @Override - public void reportPublicApi(ClassSymbol sym) { - // The next test will catch when source files are located in the wrong directory! - // This ought to be moved into javac as a new warning, or perhaps as part - // of the auxiliary class warning. - - // For example if sun.swing.BeanInfoUtils - // is in fact stored in: /mybuild/jdk/gensrc/javax/swing/beaninfo/BeanInfoUtils.java - - // We do not need to test that BeanInfoUtils is stored in a file named BeanInfoUtils - // since this is checked earlier. - if (sym.sourcefile != null) { - // Rewrite sun.swing.BeanInfoUtils into /sun/swing/ - StringBuilder pathb = new StringBuilder(); - StringTokenizer qn = new StringTokenizer(sym.packge().toString(), "."); - boolean first = true; - while (qn.hasMoreTokens()) { - String o = qn.nextToken(); - pathb.append("/"); - pathb.append(o); - first = false; - } - pathb.append("/"); - String path = pathb.toString(); - - // Now cut the uri to be: file:///mybuild/jdk/gensrc/javax/swing/beaninfo/ - String p = sym.sourcefile.toUri().getPath(); - // Do not use File.separatorChar here, a URI always uses slashes /. - int i = p.lastIndexOf("/"); - String pp = p.substring(0,i+1); - - // Now check if the truncated uri ends with the path. (It does not == failure!) - if (path.length() > 0 && !path.equals("/unnamed package/") && !pp.endsWith(path)) { - errorHandler.logError("Error: The source file "+sym.sourcefile.getName()+ - " is located in the wrong package directory, because it contains the class "+ - sym.getQualifiedName()); - } - } - deps.visitPubapi(sym); - } -} diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/PathAndPackageVerifier.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/PathAndPackageVerifier.java new file mode 100644 index 00000000000..6c0d2f836bb --- /dev/null +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/PathAndPackageVerifier.java @@ -0,0 +1,147 @@ +/* + * Copyright (c) 2014, 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.tools.sjavac.comp; + +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; + +import javax.tools.JavaFileObject; + +import com.sun.source.tree.CompilationUnitTree; +import com.sun.source.util.TaskEvent; +import com.sun.source.util.TaskListener; +import com.sun.tools.javac.tree.JCTree; +import com.sun.tools.javac.tree.JCTree.JCFieldAccess; +import com.sun.tools.javac.tree.JCTree.JCIdent; +import com.sun.tools.javac.util.DefinedBy; +import com.sun.tools.javac.util.DefinedBy.Api; +import com.sun.tools.javac.util.Name; + +public class PathAndPackageVerifier implements TaskListener { + + // Stores the set of compilation units whose source file path does not + // match the package declaration. + Set misplacedCompilationUnits = new HashSet<>(); + + @Override + @DefinedBy(Api.COMPILER_TREE) + public void started(TaskEvent e) { + } + + @Override + @DefinedBy(Api.COMPILER_TREE) + public void finished(TaskEvent e) { + if (e.getKind() != TaskEvent.Kind.ANALYZE) + return; + + CompilationUnitTree cu = e.getCompilationUnit(); + if (cu == null) + return; + + JavaFileObject jfo = cu.getSourceFile(); + if (jfo == null) + return; // No source file -> package doesn't matter + + JCTree pkg = (JCTree) cu.getPackageName(); + if (pkg == null) + return; // Default package. See JDK-8048144. + + Path dir = Paths.get(jfo.toUri()).normalize().getParent(); + if (!checkPathAndPackage(dir, pkg)) + misplacedCompilationUnits.add(cu); + } + + /* Returns true if dir matches pkgName. + * + * Examples: + * (a/b/c, a.b.c) gives true + * (i/j/k, i.x.k) gives false + * + * Currently (x/a/b/c, a.b.c) also gives true. See JDK-8059598. + */ + private boolean checkPathAndPackage(Path dir, JCTree pkgName) { + Iterator pathIter = new ParentIterator(dir); + Iterator pkgIter = new EnclosingPkgIterator(pkgName); + while (pathIter.hasNext() && pkgIter.hasNext()) { + if (!pathIter.next().equals(pkgIter.next())) + return false; + } + return !pkgIter.hasNext(); /*&& !pathIter.hasNext() See JDK-8059598 */ + } + + public Set getMisplacedCompilationUnits() { + return misplacedCompilationUnits; + } + + /* Iterates over the names of the parents of the given path: + * Example: dir1/dir2/dir3 results in dir3 -> dir2 -> dir1 + */ + private static class ParentIterator implements Iterator { + Path next; + ParentIterator(Path initial) { + next = initial; + } + @Override + public boolean hasNext() { + return next != null; + } + @Override + public String next() { + String tmp = next.getFileName().toString(); + next = next.getParent(); + return tmp; + } + } + + /* Iterates over the names of the enclosing packages: + * Example: pkg1.pkg2.pkg3 results in pkg3 -> pkg2 -> pkg1 + */ + private static class EnclosingPkgIterator implements Iterator { + JCTree next; + EnclosingPkgIterator(JCTree initial) { + next = initial; + } + @Override + public boolean hasNext() { + return next != null; + } + @Override + public String next() { + Name name; + if (next instanceof JCIdent) { + name = ((JCIdent) next).name; + next = null; + } else { + JCFieldAccess fa = (JCFieldAccess) next; + name = fa.name; + next = fa.selected; + } + return name.toString(); + } + } +} diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SjavacImpl.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SjavacImpl.java index 13cc82119a4..24e8eb1e71d 100644 --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SjavacImpl.java +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SjavacImpl.java @@ -28,22 +28,25 @@ import java.io.File; import java.io.PrintWriter; import java.io.StringWriter; import java.net.URI; +import java.nio.file.Paths; import java.util.Arrays; import java.util.List; import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; import javax.tools.JavaFileObject; import javax.tools.StandardJavaFileManager; +import com.sun.source.tree.CompilationUnitTree; import com.sun.tools.javac.api.JavacTaskImpl; import com.sun.tools.javac.api.JavacTool; +import com.sun.tools.javac.code.Symbol.ClassSymbol; import com.sun.tools.javac.code.Symbol.PackageSymbol; import com.sun.tools.javac.util.Context; import com.sun.tools.javac.util.ListBuffer; import com.sun.tools.javac.util.Options; import com.sun.tools.sjavac.Util; import com.sun.tools.sjavac.comp.dependencies.DependencyCollector; +import com.sun.tools.sjavac.comp.dependencies.PublicApiCollector; import com.sun.tools.sjavac.server.CompilationResult; import com.sun.tools.sjavac.server.Sjavac; import com.sun.tools.sjavac.server.SysInfo; @@ -72,18 +75,10 @@ public class SjavacImpl implements Sjavac { List explicitSources, Set sourcesToCompile, Set visibleSources) { - final AtomicBoolean forcedExit = new AtomicBoolean(); - JavacTool compiler = JavacTool.create(); StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null); SmartFileManager smartFileManager = new SmartFileManager(fileManager); Context context = new Context(); - JavaCompilerWithDeps.preRegister(context, new SjavacErrorHandler() { - @Override - public void logError(String msg) { - forcedExit.set(true); - } - }); // Now setup the actual compilation.... CompilationResult compilationResult = new CompilationResult(0); @@ -101,8 +96,6 @@ public class SjavacImpl implements Sjavac { for (JavaFileObject i : fileManager.getJavaFileObjectsFromFiles(sourcesToCompileFiles)) { compilationUnits.append(i); } - forcedExit.set(false); - // Create a new logger. StringWriter stdoutLog = new StringWriter(); @@ -111,6 +104,8 @@ public class SjavacImpl implements Sjavac { PrintWriter stderr = new PrintWriter(stderrLog); com.sun.tools.javac.main.Main.Result rc = com.sun.tools.javac.main.Main.Result.OK; DependencyCollector depsCollector = new DependencyCollector(); + PublicApiCollector pubApiCollector = new PublicApiCollector(); + PathAndPackageVerifier papVerifier = new PathAndPackageVerifier(); try { if (compilationUnits.size() > 0) { smartFileManager.setVisibleSources(visibleSources); @@ -128,12 +123,14 @@ public class SjavacImpl implements Sjavac { context); smartFileManager.setSymbolFileEnabled(!Options.instance(context).isSet("ignore.symbol.file")); task.addTaskListener(depsCollector); + task.addTaskListener(pubApiCollector); + task.addTaskListener(papVerifier); rc = task.doCall(); smartFileManager.flush(); } } catch (Exception e) { stderrLog.append(Util.getStackTrace(e)); - forcedExit.set(true); + rc = com.sun.tools.javac.main.Main.Result.ERROR; } compilationResult.packageArtifacts = smartFileManager.getPackageArtifacts(); @@ -144,13 +141,23 @@ public class SjavacImpl implements Sjavac { deps.collect(from.fullname, to.fullname); } + for (ClassSymbol cs : pubApiCollector.getClassSymbols()) + deps.visitPubapi(cs); + + if (papVerifier.getMisplacedCompilationUnits().size() > 0) { + for (CompilationUnitTree cu : papVerifier.getMisplacedCompilationUnits()) { + System.err.println("Misplaced compilation unit."); + System.err.println(" Directory: " + Paths.get(cu.getSourceFile().toUri()).getParent()); + System.err.println(" Package: " + cu.getPackageName()); + } + rc = com.sun.tools.javac.main.Main.Result.ERROR; + } + compilationResult.packageDependencies = deps.getDependencies(); compilationResult.packagePubapis = deps.getPubapis(); - compilationResult.stdout = stdoutLog.toString(); compilationResult.stderr = stderrLog.toString(); - - compilationResult.returnCode = rc.exitCode == 0 && forcedExit.get() ? -1 : rc.exitCode; + compilationResult.returnCode = rc.exitCode; return compilationResult; } diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/PublicApiCollector.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/PublicApiCollector.java new file mode 100644 index 00000000000..4d900318505 --- /dev/null +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/dependencies/PublicApiCollector.java @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2014, 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.tools.sjavac.comp.dependencies; + +import java.util.HashSet; +import java.util.Set; + +import com.sun.source.tree.Tree; +import com.sun.source.util.TaskEvent; +import com.sun.source.util.TaskListener; +import com.sun.tools.javac.code.Symbol.ClassSymbol; +import com.sun.tools.javac.tree.JCTree.JCClassDecl; +import com.sun.tools.javac.util.DefinedBy; +import com.sun.tools.javac.util.DefinedBy.Api; + +public class PublicApiCollector implements TaskListener { + + final Set classSymbols = new HashSet<>(); + + @Override + @DefinedBy(Api.COMPILER_TREE) + public void started(TaskEvent e) { + } + + @Override + @DefinedBy(Api.COMPILER_TREE) + public void finished(TaskEvent e) { + if (e.getKind() == TaskEvent.Kind.ANALYZE) { + for (Tree t : e.getCompilationUnit().getTypeDecls()) { + if (t instanceof JCClassDecl) // Can also be a JCSkip + classSymbols.add(((JCClassDecl) t).sym); + } + } + } + + public Set getClassSymbols() { + return classSymbols; + } +} diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SjavacErrorHandler.java b/langtools/test/tools/sjavac/PackagePathMismatch.java similarity index 55% rename from langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SjavacErrorHandler.java rename to langtools/test/tools/sjavac/PackagePathMismatch.java index e422b2f87d3..b167b5deed2 100644 --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/comp/SjavacErrorHandler.java +++ b/langtools/test/tools/sjavac/PackagePathMismatch.java @@ -23,14 +23,32 @@ * questions. */ -package com.sun.tools.sjavac.comp; - -/** - *

      This is NOT part of any supported API. - * If you write code that depends on this, you do so at your own risk. - * This code and its internal interfaces are subject to change or - * deletion without notice. +/* + * @test + * @bug 8059349 + * @summary This test makes sure file paths matches package declarations + * @library /tools/lib + * @build Wrapper ToolBox + * @run main Wrapper PackagePathMismatch */ -public interface SjavacErrorHandler { - void logError(String msg); + +import java.nio.file.Path; +import java.nio.file.Paths; + +public class PackagePathMismatch extends SjavacBase { + public static void main(String... args) throws Exception { + + Path root = Paths.get(PackagePathMismatch.class.getSimpleName() + "Test"); + Path src = root.resolve("src"); + Path classes = root.resolve("classes"); + + toolbox.writeFile(src.resolve("a/x/c/Test.java"), + "package a.b.c; class Test { }"); + + // Compile should fail since package a.b.c does not match path a/x/c. + String server = "--server:portfile=testserver,background=false"; + int rc1 = compile(server, "-d", classes, src); + if (rc1 == 0) + throw new AssertionError("Compilation succeeded unexpectedly"); + } } From 3ed02be10e68612ebdb5e8058a6259af314e9435 Mon Sep 17 00:00:00 2001 From: Tobias Hartmann Date: Wed, 8 Oct 2014 09:23:18 +0200 Subject: [PATCH 61/83] 8059735: make_not_entrant_or_zombie sees zombies Make sure nmethod is not set to zombie state twice by sweeper and safepoint code. Reviewed-by: kvn, anoll, mgerdin --- hotspot/src/share/vm/runtime/sweeper.cpp | 26 ++++++++++++++++-------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/hotspot/src/share/vm/runtime/sweeper.cpp b/hotspot/src/share/vm/runtime/sweeper.cpp index ab1c113138e..cecb8ff08a1 100644 --- a/hotspot/src/share/vm/runtime/sweeper.cpp +++ b/hotspot/src/share/vm/runtime/sweeper.cpp @@ -540,17 +540,25 @@ int NMethodSweeper::process_nmethod(nmethod *nm) { // If there are no current activations of this method on the // stack we can safely convert it to a zombie method if (nm->can_not_entrant_be_converted()) { - if (PrintMethodFlushing && Verbose) { - tty->print_cr("### Nmethod %3d/" PTR_FORMAT " (not entrant) being made zombie", nm->compile_id(), nm); - } // Clear ICStubs to prevent back patching stubs of zombie or unloaded // nmethods during the next safepoint (see ICStub::finalize). - MutexLocker cl(CompiledIC_lock); - nm->clear_ic_stubs(); - // Code cache state change is tracked in make_zombie() - nm->make_zombie(); - _zombified_count++; - SWEEP(nm); + { + MutexLocker cl(CompiledIC_lock); + nm->clear_ic_stubs(); + } + // Acquiring the CompiledIC_lock may block for a safepoint and set the + // nmethod to zombie (see 'CodeCache::make_marked_nmethods_zombies'). + // Check if nmethod is still non-entrant at this point. + if (nm->is_not_entrant()) { + if (PrintMethodFlushing && Verbose) { + tty->print_cr("### Nmethod %3d/" PTR_FORMAT " (not entrant) being made zombie", nm->compile_id(), nm); + } + // Code cache state change is tracked in make_zombie() + nm->make_zombie(); + _zombified_count++; + SWEEP(nm); + } + assert(nm->is_zombie(), "nmethod must be zombie"); } else { // Still alive, clean up its inline caches MutexLocker cl(CompiledIC_lock); From 4f8e9a09e25c365b4a03b3323a431b713bec230b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20Walln=C3=B6fer?= Date: Wed, 8 Oct 2014 15:50:36 +0200 Subject: [PATCH 62/83] 8059236: Memory leak when executing octane pdfjs with optimistic typing Reviewed-by: jlaskey, attila --- nashorn/test/script/basic/octane-payload.js | 2 +- nashorn/test/script/basic/run-octane.js | 219 ++++++++++---------- 2 files changed, 113 insertions(+), 108 deletions(-) diff --git a/nashorn/test/script/basic/octane-payload.js b/nashorn/test/script/basic/octane-payload.js index 36c780d768f..f2be6b12b42 100644 --- a/nashorn/test/script/basic/octane-payload.js +++ b/nashorn/test/script/basic/octane-payload.js @@ -40,7 +40,7 @@ var tests = [ {name:"gbemu", files:["gbemu-part1.js", "gbemu-part2.js"], suite:"GameboyBenchmark"}, {name:"mandreel", files:["mandreel.js"], suite:"MandreelBenchmark"}, {name:"navier-stokes", files:["navier-stokes.js"], suite:"NavierStokes"}, - {name:"pdfjs", files:["pdfjs.js"], suite:"PdfJS"}, + {name:"pdfjs", files:["pdfjs.js"], suite:"PdfJS", cleanUpIteration: function() { canvas_logs = []; }}, {name:"raytrace", files:["raytrace.js"], suite:"RayTrace"}, {name:"regexp", files:["regexp.js"], suite:"RegExpSuite"}, {name:"richards", files:["richards.js"], suite:"Richards"}, diff --git a/nashorn/test/script/basic/run-octane.js b/nashorn/test/script/basic/run-octane.js index 97e34818325..a0a9bdc8513 100644 --- a/nashorn/test/script/basic/run-octane.js +++ b/nashorn/test/script/basic/run-octane.js @@ -24,8 +24,8 @@ /** * @subtest */ -var payload = __DIR__ + "octane-payload.js"; -load(payload); +var dir = typeof(__DIR__) == 'undefined' ? "test/script/basic/" : __DIR__; +load(dir + "octane-payload.js"); var runtime = undefined; var verbose = false; @@ -43,27 +43,27 @@ function should_compile_only(name) { function load_bench(arg) { for (var idx = 0; idx < arg.files.length; idx++) { - var f = arg.files[idx]; - var file = f.split('/'); - var file_name = path + file[file.length - 1]; + var f = arg.files[idx]; + var file = f.split('/'); + var file_name = path + file[file.length - 1]; - var compile_and_return = should_compile_only(file_name); - if (compile_and_return) { - if (typeof compile_only === 'undefined') { //for a run, skip compile onlies, don't even compile them - return true; + var compile_and_return = should_compile_only(file_name); + if (compile_and_return) { + if (typeof compile_only === 'undefined') { //for a run, skip compile onlies, don't even compile them + return true; + } } - } - print_verbose(arg, "loading '" + arg.name + "' [" + f + "]... " + file_name); - load(file_name); + print_verbose(arg, "loading '" + arg.name + "' [" + f + "]... " + file_name); + load(file_name); } if (typeof arg.before !== 'undefined') { - arg.before(); + arg.before(); } if (compile_and_return) { - print_always(arg, "Compiled OK"); + print_always(arg, "Compiled OK"); } return !compile_and_return; @@ -73,16 +73,16 @@ function load_bench(arg) { function run_one_benchmark(arg, iters) { if (!load_bench(arg)) { - return; + return; } var success = true; var current_name; if (iters == undefined) { - iters = numberOfIterations; + iters = numberOfIterations; } else { - numberOfIterations = iters; + numberOfIterations = iters; } var benchmarks = eval(arg.suite + ".benchmarks"); @@ -91,64 +91,69 @@ function run_one_benchmark(arg, iters) { var mean_score = 0; try { - for (var x = 0; x < benchmarks.length ; x++) { - //do warmup run - //reset random number generator needed as of octane 9 before each run - BenchmarkSuite.ResetRNG(); - benchmarks[x].Setup(); - } - BenchmarkSuite.ResetRNG(); - print_verbose(arg, "running '" + arg.name + "' for " + iters + " iterations of no less than " + min_time + " seconds"); - - var scores = []; - - var min_time_ms = min_time * 1000; - var len = benchmarks.length; - - for (var it = 0; it < iters + 1; it++) { - //every iteration must take a minimum of 10 secs - var ops = 0; - var elapsed = 0; - var start = new Date; - do { - for (var i = 0; i < len; i++) { - benchmarks[i].run(); - //important - no timing here like elapsed = new Date() - start, as in the - //original harness. This will make timing very non-deterministic. - //NOTHING else must live in this loop + for (var x = 0; x < benchmarks.length ; x++) { + //do warmup run + //reset random number generator needed as of octane 9 before each run + BenchmarkSuite.ResetRNG(); + benchmarks[x].Setup(); } - ops += len; - elapsed = new Date - start; - } while (elapsed < min_time * 1000); + BenchmarkSuite.ResetRNG(); + print_verbose(arg, "running '" + arg.name + "' for " + iters + " iterations of no less than " + min_time + " seconds"); - var score = ops / elapsed * 1000 * 60; - scores.push(score); - var name = it == 0 ? "warmup" : "iteration " + it; - print_verbose(arg, name + " finished " + score.toFixed(0) + " ops/minute"); - } + var scores = []; - for (var x = 0; x < benchmarks.length ; x++) { - benchmarks[x].TearDown(); - } + var min_time_ms = min_time * 1000; + var len = benchmarks.length; - for (var x = 1; x < iters + 1 ; x++) { - mean_score += scores[x]; - min_score = Math.min(min_score, scores[x]); - max_score = Math.max(max_score, scores[x]); - } - mean_score /= iters; + for (var it = 0; it < iters + 1; it++) { + //every iteration must take a minimum of 10 secs + var ops = 0; + var elapsed = 0; + var start = new Date; + do { + for (var i = 0; i < len; i++) { + benchmarks[i].run(); + //important - no timing here like elapsed = new Date() - start, as in the + //original harness. This will make timing very non-deterministic. + //NOTHING else must live in this loop + } + ops += len; + elapsed = new Date - start; + } while (elapsed < min_time * 1000); + + var score = ops / elapsed * 1000 * 60; + scores.push(score); + var name = it == 0 ? "warmup" : "iteration " + it; + print_verbose(arg, name + " finished " + score.toFixed(0) + " ops/minute"); + + // optional per-iteration cleanup hook + if (typeof arg.cleanUpIteration == "function") { + arg.cleanUpIteration(); + } + } + + for (var x = 0; x < benchmarks.length ; x++) { + benchmarks[x].TearDown(); + } + + for (var x = 1; x < iters + 1 ; x++) { + mean_score += scores[x]; + min_score = Math.min(min_score, scores[x]); + max_score = Math.max(max_score, scores[x]); + } + mean_score /= iters; } catch (e) { - print_always(arg, "*** Aborted and setting score to zero. Reason: " + e); - if (is_this_nashorn() && e instanceof java.lang.Throwable) { - e.printStackTrace(); - } - mean_score = min_score = max_score = 0; - scores = [0]; + print_always(arg, "*** Aborted and setting score to zero. Reason: " + e); + if (is_this_nashorn() && e instanceof java.lang.Throwable) { + e.printStackTrace(); + } + mean_score = min_score = max_score = 0; + scores = [0]; } var res = mean_score.toFixed(0); if (verbose) { - res += " ops/minute (" + min_score.toFixed(0) + "-" + max_score.toFixed(0) + "), warmup=" + scores[0].toFixed(0); + res += " ops/minute (" + min_score.toFixed(0) + "-" + max_score.toFixed(0) + "), warmup=" + scores[0].toFixed(0); } print_always(arg, res); } @@ -163,13 +168,13 @@ function print_always(arg, x) { function print_verbose(arg, x) { if (verbose) { - print_always(arg, x) + print_always(arg, x) } } function run_suite(tests, iters) { for (var idx = 0; idx < tests.length; idx++) { - run_one_benchmark(tests[idx], iters); + run_one_benchmark(tests[idx], iters); } } @@ -184,13 +189,13 @@ if (typeof $ARGS !== 'undefined') { var new_args = []; for (i in args) { if (args[i].toString().indexOf(' ') != -1) { - args[i] = args[i].replace(/\/$/, ''); - var s = args[i].split(' '); - for (j in s) { - new_args.push(s[j]); - } + args[i] = args[i].replace(/\/$/, ''); + var s = args[i].split(' '); + for (j in s) { + new_args.push(s[j]); + } } else { - new_args.push(args[i]); + new_args.push(args[i]); } } @@ -205,46 +210,46 @@ var min_time = 5; for (var i = 0; i < args.length; i++) { arg = args[i]; if (arg == "--iterations") { - iters = +args[++i]; - if (isNaN(iters)) { - throw "'--iterations' must be followed by integer"; - } + iters = +args[++i]; + if (isNaN(iters)) { + throw "'--iterations' must be followed by integer"; + } } else if (arg == "--runtime") { - runtime = args[++i]; + runtime = args[++i]; } else if (arg == "--verbose") { - verbose = true; + verbose = true; } else if (arg == "--min-time") { - min_time = +args[++i]; - if (isNaN(iters)) { - throw "'--min-time' must be followed by integer"; - } + min_time = +args[++i]; + if (isNaN(iters)) { + throw "'--min-time' must be followed by integer"; + } } else if (arg == "") { - continue; //skip + continue; //skip } else { - var found = false; - for (j in tests) { - if (tests[j].name === arg) { - tests_found.push(tests[j]); - found = true; - break; - } - } - if (!found) { - var str = "unknown test name: '" + arg + "' -- valid names are: "; + var found = false; for (j in tests) { - if (j != 0) { - str += ", "; + if (tests[j].name === arg) { + tests_found.push(tests[j]); + found = true; + break; + } } - str += "'" + tests[j].name + "'"; + if (!found) { + var str = "unknown test name: '" + arg + "' -- valid names are: "; + for (j in tests) { + if (j != 0) { + str += ", "; + } + str += "'" + tests[j].name + "'"; + } + throw str; } - throw str; - } } } if (tests_found.length == 0) { for (i in tests) { - tests_found.push(tests[i]); + tests_found.push(tests[i]); } } @@ -255,21 +260,21 @@ function is_this_nashorn() { if (is_this_nashorn()) { try { - read = readFully; + read = readFully; } catch (e) { - print("ABORTING: Cannot find 'readFully'. You must have scripting enabled to use this test harness. (-scripting)"); - throw e; + print("ABORTING: Cannot find 'readFully'. You must have scripting enabled to use this test harness. (-scripting)"); + throw e; } } // run tests in alphabetical order by name tests_found.sort(function(a, b) { if (a.name < b.name) { - return -1; + return -1; } else if (a.name > b.name) { - return 1; + return 1; } else { - return 0; + return 0; } }); From 2134f7554d32a4463276f800c6567cda4b5378a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hannes=20Walln=C3=B6fer?= Date: Wed, 8 Oct 2014 17:20:29 +0200 Subject: [PATCH 63/83] 8059938: NPE restoring cached script with optimistic types disabled Reviewed-by: lagergren, sundar --- .../classes/jdk/nashorn/internal/runtime/Context.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java index 8695a5c762a..945f919cc11 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java @@ -1138,6 +1138,9 @@ public final class Context { StoredScript storedScript = null; FunctionNode functionNode = null; + // We only use the code store here if optimistic types are disabled. With optimistic types, + // code is stored per function in RecompilableScriptFunctionData. + // TODO: This should really be triggered by lazy compilation, not optimistic types. final boolean useCodeStore = env._persistent_cache && !env._parse_only && !env._optimistic_types; final String cacheKey = useCodeStore ? CodeStore.getCacheKey(0, null) : null; @@ -1224,7 +1227,7 @@ public final class Context { final String mainClassName = storedScript.getMainClassName(); final byte[] mainClassBytes = classBytes.get(mainClassName); final Class mainClass = installer.install(mainClassName, mainClassBytes); - final Map initialzers = storedScript.getInitializers(); + final Map initializers = storedScript.getInitializers(); installedClasses.put(mainClassName, mainClass); @@ -1244,8 +1247,8 @@ public final class Context { if (constant instanceof RecompilableScriptFunctionData) { final RecompilableScriptFunctionData data = (RecompilableScriptFunctionData) constant; data.initTransients(source, installer); - if (initialzers != null) { - final FunctionInitializer initializer = initialzers.get(data.getFunctionNodeId()); + final FunctionInitializer initializer = initializers.get(data.getFunctionNodeId()); + if (initializer != null) { initializer.setCode(installedClasses.get(initializer.getClassName())); data.initializeCode(initializer); } From 76b1f8c99ce3df92d42eb1ee494ad4a9ac39ccf5 Mon Sep 17 00:00:00 2001 From: Weijun Wang Date: Thu, 9 Oct 2014 16:05:24 +0800 Subject: [PATCH 64/83] 8060007: Keytool test can use bundled NSS lib on Mac Reviewed-by: vinnie --- jdk/test/sun/security/tools/keytool/autotest.sh | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/jdk/test/sun/security/tools/keytool/autotest.sh b/jdk/test/sun/security/tools/keytool/autotest.sh index 73e8761d0a9..1c18e538d7f 100644 --- a/jdk/test/sun/security/tools/keytool/autotest.sh +++ b/jdk/test/sun/security/tools/keytool/autotest.sh @@ -85,9 +85,7 @@ case "$OS" in fi ;; Darwin ) - LIBNAME=`find_one \ - "/Applications/Firefox.app/Contents/MacOS/libsoftokn3.dylib" \ - "/Applications/Thunderbird.app//Contents/MacOS/libsoftokn3.dylib"` + LIBNAME="$TESTSRC/../../pkcs11/nss/lib/macosx-x86_64/libsoftokn3.dylib" ;; * ) echo "Will not run test on: ${OS}" @@ -102,10 +100,6 @@ fi echo "Using NSS lib at $LIBNAME" -if [ $OS = Darwin ]; then - export DYLD_LIBRARY_PATH=`dirname $LIBNAME` -fi - ${COMPILEJAVA}${FS}bin${FS}javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d . -XDignore.symbol.file \ ${TESTSRC}${FS}KeyToolTest.java || exit 10 From e95348b58e709aed766a20b835755ef5f4638b99 Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Thu, 9 Oct 2014 10:08:52 +0200 Subject: [PATCH 65/83] 8057652: Request to improve error messages for labeled declarations Parse labeled statements as block statements to improve error recovery for labeled declarations; related cleanup. Reviewed-by: jjg --- .../sun/tools/javac/parser/JavacParser.java | 42 ++++++++----------- .../test/tools/javac/LabeledDeclaration.java | 2 +- .../test/tools/javac/LabeledDeclaration.out | 5 +-- 3 files changed, 21 insertions(+), 28 deletions(-) diff --git a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java index 41f024a1baf..f502e71bcc2 100644 --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java @@ -2271,9 +2271,11 @@ public class JavacParser implements Parser { } /* - * This method parses a statement treating it as a block, relaxing the - * JLS restrictions, allows us to parse more faulty code, doing so - * enables us to provide better and accurate diagnostics to the user. + * Parse a Statement (JLS 14.5). As an enhancement to improve error recovery, + * this method will also recognize variable and class declarations (which are + * not legal for a Statement) by delegating the parsing to BlockStatement (JLS 14.2). + * If any illegal declarations are found, they will be wrapped in an erroneous tree, + * and an error will be produced by this method. */ JCStatement parseStatementAsBlock() { int pos = token.pos; @@ -2302,6 +2304,8 @@ public class JavacParser implements Parser { } } + /**This method parses a statement appearing inside a block. + */ List blockStatement() { //todo: skip to anchor on error(?) int pos = token.pos; @@ -2311,7 +2315,8 @@ public class JavacParser implements Parser { case LBRACE: case IF: case FOR: case WHILE: case DO: case TRY: case SWITCH: case SYNCHRONIZED: case RETURN: case THROW: case BREAK: case CONTINUE: case SEMI: case ELSE: case FINALLY: case CATCH: - return List.of(parseStatement()); + case ASSERT: + return List.of(parseSimpleStatement()); case MONKEYS_AT: case FINAL: { Comment dc = token.comment(CommentStyle.JAVADOC); @@ -2343,14 +2348,12 @@ public class JavacParser implements Parser { error(token.pos, "local.enum"); dc = token.comment(CommentStyle.JAVADOC); return List.of(classOrInterfaceOrEnumDeclaration(modifiersOpt(), dc)); - case ASSERT: - return List.of(parseStatement()); default: Token prevToken = token; JCExpression t = term(EXPR | TYPE); if (token.kind == COLON && t.hasTag(IDENT)) { nextToken(); - JCStatement stat = parseStatement(); + JCStatement stat = parseStatementAsBlock(); return List.of(F.at(pos).Labelled(prevToken.name(), stat)); } else if ((lastmode & TYPE) != 0 && LAX_IDENTIFIER.accepts(token.kind)) { pos = token.pos; @@ -2389,10 +2392,8 @@ public class JavacParser implements Parser { * | CONTINUE [Ident] ";" * | ASSERT Expression [ ":" Expression ] ";" * | ";" - * | ExpressionStatement - * | Ident ":" Statement */ - public JCStatement parseStatement() { + JCStatement parseSimpleStatement() { int pos = token.pos; switch (token.kind) { case LBRACE: @@ -2542,24 +2543,17 @@ public class JavacParser implements Parser { JCAssert t = toP(F.at(pos).Assert(assertion, message)); return t; } - case ENUM: default: - Token prevToken = token; - JCExpression expr = parseExpression(); - if (token.kind == COLON && expr.hasTag(IDENT)) { - nextToken(); - JCStatement stat = parseStatement(); - return F.at(pos).Labelled(prevToken.name(), stat); - } else { - // This Exec is an "ExpressionStatement"; it subsumes the terminating semicolon - expr = checkExprStat(expr); - accept(SEMI); - JCExpressionStatement stat = toP(F.at(pos).Exec(expr)); - return stat; - } + Assert.error(); + return null; } } + @Override + public JCStatement parseStatement() { + return parseStatementAsBlock(); + } + private JCStatement doRecover(int startPos, ErrorRecoveryAction action, String key) { int errPos = S.errPos(); JCTree stm = action.doRecover(this); diff --git a/langtools/test/tools/javac/LabeledDeclaration.java b/langtools/test/tools/javac/LabeledDeclaration.java index 7b4741f68a0..89006e4d691 100644 --- a/langtools/test/tools/javac/LabeledDeclaration.java +++ b/langtools/test/tools/javac/LabeledDeclaration.java @@ -1,6 +1,6 @@ /* * @test /nodynamiccopyright/ - * @bug 4039843 + * @bug 4039843 8057652 * @summary The compiler should not allow labeled declarations. * @author turnidge * diff --git a/langtools/test/tools/javac/LabeledDeclaration.out b/langtools/test/tools/javac/LabeledDeclaration.out index 5a3dccde34f..2f5f49e8608 100644 --- a/langtools/test/tools/javac/LabeledDeclaration.out +++ b/langtools/test/tools/javac/LabeledDeclaration.out @@ -1,3 +1,2 @@ -LabeledDeclaration.java:12:14: compiler.err.dot.class.expected -LabeledDeclaration.java:12:10: compiler.err.not.stmt -2 errors +LabeledDeclaration.java:12:14: compiler.err.variable.not.allowed +1 error From 8d304985e6a6cbb78cfc85bac04234ecbb6373c3 Mon Sep 17 00:00:00 2001 From: Marcus Lagergren Date: Thu, 9 Oct 2014 10:19:24 +0200 Subject: [PATCH 66/83] 8059811: Turn off optimistic typing by default and add both ant test-pessimistic and ant test-optimistic sub-test suites Reviewed-by: attila, shade, hannesw --- nashorn/bin/fixwhitespace.sh | 37 ++++++++++++ nashorn/make/build.xml | 28 ++++++++- nashorn/make/project.properties | 21 ++++++- .../nashorn/internal/codegen/Compiler.java | 10 ++-- .../jdk/nashorn/internal/runtime/Context.java | 1 - .../runtime/resources/Options.properties | 5 +- .../internal/runtime/ClassFilterTest.java | 12 ++-- .../test/framework/ScriptRunnable.java | 2 +- .../internal/test/framework/TestFinder.java | 60 ++++++++++++++++++- 9 files changed, 154 insertions(+), 22 deletions(-) create mode 100644 nashorn/bin/fixwhitespace.sh diff --git a/nashorn/bin/fixwhitespace.sh b/nashorn/bin/fixwhitespace.sh new file mode 100644 index 00000000000..d3274700f71 --- /dev/null +++ b/nashorn/bin/fixwhitespace.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# +# Copyright (c) 2010, 2013, 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. +# + +fix() { + #convert tabs to spaces + find . -name $1 -exec sed -i "" 's/ / /g' {} \; + #remove trailing whitespace + find . -name $1 -exec sed -i "" 's/[ ]*$//' \{} \; +} + +if [ ! -z $1 ]; then + fix $1; +else + fix "*.java" + fix "*.js" +fi diff --git a/nashorn/make/build.xml b/nashorn/make/build.xml index 9d6ba9a983f..27ae1b319fc 100644 --- a/nashorn/make/build.xml +++ b/nashorn/make/build.xml @@ -78,7 +78,7 @@ - + @@ -420,6 +420,7 @@ grant codeBase "file:/${basedir}/test/script/markdown.js" { + @@ -431,7 +432,7 @@ grant codeBase "file:/${basedir}/test/script/markdown.js" { + verbose="${testng.verbose}" haltonfailure="true" useDefaultListeners="false" listeners="${testng.listeners}" workingDir="${basedir}"> @@ -442,6 +443,7 @@ grant codeBase "file:/${basedir}/test/script/markdown.js" { + @@ -449,7 +451,27 @@ grant codeBase "file:/${basedir}/test/script/markdown.js" { - + + + + + + + + + + + + + + + + + + + + + diff --git a/nashorn/make/project.properties b/nashorn/make/project.properties index a0ba00c6ff5..2b49078e137 100644 --- a/nashorn/make/project.properties +++ b/nashorn/make/project.properties @@ -286,7 +286,8 @@ run.test.jvmargs.common=\ # turn on assertions for tests run.test.jvmargs.main=${run.test.jvmargs.common} -ea -# extra jvmargs that might be useful for debugging +# Extra jvmargs that might be useful for debugging +# and performance improvements/monitoring # # -XX:+UnlockDiagnosticVMOptions # @@ -304,9 +305,25 @@ run.test.jvmargs.main=${run.test.jvmargs.common} -ea # # print all compiled nmethods with oopmaps and lots of other info # -XX:+PrintNMethods +# +# activate the generic "UseNewCode" flag to test whatever functionality +# lies behind it. This is the preferred way to test a, yet flagless, +# feature in HotSpot - for example, the uncommon trap placement fix +# was hidden behind this flag before it became the default +# +# -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode +# +# Crank up the type profile level to 222, which has some warmup +# penalties, but produces much better code for JavaScript, where better +# and more intrusive type profiling is required to get rid of +# a large amount of unnecessary guard code, that could not otherwise +# be eliminated +# +# -XX:TypeProfileLevel=222 +# # Use best known performance options for octane -run.test.jvmargs.octane.main=${run.test.jvmargs.common} -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode -XX:TypeProfileLevel=222 +run.test.jvmargs.octane.main=${run.test.jvmargs.common} -XX:TypeProfileLevel=222 # Security manager args - make sure that we run with the nashorn.policy that the build creates run.test.jvmsecurityargs=-Xverify:all -Djava.security.manager -Djava.security.policy=${build.dir}/nashorn.policy diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Compiler.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Compiler.java index 479bc9ef049..3a0cc6bfb4b 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Compiler.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Compiler.java @@ -458,11 +458,13 @@ public final class Compiler implements Loggable { @Override public DebugLogger initLogger(final Context ctxt) { - final boolean optimisticTypes = ctxt.getEnv()._optimistic_types; + final boolean optimisticTypes = env._optimistic_types; + final boolean lazyCompilation = env._lazy_compilation; + return ctxt.getLogger(this.getClass(), new Consumer() { @Override public void accept(final DebugLogger newLogger) { - if (!Compiler.this.getScriptEnvironment()._lazy_compilation) { + if (!lazyCompilation) { newLogger.warning("WARNING: Running with lazy compilation switched off. This is not a default setting."); } newLogger.warning("Optimistic types are ", optimisticTypes ? "ENABLED." : "DISABLED."); @@ -544,7 +546,7 @@ public final class Compiler implements Loggable { */ public FunctionNode compile(final FunctionNode functionNode, final CompilationPhases phases) throws CompilationException { if (log.isEnabled()) { - log.info("Starting compile job for ", DebugLogger.quote(functionNode.getName()), " phases=", quote(phases.getDesc())); + log.info(">> Starting compile job for ", DebugLogger.quote(functionNode.getName()), " phases=", quote(phases.getDesc())); log.indent(); } @@ -591,7 +593,7 @@ public final class Compiler implements Loggable { log.unindent(); if (info) { - final StringBuilder sb = new StringBuilder("Finished compile job for "); + final StringBuilder sb = new StringBuilder("<< Finished compile job for "); sb.append(newFunctionNode.getSource()). append(':'). append(quote(newFunctionNode.getName())); diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java index 945f919cc11..e77c204afbb 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java @@ -33,7 +33,6 @@ import static jdk.nashorn.internal.runtime.CodeStore.newCodeStore; import static jdk.nashorn.internal.runtime.ECMAErrors.typeError; import static jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED; import static jdk.nashorn.internal.runtime.Source.sourceFor; - import java.io.File; import java.io.IOException; import java.io.PrintWriter; diff --git a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/Options.properties b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/Options.properties index 681fa43f58d..2f32079be58 100644 --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/Options.properties +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/Options.properties @@ -204,9 +204,8 @@ nashorn.option.lazy.compilation = { nashorn.option.optimistic.types = { \ name="--optimistic-types", \ short_name="-ot", \ - is_undocumented=true, \ - desc="Use optimistic type assumptions with deoptimizing recompilation.", \ - default=true \ + desc="Use optimistic type assumptions with deoptimizing recompilation. This makes the compiler try, for any program symbol whose type cannot be proven at compile time, to type it as narrow and primitive as possible. If the runtime encounters an error because symbol type is too narrow, a wider method will be generated until steady stage is reached. While this produces as optimal Java Bytecode as possible, erroneous type guesses will lead to longer warmup. Optimistic typing is currently enabled by default, but can be disabled for faster startup performance.", \ + default=true \ } nashorn.option.loader.per.compile = { \ diff --git a/nashorn/test/src/jdk/nashorn/internal/runtime/ClassFilterTest.java b/nashorn/test/src/jdk/nashorn/internal/runtime/ClassFilterTest.java index 558833ebb22..7471731da0b 100644 --- a/nashorn/test/src/jdk/nashorn/internal/runtime/ClassFilterTest.java +++ b/nashorn/test/src/jdk/nashorn/internal/runtime/ClassFilterTest.java @@ -25,10 +25,10 @@ package jdk.nashorn.internal.runtime; - import jdk.nashorn.api.scripting.ClassFilter; import jdk.nashorn.api.scripting.NashornScriptEngineFactory; import jdk.nashorn.api.scripting.URLReader; +import jdk.nashorn.internal.test.framework.TestFinder; import org.testng.annotations.Test; import javax.script.ScriptEngine; @@ -126,9 +126,9 @@ public class ClassFilterTest { private void persistentCacheTestImpl() { NashornScriptEngineFactory factory = new NashornScriptEngineFactory(); ScriptEngine engine = factory.getScriptEngine( - new String[]{"--persistent-code-cache"}, - getClass().getClassLoader(), - getClassFilter() + TestFinder.addExplicitOptimisticTypes(new String[]{"--persistent-code-cache", "--optimistic-types=true"}), + getClass().getClassLoader(), + getClassFilter() ); String testScript = "var a = Java.type('java.lang.String');" + generateCodeForPersistentStore(); try { @@ -137,7 +137,7 @@ public class ClassFilterTest { fail(exc.getMessage()); } ScriptEngine engineSafe = factory.getScriptEngine( - new String[]{"--persistent-code-cache"}, + TestFinder.addExplicitOptimisticTypes(new String[]{"--persistent-code-cache", "--optimistic-types=true"}), getClass().getClassLoader(), new ClassFilter() { @Override @@ -151,7 +151,7 @@ public class ClassFilterTest { fail("ClassNotFoundException should have been thrown"); } catch (final Exception exc) { if (!(exc.getCause() instanceof ClassNotFoundException)) { - fail("ClassNotFoundException expected"); + fail("ClassNotFoundException expected, got " + exc.getClass()); } } } diff --git a/nashorn/test/src/jdk/nashorn/internal/test/framework/ScriptRunnable.java b/nashorn/test/src/jdk/nashorn/internal/test/framework/ScriptRunnable.java index f8aef77c738..ee26061ea24 100644 --- a/nashorn/test/src/jdk/nashorn/internal/test/framework/ScriptRunnable.java +++ b/nashorn/test/src/jdk/nashorn/internal/test/framework/ScriptRunnable.java @@ -179,7 +179,7 @@ public final class ScriptRunnable extends AbstractScriptRunnable implements ITes for (final String str : forkJVMOptions) { if(!str.isEmpty()) { cmd.add(str); - } + } } cmd.add(Shell.class.getName()); // now add the rest of the "in process" runtime arguments diff --git a/nashorn/test/src/jdk/nashorn/internal/test/framework/TestFinder.java b/nashorn/test/src/jdk/nashorn/internal/test/framework/TestFinder.java index 4a96a4ae2e7..dce17178360 100644 --- a/nashorn/test/src/jdk/nashorn/internal/test/framework/TestFinder.java +++ b/nashorn/test/src/jdk/nashorn/internal/test/framework/TestFinder.java @@ -56,6 +56,7 @@ import java.nio.file.Path; import java.nio.file.SimpleFileVisitor; import java.nio.file.attribute.BasicFileAttributes; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.EnumSet; import java.util.HashMap; @@ -75,7 +76,7 @@ import org.xml.sax.InputSource; * Utility class to find/parse script test files and to create 'test' instances. * Actual 'test' object type is decided by clients of this class. */ -final class TestFinder { +public final class TestFinder { private TestFinder() {} interface TestFactory { @@ -215,6 +216,8 @@ final class TestFinder { final List scriptArguments = new ArrayList<>(); boolean inComment = false; + boolean explicitOptimistic = false; + try (Scanner scanner = new Scanner(testFile)) { while (scanner.hasNext()) { // TODO: Scan for /ref=file qualifiers, etc, to determine run @@ -287,7 +290,11 @@ final class TestFinder { scriptArguments.add(scanner.next()); break; case "@option": - engineOptions.add(scanner.next()); + final String next = scanner.next(); + engineOptions.add(next); + if (next.startsWith("--optimistic-types")) { + explicitOptimistic = true; + } break; case "@fork": fork = true; @@ -336,12 +343,61 @@ final class TestFinder { testOptions.put(OPTIONS_FORK, "true"); } + //if there are explicit optimistic type settings, use those - do not override + //the test might only work with optimistic types on or off. + if (!explicitOptimistic) { + addExplicitOptimisticTypes(engineOptions); + } + tests.add(factory.createTest(framework, testFile.toFile(), engineOptions, testOptions, scriptArguments)); } else if (!isNotTest) { orphans.add(name); } } + //the reverse of the default setting for optimistic types, if enabled, false, otherwise true + //thus, true for 8u40, false for 9 + private static final boolean OPTIMISTIC_OVERRIDE = false; + + /** + * Check if there is an optimistic override, that disables the default + * false optimistic types and sets them to true, for testing purposes + * + * @return true if optimistic type override has been set by test suite + */ + public static boolean hasOptimisticOverride() { + return Boolean.valueOf(OPTIMISTIC_OVERRIDE).toString().equals(System.getProperty("optimistic.override")); + } + + /** + * Add an optimistic-types=true option to an argument list if this + * is set to override the default false. Add an optimistic-types=true + * options to an argument list if this is set to override the default + * true + * + * @args new argument list array + */ + public static String[] addExplicitOptimisticTypes(String[] args) { + if (hasOptimisticOverride()) { + final List newList = new ArrayList<>(Arrays.asList(args)); + newList.add("--optimistic-types=" + Boolean.valueOf(OPTIMISTIC_OVERRIDE)); + return newList.toArray(new String[0]); + } + return args; + } + + /** + * Add an optimistic-types=true option to an argument list if this + * is set to override the default false + * + * @args argument list + */ + public static void addExplicitOptimisticTypes(List args) { + if (hasOptimisticOverride()) { + args.add("--optimistic-types=" + Boolean.valueOf(OPTIMISTIC_OVERRIDE)); + } + } + private static boolean strictModeEnabled() { return Boolean.getBoolean(TEST_JS_ENABLE_STRICT_MODE); } From fe03f41db8c8a25ca63d36fc9c53c7097007116c Mon Sep 17 00:00:00 2001 From: Aleksey Shipilev Date: Thu, 9 Oct 2014 16:41:28 +0400 Subject: [PATCH 67/83] 8059924: com/sun/management/DiagnosticCommandMBean/DcmdMBeanPermissionsTest.java: assert(Universe::verify_in_progress() || !SafepointSynchronize::is_at_safepoint()) failed: invariant Revive the hashcode installation in Verifier Reviewed-by: kamg, lfoltan --- hotspot/src/share/vm/classfile/verifier.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hotspot/src/share/vm/classfile/verifier.cpp b/hotspot/src/share/vm/classfile/verifier.cpp index 877eebd0e0b..fdf76139752 100644 --- a/hotspot/src/share/vm/classfile/verifier.cpp +++ b/hotspot/src/share/vm/classfile/verifier.cpp @@ -98,6 +98,19 @@ bool Verifier::verify(instanceKlassHandle klass, Verifier::Mode mode, bool shoul HandleMark hm; ResourceMark rm(THREAD); + // Eagerly allocate the identity hash code for a klass. This is a fallout + // from 6320749 and 8059924: hash code generator is not supposed to be called + // during the safepoint, but it allows to sneak the hashcode in during + // verification. Without this eager hashcode generation, we may end up + // installing the hashcode during some other operation, which may be at + // safepoint -- blowing up the checks. It was previously done as the side + // effect (sic!) for external_name(), but instead of doing that, we opt to + // explicitly push the hashcode in here. This is signify the following block + // is IMPORTANT: + if (klass->java_mirror() != NULL) { + klass->java_mirror()->identity_hash(); + } + if (!is_eligible_for_verification(klass, should_verify_class)) { return true; } From 696e681f41da12ed2fcf07c6c9250209efab43c0 Mon Sep 17 00:00:00 2001 From: Dmitry Samersoff Date: Thu, 9 Oct 2014 06:49:13 -0700 Subject: [PATCH 68/83] 8059037: JdpTest.sh hangs when trying to kill the test VM Removed shell tests enable java ones Reviewed-by: sla, miauno --- jdk/test/TEST.groups | 1 - jdk/test/sun/management/jdp/JdpClient.java | 190 ---------- .../sun/management/jdp/JdpDefaultsTest.java | 3 + .../sun/management/jdp/JdpDoSomething.java | 106 ------ jdk/test/sun/management/jdp/JdpOffTest.java | 3 + .../jdp/JdpSpecificAddressTest.java | 3 + jdk/test/sun/management/jdp/JdpTest.sh | 358 ------------------ jdk/test/sun/management/jdp/JdpUnitTest.java | 96 ----- jdk/test/sun/management/jdp/README | 30 +- 9 files changed, 10 insertions(+), 780 deletions(-) delete mode 100644 jdk/test/sun/management/jdp/JdpClient.java delete mode 100644 jdk/test/sun/management/jdp/JdpDoSomething.java delete mode 100644 jdk/test/sun/management/jdp/JdpTest.sh delete mode 100644 jdk/test/sun/management/jdp/JdpUnitTest.java diff --git a/jdk/test/TEST.groups b/jdk/test/TEST.groups index 7c71d1e55cd..38875185ded 100644 --- a/jdk/test/TEST.groups +++ b/jdk/test/TEST.groups @@ -365,7 +365,6 @@ needs_jdk = \ java/util/zip/3GBZipFiles.sh \ jdk/lambda/FDTest.java \ jdk/lambda/separate/Compiler.java \ - sun/management/jdp/JdpTest.sh \ sun/management/jmxremote/bootstrap/JvmstatCountersTest.java \ sun/management/jmxremote/bootstrap/LocalManagementTest.java \ sun/management/jmxremote/bootstrap/CustomLauncherTest.java \ diff --git a/jdk/test/sun/management/jdp/JdpClient.java b/jdk/test/sun/management/jdp/JdpClient.java deleted file mode 100644 index 3b6fa95a9ca..00000000000 --- a/jdk/test/sun/management/jdp/JdpClient.java +++ /dev/null @@ -1,190 +0,0 @@ -/* - * Copyright (c) 2012, 2013, 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.IOException; -import java.net.Inet6Address; -import java.net.InetAddress; -import java.net.InetSocketAddress; -import java.net.NetworkInterface; -import java.net.ProtocolFamily; -import java.net.StandardProtocolFamily; -import java.net.StandardSocketOptions; -import java.nio.ByteBuffer; -import java.nio.channels.DatagramChannel; -import java.nio.channels.SelectionKey; -import java.nio.channels.Selector; -import java.util.Collections; -import java.util.Enumeration; -import java.util.Map; - -import sun.management.jdp.JdpException; -import sun.management.jdp.JdpJmxPacket; -import sun.management.jdp.JdpPacketReader; - -public class JdpClient { - - private static class PacketListener implements Runnable { - - private static final int BUFFER_LENGTH = 4096; - private final DatagramChannel channel; - private static int maxPacketCount = 1; - private static int maxEmptyPacketCount = 10; - - private void get(Map map, String key) - throws JdpException { - - if (map.get(key) == null) { - throw new JdpException("Test failed, packet field " + key + " missed"); - } - } - - private void checkFieldPresence(JdpJmxPacket p) - throws IOException, JdpException { - - byte[] b = p.getPacketData(); - - JdpPacketReader reader = new JdpPacketReader(b); - Map pMap = reader.getDiscoveryDataAsMap(); - - get(pMap, JdpJmxPacket.UUID_KEY); - get(pMap, JdpJmxPacket.MAIN_CLASS_KEY); - get(pMap, JdpJmxPacket.JMX_SERVICE_URL_KEY); - // get(pMap, JdpJmxPacket.INSTANCE_NAME_KEY); - get(pMap, JdpJmxPacket.PROCESS_ID_KEY); - get(pMap, JdpJmxPacket.BROADCAST_INTERVAL_KEY); - get(pMap, JdpJmxPacket.RMI_HOSTNAME_KEY); - } - - - PacketListener(DatagramChannel channel) { - this.channel = channel; - } - - @java.lang.Override - public void run() { - try { - Selector sel; - sel = Selector.open(); - channel.configureBlocking(false); - channel.register(sel, SelectionKey.OP_READ); - ByteBuffer buf = ByteBuffer.allocate(1024); - - int count = 1; - int emptyPacketsCount = 1; - - try { - while (true) { - - // Use tcpdump -U -w - -s 1400 -c 2 -vv port 7095 - // to verify that correct packet being sent - sel.selectedKeys().clear(); - buf.rewind(); - - sel.select(10 * 1000); - channel.receive(buf); - - if (buf.position() == 0) { - if (JdpDoSomething.getVerbose()) { - System.err.println("Empty packet received"); - } - if (++emptyPacketsCount > maxEmptyPacketCount) { - throw new RuntimeException("Test failed, maxEmptyPacketCount reached"); - } - - continue; - } - - buf.flip(); - byte[] dgramData = new byte[buf.remaining()]; - buf.get(dgramData); - try { - JdpJmxPacket packet = new JdpJmxPacket(dgramData); - JdpDoSomething.printJdpPacket(packet); - checkFieldPresence(packet); - if (++count > maxPacketCount) { - break; - } - } catch (JdpException e) { - e.printStackTrace(); - throw new RuntimeException("Test failed"); - } - - } - - System.out.println("OK: Test passed"); - - } finally { - sel.close(); - channel.close(); - } - } catch (IOException e) { - e.printStackTrace(); - throw new RuntimeException("Test failed"); - } - } - } - - public static void main(String[] args) { - try { - String discoveryPort = System.getProperty("com.sun.management.jdp.port"); - String discoveryAddress = System.getProperty("com.sun.management.jdp.address"); - if (discoveryAddress == null || discoveryPort == null) { - System.out.println("Test failed. address and port must be specified"); - return; - } - - int port = Integer.parseInt(discoveryPort); - InetAddress address = InetAddress.getByName(discoveryAddress); - - - ProtocolFamily family = (address instanceof Inet6Address) - ? StandardProtocolFamily.INET6 : StandardProtocolFamily.INET; - - DatagramChannel channel; - - channel = DatagramChannel.open(family); - channel.setOption(StandardSocketOptions.SO_REUSEADDR, true); - channel.bind(new InetSocketAddress(port)); - - Enumeration nets = NetworkInterface.getNetworkInterfaces(); - for (NetworkInterface interf : Collections.list(nets)) { - if (interf.supportsMulticast()) { - try { - channel.join(address, interf); - } catch (IOException e) { - // Skip not configured interfaces - } - } - } - - PacketListener listener = new PacketListener(channel); - new Thread(listener, "Jdp Client").start(); - - } catch (RuntimeException e) { - System.out.println("Test failed."); - } catch (Exception e) { - e.printStackTrace(); - System.out.println("Test failed. unexpected error " + e); - } - } -} diff --git a/jdk/test/sun/management/jdp/JdpDefaultsTest.java b/jdk/test/sun/management/jdp/JdpDefaultsTest.java index 35a145fd330..acbb25648df 100644 --- a/jdk/test/sun/management/jdp/JdpDefaultsTest.java +++ b/jdk/test/sun/management/jdp/JdpDefaultsTest.java @@ -25,6 +25,9 @@ * A JVM with JDP on should send multicast JDP packets regularly. * * @author Alex Schenkman + */ + +/* * @test JdpDefaultsTest * @summary Assert that we can read JDP packets from a multicast socket connection, on default IP and port. * @library /lib/testlibrary diff --git a/jdk/test/sun/management/jdp/JdpDoSomething.java b/jdk/test/sun/management/jdp/JdpDoSomething.java deleted file mode 100644 index 3c5f0484259..00000000000 --- a/jdk/test/sun/management/jdp/JdpDoSomething.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright (c) 2012, 2013, 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.File; -import java.io.IOException; -import java.io.RandomAccessFile; -import java.util.Objects; - -import sun.management.jdp.JdpJmxPacket; -import sun.management.jdp.JdpException; - -public class JdpDoSomething { - - private static final String lockFileName = "JdpDoSomething.lck"; - private static final boolean verbose = false; - - public static boolean getVerbose() { - return verbose; - } - - public static void printJdpPacket(JdpJmxPacket p) { - if (getVerbose()) { - try { - RandomAccessFile f = new RandomAccessFile("out.dmp", "rw"); - f.write(p.getPacketData()); - f.close(); - } catch (IOException e) { - System.out.println("Can't write a dump file: " + e); - } - - System.out.println("Id: " + p.getId()); - System.out.println("Jmx: " + p.getJmxServiceUrl()); - System.out.println("Main: " + p.getMainClass()); - System.out.println("InstanceName: " + p.getInstanceName()); - System.out.println("ProccessId: " + p.getProcessId()); - System.out.println("BroadcastInterval: " + p.getBroadcastInterval()); - System.out.println("Rmi Hostname: " + p.getRmiHostname()); - - System.out.flush(); - } - } - - public static void compaireJdpPacketEx(JdpJmxPacket p1, JdpJmxPacket p2) - throws JdpException { - - if (!Objects.equals(p1, p1)) { - throw new JdpException("Packet mismatch error"); - } - - if (!Objects.equals(p1.getMainClass(), p2.getMainClass())) { - throw new JdpException("Packet mismatch error (main class)"); - } - - if (!Objects.equals(p1.getInstanceName(), p2.getInstanceName())) { - throw new JdpException("Packet mismatch error (instance name)"); - } - } - - public static void doSomething() { - try { - File lockFile = new File(lockFileName); - lockFile.createNewFile(); - - while (lockFile.exists()) { - long datetime = lockFile.lastModified(); - long epoch = System.currentTimeMillis() / 1000; - - // Don't allow test app to run more than an hour - if (epoch - datetime > 3600) { - System.err.println("Lock is too old. Aborting"); - return; - } - Thread.sleep(1); - } - - } catch (Throwable e) { - System.err.println("Something bad happens:" + e); - } - } - - public static void main(String args[]) throws Exception { - System.err.println("main enter"); - doSomething(); - System.err.println("main exit"); - } -} diff --git a/jdk/test/sun/management/jdp/JdpOffTest.java b/jdk/test/sun/management/jdp/JdpOffTest.java index 15b082e01ef..aac707686a2 100644 --- a/jdk/test/sun/management/jdp/JdpOffTest.java +++ b/jdk/test/sun/management/jdp/JdpOffTest.java @@ -26,6 +26,9 @@ * com.sun.management.jmxremote.autodiscovery=false should be respected. * * @author Alex Schenkman + */ + +/* * @test JdpOffTest.java * @summary Assert that no JDP packets are sent to the default address and port. * @library /lib/testlibrary diff --git a/jdk/test/sun/management/jdp/JdpSpecificAddressTest.java b/jdk/test/sun/management/jdp/JdpSpecificAddressTest.java index 0b9d8e02328..ff2a6ab3128 100644 --- a/jdk/test/sun/management/jdp/JdpSpecificAddressTest.java +++ b/jdk/test/sun/management/jdp/JdpSpecificAddressTest.java @@ -25,6 +25,9 @@ * A JVM with JDP on should send multicast JDP packets regularly. * * @author Alex Schenkman + */ + +/* * @test JdpSpecificAddressTest * @summary Assert that we can read JDP packets from a multicast socket connection, on specific IP and port. * @library /lib/testlibrary diff --git a/jdk/test/sun/management/jdp/JdpTest.sh b/jdk/test/sun/management/jdp/JdpTest.sh deleted file mode 100644 index cd482028b05..00000000000 --- a/jdk/test/sun/management/jdp/JdpTest.sh +++ /dev/null @@ -1,358 +0,0 @@ -#!/bin/sh -x - -# Copyright (c) 2011, 2013, 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 7169888 -# @compile -XDignore.symbol.file JdpUnitTest.java JdpClient.java JdpDoSomething.java -# @run shell JdpTest.sh --jtreg --no-compile -# @summary No word Failed expected in the test output - -_verbose=no -_jtreg=no -_compile=yes - -# temporary disable jcmd related tests -# _testsuite="01,02,03,04,05" -_testsuite="01" - -_pwd=`pwd` - -_testclasses=".classes" -_testsrc="${_pwd}" -_lockFileName="JdpDoSomething.lck" - -_logname=".classes/output.txt" -_last_pid="" - -_ip="224.0.23.178" -_port="7095" -_jmxport="4545" - -_do_compile(){ - # If the test run without JTReg, we have to compile it by our self - # Under JTReg see @compile statement above - # sun.* packages is not included to symbol file lib/ct.sym so we have - # to ignore it - - if [ ! -d ${_testclasses} ] - then - mkdir -p ${_testclasses} - fi - - rm -f ${_testclasses}/*.class - - # Compile testcase - ${COMPILEJAVA}/bin/javac -XDignore.symbol.file -d ${_testclasses} \ - JdpUnitTest.java \ - JdpDoSomething.java \ - JdpClient.java - - - if [ ! -f ${_testclasses}/JdpDoSomething.class -o ! -f ${_testclasses}/JdpClient.class -o ! -f ${_testclasses}/JdpUnitTest.class ] - then - echo "ERROR: Can't compile" - exit 255 - fi -} - - -_app_start(){ - - testappname=$1 - shift - - ${TESTJAVA}/bin/java -server $* -cp ${_testclasses} ${testappname} >> ${_logname} 2>&1 & - _last_pid=$! - -# wait until VM is actually starts. -# please note, if vm doesn't start for some reason -# jtreg kills the test by timeout. Don't file a bug. - cnt=1 - while true - do - npid=`_get_pid` - if [ "${npid}" != "" ] - then - break - fi - if [ "${cnt}" = "10" ] - then - echo "ERROR: Test app not started. Please check machine resources before filing a bug." - if [ "${_jtreg}" = "yes" ] - then - exit 255 - fi - break - fi - cnt=`expr $cnt + 1` - sleep 1 - done -} - -_get_pid(){ - ${TESTJAVA}/bin/jps | sed -n "/Jdp/s/ .*//p" -} - -_app_stop(){ - rm ${_lockFileName} - -# wait until VM is actually shuts down - while true - do - npid=`_get_pid` - if [ "${npid}" = "" ] - then - break - fi - sleep 1 - done -} - -_testme(){ - ${TESTJAVA}/bin/java \ - -cp ${_testclasses} \ - $* \ - -Dcom.sun.management.jdp.port=${_port} \ - -Dcom.sun.management.jdp.address=${_ip} \ - JdpClient -} - - -_jcmd(){ - ${TESTJAVA}/bin/jcmd JdpDoSomething $* > /dev/null 2>/dev/null -} - - -_echo(){ - echo "$*" - echo "$*" >> ${_logname} -} - -# ============= TESTS ====================================== - -test_01(){ - - _echo "**** Test one ****" - - _app_start JdpUnitTest \ - -Dcom.sun.management.jdp.port=${_port} \ - -Dcom.sun.management.jdp.address=${_ip} \ - -Dcom.sun.management.jdp.name=testme \ - -Djava.rmi.server.hostname=localhost \ - -Dcom.sun.management.jdp.pause=5 - - res=`_testme` - - case "${res}" in - OK*) - _echo "Passed" - ;; - *) - _echo "Failed!" - ;; - esac - - _app_stop -} - -test_02(){ - - _echo "**** Test two ****" - - _app_start JdpDoSomething \ - -Dcom.sun.management.jdp.port=${_port} \ - -Dcom.sun.management.jdp.address=${_ip} \ - -Dcom.sun.management.jdp.pause=5 \ - -Dcom.sun.management.jdp.name=testme \ - -Djava.rmi.server.hostname=localhost \ - -Dcom.sun.management.jmxremote.port=${_jmxport} \ - -Dcom.sun.management.jmxremote.authenticate=false \ - -Dcom.sun.management.jmxremote.ssl=false - - res=`_testme` - - case "${res}" in - OK*) - _echo "Passed" - ;; - *) - _echo "Failed!" - ;; - esac - - _app_stop -} - -test_03(){ - - _echo "**** Test three ****" - - _app_start JdpDoSomething - - _jcmd ManagementAgent.start\ - jdp.port=${_port} \ - jdp.address=${_ip} \ - jdp.pause=5 \ - jdp.name=jcmdtest \ - jmxremote.port=${_jmxport} \ - jmxremote.authenticate=false \ - jmxremote.ssl=false - - res=`_testme` - - case "${res}" in - OK*) - _echo "Passed" - ;; - *) - _echo "Failed!" - ;; - esac - - _app_stop -} - -test_04(){ - - _echo "**** Test four ****" - - _app_start JdpDoSomething \ - -Dcom.sun.management.jmxremote.autodiscovery=true \ - -Dcom.sun.management.jdp.name=testme \ - -Djava.rmi.server.hostname=localhost \ - -Dcom.sun.management.jmxremote.port=${_jmxport} \ - -Dcom.sun.management.jmxremote.authenticate=false \ - -Dcom.sun.management.jmxremote.ssl=false - - res=`_testme` - - case "${res}" in - OK*) - _echo "Passed" - ;; - *) - _echo "Failed!" - ;; - esac - - _app_stop -} - -test_05(){ - - _echo "**** Test five ****" - - _app_start JdpDoSomething - - _jcmd ManagementAgent.start\ - jmxremote.autodiscovery=true \ - jmxremote.port=${_jmxport} \ - jmxremote.authenticate=false \ - jmxremote.ssl=false - - - res=`_testme` - - case "${res}" in - OK*) - _echo "Passed" - ;; - *) - _echo "Failed!" - ;; - esac - - _app_stop -} - - -# ============= MAIN ======================================= - -if [ "x${TESTJAVA}" = "x" ] -then - echo "TESTJAVA env have to be set" - exit -fi - -# COMPILEJAVA variable is set when we test jre -if [ "x${COMPILEJAVA}" = "x" ] -then - COMPILEJAVA="${TESTJAVA}" -fi - - -#------------------------------------------------------------------------------ -# reading parameters - -for parm in "$@" -do - case $parm in - --verbose) _verbose=yes ;; - --jtreg) _jtreg=yes ;; - --no-compile) _compile=no ;; - --testsuite=*) _testsuite=`_echo $parm | sed "s,^--.*=\(.*\),\1,"` ;; - *) - echo "Undefined parameter $parm. Try --help for help" - exit - ;; - esac -done - -if [ "${_compile}" = "yes" ] -then - _do_compile -fi - -if [ "${_jtreg}" = "yes" ] -then - _testclasses=${TESTCLASSES} - _testsrc=${TESTSRC} - _logname="output.txt" -fi - -# Make sure _tesclasses is absolute path -tt=`echo ${_testclasses} | sed -e 's,/,,'` -if [ "${tt}" = "${_testclasses}" ] -then - _testclasses="${_pwd}/${_testclasses}" -fi - -_policyname="${_testclasses}/policy" - -rm -f ${_logname} -rm -f ${_policyname} - -if [ -f ${_testsrc}/policy.tpl ] -then - -cat ${_testsrc}/policy.tpl | \ - sed -e "s,@_TESTCLASSES@,${_testclasses},g" -e "s,@TESTJAVA@,${TESTJAVA},g" \ - > ${_policyname} - -fi - -# Local mode tests -for i in `echo ${_testsuite} | sed -e "s/,/ /g"` -do - test_${i} -done diff --git a/jdk/test/sun/management/jdp/JdpUnitTest.java b/jdk/test/sun/management/jdp/JdpUnitTest.java deleted file mode 100644 index 2a5971d2f11..00000000000 --- a/jdk/test/sun/management/jdp/JdpUnitTest.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright (c) 2012, 2013, 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.IOException; -import java.net.InetAddress; -import java.util.UUID; - -import sun.management.jdp.JdpController; -import sun.management.jdp.JdpPacket; -import sun.management.jdp.JdpJmxPacket; -import sun.management.jdp.JdpException; - -public class JdpUnitTest { - - - static byte[] russian_name = {(byte) 0xd0, (byte) 0xbf, (byte) 0xd1, (byte) 0x80, (byte) 0xd0, (byte) 0xbe, (byte) 0xd0, (byte) 0xb2, - (byte) 0xd0, (byte) 0xb5, (byte) 0xd1, (byte) 0x80, (byte) 0xd0, (byte) 0xba, (byte) 0xd0, (byte) 0xb0, - (byte) 0x20, (byte) 0xd1, (byte) 0x81, (byte) 0xd0, (byte) 0xb2, (byte) 0xd1, (byte) 0x8f, (byte) 0xd0, - (byte) 0xb7, (byte) 0xd0, (byte) 0xb8, (byte) 0x0a}; - - /** - * This test tests that complete packet is build correctly - */ - public static void PacketBuilderTest() - throws IOException, JdpException { - - /* Complete packet test */ - { - JdpJmxPacket p1 = new JdpJmxPacket(UUID.randomUUID(), "fake://unit-test"); - p1.setMainClass("FakeUnitTest"); - p1.setInstanceName(new String(russian_name, "UTF-8")); - byte[] b = p1.getPacketData(); - - JdpJmxPacket p2 = new JdpJmxPacket(b); - JdpDoSomething.printJdpPacket(p1); - JdpDoSomething.compaireJdpPacketEx(p1, p2); - } - - /*Missed field packet test*/ - { - JdpJmxPacket p1 = new JdpJmxPacket(UUID.randomUUID(), "fake://unit-test"); - p1.setMainClass("FakeUnitTest"); - p1.setInstanceName(null); - byte[] b = p1.getPacketData(); - - JdpJmxPacket p2 = new JdpJmxPacket(b); - JdpDoSomething.printJdpPacket(p1); - JdpDoSomething.compaireJdpPacketEx(p1, p2); - } - - System.out.println("OK: Test passed"); - - } - - public static void startFakeDiscoveryService() - throws IOException, JdpException { - - String discoveryPort = System.getProperty("com.sun.management.jdp.port"); - String discoveryAddress = System.getProperty("com.sun.management.jdp.address"); - InetAddress address = InetAddress.getByName(discoveryAddress); - int port = Integer.parseInt(discoveryPort); - JdpController.startDiscoveryService(address, port, "FakeDiscovery", "fake://unit-test"); - } - - public static void main(String[] args) { - try { - PacketBuilderTest(); - startFakeDiscoveryService(); - JdpDoSomething.doSomething(); - - } catch (Throwable e) { - e.printStackTrace(); - System.out.println("Test failed. unexpected error " + e); - } - } -} diff --git a/jdk/test/sun/management/jdp/README b/jdk/test/sun/management/jdp/README index ba4e69656d6..7a1b04a6e40 100644 --- a/jdk/test/sun/management/jdp/README +++ b/jdk/test/sun/management/jdp/README @@ -1,32 +1,4 @@ -The following test were contributed by dmitry.samersoff@oracle.com and will be ported in the near future: -JdpClient.java -JdpDoSomething.java -JdpTest.sh -JdpUnitTest.java - - -JdpTest.sh: -------------------------------------- -test_01 - basic test, check if JDP packet assembler and other - parts of JDP is not broken - -test_02 - test if JDP starts with custom parameters. (disabled) - -test_03 - test if jcmd is able to start jdp with - custom parameters (disabled) - -test_04 - test if JDP starts with default parameters (disabled) - -test_05 - test if jcmd is able to start jdp with default - parameters (disabled) - -Only test_01 is enabled at the moment. - -JdpUnitTest.java: contains unit tests used under development. - - -========================================================================== -The other Java-based tests in this folder are contributed by alex.schenkman@oracle.com +The tests in this folder are contributed by alex.schenkman@oracle.com There are three Jdp test cases in this folder: 1) Jdp is turned off. From 772fd36287cc920feb849d38970ae45a1f0b9216 Mon Sep 17 00:00:00 2001 From: David Katleman Date: Thu, 9 Oct 2014 11:23:51 -0700 Subject: [PATCH 69/83] Added tag jdk9-b34 for changeset f213bab3e72c --- .hgtags-top-repo | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags-top-repo b/.hgtags-top-repo index b5845a19af7..8a9681a9173 100644 --- a/.hgtags-top-repo +++ b/.hgtags-top-repo @@ -276,3 +276,4 @@ ea2f7981236f3812436958748ab3d26e80a35130 jdk9-b28 69a84c16d9c28e0e3d504b9c8766c24bafcd58f6 jdk9-b31 7e3512dae8e020d44399c0f1c579ff1fe3090ed6 jdk9-b32 e4ba01b726e263953ae129be37c94de6ed145b1d jdk9-b33 +087b23f35631e68e950496a36fce8ccca612966a jdk9-b34 From 765552644acf444df511d6eb69760fed1ffe63ac Mon Sep 17 00:00:00 2001 From: David Katleman Date: Thu, 9 Oct 2014 11:23:53 -0700 Subject: [PATCH 70/83] Added tag jdk9-b34 for changeset 72d2793e397a --- corba/.hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/corba/.hgtags b/corba/.hgtags index 339c1cf59ea..df4902658de 100644 --- a/corba/.hgtags +++ b/corba/.hgtags @@ -276,3 +276,4 @@ a00b04ef067e39f50b9a0fea6f1904e35d632a73 jdk9-b28 c432b80aadd0cb2b2361b02add4d671957d4cec9 jdk9-b31 b5b139354630edb2d06190bf31653acbdcea63a8 jdk9-b32 cfdac5887952c2dd73c73a1d8d9aa880d0539bbf jdk9-b33 +24a0bad5910f775bb4002d1dacf8b3af87c63cd8 jdk9-b34 From 28ce04fffec304330a408be0e29b7e95e97b0450 Mon Sep 17 00:00:00 2001 From: David Katleman Date: Thu, 9 Oct 2014 11:24:04 -0700 Subject: [PATCH 71/83] Added tag jdk9-b34 for changeset 8af850ba9862 --- hotspot/.hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/hotspot/.hgtags b/hotspot/.hgtags index 619516ae0ac..d8bec5bf870 100644 --- a/hotspot/.hgtags +++ b/hotspot/.hgtags @@ -436,3 +436,4 @@ deb29e92f68ace2808a36ecfa18c7d61dcb645bb jdk9-b29 9f7d155d28e519f3e4645dc21cf185c25f3176ed jdk9-b31 af46576a8d7cb4003028b8ee8bf408cfe227315b jdk9-b32 9b3f5e4f33725f7c1d9b8e523133fe8383a54d9f jdk9-b33 +821164b0131a47ca065697c7d27d8f215e608c8d jdk9-b34 From a002b16c165432989c72d8e69659ff3eaee111a6 Mon Sep 17 00:00:00 2001 From: David Katleman Date: Thu, 9 Oct 2014 11:24:08 -0700 Subject: [PATCH 72/83] Added tag jdk9-b34 for changeset 43af2400d718 --- jaxp/.hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/jaxp/.hgtags b/jaxp/.hgtags index e41a697dd84..2b6a297e2df 100644 --- a/jaxp/.hgtags +++ b/jaxp/.hgtags @@ -276,3 +276,4 @@ d181d4002214e4914d5525bd5ee13369311c765c jdk9-b30 292317ebc7dbaca6b3965f0bc7b38a2cee733b7a jdk9-b31 b940ca3d2c7e8a279ca850706b89c2ad3a841e82 jdk9-b32 46b360454dadbb329d42c59bb8192daeb9d59875 jdk9-b33 +6b343b9b7a7008f5f699a2d99881163cab7a2986 jdk9-b34 From 296b0bf90d350443c9b7ea4f454b9d3f02fdc4bc Mon Sep 17 00:00:00 2001 From: David Katleman Date: Thu, 9 Oct 2014 11:24:13 -0700 Subject: [PATCH 73/83] Added tag jdk9-b34 for changeset ce4fdd38d96b --- jaxws/.hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/jaxws/.hgtags b/jaxws/.hgtags index a7750e9312c..b7eb9984954 100644 --- a/jaxws/.hgtags +++ b/jaxws/.hgtags @@ -279,3 +279,4 @@ e58d3ea638c3824f01547596b2a98aa5f77c4a5c jdk9-b30 7af228ae847f3c02aaafb7b01cdbb3bdc2e89e77 jdk9-b31 838a2f693e51b869e7bc26a20afffdde1300394e jdk9-b32 77a45995dd3b6e57805475ae3111ac6f7db7749e jdk9-b33 +28ea43d925f1e5250976097a2977dd3e66e11f0b jdk9-b34 From 14bd578b9f40dce0ed4a0469aa7cec50897243be Mon Sep 17 00:00:00 2001 From: David Katleman Date: Thu, 9 Oct 2014 11:24:15 -0700 Subject: [PATCH 74/83] Added tag jdk9-b34 for changeset 6de4f9cd37ad --- jdk/.hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/jdk/.hgtags b/jdk/.hgtags index 860cecaa2f2..f2a26a52320 100644 --- a/jdk/.hgtags +++ b/jdk/.hgtags @@ -276,3 +276,4 @@ f0870554049807d3392bd7976ab114f7f2b7bafa jdk9-b27 71e99dae28f9791287b88d46e16a266b564f22be jdk9-b31 8bdf7083b5bd02aa330ba622895e586dd3378d37 jdk9-b32 60fe681c30bc3821545a2506d4d3c2e04073f67c jdk9-b33 +21568031434d7a9dbb0cc6516cc3183d349c2253 jdk9-b34 From f430fd6995ca70784031a47d9b9367ce6321256d Mon Sep 17 00:00:00 2001 From: David Katleman Date: Thu, 9 Oct 2014 11:24:21 -0700 Subject: [PATCH 75/83] Added tag jdk9-b34 for changeset adc83124cc10 --- langtools/.hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/langtools/.hgtags b/langtools/.hgtags index 666085728e5..67f53dbf54d 100644 --- a/langtools/.hgtags +++ b/langtools/.hgtags @@ -276,3 +276,4 @@ ef5427c13e1e741c457a2ed868e3b6d6bf717754 jdk9-b30 0046d55383a9d873ffbc7253d7c5e28ab98c5bea jdk9-b31 ad99965443d19a59e810ae67b0b742bb9722f5ed jdk9-b32 e891e0c4edc5174a4da6d19dc2d59697b79f1916 jdk9-b33 +e18407fcede818b30709913784cb6b904030531d jdk9-b34 From 033c1e097d1e3bde3851a8dcb23ff6397ae3564e Mon Sep 17 00:00:00 2001 From: David Katleman Date: Thu, 9 Oct 2014 11:24:22 -0700 Subject: [PATCH 76/83] Added tag jdk9-b34 for changeset b5f80ea5eb07 --- nashorn/.hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/nashorn/.hgtags b/nashorn/.hgtags index c3a9ade9769..b29cd38c6fd 100644 --- a/nashorn/.hgtags +++ b/nashorn/.hgtags @@ -267,3 +267,4 @@ e541ebaf2ab7038333ad0c13f4decd327c26dd15 jdk9-b29 77efdecfa2a5c28672b7c7dcc2d1b52dcb90d493 jdk9-b31 62ba20541b948fb98a7036d9f01baa54e95fb6fa jdk9-b32 b374d8910e7f8de2b7ecacee9ae4cad88f23feab jdk9-b33 +4ece2dad8c37f520f1ccc1cf84870f362c8eb9d6 jdk9-b34 From c8f13b092da98c4897e964596cb517eb6f874850 Mon Sep 17 00:00:00 2001 From: Lance Andersen Date: Thu, 9 Oct 2014 16:01:13 -0400 Subject: [PATCH 77/83] 8059997: Fix broken link in WebRowSet javadoc Reviewed-by: rriggs --- .../share/classes/javax/sql/rowset/WebRowSet.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jdk/src/java.sql.rowset/share/classes/javax/sql/rowset/WebRowSet.java b/jdk/src/java.sql.rowset/share/classes/javax/sql/rowset/WebRowSet.java index 85dee9ce73a..a5baa6c1fa2 100644 --- a/jdk/src/java.sql.rowset/share/classes/javax/sql/rowset/WebRowSet.java +++ b/jdk/src/java.sql.rowset/share/classes/javax/sql/rowset/WebRowSet.java @@ -56,7 +56,7 @@ import org.xml.sax.*; * organization. The SQL/XML definition is available at the following URI: *

      * The schema definition describes the internal data of a {@code RowSet} object From 0624731881d45d5f8bd8225fe8db833f9c342ce4 Mon Sep 17 00:00:00 2001 From: Kumar Srinivasan Date: Thu, 9 Oct 2014 13:28:15 -0700 Subject: [PATCH 78/83] 8059973: Broken link in Class Pack200 Reviewed-by: mchung --- jdk/src/java.base/share/classes/java/util/jar/Pack200.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/jdk/src/java.base/share/classes/java/util/jar/Pack200.java b/jdk/src/java.base/share/classes/java/util/jar/Pack200.java index 33cb1dfc369..ac31912fc3a 100644 --- a/jdk/src/java.base/share/classes/java/util/jar/Pack200.java +++ b/jdk/src/java.base/share/classes/java/util/jar/Pack200.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2014, 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,8 +93,7 @@ import java.io.IOException; * The deployment applications can use "Accept-Encoding=pack200-gzip". This * indicates to the server that the client application desires a version of * the file encoded with Pack200 and further compressed with gzip. Please - * refer to Java Deployment Guide for more details and - * techniques. + * refer to the Java Deployment Guide for techniques and details. *

      * Unless otherwise noted, passing a null argument to a constructor or * method in this class will cause a {@link NullPointerException} to be thrown. From 99096d6e68375684eaab6a1f2f185bb8bccc1364 Mon Sep 17 00:00:00 2001 From: Serguei Spitsyn Date: Thu, 9 Oct 2014 16:56:27 -0700 Subject: [PATCH 79/83] 8059904: libjvm_db.c warnings in solaris/sparc build with SS Fix warnings by correcting the cast of pointers returned from calloc() Reviewed-by: dholmes --- hotspot/src/os/bsd/dtrace/libjvm_db.c | 8 ++++---- hotspot/src/os/solaris/dtrace/libjvm_db.c | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/hotspot/src/os/bsd/dtrace/libjvm_db.c b/hotspot/src/os/bsd/dtrace/libjvm_db.c index 5951c0db8fa..a0b5413cf49 100644 --- a/hotspot/src/os/bsd/dtrace/libjvm_db.c +++ b/hotspot/src/os/bsd/dtrace/libjvm_db.c @@ -347,10 +347,10 @@ static int read_volatiles(jvm_agent_t* J) { &J->Number_of_heaps, sizeof(J->Number_of_heaps)); /* Allocate memory for heap configurations */ - J->Heap_low = (jvm_agent_t*)calloc(J->Number_of_heaps, sizeof(uint64_t)); - J->Heap_high = (jvm_agent_t*)calloc(J->Number_of_heaps, sizeof(uint64_t)); - J->Heap_segmap_low = (jvm_agent_t*)calloc(J->Number_of_heaps, sizeof(uint64_t)); - J->Heap_segmap_high = (jvm_agent_t*)calloc(J->Number_of_heaps, sizeof(uint64_t)); + J->Heap_low = (uint64_t*)calloc(J->Number_of_heaps, sizeof(uint64_t)); + J->Heap_high = (uint64_t*)calloc(J->Number_of_heaps, sizeof(uint64_t)); + J->Heap_segmap_low = (uint64_t*)calloc(J->Number_of_heaps, sizeof(uint64_t)); + J->Heap_segmap_high = (uint64_t*)calloc(J->Number_of_heaps, sizeof(uint64_t)); /* Read code heap configurations */ for (i = 0; i < J->Number_of_heaps; ++i) { diff --git a/hotspot/src/os/solaris/dtrace/libjvm_db.c b/hotspot/src/os/solaris/dtrace/libjvm_db.c index eb6495e234b..67ece5e21e6 100644 --- a/hotspot/src/os/solaris/dtrace/libjvm_db.c +++ b/hotspot/src/os/solaris/dtrace/libjvm_db.c @@ -347,10 +347,10 @@ static int read_volatiles(jvm_agent_t* J) { &J->Number_of_heaps, sizeof(J->Number_of_heaps)); /* Allocate memory for heap configurations */ - J->Heap_low = (jvm_agent_t*)calloc(J->Number_of_heaps, sizeof(uint64_t)); - J->Heap_high = (jvm_agent_t*)calloc(J->Number_of_heaps, sizeof(uint64_t)); - J->Heap_segmap_low = (jvm_agent_t*)calloc(J->Number_of_heaps, sizeof(uint64_t)); - J->Heap_segmap_high = (jvm_agent_t*)calloc(J->Number_of_heaps, sizeof(uint64_t)); + J->Heap_low = (uint64_t*)calloc(J->Number_of_heaps, sizeof(uint64_t)); + J->Heap_high = (uint64_t*)calloc(J->Number_of_heaps, sizeof(uint64_t)); + J->Heap_segmap_low = (uint64_t*)calloc(J->Number_of_heaps, sizeof(uint64_t)); + J->Heap_segmap_high = (uint64_t*)calloc(J->Number_of_heaps, sizeof(uint64_t)); /* Read code heap configurations */ for (i = 0; i < J->Number_of_heaps; ++i) { From 9f07d7da5ed462f8ecebf4ed786b1d345f33a023 Mon Sep 17 00:00:00 2001 From: "J. Duke" Date: Wed, 5 Jul 2017 20:02:40 +0200 Subject: [PATCH 80/83] Added tag jdk9-b33 for changeset f0c5e4b732da --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index f7747c297c6..5ca9f17c299 100644 --- a/.hgtags +++ b/.hgtags @@ -275,3 +275,4 @@ c36c0092693707a8255561433647e8c3cd724ccd jdk9-b29 b2287cac7813c70ed7f679d9a46fe774bd4005f8 jdk9-b30 9d0e6639a4d71b63507dd94b1a028e963b27e798 jdk9-b31 1b1ec4291abc0ba6da7bf79b754f08dd759a4a0c jdk9-b32 +f0c5e4b732da823bdaa4184133675f384e7cd68d jdk9-b33 From 8f6a5cba429318afbc33271d2b72b9a2352cef17 Mon Sep 17 00:00:00 2001 From: "J. Duke" Date: Wed, 5 Jul 2017 20:03:24 +0200 Subject: [PATCH 81/83] Added tag jdk9-b34 for changeset 9618201c5df2 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 5ca9f17c299..3598a8d1676 100644 --- a/.hgtags +++ b/.hgtags @@ -276,3 +276,4 @@ b2287cac7813c70ed7f679d9a46fe774bd4005f8 jdk9-b30 9d0e6639a4d71b63507dd94b1a028e963b27e798 jdk9-b31 1b1ec4291abc0ba6da7bf79b754f08dd759a4a0c jdk9-b32 f0c5e4b732da823bdaa4184133675f384e7cd68d jdk9-b33 +9618201c5df28a460631577fad1f61e96f775c34 jdk9-b34 From 3a86f9cd272ba30547e88286caf47ac55a45cddd Mon Sep 17 00:00:00 2001 From: Coleen Phillimore Date: Fri, 10 Oct 2014 19:36:12 +0000 Subject: [PATCH 82/83] 8059100: SIGSEGV VirtualMemoryTracker::remove_released_region Disallow increasing native memory tracking level Reviewed-by: hseigel, ctornqvi, gtriantafill --- hotspot/src/share/vm/prims/whitebox.cpp | 30 +++++++++++ .../src/share/vm/services/mallocTracker.cpp | 17 +------ .../src/share/vm/services/mallocTracker.hpp | 20 -------- hotspot/src/share/vm/services/memBaseline.hpp | 7 +-- hotspot/src/share/vm/services/memReporter.hpp | 14 ----- hotspot/src/share/vm/services/memTracker.cpp | 49 +++++++----------- hotspot/src/share/vm/services/memTracker.hpp | 23 ++++++--- .../vm/services/virtualMemoryTracker.cpp | 24 +++++---- .../vm/services/virtualMemoryTracker.hpp | 15 ------ hotspot/src/share/vm/utilities/vmError.cpp | 2 +- .../test/runtime/NMT/ChangeTrackingLevel.java | 51 +++++++++++++++++++ .../whitebox/sun/hotspot/WhiteBox.java | 1 + 12 files changed, 134 insertions(+), 119 deletions(-) create mode 100644 hotspot/test/runtime/NMT/ChangeTrackingLevel.java diff --git a/hotspot/src/share/vm/prims/whitebox.cpp b/hotspot/src/share/vm/prims/whitebox.cpp index 6948b51d42f..89b9807c4ca 100644 --- a/hotspot/src/share/vm/prims/whitebox.cpp +++ b/hotspot/src/share/vm/prims/whitebox.cpp @@ -335,7 +335,36 @@ WB_ENTRY(void, WB_NMTOverflowHashBucket(JNIEnv* env, jobject o, jlong num)) } WB_END +WB_ENTRY(jboolean, WB_NMTChangeTrackingLevel(JNIEnv* env)) + // Test that we can downgrade NMT levels but not upgrade them. + if (MemTracker::tracking_level() == NMT_off) { + MemTracker::transition_to(NMT_off); + return MemTracker::tracking_level() == NMT_off; + } else { + assert(MemTracker::tracking_level() == NMT_detail, "Should start out as detail tracking"); + MemTracker::transition_to(NMT_summary); + assert(MemTracker::tracking_level() == NMT_summary, "Should be summary now"); + // Can't go to detail once NMT is set to summary. + MemTracker::transition_to(NMT_detail); + assert(MemTracker::tracking_level() == NMT_summary, "Should still be summary now"); + + // Shutdown sets tracking level to minimal. + MemTracker::shutdown(); + assert(MemTracker::tracking_level() == NMT_minimal, "Should be minimal now"); + + // Once the tracking level is minimal, we cannot increase to summary. + // The code ignores this request instead of asserting because if the malloc site + // table overflows in another thread, it tries to change the code to summary. + MemTracker::transition_to(NMT_summary); + assert(MemTracker::tracking_level() == NMT_minimal, "Should still be minimal now"); + + // Really can never go up to detail, verify that the code would never do this. + MemTracker::transition_to(NMT_detail); + assert(MemTracker::tracking_level() == NMT_minimal, "Should still be minimal now"); + return MemTracker::tracking_level() == NMT_minimal; + } +WB_END #endif // INCLUDE_NMT static jmethodID reflected_method_to_jmid(JavaThread* thread, JNIEnv* env, jobject method) { @@ -962,6 +991,7 @@ static JNINativeMethod methods[] = { {CC"NMTReleaseMemory", CC"(JJ)V", (void*)&WB_NMTReleaseMemory }, {CC"NMTOverflowHashBucket", CC"(J)V", (void*)&WB_NMTOverflowHashBucket}, {CC"NMTIsDetailSupported",CC"()Z", (void*)&WB_NMTIsDetailSupported}, + {CC"NMTChangeTrackingLevel", CC"()Z", (void*)&WB_NMTChangeTrackingLevel}, #endif // INCLUDE_NMT {CC"deoptimizeAll", CC"()V", (void*)&WB_DeoptimizeAll }, {CC"deoptimizeMethod", CC"(Ljava/lang/reflect/Executable;Z)I", diff --git a/hotspot/src/share/vm/services/mallocTracker.cpp b/hotspot/src/share/vm/services/mallocTracker.cpp index 0c2dfd56164..a5d8d1f7ffd 100644 --- a/hotspot/src/share/vm/services/mallocTracker.cpp +++ b/hotspot/src/share/vm/services/mallocTracker.cpp @@ -51,14 +51,6 @@ size_t MallocMemorySnapshot::total_arena() const { return amount; } - -void MallocMemorySnapshot::reset() { - _tracking_header.reset(); - for (int index = 0; index < mt_number_of_types; index ++) { - _malloc[index].reset(); - } -} - // Make adjustment by subtracting chunks used by arenas // from total chunks to get total free chunck size void MallocMemorySnapshot::make_adjustment() { @@ -116,14 +108,9 @@ bool MallocTracker::initialize(NMT_TrackingLevel level) { bool MallocTracker::transition(NMT_TrackingLevel from, NMT_TrackingLevel to) { assert(from != NMT_off, "Can not transition from off state"); assert(to != NMT_off, "Can not transition to off state"); - if (from == NMT_minimal) { - MallocMemorySummary::reset(); - } + assert (from != NMT_minimal, "cannot transition from minimal state"); - if (to == NMT_detail) { - assert(from == NMT_minimal || from == NMT_summary, "Just check"); - return MallocSiteTable::initialize(); - } else if (from == NMT_detail) { + if (from == NMT_detail) { assert(to == NMT_minimal || to == NMT_summary, "Just check"); MallocSiteTable::shutdown(); } diff --git a/hotspot/src/share/vm/services/mallocTracker.hpp b/hotspot/src/share/vm/services/mallocTracker.hpp index 17c58529482..6d7efabea8d 100644 --- a/hotspot/src/share/vm/services/mallocTracker.hpp +++ b/hotspot/src/share/vm/services/mallocTracker.hpp @@ -51,14 +51,6 @@ class MemoryCounter VALUE_OBJ_CLASS_SPEC { DEBUG_ONLY(_peak_size = 0;) } - // Reset counters - void reset() { - _size = 0; - _count = 0; - DEBUG_ONLY(_peak_size = 0;) - DEBUG_ONLY(_peak_count = 0;) - } - inline void allocate(size_t sz) { Atomic::add(1, (volatile MemoryCounterType*)&_count); if (sz > 0) { @@ -124,11 +116,6 @@ class MallocMemory VALUE_OBJ_CLASS_SPEC { _arena.resize(sz); } - void reset() { - _malloc.reset(); - _arena.reset(); - } - inline size_t malloc_size() const { return _malloc.size(); } inline size_t malloc_count() const { return _malloc.count();} inline size_t arena_size() const { return _arena.size(); } @@ -176,8 +163,6 @@ class MallocMemorySnapshot : public ResourceObj { return s->by_type(mtThreadStack)->malloc_count(); } - void reset(); - void copy_to(MallocMemorySnapshot* s) { s->_tracking_header = _tracking_header; for (int index = 0; index < mt_number_of_types; index ++) { @@ -240,11 +225,6 @@ class MallocMemorySummary : AllStatic { return as_snapshot()->malloc_overhead()->size(); } - // Reset all counters to zero - static void reset() { - as_snapshot()->reset(); - } - static MallocMemorySnapshot* as_snapshot() { return (MallocMemorySnapshot*)_snapshot; } diff --git a/hotspot/src/share/vm/services/memBaseline.hpp b/hotspot/src/share/vm/services/memBaseline.hpp index 8272da49646..fdcb76d3869 100644 --- a/hotspot/src/share/vm/services/memBaseline.hpp +++ b/hotspot/src/share/vm/services/memBaseline.hpp @@ -90,10 +90,6 @@ class MemBaseline VALUE_OBJ_CLASS_SPEC { _class_count(0) { } - ~MemBaseline() { - reset(); - } - bool baseline(bool summaryOnly = true); BaselineType baseline_type() const { return _baseline_type; } @@ -169,8 +165,7 @@ class MemBaseline VALUE_OBJ_CLASS_SPEC { // reset the baseline for reuse void reset() { _baseline_type = Not_baselined; - _malloc_memory_snapshot.reset(); - _virtual_memory_snapshot.reset(); + // _malloc_memory_snapshot and _virtual_memory_snapshot are copied over. _class_count = 0; _malloc_sites.clear(); diff --git a/hotspot/src/share/vm/services/memReporter.hpp b/hotspot/src/share/vm/services/memReporter.hpp index 239fb945b33..951076c9358 100644 --- a/hotspot/src/share/vm/services/memReporter.hpp +++ b/hotspot/src/share/vm/services/memReporter.hpp @@ -96,20 +96,6 @@ class MemSummaryReporter : public MemReporterBase { size_t _class_count; public: - // Report summary tracking data from global snapshots directly. - // This constructor is used for final reporting and hs_err reporting. - MemSummaryReporter(MallocMemorySnapshot* malloc_snapshot, - VirtualMemorySnapshot* vm_snapshot, outputStream* output, - size_t class_count = 0, size_t scale = K) : - MemReporterBase(output, scale), - _malloc_snapshot(malloc_snapshot), - _vm_snapshot(vm_snapshot) { - if (class_count == 0) { - _class_count = InstanceKlass::number_of_instance_classes(); - } else { - _class_count = class_count; - } - } // This constructor is for normal reporting from a recent baseline. MemSummaryReporter(MemBaseline& baseline, outputStream* output, size_t scale = K) : MemReporterBase(output, scale), diff --git a/hotspot/src/share/vm/services/memTracker.cpp b/hotspot/src/share/vm/services/memTracker.cpp index 24644c8cc67..a7adb351655 100644 --- a/hotspot/src/share/vm/services/memTracker.cpp +++ b/hotspot/src/share/vm/services/memTracker.cpp @@ -144,11 +144,9 @@ void Tracker::record(address addr, size_t size) { } -// Shutdown can only be issued via JCmd, and NMT JCmd is serialized -// by lock +// Shutdown can only be issued via JCmd, and NMT JCmd is serialized by lock void MemTracker::shutdown() { - // We can only shutdown NMT to minimal tracking level if it is - // ever on. + // We can only shutdown NMT to minimal tracking level if it is ever on. if (tracking_level () > NMT_minimal) { transition_to(NMT_minimal); } @@ -157,45 +155,36 @@ void MemTracker::shutdown() { bool MemTracker::transition_to(NMT_TrackingLevel level) { NMT_TrackingLevel current_level = tracking_level(); + assert(level != NMT_off || current_level == NMT_off, "Cannot transition NMT to off"); + if (current_level == level) { return true; } else if (current_level > level) { - // Downgrade tracking level, we want to lower the tracking - // level first + // Downgrade tracking level, we want to lower the tracking level first _tracking_level = level; // Make _tracking_level visible immediately. OrderAccess::fence(); VirtualMemoryTracker::transition(current_level, level); MallocTracker::transition(current_level, level); - - if (level == NMT_minimal) _baseline.reset(); } else { - VirtualMemoryTracker::transition(current_level, level); - MallocTracker::transition(current_level, level); - - _tracking_level = level; - // Make _tracking_level visible immediately. - OrderAccess::fence(); + // Upgrading tracking level is not supported and has never been supported. + // Allocating and deallocating malloc tracking structures is not thread safe and + // leads to inconsistencies unless a lot coarser locks are added. } - return true; } -void MemTracker::final_report(outputStream* output) { - assert(output != NULL, "No output stream"); - if (tracking_level() >= NMT_summary) { - MallocMemorySnapshot* malloc_memory_snapshot = - MallocMemorySummary::as_snapshot(); - malloc_memory_snapshot->make_adjustment(); - - VirtualMemorySnapshot* virtual_memory_snapshot = - VirtualMemorySummary::as_snapshot(); - - MemSummaryReporter rptr(malloc_memory_snapshot, - virtual_memory_snapshot, output); - rptr.report(); - // shutdown NMT, the data no longer accurate - shutdown(); +void MemTracker::report(bool summary_only, outputStream* output) { + assert(output != NULL, "No output stream"); + MemBaseline baseline; + if (baseline.baseline(summary_only)) { + if (summary_only) { + MemSummaryReporter rpt(baseline, output); + rpt.report(); + } else { + MemDetailReporter rpt(baseline, output); + rpt.report(); + } } } diff --git a/hotspot/src/share/vm/services/memTracker.hpp b/hotspot/src/share/vm/services/memTracker.hpp index de43b9f2b0e..47d0a54ed36 100644 --- a/hotspot/src/share/vm/services/memTracker.hpp +++ b/hotspot/src/share/vm/services/memTracker.hpp @@ -70,6 +70,7 @@ class MemTracker : AllStatic { static inline void release_thread_stack(void* addr, size_t size) { } static void final_report(outputStream*) { } + static void error_report(outputStream*) { } }; #else @@ -270,13 +271,20 @@ class MemTracker : AllStatic { // other tools. static inline Mutex* query_lock() { return _query_lock; } - // Make a final report and shutdown. - // This function generates summary report without creating snapshots, - // to avoid additional memory allocation. It uses native memory summary - // counters, and makes adjustment to them, once the adjustment is made, - // the counters are no longer accurate. As the result, this function - // should only be used for final reporting before shutting down. - static void final_report(outputStream*); + // Make a final report or report for hs_err file. + static void error_report(outputStream* output) { + if (tracking_level() >= NMT_summary) { + report(true, output); // just print summary for error case. + } + } + + static void final_report(outputStream* output) { + NMT_TrackingLevel level = tracking_level(); + if (level >= NMT_summary) { + report(level == NMT_summary, output); + } + } + // Stored baseline static inline MemBaseline& get_baseline() { @@ -291,6 +299,7 @@ class MemTracker : AllStatic { private: static NMT_TrackingLevel init_tracking_level(); + static void report(bool summary_only, outputStream* output); private: // Tracking level diff --git a/hotspot/src/share/vm/services/virtualMemoryTracker.cpp b/hotspot/src/share/vm/services/virtualMemoryTracker.cpp index 20c45363f6a..37b9dc34493 100644 --- a/hotspot/src/share/vm/services/virtualMemoryTracker.cpp +++ b/hotspot/src/share/vm/services/virtualMemoryTracker.cpp @@ -443,26 +443,28 @@ bool VirtualMemoryTracker::remove_released_region(address addr, size_t size) { bool VirtualMemoryTracker::walk_virtual_memory(VirtualMemoryWalker* walker) { assert(_reserved_regions != NULL, "Sanity check"); ThreadCritical tc; - LinkedListNode* head = _reserved_regions->head(); - while (head != NULL) { - const ReservedMemoryRegion* rgn = head->peek(); - if (!walker->do_allocation_site(rgn)) { - return false; + // Check that the _reserved_regions haven't been deleted. + if (_reserved_regions != NULL) { + LinkedListNode* head = _reserved_regions->head(); + while (head != NULL) { + const ReservedMemoryRegion* rgn = head->peek(); + if (!walker->do_allocation_site(rgn)) { + return false; + } + head = head->next(); } - head = head->next(); - } + } return true; } // Transition virtual memory tracking level. bool VirtualMemoryTracker::transition(NMT_TrackingLevel from, NMT_TrackingLevel to) { - if (from == NMT_minimal) { - assert(to == NMT_summary || to == NMT_detail, "Just check"); - VirtualMemorySummary::reset(); - } else if (to == NMT_minimal) { + assert (from != NMT_minimal, "cannot convert from the lowest tracking level to anything"); + if (to == NMT_minimal) { assert(from == NMT_summary || from == NMT_detail, "Just check"); // Clean up virtual memory tracking data structures. ThreadCritical tc; + // Check for potential race with other thread calling transition if (_reserved_regions != NULL) { delete _reserved_regions; _reserved_regions = NULL; diff --git a/hotspot/src/share/vm/services/virtualMemoryTracker.hpp b/hotspot/src/share/vm/services/virtualMemoryTracker.hpp index bdb686c819f..d2f8abdcaeb 100644 --- a/hotspot/src/share/vm/services/virtualMemoryTracker.hpp +++ b/hotspot/src/share/vm/services/virtualMemoryTracker.hpp @@ -62,11 +62,6 @@ class VirtualMemory VALUE_OBJ_CLASS_SPEC { _committed -= sz; } - void reset() { - _reserved = 0; - _committed = 0; - } - inline size_t reserved() const { return _reserved; } inline size_t committed() const { return _committed; } }; @@ -123,12 +118,6 @@ class VirtualMemorySnapshot : public ResourceObj { return amount; } - inline void reset() { - for (int index = 0; index < mt_number_of_types; index ++) { - _virtual_memory[index].reset(); - } - } - void copy_to(VirtualMemorySnapshot* s) { for (int index = 0; index < mt_number_of_types; index ++) { s->_virtual_memory[index] = _virtual_memory[index]; @@ -174,10 +163,6 @@ class VirtualMemorySummary : AllStatic { as_snapshot()->copy_to(s); } - static inline void reset() { - as_snapshot()->reset(); - } - static VirtualMemorySnapshot* as_snapshot() { return (VirtualMemorySnapshot*)_snapshot; } diff --git a/hotspot/src/share/vm/utilities/vmError.cpp b/hotspot/src/share/vm/utilities/vmError.cpp index db9dbf2b85c..37a363570aa 100644 --- a/hotspot/src/share/vm/utilities/vmError.cpp +++ b/hotspot/src/share/vm/utilities/vmError.cpp @@ -740,7 +740,7 @@ void VMError::report(outputStream* st) { STEP(228, "(Native Memory Tracking)" ) if (_verbose) { - MemTracker::final_report(st); + MemTracker::error_report(st); } STEP(230, "" ) diff --git a/hotspot/test/runtime/NMT/ChangeTrackingLevel.java b/hotspot/test/runtime/NMT/ChangeTrackingLevel.java new file mode 100644 index 00000000000..f031c868805 --- /dev/null +++ b/hotspot/test/runtime/NMT/ChangeTrackingLevel.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2013, 2014, 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 8059100 + * @summary Test that you can decrease NMT tracking level but not increase it. + * @key nmt + * @library /testlibrary /testlibrary/whitebox + * @build ChangeTrackingLevel + * @run main ClassFileInstaller sun.hotspot.WhiteBox + * sun.hotspot.WhiteBox$WhiteBoxPermission + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:NativeMemoryTracking=detail ChangeTrackingLevel + */ + +import com.oracle.java.testlibrary.*; +import sun.hotspot.WhiteBox; + +public class ChangeTrackingLevel { + + public static WhiteBox wb = WhiteBox.getWhiteBox(); + public static void main(String args[]) throws Exception { + boolean testChangeLevel = wb.NMTChangeTrackingLevel(); + if (testChangeLevel) { + System.out.println("NMT level change test passed."); + } else { + // it also fails if the VM asserts. + throw new RuntimeException("NMT level change test failed"); + } + } +}; diff --git a/hotspot/test/testlibrary/whitebox/sun/hotspot/WhiteBox.java b/hotspot/test/testlibrary/whitebox/sun/hotspot/WhiteBox.java index 7c16375d825..228d1ddb319 100644 --- a/hotspot/test/testlibrary/whitebox/sun/hotspot/WhiteBox.java +++ b/hotspot/test/testlibrary/whitebox/sun/hotspot/WhiteBox.java @@ -101,6 +101,7 @@ public class WhiteBox { public native void NMTOverflowHashBucket(long num); public native long NMTMallocWithPseudoStack(long size, int index); public native boolean NMTIsDetailSupported(); + public native boolean NMTChangeTrackingLevel(); // Compiler public native void deoptimizeAll(); From 51866388d13ebc60c339efa1125567d4e5f0bdfd Mon Sep 17 00:00:00 2001 From: Thomas Stuefe Date: Mon, 13 Oct 2014 22:11:39 +0200 Subject: [PATCH 83/83] 7102541: RFE: os::set_native_thread_name() cleanups Implement os::set_native_thread_name() on windows, linux Reviewed-by: sla, ctornqvi, simonis --- hotspot/src/os/linux/vm/os_linux.cpp | 16 +++++++++++++-- hotspot/src/os/linux/vm/os_linux.hpp | 1 + hotspot/src/os/windows/vm/os_windows.cpp | 25 +++++++++++++++++++++-- hotspot/src/share/vm/runtime/thread.cpp | 1 + hotspot/src/share/vm/runtime/vmThread.cpp | 1 + 5 files changed, 40 insertions(+), 4 deletions(-) diff --git a/hotspot/src/os/linux/vm/os_linux.cpp b/hotspot/src/os/linux/vm/os_linux.cpp index b3d35d1a210..3d82d976f37 100644 --- a/hotspot/src/os/linux/vm/os_linux.cpp +++ b/hotspot/src/os/linux/vm/os_linux.cpp @@ -129,6 +129,7 @@ uintptr_t os::Linux::_initial_thread_stack_size = 0; int (*os::Linux::_clock_gettime)(clockid_t, struct timespec *) = NULL; int (*os::Linux::_pthread_getcpuclockid)(pthread_t, clockid_t *) = NULL; +int (*os::Linux::_pthread_setname_np)(pthread_t, const char*) = NULL; Mutex* os::Linux::_createThread_lock = NULL; pthread_t os::Linux::_main_thread; int os::Linux::_page_size = -1; @@ -4695,6 +4696,11 @@ void os::init(void) { StackRedPages = 1; StackShadowPages = round_to((StackShadowPages*Linux::vm_default_page_size()), vm_page_size()) / vm_page_size(); } + + // retrieve entry point for pthread_setname_np + Linux::_pthread_setname_np = + (int(*)(pthread_t, const char*))dlsym(RTLD_DEFAULT, "pthread_setname_np"); + } // To install functions for atexit system call @@ -4894,8 +4900,14 @@ int os::active_processor_count() { } void os::set_native_thread_name(const char *name) { - // Not yet implemented. - return; + if (Linux::_pthread_setname_np) { + char buf [16]; // according to glibc manpage, 16 chars incl. '/0' + snprintf(buf, sizeof(buf), "%s", name); + buf[sizeof(buf) - 1] = '\0'; + const int rc = Linux::_pthread_setname_np(pthread_self(), buf); + // ERANGE should not happen; all other errors should just be ignored. + assert(rc != ERANGE, "pthread_setname_np failed"); + } } bool os::distribute_processes(uint length, uint* distribution) { diff --git a/hotspot/src/os/linux/vm/os_linux.hpp b/hotspot/src/os/linux/vm/os_linux.hpp index cab540456be..4c7da2c2cd6 100644 --- a/hotspot/src/os/linux/vm/os_linux.hpp +++ b/hotspot/src/os/linux/vm/os_linux.hpp @@ -55,6 +55,7 @@ class Linux { static int (*_clock_gettime)(clockid_t, struct timespec *); static int (*_pthread_getcpuclockid)(pthread_t, clockid_t *); + static int (*_pthread_setname_np)(pthread_t, const char*); static address _initial_thread_stack_bottom; static uintptr_t _initial_thread_stack_size; diff --git a/hotspot/src/os/windows/vm/os_windows.cpp b/hotspot/src/os/windows/vm/os_windows.cpp index 503e8e1fc84..2bde459105b 100644 --- a/hotspot/src/os/windows/vm/os_windows.cpp +++ b/hotspot/src/os/windows/vm/os_windows.cpp @@ -745,8 +745,29 @@ int os::active_processor_count() { } void os::set_native_thread_name(const char *name) { - // Not yet implemented. - return; + + // See: http://msdn.microsoft.com/en-us/library/xcb2z8hs.aspx + // + // Note that unfortunately this only works if the process + // is already attached to a debugger; debugger must observe + // the exception below to show the correct name. + + const DWORD MS_VC_EXCEPTION = 0x406D1388; + struct { + DWORD dwType; // must be 0x1000 + LPCSTR szName; // pointer to name (in user addr space) + DWORD dwThreadID; // thread ID (-1=caller thread) + DWORD dwFlags; // reserved for future use, must be zero + } info; + + info.dwType = 0x1000; + info.szName = name; + info.dwThreadID = -1; + info.dwFlags = 0; + + __try { + RaiseException (MS_VC_EXCEPTION, 0, sizeof(info)/sizeof(DWORD), (const ULONG_PTR*)&info ); + } __except(EXCEPTION_CONTINUE_EXECUTION) {} } bool os::distribute_processes(uint length, uint* distribution) { diff --git a/hotspot/src/share/vm/runtime/thread.cpp b/hotspot/src/share/vm/runtime/thread.cpp index 5d4bfbe935b..a522867da21 100644 --- a/hotspot/src/share/vm/runtime/thread.cpp +++ b/hotspot/src/share/vm/runtime/thread.cpp @@ -1287,6 +1287,7 @@ void WatcherThread::run() { this->record_stack_base_and_size(); this->initialize_thread_local_storage(); + this->set_native_thread_name(this->name()); this->set_active_handles(JNIHandleBlock::allocate_block()); while (!_should_terminate) { assert(watcher_thread() == Thread::current(), "thread consistency check"); diff --git a/hotspot/src/share/vm/runtime/vmThread.cpp b/hotspot/src/share/vm/runtime/vmThread.cpp index ab755589403..274a9dfe1b3 100644 --- a/hotspot/src/share/vm/runtime/vmThread.cpp +++ b/hotspot/src/share/vm/runtime/vmThread.cpp @@ -241,6 +241,7 @@ void VMThread::run() { assert(this == vm_thread(), "check"); this->initialize_thread_local_storage(); + this->set_native_thread_name(this->name()); this->record_stack_base_and_size(); // Notify_lock wait checks on active_handles() to rewait in // case of spurious wakeup, it should wait on the last